:root{--bg: #f7f7f5;--surface: #ffffff;--divider: #e3e2de;--text: #1b1b1a;--text-secondary: #5f5e5a;--accent: #3987e5;--chip: #ecebe7;--radius-card: 20px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,sans-serif;color:var(--text)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#000}.hidden{display:none!important}#scene-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#000;background-position:center;background-repeat:no-repeat;background-size:cover}#scene-container canvas{display:block}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1}body.headless .screen{display:none!important}.btn{width:100%;min-height:56px;border-radius:14px;font:inherit;font-size:20px;font-weight:700;cursor:pointer}.btn--primary{background:var(--accent);color:#fff;border:none}.btn--secondary{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn:focus-visible,.back-button:focus-visible,.numpad-key:focus-visible,#estimate-button:focus-visible{outline:3px solid var(--text);outline-offset:2px}#start-screen{display:flex;flex-direction:column;background:var(--bg)}.start-scroll{flex:1;overflow-y:auto;padding:28px 16px 20px}.start-content{max-width:600px;margin:0 auto}.start-header{display:flex;align-items:center;gap:12px}.start-icon{width:44px;height:44px;border-radius:10px}.start-header h1{margin:0;font-size:32px}.start-content h2{margin:24px 0 4px;font-size:22px}.subtitle{margin:0 0 12px;color:var(--text-secondary)}.card{overflow:hidden;background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-card)}.preview-card{position:relative;margin-top:20px;height:180px;overflow:hidden;border-radius:var(--radius-card);background:#000}.preview-scene{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center;background-repeat:no-repeat;background-size:cover}.preview-scene canvas{display:block}.preview-label{position:absolute;top:12px;inset-inline-start:12px;padding:4px 10px;background:#0009;color:#fff;font-size:13px;font-weight:700}.difficulty-card{display:flex;flex-direction:column;gap:8px;padding:16px}.difficulty-head{display:flex;align-items:center;justify-content:space-between}.difficulty-value{font-size:20px;font-weight:700}.difficulty-ramp{color:var(--text-secondary)}.difficulty-slider{width:100%;min-height:44px;accent-color:var(--accent)}.difficulty-slider:focus-visible{outline:3px solid var(--text);outline-offset:2px}.difficulty-ends{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:14px}.object-option{display:flex;align-items:center;gap:16px;min-height:56px;padding:0 16px;font-size:20px;cursor:pointer}.object-option+.object-option{border-top:1px solid var(--divider)}.object-option input{width:22px;height:22px;margin:0;accent-color:var(--accent)}.object-icon{width:32px;font-size:24px;text-align:center}.store-badges{display:flex;gap:12px;margin-inline-start:auto}.store-badge{display:none}.store-badge.visible{display:block}.store-badge img{display:block;height:40px}.start-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg)}.start-footer .btn{display:block;max-width:600px;margin:0 auto}#game-screen{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));pointer-events:none}#game-screen>*{pointer-events:auto}.back-button{position:absolute;top:12px;left:12px;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}[dir=rtl] .back-button{left:auto;right:16px;transform:scaleX(-1)}.webgl-hint{position:absolute;top:30%;left:16px;right:16px;max-width:480px;margin:0 auto;padding:16px;border-radius:12px;background:var(--surface);text-align:center}#input-area{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px}#number-display{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 12px;border:2px solid #fff;border-radius:12px;background:#0009;color:#fff;font-size:22px;font-weight:700;text-align:center}#number-display.placeholder{color:#ffffffb3}#number-display.error{border-color:#ff8a80;font-size:18px}#numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.numpad-key,#estimate-button{min-height:54px;border:2px solid #fff;border-radius:12px;background:#0009;color:#fff;font:inherit;font-size:26px;font-weight:700;cursor:pointer;touch-action:manipulation}#estimate-button{font-size:20px}.numpad-key:active,#estimate-button:active{background:#000c}#results-screen{display:flex;justify-content:center;overflow-y:auto;padding:20px 16px}.results-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:600px;margin:auto 0;padding:24px;border-radius:24px;background:var(--surface);box-shadow:0 8px 32px #00000040;text-align:center}.results-headline{font-size:34px;font-weight:700;direction:ltr;unicode-bidi:isolate}.results-difference{font-size:20px;color:var(--text-secondary)}.results-accuracy-label{margin-top:8px;color:var(--text-secondary)}.results-accuracy{font-size:72px;font-weight:700;line-height:1}.chart-title{align-self:stretch;margin-top:8px;text-align:start;color:var(--text-secondary)}.history-chart{position:relative;align-self:stretch;height:200px;direction:ltr;font-size:11px;-webkit-user-select:none;user-select:none}.history-chart svg{display:block;overflow:visible;touch-action:none}.history-chart .axis text{fill:var(--text-secondary);font-size:11px}.history-chart .axis line{stroke:var(--divider)}.history-chart .area{fill:var(--accent);fill-opacity:.1}.history-chart .series{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.history-chart .average{stroke:var(--text-secondary);stroke-dasharray:4 4}.history-chart .average-label,.history-chart .hint{fill:var(--text-secondary);paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.history-chart .hint{font-size:13px}.history-chart .current-dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.history-chart .current-label{fill:var(--text);font-size:13px;font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.history-chart .crosshair{stroke:var(--text-secondary)}.chart-tip{position:absolute;padding:4px 8px;border:1px solid var(--divider);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;white-space:nowrap;pointer-events:none}@media (max-width: 360px){.store-badge img{height:32px}}@media (max-height: 520px) and (orientation: landscape){#game-screen{justify-content:center;align-items:flex-end;padding:12px calc(12px + env(safe-area-inset-right)) 12px 12px}#input-area{width:240px;gap:6px}#number-display,.numpad-key,#estimate-button{min-height:36px;border-radius:10px}#number-display{font-size:16px}#number-display.error{font-size:13px}#numpad{gap:6px}.numpad-key{font-size:20px}#estimate-button{font-size:16px}.results-accuracy{font-size:48px}.history-chart{height:140px}}
