:root{--c-bg: #fafafa;--c-text: #1a1a1a;--c-muted: #6b7280;--radius: .5rem;--font-serif: "Source Han Serif SC", "Noto Serif CJK SC", serif;--font-sans: "Source Han Sans SC", "Noto Sans CJK SC", sans-serif}.theme-red{--c-accent: #b9524a;--c-accent2: #d97570;--c-bg: #fbf6f5;--c-tag: #f3e3e1}.theme-pink{--c-accent: #e18aa8;--c-accent2: #f0a8c0;--c-bg: #fdf5f8;--c-tag: #fae0eb}.theme-ink{--c-accent: #5b6a3b;--c-accent2: #7d8e58;--c-bg: #f7f8f4;--c-tag: #e3e7d8}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--c-accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;margin:0;color:var(--c-text)}body>header{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:20;box-shadow:0 1px 2px #00000008}body>header a{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--c-accent);text-decoration:none}body>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}body>header nav{display:flex;align-items:center;gap:.75rem}body>header nav a{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--c-muted)}body>header nav a:hover{color:var(--c-accent)}body>footer{padding:2rem 1rem 3rem;margin-top:3rem;text-align:center;color:var(--c-muted);font-size:.875rem;border-top:1px solid #eee}body>footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin-top:.5rem}body>footer nav strong{color:var(--c-text)}main{max-width:1080px;margin:0 auto;padding:1rem}.mobile-channel-nav{margin:-.25rem -1rem 1rem;padding:.5rem 0;background:#fff;border-bottom:1px solid #f0f0f0}.mobile-channel-nav .scroll-x{display:flex;gap:.5rem;overflow-x:auto;padding:0 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mobile-channel-nav .scroll-x::-webkit-scrollbar{display:none}.mobile-channel-nav .scroll-x a{flex:0 0 auto;padding:.35rem .85rem;border-radius:9999px;background:var(--c-tag);color:var(--c-accent);font-size:.875rem;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.mobile-channel-nav .scroll-x a.active,.mobile-channel-nav .scroll-x a:hover{background:var(--c-accent);color:#fff}nav.channels{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}nav.channels a{padding:.3rem .8rem;border-radius:9999px;background:var(--c-tag);color:var(--c-accent);font-size:.875rem}nav.channels a.active{background:var(--c-accent);color:#fff}.hot>h2,section>h2{font-size:1.125rem;margin:1.25rem 0 .75rem;padding-left:.6rem;border-left:3px solid var(--c-accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.novel-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 3px #0000000f;transition:transform .15s,box-shadow .15s}.novel-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.novel-card>a{display:block;padding:.75rem;text-decoration:none;color:inherit}.novel-card img,.novel-card .cover-placeholder{width:100%;aspect-ratio:3 / 4;-o-object-fit:cover;object-fit:cover;border-radius:calc(var(--radius) - 2px);margin-bottom:.5rem}.novel-card h3{font-family:var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.35;margin:0 0 .25rem;color:var(--c-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.novel-card .author{font-size:.75rem;color:var(--c-muted);margin:0 0 .25rem}.novel-card .intro{font-size:.8rem;color:var(--c-muted);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cover-placeholder{background:linear-gradient(135deg,var(--c-accent),var(--c-accent2));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.75rem;font-weight:700;letter-spacing:.05em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.topic-card{display:block;padding:1rem;background:#fff;border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}.topic-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.topic-card h3{font-size:1rem;margin:0 0 .5rem;color:var(--c-accent)}.topic-card p{font-size:.875rem;color:var(--c-muted);margin:0;line-height:1.5}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .7rem;border-radius:9999px;background:var(--c-tag);color:var(--c-accent);font-size:.8rem;text-decoration:none;transition:background .15s,color .15s}.tag-chip:hover{background:var(--c-accent);color:#fff;text-decoration:none}.tag-chip .count{font-size:.7rem;color:var(--c-muted);margin-left:.15rem}.action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.25rem;padding:.45rem .8rem;border:1px solid #e5e5e5;border-radius:var(--radius);background:#fff;color:var(--c-text);font:inherit;font-size:.875rem;line-height:1.2;cursor:pointer;text-decoration:none}.action-btn:hover{border-color:var(--c-accent);color:var(--c-accent);text-decoration:none}.action-btn.is-on{border-color:var(--c-accent);background:var(--c-tag);color:var(--c-accent)}.text-btn{border:0;background:transparent;color:var(--c-muted);cursor:pointer;font:inherit;font-size:.8rem}.text-btn:hover{color:var(--c-accent)}.local-page{max-width:760px;margin:1rem auto 0}.local-head{padding-bottom:1rem;border-bottom:1px solid #eee}.local-head h1{font-size:1.75rem}.local-head p{margin:.5rem 0 0;color:var(--c-muted)}.local-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.local-section-title h2{font-size:1.05rem;margin:0}.local-list{list-style:none;margin:.75rem 0 0;padding:0;border:1px solid #eee;border-radius:var(--radius);background:#fff;overflow:hidden}.local-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid #f2f2f2;color:inherit;text-decoration:none}.local-list li:last-child .local-list-item{border-bottom:0}.local-list-item strong,.local-list-item small{display:block}.local-list-item strong{font-size:.95rem;line-height:1.35}.local-list-item small{margin-top:.15rem;color:var(--c-muted);font-size:.78rem}.local-list-item em{color:var(--c-muted);font-style:normal}.local-empty{padding:1rem;text-align:center;color:var(--c-muted);font-size:.875rem}.local-panel{display:grid;gap:1rem;margin-top:1rem;padding:1rem;border:1px solid #eee;border-radius:var(--radius);background:#fff}.local-panel strong{overflow-wrap:anywhere;color:var(--c-accent)}article.reader{max-width:720px;margin:1.5rem auto;padding:1.5rem;background:#fff;border-radius:var(--radius);box-shadow:0 1px 3px #0000000d;font-family:var(--font-serif);font-size:1.05rem;line-height:1.95;color:#262626}article.reader h1{font-size:1.5rem;margin-bottom:1.25rem;text-align:center;border-bottom:1px solid #eee;padding-bottom:.75rem}article.reader p{margin:0 0 1em;text-indent:2em;word-break:break-word}.reader-extra{max-width:720px;margin:1rem auto;padding:0 1rem}.reader-extra:empty{display:none}.reader-nav{display:flex;justify-content:space-between;gap:1rem;max-width:720px;margin:1rem auto 2rem;padding:0 1rem}.reader-nav a{padding:.6rem 1.25rem;background:#fff;border:1px solid var(--c-accent2);border-radius:var(--radius);color:var(--c-accent);text-decoration:none;font-size:.9rem}.reader-nav a:hover{background:var(--c-accent);color:#fff;text-decoration:none}.meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--c-muted);margin:.5rem 0}.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.back{display:inline-block;margin:1rem 0;font-size:.875rem;color:var(--c-accent)}.error{padding:2rem;text-align:center;color:var(--c-muted)}@media(max-width:640px){main{padding:.75rem}body>header{align-items:flex-start}body>header nav{gap:.55rem}.grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.novel-card>a{padding:.5rem}.novel-card h3{font-size:.875rem}article.reader{padding:1rem;font-size:1rem}}
