:root{color-scheme:dark;--bg:#080e0b;--panel:#0c1410;--ink:#e3ebe3;--muted:#92a197;--dim:#7b8f81;--green:#b5f3a3;--bright:#8ee38b;--line:rgba(177,211,185,.17);--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--sans:Inter,"Helvetica Neue","PingFang SC","Microsoft YaHei",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:var(--bg);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{border:0;color:inherit;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:1px solid var(--green);outline-offset:5px}button:focus:not(:focus-visible){outline:none}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}::selection{background:#b5f3a3;color:#0c1410}[hidden]{display:none!important}kbd{font:10px var(--mono);border:1px solid var(--line);padding:3px 5px;color:var(--muted);border-radius:2px;white-space:nowrap}small{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:50%;transform:translate(-50%,-200%);z-index:100;background:var(--green);color:#09110c;padding:10px 20px}.skip-link:focus{transform:translate(-50%,0)}
.world-container,.scene-shade,.film-grain,.scanlines{position:fixed;inset:0}#world{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#world:active{cursor:grabbing}.world-container{background:radial-gradient(ellipse at 60% 48%,#1b3020 0,#080e0b 65%)}.scene-shade{pointer-events:none;background:linear-gradient(180deg,rgba(3,8,5,.7),transparent 20%,transparent 70%,rgba(3,8,5,.72)),linear-gradient(90deg,rgba(2,6,3,.74),rgba(2,6,3,.1) 45%,transparent 70%);transition:opacity 1.2s;z-index:1}.exploring .scene-shade{opacity:.4}.film-grain{z-index:2;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}.scanlines{z-index:2;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.06) 4px);opacity:.45}
.site-header{position:fixed;z-index:5;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:29px 40px;gap:20px}.brand{font:12px var(--mono);letter-spacing:2px;display:flex;align-items:center;gap:16px;white-space:nowrap}.brand-symbol{width:21px;height:25px;display:block;position:relative}.brand-symbol i{position:absolute;background:var(--green);width:3px;transform:skewY(-27deg)}.brand-symbol i:nth-child(1){height:24px;left:0;top:1px}.brand-symbol i:nth-child(2){height:17px;left:7px;top:0}.brand-symbol i:nth-child(3){height:10px;left:14px;top:-1px}.brand-space{color:var(--muted);font-size:10px}.brand-divider{color:var(--dim);padding:0 5px}.brand-cursor{display:inline-block;width:5px;height:10px;background:var(--green);margin-left:8px;vertical-align:middle}.header-nav{display:flex;align-items:center;gap:10px}.nav-button{padding:10px 13px;display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.04em;border:1px solid transparent;transition:background .2s,border .2s,color .2s}.nav-button:hover{background:rgba(151,189,150,.07);border-color:var(--line);color:var(--green)}.nav-button kbd{border:0;font-size:9px;padding-left:8px;color:var(--dim)}.nav-arrow{margin-left:8px;color:var(--green)}
.world-status{position:fixed;left:41px;top:103px;z-index:3;font:9px var(--mono);letter-spacing:1.1px;color:#8eab93;display:flex;align-items:center;gap:10px}.status-light{width:4px;height:4px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 8px #8ee38b80}.status-rule{width:27px;height:1px;background:var(--line);margin:0 4px}#coordinates{color:var(--dim)}
.intro{position:fixed;z-index:4;left:6.4vw;top:34%;width:560px;max-width:60vw;transition:opacity .6s,transform .8s;transform:translateY(0)}.exploring .intro{opacity:0;transform:translateY(-18px);pointer-events:none;visibility:hidden;transition:opacity .6s,transform .8s,visibility .8s}.eyebrow{font:9px var(--mono);letter-spacing:2px;color:#b5c9b6;display:flex;align-items:center;gap:10px}.tiny-cross{font-size:16px;color:var(--green)}h1{font-size:clamp(44px,5.3vw,84px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:23px 0 27px}h1 em{font-style:normal;color:var(--green);font-weight:300}.intro-caption{display:flex;align-items:center;gap:13px}.caption-line{width:27px;height:1px;background:var(--green)}.intro-caption p{font-size:17px;font-weight:400;letter-spacing:1px;margin:0}.intro-description{font-size:12px;line-height:2;color:#95a69a;margin:18px 0 25px}.intro-actions{display:flex;gap:26px;align-items:center}.primary-button{display:flex;align-items:center;justify-content:space-between;min-width:154px;padding:13px 19px;background:var(--green);color:#142018;font-size:12px;font-weight:500;gap:30px;transition:background .2s,transform .2s}.primary-button:hover{background:#d4ffca;transform:translateY(-2px)}.button-arrow{font-size:21px;line-height:1}.text-button{color:var(--muted);font-size:11px;padding:10px 0;display:inline-flex;align-items:center;gap:12px}.text-button:hover{color:var(--green)}.intro-footnote{display:flex;gap:13px;align-items:center;font:8px var(--mono);letter-spacing:.9px;color:var(--dim);margin-top:22px}.footnote-divider{height:10px;width:1px;background:var(--line)}
.hotspots{position:fixed;inset:0;z-index:3;pointer-events:none}.hotspot{position:absolute;top:0;left:0;pointer-events:auto;white-space:nowrap;display:flex;align-items:center;gap:9px;padding:8px 11px;background:rgba(7,15,10,.72);border:1px solid rgba(174,226,169,.25);backdrop-filter:blur(8px);font:10px var(--mono);letter-spacing:1px;transition:background .25s,border-color .25s;will-change:transform;box-shadow:0 3px 16px #0003}.hotspot:hover,.hotspot.active{background:rgba(35,62,39,.88);border-color:var(--green)}.hotspot-number{color:var(--green);font-size:9px}.hotspot-arrow{font-size:14px;color:var(--muted);margin-left:3px}.hotspot::after{content:"";position:absolute;left:50%;width:1px;height:24px;top:100%;background:linear-gradient(#b5f3a366,transparent)}body:not(.exploring) .hotspot{opacity:.72}.hotspot[data-visible="false"]{visibility:hidden;pointer-events:none}.crosshair{position:fixed;top:50%;left:50%;width:12px;height:12px;z-index:3;opacity:.4;pointer-events:none}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--green)}.crosshair:before{height:1px;width:12px;top:6px;left:-6px}.crosshair:after{width:1px;height:12px;top:0;left:0}.explore-hint{position:fixed;z-index:4;bottom:123px;left:50%;transform:translateX(-50%);display:flex;gap:20px;align-items:center;color:#a6b5aa;font-size:11px;letter-spacing:1px;pointer-events:none;white-space:nowrap}.hint-bracket{color:var(--bright);font:18px var(--mono)}.focus-exhibit{position:fixed;z-index:4;bottom:114px;left:50%;transform:translateX(-50%);background:#0d1913db;border:1px solid var(--line);backdrop-filter:blur(15px);display:flex;align-items:center;gap:16px;padding:13px 18px;min-width:300px;text-align:left}.focus-icon{color:var(--green);font:24px var(--mono)}.focus-exhibit small{display:block;font:8px var(--mono);letter-spacing:1.4px;color:var(--muted);margin-bottom:3px}.focus-exhibit strong{font-size:14px;font-weight:400;letter-spacing:.3px}.focus-enter{margin-left:auto;color:var(--green);font-size:10px;display:flex;gap:10px;align-items:center}.focus-exhibit:hover{border-color:var(--green)}
.mini-map{position:fixed;z-index:4;right:39px;bottom:108px;width:128px}.mini-map-open{padding:0;width:100%;text-align:left}.mini-map-heading{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:1.4px;color:var(--muted);padding-bottom:9px;border-bottom:1px solid var(--line)}#mini-map-svg{width:100%;height:134px;padding:8px 4px}.map-wall{stroke:#74927b;stroke-width:.6;fill:none;opacity:.5}.map-aisle{stroke:#82c990;stroke-width:.8;stroke-dasharray:3 6;fill:none;opacity:.4}.map-nodes rect{fill:#121f17;stroke:#7bb385;stroke-width:.8}.player-icon{fill:var(--green)}.player-glow{fill:#b5f3a315}.mini-map-label{font:7px var(--mono);color:var(--dim);letter-spacing:1.3px;display:flex;align-items:center;gap:6px}.mini-map-open:hover .mini-map-heading{color:var(--green)}
.experience-footer{position:fixed;z-index:5;bottom:0;left:0;width:100%;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(171,210,177,.1);background:linear-gradient(transparent,#080e0b66)}.location-caption{display:flex;align-items:center;font:10px var(--mono);letter-spacing:1.3px;gap:10px}.location-marker{width:3px;height:12px;background:var(--green)}.footer-byline{font-size:7px;letter-spacing:1px;color:var(--dim);margin-left:15px}.keyboard-hints{display:flex;gap:24px;color:#83978a;font-size:9px}.keyboard-hints>span{display:flex;align-items:center;gap:8px}.drag-icon{font-size:19px}.footer-controls{display:flex;gap:18px;align-items:center}.footer-controls button{padding:4px 0;display:flex;align-items:center;gap:8px;color:var(--muted);font:8px var(--mono);letter-spacing:1px}.footer-controls button:hover,.footer-controls button[aria-pressed="true"]{color:var(--green)}.footer-controls svg{width:16px;height:16px}
dialog{margin:0 0 0 auto;position:fixed;inset:18px 18px 18px auto;width:min(680px,calc(100% - 36px));max-width:none;height:calc(100% - 36px);max-height:none;border:1px solid #405548;box-shadow:-30px 0 100px #0006;background:rgba(10,18,13,.98);color:var(--ink);padding:0;overflow:hidden;outline:none}dialog::backdrop{background:#0207049c;backdrop-filter:blur(5px)}dialog[open]{display:flex;flex-direction:column;animation:panel-in .3s ease-out}dialog.wide{inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(1020px,calc(100% - 64px));height:min(760px,calc(100% - 70px))}dialog.compact{inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;width:min(550px,calc(100% - 40px));height:auto;max-height:calc(100% - 40px)}.panel-header{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-shrink:0;padding:19px 26px;border-bottom:1px solid var(--line)}.panel-brand{color:var(--green);font:9px var(--mono);letter-spacing:1px}#panel-path{font:8px var(--mono);color:var(--dim);letter-spacing:1px;margin-left:auto}.icon-button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:8px;border:1px solid var(--line);color:var(--muted)}.icon-button:hover{color:var(--green);border-color:var(--green)}.panel-content{overflow:auto;overscroll-behavior:contain;padding:33px 36px 36px;scrollbar-width:thin;scrollbar-color:#354d3d transparent;flex:1}.panel-kicker{font:9px var(--mono);letter-spacing:1.8px;color:var(--green);display:flex;align-items:center;gap:12px}.panel-kicker:before{content:"";width:18px;height:1px;background:var(--green)}.panel-content h2{font-size:38px;letter-spacing:-1.2px;line-height:1.15;font-weight:400;margin:16px 0 12px}.panel-lead{color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 25px;max-width:570px}.project-category{display:flex;align-items:center;justify-content:space-between;margin-top:22px;font:8px var(--mono);letter-spacing:1px;color:var(--dim)}.status-tag{padding:4px 7px;border:1px solid var(--line);color:#a2b3a6;font-size:9px;letter-spacing:.5px}.status-tag.open{color:var(--green)}.project-description{color:#b5c2b9;line-height:1.95;font-size:13px;margin:25px 0}.tech-list{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.tech-list span{font:9px var(--mono);color:#92ad9b;background:#14231a;padding:5px 9px;border:1px solid #2e4734}.project-role{font-size:11px;color:var(--dim);border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.detail-highlights{margin:27px 0;display:grid;gap:21px}.detail-highlight{display:grid;grid-template-columns:25px 1fr;column-gap:11px}.detail-highlight .highlight-num{font:9px var(--mono);color:var(--dim);padding-top:3px}.detail-highlight h3{font-size:13px;font-weight:500;letter-spacing:.5px;margin:0 0 5px}.detail-highlight p{font-size:12px;line-height:1.9;color:var(--muted);margin:0}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.outline-button{border:1px solid #425e4b;padding:10px 15px;font-size:11px;display:inline-flex;align-items:center;gap:20px;color:var(--green);transition:background .2s}.outline-button:hover{background:#1c3021}.project-paging{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:31px;padding-top:20px;font-size:10px;color:var(--muted);gap:20px}.project-paging button{padding:0;color:var(--green);font-size:11px}.project-paging button:hover{text-decoration:underline;text-underline-offset:5px}.back-text{display:inline-flex;color:var(--muted);font-size:10px;margin-bottom:23px;gap:8px}.back-text:hover{color:var(--green)}
.project-art{position:relative;aspect-ratio:1.85;background:radial-gradient(ellipse at 50% 50%,#192c1e,#0a130e 75%);border:1px solid var(--line);margin:24px 0 8px;overflow:hidden}.project-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#98cfa908 1px,transparent 1px),linear-gradient(90deg,#98cfa908 1px,transparent 1px);background-size:28px 28px}.project-art svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.art-label{position:absolute;left:14px;top:12px;font:7px var(--mono);letter-spacing:1.3px;color:var(--dim)}.art-foot{position:absolute;bottom:10px;left:14px;right:14px;display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:1px;color:var(--dim)}.demo-button{position:absolute;right:12px;top:10px;border:1px solid #47694e;padding:4px 7px;font:8px var(--mono);color:var(--green);z-index:2}.demo-button:hover{background:#294432}.diagram-line{fill:none;stroke:#729a79;stroke-width:.7}.diagram-node{fill:#15271a;stroke:#90bd94;stroke-width:.8}.diagram-text{font:9px var(--mono);fill:#b8d0b8;text-anchor:middle}.diagram-dim{font:6px var(--mono);fill:#657e6b;text-anchor:middle}.diagram-accent{fill:#c0f4b0}.diagram-glow{filter:drop-shadow(0 0 4px #9eed97)}.project-art.running .route-pulse{animation:route-pulse 1.5s linear infinite}.project-art.running .signal-bar{animation:wave .9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 50%}.project-art.running .signal-bar:nth-child(3n){animation-delay:-.3s}.project-art.running .signal-bar:nth-child(3n + 1){animation-delay:-.6s}.demo-caption{font-size:10px;color:var(--dim);margin:7px 0 0}
.index-topline{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.index-count{font:10px var(--mono);color:var(--dim);padding-bottom:17px}.search-wrap{position:relative;margin:24px 0 18px}.search-wrap svg{position:absolute;width:16px;height:16px;left:13px;top:14px;fill:none;stroke:var(--dim);stroke-width:1.2}.search-wrap input{width:100%;border:1px solid var(--line);background:#101d15;color:var(--ink);padding:12px 13px 12px 40px;border-radius:0;font-size:12px}.search-wrap input::placeholder{color:var(--dim)}.filter-list{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.filter-button{padding:6px 11px;font-size:10px;border:1px solid transparent;color:var(--muted)}.filter-button:hover{color:var(--green)}.filter-button.active{background:#1c3021;border-color:#3d5c44;color:var(--green)}.project-list{border-top:1px solid var(--line)}.project-row{width:100%;display:grid;grid-template-columns:28px 1fr 90px 16px;align-items:center;gap:18px;text-align:left;padding:19px 8px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.project-row:hover{background:#15241b;padding-left:14px}.row-number{font:9px var(--mono);color:var(--dim);align-self:start;padding-top:5px}.row-main{min-width:0}.row-main strong{font-size:16px;font-weight:400;display:block;letter-spacing:-.2px}.row-main p{margin:4px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}.row-category{font-size:9px;color:var(--dim);text-align:right}.row-arrow{font:18px var(--mono);color:var(--green)}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-weight:400;margin-bottom:7px}.empty-state button{font-size:11px;color:var(--green);margin-top:13px}
.map-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:28px}.floor-map{height:410px;position:relative;border:1px solid var(--line);background:repeating-linear-gradient(0deg,transparent,transparent 29px,#55735b0d 30px),repeating-linear-gradient(90deg,transparent,transparent 29px,#55735b0d 30px);padding:40px 25px 34px;display:flex;flex-direction:column;justify-content:space-between}.floor-map:before{content:"";position:absolute;left:50%;top:50px;bottom:46px;border-left:1px dashed #5e9866}.floor-map:after{content:"FLOOR 01 / THE CONSTRUCT";position:absolute;left:14px;top:12px;font:7px var(--mono);letter-spacing:1px;color:var(--dim)}.floor-map-pair{display:flex;justify-content:space-between;gap:62px;position:relative}.floor-node{position:relative;border:1px solid #46654d;background:#132219;color:var(--green);padding:13px 12px;min-width:76px;line-height:1.4;font:10px var(--mono);text-align:center}.floor-node small{display:block;font:7px var(--mono);color:var(--muted);margin-top:5px;white-space:nowrap}.floor-node:hover,.floor-node.active{background:#2a4530;border-color:#b5f3a3;box-shadow:0 0 20px #aaff9920}.floor-map-entry{font:8px var(--mono);letter-spacing:1px;text-align:center;color:var(--muted);position:relative;background:#0c1410;padding:5px;margin-bottom:-10px;align-self:center}.map-legend{display:flex;flex-direction:column;justify-content:center;gap:4px}.map-legend button{text-align:left;padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:center}.map-legend button:hover strong{color:var(--green)}.map-legend span{font:9px var(--mono);color:var(--dim)}.map-legend strong{font-weight:400;font-size:13px}.map-legend small{display:block;color:var(--dim);font-size:10px}.map-legend .legend-arrow{margin-left:auto;color:var(--green);font-size:18px}.map-note{font-size:10px;color:var(--dim);line-height:1.9;margin-top:18px}
.about-title{font-size:58px!important;line-height:1!important;letter-spacing:-2px!important}.about-title span{color:var(--green)}.about-meta{display:flex;gap:22px;font:9px var(--mono);color:var(--muted);margin:20px 0 28px;flex-wrap:wrap}.about-copy{font-size:14px;line-height:2;color:#b5c2b9;margin:30px 0}.section-label{font:8px var(--mono);color:var(--green);letter-spacing:2px;margin:29px 0 18px;display:flex;align-items:center;gap:12px}.section-label:after{content:"";height:1px;flex:1;background:var(--line)}.timeline-item{display:grid;grid-template-columns:48px 1fr;gap:15px;padding:13px 0}.timeline-item>span{font:10px var(--mono);color:var(--dim);padding-top:4px}.timeline-item h3{font-size:13px;font-weight:400;margin:0 0 5px}.timeline-item p{color:var(--muted);font-size:11px;line-height:1.9;margin:0}.principles{display:flex;gap:8px;flex-wrap:wrap}.principles span{border:1px solid var(--line);padding:7px 10px;color:var(--muted);font-size:10px}.contact-block{padding:23px 0;border-top:1px solid var(--line);margin-top:30px}.contact-block p{color:var(--muted);font-size:12px}.contact-link{display:flex;align-items:center;gap:12px;font:19px var(--mono);color:var(--green);margin:15px 0}.contact-link span{font-size:22px}.contact-small-links{display:flex;gap:18px;margin-top:20px;flex-wrap:wrap}.contact-small-links a,.contact-small-links button{font-size:11px;color:var(--muted);padding:0}.contact-small-links a:hover,.contact-small-links button:hover{color:var(--green)}
.setting-row{display:flex;align-items:center;justify-content:space-between;padding:21px 0;border-bottom:1px solid var(--line);gap:20px}.setting-row label,.setting-row strong{font-size:13px;font-weight:400}.setting-row p{font-size:10px;line-height:1.8;color:var(--muted);margin:5px 0 0}.setting-row select{color:var(--green);background:#15251a;border:1px solid #3d5844;padding:7px 10px;font-size:11px;max-width:135px}.setting-row input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.control-reference{margin:25px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px;color:var(--muted);font-size:10px}.control-reference span{display:flex;gap:10px;align-items:center}.setting-footnote{font-size:10px;color:var(--dim);line-height:1.9;margin-top:25px}.toast{position:fixed;z-index:50;bottom:96px;left:50%;transform:translateX(-50%);border:1px solid #6b976f;background:#102018;padding:10px 20px;font-size:11px;color:var(--green);box-shadow:0 8px 35px #0008;max-width:calc(100% - 40px);text-align:center}.fallback-notice{position:fixed;right:40px;bottom:110px;z-index:4;display:flex;flex-direction:column;gap:8px;font-size:10px;color:var(--muted);background:#0c1912cc;border-left:1px solid var(--green);padding:12px 15px}.fallback-notice button{padding:0;text-align:left;color:var(--green);font-size:11px}.no-webgl .mini-map,.no-webgl .hotspots,.no-webgl .keyboard-hints{display:none}.no-webgl .world-container{background:linear-gradient(90deg,#080e0b99,#080e0b33),url('../assets/construct-preview.png') center/cover}.noscript-content{position:fixed;inset:130px 30px 80px;z-index:6;background:#0c1410;padding:30px;overflow:auto}.noscript-content h1{font-size:32px}.noscript-content a{color:var(--green);text-decoration:underline}.touch-controls{position:fixed;z-index:4;left:22px;bottom:94px;text-align:center}.touch-controls>button{margin-bottom:5px}.touch-controls>div{display:flex;gap:5px}.touch-controls button{height:39px;width:39px;border:1px solid #65846a80;background:#0e1a13a8;backdrop-filter:blur(8px);color:var(--green);font-size:20px;touch-action:none;user-select:none}.touch-controls button:active{background:#35573e}
@keyframes panel-in{from{opacity:0;translate:18px 0}to{opacity:1;translate:0 0}}@keyframes wave{from{scale:1 .45}to{scale:1 1}}@keyframes route-pulse{to{stroke-dashoffset:-100}}
@media(min-width:1600px){.intro{left:8%;top:35%}.site-header{padding:34px 50px}.world-status{left:51px;top:115px}.experience-footer{padding:26px 50px}.mini-map{right:50px}}
@media(max-width:1100px){.footer-byline{display:none}.site-header{padding:24px 28px}.world-status{left:29px;top:89px}.experience-footer{padding:20px 28px}.intro{left:7%;max-width:70vw}.keyboard-hints{gap:15px}.mini-map{right:28px;bottom:100px}.nav-about{display:none}.map-layout{gap:26px}}
@media(max-height:750px) and (min-width:761px){.intro{top:30%}h1{font-size:clamp(44px,5vw,70px);margin:17px 0 22px}.intro-description{margin:14px 0 20px}.intro-footnote{margin-top:16px}.mini-map{width:100px;bottom:100px}#mini-map-svg{height:110px}.world-status{top:85px}.intro-caption p{font-size:15px}}
@media(max-width:760px){.site-header{padding:22px 21px;gap:12px}.brand{font-size:10px;gap:12px;letter-spacing:1.4px}.brand-space,.brand-divider,.brand-cursor{display:none}.brand-symbol{scale:.85;transform-origin:left center;width:16px}.header-nav{gap:3px}.nav-button{padding:8px 9px;gap:6px}.nav-button span{font-size:10px}.nav-button kbd{display:none}.nav-button svg{height:15px;width:15px}.world-status{top:82px;left:22px;font-size:7px;gap:7px;letter-spacing:1px}#coordinates{display:none}.status-rule{display:none}.intro{left:27px;top:auto;bottom:21%;width:calc(100% - 54px);max-width:500px}.eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:clamp(41px,10.5vw,64px);margin:18px 0 25px}.intro-caption p{font-size:15px}.intro-description{font-size:11px;margin:17px 0 23px}.intro-actions{gap:22px}.primary-button{padding:12px 16px;min-width:141px;font-size:11px}.text-button{font-size:10px}.intro-footnote{font-size:6px;letter-spacing:.8px;margin-top:20px;gap:10px}.scene-shade{background:linear-gradient(180deg,#03080570,transparent 20%,#03080577 60%,#030805eb 100%)}.mini-map{right:23px;bottom:auto;top:121px;width:77px;opacity:.65}.mini-map-heading{font-size:6px;padding-bottom:3px}#mini-map-svg{height:85px;padding:4px}.mini-map-label{font-size:5px;letter-spacing:.7px;gap:4px}.mini-map-label .status-light{height:3px;width:3px}.experience-footer{padding:18px 22px;bottom:0;padding-bottom:max(18px,env(safe-area-inset-bottom));gap:12px}.location-caption{font-size:8px;letter-spacing:1px;gap:7px}.keyboard-hints{display:none}.footer-controls{gap:15px}.footer-controls button{font-size:7px;letter-spacing:.8px;gap:6px}.footer-controls svg{width:14px;height:14px}.explore-hint{bottom:93px;font-size:9px;gap:9px;letter-spacing:0;left:auto;right:20px;transform:none;white-space:normal;width:140px;line-height:1.9;text-align:right}.explore-hint .hint-bracket{display:none}.focus-exhibit{bottom:92px;left:auto;right:20px;transform:none;padding:10px 12px;gap:8px;min-width:0;max-width:calc(100% - 175px)}.focus-icon,.focus-enter{display:none}.focus-exhibit strong{font-size:12px}.focus-exhibit small{font-size:6px}.hotspot{padding:6px 8px;gap:7px;font-size:8px;letter-spacing:.5px}.hotspot-number{font-size:7px}.hotspot-arrow{font-size:12px}dialog{inset:10px 10px 10px auto;width:calc(100% - 20px);height:calc(100% - 20px)}dialog.wide{width:calc(100% - 20px);height:calc(100% - 20px)}.panel-header{padding:13px 18px}.panel-brand{font-size:8px}#panel-path{font-size:6px}.panel-content{padding:25px 23px 28px}.panel-content h2{font-size:31px}.panel-lead{font-size:12px}.panel-kicker{font-size:8px;letter-spacing:1.2px}.project-art{aspect-ratio:1.6}.project-description{font-size:12px}.project-role{font-size:10px}.detail-highlight p{font-size:11px}.project-row{grid-template-columns:20px 1fr 15px;gap:13px;padding:16px 3px}.row-category{display:none}.row-main strong{font-size:14px}.row-main p{font-size:10px}.row-number{font-size:8px}.index-count{font-size:8px}.filter-list{gap:2px}.filter-button{padding:6px 8px;font-size:9px}.map-layout{grid-template-columns:1fr;gap:22px;margin-top:20px}.floor-map{height:330px}.map-legend{display:none}.floor-node{padding:10px 12px}.floor-map-pair{gap:60px}.map-note{font-size:10px}.about-title{font-size:48px!important}.about-copy{font-size:13px}.contact-link{font-size:18px}.setting-row{padding:18px 0}.setting-row p{font-size:10px}.setting-row select{max-width:120px;font-size:10px}.control-reference{grid-template-columns:1fr}.fallback-notice{left:27px;right:auto;bottom:85px;font-size:9px}.toast{bottom:83px}.no-webgl .intro{bottom:25%}.no-webgl .world-container{background-position:62% center}}
@media(max-width:380px){.header-nav{gap:0}.nav-button{padding:7px}.nav-button span{font-size:9px}.intro{left:22px;width:calc(100% - 44px)}.intro-actions{gap:18px}.intro-caption p{font-size:13px}.intro-footnote{gap:8px}.footer-controls span{display:none}}
@media(max-height:590px) and (max-width:760px){.intro{bottom:19%;top:23%}h1{font-size:36px;margin:12px 0}.intro-description{display:none}.intro-actions{margin-top:18px}.intro-footnote{display:none}.mini-map{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}

.green-period{color:var(--green)}.panel-content h2{overflow-wrap:anywhere}

#panel-title:focus{outline:none}.index-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;color:var(--dim);font-size:10px}@media(max-width:760px){.floor-map-pair{gap:24px}.floor-node{min-width:80px;flex:1}.floor-node small{white-space:normal;font-size:7px}.index-footer{font-size:9px;gap:10px}}
