:root{color-scheme:dark;font-family:"Avenir Next",Avenir,system-ui,sans-serif;color:#edf3f6;background:#28333b;--panel:rgba(30,44,55,.94);--line:#687c8b;--accent:#b9dbf6}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit;color:inherit;background:#324b5d;border:1px solid var(--line);border-radius:7px;min-height:40px;padding:8px 12px;cursor:pointer}button:hover,select:hover{background:#45647b}button[aria-pressed=true]{background:#d0e6f6;color:#173345;border-color:#e5f3ff}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f5d18c;outline-offset:3px}#flight{position:fixed;inset:0;outline:none;touch-action:none;cursor:grab}#flight:active{cursor:grabbing}#flight:focus-visible{box-shadow:inset 0 0 0 3px #f5d18c}#scene,#scene canvas{width:100%;height:100%;display:block}.crosshair{position:absolute;left:50%;top:50%;color:#fff9;text-shadow:0 1px 4px #000;font-size:22px;pointer-events:none;opacity:0}#flight:focus .crosshair{opacity:1}header{position:fixed;inset:16px 20px auto;display:flex;gap:20px;align-items:center;pointer-events:none}header>*{pointer-events:auto}header .title{background:var(--panel);border-radius:8px;padding:10px 16px;font-weight:600;font-size:19px;box-shadow:0 3px 18px #0002}.title small{font-size:12px;display:block;color:#b8cbd8;font-weight:400}nav{display:flex;gap:5px;padding:5px;background:var(--panel);border-radius:10px}nav span{font-size:11px;display:block;opacity:.8}#helpToggle{margin-left:auto;background:var(--panel)}#notice{position:fixed;top:100px;left:20px;max-width:min(480px,calc(100vw - 40px));background:var(--panel);padding:10px 14px;border-radius:7px;font-size:14px;pointer-events:none}#notice:empty{display:none}#guide{position:fixed;bottom:122px;left:20px;width:350px;background:var(--panel);padding:17px 19px;border:1px solid #617686;border-radius:10px;font-size:13px}#guide[hidden]{display:none}#guide strong{font-size:16px}p{line-height:1.5;margin:9px 0}.keys{display:grid;gap:9px}.keys span{display:flex;gap:6px;align-items:center}kbd{font:12px system-ui;display:inline-block;min-width:24px;text-align:center;padding:3px 5px;border:1px solid #a4bdce;border-bottom-width:2px;border-radius:4px;margin-right:2px;background:#3a5265}.hint{color:#b8cbd8;font-size:12px}footer{position:fixed;left:20px;right:20px;bottom:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;pointer-events:none}footer>*{pointer-events:auto}.settings{display:flex;gap:8px;align-items:center;background:var(--panel);padding:8px 10px;border-radius:10px}.settings label{font-size:13px;margin-right:2px}#modelInfo{font-size:12px;background:var(--panel);padding:12px;border-radius:6px}#about{position:fixed;right:20px;bottom:88px;max-width:350px;background:var(--panel);padding:10px 14px;border-radius:8px;font-size:13px}summary{cursor:pointer}a{color:#c8e7ff}.touch-controls{display:none;position:fixed;right:20px;bottom:130px;gap:16px}.touch-controls>div:first-child{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.touch-controls>div:last-child{display:grid;gap:5px}.touch-controls button{touch-action:none;user-select:none;min-width:46px}#about[open]{z-index:3}@media(max-width:900px){#modelInfo{display:none}.settings{flex-wrap:wrap;max-width:100%;font-size:13px}.settings button{padding:7px 9px}#guide{bottom:180px}#about{bottom:100px}.touch-controls{bottom:160px}header{gap:8px;inset:10px}header .title{font-size:15px;padding:9px}.title small{display:none}nav button{padding:6px 9px;font-size:13px}#notice{left:10px;top:86px}.settings label{display:none}footer{left:10px;right:10px;bottom:10px}#helpToggle{font-size:12px;padding:6px}#guide{left:10px;max-width:calc(100vw - 20px)}}@media(pointer:coarse){.touch-controls{display:flex}#guide{bottom:310px;max-height:45vh;overflow:auto}#about{bottom:110px}header .title{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
:root{--panel:rgba(21,28,32,.92);--line:#64747b;background:#28333b}button:focus-visible,select:focus-visible{outline:2px solid #bddad1;outline-offset:3px}#flight:focus-visible{box-shadow:none}header{z-index:5}header .title{font-size:17px;font-weight:500}#welcome{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 65% 35%,#40534f,#1e2e32 70%);z-index:2}.welcome-inner{width:min(520px,calc(100% - 48px));text-align:left}h1{font-size:clamp(38px,7vw,64px);letter-spacing:-.045em;font-weight:500;margin:0 0 18px}.welcome-inner p{font-size:18px;color:#d4dedb;max-width:340px}.welcome-inner button{margin-top:22px;background:#dcece4;color:#17332b;border:0;padding:14px 22px;font-weight:600}.welcome-inner .subtle{font-size:14px;color:#b5c3bf;margin-top:26px}#welcome[hidden],footer[hidden],.touch-controls[hidden]{display:none}#notice{z-index:6}footer{z-index:4}#guide{z-index:6}.touch-controls{z-index:4}#helpToggle{white-space:nowrap}nav button{min-width:95px}nav span{font-size:11px}#synth span{color:#bdc8c9}#synth[aria-pressed=true] span{color:#173345}@media(max-width:600px){header .title{display:none}header{gap:6px}nav{flex:1}nav button{flex:1;min-width:0}.settings{padding:6px;gap:5px}footer{bottom:12px}#guide{bottom:185px}.welcome-inner{padding-bottom:30px}#notice{top:82px}}@media(pointer:coarse){.touch-controls:not([hidden]){display:flex;bottom:85px;right:12px}#guide{bottom:205px;max-height:50vh}.touch-controls button{min-height:44px;min-width:44px}}
@media(max-width:900px){header{inset:10px 10px auto}}
