/* Soft woodland theme shared by the whole book. */
:root{--bg:#f5f4e8;--bg-top:#e9f1df;--panel:#fffef7;--panel-soft:#f2f5e7;--ink:#324735;--muted:#61715b;--line:#d6dfc6;--accent:#537b43;--accent-dark:#355c36;--accent-soft:#e7efda;--star:#bb8130;--radius:24px;--shadow:0 6px 22px rgba(61,87,43,.09);--u1:#537b43;--u2:#64856d;--u3:#a47b43;--u4:#897a57}
body{background:linear-gradient(180deg,#e9f1df 0,#f5f4e8 480px);background-attachment:fixed}
.hero{background:linear-gradient(125deg,#355c36,#65844b);animation:none}
.hero .wave path{fill:#f5f4e8}.brand-badge{background:#fff6df;color:#355c36;border-radius:50%}
.card,.intro{border-radius:24px}.card .top{background:#eef2e2}.card .no{color:#77845e}
.chips span,.tool-btn{border-radius:16px}.enter{background:#537b43;border-radius:18px;box-shadow:0 4px 0 #355c36}
.xnav{position:relative;background:#46683c;box-shadow:0 3px 0 #d9dfc6;padding:10px 14px;align-items:stretch}
.xnav .side{align-items:center}.xnav .xbtn{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.55;border-radius:16px;background:#fff8e7;color:#355c36;border:2px solid #dce5cb;padding:7px 13px}
.xnav .xbtn span{color:inherit}.xnav .xbtn:hover{background:#e8efda}.xnav .course-name{overflow-wrap:anywhere}.xnav .xbtn.off{opacity:.7;color:#fff;background:transparent;border-color:#9bb18b}
.xnav .xhome{animation:none;background:#fffef7;color:#355c36;box-shadow:none;display:flex;align-items:center;justify-content:center;border-color:#dce5cb}
header.topbar{background:#fffef7;border-bottom:2px solid #d6dfc6}.topbar .title{color:#355c36}.forest-mark{font-size:1.5em}.home-hero .tree-emoji{background:#edf2df;border:2px solid #d6dfc6;border-radius:28px;padding:12px;display:inline-block}
.level-card{border-radius:22px;background:#fffef7}.level-row.current .level-card{border-color:#78975a;background:#f7faee}.level-rail .line-v{background:#c8d6b7}
.lesson-nav{display:none}footer{border-top:1px solid #d6dfc6;background:#edf1e3}
a:focus-visible,button:focus-visible{outline:3px solid #8b652d;outline-offset:3px}
@media(max-width:600px){.xnav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:8px 10px}.xnav .xhome{grid-column:1/-1;grid-row:1;padding:7px 12px}.xnav .side{width:100%;align-items:stretch}.xnav .xbtn{width:100%;font-size:.8rem;padding:7px 9px;justify-content:center;text-align:center}.xnav .lnum{display:inline}.xnav .side.r{justify-content:stretch}.topbar .title{display:block;flex:1;min-width:120px}.topbar .brand{font-size:.72em}.tools{flex-wrap:wrap}.hero h1{font-size:1.85rem}}

.reading-current{color:#a52f16!important;background:#ffe29c!important;border-radius:5px;box-shadow:0 2px 0 #c58a2e;font-weight:800}.reading-help{font-size:.78em;color:#61715b}.read-tools{flex-wrap:wrap;gap:10px}

.student-panel{max-width:1120px;margin:20px auto 12px;padding:14px 18px;background:#fffef7;border:2px solid #d6dfc6;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:6}.student-panel form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.student-panel input{max-width:140px;padding:8px;border:1px solid #9aac85;border-radius:10px;font:inherit}.student-panel input[type=number]{max-width:80px}.student-panel a{color:#355c36}.student-panel form span,#save-status{font-size:14px;color:#61715b}body:has(.hero) .student-panel{margin-top:24px}body:has(.hero) main{margin-top:24px}

.hero .leaf{pointer-events:none;opacity:.65;filter:drop-shadow(0 3px 3px rgba(29,52,23,.1))}
