@font-face{font-family:Bree Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bree-serif-latin-ext-400-normal.1pgy_57wf-g-j.woff2)format("woff2"),url(../media/bree-serif-latin-ext-400-normal.3-yndobw5qkm5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bree Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/bree-serif-latin-400-normal.0bg2mi06rz8fm.woff2)format("woff2"),url(../media/bree-serif-latin-400-normal.3rxfbdv-w11xy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(../media/nunito-cyrillic-ext-500-normal.0wan3phpd-gy-.woff2)format("woff2"),url(../media/nunito-cyrillic-ext-500-normal.30r8cf2md2u_g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(../media/nunito-cyrillic-500-normal.2-6pl9wekvogv.woff2)format("woff2"),url(../media/nunito-cyrillic-500-normal.2qx4tn7dsc9_7.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(../media/nunito-vietnamese-500-normal.36cqgvqxohtaf.woff2)format("woff2"),url(../media/nunito-vietnamese-500-normal.1ufel4iat3dk0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(../media/nunito-latin-ext-500-normal.1jkl-r_8d7hv0.woff2)format("woff2"),url(../media/nunito-latin-ext-500-normal.3vf7k21ldlmry.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:500;src:url(../media/nunito-latin-500-normal.17gthhm-3nypy.woff2)format("woff2"),url(../media/nunito-latin-500-normal.079t-q4nzboif.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-cyrillic-ext-700-normal.30frlmeleydpu.woff2)format("woff2"),url(../media/nunito-cyrillic-ext-700-normal.2wr4vis-nn8li.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-cyrillic-700-normal.1dcapcdesix5f.woff2)format("woff2"),url(../media/nunito-cyrillic-700-normal.09aln9gqa4-sv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-vietnamese-700-normal.1tlqja42i996_.woff2)format("woff2"),url(../media/nunito-vietnamese-700-normal.01zbqrf59qltx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-latin-ext-700-normal.1upp26w6epg-2.woff2)format("woff2"),url(../media/nunito-latin-ext-700-normal.1rlmq938r5teu.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-latin-700-normal.3_3w32ku8mlvo.woff2)format("woff2"),url(../media/nunito-latin-700-normal.1o-18nuhd5q9g.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-cyrillic-ext-800-normal.0srdi9hrwdmuv.woff2)format("woff2"),url(../media/nunito-cyrillic-ext-800-normal.3lkxo2w5au4df.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-cyrillic-800-normal.3a5-2ms38xef5.woff2)format("woff2"),url(../media/nunito-cyrillic-800-normal.1j_8f2kdhhmkc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-vietnamese-800-normal.44n_xf65wv35e.woff2)format("woff2"),url(../media/nunito-vietnamese-800-normal.3v5v6utsrszfn.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-latin-ext-800-normal.1iamc_taf264c.woff2)format("woff2"),url(../media/nunito-latin-ext-800-normal.2jx4_075bgtyg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-latin-800-normal.0fk28i9bscp4k.woff2)format("woff2"),url(../media/nunito-latin-800-normal.1sn9ps1hnuqka.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--paper:#fffbf3;--card:#fff;--ink:#4a2418;--ink-2:#7d5a49;--line:#eee2cc;--brand:#7b2d1e;--brand-soft:#f7e6d9;--ok:#3c8a4c;--ok-soft:#e3f2e1;--bad:#c4452e;--bad-soft:#fbe4de;--vowel:#2f6fb0;--lv:#f0b12c;--lv-soft:#fdf1cf;--lv-ink:#6e4300;--admin-bg:#f6f1e7;--display:"Bree Serif", "Display CJK", "PingFang SC", "Microsoft YaHei", serif;--body:"Nunito", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@font-face{font-family:Display CJK;src:local(PingFangSC-Semibold),local(PingFang SC Semibold),local(HiraginoSansGB-W6),local(MicrosoftYaHei-Bold),local(Microsoft YaHei Bold);unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0}body{font-family:var(--body);font-size:17px;line-height:1.55}img{max-width:100%;display:block}.art{mix-blend-mode:multiply;filter:brightness(1.06)contrast(1.04)}a{color:var(--brand)}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;font-weight:400;line-height:1.15}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:3px solid var(--brand);outline-offset:3px}input,textarea{font:inherit;color:var(--ink);border:2px solid var(--line);background:var(--card);border-radius:10px;width:100%;padding:10px 12px;font-weight:500}input[type=checkbox],input[type=radio]{accent-color:var(--brand)}label{font-size:14px;font-weight:800}.wrap{max-width:1200px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));margin:0 auto}.muted{color:var(--ink-2)}.small-text{font-size:14px}.eyebrow{color:var(--lv-ink);font-size:15px;font-weight:800}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.btn,.ghost{border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:800;text-decoration:none;display:inline-flex}.btn{background:var(--brand);color:var(--paper);border:0}.btn:hover:not(:disabled){background:var(--ink)}.ghost{background:var(--card);color:var(--ink);border:2px solid var(--line)}.ghost:hover:not(:disabled){border-color:var(--ink-2)}.small{padding:6px 14px;font-size:14px}.wide{width:100%}.v2-badge{font-family:var(--body);letter-spacing:.06em;color:#fff;background:#8a6bbe;border-radius:6px;padding:2px 6px;font-size:11px;font-weight:800;line-height:1.3}.with-v2{position:relative}.site-header{border-bottom:1px solid var(--line);background:var(--paper);z-index:10;position:sticky;top:0}.site-header-row{flex-wrap:wrap;align-items:center;gap:24px;padding-block:12px;display:flex}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{border-radius:50%;width:52px;height:52px}.brand span{font-family:var(--display);color:var(--brand);font-size:21px}.site-nav{flex-wrap:wrap;flex:1;gap:22px;font-weight:700;display:flex}.site-nav a{color:var(--ink);text-decoration:none}.site-nav a:hover{color:var(--brand)}.who{align-items:center;gap:10px;font-weight:800;display:flex}.hero{flex-wrap:wrap;align-items:center;gap:32px;padding-block:48px 16px;display:flex}.hero-text{flex-direction:column;flex:999 520px;gap:14px;display:flex}.hero h1{color:var(--brand);font-size:clamp(40px,6vw,66px)}.lead{font-size:21px;font-weight:700}.multiline{white-space:pre-line}.hero-art{flex:300px;min-width:0;max-width:400px}.section{padding-block:28px 48px}.section-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:18px;display:flex}.section-head h2{font-size:34px}.level-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}@media (min-width:1100px){.level-grid{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.level-card{background:var(--lv-soft);min-height:300px;color:var(--ink);border-radius:22px;flex-direction:column;gap:2px;padding:20px 20px 0;text-decoration:none;transition:transform .2s;display:flex;position:relative;overflow:hidden}.level-card:hover{transform:translateY(-4px)}.level-name{font-family:var(--display);color:var(--lv-ink);font-size:30px}.level-card .art{align-self:center;width:78%;margin-top:auto}.level-card.is-locked .art{filter:grayscale(.8);opacity:.6}.lock-chip{background:var(--ink);color:var(--paper);border-radius:999px;align-self:flex-start;margin-top:8px;padding:3px 10px;font-size:13px;font-weight:800}.v2-row{flex-wrap:wrap;gap:12px;display:flex}.band{background:var(--brand-soft)}.about{flex-wrap:wrap;align-items:center;gap:36px;padding-block:48px;display:flex}.about .art{flex:0 200px;max-width:200px}.about>div{flex-direction:column;flex:999 420px;gap:10px;display:flex}.about h2{color:var(--brand);font-size:32px}.contact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;padding-block:40px 64px;display:grid}.contact div{flex-direction:column;gap:4px;display:flex}.contact .muted{font-size:14px;font-weight:700}.site-foot{text-align:center;padding-block:0 32px;font-size:13px}.site-foot a{color:var(--ink-2);text-decoration:none}.site-foot a:hover{text-decoration:underline}.login{flex-wrap:wrap;justify-content:center;gap:24px;padding-block:48px;display:flex}.card{background:var(--card);border:2px solid var(--line);border-radius:22px;flex-direction:column;gap:10px;padding:28px;display:flex}.login-card{flex:340px;max-width:420px}.login h1{margin-bottom:8px;font-size:32px}.login .btn{margin-top:8px}.form-error{background:var(--bad-soft);color:var(--bad);border-radius:10px;margin:8px 0 0;padding:8px 12px;font-weight:700}.back{color:var(--ink-2);background:0 0;border:0;align-items:center;gap:6px;margin-bottom:14px;padding:0;font-weight:800;text-decoration:none;display:inline-flex}.back:hover{color:var(--ink)}.level-head{background:var(--lv-soft);border-radius:22px;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;padding:28px 28px 0;display:flex;overflow:hidden}.level-head>div{flex-direction:column;gap:6px;padding-bottom:28px;display:flex}.level-head h1{color:var(--lv-ink);font-size:clamp(36px,5vw,54px)}.level-head .art{width:200px}.unit-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.unit-card{background:var(--card);border:2px solid var(--line);color:var(--ink);border-radius:18px;align-items:center;gap:12px;padding:10px;text-decoration:none;display:flex}.unit-card:hover{border-color:var(--lv)}.unit-card.is-empty{opacity:.55}.unit-card .art{object-fit:contain;background:var(--lv-soft);border-radius:12px;flex:none;width:76px;height:90px}.unit-card>span{flex-direction:column;display:flex}.unit-card b{font-family:var(--display);font-size:21px;font-weight:400}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,50% - 6px),1fr));gap:12px;display:grid}.lesson-card{background:var(--card);border:2px solid var(--line);color:var(--ink);border-radius:16px;flex-direction:column;gap:2px;padding:14px 16px 16px;text-decoration:none;transition:border-color .15s ease-out,transform .15s ease-out;display:flex}a.lesson-card:hover{border-color:var(--lv);transform:translateY(-2px)}.lesson-card.is-empty{opacity:.45}.lesson-card b{font-family:var(--display);font-size:20px;font-weight:400}.lesson-card .lesson-image{object-fit:contain;align-self:center;height:90px;margin-bottom:6px}.series{margin-bottom:28px}.series h2{margin-bottom:12px;font-size:24px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;display:grid}.book-card{color:var(--ink);flex-direction:column;gap:6px;text-decoration:none;display:flex}.book-cover{aspect-ratio:3/4;background:var(--lv-soft);border-left:10px solid var(--lv);text-align:center;font-family:var(--display);color:var(--lv-ink);box-shadow:0 8px 18px -12px var(--lv-ink);border-radius:8px 14px 14px 8px;justify-content:center;align-items:center;padding:14px;font-size:19px;display:flex}.book-cover.photo{object-fit:cover;width:100%;padding:0}.book-card:hover .book-cover{transform:translateY(-3px)}.locked{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-block:40px;display:flex}.locked .art{width:160px}.dialog-backdrop{z-index:50;background:#4a241873;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{background:var(--card);border-radius:22px;flex-direction:column;align-items:flex-start;gap:12px;max-width:460px;padding:28px;display:flex}.dialog h2{font-size:28px}.player{background:var(--paper);flex-direction:column;display:flex;position:fixed;inset:0}.player-bar{flex-wrap:wrap;align-items:center;gap:12px;padding:10px 20px;display:flex}.player-bar .back{margin:0}.player-bar.bottom{padding-block:8px 14px}.chip{background:var(--lv);color:var(--lv-ink);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:800}.chip.dark{background:var(--brand);color:var(--paper)}.page-count{color:var(--ink-2);font-size:15px;font-weight:800}.icon-btn{border:2px solid var(--line);background:var(--card);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.lucide{flex:none}:is(.icon-btn,.tips-btn,.sound-btn,.play-btn,.back,.tips-head) .lucide{stroke-width:2.4px;width:22px;height:22px}:is(.ghost,.icon-text,.media-clear,.tree-toggle) .lucide{stroke-width:2px;width:16px;height:16px}.play-btn .lucide,.video-preview .lucide{fill:currentColor}.icon-btn.big{width:56px;height:56px}.icon-btn.primary{background:var(--lv);border-color:var(--lv);color:var(--lv-ink)}.progress{background:var(--line);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress span{border-radius:inherit;background:var(--lv);height:100%;transition:width .25s ease-out;display:block}.tips-btn{background:var(--ink);height:56px;color:var(--lv);border:0;border-radius:999px;align-items:center;gap:8px;padding:0 20px;font-weight:800;display:flex}.tips-panel{background:var(--ink);width:min(480px,100vw - 48px);color:var(--paper);z-index:20;border-radius:22px;padding:20px 24px;position:fixed;bottom:90px;right:24px;box-shadow:0 20px 40px -20px #4a2418b3}.tips-head{color:var(--lv);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.tips-head button{color:var(--paper);background:0 0;border:0;place-items:center;padding:4px;display:grid}.tips-panel p{font-size:24px;font-weight:700;line-height:1.45}.tips-panel p+p{margin-top:12px}.tips-page{color:var(--lv);letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:800;display:block}.page-count-btn{height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;display:flex}.page-count-btn .lucide{stroke-width:2.4px;width:18px;height:18px}.page-count-btn:hover{background:var(--card)}.page-count-btn.on{background:var(--card);box-shadow:0 0 0 2px var(--lv);color:var(--lv-ink)}.page-count-btn.on .page-count{color:inherit}.thumb-strip{--thumb-h:64px;flex:none;padding:8px 20px 0}.thumb-strip ol{gap:12px;margin:0;padding:6px 6px 8px;list-style:none;display:flex;overflow-x:auto}.thumb-strip li{border-radius:10px;flex:none;padding:4px 4px 2px;display:flex}.thumb-strip li:first-child{margin-left:auto}.thumb-strip li:last-child{margin-right:auto}.thumb-strip li.current{box-shadow:0 0 0 2px var(--lv)}.thumb-strip button{opacity:.75;background:0 0;border:0;border-radius:4px;flex-direction:column;align-items:center;gap:4px;padding:0;transition:opacity .15s;display:flex}.thumb-strip li.current button,.thumb-strip button:hover{opacity:1}.thumb-strip button:focus-visible{outline-offset:2px;outline-width:2px}.thumb-page{height:var(--thumb-h);aspect-ratio:var(--thumb-ratio);background:var(--card);box-shadow:0 0 0 1px var(--line);place-items:center;display:grid;position:relative;overflow:hidden}.thumb-strip li button:first-child .thumb-page{border-radius:4px 0 0 4px}.thumb-strip li button:last-child .thumb-page{border-radius:0 4px 4px 0}.thumb-strip li button:only-child .thumb-page{border-radius:4px}.thumb-page img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.thumb-label{color:var(--ink-2);text-align:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1.2}.thumb-n{color:var(--ink-2);font-size:12px;font-weight:800;line-height:1}.thumb-strip li.current .thumb-n{color:var(--lv-ink)}.stage-outer{flex:1;justify-content:center;align-items:center;min-height:0;padding:0 20px;display:flex}.stage{transform-origin:0 0;background:var(--card);box-shadow:0 0 0 2px var(--line);border-radius:24px;position:relative;overflow:hidden}.sound-btn{background:var(--lv);width:56px;height:56px;color:var(--lv-ink);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.sound-btn .lucide{width:28px;height:28px}.phonics .consonant{color:var(--bad)}.phonics .vowel{color:var(--vowel)}.v-section{background:var(--lv-soft);align-items:center;gap:40px;height:100%;padding:40px 80px;display:flex}.v-section>div{flex-direction:column;flex:1;gap:18px;display:flex}.v-section h1{color:var(--brand);font-size:110px;line-height:.95}.v-section p{font-size:32px;font-weight:800}.v-section .art{flex:none;width:460px}.v-media{gap:28px;height:100%;padding:36px 70px;display:flex}.media-card{border:3px solid var(--line);border-radius:26px;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:16px;padding:20px 20px 26px;display:flex}.media-card:first-child{border-color:var(--lv)}.media-img{background:0 0;border:0;padding:0}.media-text{align-items:center;gap:14px;display:flex}.media-text p{font-family:var(--display);font-size:52px}.v-image{background:var(--card);height:100%;position:relative}.v-image img{object-fit:contain;width:100%;height:100%}.v-image-tap{cursor:pointer;background:0 0;border:0;width:100%;height:100%;padding:0}.sound-btn.corner{width:72px;height:72px;box-shadow:0 8px 20px -10px var(--lv-ink);position:absolute;bottom:24px;right:24px}.v-video{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:30px;display:flex}.video-box{background:var(--lv-soft);border-radius:20px;place-items:center;width:960px;height:540px;display:grid;position:relative;overflow:hidden}.video-box .art{height:90%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.play-btn{background:var(--card);width:110px;height:110px;color:var(--brand);box-shadow:0 10px 30px -12px var(--lv-ink);border:0;border-radius:50%;place-items:center;display:grid;position:relative}.play-btn .lucide{width:46px;height:46px;margin-left:6px}.video-note{background:var(--card);border-radius:14px;padding:12px 16px;font-weight:700;position:absolute;bottom:20px;left:20px;right:20px}.video-title{font-family:var(--display);font-size:30px}.vod-player{background:#000;position:absolute;inset:0}.vod-stage{width:100%;height:100%}.vod-player.blurred .vod-stage video{filter:blur(32px)}.watermark{z-index:20;color:#fff9;text-shadow:0 0 2px #000000b3,0 0 6px #00000073;pointer-events:none;white-space:nowrap;font-size:22px;font-weight:800;transition:left 1.2s,top 1.2s;position:absolute;transform:rotate(-12deg)}.v-game{flex-direction:column;align-items:center;gap:26px;height:100%;padding:36px 60px;display:flex;position:relative}.prompt{align-items:center;gap:16px;display:flex}.prompt h1{font-size:48px}.choices{gap:28px;width:100%;max-width:1040px;display:grid}.choices.n2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px}.choices.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.choices.n4{grid-template-columns:repeat(4,minmax(0,1fr))}.choice{background:var(--card);border:4px solid var(--line);border-radius:24px;place-items:center;min-height:300px;padding:14px;transition:transform .12s;display:grid}.choice:hover{border-color:var(--lv)}.choice img{width:auto;height:270px}.choice.right{border-color:var(--ok);background:var(--ok-soft)}.choice.wrong{border-color:var(--bad);background:var(--bad-soft)}.choice-letter{font-family:var(--display);color:var(--brand);font-size:180px;line-height:1}.choice-letter.small{font-size:60px}.feedback{min-height:36px;font-size:26px;font-weight:800}.feedback.ok{color:var(--ok)}.feedback.no{color:var(--bad)}.answer-sentence{font-family:var(--display);color:var(--ink);background:var(--ok-soft);border-radius:18px;margin-top:-14px;padding:6px 28px;font-size:46px}.shake{animation:.35s shake}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}.match-lines{pointer-events:none;position:absolute;inset:0}.match-lines line{stroke:var(--ok);stroke-width:6px;stroke-linecap:round}.match-word,.match-pic{border:4px solid var(--line);background:var(--card);border-radius:18px;height:100px;position:absolute}.match-word{width:260px;font-family:var(--display);font-size:40px}.match-pic{width:160px;padding:4px}.match-pic img{height:100%;margin:0 auto}.match-word.selected{border-color:var(--lv);background:var(--lv-soft)}.match-word.done,.match-pic.done{border-color:var(--ok);background:var(--ok-soft);cursor:default}.match-feedback{width:300px;position:absolute;bottom:40px;right:70px}.slots{gap:28px;display:flex}.slot{border:4px dashed var(--line);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:250px;height:250px;padding:10px;display:flex}.slot.filled{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.slot img{height:170px}.slot-hint{color:var(--ink-2);flex:1;place-items:center;font-weight:700;display:grid}.slot-label{font-family:var(--display);font-size:34px}.tray{gap:36px;min-height:180px;display:flex}.drag-item,.tray-gap{width:170px;height:180px}.drag-item{border:4px solid var(--lv);background:var(--card);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;z-index:1;border-radius:20px;padding:8px;position:relative}.drag-item.dragging{cursor:grabbing;z-index:5;box-shadow:0 16px 30px -14px var(--lv-ink)}.drag-item img{pointer-events:none;height:100%;margin:0 auto}.slot.bubble{background:var(--card);border-radius:50%;justify-content:center;padding:18px}.slot.bubble.filled{background:var(--ok-soft)}.slot.bubble img{height:100%}.bubble-lines{pointer-events:none;position:absolute;inset:0}.bubble-lines line{stroke:var(--ink-2);stroke-width:4px;stroke-linecap:round}.bubble-lines path{fill:var(--ink-2)}.bubble-center{background:var(--lv-soft);border:4px solid var(--lv);border-radius:50%;place-items:center;padding:14px;display:grid;position:absolute}.bubble-center img{height:100%}.bubble-bottom{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:14px;left:0;right:0}.tray.compact{gap:24px;min-height:0}.tray.compact .drag-item,.tray.compact .tray-gap{width:120px;height:120px}.bubble-bottom .feedback{min-height:30px;font-size:22px}.v-spot{align-items:center;gap:50px;height:100%;padding:30px 70px;display:flex}.spot-side{flex-direction:column;flex:1;gap:22px;display:flex}.found-dots{align-items:center;gap:12px;font-size:22px;display:flex}.found-dots span{border:3px dashed var(--line);border-radius:50%;width:38px;height:38px}.found-dots span.on{background:var(--ok);border:0}.spot-pic{border:2px solid var(--line);background:var(--card);cursor:crosshair;border-radius:24px;flex:none;padding:0;position:relative;overflow:hidden}.spot-pic:disabled{opacity:1;cursor:default}.spot-pic img{width:100%;height:100%;display:block}.spot-circle{border:6px solid var(--ok);pointer-events:none;border-radius:50%;position:absolute;transform:rotate(-8deg)}.v-worksheet{align-items:center;gap:40px;height:100%;padding:36px 70px;display:flex}.paper{border:2px solid var(--line);height:100%;box-shadow:0 12px 30px -20px var(--ink);background:#fff;border-radius:8px;flex-direction:column;flex:1;gap:14px;padding:36px 44px;display:flex}.paper h2{font-size:36px}.paper ol{flex-direction:column;gap:22px;margin:10px 0 0;padding-left:26px;font-size:22px;font-weight:700;display:flex}.paper li{flex-direction:column;gap:8px;display:flex}.answer-box{border:2px dashed var(--line);border-radius:10px;height:70px}.worksheet-side{text-align:center;flex-direction:column;align-items:center;gap:14px;width:300px;display:flex}.worksheet-side .art{width:230px}.v-finish{align-items:center;gap:40px;height:100%;padding:40px 100px;display:flex}.v-finish .art{width:380px}.v-finish>div{flex-direction:column;gap:16px;display:flex}.v-finish h1{color:var(--brand);font-size:96px}.v-finish p{font-size:26px}.book-theme{--lv:#4f93c6;--lv-soft:#dfedf8;--lv-ink:#1d4c70;background:var(--lv-soft)}.book-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;padding:0 20px 32px;display:flex}.book3d-scene{--h:clamp(240px, 100vh - 380px, 540px);--w:calc(var(--h) * var(--ratio));--d:calc(var(--h) * .1);perspective:1800px;padding-block:calc(var(--w) * .16);place-items:center;display:grid}.book3d{width:var(--w);height:var(--h);transform-style:preserve-3d;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:relative}.book3d.dragging{cursor:grabbing;transition:none}.book3d.swaying{transition:none}.book3d .face{backface-visibility:hidden;position:absolute}.book3d .front,.book3d .back-cover{text-align:center;border-radius:4px 12px 12px 4px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex;inset:0}.book3d .front{background:var(--lv);transform:translateZ(calc(var(--d) / 2));box-shadow:inset 10px 0 18px -10px #00000059}.cover-badge{aspect-ratio:1;isolation:isolate;background:#fff;border-radius:50%;width:78%;padding:16px;display:block;overflow:hidden}.cover-badge img{object-fit:contain;width:100%;height:100%}.cover-photo{object-fit:cover;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.flip-page.cover .flip-inner:has(.cover-photo){padding:0}.book3d .back-cover{background:var(--lv-ink);color:var(--paper);transform:rotateY(180deg) translateZ(calc(var(--d) / 2));border-radius:12px 4px 4px 12px}.book3d .back-cover p{font-size:calc(var(--h) * .043);line-height:1.5}.book3d .cover-title{font-size:calc(var(--h) * .09)}.book3d .cover-title.small{font-size:calc(var(--h) * .064)}.cover-title{font-family:var(--display);color:var(--card);text-shadow:0 2px #0000002e;font-size:40px;line-height:1.05}.cover-title.small{font-size:28px}.book3d .spine,.book3d .edge{width:var(--d);height:var(--h);top:0;left:calc(50% - var(--d) / 2)}.book3d .spine{background:var(--lv-ink);transform:rotateY(-90deg) translateZ(calc(var(--w) / 2));place-items:center;display:grid}.book3d .spine span{writing-mode:vertical-rl;font-family:var(--display);color:var(--paper);font-size:20px}.book3d .edge{transform:rotateY(90deg) translateZ(calc(var(--w) / 2 - 3px));background:repeating-linear-gradient(90deg,#fff 0 2px,#ece4d4 2px 3px)}.book3d .top,.book3d .bottom{width:var(--w);height:var(--d);left:0;top:calc(50% - var(--d) / 2);background:repeating-linear-gradient(0deg,#fff 0 2px,#ece4d4 2px 3px)}.book3d .top{transform:rotateX(90deg) translateZ(calc(var(--h) / 2 - 3px))}.book3d .bottom{transform:rotateX(-90deg) translateZ(calc(var(--h) / 2 - 3px))}.flip-stage{flex:1;place-items:center;min-height:0;margin:4px 32px 0;display:grid}.flip-holder[data-at=cover]{transform:translate(-25%)}.flip-holder[data-at=back]{transform:translate(25%)}.book-bar{justify-content:center;padding:14px 24px 18px;display:flex;position:relative}.book-nav{align-items:center;gap:16px;display:flex}.book-nav .page-count{text-align:center;min-width:104px}.book-side{gap:12px;display:flex;position:absolute;top:14px;right:24px}.flip-page{background:#fff;overflow:hidden}.flip-inner{justify-content:center;align-items:center;gap:calc(var(--page-h) * .035);height:100%;padding:calc(var(--page-h) * .05);text-align:center;flex-direction:column;display:flex;position:relative}.flip-page.inner{box-shadow:inset 0 0 0 1px var(--line)}.flip-page.inner .flip-inner{padding:0}.flip-page.inner img{object-fit:contain;width:100%;height:100%}.flip-page.cover{background:var(--lv)}.flip-page.cover .cover-badge{width:66%}.flip-page.cover .cover-title{font-size:calc(var(--page-h) * .075)}.flip-page.back-cover{background:var(--lv-ink);color:var(--paper);font-size:calc(var(--page-h) * .032)}.flip-page.back-cover .flip-inner{padding:calc(var(--page-h) * .08)}.page-no{color:var(--ink-2);font-size:14px;font-weight:800;position:absolute;bottom:14px;right:20px}.admin{--admin-w:1840px;background:var(--admin-bg);min-height:calc(100vh - 77px)}body:has(.admin) .site-header .wrap{max-width:1840px;padding-inline:24px}.admin-tabs{padding:0 calc(max(0px, (100% - var(--admin-w)) / 2) + 24px);background:var(--paper);border-bottom:1px solid var(--line);align-items:center;gap:2px;display:flex;overflow-x:auto}.admin-tablist{gap:2px;display:flex}.admin-tablist>button{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 14px 11px;font-weight:700}.admin-tablist>button:hover{color:var(--ink)}.admin-tablist>button.on{color:var(--ink);border-bottom-color:var(--brand);font-weight:800}.admin-v2{color:var(--ink-2);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:8px 10px;font-size:14px;display:inline-flex}.admin-v2:hover{color:var(--ink)}.admin-main{max-width:var(--admin-w);margin:0 auto;padding:20px 24px 48px}.panel{background:var(--card);border-radius:16px;flex-direction:column;gap:14px;min-width:0;padding:20px 24px;display:flex}.panel>h2,.editor-head h2,.settings h2{font-family:var(--display);color:var(--ink);font-size:26px}.editor-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.editor-head h2{flex:1}.danger{color:var(--bad)}.text-btn{background:0 0;border:0;border-radius:8px;padding:6px 10px;font-size:14px;font-weight:700}.text-btn:hover:not(:disabled){background:var(--bad-soft)}.ghost.on{border-color:var(--ink-2);background:var(--paper)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.empty-state .art{width:140px}.panel-title{color:var(--ink-2);font-size:14px;font-weight:800}.notice{background:var(--lv-soft);border-radius:10px;padding:10px 12px;font-size:14px}select{font:inherit;color:var(--ink);border:2px solid var(--line);background:var(--card);border-radius:10px;max-width:100%;padding:8px 10px}.check{align-items:center;gap:6px;display:flex}.check input{width:auto}.segmented{border:2px solid var(--line);border-radius:12px;flex-wrap:wrap;align-self:flex-start;font-weight:700;display:inline-flex;overflow:hidden}.segmented button{background:var(--card);border:0;padding:6px 14px;font-size:14px;font-weight:700}.segmented button.on{background:var(--lv);color:var(--lv-ink);font-weight:800}.badge{background:var(--ink);color:var(--lv);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:800}.courses{grid-template-columns:264px minmax(0,1fr);align-items:start;gap:20px;display:grid}.course-nav{gap:10px;max-height:calc(100vh - 109px);padding:12px;position:sticky;top:89px;overflow-y:auto}.course-nav input[type=search]{padding:8px 12px;font-size:15px}.tree,.tree ul{margin:0;padding:0;list-style:none}.tree ul{padding-left:14px}.tree>li+li{margin-top:2px}.tree-row{border-radius:8px;align-items:center;display:flex}.tree-row:hover{background:var(--admin-bg)}.tree-row.on{background:var(--lv-soft)}.tree-toggle{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:4px;min-width:0;padding:6px 4px;font-size:15px;font-weight:700;display:flex}.tree-row.strong .tree-toggle{font-size:16px;font-weight:800}.tree-toggle svg{color:var(--ink-2);transition:transform .15s ease-out}.tree-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.tree-toggle .t{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.swatch{background:var(--lv);border-radius:50%;flex:none;width:10px;height:10px}.tree-settings{color:var(--ink-2);background:0 0;border:0;border-radius:6px;flex:none;padding:4px 8px;font-size:13px;font-weight:700}.tree-settings:hover{color:var(--ink);background:var(--card)}.tree-row.on .tree-settings{color:var(--lv-ink);font-weight:800}.tree-leaf{text-align:left;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:8px;width:100%;padding:6px 8px 6px 24px;font-size:15px;display:flex}.tree-leaf:hover{background:var(--admin-bg)}.tree-leaf.on{background:var(--lv-soft);font-weight:800}.tree-leaf .n{min-width:18px;color:var(--ink-2);font-size:13px;font-weight:800}.tree-leaf .t{flex:1;min-width:0}.tree-leaf .count{color:var(--ink-2);font-size:12px}.tree-leaf small{color:var(--ink-2);font-size:12px;font-weight:400;display:block}.tree-leaf.shared{color:var(--ink-2);margin-top:10px;padding-left:8px}.tree.hits .tree-leaf{padding-left:8px}.tree-empty{color:var(--ink-2);padding:4px 8px 4px 24px;font-size:13px}.course-main{padding:20px 24px 28px}.panel-head{flex-wrap:wrap;align-items:flex-end;gap:8px 10px;display:flex}.panel-head h2{font-family:var(--display);color:var(--ink);font-size:28px}.panel-head .tag{font-family:var(--body);color:var(--lv-ink);background:var(--lv-soft);vertical-align:middle;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:800}.panel-head>p,.panel-head>.import-box,.panel-head>.import-progress,.panel-head>.form-error{flex-basis:100%;order:10}.crumb{color:var(--ink-2);background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.crumb:hover{color:var(--ink);text-decoration:underline}.meta-form{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:16px;padding-bottom:20px;display:flex}.meta-form>.field:not(.media-field){flex:240px;max-width:420px}.book-form{align-items:flex-start}.book-form .fields{flex-direction:column;flex:320px;gap:12px;max-width:520px;display:flex}.add-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.add-form>input,.add-form>.field{flex:240px;max-width:360px}.add-form>.narrow,.field.narrow{flex:0 160px}.row-list{margin:0;padding:0;list-style:none}.row-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:10px 8px;display:flex}.row-list button:hover{background:var(--lv-soft)}.row-list .n{width:24px;color:var(--ink-2);font-weight:800}.row-list .t{flex:1;font-weight:700}.row-list .muted{min-width:72px;font-size:14px}.page-strip{gap:10px;margin:0;padding:22px 2px 8px;scroll-padding-inline:60px;list-style:none;display:flex;overflow-x:auto}.page-strip>li{flex:none;position:relative}.slide-part{color:var(--lv-ink);white-space:nowrap;font-size:12px;font-weight:800;position:absolute;top:-20px;left:2px}.slide{text-align:left;background:0 0;border:0;flex-direction:column;gap:4px;width:128px;padding:0;display:flex}.slide-pic{aspect-ratio:16/9;background:var(--card);border:2px solid var(--line);width:100%;color:var(--ink-2);border-radius:10px;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative;overflow:hidden}.slide-pic img,.media-choose img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.slide:hover .slide-pic{border-color:var(--ink-2)}.slide.on .slide-pic{border-color:var(--lv);box-shadow:0 0 0 2px var(--lv)}.slide-meta{color:var(--ink-2);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.slide-meta b{color:var(--ink);font-size:13px}.slide.on .slide-meta b{color:var(--lv-ink)}.slide-add button{border:2px dashed var(--line);width:44px;height:72px;color:var(--ink-2);background:0 0;border-radius:10px;font-size:24px}.slide-add button:hover,.slide-add button.on{border-color:var(--lv);background:var(--lv-soft);color:var(--lv-ink)}.type-menu{background:var(--lv-soft);border-radius:12px;flex-wrap:wrap;gap:8px;padding:12px;display:flex}.page-editor{border-top:1px solid var(--line);flex-direction:column;gap:14px;padding-top:16px;display:flex}.editor-head h3{font-family:var(--display);margin-right:4px;font-size:24px;font-weight:400}.editor-head select,.part-input{width:auto;padding:6px 10px;font-size:15px}.part-input{width:170px}.page-tools{align-items:center;gap:4px;display:flex}.icon-text{border:2px solid var(--line);background:var(--card);border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.icon-text:hover:not(:disabled){border-color:var(--ink-2)}.btn.save{min-width:88px}.btn.save.saved{opacity:1;background:var(--ok-soft);color:var(--ok)}.editor-body{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);align-items:start;gap:28px;display:grid}.preview{flex-direction:column;gap:14px;min-width:0;display:flex;position:sticky;top:89px}.preview .stage-outer{aspect-ratio:16/9;flex:none;width:100%;padding:0}.preview-failed{aspect-ratio:16/9;border:2px dashed var(--line);color:var(--ink-2);border-radius:16px;place-items:center;display:grid}.fields{flex-direction:column;gap:16px;min-width:0;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.number input{width:110px}.field-pair{align-items:flex-end;gap:10px;display:flex}.field-pair>.field:first-child{flex:1}fieldset.group{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}fieldset.group>legend{align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:0;font-size:14px;font-weight:800;display:flex}.item-card{border:2px solid var(--line);background:var(--card);border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.item-card>input,.item-card>select{flex:120px;min-width:0}.item-card .item-fields{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.item-card .n{text-align:center;width:18px;color:var(--ink-2);flex:none;font-weight:800}.item-card .field.number{flex-direction:row;flex:none;align-items:center;gap:8px}.admin input:not([type=checkbox],[type=radio]),.admin textarea,.admin select{padding:8px 12px;font-size:15px}.add-btn{align-self:flex-start}.media-field{font-size:14px;font-weight:800}.media-slot{align-items:center;gap:8px;font-weight:400;display:flex;position:relative}.media-choose{border:2px solid var(--line);background:var(--card);width:128px;height:96px;color:var(--ink-2);border-radius:12px;flex:none;place-items:center;padding:4px;font-size:14px;font-weight:700;display:grid;position:relative}.media-choose:hover{border-color:var(--lv)}.media-choose.empty{border-style:dashed}.item-card .media-choose{width:84px;height:64px}.media-clear{width:28px;height:28px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.media-clear:hover{background:var(--bad-soft);color:var(--bad)}.media-player{width:280px;max-width:100%;max-height:120px}.option-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.option{border:2px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex;position:relative}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option .media-slot{display:block}.option .media-choose{width:100%;height:110px}.option .media-clear{background:var(--card);position:absolute;top:4px;right:4px}.option .check{justify-content:center;font-size:14px}.spot-editor{border:2px solid var(--line);cursor:crosshair;border-radius:12px;width:100%;max-width:420px;position:relative;overflow:hidden}.spot-editor .spot-circle{border-width:3px}.spot-editor .spot-circle b{color:var(--ok);place-items:center;font-size:14px;display:grid;position:absolute;inset:0;transform:rotate(8deg)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px}thead th{color:var(--ink-2);font-size:13px;font-weight:800}th.group{text-align:center;border-bottom:0;padding-bottom:2px}.level-col{text-align:center}td input{width:18px;height:18px}.status{background:var(--line);min-width:72px;color:var(--ink-2);border:0;border-radius:999px;padding:4px 12px;font-weight:800}.status.on{background:var(--ok-soft);color:var(--ok)}.teacher-form{background:var(--lv-soft);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:14px;display:flex}.teacher-form label{flex-direction:column;gap:4px;display:flex}.media-browser{flex-direction:column;gap:14px;display:flex}.media-tools input[type=search]{flex:200px;max-width:320px;padding:7px 12px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.media-item{border:2px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;min-width:0;margin:0;padding:8px;display:flex}.media-item img{object-fit:contain;background:var(--paper);border-radius:8px;width:100%;height:110px}.media-item audio{width:100%;height:36px;margin-block:37px}.media-item figcaption{flex-direction:column;min-width:0;font-size:12px;display:flex}.media-item figcaption .pt{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.media-item>.small,.media-item>.text-btn{align-self:flex-start}.media-item>.text-btn{margin-top:auto;padding:2px 6px;font-size:13px}.media-item>.check{font-size:13px;font-weight:700}.media-pick{background:0 0;border:0;border-radius:8px;padding:0}.media-pick:hover img{outline:3px solid var(--lv)}.video-preview{color:#fff;background:#2b2b2b;border:0;border-radius:8px;place-items:center;width:100%;height:110px;display:grid}.video-preview .lucide{width:36px;height:36px}.video-preview.media-player{width:160px;height:90px}.video-box.fit{aspect-ratio:16/9;width:100%;height:auto}.vod-status{color:var(--ink-2);font-weight:700}.vod-status.ready{color:var(--ok)}.vod-status.failed{color:var(--bad)}.upload-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.upload-list li{align-items:center;gap:10px;font-size:14px;display:flex}.upload-list .pt{flex:1;font-weight:700}.upload-list progress{flex:0 0 160px}.dialog.wide{align-items:stretch;width:100%;max-width:min(960px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.dialog.wide h2{font-family:var(--body);font-size:20px;font-weight:800}.dialog.wide .media-grid+.muted{padding:8px 0}.import-box{border:2px dashed var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;font-size:15px;display:flex}.import-box p,.import-box ul{margin:0}.import-box ul.form-error{padding-left:28px}.import-progress{background:var(--lv-soft);border-radius:12px;flex-direction:column;gap:8px;padding:12px;font-size:14px;font-weight:700;display:flex}.import-progress progress{width:100%}.import-done{background:var(--ok-soft);color:var(--ok);border-radius:10px;margin:0;padding:8px 12px;font-weight:700}.book-tips{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:20px;display:grid}.book-pages{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.book-pages button{background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;width:100%;padding:4px;display:flex}.book-pages button:hover{border-color:var(--line)}.book-pages button.on{border-color:var(--brand)}.book-pages img{aspect-ratio:3/4;object-fit:contain;background:var(--paper);border-radius:4px;width:100%}.book-pages .n{color:var(--ink-2);align-items:center;gap:2px;font-size:11px;display:flex}.book-pages .n .lucide{width:12px;height:12px;color:var(--brand)}.book-page-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:sticky;top:16px}.book-page-form img{object-fit:contain;background:var(--paper);border-radius:8px;width:100%;max-height:300px}.book-page-form .field{align-self:stretch}.settings{max-width:640px}.field-label{align-items:center;gap:6px;display:flex}.field-label .lucide{width:16px;height:16px;color:var(--ink-2)}.home-preview{zoom:.6;background:var(--paper);border:2px solid var(--line);pointer-events:none;border-radius:16px;gap:0;overflow:hidden}.facts{grid-template-columns:max-content 1fr;gap:12px 24px;margin:4px 0 0;display:grid}.facts dt{font-weight:800}.facts dd{margin:0}@media (max-width:1100px){.courses,.editor-body{grid-template-columns:minmax(0,1fr)}.course-nav,.preview{max-height:none;position:static}.book-tips{grid-template-columns:minmax(0,1fr)}.book-page-form{position:static}}@media (max-width:640px){.level-head .art{width:120px}.site-nav{flex-basis:100%;order:3}.book-bar{gap:8px;padding-inline:12px}.book-nav{gap:8px}.book-side{gap:8px;position:static}.book-nav .page-count{min-width:0;font-size:13px}.page-count-btn{gap:6px;padding-inline:12px}.player-bar.bottom{gap:8px;padding-inline:12px}.tips-btn{justify-content:center;width:56px;padding:0}.tips-label{display:none}.thumb-strip{--thumb-h:52px;padding-inline:12px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
