@charset "UTF-8";
:root{--paper:#f8f7f2;--white:#fffefa;--ink:#263e35;--green:#315b4b;--muted:#7e857b;--line:#e6e6dc;--soft:#eff1e9;--rust:#a95743;--serif:"Songti SC","STSong","Noto Serif CJK SC","Source Han Serif SC",SimSun,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}button,a{touch-action:manipulation}::selection{background:#dce4d5}select{cursor:pointer;color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:12px;background:var(--ink);color:white;padding:10px;z-index:20}.skip-link:focus{top:10px}.site-header{height:94px;margin:0 auto;width:min(1280px,calc(100% - 96px));display:flex;align-items:center;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;align-items:center;gap:12px}.brand-seal{background:var(--rust);color:#fbf1df;width:42px;height:45px;border-radius:3px;font:30px/45px var(--serif);text-align:center;outline:1px solid #efd7bf;outline-offset:-5px;transform:rotate(-2deg)}.brand-name{font:27px/1 var(--serif);font-weight:700;letter-spacing:4px}.brand-name>span{display:block;font:9px/1 var(--sans);letter-spacing:3.2px;margin-top:7px}.brand-desc{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px;margin-left:8px;letter-spacing:1px}.site-header nav{display:flex;gap:30px;margin-left:auto;align-self:stretch}.nav-button{position:relative;font-size:14px;padding:0 2px;color:#788076}.nav-button.active{color:var(--green);font-weight:600}.nav-button.active:after{content:"";position:absolute;width:21px;height:2px;background:var(--green);left:calc(50% - 10px);bottom:20px}.nav-button>span{font-size:10px;background:#e9ece2;color:#697a69;padding:2px 5px;border-radius:4px;margin-left:3px}.local-badge{font-size:11px;border:1px solid #dce2d5;border-radius:20px;padding:5px 11px;margin-left:25px;white-space:nowrap;color:#73806d;display:flex;align-items:center;gap:6px}.local-badge i{display:inline-block;width:5px;height:5px;background:#7a9473;border-radius:50%}main{width:min(1280px,calc(100% - 96px));margin:0 auto}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:434px;padding:49px 0 30px;gap:28px;align-items:center}.eyebrow{font-size:10px;font-weight:500;letter-spacing:2.4px;color:var(--muted);margin:0 0 14px;display:flex;align-items:center;gap:10px}.eyebrow>span{height:1px;width:25px;background:#a3af98}.hero h1{font:42px/1.5 var(--serif);font-weight:600;letter-spacing:3px;margin:0 0 16px}.hero h1 span{color:#5b785a}.hero-description{color:#7c8277;font-size:13px;line-height:2;margin:0 0 23px;letter-spacing:.5px}.primary-button{background:var(--green);color:#fffef7;display:inline-flex;justify-content:center;align-items:center;padding:12px 21px;gap:25px;border-radius:4px;font-size:13px;transition:background .2s,transform .2s;min-height:44px}.primary-button:hover{background:#244837;transform:translateY(-1px)}.primary-button>span{font-size:19px;font-family:var(--sans)}.hero-caption{margin-top:24px;display:flex;gap:9px;align-items:center;font-size:11px;color:#929486;letter-spacing:.7px}.tiny-seal{display:inline-flex;align-items:center;justify-content:center;width:19px;height:21px;font:14px/1 var(--serif);color:var(--rust);border:1px solid #cda78f;border-radius:2px}.hero-art{position:relative;height:350px;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#f1eee0 0,transparent 65%);border-radius:50% 50% 0 0}.landscape{width:100%;height:100%;position:absolute;bottom:-12px;left:0;object-fit:cover}.art-poem{position:absolute;top:22px;right:44%;display:flex;gap:12px;font-family:var(--serif);color:#4d5f49}.art-poem p{writing-mode:vertical-rl;font-size:22px;letter-spacing:9px;margin:0;line-height:1.5}.art-poem p:first-child{order:2}.art-poem p:nth-child(2){order:1;padding-top:20px}.art-poem>span{writing-mode:vertical-rl;font:10px/1.7 var(--sans);letter-spacing:3px;padding-top:37px;order:0;color:#8b8e7d}.art-seal{position:absolute;right:18%;top:40%;font:12px/1.3 var(--serif);color:var(--rust);border:1px solid #c19076;padding:4px 3px;border-radius:2px;transform:rotate(4deg)}.art-label{position:absolute;bottom:4px;right:30px;font:10px/1 var(--sans);letter-spacing:2px;color:#8b9481}.library{padding-top:27px;padding-bottom:50px;border-top:1px solid var(--line);scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px;gap:20px}.section-heading .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:6px}.section-heading h2{font:25px/1.5 var(--serif);font-weight:600;letter-spacing:1.8px;margin:0}.section-heading>p{font-size:11px;color:#919487;white-space:nowrap;margin-bottom:4px}.section-heading strong{font:17px var(--serif);color:#556c50;margin-right:3px}.section-heading>p span{margin:0 8px}.search-bar{display:flex;align-items:center;width:100%;height:58px;border:1px solid #dce0d3;background:var(--white);border-radius:6px;padding:6px 7px 6px 20px;box-shadow:0 3px 8px #33462a03}.search-icon{display:block;flex-shrink:0;width:15px;height:15px;border:1.5px solid #7f907a;border-radius:50%;position:relative;margin-right:15px}.search-icon:after{content:"";width:6px;height:1.5px;background:#7f907a;position:absolute;bottom:-3px;right:-5px;transform:rotate(45deg)}.search-bar input{min-width:0;flex:1;height:100%;font-size:13px;border:0;background:none;color:var(--ink);outline:none;padding:0 8px}.search-bar input::placeholder{color:#a3a69a;letter-spacing:.4px}.search-bar:focus-within{border-color:#788f72;box-shadow:0 0 0 2px #e2e9dc}.search-bar input:focus-visible{outline:none}.search-bar select{width:118px;font-size:12px;border:0;border-left:1px solid var(--line);background:none;padding:4px 10px;color:#7c8575;margin-right:13px}.search-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--green);color:#fffdf5;height:44px;padding:0 24px;border-radius:3px;font-size:13px}.search-submit:hover{background:#234536}.search-submit span{font-size:18px}.popular-searches{display:flex;gap:13px;align-items:center;margin:11px 0 28px;color:#9b9e92;font-size:10px}.popular-searches>button{background:#eeefe7;padding:3px 9px;border-radius:3px;font-size:10px;color:#7b8373}.popular-searches>button:hover{background:#dfe7d7;color:var(--green)}.search-hint{margin-left:auto;letter-spacing:.5px}.library-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:30px}.filters{border-right:1px solid var(--line);padding-right:25px}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.filter-heading h3{margin:0;font-size:13px;font-weight:600}.text-button{font-size:11px;color:#8e9785;text-decoration:underline;text-underline-offset:4px;padding:3px}.text-button:hover{color:var(--green)}.mobile-filter-button{display:none}fieldset{border:0;padding:0;margin:0 0 23px;min-width:0}legend,.select-filter label{font-size:11px;font-weight:500;color:#6a7662;padding:0;margin-bottom:9px;display:block;letter-spacing:.3px}.segmented{display:flex;border:1px solid #e2e4d9;border-radius:4px;padding:3px;background:#f3f4ed}.segmented button{flex:1;padding:5px 0;font-size:11px;border-radius:3px;min-height:32px}.segmented button.selected{background:#fffdf6;color:#48623c;box-shadow:0 1px 4px #2e4a2310}.select-filter{margin-bottom:20px}.select-filter select{width:100%;height:37px;padding:0 9px;border:1px solid #e0e3d8;background:#fcfcf6;border-radius:4px;font-size:11px;color:#7b8473}.theme-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.theme-chips button{font-size:10px;white-space:nowrap;background:#efefe7;padding:6px 3px;border-radius:3px;color:#89907e;min-height:32px}.theme-chips button:hover{background:#e2e8da}.theme-chips button.selected{background:#e1e8d7;color:#395736;box-shadow:inset 0 0 0 1px #bdcbb0}.filter-note{font-size:10px;line-height:1.9;color:#969b8b;margin-top:0}.aside-quote{margin-top:26px;border-top:1px solid var(--line);padding-top:23px}.aside-quote>span:first-child{font-size:10px;color:#a3a58e;letter-spacing:1.2px}.aside-quote p{font:15px/2 var(--serif);color:#7b8b6d;margin:10px 0 15px;letter-spacing:1px}.quote-line{display:block;width:25px;height:1px;background:#bfc7b3;margin-bottom:10px}.aside-quote small{font-size:10px;color:#a3a893}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;scroll-margin-top:24px;min-height:31px}.results-toolbar>div{display:flex;gap:10px;align-items:center}.results-toolbar h3{margin:0;font-size:13px;font-weight:600}.results-toolbar #result-count{font-size:10px;background:#eceee5;padding:2px 7px;border-radius:3px;color:#829076;white-space:nowrap}.random-button{font-size:11px;color:#7d8973;display:flex;gap:6px;align-items:center;min-height:32px}.random-button>span{font-size:19px;color:#8a977e}.random-button:hover{color:var(--green)}.result-actions select{border:0;background:none;color:#7c8475;font-size:11px;width:92px;padding:5px 0 5px 10px;border-left:1px solid var(--line)}.poem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.poem-card{border:1px solid #e3e5db;border-radius:6px;background:var(--white);padding:17px 18px 13px;position:relative;display:flex;flex-direction:column;min-height:244px;transition:box-shadow .2s,border-color .2s,transform .2s;animation:arrive .3s both;animation-delay:calc(var(--card-index)*15ms)}.poem-card:hover{border-color:#b9c7ac;box-shadow:0 5px 15px #3c512512;transform:translateY(-2px)}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card-top{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:11px}.dynasty-label{font-size:9px;letter-spacing:.6px;color:#8d9983}.favorite-button{padding:5px;display:flex;align-items:center;justify-content:center;color:#b3b9aa;margin:-6px -6px -6px 0;width:34px;height:34px;border-radius:50%}.favorite-button svg{width:15px;height:15px}.favorite-button:hover{background:#f3eee4;color:var(--rust)}.favorite-button.is-favorite{color:var(--rust)}.poem-card h4{font:19px/1.6 var(--serif);font-weight:600;margin:0 0 4px;letter-spacing:.6px;overflow-wrap:anywhere}.poem-title-button{padding:0;text-align:left;font:inherit;letter-spacing:inherit;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.poem-title-button:hover{color:#6b7c57}.card-author{font-size:10px;color:#989e8e;margin:0 0 15px}.card-verses{margin-bottom:21px;min-height:47px}.card-verses p{font:13px/2 var(--serif);color:#6d7965;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.5px}.card-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:6px;border-top:1px solid #f0f0e7;padding-top:10px}.card-bottom>div{display:flex;gap:4px;min-width:0;overflow:hidden}.poem-tag{font-size:9px;color:#8c967e;background:#f2f2e9;border-radius:2px;padding:2px 5px;white-space:nowrap}.read-link{font-size:9px;color:#7a8a6b;white-space:nowrap;padding:5px 0;min-height:28px}.read-link span{margin-left:3px}.read-link:hover{color:var(--green)}.active-filters{display:flex;flex-wrap:wrap;gap:7px}.active-filters:not(:empty){margin-bottom:15px}.active-filters button{font-size:10px;background:#e8ecdf;border:1px solid #d9e0cd;color:#677a56;border-radius:4px;padding:5px 8px;display:flex;align-items:center;gap:12px}.active-filters button span{font-size:15px}.pagination{display:flex;justify-content:center;gap:7px;align-items:center;margin:28px 0 14px;flex-wrap:wrap}.pagination:empty{margin:0}.pagination button{border:1px solid #e2e5d9;background:#fffef7;width:31px;height:31px;border-radius:3px;font-size:11px;color:#859076}.pagination button.current{background:var(--green);color:white;border-color:var(--green)}.pagination button:not(:disabled):hover{border-color:#9aaa89}.pagination>span{font-size:10px;color:#9ca48e;padding:0 2px}.pagination .page-total{margin-left:8px}.results-footnote{font:11px var(--serif);text-align:center;letter-spacing:1px;color:#a4aa97;margin-top:26px}.empty-state,.loading-state{grid-column:1/-1;min-height:340px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed #d7decc;border-radius:6px;text-align:center;padding:30px}.empty-state h3{font:22px var(--serif);margin-bottom:0}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:24px}.empty-icon{font:40px var(--serif);color:#a5b097}.loading-state{font-size:13px;color:var(--muted)}.loading-dot{width:20px;height:20px;border:2px solid #dee5d5;border-top-color:var(--green);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{border-top:1px solid var(--line);padding:26px 0;width:min(1280px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:#9ca28f}.footer-brand{display:flex;align-items:center;gap:8px;font:15px var(--serif);color:#7a886b}.footer-brand>span:last-child{font:10px var(--sans);margin-left:12px;color:#a5aa99}footer p{margin:0}footer button{font-size:10px;color:#8b9978;margin-left:15px;padding:5px 0}.dialog-open{overflow:hidden}dialog{color:var(--ink);padding:0;border:1px solid #e1e4d7;border-radius:10px;background:var(--paper);width:min(750px,calc(100% - 40px));max-height:90dvh;box-shadow:0 20px 100px #14281d33;overscroll-behavior:contain}dialog::backdrop{background:#142a2299;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 26px}.dialog-brand{font-size:11px;color:#929981;display:flex;gap:8px;align-items:center;letter-spacing:1px}.close-button{width:36px;height:36px;border-radius:50%;font:26px/1 var(--sans);color:#7e8971}.close-button:hover{background:#e9ecdf}.detail-heading{text-align:center;padding:33px 30px 16px}.detail-kicker{color:#859473;font-size:11px;letter-spacing:2px}.detail-heading h2{font:29px/1.6 var(--serif);font-weight:600;margin:10px auto;max-width:600px;overflow-wrap:anywhere;letter-spacing:2px}.detail-heading p{font-size:13px;color:#89937b;margin:5px 0 10px}.detail-tabs{display:flex;gap:28px;justify-content:center;border-bottom:1px solid var(--line);margin:0 40px}.detail-tabs button{font-size:12px;padding:12px 7px;position:relative;color:#8a927e}.detail-tabs button.selected{color:var(--green);font-weight:600}.detail-tabs button.selected:after{content:"";height:2px;background:var(--green);position:absolute;bottom:-1px;left:0;right:0}.reading-panel{padding:30px 40px 24px;min-height:190px}.detail-verses{text-align:center;font:22px/2.3 var(--serif);letter-spacing:1.4px;overflow-wrap:anywhere}.detail-verses p{margin:0 0 5px}.ci-verses{font-size:20px;line-height:2.2;max-width:580px;margin:0 auto}.detail-tools{display:flex;justify-content:center;gap:12px;margin:0 25px 30px;flex-wrap:wrap}.detail-tools button,.backup-actions button{border:1px solid #dae0ce;background:#fdfdf6;border-radius:4px;padding:8px 13px;font-size:11px;color:#6b7e59;min-height:38px;display:flex;align-items:center;gap:7px}.detail-tools button[hidden]{display:none}.detail-tools button:hover,.backup-actions button:hover{background:#e9eedf}.detail-tools svg{height:13px;width:13px}.detail-tools button[aria-pressed=true]{color:var(--rust)}.detail-meta{margin:0 40px 26px;border-top:1px solid var(--line);padding-top:20px}.detail-meta>div{display:flex;gap:6px;flex-wrap:wrap}.detail-meta .poem-tag{font-size:10px}.detail-meta>p{font-size:10px;color:#979e89;line-height:1.8}.detail-meta details{margin-top:15px;font-size:10px;color:#8e9980}.detail-meta summary{cursor:pointer;color:#78886a}.detail-meta details a{display:block;text-decoration:underline;text-underline-offset:3px;margin:7px 0;overflow-wrap:anywhere}.detail-meta code{font-size:10px;color:#939a88;display:block;margin-top:9px}.detail-navigation{background:#f0f2e8;padding:14px 25px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.detail-navigation>span{font:12px var(--serif);color:#a0a88e}.detail-navigation button{font-size:11px;color:#728361;min-height:32px}.reading-note,.no-notes{font-size:14px;line-height:2.2;color:#718160;padding:0 10px}.note-label{font:17px var(--serif);color:#546b43}.reading-note a{font-size:10px;text-decoration:underline}.reading-note>p{white-space:pre-line}.no-notes{text-align:center;padding:25px 0}.no-notes p{font-size:12px}.recite-hint{text-align:center;font-size:11px;color:#929c83;margin:0 0 20px}.recite-lines{display:grid;gap:8px;margin-bottom:17px}.recite-line{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:51px;background:#eef1e4;border:1px dashed #d6dec7;border-radius:4px;font:15px/1.9 var(--serif);padding:10px 15px;text-align:left}.recite-line>span:nth-child(2){flex:1;overflow-wrap:anywhere}.recite-line:not(.revealed)>span:nth-child(2){font:12px var(--sans);color:#a0ab91;letter-spacing:2px}.recite-line.revealed{background:#fdfdf7;border-style:solid;color:#5b7350}.recite-number{font:10px var(--sans);color:#9ba78a}.source-text-hint{font-size:10px;color:#9ba58f;text-align:center;margin-top:20px}.about-content>.eyebrow{margin:28px 35px 10px}.about-content>h2{font:26px/1.6 var(--serif);margin:0 35px 15px}.about-content>p,.about-content>ul{font-size:12px;color:#89947a;line-height:2;margin:12px 35px}.about-content>ul{padding-left:18px}.about-content>h3{margin:25px 35px 10px;font:18px var(--serif)}.about-content a{text-decoration:underline;text-underline-offset:3px;color:#537242}.about-stats{margin:25px 35px;display:grid;grid-template-columns:repeat(3,1fr);background:#edf0e4;border-radius:5px;padding:15px;gap:10px}.about-stats div{text-align:center}.about-stats strong{display:block;font:30px/1.4 var(--serif);color:#516c42}.about-stats span{font-size:10px;color:#98a184}.version-info{overflow-wrap:anywhere}.version-info code{font-size:10px}.about-content>.about-closing{font:16px var(--serif);text-align:center;margin:35px 20px}.backup-actions{display:flex;gap:10px;margin:15px 35px}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,15px);background:#284a3cf0;color:#fffcf1;padding:12px 23px;border-radius:5px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;z-index:20;max-width:calc(100% - 32px);text-align:center;box-shadow:0 3px 15px #17351b25}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.hero{min-height:468px}.hero h1{font-size:47px}.hero-art{height:380px}.poem-card{min-height:260px}.card-verses p{font-size:14px}}
@media(max-width:1150px){.site-header,main,footer{width:calc(100% - 60px)}.brand-desc{display:none}.site-header nav{gap:24px}.hero{gap:5px;min-height:410px}.hero h1{font-size:36px}.hero-art{height:325px}.art-poem{right:36%;top:30px}.art-poem p{font-size:20px}.art-seal{right:12%}.poem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-layout{gap:25px;grid-template-columns:190px minmax(0,1fr)}.filters{padding-right:20px}.poem-card{min-height:240px}.card-verses p{font-size:14px}.hero-description{font-size:12px}.art-label{right:10px;font-size:9px}}
@media(max-width:800px){.site-header,main,footer{width:calc(100% - 40px)}.site-header{height:80px;gap:20px}.site-header nav{gap:20px}.local-badge{display:none}.hero h1{font-size:31px;letter-spacing:2px}.hero{min-height:365px;padding-top:25px;padding-bottom:25px}.hero-art{height:270px}.art-poem{top:20px;right:26%}.art-poem p{font-size:17px;letter-spacing:7px}.art-poem>span{font-size:9px}.art-label{display:none}.hero-description{font-size:11px;letter-spacing:0}.hero-caption{font-size:10px;margin-top:17px}.hero .eyebrow{font-size:9px;letter-spacing:1.8px}.art-seal{right:3%}.library-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.filters{padding-right:16px}.theme-chips{gap:4px}.section-heading h2{font-size:23px}.section-heading>p{font-size:10px}.results-toolbar{align-items:flex-start;gap:5px}.results-toolbar>div{gap:6px}.random-button{font-size:10px}.result-actions select{width:79px;font-size:10px}.poem-card{padding:14px 13px 10px;min-height:230px}.poem-card h4{font-size:18px}.card-verses p{font-size:12px}.poem-grid{gap:12px}.card-bottom{flex-wrap:wrap;gap:1px}.card-author{margin-bottom:12px}footer{flex-wrap:wrap;gap:12px}.footer-brand>span:last-child{margin-left:5px}}
@media(max-width:600px){html{scroll-padding-top:10px}.site-header,main,footer{width:calc(100% - 32px)}.site-header{height:auto;min-height:76px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:15px;padding-bottom:0}.brand{gap:8px;margin-bottom:14px}.brand-seal{width:33px;height:36px;font-size:24px;line-height:36px}.brand-name{font-size:23px;letter-spacing:3px}.brand-name>span{font-size:7px;margin-top:5px}.site-header nav{gap:20px;align-self:center;margin-left:auto;min-height:55px;margin-top:-5px}.nav-button{font-size:12px;white-space:nowrap}.nav-button>span{display:none}.nav-button.active:after{bottom:3px}.hero{position:relative;display:block;min-height:333px;padding-top:30px;padding-bottom:24px;overflow:hidden}.hero-copy{position:relative;z-index:1;pointer-events:none}.hero-copy a{pointer-events:auto}.hero h1{font-size:30px;letter-spacing:1.6px;line-height:1.5;margin-bottom:13px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:13px}.hero-description{font-size:10px;line-height:2.1;color:#7d8774;margin-bottom:19px}.hero .primary-button{padding:9px 15px;font-size:11px;gap:26px;min-height:41px}.hero-caption{font-size:9px;letter-spacing:0;margin-top:19px}.hero-caption .tiny-seal{width:15px;height:17px;font-size:12px}.hero-art{position:absolute;right:-91px;bottom:5px;width:300px;height:300px;opacity:.6;z-index:0;border-radius:0;background:none}.art-poem,.art-seal{display:none}.landscape{opacity:.65}.library{padding-top:23px;padding-bottom:26px;scroll-margin-top:10px}.section-heading{margin-bottom:18px;gap:4px;align-items:flex-start}.section-heading h2{font-size:21px;letter-spacing:1px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.section-heading>p{font-size:9px;max-width:110px;white-space:normal;text-align:right;padding-top:9px;line-height:1.9;margin-top:0}.section-heading strong{font-size:15px}.section-heading>p span{margin:0 3px}.search-bar{height:52px;padding-left:14px;padding-right:5px}.search-icon{width:13px;height:13px;margin-right:10px}.search-bar input{font-size:12px;padding-left:0}.search-bar input::placeholder{letter-spacing:0;font-size:11px}.search-bar select{width:79px;font-size:10px;padding:3px 4px;margin-right:5px}.search-submit{height:40px;padding:0 15px;gap:0;font-size:12px}.search-submit span{display:none}.popular-searches{gap:8px;flex-wrap:wrap;margin:10px 0 19px;font-size:9px}.popular-searches>button{font-size:9px;padding:4px 8px}.search-hint{display:none}.library-layout{display:block}.filters{border:1px solid var(--line);border-radius:5px;background:#f0f2e8;padding:0 13px;margin-bottom:19px}.filter-heading{margin:0;min-height:47px;gap:15px}.filter-heading h3{font-size:11px}.filter-heading .text-button{margin-left:auto;font-size:10px}.mobile-filter-button{display:block;font-size:10px;color:#718265;min-height:40px;padding-right:0}.filters #filter-content{display:none}.filters.expanded #filter-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 17px;border-top:1px solid #e0e5d5;padding-top:14px}.filters fieldset,.filters .select-filter{margin:0;min-width:0}.filters fieldset:nth-of-type(2){grid-column:1/-1}.theme-chips{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.theme-chips button{min-height:34px}.filters .filter-note{grid-column:1/-1;margin:0 0 13px;font-size:10px}.aside-quote{display:none}.results-toolbar{align-items:center;margin-bottom:14px;gap:5px}.results-toolbar h3{font-size:12px}.results-toolbar #result-count{font-size:9px;padding:1px 5px}.result-actions{gap:8px!important}.result-actions select{width:83px;font-size:10px;padding-left:7px}.random-button{font-size:10px;min-height:35px}.random-button>span{font-size:17px}.poem-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.poem-card{min-height:232px;padding:13px 12px 10px}.card-top{margin-bottom:11px}.dynasty-label{font-size:8px;letter-spacing:0}.favorite-button{width:30px;height:30px;margin-right:-6px}.favorite-button svg{width:14px;height:14px}.poem-card h4{font-size:18px;letter-spacing:.3px;margin-bottom:4px;line-height:1.5}.card-author{font-size:9px;margin-bottom:14px}.card-verses{margin-bottom:15px;min-height:43px}.card-verses p{font-size:12px;line-height:1.9;letter-spacing:0}.poem-tag{font-size:8px;padding:2px 4px}.card-bottom{padding-top:8px;gap:4px}.card-bottom>div{max-width:100%}.read-link{font-size:8px}.results-footnote{font-size:9px;line-height:2;letter-spacing:.5px}.pagination{gap:5px;margin-top:22px}.pagination button{width:33px;height:35px}.pagination .page-total{display:none}.active-filters button{font-size:9px;gap:9px}.empty-state,.loading-state{min-height:290px;padding:20px}.empty-state h3{font-size:19px}.empty-state p{font-size:11px}.empty-state .primary-button{font-size:12px}footer{padding:20px 0 24px;gap:10px;font-size:9px}.footer-brand{font-size:14px}.footer-brand>span:last-child{font-size:9px}footer p{font-size:9px;line-height:2}footer button{font-size:9px;margin-left:5px}dialog{width:calc(100% - 20px);max-height:94dvh;border-radius:8px}.dialog-top{padding:10px 16px}.dialog-brand{font-size:10px}.detail-heading{padding:25px 20px 11px}.detail-heading h2{font-size:25px;letter-spacing:1px}.detail-heading p{font-size:12px}.detail-kicker{font-size:10px}.detail-tabs{margin:0 20px;gap:26px}.detail-tabs button{padding:12px 8px;font-size:12px}.reading-panel{padding:25px 18px 21px}.detail-verses{font-size:19px;letter-spacing:.7px;line-height:2.4}.ci-verses{font-size:18px;line-height:2.1}.detail-tools{margin-bottom:24px;gap:8px}.detail-tools button{font-size:10px;padding:9px 11px}.detail-meta{margin:0 20px 20px}.detail-navigation{padding:12px 16px;font-size:10px}.detail-navigation>span{font-size:10px;letter-spacing:0}.detail-navigation button{font-size:10px}.recite-line{padding:11px 10px;gap:9px;font-size:15px}.recite-line:not(.revealed)>span:nth-child(2){font-size:11px;letter-spacing:1px}.reading-note,.no-notes{font-size:13px;padding-left:4px;padding-right:4px}.about-content>h2{font-size:23px;margin-left:22px;margin-right:22px}.about-content>.eyebrow{margin-left:22px;margin-right:22px}.about-content>p,.about-content>ul{margin-left:22px;margin-right:22px;font-size:11px}.about-content>h3{margin-left:22px;margin-right:22px;font-size:17px}.about-stats{margin:22px;padding:14px 5px}.about-stats strong{font-size:28px}.backup-actions{margin-left:22px;margin-right:22px}.toast{bottom:20px;padding:11px 18px;font-size:11px;min-width:180px}}
@media(max-width:360px){.site-header nav{gap:14px}.nav-button{font-size:11px}.search-bar select{width:69px;font-size:9px}.search-submit{padding:0 12px}.card-bottom{align-items:flex-start;flex-direction:column}.poem-card{min-height:250px}.hero h1{font-size:28px}.result-actions{gap:5px!important}.result-actions select{width:73px}.theme-chips{grid-template-columns:repeat(4,minmax(0,1fr))}.detail-verses{font-size:17px}.detail-navigation>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.variant-label{font:9px/1.4 var(--sans);display:inline-block;vertical-align:middle;margin-left:6px;border:1px solid #d8dfcb;color:#8c987d;padding:1px 4px;border-radius:2px;letter-spacing:0}.detail-meta .attribution-note{background:#f1ece0;color:#94785f;border-left:2px solid #cbb393;padding:8px 10px;line-height:1.9}
@media(max-width:600px){.close-button{width:44px;height:44px}.favorite-button{width:40px;height:40px;margin-top:-9px;margin-bottom:-9px;margin-right:-9px}.theme-chips button{min-height:38px}.read-link{min-height:34px}.search-bar input{font-size:16px}.search-bar input::placeholder{font-size:11px}.recite-line{min-height:55px}}
/* Grade reading and local phonetic aids */
.grade-section{margin:-3px 0 27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.grade-section-heading{display:flex;justify-content:space-between;font-size:11px;color:#6d7d61;margin-bottom:11px;gap:10px}.grade-section-heading>span:last-child{font-size:10px;color:#97a087}.grade-shortcuts{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 7px;scrollbar-width:thin;scrollbar-color:#d2dbc7 transparent}.grade-shortcuts button{flex-shrink:0;font-size:11px;background:#eeefe6;color:#7c8970;border-radius:4px;padding:8px 13px;min-height:38px;display:flex;align-items:center;gap:5px;border:1px solid transparent}.grade-shortcuts button.selected{background:var(--green);color:#fffdf1}.grade-shortcuts button small{font-size:8px;line-height:1.5;padding:1px 4px;border-radius:2px;border:1px solid #b3bea5;opacity:.8}.grade-shortcuts button:hover:not(.selected){background:#e1e7d8}.grade-reading-note{font-size:11px;line-height:1.9;color:#859475;border-left:2px solid #c7d3ba;padding-left:10px;margin:-3px 0 17px}.grade-reading-note[hidden]{display:none}.grade-tag{color:#70865b;background:#eaf0df}.pinyin-toggle{display:flex;align-items:center;gap:7px;min-height:34px;font-size:10px;color:#7b8a6c;padding:4px}.pinyin-toggle i{position:relative;display:block;width:25px;height:14px;border-radius:12px;background:#d4dbcc;transition:background .15s}.pinyin-toggle i:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .15s}.pinyin-toggle[aria-checked=true] i{background:#6b8a57}.pinyin-toggle[aria-checked=true] i:before{transform:translateX(11px)}ruby{ruby-align:center;ruby-position:over}rt{font-family:var(--sans);font-size:.49em;line-height:1.2;font-weight:400;color:#879b72;letter-spacing:0;text-align:center}.verse-punctuation{letter-spacing:0}.pinyin-card{min-height:320px}.pinyin-card h4{line-height:2.4;margin-top:3px}.pinyin-card .poem-title-button{display:block;overflow:visible}.pinyin-card .card-author{line-height:2.4;margin-top:5px;margin-bottom:16px;font-size:12px}.pinyin-card .card-author rt{font-size:8px}.pinyin-card .card-verses p{white-space:normal;overflow:visible;text-overflow:clip;line-height:3;font-size:16px;letter-spacing:1px}.pinyin-card .card-verses rt{font-size:9px}.detail-heading.has-pinyin h2{line-height:2.3;padding-top:12px}.detail-heading.has-pinyin>p{font-size:15px;line-height:2.8}.detail-heading.has-pinyin>p rt{font-size:10px}.detail-verses.has-pinyin{font-size:25px;line-height:3.1;letter-spacing:1.2px}.detail-verses.has-pinyin p{margin-bottom:11px}.detail-verses.has-pinyin rt{font-size:11px}.recite-lines.has-pinyin .revealed{line-height:3;padding-top:17px}.recite-lines.has-pinyin rt{font-size:10px}.pinyin-convention{text-align:center;font-size:10px;color:#9aa58c;margin-top:20px}.detail-grade-tags{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:9px}.detail-grade-tags a{font-size:10px;line-height:1.8;padding:3px 8px;color:#7d9069;background:#eaf0df;border-radius:3px}.detail-grade-tags a:hover{background:#dce7cd}
@media(max-width:900px){.results-toolbar{flex-wrap:wrap}.results-toolbar .result-actions{margin-left:auto}.grade-shortcuts{gap:6px}.grade-shortcuts button{padding:8px 11px}.pinyin-card .card-verses p{font-size:15px}}
@media(max-width:600px){.grade-section{padding:13px 0 7px;margin-bottom:20px}.grade-section-heading{font-size:10px;margin-bottom:9px}.grade-section-heading>span:last-child{font-size:9px}.grade-shortcuts button{min-height:40px;padding:8px 12px;font-size:11px}.grade-shortcuts button small{font-size:8px}.results-toolbar{row-gap:8px}.results-toolbar .result-actions{gap:7px!important}.pinyin-toggle{font-size:9px;gap:4px;min-height:38px}.pinyin-toggle i{width:22px;height:13px}.pinyin-toggle i:before{width:9px;height:9px}.pinyin-toggle[aria-checked=true] i:before{transform:translateX(9px)}.grade-reading-note{font-size:10px;line-height:1.9;margin:0 0 15px}.poem-grid.reading-aid-grid{grid-template-columns:minmax(0,1fr)}.poem-grid.reading-aid-grid .poem-card{padding:18px 23px 12px;min-height:280px}.poem-grid.reading-aid-grid h4{font-size:24px;margin-top:0}.poem-grid.reading-aid-grid .card-author{font-size:13px;margin-top:5px}.poem-grid.reading-aid-grid .card-verses p{font-size:20px;letter-spacing:1.2px;line-height:2.9}.poem-grid.reading-aid-grid .card-verses rt{font-size:10px}.poem-grid.reading-aid-grid .card-verses{margin-bottom:15px}.poem-grid.reading-aid-grid .poem-tag{font-size:10px}.poem-grid.reading-aid-grid .read-link{font-size:10px}.detail-verses.has-pinyin{font-size:22px;line-height:3.1;letter-spacing:.7px}.detail-verses.has-pinyin rt{font-size:11px}.pinyin-card .card-verses p{font-size:14px}.pinyin-card{min-height:315px}.detail-heading.has-pinyin h2{font-size:25px}.recite-lines.has-pinyin .revealed{line-height:3.5}.grade-shortcuts button:focus-visible{outline-offset:-2px}}
ruby{margin-inline:.13em}.verse-clause{display:inline-block;white-space:nowrap;max-width:100%}.verse-clause+.verse-clause{margin-inline-start:.08em}.detail-heading .verse-clause{max-width:none}.detail-verses.has-pinyin p{line-height:3.5}.poem-title-button ruby{margin-inline:.09em}
@media(max-width:600px){.detail-verses.has-pinyin{font-size:21px}.detail-verses.has-pinyin rt{font-size:11px}.poem-grid.reading-aid-grid .card-verses p{font-size:19px;line-height:3.3}.pinyin-card:not(.reading-aid-grid .pinyin-card) .card-verses .verse-clause{white-space:normal}.detail-heading.has-pinyin h2{font-size:23px;overflow-wrap:anywhere}}
@media(max-width:600px){.poem-grid:not(.reading-aid-grid) .pinyin-card .card-verses .verse-clause{white-space:normal}}
/* Pre-generated narration: loaded only after the reader presses play. */
.poetry-audio{margin:22px 40px 0;padding:16px 18px 10px;border:1px solid #dce4d2;border-radius:7px;background:linear-gradient(120deg,#eef2e6,#f4f5ed)}.audio-main{display:flex;align-items:center;gap:12px}.audio-play{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:43px;height:43px;border-radius:50%;color:#fffef4;background:var(--green);transition:background .15s}.audio-play svg{width:22px;height:22px}.audio-play:hover{background:#244333}.audio-play:focus-visible{outline-offset:4px}.audio-information{flex:1;min-width:0}.audio-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.audio-heading strong{font:16px/1.7 var(--serif);font-weight:600;letter-spacing:.5px}.audio-heading>span:last-child{font-size:10px;color:#819470}.audio-information p{font-size:10px;color:#96a287;margin:2px 0 0;letter-spacing:.3px}.audio-repeat{font-size:10px;padding:7px 10px;border-radius:4px;border:1px solid #d6dfca;color:#8b9a7c;min-height:34px}.audio-repeat[aria-pressed=true]{background:#dce8ce;border-color:#bdcea8;color:#48683a}.audio-wave{display:flex;gap:2px;align-items:center;height:16px;color:#9aaa8a}.audio-wave i{display:block;width:2px;height:5px;border-radius:2px;background:currentColor}.audio-wave i:nth-child(2),.audio-wave i:nth-child(4){height:10px}.audio-wave i:nth-child(3){height:15px}.is-playing .audio-wave i{animation:voice-wave .8s ease-in-out infinite alternate}.is-playing .audio-wave i:nth-child(2n){animation-delay:-.3s}.is-playing .audio-wave i:nth-child(3n){animation-delay:-.6s}@keyframes voice-wave{to{transform:scaleY(.35)}}.is-loading .audio-play{opacity:.7}.audio-progress-row{display:flex;align-items:center;gap:10px;margin:15px 0 10px;font:10px/1 var(--sans);font-variant-numeric:tabular-nums;color:#8b997e}.audio-progress-row input{flex:1;width:0;min-width:0;cursor:pointer;appearance:none;-webkit-appearance:none;background:linear-gradient(to right,#6f8b5a var(--played,0%),#d6dfca var(--played,0%));height:3px;border-radius:5px;accent-color:var(--green)}.audio-progress-row input::-webkit-slider-thumb{appearance:none;width:11px;height:11px;border-radius:50%;background:#78945f;border:2px solid #f6f8ef;box-shadow:0 0 0 1px #a4b68c}.audio-progress-row input::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#78945f;border:2px solid #f6f8ef}.audio-progress-row input:disabled{cursor:default;opacity:.6}.audio-options{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.audio-options>div{display:flex;align-items:center;gap:5px}.audio-options label{font-size:9px;color:#97a38a}.audio-options select{font-size:10px;border:0;background:transparent;padding:5px 4px;color:#7c906c;max-width:135px;min-height:30px}.audio-restart{font-size:10px;color:#8c9c7c;padding:5px;min-height:30px;margin-left:auto}.audio-status{font-size:10px;color:#a26c51;margin:3px 0 0;min-height:0;line-height:1.8}.audio-status:empty{display:none}.audio-unavailable{margin:18px 40px 0;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;color:#9ba58f}.audio-unavailable p{margin:0}.detail-verses>p{border-radius:4px;transition:background .2s,color .2s}.detail-verses>p.audio-verse-active{background:#e8efdc;color:#3c6634}.audio-heading strong,.audio-description{overflow-wrap:anywhere}
@media(max-width:600px){.poetry-audio{margin:17px 20px 0;padding:13px 13px 9px}.audio-main{gap:10px}.audio-play{height:42px;width:42px}.audio-heading{gap:7px}.audio-heading strong{font-size:15px}.audio-heading>span:last-child{font-size:9px}.audio-information p{font-size:9px}.audio-repeat{font-size:10px;min-height:38px;padding:7px 9px}.audio-options{gap:12px}.audio-options select{min-height:35px;max-width:108px;font-size:10px}.audio-restart{min-height:35px;font-size:10px;padding-right:0}.audio-options label{font-size:9px}.audio-progress-row{gap:8px;margin:12px 0 7px}.audio-progress-row input{height:4px;min-height:4px}.audio-progress-row input::-webkit-slider-thumb{width:15px;height:15px}.audio-unavailable{margin-left:20px;margin-right:20px;font-size:9px}.detail-verses>p.audio-verse-active{background:#e5eed7}}
@media(prefers-reduced-motion:reduce){.is-playing .audio-wave i{animation:none}.detail-verses>p{transition:none}}
