:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--surface:#fff;--text:#1c2430;--muted:#6b7686;--line:#c4cad4;--line-strong:#1c2430;--accent:#2563eb;--accent-text:#fff;--peer:#e8edf5;--same:#cfe0ff;--selected:#a9c6ff;--given:#1c2430;--entered:#1d4ed8;--conflict-bg:#fde0e0;--conflict-text:#b42318}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f141b;--surface:#18202b;--text:#e8edf4;--muted:#93a0b2;--line:#35404f;--line-strong:#8693a6;--accent:#5b8def;--accent-text:#0b1220;--peer:#1f2937;--same:#27406b;--selected:#34568f;--given:#e8edf4;--entered:#7aa2ff;--conflict-bg:#4a1d1d;--conflict-text:#ff8a80}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}.app{--board:min(100vw - 16px, 100dvh - 330px, 480px);max-width:500px;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));flex-direction:column;align-items:center;gap:10px;margin:0 auto;display:flex}.top{width:var(--board);align-items:center;gap:10px;min-width:300px;display:flex}.title{margin:0 auto 0 0;font-size:1.25rem}.timer{font-variant-numeric:tabular-nums;color:var(--muted)}.level{color:var(--muted);font-size:.85rem}.board{width:var(--board);aspect-ratio:1;border:2px solid var(--line-strong);background:var(--surface);grid-template-columns:repeat(9,1fr);min-width:300px;display:grid}.cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);font-size:calc(var(--board) / 15);color:var(--entered);cursor:pointer;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell.box-right{border-right:2px solid var(--line-strong)}.cell.box-bottom{border-bottom:2px solid var(--line-strong)}.cell.given{color:var(--given);font-weight:700}.cell.peer{background:var(--peer)}.cell.same{background:var(--same)}.cell.selected{background:var(--selected)}.cell.conflict{background:var(--conflict-bg);color:var(--conflict-text)}.notes{width:100%;height:100%;font-size:calc(var(--board) / 38);color:var(--muted);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);padding:1px;font-weight:400;line-height:1;display:grid}.notes span{justify-content:center;align-items:center;display:flex}.tools,.pad{width:var(--board);gap:6px;min-width:300px;display:grid}.tools{grid-template-columns:repeat(4,1fr)}.pad{grid-template-columns:repeat(9,1fr)}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-height:44px}.btn:disabled{opacity:.45;cursor:default}.btn.small{min-height:36px;padding:0 12px;font-size:.9rem}.btn.tool{font-size:.85rem}.btn.active,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.digit{flex-direction:column;justify-content:center;align-items:center;min-height:56px;padding:0;line-height:1.1;display:flex}.digit-n{font-size:1.4rem;font-weight:600}.digit-left{color:var(--muted);min-height:.8em;font-size:.65rem}.btn.digit.done{opacity:.3}.foot{gap:18px;margin-top:14px;font-size:.85rem;display:flex}.foot a{color:var(--muted)}.ad-slot{width:var(--board);min-width:300px;min-height:50px}.ad-slot[hidden]{display:none}.overlay{background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.sheet{background:var(--surface);text-align:center;border-radius:16px;width:min(100%,360px);padding:20px}.sheet h2{margin:0 0 8px;font-size:1.2rem}.sheet p{color:var(--muted);margin:0 0 12px}.sheet p:empty{display:none}.sheet-actions{gap:8px;margin-top:12px;display:grid}.page{max-width:640px;margin:0 auto;padding:24px 16px 48px;line-height:1.55}.page a{color:var(--accent)}@media (height<=640px){.btn.digit{min-height:46px}}
