.app-header[data-v-b0eabe26]{border-bottom:1px solid var(--border);background:var(--bg-elev)}.header-row[data-v-b0eabe26]{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;padding-bottom:.9rem}.brand[data-v-b0eabe26]{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:0}.brand svg[data-v-b0eabe26]{display:block;height:32px;width:auto}.user[data-v-b0eabe26]{display:flex;align-items:center;gap:1rem}.name[data-v-b0eabe26]{color:var(--fg-dim)}.nav-link[data-v-b0eabe26]{color:var(--fg-dim);text-decoration:none;font-size:.9rem;padding:.4rem .6rem;border-radius:var(--radius);transition:color .15s,background .15s}.nav-link[data-v-b0eabe26]:hover{color:var(--fg);background:var(--bg-elev-2)}.nav-link.router-link-active[data-v-b0eabe26]{color:var(--accent)}button.ghost[data-v-b0eabe26]{background:transparent;border-color:var(--border);font-size:.9rem;padding:.4rem .8rem;white-space:nowrap}@media (max-width: 600px){.header-row[data-v-b0eabe26]{padding-top:.7rem;padding-bottom:.7rem;gap:.6rem}.brand svg[data-v-b0eabe26]{height:26px}.user[data-v-b0eabe26]{gap:.6rem}button.ghost[data-v-b0eabe26]{font-size:.85rem;padding:.35rem .7rem}.extra[data-v-b0eabe26]{display:none}.nav-link[data-v-b0eabe26]{font-size:.85rem;padding:.35rem .5rem}}@media (max-width: 380px){.name[data-v-b0eabe26]{display:none}}.public-header[data-v-13a7477b]{border-bottom:1px solid var(--border);background:var(--bg-elev)}.header-row[data-v-13a7477b]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;padding-bottom:.9rem}.brand[data-v-13a7477b]{display:inline-flex;align-items:center;text-decoration:none;line-height:0}.brand svg[data-v-13a7477b]{display:block;height:32px;width:auto}.nav[data-v-13a7477b]{display:flex;gap:.4rem;flex-wrap:wrap}.nav-link[data-v-13a7477b]{color:var(--fg-dim);text-decoration:none;font-size:.9rem;padding:.4rem .7rem;border-radius:var(--radius);transition:color .15s,background .15s}.nav-link[data-v-13a7477b]:hover{color:var(--fg);background:var(--bg-elev-2)}.nav-link.router-link-active[data-v-13a7477b]{color:var(--accent)}.login-btn[data-v-13a7477b]{display:inline-block;font-size:.9rem;padding:.45rem 1rem;border-radius:var(--radius);background:var(--accent-strong);color:#001b2e;text-decoration:none;font-weight:600;white-space:nowrap;transition:background .15s}.login-btn[data-v-13a7477b]:hover{background:var(--accent)}@media (max-width: 720px){.header-row[data-v-13a7477b]{flex-wrap:wrap;gap:.5rem;padding-top:.7rem;padding-bottom:.7rem}.brand svg[data-v-13a7477b]{height:26px}.nav[data-v-13a7477b]{order:3;width:100%;justify-content:center;gap:.2rem}.nav-link[data-v-13a7477b]{font-size:.85rem;padding:.35rem .5rem}.login-btn[data-v-13a7477b]{font-size:.85rem;padding:.4rem .8rem}}.app-footer[data-v-09624443]{border-top:1px solid var(--border);background:var(--bg-elev);margin-top:auto}.footer-row[data-v-09624443]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.2rem;padding-bottom:1.2rem;font-size:.9rem}.brand-line .brand[data-v-09624443]{font-weight:700}.brand-line .dim[data-v-09624443]{color:var(--fg-dim)}.footer-nav[data-v-09624443]{display:flex;gap:.4rem;flex-wrap:wrap}.nav-link[data-v-09624443]{color:var(--fg-dim);text-decoration:none;padding:.3rem .6rem;border-radius:var(--radius);transition:color .15s,background .15s}.nav-link[data-v-09624443]:hover{color:var(--fg);background:var(--bg-elev-2)}.copy[data-v-09624443]{color:var(--fg-dim)}@media (max-width: 640px){.footer-row[data-v-09624443]{flex-direction:column;align-items:flex-start;gap:.6rem}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1}.landing[data-v-9a8f21ed]{display:flex;flex-direction:column}.hero[data-v-9a8f21ed]{background:linear-gradient(180deg,var(--bg-elev) 0%,var(--bg) 100%);border-bottom:1px solid var(--border)}.hero-inner[data-v-9a8f21ed]{padding-top:3rem;padding-bottom:3rem;max-width:820px;text-align:center}.hero h1[data-v-9a8f21ed]{font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.2;margin:0 0 1rem}.hero .lead[data-v-9a8f21ed]{font-size:1.1rem;color:var(--fg-dim);margin:0 0 1.8rem}.hero-actions[data-v-9a8f21ed]{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap}.link-btn[data-v-9a8f21ed]{display:inline-flex;align-items:center;padding:.6rem 1.2rem;color:var(--accent);text-decoration:none;font-weight:600}.link-btn[data-v-9a8f21ed]:hover{color:var(--fg)}section h2[data-v-9a8f21ed]{font-size:1.4rem;margin:0 0 1rem}section[data-v-9a8f21ed]{margin-bottom:1rem}.exercises[data-v-9a8f21ed]{padding-top:2.5rem}.tiles[data-v-9a8f21ed]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.tile[data-v-9a8f21ed]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--fg);transition:transform .1s,border-color .15s}.tile[data-v-9a8f21ed]:hover{border-color:var(--accent);transform:translateY(-2px)}.tile .icon[data-v-9a8f21ed]{font-size:2rem}.tile .title[data-v-9a8f21ed]{font-size:1.1rem;font-weight:600}.tile .desc[data-v-9a8f21ed]{font-size:.95rem;color:var(--fg-dim)}.about p[data-v-9a8f21ed],.how li[data-v-9a8f21ed]{color:var(--fg-dim);font-size:1rem;line-height:1.6}.about p[data-v-9a8f21ed]{margin:0 0 .8rem}.about p[data-v-9a8f21ed]:last-child,.how ol[data-v-9a8f21ed]{margin-bottom:0}.how ol[data-v-9a8f21ed]{padding-left:1.2rem}.how li[data-v-9a8f21ed]{margin-bottom:.5rem}.login-section[data-v-9a8f21ed]{padding-top:1rem;padding-bottom:2rem}.login-card[data-v-9a8f21ed]{max-width:520px;margin:0 auto;text-align:center}.login-card .hint[data-v-9a8f21ed]{color:var(--fg-dim);margin:0 0 1.2rem;font-size:.95rem}.login-card form[data-v-9a8f21ed]{display:flex;flex-direction:column;gap:.8rem}.login-card input[data-v-9a8f21ed]{width:100%;text-align:center;font-size:1.05rem}.login-card .error[data-v-9a8f21ed]{margin-top:.8rem;color:var(--danger);font-size:.9rem}.cta-link[data-v-9a8f21ed]{display:inline-block;padding:.6rem 1.2rem;background:var(--accent-strong);color:#001b2e;font-weight:600;border-radius:var(--radius);text-decoration:none;transition:background .15s}.cta-link[data-v-9a8f21ed]:hover{background:var(--accent)}@media (max-width: 600px){.hero-inner[data-v-9a8f21ed]{padding-top:2rem;padding-bottom:2rem}.hero .lead[data-v-9a8f21ed]{font-size:1rem}section h2[data-v-9a8f21ed]{font-size:1.2rem}}.tile[data-v-0b42a960]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.5rem;text-align:left;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:140px;transition:transform .1s,border-color .15s,background .15s}.tile[data-v-0b42a960]:hover:not(:disabled){border-color:var(--accent);transform:translateY(-2px)}.tile[data-v-0b42a960]:disabled{opacity:.5;cursor:not-allowed}.icon[data-v-0b42a960]{font-size:2rem}.title[data-v-0b42a960]{font-size:1.1rem;font-weight:600}.desc[data-v-0b42a960]{font-size:.9rem;color:var(--fg-dim)}.home h1[data-v-78e38f54]{margin:0 0 1.5rem}section[data-v-78e38f54]{margin-bottom:2rem}section h2[data-v-78e38f54]{font-size:1.05rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:0 0 .8rem}.stats-grid[data-v-78e38f54]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-value[data-v-78e38f54]{font-size:1.8rem;font-weight:700}.stat-label[data-v-78e38f54]{color:var(--fg-dim);font-size:.9rem}.tiles[data-v-78e38f54]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.table-wrap[data-v-78e38f54]{overflow-x:auto;margin:0 -1rem;padding:0 1rem}.sessions table[data-v-78e38f54]{width:100%;border-collapse:collapse}.sessions th[data-v-78e38f54],.sessions td[data-v-78e38f54]{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--border)}.sessions th[data-v-78e38f54]{color:var(--fg-dim);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sessions td[data-v-78e38f54]{white-space:nowrap}@media (max-width: 600px){.home h1[data-v-78e38f54]{font-size:1.4rem;margin-bottom:1rem}section h2[data-v-78e38f54]{font-size:.95rem}.stat-value[data-v-78e38f54]{font-size:1.5rem}.stats-grid[data-v-78e38f54]{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem}.tiles[data-v-78e38f54]{grid-template-columns:1fr}.sessions th[data-v-78e38f54],.sessions td[data-v-78e38f54]{padding:.45rem .35rem;font-size:.85rem}}.leaderboard h1[data-v-8fdff46b]{margin:0 0 1.5rem}.muted[data-v-8fdff46b]{color:var(--fg-dim)}.error[data-v-8fdff46b]{color:var(--danger)}.table-wrap[data-v-8fdff46b]{overflow-x:auto;margin:0 -1rem;padding:0 1rem}table[data-v-8fdff46b]{width:100%;border-collapse:collapse}th[data-v-8fdff46b],td[data-v-8fdff46b]{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}th[data-v-8fdff46b]{color:var(--fg-dim);font-weight:500;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}th.num[data-v-8fdff46b],td.num[data-v-8fdff46b]{text-align:right;font-variant-numeric:tabular-nums}.name[data-v-8fdff46b]{font-weight:500}.you[data-v-8fdff46b]{margin-left:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 6px;vertical-align:middle}tr.self td[data-v-8fdff46b]{background:#38bdf814}tr.self td[data-v-8fdff46b]:first-child{border-left:3px solid var(--accent);padding-left:calc(.5rem - 3px)}@media (max-width: 600px){.leaderboard h1[data-v-8fdff46b]{font-size:1.4rem;margin-bottom:1rem}th[data-v-8fdff46b],td[data-v-8fdff46b]{padding:.45rem .35rem;font-size:.85rem}}.guest-callout[data-v-478cf5ba]{margin-top:1rem;text-align:center;background:#38bdf814;border-color:var(--accent)}.guest-callout p[data-v-478cf5ba]{margin:0 0 .8rem;color:var(--fg-dim);font-size:.95rem}.cta[data-v-478cf5ba]{display:inline-block;padding:.5rem 1.2rem;background:var(--accent-strong);color:#001b2e;font-weight:600;border-radius:var(--radius);text-decoration:none;transition:background .15s}.cta[data-v-478cf5ba]:hover{background:var(--accent)}.exercise[data-v-6e0a1e3d]{padding-top:1.5rem}.back[data-v-6e0a1e3d]{margin-bottom:1rem}.settings h1[data-v-6e0a1e3d]{margin:0 0 .5rem}.lead[data-v-6e0a1e3d]{color:var(--fg-dim);margin:0 0 1.5rem}.description[data-v-6e0a1e3d]{margin-bottom:1.5rem}.description h2[data-v-6e0a1e3d]{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:1rem 0 .4rem}.description p[data-v-6e0a1e3d]{margin:0 0 .6rem;color:var(--fg);line-height:1.55;font-size:.95rem}.settings-grid[data-v-6e0a1e3d]{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.5rem;margin-bottom:1.5rem}.row[data-v-6e0a1e3d]{display:flex;align-items:center;gap:.6rem}.row span[data-v-6e0a1e3d]{color:var(--fg-dim);flex:1}.row select[data-v-6e0a1e3d]{min-width:120px}.actions[data-v-6e0a1e3d]{display:flex;gap:.8rem}button.big[data-v-6e0a1e3d]{font-size:1.1rem;padding:.9rem 2rem}.error[data-v-6e0a1e3d]{margin-top:1rem;color:var(--danger)}@media (max-width: 600px){.settings h1[data-v-6e0a1e3d]{font-size:1.4rem}.settings-grid[data-v-6e0a1e3d]{grid-template-columns:1fr;gap:.7rem}button.big[data-v-6e0a1e3d]{font-size:1rem;padding:.8rem 1.5rem;width:100%}.actions[data-v-6e0a1e3d]{flex-direction:column}}.stats-bar[data-v-6e0a1e3d]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;font-variant-numeric:tabular-nums}.counter[data-v-6e0a1e3d]{margin-left:.8rem;font-weight:600}.counter.wrong[data-v-6e0a1e3d]{color:var(--danger)}.grid[data-v-6e0a1e3d]{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:.4rem;width:min(95vmin,540px);aspect-ratio:1;margin:0 auto}.cell[data-v-6e0a1e3d]{display:flex;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-size:clamp(1rem,6vmin,2.4rem);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s,color .12s;padding:0;min-width:0}.cell[data-v-6e0a1e3d]:hover:not(:disabled):not(.tapped){border-color:var(--accent)}.cell.tapped[data-v-6e0a1e3d]{background:var(--bg);color:var(--fg-dim);cursor:default}.cell.hidden[data-v-6e0a1e3d]{background:transparent;border-color:transparent;color:transparent;cursor:default;pointer-events:none}.cell.wrong[data-v-6e0a1e3d]{background:var(--danger);border-color:var(--danger);color:#2a0000}.cell[data-v-6e0a1e3d]:disabled{cursor:default}@media (max-width: 600px){.stats-bar[data-v-6e0a1e3d]{flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem;font-size:.9rem;margin-bottom:1rem}.stats-bar button.ghost[data-v-6e0a1e3d]{padding:.35rem .7rem;font-size:.85rem;margin-left:auto}.grid[data-v-6e0a1e3d]{width:100%;gap:.3rem}.cell[data-v-6e0a1e3d]{font-size:clamp(.9rem,5.5vmin,1.8rem)}}.summary-wrap[data-v-6e0a1e3d]{max-width:520px;margin:0 auto}.summary h2[data-v-6e0a1e3d]{margin:0 0 1rem}.summary .record[data-v-6e0a1e3d]{font-size:1.2rem;font-weight:700;color:var(--success);text-align:center;padding:.6rem;margin-bottom:1rem;background:#00000014;border-radius:var(--radius)}.summary .row[data-v-6e0a1e3d]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.summary .row[data-v-6e0a1e3d]:last-child{border-bottom:none}.summary .label[data-v-6e0a1e3d]{color:var(--fg-dim)}.summary .val[data-v-6e0a1e3d]{color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.summary .val.wrong[data-v-6e0a1e3d]{color:var(--danger)}.summary-wrap .actions[data-v-6e0a1e3d]{margin-top:1.5rem;justify-content:center}button.ghost[data-v-6e0a1e3d]{background:transparent;border-color:var(--border)}.summary h2[data-v-a2774040]{margin:0 0 1rem}.row[data-v-a2774040]{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.row[data-v-a2774040]:last-child{border-bottom:none}.label[data-v-a2774040]{color:var(--fg-dim)}.val[data-v-a2774040]{font-weight:600}.val.ok[data-v-a2774040]{color:var(--success)}.val.wrong[data-v-a2774040]{color:var(--danger)}.exercise[data-v-b1b1791b]{padding-top:1.5rem}.back[data-v-b1b1791b]{margin-bottom:1rem}.settings h1[data-v-b1b1791b]{margin:0 0 .5rem}.lead[data-v-b1b1791b]{color:var(--fg-dim);margin:0 0 1.5rem}.description[data-v-b1b1791b]{margin-bottom:1.5rem}.description h2[data-v-b1b1791b]{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:1rem 0 .4rem}.description p[data-v-b1b1791b]{margin:0 0 .6rem;color:var(--fg);line-height:1.55;font-size:.95rem}.settings-grid[data-v-b1b1791b]{display:grid;gap:.8rem 1.5rem;margin-bottom:1.5rem}.row[data-v-b1b1791b]{display:flex;align-items:center;gap:.6rem}.row>span[data-v-b1b1791b]:first-child{color:var(--fg-dim);flex:1}.radio-group[data-v-b1b1791b]{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem}.radio[data-v-b1b1791b]{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.actions[data-v-b1b1791b]{display:flex;gap:.8rem}button.big[data-v-b1b1791b]{font-size:1.1rem;padding:.9rem 2rem}.error[data-v-b1b1791b]{margin-top:1rem;color:var(--danger)}.stats-bar[data-v-b1b1791b]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem;font-variant-numeric:tabular-nums}.counter[data-v-b1b1791b]{margin-left:.8rem;font-weight:600}.counter.wrong[data-v-b1b1791b]{color:var(--danger)}.stage[data-v-b1b1791b]{display:flex;align-items:center;justify-content:center;gap:clamp(2rem,8vmin,6rem);min-height:50vh;padding:2rem 1rem}.digit[data-v-b1b1791b]{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.4em .6em;min-width:2em;line-height:1;transition:background .12s,border-color .12s,color .12s}.digit[data-v-b1b1791b]:hover:not(:disabled){border-color:var(--accent)}.digit.wrong[data-v-b1b1791b]{background:var(--danger);border-color:var(--danger);color:#2a0000}.digit[data-v-b1b1791b]:disabled{cursor:default}.digit--sm[data-v-b1b1791b]{font-size:clamp(1.6rem,7vmin,3.2rem)}.digit--lg[data-v-b1b1791b]{font-size:clamp(3.6rem,16vmin,7.5rem)}.hint[data-v-b1b1791b]{text-align:center;color:var(--fg-dim);font-size:.9rem;margin-top:1rem}.summary-wrap[data-v-b1b1791b]{max-width:520px;margin:0 auto}.summary-wrap .actions[data-v-b1b1791b]{margin-top:1.5rem;justify-content:center}button.ghost[data-v-b1b1791b]{background:transparent;border-color:var(--border)}@media (max-width: 600px){.settings h1[data-v-b1b1791b]{font-size:1.4rem}.row[data-v-b1b1791b]{flex-direction:column;align-items:flex-start;gap:.4rem}.row>span[data-v-b1b1791b]:first-child{flex:none}button.big[data-v-b1b1791b]{font-size:1rem;padding:.8rem 1.5rem;width:100%}.actions[data-v-b1b1791b]{flex-direction:column}.stats-bar[data-v-b1b1791b]{flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem;font-size:.9rem;margin-bottom:1rem}.stats-bar button.ghost[data-v-b1b1791b]{padding:.35rem .7rem;font-size:.85rem;margin-left:auto}.stage[data-v-b1b1791b]{gap:clamp(1rem,6vmin,3rem);min-height:40vh}}.exercise[data-v-51bc8bb8]{padding-top:1.5rem}.back[data-v-51bc8bb8]{margin-bottom:1rem}.settings h1[data-v-51bc8bb8]{margin:0 0 .5rem}.lead[data-v-51bc8bb8]{color:var(--fg-dim);margin:0 0 1.5rem}.description[data-v-51bc8bb8]{margin-bottom:1.5rem}.description h2[data-v-51bc8bb8]{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);margin:1rem 0 .4rem}.description p[data-v-51bc8bb8]{margin:0 0 .6rem;color:var(--fg);line-height:1.55;font-size:.95rem}.settings-grid[data-v-51bc8bb8]{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.5rem;margin-bottom:1.5rem}.row[data-v-51bc8bb8]{display:flex;align-items:center;gap:.6rem}.row span[data-v-51bc8bb8]{color:var(--fg-dim);flex:1}.row input[type=number][data-v-51bc8bb8]{width:100%;max-width:140px}.row.check[data-v-51bc8bb8]{grid-column:1 / -1}.row.check span[data-v-51bc8bb8]{flex:none}.actions[data-v-51bc8bb8]{display:flex;gap:.8rem}button.big[data-v-51bc8bb8]{font-size:1.1rem;padding:.9rem 2rem}.error[data-v-51bc8bb8]{margin-top:1rem;color:var(--danger)}.stats-bar[data-v-51bc8bb8]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem}.counter[data-v-51bc8bb8]{margin-left:.8rem;font-weight:600}.counter.ok[data-v-51bc8bb8]{color:var(--success)}.counter.wrong[data-v-51bc8bb8]{color:var(--danger)}.problem-card[data-v-51bc8bb8]{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:5rem 2rem;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:border-color .15s,background .15s;min-height:40vh}.problem-card[data-v-51bc8bb8]:hover{border-color:var(--accent)}.problem-card[data-v-51bc8bb8]:focus{border-color:var(--accent)}.problem-text[data-v-51bc8bb8]{font-size:clamp(1.8rem,9vw,5rem);font-weight:700;letter-spacing:.05em;font-variant-numeric:tabular-nums;text-align:center}.hint[data-v-51bc8bb8]{margin-top:1.5rem;color:var(--fg-dim);font-size:.9rem}.eval-buttons[data-v-51bc8bb8]{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.eval-buttons button[data-v-51bc8bb8]{flex:1;max-width:280px;font-size:1.1rem;padding:1rem;font-weight:600}.eval-correct[data-v-51bc8bb8]{background:var(--success);border-color:var(--success);color:#002e1b}.eval-correct[data-v-51bc8bb8]:hover{filter:brightness(1.1)}.eval-wrong[data-v-51bc8bb8]{background:var(--bg-elev);border-color:var(--danger);color:var(--danger)}.eval-wrong[data-v-51bc8bb8]:hover{background:var(--danger);color:#2a0000}.summary-wrap[data-v-51bc8bb8]{max-width:520px;margin:0 auto}.summary-wrap .actions[data-v-51bc8bb8]{margin-top:1.5rem;justify-content:center}button.ghost[data-v-51bc8bb8]{background:transparent;border-color:var(--border)}.problem-card.static[data-v-51bc8bb8]{cursor:default}.problem-card.static[data-v-51bc8bb8]:hover{border-color:var(--border)}.options-row[data-v-51bc8bb8]{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin-top:1.5rem}.option[data-v-51bc8bb8]{position:relative;padding:1.2rem .6rem;font-size:1.4rem;font-weight:600;font-variant-numeric:tabular-nums;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.option[data-v-51bc8bb8]:hover:not(:disabled){border-color:var(--accent)}.option .kbd[data-v-51bc8bb8]{position:absolute;top:4px;right:6px;font-size:.7rem;color:var(--fg-dim);font-weight:400}.option.correct[data-v-51bc8bb8]{background:var(--success);border-color:var(--success);color:#002e1b}.option.correct .kbd[data-v-51bc8bb8]{color:#002e1b;opacity:.7}.option.wrong[data-v-51bc8bb8]{background:var(--danger);border-color:var(--danger);color:#2a0000}.option.wrong .kbd[data-v-51bc8bb8]{color:#2a0000;opacity:.7}.option[data-v-51bc8bb8]:disabled{cursor:default}@media (max-width: 600px){.exercise[data-v-51bc8bb8]{padding-top:1rem}.settings h1[data-v-51bc8bb8]{font-size:1.4rem;margin-bottom:1rem}.settings-grid[data-v-51bc8bb8]{grid-template-columns:1fr;gap:.7rem;margin-bottom:1.2rem}.row.check[data-v-51bc8bb8]{grid-column:auto}button.big[data-v-51bc8bb8]{font-size:1rem;padding:.8rem 1.5rem;width:100%}.actions[data-v-51bc8bb8]{flex-direction:column}.stats-bar[data-v-51bc8bb8]{flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem;font-size:.9rem;margin-bottom:1rem}.counter[data-v-51bc8bb8]{margin-left:.5rem}.stats-bar button.ghost[data-v-51bc8bb8]{padding:.35rem .7rem;font-size:.85rem;margin-left:auto}.problem-card[data-v-51bc8bb8]{padding:2rem 1rem;min-height:26vh}.hint[data-v-51bc8bb8]{margin-top:1rem;font-size:.8rem}.options-row[data-v-51bc8bb8]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem}.option[data-v-51bc8bb8]{padding:.9rem .4rem;font-size:1.15rem}.option .kbd[data-v-51bc8bb8]{top:3px;right:4px;font-size:.65rem}.eval-buttons[data-v-51bc8bb8]{flex-direction:column;gap:.6rem}.eval-buttons button[data-v-51bc8bb8]{max-width:none;font-size:1rem;padding:.8rem}}@media (max-width: 360px){.options-row[data-v-51bc8bb8]{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--bg: #0f172a;--bg-elev: #1e293b;--bg-elev-2: #334155;--fg: #f1f5f9;--fg-dim: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--danger: #f87171;--success: #4ade80;--border: #334155;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;min-height:100vh}body{font-family:var(--font);background:var(--bg);color:var(--fg);font-size:16px;line-height:1.5}button{font-family:inherit;font-size:1rem;padding:.6rem 1.2rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);cursor:pointer;transition:background .15s,border-color .15s}button:hover{background:var(--bg-elev-2)}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#001b2e;font-weight:600}button.primary:hover{background:var(--accent);border-color:var(--accent)}button.danger{border-color:var(--danger);color:var(--danger)}input[type=text],input[type=number]{font-family:inherit;font-size:1rem;padding:.55rem .8rem;background:var(--bg-elev);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);outline:none}input:focus{border-color:var(--accent)}select{font-family:inherit;font-size:1rem;padding:.55rem 2.2rem .55rem .8rem;background-color:var(--bg-elev);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right .8rem center;transition:border-color .15s,background-color .15s}select:hover{border-color:var(--bg-elev-2)}select:focus{border-color:var(--accent)}select option{background:var(--bg-elev);color:var(--fg)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.container{max-width:1100px;margin:0 auto;padding:1.5rem}@media (max-width: 600px){.container,.card{padding:1rem}}
