:root{--ink:#2a1411;--ink-2:#3b1d18;--paper:#f4ece0;--paper-dim:#d9ccba;--accent:#ff7a3d;--danger:#ff3b30;--card:#1e0e0bc7;--line:#f4ece029}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--paper);-webkit-user-select:none;user-select:none;touch-action:none;margin:0;font-family:Nunito,system-ui,sans-serif;overflow:hidden}#scene{cursor:crosshair;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.card{background:var(--card);border:1px solid var(--line);border-radius:18px}#hud{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:fixed;inset:16px 16px auto}#target{align-items:center;gap:14px;max-width:calc(100vw - 170px);padding:10px 18px 10px 10px;transition:transform .25s,border-color .25s;display:flex}#target.pop{border-color:var(--accent);transform:scale(1.06)}#silhouette{background:#1b0c0a;border-radius:12px;flex:none;width:110px;height:110px;overflow:hidden}#silhouette canvas{display:block}.label{letter-spacing:.14em;text-transform:uppercase;opacity:.6;font-size:12px;font-weight:700}#target-name{margin:2px 0 6px;font-size:22px;font-weight:900;line-height:1.1}#progress{opacity:.75;font-size:14px;font-weight:700}#stats{text-align:right;font-variant-numeric:tabular-nums;padding:10px 16px}#timer{font-size:26px;font-weight:900}#best,#attempts{opacity:.7;font-size:13px;font-weight:700}#toast{background:var(--card);border:1px solid var(--line);text-align:center;pointer-events:none;border-radius:16px;max-width:calc(100vw - 32px);padding:14px 22px;font-size:18px;font-weight:800;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}#toast.bad{border-color:var(--danger);color:#ffd6d2}#caption{text-align:center;text-shadow:0 4px 30px #0009;pointer-events:none;white-space:nowrap;font-family:Rubik Mono One,sans-serif;font-size:clamp(22px,5vw,54px);position:fixed;top:9vh;left:50%;transform:translate(-50%)}#spot{pointer-events:none;background:radial-gradient(circle 220px at var(--x,50%) var(--y,50%), transparent 0%, transparent 55%, #080302bf 100%);display:none;position:fixed;inset:0}body.flashlight #spot{display:block}.overlay{background:radial-gradient(#2a14118c,#140806e6);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.panel{background:var(--paper);width:min(460px,100%);color:var(--ink);text-align:center;border-radius:26px;padding:30px 28px 26px;box-shadow:0 20px 80px #00000080}.panel h1{margin:0 0 18px;font-family:Rubik Mono One,sans-serif;font-size:clamp(34px,9vw,52px);line-height:.95}.panel p{margin:0 0 10px;font-size:16px;line-height:1.4}.panel .hint{opacity:.65;font-size:13px}.toggle{cursor:pointer;justify-content:center;align-items:center;gap:10px;margin:16px 0 8px;font-size:14px;font-weight:700;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--ink)}#intro-best{opacity:.7;min-height:18px;margin-bottom:14px;font-size:13px}.btn{font:inherit;background:var(--ink);color:var(--paper);cursor:pointer;border:none;border-radius:999px;padding:14px 42px;font-size:18px;font-weight:900;transition:transform .15s}.btn:hover{transform:scale(1.05)}.btn:active{transform:scale(.97)}#result .label{color:var(--ink);opacity:.55}#result-word{letter-spacing:.04em;margin:8px 0 4px;font-family:Rubik Mono One,sans-serif;font-size:clamp(40px,12vw,70px)}#result-meaning{margin-bottom:16px;font-size:16px;font-weight:700}#result-stats{margin-bottom:20px;font-size:15px;line-height:1.6}#result-stats b{font-weight:900}#result{pointer-events:none;background:0 0;justify-content:flex-end;align-items:flex-end}#result .panel{pointer-events:auto;background:#f4ece0f2;width:min(330px,100%);padding:18px 20px}#result #result-word{font-size:clamp(30px,8vw,44px)}#result #result-meaning{margin-bottom:10px;font-size:14px}#result #result-stats{margin-bottom:14px;font-size:14px;line-height:1.5}#result .btn{padding:11px 32px;font-size:16px}@media (width<=640px){#result{justify-content:center}#hud{flex-direction:column;inset:10px 10px auto}#target{width:100%;max-width:100%;padding:6px 12px 6px 6px}#silhouette{width:72px;height:72px}#target-name{font-size:18px}#stats{padding:6px 12px;position:fixed;bottom:10px;right:10px}#timer{font-size:20px}#toast{font-size:16px;bottom:80px}}
