*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-user-select:none;user-select:none}input,textarea{-webkit-user-select:text;user-select:text}:root{--bg: #080808;--card: #0b0b0b;--text: #f0f0f0;--muted: #3a3a3a;--border: #181818;--accent: #22d3ee;--font: "Space Grotesk", system-ui, sans-serif}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}#card{width:100%;max-width:820px;height:min(880px,calc(100vh - 32px));background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative}#btn-mute{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;padding:0;transition:color .15s,background .15s;flex-shrink:0}#btn-mute:hover{color:var(--text);background:var(--border)}#btn-mute svg{display:block}.hidden{display:none!important}.screen{display:flex;flex-direction:column;height:100%}.screen.hidden{display:none!important}#screen-start{align-items:center;justify-content:center;position:relative;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#start-inner{display:flex;flex-direction:column;align-items:center;gap:0;padding:40px 32px 60px;width:100%}#start-logo{font-size:13px;font-weight:700;letter-spacing:.22em;color:var(--muted);margin-bottom:40px}#start-tagline{font-size:54px;font-weight:700;letter-spacing:-.03em;line-height:1.1;text-align:center;margin-bottom:44px}#start-btn-row{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px;margin-bottom:24px}#start-mode-btns{display:flex;gap:8px;width:100%}#btn-start,#btn-fill-home{flex:1;padding:14px 12px;background:var(--accent);color:#000;border:none;border-radius:10px;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .1s,background .5s}#btn-start:hover,#btn-fill-home:hover{opacity:.88}#btn-start:active,#btn-fill-home:active{transform:scale(.98)}#btn-results,#btn-fill-results{width:100%;padding:12px 14px;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:10px;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .15s,border-color .15s}#btn-results:hover,#btn-fill-results:hover{color:var(--text);border-color:var(--muted)}#start-meta{font-size:11px;letter-spacing:.08em;color:var(--muted);min-height:1em}#start-footer{margin-top:20px;display:flex;align-items:center;gap:10px}#start-footer button{background:transparent;border:none;color:var(--muted);font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:4px 0;transition:color .15s}#start-footer button:hover{color:var(--text)}#start-footer button.btn-played{opacity:.35;pointer-events:none}.start-sep{color:var(--border);font-size:14px;line-height:1}#lb-overlay,#tut-overlay,#ach-overlay,#support-overlay,#character-overlay,#settings-overlay,#stats-overlay,#vote-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card);display:flex;flex-direction:column;z-index:50;animation:overlay-in .22s cubic-bezier(.22,1,.36,1)}#lb-overlay.hidden,#tut-overlay.hidden,#ach-overlay.hidden,#support-overlay.hidden,#character-overlay.hidden,#settings-overlay.hidden,#stats-overlay.hidden,#vote-overlay.hidden{display:none}#settings-body{flex:1;overflow-y:auto;padding:20px 20px 32px}@keyframes overlay-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overlay-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.overlay-title{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}.btn-overlay-close{background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;padding:4px 8px;transition:color .15s;line-height:1}.btn-overlay-close:hover{color:var(--text)}#lb-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--border);flex-shrink:0}.lb-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.lb-tab:hover{color:var(--text)}.lb-tab--active{color:var(--text);border-bottom-color:var(--accent)}#lb-overlay-list{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0}#lb-overlay-list .lb-entry{padding:14px 24px;gap:14px;font-size:14px}#lb-overlay-list .lb-avatar{width:40px;height:40px}#lb-overlay-list .lb-avatar svg{width:40px;height:40px}#lb-overlay-list .lb-rank{font-size:12px;width:24px}#lb-overlay-list .lb-name-text{font-size:15px;font-weight:600;letter-spacing:-.01em}#lb-overlay-list .lb-score-sub{font-size:11px}#lb-overlay-list .lb-score-text{font-size:17px}#tut-body{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center}#tut-visual{width:100%;padding:24px 24px 20px;display:flex;flex-direction:column;gap:24px}#tut-stats{display:flex;justify-content:space-around;gap:8px}.tut-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.tut-stat-n{font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1}.tut-stat-l{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}#tut-scale{background:var(--border);border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.tut-scale-title{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.tut-scale-row{display:flex;align-items:center;gap:10px}.tut-scale-label{font-size:12px;font-weight:600;color:#888;width:36px;flex-shrink:0}.tut-scale-track{flex:1;height:6px;background:#1e1e1e;border-radius:3px;overflow:hidden}.tut-scale-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .3s ease}.tut-scale-pts{font-size:11px;font-weight:700;color:var(--text);width:72px;text-align:right;flex-shrink:0}.tut-scale-note{font-size:11px;color:#666;line-height:1.5;margin-top:4px}#tut-rules{width:100%;border-top:1px solid var(--border);padding:20px 24px 28px;display:flex;flex-direction:column;gap:16px}.tut-step{display:flex;align-items:flex-start;gap:14px;font-size:13px;color:var(--text);line-height:1.55;letter-spacing:.01em}.tut-step-n{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;letter-spacing:0;margin-top:1px}#game-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:calc(14px + env(safe-area-inset-top));border-bottom:1px solid var(--border);position:relative}#game-logo{font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--text);cursor:pointer}#game-logo:hover{color:var(--muted)}#header-right{display:flex;align-items:center;gap:14px}#round-dots{display:flex;gap:6px}#streak-counter{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .3s,transform .2s}.dot.active{background:var(--accent);transform:scale(1.2);transition:background .5s,transform .2s}.dot.done{background:var(--accent);opacity:.4;transition:background .5s,opacity .3s}#timer-track{height:3px;background:var(--border);overflow:hidden}#timer-bar{height:100%;width:100%;background:var(--accent);transition:width .1s linear,background .5s;transform-origin:left}#timer-bar.urgent{background:#ef4444}#canvas-wrap{position:relative;width:100%;flex:1;min-height:0;background:#000;overflow:hidden}#game-canvas{width:100%;height:100%;display:block}#rotate-hint{position:absolute;bottom:14px;left:14px;font-size:11px;font-weight:600;letter-spacing:.1em;color:#ffffff80;pointer-events:none;opacity:0;background:#0006;padding:5px 9px;border-radius:20px}#rotate-hint.show{animation:rotate-hint-fade 7s ease forwards}@keyframes rotate-hint-fade{0%{opacity:0;transform:translateY(4px)}8%{opacity:1;transform:translateY(0)}75%{opacity:1}to{opacity:0}}#count-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#000000c7;opacity:0;pointer-events:none;transition:opacity .25s}#count-overlay.show{opacity:1}#count-label{font-size:10px;font-weight:700;letter-spacing:.28em;color:#666;text-transform:uppercase}#count-number{font-size:96px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums;text-shadow:0 0 40px currentColor;display:inline-block}@keyframes count-pop{0%{transform:scale(1)}40%{transform:scale(1.09)}to{transform:scale(1)}}#count-number.pop{animation:count-pop .12s ease-out}#round-result-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent 0%,#000000f0 22%);padding:52px 24px 22px;transform:translateY(100%);transition:transform .38s cubic-bezier(.22,1,.36,1);text-align:center;display:flex;flex-direction:column;gap:4px}#round-result-overlay.show{transform:translateY(0)}#round-result-overlay.exact{background:linear-gradient(transparent 0%,#000000f5 22%)}@keyframes exactRing{0%{transform:translate(-50%,-50%) scale(.1);opacity:.9}to{transform:translate(-50%,-50%) scale(5);opacity:0}}#round-result-overlay.exact:after{content:"";position:absolute;top:44%;left:50%;width:48px;height:48px;border:2px solid #FFD60A;border-radius:50%;pointer-events:none;animation:exactRing .65s ease-out forwards}@keyframes exactSlam{0%{transform:scale(1.9);opacity:0;filter:blur(8px)}48%{transform:scale(.88);opacity:1;filter:blur(0)}68%{transform:scale(1.1)}84%{transform:scale(.96)}to{transform:scale(1)}}@keyframes exactGlow{0%,to{text-shadow:0 0 10px #FFD60Aaa,0 0 2px #fff8}50%{text-shadow:0 0 28px #FFD60A,0 0 60px #FF6B0080,0 0 4px #fff}}@keyframes exactSpark{0%{transform:translate(-50%,-50%) translate(0) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) translate(var(--sx),var(--sy)) scale(0);opacity:0}}.exact-spark{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffd60a;pointer-events:none;animation:exactSpark .7s ease-out forwards}#rr-grade{font-size:26px;font-weight:700;letter-spacing:-.01em}#round-result-overlay.exact #rr-grade{font-size:46px;letter-spacing:-.03em;animation:exactSlam .5s cubic-bezier(.22,1,.36,1) both,exactGlow 1.6s .5s ease-in-out infinite}#round-result-overlay.exact #rr-points{font-size:16px;animation:exactSlam .5s .07s cubic-bezier(.34,1.56,.64,1) both}#rr-detail{font-size:12px;color:#888;font-weight:400}#rr-points{font-size:13px;font-weight:600;letter-spacing:.06em;margin-top:2px}.achievement-toast{position:fixed;top:max(20px,env(safe-area-inset-top) + 12px);left:50%;transform:translate(-50%) translateY(-90px);background:#161616;border:1px solid #2a2a2a;border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:12px;z-index:9999;max-width:320px;width:calc(100% - 40px);box-shadow:0 8px 32px #0009;opacity:0;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .4s}.achievement-toast.show{transform:translate(-50%) translateY(0);opacity:1}.ach-icon{font-size:30px;flex-shrink:0;line-height:1}.ach-label{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.05em}.ach-desc{font-size:11px;color:#555;letter-spacing:.03em;margin-top:2px}#fill-target-display{font-size:52px;font-weight:700;color:var(--accent);line-height:1;letter-spacing:-.02em;text-align:center}#btn-fill-done{width:100%;padding:13px;background:var(--accent);color:#000;border:none;border-radius:10px;font-size:15px;font-weight:700;letter-spacing:.04em;cursor:pointer;text-transform:lowercase;font-family:var(--font);transition:opacity .15s}#btn-fill-done:disabled{opacity:.35;cursor:default;pointer-events:none}#controls-hint{position:absolute;bottom:10px;right:12px;font-size:10px;color:#f0f0f047;letter-spacing:.04em;pointer-events:none;z-index:5;display:flex;align-items:center;gap:4px;white-space:nowrap}#controls-hint.hidden{display:none}.ctrl-chip{border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:1px 5px;font-size:10px;line-height:1.4}.ctrl-sep{opacity:.5}.new-badge{display:inline-block;font-size:8px;font-weight:700;background:var(--accent);color:#000;border-radius:3px;padding:1px 4px;vertical-align:middle;margin-left:2px;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}#fill-preview{position:absolute;top:12px;right:12px;width:100px;height:100px;border-radius:50%;background:#000000b3;border:1.5px solid rgba(255,255,255,.12);overflow:hidden;z-index:10;pointer-events:none}#fill-preview canvas{display:block;width:100%;height:100%;border-radius:50%}#fill-preview.hidden{display:none}#fill-tutorial{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;background:#080808f0;display:flex;align-items:center;justify-content:center;padding:32px 28px}#fill-tutorial.hidden{display:none}#fill-tut-body{display:flex;flex-direction:column;gap:20px;max-width:320px;width:100%}.fill-tut-title{font-size:22px;font-weight:700;color:var(--accent);letter-spacing:-.02em}.fill-tut-step{display:flex;align-items:flex-start;gap:14px;font-size:14px;color:var(--text);line-height:1.55;opacity:.9}.fill-tut-n{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#000;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}#btn-fill-tut-go{margin-top:8px;width:100%;padding:15px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:16px;font-weight:700;letter-spacing:.02em;cursor:pointer;text-transform:lowercase;font-family:var(--font)}#game-bottom{padding:18px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;border-top:1px solid var(--border)}#bottom-row{display:flex;align-items:center;justify-content:space-between;width:100%}#prompt{font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}#timer-display{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .3s;min-width:28px;text-align:right}#timer-display.urgent{color:#ef4444}#input-row{display:flex;align-items:center;gap:14px}#input-row button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s;-webkit-user-select:none;user-select:none}#input-row button:not(:disabled):hover{border-color:#333;color:var(--text)}#input-row button:disabled{opacity:.2;cursor:not-allowed}#guess-input{width:100px;text-align:center;background:transparent;border:none;border-bottom:2px solid var(--border);color:var(--text);font-family:var(--font);font-size:46px;font-weight:700;letter-spacing:-.02em;outline:none;padding:2px 0;transition:border-color .2s;-moz-appearance:textfield}#guess-input::-webkit-outer-spin-button,#guess-input::-webkit-inner-spin-button{-webkit-appearance:none}#guess-input:not(:disabled):focus{border-bottom-color:var(--accent);transition:border-color .5s}#guess-input::placeholder{color:#1e1e1e}#guess-input:disabled{opacity:.25}#guess-input.shake{animation:shake .32s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}#btn-submit{width:100%;padding:13px;background:var(--accent);color:#000;border:none;border-radius:9px;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .1s,background .5s}#btn-submit:not(:disabled):hover{opacity:.88}#btn-submit:not(:disabled):active{transform:scale(.98)}#btn-submit:disabled{opacity:.2;cursor:not-allowed}#hint-text{font-size:11px;letter-spacing:.08em;color:var(--muted);transition:opacity .3s}#hint-text{min-height:1em}#screen-end{align-items:center;justify-content:flex-start;overflow-y:auto}#end-inner{display:flex;flex-direction:column;align-items:center;gap:0;padding:32px 24px 20px;width:100%;text-align:center}#end-middle{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:520px;margin-bottom:10px;text-align:left}#end-actions{display:flex;gap:8px;width:100%;max-width:520px;margin-bottom:4px}#end-actions #btn-share,#end-actions #btn-play-again,#end-actions #btn-fill-mode{max-width:none;flex:1;margin-bottom:0}#btn-home-end{background:transparent;border:none;color:var(--muted);font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:6px 0;margin-bottom:8px;transition:color .15s;position:sticky;bottom:calc(16px + env(safe-area-inset-bottom))}#btn-home-end:hover{color:var(--text)}#end-logo{font-size:11px;font-weight:700;letter-spacing:.22em;color:var(--muted);margin-bottom:12px}#end-score-wrap{display:flex;align-items:baseline;gap:4px;margin-bottom:12px}#end-score{font-size:76px;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--accent)}#end-max{font-size:22px;font-weight:500;color:var(--muted)}@keyframes overflowPulse{0%{text-shadow:0 0 0px #FFD60A}50%{text-shadow:0 0 28px #FFD60A,0 0 60px #FF6B00}to{text-shadow:0 0 8px #FFD60A}}@keyframes overflowShake{0%{transform:translate(0)}20%{transform:translate(-4px) rotate(-1deg)}40%{transform:translate(4px) rotate(1deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}#end-score.overflow{color:#ffd60a;animation:overflowPulse 1.8s ease-in-out infinite,overflowShake .45s ease-out 1}#end-score-wrap.overflow #end-max{color:#ffd60a;opacity:.6}#end-rounds{width:100%;display:flex;flex-direction:column;gap:3px}.end-round-dots{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0}.end-round-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.end-round-dot--pass{background:#00d4aa;opacity:.7}.end-round-dot--fail{background:#ef4444}.end-round-row{display:grid;grid-template-columns:3px 1fr auto auto auto auto;align-items:center;gap:8px;background:#0e0e0e;border-radius:6px;padding:5px 10px 5px 8px}.err-bar{width:3px;height:22px;border-radius:2px;flex-shrink:0}.err-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.err-guess,.err-actual{font-size:13px;font-weight:600;color:var(--text);min-width:24px;text-align:right}.err-arrow{font-size:10px;color:var(--muted)}.err-pts{font-size:11px;font-weight:700;letter-spacing:.04em;min-width:40px;text-align:right}#btn-share{width:100%;max-width:280px;padding:10px 14px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:9px;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:border-color .15s,color .15s;margin-bottom:8px}#btn-share:hover{border-color:#333}#btn-share.copied{border-color:#00d4aa;color:#00d4aa}#btn-play-again{width:100%;max-width:280px;padding:12px 14px;background:var(--accent);color:#000;border:none;border-radius:9px;font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .1s,background .5s;margin-bottom:8px}#btn-play-again:hover{opacity:.88}#btn-play-again:active{transform:scale(.98)}#btn-fill-mode{flex:1;padding:12px 14px;background:var(--accent);color:#000;border:none;border-radius:9px;font-size:12px;font-weight:700;letter-spacing:.14em;cursor:pointer;font-family:var(--font);text-transform:uppercase;transition:opacity .15s,transform .1s,background .5s;margin-bottom:8px}#btn-fill-mode:hover{opacity:.88}#btn-fill-mode:active{transform:scale(.98)}#end-actions.split #btn-play-again{flex:1}#end-stats{font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--text);opacity:.6;margin-bottom:4px;min-height:1em}#end-streak{min-height:2.2em;display:flex;align-items:center;justify-content:center;margin-bottom:10px}#end-streak:not(:empty){font-size:16px;font-weight:700;letter-spacing:.01em;color:#ff6b00;background:#ff6b001a;border:1px solid rgba(255,107,0,.28);border-radius:100px;padding:6px 20px}#end-streak.milestone{font-size:22px;background:#ff6b0021;border-color:#ff6b0073;position:relative;overflow:hidden;animation:streakEntrance .5s cubic-bezier(.34,1.56,.64,1) both}#end-streak.milestone:after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,190,80,.35),transparent);animation:streakGlint 3.8s ease-in-out .7s infinite;pointer-events:none}@keyframes streakEntrance{0%{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}@keyframes streakGlint{0%{left:-80%}25%,to{left:130%}}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}85%{opacity:1}to{transform:translateY(100vh) rotate(var(--rot));opacity:0}}.confetti-particle{position:fixed;top:0;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:10000;animation:confettiFall linear forwards}#streak-strip-risk{font-size:11px;font-weight:600;color:#ff6b00cc;letter-spacing:.06em;text-align:center;text-transform:uppercase;animation:riskPulse 2s ease-in-out infinite}@keyframes riskPulse{0%,to{opacity:1}50%{opacity:.5}}.notif-nudge{background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px;margin:0 auto 12px}.notif-nudge-text{font-size:12px;color:var(--muted);text-align:center;margin:0}.notif-nudge-btns{display:flex;gap:8px;justify-content:center}.notif-nudge-btns button{font-size:12px;padding:5px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer}.notif-nudge-btns button:first-child{background:var(--accent);border-color:var(--accent);color:#000}.notif-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--border);margin-top:8px}.notif-toggle-label{font-size:13px;color:var(--muted)}.notif-toggle-btn{font-size:12px;font-weight:600;padding:4px 12px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.notif-toggle-btn--on{background:var(--accent);border-color:var(--accent);color:#000}.notif-time-row{display:flex;gap:6px;padding:2px 0 8px}.notif-time-btn{flex:1;font-size:11px;font-weight:600;padding:5px 0;border-radius:6px;background:transparent;border:1px solid var(--border);color:var(--muted);cursor:pointer}.notif-time-btn--active{background:#ffffff14;border-color:#ffffff4d;color:#fff}#streak-strip{background:#ff6b000f;border:1px solid rgba(255,107,0,.22);border-radius:14px;padding:14px 16px 12px;width:100%;max-width:280px;margin-top:16px;display:flex;flex-direction:column;gap:10px}#streak-strip-top{display:flex;align-items:center;gap:10px}#streak-strip-badge{font-size:32px;font-weight:800;letter-spacing:-.03em;color:#ff6b00;line-height:1}#streak-strip-count{color:#ff6b00}#streak-strip-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ff6b008c;line-height:1.3}#streak-strip-days{display:flex;gap:5px}.sw-dot{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.sw-circle{width:100%;aspect-ratio:1;border-radius:50%}.sw-dot--filled .sw-circle{background:#ff6b00;box-shadow:0 0 8px #ff6b008c}.sw-dot--today .sw-circle{background:transparent;border:2px solid #FF6B00;animation:sw-pulse 1.6s ease-in-out infinite}.sw-dot--empty .sw-circle{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.sw-label{font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#ffffff2e}.sw-dot--filled .sw-label{color:#ff6b00cc}.sw-dot--today .sw-label{color:#ff6b00}@keyframes sw-pulse{0%,to{box-shadow:0 0 #ff6b0080}50%{box-shadow:0 0 0 4px #ff6b0000}}#end-footer{font-size:11px;letter-spacing:.08em;color:var(--muted)}#score-dist{width:100%;height:100%;display:flex;flex-direction:column;min-height:120px}.dist-skeleton{flex:1;background:color-mix(in srgb,var(--border) 30%,transparent);border-radius:6px;min-height:60px}.dist-subtitle{font-size:11px;font-weight:600;color:var(--text);margin-bottom:8px;flex-shrink:0}.dist-chart{flex:1;display:flex;flex-direction:row;align-items:flex-end;gap:5px;min-height:80px}.dist-col{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:0}.dist-you-marker{font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);flex-shrink:0;line-height:1}.dist-bar-track{flex:1;width:100%;position:relative;min-height:0}.dist-bar-fill{position:absolute;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--muted) 45%,transparent);border-radius:3px 3px 0 0;transition:height .6s cubic-bezier(.22,1,.36,1);min-height:3px}.dist-col--you .dist-bar-fill{background:var(--accent)}.dist-col-label{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;line-height:1}#btn-lb-jump{margin-left:auto;margin-right:8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-family:var(--font);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;cursor:pointer;transition:color .15s,border-color .15s}#btn-lb-jump:hover{color:var(--text);border-color:var(--text)}#btn-lb-jump.hidden{display:none}#leaderboard-wrap{width:100%;max-width:520px;margin-top:8px}#lb-submit-row{display:flex;gap:8px;margin-bottom:8px}#lb-name{flex:1;min-width:0;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:13px;padding:9px 12px;outline:none;transition:border-color .15s}#lb-name:focus{border-color:#333}#lb-name::placeholder{color:var(--muted)}#lb-btn{padding:9px 16px;background:var(--accent);color:#000;border:none;border-radius:8px;font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity .15s,background .5s;white-space:nowrap;flex-shrink:0}#lb-btn:hover{opacity:.88}#lb-btn:disabled{opacity:.5;cursor:default}#lb-list{width:100%}.lb-entry{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px}.lb-entry:last-child{border-bottom:none}.lb-entry--you{background:#ff6b3512;border-radius:6px;border-bottom:none}.lb-avatar{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.lb-avatar svg{display:block;width:22px;height:22px;border-radius:50%;image-rendering:pixelated}.lb-sep{text-align:center;font-size:10px;color:var(--muted);letter-spacing:.2em;padding:3px 0}.lb-rank{width:16px;color:var(--muted);font-size:10px;font-weight:600;text-align:right;flex-shrink:0}.lb-name-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score-wrap{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.lb-score-sub{font-size:9px;color:var(--muted);font-weight:500}.lb-crown{font-size:11px;line-height:1}.lb-avatar-wrap{flex-shrink:0}.lb-tier-badge{font-size:12px;line-height:1}.lb-name--champion{color:#f4c542}@keyframes lb-shimmer{0%{background-position:-100% center}50%{background-position:200% center}to{background-position:-100% center}}.lb-name--legend{background:linear-gradient(100deg,#c49a1a,#f4c542 35%,#fffce0,#f4c542 65%,#c49a1a);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:lb-shimmer 6s ease-in-out infinite}#character-body{flex:1;overflow-y:auto;padding:20px 20px 32px;display:flex;flex-direction:column;align-items:center;gap:16px}#character-locked{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:8px}.character-locked-note{font-size:13px;color:var(--muted);text-align:center;letter-spacing:.03em;margin:0}#btn-open-support{background:transparent;border:1px solid var(--border);color:var(--text);font-size:13px;letter-spacing:.04em;padding:9px 18px;border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s}#btn-open-support:hover{border-color:var(--accent);color:var(--accent)}#support-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 20px 32px;display:flex;flex-direction:column;gap:20px}#support-tagline{font-size:13px;color:#666;line-height:1.6;text-align:center}#support-tiers{display:flex;flex-direction:column;gap:10px}.support-tier{display:flex;align-items:center;gap:14px;background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left;width:100%;color:var(--text);font-family:var(--font)}.support-tier:hover:not(:disabled){border-color:#ffffff26;background:#ffffff0d}.support-tier.tier-owned{border-color:var(--accent);background:#22d3ee0f;cursor:default}.support-tier.loading{opacity:.6}.tier-icon{font-size:24px;line-height:1;flex-shrink:0}.tier-info{flex:1;display:flex;flex-direction:column;gap:2px}.tier-name{font-size:15px;font-weight:600}.tier-perks{font-size:12px;color:#666}.tier-price{font-size:15px;font-weight:700;color:var(--accent);flex-shrink:0}.support-tier.tier-owned .tier-price{font-size:12px;color:var(--accent);font-weight:500}.support-tier.tier-owned .tier-price:before{content:"✓ "}#builder-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#555;align-self:flex-start}#builder-preview{width:96px;height:96px;flex-shrink:0}#builder-preview svg{display:block;image-rendering:pixelated;width:96px;height:96px}#builder-parts{width:100%;display:flex;flex-direction:column;gap:6px}.builder-row{display:flex;align-items:center;gap:8px}.builder-part-label{font-size:11px;color:#555;font-weight:600;letter-spacing:.06em;width:68px;flex-shrink:0}.builder-arrow{background:#ffffff0a;border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:16px;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .1s}.builder-arrow:hover{background:#ffffff1a}.builder-arrow:active{background:#ffffff29}.builder-palette-swatch{width:18px;height:18px;border-radius:4px;border:1px solid rgba(255,255,255,.1);flex-shrink:0;display:block}.builder-part-idx{flex:1;text-align:center;font-size:11px;color:#666;font-variant-numeric:tabular-nums}#egg-tier-sep{text-align:center;color:#2a2a2a;font-size:10px;letter-spacing:.15em;text-transform:uppercase;margin:10px 0 6px}.support-tier[data-tier="2"]{border-color:#f4c54214}.support-tier[data-tier="2"]:hover:not(:disabled){border-color:#f4c54266;background:#f4c5420a}.support-tier[data-tier="2"].tier-owned{border-color:#f4c542;background:#f4c5420f}.support-tier[data-tier="2"] .tier-name,.support-tier[data-tier="2"] .tier-price{color:#f4c542}@keyframes support-shimmer{0%{background-position:-100% center}50%{background-position:200% center}to{background-position:-100% center}}.support-tier[data-tier="3"]{border-color:#f4c5421a;background:#f4c54205}.support-tier[data-tier="3"]:hover:not(:disabled){border-color:#f4c54280;background:#f4c5420f}.support-tier[data-tier="3"].tier-owned{border-color:#f4c542;background:#f4c5420f}.support-tier[data-tier="3"] .tier-name,.support-tier[data-tier="3"] .tier-price{background:linear-gradient(100deg,#c49a1a,#f4c542 35%,#fffce0,#f4c542 65%,#c49a1a);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:support-shimmer 6s ease-in-out infinite}.support-tier--egg{border-color:#2a2a1a;opacity:.7}.support-tier--egg:hover:not(:disabled){border-color:#f4c542;opacity:1}.support-tier--egg .tier-name{color:#f4c542}.support-tier--egg.tier-owned{border-color:#f4c542;background:#f4c5420f;opacity:1}#lb-header-left{display:flex;flex-direction:column;gap:2px}#lb-header-count{font-size:11px;color:#666}.lb-count{font-size:11px;color:#666;text-align:center;padding:6px 0 2px;letter-spacing:.05em}#name-style-wrap,[id$=-style-wrap]{margin:8px 0 4px}.prefs-label{font-size:10px;color:#444;text-align:center;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.prefs-btns{display:flex;gap:6px;justify-content:center}.pref-btn{background:#111;border:1.5px solid #2a2a2a;border-radius:20px;color:#555;font-family:var(--font);font-size:11px;font-weight:600;padding:5px 14px;cursor:pointer;transition:border-color .15s,color .15s;letter-spacing:.05em;touch-action:manipulation}#btn-ns-plain{color:#bbb}#btn-ns-gold{color:#f4c542}.pref-btn--active,#btn-ns-plain.pref-btn--active{border-color:#ffffff73;color:#fff}#btn-ns-gold.pref-btn--active{border-color:#f4c542}.pref-btn--legend{background:linear-gradient(100deg,#c49a1a,#f4c542 35%,#fffce0,#f4c542 65%,#c49a1a);background-size:250% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:lb-shimmer 6s ease-in-out infinite}.pref-btn--legend.pref-btn--active{border-color:#f4c542}#name-preview-wrap{width:100%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0 2px}#name-preview-label{font-size:9px;color:#555;letter-spacing:.08em;text-transform:uppercase}#char-name-input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--font);font-size:14px;padding:7px 10px;text-align:center;outline:none;-webkit-user-select:text;user-select:text}#char-name-input:focus{border-color:#fff3}#name-preview-text{font-size:17px;font-weight:700;letter-spacing:-.01em}#name-color-swatches{display:flex;gap:8px;padding-top:2px}#name-color-swatches.hidden{display:none}.name-color-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s,border-color .1s}.name-color-swatch:hover{transform:scale(1.15)}.name-color-swatch--active{border-color:#ffffffb3;transform:scale(1.15)}#avatar-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.avatar-toggle-btn{background:#111;border:1px solid #2a2a2a;border-radius:20px;color:#666;font-family:var(--font);font-size:12px;font-weight:600;padding:6px 16px;cursor:pointer;transition:border-color .15s,color .15s}.avatar-toggle-btn--active{border-color:#ffffff73;color:#fff}#dev-tier-toggle{margin-top:12px;padding:10px;border:1px dashed #2a2a2a;border-radius:8px}#dev-tier-label{font-size:10px;color:#444;text-align:center;margin-bottom:8px;letter-spacing:.1em;text-transform:uppercase}#dev-tier-btns{display:flex;gap:6px;justify-content:center}#dev-tier-btns button{background:#111;border:1px solid #2a2a2a;border-radius:6px;color:#888;font-family:var(--font);font-size:11px;padding:5px 8px;cursor:pointer}#dev-tier-btns button:hover{border-color:#555;color:#ccc}#btn-restore{background:none;border:none;color:#444;font-size:12px;font-family:var(--font);cursor:pointer;padding:4px 0;text-align:center;width:100%;transition:color .15s}#btn-restore:hover{color:#888}#start-support-stack{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:1}#start-avatar{cursor:pointer;opacity:.85;transition:opacity .15s}#start-avatar:hover{opacity:1}#start-avatar svg{display:block}#btn-support{background:var(--card);border:1px solid var(--border);color:#888;font-family:var(--font);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:8px 20px;border-radius:20px;transition:color .15s,border-color .15s;white-space:nowrap}#btn-support:hover{color:#e879f9;border-color:#e879f9}.lb-score-text{font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.lb-loading{font-size:11px;color:var(--muted);letter-spacing:.08em;padding:8px 0;text-align:center}#tutorial-step{position:absolute;top:0;right:0;bottom:0;left:0;background:#080808b8;display:flex;align-items:center;justify-content:center;z-index:20;border-radius:inherit;animation:tutFadeIn .25s ease forwards}#tutorial-step.hidden{display:none}@keyframes tutFadeIn{0%{opacity:0}to{opacity:1}}#tut-step-body{background:#0b0b0bf0;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:32px 28px 24px;max-width:280px;width:calc(100% - 48px);text-align:center;display:flex;flex-direction:column;align-items:center}#tut-mode-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.7;margin-bottom:12px}#tut-step-msg{font-size:20px;font-weight:700;color:var(--text);line-height:1.25;margin-bottom:8px}#tut-step-sub{font-size:14px;color:var(--text);opacity:.45;line-height:1.4;margin-bottom:28px}#tut-step-cta{width:100%;padding:14px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font)}#tut-step-cta:active{opacity:.8}#tut-target-body{display:none;text-align:center;width:100%}#tutorial-step.tut-step--target{flex-direction:column;background:#080808d9;align-items:center;justify-content:flex-end;padding:0 24px 12px;pointer-events:none;animation:none}#tutorial-step.tut-step--target #tut-step-body{display:none}#tutorial-step.tut-step--target #tut-target-body{display:flex;flex-direction:column;align-items:center;background:#0b0b0bf0;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:28px 28px 24px;max-width:280px;width:100%}#input-row.tut-highlight{animation:tutPulse 1.2s ease-in-out infinite}@keyframes tutPulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px #ffd60a59}}#tut-target-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:.7;margin-bottom:12px}#tut-target-msg{font-size:20px;font-weight:700;color:var(--text);line-height:1.25;margin-bottom:20px}#tut-target-cta{pointer-events:auto;width:100%;padding:14px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font)}#tut-target-cta:active{opacity:.8}#tut-target-arrow{width:2px;height:28px;background:var(--accent);margin:16px auto 0;position:relative}#tut-target-arrow:after{content:"";position:absolute;bottom:-7px;left:-5px;border:6px solid transparent;border-top-color:var(--accent)}@keyframes targetPulse{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.fill-target--highlight{animation:targetPulse .5s cubic-bezier(.34,1.56,.64,1) forwards}#btn-tut-skip{position:absolute;left:50%;transform:translate(-50%);font-size:11px;color:var(--muted);background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer;font-family:var(--font);white-space:nowrap}#game-on-splash{display:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#080808e0;pointer-events:none}#game-on-splash.active{display:flex;animation:gameOnFade 1.8s ease forwards}#game-on-splash.countdown{display:flex;animation:none;opacity:1}#game-on-splash.countdown #game-on-text{font-size:64px;letter-spacing:0}@keyframes countdownPop{0%{transform:scale(1.5);opacity:0}18%{transform:scale(1);opacity:1}72%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}.countdown-pop{animation:countdownPop .65s ease forwards}@keyframes gameOnFade{0%{opacity:0}18%{opacity:1}70%{opacity:1}to{opacity:0}}#game-on-text{font-size:36px;font-weight:700;letter-spacing:.18em;color:var(--accent)}#game-on-sub{font-size:13px;letter-spacing:.12em;color:var(--muted)}#tut-end-banner{text-align:center;padding:8px 0 4px}#tut-end-banner p{color:var(--text);font-size:15px;line-height:1.5;margin-bottom:16px}#tut-end-banner button{background:var(--accent);color:#000;border:none;border-radius:10px;padding:12px 40px;font-size:16px;font-weight:700;font-family:var(--font);cursor:pointer}#fab-row{position:absolute;bottom:14px;left:14px;right:14px;z-index:5;display:flex;gap:6px;align-items:center}.fab-spacer{flex:1}#btn-achievements,#btn-stats,#btn-appstore,#btn-discord,#start-bmc,#btn-github,#btn-settings{background:transparent;border:none;color:var(--muted);line-height:1;cursor:pointer;opacity:.5;padding:4px;transition:opacity .15s;display:flex;align-items:center;text-decoration:none}#btn-achievements svg,#btn-stats svg,#btn-appstore svg,#btn-discord svg,#start-bmc svg,#btn-github svg,#btn-settings svg{display:block}#btn-achievements:hover,#btn-stats:hover,#btn-appstore:hover,#btn-discord:hover,#start-bmc:hover,#btn-settings:hover{opacity:1}#btn-achievements.hidden{display:none}#btn-stats{position:relative}#btn-fastfwd{background:transparent;border:1px solid var(--muted);border-radius:4px;color:var(--muted);font-size:9px;padding:4px 8px;cursor:pointer;transition:color .15s,border-color .15s;margin-left:6px;letter-spacing:-1px;-webkit-tap-highlight-color:transparent}#btn-fastfwd.hidden{display:none}#btn-fastfwd.active{color:var(--accent);border-color:var(--accent)}#btn-fastfwd:hover{color:var(--text);border-color:var(--text)}#btn-fastfwd.ff-new{color:var(--accent);border-color:var(--accent);animation:ff-pulse 1.5s ease-in-out 3}@keyframes ff-pulse{0%,to{opacity:1}50%{opacity:.4}}#btn-stats.vote-pending{opacity:1!important;color:var(--accent)!important}.fab-new-dot{position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--accent);border-radius:50%;pointer-events:none}.fab-new-dot.hidden{display:none}#ach-list{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.ach-card{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:14px;background:color-mix(in srgb,var(--border) 50%,transparent);border-radius:10px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.ach-card--locked{opacity:.45}.ach-card-icon{font-size:26px;line-height:1;margin-bottom:2px}.ach-card-label{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em}.ach-card-desc{font-size:11px;color:#9a9a9a;letter-spacing:.02em;line-height:1.45}#numpad{display:none;grid-template-columns:repeat(3,1fr);gap:6px;width:100%}.np-btn{height:44px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text);font-family:var(--font);font-size:20px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,opacity .15s,border-color .5s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.np-btn:active{background:var(--border)}#np-submit{background:var(--accent);color:#000;border-color:transparent;font-size:18px;transition:background .5s,opacity .15s}#np-submit:active{opacity:.8;background:var(--accent)}#numpad.np-disabled .np-btn{opacity:.2;pointer-events:none}#btn-dist-toggle{display:none}.lb-pin{padding:10px 24px 12px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--accent);text-transform:uppercase;border-bottom:1px solid var(--border);flex-shrink:0}@media (max-width: 600px){#app{padding:0;align-items:flex-start}#card{max-width:100%;height:100svh;border-radius:0;border:none;overflow:hidden}.overlay-header{padding-top:calc(20px + env(safe-area-inset-top))}#end-inner{padding-top:calc(env(safe-area-inset-top) + 24px)}#end-middle{grid-template-columns:1fr}#score-dist,#end-middle.show-dist #end-rounds{display:none}#end-middle.show-dist #score-dist{display:flex;flex-direction:column;min-height:200px}#end-middle.show-dist .dist-chart{display:flex}#btn-dist-toggle{display:block;width:100%;max-width:520px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-family:var(--font);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:7px 12px;margin-bottom:8px;text-align:left;transition:color .15s,border-color .15s}#btn-dist-toggle:hover{color:var(--text);border-color:var(--muted)}#lb-name{font-size:16px}#numpad{display:grid}#btn-submit,#btn-dec,#btn-inc{display:none}#input-row{justify-content:center}#game-bottom{padding:8px 14px calc(10px + env(safe-area-inset-bottom));gap:6px}#fill-preview{width:64px;height:64px;top:8px;right:8px}.np-btn{height:36px;font-size:17px}#numpad{gap:4px}}@media (hover: none) and (pointer: coarse) and (max-height: 700px){.np-btn{height:32px;font-size:16px}#numpad{gap:3px}#game-bottom{padding:6px 14px calc(8px + env(safe-area-inset-bottom));gap:4px}}@media (hover: none) and (pointer: coarse) and (min-width: 601px){#app{padding:0;align-items:flex-start}#card{max-width:100%;height:100svh;border-radius:0;border:none}#numpad{display:grid}#btn-submit,#btn-dec,#btn-inc{display:none}#input-row{justify-content:center}}#stats-overlay{--muted: #666}#stats-body{flex:1;overflow-y:auto;padding:20px 20px 32px;display:flex;flex-direction:column;gap:16px}.stats-trend{background:#ffffff0a;border-radius:10px;padding:14px}.stats-trend-chart-wrap{position:relative}.stats-trend-chart{width:100%;height:140px;display:block;border-radius:6px}.stats-trend-tabs{display:flex;gap:16px;margin-top:10px}.stats-trend-tab{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:transparent;border:none;cursor:pointer;padding:0 0 4px;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.stats-trend-tab--active{color:var(--text);border-color:var(--accent)}.stats-trend-insight{font-size:11px;color:var(--muted);margin-top:8px}.stats-section-label{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.stats-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stats-summary-item{background:#ffffff0a;border-radius:10px;padding:14px 10px;text-align:center}.stats-val{display:block;font-size:26px;font-weight:700;color:var(--text);line-height:1.2}.stats-label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.stats-val-sub{display:block;font-size:9px;color:var(--muted);margin-top:2px}.stats-ach{background:#ffffff0a;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.stats-ach:active{opacity:.7}.stats-ach-text{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.stats-ach-bar{flex:1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.stats-ach-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.stats-history{background:#ffffff0a;border-radius:10px;padding:14px}.stats-history-header{margin-bottom:4px}.stats-history-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}.stats-history-row:last-of-type{border-bottom:none}.stats-history-bar{width:3px;height:22px;border-radius:2px;flex-shrink:0}.stats-history-info{display:flex;flex-direction:column;min-width:56px;flex-shrink:0}.stats-history-day{font-size:12px;font-weight:600;color:var(--text);line-height:1.2}.stats-history-mode{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stats-history-score-wrap{flex:1;display:flex;align-items:center;gap:8px}.stats-history-track{flex:1;height:6px;background:#ffffff0a;border-radius:3px;overflow:visible;position:relative}.stats-history-fill{height:100%;border-radius:3px;transition:width .4s cubic-bezier(.22,1,.36,1)}.stats-history-legend{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:10px;color:var(--muted)}.stats-history-legend-line{width:12px;height:2px;background:var(--text);border-radius:1px;flex-shrink:0;opacity:.5}.stats-history-avg-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text);border-radius:1px;opacity:.5}.stats-history-score-col{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;min-width:44px}.stats-history-score{font-size:13px;font-weight:700;line-height:1.2}.stats-history-delta{font-size:9px;font-weight:600;line-height:1.2}.stats-streak-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:140px}.stats-streak-placeholder.hidden{display:none}.stats-streak-num{font-size:48px;font-weight:700;color:var(--accent);line-height:1}.stats-streak-sub{font-size:12px;color:var(--muted);margin-top:6px}.stats-shapes{background:#ffffff0a;border-radius:10px;padding:14px;text-align:center}.stats-shape-carousel{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0}.stats-shape-nav{background:transparent;border:1px solid var(--border);color:var(--muted);font-size:20px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s;flex-shrink:0}.stats-shape-nav:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.stats-shape-nav:disabled{opacity:.25;cursor:default}.stats-shape-preview{width:120px;height:120px;border-radius:10px;overflow:hidden;flex-shrink:0}.stats-shape-preview canvas{display:block;width:120px;height:120px}.stats-shape-label{font-size:14px;font-weight:700;color:var(--text);margin-top:6px}.stats-shape-detail-line{font-size:11px;color:var(--muted);margin-top:2px}.stats-shape-page{font-size:9px;color:var(--muted);margin-top:6px;letter-spacing:.1em}.stats-history-pager{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:10px}.stats-pager-btn,.stats-pager-num{background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .15s,background .15s;font-family:var(--font)}.stats-pager-btn{font-size:16px}.stats-pager-btn:disabled{opacity:.25;cursor:default}.stats-pager-btn:not(:disabled):hover,.stats-pager-num:hover{color:var(--text);background:#ffffff0f}.stats-pager-num--active{color:var(--text);background:#ffffff14}#vote-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;align-items:center;gap:14px;--muted: #666}.vote-prompt{font-size:12px;color:var(--muted);text-align:center}.vote-cards{display:flex;gap:10px;width:100%}.vote-card{flex:1;background:#ffffff0a;border:2px solid transparent;border-radius:12px;padding:10px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;-webkit-tap-highlight-color:transparent}.vote-card:active{transform:scale(.97)}.vote-card--selected{border-color:var(--accent);background:#ffffff14}.vote-card canvas{display:block;margin:0 auto}.vote-card-name{font-size:13px;font-weight:700;color:var(--text);margin-top:8px}.vote-bar-track{width:100%;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-top:8px}.vote-bar-fill{height:100%;background:var(--accent);border-radius:2px;width:0%;transition:width .6s cubic-bezier(.22,1,.36,1)}.vote-card-count{font-size:12px;font-weight:600;color:var(--muted);margin-top:4px}.vote-card--voted{animation:vote-pulse .4s ease}@keyframes vote-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.vote-warning{font-size:10px;color:var(--muted);text-align:center;font-style:italic}.vote-submit{padding:10px 32px;background:var(--accent);color:#000;border:none;border-radius:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:opacity .15s}.vote-submit:disabled{opacity:.35;cursor:default}.vote-submit:not(:disabled):hover{opacity:.85}.vote-status{font-size:12px;color:var(--muted);text-align:center}.vote-status--winner{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.04em}.stats-empty{text-align:center;color:var(--muted);font-size:13px;padding:40px 20px}
