:root{color:#fff;background:#020403;font-family:Inter,Noto Sans SC,Yu Gothic,Hiragino Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button{color:inherit;cursor:pointer;font:inherit;border:0}h1,h2,h3,p{margin:0}.homePage{background:#06100b;min-height:100vh;overflow-x:hidden}.homeHero{background:linear-gradient(90deg, #000000e0, #00000075), var(--home-image) center/cover;min-height:78vh;padding:24px;display:grid}.homeNav{justify-content:space-between;align-self:start;align-items:center;gap:16px;display:flex}.navBrand{align-items:center;gap:10px;font-size:22px;font-weight:900;display:flex}.navBrand svg{color:#75ff9d}.homeNav button,.treeCard button{color:#041006;background:#75ff9d;border-radius:8px;align-items:center;min-height:48px;padding:0 18px;font-weight:900;display:inline-flex}.heroCopy{align-self:end;gap:18px;max-width:900px;padding-bottom:7vh;display:grid}.eyebrow,.sectionTitle p{color:#75ff9d;font-weight:900}.heroCopy h1{letter-spacing:0;font-size:clamp(44px,7vw,96px);line-height:1.05}.heroCopy>p:last-child{color:#d6e3da;max-width:820px;font-size:clamp(20px,2vw,30px);line-height:1.5}.methodBand{grid-template-columns:repeat(5,1fr);gap:14px;padding:22px;display:grid}.methodItem{background:#0e1b14;border:1px solid #ffffff1f;border-radius:8px;gap:10px;min-height:190px;padding:18px;display:grid}.methodItem svg{color:#f7ff7d}.methodItem h2{font-size:22px}.methodItem p{color:#b7c8be;line-height:1.55}.treeForest{gap:18px;padding:22px 22px 42px;display:grid}.sectionTitle{gap:6px;display:grid}.sectionTitle h2{font-size:clamp(30px,4vw,54px)}.treeCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.treeCard{background:#0b1510;border:1px solid #ffffff1f;border-radius:8px;grid-template-columns:minmax(210px,.42fr) 1fr;min-height:300px;display:grid;overflow:hidden}.treeCard img{object-fit:cover;width:100%;height:100%}.treeCard>div{align-content:center;gap:14px;padding:24px;display:grid}.treeCard span{color:#75ff9d;align-items:center;gap:8px;font-weight:800;display:inline-flex}.treeCard h3{font-size:clamp(28px,3vw,46px)}.treeCard p{color:#c6d6cb;font-size:18px;line-height:1.55}.treeMeta{grid-template-columns:auto 1fr auto 1fr;gap:6px 10px;display:grid}.treeMeta b{color:#f7ff7d;font-size:28px;line-height:1}.treeMeta small{color:#9fb2a6;align-self:center;font-weight:800}.treeCard .prerequisite{color:#75ff9d;font-size:16px;font-weight:900}.app{background:linear-gradient(90deg, #000000f0, #000000c7), var(--scene-image) center/cover fixed;min-height:100vh;padding:20px;overflow-x:hidden}.storyShell{gap:16px;max-width:1440px;min-height:calc(100vh - 40px);margin:0 auto;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:58px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand svg{color:#75ff9d}.backButton{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.brand p,.growthHint,.progressBlock span,.newTerms span{color:#a5b6ab;letter-spacing:0}.brand h1{font-size:34px;line-height:1}.topActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.autoButton,.screenButton,.controls button{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:0 16px;display:inline-flex}.autoButton.active,.screenButton.active,.controls .active{color:#031106;background:#6dff91}.nodeStage{grid-template-columns:minmax(340px,.78fr) minmax(540px,1.22fr);gap:18px;min-height:calc(100vh - 116px);display:grid}.scenePanel,.sentencePanel{border:1px solid #ffffff24;border-radius:8px;position:relative;overflow:hidden}.scenePanel{background:#090d0a;min-height:0}.scenePanel img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sceneShade{background:linear-gradient(#00000014,#000000c7),radial-gradient(circle at 50% 36%,#0000 0,#00000061 62%);position:absolute;inset:0}.sceneCaption{justify-content:space-between;align-items:flex-end;padding:24px;display:flex;position:absolute;bottom:0;left:0;right:0}.sceneCaption span{color:#e9fff0;font-size:28px;font-weight:800}.sceneCaption strong{color:#75ff9d;font-size:26px}.treeGrow{grid-template-columns:repeat(5,1fr);align-items:center;gap:7px;max-width:270px;display:grid;position:absolute;top:20px;left:20px}.treeStem{background:#75ff9d3d;grid-column:1/-1;height:4px;position:relative;overflow:hidden}.treeStem:after{content:"";height:100%;width:var(--progress);background:#75ff9d;position:absolute;top:0;left:0}.leafDot{aspect-ratio:1;color:#ffffff7a;background:#00000085;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;min-width:0;display:inline-flex}.leafDot.grown{color:#75ff9d;background:#75ff9d33}.leafDot.active{color:#041006;background:#75ff9d;transform:scale(1.08)}.sentencePanel{background:#000000c7;grid-template-rows:auto minmax(0,.9fr) auto auto;gap:10px;padding:18px;display:grid}.progressBlock{gap:10px;display:grid}.progressTrack{background:#ffffff1f;height:10px;overflow:hidden}.progressTrack b{height:100%;width:var(--progress);background:linear-gradient(90deg,#75ff9d,#f7ff7d);display:block}.sequenceNotice{color:#caffd6;background:#75ff9d1c;border:1px solid #75ff9d47;border-radius:8px;padding:10px 12px;font-size:16px;font-weight:800;line-height:1.35}.sentenceCopy{align-content:center;gap:10px;display:grid}.growthHint{font-size:18px}.sentenceCopy h2{color:#fff;letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(38px,5vw,76px);line-height:1.12}.sentencePanel.dense h2{font-size:clamp(30px,3.6vw,52px);line-height:1.14}.translation{color:#f7ff7d;font-size:clamp(23px,2.6vw,38px);line-height:1.32}.sentencePanel.dense .translation{font-size:clamp(20px,2vw,30px)}.newTerms{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;gap:6px;max-height:none;padding:10px;display:grid;overflow:visible}.newTerms span{font-size:17px;font-weight:800}.termGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.sentencePanel.dense .termGrid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.termCard{color:#041006;background:#fff;border-radius:8px;gap:4px;min-width:0;padding:7px 9px;display:grid}.termCard.reuse{color:#bfffd0;background:#75ff9d29;border:1px solid #75ff9d59}.termCard.learned{color:#f7ff7d;background:#f7ff7d24;border:1px solid #f7ff7d57}.termCard.reuse p{color:#d7ffe0;font-size:16px;line-height:1.35}.termCard.learned p{color:#fff6b4;font-size:15px;line-height:1.35}.termMain{align-items:baseline;gap:10px;min-width:0;display:flex}.termMain b{font-size:clamp(17px,1.6vw,24px);line-height:1.15}.termMain small{color:#43604a;font-size:14px;line-height:1.2}.termReading{grid-template-columns:minmax(66px,auto) minmax(74px,1fr) 30px;align-items:center;gap:6px;display:grid}.termReading span{color:#1f3728;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.termReading button,.sideLeaves button{color:#75ff9d;background:#041006;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.termReading button{width:30px;height:30px;padding:0}.sideLeaves{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.sideLeaves button{text-align:left;grid-template-columns:18px minmax(0,1fr);justify-items:start;gap:4px;min-height:38px;padding:5px 7px;display:grid}.sideLeaves span,.sideLeaves small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sideLeaves small{color:#c7f7d3;grid-column:2;font-size:11px}.controls{grid-template-columns:64px minmax(150px,.9fr) minmax(160px,1.1fr) 64px 64px;gap:10px;display:grid}.controls button{min-height:60px}.controls button:disabled{cursor:not-allowed;opacity:.35}.controls svg{width:26px;height:26px}.playButton{background:#ffffff29!important}.nextButton{color:#031106!important;background:#75ff9d!important;font-size:22px!important;font-weight:900!important}@media (width<=1120px){.methodBand,.treeCards{grid-template-columns:1fr}.treeCard{grid-template-columns:260px 1fr}.nodeStage{grid-template-rows:minmax(170px,26vh) minmax(0,1fr);grid-template-columns:1fr;height:calc(100vh - 126px);min-height:auto}.scenePanel,.sentencePanel{min-height:0}}@media (width<=720px){.homeHero{min-height:72vh;padding:16px}.homeNav{flex-direction:column;align-items:flex-start}.heroCopy{padding-bottom:3vh}.methodBand,.treeForest{padding:14px}.treeCard{grid-template-columns:1fr}.treeCard img{height:210px}.app{padding:12px}.storyShell{min-height:calc(100vh - 24px)}.topbar{align-items:flex-start;gap:12px}.brand h1{font-size:28px}.topActions{max-width:100%}.autoButton,.screenButton{min-height:44px;padding:0 10px}.nodeStage{height:calc(100vh - 146px)}.treeGrow{max-width:210px}.sceneCaption{padding:18px}.sceneCaption span,.sceneCaption strong{font-size:20px}.sentencePanel{padding:16px}.sentenceCopy h2{font-size:clamp(29px,7.6vw,42px)}.sentencePanel.dense h2{font-size:clamp(23px,6.2vw,34px)}.translation{font-size:clamp(20px,5.6vw,28px)}.sentencePanel.dense .translation{font-size:clamp(17px,4.8vw,23px)}.growthHint,.newTerms span{font-size:14px}.termGrid{grid-template-columns:1fr}.newTerms{max-height:none}.termCard{padding:7px 9px}.termMain b{font-size:18px}.termMain small,.termReading span{font-size:12px}.sideLeaves{grid-template-columns:repeat(2,minmax(0,1fr))}.sideLeaves button{min-height:36px}.controls{grid-template-columns:48px 1fr 1fr 48px 48px}.controls button{min-height:50px}.playButton,.nextButton{font-size:15px!important}}
