:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#080b12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--color-page:#f5f5f7;--color-panel:#fff;--color-panel-solid:#fff;--color-panel-dark:#fff;--color-text:#0f1115;--color-text-inverse:#0f1115;--color-muted:#5f6672;--color-muted-inverse:#4f5661;--color-border:#0f11151f;--color-border-dark:#0f111524;--color-accent:#111318;--color-accent-strong:#000;--color-success:#127a41;--color-danger:#b42318;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--shadow-panel:0 10px 28px #00000024;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#root{width:100%;height:100%;margin:0}html,body{background:var(--color-page);overflow:hidden}button,input,select,textarea{font:inherit}button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);cursor:pointer;background:#ffffffeb;padding:10px 14px}button:hover:not(:disabled),button.selected{border-color:#111318}button.selected{color:#fff;background:#111318}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.primary-action{border-color:var(--color-accent-strong);background:var(--color-accent);color:#fff;font-weight:800}.app-shell{background:var(--color-page);width:100vw;height:100dvh;color:var(--color-text);position:relative;overflow:hidden}.scene-stage{z-index:0;background:#000;position:fixed;inset:0;overflow:hidden}.scene-stage-muted{background:#f5f5f7}.scene-backdrop,.panorama-viewer{width:100%;height:100%;position:absolute;inset:0}.scene-backdrop{object-fit:cover}.image-warning{z-index:19;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-panel);color:var(--color-muted);box-shadow:var(--shadow-panel);margin:0;padding:8px 10px;font-size:13px;position:fixed;bottom:16px;right:16px}.click-ring{z-index:28;border:3px solid var(--color-success);pointer-events:none;border-radius:999px;width:86px;height:86px;margin:-43px 0 0 -43px;animation:.95s ease-out both click-ring-pulse;position:fixed}@keyframes click-ring-pulse{0%{opacity:0;transform:scale(.58)}18%{opacity:1}to{opacity:0;transform:scale(1.35)}}.panorama-viewer{touch-action:none}.panorama-viewer canvas{width:100%;height:100%}.panorama-viewer canvas,.scene-stage img,.scene-stage svg{display:block}.hud,.mission-card,.find-panel,.guess-panel,.start-card,.result-card,.leaderboard-panel,.calibration-overlay,.found-toast,.reveal-caption{box-shadow:var(--shadow-panel)}.hud{z-index:20;align-items:center;gap:var(--space-2);pointer-events:none;grid-template-columns:auto auto 86px auto auto auto;display:grid;position:fixed;top:16px;left:16px}.hud>*{pointer-events:auto}.hud strong,.hud span,.hud button{border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);background:var(--color-panel-dark);min-height:44px;color:var(--color-text-inverse);white-space:nowrap;align-items:center;padding:0 12px;display:inline-flex}.hud strong{letter-spacing:.08em;font-size:15px}.hud span{color:var(--color-muted-inverse);font-size:14px}.hud span:nth-of-type(2){min-width:86px;color:var(--color-accent);border-color:#0f111538;justify-content:center;font-size:28px;font-weight:900}.hud button{background:var(--color-panel-dark)}.mission-card{z-index:15;border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(320px,100vw - 32px);padding:var(--space-4);background:var(--color-panel);position:fixed;top:76px;left:16px}.found-toast{z-index:27;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:min(320px,100vw - 48px);padding:var(--space-5);color:var(--color-text);text-align:center;background:#fff;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.found-toast strong{font-size:24px}.found-toast span{color:var(--color-muted);font-weight:800}.mission-card h2,.find-panel h2,.guess-panel h2,.result-card h1,.start-card h1{color:var(--color-text);letter-spacing:0;margin:0}.mission-card h2{font-size:20px;line-height:1.1}.mission-card p,.find-panel p,.guess-panel p,.result-card p,.start-card p,.leaderboard-panel p{color:var(--color-muted);margin:0}.mission-feedback{font-weight:700;margin-top:var(--space-2)!important;color:var(--color-text)!important}.find-panel,.guess-panel{z-index:18;border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(560px,100vw - 32px);padding:var(--space-4);background:var(--color-panel);gap:var(--space-3);display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.find-panel h2,.guess-panel h2{font-size:20px}.guess-panel{width:min(760px,100vw - 32px)}.guess-panel fieldset{gap:var(--space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.guess-panel legend{padding:0;font-weight:800}.choice-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.choice-grid button{text-align:left;width:100%;min-height:48px}.slider-row{gap:var(--space-2);color:var(--color-text);font-weight:800;display:grid}.slider-row input{width:100%;min-height:32px;accent-color:var(--color-accent-strong)}.repair-button{width:100%}.start-screen,.modal-layer,.run-result{z-index:25;padding:var(--space-4);background:0 0;place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.start-card,.result-card,.leaderboard-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(460px,100%);padding:var(--space-5);background:#fff}.start-card,.result-card{gap:var(--space-4);display:grid}.start-card h1{font-size:clamp(42px,10vw,64px);line-height:.98}.start-subtitle{font-size:20px;font-weight:800;color:var(--color-text)!important}.daily-note,.result-reveal{font-weight:800;color:var(--color-text)!important}.start-actions,.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.start-actions button{flex:160px}.start-actions .primary-action{flex-basis:100%;min-height:54px;font-size:18px}.start-meta,.meta-pill{font-size:13px}.meta-pill{border:1px solid var(--color-border);background:#f5f5f7;border-radius:999px;width:fit-content;padding:5px 10px;font-weight:800;color:var(--color-muted)!important}.result-card{max-width:520px}.round-result-layer{pointer-events:none}.round-result-layer .result-card,.round-result-layer .reveal-caption{pointer-events:auto}.reveal-caption{z-index:24;left:50%;bottom:calc(var(--space-5) + 10px);border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:999px;margin:0;padding:8px 12px;font-size:13px;font-weight:900;position:fixed;transform:translate(-50%)}.result-card h1{font-size:34px;line-height:1.05}.result-score,.final-score{font-size:32px;font-weight:900;color:var(--color-text)!important}.rank-title{font-weight:800;color:var(--color-text)!important}.score-list{gap:var(--space-2);flex-wrap:wrap;margin:0;display:flex}.score-list div{border:1px solid var(--color-border);background:#f5f5f7;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.score-list dt{color:var(--color-muted)}.score-list dd{color:var(--color-text);margin:0;font-weight:900}.run-result{align-content:center;gap:var(--space-3)}.run-card,.leaderboard-panel{width:min(560px,100%)}.round-list{max-height:120px;color:var(--color-muted);margin:0;padding-left:22px;overflow:auto}.leaderboard-panel{padding:var(--space-4)}.leaderboard-panel summary{cursor:pointer;color:var(--color-text);font-weight:900}.leaderboard-panel[open]{gap:var(--space-3);display:grid}.leaderboard-form{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;display:grid}.leaderboard-form label{color:var(--color-text);gap:6px;font-weight:800;display:grid}.leaderboard-form input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--color-text);background:#fff;padding:10px 12px}.leaderboard-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.leaderboard-list li{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:8px 0;display:grid}.leaderboard-list span{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.leaderboard-list strong{color:var(--color-text)}.leaderboard-list small{color:var(--color-muted);grid-column:1/-1}.calibration-overlay,.calibration-actions{z-index:30;margin:var(--space-4);position:relative}.calibration-overlay{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(520px,100% - 32px);padding:var(--space-4);background:var(--color-panel);display:grid}.calibration-overlay h1{color:var(--color-text);margin:0;font-size:28px}.calibration-overlay p{color:var(--color-muted);margin:0}.calibration-overlay pre{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);overflow-wrap:anywhere;white-space:pre-wrap;color:var(--color-text);background:#f5f5f7;margin:0;display:block}@media (width<=760px){.hud{grid-template-columns:auto auto 58px auto auto 44px;gap:4px;top:8px;left:8px;right:auto}.hud strong,.hud span,.hud button{min-height:44px;padding:0 7px;font-size:11px}.hud span:nth-of-type(2){min-width:58px;min-height:44px;font-size:24px}.mission-card{width:min(310px,100vw - 24px);padding:12px;top:62px;left:12px}.mission-card h2{font-size:18px}.mission-card p{font-size:14px}.find-panel,.guess-panel{width:100%;max-height:42dvh;padding:var(--space-4);border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;bottom:0;overflow:auto}.choice-grid{grid-template-columns:1fr}.start-screen,.modal-layer,.run-result{padding:12px}.start-card,.result-card{padding:var(--space-4)}.result-card h1{font-size:30px}.reveal-caption{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 24px);bottom:calc(42dvh + 12px);overflow:hidden}.result-score,.final-score{font-size:28px}.leaderboard-form{grid-template-columns:1fr}.button-row button,.start-actions button{flex:100%}}@media (width<=420px){.start-card h1{font-size:42px}.find-panel,.guess-panel{max-height:44dvh}}
