:root{color-scheme:dark;--bg:#0b111a;--panel:#111d2a;--tile:#182838;--line:#527084;--ink:#eff7f7;--muted:#a2b3c3;--accent:#9aefc5;--target:#f6d485;--border:#293b4c;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--font)}body[data-theme=ocean]{--bg:#081821;--panel:#102936;--tile:#183744;--line:#628b98;--accent:#82def5;--target:#ffd6a2;--border:#31505f}body[data-theme=garden]{--bg:#111811;--panel:#1b291e;--tile:#26382a;--line:#748b6b;--accent:#cbeb8f;--target:#f2bf87;--border:#40523e}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--target);outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.shell{max-width:1260px;margin:auto;padding:0 48px}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:96px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:800;letter-spacing:2px}.brand-mark{font-size:36px;line-height:1;color:var(--accent)}.brand-divider{margin:0 4px;font-weight:400;color:var(--line)}.brand-label{font-size:12px;letter-spacing:1.5px;color:var(--muted)}.quiet{border:1px solid var(--border);border-radius:24px;background:transparent;padding:8px 16px;font-size:14px;color:var(--muted);min-height:44px}.layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:72px;padding:48px 0 38px;align-items:start}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);font:700 12px/1.5 var(--font);letter-spacing:1.8px}.mini-line{width:24px;height:2px;background:var(--accent)}h1{font-size:clamp(54px,6.8vw,88px);font-weight:900;line-height:.98;letter-spacing:-5px;margin:26px 0 25px}h1 span{color:var(--accent)}.lead{font-size:24px;line-height:1.3;margin:0 0 16px;letter-spacing:-.5px}.instructions{color:var(--muted);max-width:340px;line-height:1.65;margin:0}.instructions strong{color:var(--ink);font-size:14px}.settings{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin:30px 0}.settings label{font-size:14px;color:var(--muted)}select{display:block;width:100%;margin-top:8px;padding:10px 30px 10px 12px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:8px;min-height:44px;font-size:14px}.section-label{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.5px;font-weight:700}.section-label span{font-size:12px;letter-spacing:0;color:var(--muted);font-weight:400}#levels{display:flex;gap:8px;margin-top:14px}.level-button{width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);font-size:14px}.level-button.current{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.level-button.complete:not(.current){border-color:var(--accent);color:var(--accent)}.small-note{font-size:14px;color:var(--muted);margin:12px 0}.how{margin-top:26px;border-top:1px solid var(--border);padding-top:16px;font-size:14px;color:var(--muted)}.how summary{cursor:pointer;min-height:32px}.how p{line-height:1.7}.game-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.level-label{color:var(--accent);font-size:12px;letter-spacing:2px;font-weight:700}h2{font-size:23px;letter-spacing:-.5px;margin:4px 0 0;line-height:1.25}.live-label{font-size:12px;color:var(--muted);white-space:nowrap}.live-label span{color:var(--accent);font-size:18px}.board-frame{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px}.board-legend{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-bottom:15px;line-height:1.3}.board-legend b{font-size:10px;letter-spacing:.5px;padding:3px 5px;border-radius:3px}.in-tag{color:var(--accent);border:1px solid var(--accent);margin-right:4px}.out-tag{color:var(--target);border:1px solid var(--target);margin-left:4px}.board-wrap{position:relative}#board{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:7px}.tile{padding:0;border:1px solid #ffffff08;background:var(--tile);border-radius:9px;aspect-ratio:1;position:relative;touch-action:manipulation;transition:background .15s,border-color .15s}.tile svg{width:100%;height:100%;display:block;overflow:visible}.wire{fill:none;stroke:var(--line);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.node{fill:var(--tile);stroke:var(--line);stroke-width:3}.tile.powered .wire{stroke:var(--accent)}.tile.powered .node{fill:var(--accent);stroke:var(--accent)}.tile.powered{background:color-mix(in srgb,var(--accent) 8%,var(--tile));border-color:color-mix(in srgb,var(--accent) 24%,transparent)}.tile.source{border-left:3px solid var(--accent)}.tile.target{border-right:3px solid var(--target)}.tile-tag{position:absolute;top:3px;left:5px;font-size:9px;line-height:1;color:var(--accent);font-weight:800;letter-spacing:.4px}.target .tile-tag{left:auto;right:5px;color:var(--target)}.tile.hinted{outline:2px dashed var(--target);outline-offset:-4px}.tile:hover:not(:disabled){background:color-mix(in srgb,var(--tile) 85%,white)}.tile:disabled{opacity:1}.board-bottom{display:flex;justify-content:space-between;margin-top:13px;color:var(--muted);font-size:12px}.stats{display:flex;align-items:center;gap:38px;padding:22px 3px;border-bottom:1px solid var(--border)}.stat-label{display:block;color:var(--muted);font-size:10px;letter-spacing:1.7px}.stats strong{font-size:27px;font-family:ui-monospace,monospace;font-weight:500;line-height:1.5}.pause{margin-left:auto;width:44px;height:44px;background:var(--panel);border:1px solid var(--border);border-radius:50%;font-size:18px}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:9px;padding:11px 18px;font-size:14px;font-weight:700}.primary{background:var(--accent);color:var(--bg);border:1px solid var(--accent)}.secondary{background:transparent;border:1px solid var(--border);color:var(--ink)}.primary:hover{filter:brightness(1.07)}.secondary:hover{background:var(--panel)}#status{font-size:14px;color:var(--muted);margin:16px 0 0;min-height:22px}#overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 91%,transparent);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;z-index:2;text-align:center;padding:16px}#overlay[hidden]{display:none}.overlay-icon{color:var(--accent);font-size:42px;line-height:1}.overlay-card h3{font-size:30px;line-height:1.15;margin:14px 0 10px;letter-spacing:-1px}.overlay-card p{color:var(--muted);font-size:14px;max-width:280px;margin:0 auto 20px}.overlay-card button{margin:auto}footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:23px 0;color:var(--muted);font-size:12px}footer span:first-child{font-size:10px;letter-spacing:2px}@media(min-width:1100px){.game{max-width:570px}}@media(max-width:960px){.shell{padding:0 28px}.layout{gap:30px;grid-template-columns:.75fr 1.25fr}h1{font-size:62px}.stats{gap:22px}.board-legend{font-size:10px}.lead{font-size:21px}}@media(max-width:720px){.shell{max-width:550px;padding:0 18px}.masthead{min-height:72px}.layout{display:flex;flex-direction:column;gap:24px;padding:25px 0}.intro{width:100%;display:flex;flex-wrap:wrap;column-gap:18px;align-items:center}.eyebrow{width:100%;font-size:10px;margin-bottom:12px}h1{font-size:42px;line-height:1;letter-spacing:-2px;margin:0}h1 br{display:none}h1 span{margin-left:8px}.lead{display:none}.instructions{max-width:none;font-size:14px;margin:12px 0 0;width:100%}.settings{width:100%;margin:18px 0 16px}.journey{width:100%}.small-note{display:none}#levels{margin-top:10px;gap:10px}.level-button{width:44px;height:44px}.how{width:100%;margin:14px 0 0;padding-top:10px}.game{width:100%}.game-top{margin-bottom:14px}.board-frame{padding:14px}.board-legend{font-size:11px}.board-bottom{font-size:11px}.stats{padding:16px 2px;gap:30px}.actions{margin-top:16px}footer{flex-direction:column;gap:4px;padding:18px 0}h2{font-size:22px}}@media(max-width:370px){.shell{padding:0 8px}.board-frame{padding:8px}#board{gap:4px}.brand{gap:7px;font-size:14px}.brand-label{font-size:10px}.quiet{padding:8px 10px}.stats{gap:22px}.actions{gap:6px}.primary,.secondary{padding:10px;font-size:13px}.board-legend{font-size:10px}.live-label{font-size:10px}#levels{gap:7px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Keep the board before optional settings in both mobile reading and tab order. */
.layout{column-gap:72px;row-gap:0;grid-template-rows:auto 1fr}.intro{grid-column:1;grid-row:1}.game{grid-column:2;grid-row:1 / span 2}.options{grid-column:1;grid-row:2}
@media(max-width:960px){.layout{column-gap:30px}}
@media(max-width:720px){.layout{gap:22px}.options{width:100%}.options .settings{margin-top:0}.intro .instructions{margin-top:12px}.how{margin-top:18px}}
