/* TSAR / TRE release polish. Deliberately scoped to existing components. */
:root{color-scheme:dark;--release-white:#f5f5f2}
*,*::before,*::after{box-sizing:border-box}
a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:5px}
button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}
[hidden]{display:none!important}
footer{flex-wrap:wrap;row-gap:16px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
footer a{display:inline-flex;align-items:center;min-height:44px}
.release-link{display:inline-flex;align-items:center;min-height:44px;padding:12px 0}
#dno-home-final-section{padding-bottom:24px}
.dno-home-card{box-shadow:0 0 38px rgba(255,255,255,.12),0 0 100px rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.34)!important;transition:box-shadow .6s ease,border-color .6s ease}
.dno-home-card:hover,.dno-home-card:focus-within{box-shadow:0 0 55px rgba(255,255,255,.22),0 0 140px rgba(255,255,255,.08);border-color:rgba(255,255,255,.65)!important}
.dno-home-copy small,.dno-home-copy h2{color:#fff!important;text-shadow:0 0 20px rgba(255,255,255,.16)}
.release-form-entry{border-color:rgba(255,255,255,.26)!important}
.release-form-entry h3{letter-spacing:.04em}
#overlay{overscroll-behavior:contain;overflow-y:auto;padding-bottom:max(36px,env(safe-area-inset-bottom))}
#overlay .cols li a{min-height:40px;display:inline-flex;align-items:center}
#overlay .cols li.soon:has(a){opacity:1}
#studio .lead{max-width:44ch}#dj-sets{scroll-margin-top:110px}
body[data-panel="studio"] #dno-home-final-section{display:none!important}
#worlds{min-height:100vh;background:radial-gradient(80% 52% at 82% 2%,rgba(207,181,113,.09),transparent 70%),radial-gradient(55% 40% at 8% 55%,rgba(91,112,126,.07),transparent 75%)}
#worlds>.sec:first-child{padding-bottom:clamp(44px,7vw,90px)}
#worlds>.sec:first-child .lead{max-width:34ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(26px,4vw,54px);line-height:1.13;letter-spacing:-.025em;color:#d9d9d5}
#worlds .rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border-top:0}
#worlds .row{position:relative;min-height:230px;padding:28px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.012));overflow:hidden;align-items:end;transition:transform .45s ease,border-color .45s ease,background .45s ease}
#worlds .row:before{content:"";position:absolute;inset:0;background:radial-gradient(70% 80% at 90% 0%,rgba(255,255,255,.08),transparent 70%);opacity:.65;pointer-events:none}
#worlds a.row:hover,#worlds a.row:focus-visible{padding-left:28px;transform:translateY(-4px);border-color:rgba(255,255,255,.34);background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.018))}
#worlds .row>div,#worlds .row>.tag{position:relative;z-index:1}
#worlds .row h3{max-width:12ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.8vw,56px);font-weight:400;letter-spacing:-.045em;line-height:.94}
#worlds .row .note{font-size:13px;line-height:1.6;max-width:48ch}
#worlds .row>.tag{position:absolute;right:24px;top:24px}
#worlds .row:first-child{grid-column:1/-1;min-height:330px;background:radial-gradient(65% 120% at 85% 100%,rgba(181,145,55,.17),transparent 72%),linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.01))}
#worlds .row:first-child h3{font-size:clamp(46px,7vw,94px);max-width:none}
#worlds .row.soon{opacity:.72}
.release-founder{margin:46px 0 58px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);align-items:end;gap:24px;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:18px}
.release-founder img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:saturate(.9) contrast(1.04);box-shadow:0 0 70px rgba(255,255,255,.07)}
.release-founder figcaption{display:grid;gap:7px;padding:0 0 4px;text-transform:none}
.release-founder figcaption span{font-size:clamp(20px,2.2vw,34px);letter-spacing:-.025em}
.release-founder figcaption small{color:#a8aaa8;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.release-coming-soon{align-items:center}
#viewer[role=dialog]{overscroll-behavior:contain}#close{min-width:44px;min-height:44px}
#futureDock,#futureAura,#futureVeil,#futureProgress{display:none!important}
/* Legacy dock assets remain on disk. Primary navigation is now the single route through the sites. */
.release-journey-exit{position:fixed;right:24px;top:76px;z-index:100;color:#fff;background:#080808bb;border:1px solid #ffffff44;padding:14px 18px;font:11px/1.4 sans-serif;letter-spacing:.08em;text-decoration:none}
.release-info{margin:0;background:#090a0a;color:#f1f1ed;font:16px/1.7 Arial,sans-serif;min-height:100vh}
.release-info a{color:inherit;text-underline-offset:5px}
.release-info header,.release-info footer{display:flex;gap:24px;justify-content:space-between;padding:24px max(24px,6vw);border-bottom:1px solid #ffffff20;font-size:12px}
.release-info main{max-width:850px;margin:80px auto;padding:0 24px 72px}
.release-info h1{font-weight:400;font-size:clamp(38px,7vw,76px);line-height:1.05;letter-spacing:-.04em;margin:0 0 42px}
.release-info p{color:#b5b8b6;max-width:65ch}.release-info p a{color:#fff}
.release-info label{display:grid;gap:10px;margin:22px 0;font-size:13px}
.release-info input,.release-info textarea{font:inherit;padding:15px;border:1px solid #ffffff40;background:#ffffff06;color:#fff;border-radius:0;width:100%}
.release-info button{padding:14px 24px;font:inherit;color:#111;background:#eee;border:0;min-height:48px}
.release-info footer{justify-content:flex-start;border-top:1px solid #ffffff20;border-bottom:0}
#releaseStoreNotice{max-width:1100px;margin:24px auto;padding:20px 24px;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;font:13px/1.7 Arial,sans-serif;color:#b5b8b6}
#releaseStoreNotice a{color:inherit;text-underline-offset:4px}
.bag [data-release-close-bag]{position:absolute;top:18px;right:18px;background:transparent;border:0;color:inherit;min-height:44px;padding:10px}
@media(max-width:700px){
  footer{gap:12px!important;justify-content:flex-start!important}
  #hud{gap:8px 16px!important;flex-wrap:wrap!important;padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;min-height:54px;height:auto!important}
  #hud a{min-height:40px;display:inline-flex;align-items:center}#hud>span:first-child{display:none}
  #hud #fps{display:none}
  #overlay .cols{grid-template-columns:1fr 1fr!important;gap:24px 18px!important}
  #overlay .cols h4{font-size:12px}#overlay .cols li{line-height:1.5}
  .sec-head.with-art{min-height:100px}.row{gap:16px}
  .dno-home-card{box-shadow:0 0 34px #ffffff24!important}
  #panel .card{max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:contain;margin:20px 16px 88px}
  .release-info main{margin-top:50px}.release-info header{gap:16px;flex-wrap:wrap}
  .release-journey-exit{top:70px;right:14px;font-size:10px;max-width:70vw}
  .bag{max-width:100vw;max-height:100dvh;overflow:auto;overscroll-behavior:contain}
  .objects-pro{padding-left:20px!important;padding-right:20px!important}
  #worlds .rows{grid-template-columns:1fr;gap:10px}#worlds .row,#worlds .row:first-child{grid-column:auto;min-height:190px;padding:22px}#worlds a.row:hover,#worlds a.row:focus-visible{padding-left:22px;transform:none}#worlds .row:first-child h3,#worlds .row h3{font-size:clamp(30px,10vw,48px)}#worlds .row>.tag{position:static;align-self:start;justify-self:start;margin-top:8px}
  .release-founder{grid-template-columns:1fr;margin:34px 0 46px;gap:14px}.release-founder figcaption{grid-template-columns:1fr auto;align-items:end}
  .release-coming-soon{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .dno-home-card,.row,.tab,.room,.module,#overlay,#panel,.shot{transition:none!important;animation:none!important}
}
/* Index typography: every label begins with a capital letter. */
#idxBtn,#idxClose,#overlay,#overlay h4,#overlay a,#overlay li,#overlay .meta{text-transform:capitalize!important}
#overlay .journey-label{text-transform:uppercase!important}
@media(max-width:700px){
 #philosophy>.chapter{min-height:0!important;padding-top:130px!important;padding-bottom:12px!important}
 #philosophy .statement{min-height:55vh;padding:40px 24px}
 #philosophy .statement p{opacity:1;transform:none}
 #eco-stage{height:auto!important;display:grid;grid-template-columns:1fr 1fr;gap:28px 16px}
 #eco-stage .node{position:relative;inset:auto!important;transform:none;min-width:0;align-items:flex-start}
 #eco-stage .node span{font-size:10px;letter-spacing:.12em}
 #eco-stage .node .panel{position:static;display:block;visibility:visible;opacity:1;transform:none;width:auto;padding:14px 0;background:none;border:0;font-size:12px;backdrop-filter:none}
 #eco-stage .node .panel strong{display:none}#eco-lines{display:none}
 #org-stage{display:grid;grid-template-columns:1fr 1fr;height:auto!important;gap:12px}
 #org-stage .dept{position:relative;inset:auto!important;transform:none;width:100%;padding:15px 10px;font-size:12px}#org-lines{display:none}
}
body:has(#resetView) #ui:before{content:"";position:absolute;left:0;right:0;bottom:0;height:245px;background:linear-gradient(transparent,rgba(0,0,0,.82));pointer-events:none}
body:has(#resetView) .copy,body:has(#resetView) .controls{z-index:1}
