
  :root{
    --bg:#050607;
    --ink:#ece8df;
    --red:#d0213a;
    --camX:0px;
    --camY:18px;
    --camZ:240px;
    --yaw:0deg;
    --pitch:-4deg;
    --perspective:var(--perspective);
  }

  *{box-sizing:border-box}
  html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--ink)}
  body{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;letter-spacing:.02em;cursor:grab}
  body.dragging{cursor:grabbing}
  button{font:inherit;color:inherit}

  #app{
    position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;
    background:
      radial-gradient(circle at 50% 120%,rgba(255,255,255,.06),transparent 30%),
      radial-gradient(circle at 50% -14%,rgba(255,255,255,.025),transparent 24%),
      linear-gradient(180deg,#050607 0%,#080a0b 58%,#040506 100%);
  }

  #dust,#webs,#trails{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
  #dust{z-index:2}
  #webs{z-index:4}
    #trails{z-index:10}

  .fog{
    position:absolute;z-index:3;pointer-events:none;filter:blur(30px);
    background:radial-gradient(ellipse at center,rgba(255,255,255,.11),rgba(255,255,255,.03) 44%,transparent 72%);
  }
  .fog.f1{width:44vw;height:18vh;left:14vw;top:12vh;opacity:.16}
  .fog.f2{width:38vw;height:16vh;right:5vw;top:28vh;opacity:.11}
  .fog.f3{width:56vw;height:24vh;left:22vw;bottom:14vh;opacity:.1}

  #world{
    position:absolute;inset:0;z-index:5;
    perspective:1400px;
    perspective-origin:50% 48%;
  }
  #camera{
    position:absolute;inset:0;
    transform-style:preserve-3d;
    -webkit-transform-style:preserve-3d;
    transform:
      translate3d(var(--camX),var(--camY),var(--camZ))
      rotateX(var(--pitch))
      rotateY(var(--yaw));
    transition:none;
  }
  #scene{
    position:absolute;left:50%;top:55%;
    width:1px;height:1px;
    transform-style:preserve-3d;
    -webkit-transform-style:preserve-3d;
  }

  /* Ground no longer perfectly circular */
  #ground{
    --ground-scale-x:1;
    --ground-scale-y:1;
    --ground-level:-182px;
    --ground-rotation:-6deg;
    position:absolute;
    width:3400px;height:3000px;
    left:-1700px;top:-1500px;
    transform:
      rotateX(90deg)
      translateZ(var(--ground-level))
      rotateZ(var(--ground-rotation))
      scaleX(var(--ground-scale-x))
      scaleY(var(--ground-scale-y));
    transform-origin:center;
    border-radius:46% 54% 52% 48% / 58% 42% 56% 44%;
    background:
      radial-gradient(ellipse at 48% 44%,rgba(255,255,255,.038),transparent 18%),
      radial-gradient(ellipse at 63% 57%,rgba(255,255,255,.022),transparent 14%),
      radial-gradient(ellipse at 26% 65%,rgba(255,255,255,.018),transparent 12%),
      radial-gradient(ellipse at 68% 72%,rgba(255,255,255,.026),transparent 11%),
      radial-gradient(ellipse at 33% 37%,rgba(255,255,255,.018),transparent 10%),
      radial-gradient(circle at 24% 48%,rgba(255,255,255,.016),transparent 8%),
      radial-gradient(circle at 77% 43%,rgba(255,255,255,.014),transparent 9%),
      linear-gradient(102deg,rgba(255,255,255,.024) 0%,rgba(255,255,255,.006) 16%,rgba(0,0,0,.05) 31%,rgba(255,255,255,.01) 46%,rgba(0,0,0,.07) 62%,rgba(255,255,255,.018) 78%,rgba(0,0,0,.08) 100%),
      repeating-linear-gradient(91deg,rgba(255,255,255,.009) 0 1px,transparent 1px 94px),
      repeating-linear-gradient(0deg,rgba(255,255,255,.007) 0 1px,transparent 1px 108px),
      repeating-linear-gradient(37deg,rgba(255,255,255,.006) 0 1px,transparent 1px 170px),
      linear-gradient(180deg,#090a0c 0%,#060709 36%,#040506 100%);
    opacity:.94;
    box-shadow:
      0 0 210px rgba(0,0,0,.78) inset,
      0 0 110px rgba(255,255,255,.018) inset,
      0 0 160px rgba(0,0,0,.42);
    overflow:hidden;
  }
  #ground::before{
    content:"";
    position:absolute;inset:0;
    background:
      radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.07),transparent 12%),
      radial-gradient(ellipse at 59% 56%,rgba(255,255,255,.045),transparent 10%),
      radial-gradient(ellipse at 40% 61%,rgba(255,255,255,.03),transparent 9%),
      radial-gradient(ellipse at 29% 51%,rgba(255,255,255,.024),transparent 7%),
      linear-gradient(112deg,transparent 18%,rgba(255,255,255,.05) 30%,transparent 42%,rgba(255,255,255,.025) 58%,transparent 72%);
    mix-blend-mode:screen;
    opacity:.28;
    filter:blur(2px);
    transform:scale(1.02) rotate(-2deg);
    pointer-events:none;
  }
  #ground::after{
    content:"";
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 22% 56%,rgba(0,0,0,.19),transparent 10%),
      radial-gradient(circle at 47% 68%,rgba(0,0,0,.15),transparent 11%),
      radial-gradient(circle at 71% 46%,rgba(0,0,0,.18),transparent 13%),
      radial-gradient(circle at 60% 74%,rgba(255,255,255,.015),transparent 9%),
      repeating-linear-gradient(13deg,rgba(255,255,255,.012) 0 1px,transparent 1px 210px),
      repeating-linear-gradient(167deg,rgba(0,0,0,.022) 0 1px,transparent 1px 240px);
    opacity:.5;
    filter:blur(.2px);
    pointer-events:none;
  }

  /* Organic group positions, not a perfect ring */
  .cluster{
    --tx:0px;
    --ty:0px;
    --tz:0px;
    --ry:0deg;
    position:absolute;left:0;top:0;width:1px;height:1px;
    transform-style:preserve-3d;
    transform:translate3d(var(--tx),var(--ty),var(--tz)) rotateY(var(--ry));
  }
  .cluster::before{
    content:"";position:absolute;width:420px;height:1px;left:-210px;top:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent);
    opacity:.18;
  }

  .art{
    --x:0px;--y:0px;--z:0px;--ry:0deg;--s:1;
    position:absolute;width:170px;height:240px;left:-85px;top:-120px;
    transform-style:preserve-3d;
    transform:translate3d(var(--x),var(--y),var(--z)) rotateY(var(--ry)) scale(var(--s));
    border:1px solid rgba(236,232,223,.18);
    background:
      radial-gradient(circle at 52% 74%,rgba(208,33,58,.34),transparent 18%),
      radial-gradient(ellipse at 56% 40%,rgba(240,240,232,.22),transparent 26%),
      linear-gradient(140deg,rgba(255,255,255,.035),rgba(0,0,0,.44));
    box-shadow:0 28px 80px rgba(0,0,0,.44);
    backdrop-filter:blur(1px);
    overflow:hidden;
    pointer-events:none;
    transition:
      transform .42s cubic-bezier(.2,.75,.2,1),
      opacity .45s ease, filter .45s ease, border-color .35s ease,
      box-shadow .4s ease;
  }
  .art.landscape{width:220px;height:140px;left:-110px;top:-70px}
  .art.small{width:92px;height:124px;left:-46px;top:-62px;opacity:.72}
  .art.small.landscape{width:120px;height:78px;left:-60px;top:-39px}
  .art.deep{opacity:.45;filter:saturate(.55)}
  .art::before{
    content:"";position:absolute;inset:10%;
    border:1px solid rgba(255,255,255,.06);
    border-radius:48% 52% 44% 56%;
    transform:rotate(18deg);
    box-shadow:-24px 40px 0 -28px rgba(208,33,58,.7);
  }
  .art::after{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(128deg,transparent 15%,rgba(255,255,255,.08) 46%,transparent 71%),
      radial-gradient(circle at 68% 28%,rgba(255,255,255,.08),transparent 20%);
    mix-blend-mode:screen;
  }
  .meta{
    position:absolute;left:10px;right:10px;bottom:8px;z-index:3;
    display:flex;justify-content:space-between;gap:8px;
    font-size:9px;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;
    color:rgba(236,232,223,.5)
  }
  .small .meta{font-size:7px;left:6px;right:6px;bottom:5px}

  .art.hovered{
    --s:1.12;
    border-color:rgba(236,232,223,.56);
    box-shadow:0 36px 110px rgba(0,0,0,.64),0 0 34px rgba(208,33,58,.08);
    z-index:20;
  }
  .art.active{
    --s:1.16;
    border-color:rgba(255,255,255,.68);
    box-shadow:0 40px 130px rgba(0,0,0,.72),0 0 0 1px rgba(208,33,58,.16);
    z-index:30;
  }
  .focus .art:not(.active){opacity:.2;filter:saturate(.42) blur(.35px)}
  .focus .art.active{opacity:1;filter:none}

  .memory-node{
    position:absolute;width:5px;height:5px;border-radius:50%;
    background:rgba(208,33,58,.82);
    box-shadow:0 0 13px rgba(208,33,58,.68);
    opacity:.15;pointer-events:none;
    transition:opacity .8s ease,transform .8s ease;
  }
  .memory-node.awake{opacity:.8;transform:scale(1.32)}
  .memory-node.old{background:rgba(236,232,223,.42);box-shadow:0 0 12px rgba(236,232,223,.2)}

  .hud{
    position:absolute;z-index:20;
    font-size:11px;line-height:1.7;letter-spacing:.11em;
    color:rgba(236,232,223,.62);
  }
  .left{left:4vw;top:7vh;width:260px}
  .artist-name{
    font-size:13px;
    font-weight:400;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(236,232,223,.92);
    margin-bottom:18px;
  }
  .language-switch{
    position:static;
    right:auto;
    bottom:auto;
    z-index:auto;
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
    margin-bottom:8px;
    font-size:9px;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .language-switch button{
    background:none;border:0;padding:3px 2px;cursor:pointer;
    color:rgba(236,232,223,.34);
  }
  .language-switch button.active{color:var(--ink)}
  .language-switch .sep{color:rgba(236,232,223,.16)}
  
  .statement{
    font-weight:300;
    font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size:15px;line-height:1.55;letter-spacing:.03em;
    color:rgba(236,232,223,.92);margin-bottom:25px;
  }
  .research-line{
    max-width:230px;
    font-size:8px;
    line-height:1.7;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:rgba(236,232,223,.34);
    margin-top:-8px;
    margin-bottom:24px;
  }
  .main-menu{display:grid;gap:11px;margin-top:20px}
  .main-menu button{
    width:max-content;background:none;border:0;padding:0;
    color:rgba(236,232,223,.52);cursor:pointer;
    letter-spacing:.11em;text-transform:lowercase;
  }
  .main-menu button:hover{color:var(--ink)}
  .main-menu button.active{color:var(--ink)}
  .main-menu button.archive{margin-top:9px;color:rgba(236,232,223,.84)}
  .main-menu button.archive::before{content:"/ ";color:var(--red)}
  .main-menu button.program-menu{color:rgba(236,232,223,.72)}
  .main-menu button.program-menu::before{content:"/ ";color:var(--red)}
  .main-menu button.program-menu:hover{color:var(--ink)}

  .top{right:4vw;top:6vh;display:grid;text-align:right;gap:3px}
  .top button{background:none;border:0;padding:0;cursor:pointer;color:rgba(236,232,223,.48);letter-spacing:.11em}

  .presence{left:4vw;bottom:4vh;display:flex;gap:18px;align-items:center}
  .presence strong{font-weight:400;color:rgba(236,232,223,.82)}
  .artist{color:var(--red)}

  .help{
    position:absolute;z-index:20;left:50%;bottom:4vh;transform:translateX(-50%);
    font-size:9px;letter-spacing:.13em;color:rgba(236,232,223,.3);text-transform:lowercase;
    opacity:1;transition:opacity 5s ease;
  }
  .help.dk-help-fade{opacity:0;pointer-events:none}

  #detail{
    position:absolute;right:4vw;bottom:10vh;z-index:22;width:320px;
    padding-left:12px;border-left:1px solid rgba(208,33,58,.36);
    opacity:0;transform:translateY(7px);transition:.35s ease;pointer-events:none;
  }
  #detail.show{opacity:1;transform:none}
  #detail h3{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-weight:400;font-size:18px;margin:0}
  #detail p{font-size:10px;line-height:1.6;color:rgba(236,232,223,.45);margin:6px 0 0}

  #reveal{
    position:absolute;left:50%;top:16%;transform:translateX(-50%);
    z-index:24;width:min(540px,74vw);text-align:center;
    opacity:0;pointer-events:none;transition:opacity 1s ease;
    font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:18px;line-height:1.5;color:rgba(236,232,223,.84)
  }
  #reveal.show{opacity:1}
  #reveal small{
    display:block;margin-top:10px;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size:9px;letter-spacing:.18em;color:rgba(236,232,223,.38);text-transform:uppercase;
  }


  .content-panel{
    position:absolute;
    left:50%;top:50%;
    width:min(1040px,82vw);
    height:min(600px,72vh);
    transform:translate(-50%,-50%);
    z-index:61;display:none;
    background:rgba(5,7,8,.88);backdrop-filter:blur(20px);
    border:1px solid rgba(236,232,223,.19);
    box-shadow:0 34px 110px rgba(0,0,0,.74);
    overflow:auto;
  }
  .content-panel.open{display:block}
  .panel-inner{width:min(940px,90%);margin:0 auto;padding:38px 0 48px}
  .panel-head{
    display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;
    align-items:end;padding-bottom:28px;border-bottom:1px solid rgba(236,232,223,.1)
  }
  .panel-kicker{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(236,232,223,.38);margin-bottom:12px}
  .panel-head h2{margin:0;font-weight:300;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:38px;font-weight:400;line-height:1.05}
  .panel-lead{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:19px;line-height:1.65;color:rgba(236,232,223,.8);margin:0}
  .panel-close{
    position:sticky;float:right;right:18px;top:16px;z-index:3;background:none;border:0;
    color:rgba(236,232,223,.5);cursor:pointer;letter-spacing:.12em;font-size:10px
  }
  .panel-close:hover{color:var(--ink)}
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:40px}
  .about-grid p{font-size:13px;line-height:1.9;color:rgba(236,232,223,.62);margin:0 0 18px}
  .about-grid .big{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:24px;line-height:1.55;color:rgba(236,232,223,.88)}
  .facts{border-top:1px solid rgba(236,232,223,.1)}
  .fact{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid rgba(236,232,223,.08);font-size:11px}
  .fact span:first-child{color:rgba(236,232,223,.34);text-transform:uppercase;letter-spacing:.12em}
  .fact span:last-child{color:rgba(236,232,223,.68)}

  .writing-intro{padding:30px 0 12px;font-size:12px;line-height:1.8;color:rgba(236,232,223,.52);max-width:720px}
  .writing-list{border-top:1px solid rgba(236,232,223,.11)}
  .writing-entry{
    display:grid;grid-template-columns:120px 1fr 130px;gap:24px;
    padding:23px 0;border-bottom:1px solid rgba(236,232,223,.09);
    cursor:pointer;transition:.3s ease
  }
  .writing-entry:hover{padding-left:12px}
  .writing-entry .date{font-size:9px;letter-spacing:.12em;color:rgba(236,232,223,.34)}
  .writing-entry h3{font-weight:300;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:21px;font-weight:400;margin:0 0 8px;color:rgba(236,232,223,.88)}
  .writing-entry p{font-size:11px;line-height:1.7;margin:0;color:rgba(236,232,223,.48);max-width:730px}
  .writing-entry .cat{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--red);text-align:right}
  .writing-entry:hover h3{color:white}

  #reader{
    position:fixed;inset:0;z-index:80;display:none;background:rgba(4,5,6,.96);
    overflow:auto
  }
  #reader.open{display:block}
  .reader-inner{width:min(760px,88vw);margin:0 auto;padding:80px 0 100px}
  .reader-close{position:fixed;right:5vw;top:5vh;background:none;border:0;color:rgba(236,232,223,.5);cursor:pointer}
  .reader-meta{font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:var(--red);margin-bottom:18px}
  .reader-inner h1{font-weight:300;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:42px;line-height:1.15;font-weight:400;margin:0 0 24px}
  .reader-excerpt{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:20px;line-height:1.65;color:rgba(236,232,223,.72);margin-bottom:40px}
  .reader-body{font-size:14px;line-height:2;color:rgba(236,232,223,.66);white-space:pre-line}
  .reader-note{margin-top:40px;padding-top:18px;border-top:1px solid rgba(236,232,223,.1);font-size:10px;color:rgba(236,232,223,.32)}

  .contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:40px}
  .contact-mail{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:25px;color:rgba(236,232,223,.9);text-decoration:none}
  .contact-mail:hover{color:white}
  .contact-list{border-top:1px solid rgba(236,232,223,.1);margin-top:28px}
  .contact-link{
    display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:center;
    padding:16px 0;border-bottom:1px solid rgba(236,232,223,.08);
    text-decoration:none;color:inherit
  }
  .contact-link .label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(236,232,223,.34)}
  .contact-link .value{font-size:12px;color:rgba(236,232,223,.68)}
  .contact-link .arrow{color:var(--red)}
  .topics{border-top:1px solid rgba(236,232,223,.1)}
  .topic{padding:15px 0;border-bottom:1px solid rgba(236,232,223,.08);font-size:11px;line-height:1.6;color:rgba(236,232,223,.58)}
  .location-line{margin-top:24px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(236,232,223,.34)}


  #archiveDynamic .about-grid{
    gap:34px;
    padding-top:26px;
  }
  #archiveDynamic .about-grid .big{
    font-size:15px;
    line-height:1.55;
    max-width:520px;
  }
  #archiveDynamic .about-grid p{
    font-size:10px;
    line-height:1.65;
  }
  #archiveDynamic .fact{
    grid-template-columns:92px 1fr;
    gap:12px;
    padding:10px 0;
    font-size:9px;
  }
  #archiveDynamic .writing-entry{
    grid-template-columns:88px 1fr 105px;
    gap:16px;
    padding:16px 0;
  }
  #archiveDynamic .writing-entry h3{
    font-size:15px;
    margin-bottom:5px;
  }
  #archiveDynamic .writing-entry p{
    font-size:9px;
    line-height:1.55;
  }
  #archiveDynamic .writing-entry .date,
  #archiveDynamic .writing-entry .cat{
    font-size:8px;
  }
  #archiveDynamic .contact-link{
    padding:12px 0;
    grid-template-columns:90px 1fr auto;
  }
  #archiveDynamic .contact-link .label{
    font-size:8px;
  }
  #archiveDynamic .contact-link .value{
    font-size:10px;
  }


  /* Historical archive simulation */
  .project-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    padding-bottom:8px;
  }
  .project-card{
    cursor:pointer;
    padding-top:10px;
    border-top:1px solid rgba(236,232,223,.12);
    transition:transform .3s ease,border-color .3s ease;
  }
  .project-card:hover{
    transform:translateY(-3px);
    border-color:rgba(236,232,223,.38);
  }
  .project-cover{
    aspect-ratio:4/3;
    position:relative;
    overflow:hidden;
    margin-bottom:10px;
    border:1px solid rgba(236,232,223,.12);
    background:#08090a;
  }
  .project-cover::after{
    content:"";
    position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.36));
    pointer-events:none;
  }
  .project-card h3{
    margin:0 0 5px;
    font-size:12px;
    font-weight:400;
    line-height:1.45;
    color:rgba(236,232,223,.86);
  }
  .project-meta{
    display:flex;justify-content:space-between;gap:10px;
    font-size:8px;line-height:1.5;
    color:rgba(236,232,223,.35);
    text-transform:uppercase;letter-spacing:.08em;
  }
  .project-intro{
    display:grid;grid-template-columns:1fr 1.1fr;gap:34px;
    margin-bottom:20px;padding-bottom:17px;
    border-bottom:1px solid rgba(236,232,223,.1);
  }
  .project-intro h2{font-size:18px!important;margin:0 0 6px!important}
  .project-kicker{
    font-size:8px;text-transform:uppercase;letter-spacing:.12em;
    color:var(--red);margin-bottom:9px
  }
  .project-desc{
    margin:0;font-size:9px;line-height:1.7;
    color:rgba(236,232,223,.48)
  }
  .project-back{
    border:0;background:none;padding:0 0 14px;cursor:pointer;
    color:rgba(236,232,223,.46);font-size:9px;letter-spacing:.09em
  }
  .project-back:hover{color:var(--ink)}
  .series-stage{
    position:relative;
    height:300px;
    overflow:hidden;
    border-top:1px solid rgba(236,232,223,.07);
    border-bottom:1px solid rgba(236,232,223,.07);
    background:
      linear-gradient(90deg,rgba(0,0,0,.34),transparent 14%,transparent 86%,rgba(0,0,0,.34)),
      rgba(255,255,255,.008);
    touch-action:pan-y;
    user-select:none;
  }
  .series-track{
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    pointer-events:none;
  }
  .series-image{
    position:absolute;
    width:56%;height:84%;
    border:1px solid rgba(236,232,223,.15);
    box-shadow:0 20px 70px rgba(0,0,0,.5);
    transition:
      transform .5s cubic-bezier(.2,.72,.2,1),
      opacity .5s ease,filter .5s ease;
    overflow:hidden;
    background:#090a0b;
    pointer-events:auto;
  }
  .series-image.prev{
    transform:translateX(-77%) scale(.72);
    opacity:.32;filter:saturate(.55) brightness(.7);
  }
  .series-image.current{
    transform:translateX(0) scale(1);
    opacity:1;filter:none;
    z-index:4;
  }
  .series-image.next{
    transform:translateX(77%) scale(.72);
    opacity:.32;filter:saturate(.55) brightness(.7);
  }
  .series-image.far{
    transform:translateX(0) scale(.5);
    opacity:0;
    pointer-events:none;
  }
  .series-image::after{
    content:"";
    position:absolute;inset:0;
    background:
      linear-gradient(132deg,transparent 12%,rgba(255,255,255,.06) 38%,transparent 60%),
      radial-gradient(circle at 70% 30%,rgba(255,255,255,.05),transparent 20%);
    mix-blend-mode:screen;
  }
  .series-nav{
    position:absolute;top:50%;z-index:8;
    transform:translateY(-50%);
    width:34px;height:34px;border-radius:50%;
    border:1px solid rgba(236,232,223,.15);
    background:rgba(5,7,8,.62);backdrop-filter:blur(6px);
    color:rgba(236,232,223,.7);cursor:pointer;
  }
  .series-nav:hover{border-color:rgba(236,232,223,.4);color:white}
  .series-nav.prev-btn{left:10px}
  .series-nav.next-btn{right:10px}
  .series-footer{
    display:grid;grid-template-columns:120px 1fr 1fr;gap:22px;
    padding-top:16px;align-items:start
  }
  .series-index{
    font-size:9px;letter-spacing:.13em;color:rgba(236,232,223,.42)
  }
  .series-note,.series-tech{
    font-size:9px;line-height:1.65;color:rgba(236,232,223,.46)
  }
  .series-tech{
    border-left:1px solid rgba(236,232,223,.1);
    padding-left:18px
  }
  .series-help{
    margin-top:12px;font-size:8px;letter-spacing:.08em;
    color:rgba(236,232,223,.25)
  }

  .fake-art{
    position:absolute;inset:0;
    background-color:#070809;
  }
  .fake-art::before{
    content:"";
    position:absolute;inset:-8%;
    filter:blur(.2px);
  }
  .fake-art.a1::before{
    background:
      radial-gradient(circle at 34% 34%,rgba(203,15,44,.72) 0 4%,transparent 5%),
      radial-gradient(ellipse at 64% 52%,rgba(220,220,214,.12),transparent 24%),
      linear-gradient(125deg,transparent 24%,rgba(255,255,255,.06) 25% 26%,transparent 27%),
      linear-gradient(155deg,#08090a,#111315 52%,#020304);
  }
  .fake-art.a2::before{
    background:
      repeating-linear-gradient(116deg,transparent 0 12%,rgba(255,255,255,.035) 12.5% 13%,transparent 13.5% 24%),
      radial-gradient(ellipse at 42% 60%,rgba(177,16,42,.45),transparent 17%),
      radial-gradient(circle at 70% 28%,rgba(255,255,255,.09),transparent 11%),
      #07090b;
  }
  .fake-art.a3::before{
    background:
      linear-gradient(90deg,transparent 46%,rgba(205,24,50,.55) 47% 49%,transparent 50%),
      radial-gradient(ellipse at 50% 53%,rgba(234,232,224,.13),transparent 28%),
      repeating-radial-gradient(circle at 55% 48%,rgba(255,255,255,.03) 0 1px,transparent 2px 22px),
      #060708;
  }
  .fake-art.a4::before{
    background:
      radial-gradient(ellipse at 40% 42%,rgba(235,232,222,.16),transparent 18%),
      radial-gradient(ellipse at 64% 62%,rgba(186,14,39,.42),transparent 20%),
      linear-gradient(32deg,transparent 44%,rgba(255,255,255,.05) 45%,transparent 46%),
      #08090a;
  }
  .fake-art.a5::before{
    background:
      linear-gradient(140deg,transparent 20%,rgba(217,24,52,.46) 21% 24%,transparent 25% 63%,rgba(255,255,255,.05) 64% 66%,transparent 67%),
      radial-gradient(circle at 25% 70%,rgba(255,255,255,.1),transparent 14%),
      #060708;
  }
  .fake-art.a6::before{
    background:
      repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 25px),
      radial-gradient(ellipse at 55% 45%,rgba(201,18,45,.3),transparent 28%),
      radial-gradient(ellipse at 36% 64%,rgba(255,255,255,.09),transparent 19%),
      #070809;
  }
  .fake-art.a7::before{
    background:
      conic-gradient(from 30deg at 48% 48%,transparent 0 15%,rgba(210,20,48,.32) 16% 22%,transparent 23% 62%,rgba(255,255,255,.05) 63% 65%,transparent 66%),
      radial-gradient(circle at 48% 48%,rgba(255,255,255,.08),transparent 15%),
      #050607;
  }
  .fake-art.a8::before{
    background:
      linear-gradient(105deg,transparent 0 18%,rgba(255,255,255,.05) 18.5% 19.3%,transparent 20% 58%,rgba(200,19,47,.38) 59% 63%,transparent 64%),
      radial-gradient(ellipse at 70% 30%,rgba(255,255,255,.08),transparent 16%),
      #08090a;
  }

  @media(max-width:820px){
    .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
    .project-intro{grid-template-columns:1fr;gap:12px}
    .series-stage{height:260px}
    .series-image{width:70%;height:78%}
    .series-image.prev{transform:translateX(-72%) scale(.68)}
    .series-image.next{transform:translateX(72%) scale(.68)}
    .series-footer{grid-template-columns:1fr;gap:10px}
    .series-tech{border-left:0;padding-left:0;border-top:1px solid rgba(236,232,223,.08);padding-top:10px}
  }

  @media(max-width:820px){
    .panel-inner{width:88%;padding-top:80px}
    .panel-head,.about-grid,.contact-layout{grid-template-columns:1fr;gap:28px}
    .panel-head h2{font-size:32px}
    .writing-entry{grid-template-columns:1fr;gap:8px}
    .writing-entry .cat{text-align:left}
    .reader-inner h1{font-weight:300;font-size:32px}
  }

  #archive,#program{
    position:absolute;
    left:50%;top:50%;
    width:min(1040px,82vw);
    height:min(600px,72vh);
    transform:translate(-50%,-50%);
    z-index:60;display:none;
    grid-template-columns:170px 1fr;
    background:rgba(5,7,8,.87);backdrop-filter:blur(18px);
    border:1px solid rgba(236,232,223,.18);
    box-shadow:0 34px 110px rgba(0,0,0,.72);
  }
  #archive.open,#program.open{display:grid}
  .aside{padding:22px 18px;border-right:1px solid rgba(236,232,223,.08);display:flex;flex-direction:column}
  .aside .title{font-size:14px;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-size:18px;margin-bottom:30px}
  .archive-tabs,.program-tabs{display:grid;gap:10px}
  .archive-tabs button,.program-tabs button{background:none;border:0;padding:0;text-align:left;cursor:pointer;color:rgba(236,232,223,.55);font-size:10px;line-height:1.35;letter-spacing:.04em}
  .archive-tabs button.active,.program-tabs button.active{color:var(--red)}
  .close{margin-top:auto;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:rgba(236,232,223,.45)}
  .archive-content,.program-content{padding:24px 28px;overflow:auto}
  .archive-content h2,.program-content h2{font-size:22px;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-weight:400;margin:0 0 4px;font-size:28px}
  .archive-content .sub,.program-content .sub{font-size:8px;letter-spacing:.12em;color:rgba(236,232,223,.4);margin-bottom:24px}
  .grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:18px}
  .card{padding-top:10px;border-top:1px solid rgba(236,232,223,.13)}
  .thumb{
    aspect-ratio:4/3;margin-bottom:9px;border:1px solid rgba(236,232,223,.12);
    background:radial-gradient(circle at 68% 72%,rgba(208,33,58,.26),transparent 24%),
               linear-gradient(140deg,rgba(255,255,255,.07),rgba(0,0,0,.24));
  }
  .card strong{display:block;font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-weight:400;font-size:14px}
  .card span{font-size:9px;color:rgba(236,232,223,.4)}
  .lower{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;margin-top:32px;padding-top:18px;border-top:1px solid rgba(236,232,223,.13)}
  .lower h3{font-family:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;font-weight:400}
  .lower p{font-size:10px;line-height:1.7;color:rgba(236,232,223,.5)}

  @media(max-width:820px){
    .left{left:20px;top:20px;width:180px}
    .statement{font-size:14px}
    .top{right:20px;top:20px}
    .presence{left:20px;bottom:20px}
    .language-switch{right:20px;bottom:20px}
    .help{display:none}
    .art{width:130px;height:185px;left:-65px;top:-92.5px}
    .art.landscape{width:170px;height:110px;left:-85px;top:-55px}
    #archive,#program{
      left:12px;right:12px;top:12px;bottom:12px;
      width:auto;height:auto;transform:none;
      grid-template-columns:1fr
    }
    .content-panel{
      left:12px;right:12px;top:12px;bottom:12px;
      width:auto;height:auto;transform:none;
    }
    .aside{border-right:0;border-bottom:1px solid rgba(236,232,223,.08)}
    .archive-tabs,.program-tabs{grid-template-columns:repeat(2,1fr)}
    .grid{grid-template-columns:repeat(2,1fr)}
    .lower{grid-template-columns:1fr}
  }

  /* Neutral boot surface. The authored environment arrives from Supabase. */
  body,#app{background:#040506;}
  .art{
    --work-fit:cover;
    --work-img-x:0px;
    --work-img-y:0px;
    opacity:.62;
    background-size:var(--work-fit) !important;
    background-position:
      calc(50% + var(--work-img-x))
      calc(50% + var(--work-img-y)) !important;
    background-repeat:no-repeat !important;
    border-color:rgba(236,232,223,.12);
  }
  .art.deep{opacity:.38}
  .art::before{display:none}
  .art::after{
    background:linear-gradient(128deg,transparent 18%,rgba(255,255,255,.045) 48%,transparent 73%);
    opacity:.55;
  }
  .art.hovered{opacity:.76;--s:1.10}
  .art.active{
    opacity:.82;
    --s:1.15;
    border-color:rgba(236,232,223,.38);
    box-shadow:0 38px 110px rgba(0,0,0,.7),0 0 30px rgba(208,33,58,.07);
  }
  .focus .art:not(.active){opacity:.18;filter:saturate(.36) blur(.3px)}
  .focus .art.active{opacity:.82;filter:none}
  #ground{opacity:.92;filter:brightness(.92) saturate(.82)}
  #trails{mix-blend-mode:normal}


  /* edição experimental sobre o comportamento aprovado da v18 */
  #world,.hud,.help,#detail,#reveal,.language-switch,#trails,#webs,#dust{
    -webkit-user-select:none;
    user-select:none;
  }
  .content-panel,#archive,#program,#reader,.preview-editor,
  .preview-editor input,.preview-editor textarea,.preview-editor label{
    -webkit-user-select:text;
    user-select:text;
  }
  body.dragging{ -webkit-user-select:none !important; user-select:none !important; }

  .preview-edit-toggle{
    position:fixed;
    right:34px;
    bottom:74px;
    z-index:96;
    border:0;
    background:none;
    color:rgba(236,232,223,.36);
    font:8px/1.4 'Courier New',ui-monospace,monospace;
    letter-spacing:.10em;
    cursor:pointer;
    padding:0;
  }
  .preview-edit-toggle:hover,.preview-edit-toggle.active{color:#ece8df}
  .preview-editor{
    position:fixed;
    right:28px;
    top:118px;
    z-index:95;
    width:min(292px,calc(100vw - 36px));
    max-height:calc(100vh - 220px);
    overflow:auto;
    display:none;
    padding:17px;
    background:rgba(5,7,8,.93);
    border:1px solid rgba(208,33,58,.26);
    box-shadow:0 24px 90px rgba(0,0,0,.52);
    backdrop-filter:blur(16px);
  }
  .preview-editor.open{display:block}
  .pe-kicker{
    font-size:7px;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:#d0213a;
    margin-bottom:14px;
  }
  .pe-section{
    padding:12px 0 14px;
    border-top:1px solid rgba(236,232,223,.09);
  }
  .pe-section:first-of-type{border-top:0;padding-top:0}
  .pe-section-title{
    font-size:8px;
    letter-spacing:.10em;
    text-transform:uppercase;
    color:rgba(236,232,223,.72);
    margin-bottom:10px;
  }
  .pe-field{display:block;margin:0 0 10px}
  .pe-field>span{
    display:block;
    font-size:7px;
    color:rgba(236,232,223,.38);
    margin-bottom:5px;
  }
  .pe-field input[type="text"],
  .pe-field input[type="number"]{
    width:100%;
    border:1px solid rgba(236,232,223,.10);
    background:rgba(255,255,255,.025);
    color:#ece8df;
    padding:7px 8px;
    outline:none;
    font:9px/1.4 'Courier New',ui-monospace,monospace;
  }
  .pe-field input:focus{border-color:rgba(208,33,58,.46)}
  .pe-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
  .pe-range{width:100%;accent-color:#d0213a}
  .pe-value{
    min-width:36px;
    text-align:right;
    font-size:8px;
    color:rgba(236,232,223,.56)
  }
  .pe-check{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:8px;
    color:rgba(236,232,223,.52);
    margin-top:8px;
  }
  .pe-check input{accent-color:#d0213a}
  .pe-color-row{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:10px;
    align-items:center;
  }
  .pe-color{
    width:42px;height:30px;
    padding:0;border:1px solid rgba(236,232,223,.14);
    background:none;
    cursor:pointer;
  }
  .pe-button{
    border:1px solid rgba(236,232,223,.12);
    background:none;
    color:rgba(236,232,223,.62);
    padding:7px 8px;
    font:8px/1.3 'Courier New',ui-monospace,monospace;
    cursor:pointer;
  }
  .pe-button:hover,.pe-button.active{border-color:#d0213a;color:#fff}
  .pe-empty{
    font-size:8px;
    line-height:1.65;
    color:rgba(236,232,223,.34);
  }
  .pe-note{
    font-size:7px;
    line-height:1.55;
    color:rgba(236,232,223,.25);
    margin-top:8px;
  }
  .pe-file{
    width:100%;
    font-size:7px;
    color:rgba(236,232,223,.42);
  }

  .art.preview-back-hidden{
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  @media(max-width:820px){
    .preview-edit-toggle{right:18px;bottom:58px}
    .preview-editor{right:18px;left:18px;top:auto;bottom:92px;width:auto;max-height:48vh}
  }


  .preview-editor .pe-selected-note{
    margin-top:8px;
    font-size:7px;
    color:rgba(208,33,58,.72);
  }


  /* Camada institucional clean para áreas textuais */
  .content-panel{
    background:rgba(5,7,8,.94);
    backdrop-filter:blur(14px);
    border:1px solid rgba(236,232,223,.11);
  }
  .panel-inner{
    width:min(760px,84%);
    margin:0 auto;
    padding:48px 0 64px;
  }
  .panel-head{
    display:block;
    padding-bottom:22px;
    border-bottom:1px solid rgba(236,232,223,.08);
  }
  .panel-kicker{
    font-size:8px;
    letter-spacing:.16em;
    margin-bottom:9px;
    color:rgba(236,232,223,.30);
  }
  .panel-head h2{
    font-size:22px;
    line-height:1.2;
    font-weight:400;
    margin:0 0 16px;
  }
  .panel-lead{
    max-width:690px;
    font-size:11px;
    line-height:1.85;
    color:rgba(236,232,223,.58);
    margin:0;
  }

  /* SOBRE: um único fluxo editorial, sem blocos ou frases hipertrofiadas */
  .about-grid{
    display:block;
    padding-top:28px;
  }
  .about-grid>div{display:contents}
  .about-grid p,
  .about-grid .big{
    max-width:690px;
    margin:0 0 17px;
    font:10.5px/1.95 'Courier New',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    color:rgba(236,232,223,.60);
  }
  .about-grid .big{
    color:rgba(236,232,223,.68);
  }
  .facts{
    max-width:690px;
    margin-top:28px;
    padding-top:8px;
    border-top:1px solid rgba(236,232,223,.08);
  }
  .fact{
    display:grid;
    grid-template-columns:95px 1fr;
    gap:18px;
    padding:9px 0;
    border-bottom:1px solid rgba(236,232,223,.055);
    font-size:8px;
    line-height:1.55;
  }
  .fact span:first-child{
    color:rgba(236,232,223,.27);
    letter-spacing:.08em;
  }
  .fact span:last-child{
    color:rgba(236,232,223,.48);
  }

  /* ESCRITA: catálogo editorial, sem cartões */
  .writing-intro{
    max-width:690px;
    padding:22px 0 18px;
    font-size:9px;
    line-height:1.75;
    color:rgba(236,232,223,.36);
  }
  .writing-entry{
    grid-template-columns:92px 1fr;
    gap:22px;
    padding:17px 0;
  }
  .writing-entry:hover{padding-left:0}
  .writing-entry .cat{display:none}
  .writing-entry .date{
    font-size:7.5px;
    line-height:1.6;
    letter-spacing:.07em;
  }
  .writing-entry h3{
    font-size:12px;
    line-height:1.5;
    margin:0 0 5px;
    font-weight:400;
  }
  .writing-entry p{
    max-width:570px;
    font-size:8.5px;
    line-height:1.7;
    color:rgba(236,232,223,.36);
  }

  /* LEITOR: artigo institucional, uma coluna silenciosa */
  #reader{background:rgba(5,6,7,.985)}
  .reader-inner{
    width:min(700px,84vw);
    padding:72px 0 100px;
  }
  .reader-meta{
    font-size:7.5px;
    letter-spacing:.10em;
    color:rgba(208,33,58,.72);
    margin-bottom:14px;
  }
  .reader-inner h1{
    font-size:24px;
    line-height:1.35;
    margin:0 0 18px;
    font-weight:400;
  }
  .reader-excerpt{
    font-size:11px;
    line-height:1.85;
    color:rgba(236,232,223,.52);
    margin-bottom:28px;
  }
  .reader-body{
    font-size:10.5px;
    line-height:1.95;
    color:rgba(236,232,223,.60);
  }
  .reader-note{
    font-size:8px;
    line-height:1.7;
    color:rgba(236,232,223,.24);
  }

  /* CONTATO: uma única coluna, direto */
  .contact-layout{
    display:block;
    max-width:690px;
    padding-top:26px;
  }
  .contact-mail{
    font-size:13px;
    line-height:1.5;
  }
  .contact-list{margin-top:22px}
  .contact-link{
    font-size:8.5px;
  }
  .topics{
    margin-top:28px;
    padding-top:16px;
    border-top:1px solid rgba(236,232,223,.07);
  }
  .topic{
    font-size:8.5px;
    line-height:1.7;
    padding:5px 0;
    color:rgba(236,232,223,.42);
  }
  .location-line{
    font-size:7.5px;
    letter-spacing:.08em;
    color:rgba(236,232,223,.27);
  }

  @media(max-width:820px){
    .panel-inner{width:84%;padding:38px 0 52px}
    .panel-head h2{font-size:20px}
    .panel-lead{font-size:10px}
    .about-grid p,.about-grid .big{font-size:10px}
    .writing-entry{grid-template-columns:1fr;gap:4px}
    .reader-inner h1{font-size:21px}
  }


  /* Janelas institucionais capturam a navegação e isolam o espaço 3D */
  .content-panel.open,
  #archive.open,
  #program.open,
  #reader.open,
  .preview-editor.open{
    overscroll-behavior:contain;
  }
  .content-panel.open *,
  #archive.open *,
  #program.open *,
  #reader.open *,
  .preview-editor.open *{
    overscroll-behavior:contain;
  }



  .preview-editor{width:min(338px,calc(100vw - 36px));max-height:calc(100vh - 160px);top:82px}
  .pe-admin-status{
    margin:-2px 0 14px;padding:8px 9px;
    border:1px solid rgba(208,33,58,.18);
    background:rgba(208,33,58,.035);
    color:rgba(236,232,223,.38);
    font:7px/1.55 'Courier New',ui-monospace,monospace;
  }
  .pe-grid2{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .pe-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .pe-mini{
    border:1px solid rgba(236,232,223,.10);background:rgba(255,255,255,.02);
    color:rgba(236,232,223,.58);padding:7px 6px;
    font:7px/1.3 'Courier New',ui-monospace,monospace;cursor:pointer
  }
  .pe-mini:hover,.pe-mini.active{border-color:rgba(208,33,58,.72);color:#fff}
  .pe-select{
    width:100%;border:1px solid rgba(236,232,223,.10);background:#090b0c;color:#ece8df;
    padding:7px 8px;font:8px/1.4 'Courier New',ui-monospace,monospace;outline:none
  }
  .pe-number-row{display:grid;grid-template-columns:17px 1fr 42px;gap:6px;align-items:center;margin:6px 0}
  .pe-number-row b{font:7px/1 'Courier New',ui-monospace;color:rgba(236,232,223,.30);font-weight:400}
  .pe-number-row input[type=range]{width:100%;accent-color:#d0213a}
  .pe-number-row output{font:7px/1 'Courier New',ui-monospace;color:rgba(236,232,223,.48);text-align:right}
  .pe-subtitle{margin:10px 0 6px;font:7px/1.4 'Courier New',ui-monospace;color:rgba(236,232,223,.34)}
  .pe-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .pe-danger{border-color:rgba(208,33,58,.28);color:rgba(208,33,58,.72)}
  .pe-rule{
    padding:8px;margin:7px 0;border:1px solid rgba(236,232,223,.08);
    background:rgba(255,255,255,.018);font:7px/1.55 'Courier New',ui-monospace;color:rgba(236,232,223,.42)
  }
  .pe-rule strong{color:rgba(236,232,223,.68);font-weight:400}
  #primLayer{
  position:absolute;left:0;top:0;width:1px;height:1px;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
}
  
.prim-object{
  position:absolute;left:0;top:0;width:1px;height:1px;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  pointer-events:none;
}
body.admin-edit-open .prim-object{pointer-events:auto;cursor:pointer}

/* IMPORTANT:
   Never apply filter, opacity, clip-path or blend modes to the 3D parent.
   Those grouping properties flatten preserve-3d descendants. */
.prim-object.selected{filter:none}
.prim-object.selected .prim-face,
.prim-object.selected .sphere-panel,
.prim-object.selected .cylinder-panel,
.prim-object.selected .cylinder-cap,
.prim-object.selected .tri-face,
.prim-object.selected .tri-side{
  /* selection must not turn the edges white */
  box-shadow:inset 0 0 0 .35px rgba(208,33,58,.16);
}
.prim-shape{
  position:absolute;
  width:120px;height:120px;
  left:-60px;top:-60px;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  color:var(--pc,#d0213a);
  /* IMPORTANT: no opacity here. Parent opacity flattens CSS 3D descendants. */
}
.prim-face,
.sphere-panel,
.cylinder-panel,
.cylinder-cap,
.tri-face,
.tri-side{
  position:absolute;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  backface-visibility:visible;
  -webkit-backface-visibility:visible;
  border:var(--prim-edge-width,.25px) solid rgba(236,232,223,var(--prim-edge-opacity,.08));
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.045),
      rgba(var(--pc-rgb,208,33,58),var(--prim-base-opacity,.62)) 48%,
      rgba(0,0,0,.34)
    );
  box-sizing:border-box;
  overflow:hidden;
}
.prim-face::after,
.sphere-panel::after,
.cylinder-panel::after,
.cylinder-cap::after,
.tri-face::after,
.tri-side::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 42%,rgba(0,0,0,.18));
  mix-blend-mode:screen;
}

/* TRUE CSS3D CUBE */
.prim-box{width:110px;height:110px;left:-55px;top:-55px}
.prim-box .prim-face{width:110px;height:110px;left:0;top:0}
.prim-box .front{transform:translateZ(55px)}
.prim-box .back{transform:rotateY(180deg) translateZ(55px)}
.prim-box .right{transform:rotateY(90deg) translateZ(55px)}
.prim-box .left{transform:rotateY(-90deg) translateZ(55px)}
.prim-box .top{transform:rotateX(90deg) translateZ(55px)}
.prim-box .bottom{transform:rotateX(-90deg) translateZ(55px)}

/* FACETED TRUE CSS3D SPHERE */
.prim-sphere{width:126px;height:126px;left:-63px;top:-63px}
.sphere-panel{
  width:27px;height:25px;
  left:49.5px;top:50.5px;
  border-radius:42%;
  transform-origin:13.5px 12.5px;
  background:
    radial-gradient(circle at 30% 24%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(
      145deg,
      rgba(255,255,255,.035),
      rgba(var(--pc-rgb,208,33,58),var(--prim-base-opacity,.62)) 54%,
      rgba(0,0,0,.34)
    );
}

/* TRUE CSS3D CYLINDER */
.prim-cylinder{width:120px;height:124px;left:-60px;top:-62px}
.cylinder-panel{
  width:25px;height:108px;
  left:47.5px;top:8px;
  transform-origin:12.5px 54px;
}
.cylinder-cap{
  width:114px;height:114px;
  left:3px;top:5px;
  border-radius:50%;
  background:
    radial-gradient(circle at 38% 32%,rgba(255,255,255,.06),transparent 30%),
    linear-gradient(
      145deg,
      rgba(var(--pc-rgb,208,33,58),var(--prim-base-opacity,.62)),
      rgba(0,0,0,.42)
    );
}

/* TRUE CSS3D TRIANGULAR PRISM */
.prim-triangle{width:118px;height:118px;left:-59px;top:-59px}
.tri-face{
  width:112px;height:104px;left:3px;top:7px;
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.tri-side{
  width:112px;height:64px;left:3px;top:27px;
  transform-origin:center center;
}
.prim-media{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:var(--prim-media-opacity,.92);mix-blend-mode:normal;
}
.behavior-spin .prim-shape{animation:peSpin 8s linear infinite}
@keyframes peSpin{to{transform:rotateY(360deg)}}
.behavior-pulse .prim-shape{animation:pePulse 2.6s ease-in-out infinite}
@keyframes pePulse{50%{scale:1.10}}
.role-hidden{display:none!important}
  .admin-route-badge{
    position:fixed;left:4vw;bottom:3.8vh;z-index:97;
    font:7px/1.4 'Courier New',ui-monospace,monospace;
    color:rgba(208,33,58,.62);letter-spacing:.09em
  }
  @media(max-width:820px){
    .preview-editor{top:auto;bottom:78px;max-height:58vh}
    .admin-route-badge{display:none}
  }


  .preview-editor{
    width:min(390px,calc(100vw - 36px)) !important;
    padding:20px !important;
  }
  .pe-kicker{font-size:10px !important;line-height:1.45 !important}
  .pe-section-title{font-size:10px !important;line-height:1.5 !important;margin-bottom:12px !important}
  .pe-field>span{font-size:9px !important;line-height:1.45 !important;margin-bottom:7px !important}
  .pe-field input[type="text"],
  .pe-field input[type="number"]{
    font-size:11px !important;
    padding:9px 10px !important;
  }
  .pe-value{font-size:10px !important;min-width:44px !important}
  .pe-check{font-size:10px !important}
  .pe-button,.pe-mini{
    font-size:10px !important;
    line-height:1.35 !important;
    padding:8px 9px !important;
  }
  .pe-empty{font-size:10px !important;line-height:1.65 !important}
  .pe-note{
    font-size:9px !important;
    line-height:1.65 !important;
    color:rgba(236,232,223,.40) !important;
  }
  .pe-file{font-size:9px !important}
  .preview-editor .pe-selected-note{
    font-size:10px !important;
    line-height:1.5 !important;
  }
  .pe-admin-status{font-size:9px !important}
  .pe-select{
    font-size:10px !important;
    padding:9px 10px !important;
  }
  .pe-subtitle{
    font-size:9px !important;
    line-height:1.5 !important;
    margin:13px 0 8px !important;
  }
  .pe-number-row{
    grid-template-columns:20px 1fr 52px !important;
    gap:8px !important;
    margin:8px 0 !important;
  }
  .pe-number-row b,
  .pe-number-row output{font-size:9px !important}
  .pe-rule{font-size:9px !important;line-height:1.6 !important}
  .admin-route-badge{font-size:9px !important}
  @media(max-width:820px){
    .preview-editor{width:auto !important;padding:17px !important}
  }


  .sound-layer-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
  .layer-list{display:grid;gap:9px;margin-top:10px}
  .layer-card{padding:10px 10px 11px;border:1px solid rgba(236,232,223,.09);background:rgba(255,255,255,.018)}
  .layer-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
  .layer-title{font-size:10px;line-height:1.45;color:rgba(236,232,223,.76)}
  .layer-sub{display:block;font-size:9px;line-height:1.45;color:rgba(236,232,223,.34)}
  .layer-mini-actions{display:flex;gap:6px;align-items:center}
  .layer-toggle{width:13px;height:13px;border-radius:50%;border:1px solid rgba(236,232,223,.20);background:transparent;cursor:pointer}
  .layer-toggle.on{background:#d0213a;border-color:#d0213a;box-shadow:0 0 12px rgba(208,33,58,.38)}
  .layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .tiny-badge{display:inline-block;padding:2px 5px;border:1px solid rgba(236,232,223,.10);color:rgba(236,232,223,.34);font-size:8px;line-height:1.2;margin-left:6px}
  .layer-help{font-size:9px;line-height:1.7;color:rgba(236,232,223,.40);margin-top:8px}
  .layer-file{display:block;margin-top:7px;font-size:9px;line-height:1.5;color:rgba(236,232,223,.42)}


  .v6-material-labels{
    display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;
    margin:8px 0 2px;
    font-size:8px;line-height:1.45;color:rgba(236,232,223,.32)
  }


  .editor-selection-card{
    margin:10px 0 14px;
    padding:10px 11px;
    border:1px solid rgba(208,33,58,.22);
    background:rgba(208,33,58,.035);
  }
  .editor-selection-card span,
  .editor-selection-card small{
    display:block;
    font-size:9px;
    line-height:1.5;
    color:rgba(236,232,223,.38);
  }
  .editor-selection-card button:disabled{
    opacity:.28;
    pointer-events:none;
  }
  .editor-selection-card strong{
    display:block;
    margin:3px 0 4px;
    font:400 11px/1.45 'Courier New',ui-monospace,monospace;
    color:rgba(236,232,223,.88);
  }
  .pe-section.editor-section-selected{
    border-left:1px solid rgba(208,33,58,.58);
    background:linear-gradient(90deg,rgba(208,33,58,.035),transparent 28%);
    padding-left:11px;
  }

  /* Clean edit-selection for works. No crossing line, no destructive overlay. */
  body.admin-edit-open .art.editor-selected-work{
    --s:1.18 !important;
    opacity:1 !important;
    z-index:90 !important;
    box-shadow:
      0 42px 130px rgba(0,0,0,.72),
      0 0 26px rgba(208,33,58,.16) !important;
  }
  body.admin-edit-open .art.editor-selected-work::before{
    content:"";
    display:block !important;
    position:absolute;
    inset:-6px;
    z-index:12;
    border:.7px solid rgba(208,33,58,.72);
    border-radius:2px;
    background:none !important;
    pointer-events:none;
  }

  /* Prim selection stays thin but becomes unmistakably cherry. */
  body.admin-edit-open .prim-object.editor-selected-prim .prim-face,
  body.admin-edit-open .prim-object.editor-selected-prim .sphere-panel,
  body.admin-edit-open .prim-object.editor-selected-prim .cylinder-panel,
  body.admin-edit-open .prim-object.editor-selected-prim .cylinder-cap,
  body.admin-edit-open .prim-object.editor-selected-prim .tri-face,
  body.admin-edit-open .prim-object.editor-selected-prim .tri-side{
    border-color:rgba(208,33,58,.46) !important;
    box-shadow:inset 0 0 0 .25px rgba(208,33,58,.16);
  }

  /* Floor selection is visible only in edit mode. */
  body.admin-edit-open #ground.editor-selected-ground{
    outline:.7px solid rgba(208,33,58,.42);
    outline-offset:-2px;
    box-shadow:
      0 0 210px rgba(0,0,0,.78) inset,
      0 0 110px rgba(255,255,255,.018) inset,
      0 0 160px rgba(0,0,0,.42),
      0 0 24px rgba(208,33,58,.10);
  }

  .sound-apply-guide{
    margin:0 0 10px;
    padding:9px 10px;
    border:1px solid rgba(236,232,223,.08);
    background:rgba(255,255,255,.018);
    font-size:9px;
    line-height:1.7;
    color:rgba(236,232,223,.48);
  }
  .sound-target-badge{
    margin:0 0 10px;
    padding:7px 9px;
    border:1px solid rgba(208,33,58,.24);
    color:rgba(236,232,223,.72);
    font-size:9px;
    line-height:1.5;
  }

  .layer-mini-actions{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .layer-toggle{
    width:auto !important;
    height:auto !important;
    border-radius:0 !important;
    padding:5px 7px !important;
    font:8px/1.2 'Courier New',ui-monospace,monospace !important;
    color:rgba(236,232,223,.56);
  }
  .layer-toggle.on{
    background:rgba(208,33,58,.16) !important;
    border-color:rgba(208,33,58,.48) !important;
    box-shadow:none !important;
    color:rgba(236,232,223,.84);
  }
  .layer-remove{
    white-space:nowrap;
    padding:5px 7px !important;
    font-size:8px !important;
  }


#dkLiveStatus{
  position:fixed;right:18px;top:18px;z-index:5002;
  font:9px/1.2 'Courier New',ui-monospace,monospace;
  letter-spacing:.06em;text-transform:uppercase;
  color:rgba(236,232,223,.58);
  padding:6px 8px;border:1px solid rgba(236,232,223,.10);
  background:rgba(5,6,7,.72);backdrop-filter:blur(8px);
  pointer-events:none;
}
#dkLiveStatus[data-kind="ok"]{border-color:rgba(208,33,58,.28)}
#dkLiveStatus[data-kind="error"]{border-color:rgba(208,33,58,.58);color:rgba(236,232,223,.82)}
#dkStudioAccessGate{
  position:fixed;inset:0;z-index:6000;
  display:grid;place-items:center;background:rgba(3,4,5,.82);
  backdrop-filter:blur(14px);
}
#dkStudioAccessGate[hidden]{display:none}
.dk-key-card{
  width:min(420px,calc(100vw - 40px));
  border:1px solid rgba(208,33,58,.34);
  background:#08090a;padding:22px;
  font:11px/1.65 'Courier New',ui-monospace,monospace;color:#ece8df;
}
.dk-key-card strong{display:block;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.dk-key-card p{color:rgba(236,232,223,.5);margin:0 0 14px}
.dk-key-card input{
  width:100%;box-sizing:border-box;background:#050607;
  border:1px solid rgba(236,232,223,.14);color:#ece8df;padding:11px;
  font:11px 'Courier New',ui-monospace,monospace;margin-bottom:12px;
}
.dk-key-card button{
  border:1px solid rgba(236,232,223,.14);background:transparent;color:#ece8df;
  padding:8px 10px;margin-right:6px;font:9px 'Courier New',ui-monospace,monospace;
  cursor:pointer;
}
.dk-key-card button:first-child{border-color:rgba(208,33,58,.46)}


.dk-access-card{max-height:86vh;overflow:auto}
.dk-access-block{margin:14px 0}
.dk-access-block b{display:block;font:8px/1.4 'Courier New',monospace;letter-spacing:.08em;color:rgba(236,232,223,.46);margin-bottom:8px}
.dk-access-block small{display:block;margin-top:8px;color:rgba(236,232,223,.48);font:9px/1.5 'Courier New',monospace}
.dk-access-divider{height:1px;background:rgba(236,232,223,.08);margin:16px 0}
.dk-muted-button{opacity:.48;margin-top:10px}
.member-list{display:grid;gap:7px;margin-top:8px}
.member-card{border:1px solid rgba(236,232,223,.08);padding:9px;background:rgba(255,255,255,.012)}
.member-card strong{display:block;font:9px/1.45 'Courier New',monospace;color:rgba(236,232,223,.78);font-weight:400}
.member-card small{display:block;font:8px/1.45 'Courier New',monospace;color:rgba(236,232,223,.38);margin-top:2px}
.member-card button{margin-top:6px}
.pe-check{display:flex;gap:8px;align-items:flex-start;margin:8px 0 10px;font:9px/1.5 'Courier New',monospace;color:rgba(236,232,223,.5)}
.model3d-upload{grid-column:1/-1;border-color:rgba(208,33,58,.28)!important}
.model3d-placeholder{
  width:130px;height:90px;left:-65px;top:-45px;position:absolute;
  border:1px solid rgba(208,33,58,.42);
  background:linear-gradient(135deg,rgba(208,33,58,.07),rgba(236,232,223,.015));
  display:grid;place-items:center;text-align:center;
  box-shadow:0 0 40px rgba(208,33,58,.07);
  transform-style:preserve-3d;
  color:rgba(236,232,223,.74);
  font:8px/1.45 'Courier New',monospace;
  letter-spacing:.05em;
}
.model3d-placeholder b{display:block;color:rgba(208,33,58,.9);font-size:10px;font-weight:400}
.model3d-placeholder small{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(236,232,223,.38)}
.model3d-info{
  padding:8px 9px;border:1px solid rgba(208,33,58,.18);margin:9px 0;
  font:8px/1.6 'Courier New',monospace;color:rgba(236,232,223,.48)
}


  html,body,button,input,select,textarea,
  .preview-editor,.pe-field input,.pe-field select,.pe-button,.pe-mini,
  .layer-card,.layer-card input,.layer-card button,
  .content-panel,.archive-shell,#reader{
    font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace !important;
  }

  /* Keep the V18 top-right utility stack mechanically aligned. */
  .hud.top{
    right:4vw !important;
    top:6vh !important;
    width:74px;
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:4px !important;
    text-align:right;
  }
  .hud.top button{
    width:100%;
    min-width:74px;
    display:grid;
    grid-template-columns:1fr 10px;
    align-items:center;
    justify-content:end;
    column-gap:7px;
    text-align:right;
    line-height:1.45;
    font-size:10px;
    letter-spacing:.11em;
  }
  .hud.top button span{text-align:right}

  /* Editor is part of the migration target, not an afterthought. */
  .preview-editor{
    right:28px !important;
    top:118px !important;
    width:min(390px,calc(100vw - 36px)) !important;
    max-height:calc(100vh - 180px) !important;
    padding:20px !important;
    scrollbar-width:thin;
    scrollbar-color:rgba(208,33,58,.36) rgba(255,255,255,.025);
  }
  .preview-editor.open{
    display:block !important;
  }
  .preview-edit-toggle.active{
    color:#ece8df !important;
    border-color:rgba(208,33,58,.48) !important;
  }

  .pe-kicker,.pe-section-title,.pe-field>span,.pe-note,.pe-empty,
  .pe-selected-note,.sound-apply-guide,.sound-target-badge,.layer-help,
  .pe-admin-status,.editor-selection-card,.member-card{
    font-family:"IBM Plex Mono",ui-monospace,monospace !important;
  }

  /* Keep institutional text visible and close to the approved V18 hierarchy. */
  .hud.left{
    z-index:120;
  }
  .statement{
    color:rgba(236,232,223,.92) !important;
  }
  .research-line{
    color:rgba(236,232,223,.38) !important;
  }
  .main-menu button{
    font-size:11px;
    line-height:1.5;
  }

  /* Migration status, intentionally unobtrusive. */
  #migrationParityBadge{
    position:fixed;
    left:50%;
    top:16px;
    transform:translateX(-50%);
    z-index:150;
    padding:5px 8px;
    border:1px solid rgba(208,33,58,.28);
    background:rgba(4,5,6,.76);
    color:rgba(236,232,223,.46);
    font:7px/1.3 "IBM Plex Mono",ui-monospace,monospace;
    letter-spacing:.08em;
    pointer-events:none;
  }

  @media(max-width:820px){
    .hud.top{right:18px !important;top:18px !important}
    .preview-editor{
      left:18px !important;
      right:18px !important;
      width:auto !important;
      top:auto !important;
      bottom:72px !important;
      max-height:58vh !important;
    }
  }


#r3fRoot{position:fixed;inset:0;z-index:5;background:transparent}
#r3fRoot>div,#r3fRoot canvas{width:100%!important;height:100%!important;display:block;background:transparent!important}
#app{position:fixed;inset:0;overflow:hidden}
#dust,#webs,#trails{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}
#dust{z-index:2}#webs{z-index:4}#trails{z-index:10}
.hud,.help,#detail,#reveal,.language-switch,.preview-edit-toggle,.preview-editor{z-index:30}
.content-panel,#reader,#archive,#program{z-index:100}
#dkStudioAccessGate{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;background:rgba(3,4,5,.86);backdrop-filter:blur(14px)}
#dkStudioAccessGate[hidden]{display:none}
.dk-access-card{width:min(430px,calc(100vw - 38px));padding:22px;border:1px solid rgba(208,33,58,.34);background:#08090a;color:#ece8df;font-family:"IBM Plex Mono",ui-monospace,monospace}
.dk-access-card strong,.dk-access-block b{display:block;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:400}
.dk-access-card p,.dk-access-card small{font-size:9px;line-height:1.6;color:rgba(236,232,223,.48)}
.dk-access-block{margin:15px 0}.dk-access-divider{height:1px;background:rgba(236,232,223,.08);margin:16px 0}
.dk-access-card input{width:100%;box-sizing:border-box;margin:8px 0;background:#050607;border:1px solid rgba(236,232,223,.14);color:#ece8df;padding:10px;font:10px "IBM Plex Mono",monospace}
.dk-access-card button{border:1px solid rgba(208,33,58,.38);background:transparent;color:#ece8df;padding:8px 10px;font:9px "IBM Plex Mono",monospace;cursor:pointer}
.public-mode #previewEditToggle,.public-mode #previewEditor{display:none!important}
.edit-mode #previewEditor{display:block}
.edit-mode #previewEditor:not(.open){display:none}
#toast{position:fixed;left:50%;bottom:38px;transform:translateX(-50%) translateY(10px);z-index:6000;pointer-events:none;opacity:0;transition:.25s;padding:7px 10px;border:1px solid rgba(208,33,58,.25);background:rgba(4,5,6,.88);color:rgba(236,232,223,.68);font:8px "IBM Plex Mono",monospace}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
/* Bottom-left belongs only to presence. */
.admin-route-badge,#migrationParityBadge,.preview-flag,.status-badge{display:none!important}
.hud.presence{z-index:32}
.hud.top{right:4vw!important;top:6vh!important;width:76px;display:flex!important;flex-direction:column;align-items:stretch;gap:4px!important;text-align:right}
.hud.top button{width:100%;display:grid;grid-template-columns:1fr 10px;align-items:center;column-gap:7px;text-align:right}
.hud.top button span{text-align:right}
.preview-editor{right:28px!important;top:118px!important;width:min(390px,calc(100vw - 36px))!important;max-height:calc(100vh - 180px)!important;padding:20px!important;overflow:auto}
.preview-editor,.preview-editor input,.preview-editor select,.preview-editor button,.preview-editor textarea{font-family:"IBM Plex Mono",ui-monospace,monospace!important}
.model-lock{color:rgba(208,33,58,.75);font-size:8px;margin-top:4px}
#presenceCount{min-width:48px;display:inline-block;text-align:left}
.sound-layer-runtime{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:8px 0;border-top:1px solid rgba(236,232,223,.06)}
.sound-layer-runtime:first-child{border-top:0}
.sound-layer-runtime strong{font-size:8px;font-weight:400}
.sound-layer-runtime .controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.sound-layer-runtime label{font-size:7px;color:rgba(236,232,223,.38);display:grid;gap:3px}
.sound-layer-runtime input{width:100%}
@media(max-width:820px){.hud.top{right:18px!important;top:18px!important}.preview-editor{left:18px!important;right:18px!important;width:auto!important;top:auto!important;bottom:72px!important;max-height:58vh!important}}


/* V3.5 · INFO / dispositivo */
.device-inner{width:min(780px,84vw)}
.device-head{grid-template-columns:minmax(240px,.72fr) 1.28fr}
.device-text{
  max-width:680px;
  margin:48px auto 0;
  font-size:11px;
  line-height:2;
  color:rgba(236,232,223,.60);
}
.device-text p{margin:0 0 24px}
.device-text .device-close-line{
  margin-top:44px;
  padding-top:20px;
  border-top:1px solid rgba(236,232,223,.10);
  font-size:13px;
  color:rgba(236,232,223,.82);
}

/* O leitor deve ficar SOBRE o arquivo. */
#archive{z-index:120!important}
#program{z-index:121!important}
#reader{z-index:240!important}
#reader.open{display:block!important}

/* Arquivo: projetos/exposições com carrossel documental */
.archive-project-list{display:grid;border-top:1px solid rgba(236,232,223,.10)}
.archive-project-row{
  display:grid;
  grid-template-columns:84px 1fr 28px;
  gap:18px;
  align-items:start;
  padding:18px 0;
  border-bottom:1px solid rgba(236,232,223,.08);
  cursor:pointer;
}
.archive-project-row:hover h2{color:#fff}
.archive-project-year{
  font-size:9px;
  letter-spacing:.12em;
  color:rgba(236,232,223,.36);
  padding-top:4px
}
.archive-project-row h2{
  margin:0 0 6px;
  font-size:18px!important;
  transition:.2s ease;
}
.archive-project-row p{
  margin:0;
  max-width:610px;
  font-size:9px;
  line-height:1.7;
  color:rgba(236,232,223,.40);
}
.archive-back{
  border:0;background:none;padding:0 0 20px;color:rgba(236,232,223,.45);
  cursor:pointer;font:9px "IBM Plex Mono",monospace;
}
.archive-project-head{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:18px;
  margin-bottom:22px;
}
.archive-project-head>div:first-child{
  font-size:9px;letter-spacing:.12em;color:rgba(236,232,223,.38);padding-top:8px
}
.archive-project-head h2{grid-column:2;margin:0!important}
.archive-project-head p{
  grid-column:2;margin:4px 0 0;font-size:9px;line-height:1.75;color:rgba(236,232,223,.42);max-width:650px
}

.archive-carousel{
  margin:26px 0 18px;
  border-top:1px solid rgba(236,232,223,.08);
  padding-top:18px;
}
.archive-carousel-stage{
  position:relative;
  height:min(390px,43vh);
  border:1px solid rgba(236,232,223,.10);
  background:#030405;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.archive-carousel-stage img{
  width:100%;height:100%;object-fit:contain;
  cursor:zoom-in;
  background:#030405;
}
.archive-carousel-control{
  position:absolute;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:1px solid rgba(236,232,223,.12);
  background:rgba(4,5,6,.70);color:rgba(236,232,223,.70);
  cursor:pointer;z-index:2;
}
.archive-carousel-control.prev{left:10px}
.archive-carousel-control.next{right:10px}
.archive-carousel-meta{
  display:flex;justify-content:space-between;gap:18px;
  padding:10px 0 0;
  font-size:8px;letter-spacing:.08em;color:rgba(236,232,223,.34)
}
.archive-carousel-thumbs{
  display:flex;gap:8px;overflow-x:auto;padding:12px 0 3px;
  scrollbar-width:thin;
}
.archive-carousel-thumb{
  flex:0 0 74px;height:54px;padding:0;
  border:1px solid rgba(236,232,223,.09);
  background:#030405;cursor:pointer;opacity:.42;
}
.archive-carousel-thumb.active{opacity:1;border-color:rgba(208,33,58,.52)}
.archive-carousel-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* Ampliação documental */
#archiveLightbox{
  position:fixed;inset:0;z-index:360;
  display:none;
  place-items:center;
  background:rgba(2,3,4,.965);
  backdrop-filter:blur(14px);
}
#archiveLightbox.open{display:grid}
.archive-lightbox-figure{
  margin:0;width:min(1160px,86vw);height:min(760px,80vh);
  display:grid;grid-template-rows:1fr auto;gap:12px;
}
.archive-lightbox-figure img{
  width:100%;height:100%;min-height:0;object-fit:contain;
}
.archive-lightbox-figure figcaption{
  text-align:center;font-size:8px;color:rgba(236,232,223,.38);letter-spacing:.07em
}
.archive-lightbox-close,.archive-lightbox-nav{
  position:fixed;border:0;background:none;color:rgba(236,232,223,.60);cursor:pointer;z-index:2
}
.archive-lightbox-close{right:4vw;top:4vh;font-size:24px}
.archive-lightbox-nav{top:50%;transform:translateY(-50%);font-size:20px}
.archive-lightbox-nav.prev{left:3vw}.archive-lightbox-nav.next{right:3vw}

@media(max-width:820px){
  .device-head{grid-template-columns:1fr}
  .device-text{margin-top:28px}
  .archive-project-row{grid-template-columns:60px 1fr 18px;gap:10px}
  .archive-carousel-stage{height:34vh}
  .archive-lightbox-figure{width:90vw;height:76vh}
}

/* V3.8 · editor em acordeão */
.preview-editor .pe-section{border-top:1px solid rgba(236,232,223,.08);padding-top:0;margin-top:4px}
.preview-editor .pe-section-title{margin:0!important;padding:12px 0!important;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between}
.preview-editor .pe-section-title::after{content:'−';font-size:12px;color:rgba(236,232,223,.28)}
.preview-editor .pe-section.collapsed>.pe-section-title::after{content:'+'}
.preview-editor .pe-section.collapsed>:not(.pe-section-title){display:none!important}
.preview-editor .pe-section:not(.collapsed){padding-bottom:16px}

/* V3.9 · revisão funcional do editor */
.preview-editor{
  top:166px !important;
  width:min(400px,calc(100vw - 36px)) !important;
  max-height:calc(100vh - 188px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:36px !important;
  scrollbar-gutter:stable;
}
.preview-editor .pe-section{display:block!important}
.preview-editor .pe-section.collapsed>:not(.pe-section-title){display:none!important}
.preview-editor .pe-section-title{position:relative}
.preview-editor .pe-section-title::before{
  content:'';
  position:absolute;
  left:-8px;
  top:50%;
  width:2px;
  height:0;
  background:#d0213a;
  transition:.18s ease;
}
.preview-editor .pe-section:not(.collapsed)>.pe-section-title::before{
  height:14px;
  transform:translateY(-50%);
}
@media(max-height:760px){
  .preview-editor{top:142px !important;max-height:calc(100vh - 160px) !important}
}

/* V3.10 · editor compacto com zona inferior protegida */
.preview-editor{
  top:166px !important;
  bottom:118px !important;
  max-height:none !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}
@media(max-height:760px){
  .preview-editor{
    top:142px !important;
    bottom:96px !important;
    max-height:none !important;
  }
}


/* V3.12.3 SAFE REBUILD */
body.object-dragging{user-select:none!important}
body.object-dragging #r3fRoot canvas{cursor:grabbing!important}

.preview-editor{
  width:min(420px,calc(100vw - 36px))!important;
  padding:0!important;
  border:1px solid rgba(236,232,223,.12)!important;
  background:rgba(7,9,10,.95)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(18px)
}
.preview-editor>.pe-kicker{margin:0!important;padding:18px 18px 8px!important;color:rgba(236,232,223,.38)!important}
.editor-selection-card{margin:0 14px 10px!important;padding:12px 13px!important;border:1px solid rgba(236,232,223,.08)!important;background:rgba(236,232,223,.025)!important}

.dk-direct-hint{margin:0 14px 12px;padding:10px 11px;border-left:2px solid rgba(208,33,58,.72);background:rgba(208,33,58,.045);display:grid;gap:4px}
.dk-direct-hint strong{font:500 9px/1.3 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.11em;color:#d0213a}
.dk-direct-hint span{font:400 8px/1.5 "IBM Plex Mono",monospace;color:rgba(236,232,223,.44)}

.dk-studio-tool-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 14px 12px;gap:0}
.dk-studio-tool-nav button{border:0;border-bottom:1px solid rgba(236,232,223,.09);background:transparent;color:rgba(236,232,223,.36);padding:9px 3px 7px;font:500 8px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.dk-studio-tool-nav button.active{color:#f0ece5;border-bottom-color:#d0213a}
.dk-studio-tool-nav button.secondary{font-size:7.5px;color:rgba(236,232,223,.27)}

.dk-precision-inspector{margin:0 14px 14px;padding:13px;border:1px solid rgba(236,232,223,.09);background:rgba(236,232,223,.018)}
.dk-card-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}
.dk-card-head strong{font:500 9px/1.35 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.63)}
.dk-card-head small{font:400 8px/1.35 "IBM Plex Mono",monospace;color:rgba(236,232,223,.35)}
.dk-transform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:7px}
.dk-transform-grid label{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:5px}
.dk-transform-grid span{font:400 8px/1 "IBM Plex Mono",monospace;color:rgba(236,232,223,.36)}
.dk-transform-grid input{width:100%;min-width:0;background:#050607;border:1px solid rgba(236,232,223,.09);color:#ece8df;padding:7px 6px;font:400 9px/1 "IBM Plex Mono",monospace}
.dk-nudge-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:9px}
.dk-nudge-grid button{border:1px solid rgba(236,232,223,.08);background:transparent;color:rgba(236,232,223,.45);padding:6px 3px;font:400 8px/1 "IBM Plex Mono",monospace;cursor:pointer}

.preview-editor .pe-section{margin-left:14px!important;margin-right:14px!important;border-top-color:rgba(236,232,223,.07)!important}
.preview-editor .pe-section-title{font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase;color:rgba(236,232,223,.55)!important}
.preview-editor .pe-field>span,.preview-editor .pe-subtitle{font-size:9px!important;color:rgba(236,232,223,.42)!important}
.preview-editor .pe-button,.preview-editor .pe-mini{background:rgba(236,232,223,.02)!important;border-color:rgba(236,232,223,.10)!important}
.preview-editor .pe-button:hover,.preview-editor .pe-mini:hover{border-color:rgba(208,33,58,.46)!important}
.dk-legacy-transform{display:none!important}

/* seleção mais discreta */
body.admin-edit-open .art.editor-selected-work::before{display:none!important}
body.admin-edit-open .art.editor-selected-work{filter:none!important}

@media(max-width:820px){
  .dk-studio-tool-nav{grid-template-columns:repeat(4,minmax(64px,1fr));overflow-x:auto}
  .preview-editor{left:14px!important;right:14px!important;width:auto!important}
}

/* V3.12.5.1 · contextual editor refinement */
#previewEditor .pe-section.dk-tool-section-hidden{display:none!important}
#previewEditor .dk-tool-hidden{display:none!important}
#previewEditor .dk-direct-hint[hidden]{display:none!important}
#previewEditor .dk-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
#previewEditor .dk-save-status{font:500 7px/1.2 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.38)}
#previewEditor .dk-save-status[data-state="saving"]{color:rgba(236,232,223,.72)}
#previewEditor .dk-save-status[data-state="error"]{color:#d0213a}
#previewEditor .dk-studio-tool-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;row-gap:2px}
#previewEditor .dk-studio-tool-nav button.secondary{font-size:8px;color:rgba(236,232,223,.36)}
#previewEditor .dk-add-section{margin-top:0!important;padding-top:0!important;border-top:0!important}
#previewEditor .dk-add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px}
#previewEditor .dk-add-grid .pe-mini{min-height:31px;text-align:left;padding:7px 8px!important}
#previewEditor #dkPrecisionInspector{margin-top:0}
#previewEditor[data-dk-tool-view="object"] #dkPrecisionInspector .dk-card-head{margin-bottom:9px}
#previewEditor .sound-layer-runtime{display:block!important;padding:10px 0!important}
#previewEditor .sound-layer-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
#previewEditor .sound-layer-head>div{display:flex;gap:5px}
#previewEditor .sound-layer-enabled{display:flex!important;align-items:center;gap:6px;margin:7px 0 5px;font-size:8px!important;color:rgba(236,232,223,.52)!important}
#previewEditor .sound-layer-runtime .controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
#previewEditor .sound-layer-runtime .controls label{font-size:8px!important}
#previewEditor .sound-layer-runtime .controls input{background:rgba(236,232,223,.025);border:1px solid rgba(236,232,223,.09);color:rgba(236,232,223,.78);padding:6px 7px;border-radius:0}
#previewEditor #peVideoSoundSection .pe-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
#previewEditor #peVideoSoundSection .pe-button{margin:0}
@media(max-width:820px){
  #previewEditor .dk-studio-tool-nav{grid-template-columns:repeat(4,minmax(72px,1fr))!important}
  #previewEditor .dk-add-grid{grid-template-columns:1fr 1fr}
}
#previewEditor .dk-media-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 9px;padding:7px 8px;border:1px solid rgba(236,232,223,.06);background:rgba(236,232,223,.015);font:400 8px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.44)}
#previewEditor .dk-media-state .pe-mini{padding:4px 6px!important;min-height:auto}
#previewEditor .dk-media-state .pe-mini:disabled{opacity:.25;cursor:default}

/* V3.13 · STUDIO ARCHITECTURE · floating tools */
body.edit-mode:not(.dk-studio-authorized) .dk-studio-dock,body.edit-mode:not(.dk-studio-authorized) .dk-studio-window{display:none!important}
body.edit-mode{--dk-dock-h:58px}
body.edit-mode .preview-edit-toggle{display:none!important}
.dk-studio-dock{
  position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:760;
  display:flex;align-items:stretch;gap:2px;padding:5px;
  max-width:calc(100vw - 24px);overflow-x:auto;overflow-y:hidden;
  border:1px solid rgba(236,232,223,.12);background:rgba(5,7,8,.88);
  box-shadow:0 18px 55px rgba(0,0,0,.36);backdrop-filter:blur(18px)
}
.dk-studio-dock button{
  width:58px;min-width:58px;height:44px;border:0;background:transparent;color:rgba(236,232,223,.42);
  display:grid;grid-template-rows:18px 1fr;place-items:center;gap:1px;cursor:pointer;
  font-family:"IBM Plex Mono",ui-monospace,monospace;transition:.16s ease
}
.dk-studio-dock button:hover{background:rgba(236,232,223,.035);color:rgba(236,232,223,.78)}
.dk-studio-dock button.active{background:rgba(208,33,58,.065);color:#ece8df}
.dk-studio-dock button.active b{color:#d0213a}
.dk-studio-dock b{font-size:14px;font-weight:400;line-height:1}.dk-studio-dock span{font-size:6.8px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.dk-studio-dock .dk-dock-utility{border-left:1px solid rgba(236,232,223,.08);margin-left:2px}

.dk-studio-window,
body.edit-mode #previewEditor.dk-studio-window{
  position:fixed!important;right:auto!important;bottom:auto!important;max-height:none!important;
  min-width:286px;min-height:44px;max-width:min(620px,calc(100vw - 16px));max-height:calc(100vh - 82px);
  display:none!important;overflow:hidden!important;padding:0!important;
  border:1px solid rgba(236,232,223,.12)!important;background:rgba(6,8,9,.94)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.44)!important;backdrop-filter:blur(18px);
  resize:both;z-index:520
}
.dk-studio-window.open,body.edit-mode #previewEditor.dk-studio-window.open{display:flex!important;flex-direction:column!important}
.dk-studio-window.minimized,body.edit-mode #previewEditor.dk-studio-window.minimized{height:42px!important;min-height:42px!important;resize:none!important}
.dk-studio-window.minimized>.dk-window-body,
body.edit-mode #previewEditor.dk-studio-window.minimized>:not(.dk-window-bar){display:none!important}
.dk-window-bar{height:41px;min-height:41px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:0 9px 0 12px;border-bottom:1px solid rgba(236,232,223,.075);cursor:move;user-select:none;background:rgba(236,232,223,.012)}
.dk-window-bar strong{font:500 8px/1 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em;color:rgba(236,232,223,.66)}
.dk-window-icon{font:400 13px/1 "IBM Plex Mono",ui-monospace,monospace;color:#d0213a}
.dk-window-actions{display:flex;gap:1px}.dk-window-actions button{width:25px;height:24px;border:0;background:transparent;color:rgba(236,232,223,.34);font:400 11px/1 monospace;cursor:pointer}.dk-window-actions button:hover{background:rgba(236,232,223,.045);color:#ece8df}
.dk-window-body{flex:1;min-height:0;overflow:auto;padding:12px 14px 22px;scrollbar-gutter:stable}
body.edit-mode #previewEditor.dk-studio-window>.dk-window-bar{order:-10}
body.edit-mode #previewEditor.dk-studio-window>.editor-selection-card{margin:12px 14px 9px!important}
body.edit-mode #previewEditor.dk-studio-window>.dk-direct-hint{margin:0 14px 10px}
body.edit-mode #previewEditor.dk-studio-window>#dkPrecisionInspector{margin:0 14px 10px;flex:0 0 auto}
body.edit-mode #previewEditor.dk-studio-window>.pe-section{margin-left:14px!important;margin-right:14px!important;flex:0 0 auto}
body.edit-mode #previewEditor.dk-studio-window{overflow-y:auto!important}

.dk-studio-window .pe-section{display:block;border-top:1px solid rgba(236,232,223,.075);padding-top:0;margin-top:4px}
.dk-studio-window .pe-section-title{margin:0!important;padding:12px 0!important;cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between;font-size:9px!important;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.55)!important}
.dk-studio-window .pe-section-title::after{content:'−';font-size:12px;color:rgba(236,232,223,.25)}
.dk-studio-window .pe-section.collapsed>.pe-section-title::after{content:'+'}
.dk-studio-window .pe-section.collapsed>:not(.pe-section-title){display:none!important}
.dk-studio-window .pe-section:not(.collapsed){padding-bottom:14px}
.dk-studio-window .pe-field>span,.dk-studio-window .pe-subtitle{font-size:8px!important;color:rgba(236,232,223,.42)!important}
.dk-studio-window .pe-note,.dk-studio-window .pe-selected-note{font-size:8px!important;color:rgba(236,232,223,.38)!important}
.dk-studio-window .pe-button,.dk-studio-window .pe-mini{background:rgba(236,232,223,.02)!important;border-color:rgba(236,232,223,.10)!important}

.dk-tool-intro{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(236,232,223,.07)}
.dk-tool-intro strong{font:500 9px/1 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em;color:rgba(236,232,223,.67)}
.dk-tool-intro span{font:400 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.29);text-align:right}
.dk-inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.dk-inline-actions button,.dk-form button,.dk-chat-compose button{border:1px solid rgba(236,232,223,.1);background:rgba(236,232,223,.02);color:rgba(236,232,223,.62);padding:8px 9px;font:500 8px/1 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.dk-inline-actions button:hover,.dk-form button:hover,.dk-chat-compose button:hover{border-color:rgba(208,33,58,.45);color:#ece8df}
.dk-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:14px}.dk-object-grid button{min-height:64px;border:1px solid rgba(236,232,223,.08);background:rgba(236,232,223,.018);color:rgba(236,232,223,.58);display:grid;place-items:center;gap:5px;font:400 16px/1 monospace;cursor:pointer}.dk-object-grid button span{font:500 7px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:rgba(236,232,223,.37)}.dk-object-grid button:hover{border-color:rgba(208,33,58,.38);color:#d0213a}
.dk-empty-state{padding:12px 4px;font:400 8px/1.55 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.28)}
.dk-scene-list{display:grid;gap:3px;margin-top:8px}.dk-scene-list.compact{max-height:128px;overflow:auto;margin-bottom:11px}.dk-scene-list>button,.dk-scene-row{border:1px solid transparent;background:rgba(236,232,223,.012);min-height:34px}.dk-scene-list>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;color:rgba(236,232,223,.5);cursor:pointer;text-align:left}.dk-scene-list>button:hover,.dk-scene-list>button.active,.dk-scene-row.active{border-color:rgba(208,33,58,.26);background:rgba(208,33,58,.035)}.dk-scene-list span{font:400 8px/1.25 "IBM Plex Mono",monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dk-scene-list small{font:400 6.8px/1 "IBM Plex Mono",monospace;color:rgba(236,232,223,.26);text-transform:uppercase;white-space:nowrap}.dk-scene-row{display:grid;grid-template-columns:1fr 28px;align-items:stretch}.dk-scene-row>button{border:0;background:transparent;color:rgba(236,232,223,.46);cursor:pointer}.dk-scene-row>button:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:7px 8px}.dk-scene-row>button:last-child{color:rgba(208,33,58,.55)}
.dk-search{width:100%;box-sizing:border-box;background:#050607;border:1px solid rgba(236,232,223,.09);color:#ece8df;padding:8px 9px;font:400 8px/1 "IBM Plex Mono",monospace;outline:none}

.dk-form{display:grid;gap:10px;padding-top:10px;border-top:1px solid rgba(236,232,223,.07)}.dk-form label,.dk-mini-section label{display:grid;gap:5px}.dk-form label>span,.dk-mini-section label>span{font:500 7px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:rgba(236,232,223,.34)}.dk-form input,.dk-form select,.dk-form textarea,.dk-mini-section input,.dk-mini-section select{width:100%;box-sizing:border-box;background:#050607;border:1px solid rgba(236,232,223,.09);color:rgba(236,232,223,.78);padding:7px 8px;font:400 9px/1.4 "IBM Plex Mono",monospace;outline:none}.dk-form textarea{resize:vertical;min-height:70px}.dk-form input[type="color"]{height:34px;padding:3px}.dk-form input[type="range"]{padding:0}.dk-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dk-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dk-check{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:7px!important}.dk-check input{width:auto!important}.dk-danger{margin-top:3px;border-color:rgba(208,33,58,.24)!important;color:rgba(208,33,58,.8)!important}
.dk-mini-section{margin:0 0 13px;padding:11px;border:1px solid rgba(208,33,58,.14);background:rgba(208,33,58,.025);display:grid;gap:9px}.dk-mini-section>strong{font:500 8px/1 "IBM Plex Mono",monospace;text-transform:uppercase;color:#d0213a}.dk-mini-section>small{font:400 7px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.29)}

.dk-chat-messages{height:250px;overflow:auto;display:grid;align-content:start;gap:7px;padding:4px 2px 10px}.dk-chat-message{position:relative;padding:8px 9px 16px;border:1px solid rgba(236,232,223,.07);background:rgba(236,232,223,.015)}.dk-chat-message strong{font:500 7px/1 "IBM Plex Mono",monospace;color:#d0213a}.dk-chat-message p{margin:5px 0 0;font:400 9px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.7);white-space:pre-wrap;overflow-wrap:anywhere}.dk-chat-message small{position:absolute;right:7px;bottom:5px;font:400 6px/1 monospace;color:rgba(236,232,223,.24)}.dk-chat-compose{display:grid;grid-template-columns:1fr auto;gap:6px;border-top:1px solid rgba(236,232,223,.07);padding-top:10px}.dk-chat-compose textarea{min-width:0;resize:none;background:#050607;border:1px solid rgba(236,232,223,.09);color:#ece8df;padding:8px;font:400 8px/1.4 "IBM Plex Mono",monospace;outline:none}

body.dk-studio-clean .dk-studio-dock,body.dk-studio-clean .dk-studio-window{opacity:0!important;pointer-events:none!important;transition:opacity .18s ease}
body.object-dragging .dk-studio-window{pointer-events:none}

@media(max-width:820px){
 .dk-studio-dock{left:50%;right:auto;transform:translateX(-50%);justify-content:flex-start;width:max-content;max-width:calc(100vw - 24px)}
 .dk-studio-dock button{width:52px;min-width:52px}
 .dk-studio-window,body.edit-mode #previewEditor.dk-studio-window{left:10px!important;right:auto!important;top:92px!important;width:calc(100vw - 20px)!important;max-width:none!important;height:min(68vh,600px)!important}
 .dk-grid3{grid-template-columns:1fr 1fr}
}

body.edit-mode #toast{bottom:84px}


/* V3.14 · public audio monitor */
.public-volume{position:fixed;right:4vw;top:calc(6vh + 74px);z-index:34;display:flex;align-items:center;padding:2px 0;width:58px;height:12px;background:transparent;border:0;opacity:.72;transition:opacity .25s ease}
.public-volume:hover{opacity:1}
.public-volume[hidden]{display:none}
.public-volume button,.public-volume span{display:none!important}
.public-volume input{appearance:none;-webkit-appearance:none;width:58px;height:12px;margin:0;background:transparent;cursor:pointer}
.public-volume input::-webkit-slider-runnable-track{height:1px;background:rgba(236,232,223,.24);border-radius:1px}
.public-volume input::-webkit-slider-thumb{-webkit-appearance:none;width:7px;height:7px;border-radius:50%;background:#d0213a;border:0;margin-top:-3px;box-shadow:0 0 6px rgba(208,33,58,.24)}
.public-volume input::-moz-range-track{height:1px;background:rgba(236,232,223,.24);border:0;border-radius:1px}
.public-volume input::-moz-range-thumb{width:7px;height:7px;border-radius:50%;background:#d0213a;border:0;box-shadow:0 0 6px rgba(208,33,58,.24)}
@media(max-width:820px){.public-volume{right:20px;top:92px;width:52px}.public-volume input{width:52px}}
@keyframes dkPresenceBreath{0%,100%{opacity:.58;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.16)}}
.hud.presence.simultaneous{animation:dkPresenceBreath 3.8s ease-in-out infinite}
.hud.presence.simultaneous #presenceCount{text-shadow:0 0 8px rgba(208,33,58,.18)}

/* V3.14 · floor modules */
.dk-floor-module-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(236,232,223,.07)}
.dk-floor-module-panel .dk-grid2{margin-top:8px}
.dk-floor-module-list{display:grid;gap:3px;margin:9px 0 12px;max-height:132px;overflow:auto}
.dk-floor-module-list button{min-height:32px;border:1px solid transparent;background:rgba(236,232,223,.012);color:rgba(236,232,223,.5);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;cursor:pointer;text-align:left}
.dk-floor-module-list button.active,.dk-floor-module-list button:hover{border-color:rgba(208,33,58,.25);background:rgba(208,33,58,.035)}
.dk-floor-module-list small{font:400 6.8px/1 monospace;color:rgba(236,232,223,.26);text-transform:uppercase}

/* V3.14.3 · CV documental */
#archiveDynamic .cv-document{max-width:760px;padding:4px 0 70px;color:rgba(236,232,223,.66)}
#archiveDynamic .cv-document h1{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:26px;font-weight:400;line-height:1.15;margin:0 0 24px;color:rgba(236,232,223,.94)}
#archiveDynamic .cv-document h1:not(:first-child){margin-top:58px;padding-top:22px;border-top:1px solid rgba(236,232,223,.12);font-size:19px;letter-spacing:.02em}
#archiveDynamic .cv-document h2{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;font-weight:400;line-height:1.45;margin:34px 0 12px;color:rgba(236,232,223,.88)}
#archiveDynamic .cv-document h3{font-size:10px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:26px 0 10px;color:var(--red)}
#archiveDynamic .cv-document p{font-size:10.5px;line-height:1.82;margin:0 0 14px;color:rgba(236,232,223,.62);max-width:720px}
#archiveDynamic .cv-document strong{font-weight:500;color:rgba(236,232,223,.88)}
#archiveDynamic .cv-document a{color:rgba(236,232,223,.82);text-decoration:none;border-bottom:1px solid rgba(208,33,58,.42)}
#archiveDynamic .cv-document a:hover{color:#fff;border-color:var(--red)}
@media (max-width:700px){#archiveDynamic .cv-document h1{font-size:21px}#archiveDynamic .cv-document h1:not(:first-child){font-size:16px}#archiveDynamic .cv-document h2{font-size:12px}#archiveDynamic .cv-document p{font-size:10px;line-height:1.72}}

/* V3.14.5 · nome público opcional por elemento */
.dk-element-identity{margin:0 0 10px;padding:11px 12px;border:1px solid rgba(236,232,223,.08);background:rgba(7,9,11,.54);border-radius:3px}
.dk-element-identity[hidden]{display:none!important}
.dk-identity-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.dk-identity-head strong{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(236,232,223,.82)}
.dk-identity-head small{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;letter-spacing:.05em;color:rgba(236,232,223,.34)}
.dk-element-identity .pe-field{margin:0}
.dk-element-identity input[type=text]{width:100%;box-sizing:border-box;background:rgba(255,255,255,.025);border:1px solid rgba(236,232,223,.1);color:#ece8df;padding:7px 8px;font:inherit}
.dk-name-toggle{margin-top:9px!important}
.dk-identity-note{display:block;margin-top:7px;font-size:9px;line-height:1.45;color:rgba(236,232,223,.36)}

/* V3.14.5 · arquivo / exposições */
.archive-exhibition-row{cursor:default}
.archive-exhibition-row.has-link{cursor:pointer}
.archive-exhibition-row small{
  display:block;
  margin-top:7px;
  font-size:8px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(236,232,223,.28);
}
.archive-exhibition-row.has-link:hover small{color:rgba(236,232,223,.52)}


/* V3.15.3 · Ghost Avatar / colisão */
#dkPhantomRow[hidden]{display:none!important}
#dkPhantomRow{margin-top:7px}


/* V3.15.13 · obras como exposições documentais */
.archive-project-row small{display:block;margin-top:6px;font-size:7px;letter-spacing:.07em;color:rgba(236,232,223,.28);text-transform:uppercase}
.archive-gallery-empty{min-height:min(300px,36vh);margin:26px 0 18px;border:1px solid rgba(236,232,223,.10);background:linear-gradient(135deg,rgba(208,33,58,.025),rgba(255,255,255,.008));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px}
.archive-gallery-empty>div{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(208,33,58,.72)}
.archive-gallery-empty p{max-width:440px;margin:12px 0 0;font-size:9px;line-height:1.7;color:rgba(236,232,223,.38)}
.archive-external-link{display:inline-flex;margin-top:18px;padding:9px 0;border:0;color:rgba(236,232,223,.52);font-size:8px;letter-spacing:.08em;text-decoration:none}
.archive-external-link:hover{color:#fff}


/* V3.15.13 · Obras em grade de galeria */
.archive-work-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px 22px;
  margin-top:28px;
}
.archive-work-card{
  min-width:0;
  cursor:pointer;
  outline:none;
}
.archive-work-card:focus-visible .archive-work-cover{
  border-color:rgba(208,33,58,.72);
}
.archive-work-cover{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid rgba(236,232,223,.09);
  background:#050607;
  transition:border-color .2s ease,transform .25s ease;
}
.archive-work-card:hover .archive-work-cover{
  border-color:rgba(236,232,223,.20);
  transform:translateY(-2px);
}
.archive-work-cover img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease,opacity .3s ease;
}
.archive-work-card:hover .archive-work-cover img{transform:scale(1.018)}
.archive-work-placeholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:14px;
  background:
    linear-gradient(135deg,rgba(208,33,58,.035),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.012),rgba(0,0,0,.12));
}
.archive-work-placeholder::after{
  content:'';
  position:absolute;
  left:14px;right:14px;top:14px;bottom:14px;
  border:1px solid rgba(236,232,223,.045);
}
.archive-work-placeholder span{
  position:relative;
  z-index:1;
  font-size:7px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(236,232,223,.23);
}
.archive-work-caption{padding-top:10px}
.archive-work-caption h2{
  margin:0!important;
  font-size:14px!important;
  line-height:1.25;
  font-weight:400;
  color:rgba(236,232,223,.88);
}
.archive-work-caption p{
  margin:5px 0 0;
  font-size:8px;
  line-height:1.55;
  color:rgba(236,232,223,.34);
}
.archive-exhibitions-list .archive-exhibition-row{
  cursor:default;
  grid-template-columns:84px 1fr;
}
.archive-exhibitions-list .archive-exhibition-row:hover h2{color:inherit}

@media(max-width:980px){
  .archive-work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .archive-work-gallery{grid-template-columns:1fr;gap:28px}
  .archive-work-cover{aspect-ratio:16/11}
  .archive-exhibitions-list .archive-exhibition-row{grid-template-columns:64px 1fr}
}


/* V3.15.13 · escrita selecionada */
.reader-body{white-space:normal}
.reader-body p{margin:0 0 1.55em}
.reader-body h3{
  margin:2.7em 0 .85em;
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:17px;line-height:1.4;font-weight:400;color:rgba(236,232,223,.92)
}
.reader-body .writing-reference-heading{
  margin-top:3.5em;padding-top:1.4em;border-top:1px solid rgba(236,232,223,.1);
  font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.7)
}
.reader-body .writing-reference{
  font-size:11px;line-height:1.7;color:rgba(236,232,223,.48);margin-bottom:1em
}
.reader-body strong{color:rgba(236,232,223,.88);font-weight:500}
.reader-body em{color:rgba(236,232,223,.72)}


/* V3.15.28 · Arquivo CMS */
.archive-cms-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 0 18px;margin:0 0 20px;border-bottom:1px solid rgba(236,232,223,.12)}
.archive-cms-head>div{display:grid;gap:4px}
.archive-cms-head span,.archive-cms-panel-title span{font:8px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;color:rgba(236,232,223,.38)}
.archive-cms-head strong,.archive-cms-panel-title strong{font:400 18px/1.2 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.9)}
.archive-cms-primary,.archive-cms-actions button,.archive-cms-mini,.archive-cms-form button,.archive-cms-media-actions button,.archive-cms-editor-head button,.archive-cms-publication-row button{
  appearance:none;background:transparent;border:1px solid rgba(236,232,223,.16);color:rgba(236,232,223,.72);padding:8px 10px;font:9px/1 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer
}
.archive-cms-primary{border-color:rgba(208,33,58,.58)!important;color:#fff!important;background:rgba(208,33,58,.10)!important}
.archive-cms-panel{margin:34px 0 10px;padding:18px;border:1px solid rgba(208,33,58,.24);background:rgba(8,8,10,.62)}
.archive-cms-panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.archive-cms-panel-title>div:first-child{display:grid;gap:4px}.archive-cms-actions{display:flex;gap:7px;flex-wrap:wrap}
.archive-cms-status{min-height:14px;margin:6px 0 12px;font:8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}
.archive-cms-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.archive-cms-media-card{border:1px solid rgba(236,232,223,.10);background:rgba(255,255,255,.015);padding:7px}
.archive-cms-media-card>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#111}
.archive-cms-media-card>div:nth-child(2){display:flex;justify-content:space-between;align-items:center;padding:6px 1px 4px;font:8px/1 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.42)}
.archive-cms-media-card b{font-weight:400;color:#d0213a}
.archive-cms-media-actions{display:grid;grid-template-columns:1.4fr .6fr .6fr 1.2fr;gap:4px}.archive-cms-media-actions button{padding:6px 3px;font-size:7px}
.archive-cms-row{grid-template-columns:90px 1fr auto!important;cursor:pointer}
.archive-cms-mini{align-self:center}
.archive-cms-form{display:grid;gap:14px;max-width:860px;padding:4px 0 60px}
.archive-cms-form label{display:grid;gap:6px}.archive-cms-form label>span,.archive-cms-editor-head>span{font:8px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;color:rgba(236,232,223,.42);text-transform:uppercase}
.archive-cms-form input,.archive-cms-form textarea,.archive-cms-rich{
  width:100%;box-sizing:border-box;background:rgba(255,255,255,.025);border:1px solid rgba(236,232,223,.13);color:rgba(236,232,223,.88);padding:11px 12px;font:11px/1.55 "IBM Plex Mono",ui-monospace,monospace;outline:none
}
.archive-cms-form textarea{min-height:84px;resize:vertical}.archive-cms-form input:focus,.archive-cms-form textarea:focus,.archive-cms-rich:focus{border-color:rgba(208,33,58,.55)}
.archive-cms-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.archive-cms-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important}.archive-cms-check input{width:auto!important}
.archive-cms-form-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}
.archive-cms-rich{min-height:280px;max-height:55vh;overflow:auto;font-family:Arial,sans-serif;font-size:14px;line-height:1.65}
.archive-cms-rich p{margin:0 0 1em}.archive-cms-rich h2{margin:1.4em 0 .6em;font-size:20px;font-weight:500}
.archive-cms-editor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px}.archive-cms-editor-head>div{display:flex;gap:5px}
.archive-publication-list{display:grid;border-top:1px solid rgba(236,232,223,.10)}
.archive-publication-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 4px;border-bottom:1px solid rgba(236,232,223,.09);color:inherit;text-decoration:none}
.archive-publication-row span{font:8px/1.2 "IBM Plex Mono",ui-monospace,monospace;color:#d0213a;letter-spacing:.08em;text-transform:uppercase}
.archive-publication-row h3{margin:5px 0 0;font:400 14px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.85)}
.archive-publication-row p{margin:4px 0 0;font-size:9px;color:rgba(236,232,223,.4)}
.archive-cms-publication-row>a{flex:1;color:inherit;text-decoration:none}.archive-cms-publication-row>div{display:flex;gap:4px}
@media(max-width:800px){
  .archive-cms-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-cms-two{grid-template-columns:1fr}
  .archive-cms-head,.archive-cms-panel-title{align-items:flex-start;flex-direction:column}
  .archive-cms-row{grid-template-columns:68px 1fr!important}.archive-cms-row .archive-cms-mini{grid-column:2;justify-self:start}
}


.archive-cms-media-card[draggable="true"]{cursor:grab}
.archive-cms-media-card.dragging{opacity:.48}
.archive-cms-media-card.drag-over{border-color:rgba(208,33,58,.72);box-shadow:inset 0 0 0 1px rgba(208,33,58,.24)}


/* V3.15.30 · comportamentos · tecido · água */
.behavior-preview-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}
#behaviorPreviewToggle[data-state="on"]{border-color:rgba(208,33,58,.72)!important;background:rgba(208,33,58,.12)!important;color:#fff!important}
.behavior-param-grid,.behavior-rule-params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.behavior-field{display:grid;gap:5px;min-width:0}
.behavior-field>span,.behavior-check>span{
  font:500 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.04em;text-transform:uppercase;color:rgba(236,232,223,.39)
}
.behavior-field input,.behavior-field select{
  width:100%;box-sizing:border-box;min-height:30px;padding:6px 7px;
  border:1px solid rgba(236,232,223,.10);background:rgba(236,232,223,.018);
  color:rgba(236,232,223,.78);font:400 9px/1.25 "IBM Plex Mono",ui-monospace,monospace;outline:none
}
.behavior-field input:focus,.behavior-field select:focus{border-color:rgba(208,33,58,.48)}
.behavior-field input[type="color"]{padding:2px;height:30px}
.behavior-check{display:flex;align-items:center;gap:7px;min-height:30px;padding:0 7px;border:1px solid rgba(236,232,223,.08);background:rgba(236,232,223,.012)}
.behavior-check input{accent-color:#d0213a}
.behavior-rule-card{border:1px solid rgba(236,232,223,.085);background:rgba(236,232,223,.012);margin:0 0 7px}
.behavior-rule-card[open]{border-color:rgba(208,33,58,.24);background:rgba(208,33,58,.025)}
.behavior-rule-card summary{
  list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;
  padding:9px 10px;cursor:pointer;user-select:none
}
.behavior-rule-card summary::-webkit-details-marker{display:none}
.behavior-rule-card summary>span{font:500 9px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.75)}
.behavior-rule-card summary>small{font:400 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.35);text-transform:uppercase}
.behavior-rule-enabled{display:flex;align-items:center;gap:4px;cursor:pointer}
.behavior-rule-enabled input{accent-color:#d0213a}
.behavior-rule-enabled i{font:400 7px/1 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.35);font-style:normal;text-transform:uppercase}
.behavior-rule-body{border-top:1px solid rgba(236,232,223,.065);padding:9px}
.behavior-rule-params{margin:8px 0 10px}
.behavior-slide-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:8px 0}
.behavior-slide-card{min-width:0;border:1px solid rgba(236,232,223,.08);background:rgba(236,232,223,.012);padding:4px}
.behavior-slide-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#09090a}
.behavior-slide-card>div{display:grid;grid-template-columns:1fr repeat(3,20px);align-items:center;gap:2px;margin-top:4px}
.behavior-slide-card span{font:400 7px/1 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.35)}
.behavior-slide-card button{height:20px;padding:0;border:1px solid rgba(236,232,223,.08);background:transparent;color:rgba(236,232,223,.48);font-size:8px;cursor:pointer}
.behavior-slide-card button:hover{border-color:rgba(208,33,58,.5);color:#fff}
#primSurfaceControls,#primClothControls,#primWaterControls,#primDistortionControls{margin-top:2px}
.water-preset-grid{margin:5px 0 11px}
.water-preset-grid .pe-mini{min-height:30px}
#primWaterControls .pe-color{width:100%;height:31px;padding:2px;background:rgba(236,232,223,.02);border:1px solid rgba(236,232,223,.10)}
@media(max-width:760px){
  .behavior-param-grid,.behavior-rule-params{grid-template-columns:1fr}
  .behavior-slide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .behavior-preview-row{grid-template-columns:1fr}
}


/* V3.15.31 · guestbook · public visitor chat */
.main-menu button.guestbook-menu{margin-top:2px;color:rgba(236,232,223,.62)}
.main-menu button.guestbook-menu:hover{color:var(--ink)}
.guestbook-inner{max-width:980px}
.guestbook-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px;margin-top:28px}
.guestbook-form label{display:grid;gap:7px}
.guestbook-form label>span,.public-chat-name>span{
  font:500 8px/1.3 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.09em;text-transform:uppercase;color:rgba(236,232,223,.42)
}
.guestbook-form .guestbook-message-field{grid-column:1/-1}
.guestbook-form input,.guestbook-form textarea{
  width:100%;box-sizing:border-box;border:1px solid rgba(236,232,223,.13);
  background:rgba(255,255,255,.018);color:rgba(236,232,223,.88);
  padding:11px 12px;outline:none;font:400 11px/1.55 "IBM Plex Mono",ui-monospace,monospace
}
.guestbook-form textarea{resize:vertical;min-height:150px}
.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:rgba(208,33,58,.55)}
.guestbook-form button{
  width:max-content;border:1px solid rgba(208,33,58,.48);background:rgba(208,33,58,.08);
  color:#fff;padding:10px 13px;cursor:pointer;font:500 9px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.06em;text-transform:lowercase
}
.guestbook-form button:disabled{opacity:.45;cursor:wait}
.guestbook-status{grid-column:1/-1;min-height:18px;font:400 9px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.48)}
.guestbook-status.ok{color:rgba(236,232,223,.8)}
.guestbook-status.error{color:#d0213a}

.guestbook-inbox-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 12px;padding-bottom:10px;border-bottom:1px solid rgba(236,232,223,.10)}
.guestbook-inbox-tools span{font:400 8px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}
.guestbook-inbox-tools button,.guestbook-card-actions button{
  border:1px solid rgba(236,232,223,.12);background:transparent;color:rgba(236,232,223,.58);
  padding:7px 9px;cursor:pointer;font:400 8px/1 "IBM Plex Mono",ui-monospace,monospace
}
.guestbook-inbox{display:grid;max-width:920px}
.guestbook-card{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px 2px;border-bottom:1px solid rgba(236,232,223,.09)}
.guestbook-card.unread{border-left:2px solid rgba(208,33,58,.7);padding-left:10px}
.guestbook-card-meta{display:grid;align-content:start;gap:5px;font:400 8px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.36)}
.guestbook-card-meta strong{font-size:10px;font-weight:500;color:rgba(236,232,223,.78)}
.guestbook-card-meta a{color:rgba(236,232,223,.58);text-decoration:none;overflow-wrap:anywhere}
.guestbook-card-meta b{font-weight:500;color:#d0213a;text-transform:uppercase;font-size:7px;letter-spacing:.08em}
.guestbook-card-body p{margin:0;white-space:pre-wrap;font:400 11px/1.65 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.72)}
.guestbook-card-actions{display:flex;gap:5px;margin-top:12px;flex-wrap:wrap}

.public-chat-dock{position:fixed;right:3.2vw;bottom:3.2vh;z-index:92;pointer-events:auto}
.public-chat-toggle{
  display:flex;align-items:center;gap:7px;min-width:62px;justify-content:center;
  border:1px solid rgba(236,232,223,.14);background:rgba(8,9,11,.78);backdrop-filter:blur(14px);
  color:rgba(236,232,223,.62);padding:8px 10px;cursor:pointer;
  font:500 8px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.09em;text-transform:lowercase
}
.public-chat-toggle:hover,.public-chat-toggle[aria-expanded="true"]{border-color:rgba(208,33,58,.48);color:#fff}
.public-chat-glyph{color:#d0213a;letter-spacing:.14em}
.public-chat-panel{
  position:absolute;right:0;bottom:calc(100% + 8px);width:min(330px,88vw);height:min(440px,70vh);
  border:1px solid rgba(236,232,223,.13);background:rgba(7,8,10,.94);backdrop-filter:blur(18px);
  box-shadow:0 18px 60px rgba(0,0,0,.38);padding:12px;box-sizing:border-box;
  display:grid;grid-template-rows:auto auto 1fr auto auto;gap:9px
}
.public-chat-panel[hidden]{display:none}
.public-chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(236,232,223,.09)}
.public-chat-head>div{display:grid;gap:3px}
.public-chat-head strong{font:500 10px/1.25 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.86)}
.public-chat-head span{font:400 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}
.public-chat-head button{border:0;background:transparent;color:rgba(236,232,223,.45);cursor:pointer;font-size:16px;line-height:1}
.public-chat-name{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:7px}
.public-chat-name input{
  width:100%;box-sizing:border-box;background:rgba(255,255,255,.018);border:1px solid rgba(236,232,223,.10);
  color:rgba(236,232,223,.8);padding:7px 8px;outline:none;font:400 9px/1.3 "IBM Plex Mono",ui-monospace,monospace
}
.public-chat-messages{overflow:auto;display:grid;align-content:start;gap:8px;padding:4px 2px 8px;scrollbar-width:thin}
.public-chat-message{display:grid;gap:3px;padding-bottom:7px;border-bottom:1px solid rgba(236,232,223,.055)}
.public-chat-message>div{display:flex;justify-content:space-between;gap:8px}
.public-chat-message strong{font:500 8px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:#d0213a}
.public-chat-message time{font:400 7px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.25)}
.public-chat-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:400 9px/1.5 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.68)}
.public-chat-empty{font:400 8px/1.5 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.28);padding:12px 2px}
.public-chat-compose{display:grid;grid-template-columns:1fr auto;gap:6px}
.public-chat-compose textarea{
  min-height:46px;max-height:100px;resize:vertical;background:rgba(255,255,255,.018);
  border:1px solid rgba(236,232,223,.10);color:rgba(236,232,223,.78);padding:8px;outline:none;
  font:400 9px/1.4 "IBM Plex Mono",ui-monospace,monospace
}
.public-chat-compose button{
  align-self:stretch;border:1px solid rgba(208,33,58,.42);background:rgba(208,33,58,.08);
  color:rgba(236,232,223,.82);padding:0 9px;cursor:pointer;font:500 8px/1 "IBM Plex Mono",ui-monospace,monospace
}
.public-chat-status{min-height:12px;font:400 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}
#primSurfaceShapeControls{margin-top:2px}

@media(max-width:760px){
  .guestbook-form{grid-template-columns:1fr}
  .guestbook-form .guestbook-message-field{grid-column:auto}
  .guestbook-card{grid-template-columns:1fr;gap:10px}
  .public-chat-dock{right:14px;bottom:14px}
  .public-chat-panel{height:min(430px,68vh)}
}


/* V3.15.32 · cotas · seletores contextuais · tint · aura */
.dk-internal-coordinate{display:none!important}
.dk-height-reference{
  display:grid;grid-template-columns:auto auto;gap:4px 10px;align-items:baseline;
  margin:8px 0 12px;padding:9px 10px;border:1px solid rgba(208,33,58,.24);
  background:rgba(208,33,58,.025)
}
.dk-height-reference>span{
  font:500 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.06em;text-transform:uppercase;color:rgba(236,232,223,.42)
}
.dk-height-reference>strong{
  justify-self:end;font:500 13px/1 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.88)
}
.dk-height-reference>small{
  grid-column:1/-1;font:400 7px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.30)
}
.dk-height-reference.compact{margin:6px 0 10px;padding:7px 8px}
.dk-scene-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) repeat(3,26px);
  gap:3px;align-items:stretch
}
.dk-scene-row>button:first-child{
  min-width:0;text-align:left;display:grid;gap:2px;align-content:center
}
.dk-scene-row>button:first-child span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-scene-row>button:first-child small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-scene-row>button:not(:first-child){
  min-width:26px;width:26px;padding:0;display:grid;place-items:center
}
.dk-scene-row .dk-row-danger{color:rgba(208,33,58,.72)}
.dk-scene-row .dk-row-danger:hover{color:#fff;border-color:rgba(208,33,58,.65);background:rgba(208,33,58,.12)}
.dk-mini-section>.dk-scene-list{margin-top:7px}
#peWorkSection,#peSpatialSection,#peBehaviorSection,#peLocalLightSection{scroll-margin-top:8px}


.dk-scene-row.active>button:first-child{border-color:rgba(208,33,58,.34);background:rgba(208,33,58,.055);color:rgba(236,232,223,.92)}

/* V3.15.34 · language switch visibility hotfix */
.language-switch{pointer-events:auto}
@media(max-width:760px){
  .top .language-switch{margin-bottom:7px}
}


/* V3.15.35 · idioma no topo · Note bilíngue */
.top .language-switch{
  width:100%;
  margin:0 0 7px;
  padding:0 0 5px;
  border-bottom:1px solid rgba(236,232,223,.07);
}
.dk-note-translation-bar{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  margin-top:-3px;padding:7px 0 2px
}
.dk-note-translation-bar>span{
  font:400 7px/1.4 "IBM Plex Mono",ui-monospace,monospace;
  color:rgba(236,232,223,.38)
}
.dk-note-translation-bar>span[data-state="ready"]{color:rgba(236,232,223,.68)}
.dk-note-translation-bar>span[data-state="translating"]{color:rgba(208,33,58,.78)}
.dk-note-translation-bar>span[data-state="error"]{color:#d0213a}
.dk-note-translation-bar button{
  border:1px solid rgba(236,232,223,.10);background:transparent;color:rgba(236,232,223,.48);
  padding:5px 7px;cursor:pointer;font:400 7px/1 "IBM Plex Mono",ui-monospace,monospace
}
.dk-note-translation-bar button:hover{border-color:rgba(208,33,58,.45);color:#fff}
.dk-note-language-preview{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:4px 0 10px
}
.dk-note-language-preview label{display:grid;gap:4px}
.dk-note-language-preview label>span{
  font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;color:#d0213a;letter-spacing:.08em
}
.dk-note-language-preview textarea{
  width:100%;box-sizing:border-box;resize:vertical;min-height:62px;padding:7px 8px;
  border:1px solid rgba(236,232,223,.075);background:rgba(236,232,223,.012);
  color:rgba(236,232,223,.48);font:400 8px/1.45 "IBM Plex Mono",ui-monospace,monospace
}
@media(max-width:760px){.dk-note-language-preview{grid-template-columns:1fr}}


/* V3.15.36 · seletor PT/EN compacto */
.top .language-switch{
  width:auto;
  display:inline-flex;
  align-self:flex-end;
  justify-content:flex-end;
  gap:2px;
  margin:0 0 7px;
  padding:0 0 4px;
  border-bottom:0;
  font-size:8px;
  letter-spacing:.08em;
  opacity:.72;
}
.top .language-switch button{
  padding:1px 0;
  font-size:8px;
  letter-spacing:.08em;
  line-height:1;
}
.top .language-switch .sep{
  margin:0 1px;
  opacity:.32;
}
.top .language-switch button.active{
  color:rgba(236,232,223,.88);
}
.top .language-switch:hover{
  opacity:1;
}


/* V3.15.37 · Lock / Unlock por elemento */
.dk-element-lock-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 10px;padding:8px 9px;border:1px solid rgba(236,232,223,.08);
  background:rgba(236,232,223,.012)
}
.dk-element-lock-bar>div{display:grid;gap:2px}
.dk-element-lock-bar strong{
  font:500 8px/1.2 "IBM Plex Mono",ui-monospace,monospace;
  color:rgba(236,232,223,.68);text-transform:uppercase;letter-spacing:.05em
}
.dk-element-lock-bar strong[data-locked="1"]{color:#d0213a}
.dk-element-lock-bar small{
  font:400 6.8px/1.35 "IBM Plex Mono",ui-monospace,monospace;
  color:rgba(236,232,223,.30)
}
#dkElementLockToggle{
  flex:0 0 auto;min-width:92px;border:1px solid rgba(236,232,223,.14);
  background:transparent;color:rgba(236,232,223,.62);padding:7px 9px;cursor:pointer;
  font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.05em
}
#dkElementLockToggle[data-locked="1"]{
  border-color:rgba(208,33,58,.52);background:rgba(208,33,58,.08);color:#fff
}
.dk-element-locked{position:relative}
.dk-element-locked input:disabled,.dk-element-locked select:disabled,.dk-element-locked textarea:disabled,.dk-element-locked button:disabled{
  opacity:.34;cursor:not-allowed
}
.dk-element-locked::after{
  content:"LOCK";
  position:absolute;right:8px;top:8px;pointer-events:none;
  font:500 6px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.08em;color:rgba(208,33,58,.54)
}
.dk-scene-row{
  grid-template-columns:minmax(0,1fr) 26px 54px 26px!important
}
.dk-scene-row.scene-lock-row{
  grid-template-columns:minmax(0,1fr) 26px 26px 54px 26px!important
}
.dk-scene-row.sound-lock-row{
  grid-template-columns:minmax(0,1fr) 54px 26px!important
}
.dk-scene-row.compact-lock{
  grid-template-columns:minmax(0,1fr) 54px!important
}
.dk-scene-row .dk-row-lock{
  width:54px!important;min-width:54px!important;padding:0 4px!important;
  font:500 5.8px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.025em;color:rgba(236,232,223,.34)!important
}
.dk-scene-row .dk-row-lock.locked{
  color:#d0213a!important;background:rgba(208,33,58,.055)!important
}
.dk-floor-lock-row{
  display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:3px;
  border:1px solid transparent;background:rgba(236,232,223,.012)
}
.dk-floor-lock-row.active{border-color:rgba(208,33,58,.25);background:rgba(208,33,58,.035)}
.dk-floor-module-list .dk-floor-lock-row>button:first-child{
  min-width:0;width:100%;border:0;background:transparent;color:rgba(236,232,223,.5);
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;cursor:pointer;text-align:left
}
.dk-floor-module-list .dk-floor-lock-row>.dk-row-lock{
  width:54px;border:0;border-left:1px solid rgba(236,232,223,.05);background:transparent;
  color:rgba(236,232,223,.34);font:500 5.8px/1 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer
}
.dk-floor-module-list .dk-floor-lock-row>.dk-row-lock.locked{color:#d0213a;background:rgba(208,33,58,.055)}


/* V3.15.38 · material por face */
.dk-face-material-controls{
  margin-top:12px;padding:10px;border:1px solid rgba(236,232,223,.075);
  background:rgba(236,232,223,.012)
}
.dk-face-material-controls .pe-subtitle{margin-top:0}
.dk-face-material-controls .dk-media-state{margin-top:5px}
.dk-face-material-controls .pe-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}


/* V3.15.50 · gizmo direto no objeto + gesto transacional */
.dk-gizmo-toolbar{
  display:grid;gap:6px;margin:0 0 10px;padding:8px 9px;
  border:1px solid rgba(236,232,223,.08);
  background:rgba(236,232,223,.012)
}
.dk-gizmo-mode,.dk-gizmo-axis{
  display:flex;align-items:center;gap:3px;flex-wrap:wrap
}
.dk-gizmo-toolbar button{
  border:1px solid rgba(236,232,223,.10);background:transparent;
  color:rgba(236,232,223,.42);padding:6px 7px;cursor:pointer;
  font:500 6.8px/1 "IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.045em;text-transform:uppercase
}
.dk-gizmo-mode button.active{
  border-color:rgba(236,232,223,.34);background:rgba(236,232,223,.055);
  color:rgba(236,232,223,.90)
}
.dk-gizmo-axis button[data-gizmo-axis="x"]{color:rgba(224,75,87,.62)}
.dk-gizmo-axis button[data-gizmo-axis="y"]{color:rgba(118,200,68,.62)}
.dk-gizmo-axis button[data-gizmo-axis="z"]{color:rgba(74,127,228,.68)}
.dk-gizmo-axis button[data-gizmo-axis="x"].active{border-color:rgba(224,75,87,.70);background:rgba(224,75,87,.09);color:#ff6572}
.dk-gizmo-axis button[data-gizmo-axis="y"].active{border-color:rgba(118,200,68,.70);background:rgba(118,200,68,.08);color:#8cde59}
.dk-gizmo-axis button[data-gizmo-axis="z"].active{border-color:rgba(74,127,228,.72);background:rgba(74,127,228,.09);color:#72a0ff}
.dk-gizmo-axis button[data-gizmo-axis="all"].active{
  border-color:rgba(236,232,223,.24);color:rgba(236,232,223,.70)
}
.dk-gizmo-toolbar small{
  font:400 6.5px/1.35 "IBM Plex Mono",ui-monospace,monospace;
  color:rgba(236,232,223,.30)
}
.dk-element-locked .dk-gizmo-toolbar{opacity:.42}


/* V3.15.51 · orientação cardinal + transform estável */
.dk-editor-compass{
  display:none;position:fixed;right:18px;top:92px;z-index:510;pointer-events:none;
  width:86px;padding:8px 7px 7px;box-sizing:border-box;text-align:center;
  border:1px solid rgba(236,232,223,.075);background:rgba(4,5,6,.56);
  backdrop-filter:blur(7px);color:rgba(236,232,223,.48);
  font-family:"IBM Plex Mono",ui-monospace,monospace
}
body.edit-mode.dk-studio-authorized .dk-editor-compass{display:block}
.dk-compass-kicker{font-size:5.8px;letter-spacing:.16em;color:rgba(236,232,223,.24);margin-bottom:3px}
.dk-compass-dial{position:relative;width:64px;height:64px;margin:0 auto;border:1px solid rgba(236,232,223,.07);border-radius:50%}
.dk-compass-dial::before,.dk-compass-dial::after{content:"";position:absolute;left:50%;top:50%;background:rgba(236,232,223,.055);transform:translate(-50%,-50%)}
.dk-compass-dial::before{width:1px;height:48px}.dk-compass-dial::after{width:48px;height:1px}
.dk-compass-dial [data-cardinal]{position:absolute;left:50%;top:50%;z-index:2;font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.02em;color:rgba(236,232,223,.42);will-change:transform}
.dk-compass-dial [data-cardinal].north{color:#d0213a}
.dk-compass-center{position:absolute;left:50%;top:50%;z-index:3;width:3px;height:3px;border:1px solid rgba(236,232,223,.34);border-radius:50%;transform:translate(-50%,-50%)}
.dk-editor-compass strong{display:block;margin-top:4px;font:500 6.4px/1.2 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.58);letter-spacing:.04em}
.dk-editor-compass small{display:block;margin-top:4px;font:400 5.2px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.22);white-space:nowrap}
@media(max-width:760px){.dk-editor-compass{right:10px;top:76px;transform:scale(.88);transform-origin:top right}}


/* V3.15.56 · embodied presence + alternate orbit camera */
.dk-presence-gate{position:fixed;inset:0;z-index:1000001;display:grid;place-items:center;background:rgba(4,5,6,.92);backdrop-filter:none;opacity:1;transition:opacity .22s ease}
.dk-presence-gate.closing{opacity:0;pointer-events:none}
.dk-presence-brand{position:absolute;right:4.2vw;bottom:5.3vh;z-index:2;white-space:nowrap;pointer-events:none;font:300 clamp(8px,.62vw,10px)/1 "IBM Plex Mono","Courier New",monospace;letter-spacing:.22em;color:rgba(236,232,223,.52);opacity:0;animation:dkPresenceBrand 38s ease-in-out -11s infinite;text-shadow:0 1px 14px rgba(0,0,0,.34)}
@keyframes dkPresenceBrand{0%,9%,100%{opacity:0}23%,58%{opacity:.72}72%{opacity:.18}84%{opacity:0}}
.dk-presence-concept{position:absolute;left:calc(50% + 150px);top:calc(50% - 312px);width:auto;max-width:calc(100vw - 80px);transform:translateX(-50%);z-index:2;text-align:left;white-space:nowrap;font:300 clamp(9px,.82vw,13px)/1.35 "IBM Plex Mono","Courier New",monospace;letter-spacing:.055em;color:rgba(208,33,58,.88);pointer-events:none;opacity:0;animation:dkPresenceConcept 30s ease-in-out -4s infinite;text-shadow:0 1px 16px rgba(0,0,0,.38)}
@keyframes dkPresenceConcept{0%,11%,100%{opacity:0;transform:translate(-50%,3px)}28%,63%{opacity:.82;transform:translate(-50%,0)}76%{opacity:.24;transform:translate(-50%,-1px)}88%{opacity:0;transform:translate(-50%,-2px)}}
.dk-presence-card{position:relative;width:min(456px,calc(100vw - 36px));padding:22px 24px 22px;border:1px solid rgba(236,232,223,.14);background:rgba(6,8,9,.78);box-shadow:0 24px 80px rgba(0,0,0,.38);font-family:"IBM Plex Mono","Courier New",monospace;color:rgba(236,232,223,.78)}
.dk-presence-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:15px}
.dk-presence-head-text{min-width:0}
.dk-presence-head-text>small{display:block;font-size:8px;letter-spacing:.18em;color:rgba(236,232,223,.34);margin-bottom:12px}
.dk-presence-head-text>strong{display:block;font-size:12px;font-weight:400;letter-spacing:.035em;color:rgba(236,232,223,.86)}
.dk-presence-lang{display:inline-flex;align-items:center;gap:2px;font:400 8px/1 "IBM Plex Mono","Courier New",monospace;letter-spacing:.06em;color:rgba(236,232,223,.36);user-select:none;-webkit-user-select:none}
.dk-presence-lang button{appearance:none;border:0;background:none;color:rgba(236,232,223,.42);padding:0 1px;cursor:pointer;font:inherit;letter-spacing:inherit}
.dk-presence-lang button.active{color:rgba(236,232,223,.88)}
.dk-presence-lang .sep{color:rgba(236,232,223,.18)}
.dk-presence-forms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.dk-presence-forms button{height:154px;position:relative;overflow:hidden;border:1px solid rgba(236,232,223,.07);background:transparent;color:rgba(236,232,223,.38);cursor:pointer;transition:border-color .08s linear,background .08s linear,color .08s linear,box-shadow .08s linear;outline:none;-webkit-tap-highlight-color:transparent;box-shadow:none}
.dk-presence-forms button.active{border-color:rgba(236,232,223,.46);background:transparent;color:rgba(236,232,223,.82);box-shadow:inset 0 0 0 1px rgba(236,232,223,.11),0 0 18px rgba(236,232,223,.035)}
.dk-presence-forms button:focus,.dk-presence-forms button:focus-visible{outline:none;border-color:rgba(236,232,223,.46);box-shadow:inset 0 0 0 1px rgba(236,232,223,.10),0 0 18px rgba(236,232,223,.035)}
.dk-presence-forms img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:128px;object-fit:contain;opacity:.90;filter:none}
.dk-presence-forms span{display:none}
.dk-presence-card label{display:block;font-size:8px;letter-spacing:.08em;color:rgba(236,232,223,.44)}
.dk-presence-card input{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:9px 0 8px;border:0;border-bottom:1px solid rgba(236,232,223,.18);outline:0;background:transparent;color:rgba(236,232,223,.82);font:11px/1.3 "IBM Plex Mono","Courier New",monospace}
.dk-presence-card input:focus{border-bottom-color:rgba(236,232,223,.42)}
.dk-presence-card em{display:block;margin-top:7px;font-size:7px;font-style:normal;line-height:1.55;color:rgba(236,232,223,.25)}
#dkPresenceEnter{margin-top:17px;padding:7px 12px;border:1px solid rgba(236,232,223,.14);background:transparent;color:rgba(236,232,223,.64);font:8.8px/1 "IBM Plex Mono","Courier New",monospace;letter-spacing:.16em;cursor:pointer}
#dkPresenceEnter:hover{border-color:rgba(236,232,223,.28);color:rgba(236,232,223,.82)}
.dk-presence-hover-label{position:fixed;z-index:80;pointer-events:none;transform:translate(-50%,-50%);font:300 9px/1.2 "IBM Plex Mono","Courier New",monospace;letter-spacing:.045em;color:rgba(236,232,223,.62);white-space:nowrap;opacity:0;transition:opacity .4s ease;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.dk-presence-hover-label.show{opacity:1;transition-duration:.25s}
@media(max-width:680px){.dk-presence-brand{right:18px;bottom:22px;font-size:7.4px;letter-spacing:.18em}.dk-presence-concept{left:57%;top:calc(50% - 256px);max-width:calc(100vw - 24px);font-size:clamp(6.8px,2.05vw,8.2px);letter-spacing:.025em;line-height:1.3}.dk-presence-card{padding:20px}.dk-presence-head{gap:10px;margin-bottom:13px}.dk-presence-head-text>strong{font-size:11px}.dk-presence-forms button{height:132px}.dk-presence-forms img{height:116px;width:82px;top:50%;bottom:auto;transform:translate(-50%,-50%)}}


/* V3.15.56 · Alt orbit camera interaction model */
body.dk-alt-camera-key #app canvas{cursor:zoom-in!important}
body.dk-alt-camera-drag #app canvas{cursor:grabbing!important}

/* V3.15.69 · audit clean base */
.top .language-switch{gap:0!important;letter-spacing:.02em!important}
.top .language-switch .sep{margin:0!important;padding:0 1px!important}
.top .language-switch button{letter-spacing:.02em!important}
.dk-presence-forms img{object-fit:contain!important;background:transparent!important;filter:brightness(1.26) contrast(1.03)!important;opacity:.90!important}

/* V3.15.69 · camera/presence/settings refinements */
.top-language-switch{gap:2px!important}.top-language-switch .sep{margin:0 1px!important}.top-language-switch button{padding-left:2px!important;padding-right:2px!important}
.dk-presence-camera-setup{margin:12px 0 4px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}.dk-presence-camera-setup>label{display:grid;gap:6px}.dk-presence-camera-setup select{width:100%;background:#090a0b;color:#d9d6cf;border:1px solid rgba(255,255,255,.14);padding:8px;font:10px/1.2 "IBM Plex Mono",monospace}.dk-presence-camera-custom{display:grid;gap:7px;margin-top:8px}.dk-presence-camera-custom label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:8px;font-size:9px;color:rgba(236,232,223,.55)}.dk-presence-camera-custom input{width:100%}
.dk-name-field{display:grid;gap:5px;margin:10px 0}.dk-name-field input{width:100%;background:#090a0b;color:#e7e2d8;border:1px solid rgba(255,255,255,.12);padding:8px;font:10px/1.2 "IBM Plex Mono",monospace}
.dk-language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:8px 0}.dk-language-grid button{padding:7px 8px;text-align:left}.dk-language-grid button.active{border-color:rgba(235,230,218,.58);background:rgba(255,255,255,.07)}
.dk-inventory-list{display:grid;gap:4px;max-height:160px;overflow:auto;margin-top:8px}.dk-inventory-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.07);padding:7px}.dk-inventory-row span{display:grid;gap:2px;min-width:0}.dk-inventory-row strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dk-inventory-row small,.dk-inventory-row em{font-size:8px;color:rgba(236,232,223,.38);font-style:normal}


/* V3.15.69 · avatar framing after entry */
.dk-avatar-view-toggle{position:fixed;right:18px;bottom:18px;z-index:99970;border:1px solid rgba(236,232,223,.14);background:rgba(5,7,8,.72);color:rgba(236,232,223,.56);padding:7px 10px;font:8px/1 "IBM Plex Mono",monospace;letter-spacing:.09em;text-transform:lowercase;cursor:pointer;backdrop-filter:blur(8px)}
.dk-avatar-view-toggle:hover{color:rgba(236,232,223,.86);border-color:rgba(236,232,223,.28)}
.dk-avatar-view-panel{position:fixed;right:18px;bottom:52px;z-index:99971;width:min(330px,calc(100vw - 36px));padding:14px 15px 15px;border:1px solid rgba(236,232,223,.14);background:rgba(5,7,8,.88);color:rgba(236,232,223,.72);font-family:"IBM Plex Mono",monospace;backdrop-filter:blur(10px);opacity:0;transform:translateY(7px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.dk-avatar-view-panel.open{opacity:1;transform:none;pointer-events:auto}
.dk-avatar-view-panel header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dk-avatar-view-panel header small{display:block;font-size:7px;letter-spacing:.16em;color:rgba(236,232,223,.3);margin-bottom:4px}.dk-avatar-view-panel header strong{font-size:10px;font-weight:400}.dk-avatar-view-panel header button{border:0;background:transparent;color:rgba(236,232,223,.42);font-size:15px;cursor:pointer}.dk-avatar-view-panel>p{margin:9px 0 4px;font-size:8px;line-height:1.55;color:rgba(236,232,223,.38)}
.dk-avatar-view-panel .dk-presence-camera-setup{margin-top:8px}.dk-presence-gate .dk-presence-camera-setup{display:none!important}
.dk-avatar-name-field{display:block;margin:10px 0 4px;font-size:8px;color:rgba(236,232,223,.44)}.dk-avatar-name-field input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:7px 0;border:0;border-bottom:1px solid rgba(236,232,223,.16);background:transparent;color:rgba(236,232,223,.82);font:10px/1.3 "IBM Plex Mono",monospace;outline:0}
.dk-public-settings-panel{position:fixed;right:4vw;top:calc(6vh + 116px);z-index:99972;width:min(300px,calc(100vw - 36px));padding:14px;border:1px solid rgba(236,232,223,.14);background:rgba(5,7,8,.9);color:rgba(236,232,223,.7);font-family:"IBM Plex Mono",monospace;backdrop-filter:blur(10px);opacity:0;transform:translateY(-5px);pointer-events:none;transition:.18s ease}.dk-public-settings-panel.open{opacity:1;transform:none;pointer-events:auto}.dk-public-settings-panel header{display:flex;justify-content:space-between;align-items:flex-start}.dk-public-settings-panel header small{display:block;font-size:7px;letter-spacing:.15em;color:rgba(236,232,223,.3)}.dk-public-settings-panel header strong{font-size:10px;font-weight:400}.dk-public-settings-panel header button{border:0;background:transparent;color:rgba(236,232,223,.4);cursor:pointer;font-size:15px}.dk-public-settings-panel section{border-top:1px solid rgba(255,255,255,.07);padding-top:10px;margin-top:10px}.dk-public-settings-panel section>strong{font-size:9px;font-weight:400}.dk-public-settings-panel section>small{display:block;font-size:7px;line-height:1.5;color:rgba(236,232,223,.32);margin-top:6px}.dk-public-settings-panel [data-open-avatar-framing]{margin-top:7px;width:100%;padding:7px 8px;text-align:left;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025);color:rgba(236,232,223,.6);font:8px/1.2 "IBM Plex Mono",monospace;cursor:pointer}


/* V3.15.69 · focus core / compact language / utility dock / clean boot */
.top .top-language-switch,
.top-language-switch{
  display:inline-flex!important;
  width:max-content!important;
  min-width:0!important;
  justify-self:end!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:0!important;
  column-gap:0!important;
  margin:0 0 5px 0!important;
  padding:0!important;
  letter-spacing:0!important;
}
.top .top-language-switch button,
.top-language-switch button{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:0!important;
  line-height:1!important;
}
.top .top-language-switch .sep,
.top-language-switch .sep{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  margin:0 1px!important;
  padding:0!important;
  letter-spacing:0!important;
  line-height:1!important;
}

/* The old DOM color wash no longer participates in the authored 3D light. */
#app{background:#040506!important}
body:not(.dk-scene-first-frame) #r3fRoot{visibility:hidden!important}
body:not(.dk-scene-first-frame) .fog,
body:not(.dk-scene-first-frame) #dust,
body:not(.dk-scene-first-frame) #webs,
body:not(.dk-scene-first-frame) #trails{visibility:hidden!important}
body:not(.dk-atmos-fog) .fog{display:none!important}
body:not(.dk-atmos-dust) #dust{display:none!important}
body:not(.dk-atmos-webs) #webs{display:none!important}

body.dk-alt-camera-key #r3fRoot canvas{cursor:zoom-in!important}
body.dk-alt-focus-active #r3fRoot canvas{cursor:grab!important}
body.dk-alt-focus-active.dk-alt-camera-drag #r3fRoot canvas{cursor:grabbing!important}
/* Public: one centered utility dock, chat + avatar. */
.dk-public-utility-dock{
  position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:99970;
  display:flex;align-items:stretch;gap:4px;padding:4px;
  border:1px solid rgba(236,232,223,.10);background:rgba(5,7,8,.72);
  backdrop-filter:blur(12px);box-shadow:0 10px 34px rgba(0,0,0,.2)
}
.dk-public-utility-dock .public-chat-dock{position:relative!important;right:auto!important;bottom:auto!important;z-index:auto!important}
.dk-public-utility-dock .dk-avatar-view-toggle{position:relative!important;right:auto!important;left:auto!important;bottom:auto!important;z-index:auto!important;transform:none!important;min-width:62px;height:100%;margin:0!important}
.dk-public-utility-dock .public-chat-toggle{height:100%;margin:0}
.dk-public-utility-dock .public-chat-panel{right:auto!important;left:50%!important;transform:translateX(-50%)!important;bottom:calc(100% + 9px)!important}
.dk-avatar-view-panel{right:auto!important;left:50%!important;bottom:64px!important;transform:translate(-50%,7px)!important}
.dk-avatar-view-panel.open{transform:translate(-50%,0)!important}
body.edit-mode>.dk-avatar-view-toggle{display:none!important}
@media(max-width:760px){
  .dk-public-utility-dock{bottom:10px}
  .dk-public-utility-dock .public-chat-dock{right:auto!important;bottom:auto!important}
  .dk-public-utility-dock .public-chat-panel{width:min(330px,calc(100vw - 20px))}
}


/* V3.15.69 final · PT/EN truly compact */
.hud.top>.top-language-switch{
  display:flex!important;flex:0 0 auto!important;align-self:flex-end!important;
  width:auto!important;max-width:none!important;min-width:0!important;
  gap:0!important;padding:0!important;margin:0 0 5px 0!important;
  border:0!important;font-size:0!important;letter-spacing:0!important;white-space:nowrap!important;
}
.hud.top>.top-language-switch>button{
  display:block!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;
  grid-template-columns:none!important;column-gap:0!important;gap:0!important;
  padding:0!important;margin:0!important;border:0!important;
  font-size:8px!important;line-height:1!important;letter-spacing:0!important;text-align:left!important;
}
.hud.top>.top-language-switch>.sep{
  display:block!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;
  padding:0!important;margin:0!important;font-size:8px!important;line-height:1!important;letter-spacing:0!important;
}


/* V3.15.69 · focus release on walk · no reticle · unified utility dock */
/* Compass is no longer a fixed HUD. It lives in a draggable Studio window. */
body.edit-mode.dk-studio-authorized>.dk-editor-compass{display:none!important}
#dkCompassWindow #dkEditorCompass{
  display:block!important;position:relative!important;right:auto!important;top:auto!important;z-index:auto!important;
  width:100%!important;box-sizing:border-box!important;padding:8px!important;margin:0!important;
  border:0!important;background:transparent!important;backdrop-filter:none!important;pointer-events:none!important;
  transform:none!important
}
#dkCompassWindow{min-width:210px!important;min-height:42px!important;resize:both}
#dkCompassWindow .dk-window-body{display:grid;align-content:start}
#dkCompassWindow .dk-compass-dial{width:72px;height:72px}

/* Public utility dock mirrors the Studio dock language: same material, rhythm, and button scale. */
.dk-public-utility-dock{
  gap:2px!important;padding:5px!important;bottom:14px!important;
  border:1px solid rgba(236,232,223,.12)!important;background:rgba(5,7,8,.88)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.36)!important;backdrop-filter:blur(18px)!important
}
.dk-public-utility-dock>.public-chat-dock,
.dk-public-utility-dock>.dk-avatar-view-toggle,
.dk-public-utility-dock>.dk-public-dock-language{height:44px!important;margin:0!important}
.dk-public-utility-dock .public-chat-toggle,
.dk-public-utility-dock>.dk-avatar-view-toggle,
.dk-public-utility-dock>.dk-public-dock-language{
  width:58px!important;min-width:58px!important;height:44px!important;padding:0!important;border:0!important;
  background:transparent!important;color:rgba(236,232,223,.42)!important;
  display:grid!important;grid-template-rows:18px 1fr!important;place-items:center!important;gap:1px!important;
  font-family:"IBM Plex Mono",ui-monospace,monospace!important;cursor:pointer!important;text-transform:none!important
}
.dk-public-utility-dock .public-chat-toggle:hover,
.dk-public-utility-dock>.dk-avatar-view-toggle:hover,
.dk-public-utility-dock>.dk-public-dock-language:hover{background:rgba(236,232,223,.035)!important;color:rgba(236,232,223,.78)!important}
.dk-public-utility-dock .public-chat-toggle b,
.dk-public-utility-dock>.dk-avatar-view-toggle b,
.dk-public-utility-dock>.dk-public-dock-language b{font-size:14px!important;font-weight:400!important;line-height:1!important}
.dk-public-utility-dock .public-chat-toggle span,
.dk-public-utility-dock>.dk-avatar-view-toggle span,
.dk-public-utility-dock>.dk-public-dock-language span{font-size:6.8px!important;text-transform:uppercase!important;letter-spacing:.08em!important;white-space:nowrap!important}

.dk-public-language-panel{
  position:fixed;left:50%;bottom:76px;transform:translate(-50%,8px);z-index:99974;
  width:min(310px,calc(100vw - 24px));display:none;border:1px solid rgba(236,232,223,.12);
  background:rgba(6,8,9,.94);box-shadow:0 22px 70px rgba(0,0,0,.44);backdrop-filter:blur(18px);
  color:rgba(236,232,223,.7);font-family:"IBM Plex Mono",ui-monospace,monospace
}
.dk-public-language-panel.open{display:block;transform:translate(-50%,0)}
.dk-public-language-bar{height:41px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:0 9px 0 12px;border-bottom:1px solid rgba(236,232,223,.075)}
.dk-public-language-bar>span{color:#d0213a;font-size:13px}.dk-public-language-bar strong{font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:500}.dk-public-language-bar button{width:25px;height:24px;border:0;background:transparent;color:rgba(236,232,223,.34);cursor:pointer}
.dk-public-language-body{padding:12px 14px 15px}.dk-public-language-body p{margin:0 0 8px;font-size:7px;color:rgba(236,232,223,.3);text-transform:uppercase;letter-spacing:.07em}.dk-public-language-body small{display:block;margin-top:7px;font-size:7px;line-height:1.45;color:rgba(236,232,223,.28)}

/* Keep PT/EN visually compact even though full language selection now lives in the dock. */
.hud.top>.top-language-switch{column-gap:0!important;gap:0!important;width:max-content!important}
.hud.top>.top-language-switch>button{padding:0!important;margin:0!important;width:auto!important}
.hud.top>.top-language-switch>.sep{padding:0!important;margin:0!important;width:auto!important}

/* V3.15.69 · modular public windows / exact focus / language visibility / private chat */
.dk-help-legacy-hidden{display:none!important}
.dk-public-window{z-index:820!important;resize:both!important;min-width:286px!important;min-height:44px!important}
.dk-public-window .dk-window-body{padding:12px 14px 18px!important}
.dk-public-window .public-chat-head{display:none!important}
.dk-public-window[hidden]{display:none!important}
.dk-public-chat-window.open{display:flex!important;flex-direction:column!important}
.dk-public-chat-window .public-chat-name{display:grid;gap:5px;margin-bottom:8px}
.dk-public-chat-window .public-chat-name span{font:500 7px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:rgba(236,232,223,.34)}
.dk-public-chat-window .public-chat-name input,.dk-public-chat-window textarea{width:100%;box-sizing:border-box;background:#050607;border:1px solid rgba(236,232,223,.09);color:#ece8df;padding:8px;font:400 8px/1.4 "IBM Plex Mono",monospace;outline:none}
.dk-public-chat-window .public-chat-messages{height:250px;overflow:auto}
.dk-public-chat-window .public-chat-compose{display:grid;grid-template-columns:1fr auto;gap:6px;border-top:1px solid rgba(236,232,223,.07);padding-top:10px}
.dk-public-chat-window .public-chat-compose button{border:1px solid rgba(236,232,223,.1);background:rgba(236,232,223,.02);color:rgba(236,232,223,.62);padding:8px 9px;font:500 8px/1 "IBM Plex Mono",monospace;text-transform:uppercase;cursor:pointer}
.dk-public-utility-dock{z-index:860!important}
.dk-public-utility-dock .public-chat-toggle{position:relative!important;inset:auto!important;transform:none!important;margin:0!important;width:58px!important;min-width:58px!important;height:44px!important;border:0!important;background:transparent!important;color:rgba(236,232,223,.42)!important;display:grid!important;grid-template-rows:18px 1fr!important;place-items:center!important;gap:1px!important;padding:0!important}
.dk-public-utility-dock .public-chat-toggle b{font-size:14px;font-weight:400;line-height:1}.dk-public-utility-dock .public-chat-toggle span{font-size:6.8px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.dk-public-utility-dock .public-chat-toggle:hover{background:rgba(236,232,223,.035)!important;color:rgba(236,232,223,.78)!important}
.dk-public-utility-dock .public-chat-toggle.active{background:rgba(208,33,58,.065)!important;color:#ece8df!important}
.dk-public-chat-shell{display:contents!important}
.dk-language-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important}
.dk-language-grid button{min-height:34px!important;border:1px solid rgba(236,232,223,.12)!important;background:#0a0c0d!important;color:#ece8df!important;font:500 8px/1.2 "IBM Plex Mono",monospace!important;letter-spacing:.02em!important;text-align:left!important;padding:8px 9px!important;cursor:pointer!important;opacity:1!important}
.dk-language-grid button:hover{border-color:rgba(208,33,58,.45)!important;background:#111417!important;color:#fff!important}
.dk-language-grid button.active{border-color:rgba(208,33,58,.62)!important;background:rgba(208,33,58,.12)!important;color:#fff!important}
.dk-orientation-intro{font:400 11px/1.65 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.84);padding:4px 1px 13px;max-width:100%}
.dk-nav-help-copy{font:400 10px/1.75 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.68);padding:3px 1px 10px;max-width:100%}
.dk-private-peers{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid rgba(236,232,223,.07)}
.dk-private-peers button{border:1px solid rgba(236,232,223,.09);background:rgba(236,232,223,.015);color:rgba(236,232,223,.48);padding:7px 8px;font:500 7px/1 "IBM Plex Mono",monospace;cursor:pointer}
.dk-private-peers button.active{border-color:rgba(208,33,58,.42);background:rgba(208,33,58,.055);color:#ece8df}
.dk-private-messages{height:235px!important}.dk-chat-message.mine{border-color:rgba(208,33,58,.16);background:rgba(208,33,58,.025)}
.dk-private-crypto-note{display:block;margin-top:7px;font:400 6.8px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.26)}
body.public-mode .dk-studio-window{max-height:calc(100vh - 82px)!important}
body.public-mode .dk-studio-dock{bottom:14px!important}
@media(max-width:720px){.dk-public-window{max-width:calc(100vw - 16px)!important;max-height:calc(100vh - 84px)!important}.dk-public-utility-dock button,.dk-public-utility-dock .public-chat-toggle{width:52px!important;min-width:52px!important}}


/* Alt focus has no visual marker. */
body.dk-alt-focus-active::after{content:none!important;display:none!important}

/* Access, inventory and stream modules. */
.dk-inventory-tabs{display:flex;gap:6px;margin:0 0 10px}
.dk-inventory-tabs .active{background:rgba(236,232,223,.14);border-color:rgba(236,232,223,.28)}
.dk-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(236,232,223,.08)}
.dk-inventory-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}.dk-inventory-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dk-inventory-row small{opacity:.48}.dk-inventory-row em{font-size:10px;font-style:normal;opacity:.42;white-space:nowrap}.dk-inventory-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.dk-inventory-deleted{grid-template-columns:minmax(0,1fr) auto minmax(170px,auto)}
.dk-stream-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;margin-top:7px}.dk-stream-row input{min-width:0;background:rgba(0,0,0,.24);border:1px solid rgba(236,232,223,.14);color:inherit;padding:7px 8px}
#dkArtworkRow{margin-top:8px}#dkArtworkNote{display:block;margin:2px 0 8px}

/* Local build identity. */
#dkBuildStamp{position:fixed;left:10px;bottom:8px;z-index:100050;font:6px/1.1 "IBM Plex Mono",monospace;letter-spacing:.12em;color:rgba(236,232,223,.22);pointer-events:none;user-select:none}


/* V3.15.97 · seleção espacial por faces */
.dk-editor-staging{display:none!important}
#dkWorkTransformMount>.dk-precision-inspector,
#dkObjectTransformMount>.dk-precision-inspector,
#dkNoteTransformMount>.dk-precision-inspector,
#dkSoundTransformMount>.dk-precision-inspector,
#dkLightTransformMount>.dk-precision-inspector{
  margin:0;padding:0;border:0;background:transparent
}
#dkPrecisionInspector[data-context-kind="sound"] [data-transform-block="rotation"],
#dkPrecisionInspector[data-context-kind="sound"] [data-transform-block="scale"],
#dkPrecisionInspector[data-context-kind="sound"] [data-gizmo-mode="rotate"],
#dkPrecisionInspector[data-context-kind="sound"] [data-gizmo-mode="scale"],
#dkPrecisionInspector[data-context-kind="light"] [data-transform-block="scale"],
#dkPrecisionInspector[data-context-kind="light"] [data-gizmo-mode="scale"]{display:none!important}
.dk-face-hit-status{
  padding:7px 8px;border:1px solid rgba(208,33,58,.18);background:rgba(208,33,58,.035);
  font:500 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;
  color:rgba(236,232,223,.52)
}
.dk-scene-row.object-link-row{
  grid-template-columns:28px minmax(0,1fr) 26px 26px 54px 26px!important
}
.dk-scene-row.object-link-row .dk-row-pick{
  width:28px;min-width:28px;display:grid;place-items:center;position:relative;margin:0;
  border-right:1px solid rgba(236,232,223,.045);cursor:pointer;color:rgba(236,232,223,.34)
}
.dk-scene-row.object-link-row .dk-row-pick input{position:absolute;opacity:0;pointer-events:none}
.dk-scene-row.object-link-row .dk-row-pick span{font:500 12px/1 "IBM Plex Mono",ui-monospace,monospace}
.dk-scene-row.object-link-row .dk-row-pick:has(input:checked){color:#d0213a;background:rgba(208,33,58,.07)}
.dk-scene-row.object-link-row>button[data-object-id]{
  min-width:0;text-align:left;display:grid;gap:2px;align-content:center;padding:7px 8px
}
.dk-scene-row.object-link-row>button[data-object-id] span,
.dk-scene-row.object-link-row>button[data-object-id] small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-scene-row.object-link-row.linked{border-color:rgba(208,33,58,.18)}
.dk-scene-row.object-link-row>button[data-object-id]{width:auto!important;min-width:0!important;place-items:initial!important}

/* V3.15.97 · seleção múltipla + chat unificado */
.dk-scene-row.object-link-row.link-picked{border-color:rgba(208,33,58,.55);background:rgba(208,33,58,.055)}
.dk-scene-row.object-link-row.link-picked>button[data-object-id] span{color:#d0213a}
.dk-chat-tabs{display:flex;gap:6px;margin:2px 0 8px}
.dk-chat-tabs button{flex:1;border:1px solid rgba(236,232,223,.14);background:transparent;color:inherit;padding:7px 10px;cursor:pointer;font:500 11px/1.2 "IBM Plex Mono",ui-monospace,monospace;text-transform:lowercase}
.dk-chat-tabs button.active{border-color:rgba(208,33,58,.55);background:rgba(208,33,58,.08);color:#d0213a}
.dk-chat-language{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:0 0 4px;font-size:11px;opacity:.9}
.dk-chat-language select{min-width:128px;background:#0c0d0f;color:#ece8df;border:1px solid rgba(236,232,223,.16);padding:6px 8px}
.dk-chat-translation-note{display:block;margin:0 0 9px;opacity:.5;font-size:10px;line-height:1.35}
.dk-chat-translation{margin-top:5px!important;padding-top:5px;border-top:1px solid rgba(208,33,58,.16);color:#ece8df;opacity:.72;font-style:italic}
.dk-chat-translation em{opacity:.55;font-size:10px}
#dkUnifiedPublicPane,#dkUnifiedPrivatePane{min-height:0;display:flex;flex-direction:column;gap:8px;flex:1}
#dkUnifiedPublicPane[hidden],#dkUnifiedPrivatePane[hidden]{display:none!important}
#dkUnifiedPrivatePeers{flex:0 0 auto}
#dkUnifiedPrivateMessages,#publicChatMessages,#dkChatMessages{min-height:120px;flex:1;overflow:auto}


/* V3.15.97 · seleção espacial sem zoom/fade + modo Select Face */
#dkFaceSelectMode.active,
#dkFaceSelectMode[aria-pressed="true"]{border-color:rgba(208,33,58,.62)!important;background:rgba(208,33,58,.10)!important;color:#d0213a!important}
body.dk-face-select-mode #r3fRoot canvas{cursor:crosshair!important}

/* V3.15.97 · edição espacial */
.dk-hidden-creation-grid{display:none!important}
.dk-list-fold{margin-top:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.dk-list-fold>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.84);font-size:12px}
.dk-list-fold>summary::-webkit-details-marker{display:none}
.dk-list-fold>summary::before{content:'›';display:inline-block;transition:transform .16s ease;color:#d0213a}
.dk-list-fold[open]>summary::before{transform:rotate(90deg)}
.object-link-row.material-picked{box-shadow:inset 2px 0 0 #ece8df}
#dkSpatialMeasureHud{position:fixed;left:50%;top:18px;transform:translateX(-50%) translateY(-8px);z-index:390;display:flex;align-items:center;gap:9px;max-width:min(760px,calc(100vw - 40px));padding:7px 11px;background:rgba(5,5,7,.84);border:1px solid rgba(208,33,58,.28);backdrop-filter:blur(8px);font:11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.01em;color:rgba(255,255,255,.82);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}
#dkSpatialMeasureHud.show{opacity:1;transform:translateX(-50%) translateY(0)}
#dkSpatialMeasureHud strong{color:#d0213a;font-weight:600;text-transform:uppercase;font-size:9px;letter-spacing:.12em}
#dkSpatialMeasureHud small{color:rgba(255,255,255,.42);font:9px/1.2 inherit;white-space:nowrap}
@media(max-width:760px){#dkSpatialMeasureHud small{display:none}#dkSpatialMeasureHud{top:10px;font-size:10px}}

.dk-fx-exact{width:84px;min-width:84px;background:rgba(8,8,9,.82);color:inherit;border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:6px 7px;font:inherit;font-variant-numeric:tabular-nums}
.dk-fx-exact:focus{outline:1px solid rgba(208,33,58,.72);border-color:rgba(208,33,58,.72)}


/* V3.15.107 · programa editorial */
.program-intro{max-width:760px;margin:0 0 30px;padding-bottom:22px;border-bottom:1px solid rgba(236,232,223,.10)}
.program-intro h2{margin:0 0 10px!important;font-size:26px!important}
.program-intro p{max-width:720px;margin:0;color:rgba(236,232,223,.58);font-size:10.5px;line-height:1.75}
.program-exhibition-list{display:grid;border-top:1px solid rgba(236,232,223,.10)}
.program-exhibition-row{display:grid;grid-template-columns:105px 1fr 18px;gap:20px;padding:18px 0;border-bottom:1px solid rgba(236,232,223,.08);cursor:pointer}
.program-exhibition-row:hover h3{color:#fff}
.program-exhibition-row time{font:400 8px/1.5 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}
.program-exhibition-row h3{margin:0 0 4px;font:400 15px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.86)}
.program-exhibition-row p{margin:0;font-size:9px;line-height:1.55;color:rgba(236,232,223,.40)}
.program-exhibition-row b{font-weight:400;color:var(--red)}
.program-back{margin:0 0 24px;padding:0;border:0;background:none;color:rgba(236,232,223,.48);cursor:pointer;font:400 9px/1.3 "IBM Plex Mono",ui-monospace,monospace}
.program-back:hover{color:#fff}.program-detail-head{max-width:800px;margin-bottom:28px}
.program-detail-head time{display:block;margin-bottom:8px;font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:var(--red)}
.program-detail-head h2{margin:0 0 9px!important}.program-detail-head p{max-width:720px;margin:0;font-size:10.5px;line-height:1.7;color:rgba(236,232,223,.54)}
.program-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:24px 0;background:rgba(236,232,223,.08);border:1px solid rgba(236,232,223,.08)}
.program-fact{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 12px;background:#080a0b;font-size:9px;line-height:1.45}
.program-fact span:first-child{color:rgba(236,232,223,.32);text-transform:uppercase;letter-spacing:.06em}.program-fact span:last-child{color:rgba(236,232,223,.72)}
.program-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}.program-gallery img{display:block;width:100%;aspect-ratio:16/11;object-fit:cover;border:1px solid rgba(236,232,223,.08)}
.program-video{width:100%;max-width:860px;margin-top:24px;background:#000;border:1px solid rgba(236,232,223,.10)}
.program-empty{max-width:700px;padding:24px 0;border-top:1px solid rgba(236,232,223,.10);font-size:10px;line-height:1.7;color:rgba(236,232,223,.44)}
.program-empty a{color:rgba(236,232,223,.8);text-decoration:none;border-bottom:1px solid rgba(208,33,58,.35)}
.program-publication-list,.program-text-list{display:grid;border-top:1px solid rgba(236,232,223,.10)}
.program-publication-row,.program-text-row{display:grid;grid-template-columns:110px 1fr 18px;gap:18px;padding:16px 0;border-bottom:1px solid rgba(236,232,223,.08);text-decoration:none;color:inherit;cursor:pointer}
.program-publication-row small,.program-text-row small{font-size:8px;color:rgba(236,232,223,.30)}
.program-publication-row h3,.program-text-row h3{margin:0 0 4px;font:400 13px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.80)}
.program-publication-row p,.program-text-row p{margin:0;font-size:9px;line-height:1.55;color:rgba(236,232,223,.40)}
@media(max-width:820px){.program-facts{grid-template-columns:1fr}.program-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.program-exhibition-row,.program-publication-row,.program-text-row{grid-template-columns:75px 1fr 14px;gap:10px}}
@media(max-width:560px){.program-gallery{grid-template-columns:1fr}.program-fact{grid-template-columns:95px 1fr}}

/* V3.15.107 · programa CMS */
.program-work-gallery{margin-top:8px}
.program-gallery-button{display:block;padding:0;border:0;background:none;cursor:pointer;text-align:inherit}
.program-gallery-button img{transition:opacity .18s ease,transform .18s ease}
.program-gallery-button:hover img{opacity:.84;transform:scale(.997)}
.program-rich-body{max-width:820px;margin-top:30px;padding-top:24px;border-top:1px solid rgba(236,232,223,.10);font-size:11px;line-height:1.8;color:rgba(236,232,223,.72)}
.program-rich-body h1,.program-rich-body h2,.program-rich-body h3{font-family:"IBM Plex Mono",ui-monospace,monospace;font-weight:400;color:rgba(236,232,223,.9)}
.program-rich-body h2{margin:28px 0 10px;font-size:17px}.program-rich-body p{max-width:760px;margin:0 0 15px}.program-rich-body a{color:#ece8df;text-decoration-color:rgba(208,33,58,.55)}
.program-purchase{display:inline-block;margin-top:28px;padding:10px 14px;border:1px solid rgba(208,33,58,.55);color:#ece8df;text-decoration:none;font:9px/1.2 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.program-purchase:hover{background:rgba(208,33,58,.10)}
.program-credit-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:center;margin:24px 0 34px}
.program-credit-logo{min-height:92px;display:flex;align-items:center;justify-content:center;padding:14px;border:1px solid rgba(236,232,223,.09);background:rgba(255,255,255,.015)}
.program-credit-logo img{display:block;max-width:100%;max-height:72px;object-fit:contain;filter:none}
.program-credits-text{margin-top:18px}
.program-credit-editor-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.program-logo-slot{min-height:150px;display:flex;align-items:center;justify-content:center;border:1px dashed rgba(236,232,223,.16);color:rgba(236,232,223,.28);font:8px/1.3 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.program-media-panel button:disabled{opacity:.35;cursor:not-allowed}
#program .archive-cms-form{max-width:920px}
#program .archive-cms-rich{min-height:180px}
#program .archive-cms-panel{margin-top:30px}
@media(max-width:900px){.program-credit-logos,.program-credit-editor-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){.program-credit-logos,.program-credit-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V3.15.107 · correção Programa */
#program .program-work-gallery{margin-top:18px}
#program .program-intro + .archive-work-gallery{margin-top:18px}
#program .archive-project-head + .archive-carousel{margin-top:18px}
#program .program-rich-body + .archive-cms-panel{margin-top:28px}


/* V3.15.107 · Obras / Edições por artista */
.program-artist-index{margin-top:18px;border-top:1px solid rgba(236,232,223,.10)}
.program-artist-row{width:100%;display:grid;grid-template-columns:1fr auto 18px;gap:18px;align-items:center;padding:15px 0;border:0;border-bottom:1px solid rgba(236,232,223,.10);background:none;color:#ece8df;text-align:left;cursor:pointer;font:400 12px/1.4 "IBM Plex Mono",ui-monospace,monospace}
.program-artist-row small{color:rgba(236,232,223,.42);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.program-artist-row b{font-weight:400;color:var(--red)}.program-artist-row:hover span{color:#fff}
.program-edition-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px;align-items:start;margin-top:18px}.program-edition-hero{display:block;padding:0;border:0;background:none;cursor:zoom-in}.program-edition-hero img{display:block;width:100%;max-height:68vh;object-fit:contain;background:#080909;border:1px solid rgba(236,232,223,.08)}
.program-edition-copy{position:sticky;top:0}.program-delivery-note{max-width:420px;margin:10px 0 0;font:400 8px/1.6 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.40)}.program-purchase-disabled{opacity:.55;cursor:not-allowed}.program-studio-artist{margin:24px 0 34px}.program-studio-artist-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:9px;border-bottom:1px solid rgba(236,232,223,.10)}.program-studio-artist-head h3{margin:0;font-size:13px;font-weight:400}.program-studio-artist-head small{font-size:8px;color:rgba(236,232,223,.38);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:860px){.program-edition-detail{grid-template-columns:1fr}.program-edition-copy{position:static}}


/* V3.15.109 · chat vivo · seleção · parcerias */
.main-menu button.partners-menu{margin-top:0;color:rgba(236,232,223,.52)}
.main-menu button.partners-menu:hover{color:var(--ink)}

@keyframes dk-chat-unread-pulse{0%,100%{opacity:.35;transform:scale(.82)}45%{opacity:1;transform:scale(1.18)}}
.dk-public-utility-dock .public-chat-toggle.has-unread::after,
.dk-studio-dock button[data-dock-target="dkChatWindow"].has-unread::after{
  content:"";position:absolute;right:8px;top:6px;width:6px;height:6px;border-radius:50%;
  background:#d0213a;box-shadow:0 0 0 2px rgba(208,33,58,.12),0 0 9px rgba(208,33,58,.72);
  animation:dk-chat-unread-pulse 1.15s ease-in-out infinite;pointer-events:none
}
.dk-studio-dock button[data-dock-target="dkChatWindow"]{position:relative}
.dk-public-window.has-unread .dk-window-bar::after,
.dk-studio-window.has-unread .dk-window-bar::after{
  content:"";width:5px;height:5px;border-radius:50%;background:#d0213a;margin-left:7px;
  box-shadow:0 0 7px rgba(208,33,58,.7);animation:dk-chat-unread-pulse 1.15s ease-in-out infinite
}
.dk-chat-messages{scroll-behavior:smooth}
.dk-chat-compose textarea{overflow-y:auto}

.artist-selection-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:820px;margin-top:28px}
.artist-selection-form label{display:grid;gap:7px}
.artist-selection-form label>span,.partner-editor-grid label>span{
  font:500 8px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase;color:rgba(236,232,223,.42)
}
.artist-selection-form input,.artist-selection-form textarea,
.partner-editor-grid input,.partner-editor-grid select,.partner-editor-grid textarea{
  width:100%;box-sizing:border-box;border:1px solid rgba(236,232,223,.13);background:rgba(255,255,255,.018);
  color:rgba(236,232,223,.88);padding:11px 12px;outline:none;font:400 11px/1.55 "IBM Plex Mono",ui-monospace,monospace
}
.artist-selection-form textarea,.partner-editor-grid textarea{resize:vertical}
.artist-selection-form input:focus,.artist-selection-form textarea:focus,
.partner-editor-grid input:focus,.partner-editor-grid select:focus,.partner-editor-grid textarea:focus{border-color:rgba(208,33,58,.55)}
.artist-selection-proposal,.artist-selection-images,.artist-selection-privacy,.artist-selection-form>button,.artist-selection-form>.guestbook-status{grid-column:1/-1}
.artist-selection-images input{padding:8px}
.artist-selection-images small,.artist-selection-privacy{margin:0;color:rgba(236,232,223,.38);font:400 8px/1.6 "IBM Plex Mono",ui-monospace,monospace}
.artist-selection-form>button,.partners-admin-tools button,.partner-editor-actions button,.partner-logo-editor button,.artist-submission-tools button{
  width:max-content;border:1px solid rgba(208,33,58,.48);background:rgba(208,33,58,.08);color:#fff;padding:10px 13px;cursor:pointer;
  font:500 9px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:lowercase
}
.artist-selection-form>button:disabled{opacity:.42;cursor:wait}

.artist-submission-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 8px;padding-bottom:10px;border-bottom:1px solid rgba(236,232,223,.10)}
.artist-submission-tools span{font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}
.artist-submission-inbox{display:grid;max-width:980px}
.artist-submission-card{display:grid;grid-template-columns:190px 1fr;gap:22px;padding:20px 4px;border-bottom:1px solid rgba(236,232,223,.09)}
.artist-submission-card.unread{border-left:2px solid rgba(208,33,58,.72);padding-left:12px}
.artist-submission-meta{display:grid;align-content:start;gap:6px;font:400 8px/1.5 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.36)}
.artist-submission-meta strong{font-size:11px;font-weight:500;color:rgba(236,232,223,.84)}
.artist-submission-meta a{color:rgba(236,232,223,.62);text-decoration:none;overflow-wrap:anywhere}.artist-submission-meta b{color:#d0213a;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.artist-submission-body>p{margin:0;white-space:pre-wrap;font:400 11px/1.7 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.72)}
.artist-submission-media{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;max-width:680px}
.artist-submission-media button{padding:0;border:1px solid rgba(236,232,223,.09);background:#070809;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}
.artist-submission-media img{width:100%;height:100%;display:block;object-fit:cover}

.partners-public-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch;margin-top:28px;max-width:1080px}
.partner-public-card{grid-column:span 2;min-height:145px;display:grid;grid-template-columns:minmax(90px,140px) 1fr;gap:16px;align-items:center;padding:18px;border:1px solid rgba(236,232,223,.09);background:rgba(255,255,255,.012)}
.partner-public-card.partner-tier-1{grid-column:span 2;opacity:.78}.partner-public-card.partner-tier-2{grid-column:span 2}.partner-public-card.partner-tier-3{grid-column:span 3;min-height:165px}.partner-public-card.partner-tier-4{grid-column:span 3;min-height:190px;border-color:rgba(236,232,223,.14)}.partner-public-card.partner-tier-5{grid-column:1/-1;min-height:225px;border-color:rgba(208,33,58,.25)}
.partner-public-logo{display:flex;align-items:center;justify-content:center;min-height:90px}.partner-public-logo img{display:block;max-width:100%;max-height:90px;object-fit:contain}.partner-tier-4 .partner-public-logo img{max-height:115px}.partner-tier-5 .partner-public-logo img{max-height:145px}
.partner-public-copy small{display:block;margin-bottom:6px;color:var(--red);font:400 7px/1.2 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.partner-public-copy h3{margin:0 0 8px;font:400 13px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.86)}.partner-tier-5 .partner-public-copy h3{font-size:18px}.partner-tier-4 .partner-public-copy h3{font-size:15px}.partner-public-copy p{margin:0;font:400 9px/1.65 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.48)}

.partners-admin-tools{display:flex;gap:8px;align-items:center;margin:22px 0 12px}.partners-admin-tools button+button{border-color:rgba(236,232,223,.14);background:transparent;color:rgba(236,232,223,.62)}
.partners-admin-list{display:grid;max-width:900px;border-top:1px solid rgba(236,232,223,.09)}
.partner-admin-row{display:grid;grid-template-columns:72px 1fr 34px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(236,232,223,.08)}
.partner-admin-logo{width:70px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(236,232,223,.08);background:rgba(255,255,255,.015);color:rgba(236,232,223,.28);font:7px/1 monospace}.partner-admin-logo img{max-width:90%;max-height:44px;object-fit:contain}
.partner-admin-row>[data-partner-edit]{display:grid;gap:4px;text-align:left;border:0;background:transparent;color:inherit;cursor:pointer}.partner-admin-row>[data-partner-edit] strong{font:500 10px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.8)}.partner-admin-row>[data-partner-edit] small{font:400 7.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}.partner-admin-row>[data-partner-delete]{border:0;background:transparent;color:rgba(236,232,223,.35);cursor:pointer;font-size:15px}
.partners-admin-editor{max-width:920px;margin:24px 0;padding:18px;border:1px solid rgba(236,232,223,.10);background:rgba(255,255,255,.01)}
.partner-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.partner-editor-head strong{font:500 11px/1.3 "IBM Plex Mono",ui-monospace,monospace}.partner-editor-head button{border:0;background:transparent;color:rgba(236,232,223,.5);cursor:pointer;font-size:16px}
.partner-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.partner-editor-grid label{display:grid;gap:6px}.partner-editor-grid .partner-wide{grid-column:1/-1}
.partner-logo-editor{display:flex;align-items:center;gap:14px;margin:18px 0}.partner-logo-editor img,.partner-logo-empty{width:150px;height:90px;object-fit:contain;border:1px solid rgba(236,232,223,.10);background:rgba(255,255,255,.015)}.partner-logo-empty{display:flex;align-items:center;justify-content:center;color:rgba(236,232,223,.28);font:8px/1 monospace}
.partner-editor-actions{margin-top:14px}

@media(max-width:880px){.partners-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-public-card,.partner-public-card.partner-tier-1,.partner-public-card.partner-tier-2,.partner-public-card.partner-tier-3,.partner-public-card.partner-tier-4{grid-column:span 1}.partner-public-card.partner-tier-5{grid-column:1/-1}.artist-submission-card{grid-template-columns:150px 1fr}}
@media(max-width:620px){.artist-selection-form,.partner-editor-grid{grid-template-columns:1fr}.artist-selection-form>*{grid-column:1}.artist-submission-card{grid-template-columns:1fr}.artist-submission-media{grid-template-columns:repeat(2,minmax(0,1fr))}.partners-public-grid{grid-template-columns:1fr}.partner-public-card,.partner-public-card.partner-tier-1,.partner-public-card.partner-tier-2,.partner-public-card.partner-tier-3,.partner-public-card.partner-tier-4,.partner-public-card.partner-tier-5{grid-column:1;grid-template-columns:1fr;min-height:0}.partner-public-logo{justify-content:flex-start}.partner-editor-grid .partner-wide{grid-column:1}}

/* V3.15.111 · abertura editorial editável */
.auto-translation-note{
  display:block;margin-top:18px;padding-top:10px;border-top:1px solid rgba(236,232,223,.08);
  color:rgba(236,232,223,.38);font:8px/1.55 "IBM Plex Mono",monospace;letter-spacing:.045em;
}
.reader-translation-note{margin:8px 0 22px;padding-top:0;border-top:0;max-width:760px}
.opening-editorial-admin{margin:0 0 20px;border-top:1px solid rgba(236,232,223,.09);padding-top:12px}
.opening-editorial-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.opening-editorial-toolbar button,.opening-writing-actions button,.opening-editorial-actions button{
  appearance:none;border:1px solid rgba(236,232,223,.18);background:rgba(236,232,223,.035);color:rgba(236,232,223,.76);
  padding:7px 10px;font:8px/1.2 "IBM Plex Mono",monospace;letter-spacing:.05em;cursor:pointer
}
.opening-editorial-toolbar button:hover,.opening-writing-actions button:hover,.opening-editorial-actions button:hover{border-color:rgba(208,33,58,.55);color:#fff}
.opening-editorial-toolbar small{font:8px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.32)}
.opening-editorial-form{margin-top:14px;padding:14px;border:1px solid rgba(236,232,223,.11);background:rgba(3,4,5,.55);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.opening-editorial-form-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.opening-editorial-form-head strong{font:11px/1.35 "IBM Plex Mono",monospace;font-weight:400;color:rgba(236,232,223,.9)}
.opening-editorial-form-head small{max-width:520px;text-align:right;font:8px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.35)}
.opening-editorial-form label{display:flex;flex-direction:column;gap:5px}
.opening-editorial-form label.wide{grid-column:1/-1}
.opening-editorial-form label>span{font:8px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.42)}
.opening-editorial-form input,.opening-editorial-form select,.opening-editorial-form textarea{
  width:100%;box-sizing:border-box;border:1px solid rgba(236,232,223,.13);background:rgba(0,0,0,.22);color:#ece8df;padding:9px 10px;font:10px/1.55 "IBM Plex Mono",monospace;resize:vertical
}
.opening-editorial-form label small{font:8px/1.45 "IBM Plex Mono",monospace;color:rgba(236,232,223,.3)}
.opening-editorial-check{flex-direction:row!important;align-items:center!important;align-self:end}.opening-editorial-check input{width:auto!important}
.opening-editorial-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.opening-editorial-actions .danger{margin-left:auto;border-color:rgba(208,33,58,.35);color:rgba(255,160,170,.8)}
.opening-editorial-status{grid-column:1/-1;min-height:12px;font:8px/1.4 "IBM Plex Mono",monospace;color:rgba(236,232,223,.4)}
.opening-writing-actions{display:flex;gap:5px;justify-content:flex-end;margin-top:10px}.opening-writing-actions button{padding:5px 7px}
.opening-editorial-draft{display:block;margin-top:7px;color:#d0213a;font:8px/1.2 "IBM Plex Mono",monospace;text-transform:uppercase}
@media(max-width:760px){.opening-editorial-form{grid-template-columns:1fr}.opening-editorial-form-head{flex-direction:column}.opening-editorial-form-head small{text-align:left}.opening-editorial-form label.wide{grid-column:1}.opening-editorial-actions{grid-column:1}}

/* V3.15.114 · peso de assets 3D */
.dk-object-asset-weight{margin-top:10px;padding:9px 10px;border:1px solid rgba(236,232,223,.16);border-radius:8px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:baseline}
.dk-object-asset-weight[hidden]{display:none}
.dk-object-asset-weight span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.58}
.dk-object-asset-weight strong{font-size:12px;font-weight:600}
.dk-object-asset-weight small{grid-column:1/-1;opacity:.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* V3.15.125 · Programa institucional */
.program-section-head{max-width:820px;margin:0 0 34px;padding-bottom:24px;border-bottom:1px solid rgba(236,232,223,.10)}
.program-section-head>span,.program-kicker,.program-institutional-block>span,.program-commerce-note>span{display:block;margin-bottom:9px;font:400 8px/1.35 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(236,232,223,.32)}
.program-section-head h2{margin:0 0 12px!important}.program-section-head p{max-width:740px;margin:0;font-size:10.5px;line-height:1.75;color:rgba(236,232,223,.58)}
.program-cycle-group{max-width:900px;margin:0 0 36px}.program-cycle-line{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:18px 0;border-top:1px solid rgba(236,232,223,.10)}.program-cycle-line:last-of-type{border-bottom:1px solid rgba(236,232,223,.10)}
.program-cycle-line.is-current{border-top-color:rgba(208,33,58,.55)}.program-cycle-id{display:flex;flex-direction:column;gap:7px}.program-cycle-id span{font:400 10px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.70)}.program-cycle-id b{font:400 7.5px/1.35 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.10em;color:var(--red)}
.program-cycle-main time{font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.35)}.program-cycle-main h3{margin:6px 0 4px;font:400 16px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.88)}.program-cycle-main p{margin:0 0 9px;font-size:9px;color:rgba(236,232,223,.46)}.program-cycle-main button{padding:0;border:0;background:none;color:rgba(236,232,223,.66);font:400 8.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}.program-cycle-main button:hover{color:#fff}
.program-between{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:9px 0 15px;color:rgba(236,232,223,.28);font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace}.program-between span{text-transform:uppercase;letter-spacing:.08em}
.program-status-badge{display:inline-block;margin:0 0 10px;padding:4px 7px;border:1px solid rgba(208,33,58,.45);color:var(--red);font:400 7.5px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.10em;text-transform:uppercase}
.program-related{max-width:820px;margin-top:34px;padding-top:20px;border-top:1px solid rgba(236,232,223,.10)}.program-related>h3{margin:0 0 12px;font:400 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.64)}
.program-media-link{max-width:820px;padding:10px 0;border-top:1px solid rgba(236,232,223,.08)}.program-media-link a{color:rgba(236,232,223,.76);text-decoration:none;font:400 9px/1.4 "IBM Plex Mono",ui-monospace,monospace}.program-media-link a:hover{color:#fff}
.program-institutional-block{max-width:760px;margin:26px 0}.program-institutional-block p,.program-commerce-note p{margin:0;white-space:pre-line;font-size:10.5px;line-height:1.75;color:rgba(236,232,223,.62)}
.program-artist-index{max-width:820px;border-top:1px solid rgba(236,232,223,.10)}.program-artist-index>button,.program-artist-admin-list>button,.program-cycle-editor-list>button{width:100%;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:baseline;padding:15px 0;border:0;border-bottom:1px solid rgba(236,232,223,.09);background:none;color:inherit;text-align:left;cursor:pointer}.program-artist-index>button span,.program-artist-admin-list>button span,.program-cycle-editor-list>button span{font:400 13px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.82)}.program-artist-index>button small,.program-artist-admin-list>button small,.program-cycle-editor-list>button small{font-size:8px;color:rgba(236,232,223,.34)}.program-artist-index>button:hover span,.program-artist-admin-list>button:hover span,.program-cycle-editor-list>button:hover span{color:#fff}
.program-artist-profile{display:grid;grid-template-columns:150px minmax(0,600px);gap:24px;align-items:start;margin:0 0 30px}.program-artist-profile img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(.15)}.program-artist-profile h2{margin:0 0 7px!important}.program-artist-profile p{margin:12px 0 0;font-size:10px;line-height:1.7;color:rgba(236,232,223,.56)}.program-artist-profile small{font-size:8px;color:rgba(236,232,223,.32)}.program-artist-links{display:flex;gap:14px;margin-top:12px}.program-artist-links a{font-size:8px;color:rgba(236,232,223,.62);text-decoration:none}.program-artist-links a:hover{color:#fff}
.program-edition-hero video,.program-gallery-video video{display:block;width:100%;max-height:68vh;object-fit:contain;background:#000;border:1px solid rgba(236,232,223,.08)}.program-gallery-video video{aspect-ratio:16/11;object-fit:cover}.program-purchase-state{display:flex;flex-direction:column;gap:5px;margin-top:26px;padding-top:14px;border-top:1px solid rgba(236,232,223,.10);font:400 8.5px/1.4 "IBM Plex Mono",ui-monospace,monospace}.program-purchase-state strong{font-weight:400;color:rgba(236,232,223,.85)}.program-purchase-state span{color:rgba(236,232,223,.38)}
.program-commerce-note{margin-top:20px}.program-commerce-note+ .program-commerce-note{margin-top:14px}.program-protected-panel{border-color:rgba(208,33,58,.22)!important}.program-protected-panel .pe-note{max-width:720px}
.program-artist-admin-list,.program-cycle-editor-list{margin:22px 0 30px;border-top:1px solid rgba(236,232,223,.10)}.program-cycle-editor-list>button{grid-template-columns:110px 1fr auto}.program-cycle-editor-list>button strong{font:400 10px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.62)}.program-artist-editor-image{display:block;max-width:180px;max-height:180px;object-fit:cover;margin-top:10px;border:1px solid rgba(236,232,223,.10)}
.archive-cms-form label small{display:block;margin-top:5px;font-size:7.5px;line-height:1.45;color:rgba(236,232,223,.30)}.archive-cms-form select[multiple]{min-height:74px;background:#090b0c;color:#ece8df}.archive-cms-media-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#000}
@media(max-width:720px){.program-cycle-line,.program-between{grid-template-columns:96px 1fr;gap:14px}.program-artist-profile{grid-template-columns:90px 1fr;gap:16px}.program-cycle-editor-list>button{grid-template-columns:80px 1fr}.program-cycle-editor-list>button small{grid-column:2}.program-section-head{margin-bottom:26px}}
@media(max-width:520px){.program-cycle-line,.program-between{grid-template-columns:1fr;gap:7px}.program-between{padding-left:0}.program-artist-profile{grid-template-columns:1fr}.program-artist-profile img{max-width:120px}.program-cycle-editor-list>button{grid-template-columns:1fr}.program-cycle-editor-list>button small{grid-column:auto}}


/* V3.15.125 · entrada fluida + escadas navegáveis */
.dk-presence-forms button{touch-action:manipulation;will-change:border-color,background,color}
.dk-presence-forms button:active{background:rgba(236,232,223,.065)}
.dk-stair-controls{margin:8px 0 10px;padding:9px 0;border-top:1px solid rgba(236,232,223,.08);border-bottom:1px solid rgba(236,232,223,.08)}
.dk-stair-controls>small{display:block;margin-top:7px;font-size:8px;line-height:1.55;color:rgba(236,232,223,.38)}


/* V3.15.139 · dados privados e nome de presença */
.dk-presence-entry-name{margin:15px 0 0}.dk-presence-entry-name span{display:block}
.dk-data-periods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:12px 0 10px}.dk-data-periods button{border:1px solid rgba(236,232,223,.12);background:transparent;color:rgba(236,232,223,.48);font:8px/1.2 "IBM Plex Mono",monospace;padding:7px 4px;cursor:pointer}.dk-data-periods button.active{border-color:rgba(208,33,58,.55);color:rgba(236,232,223,.86);background:rgba(208,33,58,.08)}
.dk-data-period-note{font:7px/1.5 "IBM Plex Mono",monospace;color:rgba(236,232,223,.28);margin-bottom:10px}.dk-data-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 16px}.dk-data-summary>div{border-top:1px solid rgba(236,232,223,.12);padding-top:8px;min-width:0}.dk-data-summary strong{display:block;font:300 24px/1 "IBM Plex Mono",monospace;color:rgba(236,232,223,.9)}.dk-data-summary span{display:block;margin-top:5px;font:7px/1.35 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;color:rgba(236,232,223,.48)}.dk-data-summary small{display:block;margin-top:5px;font:7px/1.3 "IBM Plex Mono",monospace;color:rgba(236,232,223,.26)}
.dk-data-section{margin-top:14px;border-top:1px solid rgba(236,232,223,.1);padding-top:9px}.dk-data-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.dk-data-section>header strong{font:8px/1.2 "IBM Plex Mono",monospace;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:rgba(236,232,223,.52)}.dk-data-section>header button{border:1px solid rgba(236,232,223,.12);background:transparent;color:rgba(236,232,223,.5);font:7px/1 "IBM Plex Mono",monospace;padding:5px 7px;cursor:pointer}.dk-data-country-list{max-height:190px;overflow:auto}.dk-data-country-row{display:grid;grid-template-columns:minmax(0,1.6fr) .75fr .75fr;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid rgba(236,232,223,.055);font:8px/1.3 "IBM Plex Mono",monospace;color:rgba(236,232,223,.48)}.dk-data-country-row>span:first-child{display:flex;gap:7px;align-items:baseline;min-width:0}.dk-data-country-row b{font-weight:400;color:rgba(236,232,223,.76);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dk-data-country-row small{font-size:7px;color:rgba(236,232,223,.24)}
.dk-data-trend{max-height:145px;overflow:auto}.dk-data-trend-row{display:grid;grid-template-columns:88px 1fr 28px;gap:8px;align-items:center;height:18px}.dk-data-trend-row small,.dk-data-trend-row span{font:7px/1 "IBM Plex Mono",monospace;color:rgba(236,232,223,.36)}.dk-data-trend-row i{height:3px;background:rgba(236,232,223,.055);display:block}.dk-data-trend-row i b{display:block;height:100%;background:rgba(208,33,58,.68)}.dk-data-empty,.dk-data-status{font:8px/1.6 "IBM Plex Mono",monospace;color:rgba(236,232,223,.34);padding:12px 0}.dk-data-privacy{margin-top:14px;font:7px/1.55 "IBM Plex Mono",monospace;color:rgba(236,232,223,.22)}
@media(max-width:680px){.dk-data-summary{grid-template-columns:1fr}.dk-data-periods{grid-template-columns:repeat(3,1fr)}.dk-data-country-row{grid-template-columns:minmax(0,1fr) .8fr .8fr}}

/* V3.15.142 · etiqueta da obra viva */
/* V3.15.146 · orientações: introdução institucional destacada */
/* V3.15.144 · teclado virtual: setas em cinza */
.current-exhibition-micro{
  position:fixed;left:50%;top:50%;z-index:96;
  width:min(328px,calc(100vw - 42px));box-sizing:border-box;
  padding:21px 23px 22px;margin:0;
  display:grid;gap:3px;
  background:rgba(3,3,3,.97);border:1px solid rgba(236,232,223,.18);
  box-shadow:0 18px 52px rgba(0,0,0,.34);
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:9.7px;line-height:1.55;letter-spacing:.025em;color:rgba(236,232,223,.58);
  text-align:left;text-transform:none;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translate(-50%,-48%) scale(.985);
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}
.current-exhibition-micro.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition-delay:0s}
body.edit-mode .current-exhibition-micro.open{cursor:pointer}
.current-exhibition-micro strong{display:block;margin-bottom:3px;font-size:10.2px;font-weight:600;letter-spacing:.065em;color:rgba(236,232,223,.92);text-transform:uppercase}
.current-exhibition-micro span{display:block}
@media (max-width:700px){.current-exhibition-micro{width:min(300px,calc(100vw - 30px));padding:18px 19px;font-size:8.7px}.current-exhibition-micro strong{font-size:9px}}

/* V3.15.139 · perfis institucionais de colaboradores */
.program-collaborations{max-width:820px;margin:26px 0 32px;border-top:1px solid rgba(236,232,223,.10)}
.program-collaboration-block{padding:15px 0 16px;border-bottom:1px solid rgba(236,232,223,.08);display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.program-collaboration-block>span{font:400 7.5px/1.35 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.11em;color:var(--red);text-transform:uppercase}
.program-collaborator-name{appearance:none;padding:0;border:0;background:none;color:rgba(236,232,223,.90);font:400 13px/1.35 "IBM Plex Mono",ui-monospace,monospace;text-align:left;cursor:pointer}
.program-collaborator-name:hover{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.program-collaboration-block strong{font:400 13px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.90)}
.program-collaboration-block p{max-width:680px;margin:2px 0 0;font:400 9px/1.6 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.50)}
.program-collaboration-block.is-manual>span{color:rgba(236,232,223,.32)}
.program-collaborator-profile{display:grid;grid-template-columns:150px minmax(0,620px);gap:24px;align-items:start;max-width:820px;margin:0 0 34px}
.program-collaborator-profile>img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(.15)}
.program-collaborator-profile.no-image{grid-template-columns:minmax(0,760px);max-width:820px}
.program-collaborator-profile.no-image>div{min-width:0;width:100%;max-width:760px}
.program-collaborator-profile h2{margin:0 0 8px!important}
.program-collaborator-profile small{display:block;margin:2px 0;font:400 8px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}
.program-collaborator-profile p{max-width:620px;margin:14px 0 0;font-size:10px;line-height:1.75;color:rgba(236,232,223,.60)}
.program-collaborator-fullbio{max-width:620px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(236,232,223,.08);font-size:9.5px;line-height:1.8;color:rgba(236,232,223,.52)}
.program-participations{max-width:820px;margin-top:18px;padding-top:2px}
.program-participation-row{padding:15px 0 17px;border-top:1px solid rgba(236,232,223,.09)}
.program-participation-row:last-child{border-bottom:1px solid rgba(236,232,223,.09)}
.program-participation-row small{display:block;margin-bottom:6px;font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}
.program-participation-row strong{display:block;font:400 10px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.78)}
.program-participation-row p{max-width:680px;margin:5px 0 8px;font-size:9px;line-height:1.6;color:rgba(236,232,223,.48)}
.program-participation-row button{appearance:none;padding:0;border:0;background:none;color:rgba(236,232,223,.50);font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}
.program-participation-row button:hover{color:#fff}
.program-collaboration-admin{margin-top:24px}
.program-collaboration-admin .pe-note{max-width:760px;margin-bottom:15px}
.program-participation-edit{margin:0;padding:15px 0 18px;border-top:1px solid rgba(236,232,223,.10)}
.program-participation-edit:last-child{border-bottom:1px solid rgba(236,232,223,.10)}
.program-participation-edit>label,.program-participation-edit .archive-cms-two{margin-bottom:10px}
.program-participation-edit-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:8px}
.program-participation-edit-actions>button{appearance:none;border:1px solid rgba(208,33,58,.28);background:transparent;color:rgba(236,232,223,.48);padding:6px 8px;font:400 7.5px/1.2 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}
.program-participation-edit-actions>button:hover{border-color:rgba(208,33,58,.60);color:#fff}
@media(max-width:720px){.program-collaborator-profile{grid-template-columns:90px 1fr;gap:16px}}
@media(max-width:520px){.program-collaborator-profile{grid-template-columns:1fr}.program-collaborator-profile>img{max-width:120px}.program-participation-edit-actions{align-items:flex-start;flex-direction:column}}

/* V3.15.139 · chão protegido, ladder e chuva */
.dk-floor-protected-note{display:block;margin:5px 0 10px;font-size:9px;line-height:1.45;opacity:.52}
.dk-floor-module-panel .dk-name-field{margin:8px 0}
.dk-floor-module-panel .dk-inline-actions{margin:6px 0 10px}
.dk-floor-module-panel #dkFloorOpacity{width:100%}


/* V3.15.139 · floor texture fit */
.dk-floor-texture-module{margin-top:12px;padding-top:10px;border-top:1px solid rgba(236,232,223,.09)}
.dk-floor-texture-module>strong{display:block;margin-bottom:8px;font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.dk-floor-texture-module>.pe-file{width:100%;margin-bottom:8px}
.dk-floor-texture-module small{display:block;margin-top:7px;opacity:.56;overflow-wrap:anywhere}


/* V3.15.141 · presenças de código + D-pad fixo no canto inferior direito */
.dk-entry-code-field{
  position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.dk-entry-code-field>span{
  position:absolute;left:var(--x);top:var(--y);max-width:min(28vw,360px);white-space:normal;
  font-size:var(--size);font-weight:300;line-height:1.35;letter-spacing:.025em;
  color:rgba(236,232,223,.92);opacity:var(--low);transform:translate(-50%,-50%);
  animation:dkEntryCodePresence var(--dur) ease-in-out var(--delay) infinite;
  will-change:opacity;mix-blend-mode:screen;text-align:left;
}
@keyframes dkEntryCodePresence{
  0%,100%{opacity:var(--low)}
  18%{opacity:var(--mid)}
  43%{opacity:var(--peak)}
  64%{opacity:var(--low)}
  82%{opacity:var(--mid)}
}
#runtimeBoot>.dk-entry-code-field{z-index:0}
#runtimeBoot>.dk-boot-center{position:relative;z-index:2}
.dk-presence-gate>.dk-entry-code-field{z-index:0}
.dk-presence-gate>.dk-presence-card{position:relative;z-index:2}

.dk-virtual-arrows{display:none}
body:has(#runtimeBoot)>.dk-virtual-arrows,body:has(#dkPresenceGate)>.dk-virtual-arrows{display:none!important}
body>.dk-virtual-arrows{
  position:fixed;right:18px;bottom:18px;left:auto;z-index:82;
  display:grid!important;grid-template-columns:repeat(3,26px)!important;grid-template-rows:repeat(2,26px)!important;gap:4px!important;
  width:86px!important;min-width:86px!important;height:56px!important;
  margin:0!important;padding:0!important;opacity:.78;pointer-events:auto;touch-action:none;
  user-select:none;-webkit-user-select:none;transform:none!important;overflow:visible!important;
}
body>.dk-virtual-arrows:hover,
body>.dk-virtual-arrows:focus-within{opacity:1}
body>.dk-virtual-arrows>button{
  position:relative!important;inset:auto!important;transform:none!important;box-sizing:border-box!important;
  width:26px!important;min-width:26px!important;max-width:26px!important;height:26px!important;min-height:26px!important;max-height:26px!important;
  display:grid!important;grid-template-rows:none!important;place-items:center!important;gap:0!important;
  margin:0!important;padding:0!important;border:1px solid rgba(236,232,223,.14)!important;
  background:#050607!important;color:rgba(236,232,223,.58)!important;
  font:400 13px/1 "IBM Plex Mono",ui-monospace,monospace!important;cursor:pointer!important;
  touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:none!important;border-radius:0!important;
  transition:border-color .08s ease,background .08s ease,color .08s ease!important;
}
body>.dk-virtual-arrows>button:hover{
  border-color:rgba(236,232,223,.34)!important;color:rgba(236,232,223,.76)!important;background:#08090a!important;
}
body>.dk-virtual-arrows>button.is-active,
body>.dk-virtual-arrows>button:active{
  background:#08090a!important;border-color:rgba(236,232,223,.46)!important;color:rgba(236,232,223,.90)!important;
}
body>.dk-virtual-arrows>.dk-va-up{grid-column:2!important;grid-row:1!important}
body>.dk-virtual-arrows>.dk-va-left{grid-column:1!important;grid-row:2!important}
body>.dk-virtual-arrows>.dk-va-down{grid-column:2!important;grid-row:2!important}
body>.dk-virtual-arrows>.dk-va-right{grid-column:3!important;grid-row:2!important}
@media(max-width:760px),(pointer:coarse){
  .dk-entry-code-field>span{max-width:min(42vw,260px);font-size:clamp(5.6px,var(--size),7.8px)}
  body>.dk-virtual-arrows{right:12px;bottom:12px;opacity:.88}
}
@media(prefers-reduced-motion:reduce){
  .dk-entry-code-field>span{animation-duration:16s!important}
}

}

/* V3.15.146 · orientações maiores + título interno duplicado removido */
#dkPublicHelpPanel .dk-window-bar strong,#dkHelpWindow .dk-window-bar strong{font-size:10px}
#dkPublicHelpPanel .dk-tool-intro span,#dkHelpWindow .dk-tool-intro span{font-size:9px;line-height:1.45}
.dk-orientation-tools{justify-content:flex-end}


/* V3.15.149 · frase conceitual acima da entrada, separada do campo de códigos */
#dkPublicHelpPanel,#dkHelpWindow{
  width:min(450px,calc(100vw - 24px))!important;
  height:min(470px,calc(100vh - 104px))!important;
  max-height:calc(100vh - 82px)!important;
}
#dkPublicHelpPanel .dk-window-body,#dkHelpWindow .dk-window-body{
  padding:17px 19px 22px!important;
}
#dkPublicHelpPanel .dk-window-bar strong,#dkHelpWindow .dk-window-bar strong{
  font-size:11px!important;
}
#dkPublicHelpPanel .dk-tool-intro,#dkHelpWindow .dk-tool-intro{
  margin-bottom:14px!important;padding-bottom:11px!important;
}
#dkPublicHelpPanel .dk-tool-intro span,#dkHelpWindow .dk-tool-intro span{
  font-size:10px!important;line-height:1.45!important;color:rgba(236,232,223,.42)!important;
}
#dkPublicHelpPanel .dk-orientation-intro,#dkHelpWindow .dk-orientation-intro{
  font:400 14px/1.62 "IBM Plex Mono",ui-monospace,monospace!important;
  color:rgba(236,232,223,.88)!important;padding:1px 0 16px!important;
  border-bottom:1px solid rgba(236,232,223,.08);
}
#dkPublicHelpPanel .dk-nav-help-copy,#dkHelpWindow .dk-nav-help-copy{
  font:400 12.5px/1.66 "IBM Plex Mono",ui-monospace,monospace!important;
  color:rgba(236,232,223,.72)!important;padding:14px 0 2px!important;
}
.dk-nav-help-copy .dk-help-section{display:block;margin:0 0 17px}
.dk-nav-help-copy .dk-help-section:last-child{margin-bottom:4px}
.dk-nav-help-copy .dk-help-section strong{
  display:block;margin:0 0 7px;font-size:10px;line-height:1.3;font-weight:600;
  letter-spacing:.10em;color:rgba(236,232,223,.91);text-transform:uppercase
}

@media(max-width:760px),(pointer:coarse){
  #dkPublicHelpPanel,#dkHelpWindow{
    width:calc(100vw - 20px)!important;
    height:min(66vh,520px)!important;
    max-height:calc(100vh - 150px)!important;
  }
  #dkPublicHelpPanel .dk-window-body,#dkHelpWindow .dk-window-body{padding:15px 16px 19px!important}
  #dkPublicHelpPanel .dk-orientation-intro,#dkHelpWindow .dk-orientation-intro{font-size:13px!important;line-height:1.58!important}
  #dkPublicHelpPanel .dk-nav-help-copy,#dkHelpWindow .dk-nav-help-copy{font-size:11.5px!important;line-height:1.62!important}
  #dkPublicHelpPanel .dk-window-bar strong,#dkHelpWindow .dk-window-bar strong{font-size:10px!important}

  /* Mobile: UI in three clear layers. Dock stays low, presence left above it, D-pad right above it. */
  body.public-mode .dk-public-utility-dock{
    bottom:calc(env(safe-area-inset-bottom,0px) + 12px)!important;
  }
  body.public-mode .hud.presence{
    left:16px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 88px)!important;
    z-index:84!important;
  }
  body.public-mode>.dk-virtual-arrows{
    right:12px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 82px)!important;
    z-index:85!important;
  }
  body.edit-mode .dk-studio-dock{
    bottom:calc(env(safe-area-inset-bottom,0px) + 10px)!important;
  }
  body.edit-mode .hud.presence{
    left:16px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 88px)!important;
  }
  body.edit-mode>.dk-virtual-arrows{
    right:12px!important;bottom:calc(env(safe-area-inset-bottom,0px) + 82px)!important;
  }
}


/* V3.15.150 · entrada em três ritmos: código, frase conceitual e assinatura do Studio */

/* V3.15.156 · tradução automática sistêmica */
.dk-language-auto-note{display:block;margin-top:10px;font:400 7px/1.5 "IBM Plex Mono",monospace;color:rgba(236,232,223,.28)}

/* V3.15.159 · gestão editorial persistente e edição fina */
.opening-editorial-manage-list{display:grid;gap:6px;margin:12px 0 4px}
.opening-editorial-manage-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 10px;border:1px solid rgba(236,232,223,.08);background:rgba(255,255,255,.012)}
.opening-editorial-manage-row>div:first-child{display:grid;gap:4px;min-width:0}.opening-editorial-manage-row strong{font:400 9px/1.35 "IBM Plex Mono",monospace;color:rgba(236,232,223,.82);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opening-editorial-manage-row small{font:7px/1.2 "IBM Plex Mono",monospace;color:rgba(236,232,223,.32);text-transform:uppercase;letter-spacing:.06em}.opening-editorial-manage-row>div:last-child{display:flex;gap:5px}.opening-editorial-manage-row button{border:1px solid rgba(236,232,223,.12);background:transparent;color:rgba(236,232,223,.56);padding:5px 7px;font:7px/1 "IBM Plex Mono",monospace;cursor:pointer}.opening-editorial-manage-row button:hover{border-color:rgba(236,232,223,.28);color:#fff}.opening-editorial-manage-row button.danger{border-color:rgba(208,33,58,.20);color:rgba(208,33,58,.72)}
@media(max-width:680px){.opening-editorial-manage-row{align-items:flex-start;flex-direction:column}.opening-editorial-manage-row>div:last-child{width:100%}}

/* V3.15.159 · controle autoral: escrita editável, escala fina, textura por face e chão como obra */

/* V3.15.162 · um único editor canônico para o chão principal */
.dk-main-floor-canonical{border-color:rgba(236,232,223,.13)!important}.dk-main-floor-canonical>#dkMainFloorEditorMount{margin-top:10px}.dk-main-floor-canonical #peFloorSection{display:block!important;visibility:visible!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}.dk-main-floor-canonical #peFloorSection>.pe-section-title{display:none!important}.dk-extra-floor-section{margin-top:12px}


/* V3.15.163 · revisão profunda do editor de objetos */
.dk-object-fold{
  display:block;
  border:1px solid rgba(236,232,223,.075);
  background:rgba(236,232,223,.008);
  margin:8px 0;
}
.dk-object-fold[open]{border-color:rgba(208,33,58,.20);background:rgba(208,33,58,.012)}
.dk-object-fold>summary{
  list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;
  min-height:36px;padding:0 10px;cursor:pointer;user-select:none;
}
.dk-object-fold>summary::-webkit-details-marker{display:none}
.dk-object-fold>summary strong{
  font:500 8px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;color:rgba(236,232,223,.72)
}
.dk-object-fold>summary small{
  font:400 6.6px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.28);text-align:right
}
.dk-object-fold>summary:after{content:"+";font:400 10px/1 "IBM Plex Mono",monospace;color:rgba(236,232,223,.30);grid-column:2;grid-row:1}
.dk-object-fold[open]>summary:after{content:"−";color:rgba(208,33,58,.72)}
.dk-object-fold>summary small{padding-right:16px}
.dk-object-fold-body{padding:9px 10px 11px;border-top:1px solid rgba(236,232,223,.055)}
.dk-object-subfold{margin:7px 0;border-color:rgba(236,232,223,.055);background:rgba(0,0,0,.08)}
.dk-object-subfold>summary{min-height:32px;padding:0 8px}
.dk-object-subfold .dk-object-fold-body{padding:8px}
.dk-object-window-compact .dk-mini-section{margin:8px 0}
.behavior-editor-intro{margin-bottom:8px}
.behavior-rule-card summary{grid-template-columns:minmax(0,1fr) auto auto}
.behavior-rule-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.behavior-rule-actions button{min-height:27px}
.behavior-rule-card[data-force-test="on"]{border-color:rgba(208,33,58,.52);box-shadow:0 0 0 1px rgba(208,33,58,.08) inset}
.behavior-unbounded-note{font-size:7px;color:rgba(236,232,223,.28);margin-top:5px}
.dk-fx-exact{min-width:76px}
#peSpatialSection .pe-actions:last-child{margin-top:10px}

#dkObjectsWindow #peSpatialSection.dk-object-embedded>.pe-section-title{display:none!important}
#dkObjectsWindow #peSpatialSection.dk-object-embedded{border-top:0;margin-top:4px;padding-top:0}

/* V3.15.164 · comportamento persistente + explicação de modos */
.behavior-mode-help{margin:8px 0 2px;padding:8px 9px;border-left:1px solid rgba(208,33,58,.28);font:400 7px/1.55 "IBM Plex Mono",monospace;letter-spacing:.025em;color:rgba(236,232,223,.34)}
.behavior-rule-card[open]>summary{border-bottom-color:rgba(208,33,58,.18)}


/* V3.15.166 · seleção de artistas / triagem curatorial */
.artist-selection-wide,.artist-selection-proposal,.artist-selection-images,.artist-selection-collaboration{grid-column:1/-1}
.artist-selection-form select{width:100%;box-sizing:border-box;padding:10px 9px;border:1px solid rgba(236,232,223,.12);background:#08090a;color:rgba(236,232,223,.78);font:400 10px/1.4 "IBM Plex Mono",ui-monospace,monospace}
.artist-selection-collaboration{margin:0;padding:14px;border:1px solid rgba(236,232,223,.09);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.artist-selection-collaboration legend{padding:0 7px;color:rgba(236,232,223,.42);font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.artist-selection-collaboration label{display:flex;align-items:center;gap:8px;color:rgba(236,232,223,.58);font:400 9px/1.4 "IBM Plex Mono",ui-monospace,monospace}.artist-selection-collaboration input{width:auto}
.artist-selection-native{max-width:860px;margin:38px 0 0;padding-top:26px;border-top:1px solid rgba(236,232,223,.12)}
.artist-selection-callout{max-width:820px;margin:34px 0;padding:18px 0;border:0;border-top:1px solid rgba(208,33,58,.28);border-bottom:1px solid rgba(208,33,58,.28);color:rgba(236,232,223,.78);font:300 14px/1.7 "IBM Plex Mono",ui-monospace,monospace}
.artist-selection-closed{padding:18px;border:1px solid rgba(236,232,223,.08)}
.artist-submission-card{display:block;padding:0;border-bottom:1px solid rgba(236,232,223,.09)}.artist-submission-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 8px}.artist-submission-card>summary::-webkit-details-marker{display:none}.artist-submission-card>summary div{display:grid;gap:4px}.artist-submission-card>summary strong{font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.84)}.artist-submission-card>summary span,.artist-submission-card>summary small{font:400 8px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}
.artist-submission-card.review-strong>summary{border-left:2px solid rgba(236,232,223,.72)}.artist-submission-card.review-possible>summary{border-left:2px solid rgba(236,232,223,.32)}.artist-submission-card.review-low>summary{opacity:.62}.artist-submission-detail{display:grid;grid-template-columns:180px 1fr;gap:22px;padding:4px 10px 22px}.artist-submission-body section{margin:0 0 16px}.artist-submission-body section>b{display:block;margin-bottom:5px;font:400 7px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.1em;color:rgba(208,33,58,.72)}.artist-submission-body section>p{margin:0;white-space:pre-wrap;font:400 10.5px/1.7 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.68)}
.artist-submission-review{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(236,232,223,.08)}.artist-submission-review label{display:grid;gap:6px}.artist-submission-review label>span{font:400 7px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(236,232,223,.34)}.artist-submission-review select,.artist-submission-review textarea{width:100%;box-sizing:border-box;border:1px solid rgba(236,232,223,.11);background:#08090a;color:rgba(236,232,223,.72);padding:9px;font:400 9px/1.5 "IBM Plex Mono",ui-monospace,monospace}.artist-submission-review button{padding:8px 10px;border:1px solid rgba(236,232,223,.15);background:transparent;color:rgba(236,232,223,.62);font:400 8px/1 "IBM Plex Mono",ui-monospace,monospace;cursor:pointer}.artist-submission-review button.danger{border-color:rgba(208,33,58,.3);color:rgba(208,33,58,.8)}
@media(max-width:700px){.artist-selection-collaboration{grid-template-columns:1fr 1fr}.artist-submission-detail{grid-template-columns:1fr}.artist-submission-review{grid-template-columns:1fr}}
\n/* V3.15.168 · chão: hierarquia segura + painéis recolhíveis */
.dk-floor-root-fold{margin-top:8px}
.dk-main-floor-canonical{margin-top:14px!important;border-color:rgba(208,33,58,.28)!important;background:rgba(208,33,58,.012)!important}
.dk-main-floor-canonical>summary strong{color:rgba(236,232,223,.76)}
.dk-main-floor-canonical>summary small{color:rgba(208,33,58,.52)}
.dk-main-floor-canonical>#dkMainFloorEditorMount{margin-top:0}
.dk-main-floor-canonical #peFloorSection{display:block!important;visibility:visible!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.dk-floor-main-editor>.dk-object-fold{margin:0 0 7px}
.dk-floor-module-panel{margin-top:12px;padding-top:10px;border-top:1px solid rgba(236,232,223,.07)}
.dk-floor-module-panel>.dk-object-fold{margin-bottom:7px}
.dk-floor-danger-zone{margin-top:12px;padding:10px;border:1px solid rgba(208,33,58,.16);background:rgba(208,33,58,.012);display:grid;gap:8px}
.dk-floor-danger-zone small{opacity:.42}
.dk-floor-danger-zone .dk-danger{margin:0}
.dk-floor-create-fold .dk-inline-actions{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.dk-floor-create-fold .dk-inline-actions button{min-height:34px}
@media(min-width:760px){.dk-floor-create-fold .dk-inline-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* V3.15.169 · seleção visível e localizável nos menus */
.dk-list-selection-flag{
  margin-left:auto;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:500 6.8px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.045em;
  color:rgba(236,232,223,.28);text-transform:uppercase
}
.dk-list-selection-flag.active{color:#d0213a;text-shadow:0 0 10px rgba(208,33,58,.28)}
.dk-list-fold>summary,.dk-object-subfold>summary{gap:10px}
.dk-scene-row.active,.dk-floor-lock-row.active{
  position:relative!important;border-color:rgba(208,33,58,.72)!important;
  background:rgba(208,33,58,.065)!important;
  box-shadow:inset 3px 0 0 #d0213a,0 0 0 1px rgba(208,33,58,.08)!important
}
.dk-scene-row.active::before,.dk-floor-lock-row.active::before{
  content:"";position:absolute;left:5px;top:5px;width:4px;height:4px;border-radius:50%;
  background:#d0213a;box-shadow:0 0 9px rgba(208,33,58,.7);pointer-events:none;z-index:3
}
.dk-scene-row.active>button[data-object-id],.dk-scene-row.active>button[data-work-id],
.dk-floor-lock-row.active>button[data-floor-id]{color:rgba(236,232,223,.98)!important}
.dk-main-floor-canonical.selection-active{
  border-color:rgba(208,33,58,.74)!important;
  box-shadow:inset 3px 0 0 #d0213a,0 0 0 1px rgba(208,33,58,.08)!important
}
.dk-main-floor-canonical.selection-active>summary{background:rgba(208,33,58,.055)}
.dk-main-floor-canonical.selection-active>summary strong{color:rgba(236,232,223,.96)}

/* V3.15.180 · antecâmara permanente de entrada */
.dk-entry-antechamber-ui{
  position:fixed;inset:0;z-index:70;display:grid;place-items:center;
  pointer-events:none;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s step-end;
  font-family:"IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.82)
}
.dk-entry-antechamber-ui.show{opacity:1;visibility:visible;transition:opacity .65s ease,visibility 0s step-start}
.dk-entry-room-copy{
  width:min(680px,calc(100vw - 48px));margin-top:7vh;text-align:center;
  display:grid;justify-items:center;gap:0;filter:drop-shadow(0 4px 28px rgba(0,0,0,.42))
}
.dk-entry-room-kicker{font:500 7px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.26em;text-transform:uppercase;color:rgba(208,33,58,.78);margin-bottom:13px}
.dk-entry-room-copy h1{margin:0;font:300 clamp(19px,2.25vw,31px)/1.12 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(236,232,223,.86)}
.dk-entry-room-date{margin-top:18px;display:grid;gap:5px;font:400 7.5px/1.45 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.055em;color:rgba(236,232,223,.39)}
.dk-entry-room-date strong{font-weight:400;color:rgba(236,232,223,.66)}
.dk-entry-room-note{max-width:570px;margin:21px 0 0;font:300 8px/1.65 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.025em;color:rgba(236,232,223,.38)}
.dk-entry-room-nav{margin-top:19px;display:flex;align-items:center;justify-content:center;gap:19px;flex-wrap:wrap;font:400 7px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.075em;text-transform:uppercase;color:rgba(236,232,223,.34)}
.dk-entry-room-nav span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.dk-entry-room-nav kbd{min-width:19px;height:19px;box-sizing:border-box;display:inline-grid;place-items:center;border:1px solid rgba(236,232,223,.16);background:rgba(5,6,7,.38);color:rgba(236,232,223,.63);font:400 10px/1 "IBM Plex Mono",ui-monospace,monospace;box-shadow:none}
.dk-entry-room-nav kbd+kbd{margin-left:-5px}
.dk-entry-room-actions{pointer-events:auto;margin-top:27px;display:grid;justify-items:center;gap:11px}
.dk-entry-main-action{min-width:min(410px,calc(100vw - 70px));padding:12px 18px;border:1px solid rgba(208,33,58,.43);background:rgba(5,6,7,.46);color:rgba(236,232,223,.79);font:500 8px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(7px);transition:border-color .2s ease,background .2s ease,color .2s ease}
.dk-entry-main-action:hover{border-color:rgba(208,33,58,.82);background:rgba(208,33,58,.055);color:rgba(236,232,223,.95)}
.dk-entry-main-action:disabled{opacity:.42;cursor:wait}
.dk-entry-reserved-toggle{padding:3px 5px;border:0;background:transparent;color:rgba(236,232,223,.28);font:400 6.5px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:color .2s ease}
.dk-entry-reserved-toggle:hover{color:rgba(236,232,223,.62)}
.dk-entry-invite-card,.dk-entry-reserved-form{pointer-events:auto;width:min(410px,calc(100vw - 70px));box-sizing:border-box;margin-top:14px;padding:12px 13px;border:1px solid rgba(236,232,223,.10);background:rgba(4,5,6,.76);backdrop-filter:blur(9px);text-align:left}
.dk-entry-invite-card{display:grid;gap:7px}
.dk-entry-invite-card strong{font:500 7px/1.2 "IBM Plex Mono",ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:rgba(208,33,58,.72)}
.dk-entry-invite-card span{font:400 8px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.54)}
.dk-entry-invite-card button,.dk-entry-reserved-form button{margin-top:3px;padding:8px 10px;border:1px solid rgba(236,232,223,.12);background:rgba(236,232,223,.02);color:rgba(236,232,223,.56);font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.dk-entry-reserved-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.dk-entry-reserved-form label{display:grid;gap:5px}
.dk-entry-reserved-form label span{font:500 6.5px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase;color:rgba(236,232,223,.31)}
.dk-entry-reserved-form input{box-sizing:border-box;width:100%;height:31px;border:1px solid rgba(236,232,223,.12);background:rgba(0,0,0,.34);color:rgba(236,232,223,.79);padding:6px 8px;outline:none;font:400 9px/1 "IBM Plex Mono",ui-monospace,monospace}
.dk-entry-reserved-form input:focus{border-color:rgba(208,33,58,.52)}
.dk-entry-reserved-form button{height:31px;margin:0}.dk-entry-reserved-form button:disabled,.dk-entry-reserved-form input:disabled{opacity:.35;cursor:not-allowed}
.dk-entry-reserved-form small{grid-column:1/-1;min-height:9px;font:400 6.5px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(208,33,58,.64)}
.dk-entry-room-threshold{margin-top:20px;font:400 5.8px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.18em;color:rgba(236,232,223,.18)}
body.dk-entry-antechamber #dust,body.dk-entry-antechamber #webs{opacity:.08!important}

/* editor · configuração permanente da entrada */
.dk-entry-admin-state{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(236,232,223,.08);background:rgba(255,255,255,.012)}
.dk-entry-admin-state b{font:500 7px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(208,33,58,.78)}
.dk-entry-admin-state span{font:400 7px/1.35 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38);text-align:right}
.dk-entry-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.dk-entry-admin-actions button{flex:1 1 130px;padding:8px;border:1px solid rgba(236,232,223,.10);background:rgba(236,232,223,.02);color:rgba(236,232,223,.54);font:500 7px/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.dk-entry-admin-actions button:hover{border-color:rgba(208,33,58,.32);color:rgba(236,232,223,.75)}
.dk-entry-admin-password-status{font:400 7px/1.45 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.34)}

@media(max-width:700px){
  .dk-entry-room-copy{width:calc(100vw - 30px);margin-top:3vh}
  .dk-entry-room-copy h1{font-size:18px;letter-spacing:.11em}
  .dk-entry-room-note{max-width:90%;font-size:7px}
  .dk-entry-room-nav{gap:10px;margin-top:15px}
  .dk-entry-main-action,.dk-entry-invite-card,.dk-entry-reserved-form{min-width:0;width:min(390px,calc(100vw - 38px))}
  .dk-entry-reserved-form{grid-template-columns:1fr}.dk-entry-reserved-form button{width:100%}
}


/* V3.15.180 · antecâmara editável */
.dk-entry-editor-ui .dk-entry-room-threshold{color:rgba(208,33,58,.34)}
body.dk-editor-entry-scope .dk-studio-dock{border-color:rgba(236,232,223,.12)}
.dk-entry-scene-switch{margin:8px 0 2px}


/* V3.15.180 · tipografia da antecâmara mais legível */
.dk-entry-room-kicker{
  font-size:8px;
  color:rgba(208,33,58,.94);
}
.dk-entry-room-date{
  font-size:9px;
  line-height:1.5;
  color:rgba(236,232,223,.64);
}
.dk-entry-room-date strong{
  color:rgba(236,232,223,.90);
}
.dk-entry-room-note{
  font-size:9px;
  line-height:1.65;
  color:rgba(236,232,223,.65);
}
.dk-entry-room-nav{
  font-size:8.5px;
  color:rgba(236,232,223,.68);
}
.dk-entry-room-nav kbd{
  border-color:rgba(236,232,223,.28);
  background:rgba(5,6,7,.52);
  color:rgba(236,232,223,.92);
}
.dk-entry-main-action{
  font-size:9px;
  color:rgba(236,232,223,.92);
}
.dk-entry-reserved-toggle{
  font-size:7.5px;
  color:rgba(236,232,223,.52);
}
.dk-entry-reserved-toggle:hover{color:rgba(236,232,223,.84)}
.dk-entry-invite-card strong{
  font-size:8px;
  color:rgba(208,33,58,.92);
}
.dk-entry-invite-card span{
  font-size:9px;
  color:rgba(236,232,223,.78);
}
.dk-entry-invite-card button,.dk-entry-reserved-form button{
  font-size:8px;
  color:rgba(236,232,223,.82);
}
.dk-entry-reserved-form label span{
  font-size:7.5px;
  color:rgba(236,232,223,.62);
}
.dk-entry-reserved-form small{
  font-size:7.5px;
  color:rgba(208,33,58,.84);
}
.dk-entry-room-threshold{
  font-size:6.8px;
  color:rgba(236,232,223,.36);
}
@media(max-width:720px){
  .dk-entry-room-kicker{font-size:7.5px}
  .dk-entry-room-date{font-size:8.5px}
  .dk-entry-room-note{font-size:8.5px;max-width:94%}
  .dk-entry-room-nav{font-size:8px}
  .dk-entry-reserved-toggle{font-size:7px}
  .dk-entry-room-threshold{font-size:6.4px}
}

/* V3.15.180 · antecâmara orgânica + chat sempre acima da interface de entrada */
body.dk-entry-antechamber .dk-public-utility-dock,
body.dk-entry-antechamber .public-chat-dock{
  z-index:1400!important;
}
body.dk-entry-antechamber #publicChatPanel,
body.dk-entry-antechamber .dk-public-chat-window,
body.dk-entry-antechamber .dk-public-window{
  z-index:1420!important;
}


/* V3.15.181 · chat acima de qualquer overlay da antecâmara */
#publicChatDock{z-index:100200!important;isolation:isolate}
#publicChatPanel.dk-public-window,#publicChatPanel.dk-public-chat-window{z-index:100220!important;pointer-events:auto!important}
body.dk-entry-antechamber #publicChatDock,body.dk-entry-antechamber #publicChatPanel{z-index:100220!important}
#dkChatWindow.dk-studio-window{z-index:100220!important}
.dk-entry-reserved-form input{pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;position:relative;z-index:2}
.dk-entry-reserved-form{position:relative;z-index:2}
.dk-vegetation-grid button span{line-height:1.18}
.dk-veg-direction-buttons{margin:7px 0 9px}
.dk-veg-direction-buttons button{font-size:12px!important}


/* V3.15.181 · vegetação · esconder controles de mídia que não se aplicam */
#pePrimFields.dk-vegetation-mode #primTintStrengthRow,
#pePrimFields.dk-vegetation-mode #primGlowControls,
#pePrimFields.dk-vegetation-mode label:has(#primReflection),
#pePrimFields.dk-vegetation-mode .pe-number-row:has(#primBaseOpacity),
#pePrimFields.dk-vegetation-mode .pe-number-row:has(#primMediaOpacity),
#pePrimFields.dk-vegetation-mode .pe-number-row:has(#primRoughness),
#pePrimFields.dk-vegetation-mode .pe-number-row:has(#primMetalness),
#pePrimFields.dk-vegetation-mode label:has(#primImage),
#pePrimFields.dk-vegetation-mode .dk-media-state:has(#primImageStatus),
#pePrimFields.dk-vegetation-mode .dk-grid2:has(#primTextureMode),
#pePrimFields.dk-vegetation-mode label:has(#primVideo),
#pePrimFields.dk-vegetation-mode .dk-media-state:has(#primVideoStatus){display:none!important}


/* V3.15.182 · chat top-level, dock exclusivo e entrada acima */
#publicChatPanel.dk-public-window,#publicChatPanel.dk-public-chat-window{
  position:fixed!important;
  z-index:2147482000!important;
  pointer-events:auto!important;
  isolation:isolate;
}
body.dk-entry-antechamber #publicChatPanel.dk-public-window,
body.dk-entry-antechamber #publicChatPanel.dk-public-chat-window{z-index:2147482000!important}
#dkEntryAntechamberUI .dk-entry-reserved-form,
#dkEntryAntechamberUI .dk-entry-reserved-form *{pointer-events:auto!important}
#dkEntryReservedPassword{position:relative!important;z-index:4!important;user-select:text!important;-webkit-user-select:text!important}

#dkChatWindow.dk-studio-window{z-index:2147482000!important}


/* V3.15.186 · janelas institucionais acima da antecâmara */
body > .content-panel,
body > #archive,
body > #program,
body > #reader,
body > #currentExhibitionMicro{
  z-index:100180!important;
}
body > .content-panel,
body > #archive,
body > #program{
  position:fixed!important;
}
body > #reader{z-index:100190!important}
body > #archiveLightbox{z-index:100260!important}
body > .content-panel.open,
body > #archive.open,
body > #program.open,
body > #reader.open,
body > #currentExhibitionMicro.open{
  pointer-events:auto!important;
}

/* V3.15.214 · limiar conceitual de Vestígios durante a passagem para a exposição */
.dk-entry-transition{position:fixed;inset:0;z-index:2147483646;background:#010102;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .82s ease}
.dk-entry-transition.show{opacity:1;pointer-events:auto}
.dk-entry-transition-inner{width:min(900px,82vw);font-family:"Courier New",Courier,monospace;color:#d0213a;text-align:left;padding:30px 34px;box-sizing:border-box}
.dk-entry-transition-copy{font-size:clamp(17px,1.55vw,23px);line-height:1.72;letter-spacing:.025em;font-weight:400;color:#d0213a;text-shadow:0 0 30px rgba(208,33,58,.20);opacity:.08;will-change:opacity,transform;transform:translateZ(0)}
.dk-entry-transition-copy p{margin:0 0 1.15em;max-width:38em}
.dk-entry-transition-copy .dk-entry-transition-lead{margin-bottom:1.55em}
.dk-entry-transition-copy .dk-entry-transition-close{margin-top:2.05em;margin-bottom:0;font-weight:600;letter-spacing:.035em}
.dk-entry-transition-copy.dk-transition-running{animation:dkEntryVestigesBreath 10.8s ease-in-out 4 both}
@keyframes dkEntryVestigesBreath{0%{opacity:.08;transform:translateY(4px)}30%{opacity:1;transform:translateY(0)}72%{opacity:1;transform:translateY(0)}100%{opacity:.08;transform:translateY(-2px)}}
@media (max-width:700px){.dk-entry-transition-inner{width:min(90vw,720px);padding:22px 18px}.dk-entry-transition-copy{font-size:clamp(14px,4vw,17px);line-height:1.72}.dk-entry-transition-copy p{max-width:none;margin-bottom:1em}.dk-entry-transition-copy .dk-entry-transition-close{margin-top:1.65em}}


/* V3.15.189 · conteúdo da antecâmara passa a existir no espaço 3D, não como HUD */
.dk-entry-antechamber-ui{display:none!important}
.dk-entry-world-html{pointer-events:auto!important;transform-origin:center center}
.dk-entry-world-panel{
  width:620px!important;max-width:none!important;margin:0!important;padding:8px 10px 10px;
  box-sizing:border-box;pointer-events:auto!important;user-select:none;
  filter:drop-shadow(0 5px 26px rgba(0,0,0,.48));
}
.dk-entry-world-panel input{user-select:text}
.dk-entry-world-panel .dk-entry-main-action{min-width:410px}
.dk-entry-world-panel .dk-entry-invite-card,.dk-entry-world-panel .dk-entry-reserved-form{width:410px;min-width:410px}
.dk-entry-world-editor .dk-entry-room-threshold{color:rgba(208,33,58,.42)}
@media(max-width:700px){
  .dk-entry-world-panel{width:540px!important}
  .dk-entry-world-panel .dk-entry-main-action,.dk-entry-world-panel .dk-entry-invite-card,.dk-entry-world-panel .dk-entry-reserved-form{width:390px;min-width:390px}
}


/* V3.15.191 · dois painéis espaciais editáveis + estados público/edit separados */
.dk-entry-world-panel{
  width:var(--dk-entry-panel-width,420px)!important;
  max-width:none!important;
  padding:0!important;
  filter:drop-shadow(0 5px 24px rgba(0,0,0,.42));
}
.dk-entry-world-main{justify-items:stretch;text-align:left}
.dk-entry-world-main .dk-entry-room-kicker{font-size:calc(8px * var(--dk-entry-font-scale,1));margin-bottom:calc(12px * var(--dk-entry-spacing,1));text-align:left}
.dk-entry-world-main h1{font-size:calc(27px * var(--dk-entry-font-scale,1));letter-spacing:.14em;text-align:left}
.dk-entry-world-main .dk-entry-room-date{font-size:calc(8.5px * var(--dk-entry-font-scale,1));margin-top:calc(17px * var(--dk-entry-spacing,1));text-align:left}
.dk-entry-world-main .dk-entry-room-actions{margin-top:calc(25px * var(--dk-entry-spacing,1));justify-items:stretch}
.dk-entry-world-main .dk-entry-main-action,.dk-entry-world-main .dk-entry-invited-state{width:100%;min-width:0!important;box-sizing:border-box}
.dk-entry-invited-state{padding:12px 16px;border:1px solid rgba(208,33,58,.43);background:rgba(5,6,7,.24);color:rgba(236,232,223,.88);font:500 calc(8.5px * var(--dk-entry-font-scale,1))/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.dk-entry-world-main .dk-entry-reserved-toggle{justify-self:center;margin-top:3px;font-size:calc(8.4px * var(--dk-entry-font-scale,1));letter-spacing:.12em}
.dk-entry-world-main .dk-entry-reserved-form{width:100%!important;min-width:0!important;margin-top:9px}
.dk-entry-world-main .dk-entry-room-nav{justify-content:flex-start;margin-top:calc(18px * var(--dk-entry-spacing,1));font-size:calc(7.5px * var(--dk-entry-font-scale,1))}
.dk-entry-world-main .dk-entry-room-threshold{text-align:left;margin-top:calc(17px * var(--dk-entry-spacing,1));font-size:calc(6.2px * var(--dk-entry-font-scale,1))}
.dk-entry-world-editor .dk-entry-main-action{width:100%}
.dk-entry-concept-world-html{pointer-events:none!important}
.dk-entry-concept-panel{width:var(--dk-entry-text-width,465px);box-sizing:border-box;color:rgba(236,232,223,.70);font-family:"IBM Plex Mono",ui-monospace,monospace;text-align:left;filter:drop-shadow(0 4px 20px rgba(0,0,0,.34));pointer-events:none;user-select:none}
.dk-entry-concept-head{margin-bottom:15px}
.dk-entry-concept-head h2{margin:0 0 7px;font:400 calc(16px * var(--dk-entry-text-font-scale,1))/1.2 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.13em;color:rgba(236,232,223,.88)}
.dk-entry-concept-head span{font:400 calc(7.2px * var(--dk-entry-text-font-scale,1))/1.35 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;color:rgba(208,33,58,.76)}
.dk-entry-concept-panel p{margin:0 0 10px;font:300 calc(8.35px * var(--dk-entry-text-font-scale,1))/var(--dk-entry-text-line-height,1.58) "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.012em;color:rgba(236,232,223,.64)}
.dk-entry-concept-panel p strong{font-weight:500;color:rgba(236,232,223,.88)}
.dk-entry-concept-panel p em{font-style:italic;color:rgba(236,232,223,.76)}
.dk-entry-concept-editor{outline:none;outline-offset:0;background:none}
.dk-entry-admin-layout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dk-entry-admin-layout-grid label{min-width:0}
.dk-entry-admin-layout-grid input{width:100%;box-sizing:border-box}
.dk-entry-admin-layout-grid.dk-entry-admin-layout-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
.dk-entry-admin-concept textarea{min-height:210px;resize:vertical;font:400 8px/1.5 "IBM Plex Mono",ui-monospace,monospace}
.dk-entry-admin-preview-note{display:block;margin-top:7px;color:rgba(236,232,223,.32);font:400 7px/1.45 "IBM Plex Mono",ui-monospace,monospace}
@media(max-width:700px){
  .dk-entry-world-panel{width:min(var(--dk-entry-panel-width,420px),520px)!important}
  .dk-entry-concept-panel{width:min(var(--dk-entry-text-width,465px),520px)}
  .dk-entry-admin-layout-grid,.dk-entry-admin-layout-grid.dk-entry-admin-layout-wide{grid-template-columns:1fr 1fr}
}


/* V3.15.191 · porta-limiar espacial */
.dk-entry-door-html{pointer-events:auto!important;user-select:none}
.dk-entry-door-enter,.dk-entry-door-invite{font-family:"IBM Plex Mono",ui-monospace,monospace;cursor:pointer}
.dk-entry-door-enter{border:1px solid rgba(208,33,58,.72);background:rgba(5,2,3,.82);color:rgba(236,232,223,.88);padding:9px 18px;min-width:108px;font-size:8px;line-height:1;letter-spacing:.18em;text-transform:uppercase;box-shadow:0 0 24px rgba(208,33,58,.08)}
.dk-entry-door-enter:hover{background:rgba(208,33,58,.10);border-color:#d0213a}
.dk-entry-door-enter:disabled{opacity:.45;cursor:wait}
.dk-entry-door-invite{width:150px;min-height:92px;border:0;background:#e9e2d7;color:#171011;padding:15px 13px 12px;display:grid;align-content:center;justify-items:center;gap:4px;transform:rotate(-2.2deg);box-shadow:0 9px 24px rgba(0,0,0,.32);position:relative}
.dk-entry-door-invite:before{content:"";position:absolute;top:-16px;left:50%;width:1px;height:20px;background:rgba(233,226,215,.52)}
.dk-entry-door-invite span{font-size:7px;letter-spacing:.16em}
.dk-entry-door-invite strong{font-size:12px;line-height:1.08;letter-spacing:.10em;color:#a31830}
.dk-entry-door-invite small{margin-top:7px;font-size:5.7px;line-height:1.25;letter-spacing:.07em;color:rgba(23,16,17,.55)}

/* V3.15.214 · transição permanece sobre a hidratação inicial da exposição */

/* V3.15.214 · Archive deletion controls */
.archive-cms-inline-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end}
.archive-cms-danger{border-color:rgba(190,42,42,.48)!important;color:rgba(226,96,96,.9)!important}
.archive-cms-danger:hover{border-color:rgba(224,64,64,.78)!important;color:rgba(255,126,126,1)!important}
.archive-work-admin{display:flex;gap:7px;justify-content:flex-end;align-items:center;margin-top:9px}
.archive-work-admin .archive-cms-mini{position:relative;z-index:2}
@media(max-width:760px){.archive-cms-inline-actions{justify-content:flex-start;grid-column:2}.archive-work-admin{justify-content:flex-start}}


/* V3.15.214 · edição espacial da antecâmara */
.dk-entry-world-panel.dk-entry-edit-selected,
.dk-entry-concept-panel.dk-entry-edit-selected{
  outline:1px solid rgba(208,33,58,.72);
  outline-offset:10px;
  box-shadow:0 0 0 1px rgba(208,33,58,.10),0 0 28px rgba(208,33,58,.08);
}
.dk-entry-edit-badge{
  margin-top:10px;
  font:9px/1.2 var(--mono,monospace);
  letter-spacing:.18em;
  color:#d0213a;
  opacity:.78;
  text-transform:uppercase;
}


/* V3.15.214 · hierarquia espacial da antecâmara */
.dk-entry-door-title-html{pointer-events:none!important;user-select:none}
.dk-entry-door-titleplate{
  min-width:860px;box-sizing:border-box;padding:34px 68px 31px;
  border:1px solid rgba(208,33,58,.68);background:rgba(4,3,4,.91);
  color:rgba(236,232,223,.98);text-align:center;text-transform:uppercase;
  font:500 70px/1.01 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.225em;
  box-shadow:0 6px 26px rgba(0,0,0,.38),0 0 22px rgba(208,33,58,.07);
  white-space:nowrap;
}
.dk-entry-world-main .dk-entry-room-kicker{
  margin-bottom:0;
  font-size:calc(8.8px * var(--dk-entry-font-scale,1));
}
.dk-entry-world-main .dk-entry-room-date{
  margin-top:calc(29px * var(--dk-entry-spacing,1));
  gap:7px;
  font-size:calc(10.4px * var(--dk-entry-font-scale,1));
  line-height:1.58;
  color:rgba(236,232,223,.68);
}
.dk-entry-world-main .dk-entry-room-date strong{color:rgba(236,232,223,.94)}
.dk-entry-concept-panel p{
  font-size:calc(8.8px * var(--dk-entry-text-font-scale,1));
  margin-bottom:11px;
}


/* V3.15.214 · effect controls must not overlap */
#dkObjectEffectsQuick .pe-color-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
#dkObjectEffectsQuick .pe-color-row>.pe-field{min-width:0;width:100%}
#dkObjectEffectsQuick .pe-row{grid-template-columns:minmax(0,1fr) minmax(66px,82px);gap:8px;min-width:0}
#dkObjectEffectsQuick .pe-range{min-width:0;width:100%}
#dkObjectEffectsQuick .dk-fx-exact{width:100%;min-width:0;box-sizing:border-box}
#dkObjectEffectsQuick .pe-select{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:520px){#dkObjectEffectsQuick .pe-color-row{grid-template-columns:1fr}}
.dk-archive-delete-inline{margin-left:10px;border-color:rgba(208,33,58,.36)!important;color:#d95b6f!important}
.dk-scope-badge{display:inline-flex;margin-top:7px;padding:4px 7px;border:1px solid rgba(208,33,58,.32);color:#d95b6f;font-size:8px;letter-spacing:.08em;text-transform:uppercase}


/* V3.15.214 · orientação transitória de percurso */
.dk-walk-guide{
  position:fixed;left:50%;bottom:8.2vh;z-index:2147483600;transform:translate(-50%,12px);
  width:min(680px,84vw);pointer-events:none;opacity:0;
  transition:opacity 2s ease,transform 2s cubic-bezier(.2,.72,.24,1);
  font-family:"IBM Plex Mono","Courier New",monospace;color:rgba(239,235,228,.88);
}
.dk-walk-guide.show{opacity:1;transform:translate(-50%,0)}
.dk-walk-guide.leaving{transition-duration:3s;transform:translate(-50%,-4px)}
.dk-walk-guide-inner{
  box-sizing:border-box;padding:18px 22px 19px;background:rgba(4,4,6,.72);
  border-top:1px solid rgba(208,33,58,.62);backdrop-filter:blur(8px);
  box-shadow:0 12px 38px rgba(0,0,0,.28);letter-spacing:.025em;
}
.dk-walk-guide strong{display:block;margin:0 0 9px;color:#d0213a;font-size:15px;font-weight:500;letter-spacing:.08em}
.dk-walk-guide p{margin:0 0 7px;font-size:12px;line-height:1.68;font-weight:300;color:rgba(239,235,228,.77)}
.dk-walk-guide b{display:block;margin-top:10px;font-size:12px;line-height:1.58;font-weight:500;color:rgba(239,235,228,.92)}
.dk-walk-guide-exhibition{width:min(560px,80vw);bottom:9.5vh;text-align:center}
.dk-walk-guide-exhibition .dk-walk-guide-inner{padding:14px 20px 15px}
.dk-walk-guide-exhibition strong{font-size:15px;margin-bottom:10px}
.dk-walk-guide-exhibition p{font-size:12px;letter-spacing:.08em;margin-bottom:4px}
.dk-walk-guide-exhibition b{margin-top:9px;font-size:11px;letter-spacing:.035em}
@media(max-width:700px){
  .dk-walk-guide{width:88vw;bottom:7vh}.dk-walk-guide-inner{padding:13px 15px 14px}
  .dk-walk-guide strong{font-size:11px}.dk-walk-guide p,.dk-walk-guide b{font-size:9px;line-height:1.55}
  .dk-walk-guide-exhibition{width:84vw;bottom:8vh}
}

/* V3.15.214 · antecâmara mais ampla e leitura lateral */
.dk-entry-concept-panel{filter:drop-shadow(0 5px 24px rgba(0,0,0,.38));}
.dk-entry-concept-panel p{font-size:calc(9.15px * var(--dk-entry-text-font-scale,1));}
.dk-entry-world-main .dk-entry-room-kicker{transform:translateX(-12px);}


/* V3.15.214 · ajuste fino da antecâmara */
.dk-entry-door-titleplate{box-shadow:0 9px 34px rgba(0,0,0,.44),0 0 28px rgba(208,33,58,.09);}

/* V3.15.214 · titleplate scale + clean local text */
@media (max-width:900px){.dk-entry-door-titleplate{min-width:min(82vw,640px);padding:22px 30px 20px;font-size:40px;letter-spacing:.16em}}

/* V3.15.214 · passagem macia entre antecâmara e exposição */
#r3fRoot{transition:opacity 1.18s cubic-bezier(.22,.72,.24,1),filter 1.18s ease!important;will-change:opacity,filter}
body.dk-scene-switching #r3fRoot{opacity:.16;filter:brightness(.74) saturate(.86)}
.dk-entry-transition{transition:opacity 1.12s ease!important}
.dk-walk-guide{transition:opacity 2.35s ease,transform 2.35s cubic-bezier(.2,.72,.24,1)!important}
.dk-walk-guide.leaving{transition-duration:1.1s!important}

/* V3.15.214 · Supabase temporary infrastructure support card */
.partner-public-card.partner-supabase{grid-column:span 2;min-height:128px}
.partner-public-card.partner-supabase .partner-public-logo{min-height:64px}
.partner-public-card.partner-supabase .partner-public-logo img{max-width:116px;max-height:42px;width:auto;height:auto}
.partner-public-card.partner-supabase .partner-public-copy h3{font-size:12px}
.partner-public-card.partner-supabase .partner-public-copy p{font-size:8.5px;line-height:1.6}
.partner-admin-builtin-copy{display:grid;gap:4px}
.partner-admin-builtin-copy strong{font:500 10px/1.3 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.8)}
.partner-admin-builtin-copy small{font:400 7.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.38)}
@media(max-width:620px){.partner-public-card.partner-supabase{grid-column:1;grid-template-columns:110px 1fr}.partner-public-card.partner-supabase .partner-public-logo{justify-content:flex-start}}

/* V3.15.214 · Supabase card vertical hierarchy */
.partner-public-card.partner-supabase{
  display:grid;
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto;
  gap:14px;
  align-items:start;
}
.partner-public-card.partner-supabase .partner-public-logo{
  min-height:48px;
  justify-content:flex-start;
  align-items:center;
  width:100%;
}
.partner-public-card.partner-supabase .partner-public-logo img{
  max-width:116px;
  max-height:42px;
}
.partner-public-card.partner-supabase .partner-public-copy{
  width:100%;
  min-width:0;
}
.partner-public-card.partner-supabase .partner-public-copy p{
  max-width:48em;
}
@media(max-width:620px){
  .partner-public-card.partner-supabase{grid-template-columns:1fr!important;}
  .partner-public-card.partner-supabase .partner-public-logo{justify-content:flex-start;}
}

/* V3.15.214 · arquivo integralmente editável */
.archive-profile-editor{display:grid;gap:16px;max-width:980px}
.archive-profile-editor details{border:1px solid rgba(236,232,223,.09);padding:12px;background:rgba(255,255,255,.01)}
.archive-profile-editor summary{cursor:pointer;font:500 8px/1.2 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:rgba(236,232,223,.62)}
.archive-profile-rich{min-height:320px;margin-top:12px;padding:16px;border:1px solid rgba(236,232,223,.10);background:#050607;color:rgba(236,232,223,.78);font:400 10px/1.65 "IBM Plex Mono",monospace;outline:none;overflow:auto}
.archive-profile-rich:focus{border-color:rgba(236,232,223,.24)}
.archive-profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}
.archive-profile-actions button{padding:9px 12px;border:1px solid rgba(236,232,223,.13);background:transparent;color:rgba(236,232,223,.65);font:500 8px/1 "IBM Plex Mono",monospace;cursor:pointer}
.archive-profile-actions .danger{border-color:rgba(208,33,58,.30);color:rgba(230,110,125,.85)}
.archive-contact-editor{max-width:760px}


/* V3.15.214 · edição direta do card Obra Viva */
.dk-living-work-editor-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:rgba(0,0,0,.56);backdrop-filter:blur(3px);padding:24px;box-sizing:border-box}
.dk-living-work-editor{width:min(620px,calc(100vw - 34px));max-height:min(760px,calc(100vh - 34px));overflow:auto;box-sizing:border-box;padding:20px 22px 22px;background:rgba(7,7,8,.985);border:1px solid rgba(236,232,223,.18);box-shadow:0 26px 80px rgba(0,0,0,.55);font-family:"IBM Plex Mono",ui-monospace,monospace;color:rgba(236,232,223,.72)}
.dk-living-work-editor header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:13px;border-bottom:1px solid rgba(236,232,223,.09)}
.dk-living-work-editor header span{display:block;font-size:7px;line-height:1.3;letter-spacing:.14em;color:#d0213a;text-transform:uppercase}.dk-living-work-editor header strong{display:block;margin-top:4px;font-size:13px;font-weight:400;color:rgba(236,232,223,.92)}
.dk-living-work-editor header button{border:0;background:transparent;color:rgba(236,232,223,.48);font:300 24px/1 monospace;cursor:pointer}.dk-living-work-editor>p{margin:14px 0 17px;font-size:8px;line-height:1.65;color:rgba(236,232,223,.42)}
.dk-living-work-editor label{display:grid;gap:6px;margin-top:12px}.dk-living-work-editor label>span{font-size:7px;letter-spacing:.10em;color:rgba(236,232,223,.46)}.dk-living-work-editor textarea{width:100%;box-sizing:border-box;min-height:128px;resize:vertical;padding:11px 12px;border:1px solid rgba(236,232,223,.12);background:#030304;color:rgba(236,232,223,.86);font:400 9px/1.6 "IBM Plex Mono",ui-monospace,monospace;outline:none}.dk-living-work-editor textarea:focus{border-color:rgba(208,33,58,.52)}
.dk-living-work-editor footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(236,232,223,.08)}.dk-living-work-editor footer button{padding:8px 12px;border:1px solid rgba(236,232,223,.12);background:transparent;color:rgba(236,232,223,.62);font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.dk-living-work-editor footer .archive-cms-primary{border-color:rgba(208,33,58,.45);color:rgba(236,232,223,.88);background:rgba(208,33,58,.07)}
body.edit-mode .current-exhibition-micro.open:after{content:"editar";display:block;margin-top:9px;padding-top:7px;border-top:1px solid rgba(236,232,223,.08);font-size:6.7px;letter-spacing:.12em;text-transform:uppercase;color:rgba(208,33,58,.70)}

/* V3.15.214 · status explícito das publicações no /edit/ */
.archive-publication-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.archive-cms-pub-status{font:500 7px/1 "IBM Plex Mono",ui-monospace,monospace;font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 5px;border:1px solid rgba(236,232,223,.14);color:rgba(236,232,223,.48)}
.archive-cms-pub-status.is-live{color:rgba(236,232,223,.58)}
.archive-cms-pub-status.is-hidden{color:#d0213a;border-color:rgba(208,33,58,.42)}
.archive-cms-publication-row.is-unpublished>a{opacity:.58}
