:root{--learn-green:#254e42;--learn-gold:#ac8950;--learn-line:#dedfd6;--learn-soft:#f4f5ef}a,button,input,select{ -webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b98635;outline-offset:4px}.skip{position:absolute;left:12px;top:-80px;background:#fff;padding:12px;z-index:99}.skip:focus{top:8px}.learning-hero{background:#f3f3eb;border-bottom:1px solid var(--learn-line);padding:62px 0}.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px}.learning-hero h1{font:600 3.4rem/1.2 var(--serif);margin:12px 0}.learning-hero .lead{font:500 1.65rem/1.65 var(--serif);margin:20px 0}.learning-hero p:not(.lead):not(.eyebrow){color:#576b5f}.eyebrow{color:#836738}.hero-buttons,.writer-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.solid,.outline{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;font-size:.9rem;border:1px solid var(--learn-green);padding:10px 18px;border-radius:3px;line-height:1.6}.solid{background:var(--learn-green);color:white}.outline{background:white;color:var(--learn-green)}.hero-character-art{border:1px solid #d3d9cc;background:#fafaf5;padding:36px 24px 20px;text-align:center;box-shadow:12px 12px 0 #e6e9de}.art-caption{letter-spacing:.25em;font-size:.8rem;color:#726e5a}.character-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.character-triptych>span{background:linear-gradient(90deg,transparent 49.5%,#d8ddcf 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#d8ddcf 50%,transparent 50.5%),#fff;border:1px solid #d7dccc;font:4.5rem/1.7 KaiTi,STKaiti,serif;position:relative}.character-triptych small{display:block;background:#fafaf5;font:12px/2.4 var(--sans);border-top:1px solid #d7dccc}.course-band{border-bottom:1px solid var(--learn-line)}.course-band .shell{display:flex;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:20px;font-size:.84rem}.course-band b{margin-right:12px}.course-band a{color:var(--learn-green)}.learning-content{padding-bottom:64px}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:54px 0 24px;scroll-margin-top:110px}.section-intro h2,.parents-section h2{font:600 1.9rem/1.5 var(--serif);margin:0}.section-intro>p{font-size:.85rem;color:var(--soft);margin:0;max-width:480px}.lesson-layout{display:grid;grid-template-columns:265px 1fr;gap:30px;align-items:start}.lesson-sidebar{background:#f5f5ef;border:1px solid var(--learn-line);padding:20px 15px}.lesson-sidebar h3{font-size:.9rem;margin:0 10px 15px}.lesson-choice{width:100%;border:0;border-top:1px solid #dfe3d7;background:transparent;text-align:left;padding:15px 10px;display:flex;align-items:start;gap:12px;color:var(--ink);font-size:.84rem}.lesson-choice .num{font:1.1rem Georgia,serif;color:#8b7957;padding-top:2px}.lesson-choice small{display:block;color:#617163;font-size:.7rem;margin-top:3px}.lesson-choice[aria-current=true]{background:#254e42;color:#fff}.lesson-choice[aria-current=true] small,.lesson-choice[aria-current=true] .num{color:#ecedcf}.calendar-link{display:block;margin:20px 10px 0;color:var(--learn-green);font-size:.8rem}.lesson-panel-card{border:1px solid var(--learn-line);padding:30px;background:white}.lesson-panel-card h2{font:600 1.8rem/1.4 var(--serif);margin:8px 0}.lesson-panel-card .goal{color:var(--soft);margin:10px 0 24px}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.lesson-label{font-size:.75rem;letter-spacing:.1em;color:#88703f}.small{font-size:.78rem;color:#677367}.char-row{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.char-button{color:var(--ink);background:#faf9f4;border:1px solid var(--learn-line);padding:8px 12px;min-width:80px;text-align:center;border-radius:3px}.char-button b{display:block;font:2.7rem/1.3 KaiTi,STKaiti,serif}.char-button span{display:block;font-size:.75rem;color:#677367}.char-button:hover{background:#edf2e8;border-color:#71896a}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:22px 0}.activity-grid article{padding:16px 0;border-top:1px solid var(--learn-line)}.activity-grid h3{font-size:.95rem;margin:0 0 8px}.activity-grid p{font-size:.86rem;margin:0;color:#596b60}.activity-grid small{display:block;margin-top:8px;color:#687064}.home-task{background:#f2f4ed;border-left:3px solid #83956c;padding:18px 22px}.home-task h3{font-size:1rem;margin:0 0 6px}.home-task p{margin:0;font-size:.88rem}.lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.game-box{border:1px solid #d8decd;padding:20px;margin:22px 0 0;background:#fcfcf8}.game-box h3{margin:0 0 8px;font-size:1rem}.game-options{display:flex;gap:10px;flex-wrap:wrap}.game-options button{min-width:60px;font:2rem KaiTi,STKaiti,serif;background:white;border:1px solid #bdc9b2;padding:12px;color:var(--ink)}.game-question{font-size:1.1rem}.game-question span{font-size:1.7rem}.game-feedback{min-height:28px;font-size:.9rem;color:var(--learn-green);margin:12px 0 0}.resource-section{border-top:1px solid var(--learn-line);margin-top:52px;scroll-margin-top:110px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.video-card{border:1px solid var(--learn-line);padding:24px}.video-card .video-number{font:2rem Georgia,serif;color:#9a835b}.video-card h3{font:600 1.25rem var(--serif);margin:16px 0 10px}.video-card p{font-size:.85rem;color:var(--soft)}.video-card .video-meta{font-size:.75rem;letter-spacing:.08em}.video-card .video-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.video-links a{font-size:.8rem;color:var(--learn-green)}#player-panel{margin-top:24px;background:#f0f2ec;padding:24px;scroll-margin-top:100px}.player-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.player-heading h3{font-size:1rem}#player iframe{width:100%;aspect-ratio:16/9;border:0;display:block}.filters{display:flex;align-items:end;gap:18px;margin:24px 0}.filters label{display:flex;flex-direction:column;gap:6px;font-size:.8rem}.filters input,.filters select{padding:11px 12px;border:1px solid #cbd2c2;background:white;border-radius:3px;min-width:230px;max-width:100%;color:var(--ink)}.filters p{font-size:.85rem;margin-left:auto}.character-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:12px}.character-grid .char-button{min-width:0;padding:14px 8px}.source-note{margin-top:26px;font-size:.82rem;color:#58695c}.source-note summary{cursor:pointer}.source-note a{color:var(--learn-green)}.parents-section{background:#f1f3eb;padding:36px;margin-top:54px;display:grid;grid-template-columns:1fr 1fr;gap:20px 50px;scroll-margin-top:100px}.parents-section p{color:#58695c;font-size:.9rem}.parents-section ol{margin:0;padding-left:22px}.parents-section li{padding:0 0 16px 8px}.parents-section li b,.parents-section li span{display:block}.parents-section li span{font-size:.85rem;color:var(--soft)}.parent-note{grid-column:1/-1;border-top:1px solid #d9dfce;padding-top:16px;margin:0}dialog{width:min(720px,calc(100% - 24px));border:1px solid var(--learn-line);padding:26px;color:var(--ink);border-radius:6px;max-height:90vh;overflow:auto}dialog::backdrop{background:#163b30a3}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-body{display:grid;grid-template-columns:280px 1fr;gap:26px;margin-top:24px}.dialog-body h2{font:4rem KaiTi,STKaiti,serif;margin:4px 0}#dialog-pinyin{margin-bottom:0;color:#7c6843;font-size:1.25rem}#dialog-meaning{font-size:1.4rem}.writing-grid{width:260px;height:260px;border:1px solid #cad4c1;background:linear-gradient(90deg,transparent 49.6%,#d9dfd0 50%,transparent 50.4%),linear-gradient(transparent 49.6%,#d9dfd0 50%,transparent 50.4%),#fcfcf6;touch-action:none}#writer-status{min-height:24px;font-size:.8rem;max-width:260px}body.classroom .header,body.classroom .learning-hero,body.classroom .course-band,body.classroom .lesson-sidebar,body.classroom .resource-section,body.classroom .parents-section,body.classroom footer,body.classroom .section-intro{display:none}body.classroom .lesson-layout{grid-template-columns:1fr}body.classroom .learning-content{padding-top:25px}body.classroom .char-button b{font-size:4.8rem}.print-sheet{display:none}
@media(max-width:1000px){.character-grid{grid-template-columns:repeat(6,1fr)}.hero-inner{gap:28px}.character-triptych>span{font-size:3.3rem}.lesson-layout{grid-template-columns:225px 1fr}.course-band .shell{flex-wrap:wrap}.video-grid{gap:14px}.video-card{padding:18px}}
@media(max-width:700px){.header-inner{height:auto;min-height:76px;flex-wrap:wrap;padding:12px 0;gap:14px}.header nav{display:flex;width:100%;overflow-x:auto;gap:20px;padding-bottom:9px}.header nav a{white-space:nowrap;font-size:.8rem}.shell{width:calc(100% - 32px)}.learning-hero{padding:34px 0}.hero-inner{grid-template-columns:1fr}.learning-hero h1{font-size:2.7rem}.learning-hero .lead{font-size:1.4rem}.hero-character-art{padding:22px 20px 10px}.character-triptych{margin:18px 0}.character-triptych>span{font-size:3.5rem}.course-band .shell{display:grid;grid-template-columns:1fr;gap:8px}.section-intro{display:block;margin-top:36px}.section-intro h2{font-size:1.55rem}.section-intro>p{margin-top:12px}.lesson-layout{grid-template-columns:1fr;gap:18px}.lesson-sidebar{padding:14px}#lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lesson-choice{padding:10px 7px;font-size:.75rem}.lesson-choice .num{font-size:1rem}.lesson-sidebar .calendar-link{display:none}.lesson-panel-card{padding:20px}.lesson-panel-card h2{font-size:1.45rem}.activity-grid{grid-template-columns:1fr}.panel-heading{align-items:start}.panel-heading .outline{padding:6px 9px;white-space:nowrap;font-size:.75rem}.char-row{gap:8px}.char-row .char-button{min-width:62px;padding:8px}.video-grid{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch;gap:12px}.filters p{margin:0}.character-grid{grid-template-columns:repeat(4,1fr);gap:8px}.character-grid .char-button b{font-size:2.3rem}.parents-section{grid-template-columns:1fr;padding:24px}.dialog-body{grid-template-columns:1fr;justify-items:center}.dialog-body>div{width:100%}.writing-grid{margin:auto}.writer-actions{justify-content:center}#writer-status{margin:8px auto}dialog{padding:20px}.dialog-body h2{display:inline-block;margin-right:10px}#dialog-meaning{display:inline-block}.parent-note{grid-column:auto}}
@media print{body>*{display:none!important}body>.print-sheet{display:block!important;color:#111;font:14px sans-serif}.print-sheet h1{font-size:22px}.print-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.print-card{border:1px dashed #888;text-align:center;padding:20px;break-inside:avoid}.print-card b{display:block;font:85px KaiTi,STKaiti,serif}.print-card span{display:block}.print-sheet p{margin:16px 0}@page{size:A4;margin:18mm}}
.visual-lesson{padding:24px}.visual-lesson h2{font-size:1.5rem}.visual-character-picker{display:flex;gap:10px;margin:20px 0}.visual-character-picker button{position:relative;width:100px;padding:0;border:2px solid #e3e5db;background:#fff;border-radius:5px;overflow:hidden;color:var(--ink)}.visual-character-picker button[aria-pressed=true]{border-color:#42775b;box-shadow:0 0 0 2px #dfebda}.visual-character-picker img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.visual-character-picker span{font:1.2rem/1.5 var(--serif);display:block}.visual-prompt{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.visual-prompt h3{font:600 1.3rem/1.5 var(--serif);margin:0}.visual-prompt>span{color:#7e806f;font-size:.85rem}.picture-stage{position:relative;background:#f4f5ed;aspect-ratio:16/9;border:1px solid #dfe3d7;overflow:hidden;border-radius:4px}.picture-stage>img,.picture-stage iframe{display:block;width:100%;height:100%;object-fit:contain;border:0}.stage-play{position:absolute;bottom:14px;right:14px;padding:10px 16px;border:1px solid #ffffff8c;border-radius:24px;background:#244e42ed;color:white;font-size:.85rem}.step-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 8px}.step-controls>.outline,.step-controls>.solid{padding:8px 12px;font-size:.8rem}.step-dots{display:flex;gap:6px}.step-dots button{border:0;background:#f2f3ec;color:#64735f;padding:7px 9px;border-radius:3px;font-size:.75rem}.step-dots button[aria-pressed=true]{background:#dfe9d4;color:#214d3b}.frame-credit{font-size:.66rem;color:#73806d;margin:8px 0}.frame-credit a{color:inherit}.teacher-details{margin:25px 0 0;border-top:1px solid var(--learn-line);padding-top:20px;font-size:.85rem}.teacher-details summary{cursor:pointer;color:#536951}.char-button img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:8px}.character-grid{grid-template-columns:repeat(5,1fr)}.character-grid .char-button{padding:7px 7px 12px}.video-cover{width:calc(100% + 48px);max-width:none;margin:-24px -24px 16px;display:block;aspect-ratio:16/9;object-fit:cover}.game-picture{display:block;width:min(100%,360px);aspect-ratio:16/9;object-fit:contain;margin:10px 0;background:#fff}.kids-actions .solid,.kids-actions .outline{font-size:1rem;padding:12px 18px}body.classroom .visual-character-picker button{width:110px}body.classroom .picture-stage{max-height:55vh;aspect-ratio:16/9;margin:auto}body.classroom .teacher-details{display:none}body.classroom .lesson-panel-card{max-width:1100px;margin:auto}.print-card img{width:100%;height:110px;object-fit:contain}
@media(max-width:1000px){.step-controls{flex-wrap:wrap}.step-dots{order:3;width:100%;justify-content:center}.video-cover{width:calc(100% + 36px);margin:-18px -18px 16px}}
@media(max-width:700px){.visual-lesson{padding:16px}.visual-prompt h3{font-size:1.1rem}.visual-character-picker{gap:7px}.visual-character-picker button{width:25%}.stage-play{font-size:.75rem;right:8px;bottom:8px;padding:7px 10px}.character-grid{grid-template-columns:repeat(3,1fr)}.kids-actions .solid,.kids-actions .outline{font-size:.8rem;padding:10px 12px}.video-cover{width:calc(100% + 36px)}.teacher-details summary{line-height:1.8}}
.frame-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 12px}.frame-triptych figure{margin:0;background:white;border:1px solid #dbe0d2}.frame-triptych img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.frame-triptych figcaption{font-size:.72rem;padding:9px 3px}.hero-character-art>p{font-size:.63rem!important}.learning-hero{padding:40px 0}.hero-inner{gap:35px}.learning-hero h1{font-size:3rem}.learning-hero .lead{font-size:1.4rem}.hero-character-art{padding:28px 20px 12px}

@media print{.print-cards{grid-template-columns:repeat(2,1fr);gap:10px}.print-card{padding:10px;height:155px}.print-card b{font-size:70px}.print-card img{height:130px}.print-sheet p{font-size:12px}}

.visual-character-picker{flex-wrap:wrap}.visual-character-picker button small{display:block;font-size:11px;color:#617568}.picture-stage video{width:100%;height:100%;max-height:55vh;object-fit:contain;background:#fff}.lesson-count{color:#637568}.course-overview{border:1px solid #d9dfd1;padding:20px;margin-bottom:28px;border-radius:14px;background:#fafbf7}.course-overview summary{cursor:pointer;font-weight:600;color:#254e42}.course-overview p{line-height:1.9}.table-scroll{overflow-x:auto}.course-overview table{width:100%;border-collapse:collapse;white-space:nowrap}.course-overview th,.course-overview td{text-align:left;padding:12px;border-bottom:1px solid #d9dfd1}.course-overview td{letter-spacing:.1em}#dialog-clip video{width:100%;margin-top:16px}.classroom .course-overview{display:none}

.number-section{scroll-margin-top:90px}.number-caption{font-size:12px;color:#617568}.number-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.number-steps figure{margin:0;background:#f7f8f1;border-radius:9px;overflow:hidden}.number-steps img{width:100%;display:block}.number-steps figcaption{text-align:center;padding:9px;font-size:12px;color:#254e42}.number-card img{aspect-ratio:16/9;object-fit:cover}.number-card>span:last-child{font-size:11px}@media(max-width:600px){.number-steps{gap:5px}.number-steps figcaption{font-size:10px;padding:5px}}
.dialog-top{position:sticky;top:-26px;z-index:3;background:#fff;padding:12px 0;border-bottom:1px solid #e5e8df}@media(max-width:600px){.dialog-top{top:-20px}}

/* Quiet, playful learning surfaces */
.learning-page{background:#fffcf7}.learning-hero{background:#f4f6e9}.learning-page button,.learning-page .solid,.learning-page .outline{border-radius:14px}.lesson-panel-card{border-radius:22px}.visual-character-picker button{border-radius:16px;background:#fffef9}.visual-character-picker button[aria-pressed=true]{background:#edf5dd}.char-button{border-radius:18px}.number-card:nth-child(3n+1){background:#fff3dc}.number-card:nth-child(3n+2){background:#eef4e5}.number-card:nth-child(3n){background:#edf3f5}.section-intro .eyebrow{font-size:10px}.practice-section{scroll-margin-top:95px}.practice-settings{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:22px}.practice-settings label{display:grid;gap:7px;font-size:13px;color:#53675e}.practice-settings select{padding:11px;border:1px solid #d9dfd1;background:white;border-radius:12px;max-width:100%;font:inherit}.practice-modes{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.practice-modes button{padding:13px 22px;background:#f3f1e7;border:1px solid transparent;color:#345548;font:inherit;cursor:pointer}.practice-modes button[aria-pressed=true]{background:#315a49;color:#fff}.practice-play{background:#f4f7eb;border-radius:24px;padding:30px;text-align:center}.practice-play h3{font-size:26px;margin:0 0 10px}.practice-play>p{color:#637568;margin:0 0 24px}#practice-board{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:12px;max-width:590px;margin:auto}.practice-tile{aspect-ratio:1;border:2px solid #d9e3cc;background:#fffef9;box-shadow:0 3px 0 #dae4ce;font:clamp(30px,5vw,58px) KaiTi,STKaiti,serif;color:#284f40;cursor:pointer}.practice-tile:disabled{opacity:1;cursor:default}.practice-tile.found{background:#d5e8ad;border-color:#5f8b45}.practice-tile:focus-visible{outline:3px solid #be873a;outline-offset:3px}.practice-controls{margin-top:22px}#practice-options{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}#practice-options button{font:32px KaiTi,STKaiti,serif;min-width:68px}#practice-feedback{min-height:1.7em;color:#315a49;font-size:18px}.practice-footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:16px}.practice-footer span{margin-left:auto;color:#718174;font-size:13px}.resources-fold>summary{cursor:pointer;font-weight:600;color:#4b685b;padding:18px;background:#f5f3ec;border-radius:14px}.practice-focus .learning-hero,.practice-focus .header,.practice-focus .course-band,.practice-focus footer,.practice-focus .learning-content>:not(#practice){display:none!important}.practice-focus .learning-content{padding-top:20px}.practice-focus #practice{margin:0;padding-top:0}.practice-focus .practice-play{padding:22px}.practice-print-grid{display:grid;gap:12px;margin:30px 0}.practice-print-grid span{font:48px KaiTi,STKaiti,serif;border:1px solid #999;padding:20px;text-align:center}.practice-print-answer{break-before:page}.classroom #practice,.classroom .resources-fold{display:none}.number-steps figure{background:#fff9eb}#dialog-frames .number-steps img{object-fit:contain}.number-card img{object-fit:contain}@media(max-width:600px){.practice-play{padding:18px 12px}#practice-board{gap:8px}.practice-tile{font-size:36px}.practice-settings label{width:100%}.practice-modes{gap:6px}.practice-modes button{padding:12px 14px}.practice-footer span{width:100%;margin:0}.hero-buttons{flex-wrap:wrap}}

.memory-picture{height:150px;position:relative;display:grid;place-items:center;padding:12px}.memory-picture img{width:100%;height:100%;object-fit:contain}.memory-picture b{font:90px KaiTi,STKaiti,serif;color:#315a49}.memory-picture.blend img{opacity:.18}.memory-picture.blend b{position:absolute}.memory-animation{height:220px;position:relative;margin-top:16px;border-radius:18px;background:#fff6df;display:grid;place-items:center;overflow:hidden}.memory-animation img{position:absolute;width:85%;height:85%;object-fit:contain;animation:pictureToLetter 4s ease-in-out forwards}.memory-animation b{font:120px KaiTi,STKaiti,serif;color:#315a49;animation:letterAppears 4s ease-in-out forwards}@keyframes pictureToLetter{0%,35%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.9)}}@keyframes letterAppears{0%,35%{opacity:0}100%{opacity:1}}@media(prefers-reduced-motion:reduce){.memory-animation img{animation:none;opacity:.15}.memory-animation b{animation:none}}@media(max-width:600px){.memory-picture{height:100px;padding:8px}.memory-picture b{font-size:65px}}
[hidden]{display:none!important}
.practice-focus .section-intro{margin-bottom:12px}.practice-focus .practice-settings{margin-bottom:10px}.practice-focus .practice-modes{margin-bottom:10px}.practice-focus .practice-play>p{margin-bottom:14px}.practice-focus #practice-board{max-width:min(520px,46vh)}.practice-focus .practice-tile{font-size:clamp(28px,5vh,48px)}.practice-focus .practice-controls{margin-top:10px}

#activities{scroll-margin-top:90px}#activity-scope{padding:10px;border-radius:12px;border:1px solid #d5deca;background:white;font:inherit}.activity-grid-play{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:650px;margin:24px auto}.activity-card{min-height:140px;background:#fffef8;border:2px solid #d9e3cc;border-radius:16px;display:grid;place-items:center;padding:12px;color:#284f40;font-size:42px;cursor:pointer}.activity-card b{font:60px KaiTi,STKaiti,serif}.activity-card img{width:100%;height:110px;object-fit:contain}.activity-card:disabled{opacity:1;cursor:default}.activity-card.matched{background:#d9eabf}.craft-card{cursor:default}.craft-card b{font-size:38px}.part-options{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px}.part-options button{font-size:40px}.build-result{font:48px KaiTi,STKaiti,serif;padding:30px}.build-result span{color:#ac8854}#activity-stage details{margin-top:20px;font-size:13px}#activity-feedback{color:#315a49;min-height:24px}.colour-sheet{break-inside:avoid;border:1px solid #bbb;padding:20px;margin-bottom:20px}.outline-character{width:230px;height:230px;margin:auto}.outline-character svg{width:100%;height:100%}.stroke-strip{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.stroke-strip figure{margin:0;width:47px;text-align:center}.stroke-strip svg{width:47px;height:47px}.fold-card{display:grid;grid-template-columns:1fr 1fr;border:1px dashed #666;break-inside:avoid;margin:20px 0;min-height:220px}.fold-card>div{padding:20px;text-align:center}.fold-card>div+div{border-left:2px dashed #777}.fold-card img{width:100%;height:150px;object-fit:contain}.fold-card b{font:100px KaiTi,STKaiti,serif}@media(max-width:600px){.activity-grid-play{gap:8px}.activity-card{min-height:100px;padding:8px}.activity-card b{font-size:42px}.activity-card img{height:75px}.build-result{font-size:36px;padding:15px}.section-intro{flex-wrap:wrap}}

/* 2026-10 学习中心精简：课程表 + 课堂 + 玩一玩 */
.slim-hero{padding:40px 0 34px}
.slim-hero-inner{display:flex;justify-content:space-between;align-items:end;gap:24px 40px;flex-wrap:wrap}
.slim-hero h1{font:600 2.6rem/1.25 var(--serif);margin:0}
.slim-hero .hero-facts{margin:12px 0 0;color:#576b5f;font-size:1rem}
.slim-hero .hero-buttons{margin-top:0}
.syllabus .section-intro{align-items:center;margin-top:44px}
.syllabus .calendar-link{color:var(--learn-green);font-size:.9rem;white-space:nowrap}
.syllabus-table{width:100%;border-collapse:separate;border-spacing:0;background:white;border:1px solid var(--learn-line);border-radius:14px;overflow:hidden}
.syllabus-table th,.syllabus-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--learn-line);white-space:nowrap}
.syllabus-table thead th{font-size:.8rem;color:var(--soft);font-weight:600;background:var(--learn-soft)}
.syllabus-table tbody tr{cursor:pointer}
.syllabus-table tbody tr:hover{background:#f7f8f2}
.syllabus-table tbody tr:last-child>*{border-bottom:0}
.syllabus-table tr.is-past{color:#8a968f}
.syllabus-table tr.is-current{background:#edf3eb}
.syllabus-table tr.is-current .row-link{color:var(--learn-green);font-weight:700}
.row-link{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}
.syllabus-chars{font:500 1.2rem var(--serif);letter-spacing:.12em}
.syllabus-chars.review{color:var(--soft);font-size:1rem}
.day-tag{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:var(--learn-green);color:#fff;font-size:.72rem;vertical-align:1px}
.syllabus-note{margin:12px 0 0}
.lesson-section{margin-top:36px;scroll-margin-top:100px}
#game-menu span{display:contents}
#practice-modes button{order:4}
#game-menu [data-activity=combine],#game-menu [data-activity=colour],#game-menu [data-activity=book]{order:7}
.level-pick{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:#53675e}
.level-pick select{padding:8px 10px;border:1px solid #d9dfd1;border-radius:10px;background:white;font:inherit}
body.classroom .syllabus{display:none}
body.classroom .games-section{display:block}
body.classroom .games-section .section-intro{display:flex}
@media(max-width:700px){.slim-hero{padding:28px 0 24px}.slim-hero h1{font-size:2rem}.syllabus .section-intro{display:flex}
.syllabus-table thead{display:none}.syllabus-table,.syllabus-table tbody{display:block}
.syllabus-table tbody tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:14px 16px;border-bottom:1px solid var(--learn-line)}
.syllabus-table tbody tr:last-child{border-bottom:0}
.syllabus-table th,.syllabus-table td{padding:0;border:0;white-space:normal}
.syllabus-table td:nth-child(3){flex-basis:100%;font-weight:600}
.syllabus-chars{font-size:1.1rem}.syllabus-chars.review::before{content:"复习 ";font:.75rem var(--sans);letter-spacing:0}}
.bingo-size{display:flex;justify-content:center;gap:8px;margin:0 0 12px}
.bingo-size button[aria-pressed=true]{background:var(--learn-green);color:#fff}
.activity-grid-play.bingo-grid{grid-template-columns:repeat(var(--cols),1fr);max-width:720px}
.bingo-grid .activity-card{min-height:110px}
.bingo-grid[style*="--cols:4"] .activity-card{min-height:92px}
.bingo-grid[style*="--cols:4"] .activity-card b{font-size:48px}
@media(max-width:600px){.bingo-grid .activity-card{min-height:72px}.bingo-grid[style*="--cols:4"] .activity-card{min-height:64px}.bingo-grid[style*="--cols:4"] .activity-card b{font-size:32px}}
.dialog-evolve{width:100%;border-radius:12px;margin-top:18px;display:block}
.syllabus-links{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}

/* 笔顺练习（strokes.js）：左边动画，右边分笔画小卡 */
.sp-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.sp-modes,.sp-colors,.sp-guide{display:flex;gap:6px;flex-wrap:wrap}
.sp-bar button,.sp-guide button,.sp-tools button{padding:8px 14px;background:#f3f1e7;border:1px solid transparent;color:#345548}
.sp-bar button[aria-pressed=true],.sp-guide button[aria-pressed=true]{background:var(--learn-green);color:#fff}
.sp-body{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.sp-stage{position:relative;margin:0}
.sp-target,.sp-overlay,.sp-layer{position:absolute;inset:0}
.sp-overlay{pointer-events:none}
.sp-overlay svg{width:100%;height:100%}
.sp-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.sp-feedback{min-height:1.5em;margin:10px 0 0;color:#3f5b4f}
.sp-score{margin:4px 0 0;color:#b87e12;font-weight:700}
.sp-score:empty{display:none}
.sp-rail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.sp-rail li{position:relative;aspect-ratio:1;background:#fff;border:1px solid #d9dfd1;border-radius:10px;background-image:linear-gradient(90deg,transparent 49.5%,#eceee6 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#eceee6 50%,transparent 50.5%)}
.sp-rail li.is-now{border:2px solid var(--learn-green)}
.sp-rail li span{position:absolute;left:6px;top:3px;font-size:.72rem;color:#8a968f}
.sp-rail svg{width:100%;height:100%;display:block}
.sp-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.sp-options:empty{display:none}
.sp-options button{aspect-ratio:1;background:#fff;border:2px solid #d9dfd1;border-radius:12px;padding:4px}
.sp-options button svg{width:100%;height:100%}
.sp-options button.is-wrong{border-color:#cf5b37;opacity:.5}
@media(max-width:700px){.sp-body{grid-template-columns:1fr;justify-items:center}.sp-right{width:100%}}
.stroke-dialog{width:min(940px,calc(100% - 24px))}
.dialog-char{display:inline-grid;justify-items:center;line-height:1.1}
.dialog-char .py{font-size:1rem;color:var(--soft);min-height:1.2em}
.dialog-char b{font:3.2rem KaiTi,STKaiti,serif}
.stroke-host{margin-top:16px}
#number-extra{margin-top:20px;border-top:1px solid var(--learn-line);padding-top:12px}
/* 拼音开关：拼音放在字上面，可隐藏 */
.hide-pinyin .py{visibility:hidden}
.pinyin-toggle[aria-pressed=false]{color:#8a968f}
.visual-character-picker .py{display:block;font-size:.7rem;font-style:normal;color:var(--soft);line-height:1.2}
.char-button .py{display:block;font-size:.75rem;color:#677367}
.panel-buttons{display:flex;gap:8px;flex-wrap:wrap}
.activity-grid-play.cols-grid{grid-template-columns:repeat(var(--cols),1fr);max-width:760px}

/* 课堂流程：一步一步往下翻 */
.flow-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;padding:0}
.flow-steps button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 8px;border:2px solid #e3e7dd;background:#fff;color:#3f6436;font-weight:600;border-radius:999px}
.flow-steps button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#eef4eb;font-size:.8rem}
.flow-steps button[aria-current=step]{background:#3f6436;border-color:#3f6436;color:#fff}
.flow-steps button[aria-current=step] span{background:#e8737a;color:#fff}
.flow-stage{margin-top:14px;min-height:320px}
.flow-title{font:700 1.6rem/1.4 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#2f4a28;margin:6px 0}
.flow-hint{color:#6b7766;margin:0 0 14px}
.flow-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:2px dashed #eef1ea}
.flow-feedback{min-height:1.4em;color:#cf5a64}
.flow-done{font:700 1.4rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#cf5a64}
/* 热身翻卡 */
.flash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.flash{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:22px;overflow:hidden;background:#eef4eb;box-shadow:0 6px 18px rgba(83,128,71,.14)}
.flash img{width:100%;height:100%;object-fit:cover;display:block}
.flash-back{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;background:rgba(255,255,255,.92);opacity:0;transition:opacity .25s}
.flash.is-open .flash-back{opacity:1}
.flash-back b{font:72px/1.1 KaiTi,STKaiti,serif;color:#2f4a28}
.flash-back .py{font-style:normal;color:#6b7766}
/* 今天的笔画 */
.stroke-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.stroke-card{background:#fff;border:2px solid #eef1ea;border-radius:22px;padding:14px;text-align:center;box-shadow:0 6px 18px rgba(83,128,71,.1)}
.stroke-card-art{width:140px;height:140px;margin:0 auto;position:relative}
.stroke-card-art svg{width:100%;height:100%}
.stroke-card h4{font:700 1.5rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#cf5a64;margin:8px 0 0}
.flow-quiz{margin-top:22px;padding:18px;background:#fdf6f5;border-radius:22px}
.flow-quiz h4{font:700 1.3rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;margin:0 0 12px;color:#2f4a28}
.stroke-options{display:grid;grid-template-columns:repeat(4,minmax(0,110px));gap:12px}
.stroke-options button{aspect-ratio:1;background:#fff;border:3px solid #e3e7dd;border-radius:18px;padding:6px}
.stroke-options button svg{width:100%;height:100%}
.stroke-options button.is-wrong,.quiz-options button.is-wrong{border-color:#e8737a;opacity:.45}
/* 选择题 */
.quiz-prompt{display:grid;justify-items:center;gap:6px;margin:6px 0 16px;text-align:center}
.quiz-prompt p{font-size:1.15rem;margin:0}
.quiz-photo{width:min(420px,100%);aspect-ratio:16/10;object-fit:cover;border-radius:22px}
.quiz-char{font:120px/1.1 KaiTi,STKaiti,serif;color:#2f4a28}
.quiz-say{font-size:1.2rem;padding:14px 28px}
.quiz-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:640px;margin:0 auto}
.quiz-options button{aspect-ratio:1;border:3px solid #e3e7dd;background:#fff;border-radius:22px;font:64px/1 KaiTi,STKaiti,serif;color:#2f4a28}
.quiz-options.is-number button{font:700 48px/1 var(--sans)}
.quiz-options button.is-right{border-color:#538047;background:#eef4eb}
/* 写一写、组合字、游戏 */
.write-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.write-picker button{width:58px;height:58px;border:2px solid #e3e7dd;border-radius:16px;background:#fff;font:34px KaiTi,STKaiti,serif;color:#2f4a28}
.write-picker button[aria-pressed=true]{border-color:#e8737a;background:#fdf1f0}
.combo-list{display:grid;gap:12px;margin-bottom:16px}
.combo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border:2px solid #eef1ea;border-radius:22px;background:#fff;text-align:left}
.combo-part{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#eef4eb;font:36px KaiTi,STKaiti,serif;color:#2f4a28}
.combo i{font-style:normal;font-size:1.4rem;color:#cf5a64}
.combo-result{display:inline-flex;align-items:center;gap:8px}
.combo-result img{width:64px;height:40px;object-fit:cover;border-radius:10px}
.combo-result b{font:46px KaiTi,STKaiti,serif;color:#cf5a64}
.play-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.play-card{padding:22px 10px;border:2px solid #eef1ea;border-radius:22px;background:#fff;font:700 1.25rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#2f4a28;box-shadow:0 6px 18px rgba(83,128,71,.1)}
.play-card:hover{border-color:#e8737a}
.parent-print{display:flex;align-items:center;gap:12px;flex-wrap:wrap;grid-column:1/-1;margin:4px 0 0}
body.classroom .flow-stage{min-height:60vh}
@media(max-width:600px){.quiz-options{grid-template-columns:repeat(2,1fr)}.stroke-options{grid-template-columns:repeat(2,1fr)}.flow-steps button{padding:6px 10px 6px 6px;font-size:.85rem}}
/* 家长打印的笔画练习单 */
@media print{.stroke-sheet h2{font-size:17px;margin:14px 0 4px}.stroke-sheet .ss-tip{margin:2px 0 8px;font-size:12px;color:#555}
.ss-stroke{display:flex;align-items:center;gap:10px;margin:6px 0;break-inside:avoid}.ss-stroke b{font-size:18px;width:70px}
.ss-box,.ss-empty{width:72px;height:72px;border:1px solid #999;display:inline-block;background:linear-gradient(90deg,transparent 49.5%,#ccc 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#ccc 50%,transparent 50.5%)}.ss-box svg{width:100%;height:100%}
.ss-char{border-top:1px solid #ddd;padding:8px 0;break-inside:avoid}.ss-head{display:flex;align-items:baseline;gap:10px}.ss-head b{font:40px KaiTi,STKaiti,serif}.ss-head span{font-size:14px}.ss-head small{color:#666}
.ss-steps{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.ss-steps svg{width:40px;height:40px;border:1px solid #ccc}
.ss-grid{display:flex;gap:6px}.ss-cell{width:80px;height:80px;border:1px solid #888;background:linear-gradient(90deg,transparent 49.5%,#ccc 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#ccc 50%,transparent 50.5%)}.ss-cell svg{width:100%;height:100%}
.ss-foot{font-size:12px;color:#555}}
/* 字组：有关系的字放一行、居中 */
.visual-character-picker.grouped{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0 18px}
.pick-group{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:10px 16px;background:#f6f9f3;border-radius:22px}
.pick-group button{width:96px}
.flow-stage .flash-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 auto 16px;padding:12px;background:#f6f9f3;border-radius:26px;width:fit-content;max-width:100%}
.flow-stage .flash{width:150px}
.write-picker{justify-content:center}
.write-group{display:inline-flex;gap:6px;padding:6px 10px;background:#f6f9f3;border-radius:20px}
/* 一个一个学笔画、在字里找：居中 */
.solo-wrap{display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;margin:10px 0}
.solo-box{width:280px;height:280px;display:grid;place-items:center;background-color:#fff;border-radius:26px!important}
.solo-side{display:grid;justify-items:center;text-align:center;gap:8px}
.solo-name{font:700 4rem/1 "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#cf5a64;margin:0}
.solo-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.solo-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.solo-dots span{padding:3px 10px;border-radius:999px;background:#f3f6ef;color:#8a968f;font-size:.85rem}
.solo-dots span.is-now{background:#e8737a;color:#fff}
.solo-dots span.is-done{background:#eef4eb;color:#3f6436}
.finder-q{text-align:center;font-size:1.2rem;margin:4px 0 12px}
.finder-q b{color:#cf5a64;font-size:1.4rem}
.finder-box{width:300px;height:300px;margin:0 auto;background-color:#fff;border-radius:26px!important}
.find-stroke{fill:#2f4a28;cursor:pointer;transition:fill .2s}
.find-stroke:hover{fill:#538047}
.find-stroke.is-found{fill:#e8737a}
.flow-stage .flow-title,.flow-stage>.flow-hint,.flow-stage>.flow-feedback,.flow-stage>.flow-done{text-align:center}
.flow-stage>.solo-actions{margin-top:12px}
@media(max-width:600px){.pick-group button{width:76px}.flow-stage .flash{width:120px}.solo-box{width:230px;height:230px}.finder-box,.finder-box svg{width:260px;height:260px}}
/* 进阶汉语页面 */
.jinjie-page #print-cards{display:none}
.jj-syllabus td{white-space:normal;min-width:90px}
.jj-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.jj-book{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:22px;box-shadow:0 6px 18px rgba(83,128,71,.12);text-decoration:none;color:#2f4a28}
.jj-book img{width:52px;border-radius:8px}
.jj-book-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fdeceb;color:#cf5a64;font:600 26px var(--sans)}
.jj-book b{display:block;font:700 1.15rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.jj-book small{color:#6b7766}
.py-group{margin:0 0 16px;text-align:center}
.py-group h4{margin:0 0 8px;color:#6b7766;font-weight:600}
.py-letters,.py-syllables{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.py-letter{min-width:70px;height:70px;padding:0 14px;border:3px solid #e3e7dd;border-radius:22px;background:#fff;font:600 2rem var(--sans);color:#2f4a28;display:inline-grid;place-items:center}
.py-letter.is-plain{font-size:1.2rem;border-style:dashed}
.py-letter:hover,.py-syl:hover{border-color:#e8737a}
.py-syl{display:grid;justify-items:center;width:92px;padding:8px 0;border:3px solid #e3e7dd;border-radius:22px;background:#fff;color:#2f4a28}
.py-syl span{font:600 1.1rem var(--sans)}
.py-syl b{font:40px/1.2 KaiTi,STKaiti,serif}
.py-more{text-align:center}
.text-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.text-card{display:grid;gap:2px;padding:14px 16px;background:#fff;border-radius:22px;box-shadow:0 6px 18px rgba(83,128,71,.1);text-decoration:none;color:#2f4a28}
.text-card .text-num{color:#cf5a64;font-size:.85rem}
.text-card b{font:700 1.25rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.text-card small{color:#8a968f}
@media(max-width:860px){.jj-books{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.jj-books{grid-template-columns:1fr}}
/* 跟着写、找笔画按钮 */
.solo-box{position:relative}
.solo-box canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.finder-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 12px}
.finder-chips button{padding:8px 18px;border:2px solid #e3e7dd;background:#fff;color:#3f6436;font:600 1.05rem var(--sans);border-radius:999px}
.finder-chips button[aria-pressed=true]{background:#e8737a;border-color:#e8737a;color:#fff}
.finder-q .small{margin-left:6px;color:#8a968f}
#activity-stage .finder-box,#activity-stage .finder-q,#activity-stage .flow-feedback{text-align:center}
/* 拼一拼：先只看拼音 */
.py-syllables .py-syl b{display:none}
.py-syllables.show-chars .py-syl b{display:block}
.py-syl span{font-size:1.5rem!important;padding:10px 0}
.py-show{margin-left:8px;padding:4px 12px!important;font-size:.8rem}
/* 课文 */
.text-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:14px}
.text-tabs button{display:grid;padding:8px 16px;border:2px solid #e3e7dd;background:#fff;color:#2f4a28;border-radius:18px!important;text-align:center}
.text-tabs button small{color:#cf5a64;font-size:.72rem}
.text-tabs button[aria-pressed=true]{border-color:#e8737a;background:#fdf1f0}
.text-view{background:#fff;border-radius:26px;padding:22px 26px;box-shadow:0 6px 18px rgba(83,128,71,.1);text-align:center}
.text-title{font:700 1.8rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#2f4a28;margin:0 0 12px}
.text-para{font:2rem/2.6 KaiTi,STKaiti,serif;color:#2f4a28;margin:0 0 6px;letter-spacing:.05em}
.text-para ruby rt{font:500 .8rem var(--sans);color:#6b7766}
.hide-pinyin .text-para ruby rt{visibility:hidden}
.text-gap{display:inline-block;width:1em}
.text-more{margin-top:16px}
.solo-examples{flex-basis:100%;margin:2px 0 0;font:38px/1.2 KaiTi,STKaiti,serif;letter-spacing:.3em;color:#2f4a28;text-align:center}
.write-group.is-examples{background:#fdf1f0}
/* 没有图片的字：字卡 */
.pick-big{display:grid;place-items:center;height:62px;font:44px/1 KaiTi,STKaiti,serif;color:#2f4a28;background:#fbfcf9}
.plain-card{display:grid;justify-items:center;gap:8px;padding:18px;background:#fff;border-radius:26px;box-shadow:0 6px 18px rgba(83,128,71,.1)}
.plain-py{font:600 1.6rem var(--sans);color:#6b7766;margin:0}
.plain-writer{width:240px;height:240px;margin:0}
.plain-tag{padding:2px 12px;border-radius:999px;background:#fdeceb;color:#cf5a64;font-size:.85rem}
.jj-texts{white-space:normal!important}
.jj-texts span{display:inline-block;margin:2px 6px 2px 0;padding:1px 8px;border-radius:999px;background:#f3f6ef;font-size:.82rem}
/* 进阶：步骤按模块分组 */
.flow-steps.is-grouped{gap:10px}
.flow-module{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 12px;border-radius:999px;background:#f6f9f3}
.flow-module.is-current{background:#fdeceb}
.flow-module-name{font:700 1rem "Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;color:#cf5a64;margin-right:2px}
.quiz-options.is-pinyin button{aspect-ratio:auto;padding:22px 0;font:600 2rem var(--sans)}
/* 拼音用西文字体，声调位置正确 */
.py-letter,.py-syl span,.quiz-options.is-pinyin button,.plain-py,.py,.text-para ruby rt{font-family:"Noto Sans","Helvetica Neue",Arial,sans-serif!important}
