:root{--color-bg:#fafaf8;--color-surface:#fff;--color-text:#1a1a1a;--color-text-secondary:#6b6b6b;--color-text-muted:#9a9a9a;--color-border:#e8e8e4;--color-accent:#d4958a;--color-accent-light:#f5e4e0;--color-accent-dark:#b87065;--font-sans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, sans-serif;--font-serif:"Noto Serif SC", "Songti SC", "SimSun", Georgia, serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:5rem;--max-width:1200px;--content-width:720px;--radius:2px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;font-size:16px}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.7}h1,h2,h3,h4{letter-spacing:.02em;font-weight:400;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}p{margin-bottom:var(--space-md)}a{color:var(--color-text);border-bottom:1px solid var(--color-border);text-decoration:none;transition:border-color .2s,color .2s}a:hover{color:var(--color-accent);border-color:var(--color-accent)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.content-container{max-width:var(--content-width);padding:0 var(--space-lg);margin:0 auto}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.header-inner{max-width:var(--max-width);padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.site-title{letter-spacing:.06em;color:var(--color-text);border-bottom:none;font-size:1.2rem;font-weight:400}.site-title:hover{color:var(--color-accent)}.site-nav{gap:var(--space-lg);display:flex}.site-nav a{color:var(--color-text-secondary);letter-spacing:.04em;padding:var(--space-xs) 0;border-bottom:none;font-size:.9rem;position:relative}.site-nav a:after{content:"";background:var(--color-accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:0;left:0}.site-nav a:hover:after,.site-nav a.active:after{width:100%}.site-nav a.active{color:var(--color-text)}.site-footer{margin-top:var(--space-2xl);padding:var(--space-xl) var(--space-lg);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:.85rem}.card-grid{gap:var(--space-lg);margin-top:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s;overflow:hidden}.card:hover{border-color:var(--color-accent);box-shadow:0 2px 12px #0000000a}.card a{border-bottom:none;display:block}.card-image{aspect-ratio:16/10;object-fit:cover;background:var(--color-border);width:100%}.card-image-placeholder{aspect-ratio:16/10;background:linear-gradient(135deg, var(--color-border), var(--color-accent-light));width:100%;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:2rem;display:flex}.card-body{padding:var(--space-md)}.card-title{margin-bottom:var(--space-xs);font-size:1.05rem;font-weight:400;line-height:1.4}.card-meta{color:var(--color-text-secondary);gap:var(--space-sm);flex-wrap:wrap;align-items:center;font-size:.85rem;display:flex}.card-meta-sep{color:var(--color-border)}.tag-list{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}.tag{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);letter-spacing:.02em;padding:2px 10px;font-size:.78rem;display:inline-block}.tag:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.filter-panel{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--space-lg);margin-bottom:var(--space-lg)}.filter-row{gap:var(--space-md);flex-wrap:wrap;align-items:flex-end;display:flex}.filter-group{gap:var(--space-xs);flex-direction:column;flex:none;min-width:150px;display:flex}.filter-group label{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.filter-group select,.filter-group input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);min-width:120px;padding:6px 10px;font-size:.9rem}.filter-group select:focus,.filter-group input:focus{border-color:var(--color-accent);outline:none}.btn-reset{border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:var(--radius);background:0 0;padding:6px 16px;font-size:.85rem;transition:all .2s}.btn-reset:hover{border-color:var(--color-accent);color:var(--color-accent)}.result-count{color:var(--color-text-secondary);margin-bottom:var(--space-md);font-size:.85rem}.detail-header{margin-bottom:var(--space-xl)}.detail-title{margin-bottom:var(--space-md);font-size:2rem}.detail-meta{gap:var(--space-md);color:var(--color-text-secondary);flex-wrap:wrap;font-size:.9rem;display:flex}.detail-meta-item{align-items:center;gap:var(--space-xs);display:flex}.detail-meta-label{color:var(--color-text-muted)}.detail-image{width:100%;margin-bottom:var(--space-lg);border:1px solid var(--color-border)}.detail-content{font-size:1rem;line-height:1.8}.detail-content h2{margin-top:var(--space-xl);margin-bottom:var(--space-md)}.detail-content p{margin-bottom:var(--space-md)}.related-section{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.related-section h3{margin-bottom:var(--space-md);color:var(--color-text-secondary);font-weight:400}.related-list{gap:var(--space-sm);flex-wrap:wrap;list-style:none;display:flex}.related-list li{font-size:.9rem}.prop-table{border-collapse:collapse;width:100%;margin:var(--space-md) 0}.prop-table th,.prop-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);font-size:.9rem}.prop-table th{color:var(--color-text-muted);width:40%;font-weight:400}.reading-path{letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);padding:2px 10px;font-size:.75rem;display:inline-block}.reading-path.beginner{color:#2e7d32;background:#e8f5e9}.reading-path.intermediate{color:#e65100;background:#fff3e0}.reading-path.advanced{color:#c62828;background:#fce4ec}.hero{padding:var(--space-2xl) 0;text-align:center}.hero-title{letter-spacing:.08em;margin-bottom:var(--space-md);font-size:2.5rem;font-weight:300}.hero-subtitle{color:var(--color-text-secondary);max-width:500px;margin:0 auto;font-size:1.1rem;font-weight:300}.hero-accent{color:var(--color-accent)}.home-section{margin-bottom:var(--space-2xl)}.home-section-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;display:flex}.home-section-header h2{letter-spacing:.06em;font-weight:300}.home-section-header a{color:var(--color-text-secondary);border-bottom:none;font-size:.85rem}.search-wrapper{max-width:640px;margin:0 auto}.search-input{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:1.1rem;font-family:var(--font-sans);background:var(--color-surface);margin-bottom:var(--space-lg);padding:12px 16px}.search-input:focus{border-color:var(--color-accent);outline:none}.pagination{justify-content:center;gap:var(--space-sm);margin-top:var(--space-xl);display:flex}.pagination a,.pagination span{border:1px solid var(--color-border);border-radius:var(--radius);padding:6px 14px;font-size:.85rem}.pagination a:hover{border-color:var(--color-accent);color:var(--color-accent)}.pagination .current{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-muted)}.empty-state p{font-size:1.1rem}@media (width<=768px){.header-inner{gap:var(--space-sm);flex-direction:column}.hero-title{font-size:1.8rem}.card-grid{grid-template-columns:1fr}.filter-row{flex-direction:column}.detail-title{font-size:1.5rem}}
