:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08111f;--bg-soft:#101828c7;--panel:#09101fdb;--panel-border:#ffffff14;--text:#eef2ff;--muted:#eef2ffb8;--accent:#f2c14e;--accent-strong:#f08a24;--danger:#ef5b5b;--success:#5dd39e}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 0 0,#f2c14e33,#0000 28%),radial-gradient(circle at 100% 0,#5dd39e24,#0000 24%),linear-gradient(#09111f 0%,#07101b 45%,#050b14 100%);margin:0;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.app-shell{min-height:100vh}.app-header{border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#040911bd;gap:.9rem;width:100%;padding:clamp(.85rem,2.5vw,1rem) clamp(.85rem,3vw,1.25rem);display:grid;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.brand h1{letter-spacing:.02em;margin:.1rem 0 0;font-size:1.35rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.72rem}.header-nav{justify-content:space-between;align-items:center;gap:.9rem;width:100%;display:flex}.user-badge{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;flex-direction:column;flex:180px;justify-content:center;align-items:center;gap:.15rem;min-width:0;max-width:100%;padding:.65rem 1rem;display:inline-flex}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.user-badge__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.user-badge__name{color:var(--text);text-align:center;font-size:.98rem;font-weight:700}.nav-link,.logout-btn{border:1px solid #0000;border-radius:999px;padding:.7rem 1rem;transition:transform .18s,border-color .18s,background .18s}.nav-link{color:var(--muted);background:#ffffff08}.nav-link.active{color:var(--text);background:#f2c14e1a;border-color:#f2c14e66}.logout-btn{color:#fff;background:linear-gradient(135deg, var(--danger), #d94848);cursor:pointer}.menu-toggle{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:.65rem;padding:.72rem .95rem;display:none}.menu-toggle__label{letter-spacing:.02em;font-size:.92rem}.menu-toggle__icon{flex-direction:column;gap:.22rem;display:inline-flex}.menu-toggle__icon span{background:currentColor;border-radius:999px;width:1.15rem;height:2px;display:block}.nav-link:hover,.logout-btn:hover{transform:translateY(-1px)}.app-main{min-height:calc(100vh - 72px)}@media (width<=720px){.app-header{gap:.75rem}.menu-toggle{display:inline-flex}.header-nav{flex-direction:column;align-items:stretch;width:100%;display:none}.header-nav.open{display:flex}.nav-links{flex-direction:column;align-items:stretch;width:100%}.nav-link,.logout-btn,.user-badge{width:100%}.user-badge{flex:auto;align-items:flex-start}.nav-link,.logout-btn{text-align:center}}@media (width>=721px){.app-header{padding-inline:min(2rem,3vw)}}.hub-page[data-v-55d5336c]{max-width:1180px;margin:0 auto;padding:2rem}.hero-panel[data-v-55d5336c]{background:linear-gradient(135deg,#121c30e6,#080e18e6);border:1px solid #ffffff14;border-radius:28px;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:1.5rem;padding:2rem;display:grid;box-shadow:0 28px 80px #0000003d}.eyebrow[data-v-55d5336c]{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 .5rem;font-size:.74rem}h2[data-v-55d5336c]{max-width:12ch;margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.02}.lead[data-v-55d5336c]{max-width:60ch;color:var(--muted);margin:1rem 0 0;font-size:1.05rem}.hero-stats[data-v-55d5336c]{align-content:start;gap:.9rem;display:grid}.stat-card[data-v-55d5336c]{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:20px;padding:1rem 1.1rem}.stat-value[data-v-55d5336c]{font-size:2rem;font-weight:700;display:block}.stat-label[data-v-55d5336c]{color:var(--muted);font-size:.95rem}.game-grid[data-v-55d5336c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.error-banner[data-v-55d5336c]{color:#ffd4d4;background:#ef5b5b1f;border:1px solid #ef5b5b3d;border-radius:18px;margin-top:1rem;padding:1rem 1.1rem}.game-card[data-v-55d5336c]{background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;flex-direction:column;gap:.8rem;min-height:220px;padding:1.4rem;display:flex}.game-card h3[data-v-55d5336c]{margin:0;font-size:1.35rem}.game-card p[data-v-55d5336c]{color:var(--muted);margin:0}.featured[data-v-55d5336c]{background:radial-gradient(circle at 100% 0,#f2c14e29,#0000 26%),linear-gradient(#162135f2,#0b111cf2)}.game-chip[data-v-55d5336c]{letter-spacing:.08em;text-transform:uppercase;color:#1f2a09;background:var(--accent);border-radius:999px;align-self:flex-start;padding:.35rem .7rem;font-size:.78rem;display:inline-flex}.game-chip.muted[data-v-55d5336c]{color:var(--muted);background:#ffffff14}.card-action[data-v-55d5336c]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#111827;border-radius:999px;justify-content:center;align-items:center;width:fit-content;margin-top:auto;padding:.82rem 1.2rem;font-weight:700;display:inline-flex}.disabled[data-v-55d5336c]{opacity:.9}@media (width<=860px){.hero-panel[data-v-55d5336c],.game-grid[data-v-55d5336c]{grid-template-columns:1fr}}@media (width<=640px){.hub-page[data-v-55d5336c]{padding:1rem}}.login-page[data-v-84801c8d]{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-shell[data-v-84801c8d]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#ffffff0f,#ffffff05),#070c16b8;border:1px solid #ffffff14;border-radius:34px;width:min(100%,1120px);padding:1.2rem;box-shadow:0 28px 90px #00000057}.login-shell__topbar[data-v-84801c8d]{justify-content:space-between;align-items:center;gap:1rem;padding:.4rem .4rem 1rem;display:flex}.shell-brand h1[data-v-84801c8d]{letter-spacing:.04em;margin:.15rem 0 0;font-size:1.15rem}.shell-pill[data-v-84801c8d]{color:#ffe6a6;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#f2c14e24;border:1px solid #f2c14e3d;border-radius:999px;padding:.55rem .85rem;font-size:.78rem}.login-hero[data-v-84801c8d]{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch;gap:1.5rem;width:100%;display:grid}.login-copy[data-v-84801c8d]{background:radial-gradient(circle at 0 0,#f2c14e2e,#0000 28%),#09101fc7;border:1px solid #ffffff14;border-radius:28px;flex-direction:column;justify-content:space-between;min-height:420px;padding:2rem;display:flex;box-shadow:0 24px 70px #00000038}.eyebrow[data-v-84801c8d]{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:.75rem}h2[data-v-84801c8d]{max-width:10ch;margin:.6rem 0 0;font-size:clamp(2.2rem,5vw,4rem);line-height:1.02}.lead[data-v-84801c8d]{max-width:44ch;color:var(--muted);margin:1rem 0 0;font-size:1.05rem}.login-card[data-v-84801c8d]{background:#09101fe0;border:1px solid #ffffff14;border-radius:28px;flex-direction:column;gap:1rem;padding:2rem;display:flex;box-shadow:0 24px 70px #00000038}.card-head[data-v-84801c8d]{flex-direction:column;gap:.3rem;display:flex}.card-head h3[data-v-84801c8d]{margin:0;font-size:1.6rem}.card-chip[data-v-84801c8d]{color:#ffe6a6;letter-spacing:.08em;text-transform:uppercase;background:#f2c14e24;border-radius:999px;align-self:flex-start;padding:.35rem .7rem;font-size:.72rem}.field[data-v-84801c8d]{flex-direction:column;gap:.45rem;display:flex}.field span[data-v-84801c8d]{color:var(--muted);letter-spacing:.04em;font-size:.88rem}.field input[data-v-84801c8d]{width:100%;color:var(--text);background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;outline:none;padding:.95rem 1rem;transition:border-color .18s,box-shadow .18s,transform .18s}.field input[data-v-84801c8d]::placeholder{color:#eef2ff59}.field input[data-v-84801c8d]:focus{border-color:#f2c14e73;transform:translateY(-1px);box-shadow:0 0 0 4px #f2c14e1f}.submit-btn[data-v-84801c8d]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#111827;cursor:pointer;border:0;border-radius:18px;margin-top:.25rem;padding:.95rem 1rem;font-weight:800;transition:transform .18s,box-shadow .18s}.submit-btn[data-v-84801c8d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #f08a2440}.submit-btn[data-v-84801c8d]:disabled{cursor:not-allowed;opacity:.72}.error-message[data-v-84801c8d]{color:#ffd4d4;background:#ef5b5b1f;border:1px solid #ef5b5b38;border-radius:16px;margin:0;padding:.85rem 1rem}@media (width<=900px){.login-hero[data-v-84801c8d]{grid-template-columns:1fr}.login-shell__topbar[data-v-84801c8d]{flex-direction:column;align-items:flex-start}.login-copy[data-v-84801c8d]{min-height:auto}}@media (width<=640px){.login-page[data-v-84801c8d]{padding:1rem}.login-shell[data-v-84801c8d]{border-radius:28px;padding:.8rem}.login-copy[data-v-84801c8d],.login-card[data-v-84801c8d]{border-radius:24px;padding:1.25rem}}.sudoku-cell[data-v-fa1cfdaa]{width:100%;height:100%;color:var(--text);cursor:pointer;background:#ffffff05;border:1px solid #ffffff14;outline:none;padding:0;position:relative}.sudoku-cell[data-v-fa1cfdaa]:hover{background:#ffffff0d}.sudoku-cell.is-related[data-v-fa1cfdaa]{background:#f2c14e0a}.sudoku-cell.is-selected[data-v-fa1cfdaa]{z-index:2;background:radial-gradient(circle,#f2c14e2e,#f2c14e14 55%,#0000 100%),#f2c14e14;box-shadow:inset 0 0 0 2px #f2c14ef2,0 0 0 3px #f2c14e2e,0 10px 22px #00000038}.sudoku-cell.is-fixed[data-v-fa1cfdaa]{cursor:default}.sudoku-cell.is-fixed .cell-value[data-v-fa1cfdaa]{color:var(--accent)}.cell-value[data-v-fa1cfdaa]{font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;line-height:1;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.candidate-grid[data-v-fa1cfdaa]{pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:end start;gap:.06rem;width:58%;height:58%;display:grid;position:absolute;bottom:6%;left:7%}.candidate-slot[data-v-fa1cfdaa]{color:#eef2ffb8;justify-content:center;align-items:center;width:100%;height:100%;font-size:.62rem;line-height:1;display:flex}.has-notes .candidate-slot[data-v-fa1cfdaa]{color:#eef2ffcc}.sudoku-board[data-v-fcf609a1]{aspect-ratio:1;background:#ffffff08;border:2px solid #ffffff1f;border-radius:18px;grid-template-rows:repeat(9,1fr);width:min(90vw,520px);height:min(90vw,500px);margin:1.5rem auto;display:grid;overflow:hidden}.sudoku-row[data-v-fcf609a1]{grid-template-columns:repeat(9,1fr);display:grid}.sudoku-row[data-v-fcf609a1] .border-right{border-right:2px solid #ffffff2e}.border-bottom[data-v-fcf609a1]{border-bottom:2px solid #ffffff2e}.editor-page[data-v-968f5ea0]{max-width:1180px;margin:0 auto;padding:2rem}.editor-shell[data-v-968f5ea0]{grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:1.25rem;display:grid}.editor-sidebar[data-v-968f5ea0],.editor-board[data-v-968f5ea0],.editor-empty[data-v-968f5ea0]{background:#09101fc7;border:1px solid #ffffff14;border-radius:28px;box-shadow:0 24px 70px #00000038}.editor-sidebar[data-v-968f5ea0]{padding:1.4rem}.eyebrow[data-v-968f5ea0]{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 .45rem;font-size:.74rem}h2[data-v-968f5ea0]{margin:0;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.04}.lead[data-v-968f5ea0]{color:var(--muted);margin:.85rem 0 0}.info-grid[data-v-968f5ea0]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.2rem;display:grid}.info-card[data-v-968f5ea0]{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:.9rem}.info-label[data-v-968f5ea0]{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;display:block}.info-value[data-v-968f5ea0]{margin-top:.3rem;font-weight:700;display:block}.mode-switch[data-v-968f5ea0]{gap:.65rem;margin-top:1rem;display:grid}.mode-switch__rail[data-v-968f5ea0]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.4rem;display:grid}.mode-btn[data-v-968f5ea0]{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:18px;flex-direction:column;align-items:flex-start;gap:.12rem;padding:.9rem 1rem;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:flex}.mode-btn.active[data-v-968f5ea0]{background:linear-gradient(135deg,#f2c14e38,#f08a2426);border-color:#f2c14e66;transform:translateY(-1px);box-shadow:0 12px 28px #00000029}.mode-btn__label[data-v-968f5ea0]{font-size:.98rem;font-weight:700}.mode-btn__meta[data-v-968f5ea0]{color:var(--muted);font-size:.78rem}.mode-hint[data-v-968f5ea0]{color:var(--muted);margin:0;font-size:.9rem}.mode-hint kbd[data-v-968f5ea0]{color:var(--text);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:7px;justify-content:center;align-items:center;padding:.1rem .4rem;font-size:.78rem;display:inline-flex}.action-row[data-v-968f5ea0]{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.secondary-btn[data-v-968f5ea0],.danger-btn[data-v-968f5ea0],.hint-btn[data-v-968f5ea0],.primary-btn[data-v-968f5ea0]{cursor:pointer;border:1px solid #ffffff14;border-radius:999px;padding:.85rem 1rem}.secondary-btn[data-v-968f5ea0]{color:var(--text);background:#ffffff0a}.hint-btn[data-v-968f5ea0]{color:#d7fff0;background:#5dd39e29}.hint-btn[data-v-968f5ea0]:disabled{opacity:.5;cursor:not-allowed}.danger-btn[data-v-968f5ea0]{color:#ffd4d4;background:#ef5b5b2e}.primary-btn[data-v-968f5ea0]{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#111827;width:fit-content;font-weight:700;display:inline-flex}.note[data-v-968f5ea0]{color:var(--muted);margin:1rem 0 0;font-size:.95rem}.editor-board[data-v-968f5ea0]{flex-direction:column;align-items:center;min-height:520px;padding:1rem;display:flex}.board-hud[data-v-968f5ea0]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;justify-content:space-between;gap:1rem;width:min(520px,100%);margin-bottom:.75rem;padding:.85rem 1rem;display:flex}.board-hud__label[data-v-968f5ea0]{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.12rem;font-size:.76rem;display:block}.keypad-panel[data-v-968f5ea0]{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;width:min(520px,100%);display:grid}.keypad-btn[data-v-968f5ea0]{color:var(--text);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;padding:.95rem .6rem}.keypad-btn.clear[data-v-968f5ea0]{grid-column:span 2}.inline-error[data-v-968f5ea0]{color:#ffd4d4;margin:.85rem 0 0}.editor-empty[data-v-968f5ea0]{padding:2rem}@media (width<=940px){.editor-shell[data-v-968f5ea0]{grid-template-columns:1fr}.editor-board[data-v-968f5ea0]{min-height:auto}}@media (width<=640px){.editor-page[data-v-968f5ea0]{padding:1rem}.info-grid[data-v-968f5ea0],.mode-switch__rail[data-v-968f5ea0]{grid-template-columns:1fr}.keypad-panel[data-v-968f5ea0]{grid-template-columns:repeat(3,minmax(0,1fr))}.keypad-btn.clear[data-v-968f5ea0]{grid-column:span 3}.board-hud[data-v-968f5ea0]{flex-direction:column}}.library-page[data-v-3194af3b]{max-width:1180px;margin:0 auto;padding:2rem}.library-header[data-v-3194af3b]{background:#09101fc7;border:1px solid #ffffff14;border-radius:28px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.eyebrow[data-v-3194af3b]{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .5rem;font-size:.74rem}h2[data-v-3194af3b]{margin:0;font-size:clamp(1.8rem,4vw,2.8rem)}.lead[data-v-3194af3b]{max-width:58ch;color:var(--muted);margin:.8rem 0 0}.library-actions[data-v-3194af3b]{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.create-btn[data-v-3194af3b]{color:#0d1523;cursor:pointer;border:0;border-radius:999px;padding:.8rem 1rem;font-weight:700}.create-btn.easy[data-v-3194af3b]{background:#d7fba8}.create-btn.medium[data-v-3194af3b]{background:#ffd58a}.create-btn.hard[data-v-3194af3b]{background:#f8a7a7}.tab-row[data-v-3194af3b]{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.tab-btn[data-v-3194af3b]{color:var(--muted);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1rem;display:inline-flex}.tab-btn.active[data-v-3194af3b]{color:var(--text);background:#f2c14e24;border-color:#f2c14e59}.count[data-v-3194af3b]{background:#ffffff14;border-radius:999px;justify-content:center;min-width:1.45rem;padding:.1rem .35rem;display:inline-flex}.state-panel[data-v-3194af3b]{background:#ffffff0a;border:1px solid #ffffff14;border-radius:24px;margin-top:1.25rem;padding:1.4rem}.state-panel.error[data-v-3194af3b]{background:#ef5b5b1f;border-color:#ef5b5b4d}.state-panel.empty h3[data-v-3194af3b]{margin:0 0 .4rem}.puzzle-grid[data-v-3194af3b]{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.puzzle-card[data-v-3194af3b]{background:#080d18e6;border:1px solid #ffffff14;border-radius:24px;padding:1.2rem}.puzzle-card__top[data-v-3194af3b]{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.puzzle-title[data-v-3194af3b]{margin:0;font-size:1.05rem;font-weight:700}.puzzle-meta[data-v-3194af3b]{color:var(--muted);margin:.35rem 0 0;font-size:.94rem}.status-pill[data-v-3194af3b]{text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.status-pill.new[data-v-3194af3b]{color:#ffe6a6;background:#f2c14e2e}.status-pill.in_progress[data-v-3194af3b]{color:#b4f3d6;background:#5dd39e29}.status-pill.paused[data-v-3194af3b]{color:var(--muted);background:#ffffff14}.status-pill.finished[data-v-3194af3b]{color:#ffe6a6;background:#f2c14e38}.progress-line[data-v-3194af3b]{background:#ffffff14;border-radius:999px;height:9px;margin:1rem 0;overflow:hidden}.progress-line span[data-v-3194af3b]{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-strong));height:100%;display:block}.card-actions[data-v-3194af3b]{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.ghost-btn[data-v-3194af3b],.danger-btn[data-v-3194af3b]{cursor:pointer;border:1px solid #ffffff14;border-radius:999px;padding:.72rem .95rem}.ghost-btn[data-v-3194af3b]{color:var(--text);background:#ffffff0a}.danger-btn[data-v-3194af3b]{color:#ffd4d4;background:#ef5b5b2e}@media (width<=860px){.library-header[data-v-3194af3b],.puzzle-grid[data-v-3194af3b]{grid-template-columns:1fr}.library-header[data-v-3194af3b]{flex-direction:column}.library-actions[data-v-3194af3b]{justify-content:flex-start}}@media (width<=640px){.library-page[data-v-3194af3b]{padding:1rem}}
