:root,[data-theme=amber]{--bg:#0f1419;--surface:#1a222d;--cell-bg:#151c26;--cell-hover:#1f2a38;--border:#2a3544;--text-primary:#e8edf4;--text-secondary:#8b9cb3;--text-muted:#5a6a80;--accent:#f0a030;--accent-dim:#c48428;--accent-bg:#f0a0301f;--accent-glow:#f0a03040;--accent-soft:#f0a03059;--accent-text:#1a1208;--success:#5cb87a;--error:#e06060;--error-bg:#e060601f;--panel-bg:#1a222d99;--overlay-bg:#080c12b8;--grid-overlay-bg:#0f141973;--shadow-grid:0 8px 32px #00000059;--bg-glow-1:#f0a03014;--bg-glow-2:#5a78a00f;--heat-0:#5cb87ad9;--heat-0-border:#5cb87a80;--heat-1:#5cb87a80;--heat-1-border:#5cb87a4d;--heat-2:#8b9cb34d;--heat-3:#e0606073;--heat-3-border:#e060604d;--heat-4:#e06060d9;--heat-4-border:#e0606080;--font-display:"DM Sans", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}[data-theme=ocean]{--bg:#0a1218;--surface:#122028;--cell-bg:#0e1a22;--cell-hover:#162834;--border:#243442;--text-primary:#e4eef4;--text-secondary:#7a9cb0;--text-muted:#4d6a7a;--accent:#3ecfd6;--accent-dim:#2a9ea4;--accent-bg:#3ecfd61f;--accent-glow:#3ecfd640;--accent-soft:#3ecfd659;--accent-text:#062024;--success:#4ec992;--error:#e07070;--error-bg:#e070701f;--panel-bg:#122028a6;--overlay-bg:#060e14bf;--grid-overlay-bg:#0a121873;--shadow-grid:0 8px 32px #0006;--bg-glow-1:#3ecfd612;--bg-glow-2:#28648c14}[data-theme=forest]{--bg:#0c1210;--surface:#152019;--cell-bg:#111a15;--cell-hover:#1c2b22;--border:#263830;--text-primary:#e6f0ea;--text-secondary:#84a892;--text-muted:#567060;--accent:#6ecf8a;--accent-dim:#4fa866;--accent-bg:#6ecf8a1f;--accent-glow:#6ecf8a40;--accent-soft:#6ecf8a59;--accent-text:#0a1a10;--success:#5cb87a;--error:#d87070;--error-bg:#d870701f;--panel-bg:#152019a6;--overlay-bg:#080e0abf;--grid-overlay-bg:#0c121073;--shadow-grid:0 8px 32px #00000061;--bg-glow-1:#6ecf8a12;--bg-glow-2:#3c644614}[data-theme=dusk]{--bg:#100e16;--surface:#1c1828;--cell-bg:#161222;--cell-hover:#252035;--border:#322e44;--text-primary:#ece8f4;--text-secondary:#9a92b0;--text-muted:#645a78;--accent:#b48cff;--accent-dim:#9268d8;--accent-bg:#b48cff1f;--accent-glow:#b48cff40;--accent-soft:#b48cff59;--accent-text:#140e22;--success:#6ec992;--error:#e07088;--error-bg:#e070881f;--panel-bg:#1c1828a6;--overlay-bg:#0c0812bf;--grid-overlay-bg:#100e1673;--shadow-grid:0 8px 32px #0006;--bg-glow-1:#b48cff14;--bg-glow-2:#64468c12}[data-theme=light]{--bg:#eef1f5;--surface:#fff;--cell-bg:#f4f6f9;--cell-hover:#e8ecf2;--border:#d4dbe4;--text-primary:#1a2230;--text-secondary:#5a6a80;--text-muted:#8b9cb3;--accent:#d4880a;--accent-dim:#b06e00;--accent-bg:#d4880a1a;--accent-glow:#d4880a33;--accent-soft:#d4880a4d;--accent-text:#fff8ee;--success:#3a9e5c;--error:#d04040;--error-bg:#d040401a;--panel-bg:#ffffffd9;--overlay-bg:#141c2873;--grid-overlay-bg:#eef1f58c;--shadow-grid:0 8px 32px #1428501a;--bg-glow-1:#d4880a0f;--bg-glow-2:#5078b40d;--heat-0:#3a9e5cbf;--heat-0-border:#3a9e5c73;--heat-1:#3a9e5c73;--heat-1-border:#3a9e5c40;--heat-2:#8b9cb359;--heat-3:#d0404066;--heat-3-border:#d0404040;--heat-4:#d04040bf;--heat-4-border:#d0404073}[data-theme=classic]{--bg:#f0f4f8;--surface:#fff;--cell-bg:#fff;--cell-hover:#edf2f7;--border:#cbd5e0;--grid-frame:#4a5568;--text-primary:#2d3748;--text-secondary:#718096;--text-muted:#a0aec0;--accent:#4299e1;--accent-dim:#3182ce;--accent-bg:#4299e11f;--accent-glow:#4299e138;--accent-soft:#4299e152;--accent-text:#fff;--success:#48bb78;--error:#c53030;--error-bg:#fed7d7;--panel-bg:#ffffffeb;--overlay-bg:#2d37486b;--grid-overlay-bg:#f0f4f88c;--shadow-grid:0 4px 24px #2d37481a;--bg-glow-1:#4299e112;--bg-glow-2:#7180960f;--heat-0:#48bb78bf;--heat-0-border:#48bb7873;--heat-1:#48bb7873;--heat-1-border:#48bb7840;--heat-2:#a0aec059;--heat-3:#c5303061;--heat-3-border:#c5303038;--heat-4:#c53030b8;--heat-4-border:#c530306b}*,:before,:after{box-sizing:border-box}body{min-height:100dvh;font-family:var(--font-display);color:var(--text-primary);background:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -20%, var(--bg-glow-1), transparent), radial-gradient(ellipse 60% 40% at 100% 100%, var(--bg-glow-2), transparent);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;margin:0;font-size:16px;line-height:1.5;transition:background-color .25s,color .25s}#app{width:100%;min-height:100dvh}button{font:inherit}.field[data-v-79e678c4]{flex-direction:column;gap:.45rem;display:flex}.label[data-v-79e678c4]{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:500}.dropdown[data-v-79e678c4]{position:relative}.trigger[data-v-79e678c4]{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff08 0%, transparent 40%), var(--surface);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:10px;align-items:stretch;padding:0;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:inset 0 1px #ffffff0d,0 2px 6px #0000001f}.trigger[data-v-79e678c4]:hover{border-color:var(--accent-soft)}.dropdown.open .trigger[data-v-79e678c4],.trigger[data-v-79e678c4]:focus-visible{border-color:var(--accent);box-shadow:inset 0 1px 0 #ffffff0f, 0 0 0 3px var(--accent-glow), 0 4px 14px #0003;outline:none}.prefix[data-v-79e678c4]{width:2.25rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;transition:color .2s;display:flex}.prefix[data-v-79e678c4] svg{width:14px;height:14px}.dropdown.open .prefix[data-v-79e678c4],.trigger:hover .prefix[data-v-79e678c4]{color:var(--accent-dim)}.value[data-v-79e678c4]{min-width:0;font-family:var(--font-display);flex:1;align-items:center;padding:.62rem .25rem .62rem 0;font-size:.875rem;font-weight:500;line-height:1.2;display:flex}.dropdown.mono .value[data-v-79e678c4]{font-family:var(--font-mono);letter-spacing:.02em;font-weight:600}.chevron[data-v-79e678c4]{width:2rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;transition:color .2s;display:flex}.chevron svg[data-v-79e678c4]{width:12px;height:12px;transition:transform .2s}.dropdown.open .chevron[data-v-79e678c4]{color:var(--accent)}.dropdown.open .chevron svg[data-v-79e678c4]{transform:rotate(180deg)}.trigger:hover .chevron[data-v-79e678c4]{color:var(--accent-dim)}.menu[data-v-79e678c4]{z-index:20;border:1px solid var(--border);background:var(--surface);scrollbar-width:thin;scrollbar-color:#8b9cb34d transparent;border-radius:10px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 12px 32px #00000073,inset 0 1px #ffffff0a}.menu[data-v-79e678c4]::-webkit-scrollbar{width:5px}.menu[data-v-79e678c4]::-webkit-scrollbar-track{background:0 0;margin:6px 2px}.menu[data-v-79e678c4]::-webkit-scrollbar-thumb{background:#8b9cb338;border-radius:999px}.menu[data-v-79e678c4]::-webkit-scrollbar-thumb:hover{background:var(--accent-soft)}.menu-enter-active[data-v-79e678c4],.menu-leave-active[data-v-79e678c4]{transition:opacity .15s,transform .15s}.menu-enter-from[data-v-79e678c4],.menu-leave-to[data-v-79e678c4]{opacity:0;transform:translateY(-6px)}.option[data-v-79e678c4]{width:100%;color:var(--text-secondary);font-family:var(--font-display);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:flex}.dropdown.mono .option[data-v-79e678c4]{font-family:var(--font-mono);font-weight:600}.option[data-v-79e678c4]:hover{background:var(--cell-hover);color:var(--text-primary)}.option.active[data-v-79e678c4]{background:var(--accent-bg);color:var(--accent)}.option[data-v-79e678c4]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.check[data-v-79e678c4]{width:14px;height:14px;color:var(--accent);flex-shrink:0}@media (prefers-reduced-motion:reduce){.chevron svg[data-v-79e678c4],.menu-enter-active[data-v-79e678c4],.menu-leave-active[data-v-79e678c4]{transition:none}}.overlay[data-v-fade5e15]{z-index:100;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal[data-v-fade5e15]{border:1px solid var(--border);background:var(--surface);scrollbar-width:thin;scrollbar-color:#8b9cb34d transparent;border-radius:16px;width:min(100%,680px);max-height:calc(100svh - 2.5rem);padding:1.5rem;overflow-y:auto;box-shadow:0 24px 64px #00000080}.modal-header[data-v-fade5e15]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.modal-title[data-v-fade5e15]{color:var(--text-primary);margin:0;font-size:1.35rem;font-weight:600}.modal-subtitle[data-v-fade5e15]{color:var(--text-secondary);margin:.35rem 0 0;font-size:.875rem}.close-btn[data-v-fade5e15]{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.close-btn svg[data-v-fade5e15]{width:16px;height:16px}.close-btn[data-v-fade5e15]:hover{color:var(--text-primary);background:var(--cell-hover)}.modal-body[data-v-fade5e15]{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;display:grid}.summary[data-v-fade5e15]{background:var(--cell-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.score-block[data-v-fade5e15]{flex-direction:column;gap:.25rem;display:flex}.score-label[data-v-fade5e15]{color:var(--text-muted);font-size:.8rem}.score-value[data-v-fade5e15]{font-family:var(--font-mono);color:var(--text-primary);font-size:2.5rem;font-weight:700;line-height:1}.metrics[data-v-fade5e15]{grid-template-columns:repeat(2,1fr);gap:.65rem .5rem;display:grid}.metric[data-v-fade5e15]{flex-direction:column;gap:.15rem;display:flex}.metric-label[data-v-fade5e15]{color:var(--text-muted);font-size:.7rem}.metric-value[data-v-fade5e15]{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:600}.weak[data-v-fade5e15]{color:var(--text-secondary);margin:0;font-size:.85rem}.insight[data-v-fade5e15]{flex-direction:column;gap:1rem;display:flex}.heatmap[data-v-fade5e15]{grid-template-columns:repeat(var(--grid-size), 1fr);aspect-ratio:1;background:var(--cell-bg);border:1px solid var(--border);border-radius:12px;gap:4px;padding:.75rem;display:grid}.heat-cell[data-v-fade5e15]{border-radius:4px;min-height:0}.heat-0[data-v-fade5e15]{background:var(--heat-0);border:1px solid var(--heat-0-border)}.heat-1[data-v-fade5e15]{background:var(--heat-1);border:1px solid var(--heat-1-border)}.heat-2[data-v-fade5e15]{background:var(--heat-2);border:1px solid var(--border)}.heat-3[data-v-fade5e15]{background:var(--heat-3);border:1px solid var(--heat-3-border)}.heat-4[data-v-fade5e15]{background:var(--heat-4);border:1px solid var(--heat-4-border)}.insight-text[data-v-fade5e15]{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.55}.again-btn[data-v-fade5e15]{background:var(--accent);width:100%;color:var(--accent-text);font-family:var(--font-display);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1rem;font-size:.95rem;font-weight:600;transition:filter .15s,transform .1s;display:inline-flex}.again-btn svg[data-v-fade5e15]{width:16px;height:16px}.again-btn[data-v-fade5e15]:hover{filter:brightness(1.08)}.again-btn[data-v-fade5e15]:active{transform:scale(.99)}@media (width<=768px){.overlay[data-v-fade5e15]{padding:max(.75rem, env(safe-area-inset-top,0px)) max(.75rem, env(safe-area-inset-right,0px)) max(.75rem, env(safe-area-inset-bottom,0px)) max(.75rem, env(safe-area-inset-left,0px));align-items:flex-end}.modal[data-v-fade5e15]{border-radius:14px 14px 0 0;width:100%;max-height:calc(100dvh - 1rem);padding:1rem}.modal-header[data-v-fade5e15]{margin-bottom:1rem}.modal-title[data-v-fade5e15]{font-size:1.15rem}.modal-subtitle[data-v-fade5e15]{font-size:.8rem}.modal-body[data-v-fade5e15]{grid-template-columns:1fr;gap:.85rem;margin-bottom:1rem}.summary[data-v-fade5e15]{gap:.85rem;padding:.85rem}.score-value[data-v-fade5e15]{font-size:2rem}.metric-value[data-v-fade5e15]{font-size:.85rem}.heatmap[data-v-fade5e15]{gap:3px;padding:.55rem}.again-btn[data-v-fade5e15]{padding:.9rem 1rem}}.overlay[data-v-6187c32a]{z-index:110;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal[data-v-6187c32a]{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:min(100%,360px);padding:1.25rem;box-shadow:0 24px 64px #00000080}.modal-header[data-v-6187c32a]{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.modal-title[data-v-6187c32a]{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:600}.close-btn[data-v-6187c32a]{width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.close-btn svg[data-v-6187c32a]{width:16px;height:16px}.close-btn[data-v-6187c32a]:hover{color:var(--text-primary);background:var(--cell-hover)}.social-list[data-v-6187c32a]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.social-item[data-v-6187c32a]{border:1px solid var(--border);background:var(--cell-bg);color:var(--text-primary);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;text-decoration:none;transition:border-color .15s,background .15s,transform .1s;display:flex}.social-item[data-v-6187c32a]:hover{border-color:color-mix(in srgb, var(--brand-color) 50%, var(--border));background:color-mix(in srgb, var(--brand-color) 8%, var(--cell-bg))}.social-item[data-v-6187c32a]:active{transform:scale(.99)}.social-icon[data-v-6187c32a]{background:color-mix(in srgb, var(--brand-color) 12%, transparent);width:2.25rem;height:2.25rem;color:var(--brand-color);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.social-icon svg[data-v-6187c32a]{width:1.35rem;height:1.35rem}.social-icon--image[data-v-6187c32a]{background:0 0;padding:0;overflow:hidden}.social-icon-img[data-v-6187c32a]{object-fit:cover;border-radius:8px;width:100%;height:100%}.social-info[data-v-6187c32a]{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.social-name[data-v-6187c32a]{font-size:.9rem;font-weight:600}.social-handle[data-v-6187c32a]{color:var(--text-secondary);font-size:.78rem}.social-arrow[data-v-6187c32a]{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;transition:color .15s,transform .15s}.social-item:hover .social-arrow[data-v-6187c32a]{color:var(--brand-color);transform:translate(2px)}@media (width<=768px){.overlay[data-v-6187c32a]{align-items:flex-end;padding:.75rem}.modal[data-v-6187c32a]{border-radius:14px 14px 0 0;width:100%}}.app[data-v-8ec9e476]{width:100%;min-height:100svh;display:flex;position:relative}.sidebar[data-v-8ec9e476]{z-index:2;border-right:1px solid var(--border);background:var(--panel-bg);flex-direction:column;flex-shrink:0;gap:1.25rem;width:240px;padding:2rem 1.25rem;display:flex;position:relative}.header[data-v-8ec9e476]{text-align:left}.title[data-v-8ec9e476]{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text-primary);margin:0;font-size:clamp(1.6rem,5vw,2rem);font-weight:600}.subtitle[data-v-8ec9e476]{color:var(--text-secondary);margin:.4rem 0 0;font-size:.875rem}.controls[data-v-8ec9e476]{flex-direction:column;flex:1;gap:1rem;display:flex}.stats[data-v-8ec9e476]{flex-direction:column;gap:.5rem;display:flex}.stat[data-v-8ec9e476]{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.stat-label[data-v-8ec9e476]{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:500}.stat-value[data-v-8ec9e476]{font-family:var(--font-mono);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700}.stat-value.muted[data-v-8ec9e476]{color:var(--text-secondary)}.stat-value.target[data-v-8ec9e476]{color:var(--accent)}.play-area[data-v-8ec9e476]{pointer-events:none;z-index:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.game-board[data-v-8ec9e476]{pointer-events:auto;flex-direction:column;align-items:center;gap:1.25rem;max-width:calc(100vw - 2rem);display:flex}.scale-field[data-v-8ec9e476]{flex-direction:column;gap:.45rem;display:flex}.scale-header[data-v-8ec9e476]{justify-content:space-between;align-items:center;display:flex}.scale-field .label[data-v-8ec9e476]{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:500}.scale-value[data-v-8ec9e476]{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.scale-slider[data-v-8ec9e476]{appearance:none;background:var(--border);cursor:pointer;border-radius:999px;width:100%;height:4px;margin:.35rem 0}.scale-slider[data-v-8ec9e476]::-webkit-slider-thumb{appearance:none;border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:14px;height:14px;transition:transform .1s;box-shadow:0 1px 6px #00000040}.scale-slider[data-v-8ec9e476]::-webkit-slider-thumb:active{transform:scale(1.1)}.scale-slider[data-v-8ec9e476]::-moz-range-thumb{border:2px solid var(--accent);background:var(--surface);cursor:pointer;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 6px #00000040}.scale-slider[data-v-8ec9e476]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.layout-spacer[data-v-8ec9e476]{flex:1;min-width:0}.history-panel[data-v-8ec9e476]{z-index:2;border-left:1px solid var(--border);background:var(--panel-bg);box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:1rem;width:220px;height:100svh;max-height:100svh;padding:2rem 1.25rem;display:flex;position:relative;overflow:hidden}.history-title[data-v-8ec9e476]{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:500}.history-list[data-v-8ec9e476]{scrollbar-width:thin;scrollbar-color:#8b9cb34d transparent;flex-direction:column;flex:1;gap:.45rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.history-list[data-v-8ec9e476]::-webkit-scrollbar{width:4px}.history-list[data-v-8ec9e476]::-webkit-scrollbar-thumb{background:#8b9cb338;border-radius:999px}.history-item[data-v-8ec9e476]{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .65rem;display:flex}.history-main[data-v-8ec9e476]{flex:1;grid-template-columns:auto 1fr;gap:.15rem .5rem;min-width:0;display:grid}.history-score[data-v-8ec9e476]{color:var(--accent);text-align:right;grid-column:2;font-size:.78rem;font-weight:500}.history-size[data-v-8ec9e476]{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8rem;font-weight:600}.history-time[data-v-8ec9e476]{font-family:var(--font-mono);color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;grid-column:2;font-size:.95rem;font-weight:700}.history-date[data-v-8ec9e476]{color:var(--text-muted);grid-column:1/-1;font-size:.72rem}.history-view[data-v-8ec9e476]{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;padding:.35rem .55rem;font-size:.75rem;transition:border-color .15s,color .15s}.history-view[data-v-8ec9e476]:hover{border-color:var(--accent-dim);color:var(--accent)}.history-empty[data-v-8ec9e476]{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.5}.status[data-v-8ec9e476]{color:var(--text-secondary);min-height:1.4em;margin:0;font-size:.9rem}.status.done[data-v-8ec9e476]{color:var(--success);font-weight:500}.author[data-v-8ec9e476]{margin-top:auto;padding-top:.25rem}.author-btn[data-v-8ec9e476]{color:#00a1d6;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;transition:color .15s,opacity .15s}.author-btn[data-v-8ec9e476]:hover{color:#33b4de;opacity:.95}.author-btn[data-v-8ec9e476]:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #00a1d6}.grid-shell[data-v-8ec9e476]{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-grid);font-size:calc(1rem * var(--grid-scale,1));border-radius:12px;padding:clamp(8px,2vw,14px);position:relative}.grid[data-v-8ec9e476]{grid-template-columns:repeat(var(--grid-size), 1fr);gap:clamp(4px,1.2vw,8px);width:100%;height:100%;display:grid}.grid-overlay[data-v-8ec9e476]{border-radius:inherit;background:var(--grid-overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.grid-start-btn[data-v-8ec9e476]{background:var(--accent);color:var(--accent-text);font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 24px var(--accent-glow);border:none;border-radius:10px;padding:.75em 2.25em;font-size:1em;font-weight:600;transition:filter .15s,transform .1s}.grid-start-btn[data-v-8ec9e476]:hover{filter:brightness(1.08)}.grid-start-btn[data-v-8ec9e476]:active{transform:scale(.97)}.grid-start-btn[data-v-8ec9e476]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cell[data-v-8ec9e476]{border:1px solid var(--border);background:var(--cell-bg);color:var(--text-primary);font-family:var(--font-mono);font-size:calc(var(--cell-font-em) * 1em);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:6px;justify-content:center;align-items:center;font-weight:700;transition:transform .1s,background .15s,border-color .15s,color .15s,opacity .15s;display:flex}.cell[data-v-8ec9e476]:not(:disabled):hover{border-color:var(--accent-dim);background:var(--cell-hover)}.cell[data-v-8ec9e476]:not(:disabled):active{transform:scale(.94)}.cell[data-v-8ec9e476]:focus-visible{outline:2px solid var(--accent);outline-offset:1px;z-index:1}.cell.done[data-v-8ec9e476]{opacity:.25;cursor:default;color:var(--text-muted)}.cell.next[data-v-8ec9e476]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.cell.next-pulse[data-v-8ec9e476]{animation:1.6s ease-in-out infinite pulse-8ec9e476}.cell.prev-mark[data-v-8ec9e476]{border-style:dashed;border-color:var(--text-muted)}.cell.wrong[data-v-8ec9e476]{border-color:var(--error);background:var(--error-bg);color:var(--error);animation:.35s shake-8ec9e476}.cell[data-v-8ec9e476]:disabled:not(.done){cursor:default}.grid-shell.grid-style-classic[data-v-8ec9e476]{border-width:2px;border-color:var(--grid-frame,var(--border));border-radius:4px;padding:0}.grid-shell.grid-style-classic .grid[data-v-8ec9e476]{border-radius:2px;gap:0;overflow:hidden}.grid-shell.grid-style-classic .cell[data-v-8ec9e476]{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0;font-weight:600}.grid-shell.grid-style-classic .cell.cell-no-right[data-v-8ec9e476]{border-right:none}.grid-shell.grid-style-classic .cell.cell-no-bottom[data-v-8ec9e476]{border-bottom:none}.grid-shell.grid-style-classic .cell[data-v-8ec9e476]:not(:disabled):hover{border-color:var(--border)}.grid-shell.grid-style-classic .cell.next[data-v-8ec9e476]{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.grid-shell.grid-style-classic .cell.prev-mark[data-v-8ec9e476]{background:var(--cell-hover);outline:none}.grid-shell.grid-style-classic .cell.next-pulse[data-v-8ec9e476]{animation:1.6s ease-in-out infinite pulse-classic-8ec9e476}@keyframes pulse-classic-8ec9e476{0%,to{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 0 var(--accent-glow)}50%{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 6px var(--accent-glow)}}.restart[data-v-8ec9e476]{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-primary);font-family:var(--font-display);cursor:pointer;border-radius:10px;flex-shrink:0;padding:.65rem 1.5rem;font-size:.9rem;font-weight:500;transition:border-color .15s,background .15s,box-shadow .15s,visibility}.restart.is-hidden[data-v-8ec9e476]{visibility:hidden;pointer-events:none}.restart[data-v-8ec9e476]:hover{border-color:var(--accent-dim);background:var(--cell-hover)}.restart[data-v-8ec9e476]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes pulse-8ec9e476{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 4px var(--accent-glow)}}@keyframes shake-8ec9e476{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (width<=768px){.app[data-v-8ec9e476]{flex-direction:column;min-height:100dvh}.layout-spacer[data-v-8ec9e476]{display:none}.sidebar[data-v-8ec9e476]{border-right:none;border-bottom:1px solid var(--border);width:100%;padding:max(.75rem, env(safe-area-inset-top,0px)) 1rem .75rem;gap:.65rem}.title[data-v-8ec9e476]{margin:0;font-size:1.25rem}.subtitle[data-v-8ec9e476]{margin-top:.25rem;font-size:.78rem}.controls[data-v-8ec9e476]{flex:none;grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.controls[data-v-8ec9e476]>:nth-child(3),.scale-field[data-v-8ec9e476]{grid-column:1/-1}.stats[data-v-8ec9e476]{flex-direction:row;grid-column:1/-1;gap:.4rem}.stat[data-v-8ec9e476]{flex-direction:column;flex:1;align-items:center;gap:.1rem;padding:.45rem .35rem}.stat-label[data-v-8ec9e476]{font-size:.62rem}.stat-value[data-v-8ec9e476]{font-size:.9rem}.status[data-v-8ec9e476]{min-height:auto;font-size:.82rem}.play-area[data-v-8ec9e476]{pointer-events:auto;z-index:1;flex:1;min-height:0;padding:.75rem 1rem;position:relative;inset:auto}.game-board[data-v-8ec9e476]{max-width:calc(100vw - 2rem)}.grid-shell[data-v-8ec9e476]{padding:clamp(6px,1.5vw,10px)}.grid[data-v-8ec9e476]{gap:clamp(3px,1vw,6px)}.restart[data-v-8ec9e476]{padding:.75rem 1rem;font-size:.95rem}.history-panel[data-v-8ec9e476]{border-left:none;border-top:1px solid var(--border);width:100%;height:auto;max-height:min(38svh,300px);padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom,0px));flex-shrink:0}.history-list[data-v-8ec9e476]{-webkit-overflow-scrolling:touch;max-height:min(30svh,240px)}.history-item[data-v-8ec9e476]{padding:.5rem .55rem}.history-view[data-v-8ec9e476]{padding:.45rem .6rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){.cell.next-pulse[data-v-8ec9e476],.grid-shell.grid-style-classic .cell.next-pulse[data-v-8ec9e476],.cell.wrong[data-v-8ec9e476]{animation:none}}
