:root{color-scheme:dark;--bg:#102627;--panel:#153033;--ink:#e8f1df;--muted:#9cb8b2;--line:#36514d;--mint:#b6e9c8;--coral:#f7a17e;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 20%,#1b3937,transparent 60%),var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}button{border:1px solid var(--line);background:transparent;border-radius:6px;padding:9px 13px}button:hover{border-color:var(--mint);background:#b6e9c810}button:disabled{opacity:.35;cursor:default}a{color:inherit}.shell{max-width:1480px;margin:auto;padding:0 44px}header{height:80px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2.2px}.brandmark{font-size:34px;color:var(--coral);line-height:1}.header-actions{display:flex;gap:8px}.header-actions button{border:0;font-size:12px;color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;padding:36px 0 32px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2.1px;color:var(--muted);margin:0 0 12px}h1{font:68px/.96 var(--serif);letter-spacing:-3px;margin:0}h1 span{font:italic 22px/1.8 var(--serif);display:block;letter-spacing:.4px;color:#bfd5c5}.intro-copy{font-size:13px;line-height:1.9;color:var(--muted);margin:0 2px 0 20px}.intro-copy strong{font-size:11px;color:var(--ink);font-weight:450}.game-layout{display:grid;grid-template-columns:180px minmax(300px,640px) 210px;gap:35px;justify-content:space-between}.chapters{padding-top:7px}.chapters nav{display:flex;flex-direction:column;gap:4px}.level{border:0;border-radius:6px;color:var(--muted);padding:11px 10px;text-align:left;display:flex;align-items:center;gap:10px;font-size:11px;min-height:42px}.level .number{font-size:10px;font-variant-numeric:tabular-nums;opacity:.65}.level .seal{margin-left:auto;color:var(--mint)}.level.active{background:#bddcca14;color:var(--ink);box-shadow:inset 2px 0 var(--coral)}.journal{margin:28px 10px 0;padding:20px 0;border-top:1px solid var(--line)}.journal>span{font:32px var(--serif);color:var(--mint)}.journal p{margin:3px 0;color:var(--muted);font-size:11px}.journal small{display:block;margin-top:12px;color:#799a95;font-size:9px}.board-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.board-heading .eyebrow{margin:0 0 4px}h2{font:27px var(--serif);margin:0}.balanced{text-align:right}.balanced span{font:25px var(--serif);color:var(--mint)}.balanced small{display:block;color:var(--muted);font-size:9px}.board-wrap{aspect-ratio:1;position:relative;isolation:isolate;border:1px solid #779e8a70;border-radius:15px;overflow:hidden;background:#112a2b;box-shadow:0 18px 60px #06141555,0 0 0 6px #b6e9c805}.garden{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.82}.board-tint{position:absolute;inset:0;background:#051d2350}#board,#frost{position:absolute;inset:0}.patch{position:absolute;background:#102d32e8;backdrop-filter:blur(7px);transition:opacity .7s;box-shadow:0 0 28px 15px #102d32b0}.patch.clear{opacity:0;pointer-events:none}.node{position:absolute;transform:translate(-50%,-50%);width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#173638;color:var(--coral);border:1px solid var(--coral);font:17px var(--serif);box-shadow:0 0 0 5px #0c262b77,0 3px 9px #0006;z-index:3;pointer-events:none;transition:background .25s,border-color .25s}.node.good{background:var(--mint);border-color:#e0ffe9;color:#19372d;box-shadow:0 0 16px #b6e9c855}.spin{position:absolute;transform:translate(-50%,-50%);height:40px;padding:0;border:0;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#09272bbf;z-index:4;box-shadow:0 1px 6px #0004}.spin:hover{background:#28534f}.spin.v{width:40px!important}.spin.fixed{pointer-events:none;background:#153a3c66;box-shadow:none;opacity:.85;z-index:2}.spin .shaft{position:relative;width:76%;height:5px;border-radius:4px;background:#e5f1d4;box-shadow:0 0 4px #102826}.spin .shaft:after{content:'';position:absolute;right:-1px;top:-5px;width:0;height:0;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent;border-left:10px solid #e5f1d4}.spin.v .shaft{width:76%;transform:rotate(90deg)}.spin.reverse .shaft{transform:rotate(180deg)}.spin.v.reverse .shaft{transform:rotate(270deg)}.spin.fixed .shaft{background:#93b9b2}.spin.fixed .shaft:after{border-left-color:#93b9b2}.stud{position:absolute;width:5px;height:5px;border-radius:50%;background:#102b2c;box-shadow:0 0 0 1px #8fb8ac;z-index:1}.spin.nudged{background:#6d4634;outline:2px solid var(--coral);box-shadow:0 0 20px #f7a17e88}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;color:var(--muted);font-size:11px}.toolbar>div>span:not(.dot){color:var(--ink)}.dot{margin:0 7px;color:#617f7c}.tools{display:flex;gap:5px}.tools button{padding:7px 9px;font-size:11px}.tools button:first-letter{font-size:16px}#message{min-height:35px;color:var(--muted);font-size:11px;margin:13px 2px 0}.guide{padding-top:8px}.guide h3{font:italic 28px/1.12 var(--serif);margin:0 0 18px}.guide p{font-size:12px;color:var(--muted);line-height:1.75}.guide strong{color:var(--ink);font-weight:500}.rule-diagram{width:100px;text-align:center;color:var(--mint);font-size:23px;line-height:1.1;margin:20px auto}.rule-diagram b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mint);color:#173a32;font:18px var(--serif);vertical-align:middle}.guide ol{list-style:none;padding:8px 0;margin:0}.guide li{display:flex;gap:12px;margin:17px 0;align-items:baseline;font-size:11px;color:var(--muted)}.guide li b{font-size:9px;color:var(--coral);font-weight:400}.guide .pin-note{font-size:10px;padding-top:14px;border-top:1px solid var(--line)}details{font-size:10px;color:var(--muted)}summary{cursor:pointer}details p{font-size:10px!important}footer{margin:32px 0 25px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;gap:10px;color:#8aa69e;font-size:10px}footer button{padding:0;border:0;color:var(--muted);font-size:10px;text-decoration:underline}.victory{position:absolute;inset:0;z-index:6;background:#102c2bdf;backdrop-filter:blur(4px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.victory[hidden]{display:none}.victory>span{font-size:56px;color:var(--coral)}.victory>p:first-of-type{font-size:9px;letter-spacing:2px}.victory h3{font:37px var(--serif);margin:4px 0}.victory p{color:var(--muted);font-size:12px}.victory #next{background:var(--mint);color:#163a31;border:0;margin-top:16px}.textbutton{border:0;margin-top:7px;font-size:11px}.board-wrap.admiring #board,.board-wrap.admiring #frost,.board-wrap.admiring .board-tint{display:none}.board-wrap.admiring .garden{opacity:1}dialog{max-width:560px;width:calc(100% - 32px);background:#193436;color:var(--ink);border:1px solid #759b8a;border-radius:14px;padding:35px;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#031618c9;backdrop-filter:blur(5px)}dialog p{font-size:13px;line-height:1.8;color:var(--muted)}dialog h2{font-size:35px}dialog a{color:var(--mint)}.close{position:absolute;right:12px;top:10px;font-size:20px;border:0;padding:3px 10px}
@media(min-width:1400px){.game-layout{gap:45px}}@media(max-width:1100px){.shell{padding:0 28px}.game-layout{grid-template-columns:150px minmax(300px,1fr);gap:28px}.guide{grid-column:2;display:none}.intro{padding-top:28px}h1{font-size:60px}.level{font-size:10px;padding:10px 6px}.brand{letter-spacing:1.5px}}
@media(max-width:650px){.shell{padding:0 16px}header{height:61px}.brand{font-size:8px;letter-spacing:.7px;gap:6px}.brandmark{font-size:28px}.header-actions{gap:0}.header-actions button{font-size:10px;padding:8px}.intro{padding:23px 0 20px;align-items:end}h1{font-size:48px;letter-spacing:-2px}h1 span{font-size:17px}.intro .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:10px}.intro-copy{font-size:10px;margin-left:12px;max-width:130px;line-height:1.6}.intro-copy strong{font-size:9px;display:block;margin-top:5px}.game-layout{display:flex;flex-direction:column;gap:19px}.chapters{padding:0}.chapters>.eyebrow,.journal{display:none}.chapters nav{flex-direction:row;gap:5px;justify-content:space-between}.level{padding:0;justify-content:center;min-width:0;flex:1;height:34px;min-height:34px;border:1px solid var(--line);font-size:11px}.level .number{opacity:1;font-size:11px}.level .level-label,.level .seal{display:none}.level.complete .number{color:var(--mint)}.level.complete .number:after{content:'·'}.level.active{box-shadow:inset 0 -2px var(--coral)}.board-heading{margin-bottom:12px}.board-heading .eyebrow{font-size:8px}h2{font-size:25px}.balanced span{font-size:23px}.balanced small{font-size:8px}.node{width:28px;height:28px;font-size:14px;box-shadow:0 0 0 3px #0c262b77}.spin{height:34px;border-radius:5px}.spin.v{width:34px!important}.spin .shaft{height:4px}.spin .shaft:after{border-top-width:6px;border-bottom-width:6px;border-left-width:8px;top:-4px}.tools button{padding:7px 8px}.tools span{display:none}.toolbar{font-size:10px}.tools button{font-size:17px;line-height:1}.guide{display:block;padding-top:0}.guide h3,.guide ol,.rule-diagram{display:none}.guide .eyebrow{font-size:8px;margin-bottom:6px}.guide>p{font-size:11px;line-height:1.6;margin:4px 0}.guide .pin-note{border:0;padding-top:2px}.guide .pin-note br{display:none}.guide details{margin-top:8px}#message{font-size:10px;min-height:28px;margin-top:10px}footer{margin-top:24px;font-size:8px;gap:5px}footer button{font-size:8px}.victory h3{font-size:29px}.victory>span{font-size:42px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
