:root{--ink:#283e32;--muted:#7b8176;--green:#49674f;--paper:#fffefa;--bg:#f6f5ed;--border:#e0e3d7;--red:#a95842}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,[contenteditable]:focus-visible{outline:3px solid #c6964f;outline-offset:4px}.site-header{height:99px;max-width:1400px;margin:auto;padding:0 5%;display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--border)}.brand{display:flex;gap:12px;align-items:center;font-size:23px;letter-spacing:2px;font-weight:600}.brand-mark{width:40px;height:44px;display:grid;place-items:center;border:1px solid #a4654c;color:var(--red);border-radius:9px 9px 3px 3px;font-family:serif;font-size:26px;font-weight:400}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:6px;color:var(--muted)}nav{display:flex;gap:32px;height:100%;align-items:center}nav a{height:100%;display:flex;align-items:center;font-size:13px}nav .nav-active{border-bottom:2px solid var(--green)}.header-note{margin-left:auto;font-size:11px;color:var(--muted)}main{max-width:1240px;margin:auto;padding:0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:65px 0 56px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--red);border-radius:50%}h1{font-family:"Songti SC","STSong",serif;font-size:48px;font-weight:500;line-height:1.5;margin:19px 0;letter-spacing:3px}.hero-copy>p{color:#7a8176;line-height:2;font-size:14px}.hero-link{display:inline-flex;align-items:center;gap:28px;border-bottom:1px solid #aeb8a5;padding:10px 0;font-size:13px;margin-top:8px}.hero-link span{font-size:21px}.hero-meta{display:flex;gap:12px;align-items:center;font-size:10px;color:#858978;margin-top:27px}.hero-meta i{width:2px;height:2px;background:#a5aa9c}.hero-art{position:relative;border-radius:48% 48% 8px 8px;background:#e9ebdf;padding:35px 18px 28px;min-height:390px}.hero-art svg{display:block;width:100%;height:auto}.art-label{text-align:center;font-size:8px;letter-spacing:2px;color:#8d947f;margin-top:10px}.art-poem{text-align:center;font-family:"Songti SC",serif;font-size:17px;letter-spacing:4px;margin-top:0}.art-seal{position:absolute;right:36px;bottom:30px;writing-mode:vertical-rl;border:1px solid #b87e62;color:#a86248;padding:5px 3px;font-size:10px}.classroom{display:grid;grid-template-columns:237px minmax(0,1fr);border-top:1px solid var(--border);gap:35px;padding-top:35px;scroll-margin-top:25px}.library{border-right:1px solid var(--border);padding-right:24px}.library-title{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:5px 0 22px}.library-title small{font-size:10px;color:var(--muted)}.search{border:1px solid #dce0d4;border-radius:5px;display:flex;gap:7px;align-items:center;padding:8px 9px;background:#fafaf4}.search>span{font-size:22px;color:#7e8877;line-height:16px}.search input{width:100%;min-width:0;background:transparent;border:0;font-size:11px;outline:none;color:var(--ink)}.filters{display:flex;gap:5px;margin:14px 0 18px}.filters button{border:0;background:transparent;font-size:10px;border-radius:4px;padding:5px 9px;color:var(--muted)}.filters button.selected{background:#e4e9db;color:var(--green)}.poem-card{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:17px 13px;border-radius:6px;margin-bottom:8px;position:relative;color:var(--ink)}.poem-card:hover{background:#eeefe5}.poem-card.active{background:#e8eddf;border-color:#d8e0ce}.poem-card .num{font-family:Georgia,serif;font-size:11px;color:#8d987d;display:block;margin-bottom:8px}.poem-card strong{font-family:"Songti SC",serif;font-size:22px;font-weight:500;letter-spacing:2px}.poem-card small{display:block;font-size:11px;color:#7d8575;margin-top:8px}.poem-card .theme{position:absolute;right:13px;top:20px;font-size:9px;color:#7b876f;border:1px solid #d6ddcc;padding:2px 5px;border-radius:3px}.done-mark{position:absolute;right:13px;bottom:16px;font-size:10px;color:var(--green)}.shelf-note{margin-top:33px;padding:20px 9px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:2}.shelf-note>span{font-family:serif;font-size:16px;color:#7a876e}.empty{color:var(--muted);font-size:12px;line-height:2;padding:15px 5px}.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.lesson-top .eyebrow{font-size:10px;letter-spacing:1px}.lesson-top h2{font-family:"Songti SC",serif;font-size:31px;font-weight:500;letter-spacing:3px;margin:9px 0}.lesson-top p{font-size:11px;color:var(--muted);line-height:1.7;margin:0}.primary{border:0;border-radius:5px;background:var(--green);color:#fff;padding:12px 17px;font-size:12px;white-space:nowrap}.primary:hover{background:#354e3a}.primary span{margin-right:5px}.tools{display:flex;justify-content:space-between;align-items:center;margin-top:27px;border-bottom:1px solid var(--border)}.tabs{display:flex;gap:25px}.tabs button{border:0;background:none;color:#8a8f80;font-size:12px;padding:12px 0}.tabs button[aria-selected=true]{border-bottom:2px solid var(--green);color:var(--green)}.toggle{display:flex;align-items:center;gap:7px;font-size:11px;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle>span{width:25px;height:14px;background:#bec4b5;border-radius:20px;position:relative}.toggle>span:after{content:"";position:absolute;width:10px;height:10px;background:white;top:2px;left:2px;border-radius:50%;transition:left .15s}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{left:13px}.toggle input:focus-visible+span{outline:3px solid #c6964f;outline-offset:3px}.print-hint{font-size:10px;color:#919687;padding:14px 0}.sheet{background:var(--paper);padding:36px 37px;margin-bottom:22px;box-shadow:0 2px 12px #39462e08;border:1px solid #e5e5da;position:relative}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #e8e8dc}.sheet-head h3{font-family:"Songti SC",serif;font-size:21px;letter-spacing:2px;font-weight:500;margin:0}.sheet-head small{font-size:9px;letter-spacing:2px;color:#9b9f90}.student-line{display:flex;gap:28px;font-size:10px;margin-top:17px;color:#89907f}.student-line input{border:0;border-bottom:1px solid #b3b8ab;width:95px;background:transparent;border-radius:0;font-size:11px;color:var(--ink)}.goal{font-size:10px;line-height:1.8;margin:15px 0;color:#7b8371}.section-title{font-size:12px;font-weight:500;letter-spacing:1px;margin:23px 0 16px;display:flex;align-items:center;gap:9px}.section-title b{font-family:Georgia,serif;color:#929b83;font-size:10px;font-weight:400}.poetry{text-align:center;margin:22px auto 26px}.ruby{display:inline-block;white-space:nowrap;vertical-align:bottom}.ruby ruby{ruby-align:center;display:inline-flex;flex-direction:column-reverse;align-items:center;min-width:1.72em;font-family:"Songti SC","STSong",serif;font-size:17px;line-height:1.35;margin-top:2px;vertical-align:bottom}.ruby rt{display:block;font-family:Arial,sans-serif;font-size:9px;line-height:1.65;font-weight:400;letter-spacing:0;white-space:nowrap}.ruby .punct{display:inline-block;font-family:serif;font-size:17px;line-height:1.35;align-self:flex-end;min-width:.75em}.poetry .ruby ruby{font-size:28px;min-width:1.8em;line-height:1.4}.poetry .ruby rt{font-size:12px;line-height:1.7}.poem-line{margin:12px 0}.poem-author{font-size:11px;color:#8a907c;margin-bottom:18px}.poem-author .ruby ruby{font-size:13px;min-width:2em}.poem-author .ruby rt{font-size:8px}.bio{line-height:2.6}.bio .ruby ruby{font-size:15px;min-width:1.8em}.bio .ruby rt{font-size:8px}.meanings{display:grid;gap:17px}.meaning{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:4px}.meaning-label{font-size:10px;color:#929782}.meaning .ruby ruby{font-size:14px;min-width:1.8em}.meaning .ruby rt{font-size:7.5px}.activity{font-size:10px;color:#7d846f;margin-top:25px;line-height:1.8}.sheet-footer{display:flex;justify-content:space-between;font-size:9px;color:#a0a592;margin-top:25px;padding-top:13px;border-top:1px solid #ececdf}.practice-note{font-size:10px;line-height:1.8;color:#838b76;margin-bottom:17px}.exercise-labels{display:grid;grid-template-columns:50px 1fr 1.5fr;gap:15px;font-size:10px;color:#8b927e;margin-bottom:10px}.practice-row{display:grid;grid-template-columns:50px 1fr 1.5fr;gap:15px;align-items:center;margin-bottom:20px}.example{text-align:center}.example rt{font:11px Arial;display:block;line-height:1.7}.example span{font-family:"Songti SC",serif;font-size:29px}.characters,.pinyin-boxes{display:flex;gap:6px}.mi{width:43px;height:43px;border:1px solid #9da58c;position:relative;flex:1;max-width:52px;min-width:30px}.mi svg{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.mi [contenteditable]{position:relative;display:grid;place-items:center;width:100%;height:100%;font-family:serif;font-size:27px;outline-offset:1px;overflow:hidden;white-space:nowrap}.py-box{height:34px;flex:1;min-width:0;border:1px solid #aeb69e;background:linear-gradient(to bottom,transparent 31%,#c7ceba 31%,#c7ceba 33%,transparent 33%,transparent 65%,#c7ceba 65%,#c7ceba 67%,transparent 67%);font:16px Arial;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap}.homework{border-top:1px solid #e5e8dc;padding-top:4px;margin-top:24px}.task{font-size:11px;line-height:1.9;margin:11px 0}.task strong{font-weight:500}.task p{margin:3px 0;color:#818874;font-size:10px}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px;margin:13px 0 18px;font-size:13px}.word-grid label{display:flex;gap:5px;align-items:center}.word-grid input{min-width:0;width:100%;border:0;border-bottom:1px solid #abb39c;background:transparent;border-radius:0;color:var(--ink);font-size:12px}.completion{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;margin:25px 0 0}.completion label{cursor:pointer;display:flex;align-items:center;gap:7px}.completion input{accent-color:var(--green)}.completion>span{color:#939987;font-size:9px}.no-pinyin rt{visibility:hidden}.recite-card{padding:38px;text-align:center;background:var(--paper);border:1px solid var(--border);margin:0 0 22px}.recite-card h3{font-family:serif;font-size:24px;font-weight:400}.recite-card>p{font-size:12px;color:var(--muted);line-height:1.8}.recite-line{display:block;width:100%;background:none;border:0;margin:18px 0;padding:12px;color:var(--ink);border-radius:5px;min-height:64px}.recite-line:hover{background:#f0f2e7}.recite-line.covered{font-family:serif;font-size:24px;color:#9da98b;letter-spacing:9px;background:#f3f4eb}.recite-actions{display:flex;justify-content:center;gap:12px;margin-top:25px}.secondary{border:1px solid #cdd4c0;background:transparent;color:var(--green);border-radius:4px;padding:10px 15px;font-size:11px}.guide{margin:75px 0 65px;border-top:1px solid var(--border);padding-top:38px}.guide h2{font-family:serif;font-size:25px;font-weight:500;letter-spacing:1px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:30px}.guide article>span{font:10px Georgia;color:#a0a88e}.guide h3{font-size:14px;font-weight:500;margin:13px 0}.guide p{font-size:12px;color:#8a917e;line-height:2;margin:0}footer{max-width:1180px;margin:auto;border-top:1px solid var(--border);padding:27px 0;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#929884}footer .brand{font-size:17px;letter-spacing:1px}footer .brand-mark{width:29px;height:32px;font-size:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 20px;border-radius:5px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}#toast.show{opacity:1}[hidden]{display:none!important}
@media(min-width:1300px){.sheet{padding:38px 45px}.mi{height:47px}}
@media(max-width:1000px){.header-note{display:none}.site-header{justify-content:space-between;gap:20px}.hero{gap:20px;padding-top:45px}h1{font-size:38px}.hero-art{min-height:300px;padding-top:25px}.art-poem{font-size:13px;letter-spacing:2px}.classroom{grid-template-columns:190px minmax(0,1fr);gap:20px}.library{padding-right:15px}.sheet{padding:25px 20px}.practice-row,.exercise-labels{gap:8px;grid-template-columns:36px 1fr 1.3fr}.mi{min-width:25px;height:33px}.py-box{height:29px}.lesson-top h2{font-size:28px}.lesson-top .primary{padding:10px}.hero-meta{font-size:9px;gap:6px}.meaning .ruby ruby{font-size:13px;min-width:1.7em}.meaning .ruby rt{font-size:7px}.sheet-head small{letter-spacing:0}.poetry .ruby ruby{font-size:25px}.word-grid{gap:12px 8px}.guide-grid{gap:25px}footer{margin:0 30px}}
@media(max-width:720px){.site-header{height:78px;padding:0 20px}.brand{font-size:20px}.brand small{font-size:6px}.brand-mark{height:37px;width:33px}nav{gap:18px}nav a{font-size:11px}main{padding:0 18px}.hero{grid-template-columns:1fr;gap:25px;padding:32px 0}h1{font-size:37px;margin:14px 0}.hero-copy>p{font-size:13px}.hero-art{min-height:0;border-radius:100px 100px 8px 8px;max-width:420px;justify-self:center;width:100%;padding:18px 20px}.hero-art svg{max-height:210px}.art-label{font-size:7px}.art-poem{font-size:14px}.art-seal{right:25px;bottom:16px}.hero-meta{font-size:10px;gap:10px}.classroom{display:block;padding-top:23px}.library{border:0;padding:0}.library-title{margin-bottom:12px}.search{max-width:none}.filters{margin:10px 0}.filters button{font-size:11px}#poem-list{display:flex;gap:7px;overflow-x:auto;padding-bottom:12px}.poem-card{flex:0 0 135px;padding:12px;margin:0}.poem-card strong{font-size:20px}.poem-card .theme{right:8px;top:12px;font-size:8px}.poem-card small{font-size:9px}.poem-card .num{font-size:9px}.shelf-note{display:none}.lesson-area{margin-top:22px}.lesson-top p{max-width:230px;font-size:10px}.lesson-top .primary{font-size:11px}.tools{margin-top:15px}.sheet{padding:24px 17px}.sheet-head h3{font-size:19px}.sheet-head small{font-size:8px}.student-line{gap:16px;font-size:9px}.student-line input{width:75px}.poetry .ruby ruby{font-size:24px}.poetry .ruby rt{font-size:10px}.bio .ruby ruby{font-size:14px;min-width:1.7em}.bio .ruby rt{font-size:7px}.meaning{grid-template-columns:32px 1fr;gap:2px}.meaning-label{font-size:9px}.meaning .ruby ruby{font-size:12px;min-width:1.7em}.meaning .ruby rt{font-size:6.5px}.meanings{gap:15px}.practice-row,.exercise-labels{grid-template-columns:29px 1fr 1.35fr;gap:8px}.characters,.pinyin-boxes{gap:4px}.mi{min-width:20px;height:32px}.example span{font-size:25px}.example rt{font-size:9px}.py-box{height:27px;font-size:12px}.exercise-labels{font-size:8px}.word-grid{font-size:12px}.completion{font-size:10px}.completion>span{font-size:8px}.guide{margin:45px 0 35px}.guide h2{font-size:22px}.guide-grid{grid-template-columns:1fr;gap:23px;margin-top:23px}.guide article>span{font-size:10px}.guide h3{margin:8px 0}.guide p{font-size:12px}footer{margin:0 18px;flex-wrap:wrap;gap:15px;font-size:9px}footer>span:last-child{display:none}.recite-card{padding:25px 15px}.recite-line .ruby ruby{font-size:22px}.recite-line .ruby rt{font-size:10px}}
@page{size:A4 portrait;margin:0}
@media print{html,body{margin:0!important;padding:0!important;background:white!important;color:black!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}.site-header,.hero,.library,.lesson-top,.tools,.print-hint,.completion,.guide,footer,#recite,#toast{display:none!important}main,.classroom,.lesson-area,#sheets{display:block!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}.sheet{display:flex!important;flex-direction:column;width:210mm;height:297mm;min-height:0;margin:0!important;padding:13mm 15mm 10mm!important;background:white!important;border:0!important;box-shadow:none!important;break-after:page;overflow:hidden}.sheet:last-child{break-after:auto}.sheet-head{padding-bottom:4mm;border-color:#ccc}.sheet-head h3{font-size:18pt;color:black}.sheet-head small{font-size:7pt;color:#555}.student-line{font-size:8pt;margin-top:4mm;color:black;gap:12mm}.student-line input{width:30mm;color:black;border-color:#777}.goal{font-size:8pt;line-height:1.7;margin:4mm 0;color:black}.section-title{font-size:11pt;margin:5mm 0 4mm;color:black}.section-title b{color:#555;font-size:8pt}.poetry{margin:1mm auto 3mm}.poem-author{margin-bottom:3mm;color:black}.poem-line{margin:3mm 0}.poetry .ruby ruby{font-size:20pt;min-width:1.8em;line-height:1.4}.poetry .ruby rt{font-size:9pt;line-height:1.5}.poem-author .ruby ruby{font-size:11pt;min-width:2em}.poem-author .ruby rt{font-size:7pt}.bio{line-height:2.2}.bio .ruby ruby{font-size:12pt;min-width:1.8em}.bio .ruby rt{font-size:7pt}.ruby rt{visibility:visible!important;color:black}.ruby ruby,.ruby .punct{color:black}.meaning{grid-template-columns:14mm 1fr;gap:1mm}.meaning-label{font-size:8pt;color:#444}.meaning .ruby ruby{font-size:11pt;min-width:1.8em}.meaning .ruby rt{font-size:6.5pt}.meanings{gap:5mm}.activity{font-size:8pt;line-height:1.8;margin-top:5mm;color:#444}.sheet-footer{margin-top:auto;padding-top:3mm;font-size:7pt;color:#555;border-color:#ccc}.practice-note{font-size:8pt;color:#444;line-height:1.7;margin:1mm 0 4mm}.exercise-labels{grid-template-columns:16mm 55mm 1fr;gap:5mm;font-size:8pt;margin-bottom:4mm;color:#444}.practice-row{grid-template-columns:16mm 55mm 1fr;gap:5mm;margin-bottom:6mm}.example rt{font-size:9pt;color:black}.example span{font-size:24pt;color:black}.characters,.pinyin-boxes{gap:2mm}.mi{height:15mm;max-width:none;min-width:0;border-color:#666}.mi [contenteditable]{font-size:25pt}.py-box{height:12mm;border-color:#777;font-size:12pt;background:linear-gradient(to bottom,transparent 31%,#bbb 31%,#bbb 33%,transparent 33%,transparent 65%,#bbb 65%,#bbb 67%,transparent 67%)}.homework{margin-top:2mm;padding-top:1mm;border-color:#ccc}.homework .section-title{margin-top:3mm}.task{font-size:9pt;line-height:1.7;margin:3mm 0;color:black}.task p{font-size:8pt;color:black;margin:1mm 0}.word-grid{font-size:11pt;gap:4mm 6mm;margin:4mm 0 5mm}.word-grid input{border-color:#777;font-size:10pt}.sheet input{outline:0}.sheet [contenteditable]:empty{color:transparent}a{color:black;text-decoration:none}}
/* Let annotated Chinese wrap between characters on smaller screens. */
.ruby{display:inline;white-space:normal}
@media print{.practice-row{margin-bottom:4mm}.example rt{line-height:1.4}.example span{display:block;line-height:1.1}}
.word-grid label{white-space:nowrap;min-width:0}.word-grid input{flex:1;width:0}
.poetry .poem-author .ruby ruby{font-size:13px;min-width:2em}.poetry .poem-author .ruby rt{font-size:8px}
@media print{.poetry .poem-author .ruby ruby{font-size:11pt}.poetry .poem-author .ruby rt{font-size:7pt}}
.filters{flex-wrap:wrap}.difficulty-filter{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);margin:0 0 9px}.difficulty-filter select{font:inherit;color:var(--green);border:1px solid #d9dfcf;background:#fafaf4;padding:6px 5px;border-radius:4px;min-width:105px}.difficulty-guide{font-size:9px;line-height:1.8;color:#8c947f;margin:0 0 15px}.card-difficulty{display:block;font-size:10px;letter-spacing:1px;color:#8e805b;margin-top:12px}.difficulty-badge{display:inline-block;vertical-align:middle;margin:0 0 3px 14px;padding:5px 8px;border:1px solid #dbdfcc;border-radius:4px;font-family:"PingFang SC",sans-serif;font-size:10px;font-weight:400;letter-spacing:1px;color:#8e805b}.poem-card .done-mark{bottom:18px;font-size:9px}.lesson-top h2{line-height:1.5}
@media(max-width:720px){.difficulty-filter{justify-content:flex-start;margin:10px 0}.difficulty-guide{font-size:9px;margin-bottom:12px}.difficulty-badge{font-size:9px;margin-left:8px;padding:3px 6px;letter-spacing:0}.lesson-top h2{font-size:25px;letter-spacing:1px}.poem-line .ruby ruby{min-width:1.6em}.poem-card .theme{font-size:8px}.card-difficulty{font-size:9px}.poem-card .done-mark{position:static;display:block;margin-top:6px}.recite-line .ruby ruby{min-width:1.5em}}
@media print{.sheet-head small{font-size:7pt;letter-spacing:0;white-space:nowrap}}
/* Six teaching levels retain the site's paper, typography and muted green shell. */
.level-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 15px}.level-filters button{font:inherit;font-size:10px;color:var(--green);padding:7px 3px;border:1px solid var(--border);border-radius:4px;background:transparent;white-space:nowrap}.level-filters button.selected{border-color:var(--level-color,var(--green));box-shadow:inset 0 -2px 0 var(--level-color,var(--green));background:#eeefe6}.level-guide-link{display:inline-block;font-size:10px;color:var(--green);margin-bottom:18px;border-bottom:1px solid #cdd4c2;padding-bottom:3px}.poem-card{border-left:3px solid var(--level-color);padding-bottom:16px}.poem-card.active{border-left-color:var(--level-color)}.poem-card strong{font-size:20px;line-height:1.6;display:block;overflow-wrap:anywhere}.poem-card .level-corner{color:var(--level-color);border:1px solid var(--level-color);font-size:9px;letter-spacing:0}.poem-card small{line-height:1.8;font-size:10px}.poem-themes{display:block;color:#7e8871;font-size:9px;margin-top:7px;line-height:1.8}.poem-note{display:block;color:#8a907f;font-size:10px;line-height:1.8;margin-top:6px;padding-right:2px}.poem-card .done-mark{position:static;display:block;font-size:9px;margin-top:8px}.difficulty-badge{border-color:var(--level-color);color:var(--level-color)}#poem-list{max-height:640px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c7cebd transparent}.reading-order{height:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 5px}.reading-order>span{font-size:10px;color:var(--muted)}.secondary:disabled{cursor:default;opacity:.4}.leveling-guide{margin:60px 0 0;padding-top:35px;border-top:1px solid var(--border)}.leveling-guide h2{font-family:"Songti SC",serif;font-size:25px;font-weight:500;letter-spacing:1px}.leveling-guide>p,.rubric>p{font-size:12px;line-height:2;color:var(--muted);max-width:840px}.level-overview{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;margin:28px 0}.level-overview article{border-left:3px solid var(--level-color);padding:8px 0 8px 13px}.level-overview article>span{font:12px Georgia;color:var(--level-color)}.level-overview h3{font-size:18px;font-weight:500;font-family:serif;margin:8px 0}.level-overview p{font-size:10px;line-height:1.8;color:var(--muted);margin:5px 0}.level-overview small{font-size:10px;color:#959b8a}.rubric summary{font-size:12px;cursor:pointer;padding:12px 0;color:var(--green)}.rubric-scroll{overflow:auto}.rubric table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.8;text-align:left;margin:10px 0}.rubric th,.rubric td{border:1px solid var(--border);padding:12px;font-weight:400}.rubric th{background:#ebeede;color:var(--green)}.rubric>p{font-size:10px}.library{align-self:start}
@media(max-width:1000px){.level-filters{grid-template-columns:repeat(2,1fr)}.level-overview{grid-template-columns:repeat(3,1fr)}.poem-card strong{font-size:18px}}
@media(max-width:720px){.level-filters{grid-template-columns:repeat(4,1fr);gap:6px}.level-filters button{font-size:11px;padding:9px 4px}.level-guide-link{font-size:11px;margin-bottom:14px}.difficulty-filter select{padding:8px;font-size:11px}.difficulty-guide{font-size:10px}.poem-card{flex-basis:167px;padding:12px}.poem-card strong{font-size:18px}.poem-note{font-size:9px}.poem-card .level-corner{right:8px;top:12px;font-size:8px}#poem-list{max-height:none;overflow-y:hidden;align-items:stretch}.level-overview{grid-template-columns:repeat(2,1fr)}.leveling-guide{margin-top:40px}.leveling-guide h2{font-size:22px}.rubric table{min-width:600px}.reading-order{font-size:10px;gap:6px}.reading-order .secondary{font-size:10px;padding:10px}.compact-lesson .poem-line{margin:7px 0}.compact-lesson .meanings{gap:11px}}
@media print{.reading-order,.leveling-guide{display:none!important}.compact-lesson .poetry{margin:0 auto 2mm}.compact-lesson .poem-line{margin:1mm 0}.compact-lesson .poetry .ruby ruby{font-size:17pt}.compact-lesson .poetry .ruby rt{font-size:8pt}.compact-lesson .section-title{margin-top:3mm;margin-bottom:3mm}.compact-lesson .meanings{gap:2mm}.compact-lesson .meaning .ruby ruby{font-size:10pt}.compact-lesson .meaning .ruby rt{font-size:6pt}.compact-lesson .bio .ruby ruby{font-size:11pt}.compact-lesson .bio{line-height:1.9}.compact-lesson .activity{margin-top:3mm}.sheet-head h3{max-width:75%;font-size:17pt}.sheet-head{gap:4mm}.sheet-head small{font-size:7pt}}
@media print{.compact-lesson .poem-line{margin:.6mm 0}.compact-lesson .poetry .ruby ruby{font-size:16pt;line-height:1.25}.compact-lesson .poetry .ruby rt{font-size:7.5pt;line-height:1.35}.compact-lesson .poetry .poem-author .ruby ruby{font-size:10pt}.compact-lesson .poetry .poem-author .ruby rt{font-size:6.5pt}}
