:root{--bg: #211c17;--bg-deep: #1a1612;--surface: #2a241e;--surface-2: #332c25;--surface-3: #3d352c;--border: #43392e;--text: #ede4d8;--text-muted: #a8998a;--text-faint: #7d6f61;--accent: #e2a05c;--accent-strong: #d98e4a;--accent-soft: rgba(226, 160, 92, .14);--green: #a3b18a;--red: #c97b6d;--blue: #8fa8c8;--purple: #b59ac9;--yellow: #d4b95e;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 10px rgba(0, 0, 0, .35)}[data-theme=forest]{--bg: #17201a;--bg-deep: #111811;--surface: #1f2a22;--surface-2: #27332a;--surface-3: #2f3d33;--border: #36473a;--text: #e6efe4;--text-muted: #9bb09c;--text-faint: #6f856f;--accent: #84c06a;--accent-strong: #6fae54;--accent-soft: rgba(132, 192, 106, .15);--green: #9fcf86;--red: #d98a72;--blue: #82b0c0;--purple: #b69ad0;--yellow: #d9b35c}[data-theme=ocean]{--bg: #151d24;--bg-deep: #0f161c;--surface: #1d2832;--surface-2: #25323e;--surface-3: #2f3f4d;--border: #364756;--text: #e2ecf2;--text-muted: #95abb9;--text-faint: #687d8c;--accent: #5aa9c9;--accent-strong: #4794b4;--accent-soft: rgba(90, 169, 201, .16);--green: #86c7b8;--red: #db8378;--blue: #7fb4d6;--purple: #a9a0d8;--yellow: #d8c06a}[data-theme=plum]{--bg: #1d1822;--bg-deep: #15111a;--surface: #271f2e;--surface-2: #312738;--surface-3: #3c3045;--border: #463a50;--text: #ece4f0;--text-muted: #ad9eb8;--text-faint: #80708c;--accent: #bd8ad6;--accent-strong: #a974c4;--accent-soft: rgba(189, 138, 214, .16);--green: #a7c08a;--red: #d98a8a;--blue: #8fa8d8;--purple: #c79ad9;--yellow: #dabf6a}[data-theme=daylight]{--bg: #f3eee5;--bg-deep: #e7e0d4;--surface: #ffffff;--surface-2: #f4efe7;--surface-3: #e9e2d6;--border: #d8cfbf;--text: #2c2620;--text-muted: #6f6557;--text-faint: #9c917f;--accent: #c8772f;--accent-strong: #b3651f;--accent-soft: rgba(200, 119, 47, .14);--green: #5e8a55;--red: #c1543f;--blue: #4a7aa8;--purple: #8a5fb0;--yellow: #b8932f;--shadow: 0 2px 10px rgba(80, 60, 30, .12)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:15px;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}input,textarea,.note-content,.modal{-webkit-user-select:text;user-select:text}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:200px;flex-shrink:0;background:var(--bg-deep);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px;gap:6px}.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;padding:6px 10px 18px;letter-spacing:.3px}.logo-flame{font-size:22px}.nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;background:transparent;color:var(--text-muted);font-size:15px;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s,color .15s}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-icon{width:20px;text-align:center;font-size:16px}.mini-timer{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;font-family:inherit}.mini-timer-phase{font-size:11px;text-transform:uppercase;letter-spacing:1px}.mini-timer-time{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.content{flex:1;overflow-y:auto;padding:28px 32px}.view{max-width:820px;margin:0 auto}.view-wide{max-width:none}.view-header{display:flex;align-items:baseline;gap:14px;margin-bottom:20px;flex-wrap:wrap}.view-header h1{margin:0;font-size:26px;font-weight:700}.view-subtitle{color:var(--text-muted);font-size:14px}h2{font-size:16px;margin:0 0 10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.input{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:14px;padding:9px 12px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input.grow{flex:1;min-width:120px}.input.num{width:64px;text-align:center}select.input{cursor:pointer}.btn{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:14px;padding:9px 16px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#241a10;font-weight:600}.btn.primary:hover{background:var(--accent)}.btn.danger{color:var(--red);border-color:#c97b6d66}.btn.danger:hover{background:#c97b6d1f}.btn.big{padding:12px 32px;font-size:16px}.icon-btn{background:transparent;border:none;color:var(--text-muted);font-size:15px;cursor:pointer;padding:4px 7px;border-radius:6px;opacity:.7}.icon-btn:hover{background:var(--surface-3);opacity:1}.icon-btn.pinned{opacity:1}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.add-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.add-bar.compact{margin:10px 0}.add-inline{display:inline-flex;gap:6px}.filter-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.chip-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-family:inherit;font-size:13px;padding:5px 12px;cursor:pointer;transition:all .15s}.chip:hover{color:var(--text);background:var(--surface-2)}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.chip-ghost{border-style:dashed;background:transparent}.chip-x{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;padding:0 2px;opacity:.6}.chip-x:hover{opacity:1}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.empty-state{color:var(--text-faint);text-align:center;padding:48px 20px;font-size:15px}.section-toggle{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:14px;cursor:pointer;padding:10px 4px;display:block}.section-toggle:hover{color:var(--text)}.field-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint);margin:14px 0 6px}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-item{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius-sm);padding:4px 12px}.todo-item.prio-high{border-left-color:var(--red)}.todo-item.prio-medium{border-left-color:var(--yellow)}.todo-item.prio-low{border-left-color:var(--blue)}.todo-done{opacity:.55}.todo-row{display:flex;align-items:center;gap:10px;min-height:40px}.todo-check{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.todo-title{background:none;border:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;flex:1;padding:8px 0}.todo-done .todo-title{text-decoration:line-through}.todo-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.subtask-progress{font-size:12px;color:var(--text-muted);background:var(--surface-2);border-radius:999px;padding:2px 8px}.label-tag{font-size:12px;color:var(--green)}.project-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px}.prio-flag{font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 7px}.prio-flag-high{background:#c97b6d2e;color:var(--red)}.prio-flag-medium{background:#d4b95e26;color:var(--yellow)}.prio-flag-low{background:#8fa8c826;color:var(--blue)}.todo-details{border-top:1px solid var(--border);padding:12px 4px 10px;margin-top:2px}.subtask-list{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:6px}.subtask-list li{display:flex;align-items:center;gap:9px}.subtask-list input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.subtask-title{flex:1}.subtask-done .subtask-title{text-decoration:line-through;color:var(--text-faint)}.todo-edit-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.project-manager{margin-bottom:16px}.board-tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.board-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px}.board-name{font-size:17px;font-weight:600;max-width:320px}.board-columns{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:16px;min-height:60vh}.kanban-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:280px;flex-shrink:0;padding:10px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background .15s}.kanban-column.drag-over{border-color:var(--accent);background:var(--surface-2)}.kanban-add-column{background:transparent;border-style:dashed}.column-header{display:flex;align-items:center;gap:6px}.column-name{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;padding:4px 6px;flex:1;min-width:0;outline:none}.column-name:hover,.column-name:focus{border-color:var(--border);background:var(--bg-deep)}.column-count{font-size:12px;color:var(--text-faint);background:var(--surface-2);border-radius:999px;padding:2px 8px}.column-actions{display:flex}.column-cards{display:flex;flex-direction:column;gap:8px;min-height:8px}.kanban-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:grab;box-shadow:var(--shadow);position:relative}.kanban-card:hover{border-color:var(--text-faint)}.kanban-card.drop-before{border-top:2px solid var(--accent)}.card-title{font-size:14px;line-height:1.35}.card-desc-hint{position:absolute;top:8px;right:10px;color:var(--text-faint);font-size:12px}.card-labels{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.card-label{font-size:11px;color:#241a10;font-weight:600;border-radius:4px;padding:1px 7px}.card-add{font-size:13px;background:transparent;border-style:dashed}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0c09a6;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;width:min(540px,92vw);box-shadow:0 12px 48px #00000080}.modal-title{width:100%;font-size:17px;font-weight:600}.modal-desc{width:100%;resize:vertical;line-height:1.5}.modal-actions{display:flex;justify-content:space-between;margin-top:18px}.notes-layout{display:flex;gap:18px;height:calc(100vh - 56px)}.notes-list{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:10px}.notes-list-header{display:flex;gap:8px}.notes-items{overflow-y:auto;display:flex;flex-direction:column;gap:6px;flex:1}.note-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:3px;transition:border-color .15s}.note-item:hover{border-color:var(--text-faint)}.note-item.active{border-color:var(--accent);background:var(--accent-soft)}.note-item-title{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pin{font-size:11px;margin-right:4px}.note-item-snippet{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-item-date{font-size:11px;color:var(--text-faint)}.notes-editor{flex:1;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.note-editor-header{display:flex;align-items:center;gap:8px;padding:14px 18px 0}.note-title-input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:22px;font-weight:700;padding:4px 0}.note-title-input::placeholder{color:var(--text-faint)}.toolbar{display:flex;gap:2px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--border);align-items:center}.tb-btn{background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);font-family:inherit;font-size:13px;min-width:30px;padding:6px 8px;cursor:pointer}.tb-btn:hover{background:var(--surface-2);color:var(--text)}.tb-active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tb-bold{font-weight:700}.tb-italic{font-style:italic}.tb-underline{text-decoration:underline}.tb-strike{text-decoration:line-through}.tb-sep{width:1px;height:20px;background:var(--border);margin:0 6px}.note-content{flex:1;overflow-y:auto;padding:16px 22px 40px;cursor:text}.note-content .tiptap{outline:none;min-height:100%;line-height:1.6}.tiptap p{margin:.4em 0}.tiptap h1{font-size:24px;margin:.8em 0 .3em}.tiptap h2{font-size:19px;margin:.8em 0 .3em}.tiptap h3{font-size:16px;margin:.8em 0 .3em}.tiptap blockquote{border-left:3px solid var(--accent);margin:.6em 0;padding:2px 14px;color:var(--text-muted)}.tiptap pre{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;font-family:Consolas,Cascadia Mono,monospace;font-size:13px;overflow-x:auto}.tiptap code{background:var(--bg-deep);border-radius:4px;padding:1px 5px;font-family:Consolas,Cascadia Mono,monospace;font-size:13px}.tiptap pre code{background:none;padding:0}.tiptap mark{background:#e2a05c59;color:inherit;border-radius:3px;padding:0 2px}.tiptap hr{border:none;border-top:1px solid var(--border);margin:1.2em 0}.tiptap ul,.tiptap ol{padding-left:24px}.tiptap ul[data-type=taskList]{list-style:none;padding-left:4px}.tiptap ul[data-type=taskList] li{display:flex;gap:8px;align-items:flex-start}.tiptap ul[data-type=taskList] li>label{margin-top:4px}.tiptap ul[data-type=taskList] input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.tiptap ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--text-faint)}.tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-faint);float:left;height:0;pointer-events:none}.pomodoro-view{max-width:640px}.pomo-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px;display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:14px}.pomo-phase{font-size:13px;text-transform:uppercase;letter-spacing:2.5px;color:var(--accent);font-weight:600}.phase-shortBreak .pomo-phase,.phase-longBreak .pomo-phase{color:var(--green)}.pomo-ring-wrap{position:relative;width:260px;height:260px}.pomo-ring{width:100%;height:100%}.ring-track{fill:none;stroke:var(--surface-3);stroke-width:14}.ring-fill{fill:none;stroke:var(--accent);stroke-width:14;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.phase-shortBreak .ring-fill,.phase-longBreak .ring-fill{stroke:var(--green)}.pomo-time{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:700;font-variant-numeric:tabular-nums}.cycle-dots{display:flex;gap:10px}.cycle-dot{width:11px;height:11px;border-radius:50%;background:var(--surface-3);border:1px solid var(--border)}.cycle-dot.filled{background:var(--accent);border-color:var(--accent)}.pomo-controls{display:flex;gap:10px}.pomo-settings{display:flex;flex-direction:column;gap:4px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;font-size:14px}.setting-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.pomo-stats h2{margin-bottom:14px}.bar-chart{display:flex;gap:12px;align-items:flex-end;height:120px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.bar{width:100%;max-width:36px;background:linear-gradient(180deg,var(--accent),var(--accent-strong));border-radius:6px 6px 2px 2px;min-height:2px;transition:height .3s}.bar-value{font-size:12px;color:var(--text-muted)}.bar-label{font-size:11px;color:var(--text-faint)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.game-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;font-family:inherit;color:var(--text);transition:transform .15s,border-color .15s}.game-tile:hover{transform:translateY(-3px);border-color:var(--accent)}.game-emoji{font-size:36px}.game-name{font-size:17px;font-weight:700}.game-blurb{font-size:13px;color:var(--text-muted)}.game-stat{font-size:12px;color:var(--accent);margin-top:6px}.game-wrap{max-width:760px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.game-header h2{font-size:22px;margin:0}.score-pills{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.score-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--text-muted)}.score-pill b{color:var(--text)}.game-hint{color:var(--text-faint);font-size:13px;margin:10px 0 16px}.game-banner{margin-top:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600}.game-banner.won{border-color:var(--green);color:var(--green)}.game-banner.lost{border-color:var(--red);color:var(--red)}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1612d9;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px;font-weight:700;z-index:5}.overlay-score{font-size:15px;color:var(--text-muted);font-weight:400}.g2048-board{position:relative;display:grid;grid-template-columns:repeat(4,92px);grid-auto-rows:92px;gap:10px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);padding:10px;width:fit-content}.g2048-cell{background:var(--surface);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;color:var(--text);transition:background .1s}.g2048-cell.t2{background:#3d352c}.g2048-cell.t4{background:#4a3f31}.g2048-cell.t8{background:#8a6138;color:#fff}.g2048-cell.t16{background:#a86f3a;color:#fff}.g2048-cell.t32{background:#bf7440;color:#fff}.g2048-cell.t64{background:#cf6b35;color:#fff}.g2048-cell.t128{background:#c89a48;color:#fff;font-size:26px}.g2048-cell.t256{background:#c9943a;color:#fff;font-size:26px}.g2048-cell.t512{background:#c98f2c;color:#fff;font-size:26px}.g2048-cell.t1024{background:#ca8a1e;color:#fff;font-size:22px}.g2048-cell.t2048{background:#e2a05c;color:#241a10;font-size:22px;box-shadow:0 0 18px #e2a05c99}.g2048-cell.tbig{background:#b59ac9;color:#241a10;font-size:20px}.mine-board{display:inline-flex;flex-direction:column;gap:2px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);padding:8px;max-width:100%;overflow-x:auto}.mine-row{display:flex;gap:2px}.mine-cell{width:30px;height:30px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.mine-hard .mine-cell,.mine-medium .mine-cell{width:26px;height:26px;font-size:13px}.mine-cell:hover:not(.revealed){background:var(--surface-3)}.mine-cell.revealed{background:var(--bg);border-color:transparent;cursor:default}.mine-cell.mine{background:#c97b6d4d}.adj-1{color:var(--blue)}.adj-2{color:var(--green)}.adj-3{color:var(--red)}.adj-4{color:var(--purple)}.adj-5{color:var(--yellow)}.adj-6{color:#7dc4bd}.adj-7{color:var(--text)}.adj-8{color:var(--text-muted)}.wordle-board{display:flex;flex-direction:column;gap:6px;width:fit-content;margin-bottom:18px}.wordle-board.shake{animation:shake .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.wordle-row{display:flex;gap:6px}.wordle-cell{width:56px;height:56px;border:2px solid var(--border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;text-transform:uppercase;background:var(--surface)}.wordle-cell.typed{border-color:var(--text-faint)}.wordle-cell.correct{background:#5d7a45;border-color:#5d7a45;color:#fff}.wordle-cell.present{background:#b08a3e;border-color:#b08a3e;color:#fff}.wordle-cell.absent{background:var(--bg-deep);border-color:var(--bg-deep);color:var(--text-faint)}.wordle-keyboard{display:flex;flex-direction:column;gap:6px;margin-top:16px;width:fit-content}.kb-row{display:flex;gap:5px;justify-content:center}.kb-key{min-width:36px;height:46px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:14px;font-weight:600;text-transform:uppercase;cursor:pointer;padding:0 8px}.kb-key:hover{background:var(--surface-3)}.kb-wide{min-width:52px}.kb-key.correct{background:#5d7a45;border-color:#5d7a45;color:#fff}.kb-key.present{background:#b08a3e;border-color:#b08a3e;color:#fff}.kb-key.absent{background:var(--bg-deep);color:var(--text-faint)}.sudoku-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.sudoku-board{display:grid;grid-template-columns:repeat(9,46px);grid-auto-rows:46px;border:2px solid var(--text-faint);border-radius:6px;overflow:hidden;width:fit-content}.sudoku-cell{background:var(--surface);border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--accent);font-family:inherit;font-size:20px;font-weight:600;cursor:pointer;padding:0;position:relative}.sudoku-cell.box-right{border-right:2px solid var(--text-faint)}.sudoku-cell.box-bottom{border-bottom:2px solid var(--text-faint)}.sudoku-cell.given{color:var(--text);font-weight:700}.sudoku-cell.peer{background:var(--surface-2)}.sudoku-cell.same-value{background:#e2a05c38}.sudoku-cell.selected{background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px}.sudoku-cell.conflict{color:var(--red)}.cell-notes{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.cell-notes i{font-style:normal;font-size:10px;font-weight:400;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.sudoku-pad{display:flex;flex-direction:column;gap:12px}.numpad{display:grid;grid-template-columns:repeat(3,56px);gap:8px}.numpad-key{height:56px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:20px;font-weight:600;cursor:pointer}.numpad-key:hover{background:var(--surface-3);border-color:var(--accent)}.numpad-key.erase{grid-column:span 3;height:44px;font-size:17px}.setting-desc{color:var(--text-muted);font-size:14px;line-height:1.55;margin:4px 0 12px}.mono-path{font-family:Consolas,Cascadia Mono,monospace;font-size:13px;color:var(--text-muted);word-break:break-all}.setting-message{color:var(--green);font-size:13px;margin:10px 0 0}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:4px}.theme-card{background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;font-family:inherit;color:var(--text);display:flex;flex-direction:column;gap:6px;text-align:left;transition:border-color .15s,transform .15s}.theme-card:hover{border-color:var(--text-faint);transform:translateY(-2px)}.theme-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatches{display:flex;gap:5px}.theme-swatch{width:100%;height:26px;border-radius:5px}.theme-name{font-size:14px;font-weight:600}.theme-blurb{font-size:12px;color:var(--text-muted)}.login-screen{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--bg)}.login-logo{font-size:26px;font-weight:700;display:flex;align-items:center;gap:10px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:min(340px,90vw);display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center;box-shadow:var(--shadow)}.login-sub{color:var(--text-muted);font-size:14px;margin:0}.login-error{color:var(--red);font-size:13px;margin:0}.snake-board{position:relative;display:grid;gap:2px;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius);padding:10px;width:min(480px,90vw);aspect-ratio:1 / 1}.snake-cell{background:var(--surface);border-radius:3px}.snake-body{background:var(--accent-strong);border-radius:3px}.snake-head{background:var(--accent);border-radius:4px}.snake-food{background:var(--green);border-radius:50%}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--border)}
