*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#dae0df;color:#edf3f5;overflow:hidden}#viewer{position:fixed;inset:0}canvas{display:block;touch-action:none}button,input{font:inherit}button{cursor:pointer;border:1px solid #43515a;background:#233039;color:#eef3f4;border-radius:8px;padding:10px 14px;font-size:14px}button:hover{background:#354650}button:focus-visible{outline:3px solid #5fdfc4;outline-offset:3px}header{position:fixed;top:20px;left:20px;right:20px;display:flex;align-items:center;gap:18px;pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;background:#172229f2;padding:13px 20px;border-radius:12px;box-shadow:0 8px 30px #16202915}.mark{font-size:30px;color:#5fdfc4}h1{margin:0;font-size:19px;font-weight:600}p{margin:4px 0 0;font-size:13px;color:#b3c3ca}.modes{display:flex;background:#172229f2;border-radius:10px;padding:5px;gap:4px}.modes button{border:0;background:transparent}.modes .active{background:#5fdfc4;color:#092820}#reset{margin-left:auto;background:#172229f2}aside{position:fixed;top:112px;left:20px;width:220px;background:#172229ee;border:1px solid #34434b;padding:20px;border-radius:12px;box-shadow:0 14px 35px #13222d20}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#8ba0aa;margin-bottom:16px}aside button{width:100%;margin-bottom:8px;text-align:left;display:flex;justify-content:space-between}label{font-size:14px;display:flex;align-items:center;gap:10px;padding:9px 0;cursor:pointer}input{accent-color:#5fdfc4;width:17px;height:17px}.rule{height:1px;background:#3a4850;margin:12px 0}.note{font-size:12px;line-height:1.6;color:#aab9c0}footer{position:fixed;bottom:20px;left:20px;right:20px;display:flex;align-items:end;justify-content:space-between;gap:15px;pointer-events:none}.north{background:#172229ed;border-radius:10px;padding:12px 18px;color:#5fdfc4;font-size:18px}.north small{display:block;color:#aebdc4;font-size:12px;margin-top:5px}#crosshair{position:fixed;top:50%;left:50%;font-size:24px;text-shadow:0 1px 3px #000;pointer-events:none}#walkHint{position:fixed;left:50%;top:45%;transform:translate(-50%,-50%);background:#172229f5;border:1px solid #607680;padding:26px;border-radius:14px;text-align:center}#walkHint p{margin:12px 0 18px;font-size:14px}#capture{background:#5fdfc4;color:#10352c}#loading{position:fixed;inset:0;display:grid;place-content:center;background:#172229;font-size:18px}#touch{position:fixed;bottom:100px;right:20px;text-align:center}#touch button{font-size:22px;width:48px;height:48px;margin:3px;touch-action:none}body.walking aside{display:none}@media(max-width:700px){header{top:10px;left:10px;right:10px;gap:8px;flex-wrap:wrap}.brand{padding:10px 14px}.brand p{display:none}h1{font-size:16px}.mark{font-size:24px}header button{padding:9px 11px}#reset{margin-left:0}#reset span{display:none}aside{left:10px;top:116px;width:180px;padding:14px}.note{display:none}.north{display:none}footer{bottom:10px;left:10px;right:10px}#walkHint{width:85%}}
button.primary{background:#5fdfc4;color:#10362b;border-color:#5fdfc4;font-weight:600}#renderStatus{position:fixed;right:20px;top:100px;width:320px;padding:18px;background:#172229f5;border:1px solid #50606a;border-radius:12px;box-shadow:0 10px 35px #0002}#renderStatus>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}#renderStatus p{line-height:1.6}#renderStatus progress{width:100%;height:9px;margin-top:12px;accent-color:#5fdfc4}#renderStatus button{padding:5px 10px}#renderRecovery{margin-top:12px}dialog{background:#172229;color:#edf3f5;border:1px solid #52616a;border-radius:16px;padding:26px;box-shadow:0 20px 80px #0005;width:min(1000px,94vw);max-height:88vh}dialog::backdrop{background:#0b141c9c;backdrop-filter:blur(4px)}#renderOptions{width:min(450px,92vw)}dialog h2{font-size:22px;margin:0 0 8px}dialog p{font-size:14px;line-height:1.6}dialog select{background:#253740;color:#fff;border:1px solid #52666f;border-radius:7px;font-size:15px;padding:9px}#renderOptions label{margin:20px 0;justify-content:space-between}#startRender{width:100%;margin-top:22px}.close{float:right;border:0;font-size:22px;padding:0 6px}.dialogHead{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}#galleryGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}article.renderCard{border:1px solid #3d515b;border-radius:10px;overflow:hidden;background:#203039}article.renderCard img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#dfe5e5;display:block}.cardBody{padding:14px}.cardBody p{margin:0 0 12px}.cardActions{display:flex;gap:8px;flex-wrap:wrap}.cardActions a{color:#e8f2f1;text-decoration:none;border:1px solid #52656f;border-radius:7px;padding:9px 12px;font-size:14px}.cardActions button{padding:9px 12px}#galleryMessage{margin-bottom:16px}#galleryMore{margin-top:20px}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#173c35;color:#e1fff5;border:1px solid #5fdfc4;padding:14px 22px;border-radius:10px;max-width:90vw;z-index:20;font-size:14px}@media(max-width:900px){header{flex-wrap:wrap}#reset{margin-left:0}aside{top:160px}#renderStatus{top:auto;bottom:75px;right:10px;width:min(320px,94vw)}#galleryGrid{grid-template-columns:1fr}dialog{padding:18px}#renderShot,#galleryOpen{font-size:13px;padding:9px 10px}}

header{right:80px}footer{justify-content:flex-end}#toggleUI{position:fixed;top:20px;right:20px;z-index:100;width:44px;height:44px;padding:10px;background:#172229ee;display:grid;place-items:center}#toggleUI svg{width:24px;height:24px}.eyeSlash{display:none}body.interface-hidden .eyeSlash{display:block}body.interface-hidden> :not(#viewer):not(#toggleUI):not(script){visibility:hidden!important;pointer-events:none!important}body.interface-hidden dialog::backdrop{background:transparent;backdrop-filter:none}@media(max-width:700px){header{right:64px}#toggleUI{top:10px;right:10px}}

[hidden]{display:none!important}aside{width:258px;max-height:calc(100vh - 145px);overflow-y:auto}#sceneView{width:100%;background:#253740;color:#eff6f5;border:1px solid #52666f;border-radius:8px;font-size:14px;padding:11px 8px}#sceneInfo{font-size:12px;line-height:1.5;margin-top:8px}#sceneInfo:empty{display:none}#optionalControls{border-left:2px solid #74bad2;padding-left:10px}#optionalControls .rule{display:none}#optionalControls label{align-items:flex-start;line-height:1.5}#optionalControls input{flex-shrink:0}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:900px){aside{max-height:calc(100vh - 235px)}}@media(max-width:700px){aside{width:225px;padding:12px;max-height:calc(100vh - 235px)}#optionalDescription{display:block}.brand{max-width:calc(100vw - 85px)}h1{font-size:15px}header{gap:6px}}

header{right:136px}#annotationToggle{position:fixed;top:20px;right:74px;z-index:99;width:44px;height:44px;padding:10px;background:#172229ee;display:grid;place-items:center}#annotationToggle svg{width:24px;height:24px}#annotationToggle[aria-pressed=true]{color:#172229;background:#5fdfc4}#annotationCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;touch-action:none}#annotationPanel{position:fixed;right:20px;top:80px;width:270px;background:#172229f5;border:1px solid #52666f;border-radius:12px;padding:17px;z-index:30}#annotationColors{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0}.annotationSwatch{width:32px;height:32px;padding:0;border-radius:50%;border:2px solid transparent;justify-self:center}.annotationSwatch[aria-pressed=true]{outline:2px solid white;outline-offset:3px}.annotationActions{display:flex;gap:8px;justify-content:flex-end;margin:12px 0}.annotationActions button{font-size:13px;padding:9px 10px}#annotationNavigate[aria-pressed=true]{background:#5fdfc4;color:#172229}#annotationPanel p{font-size:12px;line-height:1.6}#annotationStatus{color:#9edecf;margin-top:10px}#annotationNote{width:min(480px,94vw)}#annotationText{width:100%;resize:vertical;border:1px solid #6c838b;border-radius:8px;background:#253740;color:#fff;padding:12px;font:16px/1.5 Arial}body.interface-hidden #annotationCanvas{visibility:hidden!important;pointer-events:none!important}@media(max-width:700px){header{right:116px}#annotationToggle{top:10px;right:62px}#annotationPanel{right:10px;top:64px;width:250px;max-height:calc(100vh - 80px);overflow:auto}}
