.sim-page{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.sim-bar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:8px 16px;display:flex}.sim-bar h1{text-align:center;flex:1;margin:0;font-size:1.05rem}.sim-bar .back{color:var(--accent);white-space:nowrap;text-decoration:none}.select{flex:1;width:100%;max-width:760px;margin:0 auto;padding:16px;overflow:auto}.levels{gap:10px;margin:0 0 24px;padding:0;list-style:none;display:grid}.level{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.level h3{margin:0 0 2px;font-size:1rem}.level p{color:var(--muted);margin:0;font-size:.9rem}.level-text{flex:1}.level-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.level.locked{opacity:.6}.locked-tag{color:var(--muted);font-size:.85rem}.stars{color:var(--warn);letter-spacing:1px}.controls-help p{color:var(--muted);margin:4px 0;font-size:.9rem}.stage{background:#7d9b64;flex:1;min-height:0;position:relative}.stage canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{pointer-events:none;justify-content:flex-start;align-items:center;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.hud-task{background:var(--hud-bg);color:var(--hud-fg);white-space:nowrap;border-radius:10px;padding:6px 12px;font-size:.95rem}.stage canvas.rb-sign{pointer-events:none;border-radius:10px;width:200px;height:185px;inset:56px auto auto 12px;box-shadow:0 3px 12px #00000059}.hud-dash{background:var(--hud-bg);color:var(--hud-fg);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;border-radius:14px;align-items:center;gap:14px;padding:6px 18px;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000004d}.hud-speed{text-align:center;min-width:6.5ch;font-size:1.35rem;font-weight:700}.ind{color:var(--hud-dim);font-size:1.3rem;transition:color 50ms}.ind.on{color:var(--ind-on);text-shadow:0 0 8px var(--ind-on)}.toast{background:var(--hud-bg);color:var(--hud-fg);pointer-events:none;text-align:center;border-radius:10px;max-width:90%;padding:8px 16px;font-size:1rem;position:absolute;top:56px;left:50%;transform:translate(-50%)}.toast.mark-pass{border-left:5px solid var(--ok)}.toast.mark-warn{border-left:5px solid var(--warn)}.toast.mark-fail{border-left:5px solid var(--bad)}.hint{background:var(--hud-bg);color:var(--hud-fg);text-align:center;pointer-events:none;border-radius:12px;max-width:min(92%,640px);padding:10px 16px;font-size:1rem;position:absolute;bottom:68px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #00000040}.touch-controls{pointer-events:none;position:absolute;inset:0}.tc-group{pointer-events:auto;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:14px}.tc-left{align-items:flex-start;left:14px}.tc-right{align-items:flex-end;right:14px}.tc-row{gap:10px;display:flex}.tc-btn{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#14181c8c;border:2px solid #fff9;border-radius:16px;min-width:64px;height:64px;padding:0 12px;font-size:1.2rem;font-weight:600}.tc-btn.on{color:#111;background:#ffffffd9}.tc-ind{min-width:76px;height:44px;font-size:1rem}.tc-ind.on{background:#ffb400;border-color:#ffb400}.tc-gas.on{color:#fff;background:#2fa84f}.tc-brake.on{color:#fff;background:#e53e3e}.touch-controls:not([hidden])~.hint{bottom:150px}.stage:has(.touch-controls:not([hidden])) .hint{bottom:150px}.overlay{background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.overlay .card{background:var(--surface);color:var(--fg);border-radius:16px;width:100%;max-width:520px;max-height:100%;padding:20px 24px;overflow:auto;box-shadow:0 8px 30px #00000059}.overlay h2{margin:0 0 12px;font-size:1.3rem}.overlay .task{margin:0 0 10px;font-size:1.15rem}.overlay .turn{color:var(--muted)}.overlay .small{color:var(--muted);margin:4px 0;font-size:.85rem}.overlay .reason{color:var(--bad);margin:0 0 8px;font-weight:600}.overlay .stars{color:var(--warn);letter-spacing:2px;margin:0 0 8px;font-size:1.8rem}.overlay .best{color:var(--ok);letter-spacing:0;margin-left:8px;font-size:.9rem}.report{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.report li{grid-template-columns:24px 110px 1fr;align-items:start;gap:8px;font-size:.95rem;display:grid}.report .icon{font-weight:700}.report .notes{color:var(--muted);font-size:.9rem}.report .mark-pass .icon{color:var(--ok)}.report .mark-warn .icon{color:var(--warn)}.report .mark-fail .icon{color:var(--bad)}.report .mark-na .icon{color:var(--muted)}.actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.rotate{z-index:50;background:var(--bg);color:var(--fg);text-align:center;justify-content:center;align-items:center;padding:24px;font-size:1.3rem;display:none;position:fixed;inset:0}@media (orientation:portrait) and (width<=700px){.stage:not([hidden])~.rotate{display:flex}}.overlay .free-options{flex-wrap:wrap;align-items:center;gap:10px 18px;margin:6px 0 10px;display:flex}.overlay .free-options label{align-items:center;gap:8px;font-size:.95rem;display:inline-flex}.overlay .free-options input[type=range]{width:150px;accent-color:var(--accent)}.overlay .free-options select{font:inherit;border-radius:6px;padding:2px 6px}.hud-look{min-width:2.6em;color:var(--hud-dim);text-align:center;font-size:.95rem}.hud-look.on{color:var(--look-on);font-weight:700}.icon-btn.on{background:#ffd34d40;border-color:#e0b100}.tc-look.on{color:#111;background:#ffd34d;border-color:#ffd34d}
