:root{--font-display: "ZCOOL XiaoWei", "Noto Serif SC", "Songti SC", serif;--font-body: "Noto Serif SC", "Songti SC", "SimSun", serif;--text-xs: clamp(.8rem, .74rem + .28vw, .92rem);--text-sm: clamp(.94rem, .88rem + .3vw, 1.06rem);--text-base: clamp(1.06rem, .98rem + .38vw, 1.22rem);--text-lg: clamp(1.22rem, 1.08rem + .62vw, 1.52rem);--text-xl: clamp(1.58rem, 1.24rem + 1.15vw, 2.18rem);--text-2xl: clamp(2rem, 1.4rem + 2.15vw, 3.2rem);--text-3xl: clamp(2.45rem, 1.2rem + 3.8vw, 4.8rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--transition: .2s ease;--sidebar-w: 260px;--color-bg: #f5f0e8;--color-surface: #faf6ee;--color-surface-2: #efe9dd;--color-border: #d8cdb8;--color-border-light: #e8dece;--color-text: #2c2416;--color-text-muted: #6b5d4a;--color-text-faint: #a89a84;--color-accent: #8b4513;--color-accent-light: #c2956a;--color-ruby: #9e3636;--color-seal: #b22222;--color-highlight: rgba(139, 69, 19, .06);--color-overlay: rgba(44, 36, 22, .5);--shadow-sm: 0 1px 3px rgba(44, 36, 22, .06);--shadow-md: 0 4px 12px rgba(44, 36, 22, .08);--color-commentary: #f6f0e4;--color-commentary-border: #e0d4c0}[data-theme=dark]{--color-bg: #1a1612;--color-surface: #211c17;--color-surface-2: #2a241d;--color-border: #3d3428;--color-border-light: #322b21;--color-text: #d4c8b4;--color-text-muted: #8a7d6b;--color-text-faint: #5a5044;--color-accent: #c2956a;--color-accent-light: #8b6a42;--color-ruby: #d47070;--color-seal: #c44444;--color-highlight: rgba(194, 149, 106, .08);--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.3);--color-commentary: #2a2419;--color-commentary-border: #3d3428}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-bg: #1a1612;--color-surface: #211c17;--color-surface-2: #2a241d;--color-border: #3d3428;--color-border-light: #322b21;--color-text: #d4c8b4;--color-text-muted: #8a7d6b;--color-text-faint: #5a5044;--color-accent: #c2956a;--color-accent-light: #8b6a42;--color-ruby: #d47070;--color-seal: #c44444;--color-highlight: rgba(194, 149, 106, .08);--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0,0,0,.2);--shadow-md: 0 4px 12px rgba(0,0,0,.3);--color-commentary: #2a2419;--color-commentary-border: #3d3428}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);line-height:1.85;color:var(--color-text);background:var(--color-bg);overflow-x:hidden}button{cursor:pointer;background:none;border:none;font:inherit;color:inherit}a{color:inherit;text-decoration:none}input{font:inherit;color:inherit}::-moz-selection{background:#8b451326;color:var(--color-text)}::selection{background:#8b451326;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}#app{display:flex;min-height:100dvh}.sidebar{width:var(--sidebar-w);height:100dvh;position:fixed;left:0;top:0;background:var(--color-surface);border-right:1px solid var(--color-border-light);display:flex;flex-direction:column;z-index:100;overflow:hidden}.sidebar-header{padding:var(--space-6) var(--space-6) var(--space-3);text-align:center;border-bottom:1px solid var(--color-border-light)}.logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:.25em;color:var(--color-accent);cursor:pointer;transition:color var(--transition)}.logo:hover{color:var(--color-seal)}.logo-sub{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.5em;margin-top:var(--space-1)}.sidebar-search{padding:var(--space-3) var(--space-4)}.sidebar-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--text-xs);transition:border-color var(--transition)}.sidebar-search input::-moz-placeholder{color:var(--color-text-faint)}.sidebar-search input::placeholder{color:var(--color-text-faint)}.sidebar-search input:focus{border-color:var(--color-accent-light);outline:none}.sidebar-toc{flex:1;overflow-y:auto;padding:var(--space-2) 0;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.toc-section{margin-bottom:var(--space-1)}.toc-section-title{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition),background var(--transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc-section-title:hover{color:var(--color-accent);background:var(--color-highlight)}.toc-section-title .arrow{font-size:.6em;transition:transform var(--transition);color:var(--color-text-faint)}.toc-section-title.open .arrow{transform:rotate(90deg)}.toc-subsection{display:none}.toc-subsection.open{display:block}.toc-sub-title{padding:var(--space-1) var(--space-4) var(--space-1) var(--space-8);font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.1em}.toc-poem{display:block;padding:var(--space-1) var(--space-4) var(--space-1) var(--space-10);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toc-poem:hover{color:var(--color-accent);background:var(--color-highlight)}.toc-poem.active{color:var(--color-accent);background:var(--color-highlight);font-weight:500}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);text-align:center}.sidebar-footer p{font-size:.65rem;color:var(--color-text-faint)}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:48px;background:var(--color-surface);border-bottom:1px solid var(--color-border-light);z-index:90;align-items:center;padding:0 var(--space-3);gap:var(--space-3)}.mobile-title{flex:1;text-align:center;font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-accent);letter-spacing:.2em}.menu-btn,.theme-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:all var(--transition)}.menu-btn:hover,.theme-btn:hover{background:var(--color-highlight);color:var(--color-accent)}.overlay{display:none;position:fixed;inset:0;background:var(--color-overlay);z-index:99;opacity:0;transition:opacity .3s ease}.overlay.active{display:block;opacity:1}.main{margin-left:var(--sidebar-w);flex:1;min-height:100dvh}.view{display:none}.view.active{display:block}.home-content{max-width:640px;margin:0 auto;padding:var(--space-16) var(--space-6) var(--space-12);text-align:center}.home-seal{width:72px;height:72px;margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:2rem;color:var(--color-seal);border:2px solid var(--color-seal);border-radius:4px;transform:rotate(-3deg);opacity:.9}.home-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;letter-spacing:.4em;color:var(--color-text);margin-bottom:var(--space-2)}.home-subtitle{font-size:var(--text-sm);color:var(--color-text-faint);letter-spacing:1em;margin-bottom:var(--space-8)}.home-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-10);max-width:400px;margin-left:auto;margin-right:auto}.home-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-12)}.home-section-card{padding:var(--space-6) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);text-align:center}.home-section-card:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-section-card .card-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);letter-spacing:.15em;margin-bottom:var(--space-2)}.home-section-card .card-count{font-size:var(--text-xs);color:var(--color-text-faint)}.home-quote{margin-top:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--color-border-light)}.home-quote p{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;line-height:2}.home-quote cite{display:block;font-size:var(--text-xs);color:var(--color-text-faint);font-style:normal;margin-top:var(--space-2)}.section-content{max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-12)}.section-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;letter-spacing:.2em;text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.section-sub{margin-bottom:var(--space-6)}.section-sub-title{font-size:var(--text-sm);color:var(--color-text-faint);letter-spacing:.2em;margin-bottom:var(--space-3);padding-left:var(--space-1)}.section-grid{display:flex;flex-direction:column;gap:var(--space-8)}.section-poems{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2)}.section-poem-link{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--text-sm);color:var(--color-text-muted);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);letter-spacing:.05em}.section-poem-link:hover{color:var(--color-accent);border-color:var(--color-border-light);background:var(--color-highlight)}.poem-content{max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.poem-nav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);transition:color var(--transition);padding:var(--space-1) 0}.back-btn:hover{color:var(--color-accent)}.poem-position{font-size:var(--text-xs);color:var(--color-text-faint)}.poem-header{text-align:center;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-light)}.poem-section-label{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.3em;margin-bottom:var(--space-3)}.poem-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400;letter-spacing:.25em;color:var(--color-text)}.poem-body{margin-bottom:var(--space-8)}.stanza{margin-bottom:var(--space-6);text-align:center}.stanza:last-child{margin-bottom:0}.poem-line{font-size:var(--text-base);line-height:2.4;color:var(--color-text);letter-spacing:.08em}ruby{ruby-align:center}ruby rt{font-size:.5em;color:var(--color-ruby);font-family:var(--font-body);font-weight:300;letter-spacing:0}.poem-notes{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.poem-notes-title{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.3em;margin-bottom:var(--space-3);text-align:center}.poem-notes-text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:2;text-align:center;max-width:500px;margin:0 auto}.poem-nav-bottom{display:flex;justify-content:space-between;margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.nav-link{font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:color var(--transition);max-width:45%}.nav-link:hover{color:var(--color-accent)}.nav-link.prev{text-align:left}.nav-link.next{text-align:right;margin-left:auto}.nav-link .nav-label{font-size:.65rem;color:var(--color-text-faint);display:block}.nav-link .nav-title{letter-spacing:.1em}@media(max-width:768px){:root{--text-xs: clamp(.92rem, .86rem + .35vw, 1rem);--text-sm: clamp(1.02rem, .96rem + .45vw, 1.16rem);--text-base: clamp(1.16rem, 1.06rem + .7vw, 1.34rem);--text-lg: clamp(1.34rem, 1.18rem + 1vw, 1.72rem);--text-xl: clamp(1.78rem, 1.42rem + 1.9vw, 2.38rem);--text-2xl: clamp(2.12rem, 1.66rem + 2.4vw, 2.92rem)}body{line-height:1.95}.sidebar{transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);width:280px}.sidebar.open{transform:translate(0)}.mobile-header{display:flex}.main{margin-left:0;padding-top:48px}.home-content{padding:var(--space-10) var(--space-4) var(--space-8)}.home-seal{width:56px;height:56px;font-size:1.6rem}.poem-content,.section-content{padding-left:var(--space-4);padding-right:var(--space-4)}.poem-line{line-height:2.55}ruby rt{font-size:.56em}.section-poems{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}@media(min-width:769px){.sidebar-header{position:relative}.theme-btn.desktop-theme{position:absolute;top:var(--space-3);right:var(--space-3);width:28px;height:28px}}.sidebar-toc::-webkit-scrollbar{width:4px}.sidebar-toc::-webkit-scrollbar-track{background:transparent}.sidebar-toc::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.view.active{animation:fadeIn .3s ease}.poem-commentary{margin-bottom:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.poem-commentary:empty{display:none}.poem-commentary-title{font-size:var(--text-xs);color:var(--color-text-faint);letter-spacing:.3em;margin-bottom:var(--space-4);text-align:center}.poem-commentary-card{padding:var(--space-6);background:var(--color-commentary);border:1px solid var(--color-commentary-border);border-radius:var(--radius-md);position:relative}.poem-commentary-card:before{content:"“";position:absolute;top:var(--space-2);left:var(--space-4);font-size:2.5rem;color:var(--color-accent-light);opacity:.3;font-family:Georgia,serif;line-height:1}.poem-commentary-text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:2;text-align:justify;padding-top:var(--space-2)}.poem-commentary-sig{margin-top:var(--space-4);text-align:right;font-size:var(--text-xs);color:var(--color-text-faint);font-style:italic}@media print{.sidebar,.mobile-header,.back-btn,.poem-nav-bottom{display:none!important}.main{margin-left:0!important}.poem-line{font-size:14pt}}.toc-section summary{list-style:none;cursor:pointer}.toc-section summary::-webkit-details-marker{display:none}.toc-section[open]>summary .arrow{transform:rotate(90deg)}.toc-sub-group{margin-bottom:var(--space-2)}.home-section-card{text-decoration:none}.home-section-card .card-name{color:var(--color-text)}.home-section-card:hover .card-name{color:var(--color-accent)}.section-sub+.section-sub{margin-top:var(--space-6)}.cc-prose{font-size:var(--text-base);line-height:2;color:var(--color-text);letter-spacing:.04em}.cc-prose h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:400;letter-spacing:.2em;color:var(--color-text);margin-top:var(--space-10);margin-bottom:var(--space-4);padding-top:var(--space-3);padding-bottom:var(--space-2);border-top:1px solid var(--color-border-light);text-align:center}.cc-prose h2:first-child{margin-top:0;border-top:none;padding-top:0}.cc-prose h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:400;letter-spacing:.15em;color:var(--color-accent);margin-top:var(--space-6);margin-bottom:var(--space-3)}.cc-prose h4{font-size:var(--text-sm);font-weight:500;letter-spacing:.1em;color:var(--color-text-muted);margin-top:var(--space-4);margin-bottom:var(--space-2)}.cc-prose p{margin-bottom:var(--space-4);text-align:justify;text-indent:2em}.cc-prose p:last-child{margin-bottom:0}.cc-prose ul,.cc-prose ol{padding-left:var(--space-8);margin-bottom:var(--space-4)}.cc-prose li{margin-bottom:var(--space-2)}.cc-prose blockquote{border-left:3px solid var(--color-accent-light);padding:var(--space-2) var(--space-4);margin:var(--space-4) 0;color:var(--color-text-muted);background:var(--color-highlight);font-style:italic}.cc-prose em{font-style:italic}.cc-prose strong{font-weight:600;color:var(--color-accent)}.cc-prose a{color:var(--color-accent);border-bottom:1px solid var(--color-border);transition:border-color var(--transition)}.cc-prose a:hover{border-bottom-color:var(--color-accent)}.cc-theme{--paper: var(--color-bg);--ink: var(--color-text);--muted: var(--color-text-muted);--accent: var(--color-accent);--gold: var(--color-accent-light);--border-strong: var(--color-border)}.cc-brand-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:1px solid var(--color-border-light);font-size:.7rem;color:var(--color-text-faint);letter-spacing:.15em}.cc-brand-bar a{display:inline-flex;align-items:center;gap:.4em;color:var(--color-text-muted);transition:color var(--transition)}.cc-brand-bar a:hover{color:var(--color-accent)}.cc-brand-bar .wenmai-logo{width:1.3em;height:1.3em}.cc-mini-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:.7rem;letter-spacing:.08em}.cc-mini-nav a{color:var(--color-text-faint);transition:color var(--transition)}.cc-mini-nav a:hover{color:var(--color-accent)}.cc-mini-nav .auth-status a{color:var(--color-text-faint);font-size:inherit;letter-spacing:inherit}.cc-mobile-brand{display:inline-flex;align-items:center;gap:.4em;color:var(--color-text-muted);font-size:.75rem;letter-spacing:.1em;margin-left:var(--space-1)}.cc-mobile-brand .wenmai-logo{width:1.4em;height:1.4em}.cc-mobile-brand:hover{color:var(--color-accent)}.cc-theme .search-palette__trigger{background:var(--color-surface);border-color:var(--color-border-light);color:var(--color-text-muted)}.cc-theme .search-palette__trigger:hover{border-color:var(--color-accent-light);color:var(--color-accent)}@media(max-width:768px){.cc-mini-nav{font-size:.78rem}.cc-mobile-brand span{display:none}}
