:root{--primary:#8b4513;--primary-light:#d4a574;--bg:#faf8f5;--bg-card:#fff;--text:#333;--text-light:#666;--border:#e8e0d5;--accent:#c9302c}*{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer;-webkit-appearance:none;-webkit-tap-highlight-color:#0000001a}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Noto Serif SC,Source Han Serif CN,STSong,serif;line-height:1.8}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:linear-gradient(135deg,var(--bg-card)0%,var(--bg)100%);border-bottom:1px solid var(--border);z-index:100;padding:15px 0;position:sticky;top:0;box-shadow:0 2px 10px #0000000d}.header .container{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--primary);letter-spacing:.1em;font-size:1.5rem;font-weight:600}.nav{gap:25px;display:flex}.nav-link{color:var(--text);padding:5px 0;font-size:.95rem;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active{color:var(--primary)}.nav-link:after{content:"";background:var(--primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.footer{background:var(--bg-card);border-top:1px solid var(--border);text-align:center;color:var(--text-light);margin-top:60px;padding:30px 0;font-size:.9rem}.btn{background:linear-gradient(135deg,var(--primary)0%,sienna 100%);color:#fff;cursor:pointer;border:none;border-radius:25px;padding:12px 28px;font-family:inherit;font-size:.95rem;transition:all .3s;box-shadow:0 4px 15px #8b45134d}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b451366}.btn-outline{border:1px solid var(--primary);color:var(--primary);box-shadow:none;background:0 0}.btn-outline:hover{background:var(--primary);color:#fff}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:25px;transition:all .3s;box-shadow:0 4px 20px #0000000f}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.section-title{color:var(--primary);margin-bottom:20px;padding-left:15px;font-size:1.3rem;font-weight:500;position:relative}.section-title:before{content:"";background:linear-gradient(to bottom,var(--primary),var(--primary-light));border-radius:2px;width:4px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.poems-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.poem-card{background:var(--bg-card);cursor:pointer;border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .3s}.poem-card:hover{border-color:var(--primary-light);transform:translateY(-4px);box-shadow:0 12px 30px #0000001a}.poem-card .title{color:var(--primary);margin-bottom:8px;font-size:1.1rem;font-weight:500}.poem-card .meta{color:var(--text-light);gap:10px;margin-bottom:12px;font-size:.85rem;display:flex}.poem-card .meta .dynasty{background:var(--bg);border-radius:4px;padding:2px 8px}.poem-card .content{color:var(--text);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.8;display:-webkit-box;overflow:hidden}.toast{color:#fff;opacity:0;z-index:10000;pointer-events:none;background:#000c;border-radius:25px;padding:12px 24px;font-size:.9rem;transition:all .3s;position:fixed;bottom:100px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.back-to-top{background:var(--primary);color:#fff;cursor:pointer;opacity:0;visibility:hidden;z-index:1000;border:none;border-radius:50%;width:45px;height:45px;font-size:1.2rem;transition:all .3s;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 15px #8b451366}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{transform:translateY(-3px)}.loading{color:var(--text-light);justify-content:center;align-items:center;padding:60px 0;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-light);padding:60px 20px}@media (max-width:768px){.header .container{flex-direction:column;gap:10px}.nav{gap:15px}.poems-grid{grid-template-columns:1fr}.container{padding:0 15px}}
