: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}.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;min-height:58px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand svg{color:#75ff9d}.brand p,.growthHint,.progressBlock span,.newTerms span{color:#a5b6ab;letter-spacing:0;margin:0}h1,h2,p{margin:0}h1{font-size:34px;line-height:1}.autoButton,.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,.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 1fr auto auto;gap:16px;padding:26px;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}.sentenceCopy{align-content:center;gap:24px;display:grid}.growthHint{font-size:20px}h2{color:#fff;letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(48px,6vw,92px);line-height:1.12}.sentencePanel.dense{gap:12px}.sentencePanel.dense .sentenceCopy{gap:14px}.sentencePanel.dense h2{font-size:clamp(34px,4vw,56px);line-height:1.14}.sentencePanel.dense .translation{font-size:clamp(23px,2.4vw,34px)}.sentencePanel.dense .termGrid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.translation{color:#f7ff7d;font-size:clamp(28px,3.3vw,48px);line-height:1.32}.newTerms{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;gap:8px;padding:12px;display:grid}.newTerms span{font-size:18px;font-weight:800}.termGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.termCard{color:#041006;background:#fff;border-radius:8px;gap:5px;min-width:0;padding:9px 10px;display:grid}.termCard.reuse{color:#bfffd0;background:#75ff9d29;border:1px solid #75ff9d59}.termCard.reuse p{color:#d7ffe0;font-size:16px;line-height:1.35}.termMain{align-items:baseline;gap:10px;min-width:0;display:flex}.termMain b{font-size:clamp(18px,1.9vw,26px);line-height:1.15}.termMain small{color:#43604a;font-size:15px;line-height:1.2}.termReading{grid-template-columns:minmax(72px,auto) minmax(84px,1fr) 38px;align-items:center;gap:8px;display:grid}.termReading span{color:#1f3728;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.termReading button{color:#75ff9d;background:#041006;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.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<=980px){.app{padding:14px}.storyShell{min-height:calc(100vh - 28px)}.nodeStage{grid-template-rows:minmax(170px,26vh) minmax(0,1fr);grid-template-columns:1fr;height:calc(100vh - 120px);min-height:auto}.scenePanel{min-height:0}.sentencePanel{gap:12px;min-height:0;padding:22px}.sentenceCopy{gap:14px}.newTerms{gap:8px;padding:12px}}@media (width<=640px){.topbar{align-items:flex-start;gap:12px}h1{font-size:28px}.autoButton{min-height:48px;padding:0 12px}.treeGrow{max-width:210px}.sceneCaption{padding:18px}.sceneCaption span,.sceneCaption strong{font-size:20px}h2{font-size:clamp(32px,8.6vw,48px)}.sentencePanel.dense h2{font-size:clamp(25px,6.8vw,36px)}.translation{font-size:clamp(22px,6.2vw,30px)}.sentencePanel.dense .translation{font-size:clamp(18px,5.2vw,24px)}.growthHint,.newTerms span{font-size:15px}.termGrid{grid-template-columns:1fr}.termCard{padding:8px 10px}.termMain b{font-size:18px}.termMain small,.termReading span{font-size:13px}.termReading{grid-template-columns:minmax(70px,auto) minmax(70px,1fr) 34px}.termReading button{width:34px;height:34px}.controls{grid-template-columns:54px 1fr 1fr 54px 54px}.controls button{min-height:52px}.playButton,.nextButton{font-size:15px!important}}
