:root{color:#204c3b;font-synthesis:none;background:#d8ecd8;font-family:ui-rounded,Trebuchet MS,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}[hidden]{display:none!important}#app{flex-direction:column;gap:12px;max-width:1500px;min-height:100dvh;margin:auto;padding:clamp(8px,2vw,20px);display:flex}.panel{background:#fff8e2f0;border:2px solid #4a774142;border-radius:22px;box-shadow:0 8px 24px #2144301f}.topbar{z-index:2;justify-content:space-between;align-items:center;height:76px;padding:8px 18px;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand img{object-fit:contain}.brand h1{margin:0;font-size:clamp(1.15rem,3vw,1.7rem);line-height:1.1}.eyebrow{letter-spacing:.18em;margin:0 0 4px;font-size:.69rem;font-weight:900}.icon-button{color:#fff9e9;background:#8b603d;border:3px solid #e8cd98;border-radius:17px;width:52px;height:52px;font-size:1.5rem;font-weight:900;box-shadow:0 4px #624329}.icon-button:focus-visible,.button:focus-visible,.branch:focus-visible{outline-offset:3px;outline:4px solid #153fbd}.game-layout{flex:1;grid-template-columns:minmax(0,1fr) 260px;gap:12px;min-height:0;display:grid}.board-wrap{background-image:linear-gradient(180deg,#ffffff14,#22512e14),var(--board-bg);background-position:50%;background-size:cover;border:3px solid #7eab6a;border-radius:26px;min-height:500px;position:relative;overflow:hidden}.lesson{z-index:1;text-align:center;max-width:calc(100% - 32px);margin:0;padding:9px 16px;font-size:.88rem;font-weight:800;position:absolute;top:12px;left:50%;transform:translate(-50%)}.board{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:clamp(8px,1.5vh,20px) clamp(6px,1vw,16px);max-width:830px;min-height:100%;margin:auto;padding:70px 16px 68px;display:grid;position:relative}.branch{isolation:isolate;background:0 0;border:0;width:100%;min-width:0;height:clamp(94px,15vh,174px);padding:0;transition:transform .18s;display:block;position:relative}.branch:not(:disabled):hover{transform:translateY(-3px)}.branch.selected:after,.branch.legal-target:after{content:"";pointer-events:none;border-radius:100px;position:absolute;inset:21% 4% 15%}.branch.selected:after{border:4px solid #43c48a;box-shadow:0 0 18px #a4e9a9}.branch.legal-target:after{border:3px dashed #e8bb51;box-shadow:0 0 14px #ffe5a4}.branch.dormant{opacity:.56;filter:grayscale(.1)}.branch-art{object-fit:fill;width:100%;height:100%;position:absolute;inset:0}.bird-row{pointer-events:none;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;width:68%;height:55%;display:grid;position:absolute;top:12%;left:24%}.bird-slot{justify-content:center;align-items:end;min-width:0;height:100%;display:flex;position:relative}.bird{object-fit:contain;filter:drop-shadow(0 2px 1px #2d3e1b2e);width:min(100%,56px);max-height:100%;display:block}.seed-mark{filter:drop-shadow(0 1px 3px #fff8c5);width:35%;max-width:23px;position:absolute;bottom:0;right:0}.status{text-align:center;min-width:220px;max-width:calc(100% - 24px);margin:0;padding:7px 12px;font-size:.82rem;font-weight:800;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.status:empty{visibility:hidden}.side-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px 16px;display:flex}.side-panel img{max-width:95%;height:auto}.side-panel h2{margin:6px 0;font-size:1.35rem}.side-panel p{line-height:1.5}.side-copy{font-size:.91rem}.progress-track{background:#cbd9aa;border-radius:20px;width:100%;height:13px;overflow:hidden}.progress-track span{background:linear-gradient(90deg,#73b95d,#e9b34f);width:0;height:100%;transition:width .25s;display:block}.toolbar{justify-content:center;gap:10px;padding:10px;display:flex}.button{color:#204c3b;background:#fff4d4;border:3px solid #f6dc9e;border-radius:15px;min-height:48px;padding:10px 20px;font-size:1rem;font-weight:900;transition:transform .14s;box-shadow:0 3px #5044284d}.button:not(:disabled):hover{transform:translateY(-2px)}.button:not(:disabled):active{box-shadow:none;transform:translateY(2px)}.button.blue{color:#fff;background:#4a98c3}.button.gold{color:#2c401f;background:#e6ae40}.button.secondary{background:#fff7e5}.toolbar .button{min-width:125px}.overlay{z-index:10;background:#0f2d229e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{text-align:center;border:4px solid #dcb979;width:min(520px,100%);max-height:min(90dvh,760px);padding:25px;overflow:auto}.dialog h2{margin:8px 0;font-size:clamp(1.5rem,5vw,2rem)}.dialog p{line-height:1.5}.dialog-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.dialog-actions .button{flex:1;min-width:138px}.level-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px;display:grid}.level-grid button{min-width:0;height:51px;padding:0}.settings-row{text-align:left;background:#edf2dc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:10px;display:flex}.settings-row input{accent-color:#53a966;width:24px;height:24px}.progress-art{border-radius:14px;width:100%;margin:10px 0}.muted-note{opacity:.78;font-size:.81rem}@media (width<=900px){.game-layout{grid-template-columns:1fr}.side-panel{display:none}.board-wrap{min-height:calc(100dvh - 166px)}.board{max-width:720px}.toolbar{z-index:2;padding-bottom:max(10px,env(safe-area-inset-bottom));position:sticky;bottom:0}}@media (width<=520px){#app{gap:5px;padding:5px}.topbar{border-radius:17px;height:62px;padding:5px 10px}.brand img{width:44px;height:44px}.icon-button{width:44px;height:44px;font-size:1.25rem}.board-wrap{border-radius:16px;min-height:calc(100dvh - 132px)}.board{align-content:space-evenly;gap:4px;padding:61px 4px 44px}.branch{height:clamp(78px,13vh,125px)}.bird-row{height:59%;top:8%}.bird{width:min(100%,42px)}.lesson{padding:6px 9px;font-size:.75rem}.toolbar{border-radius:17px;gap:5px;padding:5px}.toolbar .button{flex:1;min-width:0;min-height:43px;padding:7px 2px;font-size:.86rem}.status{font-size:.75rem;bottom:4px}.dialog{padding:16px}.level-grid{gap:5px}}@media (width<=360px){.board{grid-template-columns:1fr;align-content:start;max-height:calc(100dvh - 132px);padding-top:62px;overflow-y:auto}.branch{max-width:360px;height:95px;margin:auto}.bird-row{height:66%;top:6%}.bird{width:min(100%,54px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=520px){body{overflow:hidden}#app{height:100dvh;overflow:hidden}.brand,.brand>div{min-width:0}.brand h1{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.82rem,3.8vw,1.05rem);overflow:hidden}.game-layout{min-height:0}.board-wrap{height:100%;min-height:0}.board{scrollbar-width:thin;grid-template-columns:1fr;align-content:start;gap:6px;height:100%;min-height:0;max-height:100%;padding:60px 7px 50px;overflow-y:auto}.board.compact{align-content:center}.branch{flex:none;width:min(100%,360px);height:118px;margin-inline:auto}.bird-row{height:67%;top:5%}.bird{width:min(100%,58px)}}.bird-code{color:#163d30;background:#fff9e6;border:1px solid #395442;border-radius:50%;place-items:center;width:18px;height:18px;font:900 11px/1 Arial,sans-serif;display:grid;position:absolute;bottom:1px;left:2px;box-shadow:0 1px 2px #45583055}.branch.newly-grown:after{content:"";pointer-events:none;border:5px solid #fff4a3;border-radius:100px;position:absolute;inset:17% 3% 10%;box-shadow:0 0 24px 8px #e8fc9abb}.branch{background-position:50%;background-repeat:no-repeat;background-size:100% 100%}.button.green{color:#fff;background:#33754c}.board-nav{z-index:3;white-space:nowrap;gap:7px;padding:5px;display:flex;position:absolute;top:54px;left:50%;transform:translate(-50%)}.board-nav button{color:#214c3c;background:#fff7df;border:2px solid #729b74;border-radius:12px;min-height:44px;padding:6px 12px;font-weight:800}.board-nav button:focus-visible{outline-offset:2px;outline:3px solid #153fbd}.board-nav button:disabled{opacity:.6}.seed-label{color:#fff;background:#c58825;border:2px solid #fff7d4;border-radius:50%;place-items:center;width:21px;height:21px;font:900 12px Arial,sans-serif;display:grid;position:absolute;top:0;right:0;box-shadow:0 2px 4px #3e442e77}.seed-label.seed-b{background:#7764bf}.chapter-section{text-align:left;background:#f7f8e9;border:2px solid #d3dfbc;border-radius:14px;margin:10px 0;padding:8px}.chapter-section summary{cursor:pointer;min-height:44px;padding:8px;font-weight:900}.chapter-section .level-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:8px 0 3px}.chapter-section .button{min-height:48px}@media (width<=520px){.board-nav{top:48px}.board-nav button{padding:4px 8px;font-size:.75rem}.board{padding-top:100px}.seed-label{width:22px;height:22px}.dialog{max-height:86dvh}}.growth-label{color:#fff;background:#9875c5;border:3px solid #fff4d2;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:900;display:grid;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 3px 6px #334a3f66}.branch[data-branch=growth-1] .growth-label{background:#b98438}@media (width<=520px){.lesson{width:calc(100% - 22px)}.board-nav{top:68px}.board{padding-top:122px}}.board-nav #source-summary{color:#204c3b;align-self:center;padding:0 4px;font-size:.74rem;font-weight:900}.seed-label.seed-b,.branch[data-branch=growth-2] .growth-label{background:#3a91c7;border-radius:60% 60% 60% 8%}.branch.seed-correspondence:before{content:"";pointer-events:none;border:3px solid #61b2dd;border-radius:90px;position:absolute;inset:18% 6% 16%;box-shadow:0 0 14px #91ddff}.forest-chapters{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.forest-chapters p{background:#eaf1d7;border-radius:10px;margin:0;padding:8px;font-size:.82rem;font-weight:800}@media (width<=520px){.board-nav:has(#source-summary:not([hidden])){width:max-content;max-width:calc(100% - 16px)}.board-nav #source-summary{font-size:.7rem}.board-nav button{padding:4px 7px}.forest-chapters{grid-template-columns:1fr}}.toolbar .button{min-height:44px}.lesson{width:calc(100% - 32px);max-width:700px}.chapter-art{object-fit:cover;border-radius:10px;width:100%;height:96px;margin:5px 0 8px;display:block}.seed-mark-b{filter:drop-shadow(0 1px 3px #d5f5ff);max-width:24px}.growth-seed-icon{object-fit:contain;pointer-events:none;width:38px;height:38px;position:absolute;top:12%;left:50%;transform:translate(-50%)}.branch[data-branch=growth-2] .growth-label{background:#2384ba;border:2px solid #fff;width:24px;height:24px;font-size:11px;top:31%}.board-nav{border-radius:15px;flex-direction:column;gap:5px;width:54px;padding:4px;inset:auto 12px 56px auto;transform:none}.board-nav button{border-radius:11px;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid}.board-nav button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.board-nav #source-summary{text-align:right;white-space:nowrap;background:#fff7df;border:2px solid #729b74;border-radius:12px;max-width:180px;padding:7px 10px;font-size:.72rem;position:absolute;bottom:0;right:56px;box-shadow:0 3px 9px #31534333}@media (width<=520px){.board{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px 4px;height:100%;max-height:100%;padding:100px 5px 150px;overflow-y:auto}.board.compact{align-content:center}.branch{width:100%;max-width:none;height:clamp(90px,12.5vh,108px);margin:0}.bird-row{width:76%;height:68%;top:9%;left:21%}.bird{width:min(100%,36px)}.bird-code{width:15px;height:15px;font-size:9px;bottom:0;left:0}.seed-label{width:18px;height:18px;font-size:10px}.seed-mark{max-width:19px}.growth-seed-icon{width:31px;height:31px}.growth-label{width:29px;height:29px;font-size:12px}.board-nav{width:52px;padding:3px;inset:auto 8px 48px auto;transform:none}.board-nav button{width:44px;height:44px;font-size:initial}.board-nav #source-summary{max-width:145px;font-size:.67rem;right:54px}}
