:root{color-scheme:dark;--ink:#ebeee1;--muted:#a8b2a4;--accent:#bde9b6;--bg:#101917;--line:#3b4840}*{box-sizing:border-box}body{margin:0;background:#101917;color:var(--ink);font:15px/1.6 system-ui,sans-serif;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a.primary{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:#15201ce8;padding:11px 18px;text-decoration:none;border-radius:3px}button:hover,a.primary:hover{background:#314335;border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e9b263;outline-offset:4px}button.primary,a.primary{background:var(--accent);color:#132017;border-color:var(--accent);font-weight:650}#world{position:fixed;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:26px 4%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#0b1411e6,transparent);z-index:3;gap:20px}.brand{display:flex;gap:18px;align-items:center;color:var(--ink);text-decoration:none;font-size:32px;font-weight:850;letter-spacing:-2px}.brand>span{color:var(--accent)}.brand small{font-size:12px;line-height:1.55;letter-spacing:2px;font-weight:600}.brand em{font-style:normal;font-size:8px;color:var(--muted);letter-spacing:1.2px}nav{display:flex;gap:8px}nav button{font-size:12px}nav button span{margin-left:16px;color:var(--accent)}.panel{position:fixed;top:50%;transform:translateY(-47%);left:6%;width:min(540px,45vw);padding:32px;background:linear-gradient(90deg,#101917ee,#101917b0,transparent);z-index:2}.eyebrow{font:10px/1.5 ui-monospace,monospace;letter-spacing:2px;color:var(--accent)}.eyebrow span{display:inline-block;margin-left:15px;border:1px solid #57745a;padding:3px 7px;font-size:8px}h1{font-size:clamp(45px,5.5vw,88px);line-height:1.02;letter-spacing:-4px;margin:27px 0}h1 i{font-family:Georgia,serif;font-weight:400;color:var(--accent)}p{max-width:66ch;color:#c1cbbb}.panel p{font-size:14px;max-width:380px}.fine{font-size:11px!important;color:var(--muted);line-height:1.7}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.actions span{margin-left:20px}footer{position:fixed;bottom:0;padding:15px 4%;width:100%;display:flex;align-items:center;gap:9px;background:#0c1513de;font:10px ui-monospace,monospace;color:var(--muted);z-index:3}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.footer-right{margin-left:auto;letter-spacing:1px}.footer-right b{color:var(--accent);margin:0 10px}.location{position:fixed;bottom:75px;left:4%;display:flex;flex-direction:column;gap:5px;text-shadow:0 2px 8px #000}.location span{font:10px monospace;letter-spacing:2px;color:var(--accent)}.location strong{font-size:20px}#inspect{position:fixed;bottom:75px;right:4%}.crosshair{position:fixed;top:50%;left:50%;color:#e5f5dabb;pointer-events:none}dialog{width:min(780px,94vw);max-height:85dvh;background:#111d19;color:var(--ink);border:1px solid #5b7360;border-radius:6px;padding:32px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#050c09c9;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-head h2{margin:8px 0 24px;font-size:32px;letter-spacing:-1px}.close{font-size:24px;padding:0 12px}h2{font-size:30px;line-height:1.2}h3{font-size:15px;color:var(--accent);margin-top:28px}label{display:block;font-size:12px;margin:12px 0}input[type=search]{width:100%;padding:12px;background:#0a120f;color:var(--ink);border:1px solid var(--line);font:inherit}input[type=range]{vertical-align:middle;max-width:65%}.filters{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.filters button{font-size:11px;padding:6px 10px}.filters button.active{background:#bde9b6;color:#142018}.project-row{display:grid;grid-template-columns:1fr auto;gap:15px;padding:18px 0;border-top:1px solid var(--line)}.project-row h3{margin:0 0 4px;font-size:16px}.project-row p{margin:5px 0;font-size:12px}.project-row button{align-self:center;font-size:12px}.child{border-left:2px solid #648768;padding-left:14px;margin:18px 0}.child h3{margin:0}.child p{font-size:12px}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:#fff;color:#000;padding:12px}.skip:focus{top:10px}#touch{position:fixed;bottom:80px;left:20px;z-index:4}#touch span{font:10px monospace;display:block;margin:5px}.dpad{display:grid;grid-template-columns:40px 40px 40px;gap:3px}.dpad button{padding:10px;touch-action:none}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}#phoneBar{position:fixed;top:0;z-index:20;background:#101917cc;width:100%;padding:6px;display:flex;align-items:center;gap:8px;font-size:10px}#phoneBar[hidden], [hidden]{display:none!important}body.phone header,body.phone footer,body.phone #hud,body.phone #touch{display:none}.fallback{position:fixed;top:30%;padding:30px;background:#101917}select{background:#17271f;color:var(--ink);padding:6px}.phone dialog{max-height:70dvh}#status{max-width:60vw}@media(max-width:760px){header{padding:15px;flex-wrap:wrap;gap:10px}.brand{font-size:24px}.brand small{font-size:9px}nav{width:100%;gap:5px}nav button{flex:1;font-size:10px;padding:8px}.panel{left:5%;width:90%;top:54%;padding:18px;background:#101917d8}h1{font-size:52px;letter-spacing:-2px;margin:18px 0}.panel p{font-size:12px}.eyebrow{font-size:8px}.footer-right{display:none}footer{font-size:9px}.location{bottom:215px}.location strong{font-size:15px}#inspect{bottom:90px;font-size:12px}dialog{padding:22px}#phoneBar span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#media{width:min(780px,95vw)}#media input[type=text]{width:100%}#media audio{width:100%;margin:12px 0}#youtubePlayer iframe{width:100%;height: min(50vh,380px);min-height:200px;border:0;margin-top:16px}#media meter{width:180px}#media button{margin:5px}nav{flex-wrap:wrap}

#shaderPreview{width:100%;height:auto;max-height:260px;aspect-ratio:2;object-fit:contain;border:1px solid #476454;background:#071519}

.fx-layer{border:1px solid #4c695d;border-radius:8px;margin:10px 0;padding:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.fx-layer label{flex:1 1 120px}.fx-layer select{max-width:100%}#masterFxOff{border:2px solid #f0b899}#cctvExitFloat{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);z-index:40;background:#18241e;border:2px solid #efc587;padding:14px}
