@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Merriweather:wght@300;400;700&display=swap";:root{--bg-color: #0d1117;--bg-card: #161b22;--bg-card-hover: #1f242c;--text-main: #c9d1d9;--text-muted: #8b949e;--accent: #58a6ff;--accent-glow: rgba(88, 166, 255, .15);--border: #30363d;--radius: 12px;--fm-bg: #f5f5f7;--fm-surface: #ffffff;--fm-ink: #1a1a22;--fm-ink-soft: #4a4a55;--fm-hero-a: #a11d6e;--fm-hero-b: #6a1a5a;--fm-hero-c: #2c1138;--fm-yellow: #ffc220;--fm-yellow-ink: #1a1a22;--fm-pink: #ff1a5e;--fm-cyan: #5fd7ff;--fm-section: #2a0f38;--fm-border: #e4e4ea;--fm-shadow: 0 6px 18px rgba(26, 15, 40, .06)}*{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{margin:0;padding:0;background-color:var(--bg-color);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body.is-home{--bg-color: var(--fm-bg);--bg-card: var(--fm-surface);--bg-card-hover: #f5ebf4;--text-main: var(--fm-ink);--text-muted: var(--fm-ink-soft);--accent: var(--fm-hero-a);--accent-glow: rgba(161, 29, 110, .12);--border: var(--fm-border);background:var(--fm-bg);color:var(--fm-ink)}h1,h2,h3,h4{color:#fff;margin-top:0}body.is-home h1,body.is-home h2,body.is-home h3,body.is-home h4{color:var(--fm-ink)}a{color:var(--text-main);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}body.is-home a{color:var(--fm-ink)}body.is-home a:hover{color:var(--fm-hero-a)}.container{max-width:1200px;margin:0 auto;padding:3rem 1.5rem}.max-w-reading{max-width:65ch;margin:0 auto;padding:3rem 1.5rem}.top-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:1.25rem;padding:.6rem 1.25rem;background:var(--fm-surface);border-bottom:1px solid var(--fm-border);height:56px}body:not(.is-home) .top-bar{background:#0d1117d9;border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}.top-bar__logo{font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:var(--fm-ink);display:inline-flex;align-items:baseline;gap:2px}.top-bar__logo span{color:var(--fm-ink)}.top-bar__logo b{color:var(--fm-hero-a);font-weight:800}.top-bar__logo .top-bar__dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--fm-pink);margin-left:4px;transform:translateY(-6px)}body:not(.is-home) .top-bar__logo{color:#fff}.top-bar__search{flex:1;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:.5rem;padding:0 .9rem;height:38px;border-radius:999px;border:1px solid var(--fm-border);background:#fff;color:var(--fm-ink-soft)}.top-bar__search input{flex:1 1 0;min-width:0;border:0;outline:0;background:transparent;color:var(--fm-ink);font-size:.95rem}body:not(.is-home) .top-bar__search{background:#ffffff0f;border-color:var(--border);color:var(--text-muted)}body:not(.is-home) .top-bar__search input{color:var(--text-main)}.top-bar__actions{display:flex;gap:.5rem;align-items:center}a.top-bar__user{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .6rem .25rem .25rem;border-radius:999px;border:1px solid var(--fm-border);background:var(--fm-surface);color:var(--fm-ink);font-size:.78rem;font-weight:600;text-decoration:none;max-width:220px}a.top-bar__user:hover{border-color:var(--fm-ink);color:var(--fm-ink)}.top-bar__avatar{width:26px;height:26px;border-radius:50%;background:var(--fm-hero-a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex:0 0 26px}.top-bar__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.top-bar__user-name{display:none}}.top-bar__btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 .9rem;border-radius:4px;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}a.top-bar__btn--ghost,body.is-home a.top-bar__btn--ghost{background:transparent;color:var(--fm-ink);border:1px solid var(--fm-border)}a.top-bar__btn--ghost:hover,body.is-home a.top-bar__btn--ghost:hover{color:var(--fm-ink);background:#f5f5f7;border-color:var(--fm-ink)}a.top-bar__btn--primary,body.is-home a.top-bar__btn--primary{background:var(--fm-ink);color:#fff}a.top-bar__btn--primary:hover,body.is-home a.top-bar__btn--primary:hover{color:#fff;background:#000}body:not(.is-home) a.top-bar__btn--ghost{color:var(--text-main);border-color:var(--border)}body:not(.is-home) a.top-bar__btn--ghost:hover{color:#fff;background:#ffffff14}.shell{display:grid;grid-template-columns:72px 1fr;min-height:calc(100vh - 56px)}.side-nav{position:sticky;top:56px;align-self:start;height:calc(100vh - 56px);background:var(--fm-surface);border-right:1px solid var(--fm-border);display:flex;flex-direction:column;padding:.6rem 0}body:not(.is-home) .side-nav{background:#0f141b;border-right:1px solid var(--border)}.side-nav__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:.7rem .25rem;color:var(--fm-ink-soft);font-size:.7rem;font-weight:500;position:relative}.side-nav__item svg{stroke:currentColor}.side-nav__item:hover{color:var(--fm-ink);background:#f0eef3}.side-nav__item.is-active{color:var(--fm-hero-a)}.side-nav__item.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--fm-hero-a)}.side-nav__item--muted{color:var(--fm-ink-soft);opacity:.75}.side-nav__spacer{flex:1}body:not(.is-home) .side-nav__item{color:var(--text-muted)}body:not(.is-home) .side-nav__item:hover{color:#fff;background:#ffffff0a}.main{min-width:0}.hero{text-align:center;padding:3rem 1.5rem 2rem;border-bottom:1px solid var(--border)}.hero h1{font-size:2.25rem;letter-spacing:-.02em;margin-bottom:.5rem;color:var(--text-main)}.hero p{color:var(--text-muted);max-width:600px;margin:.25rem auto;font-size:1rem}.hero--landing{position:relative;margin:1rem;border-radius:16px;overflow:hidden;background:radial-gradient(1200px 500px at 50% -10%,#c1286f 0%,transparent 60%),linear-gradient(180deg,var(--fm-hero-a) 0%,var(--fm-hero-b) 55%,var(--fm-hero-c) 100%);color:#fff;padding:3rem 2rem 2rem;border-bottom:0;text-align:left}.hero--landing h1{color:#fff}.hero__bg{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px}.hero__dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid}.hero__dot--y{border-color:var(--fm-yellow)}.hero__dot--c{border-color:var(--fm-cyan)}.hero__diamond{position:absolute;width:14px;height:14px;background:var(--fm-yellow);transform:rotate(45deg)}.hero__diamond--pink{background:var(--fm-pink)}.hero__inner{position:relative;max-width:1280px;margin:0 auto}.hero__brand{text-align:center;font-size:3.6rem;font-weight:800;letter-spacing:-.03em;line-height:1;margin:1rem 0 2rem}.hero__brand span{color:#fff}.hero__brand b{color:#fff;font-weight:800}.hero__brand-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--fm-pink);transform:translateY(-1.6rem);margin-left:6px;box-shadow:0 0 0 3px #ff1a5e40}.hero__search{max-width:860px;margin:0 auto 2.5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.25);border-radius:999px;display:flex;align-items:center;height:54px;padding:0 .5rem 0 1.5rem;backdrop-filter:blur(4px);min-width:0}.hero__search input{flex:1 1 0;min-width:0;background:transparent;border:0;outline:0;color:#fff;font-size:1rem}.hero__search input::placeholder{color:#ffffffbf}.hero__search button{width:40px;height:40px;border-radius:50%;border:0;background:#ffffff26;color:#fff;cursor:pointer;display:grid;place-items:center}.hero__search button:hover{background:#ffffff40}.featured-strip{display:grid;grid-auto-flow:column;grid-auto-columns:170px;justify-content:start;gap:.75rem;padding:1rem;background:#0000002e;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.featured-strip::-webkit-scrollbar{height:8px}.featured-strip::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.featured-strip::-webkit-scrollbar-track{background:transparent}.feat-card{color:#fff;display:flex;flex-direction:column;gap:.5rem;border-radius:8px;overflow:hidden;background:#0003;transition:transform .15s ease}.feat-card:hover{transform:translateY(-3px);color:#fff}.feat-card__media{position:relative;aspect-ratio:16 / 10;background:linear-gradient(135deg,#3a1646,#6a1a5a);overflow:hidden}.feat-card__media img{width:100%;height:100%;object-fit:cover}.feat-card__placeholder{width:100%;height:100%;display:grid;place-items:center;color:#ffffffd9;font-weight:800;font-size:1.6rem;letter-spacing:.08em}.feat-card__tag{position:absolute;left:8px;top:8px;background:var(--fm-pink);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:3px}.feat-card__body{padding:.4rem .6rem .8rem;display:flex;flex-direction:column;gap:3px}.feat-card__body h3{font-size:.85rem;font-weight:700;line-height:1.2;color:#fff;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feat-card__body p{margin:0;color:#ffffffb3;font-size:.72rem}.top-wikis{background:var(--fm-section);color:#fff;margin:-1rem 1rem 0;border-radius:0 0 16px 16px;border-top:3px solid var(--fm-pink)}.top-wikis__inner{max-width:1280px;margin:0 auto;padding:1.5rem 2rem;display:grid;grid-template-columns:auto repeat(4,1fr) auto;gap:2rem;align-items:center}.top-wikis__badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--fm-yellow);color:var(--fm-yellow-ink);padding:.6rem .9rem;border-radius:6px;font-weight:800;font-size:.8rem;letter-spacing:.06em}.top-wikis__col h4{color:var(--fm-yellow);margin:0 0 .4rem;font-size:.85rem;font-weight:800;letter-spacing:.06em}.top-wikis__col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.15rem}.top-wikis__col a{color:#fff;font-size:.92rem}.top-wikis__col a:hover{color:var(--fm-yellow)}.top-wikis__more{color:#fff;display:inline-flex;align-items:center;gap:.75rem;font-size:.85rem;text-align:right}.top-wikis__more b{font-size:1.1rem;display:block;color:#fff}.top-wikis__more svg{background:var(--fm-yellow);color:var(--fm-yellow-ink);width:36px;height:36px;border-radius:50%;padding:8px;box-sizing:border-box}.top-wikis__more:hover{color:#fff}.row{max-width:1280px;margin:2rem auto;padding:0 1.5rem 3rem}.row__header h2{display:inline-flex;align-items:center;gap:.75rem;font-size:1rem;font-weight:700;color:var(--fm-ink)}.row__tag{background:var(--fm-pink);color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.08em;padding:4px 10px;border-radius:3px}body.is-home .row__header h2 svg{opacity:.6}body.is-home .novel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;margin-top:1rem}body.is-home .novel-card{background:var(--fm-surface);border:1px solid var(--fm-border);border-radius:10px;padding:0;overflow:hidden;color:var(--fm-ink);box-shadow:var(--fm-shadow);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}body.is-home .novel-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #1a0f281f;border-color:var(--fm-border);background:var(--fm-surface)}body.is-home .novel-card__media{aspect-ratio:16/10;background:linear-gradient(135deg,#f1e7f3,#e4d2ef);display:grid;place-items:center;overflow:hidden}body.is-home .novel-card__media img{width:100%;height:100%;object-fit:cover}body.is-home .novel-card__placeholder{font-size:2.2rem;font-weight:800;color:var(--fm-hero-a)}body.is-home .novel-card__body{padding:.75rem .9rem 1rem;display:flex;flex-direction:column;gap:4px}body.is-home .novel-card h3{margin:0;font-size:.98rem;font-weight:700;color:var(--fm-ink);line-height:1.25}body.is-home .novel-card__author{color:var(--fm-hero-a);font-size:.78rem;font-weight:600}body.is-home .novel-card p{margin:4px 0 0;color:var(--fm-ink-soft);font-size:.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}body.is-home .novel-card__meta{margin-top:8px;font-size:.72rem;color:var(--fm-ink-soft);letter-spacing:.04em;text-transform:uppercase}.empty{grid-column:1/-1;text-align:center;padding:3rem;color:var(--fm-ink-soft)}.empty--soft{opacity:.7}@media(max-width:900px){.top-bar{gap:.6rem;padding:.5rem .75rem;height:52px;width:100%;max-width:100vw}.top-bar__logo{font-size:1.05rem;flex-shrink:0}.top-bar__search{max-width:none;height:36px;flex:1 1 0;min-width:0;padding:0 .75rem}.top-bar__actions{display:none}.shell{grid-template-columns:1fr}.side-nav{position:fixed;inset:auto 0 0;height:auto;flex-direction:row;justify-content:space-around;border-top:1px solid var(--fm-border);border-right:0;z-index:90;padding:.4rem 0}.side-nav__spacer{display:none}.side-nav__item{padding:.45rem .25rem}.side-nav__item.is-active:before{display:none}.side-nav__item.is-active{color:var(--fm-hero-a)}.main{padding-bottom:72px}.hero{margin:.5rem;padding:1.75rem 1rem 1.25rem;border-radius:12px}.hero__brand{font-size:2.2rem;margin:.5rem 0 1.5rem}.hero__brand-dot{width:10px;height:10px;transform:translateY(-1rem)}.hero__search{height:46px;padding:0 .4rem 0 1rem;margin-bottom:1.5rem}.hero__search input{font-size:.9rem}.hero__search button{width:36px;height:36px}.featured-strip{grid-auto-columns:160px;gap:.6rem;padding:.6rem;scroll-snap-type:x mandatory}.feat-card{scroll-snap-align:start}.top-wikis{margin:-.5rem .5rem 0;border-radius:12px}.top-wikis__inner{grid-template-columns:1fr 1fr;grid-template-areas:"badge badge" "c1 c2" "c3 c4" "more more";gap:1rem;padding:1.25rem 1rem}.top-wikis__badge{grid-area:badge;justify-self:start}.top-wikis__col:nth-of-type(1){grid-area:c1}.top-wikis__col:nth-of-type(2){grid-area:c2}.top-wikis__col:nth-of-type(3){grid-area:c3}.top-wikis__col:nth-of-type(4){grid-area:c4}.top-wikis__more{grid-area:more;justify-self:start;margin-top:.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);width:100%;justify-content:space-between}.row{padding:0 1rem 2rem;margin:1.25rem auto}body.is-home .novel-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}body.is-home .novel-card h3{font-size:.88rem}body.is-home .novel-card p{font-size:.76rem}}@media(max-width:420px){.top-bar{padding:.45rem .6rem;gap:.5rem}.top-bar__logo{font-size:.98rem}.top-bar__logo .top-bar__dot{width:6px;height:6px;transform:translateY(-5px)}.top-bar__search{height:34px;padding:0 .65rem}.top-bar__search input{font-size:.85rem}.hero__brand{font-size:1.8rem}.hero__search input::placeholder{font-size:.82rem}.top-wikis__inner{padding:1rem .9rem}}body:not(.is-home) .main{max-width:1200px;margin:0 auto;width:100%}.novel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}body:not(.is-home) .novel-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:1rem}body:not(.is-home) .novel-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 8px 24px var(--accent-glow);background:var(--bg-card-hover)}body:not(.is-home) .novel-card h2{font-size:1.5rem;margin:0}body:not(.is-home) .novel-card p{color:var(--text-muted);line-height:1.5;margin:0;font-size:.95rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;background:var(--accent);color:#000;font-weight:600;border-radius:8px;margin-top:auto;align-self:flex-start;transition:background .2s,transform .1s}.btn:hover{background:#79b8ff;color:#000;transform:scale(1.02)}.chapter-list{display:flex;flex-direction:column;gap:.5rem;margin-top:2rem}.chapter-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:background .2s,border-color .2s}.chapter-item:hover{background:var(--bg-card-hover);border-color:var(--accent)}.chapter-item span.date{font-size:.85rem;color:var(--text-muted)}.reader-content{font-family:Merriweather,serif;font-size:1.15rem;line-height:1.8;color:var(--text-main);margin-top:2rem}.reader-content p{margin-bottom:1.5rem}.chapter-nav{display:flex;justify-content:space-between;align-items:center;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text-main)}.btn-secondary:hover{background:var(--bg-card);color:var(--text-main);border-color:var(--accent)}body:not(.is-home) .hero{text-align:center;padding:4rem 0;border-bottom:1px solid var(--border);margin:0;border-radius:0;background:transparent;color:var(--text-main)}body:not(.is-home) .hero h1{font-size:2.5rem;letter-spacing:-.02em;margin-bottom:1rem;color:#fff}body:not(.is-home) .hero p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.1rem}
