:root{--bg:#f4f5f7;--surface:#fff;--surface-alt:#eef0f4;--text:#1a1c23;--text-muted:#6b7280;--border:#d7dae1;--border-strong:#333844;--accent:#3b5bfd;--accent-contrast:#fff;--given:#1a1c23;--user-input:#3b5bfd;--error:#e5484d;--error-bg:#e5484d1f;--hint-bg:#3b5bfd24;--selected-bg:#3b5bfd29;--peer-bg:#3b5bfd0f;--same-value-bg:#3b5bfd1a;--success:#1a9e6e;--odd-marker:#b8860b;--even-marker:#2f6fed;--shadow:0 1px 2px #14141e0f,0 8px 24px #14141e14;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#14161c;--surface:#1c1f28;--surface-alt:#232733;--text:#eceef2;--text-muted:#9aa1af;--border:#333844;--border-strong:#b8bdc9;--accent:#6d87ff;--accent-contrast:#0c0e14;--given:#eceef2;--user-input:#8fa2ff;--error:#ff6b6f;--error-bg:#ff6b6f29;--hint-bg:#6d87ff2e;--selected-bg:#6d87ff38;--peer-bg:#6d87ff17;--same-value-bg:#6d87ff29;--success:#4cd48a;--odd-marker:#e0b34d;--even-marker:#8fa2ff;--shadow:0 1px 2px #0000004d,0 8px 24px #00000059}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font-family:inherit}#__nuxt{min-height:100vh}.panel[data-v-7fc7df4e]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:640px;box-shadow:var(--shadow);gap:.9rem;margin:0 auto;padding:1rem}.group[data-v-7fc7df4e],.panel[data-v-7fc7df4e]{flex-direction:column;display:flex}.group[data-v-7fc7df4e]{gap:.4rem}.group-label[data-v-7fc7df4e]{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.75rem;font-weight:700}.chips[data-v-7fc7df4e]{flex-wrap:wrap;gap:.4rem;display:flex}.chip[data-v-7fc7df4e]{border:1px solid var(--border);background:var(--surface-alt);color:var(--text);cursor:pointer;border-radius:999px;padding:.4rem .7rem;font-size:.82rem;font-weight:600;transition:background-color .12s,color .12s}.chip[data-v-7fc7df4e]:hover{filter:brightness(.97)}@media (prefers-color-scheme:dark){.chip[data-v-7fc7df4e]:hover{filter:brightness(1.15)}}.chip.active[data-v-7fc7df4e]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.start[data-v-7fc7df4e]{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.55rem 1.1rem;font-weight:700}.start[data-v-7fc7df4e]:hover{filter:brightness(1.05)}.editor[data-v-805627d3]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.6rem;max-width:640px;margin:0 auto;padding:.85rem 1rem;display:flex}.tool-switch[data-v-805627d3]{flex-wrap:wrap;gap:.4rem;display:flex}.tool[data-v-805627d3]{border:1px solid var(--border);background:var(--surface-alt);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;font-weight:600}.tool.active[data-v-805627d3]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.tool-panel[data-v-805627d3]{border-top:1px dashed var(--border);flex-direction:column;gap:.5rem;padding-top:.4rem;display:flex}.hint-text[data-v-805627d3]{color:var(--text-muted);margin:0;font-size:.8rem}.hint-text.small[data-v-805627d3]{font-size:.75rem}.row[data-v-805627d3]{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sum-input[data-v-805627d3]{border:1px solid var(--border);background:var(--surface-alt);width:5rem;color:var(--text);border-radius:8px;padding:.35rem .5rem}button.commit[data-v-805627d3]{border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;border-radius:8px;padding:.4rem .75rem;font-size:.8rem;font-weight:600}button.commit[data-v-805627d3]:disabled{opacity:.4;cursor:default}button.ghost[data-v-805627d3]{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.8rem}.list[data-v-805627d3]{flex-direction:column;gap:.3rem;max-height:8rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.list li[data-v-805627d3]{background:var(--surface-alt);border-radius:6px;justify-content:space-between;align-items:center;padding:.25rem .5rem;font-size:.8rem;display:flex}.remove[data-v-805627d3]{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:.85rem}.toolbar[data-v-1300eb4b]{flex-wrap:wrap;justify-content:space-between;gap:.75rem;max-width:640px;margin:0 auto}.status[data-v-1300eb4b],.toolbar[data-v-1300eb4b]{align-items:center;display:flex}.status[data-v-1300eb4b]{gap:.6rem;min-width:9rem}.edit-link[data-v-1300eb4b]{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.progress-track[data-v-1300eb4b]{background:var(--surface-alt);border-radius:999px;flex:1;height:6px;overflow:hidden}.progress-fill[data-v-1300eb4b]{background:var(--accent);height:100%;transition:width .2s}.actions[data-v-1300eb4b]{flex-wrap:wrap;gap:.5rem;display:flex}button[data-v-1300eb4b]{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:.45rem .75rem;font-size:.85rem;font-weight:600;transition:background-color .12s}button[data-v-1300eb4b]:hover:not(:disabled){background:var(--surface-alt)}button[data-v-1300eb4b]:disabled{opacity:.45;cursor:default}button.primary[data-v-1300eb4b]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}button.primary[data-v-1300eb4b]:hover:not(:disabled){filter:brightness(1.05)}.hint-card[data-v-32ab1cfe]{border-radius:var(--radius);background:var(--hint-bg);border:1px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;max-width:640px;margin:0 auto;padding:.75rem 1rem;display:flex}.text[data-v-32ab1cfe]{color:var(--text);flex:260px;font-size:.88rem}.eyebrow[data-v-32ab1cfe]{color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem;font-size:.7rem;font-weight:800}p[data-v-32ab1cfe]{margin:.2rem 0 0}small[data-v-32ab1cfe]{color:var(--text-muted);margin-top:.45rem;font-size:.75rem;display:block}.candidate-explanation[data-v-32ab1cfe]{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.5rem;font-size:.78rem;display:flex}.candidate-chip[data-v-32ab1cfe]{background:var(--surface);width:1.35rem;height:1.35rem;color:var(--text);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.candidate-chip.chosen[data-v-32ab1cfe]{background:var(--accent);color:var(--accent-contrast)}.elimination-explanation[data-v-32ab1cfe]{color:var(--error);flex-wrap:wrap;gap:.25rem .5rem;margin-top:.4rem;font-size:.78rem;font-weight:600;display:flex}.elimination-explanation span[data-v-32ab1cfe]{background:var(--error-bg);border-radius:4px;padding:.12rem .35rem}.step-only[data-v-32ab1cfe]{font-size:.78rem}.actions[data-v-32ab1cfe]{gap:.5rem;display:flex}button[data-v-32ab1cfe]{border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.4rem .75rem;font-size:.82rem;font-weight:600}.apply[data-v-32ab1cfe]{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.dismiss[data-v-32ab1cfe]{background:var(--surface);color:var(--text)}.technique-trace[data-v-db0b43de]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-width:640px;color:var(--text);margin:0 auto;padding:.65rem .9rem;font-size:.82rem}summary[data-v-db0b43de]{cursor:pointer;font-weight:700}.legend[data-v-db0b43de]{color:var(--text-muted);flex-wrap:wrap;gap:.7rem;margin:.65rem 0;font-size:.75rem;display:flex}.legend span[data-v-db0b43de]{font-size:1rem}.checked[data-v-db0b43de],li.checked .mark[data-v-db0b43de]{color:var(--success)}.found[data-v-db0b43de],li.found .mark[data-v-db0b43de]{color:var(--accent)}.missing[data-v-db0b43de],li.not-implemented .mark[data-v-db0b43de]{color:var(--text-muted)}ol[data-v-db0b43de]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.22rem 1.5rem;margin:0;padding-left:1.4rem;display:grid}li[data-v-db0b43de]{align-items:baseline;gap:.35rem;display:flex}.mark[data-v-db0b43de]{color:var(--border)}small[data-v-db0b43de]{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-size:.68rem}li.found[data-v-db0b43de]{font-weight:700}li.not-implemented[data-v-db0b43de]{opacity:.55}@media (width<=520px){ol[data-v-db0b43de]{grid-template-columns:1fr}}.board-outer[data-v-b69c7af5]{width:min(92vw,640px);max-height:80vh;margin-inline:auto;display:grid}.board-outer.has-frame[data-v-b69c7af5]{grid-template-rows:auto 1fr auto;grid-template-columns:auto 1fr auto}.board-outer[data-v-b69c7af5]:not(.has-frame){grid-template-rows:1fr;grid-template-columns:1fr}.grid-area[data-v-b69c7af5]{min-width:0;min-height:0;position:relative}.cells-grid[data-v-b69c7af5]{border:3px solid var(--border-strong);border-radius:6px;width:100%;height:100%;display:grid;overflow:hidden}.cell[data-v-b69c7af5],.cells-grid[data-v-b69c7af5]{background:var(--surface)}.cell[data-v-b69c7af5]{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--user-input);border-style:solid;justify-content:center;align-items:center;font-size:clamp(.7rem,3.2vw,1.5rem);font-weight:500;transition:background-color .12s;display:flex;position:relative}.candidate-grid[data-v-b69c7af5]{width:88%;height:88%;color:var(--text-muted);place-items:center;font-size:clamp(.38rem,1.15vw,.62rem);font-weight:600;line-height:1;display:grid}.eliminated-values[data-v-b69c7af5]{z-index:1;background:var(--error-bg);color:var(--error);border-radius:3px;padding:.08rem .18rem;font-size:clamp(.3rem,.8vw,.48rem);font-weight:800;position:absolute;bottom:2%;right:3%}.cell.inactive[data-v-b69c7af5]{cursor:default;background:0 0;border:none}.cell.given[data-v-b69c7af5]{color:var(--given);font-weight:700}.cell.peer[data-v-b69c7af5]{background:var(--peer-bg)}.cell.same-value[data-v-b69c7af5]{background:var(--same-value-bg)}.cell.selected[data-v-b69c7af5]{background:var(--selected-bg)}.cell.diagonal[data-v-b69c7af5]:not(.selected):not(.peer){background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.cell.asterisk[data-v-b69c7af5]:not(.selected):not(.peer){background:color-mix(in srgb,var(--odd-marker) 8%,var(--surface))}.cell.custom-group[data-v-b69c7af5]:not(.selected):not(.peer){background:color-mix(in srgb,var(--even-marker) 10%,var(--surface))}.cell.multi-selected[data-v-b69c7af5]{background:var(--selected-bg);box-shadow:inset 0 0 0 2px var(--accent)}.cell.hint-group[data-v-b69c7af5]{box-shadow:inset 0 0 0 999px var(--hint-bg)}.cell.hint-target[data-v-b69c7af5]{background:var(--hint-bg);box-shadow:inset 0 0 0 2px var(--accent);animation:1.2s ease-in-out infinite hint-pulse-b69c7af5}@keyframes hint-pulse-b69c7af5{0%,to{box-shadow:inset 0 0 0 2px var(--accent)}50%{box-shadow:inset 0 0 0 4px var(--accent)}}.cell.error[data-v-b69c7af5]{background:var(--error-bg);color:var(--error)!important}.cell[data-v-b69c7af5]:hover:not(.inactive){filter:brightness(.97)}@media (prefers-color-scheme:dark){.cell[data-v-b69c7af5]:hover:not(.inactive){filter:brightness(1.15)}}.parity-marker[data-v-b69c7af5]{z-index:0;position:absolute;inset:18%}.parity-marker.odd[data-v-b69c7af5]{border:2px solid var(--odd-marker);opacity:.55;border-radius:50%}.parity-marker.even[data-v-b69c7af5]{border:2px solid var(--even-marker);opacity:.55;border-radius:4px}.value[data-v-b69c7af5]{z-index:1;position:relative}.cage-sum[data-v-b69c7af5]{color:var(--accent);z-index:1;font-size:.55em;font-weight:700;position:absolute;top:2px;left:4px}.cage-edge[data-v-b69c7af5]{border-radius:2px;inset:3px}.cage-edge[data-v-b69c7af5],.overlay[data-v-b69c7af5]{pointer-events:none;position:absolute}.overlay[data-v-b69c7af5]{inset:0}.thermo-segment[data-v-b69c7af5]{background:color-mix(in srgb,var(--odd-marker) 55%,transparent);border-radius:999px;position:absolute}.thermo-bulb[data-v-b69c7af5]{background:color-mix(in srgb,var(--odd-marker) 55%,transparent)}.kropki-dot[data-v-b69c7af5],.thermo-bulb[data-v-b69c7af5]{border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.kropki-dot[data-v-b69c7af5]{border:1.5px solid var(--border-strong);width:12px;height:12px}.kropki-dot.white[data-v-b69c7af5]{background:#fff}.kropki-dot.black[data-v-b69c7af5]{background:var(--border-strong)}.frame-corner[data-v-b69c7af5]{width:1.6em;height:1.6em}.frame-row[data-v-b69c7af5]{align-items:center;display:grid}.frame-col[data-v-b69c7af5]{justify-items:center;display:grid}.frame-label[data-v-b69c7af5]{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.frame-input[data-v-b69c7af5],.frame-label[data-v-b69c7af5]{font-size:.7rem;font-weight:600}.frame-input[data-v-b69c7af5]{text-align:center;width:1.8em;min-width:0;height:1.8em;color:var(--text);background:var(--surface-alt);border:1px solid var(--border);-moz-appearance:textfield;border-radius:4px;padding:0}.frame-input[data-v-b69c7af5]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.frame-input[data-v-b69c7af5]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pad[data-v-c6b1697e]{grid-template-columns:repeat(auto-fit,minmax(2.5rem,1fr));gap:.4rem;max-width:640px;margin:0 auto;display:grid}.digit[data-v-c6b1697e]{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow);border-radius:10px;font-size:1.1rem;font-weight:600;transition:transform 80ms,background-color .12s}.digit[data-v-c6b1697e]:hover:not(:disabled){background:var(--surface-alt)}.digit[data-v-c6b1697e]:active:not(:disabled){transform:scale(.94)}.digit[data-v-c6b1697e]:disabled{opacity:.4;cursor:default}.erase[data-v-c6b1697e]{color:var(--text-muted)}.page[data-v-faaef3eb]{flex-direction:column;gap:1.25rem;min-height:100vh;padding:1.5rem 1rem 3rem;display:flex}header[data-v-faaef3eb]{text-align:center}h1[data-v-faaef3eb]{margin:0 0 .2rem;font-size:1.4rem}.subtitle[data-v-faaef3eb]{color:var(--text-muted);max-width:40rem;margin:0;margin-inline:auto;font-size:.88rem}.hint-message[data-v-faaef3eb]{max-width:640px;color:var(--text-muted);text-align:center;margin:0 auto;font-size:.82rem}main[data-v-faaef3eb]{flex-direction:column;flex:1;gap:1.1rem;display:flex}.edit-actions[data-v-faaef3eb]{flex-direction:column;align-items:center;gap:.75rem;display:flex}.finish-btn[data-v-faaef3eb]{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:700}.finish-btn[data-v-faaef3eb]:hover{filter:brightness(1.05)}.validation-banner[data-v-faaef3eb]{border-radius:var(--radius);text-align:center;max-width:640px;margin:0 auto;padding:.6rem 1rem;font-size:.85rem;font-weight:600}.validation-banner.info[data-v-faaef3eb]{background:var(--hint-bg);color:var(--accent)}.validation-banner.warning[data-v-faaef3eb]{background:var(--error-bg);color:var(--error)}.win-banner[data-v-faaef3eb]{border-radius:var(--radius);background:var(--success);color:#fff;text-align:center;max-width:640px;margin:0 auto;padding:.75rem 1rem;font-weight:700}.candidate-controls[data-v-faaef3eb]{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;font-size:.78rem;display:flex}.candidate-toggle[data-v-faaef3eb]{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:.45rem .75rem;font-weight:700}.candidate-toggle[aria-pressed=true][data-v-faaef3eb]{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}footer[data-v-faaef3eb]{text-align:center;color:var(--text-muted);font-size:.78rem}
