: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}.mic-btn.is-submit{animation:none}.speak-live{justify-items:center;gap:.45rem;width:min(100%,320px);display:grid}.speak-live-hint{text-align:center;color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:700;line-height:1.35}.speak-live-hint strong{color:var(--seed-deep)}.speak-level{background:#1a7a5c14;border:1px solid #1a7a5c24;border-radius:999px;justify-content:center;align-items:flex-end;gap:.28rem;height:3.1rem;padding:.35rem .7rem;display:flex}.speak-level i{opacity:.45;background:linear-gradient(#3ecf8e,#1a7a5c);border-radius:999px;width:.42rem;min-height:.35rem;transition:height 80ms linear,opacity .12s;display:block}.speak-level.is-live i{opacity:1;box-shadow:0 0 8px #3ecf8e59}.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}.speak-banner-tip{color:var(--seed-deep);background:#1a7a5c1a;font-size:.88rem}@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-u5{border-color:#e88c3c73}.unit-switch-fun .unit-pill-u5 .unit-pill-badge{color:#6b3210;background:linear-gradient(160deg,#ffd4a8,#f08a3c)}.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-u5.active{color:#3b1d08;background:linear-gradient(#ff9f4a,#e07020);box-shadow:0 3px #8c371447,0 10px 18px #e0702047}.unit-switch-fun .unit-pill-u6{border-color:#dc506473}.unit-switch-fun .unit-pill-u6 .unit-pill-badge{color:#5c1024;background:linear-gradient(160deg,pink,#e85a7a)}.unit-switch-fun .unit-pill-u6.active{color:#fff;background:linear-gradient(#f07890,#c43d5c);box-shadow:0 3px #641e2d4d,0 10px 18px #c43d5c47}.unit-switch-fun .unit-pill-u9{border-color:#8c5a3280}.unit-switch-fun .unit-pill-u9 .unit-pill-badge{color:#3d2410;background:linear-gradient(160deg,#d4a574,#8b5a2b)}.unit-switch-fun .unit-pill-u9.active{color:#fff;background:linear-gradient(#c49a6c,#7a4a28);box-shadow:0 3px #502d144d,0 10px 18px #7a4a2847}.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.book-gs5 .book-unit{color:#e07020}.book-cover.book-gs6 .book-unit{color:#c43d5c}.book-cover.book-gs9 .book-unit{color:#8b5a2b}.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-app.book-immersive{z-index:40;background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--seed) 18%, transparent), transparent 55%), linear-gradient(180deg, #eef6f1 0%, #f7f3ea 48%, #efe8dc 100%);flex-direction:column;gap:0;width:100%;max-width:none;height:100svh;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow:hidden}.book-app.book-immersive.book-fs{background:radial-gradient(100% 70% at 50% 0,#285a4659,#0000 60%),linear-gradient(#122018 0%,#1a2a22 45%,#101810 100%)}.book-app.book-immersive:fullscreen{background:radial-gradient(100% 70% at 50% 0,#285a4659,#0000 60%),linear-gradient(#122018 0%,#1a2a22 45%,#101810 100%)}html.book-reading:fullscreen .book-app.book-immersive{background:radial-gradient(100% 70% at 50% 0,#285a4659,#0000 60%),linear-gradient(#122018 0%,#1a2a22 45%,#101810 100%)}:is(.book-app.book-immersive.book-fs .book-top-title strong,.book-app.book-immersive:fullscreen .book-top-title strong){color:#d7f0e2}.book-rotate-gate{z-index:50;background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--sun) 28%, transparent), transparent 55%), color-mix(in srgb, var(--paper) 92%, var(--seed) 8%);place-items:center;padding:1.25rem;display:grid;position:absolute;inset:0}.book-rotate-card{text-align:center;justify-items:center;gap:.55rem;max-width:18rem;display:grid}.book-rotate-card strong{font-family:var(--font-display);color:var(--seed-deep);font-size:1.35rem}.book-rotate-card p{color:var(--ink-soft);margin:0;font-size:.95rem}.book-rotate-phone{border:3px solid var(--seed-deep);background:color-mix(in srgb, var(--paper) 80%, var(--seed) 20%);transform-origin:50%;border-radius:.65rem;width:3.2rem;height:5rem;margin-bottom:.35rem;animation:1.6s ease-in-out infinite bookRotateHint;position:relative}.book-rotate-phone:after{content:"";background:var(--seed-deep);border-radius:999px;width:1rem;height:.28rem;position:absolute;bottom:.35rem;left:50%;transform:translate(-50%)}@keyframes bookRotateHint{0%,20%{transform:rotate(0)}45%,70%{transform:rotate(90deg)}to{transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.book-rotate-phone{animation:none;transform:rotate(90deg)}}:is(.book-app.book-immersive.book-fs .book-top-title span,.book-app.book-immersive:fullscreen .book-top-title span){color:#dcf0e6b8}.book-back{min-height:2.3rem;padding:.35rem .8rem}.book-toc-btn,.book-fs-btn,.book-cue-btn{min-height:2.3rem}.book-cue-btn.active{background:color-mix(in srgb, var(--accent,#2f6f4e) 22%, transparent)}.cue-editor{z-index:45;color:#e8f2ec;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#161c20fa,#0e1216fa);border:1px solid #ffffff1a;flex-direction:column;min-height:0;display:flex;box-shadow:0 -8px 40px #00000073}.cue-editor-dock{border-radius:12px 12px 10px 10px;width:auto;max-height:min(34vh,15.75rem);position:absolute;bottom:.35rem;left:.55rem;right:.55rem}.cue-editor-dock .cue-editor-head{padding:.28rem .45rem}.cue-editor-dock .cue-editor-head-text strong{font-size:.78rem}.cue-editor-dock .cue-editor-meta-title{font-size:.66rem}.cue-editor-dock .cue-editor-head .btn{min-height:1.55rem;padding:.12rem .4rem;font-size:.72rem}.cue-editor-dock .cue-editor-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;overflow:hidden auto}.cue-editor-dock .cue-editor-main{grid-template-areas:"toolbar""transport""scrub""status";align-content:start;gap:.18rem;padding:.28rem .45rem .38rem;display:grid;overflow:visible}.cue-editor-dock .cue-editor-side{border-bottom:1px solid #ffffff14;border-right:0;flex-direction:row;align-items:stretch;max-height:2.85rem}.cue-editor-dock .cue-editor-side-label{display:none}.cue-editor-dock .cue-editor-list{flex-flow:row;flex:1;align-items:stretch;gap:.2rem;padding:.22rem .4rem;display:flex;overflow:auto hidden}.cue-editor-dock .cue-editor-list-btn{flex-direction:column;align-items:flex-start;gap:.05rem;min-width:4.6rem;padding:.18rem .32rem;font-size:.64rem;line-height:1.15}.cue-editor-dock .cue-editor-toolbar{grid-area:toolbar;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem}.cue-editor-dock .cue-editor-page-pick{display:none}.cue-editor-dock .cue-editor-audio-pick{align-items:center;gap:.35rem;min-width:0;display:flex}.cue-editor-dock .cue-editor-audio-pick span{white-space:nowrap}.cue-editor-dock .cue-editor-audio-pick select{min-height:1.65rem;padding:.15rem .35rem;font-size:.72rem}.cue-editor-dock .cue-editor-mode{min-width:6.5rem}.cue-editor-dock .cue-editor-mode button{min-height:1.65rem;font-size:.72rem}.cue-editor-dock .cue-editor-transport{flex-wrap:nowrap;grid-area:transport;align-items:center;gap:.28rem;min-width:0;display:flex}.cue-editor-dock .cue-editor-transport .cue-editor-clock{white-space:nowrap;flex:none}.cue-editor-dock .cue-editor-transport .cue-editor-actions{flex:none;margin-left:auto}.cue-editor-dock .cue-editor-scrub{grid-area:scrub;gap:.12rem}.cue-editor-dock .cue-scrub-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.28rem;margin-top:.05rem;display:grid}.cue-editor-dock .cue-ab-block{align-items:center;gap:.22rem;min-width:0;display:flex}.cue-editor-dock .cue-ab-block-end{justify-content:flex-end}.cue-editor-dock .cue-ab-block .cue-editor-time-inline{flex:auto;min-width:0;max-width:none}.cue-editor-dock .cue-ab-btn{font-variant-numeric:tabular-nums;flex:none;min-height:1.55rem;padding:.1rem .38rem;font-size:.68rem}.cue-editor-dock .cue-playhead-readout-muted{opacity:.65;grid-column:1/-1}.cue-editor-dock .cue-editor-actions{flex:none;gap:.25rem;display:flex}.cue-editor-dock .cue-editor-actions .btn{white-space:nowrap;min-height:1.55rem;padding:.1rem .5rem;font-size:.72rem}.cue-editor-dock .cue-editor-transport .btn{min-height:1.65rem;padding:.12rem .42rem;font-size:.72rem}.cue-editor-dock .cue-editor-clock{font-size:.72rem}.cue-editor-dock .cue-editor-meta-pdf,.cue-editor-dock .cue-scrub-legend{display:none}.cue-editor-dock .cue-scrub{height:1.65rem;margin-top:.3rem}.cue-editor-dock .cue-scrub-handle-time{display:none}.cue-editor-dock .cue-scrub-handle{width:1.15rem;height:1.15rem;margin-top:-.575rem;margin-left:-.575rem;font-size:.6rem}.cue-editor-dock .cue-editor-time-inline{gap:.2rem;font-size:.66rem}.cue-editor-dock .cue-editor-time-inline input{min-height:1.55rem;padding:.1rem .3rem;font-size:.72rem}.cue-editor-dock .cue-editor-status{white-space:nowrap;text-overflow:ellipsis;grid-area:status;font-size:.68rem;overflow:hidden}.cue-editor-float{border-radius:14px;width:min(46rem,100vw - 1rem);max-height:min(70vh,28rem);position:fixed;box-shadow:0 18px 50px #00000080}.cue-editor.moving{opacity:.96;-webkit-user-select:none;user-select:none}.cue-editor-head{cursor:grab;touch-action:none;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .65rem;display:flex}.cue-editor.moving .cue-editor-head,.cue-editor-head:active{cursor:grabbing}.cue-editor-head-left{align-items:center;gap:.45rem;min-width:0;display:flex}.cue-editor-drag{color:#e8f2ec8c;letter-spacing:-.08em;background:#ffffff0f;border-radius:6px;flex-shrink:0;place-items:center;width:1.4rem;height:1.4rem;font-size:.7rem;display:inline-grid}.cue-editor-head-text{gap:.05rem;min-width:0;display:grid}.cue-editor-head-text strong{font-size:.84rem;line-height:1.2}.cue-editor-meta-title{opacity:.72;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.cue-editor-head-actions{flex-shrink:0;align-items:center;gap:.2rem;display:flex}.cue-editor-head .btn{color:#d7ebe0;min-height:1.9rem;padding:.2rem .55rem;font-size:.78rem}.cue-editor-body{flex:1;grid-template-columns:minmax(9.5rem,12rem) minmax(0,1fr);gap:0;min-height:0;display:grid;overflow:hidden}.cue-editor-side{background:#0000002e;border-right:1px solid #ffffff14;flex-direction:column;min-height:0;display:flex}.cue-editor-side-label{letter-spacing:.04em;text-transform:uppercase;opacity:.55;flex-shrink:0;padding:.4rem .65rem .25rem;font-size:.68rem}.cue-editor-main{flex-direction:column;gap:.45rem;min-width:0;min-height:0;padding:.55rem .75rem .7rem;display:flex;overflow:auto}.cue-editor-toolbar{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr) auto;align-items:end;gap:.45rem;display:grid}.cue-editor-page-pick,.cue-editor-audio-pick{gap:.2rem;margin:0;font-size:.72rem;display:grid}.cue-editor-page-pick select,.cue-editor-audio-pick select,.cue-editor-time-inline input,.cue-editor-time-clock{width:100%;min-height:2rem;color:inherit;font-variant-numeric:tabular-nums;background:#00000047;border:1px solid #ffffff24;border-radius:8px;padding:.25rem .45rem;font-size:.78rem}.cue-editor-time-clock{letter-spacing:.02em}.cue-editor-meta-pdf{opacity:.75;margin-left:auto;font-size:.75rem}.cue-editor-field{gap:.3rem;margin:0;font-size:.82rem;display:grid}.cue-editor-transport{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.cue-editor-transport .btn{min-height:2rem;padding:.25rem .6rem;font-size:.78rem}.cue-editor-clock{font-variant-numeric:tabular-nums;opacity:.9;font-size:.8rem}.cue-editor-scrub{gap:.35rem;display:grid}.cue-scrub-legend{opacity:.9;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.cue-scrub-legend-keys{opacity:.85;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.cue-scrub-key{border-radius:2px;width:.55rem;height:.55rem;display:inline-block}.cue-scrub-key.start{background:#5ec4ff}.cue-scrub-key.end{background:#ff8f6b}.cue-scrub-key.play{background:#b7e0c8}.cue-scrub{touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;height:2.4rem;position:relative}.cue-scrub.disabled{opacity:.45;pointer-events:none}.cue-scrub-track{background:#ffffff24;border-radius:999px;height:.42rem;margin-top:-.21rem;position:absolute;top:50%;left:0;right:0}.cue-scrub-range{pointer-events:none;background:linear-gradient(90deg,#3d9fd6,#2f6f4e 55%,#d97852);border-radius:999px;height:.42rem;margin-top:-.21rem;position:absolute;top:50%;box-shadow:0 0 0 1px #ffffff1f}.cue-scrub-playhead{pointer-events:none;z-index:2;background:#e8f2ec;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:.2rem;bottom:.2rem}.cue-scrub-handle-wrap{z-index:3;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;transform:translate(-50%)}.cue-scrub-handle-time{font-variant-numeric:tabular-nums;white-space:nowrap;color:#e8f2eceb;pointer-events:none;text-shadow:0 1px 2px #000000a6;font-size:.62rem;line-height:1;position:absolute;top:-.05rem}.cue-scrub-handle-wrap .cue-scrub-handle{pointer-events:auto;margin:0;position:relative;top:auto;left:auto}.cue-scrub-handle{color:#102018;cursor:grab;z-index:3;touch-action:none;border:0;border-radius:999px;width:1.35rem;height:1.35rem;margin:-.675rem 0 0 -.675rem;font-size:.68rem;font-weight:700;line-height:1;position:absolute;top:50%;box-shadow:0 2px 8px #00000059}.cue-scrub-handle:active,.cue-scrub-handle.active{cursor:grabbing;transform:scale(1.08)}.cue-scrub-handle.start{background:#5ec4ff}.cue-scrub-handle.end{background:#ff8f6b}.cue-scrub.silent .cue-scrub-range,.cue-scrub.silent .cue-scrub-handle{display:none}.cue-scrub-footer{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.15rem;display:flex}.cue-ab-block{flex:10rem;align-items:center;gap:.28rem;min-width:0;display:flex}.cue-ab-block-end{justify-content:flex-end}.cue-ab-block .cue-editor-time-inline{flex:6rem;min-width:5rem;max-width:9rem}.cue-ab-btn{font-variant-numeric:tabular-nums;flex:none}.cue-playhead-readout{font-variant-numeric:tabular-nums;opacity:.9;flex:none;font-size:.72rem}.cue-playhead-readout-muted{opacity:.65;flex:auto}.cue-scrub-footer .cue-editor-actions{flex:none;gap:.3rem;margin-left:auto;display:flex}.cue-editor-time-inline{opacity:.95;grid-template-columns:auto 1fr;align-items:center;gap:.3rem;font-size:.72rem;display:grid}.cue-editor-mode{grid-template-columns:1fr 1fr;gap:.3rem;min-width:7.5rem;margin:0;display:grid}.cue-editor-mode button{min-height:2rem;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;font-size:.76rem}.cue-editor-mode button.active{background:#2f6f4e;border-color:#0000}.cue-editor-actions{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.15rem;display:grid}.cue-editor-status{color:#b7e0c8;word-break:break-word;margin:0;font-size:.74rem;line-height:1.35}.cue-editor-list{font-variant-numeric:tabular-nums;flex:1;gap:.15rem;min-height:0;margin:0;padding:0 .35rem .45rem;font-size:.74rem;list-style:none;display:grid;overflow:auto}.cue-editor-list li{background:0 0;border-radius:6px;margin:0;padding:0}.cue-editor-list-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0a;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:.45rem;padding:.32rem .45rem;display:flex}.cue-editor-list-btn:hover{background:#ffffff1a}.cue-editor-list li.current .cue-editor-list-btn{background:#2f6f4e8c}@media (width<=820px){.cue-editor-dock{max-height:min(32vh,12.5rem);bottom:.3rem;left:.35rem;right:.35rem}.cue-editor-dock .cue-scrub-footer{grid-template-columns:1fr 1fr;gap:.22rem}.cue-editor-dock .cue-editor-transport{flex-wrap:wrap}.cue-editor-dock .cue-editor-transport .cue-editor-actions{justify-content:flex-end;width:100%;margin-left:0}.cue-editor-float{width:min(46rem,100vw - 1rem)}.cue-editor-body{grid-template-columns:minmax(7.5rem,9.5rem) minmax(0,1fr)}.cue-editor-toolbar{grid-template-columns:1fr 1fr}.cue-editor-mode{grid-column:1/-1}}@media (width<=560px){.cue-editor-body{grid-template-columns:1fr}.cue-editor-side{border-bottom:1px solid #ffffff14;border-right:0;max-height:7.5rem}.cue-editor-list{flex-wrap:nowrap;gap:.25rem;padding:.25rem .45rem .5rem;display:flex;overflow:auto hidden}.cue-editor-list li{flex:none}.cue-editor-list-btn{min-width:6.5rem}}.book-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;display:grid}.book-app.book-immersive .book-top{z-index:6;padding:max(.45rem, env(safe-area-inset-top)) .7rem .55rem;pointer-events:none;background:linear-gradient(#fffaf3f0 55%,#fffaf300);position:absolute;top:0;left:0;right:0}.book-app.book-immersive .book-top>*{pointer-events:auto}:is(.book-app.book-immersive.book-fs .book-top,.book-app.book-immersive:fullscreen .book-top){background:linear-gradient(#0c1812eb 50%,#0000)}.book-top-actions{align-items:center;gap:.4rem;display:flex}.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,.book-flip-stage{-webkit-user-select:none;user-select:none;touch-action:none;background:color-mix(in srgb, var(--paper) 88%, var(--seed) 12%);border:1px solid color-mix(in srgb, var(--seed) 18%, transparent);border-radius:1rem;justify-content:center;align-items:center;gap:0;min-height:min(62vh,560px);padding:.55rem .25rem;display:flex;position:relative}.book-app.book-immersive .book-flip-stage{width:100%;min-height:0;padding:calc(2.85rem + env(safe-area-inset-top)) max(.1rem, env(safe-area-inset-right)) calc(3.9rem + env(safe-area-inset-bottom)) max(.1rem, env(safe-area-inset-left));background:0 0;border:none;border-radius:0;flex:auto;justify-content:center;align-items:stretch;gap:.15rem;margin:0;display:flex}.book-app.book-fs .book-flip-stage{border-radius:0;min-height:100%}.book-flip-stage:fullscreen{border-radius:0;min-height:100%}.book-flip-viewer{filter:drop-shadow(0 18px 28px #14283c38);flex:1;justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.book-app.book-immersive .book-flip-viewer{filter:drop-shadow(0 22px 36px #14283c47)}.book-flip-viewer__book{background:0 0!important;margin:0 auto!important}.book-flip-page{background:#fffef8 radial-gradient(120% 100% at 0 0,#fff6,#0000 55%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.book-flip-page img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%}.book-flip-page.blank{background:#f7f4ee}.book-flip-blank{background:linear-gradient(160deg,#fbfaf7 0%,#f0ebe3 100%);width:100%;height:100%}.book-render-progress{text-align:center;flex:1;grid-column:1/-1;place-content:center;justify-items:center;gap:.55rem;padding:2rem 1rem;display:grid}.book-load{text-align:center;flex:1;grid-column:1/-1;place-content:center;justify-items:center;gap:.35rem;min-height:0;padding:1.25rem 1rem 2rem;display:grid}.book-load-stage{aspect-ratio:160/140;width:min(220px,58vw);margin-bottom:.35rem;position:relative}.book-load-glow{background:radial-gradient(circle,#f4a26159,#0000 70%);border-radius:50%;animation:2.4s ease-in-out infinite bookLoadGlow;position:absolute;inset:18% 10% 8%}.book-load-monkey{perspective:420px;filter:drop-shadow(0 10px 16px #14283c2e);width:100%;height:100%;position:relative;overflow:visible}.book-load-head{transform-origin:80px 70px;animation:1.6s ease-in-out infinite bookLoadBob}.book-load-body{transform-origin:80px 96px;animation:2.2s ease-in-out infinite bookLoadSway}.book-load-arm-l,.book-load-arm-r{transform-origin:80px 90px;animation:1.1s ease-in-out infinite bookLoadArms}.book-load-arm-r{animation-delay:.12s}.book-load-book{transform-style:preserve-3d}.book-load-page{transform-origin:80px 99px;transform-box:fill-box;animation:1.35s ease-in-out infinite bookLoadFlip}.book-load-face{background:#f0c89a;border-radius:50%;width:100%;height:100%;overflow:hidden}.book-load-face img{object-fit:cover;object-position:center 22%;transform-origin:50% 28%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;transform:scale(1.18)}.book-load-initial{font-family:var(--font-display)}.book-load-eye{animation:3.4s ease-in-out infinite bookLoadBlink}.book-load-spark-a{animation:2s ease-in-out infinite bookLoadSpark}.book-load-spark-b{animation:2.4s ease-in-out .4s infinite bookLoadSpark}.book-load-tick{min-height:1.35em;font-family:var(--font-display);color:var(--seed-deep);margin:0;font-size:clamp(1.05rem,2.6vw,1.35rem);font-weight:700;animation:.45s both bookLoadTickIn}.book-load-title{color:var(--ink-soft);font-size:.92rem;font-weight:800}.book-load-pct{color:var(--seed-deep);font-variant-numeric:tabular-nums;font-size:.95rem;font-style:normal;font-weight:800}.book-render-progress strong,.book-load-title{font-family:var(--font-display)}.book-render-progress strong{color:var(--seed-deep)}.book-render-progress em{color:var(--ink-soft);font-size:.9rem;font-style:normal;font-weight:800}.book-render-bar{background:color-mix(in srgb, var(--paper) 70%, var(--ink-soft) 30%);border-radius:999px;width:min(280px,70vw);height:.65rem;overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.book-render-bar span{background:linear-gradient(90deg, transparent, #ffffff59, transparent) 0 / 40% 100% no-repeat, linear-gradient(90deg, #3cb88a, var(--seed), var(--seed-deep));background-blend-mode:soft-light, normal;border-radius:inherit;height:100%;transition:width .15s;animation:1.2s linear infinite bookLoadShimmer;display:block}@keyframes bookLoadBob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes bookLoadSway{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes bookLoadArms{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes bookLoadFlip{0%,to{transform:rotateY(0)}45%{transform:rotateY(-62deg)}55%{transform:rotateY(-62deg)}}@keyframes bookLoadBlink{0%,42%,48%,to{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes bookLoadSpark{0%,to{opacity:.35;transform:translateY(0)scale(.9)}50%{opacity:1;transform:translateY(-6px)scale(1.08)}}@keyframes bookLoadGlow{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}@keyframes bookLoadTickIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bookLoadShimmer{0%{background-position:-40% 0,0 0}to{background-position:140% 0,0 0}}@media (prefers-reduced-motion:reduce){.book-load-head,.book-load-body,.book-load-arm-l,.book-load-arm-r,.book-load-page,.book-load-eye,.book-load-spark-a,.book-load-spark-b,.book-load-glow,.book-render-bar span,.book-load-tick{animation:none!important}}.book-controls{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.4rem;display:flex}.book-app.book-immersive .book-controls{z-index:6;padding:.35rem .55rem max(.35rem, env(safe-area-inset-bottom));box-sizing:border-box;background:linear-gradient(#0000 0%,#fffaf3e0 38%,#fffaf3f7 100%);flex-wrap:nowrap;gap:.4rem;margin:0;position:absolute;bottom:0;left:0;right:0}:is(.book-app.book-immersive.book-fs .book-controls,.book-app.book-immersive:fullscreen .book-controls){background:linear-gradient(#0000 0%,#0a140ebf 36%,#0a140ef0 100%)}.book-app.book-immersive .book-section-hint{left:0;right:0;bottom:calc(3.35rem + env(safe-area-inset-bottom));z-index:5;text-align:center;pointer-events:none;opacity:.85;margin:0;font-size:.78rem;position:absolute}:is(.book-app.book-immersive.book-fs .book-section-hint,.book-app.book-immersive:fullscreen .book-section-hint){color:#dcf0e6bf;bottom:calc(3.5rem + env(safe-area-inset-bottom))}.book-transport,.book-speed{background:color-mix(in srgb, var(--paper) 82%, var(--seed) 18%);border:1px solid color-mix(in srgb, var(--seed) 22%, transparent);box-sizing:border-box;border-radius:999px;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.35rem;min-height:2.55rem;padding:.32rem .55rem;display:flex}.book-transport{flex:0 auto}.book-speed{flex:16rem;gap:.4rem .55rem;margin-top:0}.book-ctrl-chip{appearance:none;border:1px solid color-mix(in srgb, var(--ink-soft) 28%, transparent);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;min-width:0;min-height:1.85rem;padding:.38rem .7rem;font-size:.8rem;font-weight:700;line-height:1}.book-ctrl-chip:disabled{opacity:.4;cursor:default}.book-ctrl-chip.book-ctrl-listen{background:color-mix(in srgb, var(--seed) 14%, var(--paper));border-color:color-mix(in srgb, var(--seed) 45%, transparent);min-width:5.2rem;color:var(--seed-deep)}.book-ctrl-chip.active{background:var(--seed);border-color:var(--seed-deep);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--seed) 35%, transparent)}.book-speed-label{color:var(--ink-soft);white-space:nowrap;font-size:.78rem;font-weight:700}.book-speed-presets{flex-wrap:nowrap;justify-content:center;gap:.18rem;display:flex}.book-speed-chip{appearance:none;border:1px solid color-mix(in srgb, var(--ink-soft) 28%, transparent);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;min-width:1.95rem;min-height:1.55rem;padding:.28rem .4rem;font-size:.72rem;font-weight:700;line-height:1}.book-speed-chip.preferred:not(.active){border-color:color-mix(in srgb, var(--seed) 55%, transparent);color:var(--seed-deep)}.book-speed-chip.active{background:var(--seed);border-color:var(--seed-deep);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--seed) 35%, transparent)}.book-mute-chip{white-space:nowrap;min-width:0;padding-inline:.55rem;font-size:.78rem;font-weight:700}.book-mute-chip.muted,.book-mute-chip.active.muted{background:color-mix(in srgb, var(--sun) 22%, var(--paper));border-color:color-mix(in srgb, var(--sun-deep) 55%, transparent);color:var(--sun-deep);box-shadow:none}.book-time-slider{flex:10rem;align-items:center;gap:.4rem;min-width:min(12rem,36vw);display:inline-flex}.book-time-slider input[type=range]{min-width:4.5rem;accent-color:var(--seed);cursor:pointer;flex:1}.book-time-slider input[type=range]:disabled{opacity:.4;cursor:default}.book-time-cur,.book-time-end{font-variant-numeric:tabular-nums;min-width:2.4rem;color:var(--ink);font-size:.8rem;font-weight:800}.book-time-cur{text-align:right;color:var(--seed-deep)}.book-time-end{text-align:left}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-section-hint{text-align:center;color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:600}.cue-pin-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080e0c8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cue-pin-card{background:var(--paper,#f7fbf8);width:min(18rem,100%);color:var(--ink,#102820);border-radius:14px;padding:1rem 1.1rem;box-shadow:0 16px 40px #00000040}.cue-pin-card h2{font-size:1.05rem;font-family:var(--font-display);margin:0 0 .35rem}.cue-pin-card p{color:var(--ink-soft,#4a6358);margin:0 0 .75rem;font-size:.85rem}.cue-pin-field{gap:.25rem;margin-bottom:.65rem;font-size:.82rem;display:grid}.cue-pin-field input{letter-spacing:.08em;border:1px solid #10282029;border-radius:10px;width:100%;min-height:2.4rem;padding:.4rem .65rem;font-size:1rem}.cue-pin-error{color:#b42318;margin:-.35rem 0 .55rem;font-size:.8rem}.cue-pin-actions{justify-content:flex-end;gap:.45rem;display:flex}.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){.book-app.book-immersive .book-title-full{display:none}.book-app.book-immersive .book-top-title span{font-size:.72rem}.book-app.book-immersive .book-back,.book-app.book-immersive .book-toc-btn,.book-app.book-immersive .book-fs-btn{min-height:1.95rem;padding:.22rem .55rem;font-size:.82rem}.book-app.book-immersive .book-flip-stage{padding-top:calc(2.7rem + env(safe-area-inset-top));padding-bottom:calc(6.2rem + env(safe-area-inset-bottom))}.book-app.book-immersive .book-controls{padding:.3rem .35rem max(.3rem, env(safe-area-inset-bottom));flex-wrap:wrap;gap:.3rem}.book-app.book-immersive .book-transport,.book-app.book-immersive .book-speed{border-radius:1rem;flex:100%;gap:.28rem;min-height:2.4rem;padding:.28rem .4rem}.book-app.book-immersive .book-ctrl-chip{min-height:1.75rem;padding:.32rem .55rem;font-size:.74rem}.book-app.book-immersive .book-ctrl-chip.book-ctrl-listen{flex:auto;min-width:4.8rem}.book-app.book-immersive .book-speed-label{font-size:.72rem}.book-app.book-immersive .book-speed-chip{min-width:1.85rem;min-height:1.5rem;padding:.26rem .36rem;font-size:.68rem}.book-app.book-immersive .book-time-slider{flex:100%;order:3;min-width:0}.book-app.book-immersive .book-time-slider input[type=range]{display:block}.book-app.book-immersive .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;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}a.coin-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8a4b1226}.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.book-immersive .book-title-full{display:none}.book-app.book-immersive .book-flip-stage{padding-top:calc(2.9rem + env(safe-area-inset-top));padding-bottom:calc(4.2rem + env(safe-area-inset-bottom))}.book-app.book-immersive .book-controls{flex-wrap:wrap}.book-app.book-immersive .book-transport,.book-app.book-immersive .book-speed{flex:calc(50% - .25rem);min-width:min(100%,18rem)}.book-app.book-immersive .book-section-hint{display:none}}@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 .book-top{padding-bottom:.2rem}.book-app .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 auto;align-items:center;gap:.85rem 1rem;padding:.75rem .85rem;font-size:.92rem;font-weight:650;display:grid}.profile-unit-badge{color:#5a5a5a;white-space:nowrap;background:#7878781f;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800}.profile-unit-badge.open{color:#1a7a5c;background:#1a7a5c24}.profile-unit-badge.done{color:#8a6a10;background:#d4a01733}.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}}.unit-modal-overlay{z-index:80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c18148c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.unit-modal{border:1px solid color-mix(in srgb, var(--seed) 18%, transparent);width:min(36rem,100%);max-height:min(92vh,52rem);color:var(--ink);background:linear-gradient(#fffdf8,#fff6ea);border-radius:1.25rem;padding:1.25rem 1.15rem 1.1rem;position:relative;overflow:auto;box-shadow:0 24px 60px #0f282059}.unit-modal-actions{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-top:1rem;display:flex}.unit-locked-lead,.unit-complete-lead{text-align:center;color:var(--ink-soft);margin:.35rem 0 .85rem}.unit-locked-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.unit-locked-list li{background:color-mix(in srgb, var(--paper) 70%, #fff);border:1px solid var(--line);border-radius:.85rem;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}.unit-locked-list li.done{opacity:.72}.unit-locked-list li.todo{border-color:color-mix(in srgb, var(--sun) 45%, transparent);background:color-mix(in srgb, var(--sun) 10%, var(--paper))}.unit-locked-check{background:color-mix(in srgb, var(--seed) 16%, transparent);width:1.5rem;height:1.5rem;color:var(--seed-deep);border-radius:999px;flex:none;place-items:center;font-weight:800;display:grid}.unit-locked-list li.todo .unit-locked-check{background:color-mix(in srgb, var(--sun) 22%, transparent);color:var(--sun-deep)}.unit-locked-list strong{font-size:.92rem;display:block}.unit-locked-list small{color:var(--ink-soft);margin-top:.15rem;font-size:.78rem;display:block}.unit-locked-progress{text-align:center;color:var(--seed-deep);margin:.85rem 0 0;font-weight:700}.unit-complete-modal{text-align:center;overflow:hidden}.unit-complete-modal h2{font-family:var(--font-display);margin:.2rem 0 0;font-size:1.85rem}.unit-complete-trophy{filter:drop-shadow(0 8px 16px #f4a26173);font-size:2.8rem;line-height:1;animation:.7s both unit-trophy-pop}.unit-complete-unlock{background:color-mix(in srgb, var(--seed) 16%, transparent);color:var(--seed-deep);border-radius:999px;margin:.35rem 0 .5rem;padding:.55rem .85rem;font-weight:700;display:inline-block}.unit-complete-coins{color:var(--sun-deep);margin:0 0 .75rem;font-weight:800}.unit-complete-cert{text-align:left;margin:.75rem auto 0}.unit-fireworks{pointer-events:none;position:absolute;inset:0;overflow:hidden}.unit-spark{opacity:0;border-radius:50%;width:.45rem;height:.45rem;animation:1.4s ease-out infinite unit-spark-fly;position:absolute}.unit-spark-1{background:#f4a261;animation-delay:0s;top:70%;left:12%}.unit-spark-2{background:#1a7a5c;animation-delay:.12s;top:62%;left:22%}.unit-spark-3{background:#7ec8e3;animation-delay:.24s;top:75%;left:35%}.unit-spark-4{background:#e76f3c;animation-delay:80ms;top:58%;left:48%}.unit-spark-5{background:#f6c945;animation-delay:.3s;top:72%;left:62%}.unit-spark-6{background:#1a7a5c;animation-delay:.18s;top:64%;left:78%}@keyframes unit-spark-fly{0%{opacity:0;transform:translate(0)scale(.4)}20%{opacity:1}to{transform:translate(var(--dx,40px), -120px) scale(1.2);opacity:0}}.unit-spark-1{--dx:-30px}.unit-spark-2{--dx:20px}.unit-spark-3{--dx:-10px}.unit-spark-4{--dx:50px}.unit-spark-5{--dx:-40px}.unit-spark-6{--dx:25px}@keyframes unit-trophy-pop{0%{opacity:0;transform:scale(.4)rotate(-12deg)}60%{opacity:1;transform:scale(1.12)rotate(4deg)}to{transform:scale(1)rotate(0)}}.unit-cert{color:#2a3330;background:radial-gradient(circle at 100% 0,#1a7a5c14,#0000 40%),repeating-linear-gradient(-35deg,#1c2b2808 0 1px,#0000 1px 14px),linear-gradient(165deg,#fbf8f1 0%,#f3eee3 100%);border:1px solid #1c2b281f;border-radius:.85rem;min-height:16rem;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8c}.unit-cert-corner{clip-path:ellipse(85% 95% at 0 0);z-index:0;background:radial-gradient(circle at 20% 30%,#ffffff14 0 1px,#0000 1.5px) 0 0/6px 6px,linear-gradient(135deg,#2c3338 0 62%,#0000 63%);width:42%;height:38%;position:absolute;top:0;left:0}.unit-cert-corner:after{content:"";border:5px solid #c9a24d;border-radius:50%;width:70%;height:55%;position:absolute;inset:auto -8% -18% auto;transform:rotate(-18deg);box-shadow:0 0 0 5px #1f8a74}.unit-cert-seal{z-index:2;text-align:center;color:#3a2a08;background:radial-gradient(circle at 35% 30%,#f6e2a2,#c9962f 55%,#8f6a14);border:2px dashed #ffffff59;border-radius:50%;place-items:center;width:4.4rem;height:4.4rem;font-size:.55rem;line-height:1.15;display:grid;position:absolute;top:1.35rem;left:1.1rem;box-shadow:0 6px 16px #00000040}.unit-cert-seal strong{letter-spacing:.02em;font-size:.62rem}.unit-cert-seal-stars{letter-spacing:.08em;font-size:.5rem}.unit-cert-seal-wreath{opacity:.85}.unit-cert-brand{z-index:1;letter-spacing:.06em;text-transform:uppercase;color:#b8923a;justify-content:flex-end;align-items:center;gap:.4rem;padding:.85rem 1rem 0;font-size:.78rem;font-weight:800;display:flex;position:relative}.unit-cert-logo{opacity:.9;background:linear-gradient(90deg,#d4af4a 0 18%,#0000 18% 24%,#d4af4a 24% 40%,#0000 40% 46%,#d4af4a 46% 62%,#0000 62% 68%,#d4af4a 68% 82%,#0000 82% 88%,#d4af4a 88%);width:1.5rem;height:1.1rem}.unit-cert-body{z-index:1;padding:.6rem 1.25rem 1.15rem;position:relative}.unit-cert-kicker{font-family:var(--font-display);letter-spacing:.04em;color:#2f3835;text-align:center;margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.unit-cert-of{text-align:center;color:#5a6661;margin:-.15rem 0 .85rem;font-size:1.05rem;font-weight:600}.unit-cert-presented{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:#6b7570;margin:0;font-size:.68rem;font-weight:700}.unit-cert-name{text-align:center;color:#c2185b;margin:.55rem 0 .65rem;font-family:Segoe Script,Brush Script MT,cursive;font-size:clamp(1.7rem,5vw,2.45rem);line-height:1.1}.unit-cert-desc{text-align:center;color:#4d5853;max-width:34rem;margin:0 auto;font-size:.82rem;line-height:1.45}.unit-cert-foot{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.35rem;padding:0 .5rem;display:grid}.unit-cert-meta{text-align:center;border-top:1px solid #1c2b2847;gap:.25rem;padding-top:.35rem;display:grid}.unit-cert-meta span{font-size:.88rem;font-weight:700}.unit-cert-meta small{letter-spacing:.12em;text-transform:uppercase;color:#6b7570;font-size:.65rem}.unit-cert-sign{color:#1a7a5c;font-family:Segoe Script,Brush Script MT,cursive}.unit-cert-compact{transform-origin:top;min-height:0;transform:scale(.92)}.unit-pill.locked{opacity:.72;position:relative}.unit-pill.locked .unit-pill-lock{margin-left:.2rem;font-size:.75em}.profile-certs{gap:1rem;margin-top:.75rem;display:grid}.profile-cert-card{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0}.profile-cert-lightbox{z-index:90;background:#0a1210a6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.profile-cert-lightbox .unit-cert{width:min(40rem,100%)}.shop-page .shop-hero{background:radial-gradient(circle at 90% 10%,#ffd67873,#0000 42%),linear-gradient(145deg,#e8f6f1 0%,#fff8e8 55%,#ffe8d4 100%);border:1px solid #1a7a5c1f;border-radius:1.35rem;margin:.25rem 0 1.1rem;padding:1.15rem 1.2rem 1.25rem}.shop-kicker{letter-spacing:.04em;text-transform:uppercase;color:#b86a1c;margin:0 0 .25rem;font-size:.78rem;font-weight:800}.shop-hero h1{font-family:var(--font-display);color:var(--seed-deep);margin:0 0 .45rem;font-size:clamp(1.7rem,4vw,2.2rem)}.shop-hero p{max-width:36rem;color:var(--ink-soft);margin:0;font-weight:600;line-height:1.45}.shop-balance{background:#ffffffb8;border:1px solid #f4a26166;border-radius:1rem;flex-direction:column;gap:.1rem;margin-top:.9rem;padding:.55rem .9rem;display:inline-flex}.shop-balance span{color:#8a4b12;font-size:1.25rem;font-weight:900}.shop-balance em{color:var(--ink-soft);font-size:.78rem;font-style:normal;font-weight:700}.shop-toast{color:var(--seed-deep);background:#1a7a5c1f;border-radius:.95rem;margin:0 0 1rem;padding:.7rem .9rem;font-weight:750}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:1rem;display:grid}.shop-card{background:#fff;border:1px solid #1a7a5c1f;border-radius:1.25rem;grid-template-rows:auto 1fr;display:grid;overflow:hidden;box-shadow:0 10px 28px #0f52400f}.shop-card.is-locked{opacity:.92}.shop-card.is-open{border-color:#1a7a5c59}.shop-cover{place-items:center;min-height:8.5rem;display:grid;position:relative}.shop-cover-emoji{filter:drop-shadow(0 6px 10px #0000001f);font-size:3rem}.shop-cover-badge{color:var(--seed-deep);background:#ffffffd9;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:850;position:absolute;bottom:.7rem;left:.75rem}.shop-cover-teal{background:linear-gradient(145deg,#1a7a5c,#3ecf8e)}.shop-cover-sun{background:linear-gradient(145deg,#e09a1f,#f5d06a)}.shop-cover-coral{background:linear-gradient(145deg,#d96b4c,#f0a07a)}.shop-cover-sky{background:linear-gradient(145deg,#2a7fb8,#7cc7ef)}.shop-cover-lilac{background:linear-gradient(145deg,#6b5cad,#b5a8ef)}.shop-card-body{align-content:start;gap:.45rem;padding:.9rem .95rem 1rem;display:grid}.shop-card-body h3{color:var(--seed-deep);margin:0;font-size:1.05rem;line-height:1.25}.shop-card-body p{color:var(--ink-soft);margin:0;font-size:.88rem;font-weight:650}.shop-card-meta{gap:.4rem;margin:.15rem 0 .2rem;display:flex}.shop-pill{border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.78rem;font-weight:850;display:inline-flex}.shop-pill.cost{color:#8a4b12;background:#fff4d6}.shop-pill.open{color:#1a7a5c;background:#1a7a5c24}.shop-lock-btn{opacity:.85;cursor:not-allowed}.shop-player-overlay{z-index:95;background:#0a1210b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.shop-player{background:#fff;border-radius:1.2rem;gap:.75rem;width:min(56rem,100%);padding:.9rem;display:grid;box-shadow:0 24px 60px #00000047}.shop-player-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.shop-player-top h2{color:var(--seed-deep);margin:0;font-size:1.15rem}.shop-player-frame{aspect-ratio:16/9;background:#0b1a16;border-radius:.85rem;width:100%;position:relative;overflow:hidden}.shop-player-video,.shop-player-iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (width<=640px){.shop-grid{grid-template-columns:1fr}}
