:root{--page-bg: radial-gradient(circle at 12% 10%, rgba(92, 172, 255, .22), transparent 34%), radial-gradient(circle at 80% 6%, rgba(190, 226, 255, .45), transparent 30%), linear-gradient(135deg, #f8fcff 0%, #eef8ff 52%, #f9fdff 100%);--surface: rgba(255, 255, 255, .86);--surface-strong: rgba(255, 255, 255, .96);--surface-soft: rgba(239, 247, 255, .9);--surface-tint: #edf7ff;--border: rgba(132, 184, 230, .28);--text: #092044;--muted: #60738c;--primary: #2f80ed;--primary-strong: #0f3f83;--primary-soft: #e4f1ff;--accent: #39c2ff;--accent-soft: #dcf4ff;--warning: #ffc533;--warning-soft: #fff7d8;--success: #32c98b;--success-soft: #e0f8ec;--danger: #e5484d;--danger-soft: #ffe0e0;--shadow-soft: 0 18px 48px rgba(27, 69, 111, .12);--shadow-card: 0 12px 28px rgba(27, 69, 111, .09);--radius-card: 18px;--radius-control: 14px;color:#172033;background:#f7fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.pdf-import-layers{margin:16px 0;padding:16px;border:2px solid #ead8c4;border-radius:22px;background:#fffdfa;box-shadow:0 4px #6d4e3014}.pdf-import-layers>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pdf-import-layers>header div{display:grid;gap:4px}.pdf-import-layers>header small{color:#76675d;line-height:1.5}.pdf-import-layers>header>span{flex:none;padding:5px 9px;border-radius:99px;color:#a34a2d;background:#fff0e8;font-size:12px}.pdf-import-layers>nav{display:flex;gap:8px;margin:14px 0;overflow-x:auto}.pdf-import-layers>nav button{flex:none;padding:8px 12px;border:1px solid #e5cdb7;border-radius:13px;color:#69584d;background:#fff8f1}.pdf-import-layers>nav button.is-active{border-color:#ff8b68;color:#b94627;background:#ffe7dc;box-shadow:inset 0 -2px #ff8b68}.pdf-layer-body{display:grid;gap:12px}.pdf-layer-body>p{margin:0;color:#6d625b;line-height:1.55}.pdf-layer-stats{display:flex;flex-wrap:wrap;gap:10px}.pdf-layer-stats span{padding:8px 12px;border-radius:14px;color:#705e50;background:#fff3e8}.pdf-layer-stats b{color:#e45c38;font-size:18px}.pdf-page-assets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pdf-page-assets figure{margin:0;overflow:hidden;border:1px solid #ead8c4;border-radius:14px;background:#fff}.pdf-page-assets figure>button{display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:transparent}.pdf-page-assets img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:contain;background:#f5efe8}.pdf-page-assets figcaption{display:grid;gap:2px;padding:7px 9px;font-size:12px}.pdf-page-assets figcaption small{color:#b96b45}.pdf-page-pagination{display:flex;align-items:center;justify-content:center;gap:12px}.pdf-page-pagination button{padding:7px 11px;border:1px solid #e2c9b2;border-radius:11px;color:#86523a;background:#fff8f1}.pdf-page-pagination button:disabled{cursor:not-allowed;opacity:.4}.pdf-page-pagination span{color:#75665b;font-size:13px}.pdf-page-lightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:70px 80px 28px;color:#fff;background:#191412e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.pdf-page-lightbox>header{position:absolute;top:16px;left:20px;right:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;cursor:default}.pdf-page-lightbox>header span{text-align:center;color:#ffffffbd;font-size:13px}.pdf-page-lightbox>header button{width:40px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:#ffffff1f;font-size:28px;line-height:1}.pdf-page-review-pair{display:flex;align-items:center;justify-content:center;gap:18px;width:auto;max-width:calc(100vw - 150px);height:min(calc(100vh - 105px),900px);min-height:0;cursor:default}.pdf-page-review-image,.pdf-page-text-review{flex:0 0 auto;height:100%;max-width:calc((100vw - 180px)/2)}.pdf-page-review-image{display:grid;place-items:center;min-width:0;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 18px 60px #00000073}.pdf-page-review-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.pdf-page-text-review{position:relative;overflow:hidden;border-radius:8px;color:#302b28;background:#fffdf9;box-shadow:0 18px 60px #00000073}.pdf-page-text-review__legend{position:absolute;z-index:4;top:8px;right:8px;display:flex;gap:5px;padding:5px;border-radius:9px;background:#ffffffe6;box-shadow:0 2px 8px #352a2124;font-size:9px}.pdf-page-text-review__legend span{padding:2px 5px;border-radius:99px}.pdf-page-text-review__legend .is-used{color:#087a49;background:#dff7ea}.pdf-page-text-review__legend .is-partial{color:#955400;background:#fff0c9}.pdf-page-text-review__legend .is-unused{color:#726b66;background:#ece9e6}.pdf-page-text-block{position:absolute;z-index:1;display:block;box-sizing:border-box;min-height:13px;padding:2px 5px;overflow:hidden;border-left:2px solid transparent;border-radius:4px;font-size:clamp(7px,.72vw,11px);font-weight:650;line-height:1.08;text-align:left;white-space:nowrap;text-overflow:ellipsis}.pdf-page-text-block i{margin-left:4px;padding:1px 3px;border-radius:99px;font-size:.72em;font-style:normal}.pdf-page-text-block.is-used{border-color:#22a969;color:#086a41;background:#caf4ded6}.pdf-page-text-block.is-used i{background:#adebca}.pdf-page-text-block.is-partial{border-color:#e99a28;color:#8a5000;background:#ffebbedb}.pdf-page-text-block.is-partial i{background:#ffdda0}.pdf-page-text-block.is-unused{border-color:#aaa39e;color:#6f6965;background:#edeae7c7;opacity:.86}.pdf-page-text-block.is-unused i{background:#ddd8d4}.pdf-page-text-review>aside{position:absolute;z-index:5;right:8px;bottom:8px;padding:5px 8px;border-radius:8px;color:#8b4b10;background:#fff0d7;font-size:10px;box-shadow:0 2px 8px #352a211f}.pdf-lightbox-arrow{position:absolute;top:50%;width:52px;height:72px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.28);border-radius:18px;color:#fff;background:#ffffff1f;font-size:46px;line-height:1}.pdf-lightbox-arrow.is-left{left:18px}.pdf-lightbox-arrow.is-right{right:18px}.pdf-lightbox-arrow:disabled{opacity:.18}.pdf-provider-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:12px;border:1px solid #e7d5c5;border-radius:14px;background:#fffaf5}.pdf-provider-card>small,.pdf-provider-card>details{grid-column:1 / -1;color:#71645c}.pdf-provider-card.status-unavailable{border-color:#edc2b8;background:#fff4f1}.pdf-provider-card.status-good{border-color:#b8ddca;background:#f1fbf6}.pdf-difference-list{display:grid;gap:8px;max-height:420px;overflow:auto}.pdf-difference-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 12px;border-left:4px solid #f0a14a;border-radius:10px;background:#fff8ec}.pdf-difference-list article p{grid-column:1 / -1;margin:0;line-height:1.4}.pdf-difference-list article span{color:#77675a;font-size:12px}.pdf-final-outline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.pdf-final-outline span{display:flex;justify-content:space-between;gap:8px;padding:9px 11px;border:1px solid #ecd8c5;border-radius:12px;background:#fffaf4}.pdf-import-running-hint{grid-column:1 / -1;color:#9a5b3f;text-align:right}.platform-publish-inline-error{margin:0;padding:10px 12px;border:1px solid #efb4a7;border-radius:12px;color:#a33b28;background:#fff2ef}@media(max-width:640px){.pdf-import-layers{padding:12px}.pdf-import-layers>header{display:grid}.pdf-page-assets{grid-template-columns:repeat(2,minmax(0,1fr))}.pdf-page-pagination{justify-content:space-between;gap:6px}.pdf-page-pagination span{text-align:center}.pdf-page-lightbox{padding:64px 12px 20px}.pdf-page-lightbox>header{left:12px;right:12px;gap:8px}.pdf-page-lightbox>header span{font-size:11px}.pdf-lightbox-arrow{top:auto;bottom:18px;width:48px;height:48px;border-radius:50%}.pdf-lightbox-arrow.is-left{left:22px}.pdf-lightbox-arrow.is-right{right:22px}.pdf-page-review-pair{justify-content:flex-start;width:100%;height:calc(100vh - 90px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.pdf-page-review-image,.pdf-page-text-review{flex:0 0 82vw;height:100%;scroll-snap-align:center}}@media(min-width:641px)and (max-width:1050px){.pdf-page-assets{grid-template-columns:repeat(3,minmax(0,1fr))}}:root[data-design-theme=peach]{--page-bg: radial-gradient(circle 280px at 8% 12%, rgba(255, 106, 69, .14), transparent 70%), radial-gradient(circle 320px at 92% 8%, rgba(139, 124, 255, .12), transparent 70%), radial-gradient(circle 260px at 70% 90%, rgba(43, 182, 115, .1), transparent 70%), linear-gradient(160deg, #fff8f0 0%, #fff6ec 48%, #f7fff9 100%);--surface: rgba(255, 252, 250, .94);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(255, 237, 230, .72);--surface-tint: #ffe8e1;--border: rgba(229, 213, 195, .85);--text: #1a2332;--muted: #5c6678;--primary: #ff6a45;--primary-strong: #e24f2c;--primary-soft: #ffe8e1;--accent: #4c9fe0;--accent-soft: #e5f3ff;--warning: #f0b429;--warning-soft: #fff4d1;--success: #2bb673;--success-soft: #e3f8ec;--danger: #e24f2c;--danger-soft: #ffe8e1;--shadow-soft: 0 16px 40px rgba(255, 106, 69, .1);--shadow-card: 0 10px 28px rgba(26, 35, 50, .07);--radius-card: 26px;--radius-control: 18px}:root[data-design-theme=ivory]{--page-bg: radial-gradient(circle at 12% 10%, rgba(255, 229, 157, .12), transparent 34%), radial-gradient(circle at 82% 8%, rgba(217, 246, 231, .24), transparent 31%), linear-gradient(135deg, #fffefd 0%, #fffbf0 48%, #fcfff9 100%);--surface: rgba(255, 255, 255, .9);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(255, 252, 243, .68);--surface-tint: #fffaf0;--border: rgba(207, 180, 102, .14);--primary: #c9a24b;--primary-strong: #735718;--primary-soft: #fff8e4;--accent: #e69a86;--accent-soft: #fff0eb;--warning: #eacb60;--warning-soft: #fff9e7;--success: #5cba8e;--success-soft: #eaf8ef;--shadow-soft: 0 18px 48px rgba(122, 89, 16, .06);--shadow-card: 0 12px 28px rgba(122, 89, 16, .045)}:root[data-design-theme=mint]{--page-bg: radial-gradient(circle at 12% 12%, rgba(134, 239, 172, .34), transparent 30%), linear-gradient(135deg, #f6fffb 0%, #e8fff4 45%, #f0fbff 100%);--surface-soft: rgba(232, 255, 244, .84);--surface-tint: #dffced;--border: rgba(61, 172, 129, .27);--primary: #10a47a;--primary-strong: #075f4a;--primary-soft: #d8f8ea;--accent: #ff6f61;--accent-soft: #ffe2de;--warning: #f4d13d;--warning-soft: #fff4b9;--success: #17b978;--success-soft: #d9f8e9;--shadow-soft: 0 18px 48px rgba(9, 92, 71, .13);--shadow-card: 0 12px 28px rgba(9, 92, 71, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--page-bg)}.app-version-badge{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:1000;display:inline-flex;align-items:center;gap:5px;min-height:25px;border:1px solid rgba(96,115,140,.2);border-radius:999px;padding:4px 9px;color:var(--muted);background:#ffffffe6;box-shadow:0 5px 18px #1b456f1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.7rem;line-height:1;white-space:nowrap}.app-version-badge span{color:var(--primary-strong);font-weight:900}.app-version-badge strong{color:var(--text);font-size:inherit}.app-version-badge small{color:var(--muted);font-size:.64rem;font-variant-numeric:tabular-nums}button{border:0;font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1180px,100%);min-height:100vh;margin:0 auto;padding:28px 20px 44px}.topbar,.score-main,.record-row,.good-line{display:flex;align-items:center}.topbar{justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:var(--radius-card);margin-bottom:22px;padding:16px;background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar-actions,.admin-top-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.layout-switcher,.language-switcher,.theme-switcher{min-height:44px;border:1px solid transparent;border-radius:var(--radius-control);display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:var(--primary-strong);background:var(--primary-soft);font-weight:900}.layout-switcher select,.language-switcher select,.theme-switcher select{border:0;outline:0;color:var(--text);background:transparent;font:inherit}.eyebrow{margin:0 0 6px;color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase}h1{margin:0;font-size:clamp(2rem,7vw,4rem);letter-spacing:0}.progress-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:10px;margin:0}.step{width:100%;min-width:44px;height:48px;border-radius:var(--radius-control);display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);font-weight:900}.step.active{color:#fff;background:var(--primary)}.step.done{color:var(--primary-strong);background:var(--success-soft)}.reading-panel,.result-panel,.loading-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.reading-panel{padding:clamp(22px,5vw,44px)}.reading-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:22px}.reading-card-title h2{margin:0;font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.12}.reading-card-title>span{min-width:64px;min-height:42px;border-radius:999px;display:grid;place-items:center;color:var(--primary-strong);background:var(--success-soft);font-weight:900}.reading-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}.reading-side-rail,.reading-main-stack{display:grid;gap:16px}.reading-side-rail{position:sticky;top:18px}.sentence-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.95rem;font-weight:800}.sentence-text{max-width:100%;margin:28px 0 32px;font-size:clamp(2rem,8vw,5.4rem);line-height:1.12;font-weight:900;text-align:left;overflow-wrap:normal;white-space:pre-wrap;word-break:normal;-webkit-hyphens:none;hyphens:none}.record-row{gap:12px;flex-wrap:wrap}.listen-row{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:0 0 18px}.record-button,.stop-button,.ghost-button,.listen-button,.next-button{min-height:56px;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 22px;font-weight:900}.record-button{min-width:160px;color:#fff;background:var(--accent)}.stop-button{min-width:160px;color:#fff;background:var(--danger)}.ghost-button{min-width:132px;color:var(--text);background:var(--surface-soft)}.listen-button{min-width:148px;color:var(--primary-strong);background:var(--primary-soft)}.voice-picker{flex:1 1 260px;min-height:56px;border:1px solid var(--border);border-radius:var(--radius-control);display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--text);background:var(--surface-soft);font-weight:900}.voice-picker span{color:var(--muted);font-size:.86rem}.voice-picker select{min-width:0;flex:1;border:0;outline:0;color:#172033;background:transparent;font:inherit}.voice-note{margin:-6px 0 18px;color:var(--muted);font-size:.86rem;font-weight:800}.handback-button{min-width:128px}.status-text,.error-text{margin:18px 0 0;font-weight:800}.status-text{color:var(--primary)}.error-text{color:#b42318}.result-panel{margin-top:18px;padding:24px}.result-panel.great{border-color:var(--success)}.result-panel.retry{border-color:var(--danger-soft)}.score-main{justify-content:space-between;gap:16px}.score-main strong{font-size:4rem;line-height:1}.pass-chip{min-width:108px;height:42px;border-radius:var(--radius-control);display:grid;place-items:center;font-weight:900}.pass-chip.passed{color:var(--primary-strong);background:var(--success-soft)}.pass-chip.retry{color:#7f1d1d;background:var(--danger-soft)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}.metric{min-height:82px;border-radius:var(--radius-control);background:var(--surface-soft);padding:14px}.metric span{display:block;margin-bottom:8px;color:var(--muted);font-weight:800}.metric strong{font-size:1.55rem}.word-feedback{display:flex;flex-wrap:wrap;gap:10px;min-height:38px}.good-line{gap:8px;margin:0;color:var(--primary-strong);font-weight:900}.word-pill{display:inline-flex;align-items:center;gap:12px;min-height:48px;border-radius:var(--radius-control);padding:8px 12px;color:#7c2d12;background:#ffedd5;font-weight:900}.word-pill.missed,.word-pill.misread{color:#7f1d1d;background:#fee2e2}.word-pill.extra{color:var(--primary-strong);background:var(--primary-soft)}.word-pill.unscored{color:#374151;background:#e5e7eb}.word-pill.passed{color:#166534;background:#dcfce7}.word-accuracy-panel{display:grid;gap:9px}.word-feedback-title{color:var(--text);font-size:.9rem;font-weight:900}.word-main{display:grid;gap:2px}.word-main strong{line-height:1.1}.word-phonetic{color:currentColor;font-size:.78rem;font-weight:800;opacity:.72}.word-pill small{min-height:28px;border-radius:999px;display:inline-flex;align-items:center;padding:0 8px;color:inherit;background:#ffffff94;white-space:nowrap}.retry-notice{margin-top:18px;border:2px solid var(--danger-soft);border-left:8px solid var(--danger);border-radius:var(--radius-control);padding:16px 18px;color:#7f1d1d;background:#fff1f2;box-shadow:var(--shadow-card)}.retry-notice-title{display:flex;align-items:center;gap:10px;font-size:1.15rem}.retry-notice p{margin:10px 0 12px;font-weight:900}.retry-notice ul{margin:0;padding-left:22px}.retry-notice li{margin:6px 0;font-weight:800;line-height:1.45}.next-button{width:100%;margin-top:24px;color:#fff;background:var(--primary-strong)}.next-button:disabled{color:#7f1d1d;background:var(--danger-soft);opacity:1}.loading-panel{padding:40px;color:#637083;font-weight:900}.loading-panel p{margin:0 0 18px;line-height:1.5}.practice-book-panel{margin-top:0}.child-shell{width:min(1220px,100%)}.child-player-topbar{display:grid;grid-template-columns:max-content max-content max-content minmax(220px,1fr);gap:14px;align-items:center;margin-bottom:18px}.child-brand-mark,.child-profile-chip,.child-points-chip{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.child-brand-mark{position:relative;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:var(--primary-strong);background:linear-gradient(135deg,var(--surface-strong),var(--primary-soft))}.child-brand-mark svg:last-child{position:absolute;right:7px;top:7px;color:var(--warning);fill:currentColor}.child-profile-chip,.child-points-chip{min-height:56px;border-radius:999px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;color:var(--text);font-weight:900}.child-profile-chip span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent))}.child-points-chip{color:var(--primary-strong);background:var(--surface-strong)}.child-points-chip svg{color:var(--warning);fill:currentColor}.child-top-tools{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.child-learning-layout{display:grid;grid-template-columns:minmax(300px,370px) minmax(0,1fr);gap:18px;align-items:start}.child-learning-layout>.empty-practice-book{grid-column:1 / -1}.child-left-rail{position:sticky;top:18px;display:grid;gap:16px}.practice-books-card,.task-list-card,.child-reading-stage{border:1px solid var(--border);border-radius:var(--radius-card);background:linear-gradient(180deg,var(--surface-strong),var(--surface));box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.practice-books-card,.task-list-card{padding:16px}.merged-practice-card{display:grid;gap:14px}.child-panel-title{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:var(--text)}.child-panel-title strong{flex:1}.practice-book-mini-list,.task-preview-list,.practice-book-tree,.practice-book-lesson-list,.practice-book-tree-section{display:grid;gap:10px}.practice-book-mini{position:relative;width:100%;border:1px solid transparent;border-radius:var(--radius-control);display:grid;grid-template-columns:58px minmax(0,1fr) max-content 20px;grid-template-areas:"cover title count icon" "cover bar count icon";gap:8px 12px;align-items:center;padding:10px;color:var(--text);background:transparent;text-align:left}.practice-book-mini.active,.practice-book-mini:hover{border-color:color-mix(in srgb,var(--primary) 34%,white);background:linear-gradient(135deg,var(--primary-soft),rgba(255,255,255,.72))}.book-cover,.task-thumb{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--success));font-weight:900}.book-cover{grid-area:cover;width:58px;height:58px;border-radius:16px;box-shadow:0 10px 20px #1420331a}.practice-book-mini strong{grid-area:title;min-width:0;overflow-wrap:break-word;word-break:normal}.practice-book-mini .practice-progress-bar{grid-area:bar}.practice-book-mini em{grid-area:count;color:var(--accent);font-size:.86rem;font-style:normal;font-weight:900;white-space:nowrap}.book-expand-icon{grid-area:icon;color:var(--muted);transition:transform .16s ease}.practice-book-tree-section.open .book-expand-icon{transform:rotate(180deg)}.practice-book-lesson-list{padding-left:12px}.practice-book-lesson-list .task-preview-row{box-shadow:none}.practice-course-tree-node,.practice-chapter-node,.practice-section-node{display:grid;gap:8px}.practice-tree-chevron{color:var(--muted);transition:transform .16s ease,color .16s ease}.practice-course-tree-node.open>.task-preview-row>.practice-tree-chevron,.practice-chapter-node.open>.practice-chapter-toggle>.practice-tree-chevron,.practice-section-node.open>.practice-section-toggle>.practice-tree-chevron{color:var(--primary-strong);transform:rotate(90deg)}.practice-course-outline{border-left:2px solid color-mix(in srgb,var(--primary) 24%,var(--border));display:grid;gap:8px;margin-left:12px;padding-left:10px}.practice-chapter-toggle,.practice-section-toggle,.practice-sentence-tree-item{width:100%;border:1px solid color-mix(in srgb,var(--border) 82%,white);color:var(--text);text-align:left}.practice-chapter-toggle{border-radius:12px;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;gap:8px;align-items:center;padding:9px;background:color-mix(in srgb,var(--surface-soft) 76%,white)}.practice-chapter-toggle:hover,.practice-section-toggle:hover{border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--primary-soft) 52%,white)}.practice-chapter-toggle.active,.practice-section-toggle.active{border-color:color-mix(in srgb,var(--primary) 58%,var(--border));background:color-mix(in srgb,var(--primary-soft) 76%,white);box-shadow:inset 3px 0 0 var(--primary),0 5px 14px color-mix(in srgb,var(--primary) 10%,transparent)}.practice-chapter-toggle.active .practice-tree-copy strong,.practice-section-toggle.active .practice-section-label-row strong{color:var(--primary-strong)}.practice-chapter-index{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:.78rem;font-weight:900}.practice-tree-copy{min-width:0;display:grid;gap:2px}.practice-tree-copy strong{min-width:0;font-size:.84rem;line-height:1.3;overflow-wrap:anywhere}.practice-tree-copy small{color:var(--muted);font-size:.72rem;font-weight:800}.practice-section-tree{border-left:1px dashed color-mix(in srgb,var(--primary) 28%,var(--border));display:grid;gap:7px;margin-left:10px;padding-left:9px}.practice-section-toggle{border-radius:10px;display:grid;grid-template-columns:minmax(0,1fr) max-content 16px;gap:7px;align-items:center;padding:8px 9px;background:var(--surface-strong)}.practice-section-heading{min-width:0;display:grid;gap:4px}.practice-section-label-row{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap}.practice-section-label-row i{border-radius:999px;padding:2px 7px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 82%,white);font-size:.66rem;font-style:normal;font-weight:900;white-space:nowrap}.practice-section-label-row strong{min-width:0;color:var(--text);font-size:.78rem;overflow-wrap:anywhere}.practice-section-heading small{color:color-mix(in srgb,var(--text) 62%,var(--muted));font-size:.68rem;font-weight:800;line-height:1.35}.practice-section-toggle>em{color:var(--primary-strong);font-size:.7rem;font-style:normal;font-weight:900;white-space:nowrap}.practice-sentence-tree{display:grid;gap:5px;padding-left:6px}.practice-sentence-tree-item{border-radius:9px;display:grid;grid-template-columns:24px minmax(0,1fr) max-content;gap:7px;align-items:start;padding:7px 8px;background:color-mix(in srgb,var(--surface-soft) 58%,white);font-size:.74rem;line-height:1.4}.practice-sentence-tree-item:hover:not(:disabled),.practice-sentence-tree-item.active{border-color:color-mix(in srgb,var(--primary) 44%,var(--border));background:color-mix(in srgb,var(--primary-soft) 64%,white)}.practice-sentence-tree-item.active{box-shadow:inset 3px 0 0 var(--primary)}.practice-sentence-tree-item.done{border-color:color-mix(in srgb,var(--success) 30%,var(--border))}.practice-sentence-state{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:var(--primary-strong);background:var(--primary-soft);font-size:.68rem;font-weight:900}.practice-sentence-tree-item.done .practice-sentence-state{color:#087443;background:var(--success-soft)}.practice-sentence-tree-item>em{color:var(--primary-strong);font-size:.7rem;font-style:normal;font-weight:900}.task-status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.task-status-tabs span{min-height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;color:var(--primary-strong);background:var(--primary-soft);font-size:.8rem;font-weight:900;white-space:nowrap}.task-status-tabs span:first-child{color:#b42318;background:var(--danger-soft)}.task-status-tabs span:last-child{color:var(--primary-strong);background:var(--success-soft)}.task-preview-row{width:100%;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;grid-template-columns:52px minmax(0,1fr) max-content 24px;gap:10px;align-items:center;padding:10px;color:var(--text);background:var(--surface-strong);text-align:left}.task-preview-row.pending{border-color:color-mix(in srgb,var(--danger) 26%,white);background:linear-gradient(135deg,#fffffff5,color-mix(in srgb,var(--danger-soft) 34%,white))}.task-preview-row.active{border-color:color-mix(in srgb,var(--primary) 50%,white);background:linear-gradient(135deg,var(--primary-soft),rgba(255,255,255,.82));box-shadow:inset 4px 0 0 var(--primary)}.task-preview-row:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}.task-thumb{width:52px;height:52px;border-radius:14px}.task-preview-row div{display:grid;gap:5px}.task-preview-row strong{min-width:0;overflow-wrap:break-word;word-break:normal;line-height:1.35}.task-preview-row small,.task-preview-row em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:900}.child-reading-stage{position:relative;min-height:720px;padding:22px}.reading-stage-live{display:grid;align-content:start}.embedded-reading-workspace{grid-template-columns:minmax(92px,130px) minmax(0,1fr)}.embedded-reading-workspace .reading-side-rail{position:static}.embedded-reading-workspace .progress-line{grid-template-columns:1fr}.reading-stage-live .reading-card-title{display:none}.reading-stage-live .reading-panel,.reading-stage-live .result-panel{box-shadow:none}.reading-stage-live .reading-panel{padding:clamp(22px,3vw,34px)}.reading-stage-live .sentence-text{margin:36px 0;text-align:center;font-size:clamp(2.3rem,5.2vw,5rem)}.stage-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}.stage-header h2{margin:4px 0 0;font-size:1.25rem}.stage-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.streak-chip{min-height:48px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;color:#8a4b00;background:var(--warning-soft);font-weight:900}.stage-sentence-nav{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:12px;overflow-x:auto;padding:2px 2px 8px}.stage-sentence-step{width:42px;height:38px;border:1px solid var(--border);border-radius:14px;flex:0 0 auto;display:grid;place-items:center;color:var(--muted);background:var(--surface-strong);font-size:.92rem;font-weight:900;box-shadow:var(--shadow-card)}.stage-sentence-step.done{color:var(--primary-strong);background:var(--success-soft)}.stage-sentence-step.active{border-color:color-mix(in srgb,var(--primary) 42%,white);color:#fff;background:linear-gradient(135deg,var(--accent),var(--primary))}.stage-sentence-step:disabled{color:color-mix(in srgb,var(--muted) 62%,white);background:color-mix(in srgb,var(--surface-soft) 60%,white);opacity:1;box-shadow:none}.sentence-stage-card{border:1px solid color-mix(in srgb,var(--primary) 24%,white);border-radius:calc(var(--radius-card) + 8px);min-height:620px;display:grid;gap:22px;align-content:start;padding:clamp(20px,4vw,34px);background:linear-gradient(180deg,#fffffff0,#f6fbffc2),var(--primary-soft);box-shadow:inset 0 0 0 1px #ffffffb8}.live-sentence-card{position:relative;isolation:isolate;min-height:0;gap:20px}.live-sentence-card>.sentence-meta{display:grid;grid-template-columns:max-content minmax(260px,380px);align-items:stretch;justify-content:space-between}.sentence-stage-card .sentence-meta .live-stage-actions{display:flex;gap:10px}.sentence-best-summary{min-height:56px;border:1px solid color-mix(in srgb,var(--warning) 34%,white);border-radius:16px;display:grid;grid-template-columns:max-content max-content;gap:3px 10px;align-items:center;padding:8px 12px;color:var(--text);background:linear-gradient(135deg,#ffffffeb,color-mix(in srgb,var(--warning-soft) 44%,white)),var(--surface-strong);box-shadow:var(--shadow-card)}.sentence-best-summary span{color:var(--muted);font-size:.78rem;font-weight:900}.sentence-best-summary strong{color:var(--primary-strong);font-size:1.08rem;line-height:1}.sentence-best-summary .best-score-stars{grid-column:1 / -1}.sentence-best-summary.perfect{border-color:color-mix(in srgb,var(--warning) 58%,white);background:linear-gradient(135deg,#fffffff0,color-mix(in srgb,var(--warning-soft) 76%,white)),var(--surface-strong);box-shadow:0 10px 24px color-mix(in srgb,var(--warning) 18%,transparent),inset 0 0 0 1px #ffffffb8}.live-stage-actions{align-items:stretch;justify-content:flex-end;flex-wrap:nowrap}.compact-voice-picker{flex:1 1 auto;min-height:56px;background:var(--surface-strong)}.round-icon-button{width:46px;height:46px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;color:var(--accent);background:var(--surface-strong);box-shadow:var(--shadow-card)}.sentence-text.preview{margin:26px 0 4px;text-align:center;font-size:clamp(2.2rem,5vw,3.9rem);line-height:1.18}.live-sentence-text{margin:42px 0 34px;font-size:clamp(2.6rem,5.4vw,5.2rem);animation:sentence-enter .22s cubic-bezier(.22,1,.36,1) both}.live-sentence-card.sentence-changing .live-sentence-text{animation:sentence-leave .14s ease-in both}.live-sentence-card.sentence-changing{pointer-events:none}.karaoke-sentence{--karaoke-rest: color-mix(in srgb, var(--text) 54%, var(--muted))}.karaoke-token{white-space:pre-wrap}.karaoke-sentence.playing .karaoke-token{color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) var(--token-progress, 0%),var(--karaoke-rest) var(--token-progress, 0%),var(--karaoke-rest) 100%);background-clip:text;-webkit-background-clip:text}.karaoke-sentence.playing .karaoke-token:not(.space){transition:filter .16s ease}.sentence-dots{display:flex;justify-content:center;gap:10px}.sentence-dots span{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--muted) 18%,white)}.sentence-dots .active{background:var(--primary)}.live-sentence-dots{align-items:center}.sentence-dot-button{position:relative;width:10px;height:10px;border-radius:50%;padding:0;background:color-mix(in srgb,var(--muted) 16%,white)}.sentence-dot-button.active{width:11px;height:11px;background:var(--primary)}.sentence-dot-button.done{background:var(--success)}.sentence-dot-button:disabled{opacity:1}.sentence-dot-button span{position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.stage-record-controls{display:grid;grid-template-columns:minmax(120px,.7fr) 148px minmax(120px,.7fr);gap:18px;align-items:center;justify-content:center}.automatic-practice-bar{width:min(560px,100%);margin:14px auto 0;padding:10px 12px 10px 18px;border:2px solid color-mix(in srgb,var(--accent) 38%,white);border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--text-strong);background:color-mix(in srgb,var(--accent) 9%,white);font-size:.88rem;font-weight:800}.automatic-practice-status-copy{min-width:0;display:grid;gap:2px}.automatic-practice-status-copy strong{color:var(--text-strong);font-size:.92rem}.automatic-practice-status-copy small{color:var(--text-muted);font-size:.75rem;font-weight:700}.recording-countdown-number{display:grid;place-items:center;min-width:1em;font-size:2.4rem;line-height:1;font-weight:1000;animation:recording-countdown-pop .7s ease-out both}@keyframes recording-countdown-pop{0%{opacity:.35;transform:scale(.72)}45%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.automatic-practice-stop{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;color:#9a4e2d;border-color:color-mix(in srgb,var(--accent) 46%,white);background:#fff8f1}.automatic-practice-notice{width:min(620px,100%);margin:14px auto 0;font-weight:800}.automatic-session-panel{display:grid;gap:14px}.automatic-session-list{display:grid;gap:9px}.automatic-session-row{min-width:0;padding:12px 14px;border:1px solid var(--border);border-radius:16px;display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;align-items:center;gap:12px;background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}.automatic-session-marker{width:10px;height:10px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--warning) 14%,transparent)}.automatic-session-row.completed .automatic-session-marker{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 14%,transparent)}.automatic-session-row.active .automatic-session-marker{background:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.automatic-session-row>div{min-width:0;display:grid;gap:3px}.automatic-session-row strong,.automatic-session-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automatic-session-row small,.automatic-session-row time{color:var(--text-muted);font-size:.76rem}.automatic-session-reason{padding:5px 9px;border-radius:999px;color:var(--text-strong);background:color-mix(in srgb,var(--accent) 12%,white);font-size:.76rem;font-weight:800}@media(max-width:720px){.automatic-session-row{grid-template-columns:10px minmax(0,1fr) auto}.automatic-session-row time{grid-column:2 / -1}}@media(max-width:620px){.automatic-practice-bar{align-items:stretch;flex-direction:column;padding:12px}.automatic-practice-stop{justify-content:center}}.platform-admin-page{min-height:100vh;padding:28px clamp(18px,4vw,56px) 80px;color:#32251f;background:radial-gradient(circle at 8% 0%,rgba(255,190,155,.28),transparent 32%),radial-gradient(circle at 95% 12%,rgba(143,210,180,.2),transparent 30%),#fff9f2}.platform-admin-header{max-width:1480px;margin:0 auto 22px;border:1px solid #ead7c7;border-radius:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:#ffffffe6;box-shadow:0 12px 34px #61412e14}.platform-admin-header>div,.platform-admin-header nav,.platform-admin-header a,.platform-admin-header button,.platform-panel-heading,.platform-resource-actions,.platform-resource-actions button{display:flex;align-items:center}.platform-admin-header>div{gap:11px;color:#df653f}.platform-admin-header span{display:grid}.platform-admin-header small,.platform-panel-heading small{color:#9b7866;font-size:.7rem;font-weight:900}.platform-admin-header strong{color:#32251f;font-size:1rem}.platform-admin-header nav{gap:8px}.platform-admin-header a,.platform-admin-header button,.platform-resource-actions button,.platform-panel-heading>button{min-height:36px;border:1px solid #e7d2c0;border-radius:10px;justify-content:center;gap:6px;padding:7px 11px;color:#6e4c3c;background:#fffaf5;font-size:.76rem;font-weight:900;text-decoration:none}.platform-admin-message{max-width:1480px;margin:0 auto 16px;border:1px solid #9bd7bc;border-radius:12px;padding:10px 13px;color:#166534;background:#ecfdf3;font-weight:850}.platform-admin-message.is-error{border-color:#f3b6ac;color:#b42318;background:#fff0ed}.platform-course-sync-panel{max-width:1480px;margin:0 auto 16px;border:1px solid #c8d9cf;border-radius:17px;padding:13px 15px;background:linear-gradient(135deg,#f7fcf9,#fffaf4);box-shadow:0 7px 20px #4a5e4e0f}.platform-course-sync-panel>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.platform-course-sync-panel>header>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#087a4d;background:#dcf5e8}.platform-course-sync-panel h2,.platform-course-sync-panel p{margin:0}.platform-course-sync-panel h2{color:#3e3028;font-size:.94rem}.platform-course-sync-panel small{color:#9a7968;font-size:.65rem;font-weight:850}.platform-course-sync-panel p{margin-top:2px;color:#745d50;font-size:.72rem;font-weight:750}.platform-course-sync-panel>header>b{border-radius:999px;padding:6px 10px;color:#087a4d;background:#e4f7ed;font-size:.68rem}.platform-course-sync-drafts{margin-top:11px;border-top:1px dashed #d9d9c9;display:grid;gap:7px;padding-top:10px}.platform-course-sync-drafts article{border:1px solid #e7d6c8;border-radius:11px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;color:#d45f3f;background:#ffffffe0}.platform-course-sync-drafts article.is-published{color:#168057;opacity:.78}.platform-course-sync-drafts article>div{min-width:0;display:grid;gap:2px}.platform-course-sync-drafts strong{overflow:hidden;color:#4a342a;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.platform-course-sync-drafts button{border:1px solid #efaa91;border-radius:9px;padding:6px 9px;color:#b7472e;background:#fff3ed;font-size:.68rem;font-weight:900}.platform-course-sync-drafts button:disabled{opacity:.5}.platform-publish-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-publish-actions>button{width:100%}.platform-admin-audit-panel{width:calc(100% + -0px);max-width:1480px;margin:22px auto 0;border:1px solid #e1d1c5;border-radius:16px;overflow:hidden;background:#fffdf9;box-shadow:0 7px 20px #5a37220d}.platform-admin-audit-panel>header{display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid #eadfd6;padding:11px 13px;background:#fff8f1}.platform-admin-audit-heading,.platform-admin-audit-heading span{min-width:0;display:flex;align-items:center;gap:9px}.platform-admin-audit-heading{color:#c86240}.platform-admin-audit-heading span{align-items:flex-start;flex-direction:column;gap:1px}.platform-admin-audit-heading strong{color:#4c3328;font-size:.78rem}.platform-admin-audit-heading small{color:#947667;font-size:.64rem;font-weight:750}.platform-admin-audit-panel>header button{min-height:32px;border:1px solid #dfc8b8;border-radius:9px;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;color:#765548;background:#fff;font-size:.68rem;font-weight:900}.platform-admin-audit-panel>header button:disabled{opacity:.5}.platform-hunyuan-compact{min-width:0;border:1px solid #e4d2c5;border-radius:11px;display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:8px;padding:6px 8px;color:#9a6c52;background:#ffffffdb}.platform-hunyuan-compact.status-online{border-color:#9ed8bd;color:#087a4d;background:#f0fbf5}.platform-hunyuan-compact.status-offline{border-color:#f0c59d;color:#b75d24;background:#fff8ee}.platform-hunyuan-compact>span{min-width:0;display:grid;gap:1px}.platform-hunyuan-compact strong{display:flex;align-items:center;gap:6px;color:#4c3328;font-size:.7rem}.platform-hunyuan-compact strong b{border-radius:999px;padding:2px 5px;color:#80695d;background:#eee5de;font-size:.58rem}.platform-hunyuan-compact.status-online strong b{color:#087a4d;background:#d6f5e5}.platform-hunyuan-compact.status-offline strong b{color:#ad5421;background:#ffe4cb}.platform-hunyuan-compact small{overflow:hidden;color:#927869;font-size:.59rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.platform-hunyuan-compact>button{min-height:29px;padding:5px 7px}.platform-hunyuan-compact>button.is-start{border-color:#8fd2b3;color:#087a4d;background:#e6f8ee}.platform-hunyuan-compact>button.is-stop{border-color:#efb59e;color:#a53d25;background:#fff0e9}.platform-admin-audit-lines{max-height:230px;overflow:auto;padding:6px 12px 9px;background:linear-gradient(180deg,#f9f6f2ad,#fff 45px);font-family:Cascadia Mono,SFMono-Regular,Consolas,monospace}.platform-admin-audit-lines>p{display:grid;grid-template-columns:105px 38px minmax(220px,1fr) auto;align-items:baseline;gap:8px;margin:0;border-bottom:1px dashed #eee4dc;padding:7px 2px;color:#6d574b;font-size:.67rem;line-height:1.4}.platform-admin-audit-lines time{color:#9a8173;font-variant-numeric:tabular-nums}.platform-admin-audit-lines b{color:#9b765f}.platform-admin-audit-lines .status-success b{color:#087a4d}.platform-admin-audit-lines .status-failure b{color:#bd402d}.platform-admin-audit-lines code{overflow-wrap:anywhere;color:#4c3328;font:inherit;font-weight:750}.platform-admin-audit-lines small{color:#a27e6b;font:inherit;white-space:nowrap}.platform-admin-audit-lines .platform-admin-audit-empty{display:block;border:0;padding:18px 2px;text-align:center}@keyframes platform-admin-spin{to{transform:rotate(360deg)}}.platform-admin-audit-panel .is-spinning{animation:platform-admin-spin .8s linear infinite}.platform-admin-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:minmax(340px,.78fr) minmax(460px,1.22fr);gap:18px;align-items:start}.platform-admin-grid.has-pdf-preview{grid-template-columns:minmax(700px,1fr) minmax(340px,.42fr)}.platform-admin-grid.is-local-studio,.platform-admin-grid.is-local-studio.has-pdf-preview,.platform-admin-grid.is-platform-console{grid-template-columns:minmax(0,1fr)}.platform-publish-panel,.platform-resource-panel{border:1px solid #ead7c7;border-radius:22px;display:grid;gap:14px;padding:20px;background:#ffffffeb;box-shadow:0 14px 38px #61412e14}.platform-panel-heading{gap:11px}.platform-panel-heading>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ff7658,#e75f42)}.platform-panel-heading>div{min-width:0;flex:1}.platform-panel-heading h1{margin:2px 0 0;font-size:1.08rem}.platform-publish-panel>label,.platform-field-row label{display:grid;gap:6px;color:#725545;font-size:.76rem;font-weight:900}.platform-publish-panel input,.platform-publish-panel select,.platform-publish-panel textarea{width:100%;border:1px solid #e6d1c0;border-radius:11px;padding:10px 12px;color:#32251f;background:#fffdfa;font:inherit;font-weight:750}.platform-publish-panel textarea{resize:vertical}.platform-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-quality-summary{border:1px solid #a8ddc4;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 12px;color:#166534;background:#effbf4}.platform-quality-summary.status-review{border-color:#f4d28a;color:#92400e;background:#fffae9}.platform-quality-summary.status-warning{border-color:#f3b6ac;color:#b42318;background:#fff0ed}.platform-quality-summary strong,.platform-quality-summary span{font-size:.76rem;font-weight:900}.platform-quality-summary small{grid-column:1 / -1;opacity:.78;font-weight:800}.platform-pdf-upload{border:1px dashed #e1b99e;border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;background:#fff8f1}.platform-pdf-upload>div,.platform-pdf-upload>div span,.platform-pdf-editor-title,.platform-pdf-editor-title span{display:flex}.platform-pdf-upload>div{min-width:0;align-items:center;gap:10px;color:#df653f}.platform-pdf-upload>div span,.platform-pdf-editor-title span{min-width:0;flex-direction:column}.platform-pdf-upload strong,.platform-pdf-upload small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-pdf-upload strong{color:#4c3328;font-size:.82rem}.platform-pdf-upload small,.platform-pdf-editor-title small{color:#9b7866;font-size:.66rem;font-weight:800}.platform-pdf-upload label{display:grid;gap:4px;color:#8d6d5c;font-size:.65rem;font-weight:900}.platform-pdf-upload select,.platform-pdf-upload button{min-height:38px;border:1px solid #e6c8b2;border-radius:10px;padding:7px 10px;color:#6e4c3c;background:#fff;font-weight:900}.platform-pdf-upload button{color:#fff;background:#ef7554}.platform-pdf-warnings{border:1px solid #f1d49b;border-radius:12px;padding:9px 11px;color:#8a5b11;background:#fff9e9;font-size:.72rem;font-weight:800}.platform-pdf-warnings p{margin:7px 0 0;line-height:1.45}.platform-ocr-report{border:1px solid #c9b9ef;border-radius:12px;padding:9px 11px;background:#faf7ff;color:#59458c}.platform-ocr-report summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.platform-ocr-report summary>span{display:grid;gap:2px}.platform-ocr-report summary strong,.platform-ocr-report summary b{font-size:.76rem;font-weight:950}.platform-ocr-report summary small,.platform-ocr-report article small{color:#796a9e;font-size:.65rem;font-weight:800}.platform-ocr-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.platform-ocr-stats span{border-radius:999px;padding:5px 8px;background:#efe9ff;font-size:.68rem;font-weight:850}.platform-ocr-report article{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;margin-top:8px;border-top:1px dashed #d8ccf0;padding-top:8px}.platform-ocr-report article p,.platform-ocr-report>p{grid-column:1 / -1;margin:0;color:#63567d;font-size:.68rem;line-height:1.4}.platform-pdf-editor{max-height:min(58vh,620px);border:1px solid #ead7c7;border-radius:14px;display:grid;gap:8px;padding:11px;overflow:auto;background:#fffdfa}.platform-pdf-editor-workspace{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(360px,1.1fr);gap:12px;align-items:stretch}.course-content-editor-workspace.is-single-column{grid-template-columns:minmax(0,1fr)}.course-content-editor-workspace .platform-pdf-editor>details>summary.has-remove{grid-template-columns:auto minmax(0,1fr) auto 30px}.course-content-remove{min-height:28px;border:1px solid #f0cfc2;border-radius:8px;display:grid;place-items:center;padding:0;color:#b94b2f;background:#fff4ef}.course-content-remove:disabled{opacity:.35}.course-content-focus-question{margin:4px 0 7px;color:#8b6f60;font-size:.7rem;font-weight:800}.course-content-row-actions{grid-column:1 / -1;margin-top:0}.course-content-add{width:fit-content;min-height:30px;margin-top:7px;border:1px dashed #e7bda9;border-radius:9px;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;color:#a84b31;background:#fffaf6;font-size:.68rem;font-weight:900}.course-content-add.is-chapter{justify-self:start;margin-top:3px}.course-content-editor-workspace .platform-pdf-sentence.quality-located{border-radius:10px;outline:3px solid rgba(255,168,71,.42);background:#fff7db}.platform-pdf-source-preview{min-width:0;max-height:min(58vh,620px);border:1px solid #ead7c7;border-radius:14px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:9px;padding:11px;overflow:hidden;background:#f7f1ea}.platform-pdf-source-preview>header,.platform-pdf-source-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-pdf-source-preview>header span{display:grid;min-width:0;gap:2px}.platform-pdf-source-preview>header small{color:#a07863;font-size:.65rem;font-weight:900}.platform-pdf-source-preview>header strong{overflow:hidden;color:#4c3328;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.platform-pdf-source-preview>header b{flex:none;border-radius:999px;padding:5px 8px;color:#ad472e;background:#ffe5d8;font-size:.68rem}.platform-pdf-source-preview>img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:9px;background:#fff;box-shadow:0 5px 18px #5f3d2b21}.platform-pdf-source-preview>footer span{color:#806c61;font-size:.64rem;font-weight:800;text-align:center}.platform-pdf-source-preview>footer button{flex:none;border:1px solid #e5c7b5;border-radius:9px;padding:6px 8px;color:#a7482f;background:#fff;font-size:.66rem;font-weight:900}.platform-pdf-source-preview>footer button:disabled{opacity:.38}.platform-pdf-source-placeholder,.platform-pdf-source-empty{display:grid;place-content:center;justify-items:center;gap:7px;min-height:220px;color:#a48270;text-align:center}.platform-pdf-source-placeholder strong{color:#694b3b;font-size:.8rem}.platform-pdf-source-placeholder span,.platform-pdf-source-empty{font-size:.69rem;font-weight:800}.platform-pdf-editor-title{position:sticky;top:-11px;z-index:2;align-items:center;gap:8px;margin:-11px -11px 2px;padding:11px;color:#df653f;background:#fffdfa}.platform-pdf-editor-title strong{color:#4c3328;font-size:.78rem}.platform-pdf-editor>details{border:1px solid #eddccd;border-radius:11px;padding:8px;background:#fff9f3}.platform-pdf-editor>details.is-source-selected{border-color:#ff9a70;box-shadow:0 0 0 2px #ff8c6321}.platform-pdf-editor>details>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;color:#4c3328;font-size:.72rem}.platform-pdf-editor>details>summary span,.platform-pdf-editor>details>summary small{color:#9b7866;font-weight:900}.platform-pdf-chapter-title-input{width:100%;min-width:0;min-height:30px;border:1px solid transparent;border-radius:8px;padding:4px 7px;color:#4c3328;background:transparent;font:inherit;font-weight:900}.platform-pdf-chapter-title-input:hover{border-color:#ead4c4;background:#ffffffb3}.platform-pdf-chapter-title-input:focus{border-color:#ff9a70;outline:2px solid rgba(255,154,112,.18);background:#fff}.platform-pdf-section{border-left:3px solid #ffb18f;margin-top:10px;padding:7px 8px 7px 10px;border-radius:0 12px 12px 0;background:#fff7f1c2}.platform-pdf-section>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#9c432d}.platform-pdf-section>summary strong{font-size:.82rem}.platform-pdf-section>summary small{color:#8a7568;font-size:.68rem}.platform-pdf-section[open]>summary{margin-bottom:8px}.platform-pdf-section.is-source-selected{border-left-color:#ef6d46;background:#fff0e7;box-shadow:inset 0 0 0 1px #ef6d462e}.platform-pdf-section-title{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:7px;color:#8d7667;font-size:.68rem}.platform-pdf-section-title>input{color:#b94b2f;font-size:.74rem;font-weight:950}.platform-pdf-sentence{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:6px;margin-top:6px}.platform-pdf-sentence.is-word{grid-template-columns:minmax(0,1fr) minmax(140px,auto) 34px;align-items:center}.platform-pdf-sentence textarea{width:100%;min-height:34px;overflow:hidden;resize:none;line-height:1.45;text-align:left;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.platform-word-meta{display:flex;align-items:center;gap:5px;min-width:0}.platform-word-meta b{flex:none;padding:3px 6px;border-radius:99px;font-size:.64rem}.platform-word-meta b.is-required{color:#a33920;background:#ffe0d6}.platform-word-meta b.is-optional{color:#45705a;background:#dff2e7}.platform-word-meta small{max-width:105px;overflow:hidden;color:#76675e;font-size:.64rem;white-space:nowrap;text-overflow:ellipsis}.platform-pdf-sentence button{min-height:34px;align-self:start;border:1px solid #efcfc2;border-radius:9px;display:grid;place-items:center;color:#b94b2f;background:#fff4ef}.platform-publish-panel>button{justify-self:end}.platform-resource-list{display:grid;gap:11px}.platform-resource-list article{border:1px solid #ead7c7;border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 16px;padding:14px;background:#fffaf5}.platform-resource-list article.is-unpublished{opacity:.62;filter:grayscale(.35)}.platform-resource-list h2,.platform-resource-list p{margin:0}.platform-resource-list h2{margin-top:3px;font-size:.96rem}.platform-resource-list p{margin-top:5px;color:#8d6d5c;font-size:.76rem;font-weight:750;line-height:1.45}.platform-resource-list small{color:#d25e3f;font-weight:900}.platform-resource-meta{display:flex;flex-wrap:wrap;gap:6px;grid-column:1}.platform-resource-meta span{border-radius:999px;padding:4px 7px;color:#725545;background:#f6e9dd;font-size:.68rem;font-weight:900}.platform-resource-actions{grid-column:2;grid-row:1 / span 2;align-self:center;flex-direction:column;gap:7px}.family-course-admin-grid{width:100%;max-width:none}.platform-admin-grid.family-course-admin-grid,.platform-admin-grid.family-course-admin-grid.has-pdf-preview{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr)}.family-course-publish-panel,.family-course-resource-panel{min-width:0}.family-course-publish-panel .course-tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.family-course-publish-panel .course-tag-preview{display:flex;flex-wrap:wrap;gap:6px}.family-course-create-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.family-published-course-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px}.family-published-course-filters>*{min-width:0;max-width:100%}.family-published-course-filters>input,.family-published-course-filters>select{width:100%;min-height:38px;border:1px solid #e6d1c0;border-radius:10px;padding:7px 10px;color:#5d4134;background:#fffdfa;font:inherit;font-size:.74rem;font-weight:800}.family-course-readonly-badge{border:1px solid #efc999;border-radius:999px;padding:6px 10px;color:#9a581e;background:#fff5df;font-size:.7rem;font-weight:900;white-space:nowrap}.family-course-resource-panel .tag-filter-control,.family-course-resource-panel .tag-filter-control summary,.family-course-resource-panel .practice-course-toggle{width:100%;min-width:0}.family-course-resource-panel .tag-filter-panel{right:0;left:auto;width:min(280px,calc(200% + 8px));max-width:calc(100vw - 48px)}.family-course-resource-panel .platform-resource-list article{grid-template-columns:minmax(0,1fr)}.family-course-resource-panel .platform-resource-list h2,.family-course-resource-panel .platform-resource-list p{overflow-wrap:anywhere}.family-course-resource-panel .platform-resource-meta,.family-course-resource-panel .platform-resource-actions{grid-column:1}.family-course-resource-panel .platform-resource-actions{grid-row:auto;align-items:stretch;flex-flow:row wrap}.family-course-resource-panel .platform-resource-actions>button,.family-course-resource-panel .platform-resource-actions>.family-course-readonly-badge{flex:1 1 112px;min-width:0}.family-course-resource-panel .family-course-readonly-badge{display:grid;place-items:center;text-align:center}.family-course-resource-panel .course-list-footer{margin-top:0}.platform-empty{border:1px dashed #dec6b2;border-radius:14px;margin:0;padding:32px 18px;color:#8d6d5c;text-align:center;font-weight:800}.platform-admin-denied{display:grid;place-items:center}.platform-admin-denied section{max-width:520px;border:1px solid #ead7c7;border-radius:22px;padding:36px;background:#fff;text-align:center}.platform-admin-denied svg{color:#d25e3f}.platform-admin-denied a{display:inline-flex;align-items:center;gap:6px;color:#d25e3f;font-weight:900}@media(max-width:980px){.platform-admin-grid,.platform-admin-grid.has-pdf-preview,.platform-admin-grid.family-course-admin-grid,.platform-admin-grid.family-course-admin-grid.has-pdf-preview{grid-template-columns:1fr}.platform-admin-audit-panel>header{grid-template-columns:minmax(220px,auto) minmax(300px,1fr)}.platform-admin-audit-panel>header>button{grid-column:1 / -1;justify-self:end}}@media(max-width:760px){.platform-pdf-editor-workspace{grid-template-columns:1fr}.platform-pdf-source-preview{height:min(70vh,620px)}}@media(max-width:640px){.platform-admin-page{padding:14px 12px 70px}.platform-admin-header,.platform-admin-header nav{align-items:stretch;flex-direction:column}.platform-field-row,.platform-resource-list article{grid-template-columns:1fr}.platform-course-sync-panel>header,.platform-course-sync-drafts article,.platform-publish-actions{grid-template-columns:1fr}.platform-course-sync-panel>header>b{justify-self:start}.platform-pdf-upload{grid-template-columns:1fr}.platform-resource-actions{grid-column:1;grid-row:auto;align-items:stretch}.family-published-course-filters,.family-course-publish-panel .course-tag-add-row{grid-template-columns:1fr}.family-course-create-actions{align-items:stretch;flex-direction:column-reverse}.platform-admin-audit-panel>header{align-items:flex-start;grid-template-columns:1fr auto}.platform-hunyuan-compact{grid-column:1 / -1;grid-row:2}.platform-admin-audit-panel>header>button{grid-column:2;grid-row:1}.platform-admin-audit-lines>p{grid-template-columns:92px 34px minmax(0,1fr)}.platform-admin-audit-lines small{grid-column:3;white-space:normal}}.record-orb-button{position:relative;isolation:isolate;width:148px;height:148px;border:8px solid color-mix(in srgb,var(--primary) 22%,white);border-radius:50%;display:grid;place-items:center;align-content:center;color:#fff;background:linear-gradient(135deg,var(--accent),var(--primary));box-shadow:0 20px 45px color-mix(in srgb,var(--primary) 24%,transparent);font-weight:900}.record-orb-button span{font-size:.78rem}.record-orb-button.recording{border-color:color-mix(in srgb,var(--danger) 24%,white);background:linear-gradient(135deg,#ff8a8a,var(--danger));box-shadow:0 20px 45px color-mix(in srgb,var(--danger) 24%,transparent);animation:record-breathe 1.6s ease-in-out infinite}.record-orb-button.recording:before,.record-orb-button.recording:after{content:"";position:absolute;z-index:-1;inset:-14px;border:2px solid color-mix(in srgb,var(--danger) 46%,transparent);border-radius:50%;animation:record-ripple 1.8s ease-out infinite}.record-orb-button.recording:after{animation-delay:.9s}.record-orb-button.recording>svg,.record-orb-button.recording>span{position:relative;z-index:1}.record-wave{height:17px;display:flex;align-items:center;gap:3px;margin:2px 0}.record-wave i{width:3px;height:6px;border-radius:999px;background:currentColor;animation:record-wave .76s ease-in-out infinite alternate}.record-wave i:nth-child(2){animation-delay:-.38s}.record-wave i:nth-child(3){animation-delay:-.19s}.record-wave i:nth-child(4){animation-delay:-.57s}.record-orb-button:disabled{opacity:.72}.play-voice-button{color:var(--primary-strong);background:var(--success-soft)}.next-stage-button{color:var(--primary-strong);background:linear-gradient(135deg,var(--success-soft),var(--surface-strong))}.guided-practice-status{width:fit-content;max-width:100%;margin:-4px auto 0;border-radius:999px;padding:8px 14px;color:var(--primary-strong);background:var(--primary-soft);font-size:.86rem;font-weight:850;text-align:center}.stage-inline-message{margin:-4px 0 0;text-align:center}.microphone-permission-banner{margin:2px auto 0;max-width:680px;text-align:left}.microphone-permission-banner .ui-status-banner__body{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.microphone-permission-banner button{flex:0 0 auto;border:1px solid rgba(226,132,58,.38);border-radius:999px;padding:7px 12px;background:#fff;color:#8a520f;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.stage-score-row{border:1px solid var(--border);border-radius:var(--radius-card);display:grid;grid-template-columns:78px minmax(0,1fr) minmax(120px,.55fr) minmax(120px,.55fr);gap:14px;align-items:center;padding:16px;background:#ffffff9e}.stage-score-ring{width:68px;height:68px;border:8px solid var(--success);border-right-color:var(--primary);border-radius:50%;display:grid;place-items:center;color:var(--text);background:var(--surface-strong)}.stage-score-ring strong{font-size:1.25rem}.live-stage-score{grid-template-columns:78px minmax(170px,1fr) repeat(2,minmax(110px,.5fr));animation:score-card-enter .28s cubic-bezier(.22,1,.36,1) both}.live-stage-score .stage-score-ring{animation:score-ring-pop .42s cubic-bezier(.34,1.56,.64,1) both}.live-stage-score.great{border-color:color-mix(in srgb,var(--success) 38%,white)}.live-stage-score.retry{border-color:color-mix(in srgb,var(--danger) 30%,white)}.attempt-result-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.attempt-result-toolbar>span{border-radius:999px;padding:5px 10px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 78%,white);font-size:.78rem;font-weight:900}.attempt-result-toolbar>span.current{color:color-mix(in srgb,var(--success) 75%,var(--text));background:color-mix(in srgb,var(--success) 13%,white)}.attempt-audio-button{border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border));border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 13px;color:var(--primary-strong);background:var(--surface-strong);font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}.attempt-audio-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.attempt-audio-button.secondary{color:var(--muted);background:color-mix(in srgb,var(--surface-strong) 82%,var(--primary-soft))}.attempt-audio-button:hover:not(:disabled),.attempt-audio-button.playing{border-color:var(--primary);color:#fff;background:var(--primary)}.attempt-audio-button:disabled{cursor:not-allowed;opacity:.55}.stage-score-copy{display:grid;gap:6px}.stage-score-copy strong{line-height:1.35}.mini-stars{display:flex;gap:3px}.mini-stars svg{color:color-mix(in srgb,var(--muted) 36%,white);fill:none}.mini-stars svg.filled{color:var(--warning);fill:currentColor}.live-stage-score .mini-stars svg.filled{opacity:0;animation:score-star-pop .36s cubic-bezier(.34,1.56,.64,1) forwards}.live-stage-score .mini-stars svg.filled:nth-child(1){animation-delay:80ms}.live-stage-score .mini-stars svg.filled:nth-child(2){animation-delay:.15s}.live-stage-score .mini-stars svg.filled:nth-child(3){animation-delay:.22s}.live-stage-score .mini-stars svg.filled:nth-child(4){animation-delay:.29s}.live-stage-score .mini-stars svg.filled:nth-child(5){animation-delay:.36s}.sentence-success-sparkles{position:absolute;z-index:4;top:42%;right:9%;left:9%;height:150px;pointer-events:none}.sentence-success-sparkles span{position:absolute;color:var(--warning);font-size:1.15rem;opacity:0;animation:sentence-sparkle .9s ease-out forwards}.sentence-success-sparkles span:nth-child(1){left:6%;top:54%;animation-delay:20ms}.sentence-success-sparkles span:nth-child(2){left:18%;top:12%;animation-delay:.12s;color:var(--accent)}.sentence-success-sparkles span:nth-child(3){left:34%;top:42%;animation-delay:60ms;color:var(--success)}.sentence-success-sparkles span:nth-child(4){left:47%;top:2%;animation-delay:.18s}.sentence-success-sparkles span:nth-child(5){right:34%;top:48%;animation-delay:90ms;color:var(--primary)}.sentence-success-sparkles span:nth-child(6){right:18%;top:16%;animation-delay:.15s;color:var(--success)}.sentence-success-sparkles span:nth-child(7){right:7%;top:58%;animation-delay:40ms;color:var(--accent)}.sentence-success-sparkles span:nth-child(8){left:52%;top:68%;animation-delay:.22s;color:var(--primary)}.lesson-celebration{position:absolute;z-index:20;inset:0;border-radius:inherit;display:grid;place-items:center;overflow:hidden;pointer-events:none}.lesson-celebration strong{border:3px solid rgba(255,255,255,.88);border-radius:999px;padding:16px 28px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--primary),var(--success));box-shadow:0 20px 60px color-mix(in srgb,var(--primary) 32%,transparent);font-size:clamp(1.2rem,3vw,2rem);font-weight:950;animation:completion-badge 1.8s cubic-bezier(.22,1,.36,1) both}.confetti-piece{position:absolute;top:-24px;left:var(--confetti-left);width:9px;height:18px;border-radius:3px;background:var(--confetti-color);transform:rotate(var(--confetti-rotation));animation:confetti-fall 1.65s cubic-bezier(.16,.72,.36,1) var(--confetti-delay) both}.best-score-stars{gap:4px}.best-score-stars svg{width:15px;height:15px}.best-score-stars.perfect svg.filled{stroke:#ffffffb8;stroke-width:2.4;filter:drop-shadow(0 2px 5px rgba(245,158,11,.32))}.best-score-stars.perfect svg.filled:nth-child(1){color:#f59e0b}.best-score-stars.perfect svg.filled:nth-child(2){color:#fb7185}.best-score-stars.perfect svg.filled:nth-child(3){color:#a78bfa}.best-score-stars.perfect svg.filled:nth-child(4){color:#38bdf8}.best-score-stars.perfect svg.filled:nth-child(5){color:#34d399}.stage-score-row .metric{min-height:66px;padding:10px}.stage-word-feedback{margin:0}.live-stage-score .stage-word-feedback{grid-column:1 / -1;padding-top:2px}.stage-word-feedback .good-line,.stage-retry-notice{margin:0}.stage-tip{border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;padding-top:12px;color:var(--muted);font-weight:800}@keyframes sentence-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sentence-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes record-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes record-ripple{0%{opacity:.58;transform:scale(.9)}to{opacity:0;transform:scale(1.24)}}@keyframes record-wave{0%{height:5px}to{height:17px}}@keyframes score-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes score-ring-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes score-star-pop{0%{opacity:0;transform:scale(.35) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes sentence-sparkle{0%{opacity:0;transform:translateY(12px) scale(.4) rotate(-18deg)}35%{opacity:1}to{opacity:0;transform:translateY(-34px) scale(1.25) rotate(16deg)}}@keyframes completion-badge{0%{opacity:0;transform:scale(.55) rotate(-4deg)}18%,72%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(1.04)}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(var(--confetti-rotation))}10%{opacity:1}to{opacity:0;transform:translate3d(24px,720px,0) rotate(calc(var(--confetti-rotation) + 520deg))}}.child-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.child-home-main{display:grid;gap:18px}.child-focus-card{border:1px solid var(--border);border-radius:var(--radius-card);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.55fr) max-content;gap:18px;align-items:center;padding:22px;color:var(--text);background:linear-gradient(135deg,#ffffffdb,#ffffff94),var(--surface-tint);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.child-focus-card h2{margin:0 0 12px;font-size:clamp(1.35rem,3vw,2.3rem);line-height:1.12;overflow-wrap:anywhere}.focus-wave,.voice-dock-wave{min-height:76px;border-radius:var(--radius-control);display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;background:#ffffff85}.focus-wave span,.voice-dock-wave i{width:6px;border-radius:999px;background:linear-gradient(180deg,var(--primary),var(--accent))}.child-practice-dock{position:sticky;top:18px;display:grid;gap:12px}.empty-practice-book,.child-practice-list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.empty-practice-book{min-height:260px;display:grid;place-items:center;gap:14px;padding:34px;text-align:center}.empty-practice-book p{max-width:420px;margin:0;color:var(--muted);font-size:1.08rem;font-weight:900;line-height:1.55}.child-practice-sections{display:grid;gap:18px}.child-practice-section{display:grid;gap:12px}.child-practice-section-header{display:flex;align-items:center;gap:10px;color:var(--text)}.child-practice-section-header strong{min-width:0;font-size:1.18rem;overflow-wrap:anywhere}.child-practice-section-header span{margin-left:auto;border-radius:999px;padding:5px 10px;color:var(--primary-strong);background:var(--primary-soft);font-size:.82rem;font-weight:900;white-space:nowrap}.child-practice-list{display:grid;gap:12px;padding:14px}.child-practice-status-group{display:grid;gap:10px}.child-practice-status-group+.child-practice-status-group{border-top:1px solid var(--border);padding-top:12px}.child-practice-status-group h2{margin:0;color:var(--muted);font-size:.94rem;font-weight:900}.child-practice-card{width:100%;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px 14px;padding:18px;color:var(--text);background:var(--surface-strong);text-align:left}.child-practice-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,white);background:var(--surface-tint)}.child-practice-card span{width:max-content;border-radius:999px;padding:5px 10px;color:var(--primary-strong);background:var(--primary-soft);font-size:.82rem;font-weight:900}.child-practice-card strong{grid-column:1 / -1;font-size:1.35rem;overflow-wrap:anywhere}.child-practice-card em{justify-self:end;color:var(--muted);font-style:normal;font-weight:900}.child-practice-card .practice-progress-bar{grid-column:1 / -1}.dock-stat-card,.voice-dock-card{border:1px solid var(--border);border-radius:var(--radius-card);display:grid;gap:8px;padding:16px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dock-stat-card span,.voice-dock-card span{color:var(--muted);font-size:.86rem;font-weight:900}.dock-stat-card strong,.voice-dock-card strong{font-size:1.75rem;line-height:1}.dock-stat-card.success{background:linear-gradient(135deg,var(--success-soft),var(--surface))}.voice-dock-card .voice-dock-wave{min-height:92px}.admin-shell{width:min(1220px,100%);min-height:100vh;margin:0 auto;padding:28px 20px 40px}.admin-shell.layout-phone{width:min(390px,100%);padding:18px 10px 28px}.admin-shell.layout-tablet{width:min(768px,100%)}.admin-shell.layout-desktop{width:min(1220px,100%)}.admin-topbar,.admin-section-header,.admin-actions,.lesson-row{display:flex;align-items:center}.admin-topbar{justify-content:space-between;gap:18px;margin-bottom:28px;border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-topbar h1{font-size:clamp(2rem,5vw,3.4rem)}.admin-dashboard-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:-12px 0 18px}.admin-dashboard-card{min-height:104px;border:1px solid var(--border);border-radius:var(--radius-card);display:grid;gap:8px;align-content:center;padding:16px;color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-dashboard-card.active{background:linear-gradient(135deg,#ffffffeb,color-mix(in srgb,var(--primary-soft) 58%,white)),var(--surface)}.admin-dashboard-card.progress{gap:10px}.admin-dashboard-card span,.admin-dashboard-card small{color:var(--muted);font-size:.82rem;font-weight:900}.admin-dashboard-card strong{min-width:0;color:var(--text);font-size:1.45rem;line-height:1.08;overflow-wrap:anywhere}.admin-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:18px;align-items:start}.admin-layout.side-only{grid-template-columns:1fr}.admin-layout.side-only .admin-module-stack{grid-template-columns:minmax(330px,.85fr) minmax(280px,.58fr) minmax(330px,.85fr)}.admin-shell.layout-phone .admin-topbar,.admin-shell.layout-tablet .admin-topbar{align-items:flex-start;flex-direction:column}.admin-shell.layout-phone .admin-top-actions,.admin-shell.layout-tablet .admin-top-actions{width:100%;justify-content:flex-start}.admin-shell.layout-phone .admin-layout,.admin-shell.layout-tablet .admin-layout{grid-template-columns:1fr}.admin-shell.layout-phone .admin-dashboard-strip,.admin-shell.layout-tablet .admin-dashboard-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell.layout-phone .admin-panel-header{align-items:flex-start;flex-direction:column}.admin-shell.layout-phone .admin-panel-actions{width:100%;justify-content:stretch}.admin-shell.layout-phone .compact-action{flex:1 1 128px}.admin-shell.layout-phone .child-create-row{grid-template-columns:1fr}.admin-shell.layout-phone .practice-summary-actions,.admin-shell.layout-tablet .practice-summary-actions{grid-template-columns:42px 42px minmax(0,1fr)}.admin-shell.layout-phone .practice-summary-actions .compact-action,.admin-shell.layout-phone .practice-summary-actions .danger-action,.admin-shell.layout-tablet .practice-summary-actions .compact-action,.admin-shell.layout-tablet .practice-summary-actions .danger-action{grid-column:span 3}.admin-editor,.admin-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.admin-editor{padding:22px}.hidden-file-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.admin-panel{padding:18px}.admin-side{display:grid;gap:18px}.admin-module-stack{align-items:start}.practice-manager-panel{background:linear-gradient(135deg,#ffffffe6,#ffffff9e),var(--surface-tint)}.admin-panel-section{border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:var(--radius-control);display:grid;gap:14px;padding:14px;background:linear-gradient(135deg,#ffffffc2,#ffffff70),color-mix(in srgb,var(--surface-strong) 78%,transparent)}.admin-panel-section+.admin-panel-section{margin-top:14px}.admin-subsection-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-subsection-header h3{margin:0;color:var(--text);font-size:.98rem;font-weight:900}.admin-subsection-header span{min-width:0;border-radius:999px;padding:5px 10px;color:var(--primary-strong);background:var(--primary-soft);font-size:.78rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-book-settings{background:linear-gradient(135deg,#ffffffd6,color-mix(in srgb,var(--primary-soft) 26%,white)),var(--surface-strong)}.practice-book-control-grid{display:grid;gap:10px}.task-queue-section{background:linear-gradient(180deg,#ffffffdb,#ffffff85),var(--surface-strong)}.lesson-detail-module{min-height:420px}.admin-section-header{gap:10px;margin-bottom:18px;color:var(--text)}.admin-section-header.detail-header,.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-panel-header{margin-bottom:14px}.content-preview-panel.collapsed{padding-block:14px}.content-preview-panel.collapsed .content-preview-header{margin-bottom:0}.content-preview-body{min-width:0}.admin-section-title,.admin-panel-actions{display:flex;align-items:center;gap:10px}.admin-panel-actions{flex-wrap:wrap;justify-content:flex-end}.pdf-rule-selector{border:1px solid var(--border);border-radius:var(--radius-control);display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-soft);color:var(--muted);font-size:.82rem;font-weight:850}.pdf-rule-selector select{border:0;min-height:24px;padding:0 22px 0 0;background:transparent;font-weight:950}.empty-rule-selector{margin-top:8px}.admin-section-header h2,.admin-panel h2{margin:0;font-size:1.1rem}.admin-field{display:grid;gap:8px;margin-bottom:16px;color:var(--muted);font-weight:900}.admin-panel-section .admin-field{margin-bottom:0}.admin-field.compact{max-width:170px}.admin-field input,.admin-field select,.admin-field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-control);padding:12px 13px;color:var(--text);background:var(--surface-strong);font:inherit;font-weight:700}.admin-field select{min-height:46px}.readonly-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,170px);gap:12px;margin-bottom:18px}.readonly-field{display:grid;gap:8px;color:var(--muted);font-weight:900}.readonly-field strong{min-height:46px;border:1px solid var(--border);border-radius:var(--radius-control);display:flex;align-items:center;padding:12px 13px;color:var(--text);background:var(--surface-strong);line-height:1.45;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.course-tag-preview,.readonly-tag-list{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.course-tag-editor-field{gap:8px}.course-tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:8px;align-items:center}.course-tag-preview{margin-top:8px}.course-tag-preview em,.readonly-tag-list em{border:1px solid color-mix(in srgb,var(--primary) 30%,white);border-radius:999px;padding:5px 9px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 72%,white);display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:.8rem;font-weight:900;line-height:1.1}.course-tag-preview em button{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 46%,white);font-size:.72rem;font-weight:900;line-height:1}.course-tag-preview em button:hover{color:#fff;background:var(--danger)}.readonly-field.compact{max-width:170px}.admin-shell.layout-phone .readonly-grid{grid-template-columns:1fr}.admin-shell.layout-phone .readonly-field.compact{max-width:none}.admin-field textarea{min-height:46px;overflow:hidden;resize:none;line-height:1.5;text-align:left;overflow-wrap:anywhere;word-break:break-all}.admin-actions{gap:12px;flex-wrap:wrap}.child-create-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:center}.child-create-row input{width:100%;min-height:40px;border:1px solid var(--border);border-radius:var(--radius-control);padding:0 12px;color:var(--text);background:var(--surface-strong);font:inherit;font-weight:800}.start-practice-button{width:100%;margin-top:12px}.parent-status-tabs{margin:0}.practice-summary{border:1px solid var(--border);border-radius:var(--radius-control);display:grid;gap:10px;padding:12px;background:var(--surface-strong)}.practice-summary:hover{border-color:color-mix(in srgb,var(--primary) 34%,white);background:var(--surface-tint)}.practice-book-list{display:grid;gap:10px}.practice-summary-top{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:start}.practice-summary-body{min-width:0;display:grid;gap:9px}.admin-task-thumb{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--success));font-size:1.1rem;font-weight:900;box-shadow:0 12px 24px color-mix(in srgb,var(--primary) 18%,transparent)}.practice-summary-title{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:0;color:var(--text);background:transparent;text-align:left}.practice-summary-title strong{min-width:0;overflow-wrap:anywhere}.practice-summary-heading{min-width:0;display:grid;gap:6px;color:inherit;font-size:inherit;font-weight:inherit;white-space:normal}.practice-summary-title span{color:var(--muted);font-size:.84rem;font-weight:900;white-space:nowrap}.practice-summary-title .practice-summary-heading{color:inherit;font-size:inherit;font-weight:inherit;white-space:normal}.practice-status-chip{width:max-content;border-radius:999px;padding:4px 8px;color:var(--primary-strong);background:var(--primary-soft);font-size:.78rem;font-style:normal;font-weight:900;white-space:nowrap}.practice-status-chip.in_progress{color:#854d0e;background:var(--warning-soft)}.practice-status-chip.completed{color:var(--primary-strong);background:var(--success-soft)}.practice-summary-main,.practice-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.practice-summary-main span,.practice-summary-meta span,.practice-pending-list span{color:var(--muted);font-size:.84rem;font-weight:900}.practice-summary-main strong{color:var(--text);font-weight:900}.practice-summary-main em{border-radius:var(--radius-control);padding:4px 8px;color:var(--primary-strong);background:var(--success-soft);font-size:.78rem;font-style:normal;font-weight:900;white-space:nowrap}.practice-progress-bar{display:block;height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--primary-soft) 45%,white)}.practice-progress-bar span,.practice-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success))}.practice-summary-meta strong{color:var(--text);font-size:.96rem;font-weight:900}.practice-summary-actions{display:grid;grid-template-columns:42px 42px minmax(0,1fr) max-content max-content;gap:8px;align-items:center}.practice-summary-actions select{min-width:0;min-height:40px;border:1px solid var(--border);border-radius:var(--radius-control);padding:0 10px;color:var(--text);background:var(--surface-strong);font:inherit;font-weight:800}.icon-action{width:42px;min-height:40px;padding:0}.danger-action{color:#7f1d1d;background:var(--danger-soft)}.practice-pending-list{display:grid;gap:6px}.practice-pending-list p,.practice-complete{margin:0;color:var(--text);font-size:.9rem;font-weight:800;line-height:1.45;overflow-wrap:anywhere;word-break:break-all}.practice-complete{color:var(--primary-strong)}.chapter-editor-list{display:grid;gap:14px;margin:18px 0}.chapter-editor{border:1px solid var(--border);border-radius:var(--radius-control);padding:16px;background:var(--surface-soft)}.readonly-chapter{background:var(--surface-strong)}.chapter-editor-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.chapter-section-editor-list{display:grid;gap:12px}.chapter-section-editor{border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:10px;display:grid;gap:10px;padding:12px;background:#ffffff94}.readonly-section{background:color-mix(in srgb,var(--surface-soft) 76%,white)}.chapter-section-title{display:inline-flex;align-items:center;gap:8px;color:var(--primary-strong)}.chapter-section-title strong{font-size:.92rem}.chapter-section-context{margin:-2px 0 12px;color:var(--primary-strong);font-size:.9rem;font-weight:900;line-height:1.45}.chapter-preview-section>small{display:block;margin-top:5px;color:var(--primary-strong);font-weight:850;line-height:1.4}.sentence-editor-list{display:grid;gap:10px;margin-bottom:12px}.sentence-editor-row{grid-template-columns:minmax(0,1fr) 42px;grid-template-areas:"label label" "textarea delete" "actions actions";align-items:start;gap:8px 10px;margin-bottom:0}.sentence-editor-row span,.sentence-editor-row label{grid-area:label;color:var(--muted);font-size:.86rem}.sentence-editor-row textarea{grid-area:textarea}.sentence-editor-row>.icon-danger-button{grid-area:delete;align-self:start;justify-self:end;margin-top:0}.word-import-metadata{grid-area:actions;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.word-import-metadata span,.word-import-metadata em,.sentence-preview-text em{display:inline-flex;width:auto;padding:3px 8px;border-radius:999px;background:var(--soft);font-style:normal;font-weight:700}.word-import-metadata em,.sentence-preview-text em{color:#9a692d;background:#fff0c8}.sentence-preview-text small{color:var(--muted)}.sentence-correction-actions{grid-area:actions;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sentence-correction-actions select,.sentence-action-button{min-height:38px;border:1px solid var(--border);border-radius:11px;color:var(--text);background:var(--surface-strong);font-weight:850}.sentence-correction-actions select{min-width:150px;padding:0 10px}.sentence-action-button{width:38px;display:inline-grid;place-items:center;padding:0}.sentence-action-button:disabled{opacity:.42}.sentence-add-button{width:fit-content}.readonly-sentence-list{display:grid;gap:10px;margin-top:14px}.readonly-sentence-row{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:start}.readonly-sentence-row span{padding-top:12px;color:var(--muted);font-size:.86rem;font-weight:900}.readonly-sentence-row p{min-height:46px;border:1px solid var(--border);border-radius:var(--radius-control);margin:0;padding:12px 13px;color:var(--text);background:var(--surface-soft);font-weight:800;line-height:1.5;text-align:left;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.admin-shell.layout-phone .readonly-sentence-row{grid-template-columns:1fr;gap:6px}.admin-shell.layout-phone .readonly-sentence-row span{padding-top:0}.admin-shell.layout-phone .lesson-library-filters,.admin-shell.layout-tablet .lesson-library-filters{grid-template-columns:1fr}.admin-primary-button,.admin-secondary-button,.admin-link-button,.icon-danger-button{min-height:46px;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:900}.compact-action{min-height:40px;padding:0 12px;white-space:nowrap}.admin-primary-button{color:#fff;background:var(--primary)}.admin-secondary-button,.admin-link-button{color:var(--text);background:var(--surface-soft)}.icon-danger-button{width:42px;min-height:42px;padding:0;color:#7f1d1d;background:var(--danger-soft)}.admin-muted{margin:14px 0 0;color:var(--muted);font-weight:800;line-height:1.5}.import-preview-banner{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:var(--radius-control);display:grid;gap:6px;margin-bottom:18px;padding:13px 14px;color:var(--text);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 62%,white),#ffffffb8),var(--surface-soft)}.import-preview-banner strong{font-size:.96rem}.import-preview-banner span,.import-preview-banner small{color:var(--muted);font-weight:850;line-height:1.45}.pdf-quality-report{border:1px solid color-mix(in srgb,var(--success) 34%,var(--border));border-radius:var(--radius-control);display:grid;gap:12px;margin-bottom:18px;padding:14px;background:color-mix(in srgb,var(--success-soft) 48%,white)}.pdf-quality-report.status-review{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning-soft) 52%,white)}.pdf-quality-report.status-warning{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger-soft) 42%,white)}.pdf-quality-header,.pdf-quality-issue-head,.pdf-quality-severity-row{display:flex;align-items:center;gap:8px}.pdf-quality-header{justify-content:space-between;align-items:flex-start}.pdf-quality-header>div{min-width:0;display:grid;gap:4px}.pdf-quality-header>div>strong{color:var(--text);font-size:.96rem;font-weight:950}.pdf-quality-header>div>span{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.45}.pdf-quality-header>b{flex:0 0 auto;border-radius:999px;padding:6px 9px;color:#047857;background:#d9fbe8;font-size:.74rem;font-weight:950}.status-review .pdf-quality-header>b{color:#92400e;background:#fef3c7}.status-warning .pdf-quality-header>b{color:#b42318;background:#fee4e2}.pdf-quality-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pdf-quality-stats>span{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:10px;display:grid;gap:4px;padding:9px 10px;background:#ffffffad}.pdf-quality-stats small{color:var(--muted);font-size:.72rem;font-weight:850}.pdf-quality-stats strong{color:var(--text);font-size:1.16rem;font-variant-numeric:tabular-nums}.pdf-quality-severity-row{flex-wrap:wrap}.pdf-quality-severity-row>span,.pdf-quality-issue-head>b{border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900}.pdf-quality-severity-row .severity-high,.pdf-quality-issue-head>b:first-child{color:#b42318;background:#fee4e2}.pdf-quality-severity-row .severity-medium,.pdf-quality-issues li.severity-medium .pdf-quality-issue-head>b{color:#92400e;background:#fef3c7}.pdf-quality-severity-row .severity-low,.pdf-quality-issues li.severity-low .pdf-quality-issue-head>b{color:#1d4ed8;background:#dbeafe}.pdf-quality-issues{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);padding-top:10px}.pdf-quality-issues summary{color:var(--primary-strong);cursor:pointer;font-size:.82rem;font-weight:950}.pdf-quality-issues ul{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}.pdf-quality-issues li{border-left:3px solid var(--primary);border-radius:9px;display:grid;gap:5px;padding:9px 10px;background:#ffffffc2}.pdf-quality-issues li.severity-high{border-left-color:var(--danger)}.pdf-quality-issues li.severity-medium{border-left-color:var(--warning)}.pdf-quality-issue-head{flex-wrap:wrap}.pdf-quality-issue-head>strong{color:var(--text);font-size:.82rem}.pdf-quality-issues li>small,.pdf-quality-more{color:var(--muted);font-size:.74rem;font-weight:800}.pdf-quality-issues li>p,.pdf-quality-more{margin:0}.pdf-quality-issues li>p{color:var(--text);font-size:.82rem;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.pdf-quality-locate-button{width:fit-content;min-height:32px;border:1px solid color-mix(in srgb,var(--primary) 36%,var(--border));border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:end;padding:5px 10px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 76%,white);font-size:.76rem;font-weight:950}.pdf-quality-locate-button:hover{border-color:color-mix(in srgb,var(--primary) 62%,var(--border));background:var(--primary-soft)}.pdf-quality-source-check{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);display:grid;gap:9px;padding-top:10px}.pdf-quality-ocr-unavailable{margin:0;color:var(--danger);font-size:.76rem;font-weight:850}.pdf-quality-cloud-skipped{display:grid;gap:3px;border:1px solid color-mix(in srgb,var(--warning) 58%,var(--border));border-radius:12px;padding:9px 11px;color:var(--text);background:color-mix(in srgb,var(--warning) 9%,rgba(255,255,255,.78))}.pdf-quality-cloud-skipped b{color:color-mix(in srgb,var(--warning) 78%,var(--text));font-size:.78rem}.pdf-quality-cloud-skipped span,.pdf-quality-cloud-skipped small{color:var(--muted);font-size:.7rem;font-weight:750;overflow-wrap:anywhere}.pdf-quality-source-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pdf-quality-source-heading>div{display:grid;gap:3px}.pdf-quality-source-heading strong{color:var(--text);font-size:.84rem;font-weight:950}.pdf-quality-source-heading small{color:var(--muted);font-size:.72rem;font-weight:800;line-height:1.4}.pdf-quality-source-heading>b{color:var(--primary-strong);font-size:1.15rem;font-variant-numeric:tabular-nums}.pdf-quality-source-stats,.pdf-quality-consistency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pdf-quality-source-stats>span,.pdf-quality-consistency-grid>span{border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:9px;padding:7px 9px;background:#ffffffa8;color:var(--muted);font-size:.72rem;font-weight:850}.pdf-quality-source-stats strong{color:var(--text);margin-left:4px}.pdf-quality-provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}.pdf-quality-provider-grid>span,.pdf-quality-visual-review{display:grid;gap:3px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:10px;padding:8px 10px;background:#ffffffa8}.pdf-quality-provider-grid b,.pdf-quality-visual-review b{color:var(--text);font-size:.76rem}.pdf-quality-provider-grid small,.pdf-quality-visual-review small,.pdf-quality-visual-review>span{color:var(--muted);font-size:.7rem;font-weight:750;overflow-wrap:anywhere}.pdf-quality-provider-grid .is-good,.pdf-quality-visual-review.is-good{border-color:color-mix(in srgb,var(--success) 42%,var(--border))}.pdf-quality-provider-grid .is-review,.pdf-quality-visual-review.is-review{border-color:color-mix(in srgb,var(--warning) 55%,var(--border))}.pdf-quality-provider-grid .is-warning,.pdf-quality-visual-review.is-warning{border-color:color-mix(in srgb,var(--danger) 55%,var(--border))}.pdf-quality-provider-grid .is-unavailable,.pdf-quality-visual-review.is-unavailable{border-color:color-mix(in srgb,var(--warning) 58%,var(--border));background:color-mix(in srgb,var(--warning) 7%,rgba(255,255,255,.7))}.pdf-quality-consistency-grid>span{display:grid;gap:3px}.pdf-quality-consistency-grid b{color:var(--text);font-size:.76rem}.pdf-quality-consistency-grid small{color:var(--muted)}.pdf-quality-consistency-grid .is-passed>strong{color:var(--success)}.pdf-quality-consistency-grid .is-failed>strong{color:var(--danger)}.pdf-quality-page-list summary{color:var(--warning-strong, #92400e);cursor:pointer;font-size:.76rem;font-weight:950}.pdf-quality-page-list ul{display:grid;gap:6px;list-style:none;margin:8px 0 0;padding:0}.pdf-quality-page-list li{border-left:3px solid var(--warning);border-radius:8px;display:grid;gap:3px;padding:7px 9px;background:#ffffffb3}.pdf-quality-page-list li strong,.pdf-quality-page-list li span{overflow-wrap:anywhere}.pdf-quality-page-list li strong{color:var(--text);font-size:.74rem}.pdf-quality-page-list li span{color:var(--muted);font-size:.7rem;font-weight:750}.course-catalog-page{align-content:start}.course-catalog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.course-catalog-heading>div{min-width:0}.course-catalog-toolbar{border:1px solid var(--border);border-radius:var(--radius-control);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:color-mix(in srgb,var(--surface) 92%,white)}.course-catalog-toolbar input{width:min(460px,100%);min-height:42px;border:1px solid var(--border);border-radius:12px;padding:0 13px;background:#fff;color:var(--text);font-weight:800}.course-catalog-toolbar>span{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.course-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-catalog-card{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:18px;display:grid;gap:14px;padding:18px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary-soft) 60%,transparent),transparent 42%),color-mix(in srgb,var(--surface) 95%,white);box-shadow:0 10px 24px #5b372114}.course-catalog-card-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:13px}.course-catalog-cover{width:64px;height:76px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--primary) 58%,#ffb267));box-shadow:inset 0 -4px #89412029}.course-catalog-card-head>div{min-width:0;display:grid;align-content:start;gap:5px}.course-catalog-card-head small{color:var(--primary-strong);font-size:.7rem;font-weight:950}.course-catalog-card h2,.course-catalog-card p{margin:0}.course-catalog-card h2{color:var(--text);font-size:1.05rem;line-height:1.3}.course-catalog-card p{color:var(--muted);font-size:.78rem;font-weight:750;line-height:1.5}.course-catalog-tags,.course-catalog-meta{display:flex;flex-wrap:wrap;gap:7px}.course-catalog-tags em{border-radius:999px;padding:4px 8px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 78%,white);font-size:.7rem;font-style:normal;font-weight:900}.course-catalog-meta{border-top:1px dashed var(--border);padding-top:11px;color:var(--muted);font-size:.74rem;font-weight:850}.course-catalog-card>button{justify-self:end}@media(max-width:920px){.course-catalog-grid{grid-template-columns:1fr}}@media(max-width:620px){.course-catalog-heading,.course-catalog-toolbar{align-items:stretch;flex-direction:column}.course-catalog-toolbar input{width:100%}}.sentence-editor-row.quality-located{border-radius:10px;outline:3px solid color-mix(in srgb,var(--warning) 70%,transparent);outline-offset:5px;background:color-mix(in srgb,var(--warning-soft) 42%,transparent);animation:quality-located-pulse .72s ease-out 2}.sentence-editor-row.quality-located textarea{border-color:color-mix(in srgb,var(--warning) 72%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 20%,transparent)}@keyframes quality-located-pulse{0%{outline-color:color-mix(in srgb,var(--warning) 92%,transparent)}to{outline-color:color-mix(in srgb,var(--warning) 34%,transparent)}}.pdf-structure-preview{border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:var(--radius-control);display:grid;gap:12px;margin-bottom:18px;padding:12px;background:linear-gradient(135deg,#fffc,color-mix(in srgb,var(--primary-soft) 18%,white)),var(--surface-soft)}.pdf-structure-header,.pdf-structure-unit-title,.pdf-structure-section-title,.pdf-structure-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pdf-structure-header{align-items:flex-start}.pdf-structure-header strong,.pdf-structure-unit-title strong,.pdf-structure-section-title strong{min-width:0;color:var(--text);font-size:.92rem;font-weight:950;overflow-wrap:anywhere}.pdf-structure-header span,.pdf-structure-unit-title span,.pdf-structure-section-title span,.pdf-structure-block-head small,.pdf-structure-reason,.pdf-structure-more{color:var(--muted);font-size:.76rem;font-weight:850}.pdf-structure-unit-list,.pdf-structure-section-list,.pdf-structure-block-list{display:grid;gap:8px}.pdf-structure-unit,.pdf-structure-section{border:1px solid color-mix(in srgb,var(--border) 78%,transparent);border-radius:10px;display:grid;gap:8px;padding:10px;background:#ffffff8c}.pdf-structure-section{background:color-mix(in srgb,var(--surface-soft) 74%,white)}.pdf-structure-block-list{margin:0;padding:0;list-style:none}.pdf-structure-block{border-left:3px solid color-mix(in srgb,var(--muted) 22%,transparent);border-radius:8px;display:grid;gap:5px;padding:8px 9px;background:#ffffffb8}.pdf-structure-block.candidate{border-left-color:var(--primary)}.pdf-structure-block.ignored{opacity:.74}.pdf-structure-block-head{justify-content:flex-start;flex-wrap:wrap}.pdf-structure-block-head em,.pdf-structure-block-head i,.pdf-structure-block-head b,.pdf-structure-sentences em{border-radius:999px;padding:3px 7px;font-style:normal;font-size:.72rem;font-weight:900}.pdf-structure-block-head em{color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 70%,white)}.pdf-structure-block-head i{color:#7c2d12;background:#ffedd5}.pdf-structure-block-head b{color:#0f766e;background:#d9fbe8}.pdf-structure-block.ignored .pdf-structure-block-head b{color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 78%,white)}.pdf-structure-block-text{color:var(--text);font-size:.86rem;font-weight:850;line-height:1.45;overflow-wrap:anywhere}.pdf-structure-sentences{display:flex;flex-wrap:wrap;gap:5px}.pdf-structure-sentences em{color:var(--text);background:var(--surface-soft)}.pdf-structure-more{margin:0}.chapter-preview-list{display:grid;gap:16px;margin-top:14px}.chapter-preview strong{display:block;margin-bottom:8px}.chapter-preview-section-list{display:grid;gap:12px}.chapter-preview-section{border-left:3px solid color-mix(in srgb,var(--primary) 72%,white);border-radius:8px;padding:8px 10px;background:color-mix(in srgb,var(--surface-soft) 70%,white)}.chapter-preview-section b{display:block;color:var(--primary-strong);font-size:.84rem;margin-bottom:6px}.sentence-preview{display:grid;gap:8px;counter-reset:sentence-preview;list-style:none;margin:14px 0 0;padding-left:0;color:var(--text);line-height:1.5;font-weight:700;text-align:left}.sentence-preview li+li{margin-top:0}.sentence-preview li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;counter-increment:sentence-preview}.sentence-preview li:before{content:counter(sentence-preview) ".";font-weight:900;text-align:right}.sentence-preview-text{display:block;min-width:0;text-align:left;overflow-wrap:normal;white-space:pre-wrap;word-break:normal;-webkit-hyphens:none;hyphens:none}.lesson-list{display:grid;gap:10px;margin-top:14px}.lesson-row{width:100%;position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;min-height:50px;border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px;color:var(--text);background:var(--surface-strong);text-align:left}.lesson-row.selected{border-color:color-mix(in srgb,var(--primary) 45%,white);background:var(--primary-soft)}.lesson-row.archived{opacity:.78;background:color-mix(in srgb,var(--surface-soft) 70%,white)}.lesson-row:hover{border-color:color-mix(in srgb,var(--primary) 35%,white);background:var(--surface-tint)}.lesson-row.selected:hover{border-color:color-mix(in srgb,var(--primary) 45%,white);background:var(--primary-soft)}.lesson-row span{flex:0 0 auto;color:var(--muted);white-space:nowrap;font-weight:800}.lesson-row-title{min-width:0;color:var(--text);font-weight:900;overflow-wrap:anywhere;word-break:break-word}.lesson-row-main{position:relative;min-width:0;flex:1 1 170px;display:grid;gap:6px}.lesson-row-main .lesson-row-meta{color:var(--muted);white-space:normal}.lesson-row-meta .lesson-source-chip{border:1px solid color-mix(in srgb,var(--primary) 24%,white);color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 76%,white)}.lesson-row-meta .lesson-tag-chip,.lesson-row-meta .lesson-tag-more{border:1px solid color-mix(in srgb,var(--primary) 42%,white);color:#07346f;background:color-mix(in srgb,var(--primary-soft) 48%,#ffffff);box-shadow:inset 0 -1px color-mix(in srgb,var(--primary) 12%,transparent)}.lesson-row-meta .lesson-tag-more{min-width:28px;text-align:center}.lesson-row .lesson-tag-popover{position:absolute;z-index:35;top:calc(100% + 8px);left:0;max-width:min(360px,72vw);border:1px solid color-mix(in srgb,var(--primary) 26%,var(--border));border-radius:12px;display:flex;flex-wrap:wrap;gap:7px;padding:10px;color:var(--text);background:var(--surface-strong);box-shadow:0 18px 42px #0f23402e;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease;white-space:normal}.lesson-row:hover .lesson-tag-popover,.lesson-row:focus-visible .lesson-tag-popover{opacity:1;transform:translateY(0)}.lesson-tag-popover em{border:1px solid color-mix(in srgb,var(--primary) 34%,white);border-radius:999px;padding:5px 9px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 68%,white);font-style:normal;font-size:.78rem;font-weight:900}.selected-chip,.practice-chip,.archived-chip{border-radius:var(--radius-control);padding:5px 8px;font-size:.78rem;font-style:normal;font-weight:900;white-space:nowrap}.selected-chip{color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 78%,white)}.practice-chip{color:var(--primary-strong);background:var(--success-soft)}.archived-chip{color:#64748b;background:color-mix(in srgb,var(--surface-soft) 70%,white)}.admin-shell.layout-desktop{width:min(1360px,100%)}.admin-app-frame{min-height:calc(100vh - 68px);border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:14px;display:grid;grid-template-columns:168px minmax(0,1fr);overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 28%,white),#ffffffc2),var(--surface-soft);box-shadow:0 24px 70px #0f234029}.admin-sidebar{display:grid;grid-template-rows:max-content 1fr;gap:18px;padding:18px 14px;color:#ffffffe6;background:linear-gradient(180deg,color-mix(in srgb,var(--primary-strong) 82%,#071b2d),#123a58),var(--primary-strong)}.admin-brand{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.admin-avatar{width:38px;height:38px;border-radius:999px;display:grid;place-items:center;color:var(--primary-strong);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--primary-soft) 72%,white));font-weight:900}.admin-brand strong,.admin-brand small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-brand strong{font-size:1rem;line-height:1.1}.admin-brand small{margin-top:3px;color:#ffffffad;font-size:.74rem;font-weight:900}.admin-nav{display:grid;align-content:start;gap:7px}.admin-nav-item{min-height:40px;border:0;border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 10px;color:#ffffffb8;background:transparent;font:inherit;font-size:.88rem;font-weight:900;text-align:left}.admin-nav-item:hover{color:#fff;background:#ffffff14}.admin-nav-item:disabled{cursor:not-allowed;opacity:.42}.admin-nav-item.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--success));box-shadow:0 12px 28px #07284a47}.admin-child-page-link{margin-top:10px;border:1px solid rgba(255,255,255,.16);color:#fff;background:#ffffff14}.admin-child-page-link:hover{background:#ffffff24}.admin-workspace{min-width:0;display:grid;align-content:start;gap:18px;padding:18px}.admin-workspace-header{border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px;background:#ffffffd6;box-shadow:0 12px 32px #0f234014}.admin-toolbar-main,.admin-toolbar-actions,.child-create-inline{display:flex;align-items:center;gap:10px;min-width:0}.admin-toolbar-main{flex:1 1 auto}.admin-toolbar-actions{flex:0 1 auto;justify-content:flex-end;flex-wrap:wrap}.admin-compact-select,.child-create-inline{min-height:40px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:var(--surface)}.admin-compact-select{display:inline-flex;align-items:center;gap:8px}.admin-compact-select span{color:var(--muted);font-size:.82rem;font-weight:900;white-space:nowrap}.admin-compact-select select,.child-create-inline input{border:0;min-height:38px;min-width:0;color:var(--text);background:transparent;font:inherit;font-weight:900;outline:0}.child-create-inline input{width:128px}.admin-status-stack{display:grid;gap:8px}.admin-status-stack .status-text,.admin-status-stack .error-text{margin:0}.practice-board-panel{padding:18px}.practice-board-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.practice-board-title-block{min-width:0;flex:1 1 auto}.admin-kicker{color:var(--muted);font-size:.82rem;font-weight:900}.practice-board-title-row{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:wrap;margin-top:4px}.practice-board-heading h1{min-width:0;margin:0;color:var(--text);font-size:1.5rem;line-height:1.15;overflow-wrap:anywhere}.practice-board-tools{min-width:min(100%,460px);border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:minmax(160px,1fr) max-content 42px;gap:8px;align-items:center;padding:6px;background:color-mix(in srgb,var(--surface-soft) 78%,white)}.practice-board-tools input{min-width:0;min-height:38px;border:0;padding:0 10px;color:var(--text);background:transparent;font:inherit;font-weight:900;outline:0}.practice-board-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.practice-board-stats span{min-height:36px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;color:var(--primary-strong);background:var(--primary-soft);font-size:.82rem;font-weight:900}.practice-board-stats span:first-child{color:#b42318;background:var(--danger-soft)}.practice-board-stats span:last-child{background:var(--success-soft)}.practice-board-grid{border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:240px minmax(560px,1fr) 268px;overflow:hidden;background:var(--surface)}.practice-books-pane,.practice-content-pane,.practice-course-library-pane{min-width:0;padding:16px}.practice-books-pane{border-right:1px solid var(--border);display:grid;align-content:start;gap:16px;background:color-mix(in srgb,var(--surface-soft) 78%,white)}.practice-course-library-pane{border-left:1px solid var(--border);background:color-mix(in srgb,var(--surface-soft) 64%,white)}.compact-panel-title,.practice-content-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.compact-panel-title h2,.compact-panel-title h3,.practice-content-heading h2{margin:0;color:var(--text);font-size:.96rem;font-weight:900}.compact-panel-title span,.practice-content-heading p{margin:0;color:var(--muted);font-size:.82rem;font-weight:900}.practice-book-list-title{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:10px}.practice-book-list-title>div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.practice-book-list-title h2,.practice-book-list-title span{white-space:nowrap}.practice-book-list-title h2{color:var(--primary-strong);font-size:1rem}.practice-book-list-title span{color:color-mix(in srgb,var(--text) 66%,var(--muted))}.practice-book-list-title .admin-secondary-button{width:100%;min-height:42px;border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 72%,var(--surface));box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 10%,transparent)}.practice-book-list-title .admin-secondary-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 58%,var(--border));background:color-mix(in srgb,var(--primary-soft) 88%,var(--surface))}.practice-book-list-title .admin-secondary-button:disabled{opacity:.72}.practice-book-selector-list{display:grid;gap:9px;margin-top:12px}.practice-book-option{width:100%;border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:44px minmax(0,1fr) max-content;gap:10px;align-items:center;padding:10px;color:var(--text);background:var(--surface);text-align:left}.practice-book-option:hover,.practice-book-option.selected,.practice-book-option.drop-over{border-color:color-mix(in srgb,var(--primary) 45%,white);background:color-mix(in srgb,var(--primary-soft) 62%,white)}.practice-book-option.drop-over{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 34%,transparent)}.practice-book-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--success));font-weight:900}.practice-book-info{min-width:0;display:grid;gap:5px}.practice-book-info strong{min-width:0;color:var(--text);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-book-info small,.practice-book-option b{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.practice-book-option b{color:var(--primary-strong)}.practice-course-library{display:grid;align-content:start}.practice-course-library-title{align-items:flex-start}.practice-course-library-title>div{display:grid;gap:3px}.practice-course-filters{display:grid;gap:8px;margin-top:12px}.practice-course-filters input[type=text],.practice-course-filters>input,.practice-course-filters select,.lesson-library-filters>input,.lesson-library-filters>select{width:100%;min-height:38px;border:1px solid var(--border);border-radius:10px;padding:0 11px;color:var(--text);background:var(--surface);font:inherit;font-size:.84rem;font-weight:850;outline:0}.practice-course-filters>input:focus,.practice-course-filters select:focus,.lesson-library-filters>input:focus,.lesson-library-filters>select:focus,.tag-filter-control summary:focus-visible{border-color:color-mix(in srgb,var(--primary) 48%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-soft) 64%,transparent)}.lesson-library-filters{display:grid;grid-template-columns:minmax(0,1fr) 148px 132px max-content;gap:8px;align-items:center;margin-top:12px}.tag-filter-control{position:relative;min-width:148px}.tag-filter-control summary{min-height:38px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 11px;color:var(--text);background:var(--surface);font-size:.84rem;font-weight:900;list-style:none;cursor:pointer}.tag-filter-control summary::-webkit-details-marker{display:none}.tag-filter-summary{min-width:0;display:flex;align-items:center;flex:1 1 auto;line-height:1.2}.tag-filter-summary.has-tags{flex-wrap:wrap;gap:6px}.tag-filter-summary em{border-radius:999px;padding:4px 8px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 70%,white);font-style:normal;font-size:.76rem;font-weight:900;line-height:1.1}.tag-filter-control summary:after{content:"";flex:0 0 auto;width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}.tag-filter-control[open] summary{border-color:color-mix(in srgb,var(--primary) 48%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-soft) 64%,transparent)}.tag-filter-control[open] summary:after{transform:rotate(225deg) translate(-2px,-1px)}.tag-filter-panel{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(320px,72vw);border:1px solid color-mix(in srgb,var(--border) 82%,var(--primary));border-radius:12px;padding:12px;background:var(--surface);box-shadow:0 18px 48px #0f23402e}.lesson-library-filters .tag-filter-panel{right:0;left:auto}.tag-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tag-filter-panel-header strong{color:var(--text);font-size:.88rem}.tag-filter-panel-header button{min-height:28px;border-radius:999px;padding:0 10px;color:var(--primary-strong);background:var(--primary-soft);font:inherit;font-size:.76rem;font-weight:900}.tag-filter-panel-header button:disabled{cursor:not-allowed;opacity:.45}.tag-filter-panel p{margin:0;color:var(--muted);font-size:.82rem;font-weight:800}.tag-filter-options{display:flex;flex-wrap:wrap;gap:8px;max-height:220px;overflow:auto}.tag-filter-option{min-height:34px;border:1px solid var(--border);border-radius:999px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 62%,white);font-size:.8rem;font-weight:900;cursor:pointer}.tag-filter-option input{width:14px;height:14px;accent-color:var(--primary)}.tag-filter-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 44%,white);color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 68%,white)}.practice-course-toggle{min-height:34px;border:1px solid var(--border);border-radius:999px;display:inline-flex;align-items:center;gap:8px;justify-self:start;padding:0 11px;color:var(--muted);background:color-mix(in srgb,var(--surface-soft) 68%,white);font-size:.8rem;font-weight:900;cursor:pointer}.practice-course-toggle input{width:15px;height:15px;accent-color:var(--primary)}.practice-course-toggle:has(input:checked){border-color:color-mix(in srgb,var(--primary) 36%,white);color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 66%,white)}.practice-assignment-panel{border:1px solid color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:12px;display:grid;gap:10px;margin-top:12px;padding:11px;background:color-mix(in srgb,var(--primary-soft) 42%,var(--surface))}.practice-assignment-target{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:900}.practice-assignment-target select{width:100%;min-height:44px;border:1px solid var(--border);border-radius:10px;padding:0 10px;color:var(--text);background:var(--surface);font:inherit;font-size:.84rem;font-weight:900}.practice-assignment-summary{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.practice-assignment-summary strong{color:var(--text);font-size:.84rem}.practice-assignment-summary small{color:var(--muted);font-size:.72rem;font-weight:850;text-align:right}.practice-assignment-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.practice-assignment-actions button{width:100%;min-height:44px;padding:0 9px;font-size:.78rem}.practice-assignment-submit{grid-column:1 / -1}.practice-course-hint{margin:8px 0 0;color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.45}.practice-course-detail-card{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:12px;display:grid;gap:10px;margin-top:12px;padding:12px;background:color-mix(in srgb,var(--surface) 78%,var(--primary-soft))}.practice-course-detail-card.empty{min-height:116px;place-items:center;align-content:center;color:var(--muted);text-align:center;font-size:.82rem;font-weight:850}.practice-course-detail-card.empty p{max-width:22ch;margin:0;line-height:1.45}.practice-course-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.practice-course-detail-header div{min-width:0;display:grid;gap:3px}.practice-course-detail-header span,.practice-course-detail-header strong{color:var(--muted);font-size:.75rem;font-weight:900}.practice-course-detail-header strong{white-space:nowrap}.practice-course-detail-header h3{margin:0;color:var(--text);font-size:.96rem;font-weight:950;line-height:1.25;overflow-wrap:anywhere}.practice-course-detail-tags{display:flex;flex-wrap:wrap;gap:6px}.practice-course-detail-tags em{border:1px solid color-mix(in srgb,var(--primary) 34%,white);border-radius:999px;padding:4px 8px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 68%,white);font-style:normal;font-size:.76rem;font-weight:900}.practice-course-target-row{display:grid;gap:8px}.practice-course-target-row label{display:grid;gap:5px;color:var(--muted);font-size:.76rem;font-weight:900}.practice-course-target-row select{width:100%;min-height:36px;border:1px solid var(--border);border-radius:10px;padding:0 10px;color:var(--text);background:var(--surface-strong);font:inherit;font-size:.82rem;font-weight:900}.practice-course-target-row button{width:100%}.practice-course-preview-list{display:grid;gap:8px;max-height:190px;overflow:auto}.practice-course-preview-list section{border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent);display:grid;gap:6px;padding-top:8px}.practice-course-preview-list strong{color:var(--text);font-size:.82rem;font-weight:950}.practice-course-preview-list ol{display:grid;gap:4px;margin:0;padding-left:18px}.practice-course-preview-list li{color:var(--muted);font-size:.78rem;font-weight:820;line-height:1.35;overflow-wrap:anywhere}.practice-course-list{display:grid;gap:9px;max-height:min(520px,calc(100vh - 390px));overflow:auto;padding:12px 2px 2px 0}.practice-course-card{border:1px solid var(--border);border-radius:10px;display:grid;gap:10px;padding:10px;color:var(--text);background:var(--surface);cursor:grab;transition:border-color .16s ease,background .16s ease,opacity .16s ease,transform .16s ease}.practice-course-card:hover{border-color:color-mix(in srgb,var(--primary) 36%,white);background:color-mix(in srgb,var(--primary-soft) 24%,white)}.practice-course-card.added{border-color:color-mix(in srgb,var(--success) 36%,white);background:color-mix(in srgb,var(--success-soft) 58%,white)}.practice-course-card.selected{border-color:color-mix(in srgb,var(--primary) 52%,white);background:color-mix(in srgb,var(--primary-soft) 58%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.practice-course-card.batch-selected{border-color:color-mix(in srgb,var(--success) 58%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 20%,transparent)}.practice-course-card.dragging{opacity:.56;transform:scale(.985)}.practice-course-card-main{min-width:0;display:grid;gap:5px}.practice-course-card-main span{color:var(--muted);font-size:.78rem;font-weight:900}.course-meta-line,.course-tag-row,.lesson-row-meta{min-width:0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.course-meta-line em,.course-tag-row em,.lesson-row-meta em{border-radius:999px;padding:3px 7px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 58%,white);font-style:normal;font-size:.72rem;font-weight:900}.course-tag-row em,.lesson-row-meta em:nth-child(n+3):not(.lesson-tag-chip):not(.lesson-tag-more){color:color-mix(in srgb,var(--text) 72%,var(--primary-strong));background:color-mix(in srgb,var(--surface-soft) 78%,white)}.practice-course-title-button{width:100%;min-height:40px;min-width:0;padding:0;color:var(--text);background:transparent;text-align:left}.practice-course-title-button strong{display:block;overflow-wrap:anywhere;line-height:1.25}.practice-course-add-button{width:100%;min-height:40px}.practice-course-card-actions{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px;align-items:center}.practice-course-select{min-height:40px;border:1px solid var(--border);border-radius:var(--radius-control);display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--muted);background:var(--surface-soft);font-size:.78rem;font-weight:900;cursor:pointer}.practice-course-select input{width:17px;height:17px;margin:0;accent-color:var(--primary)}.practice-course-select:has(input:checked){border-color:color-mix(in srgb,var(--success) 48%,white);color:var(--primary-strong);background:var(--success-soft)}.course-list-footer{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent);display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px}.course-list-footer span{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.practice-content-pane{display:grid;align-content:start;gap:14px}.practice-content-pane.drop-over{background:color-mix(in srgb,var(--primary-soft) 26%,transparent)}.practice-content-pane.drop-over .practice-table,.practice-content-pane.drop-over .practice-table-empty{outline:2px dashed color-mix(in srgb,var(--primary) 52%,transparent);outline-offset:3px}.practice-content-heading{align-items:flex-start}.practice-content-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.practice-drop-hint{min-height:40px;border:1px dashed color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:var(--radius-control);display:inline-flex;align-items:center;gap:7px;padding:0 11px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 42%,white);font-size:.78rem;font-weight:900;white-space:nowrap}.practice-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.practice-table-row{display:grid;grid-template-columns:42px minmax(140px,1fr) minmax(90px,.58fr) 82px minmax(214px,.9fr);gap:8px;align-items:center;padding:11px 12px;background:var(--surface)}.practice-table-row+.practice-table-row{border-top:1px solid var(--border)}.practice-table-head{min-height:42px;color:var(--muted);background:var(--surface-soft);font-size:.78rem;font-weight:900}.table-order-cell{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:var(--primary-strong);background:var(--primary-soft);font-weight:900}.table-course-button{min-width:0;display:grid;gap:4px;padding:0;color:var(--text);background:transparent;text-align:left}.table-course-button strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-course-button small,.table-progress-cell small{color:var(--muted);font-size:.78rem;font-weight:900}.table-progress-cell{display:grid;gap:5px}.table-progress-cell strong{color:var(--text);font-size:.88rem}.practice-table-actions{display:grid;grid-template-columns:32px 32px minmax(78px,1fr) 32px 32px;gap:6px;align-items:center}.practice-table-actions .icon-action{width:32px;min-height:32px;border-radius:9px}.practice-table-actions select{min-width:0;min-height:32px;border:1px solid var(--border);border-radius:9px;padding:0 8px;color:var(--text);background:var(--surface-strong);font:inherit;font-size:.78rem;font-weight:900}.practice-table-empty{min-height:170px;border:1px dashed color-mix(in srgb,var(--primary) 34%,var(--border));border-radius:12px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--muted);background:color-mix(in srgb,var(--primary-soft) 24%,white);text-align:center;font-weight:900}.practice-table-empty p{margin:0}.course-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:start}.course-workspace-grid.empty-detail{grid-template-columns:minmax(280px,.68fr) minmax(420px,1fr)}.course-empty-panel{min-height:260px;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.course-empty-panel h2,.course-empty-panel p{margin:0}.course-empty-panel p{max-width:360px;color:var(--muted);font-weight:800;line-height:1.5}.admin-section-page{display:grid;gap:18px}.admin-page-heading{display:grid;gap:6px}.admin-page-heading h1,.admin-page-heading p{margin:0}.admin-page-heading h1{color:var(--text);font-size:1.55rem;line-height:1.15}.admin-page-heading p{color:var(--muted);font-weight:800}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-metric-card{min-height:128px;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;align-content:center;padding:16px;color:var(--text);background:var(--surface);box-shadow:0 12px 32px #0f234014}.admin-metric-card.accent{background:linear-gradient(135deg,#ffffffeb,color-mix(in srgb,var(--primary-soft) 62%,white)),var(--surface)}.admin-metric-card span,.admin-metric-card small{color:var(--muted);font-size:.82rem;font-weight:900}.admin-metric-card strong{min-width:0;color:var(--text);font-size:1.7rem;line-height:1.06;overflow-wrap:anywhere}.admin-action-panel{display:grid;gap:14px}.admin-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-action-card{min-height:132px;border:1px solid var(--border);border-radius:12px;display:grid;gap:8px;align-content:start;padding:16px;color:var(--text);background:var(--surface-strong);text-align:left}.admin-action-card:hover{border-color:color-mix(in srgb,var(--primary) 38%,white);background:color-mix(in srgb,var(--primary-soft) 34%,white)}.admin-action-card:disabled{cursor:not-allowed;opacity:.58}.admin-action-card svg{color:var(--primary)}.admin-action-card strong{font-size:.96rem}.admin-action-card span{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.45}.child-management-panel,.analytics-detail-panel,.settings-panel{display:grid;gap:16px}.child-management-tools{display:grid;grid-template-columns:minmax(220px,.4fr) minmax(280px,.6fr);gap:14px;align-items:start}.child-management-tools .admin-field{margin-bottom:0}.child-add-field .child-create-row input,.child-add-field .child-create-row .admin-secondary-button{min-height:46px}.child-profile-list{display:grid;gap:10px}.child-profile-row{width:100%;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:42px minmax(0,1fr) max-content max-content;gap:12px;align-items:center;padding:12px;color:var(--text);background:var(--surface-strong);text-align:left}.child-profile-row.selected,.child-profile-row:hover{border-color:color-mix(in srgb,var(--primary) 42%,white);background:color-mix(in srgb,var(--primary-soft) 56%,white)}.child-profile-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-profile-row small,.child-profile-row em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:900;white-space:nowrap}.analytics-visual-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:18px}.analytics-overview-card,.analytics-score-card{min-width:0;display:grid;align-content:start;gap:16px}.analytics-overview-body{display:grid;grid-template-columns:164px minmax(0,1fr);gap:20px;align-items:center}.analytics-donut{width:164px;height:164px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) 0 var(--analytics-progress-angle),color-mix(in srgb,var(--primary-soft) 58%,var(--surface-soft)) var(--analytics-progress-angle) 360deg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.analytics-donut>div{width:122px;height:122px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:3px;background:var(--surface);box-shadow:0 8px 24px #0f234014}.analytics-donut strong{color:var(--text);font-size:1.8rem;font-weight:950}.analytics-donut span{color:var(--muted);font-size:.74rem;font-weight:900;text-align:center}.analytics-status-list{display:grid;gap:10px}.analytics-status-list>span{min-height:42px;border:1px solid var(--border);border-radius:11px;display:grid;grid-template-columns:10px minmax(0,1fr) max-content;gap:9px;align-items:center;padding:0 11px;color:var(--muted);background:var(--surface-strong);font-size:.8rem;font-weight:900}.analytics-status-list i{width:10px;height:10px;border-radius:50%;background:var(--border)}.analytics-status-list .completed i{background:var(--success)}.analytics-status-list .in-progress i{background:var(--primary)}.analytics-status-list strong{color:var(--text);font-size:.96rem}.analytics-score-summary{border-radius:12px;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;color:var(--primary-strong);background:color-mix(in srgb,var(--primary-soft) 62%,white);font-size:.82rem;font-weight:900}.analytics-score-summary strong{font-size:1.42rem;font-weight:950}.analytics-score-list{display:grid;gap:9px}.analytics-score-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,.72fr) 36px;gap:10px;align-items:center}.analytics-score-row>span{min-width:0;display:grid;gap:2px}.analytics-score-row strong{overflow:hidden;color:var(--text);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.analytics-score-row small{color:var(--muted);font-size:.7rem;font-weight:850}.analytics-score-row b{color:var(--primary-strong);font-size:.9rem;text-align:right}.analytics-score-track{height:8px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--primary-soft) 48%,white)}.analytics-score-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--success))}.analytics-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.analytics-progress-row{min-width:0;border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:"title percent" "bar bar" "meta meta";gap:10px 12px;align-items:center;padding:13px;background:var(--surface-strong)}.analytics-progress-row:last-child:nth-child(odd){grid-column:1 / -1}.analytics-course-title{grid-area:title;min-width:0;display:grid;gap:3px}.analytics-course-title strong{min-width:0;overflow:hidden;color:var(--text);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.analytics-course-title small,.analytics-course-meta span{color:var(--muted);font-size:.74rem;font-weight:850}.analytics-course-percent{grid-area:percent;color:var(--primary-strong);font-size:1rem}.analytics-progress-row>.practice-progress-bar{grid-area:bar}.analytics-course-meta{grid-area:meta;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.settings-row{border:1px solid var(--border);border-radius:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);gap:16px;align-items:center;padding:14px;background:var(--surface-strong)}.settings-row span{display:grid;gap:4px}.settings-row strong{color:var(--text)}.settings-row small{color:var(--muted);font-weight:800;line-height:1.4}.settings-row select{min-height:42px;border:1px solid var(--border);border-radius:10px;padding:0 12px;color:var(--text);background:var(--surface);font:inherit;font-weight:900}.admin-shell.layout-phone .admin-app-frame,.admin-shell.layout-tablet .admin-app-frame{grid-template-columns:1fr}.admin-shell.layout-phone .admin-sidebar,.admin-shell.layout-tablet .admin-sidebar{grid-template-rows:auto auto;gap:12px}.admin-shell.layout-phone .admin-nav,.admin-shell.layout-tablet .admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-shell.layout-phone .admin-nav-item,.admin-shell.layout-tablet .admin-nav-item{justify-content:center}.admin-shell.layout-phone .admin-nav-item span{display:none}.admin-shell.layout-phone .admin-workspace-header,.admin-shell.layout-tablet .admin-workspace-header{align-items:stretch;flex-direction:column}.admin-shell.layout-phone .admin-toolbar-main,.admin-shell.layout-phone .admin-toolbar-actions,.admin-shell.layout-tablet .admin-toolbar-main,.admin-shell.layout-tablet .admin-toolbar-actions{width:100%;justify-content:flex-start}.admin-shell.layout-phone .child-create-inline,.admin-shell.layout-phone .admin-compact-select,.admin-shell.layout-tablet .child-create-inline,.admin-shell.layout-tablet .admin-compact-select{flex:1 1 180px}.admin-shell.layout-phone .practice-board-heading,.admin-shell.layout-tablet .practice-board-heading{align-items:stretch;flex-direction:column}.admin-shell.layout-phone .practice-board-grid,.admin-shell.layout-tablet .practice-board-grid,.admin-shell.layout-phone .course-workspace-grid,.admin-shell.layout-tablet .course-workspace-grid,.admin-shell.layout-phone .course-workspace-grid.empty-detail,.admin-shell.layout-tablet .course-workspace-grid.empty-detail{grid-template-columns:1fr}.admin-shell.layout-phone .practice-books-pane,.admin-shell.layout-tablet .practice-books-pane{border-right:0;border-bottom:1px solid var(--border)}.admin-shell.layout-phone .practice-course-library-pane,.admin-shell.layout-tablet .practice-course-library-pane{border-left:0;border-top:1px solid var(--border);order:-1}.admin-shell.layout-tablet .practice-course-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.admin-shell.layout-phone .practice-course-list{grid-template-columns:1fr;max-height:none}.admin-shell.layout-phone .practice-table-head{display:none}.admin-shell.layout-phone .practice-table-row{grid-template-columns:38px minmax(0,1fr);gap:10px}.admin-shell.layout-phone .table-progress-cell,.admin-shell.layout-phone .practice-status-chip,.admin-shell.layout-phone .practice-table-actions{grid-column:2}.admin-shell.layout-phone .practice-table-actions{grid-template-columns:34px 34px minmax(0,1fr) 34px 34px}.admin-shell.layout-phone .admin-metric-grid,.admin-shell.layout-phone .admin-action-grid,.admin-shell.layout-phone .child-management-tools,.admin-shell.layout-phone .analytics-grid,.admin-shell.layout-phone .settings-row{grid-template-columns:1fr}.admin-shell.layout-tablet .admin-metric-grid,.admin-shell.layout-tablet .admin-action-grid,.admin-shell.layout-tablet .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shell.layout-phone .analytics-visual-grid,.admin-shell.layout-tablet .analytics-visual-grid,.admin-shell.layout-phone .analytics-progress-list,.admin-shell.layout-tablet .analytics-progress-list{grid-template-columns:1fr}@media(max-width:1180px),(hover:none)and (pointer:coarse){.practice-board-grid{grid-template-columns:1fr}.practice-books-pane{border-right:0;border-bottom:1px solid var(--border)}.practice-course-library-pane{border-left:0;border-top:1px solid var(--border);order:-1}.practice-course-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.practice-course-card{cursor:default}.practice-course-title-button,.practice-course-add-button,.practice-course-select{min-height:44px}}@media(max-width:980px){.child-home-grid,.child-learning-layout,.reading-workspace,.admin-layout,.admin-layout.side-only .admin-module-stack{grid-template-columns:1fr}.child-player-topbar{grid-template-columns:max-content 1fr max-content}.child-top-tools{grid-column:1 / -1}.child-left-rail,.child-practice-dock,.reading-side-rail{position:static}.admin-app-frame,.practice-board-grid,.course-workspace-grid,.course-workspace-grid.empty-detail{grid-template-columns:1fr}.admin-sidebar{grid-template-rows:auto auto}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-workspace-header{align-items:stretch;flex-direction:column}.practice-books-pane{border-right:0;border-bottom:1px solid var(--border)}.practice-course-library-pane{border-left:0;border-top:1px solid var(--border);order:-1}.admin-metric-grid,.admin-action-grid,.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-visual-grid,.analytics-progress-list,.child-focus-card{grid-template-columns:1fr}.stage-score-row{grid-template-columns:78px minmax(0,1fr)}.stage-score-row .metric{grid-column:span 1}.child-practice-dock{grid-template-columns:repeat(2,minmax(0,1fr))}.voice-dock-card{grid-column:1 / -1}}@media(max-width:620px){.practice-course-list,.analytics-overview-body{grid-template-columns:1fr}.analytics-donut{justify-self:center}.analytics-score-row{grid-template-columns:minmax(0,1fr) 36px}.analytics-score-track{display:none}.app-shell{padding:20px 14px 28px}.topbar{align-items:flex-start;flex-direction:column}.child-player-topbar{grid-template-columns:1fr}.child-brand-mark{display:none}.child-profile-chip,.child-points-chip{width:100%}.admin-dashboard-strip,.admin-shell.layout-phone .admin-dashboard-strip,.admin-shell.layout-tablet .admin-dashboard-strip{grid-template-columns:1fr}.topbar-actions,.admin-top-actions{width:100%;justify-content:flex-start}.metric-grid{grid-template-columns:1fr}.record-button,.stop-button,.ghost-button,.listen-button{flex:1 1 150px}.voice-picker{flex-basis:100%}.live-sentence-card>.sentence-meta{grid-template-columns:1fr}.live-stage-actions{justify-content:stretch}.compact-voice-picker{min-width:0}.admin-shell{padding:20px 14px 28px}.admin-topbar{align-items:flex-start}.admin-layout{grid-template-columns:1fr}.admin-primary-button,.admin-secondary-button,.admin-link-button{flex:1 1 160px}.layout-switcher,.language-switcher,.theme-switcher{flex:1 1 150px}.child-practice-dock,.child-practice-card{grid-template-columns:1fr}.child-practice-card em{justify-self:start}.practice-book-mini,.task-preview-row,.stage-record-controls,.stage-score-row{grid-template-columns:1fr}.practice-book-mini{grid-template-columns:46px minmax(0,1fr);grid-template-areas:"cover icon" "title title" "bar bar" "count count"}.book-cover,.task-thumb{width:46px;height:46px}.record-orb-button{width:132px;height:132px;justify-self:center}.child-create-row{grid-template-columns:1fr}.sentence-editor-row{grid-template-columns:minmax(0,1fr) 42px}}@media(prefers-reduced-motion:reduce){.live-sentence-text,.live-sentence-card.sentence-changing .live-sentence-text,.record-orb-button.recording,.record-orb-button.recording:before,.record-orb-button.recording:after,.record-wave i,.live-stage-score,.live-stage-score .stage-score-ring,.live-stage-score .mini-stars svg.filled,.lesson-celebration strong{animation:none!important;transition:none!important}.live-stage-score .mini-stars svg.filled{opacity:1;transform:none}.sentence-success-sparkles,.confetti-piece{display:none}}.device-preview-studio{width:100%;height:100dvh;min-height:100vh;padding:16px;display:flex;flex-direction:column;overflow:hidden;color:var(--text);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--accent-soft) 60%,transparent),transparent 34%),radial-gradient(circle at 88% 0%,color-mix(in srgb,var(--primary-soft) 54%,transparent),transparent 30%),var(--page-bg)}.device-preview-toolbar{position:sticky;top:10px;z-index:10;width:min(1500px,100%);margin:0 auto 16px;border:1px solid var(--border);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:color-mix(in srgb,var(--surface-strong) 92%,transparent);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex:0 0 auto}.device-preview-toolbar__title,.device-preview-toolbar__controls,.device-preview-surface-tabs,.device-preview-help{display:flex;align-items:center}.device-preview-toolbar__title{min-width:210px;gap:10px}.device-preview-toolbar__title>div{display:grid;gap:2px}.device-preview-toolbar__title strong{font-size:.98rem}.device-preview-toolbar__title small{color:var(--muted);font-weight:700}.device-preview-toolbar__controls{justify-content:flex-end;flex-wrap:wrap;gap:8px}.ui-preview-icon-button,.ui-preview-action-button,.device-preview-surface-tabs button,.device-preview-help button{min-height:40px;border:1px solid var(--border);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;color:var(--text);background:var(--surface-strong);font-weight:800}.ui-preview-icon-button{width:40px;padding:0}.device-preview-surface-tabs{border:1px solid var(--border);border-radius:14px;padding:3px;background:var(--surface-soft)}.device-preview-surface-tabs button{min-height:34px;border:0;border-radius:10px;background:transparent;box-shadow:none}.device-preview-surface-tabs button.active{color:#a65313;background:#fff1df;box-shadow:inset 0 0 0 1px #f2ad72}.device-preview-stage{width:min(1600px,100%);flex:1 1 auto;min-height:0;margin:0 auto;border:1px dashed color-mix(in srgb,var(--border) 76%,var(--muted));border-radius:24px;overflow:hidden;padding:18px 12px 30px;background:linear-gradient(90deg,color-mix(in srgb,var(--border) 24%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--border) 24%,transparent) 1px,transparent 1px),color-mix(in srgb,var(--surface) 78%,transparent);background-size:24px 24px}.device-preview-size-guide{position:relative;margin:0 auto}.device-preview-frame{position:absolute;inset:0 auto auto 0;transform-origin:top left;box-sizing:border-box;display:grid;place-items:center;border:1px solid #20242d;background:#20242d;box-shadow:0 28px 70px #1a23323d}.device-preview-frame--desktop{border-radius:16px;padding:9px}.device-preview-frame--tablet{border-radius:32px;padding:12px}.device-preview-frame--phone{border-radius:40px;padding:12px}.device-preview-frame iframe{display:block;border:0;border-radius:inherit;background:#fff}.device-preview-frame--desktop iframe{border-radius:8px}.device-preview-frame--tablet iframe{border-radius:21px}.device-preview-frame--phone iframe{border-radius:29px}.device-preview-camera{position:absolute;top:4px;left:50%;z-index:2;width:34px;height:5px;border-radius:999px;transform:translate(-50%);background:#0b0d11;box-shadow:inset 0 0 0 1px #ffffff14}.device-preview-help{width:min(1500px,100%);margin:12px auto 0;justify-content:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.82rem;font-weight:700;flex:0 0 auto}.device-preview-help button{min-height:32px;padding:0 10px}@media(max-width:900px){.device-preview-studio{padding:8px}.device-preview-toolbar{position:static;align-items:stretch;flex-direction:column}.device-preview-toolbar__controls{justify-content:flex-start}}.pwa-prompt{position:fixed;z-index:1200;left:50%;bottom:max(46px,calc(env(safe-area-inset-bottom) + 12px));width:min(92vw,520px);min-height:52px;padding:8px 8px 8px 14px;border:2px solid color-mix(in srgb,var(--accent) 38%,white);border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;color:var(--text-strong);background:color-mix(in srgb,var(--surface-strong) 94%,var(--accent) 6%);box-shadow:0 16px 42px #4f352433;transform:translate(-50%)}.route-loading-screen{min-height:100vh;background:var(--page-bg, #fff8f1)}.parent-access-page{min-height:100dvh;padding:28px 18px;display:grid;place-items:center;color:var(--text, #1a2332);background:var(--page-bg, #fff6ec)}.parent-access-card{width:min(100%,430px);padding:30px;border:3px solid var(--border, #e5d5c3);border-radius:30px;background:var(--surface-strong, #fffcfa);box-shadow:0 8px #1a233212,0 24px 60px #4f35241f}.parent-access-mark{width:62px;height:62px;margin-bottom:20px;display:grid;place-items:center;border:3px solid #ffc5ad;border-radius:22px;color:#d84d2b;background:linear-gradient(145deg,#fff,#ffe8df);box-shadow:0 5px #d84d2b21}.parent-access-card>small{color:var(--muted, #5c6678);font-weight:800;letter-spacing:.08em}.parent-access-card h1{margin:7px 0 8px;font-size:clamp(1.55rem,5vw,2rem)}.parent-access-card>p{margin:0 0 22px;color:var(--muted, #5c6678);line-height:1.6}.parent-access-tabs{margin-bottom:20px;padding:4px;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;border-radius:16px;background:#f3e7db}.parent-access-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.child-device-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#2b1e1673;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.child-device-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:24px;border:2px solid #ead5c2;border-radius:28px;background:#fffaf5;box-shadow:0 22px 70px #5e371e47;color:#3e2a20}.child-device-modal>header,.child-device-modal>header>div,.child-device-create,.child-pairing-result,.child-device-list article{display:flex;align-items:center;gap:12px}.child-device-modal>header{justify-content:space-between}.child-device-modal h2,.child-device-modal h3,.child-device-modal p{margin:0}.child-device-modal header p,.child-device-list span{color:#816b5c;font-size:13px}.child-device-modal button,.child-device-modal select{min-height:42px;border:1.5px solid #e8cdb5;border-radius:14px;background:#fff;color:inherit;font:inherit}.child-device-modal button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;cursor:pointer}.child-device-create{margin:22px 0;align-items:end}.child-device-create label{display:grid;flex:1;gap:7px;font-weight:700}.child-device-create select{padding:0 12px}.child-device-create>button{background:#ff7657;border-color:#ff7657;color:#fff;font-weight:800}.child-pairing-result{justify-content:center;padding:18px;border:2px dashed #f2b084;border-radius:22px;background:#fff4e9}.child-pairing-result img{width:180px;height:180px;border-radius:12px}.child-pairing-result>div{display:grid;gap:10px}.child-pairing-result strong{font-size:clamp(32px,6vw,52px);letter-spacing:.18em;color:#e65b3a}.child-pairing-result small{color:#b4532f;font-weight:900}.child-pairing-result p{max-width:280px;font-size:13px;color:#7c6658}.child-pairing-result.expired{opacity:.72;filter:grayscale(.25)}.child-device-list{display:grid;gap:10px;margin-top:22px}.child-device-list article{justify-content:space-between;padding:12px 14px;border:1px solid #ecd8c5;border-radius:16px;background:#fff}.child-device-list article>div{display:grid;gap:3px}.child-device-list article>button{color:#b44e38}@media(max-width:560px){.child-device-create,.child-pairing-result{align-items:stretch;flex-direction:column}.child-pairing-result img{align-self:center}}.parent-access-tabs button{min-height:42px;border:0;border-radius:12px;color:#78695d;background:transparent;font-weight:800}.parent-access-tabs button.active{color:#a65313;background:#fff;box-shadow:0 2px 8px #4f35241a}.parent-access-card form,.parent-access-card label{display:grid;gap:8px}.parent-access-card form{gap:15px}.parent-access-card label{color:#51473f;font-size:.86rem;font-weight:800}.parent-access-card input{width:100%;min-height:48px;padding:0 14px;border:2px solid #e7d5c4;border-radius:14px;color:#1a2332;background:#fff;font:inherit;outline:none}.parent-access-card input:focus{border-color:#f2ad72;box-shadow:0 0 0 4px #e9822b26}.parent-access-submit{min-height:50px;margin-top:5px;border:2px solid #e24f2c;border-radius:16px;color:#fff;background:linear-gradient(180deg,#ff7b5c,#ff6a45);box-shadow:0 5px #e24f2c33;font-weight:900}.parent-access-submit:disabled{opacity:.6}.parent-access-error{padding:11px 12px;border:2px solid #f3b1a1;border-radius:13px;color:#a33f35;background:#fff1ed;font-size:.84rem;font-weight:700}.parent-session-chip{position:fixed;z-index:1100;right:18px;top:16px;padding:6px;display:flex;align-items:center;gap:6px;border:2px solid #e5d5c3;border-radius:999px;color:#5c6678;background:#fffcfaf0;box-shadow:0 4px 16px #4f35241a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.parent-session-chip span,.parent-session-chip button{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;font-weight:800}.parent-session-chip span{padding-left:8px}.parent-session-chip button{min-height:32px;padding:0 10px;border:0;border-radius:999px;color:#a65313;background:#fff1df}@media(max-width:520px){.parent-access-card{padding:24px 20px;border-radius:24px}.parent-session-chip{top:auto;right:10px;bottom:calc(env(safe-area-inset-bottom) + 10px)}}.picture-book-prototype{min-height:100vh;padding:18px clamp(14px,3vw,42px) 24px;color:#342820;background:radial-gradient(circle at 15% 0%,#fff4df,transparent 34%),linear-gradient(145deg,#fffaf3,#f6efe3);overflow-x:hidden}.picture-book-topbar{width:min(1500px,100%);min-height:66px;margin:0 auto 16px;padding:8px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:2px solid #e5d2bd;border-radius:22px;background:#fffdf8db;box-shadow:0 8px #e9ddcd}.picture-book-topbar button,.picture-book-navigation button{min-height:44px;padding:0 15px;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:14px;color:#634d3e;background:#f8ecdf;font:inherit;font-weight:900;cursor:pointer}.picture-book-title{display:flex;align-items:center;gap:10px;text-align:center}.picture-book-title div{display:grid}.picture-book-title strong{font-family:Georgia,serif;font-size:18px}.picture-book-title small{color:#9a7c67}.picture-book-page-count{justify-self:end;padding-right:12px;color:#96745f;font-weight:900}.picture-book-page-count span{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:50%;color:#fff;background:#ff7657}.picture-book-stage{width:min(1500px,100%);height:min(760px,calc(100vh - 180px));min-height:590px;margin:auto;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr);gap:18px}.picture-book-canvas,.picture-book-reader{position:relative;overflow:hidden;border:3px solid #dfc9b0;border-radius:32px;background:#fffdfa;box-shadow:0 10px #e7dac9,0 24px 55px #52372124}.picture-book-canvas{isolation:isolate;background:linear-gradient(#bde8f2 0 57%,#a9d77f 57%)}.storybook-sun{position:absolute;top:54px;right:11%;width:88px;height:88px;border-radius:50%;background:#ffd66b;box-shadow:0 0 0 18px #ffe07b38}.storybook-cloud{position:absolute;width:130px;height:42px;border-radius:50px;background:#ffffffd1}.storybook-cloud:before,.storybook-cloud:after{content:"";position:absolute;bottom:4px;border-radius:50%;background:inherit}.storybook-cloud:before{width:58px;height:58px;left:18px}.storybook-cloud:after{width:72px;height:72px;right:12px}.cloud-one{top:80px;left:8%}.cloud-two{top:145px;right:25%;transform:scale(.65)}.storybook-hills{position:absolute;left:-10%;bottom:-28%;width:74%;height:72%;border-radius:50% 50% 0 0;transform:rotate(5deg);background:#78ba6d}.hill-back{left:36%;bottom:-25%;width:80%;background:#8ecb78;transform:rotate(-8deg)}.hill-front{z-index:2}.storybook-tree{position:absolute;z-index:3;right:8%;bottom:13%;width:220px;height:350px}.storybook-tree i{position:absolute;bottom:0;left:92px;width:48px;height:210px;border-radius:40% 35% 12% 12%;background:#8c5b3e;transform:rotate(4deg)}.storybook-tree b,.storybook-tree span{position:absolute;width:180px;height:160px;border-radius:48% 55% 45% 60%;background:#4fa76a}.storybook-tree b{left:0;top:24px}.storybook-tree span{right:-25px;top:0;background:#63b878}.storybook-child{position:absolute;z-index:5;bottom:12%;width:90px;height:190px}.storybook-child i{position:absolute;top:0;left:20px;width:54px;height:60px;display:grid;place-items:center;border-radius:48%;color:#543827;background:#d79569;font-style:normal}.storybook-child b{position:absolute;top:54px;left:14px;width:68px;height:82px;border-radius:38% 38% 18% 18%;background:#f3b457}.storybook-child span{position:absolute;top:125px;left:27px;width:43px;height:62px;border-left:13px solid #4e6684;border-right:13px solid #4e6684}.milo{left:31%}.mia{left:19%;transform:scale(.9)}.mia b{background:#f38b83}.storybook-kite{position:absolute;z-index:6;top:18%;left:43%;width:105px;height:135px;border:0;background:transparent;cursor:pointer;animation:kite-float 3.5s ease-in-out infinite}.storybook-kite i{position:absolute;inset:0 10px 35px;display:block;background:linear-gradient(135deg,#ff7657 50%,#e94c47 50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 8px 3px rgb(93 52 35 / 18%))}.storybook-kite:after{content:"";position:absolute;left:51px;top:86px;width:2px;height:160px;background:#876a58;transform:rotate(-20deg);transform-origin:top}.storybook-kite span{position:absolute;right:-20px;top:16px;padding:5px 9px;border-radius:12px;color:#9d3b2c;background:#fff;font-weight:900;opacity:0;transition:.2s}.storybook-kite:hover span,.storybook-kite:focus span{opacity:1}.storybook-wind{position:absolute;color:#ffffffb3;font-size:35px;letter-spacing:8px}.wind-one{top:35%;left:5%}.wind-two{top:47%;right:14%}.picture-book-caption{position:absolute;z-index:8;left:4%;bottom:4%;max-width:480px;padding:18px 22px;border:2px solid rgb(255 255 255 / 80%);border-radius:24px;background:#fffcf3e0;box-shadow:0 10px 30px #42352226;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.picture-book-caption small{color:#d5573d;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.picture-book-caption h1{margin:4px 0;font-family:Georgia,serif;font-size:clamp(25px,3vw,42px);line-height:1.05}.picture-book-caption p{margin:7px 0 0;color:#766052}.picture-book-dots{position:absolute;z-index:9;right:22px;bottom:22px;display:flex;gap:7px}.picture-book-dots button{width:10px;height:10px;padding:0;border:0;border-radius:10px;background:#fff;box-shadow:0 1px 4px #775}.picture-book-dots button.active{width:30px;background:#ff7657}.picture-book-reader{padding:20px;display:flex;flex-direction:column;gap:16px;background:#fffaf4}.picture-book-mode-switch{padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:16px;background:#efe2d4}.picture-book-mode-switch button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;color:#796253;background:transparent;font:inherit;font-weight:900;cursor:pointer}.picture-book-mode-switch button.active{color:#c54f34;background:#fff;box-shadow:0 3px 8px #64422a21}.picture-book-progress{height:8px;overflow:hidden;border-radius:8px;background:#eee3d8}.picture-book-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#ff7657,#ffb55e);transition:width .35s}.picture-book-progress-summary{margin-top:-9px;display:flex;justify-content:space-between;gap:10px;color:#8a6e5b;font-size:11px}.picture-book-progress-summary strong{color:#c45a3b}.picture-book-progress-summary.completed{padding:9px 11px;margin-top:-7px;border-radius:13px;color:#287d59;background:#e4f8ed}.picture-book-progress-summary.completed strong{color:#168052}.picture-book-copy{display:grid;gap:9px}.picture-book-copy>small{color:#957866;font-weight:800}.picture-book-copy button{min-height:67px;padding:10px 11px;display:grid;grid-template-columns:31px minmax(0,1fr) 22px;align-items:center;gap:9px;text-align:left;border:2px solid #eadbce;border-radius:18px;color:#3e3028;background:#fff;font:inherit;cursor:pointer;transition:.18s}.picture-book-copy button>span{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;color:#b38b71;background:#f6ebe2;font-weight:900}.picture-book-copy button strong{font-family:Georgia,serif;font-size:clamp(15px,1.25vw,19px);line-height:1.25}.picture-book-copy button.active{border-color:#ff8a6c;background:#fff1e8;box-shadow:0 5px #ffd8ca;transform:translateY(-2px)}.picture-book-copy button.active>span{color:#fff;background:#ff7657}.picture-book-copy button.done>span{background:#45b981;color:#fff}.picture-book-action-card{margin-top:auto;padding:16px;border:2px solid #efd4c1;border-radius:23px;background:linear-gradient(145deg,#fff7ed,#fff);box-shadow:0 6px #eee0d3}.picture-book-action-card>div:first-child{display:grid;gap:4px}.picture-book-action-card small{color:#b65c3e;font-weight:900}.picture-book-action-card strong{min-height:48px;font-family:Georgia,serif;font-size:20px;line-height:1.25}.picture-book-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.picture-book-actions button{min-height:54px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:17px;font:inherit;font-weight:900;cursor:pointer}.picture-book-actions .listen{color:#27658b;background:#dff1ff}.picture-book-actions .record{color:#fff;background:#ff7657;box-shadow:0 5px #d85439}.picture-book-action-card p{margin:12px 0 0;color:#8c7464;font-size:12px;line-height:1.35}.picture-book-action-card.recording{border-color:#ff8d77;box-shadow:0 0 0 7px #ff76571f}.picture-book-action-card.recording .record{animation:record-pulse 1.2s infinite}.picture-book-actions button:disabled{opacity:.55;cursor:wait;box-shadow:none}.picture-book-action-card .picture-book-recording-error{color:#c13f31;font-weight:800}.picture-book-navigation{width:min(1500px,100%);margin:18px auto 0;display:flex;align-items:center;justify-content:space-between}.picture-book-navigation span{color:#9a806e;font-size:13px;font-weight:800}.picture-book-navigation button:last-child{color:#fff;background:#ff7657}.picture-book-navigation button:disabled{opacity:.35;cursor:not-allowed}@keyframes kite-float{50%{transform:translate(10px,-15px) rotate(4deg)}}@keyframes record-pulse{50%{box-shadow:0 5px #d85439,0 0 0 9px #ff76572e}}@media(max-width:900px){.picture-book-prototype{padding:10px}.picture-book-topbar{grid-template-columns:auto 1fr auto}.picture-book-topbar button span,.picture-book-title small{display:none}.picture-book-stage{height:auto;min-height:0;grid-template-columns:1fr}.picture-book-canvas{min-height:55vh}.picture-book-reader{min-height:520px}.picture-book-navigation{padding-bottom:12px}}@media(max-width:520px){.picture-book-topbar{border-radius:16px}.picture-book-title strong{font-size:14px}.picture-book-stage{gap:12px}.picture-book-canvas,.picture-book-reader{border-radius:23px}.picture-book-canvas{min-height:460px}.storybook-tree{right:-18%;transform:scale(.78);transform-origin:bottom}.milo{left:37%}.mia{left:15%}.storybook-kite{left:46%;transform:scale(.8)}.picture-book-caption{left:12px;right:12px;bottom:12px;padding:14px}.picture-book-caption h1{font-size:27px}.picture-book-dots{display:none}.picture-book-reader{padding:14px;min-height:540px}.picture-book-navigation span{display:none}}.ui-picture-square-button{color:#a64c28!important;background:#fff2e4!important;border-color:#f0cbb3!important}.picture-book-square{min-height:100vh;padding:18px clamp(16px,4vw,64px) 50px;color:#3b2a22;background:radial-gradient(circle at 90% 0%,#ffe2d4,transparent 30%),linear-gradient(145deg,#fffaf2,#f7f0e7)}.picture-square-topbar{width:min(1420px,100%);min-height:66px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 12px;border:2px solid #e7d3bf;border-radius:22px;background:#fffdf9e0;box-shadow:0 7px #eadfd2}.picture-square-topbar button{justify-self:start;min-height:43px;padding:0 14px;display:flex;align-items:center;gap:7px;border:0;border-radius:14px;color:#735848;background:#f8ede2;font:inherit;font-weight:900;cursor:pointer}.picture-square-topbar>div:nth-child(2){display:flex;align-items:center;gap:10px}.picture-square-topbar>div:nth-child(2)>span{width:45px;height:45px;position:relative;display:grid;place-items:center;border-radius:15px;color:#fff;background:#ff7657;box-shadow:0 4px #dd593d}.picture-square-topbar>div:nth-child(2)>span svg:last-child{position:absolute;right:-3px;top:-5px;color:#ffc845}.picture-square-topbar>div:nth-child(2)>div{display:grid;text-align:center}.picture-square-topbar strong{font-size:20px}.picture-square-topbar small{color:#9a7c69}.picture-square-stars{justify-self:end;padding:10px 14px!important;border-radius:15px;color:#a76020;background:#fff0c9;font-weight:900}.picture-square-hero{width:min(1420px,100%);min-height:260px;margin:22px auto;padding:35px clamp(24px,5vw,70px);position:relative;overflow:hidden;display:flex;align-items:center;border:3px solid #dfc8b2;border-radius:34px;background:linear-gradient(120deg,#ff8a6d,#ffb967);box-shadow:0 10px #ead9c7;color:#fff}.picture-square-hero:before{content:"";position:absolute;inset:auto -10% -75% 35%;height:150%;border-radius:50%;background:#ffffff1f}.picture-square-hero>div:first-child{position:relative;z-index:2}.picture-square-hero small{font-weight:900;letter-spacing:.18em}.picture-square-hero h1{margin:7px 0;font-family:Georgia,serif;font-size:clamp(30px,4vw,55px);line-height:1.1}.picture-square-hero p{margin:0;max-width:610px;font-weight:700;opacity:.9}.picture-square-hero-books{position:absolute;right:8%;bottom:0;width:300px;height:230px}.picture-square-hero-books i{position:absolute;bottom:-25px;width:115px;height:190px;border:7px solid white;border-radius:14px 14px 5px 5px;box-shadow:0 13px 25px #76331c40;transform:rotate(-12deg);background:linear-gradient(#8ed5cd 55%,#4cae81 55%)}.picture-square-hero-books i:nth-child(2){left:84px;bottom:-7px;transform:rotate(2deg);background:linear-gradient(#9ed7f4 55%,#497fb7 55%)}.picture-square-hero-books i:nth-child(3){left:170px;transform:rotate(14deg);background:linear-gradient(#ffd36d 55%,#eb7658 55%)}.picture-square-tools{width:min(1420px,100%);margin:28px auto 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.picture-square-tools label{min-width:min(410px,100%);height:50px;padding:0 16px;display:flex;align-items:center;gap:9px;border:2px solid #ead5c0;border-radius:17px;background:#fff}.picture-square-tools input{width:100%;border:0;outline:0;background:transparent;font:inherit}.picture-square-tools>div{display:flex;flex-wrap:wrap;gap:7px}.picture-square-tools button{min-height:40px;padding:0 15px;border:1.5px solid #ead4c0;border-radius:14px;color:#806552;background:#fffaf4;font:inherit;font-weight:800;cursor:pointer}.picture-square-tools button.active{border-color:#ff7657;color:#fff;background:#ff7657;box-shadow:0 3px #d9573d}.picture-square-tools .picture-square-import-button{min-height:50px;display:flex;align-items:center;gap:7px;color:#fff;border-color:#ff876a;background:#ff7657;box-shadow:0 4px #d9573d}.picture-square-tools .picture-square-import-button:disabled{opacity:.65;cursor:wait}.picture-square-import-error{width:min(1420px,100%);margin:-8px auto 18px;padding:10px 14px;border-radius:13px;color:#a6382a;background:#ffe9e3;font-weight:800}.picture-square-import-preview{width:min(1420px,100%);margin:0 auto 26px;padding:20px;border:2px solid #e7ceb8;border-radius:25px;background:#fffaf4;box-shadow:0 7px #eadfd2}.picture-square-import-preview>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.picture-square-import-preview h2{margin:2px 0;font-family:Georgia,serif}.picture-square-import-preview header small{color:#e25b3e;font-weight:900}.picture-square-import-preview header p{margin:0;color:#876d5c}.picture-square-import-preview header button{min-height:40px;padding:0 14px;border:1px solid #e6cfbc;border-radius:13px;color:#765d4c;background:#fff;font:inherit;font-weight:800;cursor:pointer}.picture-square-import-preview>div{max-height:520px;margin-top:16px;padding-right:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto}.picture-square-import-preview article{min-width:0;display:grid;grid-template-columns:180px minmax(0,1fr);gap:13px;padding:10px;border:1px solid #ead7c6;border-radius:17px;background:#fff}.picture-square-import-preview article img{width:100%;height:110px;object-fit:contain;border-radius:10px;background:#eee7df}.picture-square-import-preview article p{max-height:62px;margin:5px 0;overflow:auto;color:#6f594a;font-size:12px}.picture-square-import-preview article small{color:#d15d40;font-weight:800}.picture-square-import-preview article.needs-review{background:#fff9e9}.picture-square-import-preview article.needs-review small{color:#a56b16}.picture-square-import-preview article.practice-enabled{border-color:#ff9a79;box-shadow:inset 3px 0 #ff7657}.picture-square-page-editor{min-width:0}.picture-square-page-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.picture-square-page-heading label{padding:5px 8px;display:flex;align-items:center;gap:5px;border:1px solid #e8d1bd;border-radius:999px;color:#7b604e;background:#fffaf5;font-size:12px;font-weight:900;cursor:pointer}.picture-square-page-heading input{accent-color:#ff7657}.picture-square-sentence-editor{display:grid;gap:7px}.picture-square-sentence-editor>div{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:start;gap:5px}.picture-square-sentence-editor>div>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#ff8a6c;font-size:11px;font-weight:900}.picture-square-sentence-editor textarea{width:100%;min-height:48px;padding:7px 9px;resize:vertical;border:1.5px solid #e5cfbc;border-radius:10px;color:#49372c;background:#fffdf9;font:inherit;font-size:12px;line-height:1.35;outline:none}.picture-square-sentence-editor textarea:focus{border-color:#ff8a6c;box-shadow:0 0 0 3px #ff8a6c21}.picture-square-sentence-editor>div>button{width:28px;height:28px;border:0;border-radius:9px;color:#a75943;background:#fff0ea;font-size:19px;cursor:pointer}.picture-square-sentence-editor .add-sentence{min-height:34px;border:1.5px dashed #e2bda7;border-radius:10px;color:#b55339;background:#fff8f2;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.picture-square-sentence-editor .add-sentence:disabled{opacity:.5;cursor:default}.picture-square-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.picture-square-import-preview .picture-square-preview-actions button:first-child{color:#fff;border-color:#ff876a;background:#ff7657;box-shadow:0 3px #d9573d}.picture-square-import-preview .picture-square-preview-actions button:disabled{opacity:.6;cursor:default}.picture-book-loading{display:grid;place-items:center;align-content:center;gap:12px;color:#8b6e5b;font-weight:900}.picture-square-import-summary{margin-top:10px;display:flex;align-items:center;flex-wrap:wrap;gap:7px}.picture-square-import-summary span,.picture-square-import-summary strong{padding:5px 9px;border-radius:999px;background:#f5eadf;color:#765d4c;font-size:12px;font-weight:900}.picture-square-import-summary strong{color:#277a57;background:#e5f7ee}.picture-square-import-summary.has-error strong{color:#a7422f;background:#ffe8e1}.picture-square-title-editor{width:min(620px,70vw);margin:5px 0 7px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px}.picture-square-title-editor span{color:#765d4c;font-size:13px;font-weight:900}.picture-square-title-editor input{min-width:0;height:44px;padding:0 12px;border:2px solid #e5cdb8;border-radius:13px;color:#3d2d24;background:#fff;font:700 20px Georgia,serif;outline:none}.picture-square-title-editor input:focus{border-color:#ff8a6c;box-shadow:0 0 0 4px #ff8a6c21}.picture-book-card-actions{display:flex;align-items:center;gap:6px}.picture-square-card footer .picture-book-card-actions .delete{color:#a24c39;background:#fff0eb;border:1px solid #f0c8bc}.picture-square-card footer .picture-book-card-actions .delete:hover{color:#fff;background:#c65a43}.picture-square-card footer .picture-book-card-actions>button:last-child{color:#fff;background:#ff7657}.picture-square-resource-tabs{width:min(1420px,100%);margin:4px auto 22px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border:2px solid #e7d2bd;border-radius:20px;background:#f3e7da}.picture-square-resource-tabs button{min-height:62px;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;color:#846957;background:transparent;font:inherit;cursor:pointer}.picture-square-resource-tabs button>span{display:grid;text-align:left}.picture-square-resource-tabs button strong{font-size:16px}.picture-square-resource-tabs button small{color:#9b806e;font-size:11px}.picture-square-resource-tabs button.active{color:#c34f34;background:#fff;box-shadow:0 4px #e7d6c7}.picture-square-resource-tabs button.active small{color:#b26a54}.picture-square-empty-local{width:min(1420px,100%);margin:0 auto 20px;padding:35px;display:grid;place-items:center;text-align:center;border:2px dashed #dfc8b5;border-radius:22px;color:#8b705e;background:#fffaf4}.picture-square-empty-local strong{margin-top:6px;font-size:18px}.picture-square-empty-local p{margin:3px 0 0}.picture-square-section-heading{width:min(1420px,100%);margin:0 auto 15px;display:flex;align-items:end;justify-content:space-between}.picture-square-section-heading small{color:#e15a3d;font-weight:900}.picture-square-section-heading h2{margin:2px 0;font-family:Georgia,serif;font-size:31px}.picture-square-section-heading>span{color:#927563;font-weight:800}.picture-square-grid{width:min(1420px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.picture-square-card{min-width:0;overflow:hidden;display:grid;grid-template-columns:42% 58%;border:2px solid #e5d1bc;border-radius:25px;background:#fffdfa;box-shadow:0 7px #ebdfd2;transition:.2s}.picture-square-card:hover{transform:translateY(-5px);box-shadow:0 12px #ebdfd2}.picture-square-cover{min-height:235px;position:relative;overflow:hidden;padding:15px;color:#fff;background:#ff8b70}.picture-square-cover>span{position:relative;z-index:4;padding:4px 7px;border-radius:9px;background:#ffffff3d;font-size:11px;font-weight:900}.picture-square-cover>strong{position:absolute;z-index:4;left:14px;right:12px;bottom:16px;font-family:Georgia,serif;font-size:23px;line-height:1.05;text-shadow:0 2px 4px rgb(53 30 20 / 22%)}.picture-square-cover .cover-sun{position:absolute;right:15px;top:45px;width:48px;height:48px;border-radius:50%;background:#ffe677}.picture-square-cover .cover-hill{position:absolute;left:-20%;right:-20%;bottom:-20%;height:70%;border-radius:50%;background:#5db582}.picture-square-cover .cover-character{position:absolute;z-index:3;right:20%;bottom:32%;width:60px;height:60px;display:grid;place-items:center;border-radius:50% 50% 43% 47%;color:#684636;background:#f6c49a;font-style:normal;font-weight:900}.cover-mint{background:#7ac6b6}.cover-sun{background:#eba950}.cover-blue{background:#67a8d7}.cover-violet{background:#907ec5}.cover-green{background:#63a96f}.picture-square-card-copy{min-width:0;padding:17px;display:flex;flex-direction:column}.picture-square-card-copy>div{display:flex;justify-content:space-between;gap:6px;color:#987864;font-size:12px;font-weight:900}.picture-square-card-copy>div small{padding:4px 7px;border-radius:8px;color:#ba5136;background:#ffede5}.picture-square-card-copy>div span{display:flex;align-items:center;gap:4px}.picture-square-card h3{margin:18px 0 4px;overflow:hidden;font-family:Georgia,serif;font-size:20px;line-height:1.15}.picture-square-card p{margin:0;color:#8b7060}.picture-square-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.picture-square-card footer>span{color:#9d806d;font-size:12px;font-weight:900}.picture-square-card footer button{min-height:39px;padding:0 10px;display:flex;align-items:center;gap:3px;border:0;border-radius:13px;color:#fff;background:#ff7657;font:inherit;font-size:13px;font-weight:900;cursor:pointer}.picture-square-card:not(:first-child) footer button{color:#977b68;background:#f4ebe2}.picture-square-license-note{margin:28px auto 0;text-align:center;color:#9b8271;font-size:13px}@media(max-width:1050px){.picture-square-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.picture-square-hero-books{right:1%;opacity:.6}.picture-square-tools{align-items:stretch;flex-direction:column}.picture-square-tools label{min-width:0}}@media(max-width:650px){.picture-book-square{padding:10px 10px 35px}.picture-square-topbar{grid-template-columns:auto 1fr auto}.picture-square-topbar button{width:43px;padding:0;justify-content:center;font-size:0}.picture-square-topbar>div:nth-child(2)>span{display:none}.picture-square-topbar>div:nth-child(2)>div{text-align:left}.picture-square-topbar small,.picture-square-stars{display:none}.picture-square-hero{min-height:230px;margin:15px auto;padding:24px}.picture-square-hero h1{font-size:32px}.picture-square-hero-books{display:none}.picture-square-tools{margin-top:22px}.picture-square-tools>div{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.picture-square-tools button{flex:0 0 auto}.picture-square-grid{grid-template-columns:1fr;gap:14px}.picture-square-card{grid-template-columns:38% 62%}.picture-square-cover{min-height:210px}.picture-square-card h3{font-size:18px}.picture-square-section-heading h2{font-size:27px}}.picture-square-card.official{grid-template-columns:minmax(210px,32%) minmax(0,1fr);max-width:760px}.picture-square-cover.official-cover{padding:0;background:#243b78}.picture-square-cover.official-cover img{width:100%;height:100%;position:absolute;inset:0;display:block;object-fit:cover}.picture-book-credit-mini{margin:14px 0;color:#876e5e;font-size:12px;line-height:1.45}.picture-square-card.official footer button{color:#fff;background:#ff7657}.official-book-page{display:grid;place-items:center;background:#ece7df}.official-book-page>img{width:100%;height:100%;display:block;object-fit:contain;background:#fff}.official-book-page .picture-book-dots{max-width:70%;overflow:hidden}.picture-book-page-pause{margin:auto 0;padding:25px;display:grid;place-items:center;text-align:center;border:2px dashed #e5cdb9;border-radius:22px;color:#8c6f5c;background:#fff6ec}.picture-book-page-pause strong{margin-top:8px;font-size:20px}.picture-book-page-pause p{margin:5px 0 0}.picture-book-attribution{padding-top:11px;border-top:1px solid #ead8c8;color:#826a5a;font-size:11px;line-height:1.4}.picture-book-attribution strong{display:block;color:#5d493d}.picture-book-attribution p{margin:3px 0}.picture-book-attribution a{color:#c35235;font-weight:900}.official-picture-book .picture-book-reader{overflow:auto}@media(max-width:650px){.picture-square-card.official{grid-template-columns:38% 62%}.picture-square-card.official .picture-square-card-copy{padding:13px}.picture-square-card.official .picture-book-credit-mini{display:none}.official-picture-book .picture-book-canvas{min-height:52vw;max-height:470px}.official-picture-book .picture-book-reader{min-height:520px}}.official-book-page{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}.official-book-page.dragging{cursor:grabbing}.official-book-page>img{pointer-events:none}.picture-book-official-audio{position:absolute;z-index:3;left:16px;top:16px;min-height:42px;padding:0 15px;display:flex;align-items:center;gap:7px;border:2px solid #fff3e9;border-radius:999px;color:#a94125;background:#fffaf4f0;box-shadow:0 5px #9755342e,0 10px 24px #4a29182e;font:inherit;font-weight:900;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.picture-book-official-audio.playing{color:#fff;border-color:#ffb09a;background:#ff7657;box-shadow:0 5px #cf5238,0 10px 24px #ff765747}@media(max-width:520px){.picture-book-official-audio{left:10px;top:10px;min-height:38px;padding:0 12px;font-size:13px}}@media(max-width:650px){.picture-square-import-preview{padding:13px}.picture-square-import-preview>header{align-items:flex-start;flex-direction:column}.picture-square-import-preview>div{grid-template-columns:1fr}.picture-square-import-preview article{grid-template-columns:90px minmax(0,1fr)}.picture-square-import-preview article img{height:90px}.picture-square-page-heading{align-items:flex-start;flex-direction:column}.picture-square-title-editor{width:100%;grid-template-columns:1fr}.picture-square-sentence-editor>div{grid-template-columns:20px minmax(0,1fr) 28px}}.pwa-prompt strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-sudoku-button{color:#8a5420!important;background:#fff4dc!important;border-color:#f0d5a5!important}.sudoku-page{min-height:100vh;padding:18px clamp(12px,3vw,42px) 35px;color:#372920;background:radial-gradient(circle at 8% 0%,#ffe8c7,transparent 28%),radial-gradient(circle at 95% 10%,#dff5e9,transparent 30%),linear-gradient(145deg,#fffaf3,#f7eee3)}.sudoku-topbar{width:min(1280px,100%);min-height:68px;margin:0 auto 20px;padding:8px 12px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border:2px solid #e5d1ba;border-radius:22px;background:#fffdf8eb;box-shadow:0 7px #e9ddce}.sudoku-topbar>button{justify-self:start;min-height:44px;padding:0 14px;display:flex;align-items:center;gap:7px;border:0;border-radius:14px;color:#6c5445;background:#f6eade;font:inherit;font-weight:900;cursor:pointer}.sudoku-topbar>div{display:flex;align-items:center;gap:10px}.sudoku-topbar>div>svg{width:43px;height:43px;padding:10px;border-radius:14px;color:#fff;background:#ff7657;box-shadow:0 4px #d85439}.sudoku-topbar>div>span{display:grid;text-align:center}.sudoku-topbar>div strong{font-size:19px}.sudoku-topbar>div small{color:#9b7d69}.sudoku-timer{justify-self:end;min-width:90px;padding:10px 14px;text-align:center;border-radius:14px;color:#9b5e1f;background:#fff0c9;font-size:20px;font-variant-numeric:tabular-nums}.sudoku-shell{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.sudoku-settings,.sudoku-game{border:3px solid #dfc9b1;border-radius:30px;background:#fffdfa;box-shadow:0 9px #e9ddce,0 22px 48px #553b251f}.sudoku-settings{padding:27px;position:sticky;top:15px}.sudoku-settings>small{color:#e45d40;font-weight:900;letter-spacing:.13em}.sudoku-settings h1{margin:4px 0 8px;font-family:Georgia,serif;font-size:34px}.sudoku-settings>p{margin:0 0 22px;color:#806858;line-height:1.55}.sudoku-settings label{margin-top:13px;display:grid;gap:6px;color:#715747;font-weight:900}.sudoku-settings select{height:46px;padding:0 12px;border:2px solid #e4cfbb;border-radius:14px;color:#46352b;background:#fffaf5;font:inherit;font-weight:800}.sudoku-new{width:100%;min-height:49px;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:15px;color:#fff;background:#ff7657;box-shadow:0 5px #d85439;font:inherit;font-weight:900;cursor:pointer}.sudoku-legend{margin-top:25px;padding-top:18px;display:grid;gap:9px;border-top:1px dashed #dbc4b0;color:#846b5b;font-size:12px;font-weight:800}.sudoku-legend span{display:flex;align-items:center;gap:8px}.sudoku-legend i{width:17px;height:17px;border-radius:5px;background:#e9dfd4}.sudoku-legend i.answer{background:#dff0ff}.sudoku-legend i.wrong{background:#ffe0dc}.sudoku-game{padding:clamp(16px,3vw,30px)}.sudoku-status{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sudoku-status span{padding:6px 10px;border-radius:10px;color:#b05438;background:#ffede4;font-size:12px;font-weight:900}.sudoku-status strong{color:#6f5747}.sudoku-board{width:min(630px,100%);aspect-ratio:1;margin:auto;display:grid;overflow:hidden;border:4px solid #543f33;border-radius:15px;background:#543f33;box-shadow:0 8px #d9c4b2}.sudoku-board>button{min-width:0;min-height:0;padding:0;position:relative;display:grid;place-items:center;border:solid #cdbbaa;border-width:0 1px 1px 0;color:#2773a8;background:#fffdfa;font:800 clamp(18px,4vw,38px) Georgia,serif;cursor:pointer}.sudoku-board>button.given{color:#3b2d25;background:#f6eee5}.sudoku-board>button.related{background:#fff4dc}.sudoku-board>button.same{color:#c14e31;background:#ffe2d6}.sudoku-board>button.selected{z-index:2;outline:4px solid #ff7657;outline-offset:-4px;background:#fff0e8}.sudoku-board>button.wrong{color:#c52d2d;background:#ffe0df}.sudoku-notes{width:100%;height:100%;padding:5%;display:grid;grid-template-columns:repeat(3,1fr);place-items:center;color:#6a8ca5;font:700 clamp(7px,1.2vw,12px) system-ui,sans-serif}.size-4 .sudoku-notes{grid-template-columns:repeat(2,1fr)}.size-6 .sudoku-notes{grid-template-columns:repeat(3,1fr)}.sudoku-notes i{font-style:normal}.sudoku-number-pad{width:min(630px,100%);margin:22px auto 0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:7px}.sudoku-number-pad button{aspect-ratio:1;max-height:58px;border:2px solid #e1cbb7;border-radius:14px;color:#684f40;background:#fff;font:900 clamp(17px,2vw,25px) Georgia,serif;cursor:pointer}.sudoku-number-pad button.active{color:#fff;border-color:#ff7657;background:#ff7657;box-shadow:0 4px #d9573d}.sudoku-actions{width:min(630px,100%);margin:14px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sudoku-actions button{min-height:47px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;color:#765e4f;background:#f3e9df;font:inherit;font-weight:900;cursor:pointer}.sudoku-actions button.active{color:#fff;background:#36a77c}.sudoku-actions button:disabled{opacity:.4;cursor:default}@media(max-width:850px){.sudoku-shell{grid-template-columns:1fr}.sudoku-settings{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px 15px}.sudoku-settings>small,.sudoku-settings h1,.sudoku-settings>p,.sudoku-new,.sudoku-legend{grid-column:1/-1}.sudoku-settings h1{margin-bottom:0}.sudoku-settings>p{margin-bottom:5px}}@media(max-width:560px){.sudoku-page{padding:8px 8px 25px}.sudoku-topbar{margin-bottom:12px;grid-template-columns:auto 1fr auto;border-radius:17px}.sudoku-topbar>button{width:42px;padding:0;justify-content:center;font-size:0}.sudoku-topbar>div>svg,.sudoku-topbar>div small{display:none}.sudoku-topbar>div strong{font-size:15px}.sudoku-timer{min-width:70px;padding:8px;font-size:16px}.sudoku-settings{padding:18px;border-radius:22px}.sudoku-game{padding:12px;border-radius:22px}.sudoku-board{border-width:3px;border-radius:10px}.sudoku-board>button{font-size:clamp(18px,7vw,30px)}.sudoku-actions{grid-template-columns:repeat(2,1fr)}.sudoku-actions button{min-height:43px}.sudoku-number-pad{gap:4px}.sudoku-number-pad button{border-radius:9px}.sudoku-status{align-items:flex-start;flex-direction:column}}.pwa-prompt button{min-height:36px;border:0;border-radius:12px;font:inherit;font-weight:900}.pwa-prompt__confirm{padding:0 14px;color:#fff;background:var(--accent)}.pwa-prompt__dismiss{width:36px;display:grid;place-items:center;color:var(--text-muted);background:transparent}@media(max-width:520px){.pwa-prompt{grid-template-columns:auto minmax(0,1fr) auto}.pwa-prompt__confirm{grid-column:2 / -1}.pwa-prompt__dismiss{grid-column:3;grid-row:1}}html[data-design-chrome=storybook]{--rl-paper: #fff6ec;--rl-paper-deep: #f0e4d4;--rl-ink: #1a2332;--rl-ink-soft: #5c6678;--rl-line: #e5d5c3;--rl-coral: #ff6a45;--rl-coral-deep: #e24f2c;--rl-sun: #f0b429;--rl-mint: #2bb673;--rl-sky: #4c9fe0;--rl-plum: #8b7cff;--rl-selection: #e9822b;--rl-selection-deep: #a65313;--rl-selection-bg: #fff1df;--rl-selection-line: #f2ad72;--rl-selection-ring: rgba(233, 130, 43, .2);--rl-peach: #ffb48a;--rl-ok-bg: #e3f8ec;--rl-warn-bg: #fff4d1;--rl-bad-bg: #ffe8e1;--rl-info-bg: #e5f3ff;--rl-white: #fffcfa;--radius-card: 28px;--radius-control: 20px;--kid-chunky: 0 6px 0 rgba(26, 35, 50, .07);--kid-chunky-coral: 0 6px 0 rgba(226, 79, 44, .22);--shadow-soft: 0 12px 32px rgba(26, 35, 50, .08);--page-bg: radial-gradient(circle 280px at 8% 12%, rgba(255, 106, 69, .14), transparent 70%), radial-gradient(circle 320px at 92% 8%, rgba(139, 124, 255, .12), transparent 70%), radial-gradient(circle 260px at 70% 90%, rgba(43, 182, 115, .1), transparent 70%), var(--rl-paper);--surface: rgba(255, 252, 250, .94);--surface-strong: var(--rl-white);--surface-soft: rgba(255, 237, 230, .72);--surface-tint: #ffe8e1;--border: var(--rl-line);--text: var(--rl-ink);--muted: var(--rl-ink-soft);--primary: var(--rl-coral);--primary-strong: var(--rl-coral-deep);--primary-soft: var(--rl-bad-bg);--accent: var(--rl-sky);--accent-soft: var(--rl-info-bg);--warning: var(--rl-sun);--warning-soft: var(--rl-warn-bg);--success: var(--rl-mint);--success-soft: var(--rl-ok-bg);--danger: var(--rl-coral-deep);--danger-soft: var(--rl-bad-bg);--shadow-card: var(--shadow-soft)}html[data-design-chrome=storybook] body{font-family:Nunito,PingFang SC,Microsoft YaHei,system-ui,sans-serif;background:var(--page-bg);color:var(--rl-ink)}html[data-design-chrome=storybook] .child-shell{width:min(1100px,100%);height:100dvh;min-height:0;padding:14px 20px 16px;display:flex;flex-direction:column;overflow:hidden}html[data-design-chrome=storybook] .ui-layout-switcher{color:var(--rl-coral-deep, var(--primary-strong));background:linear-gradient(180deg,#fff,#fff4ee)}html[data-design-chrome=storybook] .child-brand-mark,html[data-design-chrome=storybook] .child-profile-chip,html[data-design-chrome=storybook] .child-points-chip{border:2px solid var(--rl-line);border-radius:999px;box-shadow:0 3px #1a23320d;font-weight:800;background:var(--rl-white)}html[data-design-chrome=storybook] .child-player-topbar{flex:0 0 auto;margin-bottom:12px}html[data-design-chrome=storybook] .child-brand-mark{width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,#fff,var(--rl-bad-bg));color:var(--rl-coral-deep);box-shadow:var(--kid-chunky)}html[data-design-chrome=storybook] .child-profile-chip span{background:linear-gradient(145deg,#ff8a70,var(--rl-coral))}html[data-design-chrome=storybook] .theme-switcher,html[data-design-chrome=storybook] .language-switcher,html[data-design-chrome=storybook] .ghost-button.handback-button,html[data-design-chrome=storybook] .ui-device-preview-button{border-radius:999px;border:2px solid var(--rl-line);background:var(--rl-white);box-shadow:0 3px #1a23320d;font-weight:800;color:var(--rl-ink)}html[data-design-chrome=storybook] .theme-switcher,html[data-design-chrome=storybook] .language-switcher{color:var(--rl-coral-deep);background:linear-gradient(180deg,#fff,#fff4ee)}html[data-design-chrome=storybook] .ui-device-preview-button{min-height:42px;padding:0 14px;color:var(--rl-selection-deep);background:linear-gradient(180deg,#fff,var(--rl-selection-bg))}html[data-design-chrome=storybook] .ui-theme-switcher-group{display:inline-flex;flex-wrap:wrap;gap:8px}html[data-design-chrome=storybook] .child-learning-layout{display:grid;grid-template-columns:clamp(248px,25vw,276px) minmax(0,1fr);gap:0;align-items:stretch;flex:1 1 auto;height:auto;min-height:0;border:3px solid var(--rl-line);border-radius:32px;overflow:hidden;background:radial-gradient(circle 180px at 100% 0%,rgba(255,180,138,.25),transparent 60%),radial-gradient(circle 160px at 0% 100%,rgba(139,124,255,.12),transparent 55%),#fff8f0;box-shadow:var(--kid-chunky),var(--shadow-soft)}html[data-design-chrome=storybook] .child-left-rail{position:static;height:auto;min-height:0;max-height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;border-right:3px solid var(--rl-line);background:#fffcfaeb;padding:0;gap:0;align-self:stretch}html[data-design-chrome=storybook] .child-left-rail::-webkit-scrollbar{width:5px;height:0}html[data-design-chrome=storybook] .child-left-rail::-webkit-scrollbar-track{background:transparent}html[data-design-chrome=storybook] .child-left-rail::-webkit-scrollbar-thumb{border-radius:999px;background:transparent}html[data-design-chrome=storybook] .child-left-rail:hover{scrollbar-color:rgba(233,130,43,.42) transparent}html[data-design-chrome=storybook] .child-left-rail:hover::-webkit-scrollbar-thumb{background:#e9822b6b}html[data-design-chrome=storybook] .sb-reading-pane::-webkit-scrollbar{width:0;height:0}html[data-design-chrome=storybook] .practice-books-card,html[data-design-chrome=storybook] .merged-practice-card{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:16px 12px 18px;gap:10px;align-content:start;height:auto;min-height:100%}html[data-design-chrome=storybook] .child-panel-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:4px 10px;color:var(--rl-ink-soft);font-size:12px;font-weight:800;letter-spacing:.04em}html[data-design-chrome=storybook] .child-panel-title svg{display:none}html[data-design-chrome=storybook] .child-panel-title strong{flex:none;color:var(--rl-ink-soft);font-size:12px;font-weight:800}html[data-design-chrome=storybook] .task-status-tabs{display:none!important}html[data-design-chrome=storybook] .practice-book-tree{gap:10px}html[data-design-chrome=storybook] .practice-book-tree-section{gap:8px}html[data-design-chrome=storybook] .practice-book-mini{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;grid-template-areas:"cover title icon" "cover meta icon" "cover bar bar";column-gap:10px;row-gap:4px;align-items:center;width:100%;padding:12px;border-radius:22px;border:3px solid var(--rl-line);background:var(--rl-white);box-shadow:0 4px #1a23320d;font-weight:800;text-align:left;color:var(--rl-ink)}html[data-design-chrome=storybook] .practice-book-mini:hover{border-color:color-mix(in srgb,var(--rl-line) 65%,var(--rl-selection-line));background:linear-gradient(180deg,#fff,#faf8ff);box-shadow:0 6px #1a233212;transform:none}html[data-design-chrome=storybook] .practice-book-mini.selected{border-color:var(--rl-selection-line);background:linear-gradient(180deg,#fff,var(--rl-selection-bg));box-shadow:0 0 0 4px var(--rl-selection-ring),0 6px #594dc41f}html[data-design-chrome=storybook] .practice-book-mini.selected strong{color:var(--rl-selection-deep)}html[data-design-chrome=storybook] .book-cover,html[data-design-chrome=storybook] .ui-book-cover{grid-area:cover;width:42px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff!important;font-weight:800;font-size:18px;border:3px solid rgba(255,255,255,.4);box-shadow:0 4px #00000014;background:linear-gradient(160deg,#ff8a70,#ff6a45 55%,#ffb48a)!important}html[data-design-chrome=storybook] .practice-book-tree-section:nth-child(2n) .book-cover{background:linear-gradient(160deg,#a99bff,#8b7cff 55%,#c4b8ff)!important}html[data-design-chrome=storybook] .practice-book-tree-section:nth-child(3n) .book-cover{background:linear-gradient(160deg,#6ec8ff,#4c9fe0 55%,#9fd4ff)!important}html[data-design-chrome=storybook] .practice-book-mini strong{grid-area:title;min-width:0;font-size:13px;font-weight:800;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-design-chrome=storybook] .practice-book-mini em{grid-area:meta;margin:0;color:var(--rl-ink-soft);font-size:11px;font-style:normal;font-weight:700;white-space:nowrap}html[data-design-chrome=storybook] .book-expand-icon{grid-area:icon;justify-self:end;color:var(--rl-ink-soft);width:16px;height:16px}html[data-design-chrome=storybook] .practice-book-mini .practice-progress-bar,html[data-design-chrome=storybook] .practice-book-mini .ui-progress{grid-area:bar;display:block;width:100%;height:8px;margin:4px 0 0;border-radius:99px;border:2px solid rgba(26,35,50,.04);background:var(--rl-paper-deep);overflow:hidden}html[data-design-chrome=storybook] .practice-book-mini .practice-progress-bar>span,html[data-design-chrome=storybook] .practice-book-mini .practice-progress-bar>i,html[data-design-chrome=storybook] .practice-book-mini .ui-progress>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5ed99a,var(--rl-mint))}html[data-design-chrome=storybook] .practice-book-lesson-list{padding-left:4px;gap:4px}html[data-design-chrome=storybook] .practice-book-lesson-list:before{content:"本课进度";display:block;padding:8px 10px 4px;font-size:12px;font-weight:800;color:var(--rl-ink-soft);letter-spacing:.04em}html[data-design-chrome=storybook] .task-preview-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:16px;border:2px solid transparent;background:transparent;box-shadow:none;transform:none;grid-template-columns:none;color:var(--rl-ink-soft);font-weight:700;font-size:13px}html[data-design-chrome=storybook] .task-preview-row:hover{transform:none;box-shadow:none;background:#fff9}html[data-design-chrome=storybook] .task-preview-row.active{background:linear-gradient(180deg,#fff,var(--rl-selection-bg));border-color:var(--rl-selection-line);color:var(--rl-ink);box-shadow:0 3px #594dc41f}html[data-design-chrome=storybook] .task-preview-row.completed{color:#178a54;background:transparent;border-color:transparent;box-shadow:none}html[data-design-chrome=storybook] .task-thumb{width:12px!important;height:12px!important;min-width:12px;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 1px 2px #00000014;font-size:0!important;color:transparent!important;background:var(--rl-line)!important;flex-shrink:0}html[data-design-chrome=storybook] .task-preview-row.active .task-thumb{background:var(--rl-selection)!important;box-shadow:0 0 0 4px var(--rl-selection-ring)}html[data-design-chrome=storybook] .task-preview-row.completed .task-thumb{background:var(--rl-mint)!important;box-shadow:0 1px 2px #0000000f}html[data-design-chrome=storybook] .task-preview-row>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}html[data-design-chrome=storybook] .task-preview-row strong{font-size:13px;font-weight:800;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-line-clamp:unset;overflow-wrap:normal;word-break:normal}html[data-design-chrome=storybook] .task-preview-row.active strong{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}html[data-design-chrome=storybook] .task-preview-row small,html[data-design-chrome=storybook] .task-preview-row em{font-size:11px;font-weight:700;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .task-preview-row .practice-progress-bar,html[data-design-chrome=storybook] .task-preview-row .ui-progress{display:none}html[data-design-chrome=storybook] .task-preview-row .practice-tree-chevron{color:var(--rl-ink-soft);width:16px;height:16px;flex-shrink:0}html[data-design-chrome=storybook] .practice-course-outline,html[data-design-chrome=storybook] .practice-section-tree{border-left:none;margin-left:8px;padding-left:4px;gap:4px}html[data-design-chrome=storybook] .practice-chapter-toggle,html[data-design-chrome=storybook] .practice-section-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:16px;border:2px solid transparent;background:transparent;box-shadow:none;grid-template-columns:none;color:var(--rl-ink-soft);font-weight:700;font-size:13px}html[data-design-chrome=storybook] .practice-chapter-toggle:hover,html[data-design-chrome=storybook] .practice-section-toggle:hover{background:#ffffff8c;border-color:transparent}html[data-design-chrome=storybook] .practice-chapter-toggle.active,html[data-design-chrome=storybook] .practice-section-toggle.active{background:linear-gradient(180deg,#fff,var(--rl-selection-bg));border-color:var(--rl-selection-line);color:var(--rl-ink);box-shadow:0 3px #594dc41f}html[data-design-chrome=storybook] .practice-chapter-toggle.active .practice-tree-copy strong,html[data-design-chrome=storybook] .practice-section-toggle.active .practice-section-label-row strong{color:var(--rl-selection-deep)}html[data-design-chrome=storybook] .practice-chapter-index{width:12px!important;height:12px!important;min-width:12px;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 1px 2px #00000014;font-size:0!important;color:transparent!important;background:var(--rl-line)!important;flex-shrink:0}html[data-design-chrome=storybook] .practice-chapter-toggle.active .practice-chapter-index{background:var(--rl-selection)!important;box-shadow:0 0 0 4px var(--rl-selection-ring)}html[data-design-chrome=storybook] .practice-tree-copy{flex:1;min-width:0}html[data-design-chrome=storybook] .practice-tree-copy strong{font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-design-chrome=storybook] .practice-tree-copy small{font-size:11px;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .practice-section-heading{flex:1;min-width:0}html[data-design-chrome=storybook] .practice-section-label-row{flex-wrap:nowrap}html[data-design-chrome=storybook] .practice-section-label-row strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-design-chrome=storybook] .practice-section-toggle.active .practice-section-label-row{align-items:flex-start}html[data-design-chrome=storybook] .practice-section-toggle.active .practice-section-label-row strong{display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}html[data-design-chrome=storybook] .practice-section-label-row i{flex-shrink:0;border-radius:999px;border:1px solid var(--rl-line);background:var(--rl-white);color:var(--rl-ink-soft);font-size:10px;font-weight:800;font-style:normal;padding:2px 6px}html[data-design-chrome=storybook] .practice-section-toggle em,html[data-design-chrome=storybook] .practice-chapter-toggle+*{font-size:11px;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .practice-section-toggle em{font-style:normal;font-weight:700;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .practice-sentence-tree{gap:2px;margin-left:6px}html[data-design-chrome=storybook] .practice-sentence-tree-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:0;background:transparent;font-size:12px;font-weight:700;color:var(--rl-ink-soft);width:100%;max-width:100%;min-width:0;overflow:hidden}html[data-design-chrome=storybook] .practice-sentence-tree-item.active{background:linear-gradient(90deg,var(--rl-selection-bg),#faf9ff);color:var(--rl-ink);box-shadow:inset 3px 0 0 var(--rl-selection)}html[data-design-chrome=storybook] .practice-sentence-tree-item.done{color:#178a54}html[data-design-chrome=storybook] .practice-sentence-state{width:18px;height:18px;border-radius:50%;border:0;font-size:10px;font-weight:800;color:var(--rl-ink-soft);background:var(--rl-paper-deep)}html[data-design-chrome=storybook] .practice-sentence-tree-item.active .practice-sentence-state{color:#fff;background:var(--rl-selection)}html[data-design-chrome=storybook] .practice-sentence-tree-item.done .practice-sentence-state{color:#fff;background:var(--rl-mint)}html[data-design-chrome=storybook] .practice-sentence-tree-item>span:not(.practice-sentence-state){flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-design-chrome=storybook] .practice-sentence-tree-item>span:not(.practice-sentence-state) small{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:999px;color:#7d694f;background:#fff0cf;font-size:9px;font-weight:800}html[data-design-chrome=storybook] .practice-sentence-tree-item.optional:not(.active) .practice-sentence-state{color:#a9783d;background:#fff0cf}html[data-design-chrome=storybook] .practice-sentence-tree-item.active>span:not(.practice-sentence-state){display:-webkit-box;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}html[data-design-chrome=storybook] .practice-sentence-tree-item>em{font-size:11px;font-style:normal;font-weight:800;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .sb-reading-pane.child-reading-stage{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px;min-height:100%;overflow:auto;scrollbar-width:none;container-name:reading-pane;container-type:inline-size}@container reading-pane (max-width: 520px){html[data-design-chrome=storybook] .sb-stage-toolbar{align-items:stretch;flex-direction:column}html[data-design-chrome=storybook] .sb-stage-toolbar .ui-voice-pill,html[data-design-chrome=storybook] .sb-stage-toolbar .compact-voice-picker{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);overflow:hidden}html[data-design-chrome=storybook] .sb-stage-toolbar select{width:100%;min-width:0;max-width:100%}}html[data-design-chrome=storybook] .sb-stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}html[data-design-chrome=storybook] .sb-crumb{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px;max-width:min(100%,420px);border-radius:999px;border:2px solid var(--rl-line);background:#ffffffbf;padding:8px 14px;font-size:13px;font-weight:700;color:var(--rl-ink-soft);box-shadow:none}html[data-design-chrome=storybook] .sb-crumb strong{color:var(--rl-ink);font-weight:800;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-design-chrome=storybook] .sb-stage-toolbar .ui-voice-pill,html[data-design-chrome=storybook] .sb-stage-toolbar .compact-voice-picker{border-radius:999px!important;border:2px solid var(--rl-line)!important;background:var(--rl-white)!important;box-shadow:0 3px #1a23320d;font-weight:800;font-size:12px;min-height:40px;color:var(--rl-ink)}html[data-design-chrome=storybook] .sb-stage-bubble.ui-stage-card,html[data-design-chrome=storybook] .sb-stage-bubble.sentence-stage-card{position:relative;flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;min-height:240px;view-transition-name:active-reading-card;border:3px solid var(--rl-line);border-radius:36px;padding:32px 22px 22px;background:var(--rl-white);box-shadow:var(--kid-chunky),0 16px 40px #ff6a4514;gap:0;align-content:center}html[data-design-chrome=storybook] .practice-sentence-tree-item[aria-current=true]{view-transition-name:active-practice-sentence}::view-transition-old(active-reading-card),::view-transition-old(active-practice-sentence){animation:reading-view-out .16s ease-in both}::view-transition-new(active-reading-card),::view-transition-new(active-practice-sentence){animation:reading-view-in .22s cubic-bezier(.2,.8,.2,1) both}@keyframes reading-view-out{to{opacity:0;transform:translate(-10px) scale(.99)}}@keyframes reading-view-in{0%{opacity:0;transform:translate(14px) scale(.99)}}@media(prefers-reduced-motion:reduce){::view-transition-old(active-reading-card),::view-transition-new(active-reading-card),::view-transition-old(active-practice-sentence),::view-transition-new(active-practice-sentence){animation:none}}html[data-design-chrome=storybook] .sb-stage-bubble.ui-stage-card--pass{border-color:#2bb6738c;box-shadow:0 0 0 6px #2bb6731f,var(--kid-chunky);background:linear-gradient(180deg,#fff,#f3fcf7)}html[data-design-chrome=storybook] .ui-stage-card__dots{position:absolute;top:18px;left:22px;display:flex;align-items:center;gap:8px;pointer-events:none}html[data-design-chrome=storybook] .ui-stage-card__dots i{display:block;border-radius:50%}html[data-design-chrome=storybook] .ui-stage-card__dots i:first-child{width:28px;height:28px;background:radial-gradient(circle at 30% 30%,#fff 0 28%,var(--rl-peach) 30% 100%);border:2px solid rgba(255,106,69,.2);opacity:.9}html[data-design-chrome=storybook] .ui-stage-card__dots i:last-child{width:18px;height:18px;background:var(--rl-mint);opacity:.35}html[data-design-chrome=storybook] .ui-stage-card__badge{position:absolute;top:14px;right:16px;z-index:2;border-radius:999px;border:2px solid rgba(255,106,69,.25);padding:6px 12px;color:var(--rl-coral-deep);background:#ffe8e1;font-size:12px;font-weight:800}html[data-design-chrome=storybook] .ui-stage-card--pass .ui-stage-card__badge{color:#178a54;background:var(--rl-ok-bg);border-color:#2bb6734d}html[data-design-chrome=storybook] .sb-stage-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;margin-top:8px}html[data-design-chrome=storybook] .sb-word-study-card{display:flex;flex-direction:column;align-items:center;width:min(460px,92%);padding:24px 32px;border:3px solid rgba(255,141,92,.38);border-radius:28px;background:linear-gradient(180deg,#fffaf5,#fff2e9);box-shadow:0 8px #e4977029;text-align:center}html[data-design-chrome=storybook] .sb-word-study-card.optional{border-color:#e1b25a66;background:linear-gradient(180deg,#fffdf4,#fff5d9)}html[data-design-chrome=storybook] .sb-word-study-kind{align-self:flex-start;padding:5px 10px;border-radius:999px;color:var(--rl-coral-deep);background:#ffe5da;font-size:11px;font-weight:900}html[data-design-chrome=storybook] .sb-word-study-card.optional .sb-word-study-kind{color:#93642b;background:#ffebba}html[data-design-chrome=storybook] .sb-word-study-card>strong{margin-top:12px;color:var(--rl-ink);font-family:Nunito,PingFang SC,sans-serif;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.08;font-weight:900}html[data-design-chrome=storybook] .sb-word-study-card>em{margin-top:9px;color:#5d7185;font-family:Nunito,sans-serif;font-size:clamp(1rem,2.5vw,1.35rem);font-style:normal;font-weight:800}html[data-design-chrome=storybook] .sb-word-study-card>p{margin:12px 0 0;color:#5b4638;font-size:clamp(1rem,2.4vw,1.3rem);font-weight:800}html[data-design-chrome=storybook] .sb-reading-passage{width:min(650px,94%);padding:16px 18px 18px;border:3px solid rgba(224,183,143,.5);border-radius:24px;background:linear-gradient(180deg,#fffdf9,#fff8ef);box-shadow:0 7px #ae794d1f}html[data-design-chrome=storybook] .sb-reading-passage>header{display:flex;align-items:center;gap:8px;color:#80552f}html[data-design-chrome=storybook] .sb-reading-passage>header strong{font-size:15px;font-weight:900}html[data-design-chrome=storybook] .sb-reading-passage>header span{margin-left:auto;padding:3px 8px;border-radius:999px;background:#ffe4d5;color:var(--rl-coral-deep);font-size:11px;font-weight:900}html[data-design-chrome=storybook] .sb-reading-passage-lines{display:grid;gap:5px;max-height:245px;margin-top:12px;padding-right:5px;overflow:auto;scrollbar-width:thin}html[data-design-chrome=storybook] .sb-reading-passage-lines p{margin:0;padding:7px 10px;border-radius:12px;color:#675b52;font-size:14px;line-height:1.45;font-weight:700;white-space:pre-wrap;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}html[data-design-chrome=storybook] .sb-reading-passage-lines p.active{color:var(--rl-ink);background:linear-gradient(90deg,#ffe1d3,#fff0df);box-shadow:inset 4px 0 0 var(--rl-coral);font-size:16px;font-weight:900}html[data-design-chrome=storybook] .sb-stage-bubble .live-sentence-text,html[data-design-chrome=storybook] .sb-stage-bubble .karaoke-sentence,html[data-design-chrome=storybook] .sb-stage-bubble .sentence-text{margin:0;max-width:18ch;text-align:center;font-family:Nunito,PingFang SC,sans-serif;font-size:clamp(2rem,4.5vw,2.65rem);line-height:1.35;font-weight:800;letter-spacing:-.01em;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none;color:var(--rl-ink)}html[data-design-chrome=storybook] .sb-stage-bubble .stage-record-controls,html[data-design-chrome=storybook] .sb-stage-bubble .ui-stage-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;width:100%;margin:0;grid-template-columns:none}html[data-design-chrome=storybook] .sb-stage-bubble .listen-button,html[data-design-chrome=storybook] .sb-stage-bubble .ui-btn--listen{min-height:48px;min-width:112px;border-radius:999px;border:3px solid rgba(76,159,224,.35);background:var(--rl-info-bg);color:#2a6fa8;box-shadow:0 5px #4c9fe02e;font-weight:800;font-size:15px;padding:0 20px}html[data-design-chrome=storybook] .sb-stage-bubble .next-stage-button,html[data-design-chrome=storybook] .sb-stage-bubble .ui-btn--next{min-height:48px;min-width:112px;border-radius:999px;border:3px solid rgba(255,255,255,.4);background:linear-gradient(180deg,#ff8a70,var(--rl-coral));color:#fff;box-shadow:var(--kid-chunky-coral);font-weight:800;font-size:15px;padding:0 20px}html[data-design-chrome=storybook] .sb-stage-bubble .ui-btn--next-disabled,html[data-design-chrome=storybook] .sb-stage-bubble .ui-btn--ghost.ui-btn--pill:disabled{min-height:48px;min-width:100px;border-radius:999px;border:3px solid var(--rl-line);background:var(--rl-paper-deep);color:var(--rl-ink-soft);box-shadow:0 5px #1a23320f;opacity:1;font-weight:800;font-size:15px}html[data-design-chrome=storybook] .sb-stage-bubble .ui-record-orb,html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button{width:96px;height:96px;border:4px solid #fff;border-radius:50%;background:linear-gradient(160deg,#ff8a70,var(--rl-coral) 50%,var(--rl-coral-deep));box-shadow:0 0 0 4px #ff6a4540,0 10px #e24f2c47,0 16px 28px #ff6a4540;font-weight:800;font-size:13px;color:#fff}html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:not(.recording):not(:disabled):before,html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:not(.recording):not(:disabled):after{content:"";position:absolute;z-index:-1;border-radius:50%;border:3px solid rgba(255,106,69,.35);animation:sb-orb-pulse 1.5s ease-out infinite}html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:not(.recording):not(:disabled):before{inset:-10px}html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:not(.recording):not(:disabled):after{inset:-18px;border-width:2px;animation-delay:.35s;opacity:.6}html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button.recording{background:linear-gradient(160deg,#ff8a70,var(--rl-coral-deep))}html[data-design-chrome=storybook] .sb-stage-bubble .listen-button:active:not(:disabled),html[data-design-chrome=storybook] .sb-stage-bubble .next-stage-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #4c9fe02e}@keyframes sb-orb-pulse{0%{transform:scale(.9);opacity:.85}to{transform:scale(1.15);opacity:0}}html[data-design-chrome=storybook] .sb-hist-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border:3px dashed var(--rl-line);border-radius:22px;background:#fffc;padding:12px 16px;font-size:13px;font-weight:700;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .sb-hist-bar__left{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--rl-ink);font-weight:800}html[data-design-chrome=storybook] .sb-hist-bar__left em{font-style:normal;border-radius:999px;border:2px solid transparent;padding:3px 10px;font-weight:800;font-size:12px}html[data-design-chrome=storybook] .sb-hist-bar__left em.pending{background:var(--rl-warn-bg);border-color:#f0b42959;color:#9a6b00}html[data-design-chrome=storybook] .sb-hist-bar__left em.ok{background:var(--rl-ok-bg);border-color:#2bb67340;color:#178a54}html[data-design-chrome=storybook] .sb-hist-bar__right{color:var(--rl-ink-soft);font-weight:700}html[data-design-chrome=storybook] .sb-feedback-dock{display:grid;gap:10px}html[data-design-chrome=storybook] .sb-feedback-dock .ui-score-panel,html[data-design-chrome=storybook] .sb-feedback-dock .stage-score-row{border:2px solid var(--rl-line);border-radius:22px;background:var(--rl-white);box-shadow:0 4px #1a23320a}html[data-design-chrome=storybook] .sb-feedback-dock .ui-metric,html[data-design-chrome=storybook] .sb-feedback-dock .metric{border-radius:16px;border:2px solid var(--rl-line);background:#fff8f0;padding:10px 12px;font-weight:800}html[data-design-chrome=storybook] .ui-word-chip,html[data-design-chrome=storybook] .word-pill{border-radius:16px;border:3px solid transparent;padding:8px 12px;box-shadow:0 3px #1a23320d;font-weight:800}html[data-design-chrome=storybook] .ui-word-chip--ok,html[data-design-chrome=storybook] .word-pill.passed{background:var(--rl-ok-bg);border-color:#2bb67359;color:#178a54}html[data-design-chrome=storybook] .ui-word-chip--bad,html[data-design-chrome=storybook] .word-pill.misread,html[data-design-chrome=storybook] .word-pill.unclear{background:var(--rl-warn-bg);border-color:#f0b4298c;border-bottom-style:dashed;color:#9a6b00}html[data-design-chrome=storybook] .ui-word-chip--miss,html[data-design-chrome=storybook] .word-pill.missed{background:var(--rl-bad-bg);border-color:#ff6a4566;color:var(--rl-coral-deep);text-decoration:none}html[data-design-chrome=storybook] .ui-status-banner{display:flex;align-items:flex-start;gap:10px;border-radius:18px;border:2px solid transparent;padding:12px 14px;font-weight:800;font-size:.9rem}html[data-design-chrome=storybook] .ui-status-banner--warn{border-color:#f0b42966;background:var(--rl-warn-bg);color:#8a6200}html[data-design-chrome=storybook] .ui-status-banner--bad{border-color:#ff6a454d;background:var(--rl-bad-bg);color:var(--rl-coral-deep)}html[data-design-chrome=storybook] .ui-empty-practice{border:0;background:transparent;box-shadow:none;padding:48px 24px;text-align:center;font-weight:800;color:var(--rl-ink-soft)}html[data-design-chrome=storybook] .admin-shell{--radius-card: 24px;--radius-control: 15px;width:min(1480px,100%);min-height:100dvh;padding:18px clamp(12px,2vw,28px) 28px}html[data-design-chrome=storybook] .admin-app-frame{min-height:calc(100dvh - 46px);grid-template-columns:214px minmax(0,1fr);border:3px solid var(--rl-line);border-radius:30px;overflow:hidden;background:radial-gradient(circle 240px at 96% 4%,rgba(255,180,138,.2),transparent 65%),radial-gradient(circle 230px at 8% 94%,rgba(43,182,115,.09),transparent 66%),#fff8f0;box-shadow:var(--kid-chunky),0 22px 60px #5f452c1f}html[data-design-chrome=storybook] .admin-sidebar{position:relative;isolation:isolate;grid-template-rows:max-content 1fr;gap:20px;border-right:3px solid var(--rl-line);padding:20px 14px;color:var(--rl-ink);background:radial-gradient(circle 150px at -20% 0%,rgba(255,180,138,.35),transparent 68%),linear-gradient(180deg,#fffcfafa,#fff6ecf5)}html[data-design-chrome=storybook] .admin-sidebar:after{content:"";position:absolute;z-index:-1;right:-52px;bottom:-38px;width:150px;height:150px;border-radius:46% 54% 58% 42%;background:#4c9fe014;transform:rotate(18deg)}html[data-design-chrome=storybook] .admin-brand{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:2px 4px 12px}html[data-design-chrome=storybook] .admin-avatar{width:48px;height:48px;border:2px solid rgba(226,79,44,.18);border-radius:17px;color:#fff;background:linear-gradient(145deg,#ff8f70,var(--rl-coral));box-shadow:var(--kid-chunky-coral);font-size:1rem}html[data-design-chrome=storybook] .admin-brand strong{color:var(--rl-ink);font-size:1.02rem;font-weight:950}html[data-design-chrome=storybook] .admin-brand small{color:var(--rl-selection-deep);font-size:.72rem;font-weight:900}html[data-design-chrome=storybook] .admin-nav{gap:8px}html[data-design-chrome=storybook] .admin-nav-item{min-height:48px;border:2px solid transparent;border-radius:16px;padding:0 12px;color:var(--rl-ink-soft);background:transparent;font-size:.88rem;font-weight:900;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}html[data-design-chrome=storybook] .admin-nav-item:hover:not(:disabled){border-color:color-mix(in srgb,var(--rl-selection-line) 58%,var(--rl-line));color:var(--rl-selection-deep);background:#ffffffbd;transform:translate(2px)}html[data-design-chrome=storybook] .admin-nav-item.active{border-color:var(--rl-selection-line);color:var(--rl-selection-deep);background:linear-gradient(135deg,#fff9f0,var(--rl-selection-bg));box-shadow:0 4px 0 var(--rl-selection-ring)}html[data-design-chrome=storybook] .admin-nav-item.active svg{color:var(--rl-selection)}html[data-design-chrome=storybook] .admin-child-page-link{margin-top:12px;border-color:#2bb6734d;color:#13794a;background:linear-gradient(180deg,#fff,var(--rl-ok-bg))}html[data-design-chrome=storybook] .admin-child-page-link:hover:not(:disabled){border-color:#2bb6737a;color:#0d6840;background:var(--rl-ok-bg)}html[data-design-chrome=storybook] .admin-workspace{gap:20px;padding:22px;background:linear-gradient(rgba(229,213,195,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(229,213,195,.14) 1px,transparent 1px),#fffcfa94;background-size:28px 28px}html[data-design-chrome=storybook] .admin-panel,html[data-design-chrome=storybook] .admin-editor,html[data-design-chrome=storybook] .admin-metric-card,html[data-design-chrome=storybook] .admin-action-card{border:2px solid var(--rl-line);border-radius:var(--radius-card);background:#fffcfaf5;box-shadow:var(--kid-chunky),0 12px 28px #5f452c12;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-design-chrome=storybook] .admin-editor{padding:22px}html[data-design-chrome=storybook] .admin-panel{padding:20px}html[data-design-chrome=storybook] .admin-page-heading{gap:7px;padding:2px 4px}html[data-design-chrome=storybook] .admin-page-heading h1,html[data-design-chrome=storybook] .practice-board-heading h1{color:var(--rl-ink);font-size:clamp(1.55rem,2.2vw,2rem);font-weight:950;letter-spacing:-.02em}html[data-design-chrome=storybook] .admin-page-heading p{color:var(--rl-ink-soft);line-height:1.5}html[data-design-chrome=storybook] .admin-kicker{width:fit-content;border-radius:999px;padding:5px 10px;color:var(--rl-selection-deep);background:var(--rl-selection-bg);font-size:.74rem;font-weight:950}html[data-design-chrome=storybook] .admin-section-header,html[data-design-chrome=storybook] .admin-panel-header{padding-bottom:12px;border-bottom:2px dashed color-mix(in srgb,var(--rl-line) 82%,transparent)}html[data-design-chrome=storybook] .content-preview-panel.collapsed .content-preview-header{padding-bottom:0;border-bottom:0}html[data-design-chrome=storybook] .admin-panel-section,html[data-design-chrome=storybook] .chapter-editor,html[data-design-chrome=storybook] .chapter-section-editor,html[data-design-chrome=storybook] .settings-row{border:2px solid color-mix(in srgb,var(--rl-line) 90%,white);border-radius:19px;background:linear-gradient(145deg,#ffffffe0,#fff6ecb8);box-shadow:0 4px #1a233209}html[data-design-chrome=storybook] .chapter-section-editor{background:#fffcfaeb}html[data-design-chrome=storybook] .admin-field input,html[data-design-chrome=storybook] .admin-field select,html[data-design-chrome=storybook] .admin-field textarea,html[data-design-chrome=storybook] .practice-board-tools,html[data-design-chrome=storybook] .practice-board-tools input,html[data-design-chrome=storybook] .practice-course-filters>input,html[data-design-chrome=storybook] .practice-course-filters select,html[data-design-chrome=storybook] .lesson-library-filters>input,html[data-design-chrome=storybook] .lesson-library-filters>select,html[data-design-chrome=storybook] .practice-assignment-target select,html[data-design-chrome=storybook] .practice-table-actions select,html[data-design-chrome=storybook] .settings-row select,html[data-design-chrome=storybook] .sentence-correction-actions select{border:2px solid var(--rl-line);border-radius:var(--radius-control);color:var(--rl-ink);background:#fffdfa;box-shadow:inset 0 1px #fff}html[data-design-chrome=storybook] .admin-field input:focus,html[data-design-chrome=storybook] .admin-field select:focus,html[data-design-chrome=storybook] .admin-field textarea:focus,html[data-design-chrome=storybook] .practice-board-tools:focus-within,html[data-design-chrome=storybook] .practice-course-filters input:focus,html[data-design-chrome=storybook] .practice-course-filters select:focus,html[data-design-chrome=storybook] .lesson-library-filters input:focus,html[data-design-chrome=storybook] .lesson-library-filters select:focus{border-color:var(--rl-selection-line);outline:0;box-shadow:0 0 0 4px var(--rl-selection-ring)}html[data-design-chrome=storybook] .admin-shell .admin-primary-button,html[data-design-chrome=storybook] .admin-shell .admin-secondary-button,html[data-design-chrome=storybook] .admin-shell .admin-link-button,html[data-design-chrome=storybook] .admin-shell .icon-danger-button,html[data-design-chrome=storybook] .admin-shell .sentence-action-button{border-radius:999px;font-weight:900}html[data-design-chrome=storybook] .admin-shell .admin-primary-button{border:2px solid var(--rl-coral-deep);color:#fff;background:linear-gradient(180deg,#ff8061,var(--rl-coral));box-shadow:0 4px #e24f2c33}html[data-design-chrome=storybook] .admin-shell .admin-secondary-button,html[data-design-chrome=storybook] .admin-shell .admin-link-button{border:2px solid var(--rl-line);color:var(--rl-selection-deep);background:linear-gradient(180deg,#fff,#fff7ef);box-shadow:0 3px #1a23320b}html[data-design-chrome=storybook] .admin-shell .admin-secondary-button:hover:not(:disabled),html[data-design-chrome=storybook] .admin-shell .admin-link-button:hover:not(:disabled){border-color:var(--rl-selection-line);color:var(--rl-selection-deep);background:var(--rl-selection-bg)}html[data-design-chrome=storybook] .admin-status-stack .status-text,html[data-design-chrome=storybook] .admin-status-stack .error-text{border:2px solid rgba(43,182,115,.25);border-radius:16px;padding:10px 13px;background:var(--rl-ok-bg);box-shadow:0 3px #1a233209}html[data-design-chrome=storybook] .admin-status-stack .error-text{border-color:#e24f2c3d;background:var(--rl-bad-bg)}html[data-design-chrome=storybook] .practice-board-panel{container-type:inline-size;padding:20px;background:#fffcfaf0}html[data-design-chrome=storybook] .practice-board-heading{margin-bottom:20px}html[data-design-chrome=storybook] .practice-board-tools{border-radius:17px;padding:5px;background:#fff9f2}html[data-design-chrome=storybook] .practice-board-tools input{border:0;background:transparent;box-shadow:none}html[data-design-chrome=storybook] .practice-board-stats span{min-height:40px;border:2px solid var(--rl-line);color:var(--rl-selection-deep);background:var(--rl-selection-bg);box-shadow:0 3px #1a233209}html[data-design-chrome=storybook] .practice-board-stats span:first-child{border-color:#f0b4294d;color:#8a6200;background:var(--rl-warn-bg)}html[data-design-chrome=storybook] .practice-board-stats span:last-child{border-color:#2bb67340;color:#13794a;background:var(--rl-ok-bg)}html[data-design-chrome=storybook] .practice-board-grid{grid-template-columns:232px minmax(520px,1fr) 274px;gap:14px;border:0;border-radius:0;overflow:visible;background:transparent}html[data-design-chrome=storybook] .practice-books-pane,html[data-design-chrome=storybook] .practice-content-pane,html[data-design-chrome=storybook] .practice-course-library-pane{border:2px solid var(--rl-line);border-radius:20px;padding:15px;background:#fffcfaf0;box-shadow:0 4px #1a23320a}html[data-design-chrome=storybook] .practice-books-pane{background:linear-gradient(180deg,#fffdf9,#fff5eb)}html[data-design-chrome=storybook] .practice-course-library-pane{background:linear-gradient(180deg,#fffdf9,#f3fbf7)}html[data-design-chrome=storybook] .practice-book-list-title .admin-secondary-button{min-height:44px;border-color:var(--rl-selection-line);color:var(--rl-selection-deep);background:linear-gradient(180deg,#fff,var(--rl-selection-bg))}html[data-design-chrome=storybook] .practice-book-option{border:2px solid var(--rl-line);border-radius:17px;padding:11px;background:#fffdfa;box-shadow:0 3px #1a233209;transition:transform .16s ease,border-color .16s ease,background .16s ease}html[data-design-chrome=storybook] .practice-book-option:hover{border-color:var(--rl-selection-line);background:#fffaf4;transform:translateY(-1px)}html[data-design-chrome=storybook] .practice-book-option.selected,html[data-design-chrome=storybook] .practice-book-option.drop-over{border-color:var(--rl-selection);color:var(--rl-selection-deep);background:var(--rl-selection-bg);box-shadow:0 0 0 4px var(--rl-selection-ring),0 4px #a6531314}html[data-design-chrome=storybook] .practice-book-mark{border:2px solid rgba(255,255,255,.62);border-radius:14px;background:linear-gradient(145deg,#ff9a76,var(--rl-coral));box-shadow:0 4px #e24f2c29}html[data-design-chrome=storybook] .practice-course-card{border:2px solid var(--rl-line);border-radius:17px;padding:12px;background:#fffdfa;box-shadow:0 3px #1a233209}html[data-design-chrome=storybook] .practice-course-card:hover{border-color:var(--rl-selection-line);background:#fff9f2;transform:translateY(-1px)}html[data-design-chrome=storybook] .practice-course-card.selected{border-color:var(--rl-selection);background:var(--rl-selection-bg);box-shadow:0 0 0 4px var(--rl-selection-ring)}html[data-design-chrome=storybook] .practice-course-card.added,html[data-design-chrome=storybook] .practice-course-card.batch-selected{border-color:#2bb67375;background:var(--rl-ok-bg);box-shadow:0 0 0 4px #2bb6731a}html[data-design-chrome=storybook] .practice-assignment-panel,html[data-design-chrome=storybook] .practice-course-detail-card{border:2px solid color-mix(in srgb,var(--rl-selection-line) 78%,var(--rl-line));border-radius:17px;background:linear-gradient(145deg,#fffdf9,var(--rl-selection-bg))}html[data-design-chrome=storybook] .practice-course-detail-card{border-color:#2bb67347;background:linear-gradient(145deg,#fffdf9,var(--rl-ok-bg))}html[data-design-chrome=storybook] .practice-table{border:0;border-radius:0;display:grid;gap:8px;overflow:visible}html[data-design-chrome=storybook] .practice-table-row{grid-template-columns:36px minmax(120px,1fr) minmax(80px,.54fr) 72px minmax(206px,.82fr);gap:6px;border:2px solid var(--rl-line);border-radius:15px;background:#fffdfa;box-shadow:0 3px #1a233208}html[data-design-chrome=storybook] .practice-table-row+.practice-table-row{border-top:2px solid var(--rl-line)}html[data-design-chrome=storybook] .practice-table-head{border:0;border-radius:12px;color:var(--rl-ink-soft);background:#fff3e8;box-shadow:none}html[data-design-chrome=storybook] .table-order-cell{border-radius:11px;color:var(--rl-selection-deep);background:var(--rl-selection-bg)}html[data-design-chrome=storybook] .practice-table-actions{min-width:0;grid-template-columns:30px 30px minmax(70px,1fr) 30px 30px;gap:4px}html[data-design-chrome=storybook] .practice-table-actions .icon-action{width:30px;min-height:30px}html[data-design-chrome=storybook] .practice-table-actions select{width:100%;min-height:30px;padding:0 6px}html[data-design-chrome=storybook] .practice-table-empty{border:2px dashed var(--rl-selection-line);border-radius:18px;background:linear-gradient(145deg,#fffdf9,var(--rl-selection-bg))}html[data-design-chrome=storybook] .admin-metric-grid,html[data-design-chrome=storybook] .admin-action-grid{gap:14px}html[data-design-chrome=storybook] .admin-metric-card{min-height:132px;padding:18px}html[data-design-chrome=storybook] .admin-metric-card:nth-child(4n+1){background:linear-gradient(145deg,#fffdf9,var(--rl-selection-bg))}html[data-design-chrome=storybook] .admin-metric-card:nth-child(4n+2){background:linear-gradient(145deg,#fffdf9,var(--rl-info-bg))}html[data-design-chrome=storybook] .admin-metric-card:nth-child(4n+3){background:linear-gradient(145deg,#fffdf9,var(--rl-warn-bg))}html[data-design-chrome=storybook] .admin-metric-card:nth-child(4n+4),html[data-design-chrome=storybook] .admin-metric-card.accent{background:linear-gradient(145deg,#fffdf9,var(--rl-ok-bg))}html[data-design-chrome=storybook] .admin-metric-card strong{color:var(--rl-ink);font-size:1.85rem;font-weight:950}html[data-design-chrome=storybook] .admin-action-card{border-radius:20px;transition:transform .16s ease,border-color .16s ease,background .16s ease}html[data-design-chrome=storybook] .admin-action-card:hover:not(:disabled){border-color:var(--rl-selection-line);background:var(--rl-selection-bg);transform:translateY(-2px)}html[data-design-chrome=storybook] .admin-action-card svg{color:var(--rl-selection)}html[data-design-chrome=storybook] .child-profile-row,html[data-design-chrome=storybook] .analytics-status-list>span,html[data-design-chrome=storybook] .analytics-progress-row{border:2px solid var(--rl-line);border-radius:17px;background:#fffdfa;box-shadow:0 3px #1a233208}html[data-design-chrome=storybook] .child-profile-row.selected,html[data-design-chrome=storybook] .child-profile-row:hover{border-color:var(--rl-selection);background:var(--rl-selection-bg);box-shadow:0 0 0 4px var(--rl-selection-ring)}html[data-design-chrome=storybook] .child-profile-row .admin-avatar{width:42px;height:42px;border-radius:14px}html[data-design-chrome=storybook] .analytics-overview-card,html[data-design-chrome=storybook] .analytics-score-card{border:2px solid var(--rl-line);border-radius:21px;background:#fffcfaf5;box-shadow:var(--kid-chunky)}html[data-design-chrome=storybook] .analytics-donut{background:conic-gradient(var(--rl-selection) 0 var(--analytics-progress-angle),var(--rl-selection-bg) var(--analytics-progress-angle) 360deg)}html[data-design-chrome=storybook] .analytics-donut>div{border:2px solid var(--rl-line);background:#fffdfa}html[data-design-chrome=storybook] .settings-row{min-height:88px;padding:16px}html[data-design-chrome=storybook] .pdf-quality-report,html[data-design-chrome=storybook] .pdf-structure-preview{border-width:2px;border-radius:20px;box-shadow:0 4px #1a233209}html[data-design-chrome=storybook] .sentence-editor-row textarea{min-height:68px}html[data-design-chrome=storybook] .admin-workspace,html[data-design-chrome=storybook] .practice-course-list,html[data-design-chrome=storybook] .tag-filter-options{scrollbar-width:thin;scrollbar-color:rgba(233,130,43,.32) transparent}html[data-design-chrome=storybook] .admin-workspace::-webkit-scrollbar,html[data-design-chrome=storybook] .practice-course-list::-webkit-scrollbar,html[data-design-chrome=storybook] .tag-filter-options::-webkit-scrollbar{width:6px}html[data-design-chrome=storybook] .admin-workspace::-webkit-scrollbar-thumb,html[data-design-chrome=storybook] .practice-course-list::-webkit-scrollbar-thumb,html[data-design-chrome=storybook] .tag-filter-options::-webkit-scrollbar-thumb{border-radius:999px;background:#e9822b52}html[data-design-chrome=storybook] .admin-shell.layout-phone{width:min(390px,100%);padding:8px 6px 18px}html[data-design-chrome=storybook] .admin-shell.layout-tablet{width:min(768px,100%);padding:12px 10px 22px}html[data-design-chrome=storybook] .admin-shell.layout-phone .admin-app-frame,html[data-design-chrome=storybook] .admin-shell.layout-tablet .admin-app-frame{grid-template-columns:1fr;border-radius:24px}html[data-design-chrome=storybook] .admin-shell.layout-phone .admin-sidebar,html[data-design-chrome=storybook] .admin-shell.layout-tablet .admin-sidebar{border-right:0;border-bottom:3px solid var(--rl-line);padding:14px}html[data-design-chrome=storybook] .admin-shell.layout-phone .admin-workspace,html[data-design-chrome=storybook] .admin-shell.layout-tablet .admin-workspace{padding:14px}html[data-design-chrome=storybook] .admin-shell.layout-phone .practice-books-pane,html[data-design-chrome=storybook] .admin-shell.layout-tablet .practice-books-pane,html[data-design-chrome=storybook] .admin-shell.layout-phone .practice-course-library-pane,html[data-design-chrome=storybook] .admin-shell.layout-tablet .practice-course-library-pane{border:2px solid var(--rl-line)}html[data-design-chrome=storybook] .settings-row--theme .ui-theme-switcher-group{flex-direction:column;align-items:stretch}@container (max-width: 1160px){html[data-design-chrome=storybook] .practice-board-grid{grid-template-columns:232px minmax(0,1fr)}html[data-design-chrome=storybook] .practice-course-library-pane{grid-column:1 / -1;order:initial}html[data-design-chrome=storybook] .practice-course-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}@container (max-width: 760px){html[data-design-chrome=storybook] .practice-board-grid{grid-template-columns:1fr}html[data-design-chrome=storybook] .practice-course-library-pane{grid-column:auto;order:-1}html[data-design-chrome=storybook] .practice-course-list{grid-template-columns:1fr}}@media(max-width:1180px),(hover:none)and (pointer:coarse){html[data-design-chrome=storybook] .practice-board-grid{grid-template-columns:1fr}html[data-design-chrome=storybook] .practice-books-pane,html[data-design-chrome=storybook] .practice-course-library-pane{border:2px solid var(--rl-line)}html[data-design-chrome=storybook] .practice-course-library-pane{order:-1}}@media(max-width:1050px){html[data-design-chrome=storybook] .admin-shell{padding:12px 10px 22px}html[data-design-chrome=storybook] .admin-app-frame{grid-template-columns:1fr;border-radius:25px}html[data-design-chrome=storybook] .admin-sidebar{grid-template-rows:auto auto;gap:12px;border-right:0;border-bottom:3px solid var(--rl-line);padding:14px}html[data-design-chrome=storybook] .admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-design-chrome=storybook] .admin-nav-item{justify-content:center}html[data-design-chrome=storybook] .admin-nav-item:hover:not(:disabled){transform:translateY(-1px)}html[data-design-chrome=storybook] .admin-workspace{padding:16px}}@media(max-width:900px){html[data-design-chrome=storybook] .child-learning-layout{grid-template-columns:1fr;grid-template-rows:minmax(120px,36%) minmax(0,1fr);min-height:0}html[data-design-chrome=storybook] .child-left-rail{border-right:0;border-bottom:3px solid var(--rl-line);max-height:100%}html[data-design-chrome=storybook] .sb-stage-bubble.ui-stage-card{min-height:280px}}@media(max-width:620px){html[data-design-chrome=storybook] .admin-shell{padding:7px 5px 16px}html[data-design-chrome=storybook] .admin-app-frame{border-width:2px;border-radius:20px}html[data-design-chrome=storybook] .admin-sidebar{border-bottom-width:2px;padding:11px 9px}html[data-design-chrome=storybook] .admin-brand{padding:0 3px 8px}html[data-design-chrome=storybook] .admin-avatar{width:42px;height:42px;border-radius:14px}html[data-design-chrome=storybook] .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}html[data-design-chrome=storybook] .admin-nav-item{min-height:44px;border-radius:14px;padding:0 8px}html[data-design-chrome=storybook] .admin-shell.layout-phone .admin-nav-item span,html[data-design-chrome=storybook] .admin-nav-item span{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-design-chrome=storybook] .admin-child-page-link{grid-column:1 / -1;margin-top:2px}html[data-design-chrome=storybook] .admin-workspace{gap:14px;padding:10px;background-size:22px 22px}html[data-design-chrome=storybook] .admin-section-page,html[data-design-chrome=storybook] .practice-board-panel,html[data-design-chrome=storybook] .course-workspace-grid{min-width:0}html[data-design-chrome=storybook] .admin-panel,html[data-design-chrome=storybook] .admin-editor{border-radius:19px;padding:14px}html[data-design-chrome=storybook] .practice-board-panel{padding:14px}html[data-design-chrome=storybook] .practice-books-pane,html[data-design-chrome=storybook] .practice-content-pane,html[data-design-chrome=storybook] .practice-course-library-pane{border-radius:17px;padding:12px}html[data-design-chrome=storybook] .admin-metric-card,html[data-design-chrome=storybook] .admin-action-card,html[data-design-chrome=storybook] .settings-row{border-radius:17px}html[data-design-chrome=storybook] .admin-metric-grid,html[data-design-chrome=storybook] .admin-action-grid,html[data-design-chrome=storybook] .child-management-tools,html[data-design-chrome=storybook] .analytics-grid,html[data-design-chrome=storybook] .settings-row{grid-template-columns:1fr}html[data-design-chrome=storybook] .practice-board-heading{align-items:stretch;flex-direction:column}html[data-design-chrome=storybook] .practice-board-stats{justify-content:flex-start}html[data-design-chrome=storybook] .practice-board-tools{min-width:0;grid-template-columns:minmax(0,1fr) max-content 40px}html[data-design-chrome=storybook] .practice-table-head{display:none}html[data-design-chrome=storybook] .practice-table-row{grid-template-columns:36px minmax(0,1fr);gap:9px}html[data-design-chrome=storybook] .table-progress-cell,html[data-design-chrome=storybook] .practice-status-chip,html[data-design-chrome=storybook] .practice-table-actions{grid-column:2}html[data-design-chrome=storybook] .child-profile-row{grid-template-columns:42px minmax(0,1fr)}html[data-design-chrome=storybook] .child-profile-row small,html[data-design-chrome=storybook] .child-profile-row em{grid-column:2}html[data-design-chrome=storybook] .child-shell{padding:10px 8px 22px}html[data-design-chrome=storybook] .child-player-topbar{grid-template-columns:minmax(0,1fr) max-content;gap:8px;margin-bottom:12px}html[data-design-chrome=storybook] .child-profile-chip,html[data-design-chrome=storybook] .child-points-chip{width:auto;min-width:0;min-height:48px;padding:0 12px}html[data-design-chrome=storybook] .child-profile-chip{grid-column:1;max-width:calc(100vw - 92px);overflow:hidden}html[data-design-chrome=storybook] .child-points-chip{grid-column:2;justify-self:end}html[data-design-chrome=storybook] .child-profile-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-design-chrome=storybook] .child-profile-chip span{width:36px;height:36px;flex:0 0 36px}html[data-design-chrome=storybook] .child-top-tools{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}html[data-design-chrome=storybook] .child-top-tools .ui-theme-switcher-group{display:contents}html[data-design-chrome=storybook] .child-top-tools .theme-switcher,html[data-design-chrome=storybook] .child-top-tools .language-switcher,html[data-design-chrome=storybook] .child-top-tools .handback-button,html[data-design-chrome=storybook] .child-top-tools .ui-device-preview-button{width:100%;min-width:0;min-height:42px;padding:0 10px;overflow:hidden}html[data-design-chrome=storybook] .child-top-tools select{min-width:0;max-width:100%}html[data-design-chrome=storybook] .child-learning-layout{border-width:2px;border-radius:24px}html[data-design-chrome=storybook] .child-left-rail{max-height:44vh}html[data-design-chrome=storybook] .sb-reading-pane.child-reading-stage{padding:12px 10px 16px}html[data-design-chrome=storybook] .sb-stage-toolbar{align-items:stretch;flex-direction:column}html[data-design-chrome=storybook] .sb-stage-toolbar .ui-voice-pill,html[data-design-chrome=storybook] .sb-stage-toolbar .compact-voice-picker{width:100%;min-width:0;overflow:hidden}html[data-design-chrome=storybook] .sb-stage-toolbar select{width:100%;min-width:0}html[data-design-chrome=storybook] .sb-stage-bubble.ui-stage-card{min-height:280px;padding:18px 12px 14px}html[data-design-chrome=storybook] .sb-stage-bubble .ui-stage-card__dots,html[data-design-chrome=storybook] .sb-stage-bubble .ui-stage-card__badge{display:none}html[data-design-chrome=storybook] .sb-stage-bubble .live-sentence-text,html[data-design-chrome=storybook] .sb-stage-bubble .sentence-text{width:100%;max-width:100%;min-width:0;font-size:clamp(1.65rem,8vw,2.05rem)}html[data-design-chrome=storybook] .sb-stage-bubble .ui-record-orb,html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button{width:88px;height:88px}}@media(prefers-reduced-motion:reduce){html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:before,html[data-design-chrome=storybook] .sb-stage-bubble .record-orb-button:after,html[data-design-chrome=storybook] .record-orb-button.recording,html[data-design-chrome=storybook] .record-orb-button.recording:before,html[data-design-chrome=storybook] .record-orb-button.recording:after{animation:none}}@container reading-pane (max-width: 520px){html[data-design-chrome=storybook] .sb-stage-toolbar .ui-voice-pill,html[data-design-chrome=storybook] .sb-stage-toolbar .compact-voice-picker{width:auto;max-width:100%;flex:none;align-self:stretch}}html[data-design-chrome=storybook] .provider-ab-panel{margin-top:8px;border:1px solid color-mix(in srgb,var(--sb-ink, #172033) 14%,transparent);border-radius:16px;background:color-mix(in srgb,var(--sb-paper, #fffaf4) 92%,white);color:var(--sb-ink, #172033);font-size:.8rem}html[data-design-chrome=storybook] .provider-ab-panel summary{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}html[data-design-chrome=storybook] .provider-ab-panel summary span{color:#7a6859;font-weight:600}html[data-design-chrome=storybook] .provider-ab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}html[data-design-chrome=storybook] .provider-ab-grid section{min-width:0;padding:9px 10px;border:1px solid #f3c89e;border-radius:12px;background:#fff}html[data-design-chrome=storybook] .provider-ab-grid section.error{border-color:#efb3a9;background:#fff5f2}html[data-design-chrome=storybook] .provider-ab-grid section.rejected{border-color:#efc66e;background:#fffaf0}html[data-design-chrome=storybook] .provider-ab-grid header,html[data-design-chrome=storybook] .provider-ab-grid dl,html[data-design-chrome=storybook] .provider-ab-grid dl div{display:flex;align-items:center}html[data-design-chrome=storybook] .provider-ab-grid header{justify-content:space-between;margin-bottom:7px}html[data-design-chrome=storybook] .provider-ab-grid header em{color:#e56f3f;font-size:.65rem;font-style:normal;letter-spacing:.06em}html[data-design-chrome=storybook] .provider-ab-grid dl{flex-wrap:wrap;gap:5px 12px;margin:0}html[data-design-chrome=storybook] .provider-ab-grid dl div{gap:4px}html[data-design-chrome=storybook] .provider-ab-grid dt{color:#857161}html[data-design-chrome=storybook] .provider-ab-grid dd{margin:0;font-weight:800}html[data-design-chrome=storybook] .provider-ab-grid p{margin:0;overflow-wrap:anywhere;color:#a33f35}html[data-design-chrome=storybook] .provider-ab-grid .provider-ab-rejected{margin-bottom:7px;color:#8a5c18}@media(max-width:620px){html[data-design-chrome=storybook] .provider-ab-grid{grid-template-columns:1fr}html[data-design-chrome=storybook] .provider-ab-panel summary span{display:none}}
