:root{--seed:#1a7a5c;--seed-deep:#0f5240;--seed-soft:#d8f3e8;--sun:#f4a261;--sun-deep:#e76f3c;--sky:#7ec8e3;--ink:#1c2b28;--ink-soft:#3d524c;--paper:#fffaf3;--paper-2:#fff3e0;--line:#1c2b281a;--shadow:0 18px 40px #0f524024;--radius:28px;--font-display:"Baloo 2", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif;color:var(--ink);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;line-height:1.4}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #7ec8e38c, transparent 55%), radial-gradient(ellipse 70% 45% at 100% 0%, #f4a26159, transparent 50%), radial-gradient(ellipse 60% 40% at 50% 100%, #1a7a5c2e, transparent 55%), linear-gradient(180deg, #e8f6f1 0%, var(--paper) 42%, var(--paper-2) 100%);background-attachment:fixed;min-height:100dvh;margin:0}button,a{font:inherit}button{cursor:pointer;background:0 0;border:none}img,video{max-width:100%;display:block}.app-shell{width:min(920px,100%);padding:1.25rem 1.1rem 2.5rem;padding-top:max(1.25rem, env(safe-area-inset-top));padding-right:max(1.1rem, env(safe-area-inset-right));padding-bottom:max(2.5rem, env(safe-area-inset-bottom));padding-left:max(1.1rem, env(safe-area-inset-left));margin:0 auto}.brand{flex-direction:column;gap:.15rem;animation:.7s both rise;display:flex}.brand-mark{color:inherit;align-items:center;gap:.55rem;width:fit-content;text-decoration:none;display:inline-flex}.brand-orb{background:radial-gradient(circle at 30% 25%,#7dffc359,#0000 55%),linear-gradient(160deg,#e8f6f1,#d8f3e8);border:1.5px solid #1a7a5c38;border-radius:.85rem;flex:none;place-items:center;width:2.6rem;height:2.6rem;animation:3.2s ease-in-out infinite bob;display:grid;overflow:hidden;box-shadow:0 6px 14px #0f524024}.brand-orb-img{object-fit:contain;width:1.85rem;height:1.85rem;display:block}.topbar .brand-orb{border-radius:.75rem;width:2.35rem;height:2.35rem}.topbar .brand-orb-img{width:1.65rem;height:1.65rem}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--seed-deep);font-size:clamp(2rem,6vw,2.75rem);font-weight:800;line-height:1}.brand-tag{color:var(--ink-soft);max-width:28ch;font-size:1rem;font-weight:600}.hero{margin-top:1.25rem;animation:.8s 80ms both rise}.hero-today{background:radial-gradient(ellipse 65% 80% at 8% 0%, #7ec8e361, transparent 55%), radial-gradient(ellipse 50% 65% at 92% 100%, #ffc2856b, transparent 52%), radial-gradient(circle at 70% 20%, #7dffc31f, transparent 40%), linear-gradient(145deg, #0c4637 0%, var(--seed-deep) 40%, #1f8f6a 100%);color:#fff;border:2.5px solid #ffffff38;border-radius:1.75rem;grid-template-columns:minmax(0,1.2fr) minmax(11rem,.9fr);align-items:stretch;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 36px #0f524038,inset 0 1px #ffffff1f}.hero-today:before{content:"";pointer-events:none;background:#ffc2852e;border-radius:50%;width:7rem;height:7rem;position:absolute;top:-2.2rem;right:38%}.hero-today-copy{z-index:1;flex-direction:column;justify-content:center;min-width:0;padding:1.3rem 1.4rem 1.4rem;display:flex;position:relative}.hero-day{letter-spacing:0;text-transform:none;color:#ffffffe6;flex-wrap:wrap;gap:.35rem;margin:0;font-size:.82rem;font-weight:800;display:flex}.hero-day-chip{background:#ffffff29;border:1px solid #ffffff47;border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.78rem;font-weight:800;display:inline-flex}.hero-day-chip.soft{background:#7ec8e338;border-color:#7ec8e359}.hero-day-chip.done{color:#ffe8c8;background:#ffc28547;border-color:#ffc28573}.hero-day span{opacity:1;margin:0}.hero-day-done{color:#ffe0b8!important;opacity:1!important}.hero-today h1{font-family:var(--font-display);color:#fff;text-shadow:0 2px 12px #0000002e;max-width:16ch;margin:.55rem 0 .45rem;font-size:clamp(1.95rem,5.5vw,2.85rem);font-weight:800;line-height:1.05}.hero-lede{color:#fffaf3e6;max-width:36ch;margin:0 0 .9rem;font-size:.98rem;font-weight:650;line-height:1.4}.hero-meta{flex-wrap:wrap;gap:.4rem;margin:0 0 1.1rem;padding:0;list-style:none;display:flex}.hero-meta li{color:#fffffffa;background:#ffffff24;border:1.5px solid #ffffff38;border-radius:999px;align-items:center;gap:.28rem;padding:.32rem .7rem;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:inset 0 -1px #00000014}.hero-meta-word{background:#f4a26147!important;border-color:#ffc28573!important}.hero-today .btn-row{margin-top:auto}.hero-cta{min-height:3rem;font-family:var(--font-display);background:linear-gradient(180deg, #ffc285, var(--sun-deep));color:#3b1d08;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem 1.25rem;font-size:1.12rem;display:inline-flex;box-shadow:0 3px #8c371459,0 12px 22px #0003}.hero-cta-ico{background:#ffffff59;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;font-size:.72rem;line-height:1;display:grid}.hero-cta:hover{transform:translateY(-2px)}.btn-hero-quiet{color:#fff;background:0 0;border:1.5px solid #ffffff59}.btn-hero-quiet:hover{background:#ffffff1a;border-color:#ffffff8c}.hero-today-media{background:#0a2e24;min-height:100%;position:relative}.hero-today-media video,.hero-today-media .hero-thumb{object-fit:cover;opacity:0;background:#123d32;width:100%;height:100%;min-height:12.5rem;transition:opacity .35s;display:block}.hero-today-media .hero-thumb.is-ready{opacity:1}.hero-today-fallback{background:radial-gradient(circle at 40% 35%,#7ec8e359,#0000 50%),radial-gradient(circle at 70% 70%,#f4a2614d,#0000 45%),#0a2e24;height:100%;min-height:12.5rem}.hero-today-media-fade{pointer-events:none;background:linear-gradient(90deg,#0c46378c,#0000 42%);position:absolute;inset:0}.hero-panel{border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffffb8,#fffaf38c),linear-gradient(160deg,#1a7a5c1f,#f4a2612e);border:1px solid #ffffffa6;padding:clamp(1.4rem,4vw,2.2rem);position:relative;overflow:hidden}.hero-panel:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#f4a26173,#0000 55%),radial-gradient(circle at 70%,#7ec8e380,#0000 50%);height:70%;position:absolute;inset:auto -10% -40% 40%}.hero-kicker{z-index:1;color:var(--seed);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800;position:relative}.hero-panel h1,.hero:not(.hero-today) h1{z-index:1;font-family:var(--font-display);max-width:12ch;margin:.35rem 0 .55rem;font-size:clamp(2.1rem,7vw,3.4rem);font-weight:800;line-height:1.05;position:relative}.hero-panel p{z-index:1;color:var(--ink-soft);max-width:34ch;margin:0 0 1.25rem;font-size:1.05rem;position:relative}.btn-row{z-index:1;flex-wrap:wrap;gap:.7rem;display:flex;position:relative}.btn{border-radius:1.15rem;justify-content:center;align-items:center;gap:.45rem;min-height:3.1rem;padding:.7rem 1.35rem;font-weight:800;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(180deg, #249b74, var(--seed-deep));color:#fff;box-shadow:0 12px 24px #1a7a5c4d}.btn-primary:hover{transform:translateY(-2px)}.btn-secondary{color:var(--seed-deep);background:#ffffffd9;border:1.5px solid #1a7a5c2e}.btn-ghost{color:var(--ink-soft);background:0 0;border:1.5px dashed #1c2b2833}.btn-sun{background:linear-gradient(180deg, #ffb56b, var(--sun-deep));color:#fff;box-shadow:0 12px 24px #e76f3c47}.stats{grid-template-columns:repeat(3,1fr);gap:.7rem;animation:.85s .14s both rise;display:grid}.stats-compact{gap:.55rem;margin-top:.95rem}.stats-compact .stat{text-align:left;border:2px solid #fffffff2;border-radius:1.15rem;justify-content:flex-start;align-items:center;gap:.55rem;padding:.65rem .75rem;transition:transform .18s;display:flex;box-shadow:0 8px 18px #0f524012}.stats-compact .stat:hover{transform:translateY(-2px)}.stat-chip .stat-emoji{background:#ffffffb8;border:2px solid #ffffffe6;border-radius:.95rem;flex:none;place-items:center;width:2.45rem;height:2.45rem;font-size:1.25rem;display:grid;box-shadow:inset 0 -2px #0000000d}.stat-chip .stat-copy{gap:.05rem;min-width:0;display:grid}.stats-compact .stat strong{font-size:1.2rem;line-height:1;display:block}.stats-compact .stat span{font-size:.72rem;font-weight:800}.stat-streak{background:linear-gradient(135deg,#ffe2c4f2,#fffaf3e6);border-color:#e76f3c47}.stat-streak .stat-emoji{background:linear-gradient(160deg,#ffd9a8,#f4a261)}.stat-streak strong{color:#8a3d14}.stat-sessions{background:linear-gradient(135deg,#d8f3e8f2,#fffaf3e6);border-color:#1a7a5c40}.stat-sessions .stat-emoji{background:linear-gradient(160deg,#c8f0dd,#7ed9b0)}.stat-today{background:linear-gradient(135deg,#c7e9f7eb,#fffaf3e6);border-color:#5aaac859}.stat-today .stat-emoji{background:linear-gradient(160deg,#bfe8f5,#7ec8e3)}.stat-today.is-done{background:linear-gradient(135deg,#d8f3e8fa,#ffecd2e6);border-color:#1a7a5c4d}.stat-today.is-done .stat-emoji{background:linear-gradient(160deg,#ffd9a8,#f4a261)}.stat-today.is-done strong{color:var(--seed-deep)}.unit-roadmap{background:#ffffffb8;border:1px solid #ffffffd9;border-radius:1.4rem;margin-top:1.15rem;padding:1rem 1.05rem 1.1rem;animation:.88s .16s both rise;box-shadow:0 10px 28px #0f524012}.unit-roadmap-compact{background:linear-gradient(160deg,#ffffffe0 0%,#e8f6f1b3 100%);border:2px solid #fffffff2;border-radius:1.45rem;margin-top:1.25rem;padding:.9rem .95rem 1rem;box-shadow:0 12px 30px #0f524014}.roadmap-head{margin-bottom:.75rem}.unit-roadmap-compact .roadmap-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.7rem;display:flex}.roadmap-head h2{font-family:var(--font-display);color:var(--seed-deep);margin:0;font-size:1.35rem}.unit-roadmap-compact .roadmap-head h2{font-size:1.25rem}.roadmap-head p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.9rem;font-weight:700}.unit-roadmap-compact .roadmap-head p{color:var(--seed-deep);background:#ffffffbf;border:1px solid #1a7a5c1f;border-radius:999px;margin:0;padding:.2rem .55rem;font-size:.78rem;font-weight:800}.roadmap-grid{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.unit-roadmap-compact .roadmap-grid{grid-template-columns:repeat(3,1fr);gap:.55rem}.roadmap-item{color:inherit;background:#e8f6f18c;border:1px solid #1a7a5c1a;border-radius:1rem;gap:.2rem;padding:.75rem .8rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.unit-roadmap-compact .roadmap-item{border-style:solid;border-width:2px;border-radius:1.1rem;gap:.12rem;padding:.65rem .65rem .7rem;position:relative;overflow:hidden;box-shadow:0 6px 14px #0f52400f}.unit-roadmap-compact .roadmap-item:hover{transform:translateY(-3px)scale(1.01);box-shadow:0 12px 22px #0f52401f}.roadmap-item:hover{border-color:#1a7a5c47;transform:translateY(-1px)}.roadmap-ico{display:none}.unit-roadmap-compact .roadmap-ico{background:#ffffffc7;border:1.5px solid #fffffff2;border-radius:.7rem;place-items:center;width:1.85rem;height:1.85rem;margin-bottom:.15rem;font-size:.95rem;display:grid;box-shadow:inset 0 -2px #0000000a}.roadmap-label{text-transform:uppercase;letter-spacing:.04em;color:var(--seed);font-size:.72rem;font-weight:800}.unit-roadmap-compact .roadmap-label{letter-spacing:.02em;text-transform:none;font-size:.68rem}.roadmap-item strong{font-family:var(--font-display);color:var(--ink);font-size:1.2rem;line-height:1.15}.unit-roadmap-compact .roadmap-item strong{color:var(--seed-deep);font-size:1.12rem}.roadmap-left{color:var(--ink-soft);font-size:.8rem;font-weight:700}.road-bar{background:#1a7a5c1f;border-radius:999px;height:.4rem;margin-top:.35rem;overflow:hidden}.unit-roadmap-compact .road-bar{background:#ffffffa6;border:1px solid #0f524014;height:.38rem;margin-top:.35rem}.road-bar i{background:linear-gradient(90deg, var(--seed), #3cb88a);border-radius:inherit;height:100%;display:block}.unit-roadmap-compact .road-session{background:linear-gradient(145deg,#d8f3e8f2,#ffffffe0);border-color:#1a7a5c38}.unit-roadmap-compact .road-video{background:linear-gradient(145deg,#c7e9f7f2,#ffffffe0);border-color:#5aaac859}.unit-roadmap-compact .road-video .road-bar i{background:linear-gradient(90deg,#5eb3d4,#2f7f9c)}.unit-roadmap-compact .road-flash{background:linear-gradient(145deg,#e8f6f1f2,#ffffffe6);border-color:#3cb88a4d}.unit-roadmap-compact .road-words{background:linear-gradient(145deg,#d8f3e8e6,#fffaf3e6);border-color:#1a7a5c33}.unit-roadmap-compact .road-book{background:linear-gradient(145deg,#ffecd2f2,#ffffffe6);border-color:#f4a26159}.unit-roadmap-compact .road-book .road-bar i,.unit-roadmap-compact .road-quiz .road-bar i{background:linear-gradient(90deg, #ffb56b, var(--sun-deep))}.unit-roadmap-compact .road-quiz{background:linear-gradient(145deg,#ffe2c4f2,#ffffffe6);border-color:#e76f3c47}.stat{text-align:center;background:#ffffffb3;border:1px solid #fffc;border-radius:1.2rem;padding:.95rem .8rem}.stat strong{font-family:var(--font-display);color:var(--seed-deep);font-size:1.7rem;line-height:1;display:block}.stat span{color:var(--ink-soft);font-size:.82rem;font-weight:700}.nav-links{gap:.85rem;margin-top:1.5rem;animation:.9s .18s both rise;display:grid}.nav-card{color:inherit;background:#ffffffc7;border:2px solid #fffffff2;border-radius:1.55rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1rem 1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 10px 28px #0f524014}.nav-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #0f524024}.nav-card:active{transform:translateY(-1px)scale(.99)}.nav-icon{background:var(--seed-soft);border-radius:1.15rem;place-items:center;width:3rem;height:3rem;font-size:1.35rem;transition:transform .25s;display:grid}.nav-card:hover .nav-icon{transform:rotate(-6deg)scale(1.06)}.nav-card h3{font-family:var(--font-display);color:var(--seed-deep);margin:0;font-size:1.25rem;font-weight:700;line-height:1.15}.nav-card p{color:var(--ink-soft);margin:.2rem 0 0;font-size:.92rem;font-weight:650}.nav-card-today{align-items:start}.nav-card-today .nav-icon{margin-top:.15rem}.nav-card-today .nav-arrow{align-self:center}.nav-tile{isolation:isolate;min-height:5.6rem;padding:1.05rem 1.05rem 1.05rem 1rem;position:relative;overflow:hidden}.nav-tile:before{content:"";opacity:.55;z-index:-1;pointer-events:none;border-radius:50%;width:9rem;height:9rem;position:absolute;inset:auto -18% -55% auto}.nav-tile:after{content:"";opacity:.35;z-index:-1;pointer-events:none;border-radius:42% 58% 55% 45%;width:6.5rem;height:6.5rem;position:absolute;inset:-40% auto auto -20%}.nav-tile .nav-icon{border:2.5px solid #fffffff2;border-radius:1.45rem;width:3.9rem;height:3.9rem;font-size:1.9rem;box-shadow:0 10px 18px #0f52401f,inset 0 -3px #0000000f}.nav-tile .nav-card-body{align-content:center;gap:.12rem;display:grid}.nav-tile h3{font-size:clamp(1.25rem,3.2vw,1.5rem)}.nav-progress{letter-spacing:.01em;width:fit-content;color:var(--seed-deep);background:#ffffffc7;border:1.5px solid #0f52401f;border-radius:999px;align-items:center;margin-top:.45rem;padding:.22rem .65rem;font-size:.8rem;font-weight:800;display:inline-flex}.nav-go{min-width:3.15rem;font-family:var(--font-display);text-align:center;color:#fff;background:linear-gradient(180deg, #249b74, var(--seed-deep));border-radius:999px;align-self:center;padding:.55rem .8rem .62rem;font-size:1.02rem;font-weight:700;transition:transform .2s;box-shadow:0 2px #08342859,0 8px 16px #0f524038}.nav-tile:hover .nav-go{transform:translate(3px)scale(1.04)}.nav-tile-book{background:linear-gradient(135deg,#ffecd2f2 0%,#fffaf3e6 55%,#ffffffd9 100%);border-color:#f4a26159}.nav-tile-book:before{background:#f4a26173}.nav-tile-book:after{background:#ffc28580}.nav-tile-book .nav-icon{background:linear-gradient(160deg,#ffe0b8,#ffc285)}.nav-tile-book .nav-go{background:linear-gradient(180deg, #ffb56b, var(--sun-deep));box-shadow:0 6px 14px #e76f3c47}.nav-tile-book .nav-progress{color:#8a3d14;background:#ffffffc7;border-color:#e76f3c2e}.nav-tile-words{background:linear-gradient(135deg,#d8f3e8f2 0%,#fffaf3e6 60%,#ffffffd9 100%);border-color:#1a7a5c47}.nav-tile-words:before{background:#3cb88a66}.nav-tile-words:after{background:#7ec8e359}.nav-tile-words .nav-icon{background:linear-gradient(160deg,#c8f0dd,#7ed9b0)}.nav-tile-videos{background:linear-gradient(135deg,#c7e9f7f2 0%,#fffaf3e6 58%,#ffffffd9 100%);border-color:#5aaac866}.nav-tile-videos:before{background:#7ec8e38c}.nav-tile-videos:after{background:#1a7a5c2e}.nav-tile-videos .nav-icon{background:linear-gradient(160deg,#bfe8f5,#7ec8e3)}.nav-tile-videos .nav-go{background:linear-gradient(#5eb3d4,#2f7f9c);box-shadow:0 6px 14px #2f7f9c40}.nav-tile-quiz{background:linear-gradient(135deg,#ffe2c4f2 0%,#fff4e4eb 50%,#ffffffe0 100%);border-color:#e76f3c47}.nav-tile-quiz:before{background:#ffc2858c}.nav-tile-quiz:after{background:#f4a26159}.nav-tile-quiz .nav-icon{background:linear-gradient(160deg,#ffd9a8,#f4a261)}.nav-tile-quiz .nav-go{background:linear-gradient(180deg, #ffb56b, var(--sun-deep));box-shadow:0 6px 14px #e76f3c47}.nav-tile-quiz .nav-progress{color:#8a3d14;border-color:#e76f3c2e}.session-picker{background:linear-gradient(160deg,#d8f3e8bf 0%,#fffaf3eb 45%,#ffffffe0 100%);border-color:#1a7a5c38;grid-template-columns:1fr;gap:.85rem;display:grid}.session-picker .nav-icon{background:linear-gradient(160deg,#c8f0dd,#7ed9b0);border:2px solid #ffffffd9;border-radius:1.25rem;width:3.4rem;height:3.4rem;font-size:1.45rem;box-shadow:0 8px 16px #0f52401a}.session-picker-top{grid-template-columns:auto 1fr;align-items:start;gap:.9rem;display:grid}.session-total{color:var(--seed-deep)!important;margin:.15rem 0 .35rem!important;font-weight:800!important}.session-days{flex-wrap:wrap;gap:.4rem;display:flex}.session-day{width:2.35rem;height:2.35rem;color:var(--ink-soft);border:1.5px solid var(--line);background:#ffffffbf;border-radius:.75rem;font-size:.92rem;font-weight:800;position:relative}.session-day.selected{color:#fff;background:var(--seed);border-color:var(--seed)}.session-day.current:not(.selected){border-color:var(--seed);color:var(--seed-deep);box-shadow:0 0 0 2px #1a7a5c26}.session-day.done{color:var(--seed-deep);background:#d8f3e8f2;border-color:#1a7a5c59}.session-day.done.selected{color:#fff;background:var(--seed)}.session-day:disabled{opacity:.4;cursor:not-allowed}.session-tick{color:#fff;background:#1a7a5c;border-radius:50%;place-items:center;width:1rem;height:1rem;font-size:.65rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-.35rem;right:-.3rem}.session-picker-actions{justify-content:flex-start;display:flex}.nav-card-body{min-width:0}.session-line{align-items:baseline;gap:.45rem;font-weight:700;line-height:1.3;display:flex;color:var(--ink)!important;margin:.28rem 0 0!important;font-size:.95rem!important}.session-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--seed);background:var(--seed-soft);border-radius:999px;flex:none;padding:.12rem .45rem;font-size:.68rem;font-weight:800}.session-thumbs{align-items:center;gap:.35rem;margin-top:.55rem;display:flex}.session-thumb{object-fit:cover;background:var(--paper);border:2px solid #fffffff2;border-radius:.7rem;width:2.55rem;height:2.55rem;box-shadow:0 4px 10px #0f52401f}.session-thumb.more{color:var(--seed-deep);background:var(--seed-soft);border-style:dashed;place-items:center;font-size:.78rem;font-weight:800;display:grid}.nav-arrow{color:var(--seed);font-size:1.3rem;font-weight:800}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.topbar .brand-name{font-size:1.55rem}.session{gap:.85rem;display:grid}.session-lc{gap:.75rem}.session-head{margin:0}.session-head-meta{letter-spacing:.04em;text-transform:uppercase;color:var(--seed);margin:0;font-size:.82rem;font-weight:800}.session-head-title{font-family:var(--font-display);color:var(--seed-deep);margin:.2rem 0 0;font-size:clamp(1.45rem,4.5vw,2rem);line-height:1.1}.session-head-sub{color:var(--ink-soft);margin:.35rem 0 0;font-size:.9rem;font-weight:650}.session-modes{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.45rem;padding:.15rem 0 .35rem;display:flex;overflow-x:auto}.session-modes::-webkit-scrollbar{display:none}.session-mode{min-height:2.35rem;color:var(--ink-soft);white-space:nowrap;background:#ffffffb8;border:1.5px solid #1a7a5c33;border-radius:999px;flex:none;padding:.4rem .95rem;font-size:.88rem;font-weight:800;transition:background .15s,border-color .15s,color .15s}.session-mode.active{background:linear-gradient(180deg, #249b74, var(--seed-deep));border-color:var(--seed-deep);color:#fff;box-shadow:0 8px 16px #0f524033}.session-mode.done:not(.active){color:var(--seed-deep);background:var(--seed-soft);border-color:#1a7a5c59}.session-mode.locked{opacity:.45;cursor:not-allowed}.session-stage{padding:.85rem .9rem 1rem}.session-stage .session-step-body{gap:.75rem;display:grid}.session-step-cta{margin-top:.15rem}.media-frame-lg{border-radius:1.1rem}.session-step-rail{flex-wrap:wrap;justify-content:center;gap:.45rem;padding:.15rem 0 .25rem;display:flex}.session-step-dot{width:2.35rem;height:2.35rem;color:var(--ink-soft);background:#fffc;border:2px solid #1a7a5c38;border-radius:50%;place-items:center;font-size:.9rem;font-weight:800;transition:transform .15s,background .15s,border-color .15s;display:grid}.session-step-dot.active{background:linear-gradient(180deg, #ffc285, var(--sun-deep));border-color:var(--sun-deep);color:#3b1d08;transform:scale(1.08);box-shadow:0 6px 14px #e76f3c47}.session-step-dot.done:not(.active){background:var(--seed);border-color:var(--seed-deep);color:#fff}.session-step-dot.locked{opacity:.4;cursor:not-allowed}.session-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.session-more-link{color:var(--seed-deep);font-size:.9rem;font-weight:800;text-decoration:none}.session-more-link:hover{text-decoration:underline}.progress-rail{gap:.4rem;display:flex}.progress-rail span{background:#1a7a5c26;border-radius:999px;flex:1;height:.45rem;overflow:hidden}.progress-rail span i{background:linear-gradient(90deg, var(--seed), #3ecf98);border-radius:inherit;width:0;height:100%;transition:width .35s;display:block}.progress-rail span.done i,.progress-rail span.active i{width:100%}.progress-rail span.active i{animation:1.2s ease-in-out infinite alternate pulseFill}.step-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffd1;border:1px solid #ffffffe6;padding:1.1rem;animation:.45s both rise}.step-meta{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.step-meta .kind{letter-spacing:.06em;text-transform:uppercase;color:var(--sun-deep);font-size:.75rem;font-weight:800}.step-meta .count{color:var(--ink-soft);font-size:.85rem;font-weight:700}.step-card h2{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,4vw,2rem)}.step-card .hint{color:var(--ink-soft);margin:.35rem 0 1rem}.media-frame{aspect-ratio:16/9;background:#0f5240;border-radius:1.25rem;position:relative;overflow:hidden}.media-frame video{object-fit:contain;background:#102820;width:100%;height:100%}.sub-video{width:100%;height:100%;position:relative}.sub-video video{object-fit:contain;background:#102820;width:100%;height:100%;display:block}.sub-video-error{z-index:4;text-align:center;color:#fff;background:#0c2820e0;place-content:center;gap:.75rem;padding:1rem;display:grid;position:absolute;inset:0}.sub-video-error p{margin:0;font-size:.95rem;font-weight:700}.sub-overlay{z-index:2;pointer-events:none;text-align:center;gap:.2rem;width:min(92%,36rem);display:grid;position:absolute;bottom:3.25rem;left:50%;transform:translate(-50%)}.sub-line{text-wrap:balance;border-radius:.45rem;width:fit-content;max-width:100%;margin:0 auto;padding:.4rem .85rem;font-weight:800;line-height:1.35}.sub-en{color:#fff;background:#000000b8;font-size:clamp(1rem,2.5vw,1.25rem)}.sub-vi{color:#fff;background:#0f5240d1;font-size:clamp(.88rem,2.2vw,1.05rem);font-weight:700}.sub-toggle{z-index:3;color:#fff;background:#0000008c;border:1.5px solid #ffffff59;border-radius:.55rem;align-items:center;gap:.35rem;min-height:2rem;padding:.28rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex;position:absolute;top:.55rem;right:.55rem}.sub-toggle.on{background:#1a7a5ceb;border-color:#7dffc38c}.sub-toggle-cc{letter-spacing:.04em}.sub-toggle-mode{opacity:.9;border-left:1px solid #ffffff59;padding-left:.35rem;font-size:.68rem}.sub-toggle:hover{background:#1a7a5cf2}.sub-toggle.muted{opacity:.55;pointer-events:none}.commands{flex-wrap:wrap;gap:.5rem;margin:.9rem 0 .2rem;display:flex}.chip{background:var(--seed-soft);color:var(--seed-deep);border-radius:.9rem;padding:.45rem .8rem;font-size:.95rem;font-weight:800}.flash-stage{justify-items:center;gap:.9rem;display:grid}.flash-card{aspect-ratio:1;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:1.5rem;place-items:center;width:min(100%,360px);padding:1rem;transition:transform .2s;display:grid;position:relative;box-shadow:0 10px 28px #0f52401a}.flash-card:active{transform:scale(.98)}.flash-card img{object-fit:contain;max-height:72%}.flash-card .label{font-family:var(--font-display);color:var(--ink);font-size:1.35rem;font-weight:700;position:absolute;top:.9rem;left:1rem}.flash-nav{gap:.6rem;width:min(100%,360px);display:flex}.flash-nav .btn{flex:1}.quiz-grid{grid-template-columns:1fr 1fr;gap:.7rem;width:100%;display:grid}.quiz-option{background:#fff;border:3px solid #0000;border-radius:1.2rem;padding:.5rem;transition:border-color .15s,transform .15s;overflow:hidden}.quiz-option img{aspect-ratio:1;object-fit:contain;width:100%}.quiz-option.correct{border-color:var(--seed);transform:scale(1.02)}.quiz-option.wrong{opacity:.7;border-color:#e07a7a}.letter-stage{justify-items:center;gap:1rem;display:grid}.letter-card{aspect-ratio:3/4;border:1px solid var(--line);background:#fff;border-radius:1.4rem;width:min(100%,280px);overflow:hidden;box-shadow:0 10px 28px #0f52401a}.letter-card img{object-fit:contain;width:100%;height:100%}.airwrite{aspect-ratio:1;touch-action:none;cursor:crosshair;background:linear-gradient(#0000 66%,#7ec8e38c 66% 68%,#0000 68%),#ffffffe6;border:2px dashed #1a7a5c59;border-radius:1.3rem;width:min(100%,320px)}.sound-badge{font-family:var(--font-display);color:var(--seed-deep);font-size:1.6rem}.done-panel{text-align:center;padding:2rem 1.2rem}.done-panel h2{font-family:var(--font-display);margin:.4rem 0;font-size:clamp(2rem,6vw,2.8rem)}.stamp{background:linear-gradient(145deg,#ffe0b8,#ffb56b);border-radius:50%;place-items:center;width:5.5rem;height:5.5rem;margin:.6rem auto 1rem;font-size:2.4rem;animation:.55s cubic-bezier(.2,1.4,.4,1) both pop;display:grid;box-shadow:0 12px 28px #e76f3c47}.calendar{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.calendar .dow{text-align:center;color:var(--ink-soft);padding:.25rem 0;font-size:.72rem;font-weight:800}.calendar .day{aspect-ratio:1;color:var(--ink-soft);background:#ffffffa6;border-radius:.85rem;place-items:center;font-size:.9rem;font-weight:800;display:grid}.calendar .day.stamped{background:linear-gradient(145deg, #3ecf98, var(--seed));color:#fff;box-shadow:0 6px 14px #1a7a5c40}.calendar .day.today{outline:2px solid var(--sun);outline-offset:1px}.calendar .day.empty{background:0 0}.library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.lib-item{text-align:center;cursor:pointer;background:#fffc;border:1px solid #ffffffe6;border-radius:1.15rem;padding:.65rem;transition:transform .15s}.lib-item:hover{transform:translateY(-2px)}.lib-item img{aspect-ratio:1;object-fit:contain;width:100%}.lib-item span{margin-top:.35rem;font-size:.95rem;font-weight:800;display:block}.lib-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.85rem;margin-bottom:.85rem;display:flex}.lib-view-switch{background:#ffffffbf;border:1.5px solid #1a7a5c26;border-radius:999px;gap:.25rem;padding:.22rem;display:inline-flex}.lib-view-btn{min-height:2.15rem;color:var(--ink-soft);border-radius:999px;padding:.3rem .9rem;font-size:.88rem;font-weight:800}.lib-view-btn.active{color:#fff;background:linear-gradient(180deg, #249b74, var(--seed-deep));box-shadow:0 4px 10px #0f52402e}.lib-app{width:min(980px,100%);min-height:100dvh;padding:.75rem .85rem 1.1rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-bottom:max(1.1rem, env(safe-area-inset-bottom));box-sizing:border-box;grid-template-rows:auto 1fr auto auto;gap:.65rem;margin:0 auto;display:grid}.lib-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;display:grid}.lib-top-grid{margin-bottom:.35rem}.lib-top-title{text-align:center;min-width:0;display:grid}.lib-top-title strong{font-family:var(--font-display);color:var(--seed-deep);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.15rem,3.5vw,1.45rem);line-height:1.15;overflow:hidden}.lib-top-title span{color:var(--ink-soft);font-size:.8rem;font-weight:700}.lib-top-actions{align-items:center;gap:.35rem;display:flex}.lib-unit-menu{position:relative}.lib-unit-pop{z-index:20;background:#fffffff5;border:1.5px solid #1a7a5c2e;border-radius:.95rem;min-width:7.5rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 12px 28px #0f524029}.lib-unit-pop button{text-align:left;color:var(--seed-deep);border-radius:.7rem;padding:.55rem .75rem;font-weight:800}.lib-unit-pop button.active,.lib-unit-pop button:hover{background:var(--seed-soft)}.lib-focus{gap:.9rem;display:grid}.lib-focus-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;min-height:0;display:grid}.lib-app .lib-focus-stage{min-height:min(58dvh,28rem)}.lib-focus-card{text-align:center;width:100%;max-width:26rem;height:100%;color:inherit;background:linear-gradient(165deg,#fffffff7 0%,#e8f6f1eb 100%);border:2.5px solid #fffffffa;border-radius:1.75rem;align-content:center;justify-items:center;gap:.75rem;margin:0 auto;padding:1.15rem 1.1rem 1.25rem;display:grid;box-shadow:0 16px 36px #0f524024}.lib-focus-card img{aspect-ratio:1;object-fit:contain;background:#ffffffbf;border-radius:1.35rem;width:min(100%,18rem);max-height:min(42dvh,18rem)}.lib-focus-card strong{font-family:var(--font-display);color:var(--seed-deep);font-size:clamp(1.75rem,6vw,2.45rem);line-height:1.08}.lib-focus-count{color:var(--ink-soft);background:#1a7a5c1a;border-radius:999px;padding:.18rem .6rem;font-size:.82rem;font-weight:800}.lib-nav{width:2.75rem;height:2.75rem;color:var(--seed-deep);background:#ffffffe0;border:2px solid #1a7a5c2e;border-radius:50%;place-items:center;font-size:1.55rem;font-weight:800;display:grid;box-shadow:0 6px 14px #0f52401a}.lib-nav:disabled{opacity:.35;cursor:not-allowed}.lib-nav:not(:disabled):hover{background:var(--seed-soft);transform:scale(1.05)}.lib-rail{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:thin;gap:.55rem;padding:.25rem .1rem .45rem;display:flex;overflow-x:auto}.lib-hint{text-align:center;color:var(--ink-soft);margin:0;font-size:.82rem;font-weight:700}.lib-rail-item{scroll-snap-align:center;width:5.6rem;color:inherit;background:#ffffffc7;border:2px solid #1a7a5c1f;border-radius:1.05rem;flex:none;justify-items:center;gap:.28rem;padding:.45rem .4rem .5rem;display:grid}.lib-rail-item img{object-fit:contain;background:#ffffffd9;border-radius:.75rem;width:3.6rem;height:3.6rem}.lib-rail-item span{color:var(--ink-soft);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:800;line-height:1.15;overflow:hidden}.lib-rail-item.active{border-color:var(--seed);background:linear-gradient(160deg,#d8f3e8fa,#fffffff2);transform:translateY(-2px);box-shadow:0 8px 16px #0f52401f}.lib-rail-item.active span{color:var(--seed-deep)}@media (width<=560px){.lib-app{gap:.5rem;padding:.55rem .55rem .9rem}.lib-focus-stage{gap:.2rem}.lib-app .lib-focus-stage{min-height:min(54dvh,24rem)}.lib-nav{width:2.35rem;height:2.35rem;font-size:1.3rem}.lib-focus-card{border-radius:1.4rem;padding:.85rem .7rem 1rem}.lib-focus-card img{max-height:min(38dvh,15rem)}.lib-rail-item{width:5.1rem}.lib-top-actions .btn{padding-left:.7rem;padding-right:.7rem}}.section-title{font-family:var(--font-display);margin:1.4rem 0 .7rem;font-size:1.6rem}.parent-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.parent-list li{color:var(--ink-soft);background:#ffffffc7;border:1px solid #ffffffe6;border-radius:1.1rem;padding:.9rem 1rem;font-weight:600}.phrase-row{flex-wrap:wrap;gap:.5rem;display:flex}.footer-note{color:var(--ink-soft);text-align:center;margin-top:2rem;font-size:.8rem}.speak-stage{width:100%}.speak-card{position:relative;overflow:hidden}.speak-card.listening{box-shadow:0 0 0 4px #e76f3c59,0 10px 28px #0f52401a}.speak-card.matched{box-shadow:0 0 0 4px #1a7a5c59,0 10px 28px #0f52401a}.mic-pulse{pointer-events:none;border:3px solid #e76f3c8c;border-radius:50%;animation:1.1s ease-out infinite micRing;position:absolute;inset:18%}.speak-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;width:min(100%,360px);display:flex}.speak-actions .btn{flex:140px}.mic-btn.is-listening{background:linear-gradient(#ff8f5a,#c94a2a);animation:.9s ease-in-out infinite alternate micGlow}.speak-result{text-align:center;gap:.25rem;animation:.45s cubic-bezier(.2,1.4,.4,1) both pop;display:grid}.speak-result strong{font-family:var(--font-display);color:var(--seed-deep);font-size:1.35rem}.speak-result .heard{color:var(--ink-soft);font-size:.88rem;font-weight:700}.stars{justify-content:center;gap:.25rem;font-size:1.85rem;line-height:1;display:flex}.stars span{color:#1c2b282e}.stars span.on{color:#f0a202;text-shadow:0 2px #c8780033}.speak-error{color:#8a3030;text-align:center;background:#e07a7a26;border-radius:.9rem;max-width:360px;margin:0;padding:.65rem .85rem;font-size:.92rem;font-weight:700}.speak-banner{color:var(--ink-soft);background:#f4a2612e;border-radius:1rem;margin:0 0 .9rem;padding:.75rem .9rem;font-size:.92rem;font-weight:600}@keyframes micRing{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}@keyframes micGlow{0%{filter:brightness()}to{filter:brightness(1.08)}}.unit-switch{flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;display:flex}.unit-pill{min-height:2.6rem;color:var(--seed-deep);background:#ffffffbf;border:1.5px solid #1a7a5c2e;border-radius:1rem;padding:.45rem 1.05rem;font-weight:800;transition:background .15s,color .15s,transform .15s}.unit-pill:hover{transform:translateY(-1px)}.unit-pill.active{background:linear-gradient(180deg, #249b74, var(--seed-deep));color:#fff;border-color:#0000;box-shadow:0 8px 18px #1a7a5c40}.unit-switch-fun{gap:.55rem;margin-top:1rem}.unit-switch-fun .unit-pill{background:#ffffffd1;border-width:2px;border-radius:999px;align-items:center;gap:.45rem;min-height:2.85rem;padding:.4rem .95rem .4rem .45rem;display:inline-flex;box-shadow:0 6px 14px #0f524012}.unit-switch-fun .unit-pill-badge{width:1.85rem;height:1.85rem;font-family:var(--font-display);color:var(--seed-deep);background:var(--seed-soft);border:1.5px solid #ffffffe6;border-radius:50%;place-items:center;font-size:.95rem;font-weight:800;display:grid}.unit-switch-fun .unit-pill-text{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.unit-switch-fun .unit-pill-u1{border-color:#1a7a5c38}.unit-switch-fun .unit-pill-u2{border-color:#5aaac866}.unit-switch-fun .unit-pill-u2 .unit-pill-badge{color:#1a4a5c;background:linear-gradient(160deg,#bfe8f5,#7ec8e3)}.unit-switch-fun .unit-pill-u3{border-color:#f4a26166}.unit-switch-fun .unit-pill-u3 .unit-pill-badge{color:#6b3210;background:linear-gradient(160deg,#ffd9a8,#f4a261)}.unit-switch-fun .unit-pill-u4{border-color:#78a05073}.unit-switch-fun .unit-pill-u4 .unit-pill-badge{color:#2f4a12;background:linear-gradient(160deg,#d4e8a8,#8fbc5a)}.unit-switch-fun .unit-pill.active{color:#fff;background:linear-gradient(180deg, #249b74, var(--seed-deep));border-color:#0000;transform:translateY(-1px);box-shadow:0 3px #08342847,0 10px 18px #0f524038}.unit-switch-fun .unit-pill-u2.active{background:linear-gradient(#5eb3d4,#2f7f9c);box-shadow:0 3px #14465a4d,0 10px 18px #2f7f9c40}.unit-switch-fun .unit-pill-u3.active{background:linear-gradient(180deg, #ffb56b, var(--sun-deep));color:#3b1d08;box-shadow:0 3px #8c371447,0 10px 18px #e76f3c40}.unit-switch-fun .unit-pill-u4.active{color:#1a2e08;background:linear-gradient(#9dcc5e,#5a8f2e);box-shadow:0 3px #3250144d,0 10px 18px #5a8f2e47}.unit-switch-fun .unit-pill.active .unit-pill-badge{color:inherit;background:#ffffff47;border-color:#ffffff73}.book-shelf{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:.5rem;display:grid}.book-cover{min-height:0;color:var(--ink);box-shadow:var(--shadow);background:#fffef9;border:1px solid #0f52401a;border-radius:1.4rem;grid-template-rows:auto 1fr;gap:0;padding:0;text-decoration:none;transition:transform .18s;display:grid;overflow:hidden}.book-cover:hover{transform:translateY(-3px)}.book-cover-media{aspect-ratio:3/3.4;background:#e8efe9;display:block;overflow:hidden}.book-cover-media img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.book-cover-meta{align-content:start;gap:.28rem;padding:.95rem 1.05rem 1.1rem;display:grid}.book-cover .book-unit{letter-spacing:.08em;text-transform:uppercase;color:var(--seed-deep);font-size:.72rem;font-weight:800}.book-cover.book-gs1 .book-unit{color:#9a2f3a}.book-cover.book-gs2 .book-unit{color:#2a5f9e}.book-cover.book-gs3 .book-unit{color:#1a7a5c}.book-cover.book-gs4 .book-unit{color:#5a8f2e}.book-cover strong{font-family:var(--font-display);color:var(--ink);font-size:1.28rem;line-height:1.15}.book-cover .book-sub,.book-cover em{color:#142823b8;font-size:.88rem;font-style:normal;font-weight:600;line-height:1.35}.lib-unit-cover .lib-unit-media{background:linear-gradient(160deg,#e8f6f1,#fff3e0);display:block;position:relative}.lib-unit-mosaic{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:.35rem;height:100%;min-height:9.5rem;padding:.75rem;display:grid}.lib-unit-mosaic img{object-fit:contain;background:#ffffffbf;border-radius:.75rem;width:100%;height:100%;min-height:4rem}.book-app{gap:.75rem;width:min(980px,100%);margin:0 auto;padding:.85rem .85rem 1.5rem;display:grid}.book-back{min-height:2.3rem;padding:.35rem .8rem}.book-toc-btn{min-height:2.3rem}.book-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;display:grid}.book-top-title{min-width:0;display:grid}.book-top-title strong{font-family:var(--font-display);color:var(--seed-deep);white-space:nowrap;text-overflow:ellipsis;font-size:1.15rem;overflow:hidden}.book-top-title span{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.spread-stage{-webkit-user-select:none;user-select:none;touch-action:pan-y;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;min-height:0;display:grid;position:relative}.page-stack{--stack-h:min(58vw, 420px);width:100%;height:var(--stack-h);perspective:1600px;transform-style:preserve-3d;filter:drop-shadow(0 18px 26px #14283c38);align-items:stretch;margin:.35rem auto;display:flex;position:relative}.page-stack.solo .page-layer.current{border-radius:12px}.page-layer{transform-origin:0;height:100%;transform-style:preserve-3d;will-change:width, transform, opacity;background:#fffef9;flex:none;position:relative;overflow:hidden}.page-layer.peek{z-index:1;border-radius:10px 0 0 10px;box-shadow:inset -10px 0 16px #00000014,4px 0 14px #0000001f}.page-layer.peek.deep{z-index:0;filter:brightness(.92);border-radius:8px 0 0 8px}.page-layer.current{z-index:3;background:#fff;border-radius:0 12px 12px 0;box-shadow:inset 14px 0 22px #0000000d,0 10px 28px #0000001f}.page-stack.solo .page-layer.current,.book-app.compact-reader .page-layer.current{border-radius:10px}.page-layer.incoming{z-index:2;background:#fff;border-radius:0 12px 12px 0}.page-clip{width:100%;height:100%;position:relative;overflow:hidden}.page-layer.peek .page-clip img{object-fit:cover;object-position:left center;pointer-events:none;width:666.667%;max-width:none;height:100%;display:block}.page-layer.current .sheet-img,.page-layer.incoming .sheet-img{object-fit:contain;pointer-events:none;background:#fff;width:100%;height:100%;display:block}.peek-shade{pointer-events:none;background:linear-gradient(90deg,#0000 40%,#0000002e);position:absolute;inset:0}.current-shade{pointer-events:none;background:linear-gradient(90deg,#00000012,#0000 18%);position:absolute;inset:0}.sheet-empty{width:100%;height:100%;color:var(--ink-soft);background:linear-gradient(160deg,#f7f1e8,#efe6d8);place-items:center;font-weight:800;display:grid}.flip-nav{width:2.6rem;height:2.6rem;color:var(--seed-deep);z-index:2;background:#ffffffd9;border:1.5px solid #1a7a5c26;border-radius:1rem;font-size:1.6rem;font-weight:800;line-height:1}.flip-nav:disabled{opacity:.35}.book-controls{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.book-section-hint{text-align:center;color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:600}.toc-overlay{z-index:40;background:#10282073;place-items:end center;padding:.75rem;display:grid;position:fixed;inset:0}.toc-panel{background:var(--paper);border-radius:1.4rem 1.4rem .8rem .8rem;width:min(560px,100%);max-height:min(78dvh,640px);padding:1rem;animation:.35s both rise;overflow:auto;box-shadow:0 -12px 40px #0003}.toc-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.toc-head h2{font-family:var(--font-display);margin:0;font-size:1.35rem}.toc-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.toc-list button{text-align:left;background:#fffc;border:1px solid #1a7a5c1a;border-radius:.95rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;width:100%;padding:.7rem .75rem;font-weight:700;display:grid}.toc-track{color:var(--sun-deep);font-size:.8rem;font-weight:800}.toc-name{color:var(--ink)}.toc-page{color:var(--ink-soft);font-size:.82rem}.toc-mute{color:#a05;grid-column:2/-1;font-size:.75rem}@media (width<=640px){.flip-nav{display:none}.book-app{width:100%;height:100svh;max-height:100dvh;padding:.25rem .3rem 0;padding-top:max(.25rem, env(safe-area-inset-top));box-sizing:border-box;flex-direction:column;gap:0;display:flex;position:relative;overflow:hidden}.book-top{flex:none;grid-template-columns:auto 1fr auto;gap:.3rem;padding:0 .1rem .25rem}.book-title-full{display:none}.book-top-title span{white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:unset;font-size:.72rem;line-height:1.2;display:block;overflow:hidden}.book-back,.book-toc-btn{min-height:1.95rem;padding:.22rem .55rem;font-size:.82rem}.spread-stage{flex:auto;grid-template-columns:1fr;align-items:stretch;min-height:0;display:flex;position:relative}.page-stack{--stack-h:auto;filter:drop-shadow(0 8px 14px #14283c29);flex:auto;width:100%;height:100%;min-height:0;margin:0}.page-layer.peek,.page-layer.peek.deep{display:none}.page-layer.current .sheet-img,.page-layer.incoming .sheet-img{object-fit:contain;background:#f4f0e8}.book-controls{z-index:6;width:100%;padding:1.6rem .35rem max(.45rem, env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(#0000 0%,#fffaf3e0 42%,#fffaf3f5 100%);flex:none;grid-template-columns:auto 1.4fr auto auto;gap:.35rem;margin:0;display:grid;position:absolute;bottom:0;left:0;right:0}.book-controls .btn{min-height:2.35rem;padding:.32rem .45rem;font-size:.88rem}.book-flip-btn{min-width:2.5rem;padding-inline:.3rem}.book-listen-btn{width:100%}.book-auto-btn{white-space:nowrap}.book-section-hint{display:none}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes bob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-5px)rotate(3deg)}}@keyframes pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes pulseFill{0%{opacity:.65}to{opacity:1}}.video-coverage{color:var(--seed-deep);margin:0 0 .75rem;font-size:.92rem;font-weight:800}.vid-unit-mosaic{position:relative}.vid-mosaic-thumb,.vid-mosaic-tile,.vid-thumb-fallback{background:#ffffffb8;border-radius:.75rem;place-items:center;width:100%;height:100%;min-height:4rem;display:grid;overflow:hidden}.vid-mosaic-thumb{object-fit:cover;object-position:center}.vid-thumb-fallback{font-size:clamp(1.6rem,5vw,2.2rem)}.vid-unit-play{color:#fff;text-shadow:0 4px 16px #00000059;pointer-events:none;background:radial-gradient(circle,#0f524047,#0000 62%);place-items:center;font-size:2.4rem;display:grid;position:absolute;inset:0}.vid-type-song{background:linear-gradient(145deg,#ffe8c8,#ffd39a)}.vid-type-story{background:linear-gradient(145deg,#dce9ff,#b7cef8)}.vid-type-action{background:linear-gradient(145deg,#dff7e8,#b6e8c9)}.vid-type-phonics{background:linear-gradient(145deg,#f3e4ff,#d9c0f5)}.vid-type-lineman{background:linear-gradient(145deg,#ffe4e8,#f5bdc8)}.vid-type-flashcard{background:linear-gradient(145deg,#fff3c4,#f0d978)}.vid-app{gap:.5rem;width:min(1180px,100%);padding-left:.55rem;padding-right:.55rem}.vid-app .lib-focus-stage{align-items:stretch;gap:.35rem;min-height:min(72dvh,40rem)}.vid-app .lib-nav{align-self:center}.vid-focus-card{background:linear-gradient(165deg,#fffffff7 0%,#e8f6f1eb 100%);border:2.5px solid #fffffffa;border-radius:1.5rem;grid-template-rows:minmax(0,1fr) auto auto;gap:.45rem;width:100%;max-width:none;height:100%;margin:0;padding:.55rem .55rem .7rem;display:grid;box-shadow:0 16px 36px #0f524024}.vid-focus-frame{aspect-ratio:auto;background:#0c3d2a;border-radius:1.1rem;height:100%;min-height:min(58dvh,34rem);overflow:hidden}.vid-focus-frame .media-frame,.vid-focus-frame video{object-fit:contain;background:#0c3d2a;width:100%;height:100%;display:block}.vid-focus-frame .sub-video{width:100%;height:100%;min-height:min(58dvh,34rem);position:relative}.vid-focus-frame .sub-video video{object-fit:contain;width:100%;height:100%;min-height:min(58dvh,34rem)}.vid-focus-meta{text-align:center;justify-items:center;gap:.12rem;display:grid}.vid-focus-type{color:var(--seed-deep);border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-size:.72rem;font-weight:800;display:inline-flex}.vid-focus-meta strong{font-family:var(--font-display);color:var(--seed-deep);font-size:clamp(1.05rem,3vw,1.4rem);line-height:1.15}.vid-focus-meta em{color:var(--ink-soft);font-size:.76rem;font-style:normal;font-weight:700}.vid-focus-actions{justify-content:center;display:flex}.vid-focus-actions .btn{min-height:2.35rem;padding:.4rem 1.1rem}.vid-item{justify-items:center;gap:.28rem;min-height:9.5rem;display:grid}.vid-item.watched{background:linear-gradient(165deg,#d8f3e8f2,#ffffffe6);border-color:#1a7a5c59}.vid-item-icon{border-radius:1rem;place-items:center;width:3.6rem;height:3.6rem;font-size:1.55rem;display:grid}.vid-item-thumb{aspect-ratio:16/10;object-fit:cover;background:#0c3d2a1f;border-radius:.85rem;width:100%}.vid-item-thumb.vid-thumb-fallback{aspect-ratio:16/10;font-size:1.55rem}.vid-item-type{letter-spacing:.04em;text-transform:uppercase;color:var(--seed);font-size:.68rem;font-weight:800}.vid-item-meta{color:var(--ink-soft);font-size:.72rem;font-style:normal;font-weight:700}.vid-rail-item{width:6.4rem}.vid-rail-icon{border-radius:.85rem;place-items:center;width:3.2rem;height:3.2rem;font-size:1.35rem;display:grid}.vid-rail-thumb{object-fit:cover;background:#0c3d2a1f;border-radius:.7rem;width:4.6rem;height:3.05rem}.vid-rail-thumb.vid-thumb-fallback{width:4.6rem;height:3.05rem;font-size:1.2rem}.vid-rail-item.watched:not(.active){border-color:#1a7a5c47}@media (width<=560px){.vid-app .lib-focus-stage{min-height:min(64dvh,30rem)}.vid-focus-card{border-radius:1.2rem;padding:.4rem .4rem .55rem}.vid-focus-frame,.vid-focus-frame .sub-video,.vid-focus-frame .sub-video video{min-height:min(48dvh,22rem)}.vid-rail-item{width:5.8rem}}.video-suggest{background:linear-gradient(135deg,#1a7a5c1a,#7ec8e338);border:1px solid #1a7a5c1f;border-radius:20px;margin:.5rem 0 1rem;padding:.9rem 1rem}.video-suggest-title{font-family:var(--font-display);color:var(--seed-deep);margin:0 0 .55rem;font-size:1.15rem}.video-suggest-row{flex-wrap:wrap;gap:.5rem;display:flex}.video-chip{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fffaf3e6;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .85rem;font-weight:700;transition:transform .15s,border-color .15s;display:inline-flex}.video-chip:hover{border-color:var(--seed);transform:translateY(-1px)}.video-chip-type{text-transform:uppercase;letter-spacing:.04em;color:var(--seed);font-size:.72rem;font-weight:800}.video-filters{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 1rem;display:flex}.filter-pill{color:var(--ink-soft);border:1px solid var(--line);background:#ffffff8c;border-radius:999px;padding:.35rem .85rem;font-size:.88rem;font-weight:800}.filter-pill.active{color:#fff;background:var(--seed);border-color:var(--seed)}.video-player-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffaf3d9;border-radius:22px;margin-bottom:1.1rem;padding:.85rem}.video-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.video-card{text-align:left;border:1px solid var(--line);background:#ffffffa6;border-radius:18px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem .9rem;transition:border-color .15s,transform .15s,background .15s;display:flex}.video-card:hover{border-color:#1a7a5c59;transform:translateY(-2px)}.video-card.watched{background:#d8f3e8bf;border-color:#1a7a5c47}.video-card.playing{border-color:var(--seed);box-shadow:0 0 0 2px #1a7a5c33}.video-card-type{text-transform:uppercase;letter-spacing:.04em;color:var(--sun-deep);font-size:.7rem;font-weight:800}.video-card-title{color:var(--ink);font-size:.98rem;font-weight:800;line-height:1.25}.video-card-meta{color:var(--ink-soft);font-size:.8rem;font-weight:700}.quiz-intro .quiz-breakdown{color:var(--ink-soft);margin:.75rem 0 0;padding-left:1.2rem;font-weight:700;line-height:1.55}.quiz-best{color:var(--seed-deep);margin:.85rem 0 0;font-weight:700}.quiz-progress{gap:.35rem;display:grid}.quiz-progress-meta{color:var(--seed-deep);justify-content:space-between;font-size:.92rem;font-weight:800;display:flex}.quiz-progress-bar{background:#1a7a5c1f;border-radius:999px;height:.55rem;overflow:hidden}.quiz-progress-bar i{background:linear-gradient(90deg, var(--seed), #3cb88a);border-radius:inherit;height:100%;transition:width .25s;display:block}.quiz-prompt{text-align:center;font-size:clamp(1.4rem,4vw,1.85rem)}.quiz-sound-grid{grid-template-columns:1fr 1fr;gap:.65rem;width:min(100%,360px);display:grid}.quiz-sound{min-height:3.2rem;color:var(--ink);background:#ffffffe6;border:3px solid #0000;border-radius:1rem;font-size:1.25rem;font-weight:800;box-shadow:0 4px 12px #0f524014}.quiz-sound.correct{border-color:var(--seed);background:var(--seed-soft)}.quiz-sound.wrong{opacity:.75;border-color:#e07a7a}.quiz-stars{letter-spacing:.15rem;color:var(--sun);margin-bottom:.35rem;font-size:2.4rem;line-height:1}.quiz-result h2{font-size:clamp(2rem,6vw,2.6rem)}.quiz-fx{z-index:50;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.quiz-fx-bubble{font-family:var(--font-display);color:#c45c3a;text-shadow:0 4px #ffffffb3;font-size:clamp(2.4rem,8vw,3.6rem);font-weight:800;animation:.55s both quizPop}.quiz-fx-bubble.yay{color:var(--seed-deep)}.quiz-sticker{z-index:2;background:#fffef8;border:3px solid #fffffff2;border-radius:1.35rem;place-items:center;width:clamp(5.5rem,18vw,7.5rem);height:clamp(5.5rem,18vw,7.5rem);animation:.55s cubic-bezier(.2,1.4,.4,1) both stickerPop;display:grid;position:relative;transform:rotate(-6deg);box-shadow:0 10px #0000000f,0 16px 28px #0f52402e}.quiz-sticker.correct{background:linear-gradient(160deg,#e8faf1,#fff8e8);border-color:#7ed0a8}.quiz-sticker.wrong{background:linear-gradient(160deg,#fff0ea,#fff8f0);border-color:#f0b4a4;animation-name:stickerWobble;transform:rotate(5deg)}.quiz-sticker-face{font-size:clamp(2.4rem,8vw,3.2rem);line-height:1}.quiz-sticker-badge{background:var(--sun);color:#fff;border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.95rem;font-weight:800;display:grid;position:absolute;top:-.45rem;right:-.45rem;box-shadow:0 3px #00000014}.quiz-sticker-deco{letter-spacing:.2em;color:#c45c3a;opacity:.7;font-size:.7rem;font-weight:800;position:absolute;bottom:.35rem}@keyframes stickerPop{0%{opacity:0;transform:rotate(-12deg)scale(.2)}70%{opacity:1;transform:rotate(-4deg)scale(1.12)}to{transform:rotate(-6deg)scale(1)}}@keyframes stickerWobble{0%{opacity:0;transform:rotate(8deg)scale(.25)}40%{opacity:1;transform:rotate(-8deg)scale(1.1)}70%{transform:rotate(6deg)scale(.98)}to{transform:rotate(5deg)scale(1)}}.quiz-fireworks{position:absolute;inset:0;overflow:hidden}.quiz-fireworks .spark{--dx:0;--dy:0;background:var(--sun);border-radius:50%;width:10px;height:10px;animation:1.05s ease-out both sparkFly;position:absolute;top:42%;left:50%;box-shadow:0 0 8px #f4a261cc}.quiz-fireworks .spark.s1{background:#1a7a5c;box-shadow:0 0 8px #1a7a5cb3}.quiz-fireworks .spark.s2{background:#7ec8e3;box-shadow:0 0 8px #7ec8e3cc}.quiz-fireworks .spark.s3{background:#e76f3c}.quiz-fireworks .spark.s4{background:#f4d35e}.quiz-fireworks .spark.s5{background:#9b59b6;box-shadow:0 0 8px #9b59b699}@keyframes sparkFly{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.2);opacity:0}}@keyframes quizPop{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.quiz-shake{animation:.45s quizShake}@keyframes quizShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.step-card.quiz-glow{box-shadow:0 0 0 3px #1a7a5c59, var(--shadow)}@media (width<=560px){.stats{grid-template-columns:repeat(3,1fr)}.stat strong{font-size:1.35rem}.stats-compact .stat{text-align:center;flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .35rem}.stats-compact .stat-copy{justify-items:center}.stats-compact .stat strong{font-size:1.1rem}.stats-compact .stat span{font-size:.68rem}.stat-chip .stat-emoji{width:2.2rem;height:2.2rem;font-size:1.1rem}.roadmap-grid{grid-template-columns:1fr}.unit-roadmap-compact .roadmap-grid{grid-template-columns:repeat(2,1fr)}.nav-card{grid-template-columns:auto 1fr}.nav-arrow,.nav-go{display:none}}.pin-lock{min-height:100svh;padding:1.5rem 1rem 2rem;padding-top:max(1.5rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(2rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));color:#fff;background:radial-gradient(80% 50% at 50% -10%,#7ec8e373,#0000),linear-gradient(165deg,#0f5240 0%,#1a7a5c 42%,#0c3d2a 100%);grid-template-rows:1fr auto;place-items:center;display:grid;position:relative;overflow:hidden}.pin-lock-glow{pointer-events:none;background:radial-gradient(circle,#f4a26140,#0000 70%);height:40%;position:absolute;inset:auto -20% 10%}.pin-lock-back{z-index:2;color:#fff;font:inherit;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;padding:.55rem .9rem;font-weight:700;position:absolute;top:1rem;left:1rem}.pin-lock-hero{text-align:center;z-index:1;justify-items:center;gap:.55rem;display:grid}.pin-lock-hero h1{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:800}.pin-lock-sub{opacity:.85;margin:0;font-weight:600}.pin-avatar{background:#ffffff2e;border:3px solid #ffffff73;border-radius:50%;place-items:center;width:5.5rem;height:5.5rem;font-size:2.2rem;font-weight:800;display:grid;overflow:hidden;box-shadow:0 12px 30px #0003}.pin-avatar.seed{font-size:2.6rem}.pin-dots{gap:1rem;margin-top:.6rem;display:flex}.pin-dots i{border:2px solid #ffffffb3;border-radius:50%;width:.85rem;height:.85rem;transition:background .12s;display:block}.pin-dots i.filled{background:#fff}.pin-dots.shake{animation:.45s pinShake}@keyframes pinShake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}.pin-hint{opacity:.7;margin:.25rem 0 0;font-size:.92rem}.pin-error{color:#ffd0c4;margin:.25rem 0 0;font-weight:700}.pin-pad{z-index:1;grid-template-columns:repeat(3,4.6rem);justify-content:center;gap:.85rem 1.1rem;margin-top:1rem;display:grid}.pin-key{color:#fff;width:4.6rem;height:4.6rem;font-family:var(--font-display);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff29;border:0;border-radius:50%;font-size:1.75rem;font-weight:700;transition:background .12s,transform 80ms}.pin-key:active{background:#ffffff4d;transform:scale(.94)}.pin-key.action{background:0 0;font-size:1.35rem}.pin-key.ghost{visibility:hidden;pointer-events:none}.child-picker{z-index:1;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));justify-items:center;gap:1.15rem 1rem;width:min(720px,100%);margin:.25rem auto 1.25rem;padding:0 .5rem;display:grid}.child-picker.child-bubbles{gap:1.6rem 1.25rem;padding:1.25rem .75rem 1.5rem}.pin-lock-picker{grid-template-rows:auto 1fr auto;align-content:start;padding-top:2rem;overflow-y:auto}.pin-picker-head{z-index:1;text-align:center;justify-items:center;gap:.4rem;margin-bottom:1.25rem;display:grid}.pin-picker-head h1{font-family:var(--font-display);margin:0;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:800}.pin-motto-type{max-width:min(40rem,94vw);min-height:2.7em;font-family:var(--font-display);color:#fff6e8;text-align:center;background:#ffffff1f;border:1px solid #ffe0a859;border-radius:1.1rem;margin:.35rem 0 0;padding:.45rem .95rem;font-size:clamp(.86rem,2.5vw,1.02rem);font-weight:800;line-height:1.4}.pin-motto-caret{color:#ffe0a8;margin-left:.1rem;animation:.9s step-end infinite mottoBlink;display:inline-block}@keyframes mottoBlink{0%,45%{opacity:1}50%,to{opacity:0}}.pin-leaderboard{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1.5px solid #ffffff38;border-radius:1.45rem;width:min(420px,100%);margin:.85rem auto 1.15rem;padding:.85rem .85rem .95rem;box-shadow:0 12px 28px #0000001f}.pin-leaderboard-head{text-align:center;color:#fff;justify-items:center;gap:.15rem;margin-bottom:.65rem;display:grid}.pin-leaderboard-cup{filter:drop-shadow(0 4px 8px #0003);font-size:1.55rem;line-height:1}.pin-leaderboard-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem;font-weight:800}.pin-leaderboard-head p{opacity:.85;margin:0;font-size:.82rem;font-weight:700}.pin-leaderboard-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.pin-rank-btn{color:#fff;text-align:left;background:#ffffff1f;border:1px solid #ffffff29;border-radius:1rem;grid-template-columns:2rem auto 1fr;align-items:center;gap:.55rem;width:100%;padding:.45rem .55rem;transition:transform .15s,background .15s;display:grid}.pin-rank-btn:hover{background:#fff3;transform:translateY(-1px)}.pin-rank-1 .pin-rank-btn{background:linear-gradient(135deg,#ffd6786b,#ffffff24);border-color:#ffd6788c}.pin-rank-2 .pin-rank-btn{background:linear-gradient(135deg,#d2dceb59,#ffffff1f)}.pin-rank-3 .pin-rank-btn{background:linear-gradient(135deg,#e6aa7852,#ffffff1f)}.pin-rank-place{text-align:center;font-size:1.25rem;line-height:1}.pin-rank-av{width:2.35rem;height:2.35rem;font-family:var(--font-display);border:2px solid #ffffff8c;border-radius:50%;place-items:center;font-size:1rem;font-weight:800;display:grid;overflow:hidden}.pin-rank-av.has-photo{background:#fff3}.pin-rank-av img{object-fit:cover;width:100%;height:100%}.pin-rank-meta{gap:.12rem;min-width:0;display:grid}.pin-rank-meta strong{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:800;overflow:hidden}.pin-rank-badge{color:#3b1d08;background:linear-gradient(#ffe0a8,#f4a261);border:1px solid #ffffff73;border-radius:999px;align-items:center;gap:.28rem;width:fit-content;max-width:100%;padding:.12rem .5rem;font-size:.72rem;font-weight:800;line-height:1.2;display:inline-flex}.pin-rank-meta em{opacity:.92;font-size:.82rem;font-style:normal;font-weight:800}.pin-rank-badges{flex-wrap:wrap;gap:.2rem;margin-top:.1rem;display:flex}.pin-mini-badge{opacity:.28;filter:grayscale();background:#ffffff1a;border:1px solid #ffffff24;border-radius:.4rem;place-items:center;width:1.35rem;height:1.35rem;font-size:.78rem;line-height:1;display:grid}.pin-mini-badge.on{opacity:1;filter:none;background:#ffffff38;border-color:#ffd6788c;box-shadow:0 2px 6px #0000001f}.child-card-coins{opacity:.9;font-size:.78rem;font-weight:800}.child-card-badge{color:#3b1d08;background:linear-gradient(#ffe0a8,#f4a261);border-radius:999px;align-items:center;gap:.2rem;padding:.12rem .45rem;font-size:.68rem;font-weight:800;display:inline-flex}.child-card{color:#fff;cursor:pointer;width:100%;max-width:10.5rem;font:inherit;background:#ffffff1f;border:0;border-radius:1.5rem;justify-items:center;gap:.55rem;padding:1rem .65rem 1.1rem;transition:background .15s;display:grid;position:relative}.child-card.child-bubble{animation:bubbleFloat var(--bubble-dur,4s) ease-in-out infinite;animation-delay:var(--bubble-delay,0s);will-change:transform;background:0 0;border-radius:2rem}.child-card.child-bubble.b2{animation-name:bubbleFloatAlt}.child-card.child-bubble.b3{animation-name:bubbleFloatDrift}.child-card.child-bubble.b4{animation-name:bubbleFloatSoft}.child-bubble-shine{opacity:.55;pointer-events:none;z-index:3;filter:blur(.5px);background:linear-gradient(#ffffff8c,#0000);border-radius:999px;width:3.2rem;height:1.4rem;margin-left:-1.6rem;position:absolute;top:.35rem;left:50%}.child-card:hover,.child-card:focus-visible{background:#ffffff1f;outline:none}.child-card.child-bubble:hover,.child-card.child-bubble:focus-visible{background:0 0;animation-play-state:paused;transform:translateY(-6px)scale(1.06)}.child-card.child-bubble:hover .child-card-av,.child-card.child-bubble:focus-visible .child-card-av{box-shadow:0 16px 32px #00000047,inset 0 -6px 12px #00000014,0 0 0 4px #ffffff59}.child-card:active{transform:scale(.96)}.child-card-av{width:5.75rem;height:5.75rem;font-family:var(--font-display);letter-spacing:-.02em;z-index:1;border:4px solid #ffffffd9;border-radius:50%;place-items:center;font-size:2.15rem;font-weight:800;display:grid;position:relative;box-shadow:0 10px 24px #00000038,inset 0 -6px 12px #00000014,inset 0 10px 18px #ffffff59}@keyframes bubbleFloat{0%,to{transform:translate(0,0)rotate(-1.5deg)}25%{transform:translate3d(var(--bubble-x,8px), -14px, 0) rotate(1deg)}50%{transform:translate3d(calc(var(--bubble-x,8px) * -.6), -6px, 0) rotate(-.5deg)}75%{transform:translate3d(calc(var(--bubble-x,8px) * .4), -18px, 0) rotate(1.5deg)}}@keyframes bubbleFloatAlt{0%,to{transform:translateY(-4px)rotate(1deg)}33%{transform:translate(-12px,-16px)rotate(-2deg)}66%{transform:translate(10px,-8px)rotate(2deg)}}@keyframes bubbleFloatDrift{0%,to{transform:translate(4px)scale(1)}40%{transform:translate(-8px,-20px)scale(1.03)}70%{transform:translate(12px,-10px)scale(.98)}}@keyframes bubbleFloatSoft{0%,to{transform:translateY(-2px)rotate(0)}50%{transform:translate(6px,-22px)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.child-card.child-bubble{animation:none}}.child-card-name{text-align:center;text-wrap:balance;font-size:1.12rem;font-weight:800;line-height:1.2}.child-card-parent{opacity:.78;text-align:center;font-size:.82rem;font-weight:600;line-height:1.2}.child-chip{display:none}.pin-admin-link{z-index:1;opacity:.75;margin:0}.pin-admin-link a{color:#fff;font-weight:700}.brand-mark-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.brand-child{color:var(--seed-deep);font-size:.95rem;font-weight:800}.coin-pill{color:#8a4b12;background:#fff4d6;border:1px solid #f4a26173;border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .65rem;font-size:.9rem;font-weight:800;display:inline-flex}.brand-logout{font-size:.85rem;min-height:2rem!important;padding:.25rem .7rem!important}.coin-badge{filter:drop-shadow(0 2px 4px #0003);z-index:2;font-size:1.35rem;position:absolute;top:.55rem;right:.55rem}.admin-form{gap:.75rem;display:grid}.admin-form label{gap:.3rem;font-weight:700;display:grid}.admin-form input{font:inherit;border:1px solid var(--line);background:#fff;border-radius:.85rem;padding:.65rem .8rem}.admin-card h3{margin-top:0}.admin-table{gap:.65rem;display:grid}.admin-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr auto auto auto;align-items:center;gap:.5rem;padding:.65rem 0;display:grid}.admin-row.off{opacity:.55}.admin-row strong{display:block}.admin-row span{color:var(--ink-soft);font-size:.88rem}.admin-coins{font-weight:800}.admin-rewards{gap:.35rem;margin:0;padding-left:1.1rem;font-size:.9rem;display:grid}@media (width<=640px){.admin-row{grid-template-columns:1fr}.pin-pad{grid-template-columns:repeat(3,4.2rem);gap:.75rem}.pin-key{width:4.2rem;height:4.2rem}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.btn,.session-day,.unit-pill,.child-card,.pin-key,.quiz-option{touch-action:manipulation}@media (width<=640px){.app-shell{padding-top:max(.85rem, env(safe-area-inset-top));padding-right:max(.85rem, env(safe-area-inset-right));padding-bottom:max(1.75rem, env(safe-area-inset-bottom));padding-left:max(.85rem, env(safe-area-inset-left))}.brand-name{font-size:clamp(1.65rem,8vw,2.2rem)}.brand-tag{max-width:100%;font-size:.92rem}.brand-mark-row{gap:.4rem;max-width:100%}.brand-child{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;overflow:hidden}.hero{margin-top:.9rem}.hero-today{border-radius:1.25rem;grid-template-columns:1fr}.hero-today-media{order:-1;max-height:10.5rem}.hero-today-media video,.hero-today-fallback{min-height:10.5rem;max-height:10.5rem}.hero-today-media-fade{background:linear-gradient(#0000 35%,#0c4637bf)}.hero-today-copy{padding:1rem 1.05rem 1.15rem}.hero-today h1{max-width:none;font-size:clamp(1.55rem,7vw,2rem)}.hero-lede{margin-bottom:.7rem;font-size:.92rem}.hero-meta{margin-bottom:.85rem}.hero-panel{border-radius:1.35rem;padding:1.15rem 1rem 1.25rem}.btn{min-height:2.85rem;padding:.6rem 1.1rem}.btn-row{gap:.55rem}.btn-row .btn{flex:auto;min-width:min(100%,9.5rem)}.unit-switch{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:.45rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.unit-switch::-webkit-scrollbar{display:none}.unit-pill{white-space:nowrap;flex:none}.session-days{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:.35rem;overflow-x:auto}.session-day{flex:none;width:2.55rem;height:2.55rem}.session-picker-top{flex-direction:column;align-items:flex-start;gap:.35rem}.topbar{flex-wrap:wrap;gap:.5rem}.step-card{border-radius:1.35rem;padding:1rem .95rem 1.15rem}.step-card h2{font-size:clamp(1.25rem,5.5vw,1.55rem)}.quiz-grid{gap:.5rem}.quiz-option{border-radius:1rem;padding:.35rem}.flash-card{width:min(100%,320px)}.book-shelf{grid-template-columns:1fr 1fr;gap:.75rem}.book-cover strong{font-size:1.05rem}.nav-links{gap:.65rem}.child-picker.child-bubbles{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .65rem;width:100%}.child-card{max-width:none}.child-card-av{width:5.1rem;height:5.1rem;font-size:1.85rem}.admin-form input{font-size:1rem}}@media (orientation:landscape) and (height<=500px){.pin-lock:not(.pin-lock-picker){padding-top:max(.5rem, env(safe-area-inset-top));padding-bottom:max(.6rem, env(safe-area-inset-bottom));grid-template-rows:1fr;grid-template-columns:1fr 1fr;align-items:center;column-gap:1rem;overflow:hidden}.pin-lock:not(.pin-lock-picker) .pin-lock-hero{gap:.35rem}.pin-lock:not(.pin-lock-picker) .pin-avatar{width:3.6rem;height:3.6rem;font-size:1.45rem}.pin-lock:not(.pin-lock-picker) .pin-lock-hero h1{font-size:1.35rem}.pin-lock:not(.pin-lock-picker) .pin-pad{grid-template-columns:repeat(3,3.35rem);gap:.45rem .7rem;margin-top:0}.pin-lock:not(.pin-lock-picker) .pin-key{width:3.35rem;height:3.35rem;font-size:1.35rem}.pin-lock-picker{padding-top:max(.6rem, env(safe-area-inset-top));padding-bottom:max(.6rem, env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;overflow-y:auto}.pin-picker-head{gap:.15rem;margin-bottom:.4rem}.pin-picker-head .pin-avatar{width:2.6rem;height:2.6rem;font-size:1.2rem}.pin-picker-head h1{font-size:1.25rem}.pin-picker-head .pin-lock-sub{display:none}.child-picker.child-bubbles{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-bottom:.4rem;padding:.25rem .35rem}.child-card{gap:.25rem;padding:.35rem .25rem .45rem}.child-card-av{border-width:3px;width:3.4rem;height:3.4rem;font-size:1.25rem}.child-card-name{font-size:.82rem}.child-card-parent,.child-bubble-shine{display:none}.app-shell{padding-top:max(.55rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom))}.session{gap:.55rem}.step-card{padding:.75rem .85rem .9rem}.step-card h2{margin:.15rem 0;font-size:1.2rem}.step-card .hint{margin-bottom:.45rem;font-size:.88rem}.flash-stage{gap:.5rem}.flash-card{aspect-ratio:1;width:min(42vh,220px);padding:.55rem}.quiz-grid{gap:.4rem;max-width:min(70vh,420px);margin-inline:auto}.media-frame{max-height:48vh}.media-frame video{object-fit:contain;max-height:48vh}.hero{margin-top:.6rem}.stats{grid-template-columns:repeat(4,1fr)}}@media (width>=641px) and (width<=1180px){.book-app.compact-reader{width:min(1180px,100%);height:100svh;max-height:100dvh;padding:.35rem .45rem 0;padding-top:max(.35rem, env(safe-area-inset-top));box-sizing:border-box;flex-direction:column;gap:0;display:flex;position:relative;overflow:hidden}.book-app.compact-reader .book-top{flex:none;gap:.4rem;padding:0 .15rem .3rem}.book-app.compact-reader .book-title-full{display:none}.book-app.compact-reader .book-top-title span{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.book-app.compact-reader .spread-stage{flex:auto;align-items:stretch;gap:.35rem;min-height:0;position:relative}.book-app.compact-reader .page-stack{--stack-h:auto;filter:drop-shadow(0 12px 20px #14283c29);flex:auto;width:100%;height:100%;min-height:0;margin:0}.book-app.compact-reader .page-layer.peek,.book-app.compact-reader .page-layer.peek.deep{display:none}.book-app.compact-reader .page-layer.current .sheet-img,.book-app.compact-reader .page-layer.incoming .sheet-img{object-fit:contain;background:#f4f0e8}.book-app.compact-reader .book-controls{z-index:6;padding:1.8rem .75rem max(.55rem, env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(#0000 0%,#fffaf3d9 40%,#fffaf3f5 100%);flex-wrap:wrap;flex:none;justify-content:center;gap:.45rem;margin:0;display:flex;position:absolute;bottom:0;left:0;right:0}.book-app.compact-reader .book-section-hint{display:none}.book-app.compact-reader .flip-nav{align-self:center;width:2.9rem;height:2.9rem}}@media (width>=641px) and (width<=1024px){.app-shell{width:min(960px,100%);padding-left:max(1.35rem, env(safe-area-inset-left));padding-right:max(1.35rem, env(safe-area-inset-right))}.book-shelf{grid-template-columns:repeat(3,1fr)}.child-picker.child-bubbles{grid-template-columns:repeat(4,minmax(0,1fr));width:min(820px,100%)}.quiz-grid{max-width:560px;margin-inline:auto}.session-days{gap:.45rem}.roadmap-grid{grid-template-columns:1fr 1fr}}@media (width>=641px) and (width<=1180px) and (orientation:landscape){.app-shell{width:min(1100px,100%)}.pin-lock:not(.pin-lock-picker){padding-inline:max(2rem, env(safe-area-inset-left)) max(2rem, env(safe-area-inset-right));grid-template-rows:1fr;grid-template-columns:.9fr 1.1fr;column-gap:2rem}.pin-lock:not(.pin-lock-picker) .pin-pad{margin-top:0}.pin-lock-picker{padding-inline:max(2rem, env(safe-area-inset-left)) max(2rem, env(safe-area-inset-right))}.child-picker.child-bubbles{grid-template-columns:repeat(4,minmax(0,1fr));width:min(900px,100%)}.book-app.compact-reader .book-top{padding-bottom:.2rem}.book-app.compact-reader .book-controls{padding-top:1.2rem}.session{gap:.85rem}.nav-links{grid-template-columns:1fr 1fr}.nav-card-today.session-picker{grid-column:1/-1}}@media (width>=641px) and (width<=900px) and (orientation:portrait){.child-picker.child-bubbles{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,1fr)}}@media (width<=640px),(orientation:landscape) and (height<=500px){.child-card.child-bubble{animation-duration:calc(var(--bubble-dur,4s) * 1.15)}}.pin-avatar.has-photo,.child-card-av.has-photo,.brand-av.has-photo{padding:0;overflow:hidden}.pin-avatar.has-photo img,.child-card-av.has-photo img,.brand-av.has-photo img,.profile-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.brand-profile{color:inherit;align-items:center;gap:.45rem;min-width:0;text-decoration:none;display:inline-flex}.brand-user-links{align-items:center;gap:.35rem;min-width:0;margin-left:.15rem;display:inline-flex}.brand-parent{color:var(--seed-deep);white-space:nowrap;background:#ffffff8c;border:1px solid #1a7a5c33;border-radius:.75rem;flex:none;padding:.28rem .65rem;font-size:.78rem;font-weight:800;text-decoration:none}.brand-parent:hover{background:#ffffffd9;border-color:#1a7a5c59}.brand-av{background:var(--seed-soft);width:2rem;height:2rem;color:var(--seed-deep);border:2px solid #1a7a5c40;border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid;overflow:hidden}.profile-hero{grid-template-columns:auto 1fr;align-items:center;gap:1.1rem;margin:.5rem 0 1.25rem;display:grid}.profile-avatar-btn{background:var(--seed-soft);width:7.5rem;height:7.5rem;box-shadow:var(--shadow);border:4px solid #1a7a5c59;border-radius:50%;padding:0;position:relative;overflow:hidden}.profile-avatar-fallback{width:100%;height:100%;font-family:var(--font-display);color:var(--seed-deep);place-items:center;font-size:2.6rem;font-weight:800;display:grid}.profile-avatar-edit{color:#fff;text-align:center;background:#0f5240d1;padding:.35rem .25rem;font-size:.72rem;font-weight:800;position:absolute;bottom:0;left:0;right:0}.profile-hero-text h1{font-family:var(--font-display);margin:0 0 .25rem;font-size:clamp(1.6rem,5vw,2.2rem)}.profile-hero-text p{color:var(--ink-soft);margin:0 0 .75rem;font-weight:600}.profile-hero-actions{flex-wrap:wrap;gap:.5rem;display:flex}.profile-stats{gap:.55rem;margin-bottom:1rem}.profile-stats+.profile-stats{margin-bottom:1.35rem}.profile-card.step-card{margin:0 0 1.35rem;padding:1.25rem 1.3rem 1.35rem}.profile-card h3{margin:0 0 .85rem;font-size:1.15rem}.profile-units{gap:.75rem;display:grid}.profile-unit-row{background:#e8f6f166;border:1px solid #1a7a5c1f;border-radius:.85rem;grid-template-columns:1fr auto auto;align-items:center;gap:.85rem 1rem;padding:.75rem .85rem;font-size:.92rem;font-weight:650;display:grid}.profile-unit-row:last-child{margin-bottom:0}.profile-unit-row strong{color:var(--seed-deep)}.profile-rewards{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.profile-rewards li{background:#ffffff73;border-radius:.7rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;font-size:.9rem;display:flex}.profile-rewards code{opacity:.75;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.profile-actions{margin-top:.25rem}@media (width<=640px){.profile-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-hero-actions{justify-content:center}.profile-card.step-card{margin-bottom:1.15rem;padding:1.1rem 1.05rem 1.2rem}.profile-unit-row{grid-template-columns:1fr;gap:.3rem;padding:.7rem .75rem}}@media (orientation:landscape) and (height<=500px){.profile-avatar-btn{width:5.2rem;height:5.2rem}.profile-hero{margin-bottom:.6rem}}.parent-hub .topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.parent-mode-btn.on{background:#f4a2612e;border-color:#f4a261a6;font-weight:800}.parent-hero{margin-bottom:1.35rem}.parent-lock-note{color:var(--ink-soft);margin:.55rem 0 0;font-size:.92rem;font-weight:600}button.linkish{color:var(--seed-deep);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:800;text-decoration:underline}.parent-alerts{gap:.75rem;margin-bottom:1.5rem;display:grid}.parent-alert{background:#ffffff8c;border:2px solid #1a7a5c2e;border-radius:1.1rem;gap:.35rem;padding:.95rem 1.1rem;display:grid}.parent-alert strong{font-size:.98rem}.parent-alert span{color:var(--ink-soft);font-size:.9rem;font-weight:600;line-height:1.45}.parent-alert.tone-warn{background:#f4a26129;border-color:#f4a2618c}.parent-alert.tone-ok{background:#7ec8e338;border-color:#1a7a5c59}.parent-alert.tone-info{border-color:#7ec8e373}.parent-hub .parent-card{margin:0 0 1.5rem;padding:1.35rem 1.4rem 1.45rem}.parent-hub .unit-switch{margin-top:.15rem;margin-bottom:.65rem}.parent-hub .unit-switch+.hint{margin-bottom:1.35rem}.parent-hub .section-title{margin-top:.5rem;margin-bottom:.75rem}.parent-hub .phrase-row{margin-bottom:1.25rem}.parent-hub .parent-list{margin-bottom:.5rem}.parent-card h2{margin:0 0 .55rem;font-size:1.3rem;line-height:1.25}.parent-card .hint{margin:0 0 .95rem;line-height:1.45}.parent-today-list{gap:.55rem;margin:.15rem 0 0;padding-left:1.2rem;font-weight:650;line-height:1.4;display:grid}.parent-today-list li.ok{color:var(--seed-deep)}.parent-card .btn-row{gap:.65rem;margin-top:1.15rem!important}.parent-week-stats{gap:.75rem;margin:.35rem 0 1.05rem}.parent-quiz-week{gap:.15rem;margin-bottom:.85rem;display:grid}.parent-quiz-row{border-bottom:1px dashed #1a7a5c2e;flex-wrap:wrap;justify-content:space-between;gap:.85rem;padding:.55rem 0;font-size:.92rem;font-weight:650;display:flex}.parent-quiz-row:last-child{border-bottom:none;padding-bottom:.15rem}.parent-scripts{gap:.7rem;margin:.2rem 0 0;padding-left:1.25rem;font-size:1.02rem;font-weight:700;line-height:1.4;display:grid}.parent-checklist{gap:.7rem;margin:.45rem 0 0;padding:0;list-style:none;display:grid}.parent-checklist label{cursor:pointer;align-items:flex-start;gap:.65rem;font-weight:650;line-height:1.4;display:flex}.parent-checklist input{width:1.15rem;height:1.15rem;accent-color:var(--seed-deep);margin-top:.25rem}.parent-check-count{color:var(--ink-soft);font-size:.85rem;font-weight:700}.chip-soft{background:#7ec8e347}.parent-speak-hist{gap:.5rem;margin:.55rem 0 .85rem;padding:0;list-style:none;display:grid}.parent-speak-hist li{background:#ffffff73;border-radius:.65rem;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;font-size:.9rem;font-weight:650;display:flex}.parent-cal-legend{color:var(--ink-soft);flex-wrap:wrap;gap:.85rem 1.25rem;margin:1.1rem 0 0;padding:0;font-size:.88rem;font-weight:650;list-style:none;display:flex}.parent-cal-legend .leg{vertical-align:-.1rem;border:2px solid #1a7a5c40;border-radius:.25rem;width:.85rem;height:.85rem;margin-right:.35rem;display:inline-block}.parent-cal-legend .leg.stamped{background:var(--seed);border-color:var(--seed-deep)}.parent-cal-legend .leg.today{box-shadow:0 0 0 2px #f4a261d9}.parent-cal-legend .leg.empty{background:#ffffff80}.parent-pin-wrap{min-height:100dvh}@media (width<=640px){.parent-hub .parent-card{margin-bottom:1.25rem;padding:1.15rem 1.1rem 1.25rem}.parent-quiz-row{flex-direction:column;gap:.2rem;padding:.6rem 0}.parent-hub .topbar{flex-wrap:wrap;gap:.45rem}}
