@font-face{font-family:"Noto Serif SC";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-sc-chinese-simplified-400-normal-DfFx0pwf.woff2) format("woff2")}:root{--font-ui:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--font-poetry:"Noto Serif SC",serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--size-page:28px;--size-category:21px;--size-author:14px;--size-poem-title:17px;--size-detail-title:32px;--size-verse:26px;--size-section:18px;--size-body:17px;--size-help:12px;--green:#486450;--muted:#737a70;--border:#dedfd4;font-family:var(--font-ui);color:#303c35;background:#f8f6f0;font-synthesis:none;line-height:1.65;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--green);outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1{font-size:var(--size-page);line-height:1.4}h2{font-size:var(--size-section)}h3{font-size:var(--size-author)}.site-shell{max-width:680px;margin:auto;padding:var(--space-5) 20px;min-height:100dvh}.home-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-3)}.home-header h1{font-size:var(--size-page)}.home-header p{font-size:11px;color:var(--muted);white-space:nowrap}.search{border:1px solid var(--border);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);border-radius:6px;background:#fffdf8;min-height:44px}.search>span{font-size:26px;color:var(--muted)}.search input{border:0;background:none;outline:none;width:100%;min-width:0;font-size:15px;color:inherit}.search input:focus-visible{outline:1px solid var(--green)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.section-heading>span{font-size:var(--size-help);color:var(--muted)}.progress-panel{margin:var(--space-3) 0 var(--space-2)}.progress-panel h2{font-size:14px;font-weight:500}progress{appearance:none;border:none;width:100%;height:4px;border-radius:var(--space-2);display:block;margin:var(--space-2) 0 0;background:#e3e5da}progress::-webkit-progress-bar{background:#e3e5da;border-radius:var(--space-2)}progress::-webkit-progress-value{background:var(--green);border-radius:var(--space-2)}progress::-moz-progress-bar{background:var(--green)}.category-nav{position:sticky;top:0;z-index:2;display:flex;gap:var(--space-1);overflow-x:auto;overscroll-behavior-x:contain;background:#f8f6f0;border-bottom:1px solid var(--border);padding:var(--space-1) 0;margin-bottom:var(--space-4);scrollbar-width:thin}.category-nav a{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:44px;padding:0 var(--space-3);font-size:14px;color:var(--green);border-radius:4px}.directory-category{scroll-margin-top:76px;margin-top:var(--space-6)}.directory-category:first-child{margin-top:0}.category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--border);padding-bottom:var(--space-2)}.category-heading h2{font-size:var(--size-category);line-height:1.4}.category-heading>span{font-size:var(--size-help);color:var(--muted);white-space:nowrap}.author-group{margin-top:var(--space-3)}.author-group+.author-group{border-top:1px solid rgba(72,100,80,.14);margin-top:var(--space-4);padding-top:var(--space-4)}.author-group h3{font-size:var(--size-author);font-weight:600;color:var(--green);line-height:1.5}.poem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-5)}.poem-grid.single{grid-template-columns:minmax(0,1fr)}.poem-row{display:flex;align-items:center;gap:var(--space-2);min-width:0;min-height:44px;padding:var(--space-2) var(--space-1);border-radius:4px}.poem-title{font-family:var(--font-poetry);font-size:var(--size-poem-title);line-height:1.5;font-weight:400;display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-pending{color:var(--muted)}.recitation-dot{flex-shrink:0;width:5px;height:5px;border-radius:50%;background:#9d8c66}.recitation-dot.mastered{background:var(--green)}.search-results{padding-top:var(--space-2)}.search-result{margin-top:var(--space-2);border-bottom:1px solid var(--border)}.search-result .poem-row{padding-left:0}.search-results>p{font-size:14px;color:var(--muted);padding:var(--space-4) 0}footer{text-align:center;font-size:var(--size-help);color:var(--muted);margin:var(--space-6) 0 var(--space-2)}.back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--green)}.page-header{margin:var(--space-4) 0 var(--space-5)}.page-header h1{margin:var(--space-2) 0}.pending-poem-header h1{font-family:var(--font-poetry)}.page-header p,.muted,.sample-note{color:var(--muted);font-size:13px}.sample-note{margin-top:var(--space-4)}.text-link{color:var(--green);display:inline-block;padding:var(--space-3)}.poem-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.reading-controls{display:flex;gap:var(--space-2);justify-content:flex-end;flex-wrap:nowrap}.reading-controls button{background:transparent;border:1px solid var(--border);border-radius:5px;padding:var(--space-2);min-height:44px;font-size:13px;color:var(--green);white-space:nowrap}.reading-controls [aria-pressed=true]{background:#e6ebde}.reading-controls span{padding-left:var(--space-2);font-weight:600}.poem-header{text-align:center}.poem-header h1{font-family:var(--font-poetry);font-size:var(--size-detail-title);font-weight:400;letter-spacing:2px;overflow-wrap:anywhere}.poem-header p{color:var(--muted);font-size:14px}.poem-header p span{color:#a6ab9c;padding:0 var(--space-2)}.verse{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0 var(--space-4);font-family:var(--font-poetry)}.verse-row{display:flex;justify-content:center;align-items:flex-end;gap:var(--space-2);min-width:0;white-space:nowrap}.verse-line{display:flex;align-items:flex-end;min-width:0;font-size:var(--size-verse);line-height:1.5}.verse-chars{display:flex}.verse-char{display:flex;flex-direction:column;align-items:center;width:27px}.pinyin{font-family:var(--font-ui);font-size:9px;line-height:1.45;color:var(--muted);margin-bottom:2px;white-space:nowrap}.pinyin-long{font-size:8px;letter-spacing:-.2px}.punctuation{width:13px}.meter-seven .verse-row{gap:4px}.meter-seven .verse-line{font-size:21px}.meter-seven .verse-char{width:21px}.meter-seven .pinyin-long{font-size:7px;letter-spacing:-.7px}.meter-seven .punctuation{width:10px}.text-section{border-top:1px solid var(--border);padding:var(--space-5) 0}.text-section h2{margin-bottom:var(--space-4);color:var(--green);font-size:var(--size-section)}.text-section p{font-size:var(--size-body);line-height:1.9;margin-top:var(--space-3);color:#434c44}.understanding+.understanding{margin-top:var(--space-5)}.understanding h3{font-size:var(--size-body);font-weight:500}.understanding h3 span{display:block;font-size:11px;letter-spacing:2px;color:#8a9082;margin-bottom:var(--space-1)}.status-options{display:flex;gap:var(--space-2)}.status-options button{flex:1;min-height:46px;border:1px solid var(--border);border-radius:4px;color:var(--green);background:transparent}.status-options button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.text-section p.sample-note{font-size:var(--size-help);line-height:1.7}.poem-navigation{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-4) 0}.poem-navigation button,.poem-navigation a{font-size:14px;border:0;background:none;padding:var(--space-3);color:var(--green)}.poem-navigation button:disabled{color:#9fa395}.source-note{font-size:var(--size-help);color:var(--muted);margin-top:var(--space-4);overflow-wrap:anywhere}.source-note h2{font-size:13px;margin-bottom:var(--space-2)}.source-note p{margin-top:var(--space-2)}.source-note a{text-decoration:underline;text-underline-offset:3px}@media(min-width:600px){.site-shell{padding:var(--space-6) 42px}.verse-row{gap:var(--space-4)}.verse-char{width:34px}.verse-line{font-size:30px}.punctuation{width:18px}.meter-seven .verse-row{gap:var(--space-3)}.meter-seven .verse-char{width:28px}.meter-seven .verse-line{font-size:26px}.meter-seven .punctuation{width:14px}.pinyin{font-size:11px}.pinyin-long{font-size:10px;letter-spacing:-.2px}.meter-seven .pinyin-long{font-size:9px;letter-spacing:-.4px}.category-nav{gap:var(--space-2)}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}a:hover{color:var(--green);background:#ebeee4}}
