:root{--fg:#101114;--muted:#676b75;--line:#e4e6eb;--accent:#3157d5;--good:#2f7d32;--bad:#b42318;--moss:#4c9a4c;--moss-dark:#2e6b2e;--moss-deep:#24401f;--soil:#10160f;--moss-pale:#e9eddc;--neon-pink:#ff2e63;--page:#f5f6f8;--surface:#fff;--raised:#fafbfc;--tut:#f5f7ff;--tut-line:#cdd6fb;--on-accent:#fff;--hover-line:#b9bec9;--shadow:#191e2d0f;--tab-on:#eef1ff;--tab-on-line:#aebcf1;--on-good:#fff;--good-bg:#ecf8ef;--good-fg:#14652a;--bad-bg:#fff0ee;--bad-fg:#a3291b;--warn-bg:#fff8d8;--warn-fg:#6b5a12;--warn-line:#c5a63a;--cell-bg:#f1f2f5;--cell-fg:#9398a2;--cell-wall:#17181b;--cell-path:#9fb1ff;--cell-path-fg:#193180;--cell-seed:#3157d5;--cell-seed-fg:#fff;--cell-bonus:#fff8d8;--cell-bonus-line:#c5a63a;--cell-bonus-fg:#806a19;--cell-thorn:#fff0f0;--cell-thorn-line:#e8adb0;--cell-thorn-fg:#a94149;--cell-portal:#e8f8fb;--cell-portal-line:#82cbd6;--cell-portal-fg:#257481}*{box-sizing:border-box}.hidden{display:none!important}body{color:var(--fg);background:#f5f6f8;justify-content:center;margin:0;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif;display:flex}.app{width:100%;max-width:720px;padding:22px 24px 40px}.site-header{margin-bottom:14px}.brand-row{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}header h1{letter-spacing:-.055em;margin:0;font-size:clamp(32px,7vw,50px);line-height:.96}header h1 span{color:var(--muted);font-weight:500}.streak-pill{border:1px solid var(--line);min-height:38px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:0 13px;font-size:13px;font-weight:700;display:flex}.daily-bar{grid-template-columns:1fr auto;align-items:stretch;gap:10px;margin-bottom:8px;display:grid}.daterow{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:6px;margin:0;display:grid}.icon-btn{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--fg);cursor:pointer;background:#fff;border-radius:12px;font-size:18px}.datebtn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:750;display:flex}.today-progress{background:var(--fg);color:#fff;border-radius:12px;flex-direction:column;justify-content:center;min-width:78px;padding:6px 13px;display:flex}.today-progress span{color:#b7bac2;font-size:11px}.today-progress strong{font-size:14px}.btn.small{flex:0 0 52px}.archive{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:10px;padding:10px}.archive.hidden{display:none}.archive-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.archive-head input{border:1px solid var(--line);border-radius:8px;padding:6px;font-size:13px}.archive-list{grid-template-columns:repeat(5,1fr);gap:6px;max-height:180px;display:grid;overflow-y:auto}.archive-item{border:1px solid var(--line);cursor:pointer;text-align:center;background:#fbfbf5;border-radius:8px;padding:7px 2px;font-size:11px;font-weight:700;line-height:1.3}.archive-item.current{background:var(--fg);color:#fff;border-color:var(--fg)}.archive-item .dot{font-size:10px}.tabs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.tab{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 8px;font-size:14px;font-weight:700;display:flex}.tab.active{background:var(--tab-on);color:var(--accent);border-color:var(--tab-on-line)}.editor-link{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:6px 10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.editor-link:hover{color:var(--fg)}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin-bottom:4px;display:flex}.editor-link.active{color:var(--accent)}.view.hidden{display:none}.puzzle-heading{justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}.puzzle-heading h2{letter-spacing:-.035em;margin:0;font-size:28px;line-height:1}.learn-btn{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--fg);cursor:pointer;border-radius:10px;padding:0 13px;font-size:13px;font-weight:750}.rules{margin:0 0 10px;font-size:16px;line-height:1.5}.legend-inline{color:var(--muted);flex-wrap:wrap;gap:6px 12px;margin-bottom:14px;font-size:13px;display:flex}.legend-inline span{align-items:center;gap:4px;display:inline-flex}.legend-inline i{font-style:normal}.meta{min-height:20px;margin:8px 0;font-size:14px;font-weight:700}.msg.good{color:var(--good);font-weight:700}.msg.bad{color:var(--bad);font-weight:700}.row{gap:8px;margin-top:12px;display:flex}.row.small{margin-top:8px}.btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:700}.btn.primary,.btn.active{background:var(--fg);color:#fff;border-color:var(--fg)}.sharebox{border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);color:var(--fg);border-radius:16px;padding:18px;box-shadow:0 18px 48px #10160f38}.sharebox::backdrop{background:#10160f6b}.sharebox h3{letter-spacing:-.02em;margin:0 0 10px;font-size:16px}.sharebox pre{border:1px solid var(--line);background:var(--raised);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;max-height:40vh;margin:0 0 14px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;overflow-y:auto}.sharebox .row{margin:0}.tally{border:1px solid var(--line);background:var(--raised);border-radius:12px;margin:12px 0 4px;padding:12px}.tally.hidden{display:none}.tally-ask{margin:0 0 4px;font-size:14px;font-weight:650}.tally-note{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.45}.tally-warn{border-left:3px solid var(--warn-line);background:var(--warn-bg);color:var(--warn-fg);border-radius:0 8px 8px 0;margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.45}.tally .linkbtn{margin-top:8px;padding-left:0}.tally .kindbox p{margin:0 0 8px;line-height:1.5}.tally .kindbox p:last-child{margin-bottom:0}.tally-input{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:44px;color:var(--fg);border-radius:11px;flex:1;padding:0 12px;font-weight:700}.tally .msg{min-height:0}.tally .msg:empty{display:none}.how summary{cursor:pointer;color:var(--muted)}.linkbtn{color:#5c6650;cursor:pointer;background:0 0;border:none;padding:2px 0 6px;font-size:13px;font-weight:700;text-decoration:underline}@media (width<=560px){.app{padding:22px 16px 40px}.brand-row{align-items:center;margin-bottom:18px}.streak-pill{min-height:34px;padding:0 10px}.daily-bar{grid-template-columns:1fr}.today-progress{display:none}.tabs{grid-template-columns:repeat(2,1fr)}.tab{min-height:44px}}.tutbox{border:1px solid var(--line);background:#fff;border-radius:12px;margin:4px 0 10px;padding:12px;font-size:13.5px;line-height:1.55}.tutbox.hidden{display:none}.tuthead{justify-content:space-between;align-items:center;gap:8px;margin-bottom:2px;display:flex}.tuthead .btn.small{flex:none}.tutbox ol{margin:8px 0;padding-left:20px}.tutbox li{margin-bottom:6px}.tutintro{color:var(--muted);margin:4px 0}.tutpar{margin:8px 0 0}.kindbox{border:1px solid var(--line);background:#fff;border-radius:12px;margin:8px 0;padding:9px 11px;font-size:13px;line-height:1.5}.kindbox.hidden{display:none}.kindbox strong{margin-bottom:2px;display:block}.grid{-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:none;background:0 0;gap:4px;padding:0;display:grid}.grid.wraps{border-left:3px dashed #7fb069;border-right:3px dashed #7fb069;margin:18px -8px 0;padding:0 5px;position:relative}.grid.wraps:before,.grid.wraps:after{letter-spacing:.04em;color:#7fb069;font-size:12px;font-weight:800;position:absolute;top:-17px}.grid.wraps:before{content:"↔ wraps";left:0}.grid.wraps:after{content:"wraps ↔";right:0}.grid.wraps-vertical{border-top:3px dashed #7fb069;border-bottom:3px dashed #7fb069;padding-top:5px;padding-bottom:5px}.grid.wraps-vertical:before{content:"↔ + ↕ wraps"}.grid.wraps-vertical:after{content:none}body[data-theme=minimal] .grid.wraps-vertical{border-top-color:#111;border-bottom-color:#111}body[data-theme=minimal] .grid.wraps{border-left-color:#111;border-right-color:#111}body[data-theme=minimal] .grid.wraps:before,body[data-theme=minimal] .grid.wraps:after{color:#111}.cell{aspect-ratio:1;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;min-width:0;padding:0;font-size:13px;font-weight:800;display:flex}.cell.free{color:#8a9384;background:#eef1e8}.cell.wall{color:#111;cursor:not-allowed;background:#111;border-color:#111}.cell.path{color:#2f4a2c;box-shadow:none;background:#b9dfb0;border-color:#b9dfb0}.cell.term{color:#fff;box-shadow:none;background:#7fb069;border:1px solid #7fb069;border-radius:6px}.cell.term.connected{color:#fff;background:#7fb069;border-color:#7fb069}.cell.term.unconnected{background:#7fb069}.cell.bonus{color:#8a8030;background:#faf3d3;border:1px dashed #b6a94a}.cell.bonus.path{color:#2f4a2c;background:#cfe6c5;border:1px solid #cfe6c5}.cell.penalty{color:#b07171;background:#f9e3e3;border:1px solid #d9a5a5}.cell.portal{color:#4e8a96;background:#e2f3f6;border:1px solid #9fd3de}.cell.portal.path{color:#264e55;box-shadow:none;background:#b5dfe8;border-color:#b5dfe8}.palette{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.swatch{cursor:pointer;border:3px solid #fff;border-radius:14px;outline:2px solid #0000;width:44px;height:44px;padding:0;transition:transform 80ms;box-shadow:0 2px 8px #14210f33}.swatch:active{transform:scale(.92)}.swatch.active{outline-color:#14210f}#graphSvg{border:1px solid var(--line);background:#fff;border-radius:20px;width:100%;margin-top:8px;box-shadow:0 4px 14px #14210f0f}#graphSvg line{stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#graphSvg line.conflict{stroke:#e11d48;stroke-width:3.5px;opacity:1}#graphSvg path.edge{fill:none;stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#graphSvg path.edge.conflict{stroke:#e11d48;stroke-width:3.5px;opacity:1}#graphSvg line.lit,#graphSvg path.edge.lit{stroke-width:3.5px;opacity:1}#graphSvg circle.node{stroke:#22301c;stroke-width:2px;cursor:pointer;filter:drop-shadow(0 2px 3px #14210f40)}#graphSvg text{pointer-events:none;font-family:inherit;font-size:12px;font-weight:800}#graphleSvg{border:1px solid var(--line);background:#fff;border-radius:20px;width:100%;margin-top:8px;box-shadow:0 4px 14px #14210f0f}#graphleSvg line{stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#graphleSvg path.edge{fill:none;stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#graphleSvg circle.node{stroke:#22301c;stroke-width:2px;cursor:pointer;filter:drop-shadow(0 2px 3px #14210f40)}#graphleSvg circle.node.pending{stroke:#e11d48;stroke-width:3.5px}#graphleSvg text{pointer-events:none;font-family:inherit;font-size:12px;font-weight:800}#treedleSvg{border:1px solid var(--line);background:#fff;border-radius:20px;width:100%;margin-top:8px;box-shadow:0 4px 14px #14210f0f}#treedleSvg line{stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#treedleSvg path.edge{fill:none;stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#treedleSvg circle.node{stroke:#22301c;stroke-width:2px;cursor:pointer;filter:drop-shadow(0 2px 3px #14210f40)}#treedleSvg circle.node.pending{stroke:#e11d48;stroke-width:3.5px}#treedleSvg text{pointer-events:none;font-family:inherit;font-size:12px;font-weight:800}body[data-theme=minimal] #treedleSvg,body[data-theme=minimal] #graphleSvg{background:#fff;border:1px solid #111}.ghist{flex-direction:column;gap:8px;margin-top:10px;display:flex}.ghist:empty{display:none}.grow{align-items:stretch;gap:6px;display:flex}.grow svg.mini{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:none;width:62px;height:62px}.gtiles{flex:1;gap:4px;display:flex}.gtile{text-align:center;border-radius:6px;flex:1;min-width:0;padding:3px 0;font-weight:800}.gtile small{opacity:.8;font-size:9px;font-weight:700;display:block}.gtile span{font-size:15px}.g-green{color:#fff;background:#27763e}.g-yellow{color:#fff;background:#856a08}.g-gray{color:#fff;background:#555b65}#editorSvg{border:1px solid var(--line);touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:20px;width:100%;margin-top:8px;box-shadow:0 4px 14px #14210f0f}#editorSvg line{stroke:#9aa78f;stroke-width:2px;stroke-linecap:round;opacity:.9}#editorSvg circle.node{stroke:#22301c;stroke-width:2px;cursor:pointer}#editorSvg circle.node.pending{stroke:#e11d48;stroke-width:3.5px}#editorSvg text{pointer-events:none;font-family:inherit;font-size:12px;font-weight:800}.tools{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.tool{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:700}.tool.active{color:#fff;background:#14210f;border-color:#14210f}.lib{flex-direction:column;gap:6px;margin-top:8px;display:flex}.lib-item{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.lib-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lib-item button{border:1px solid var(--line);cursor:pointer;background:#f6f7ef;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700}.custombar{border:1px dashed var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 10px;padding:8px 10px;font-size:13px;display:flex}.custombar.hidden{display:none}.custombar .btn.small{flex:none}footer{color:var(--muted);text-align:center;margin-top:24px;font-size:12px}.themerow{justify-content:center;align-items:center;gap:6px;margin-top:10px;display:flex}.tbtn{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.tbtn.active{border-color:var(--fg);color:var(--fg)}body[data-theme=dark]{--fg:#e7eaf2;--muted:#98a1b5;--line:#2a3140;--accent:#7d9bff;--good:#64dd9a;--bad:#ff8f80;--page:#0b0d13;--surface:#161a24;--raised:#1e2330;--tut:#1a2136;--tut-line:#303c5c;--on-accent:#0b0d13;--hover-line:#414b60;--shadow:#00000073;--tab-on:#1f2a4d;--tab-on-line:#4a5f9e;--on-good:#06210f;--good-bg:#12291d;--good-fg:#7fe0aa;--bad-bg:#2c1715;--bad-fg:#ffa295;--warn-bg:#2a2210;--warn-fg:#e6d59c;--warn-line:#c5a63a;--cell-bg:#222836;--cell-fg:#767f92;--cell-wall:#04050a;--cell-path:#4a63b8;--cell-path-fg:#e7eaf2;--cell-seed:#7d9bff;--cell-seed-fg:#0b0d13;--cell-bonus:#2f2a12;--cell-bonus-line:#8a7524;--cell-bonus-fg:#e0cd7d;--cell-thorn:#33191b;--cell-thorn-line:#7d4145;--cell-thorn-fg:#f0a0a4;--cell-portal:#10303a;--cell-portal-line:#2f6f80;--cell-portal-fg:#86d3e4;background:var(--page);color:var(--fg)}body[data-theme=dark] .cell.wall{border-color:#232a38}body[data-theme=dark] .archive-head input,body[data-theme=dark] .tally-input{background:var(--page);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-theme=dark] .sharebox pre{background:var(--page)}body[data-theme=dark] .lib-item button{background:var(--raised);color:var(--fg)}body[data-theme=dark] .how{color:var(--fg)}body[data-theme=dark] .swatch{border-color:var(--surface)}body[data-theme=dark] .swatch.active{outline-color:var(--fg)}body[data-theme=dark] .cell{border-color:#0000}body[data-theme=dark] #graphSvg line.lit:not(.conflict),body[data-theme=dark] #graphSvg path.edge.lit:not(.conflict){stroke:#9db4ff}body[data-theme=dark] #graphSvg line,body[data-theme=dark] #graphleSvg line,body[data-theme=dark] #treedleSvg line,body[data-theme=dark] #editorSvg line,body[data-theme=dark] #graphSvg path.edge,body[data-theme=dark] #graphleSvg path.edge,body[data-theme=dark] #treedleSvg path.edge{stroke:#55607a}body[data-theme=dark] #graphSvg circle.node,body[data-theme=dark] #graphleSvg circle.node,body[data-theme=dark] #treedleSvg circle.node,body[data-theme=dark] #editorSvg circle.node{stroke:#566276}body[data-theme=moss]{--fg:#1f2c17;--muted:#63735a;--line:#d7e0c8;--accent:#4a7a2f;--good:#2f6b26;--bad:#a33c2a;--page:#f2f4e8;--surface:#fdfdf6;--raised:#f6f8ec;--tut:#eef3e1;--tut-line:#cddcb6;--on-accent:#fdfdf6;--on-good:#fdfdf6;--hover-line:#aebf98;--shadow:#2d3c1e17;--tab-on:#e6efd6;--tab-on-line:#b3ca92;--good-bg:#e6f2df;--good-fg:#24571d;--bad-bg:#fbeae5;--bad-fg:#8f3320;--warn-bg:#fbf3d5;--warn-fg:#6a5714;--warn-line:#bda43c;--cell-bg:#e8eeda;--cell-fg:#8d9b81;--cell-wall:#24301a;--cell-path:#a7cd7c;--cell-path-fg:#22400f;--cell-seed:#4a7a2f;--cell-seed-fg:#fdfdf6;--cell-bonus:#fbf3d5;--cell-bonus-line:#bda43c;--cell-bonus-fg:#6a5714;--cell-thorn:#fbe6e0;--cell-thorn-line:#d8a08e;--cell-thorn-fg:#97402c;--cell-portal:#ddf0ee;--cell-portal-line:#7fbdb6;--cell-portal-fg:#26635c;background:var(--page);color:var(--fg)}body[data-theme=moss] .archive-head input,body[data-theme=moss] .tally-input{background:var(--surface)}body[data-theme=moss] #graphSvg line,body[data-theme=moss] #graphleSvg line,body[data-theme=moss] #treedleSvg line,body[data-theme=moss] #editorSvg line,body[data-theme=moss] #graphSvg path.edge,body[data-theme=moss] #graphleSvg path.edge,body[data-theme=moss] #treedleSvg path.edge{stroke:#9aae88}body[data-theme=moss] #graphSvg line.lit:not(.conflict),body[data-theme=moss] #graphSvg path.edge.lit:not(.conflict){stroke:#4a7a2f}body[data-theme=moss] #graphSvg circle.node,body[data-theme=moss] #graphleSvg circle.node,body[data-theme=moss] #treedleSvg circle.node,body[data-theme=moss] #editorSvg circle.node{stroke:#3c5230}body[data-theme=terminal]{--fg:#8bf5bd;--muted:#4e9c76;--line:#17372a;--accent:#27e58c;--good:#27e58c;--bad:#ff6b6b;--page:#030806;--surface:#0a1712;--raised:#0d1e17;--tut:#0b1c15;--tut-line:#1d4735;--on-accent:#030806;--on-good:#030806;--hover-line:#2c6b50;--shadow:#0009;--tab-on:#10301f;--tab-on-line:#27e58c;--good-bg:#082115;--good-fg:#5cf0a8;--bad-bg:#2a0f0f;--bad-fg:#ff9d9d;--warn-bg:#23200a;--warn-fg:#e8dd8a;--warn-line:#b8a72e;--cell-bg:#10241b;--cell-fg:#3f7d60;--cell-wall:#000;--cell-path:#1c7d55;--cell-path-fg:#b6ffdb;--cell-seed:#27e58c;--cell-seed-fg:#030806;--cell-bonus:#23200a;--cell-bonus-line:#b8a72e;--cell-bonus-fg:#e8dd8a;--cell-thorn:#2a0f0f;--cell-thorn-line:#8a3b3b;--cell-thorn-fg:#ff9d9d;--cell-portal:#0a2430;--cell-portal-line:#2b7f96;--cell-portal-fg:#7fd8ee;background:var(--page);color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body[data-theme=terminal] h1{letter-spacing:-.02em}body[data-theme=terminal] .cell{border-color:#0000}body[data-theme=terminal] .cell.wall{border-color:#143024}body[data-theme=terminal] .archive-head input,body[data-theme=terminal] .tally-input{background:var(--page);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-theme=terminal] .sharebox pre{background:var(--page)}body[data-theme=terminal] .lib-item button{background:var(--raised);color:var(--fg)}body[data-theme=terminal] .swatch{border-color:var(--surface)}body[data-theme=terminal] .swatch.active{outline-color:var(--accent)}body[data-theme=terminal] #graphSvg line,body[data-theme=terminal] #graphleSvg line,body[data-theme=terminal] #treedleSvg line,body[data-theme=terminal] #editorSvg line,body[data-theme=terminal] #graphSvg path.edge,body[data-theme=terminal] #graphleSvg path.edge,body[data-theme=terminal] #treedleSvg path.edge{stroke:#2f7a5a}body[data-theme=terminal] #graphSvg line.lit:not(.conflict),body[data-theme=terminal] #graphSvg path.edge.lit:not(.conflict),body[data-theme=terminal] #graphSvg circle.node,body[data-theme=terminal] #graphleSvg circle.node,body[data-theme=terminal] #treedleSvg circle.node,body[data-theme=terminal] #editorSvg circle.node{stroke:#27e58c}body[data-theme=minimal]{--fg:#111;--muted:#666;--line:#ddd;--accent:#111;--good:#111;--bad:#111;color:var(--fg);background:#fff}body[data-theme=minimal] .app *,body[data-theme=minimal] .sharebox,body[data-theme=minimal] .sharebox *{box-shadow:none!important;filter:none!important;border-radius:0!important}body[data-theme=minimal] .grid{background:#111;border:1px solid #111;gap:1px;padding:0}body[data-theme=minimal] .cell{border-color:#0000}body[data-theme=minimal] .cell.free{color:#fff;background:#fff}body[data-theme=minimal] .cell.wall{color:#111;background:#111;border-color:#111}body[data-theme=minimal] .cell.term,body[data-theme=minimal] .cell.term.connected,body[data-theme=minimal] .cell.term.unconnected{color:#fff;background:#111;border-color:#111}body[data-theme=minimal] .cell.path{color:#fff;background:#999;border-color:#999}body[data-theme=minimal] .cell.bonus,body[data-theme=minimal] .cell.penalty,body[data-theme=minimal] .cell.portal{color:#111;background:#fff;border-color:#0000}body[data-theme=minimal] .cell.bonus.path,body[data-theme=minimal] .cell.penalty.path,body[data-theme=minimal] .cell.portal.path{color:#111;background:#999;border-color:#999}body[data-theme=minimal] .tab,body[data-theme=minimal] .btn,body[data-theme=minimal] .datebtn,body[data-theme=minimal] .archive,body[data-theme=minimal] .archive-item,body[data-theme=minimal] .tool,body[data-theme=minimal] .tutbox,body[data-theme=minimal] .kindbox,body[data-theme=minimal] .custombar,body[data-theme=minimal] .lib-item{background:#fff;border:1px solid #111}body[data-theme=minimal] .tab.active,body[data-theme=minimal] .btn.primary,body[data-theme=minimal] .btn.active,body[data-theme=minimal] .archive-item.current,body[data-theme=minimal] .tool.active{color:#fff;background:#111;border-color:#111}body[data-theme=minimal] #graphSvg,body[data-theme=minimal] #editorSvg{background:#fff;border:1px solid #111}body[data-theme=minimal] .swatch{border:3px solid #111;outline:none}body[data-theme=minimal] .swatch.active{outline-offset:2px;outline:2px solid #111}body[data-theme=minimal] .how,body[data-theme=minimal] .linkbtn,body[data-theme=minimal] .legend-inline{color:#111}body[data-theme=minimal] .tutintro{color:#666}body[data-theme=minimal] .tally,body[data-theme=minimal] .tally-input{background:#fff;border:1px solid #111}body[data-theme=minimal] .tally-warn{color:#111;background:#fff;border-left-color:#111}body{min-width:320px;line-height:1.45}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,summary:focus-visible,.cell:focus-visible,circle.node:focus-visible{outline-offset:2px;outline:3px solid #3157d557}.view{border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 46px var(--shadow);border-radius:18px;padding:18px}.feedback-key{color:var(--muted);flex-wrap:wrap;gap:7px 13px;margin:-1px 0 12px;font-size:12px;display:flex}.feedback-key span{align-items:center;gap:5px;display:inline-flex}.feedback-key i{border-radius:3px;width:10px;height:10px}.meta{min-height:22px;color:var(--muted);margin:5px 0 8px;font-size:14px;font-weight:650}.meta b{color:var(--fg)}.msg{min-height:25px;margin-top:10px;font-size:14px}.msg.good{background:var(--good-bg);color:var(--good-fg);border-radius:10px;padding:10px 12px}.msg.bad{background:var(--bad-bg);color:var(--bad-fg);border-radius:10px;padding:10px 12px}.btn,.tool,.learn-btn{border-color:var(--line);background:var(--surface);min-height:44px;color:var(--fg);border-radius:11px;transition:border-color .15s,background .15s,transform .1s}.btn:hover,.tool:hover,.learn-btn:hover,.tab:hover{border-color:var(--hover-line)}.btn:active,.tool:active,.learn-btn:active,.tab:active{transform:translateY(1px)}.btn.primary,.btn.active,.tool.active{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn:disabled{cursor:not-allowed}.row{gap:8px}.how{color:var(--muted);margin-top:16px;font-size:13px}.how summary{align-items:center;min-height:40px;font-weight:750;display:flex}.how p{margin:4px 0 0;line-height:1.55}.tutbox,.kindbox{border:1px solid var(--tut-line);background:var(--tut);border-radius:14px;margin:2px 0 14px;padding:15px;font-size:14px}.tuthead{align-items:flex-start;margin-bottom:11px}.tuthead strong{font-size:17px;display:block}.tuthead .btn.small{min-height:36px;padding:7px 10px}.help-copy,.property-copy{margin:0 0 10px;line-height:1.5}.property-copy{color:var(--muted);margin-bottom:0;font-size:13px}.metric-list{grid-template-columns:auto 1fr;gap:7px 12px;margin:0;font-size:13px;line-height:1.5;display:grid}.metric-list dt{color:var(--fg);text-align:right;font-weight:800}.metric-list dd{color:var(--muted);margin:0}.metric-list dd b{color:var(--fg);font-weight:700}.metric-list dd i{font-style:italic}.tutorial-steps{gap:6px;display:grid}.tutorial-steps p{background:var(--surface);border-radius:9px;margin:0;padding:9px 10px}.tutpar{color:var(--muted)}.linkbtn{min-height:36px;color:var(--accent);text-decoration:none}.datebtn,.icon-btn,.archive,.archive-item{border-color:var(--line);background:var(--surface)}.icon-btn:disabled{cursor:not-allowed}.archive{box-shadow:0 12px 30px var(--shadow);border-radius:14px;padding:12px}.archive-head input{min-height:38px;padding:6px 8px}.archive-list{grid-template-columns:repeat(6,1fr)}.archive-item{border-radius:9px;min-height:47px}.archive-item.current{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.tab.done:after{content:"✓";background:var(--good);width:16px;height:16px;color:var(--on-good);border-radius:50%;place-items:center;font-size:10px;display:inline-grid}.grid{gap:3px}.cell{background:var(--cell-bg);color:var(--cell-fg);border-radius:4px}.cell.free{background:var(--cell-bg);color:var(--cell-fg)}.cell.wall{border-color:var(--cell-wall);background:var(--cell-wall);color:var(--cell-wall)}.cell.path{border-color:var(--cell-path);background:var(--cell-path);color:var(--cell-path-fg)}.cell.term,.cell.term.connected,.cell.term.unconnected{border-color:var(--cell-seed);background:var(--cell-seed);color:var(--cell-seed-fg)}.cell.bonus{border-color:var(--cell-bonus-line);background:var(--cell-bonus);color:var(--cell-bonus-fg)}.cell.bonus.path{border-color:var(--cell-path);background:var(--cell-path);color:var(--cell-path-fg)}.cell.penalty{border-color:var(--cell-thorn-line);background:var(--cell-thorn);color:var(--cell-thorn-fg)}.cell.penalty.path{color:#733238;background:#eac0c2;border-color:#dba0a4}.cell.portal{border-color:var(--cell-portal-line);background:var(--cell-portal);color:var(--cell-portal-fg)}.cell.portal.path{color:#174969;background:#b9daf2;border-color:#87b9dd}#graphSvg,#graphleSvg,#treedleSvg,#editorSvg{border-color:var(--line);background:var(--raised);box-shadow:none;border-radius:14px}#graphSvg line,#graphleSvg line,#treedleSvg line,#editorSvg line,#graphSvg path.edge,#graphleSvg path.edge,#treedleSvg path.edge{stroke:#9ba1ad}#graphSvg line.lit:not(.conflict),#graphSvg path.edge.lit:not(.conflict){stroke:#3157d5}#graphSvg circle.node,#graphleSvg circle.node,#treedleSvg circle.node,#editorSvg circle.node{stroke:#2e3138;filter:none}.palette{gap:8px}.swatch{width:42px;height:42px;box-shadow:none;border-radius:10px}.swatch.active{outline-color:var(--fg);outline-offset:1px}.ghist{gap:7px}.grow{border:1px solid var(--line);background:var(--raised);border-radius:11px;padding:7px}.gtile{border-radius:5px}.tools{gap:6px}.tool{padding:7px 10px;font-size:13px}.custombar{background:#fafbfc;border-radius:11px}.lib-item{border-radius:10px}footer{margin-top:14px;padding:0 4px}footer p{font-size:13px}.themerow{font-size:12px}.tbtn{min-height:40px;font-size:12px}body[data-theme=minimal] #graphSvg line.lit:not(.conflict),body[data-theme=minimal] #graphSvg path.edge.lit:not(.conflict){stroke:#111}@media (width<=560px){.site-header{margin-bottom:12px}.view{border-radius:15px;padding:15px}.puzzle-heading h2{font-size:25px}.archive-list{grid-template-columns:repeat(5,1fr)}.row .btn{padding-inline:7px}}
