@font-face{font-family:DM Sans;src:url(../fonts/dm-sans-latin-wght-normal.woff2) format("woff2");font-style:normal;font-weight:100 1000;font-display:swap}@font-face{font-family:Space Grotesk;src:url(../fonts/space-grotesk-latin-wght-normal.woff2) format("woff2");font-style:normal;font-weight:300 700;font-display:swap}:root{color-scheme:dark;--color-bg:#0b1021;--color-surface:#141c31;--color-tile:#1c2640;--color-tile-powered:#24313f;--color-text:#f2eee4;--color-muted:#a9b7ca;--color-border:#46536c;--color-accent:#edc77c;--color-accent-hover:#f6d99f;--color-signal:#91dfd3;--color-error:#f1af9e;--color-focus:#f7e8bd;--color-ink:#151b28;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:2rem;--text-display:2.5rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;font-family:DM Sans,sans-serif;font-size:16px;color:var(--color-text);background:var(--color-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-inline-size:280px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.48}button,a,input,textarea{touch-action:manipulation}button{min-block-size:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--color-border);border-radius:9px;background:transparent;font-size:var(--text-sm);font-weight:500;line-height:1.3}button svg,a svg{flex-shrink:0}a{color:var(--color-text);text-underline-offset:4px;text-decoration-thickness:from-font;text-decoration-skip-ink:auto}a svg{vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Space Grotesk,sans-serif;font-weight:500}h1{font-size:var(--text-display);line-height:1.1;letter-spacing:-.045em;text-wrap:balance}h2{font-size:var(--text-lg);line-height:1.25;letter-spacing:-.025em;text-wrap:balance}h3{font-size:var(--text-base);line-height:1.4}p{font-size:var(--text-base);line-height:1.6;text-wrap:pretty}strong{font-weight:600}small{font-size:var(--text-sm);font-weight:400;color:var(--color-muted)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}::selection{background:var(--color-accent);color:var(--color-ink)}.app{max-inline-size:1200px;margin-inline:auto;padding-inline:40px;position:relative}.app:before{content:"";position:absolute;z-index:-1;inset:80px 0 auto;block-size:580px;background:radial-gradient(ellipse at 40% 35%,#1c31402e,transparent 65%);pointer-events:none}.app-header{min-block-size:104px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:inline-flex;align-items:center;gap:9px;font-size:var(--text-lg);text-decoration:none;line-height:1.1;letter-spacing:-.03em}.brand>span>span{color:var(--color-muted);font-weight:400}.app-header nav{display:flex;align-items:center;gap:16px}.quiet-button{border:0;border-radius:4px;padding-inline:4px}.quiet-button[aria-pressed=true]{color:var(--color-accent)}.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:20px;padding:12px;background:var(--color-surface);z-index:10}.skip-link:focus{inset-block-start:4px}.main-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(240px,310px);gap:72px;align-items:start;padding-block:22px 28px}.garden-column{min-inline-size:0}.intro{margin-block-end:24px}.intro p{color:var(--color-muted);font-size:var(--text-sm);margin-block-start:12px}.mode-tabs{display:grid;grid-template-columns:1.45fr 1.2fr .7fr;gap:4px;border-bottom:1px solid #28334a;margin-block-end:12px}.mode-tabs button{border:0;border-radius:5px 5px 0 0;position:relative;padding-block:12px;color:var(--color-muted);white-space:nowrap}.mode-tabs button[aria-pressed=true]{color:var(--color-accent);background:#edc77c0b}.mode-tabs button[aria-pressed=true]:after{content:"";position:absolute;inset:auto 12px -1px;block-size:2px;background:var(--color-accent)}.source-line{display:flex;align-items:center;gap:8px;min-block-size:36px;font-size:var(--text-xs);color:var(--color-muted);flex-wrap:wrap}.status-dot{inline-size:7px;block-size:7px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.status-dot.live{background:var(--color-signal)}.status-dot.demo{background:#b9adcb}.status-dot.stale,.status-dot.unavailable{background:transparent;border:1px solid var(--color-error);border-radius:1px}.text-button{min-block-size:36px;border:0;padding:6px 0;font-size:var(--text-xs);border-radius:3px}.source-line .text-button,.source-tail{margin-inline-start:auto}.source-tail{font-size:var(--text-xs);color:var(--color-muted)}.score-strip{display:grid;grid-template-columns:.95fr 1fr 1.25fr 1fr;padding-block:14px 18px;gap:8px}.score-strip>div{display:flex;flex-direction:column;gap:3px}.score-strip span{color:var(--color-muted);font-size:var(--text-xs)}.score-strip strong{font-family:Space Grotesk,sans-serif;font-size:var(--text-lg);font-weight:500;line-height:1.3;font-variant-numeric:tabular-nums}.score-strip div:last-child{text-align:end}.board-scene{padding:16px;background:var(--color-surface);border-radius:20px;position:relative}.board-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-block-end:12px;font-size:var(--text-xs);color:var(--color-muted)}.board-topline span:last-child{white-space:nowrap}.garden-board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;aspect-ratio:1;inline-size:100%}.tile{min-inline-size:0;min-block-size:0;aspect-ratio:1;padding:0;background:var(--color-tile);border:0;border-radius:9px;position:relative;isolation:isolate}.tile svg{inline-size:100%;block-size:100%;display:block;pointer-events:none;border-radius:inherit}.tile.powered{background:var(--color-tile-powered)}.tile.tile-rock,.tile.tile-fern{background:#141c31}.tile.selected{outline:2px solid var(--color-accent);outline-offset:1px;z-index:1}.tile:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;z-index:2}.tile-coordinate{position:absolute;inset-block-end:3px;inset-inline-start:5px;font-size:var(--text-xs);color:var(--color-text);background:#10172b;padding-inline:2px;line-height:1.2;border-radius:2px;pointer-events:none}.beacon-mark{position:absolute;inset-block-end:3px;inset-inline-end:4px;font-size:var(--text-xs);color:var(--color-text);line-height:1;pointer-events:none}.boosted .beacon-mark{color:var(--color-accent)}.tutorial-target{outline:3px dashed var(--color-focus);outline-offset:1px;z-index:2}.board-cover{position:absolute;z-index:3;inset:0;border-radius:20px;background:#0b1021ed;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:16px;text-align:center}.board-cover-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.board-cover strong{font-family:Space Grotesk,sans-serif;font-size:var(--text-xl);font-weight:500;line-height:1.2}.board-cover span{color:var(--color-muted);font-size:var(--text-sm)}.garden-restored .board-topline{color:var(--color-signal)}.primary{background:var(--color-accent);border-color:transparent;color:var(--color-ink);font-weight:600}.game-controls{display:flex;gap:10px;margin-block-start:16px}.game-controls>.primary{flex:1;min-inline-size:0}.game-controls .icon-button{flex-shrink:0}.icon-button{inline-size:44px;block-size:44px;padding:9px;flex-shrink:0}.boost-button{color:var(--color-accent);padding-inline:12px}.boost-button span{font-size:var(--text-xs)}kbd{font-size:var(--text-xs);border:1px solid currentColor;border-radius:4px;padding:1px 4px;line-height:1.2;font-family:inherit;opacity:.7;margin-inline-start:6px}.selection-line{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);color:var(--color-muted);margin-block-start:14px;line-height:1.5}.selection-line span:first-child{color:var(--color-text)}.keyboard-tip{color:var(--color-muted);font-size:var(--text-xs);margin-block-start:8px}.run-extras{display:flex;justify-content:space-between;gap:12px;padding-block:20px 0;font-size:var(--text-xs);color:var(--color-muted)}.run-extras strong{font-variant-numeric:tabular-nums;color:var(--color-text);margin-inline-start:4px}.notice{font-size:var(--text-sm);color:var(--color-signal);margin-block-start:12px;min-block-size:0}.notice:empty{display:none}.source-error{margin-block-start:16px;padding:16px;background:#211e31;border-radius:9px}.source-error p,.warning{color:var(--color-error);font-size:var(--text-sm)}.source-error button{margin-block-start:12px;margin-inline-end:8px}.warning{margin-block-start:16px}.garden-aside{padding-block-start:10px;min-inline-size:0}.wheel-scene{text-align:center;padding-block:0 32px}.wheel-illustration{inline-size:172px;block-size:172px;margin-block-end:20px}.wheel-scene h2{margin-block-end:12px}.wheel-scene p{color:var(--color-muted);font-size:var(--text-sm);max-inline-size:32ch;margin-inline:auto}.reservoir{padding-block:24px;border-block:1px solid #28334a}.aside-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.aside-title h2{font-family:DM Sans,sans-serif;font-size:var(--text-base);font-weight:500;letter-spacing:0}.aside-title strong{font-size:var(--text-sm);font-weight:400;color:var(--color-accent)}.charge-slots{display:flex;gap:8px;margin-block:16px}.charge-slots span{height:38px;flex:1;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:6px;color:var(--color-muted)}.charge-slots .charged{color:var(--color-accent);border-color:#ad8a50;background:#edc77c0c}.reservoir p{font-size:var(--text-sm);color:var(--color-muted)}p.small-copy{font-size:var(--text-xs);color:var(--color-muted);margin-block-start:12px;line-height:1.6}.source-details{padding-block:26px}.source-details h2{font-family:DM Sans,sans-serif;font-size:var(--text-base);font-weight:500;letter-spacing:0}.source-details dl{margin-block:18px}.source-details dl>div,.detail-list>div{display:flex;align-items:baseline;gap:12px;justify-content:space-between;margin-block:10px;font-size:var(--text-xs);line-height:1.5}.source-details dt,.detail-list dt{color:var(--color-muted);flex-shrink:0}.source-details dd,.detail-list dd{margin:0;text-align:end;overflow-wrap:anywhere}.source-details a{font-size:var(--text-xs);display:flex;align-items:center;gap:6px;color:var(--color-signal);margin-block:14px}.source-details .text-button{font-size:var(--text-sm)}.share-actions{display:flex;flex-direction:column;gap:12px}.share-actions button{justify-content:flex-start}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-block-start:1px solid #28334a;padding-block:22px 32px;color:var(--color-muted);font-size:var(--text-xs)}footer div{display:flex;align-items:center;gap:24px}footer a{color:var(--color-muted);text-decoration:none}footer .text-button{color:var(--color-muted)}.modal{border:1px solid var(--color-border);padding:0;background:var(--color-surface);color:var(--color-text);inline-size:min(540px,calc(100% - 28px));max-block-size:90dvh;max-inline-size:calc(100% - 28px);border-radius:20px;overscroll-behavior:contain}.modal-wide{inline-size:min(680px,calc(100% - 28px))}.modal::backdrop{background:#040712ce;backdrop-filter:blur(5px)}.modal-inner{padding:28px}.modal-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-block-end:20px}.modal-heading h2{font-size:var(--text-lg);line-height:1.25;padding-block-start:8px}.modal-heading .icon-button{border:0;margin-inline-end:-8px;margin-block-start:-2px}.modal p{margin-block:12px;color:var(--color-muted);font-size:var(--text-sm);line-height:1.65}.modal p strong{color:var(--color-text)}.modal h3{margin-block:24px 8px}.modal-actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px 8px}.modal-actions a{font-size:var(--text-sm);min-block-size:44px;display:inline-flex;align-items:center;gap:8px}.button-link{border:1px solid var(--color-border);padding:10px 16px;border-radius:9px;text-decoration:none}.copy-field{display:block;margin-block:20px;font-size:var(--text-sm);color:var(--color-muted)}textarea{display:block;inline-size:100%;resize:vertical;min-block-size:110px;margin-block-start:8px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);padding:12px;border-radius:8px;font-size:var(--text-base);overflow-wrap:anywhere}.archive-list{display:flex;flex-direction:column;gap:8px;margin-block:20px}.archive-list button{display:grid;grid-template-columns:1fr auto;justify-content:start;text-align:start;padding:14px;gap:5px 12px}.archive-list strong{font-weight:500}.archive-list span{font-size:var(--text-xs);color:var(--color-muted)}.archive-list svg{grid-column:2;grid-row:1/3}.tutorial-board{max-inline-size:370px;margin:20px auto}.tutorial-board .garden-board{gap:5px}.tutorial-copy{min-block-size:68px}.tutorial-step{color:var(--color-accent)!important}.result-flowers{display:flex;justify-content:center;gap:4px;margin-block:24px}.result-flowers svg{inline-size:64px;block-size:64px}.result-score{display:flex;flex-direction:column;align-items:center;gap:8px;margin-block:28px;font-size:var(--text-sm);color:var(--color-muted)}.result-score strong{color:var(--color-accent);font-family:Space Grotesk,sans-serif;font-size:var(--text-display);font-weight:500;font-variant-numeric:tabular-nums}.detail-list{padding-block:8px}.overlay-toggle{position:fixed;inset-inline-end:16px;inset-block-end:16px;z-index:5;background:var(--color-surface);font-size:var(--text-xs)}.overlay-app{max-inline-size:none;inline-size:100%;min-block-size:100vh}.overlay-app .main-layout,.overlay-app .app-header{max-inline-size:1200px;margin-inline:auto}.overlay-app.controls-hidden{max-inline-size:1600px;min-block-size:0;aspect-ratio:16/9;padding:24px 60px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at center,#1b2d3a80,transparent 65%),var(--color-bg)}.controls-hidden .main-layout{inline-size:100%;grid-template-columns:minmax(0,620px) minmax(230px,320px);gap:80px;padding-block:0;justify-content:center;align-items:center}.controls-hidden .app-header{inline-size:100%;min-block-size:60px;margin-block-end:16px}.controls-hidden .app-header nav,.controls-hidden .intro,.controls-hidden .mode-tabs,.controls-hidden .game-controls,.controls-hidden .selection-line,.controls-hidden .keyboard-tip,.controls-hidden .run-extras,.controls-hidden .share-actions,.controls-hidden footer,.controls-hidden .source-line .text-button,.controls-hidden .source-details>.text-button,.controls-hidden .notice{display:none}.controls-hidden .board-scene{padding:12px}.controls-hidden .score-strip{padding-block:8px 12px}.controls-hidden .source-line{font-size:var(--text-sm)}.controls-hidden .overlay-toggle{opacity:0}.overlay-app:hover .overlay-toggle,.overlay-toggle:focus-visible{opacity:.6}.controls-hidden .wheel-illustration{inline-size:130px;block-size:130px;margin-block-end:8px}.controls-hidden .wheel-scene{padding-block-end:20px}.controls-hidden .garden-aside{padding-block-start:0}.controls-hidden .source-details{padding-block:20px 0}@media(hover:hover){button:not(:disabled):hover{background:#253249}.primary:not(:disabled):hover{background:var(--color-accent-hover)}.tile:not([aria-disabled=true]):hover{background:#2b3850}.text-button:hover,.quiet-button:hover{color:var(--color-accent);background:transparent}a:hover{color:var(--color-accent)}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s,color .12s,opacity .12s,scale .12s}.tile{transition:background-color .12s}.primary:not(:disabled):active,.icon-button:not(:disabled):active{scale:.96}.garden-restored .tile-beacon svg{animation:flower-arrive .4s cubic-bezier(.2,0,0,1) 1}@keyframes flower-arrive{0%{opacity:.5;scale:.9}to{opacity:1;scale:1}}}@media(max-width:1080px){.app{padding-inline:28px}.main-layout{grid-template-columns:minmax(0,580px) minmax(220px,280px);gap:36px}h1{font-size:var(--text-xl);letter-spacing:-.035em}.brand>span>span{display:block;font-size:var(--text-sm);margin-block-start:3px}.wheel-illustration{inline-size:146px;block-size:146px}.selection-line{flex-wrap:wrap;gap:4px 16px}}@media(max-width:760px){.app{padding-inline:20px;max-inline-size:620px}.app-header{min-block-size:82px}.app-header nav{gap:14px}.sound-button,.quiet-button{font-size:var(--text-xs)}.brand{font-size:var(--text-base);gap:5px}.brand>svg{inline-size:30px}.brand>span>span{font-size:var(--text-xs)}.main-layout{display:flex;flex-direction:column;gap:36px;padding-block:8px 26px}.garden-column{inline-size:100%}.intro{margin-block-end:18px}.intro h1{font-size:var(--text-xl)}.intro p{font-size:var(--text-sm);margin-block-start:8px;line-height:1.5}.mode-tabs{margin-block-end:8px}.mode-tabs button{font-size:var(--text-sm);padding-inline:4px}.source-line{font-size:var(--text-xs);min-block-size:32px}.score-strip{padding-block:10px 14px}.score-strip strong{font-size:var(--text-lg)}.board-scene{padding:10px;border-radius:15px}.board-topline{margin-block-end:9px;font-size:var(--text-xs)}.garden-board{gap:5px}.tile{border-radius:7px}.game-controls{gap:8px;margin-block-start:14px}.game-controls>.primary{padding-inline:10px}.boost-button{padding-inline:10px;gap:4px}.boost-button .grow-count{display:inline}.game-controls .icon-button{inline-size:40px}.selection-line{margin-block-start:12px;font-size:var(--text-xs)}.keyboard-tip{font-size:var(--text-xs)}.run-extras{padding-block-start:16px;gap:8px}.garden-aside{inline-size:100%;padding-block-start:0}.wheel-scene{display:flex;gap:20px;text-align:start;align-items:center;padding-block:16px 24px}.wheel-scene h2{font-size:var(--text-lg)}.wheel-scene p{max-inline-size:none}.wheel-illustration{inline-size:116px;block-size:116px;margin:0;flex-shrink:0}.share-actions{display:grid;grid-template-columns:1fr 1fr}.share-actions button{justify-content:center;padding-inline:8px;font-size:var(--text-xs)}.source-details dl{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.source-details dl>div{flex-direction:column;gap:3px}.source-details dd{text-align:start}.source-details dl>div:nth-child(3){grid-column:1/3}.reservoir p{max-inline-size:45ch}.charge-slots span{max-inline-size:130px}footer{align-items:flex-start;font-size:var(--text-xs);flex-wrap:wrap;gap:12px;padding-block:16px 24px}footer div{gap:20px}.modal-inner{padding:20px}.modal-heading{gap:8px}.modal{border-radius:15px}.modal-heading h2{font-size:var(--text-lg)}.tutorial-copy{min-block-size:90px}.controls-hidden.overlay-app{padding:16px;aspect-ratio:auto;min-block-size:100vh}.controls-hidden .main-layout{display:flex;gap:20px}.controls-hidden .app-header{margin-block-end:0}.controls-hidden .garden-aside{display:none}.controls-hidden .source-line{display:flex}.controls-hidden .overlay-toggle{position:static;align-self:flex-end;margin-block-start:24px}.controls-hidden .garden-column{max-inline-size:560px}}@media(max-width:365px){.app{padding-inline:12px}.app-header{gap:8px}.app-header nav{gap:10px}.app-header .quiet-button svg{display:none}.intro h1{font-size:var(--text-xl)}.board-topline span:first-child{max-inline-size:58%}.tile-coordinate{font-size:var(--text-xs);inset-inline-start:1px}.game-controls{gap:5px}.game-controls .icon-button{inline-size:36px;padding:7px}.boost-button{padding-inline:8px}.score-strip{gap:6px}.score-strip strong{font-size:var(--text-base)}.score-strip span{font-size:var(--text-xs)}.run-extras{flex-wrap:wrap}.source-line{gap:5px}.source-line .text-button{font-size:var(--text-xs)}.wheel-scene{gap:12px}.wheel-illustration{inline-size:90px;block-size:90px}}@media(forced-colors:active){.tile{border:1px solid CanvasText}.tile.selected{outline:2px solid Highlight}.primary{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight}}@media(min-width:761px)and (max-height:1020px){.app-header{min-block-size:76px}.main-layout{grid-template-columns:minmax(0,min(490px,calc(100vh - 410px))) minmax(240px,290px);justify-content:center;gap:64px;padding-block-start:10px}.intro{margin-block-end:16px}.intro h1{font-size:var(--text-xl);letter-spacing:-.035em}.intro p{margin-block-start:8px}.mode-tabs{margin-block-end:8px}.source-line{min-block-size:30px}.score-strip{padding-block:8px 12px}.board-scene{padding:12px}.board-topline{margin-block-end:8px}.garden-aside{padding-block-start:0}.wheel-illustration{inline-size:130px;block-size:130px;margin-block-end:10px}.wheel-scene{padding-block-end:24px}.reservoir{padding-block:20px}.source-details{padding-block:22px}.controls-hidden .main-layout{grid-template-columns:minmax(0,560px) minmax(240px,290px);gap:64px}}@media(min-width:761px){.overlay-app.controls-hidden{max-inline-size:none;min-block-size:100vh}.controls-hidden .main-layout{grid-template-columns:minmax(0,min(620px,calc(100vh - 290px))) minmax(240px,300px);gap:64px}.controls-hidden .paused-cover{display:none}}.mode-tabs{grid-template-columns:minmax(0,1.45fr) minmax(0,1.2fr) minmax(0,.7fr)}.mode-tabs button{white-space:normal;overflow-wrap:break-word}.score-strip{grid-template-columns:repeat(auto-fit,minmax(min(100%,4em),1fr))}.paused-label{flex:1;display:flex;align-items:center;justify-content:center;min-block-size:44px;font-size:var(--text-sm);color:var(--color-muted)}.source-line>span{min-inline-size:0;overflow-wrap:anywhere}.archive-list strong{overflow-wrap:anywhere}@media(max-width:760px)and (max-height:760px){.intro{position:absolute;clip-path:inset(50%);inline-size:1px;block-size:1px;overflow:hidden}.app-header{min-block-size:56px}.mode-tabs button{padding-block:6px}}@media(min-width:761px)and (max-height:800px){.controls-hidden .wheel-scene p,.controls-hidden .reservoir p.small-copy{display:none}}
