:root{--ink: #10141a;--paper: #f3f4f2;--line: rgba(255, 255, 255, .14);--panel: rgba(16, 20, 26, .78);--accent: #e2721f;--accent-2: #2bb6a8;--ui-font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0d1014;color:var(--paper);font-family:var(--ui-font);-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{position:fixed;inset:0}#viewport{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#reference-layer{position:absolute;inset:0;pointer-events:none;display:none;align-items:center;justify-content:center;z-index:5}#reference-layer.on{display:flex}#reference-image{position:absolute;opacity:.5;image-rendering:auto;transition:opacity .12s linear}#reference-layer.missing:after{content:"参照画像が見つかりません (public/reference/factory-reference.jpg)";position:absolute;bottom:12%;padding:8px 14px;border-radius:6px;background:#14181ed9;font-size:12px;letter-spacing:.02em}#reference-layer .mask{position:absolute;background:#06080bb8;pointer-events:none}#boot{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#0d1014;transition:opacity .45s ease}#boot.done{opacity:0;pointer-events:none}.boot-inner{text-align:center;width:min(320px,70vw)}.boot-title{font-size:13px;letter-spacing:.42em;color:#cfd4da;margin-bottom:14px}.boot-bar{height:2px;background:#ffffff1f;overflow:hidden}.boot-bar i{display:block;height:100%;width:0%;background:var(--accent);transition:width .25s ease}.boot-note{margin-top:12px;font-size:11px;color:#7d848d;letter-spacing:.06em}#titlebar{position:absolute;top:14px;left:16px;z-index:10;display:flex;align-items:baseline;gap:10px;text-shadow:0 1px 6px rgba(0,0,0,.6);pointer-events:none}#titlebar .tag{font-size:12px;letter-spacing:.34em;font-weight:700}#titlebar .sub{font-size:10.5px;letter-spacing:.08em;color:#c3c8cf}#hud{position:absolute;top:46px;left:16px;z-index:10;display:flex;flex-direction:column;gap:10px;max-width:min(320px,60vw)}.panel{background:var(--panel);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border:1px solid var(--line);border-radius:7px;padding:9px 11px;font-size:11px;line-height:1.55}.panel.hidden{display:none}#stats{font-family:var(--mono);min-width:216px}#stats .row{display:flex;justify-content:space-between;gap:12px}#stats .row span{color:#8d949d}#stats .row b{font-weight:500}#info{min-width:246px;pointer-events:auto}.info-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:6px}.info-head b{font-size:12px;letter-spacing:.04em}#info-close{background:none;border:0;color:#99a0a8;font-size:15px;line-height:1;cursor:pointer;padding:2px 4px}#info-close:hover{color:#fff}#info-body dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px 12px}#info-body dt{color:#8d949d}#info-body dd{margin:0;font-family:var(--mono);font-size:10.5px;text-align:right}#info-body .badge{display:inline-block;margin-top:7px;padding:2px 7px;border-radius:3px;font-size:10px;letter-spacing:.08em;background:#e2721f2e;color:#f0a86a;border:1px solid rgba(226,114,31,.4)}#hint{position:absolute;left:16px;bottom:12px;z-index:10;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:10px;color:#aab0b8;text-shadow:0 1px 5px rgba(0,0,0,.7);pointer-events:none;max-width:min(560px,70vw)}#hint b{color:#eef0f2;font-weight:600}#touch-look{position:absolute;inset:0;z-index:8;touch-action:none}#touch-move{position:absolute;left:22px;bottom:76px;width:108px;height:108px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#10141a59;z-index:12;touch-action:none}#touch-move i{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#f0f2f480}.hidden{display:none!important}.lil-gui{--background-color: rgba(16, 20, 26, .82);--widget-color: rgba(255, 255, 255, .1);--focus-color: rgba(226, 114, 31, .5);--hover-color: rgba(255, 255, 255, .16);--font-family: var(--ui-font);--font-size: 11px;--input-font-size: 11px;--title-height: 26px;--widget-height: 18px;z-index:20!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:7px;overflow:hidden}.lil-gui.root>.title{letter-spacing:.14em}@media(max-width:720px){#hint{font-size:9px;max-width:62vw}#hud{max-width:58vw}.lil-gui{--width: 232px !important}}
