:root{--jj-50:#f1f8f3;--jj-100:#ddefe4;--jj-200:#bcdfca;--jj-300:#8bc7a4;--jj-400:#46a973;--jj-500:#0f9950;--jj-600:#00803f;--jj-700:#063;--jj-800:#00512a;--jj-900:#00351b;--jj-accent:#090;--logo-leaf:#7abf00;--logo-pine:#0e8239;--ink-900:#16191a;--ink-800:#2b3033;--ink-700:#464c4f;--ink-600:#6b7376;--ink-400:#9aa0a3;--line-100:#f0f2f1;--line-200:#e6e9e8;--line-300:#d5dad8;--surface:#fff;--surface-sunken:#f7f9f8;--bg:#fafbfa;--serial:#063;--serial-bg:#ddefe4;--done:#35618e;--done-bg:#e6eef7;--rank-1:#b07d18;--rank-2:#71797f;--rank-3:#a1663c;--rank-1-bg:#fdf4e2;--rank-2-bg:#f1f3f4;--rank-3-bg:#f9eee6;--focus:#0b63c4;--font-sans:"PingFang SC", "HarmonyOS Sans SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans SC", system-ui, sans-serif;--font-serif:"Songti SC", "STSong", "Source Han Serif SC", "Noto Serif SC", "Times New Roman", serif;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.375rem;--lh-tight:1.35;--lh-body:1.75;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--shadow-sm:0 1px 2px #1018140f;--shadow-md:0 4px 14px #10181414;--shadow-lg:0 8px 28px #1018141f;--container:1280px;--header-h:68px;--tap:44px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--s-4))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--bg);color:var(--ink-700);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--ink-900);line-height:var(--lh-tight);margin:0;font-weight:650}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}a{color:var(--jj-700);text-underline-offset:3px;text-decoration-thickness:1px}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.container{width:100%;max-width:var(--container);padding-inline:var(--s-5);margin-inline:auto}.section{margin-top:var(--s-8)}.section__head{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-5);display:flex}.section__heading{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.section__title{font-family:var(--font-serif);font-size:var(--fs-2xl);letter-spacing:.02em;font-weight:700}.section__sub{color:var(--ink-600);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase}.section__note{color:var(--ink-600);font-size:var(--fs-sm)}.page-title{margin-top:var(--s-6);font-family:var(--font-serif);font-size:var(--fs-3xl);letter-spacing:.03em}.page-title__sub{margin-top:var(--s-1);color:var(--ink-600);font-family:var(--font-sans);font-size:var(--fs-sm);letter-spacing:.04em;font-weight:400;display:block}.notice{align-items:center;gap:var(--s-3) var(--s-5);margin-top:var(--s-5);padding:var(--s-4) var(--s-5);background:var(--jj-50);border:1px solid var(--jj-200);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.notice__zh{color:var(--jj-900);font-size:var(--fs-sm)}.notice__en{color:var(--ink-600);font-size:var(--fs-xs)}.notice__actions{gap:var(--s-2);flex-wrap:wrap;margin-left:auto;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);padding-inline:var(--s-4);border-radius:var(--r-sm);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;border:1px solid #0000;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn--primary{background:var(--jj-600);color:#fff}.btn--primary:hover{background:var(--jj-700)}.btn--secondary{background:var(--surface);border-color:var(--line-300);color:var(--ink-800)}.btn--secondary:hover{border-color:var(--jj-400);color:var(--jj-700)}.btn--saved{background:var(--jj-100);border-color:var(--jj-300);color:var(--jj-800)}.btn--saved:hover{background:var(--jj-200)}.btn--ghost{color:var(--ink-700);background:0 0}.btn--ghost:hover{background:var(--line-100);color:var(--ink-900)}.btn--sm{min-height:36px;padding-inline:var(--s-3);font-size:var(--fs-xs)}.btn--block{width:100%}.chip{padding:2px var(--s-2);border-radius:var(--r-sm);font-size:var(--fs-xs);white-space:nowrap;align-items:center;line-height:1.6;display:inline-flex}.chip--serial{background:var(--serial-bg);color:var(--serial)}.chip--done{background:var(--done-bg);color:var(--done)}.chip--tag{background:var(--line-100);color:var(--ink-600)}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--s-2);left:var(--s-2);z-index:100;padding:var(--s-2) var(--s-4);background:var(--jj-700);border-radius:var(--r-sm);color:#fff;font-size:var(--fs-sm);font-weight:600;text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.site-header{z-index:50;background:var(--surface);border-bottom:1px solid var(--line-200);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--s-5);min-height:var(--header-h);display:flex}.brand{align-items:center;gap:var(--s-3);flex:none;text-decoration:none;display:flex}.brand__mark{background:var(--jj-600);color:#fff;width:34px;height:34px;font-family:var(--font-serif);font-size:var(--fs-lg);border-radius:8px;place-items:center;font-weight:700;display:grid}.brand__text{flex-direction:column;line-height:1.2;display:flex}.brand__zh{color:var(--ink-900);font-family:var(--font-serif);font-size:var(--fs-lg);letter-spacing:.04em;font-weight:700}.brand__en{color:var(--ink-600);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.primary-nav{align-items:center;gap:var(--s-1);flex:none;display:flex}.nav-link{align-items:center;gap:var(--s-1);min-height:var(--tap);padding-inline:var(--s-3);border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-base);white-space:nowrap;cursor:pointer;background:0 0;border:0;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.nav-link:hover{background:var(--line-100);color:var(--ink-900)}.nav-link[aria-current=page]{color:var(--jj-700);font-weight:600}.nav-link[aria-expanded=true]{background:var(--jj-50);color:var(--jj-700)}.nav-link__caret{font-size:10px;transition:transform .15s}.nav-link[aria-expanded=true] .nav-link__caret{transform:rotate(180deg)}.mega{background:var(--surface);border-bottom:1px solid var(--line-200);box-shadow:var(--shadow-lg);position:absolute;top:100%;left:0;right:0}.mega__inner{gap:var(--s-4);padding-block:var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mega__item{min-height:var(--tap);padding:var(--s-3);border-radius:var(--r-sm);border:1px solid #0000;flex-direction:column;gap:2px;text-decoration:none;display:flex}.mega__item:hover{background:var(--jj-50);border-color:var(--jj-200)}.mega__name{color:var(--ink-900);font-size:var(--fs-base);font-weight:600}.mega__count{color:var(--ink-600);font-size:var(--fs-xs)}.search{flex:1;min-width:0;max-width:440px;position:relative}.search__field{align-items:center;gap:var(--s-2);height:var(--tap);padding-inline:var(--s-3);background:var(--surface-sunken);border:1px solid var(--line-300);border-radius:var(--r-pill);transition:border-color .15s,background-color .15s;display:flex}.search__field:focus-within{background:var(--surface);border-color:var(--jj-500);box-shadow:0 0 0 3px var(--jj-100)}.search__icon{color:var(--ink-600);flex:none}.search__input{min-width:0;color:var(--ink-900);font:inherit;font-size:var(--fs-sm);background:0 0;border:0;flex:1}.search__input:focus{outline:none}.search__input::placeholder{color:var(--ink-400)}.search__clear{border-radius:var(--r-pill);background:var(--line-200);width:28px;height:28px;color:var(--ink-700);cursor:pointer;border:0;flex:none;place-items:center;font-size:12px;display:grid}.search__clear:hover{background:var(--line-300)}.search__submit{height:32px;padding-inline:var(--s-4);border-radius:var(--r-pill);background:var(--jj-600);color:#fff;font-size:var(--fs-sm);cursor:pointer;border:0;flex:none;font-weight:600}.search__submit:hover{background:var(--jj-700)}.search__panel{top:calc(100% + var(--s-2));z-index:60;padding:var(--s-2);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:var(--shadow-lg);position:absolute;left:0;right:0}.search__group-label{padding:var(--s-2) var(--s-3);color:var(--ink-600);font-size:var(--fs-xs)}.search__result{align-items:center;gap:var(--s-3);width:100%;min-height:var(--tap);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.search__result:hover{background:var(--jj-50)}.search__result-title{color:var(--ink-900);font-size:var(--fs-sm);font-weight:600}.search__result-meta{color:var(--ink-600);font-size:var(--fs-xs)}.search__empty{padding:var(--s-4) var(--s-3);color:var(--ink-600);font-size:var(--fs-sm)}.search__hot{gap:var(--s-2);padding:var(--s-2) var(--s-3) var(--s-3);flex-wrap:wrap;display:flex}.search__hot-item{min-height:32px;padding:var(--s-1) var(--s-3);border:1px solid var(--line-200);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-700);font-size:var(--fs-xs);cursor:pointer}.search__hot-item:hover{border-color:var(--jj-300);background:var(--jj-50);color:var(--jj-700)}.header-actions{align-items:center;gap:var(--s-1);flex:none;margin-left:auto;display:flex}.icon-action{align-items:center;gap:var(--s-2);min-height:var(--tap);padding-inline:var(--s-3);border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer;background:0 0;border:0;text-decoration:none;display:inline-flex}.icon-action:hover{background:var(--line-100);color:var(--jj-700)}.icon-action__badge{border-radius:var(--r-pill);background:var(--jj-100);color:var(--jj-800);padding:0 6px;font-size:11px;font-weight:700}.account{flex:none;position:relative}.account__panel{top:calc(100% + var(--s-2));z-index:60;width:232px;padding:var(--s-3);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:var(--shadow-lg);position:absolute;right:0}.account__who{padding:var(--s-2) var(--s-2) var(--s-3);border-bottom:1px solid var(--line-100);margin-bottom:var(--s-2)}.account__name{color:var(--ink-900);font-size:var(--fs-sm);font-weight:600}.account__meta{color:var(--ink-600);font-size:var(--fs-xs)}.account__item{width:100%;min-height:40px;padding:var(--s-2) var(--s-2);border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-sm);text-align:left;cursor:pointer;background:0 0;border:0;line-height:24px;text-decoration:none;display:block}.account__item:hover{background:var(--line-100);color:var(--ink-900)}.avatar{border-radius:var(--r-pill);background:var(--jj-100);width:32px;height:32px;color:var(--jj-800);font-size:var(--fs-sm);place-items:center;font-weight:700;display:grid}.menu-toggle{width:var(--tap);height:var(--tap);border:1px solid var(--line-300);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-800);cursor:pointer;justify-content:center;align-items:center;display:none}.mobile-menu{padding-block:var(--s-3) var(--s-5);border-top:1px solid var(--line-100);display:none}.mobile-menu__list{gap:var(--s-1);display:grid}.mobile-menu__link{min-height:var(--tap);padding-inline:var(--s-3);border-radius:var(--r-sm);color:var(--ink-800);font-size:var(--fs-base);align-items:center;text-decoration:none;display:flex}.mobile-menu__link:hover{background:var(--line-100)}.mobile-menu__section{margin-top:var(--s-4);padding-inline:var(--s-3);color:var(--ink-600);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.mobile-menu__cats{gap:var(--s-2);margin-top:var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mobile-menu__cat{min-height:var(--tap);border:1px solid var(--line-200);border-radius:var(--r-sm);color:var(--ink-700);font-size:var(--fs-sm);place-items:center;text-decoration:none;display:grid}.mobile-menu__cat:hover{border-color:var(--jj-300);background:var(--jj-50);color:var(--jj-700)}.site-footer{margin-top:var(--s-8);padding-block:var(--s-6);background:var(--surface);border-top:1px solid var(--line-200)}.site-footer__inner{justify-content:space-between;align-items:flex-start;gap:var(--s-5);flex-wrap:wrap;display:flex}.site-footer__links{gap:var(--s-2) var(--s-5);flex-wrap:wrap;display:flex}.footer-link{align-items:baseline;gap:var(--s-2);min-height:40px;color:var(--ink-700);font-size:var(--fs-sm);text-decoration:none;display:inline-flex}.footer-link__en{color:var(--ink-600);font-size:var(--fs-xs)}.footer-link:hover{color:var(--jj-700);text-decoration:underline}.site-footer__note{padding-top:var(--s-5);border-top:1px solid var(--line-100);color:var(--ink-600);font-size:var(--fs-xs);flex-basis:100%;line-height:1.9}.site-footer__note a{color:var(--jj-700)}.cover{aspect-ratio:3/4;border-radius:var(--r-sm);background:linear-gradient(158deg, hsl(var(--cover-hue) 30% 44%) 0%, hsl(var(--cover-hue) 36% 26%) 100%);color:#fff;flex:none;position:relative;overflow:hidden;container-type:inline-size}.cover:after{content:"";background:radial-gradient(120% 80% at 78% 8%,#ffffff29 0%,#fff0 60%);position:absolute;inset:0}.cover__title{writing-mode:vertical-rl;max-height:68%;font-family:var(--font-serif);letter-spacing:.1em;font-size:clamp(10px,13cqw,23px);font-weight:700;line-height:1.15;position:absolute;top:7cqw;right:7cqw;overflow:hidden}.cover__rule{background:#ffffff73;width:20cqw;height:1px;position:absolute;bottom:24%;left:7cqw}.cover__author{color:#ffffffd1;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(9px,8cqw,13px);position:absolute;bottom:7cqw;left:7cqw;right:7cqw;overflow:hidden}.cover--sm{border-radius:4px;width:54px}.cover--sm .cover__title{letter-spacing:.04em;max-height:calc(100% - 12px)}.cover--sm .cover__rule,.cover--sm .cover__author{display:none}.cover--md,.cover--lg{width:100%}.card{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);transition:border-color .15s,box-shadow .15s,transform .15s}.card:hover{border-color:var(--jj-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.title-link{color:var(--ink-900);text-decoration:none}.title-link:hover{color:var(--jj-700)}.card__link:after{content:"";position:absolute;inset:0}.novel-grid{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.novel-card{gap:var(--s-4);padding:var(--s-4);display:flex;position:relative}.novel-card__cover{width:104px}.novel-card__body{gap:var(--s-2);flex-direction:column;min-width:0;display:flex}.novel-card__title{font-family:var(--font-serif);font-size:var(--fs-lg);letter-spacing:.01em}.novel-card__author{color:var(--ink-600);font-size:var(--fs-sm)}.novel-card__blurb{font-size:var(--fs-sm);color:var(--ink-700);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.7;display:-webkit-box;overflow:hidden}.novel-card__tags{gap:var(--s-1);flex-wrap:wrap;display:flex}.novel-card__meta{align-items:center;gap:var(--s-1) var(--s-2);padding-top:var(--s-2);color:var(--ink-600);font-size:var(--fs-xs);flex-wrap:wrap;margin-top:auto;display:flex}.novel-card__actions{z-index:1;margin-top:var(--s-2);position:relative}.discover{gap:var(--s-5);margin-top:var(--s-6);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}.featured{gap:var(--s-5);padding:var(--s-5);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-lg);display:flex;position:relative}.featured__cover{width:168px}.featured__body{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.featured__eyebrow{align-self:flex-start;align-items:center;gap:var(--s-2);padding:3px var(--s-3);background:var(--jj-50);border:1px solid var(--jj-200);border-radius:var(--r-pill);color:var(--jj-700);font-size:var(--fs-xs);font-weight:600;display:inline-flex}.featured__title{font-family:var(--font-serif);font-size:var(--fs-3xl);letter-spacing:.02em}.featured__author{color:var(--ink-600);font-size:var(--fs-sm)}.featured__blurb{color:var(--ink-700);font-size:var(--fs-base);line-height:1.85}.featured__tags{gap:var(--s-2);flex-wrap:wrap;display:flex}.featured__meta{align-items:center;gap:var(--s-3);color:var(--ink-600);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.featured__actions{gap:var(--s-3);padding-top:var(--s-2);margin-top:auto;display:flex}.picks{gap:var(--s-3);flex-direction:column;display:flex}.pick{gap:var(--s-3);padding:var(--s-3);align-items:center;display:flex;position:relative}.pick__cover{width:48px}.pick__body{min-width:0}.pick__title{font-size:var(--fs-base);font-weight:600}.pick__meta{color:var(--ink-600);font-size:var(--fs-xs)}.continue-grid{gap:var(--s-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.continue-card{gap:var(--s-3);padding:var(--s-4);display:flex}.continue-card__cover{width:64px}.continue-card__body{gap:var(--s-1);flex-direction:column;width:100%;min-width:0;display:flex}.continue-card__title{font-size:var(--fs-base);font-weight:600}.continue-card__author{color:var(--ink-600);font-size:var(--fs-xs)}.continue-card__chapter{color:var(--ink-700);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.progress{align-items:center;gap:var(--s-2);margin-top:var(--s-1);display:flex}.progress__track{background:var(--line-200);border-radius:var(--r-pill);flex:1;height:6px;overflow:hidden}.progress__fill{background:var(--jj-500);border-radius:var(--r-pill);height:100%}.progress__value{color:var(--ink-600);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.continue-card__foot{justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-3);display:flex}.continue-card__last{color:var(--ink-600);font-size:var(--fs-xs)}.editors-grid{gap:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.editor-pick__cover{width:96px}.editor-pick{gap:var(--s-3);padding:var(--s-5);flex-direction:column;display:flex;position:relative}.editor-pick__head{gap:var(--s-4);display:flex}.editor-pick__title{font-family:var(--font-serif);font-size:var(--fs-xl)}.editor-pick__author{margin-top:var(--s-1);color:var(--ink-600);font-size:var(--fs-sm)}.editor-pick__note{padding-left:var(--s-4);border-left:3px solid var(--jj-200);color:var(--ink-700);font-size:var(--fs-sm);line-height:1.8}.editor-pick__by{color:var(--jj-700);font-size:var(--fs-xs);font-weight:600}.rankings{padding:var(--s-5);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-lg)}.tabs{gap:var(--s-1);padding:var(--s-1);background:var(--surface-sunken);border-radius:var(--r-pill);flex-wrap:wrap;display:flex}.tab{min-height:38px;padding-inline:var(--s-5);border-radius:var(--r-pill);color:var(--ink-700);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;font-weight:600;transition:background-color .15s,color .15s}.tab:hover{color:var(--jj-700)}.tab[aria-selected=true]{background:var(--jj-600);color:#fff;box-shadow:var(--shadow-sm)}.podium{gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.podium-item{gap:var(--s-3);padding:var(--s-4);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.podium-item:hover{border-color:var(--jj-300);box-shadow:var(--shadow-md)}.podium-item__rank{border-radius:var(--r-sm);width:32px;height:32px;font-family:var(--font-serif);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:700;display:grid}.podium-item--1 .podium-item__rank{background:var(--rank-1-bg);color:var(--rank-1)}.podium-item--2 .podium-item__rank{background:var(--rank-2-bg);color:var(--rank-2)}.podium-item--3 .podium-item__rank{background:var(--rank-3-bg);color:var(--rank-3)}.podium-item__cover{width:56px}.podium-item__body{min-width:0}.podium-item__title{font-family:var(--font-serif);font-size:var(--fs-lg)}.podium-item__meta{margin-top:var(--s-1);color:var(--ink-600);font-size:var(--fs-xs);line-height:1.9}.rank-rows{margin-top:var(--s-4);border-top:1px solid var(--line-100)}.rank-row{align-items:center;gap:var(--s-4);min-height:var(--tap);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);display:flex;position:relative}.rank-row:hover{background:var(--jj-50)}.rank-row__rank{width:24px;color:var(--ink-600);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;text-align:center;flex:none}.rank-row__title{min-width:0;color:var(--ink-900);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;text-decoration:none;overflow:hidden}.rank-row__title:hover{color:var(--jj-700)}.rank-row__author{color:var(--ink-600);font-size:var(--fs-xs);flex:none}.rank-row__saves{width:72px;color:var(--ink-600);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;flex:none;margin-left:auto}.category-grid{gap:var(--s-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.category-card{min-height:76px;padding:var(--s-3) var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface);cursor:pointer;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.category-card:hover{border-color:var(--jj-300);background:var(--jj-50);box-shadow:var(--shadow-sm)}.category-card[aria-pressed=true]{border-color:var(--jj-600);background:var(--jj-50);box-shadow:inset 0 0 0 1px var(--jj-600)}.category-card__name{color:var(--ink-900);font-family:var(--font-serif);font-size:var(--fs-lg);font-weight:700}.category-card__count{color:var(--ink-600);font-size:var(--fs-xs)}.facets{gap:var(--s-3);margin-top:var(--s-4);padding:var(--s-4);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);flex-direction:column;display:flex}.facet-row{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.facet-row__label{width:132px;color:var(--ink-900);font-size:var(--fs-sm);flex:none;font-weight:600}.facet-row__en{color:var(--ink-600);font-size:var(--fs-xs);font-weight:400;display:block}.facet-row__items{gap:var(--s-2);flex-wrap:wrap;display:flex}.facet{min-height:38px;padding-inline:var(--s-4);border:1px solid var(--line-300);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-700);font-size:var(--fs-sm);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.facet:hover{border-color:var(--jj-400);color:var(--jj-700)}.facet[aria-pressed=true]{background:var(--jj-600);border-color:var(--jj-600);color:#fff;font-weight:600}.category-result{justify-content:space-between;align-items:center;gap:var(--s-4);margin-top:var(--s-5);padding:var(--s-3) var(--s-4);background:var(--jj-50);border:1px solid var(--jj-200);border-radius:var(--r-sm);color:var(--jj-800);font-size:var(--fs-sm);display:flex}.category-shelf{gap:var(--s-4);margin-top:var(--s-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.updates{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);overflow:hidden}.updates__table{border-collapse:collapse;width:100%}.updates__table th{padding:var(--s-3) var(--s-4);background:var(--surface-sunken);border-bottom:1px solid var(--line-200);color:var(--ink-600);font-size:var(--fs-xs);text-align:left;letter-spacing:.04em;font-weight:600}.updates__table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line-100);font-size:var(--fs-sm);vertical-align:middle}.updates__table tr:last-child td{border-bottom:0}.updates__table tbody tr:hover{background:var(--jj-50)}.updates__title{color:var(--ink-900);font-weight:600;text-decoration:none}.updates__title:hover{color:var(--jj-700)}.updates__chapter{color:var(--ink-700)}.updates__author,.updates__time{color:var(--ink-600);font-size:var(--fs-xs);white-space:nowrap}.updates__foot{justify-content:space-between;align-items:center;gap:var(--s-4);padding:var(--s-3) var(--s-4);background:var(--surface-sunken);border-top:1px solid var(--line-200);color:var(--ink-600);font-size:var(--fs-xs);display:flex}.toast{left:50%;bottom:var(--s-6);z-index:80;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-5);background:var(--ink-900);border-radius:var(--r-pill);color:#fff;font-size:var(--fs-sm);box-shadow:var(--shadow-lg);display:flex;position:fixed;transform:translate(-50%)}@media (width<=1180px){.novel-grid,.continue-grid,.category-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.discover{grid-template-columns:minmax(0,1fr)}.search{max-width:none}}@media (width<=900px){.primary-nav,.header-actions{display:none}.menu-toggle{order:3;margin-left:auto;display:inline-flex}.mobile-menu{display:block}.site-header__inner{gap:var(--s-3);padding-block:var(--s-3);flex-wrap:wrap}.search{flex-basis:100%;order:4}.novel-grid,.continue-grid,.editors-grid,.category-shelf,.podium{grid-template-columns:repeat(2,minmax(0,1fr))}.featured{flex-direction:column}.featured__cover{width:132px}.mega__inner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.container{padding-inline:var(--s-4)}.novel-grid,.continue-grid,.editors-grid,.category-shelf,.podium{grid-template-columns:minmax(0,1fr)}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section__title{font-size:var(--fs-xl)}.section__head{align-items:flex-start;gap:var(--s-2);flex-direction:column}.facet-row__label{width:auto}.featured__title{font-size:var(--fs-2xl)}.rankings{padding:var(--s-4)}.updates__author,.rank-row__author{display:none}}.crumbs{align-items:center;gap:var(--s-2);margin-top:var(--s-5);color:var(--ink-600);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.crumbs a{min-height:36px;color:var(--ink-700);align-items:center;text-decoration:none;display:inline-flex}.crumbs a:hover{color:var(--jj-700);text-decoration:underline}.crumbs [aria-current=page]{color:var(--ink-900);font-weight:600}.detail{gap:var(--s-6);margin-top:var(--s-4);padding:var(--s-6);background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-lg);display:flex}.detail__cover{flex:none;width:208px}.detail__body{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.detail__title{font-family:var(--font-serif);font-size:var(--fs-4xl);letter-spacing:.02em}.detail__author{color:var(--ink-600);font-size:var(--fs-base)}.detail__dot{margin-inline:var(--s-2)}.detail__tags{gap:var(--s-2);flex-wrap:wrap;display:flex}.detail__blurb{max-width:62ch;color:var(--ink-700);font-size:var(--fs-lg);line-height:1.9}.stats{gap:var(--s-3);margin:var(--s-2) 0 0;padding:var(--s-4);background:var(--surface-sunken);border-radius:var(--r-md);flex-wrap:wrap;display:flex}.stats__item{flex:96px}.stats dt{color:var(--ink-600);font-size:var(--fs-xs)}.stats dd{color:var(--ink-900);font-family:var(--font-serif);font-size:var(--fs-xl);font-variant-numeric:tabular-nums;margin:2px 0 0;font-weight:700}.detail__actions{align-items:center;gap:var(--s-3);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.detail__shelf-note{color:var(--ink-600);font-size:var(--fs-sm);flex-basis:100%}.detail-band{gap:var(--s-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.detail-band>.section{margin-top:var(--s-7)}.chapters{background:var(--surface);border:1px solid var(--line-200);border-radius:var(--r-md);overflow:hidden}.chapter{align-items:center;gap:var(--s-3);min-height:var(--tap);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line-100);display:flex}.chapter:last-child{border-bottom:0}.chapter:hover{background:var(--jj-50)}.chapter__link{align-items:baseline;gap:var(--s-3);min-width:0;color:var(--ink-900);font-size:var(--fs-sm);flex:1;text-decoration:none;display:flex}.chapter__link:hover{color:var(--jj-700)}.chapter__n{color:var(--ink-600);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;flex:none}.chapter__title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chapter__meta{width:78px;color:var(--ink-600);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none}.chip--vip{background:var(--rank-1-bg);width:34px;color:var(--rank-1);flex:none;justify-content:center;font-weight:700}.chapter--free:before{content:"";flex:none;width:34px}.chapters__foot{margin-top:var(--s-3);color:var(--ink-600);font-size:var(--fs-xs)}.similar-list{gap:var(--s-4);display:grid}@media (width<=1000px){.detail-band{grid-template-columns:minmax(0,1fr)}.detail-band>.section:last-child{margin-top:var(--s-6)}}@media (width<=700px){.detail{padding:var(--s-4);flex-direction:column}.detail__cover{width:148px}.detail__title{font-size:var(--fs-3xl)}.detail__blurb{font-size:var(--fs-base)}.chapter__words{display:none}}.prose{max-width:74ch;padding-block:var(--s-7) var(--s-8);margin-inline:auto}.prose__lede{margin-top:var(--s-4);color:var(--ink-700);font-size:var(--fs-lg);line-height:1.8}.prose h1{font-family:var(--font-serif);font-size:var(--fs-4xl);letter-spacing:.01em}.prose h2{margin-top:var(--s-7);padding-bottom:var(--s-2);border-bottom:1px solid var(--line-200);font-size:var(--fs-2xl)}.prose h3{margin-top:var(--s-5);font-size:var(--fs-lg)}.prose p{margin-top:var(--s-4);line-height:1.85}.prose ul{margin-top:var(--s-4);padding-left:var(--s-5);list-style:outside}.prose li{margin-top:var(--s-2);line-height:1.8}.prose li::marker{color:var(--jj-400)}.prose strong{color:var(--ink-900)}.prose code{background:var(--line-100);border-radius:4px;padding:2px 6px;font-size:.9em}.pull-quote{margin:var(--s-5) 0 0;padding:var(--s-4) var(--s-5);background:var(--jj-50);border-left:3px solid var(--jj-500);border-radius:0 var(--r-md) var(--r-md) 0}.pull-quote p{color:var(--jj-900);font-size:var(--fs-base);margin-top:0;line-height:1.9}.pull-quote__gloss{padding-top:var(--s-3);border-top:1px solid var(--jj-200);margin-top:var(--s-3)!important;color:var(--ink-700)!important;font-size:var(--fs-sm)!important}.code-block{margin-top:var(--s-4);padding:var(--s-4);background:var(--ink-900);border-radius:var(--r-md);color:#e8eceb;font-size:var(--fs-sm);line-height:1.7;overflow-x:auto}.code-block code{color:inherit;background:0 0;padding:0}.source-link{align-items:center;gap:var(--s-2);min-height:var(--tap);padding-inline:var(--s-4);border:1px solid var(--jj-300);border-radius:var(--r-sm);background:var(--jj-50);color:var(--jj-800);font-size:var(--fs-sm);font-weight:600;text-decoration:none;display:inline-flex}.source-link:hover{background:var(--jj-100);border-color:var(--jj-500)}.compare{gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compare__cell{padding:var(--s-4);border:1px solid var(--line-200);border-radius:var(--r-md);background:var(--surface)}.compare__cell--before{border-color:var(--line-300);background:var(--surface-sunken)}.compare__cell--after{border-color:var(--jj-200);background:var(--jj-50)}.compare__label{margin-bottom:var(--s-2);color:var(--ink-600);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.compare__cell--after .compare__label{color:var(--jj-700)}.compare__cell p{font-size:var(--fs-sm);margin-top:0;line-height:1.75}@media (width<=700px){.compare{grid-template-columns:minmax(0,1fr)}}
