/* GroupChatOn — reader-first theme
   Designed & Developed by Nivesh Sahayak (https://www.niveshsahayak.in/). All rights reserved: see LICENSE.
   Reader settings (font, size, spacing, width, theme) are CSS variables set by gco.js and the
   small script in the theme's <head>, so a reader's choice applies before the page paints. */

/* ---------- Themes ---------- */
:root{
  --bg:#fbfaf7; --surface:#ffffff; --surface-2:#f3f1ec; --ink:#1d1f22; --ink-soft:#3b3f45; --muted:#646b74;
  --line:#e6e2d9; --accent:#2c8a3a; --accent-soft:#e8f3e6; --accent-ink:#ffffff; --focus:#2c8a3a;
  --shadow:0 1px 2px rgba(20,20,20,.05),0 8px 24px rgba(20,20,20,.07);
  --rd-size:19px; --rd-lh:1.8; --rd-measure:700px; --rd-font:'Literata',Georgia,'Iowan Old Style',serif; --rd-para:1em;
  --ui:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radius:14px; --header-h:60px;
  color-scheme:light;
}
html[data-theme='sepia']{
  --bg:#f4ecd8; --surface:#fbf5e6; --surface-2:#efe4c9; --ink:#43341f; --ink-soft:#5a4930; --muted:#7c6b52;
  --line:#e2d4b2; --accent:#8b5a1c; --accent-soft:#efdfbd; --accent-ink:#fffaf0; --focus:#8b5a1c;
}
html[data-theme='dark']{
  --bg:#15171a; --surface:#1c1f23; --surface-2:#23272c; --ink:#dedad1; --ink-soft:#c4c0b7; --muted:#9aa1a9;
  --line:#2c3036; --accent:#6cc46a; --accent-soft:#1f3320; --accent-ink:#0d1a0d; --focus:#6cc46a;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}
html[data-theme='black']{
  --bg:#000; --surface:#0b0b0c; --surface-2:#141416; --ink:#c9c6bf; --ink-soft:#b3b0a9; --muted:#8a8c90;
  --line:#1e1f22; --accent:#5fb45d; --accent-soft:#132213; --accent-ink:#000; --focus:#5fb45d;
  --shadow:none;
  color-scheme:dark;
}
html[data-font='sans']{--rd-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
html[data-font='readable']{--rd-font:'Atkinson Hyperlegible','Inter',system-ui,sans-serif}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .25s,color .25s}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:var(--surface);padding:8px 14px;border-radius:8px}
.skip-link:focus{left:8px}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 15px/1 var(--ui);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}
.btn:hover{border-color:var(--muted)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.06);border-color:var(--accent)}
.btn-sm{min-height:36px;padding:0 14px;font-size:14px}
.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;text-decoration:none}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.icon-btn[aria-pressed='true']{color:var(--accent)}

/* ---------- Header (hides while reading down, comes back on scroll up) ---------- */
.site-header{position:sticky;top:0;z-index:40;height:var(--header-h);background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);transition:transform .25s ease,background-color .25s}
.site-header.is-hidden{transform:translateY(-100%)}
.nav-wrap{display:flex;align-items:center;gap:12px;height:100%}
.brand{display:flex;align-items:center;flex:none;margin-right:auto}
.logo-img{height:30px;width:auto;display:block}
.logo-dark{display:none}
html[data-theme='dark'] .logo-light,html[data-theme='black'] .logo-light{display:none}
html[data-theme='dark'] .logo-dark,html[data-theme='black'] .logo-dark{display:block}
.nav{display:flex;align-items:center;gap:4px}
.nav a{padding:8px 12px;border-radius:10px;color:var(--ink-soft);text-decoration:none;font-weight:500;font-size:15px}
.nav a:hover{background:var(--surface-2);color:var(--ink)}
.nav-actions{display:flex;align-items:center;gap:2px}
.reader-tools{display:none;align-items:center;gap:2px;padding-right:6px;margin-right:4px;border-right:1px solid var(--line)}
.is-chapter .reader-tools{display:flex}
.menu-toggle{display:none}
@media (max-width:1079px){
  .nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;align-items:stretch;padding:10px 16px 18px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}
  .nav.is-open{display:flex}
  .nav a{padding:12px;font-size:16px}
  .menu-toggle{display:inline-grid}
  .logo-img{height:26px}
}
/* phones: on chapter pages keep only Chapters, Aa and the menu (Prev / Next sit under the title) */
@media (max-width:560px){
  .is-chapter .nav-actions > [data-theme-toggle],.is-chapter .nav-actions > a[href='/search'],
  .reader-tools [data-chap-prev],.reader-tools [data-chap-next]{display:none!important}
  .reader-tools{border-right:0;padding-right:0;margin-right:0}
  .nav-wrap{gap:6px}
}

/* reading progress */
.read-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;pointer-events:none}
.read-progress span{display:block;height:100%;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}

/* ---------- Layout ---------- */
main{display:block;min-height:60vh}
.page-wrap{position:relative;padding-top:28px;padding-bottom:56px}
/* The text column is always centred. The side ad sits in the right-hand margin, and only when
   gco.js finds the screen wide enough for it beside the reader's chosen page width (.rail-fits);
   it never takes space from the text. */
aside.rail{display:none}
.rail-fits .is-chapter aside.rail{display:block;position:absolute;top:28px;bottom:56px;width:300px;left:calc(50% + var(--rd-measure) / 2 + 48px)}
.rail-inner{position:sticky;top:calc(var(--header-h) + 20px)}
/* ads blocked or not loading: no empty "Advertisement" boxes */
.no-ads .ad-slot{display:none!important}

/* ---------- Reading column ---------- */
.reading{max-width:var(--rd-measure);margin:0 auto;width:100%}
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:500 14px/1.4 var(--ui);color:var(--muted);margin:0 0 10px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--accent)}
.crumb .series-link{color:var(--accent);font-weight:600}
.post-title{font:700 clamp(26px,4.2vw,36px)/1.2 var(--ui);letter-spacing:-.015em;margin:0 0 12px;color:var(--ink)}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font:14px/1.4 var(--ui);color:var(--muted);margin:0 0 18px}
.post-meta .dot{opacity:.5}
.chap-nav-top{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;margin:0 0 22px}
.chap-nav-top .btn{min-width:0;padding:0 14px}
@media (max-width:379px){
  .chap-nav-top{gap:6px}
  .chap-nav-top .btn{padding:0 10px;gap:4px}
  .chap-nav-top [data-open-chapters] span{display:none}
}
.chap-nav-top .btn[aria-disabled='true']{opacity:.45;pointer-events:none}

/* Fonts: the reader's font and size apply to the story text only. Everything else (titles, menus,
   series pages, tool and policy pages, lists) uses the site font, whatever fonts old posts set inline. */
.post-body{font-family:var(--ui);font-size:17px;line-height:1.7;color:var(--ink);overflow-wrap:break-word;hyphens:manual}
.is-post:not(.is-series) .post-body{font-family:var(--rd-font);font-size:var(--rd-size);line-height:var(--rd-lh)}
.is-post:not(.is-series) .post-body *:not(i):not([class*='fa-']):not(code):not(pre):not(kbd):not(.credits):not(.credits *):not(.ad-slot):not(.ad-slot *){font-family:inherit!important}
:is(.is-page,.is-series) .post-body *:not(i):not([class*='fa-']):not(code):not(pre):not(kbd):not(.uk-icon){font-family:var(--ui)!important}
.is-series .post-body{font-size:17px;line-height:1.7}
.is-chapter .post-body p{margin:0 0 var(--rd-para)}
html[data-align='justify'] .is-chapter .post-body p{text-align:justify;hyphens:auto}
.post-body h2,.post-body h3,.post-body h4{line-height:1.3;margin:1.6em 0 .6em}
.post-body img{border-radius:10px}
.post-body blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:3px solid var(--accent);color:var(--ink-soft)}
.post-body hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.post-body table{border-collapse:collapse;max-width:100%}
/* nothing inside a post or page (tools included) may be wider than the screen */
.post-body :where(input,select,textarea,button,canvas,iframe,video,embed,object,svg,pre,form,div,section){max-width:100%;box-sizing:border-box}
.post-body pre{overflow-x:auto}
.post-body table{display:block;overflow-x:auto}
.post-body a{color:var(--accent)}
.post-body ::selection{background:var(--accent-soft)}
/* old in-post buttons, shortcodes and end images are replaced by the theme */
.is-chapter .post-body > .button-container,
.is-chapter .post-body > .separator,
.is-chapter .post-body > br{display:none}
.scene-break{text-align:center;letter-spacing:.6em;color:var(--muted);margin:1.6em 0!important}

/* credits card at the end of a chapter */
.credits{margin:28px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font:14px/1.6 var(--ui);color:var(--ink-soft)}
.credits p{margin:0 0 4px!important;font:inherit!important;text-align:left!important}
.credits .credits-thanks{color:var(--muted);margin-bottom:10px!important}
.credits dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0}
.credits dt{color:var(--muted)}
.credits dd{margin:0;font-weight:600;color:var(--ink)}

/* end-of-chapter navigation */
.chap-end{margin:36px 0 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.chap-end-next{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:64px;padding:12px 18px;border-radius:14px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font:600 17px/1.3 var(--ui)}
.chap-end-next small{display:block;font-weight:500;font-size:13px;opacity:.85}
.chap-end-next:hover{filter:brightness(1.06)}
.chap-end-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
@media (max-width:359px){.chap-end{padding:14px}.chap-end-row{grid-template-columns:1fr}}
.chap-end-row .btn{width:100%}
.chap-end-row .btn[aria-disabled='true']{opacity:.45;pointer-events:none}
.caught-up{padding:14px 16px;border-radius:14px;background:var(--accent-soft);color:var(--ink);font:15px/1.5 var(--ui)}
.caught-up b{display:block;font-size:16px;margin-bottom:2px}
.caught-up-btn{margin-top:12px;background:var(--surface);border-color:var(--line)}

/* comments */
.comments{margin:28px 0 0;text-align:center}
.comments #disqus_thread{text-align:left;margin-top:16px}

/* post labels */
.post-labels{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0 0}
.post-labels a,.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);font:500 13px/1.4 var(--ui);text-decoration:none}
.post-labels a:hover{color:var(--accent)}
.is-chapter .post-labels{display:none}

/* ---------- Ad slots ---------- */
/* Ads live in boxes that can't push the layout sideways: a responsive ad sized for a wider column
   (e.g. after the reader picks "Narrow") stays inside its box instead of widening the page. */
.ad-slot{display:block;width:100%;max-width:100%;margin:32px auto;text-align:center;min-height:120px;overflow:hidden;contain:layout;clear:both;font-family:var(--ui);line-height:normal}
.ad-slot::before{content:'Advertisement';display:block;font:500 11px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.7;margin-bottom:8px}
.ad-slot.in-article{margin:2.2em auto;min-height:250px}
.ad-slot.ad-top{margin:0 auto 26px;min-height:100px}
.ad-slot ins{display:block;max-width:100%;margin:0 auto}
.ad-slot iframe{max-width:100%}
/* unfilled slots collapse (Google allows this); .is-empty is the same for browsers without :has */
.ad-slot.is-empty,.ad-slot:has(ins[data-ad-status='unfilled']){display:none}
aside.rail .ad-slot{margin:0;min-height:600px}
/* phones: content ads run edge to edge on purpose, like a full-width band */
@media (max-width:600px){
  .ad-slot.ad-top,.ad-slot.ad-end,.ad-slot.in-article,.ad-slot.multiplex{width:auto;max-width:none;margin-left:-16px;margin-right:-16px}
}
/* ads Google places by itself (Auto ads) stay within the content width */
.google-auto-placed{max-width:100%!important;clear:both;margin-left:auto!important;margin-right:auto!important;overflow:hidden}
.site-header .google-auto-placed,.nav .google-auto-placed{position:static}
/* bottom anchor ad showing: keep buttons, footer and panels clear of it */
.has-anchor .site-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.has-anchor .sheet-body{padding-bottom:110px}

/* ---------- Floating panels: settings + chapter list ---------- */
.sheet-backdrop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .2s}
.sheet-backdrop.is-open{opacity:1;pointer-events:auto}
.sheet{position:fixed;z-index:80;background:var(--surface);color:var(--ink);box-shadow:0 10px 40px rgba(0,0,0,.25);font-family:var(--ui);display:flex;flex-direction:column;
  left:0;right:0;bottom:0;max-height:86vh;border-radius:20px 20px 0 0;transform:translateY(105%);transition:transform .25s ease;padding-bottom:env(safe-area-inset-bottom)}
.sheet.is-open{transform:none}
.sheet:focus{outline:none}
.sheet .toc-head{position:sticky;top:-16px;z-index:1;margin:-16px -20px 0;padding:16px 20px 4px;background:var(--surface)}
@media (min-width:720px){
  .sheet{left:auto;right:16px;top:calc(var(--header-h) + 10px);bottom:auto;width:380px;max-height:calc(100vh - var(--header-h) - 30px);border-radius:18px;transform:translateY(-8px) scale(.98);opacity:0;pointer-events:none;transition:transform .18s,opacity .18s}
  .sheet.is-open{transform:none;opacity:1;pointer-events:auto}
}
.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 10px 20px;border-bottom:1px solid var(--line)}
.sheet-head h2{font:700 17px/1.2 var(--ui);margin:0}
.sheet-body{overflow:auto;padding:16px 20px 20px;overscroll-behavior:contain}
.set-row{margin:0 0 18px}
.set-row > span{display:block;font:600 13px/1 var(--ui);color:var(--muted);margin:0 0 9px;text-transform:uppercase;letter-spacing:.05em}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:12px;background:var(--surface-2)}
.seg button{min-height:38px;border:0;border-radius:9px;background:transparent;color:var(--ink-soft);font:500 14px/1 var(--ui);cursor:pointer}
.seg button[aria-pressed='true']{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}
.stepper{display:flex;align-items:center;gap:10px}
.stepper button{width:44px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font:600 16px/1 var(--ui)}
.stepper output{flex:1;text-align:center;font:600 15px/1 var(--ui)}
.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.swatches button{height:52px;border-radius:12px;border:2px solid var(--line);cursor:pointer;font:600 13px/1 var(--ui)}
.swatches button[aria-pressed='true']{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.sw-light{background:#fbfaf7;color:#1d1f22}.sw-sepia{background:#f4ecd8;color:#43341f}.sw-dark{background:#1c1f23;color:#dedad1}.sw-black{background:#000;color:#c9c6bf}
.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font:15px/1.4 var(--ui);cursor:pointer;margin:0 0 12px}
.switch input{width:20px;height:20px;accent-color:var(--accent)}
.set-reset{width:100%;margin-top:4px}

/* chapter list */
.toc-tools{display:flex;gap:8px;margin:0 0 12px}
.toc-tools input{flex:1;min-width:0;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:15px var(--ui)}
.toc-ranges{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin:0 0 8px;scrollbar-width:thin}
.toc-ranges button{flex:none;padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font:500 13px/1 var(--ui);cursor:pointer}
.toc-ranges button[aria-pressed='true']{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.toc-list{list-style:none;margin:0;padding:0}
.toc-list a{display:flex;align-items:baseline;gap:10px;padding:10px 8px;border-radius:10px;color:var(--ink);text-decoration:none;font:15px/1.4 var(--ui)}
.toc-list a:hover{background:var(--surface-2)}
.toc-list .n{flex:none;min-width:2.6em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}
.toc-list .t{flex:1}
.toc-list .is-read .t{color:var(--muted)}
.toc-list .is-read .n::after{content:' \2713';color:var(--accent)}
.toc-list .is-current a{background:var(--accent-soft);font-weight:600}
.toc-empty{color:var(--muted);padding:12px 8px;font:14px var(--ui)}

/* ---------- Report a mistake / Request a novel ---------- */
.fb-form{display:grid;gap:14px;font-family:var(--ui)}
.fb-where{margin:0;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:14px;line-height:1.4}
.fb-where b{display:block;font-size:15px;color:var(--ink)}
.fb-where span{color:var(--muted)}
.fb-field{display:grid;gap:6px}
.fb-field > span{font:600 14px/1.3 var(--ui);color:var(--ink)}
.fb-field small{color:var(--muted);font-size:12.5px}
.fb-field input,.fb-field textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:15px/1.45 var(--ui);resize:vertical}
.fb-field input:focus,.fb-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fb-row{display:grid;gap:14px;grid-template-columns:1fr 1fr}
@media (max-width:420px){.fb-row{grid-template-columns:1fr}}
.fb-kinds{display:flex;flex-wrap:wrap;gap:6px}
.fb-kinds label{cursor:pointer}
.fb-kinds input{position:absolute;opacity:0;pointer-events:none}
.fb-kinds span{display:inline-block;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font:500 13.5px/1.2 var(--ui)}
.fb-kinds input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.fb-kinds input:focus-visible + span{outline:2px solid var(--focus);outline-offset:2px}
.fb-note{margin:-6px 0 0;color:var(--muted);font-size:12.5px}
.fb-send{width:100%}
.fb-send:disabled{opacity:.6;cursor:wait}
.fb-status{margin:0;min-height:1.4em;font-size:14px;color:var(--muted)}
.fb-status.is-ok{color:var(--accent);font-weight:600}
.fb-status.is-error{color:#c2410c}
html[data-theme='dark'] .fb-status.is-error,html[data-theme='black'] .fb-status.is-error{color:#fb923c}
.text-btn{display:block;width:fit-content;margin:14px auto 0;padding:6px 10px;border:0;background:none;color:var(--muted);font:500 14px/1.4 var(--ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.text-btn:hover{color:var(--accent)}
.sel-report{position:fixed;left:0;right:0;margin:0 auto;width:fit-content;top:calc(var(--header-h) + 12px);z-index:65;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:0;border-radius:999px;background:var(--ink);color:var(--bg);font:600 14px/1 var(--ui);box-shadow:var(--shadow);cursor:pointer}
.sel-report .i{width:18px;height:18px}
.novels-more{margin:18px 0 0;color:var(--muted);font:15px/1.5 var(--ui)}
.novels-more .text-btn{display:inline;margin:0;padding:0;color:var(--accent);font-weight:600}

/* ---------- Toast + small bars ---------- */
.toast{position:fixed;left:0;right:0;margin:0 auto;width:fit-content;top:calc(var(--header-h) + 12px);z-index:90;transform:translateY(-12px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:12px 14px 12px 18px;border-radius:14px;background:var(--ink);color:var(--bg);font:500 15px/1.4 var(--ui);box-shadow:var(--shadow);transition:transform .2s,opacity .2s}
.toast.is-on{transform:none;opacity:1;pointer-events:auto}
.toast > span{flex:1}
.toast button{border:0;border-radius:10px;padding:8px 12px;background:var(--accent);color:var(--accent-ink);font:600 14px/1 var(--ui);cursor:pointer;white-space:nowrap}
.toast .toast-x{background:transparent;color:inherit;opacity:.7;padding:8px}
/* notes under the header (announcement, ad-blocker appeal), lined up with the page content */
.notice-bar{background:var(--accent-soft);color:var(--ink);font:14px/1.45 var(--ui);border-bottom:1px solid var(--line)}
.notice-announce{background:var(--surface-2)}
.notice-inner{display:flex;align-items:center;gap:12px;min-height:56px;padding-top:10px;padding-bottom:10px}
.notice-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--surface);font-size:18px;line-height:1}
.notice-text{flex:1;min-width:0}
.notice-text b{display:block;font-weight:700;font-size:14.5px}
.notice-text span{color:var(--ink-soft)}
.notice-bar .icon-btn{width:34px;height:34px;border-radius:10px}
.notice-bar .icon-btn .i{width:17px;height:17px}

/* ---------- Home ---------- */
.home-hero{padding-top:34px;padding-bottom:8px}
.home-hero h1{font:700 clamp(28px,5vw,44px)/1.1 var(--ui);letter-spacing:-.02em;margin:0 0 10px}
.home-hero p{margin:0;color:var(--muted);font-size:17px;max-width:620px}
.home-sec{padding-top:26px;padding-bottom:26px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 14px}
.section-head h2{font:700 21px/1.2 var(--ui);margin:0}
.section-head a{font:600 14px var(--ui);text-decoration:none}
.continue-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.continue-card{display:flex;gap:14px;align-items:center;padding:12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:var(--shadow)}
.continue-card img{width:56px;height:80px;object-fit:cover;border-radius:8px;flex:none;background:var(--surface-2)}
.continue-card b{display:block;font:600 15px/1.3 var(--ui)}
.continue-card small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.bar{height:4px;border-radius:4px;background:var(--surface-2);margin-top:8px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--accent)}
.series-grid{display:grid;gap:18px 14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
@media (min-width:720px){.series-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
.series-card{display:block;color:var(--ink);text-decoration:none}
.series-card .cover{position:relative;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow)}
.series-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.series-card:hover img{transform:scale(1.03)}
.series-card .badge{position:absolute;left:8px;top:8px;padding:3px 8px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:700 11px/1.3 var(--ui)}
.series-card b{display:block;font:600 15px/1.3 var(--ui);margin-top:9px}
.series-card small{display:block;color:var(--muted);font:13px/1.4 var(--ui);margin-top:2px}

/* post lists (home "latest chapters", labels, search) */
.post-list{display:grid;gap:10px}
.is-home .page-wrap{padding-top:0}
.is-home .reading{max-width:none}
@media (min-width:900px){.is-home .post-list{grid-template-columns:1fr 1fr}}
.post-row{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.post-row .thumb{width:52px;height:72px;border-radius:8px;object-fit:cover;flex:none;background:var(--surface-2)}
.post-row h3{margin:0;font:600 16px/1.35 var(--ui)}
.post-row h3 a{color:var(--ink);text-decoration:none}
.post-row h3 a:hover{color:var(--accent)}
.post-row .row-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;color:var(--muted);font:13px/1.4 var(--ui)}
.post-row .series-tag{color:var(--accent);font-weight:600}
.blog-pager{display:flex;justify-content:space-between;gap:10px;margin:22px 0 0}
.list-title{font:700 24px/1.2 var(--ui);margin:0 0 16px}

/* ---------- Series index page ---------- */
.series-hero{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;margin:0 0 22px;font-family:var(--ui)}
@media (min-width:640px){.series-hero{grid-template-columns:170px 1fr;gap:24px}}
.series-hero img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;box-shadow:var(--shadow)}
.series-hero .alt{color:var(--muted);font-size:14px;margin:0 0 10px}
.series-hero .stats{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:14px;margin:0 0 14px}
.series-hero .actions{display:flex;flex-wrap:wrap;gap:8px}
.series-hero .genres{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.series-toc{margin:30px 0 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.series-toc h2{font:700 20px/1.2 var(--ui);margin:0 0 14px}
.is-series .post-body > .separator,.is-series .post-body > hr,.is-series .stylish-header1,.is-series .custom-tab-container,.is-series #arcTitleDescription,.is-series .post-body > h3[align='center'],.is-series .post-body > br{display:none}
.is-series .custom-post p{margin:0 0 1em}

/* ---------- Static pages + tools ---------- */
.is-page .reading,.is-list .reading{max-width:860px}
.is-page .post-body{font-family:var(--ui);font-size:16px;line-height:1.7}

/* The pages and series posts carry their own styles from the old theme (white cards, blue and green
   buttons, serif fonts, light warning boxes). These rules make all of it follow the reader's theme. */
:root{--font-color:var(--ink);--primary-color:var(--accent);--border-color:var(--line);--border-gradient:linear-gradient(135deg,var(--accent),var(--accent))}
.is-page .post-body :where(p,li,dt,dd,label,legend,h1,h2,h3,h4,h5,h6,strong,b,em,small,span,td,th,caption,figcaption,blockquote,div,section,article,header,footer,ul,ol):not(button *):not([class*='btn'] *):not([class*='button'] *):not([class*='btn']):not([class*='button']):not([class*='tab']):not(.highlight){color:var(--ink)!important}
.is-page .post-body .highlight{color:var(--accent)!important}
.is-page .post-body a:not([class*='btn']):not([class*='button']):not([class*='download']):not([class*='tab']){color:var(--accent)!important}
/* cards, panels and tool boxes */
.is-page .post-body :where([class*='container'],[class*='wrapper'],[class*='box'],[class*='card'],[class*='body'],[class*='main'],[class*='panel'],[class*='output'],[class*='result'],[class*='preview'],[class*='info'],[class*='instructions'],[class*='tab-content'],[class*='section'],form,fieldset,table,pre):not([class*='btn']):not([class*='button']):not([class*='progress']):not([class*='warning']):not([class*='error']):not([class*='success']):not([class*='alert']){background-color:var(--surface)!important;border-color:var(--line)!important;box-shadow:none!important}
.is-page .post-body :where(th,td){border-color:var(--line)!important}
.is-page .post-body .tab-tools-container{border-image:none!important;border:1px solid var(--line)!important;border-radius:18px}
/* boxes styled inline in the page (glows, white panels) */
.is-page .post-body [style*='box-shadow']:not(img):not(iframe){box-shadow:none!important;background-color:var(--surface)!important;border:1px solid var(--line)!important;border-radius:16px}
.is-page .post-body :is([style*='background-color: #fff'],[style*='background-color:#fff'],[style*='background: #fff'],[style*='background:#fff'],[style*='background-color: white'],[style*='background: white'],[style*='background-color: rgb(255, 255, 255)']){background-color:var(--surface)!important}
/* fields */
.is-page .post-body :where(input:not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='button']):not([type='submit']),textarea,select){background-color:var(--bg)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;max-width:100%}
.is-page .post-body :where(input,textarea,select):focus{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-soft)!important}
.is-page .post-body ::placeholder{color:var(--muted)!important;opacity:1}
.is-page .post-body input[type='file']::file-selector-button{margin-right:10px;padding:8px 14px;border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 14px var(--ui);cursor:pointer}
.is-page .post-body :where(input[type='checkbox'],input[type='radio'],input[type='range']){accent-color:var(--accent)}
/* buttons (the Utility Tools pills keep their own colours) */
.is-page .post-body :where(button,input[type='button'],input[type='submit'],[class*='btn'],[class*='button'],a[class*='download']):not(.tool-button):not([class*='tab']):not([class*='container']):not([class*='group']){background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important;border-radius:999px!important;box-shadow:none!important;text-shadow:none!important}
.is-page .post-body :where(button,[class*='btn'],[class*='button'],a[class*='download']):not(.tool-button):hover{filter:brightness(1.07)}
.is-page .post-body :where(button,input,[class*='btn']):disabled{opacity:.55;cursor:not-allowed}
/* tabs inside tools */
.is-page .post-body :where(.custom-tab,.tab-button,[class*='-tab']:not([class*='content']):not([class*='tabs']):not([class*='table']):not([class*='container'])){background:var(--surface-2)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none!important}
.is-page .post-body :where(.custom-tab.active,.tab-button.active,[class*='-tab'].active){background:var(--accent)!important;color:var(--accent-ink)!important;border-color:var(--accent)!important}
/* progress bars */
.is-page .post-body [class*='progress'][class*='container'],.is-page .post-body [class*='progress-bar-container']{background:var(--surface-2)!important}
.is-page .post-body [class*='progress']:not([class*='container']){background-color:var(--accent)!important}
/* warning, error and success boxes keep their meaning through a coloured edge */
.is-page .post-body :where([class*='warning'],[class*='alert'],[class*='error'],[class*='success'],[class*='notice']):not(:empty){background:var(--surface-2)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-left:4px solid #d97706!important;border-radius:12px;box-shadow:none!important}
.is-page .post-body :where([class*='error']):not(:empty){border-left-color:#dc2626!important}
.is-page .post-body :where([class*='success']):not(:empty){border-left-color:var(--accent)!important}
.is-page .post-body hr{border:0;border-top:1px solid var(--line)}

/* ---------- Footer ---------- */
.site-footer{margin-top:40px;padding:36px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);font:14px/1.6 var(--ui);color:var(--muted)}
.footer-grid{display:grid;gap:26px;grid-template-columns:1fr}
@media (min-width:720px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.site-footer h4{font:700 14px/1.2 var(--ui);color:var(--ink);margin:0 0 10px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.site-footer a{color:var(--ink-soft);text-decoration:none}
.site-footer a:hover{color:var(--accent)}
.footer-about p{margin:10px 0 12px;max-width:340px}
.socials{display:flex;gap:4px;flex-wrap:wrap}
.follow-title{margin:18px 0 10px!important}
.follow-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px!important}
.follow-list a{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:12px}
.follow-list a:hover{background:var(--surface-2)}
.follow-list .fi{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--ink);flex:none}
.follow-list a:hover .fi{color:var(--accent)}
.follow-list b{display:block;font:600 14px/1.25 var(--ui);color:var(--ink)}
.follow-list small{display:block;font:13px/1.3 var(--ui);color:var(--muted)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:13px}
.footer-bottom p{margin:0}

/* ---------- Contact page form (its markup is in the page itself, from the old theme) ---------- */
.contact-src,.cf-proxy{display:none!important}
.post-body .contact-form-widget{max-width:560px;font-family:var(--ui)}
.post-body .contact-form-widget .uk-margin{margin:0 0 12px}
.post-body .contact-form-widget .uk-form-icon{display:none}
.post-body .contact-form-widget input[type='text'],.post-body .contact-form-widget textarea{display:block;width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:15px/1.45 var(--ui)}
.post-body .contact-form-widget input:focus,.post-body .contact-form-widget textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
/* the old "Send" button is a styled box with the real (invisible) submit input stretched over it */
.post-body .contact-form-widget .uk-button{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 16px/1 var(--ui);cursor:pointer}
.post-body .contact-form-widget .uk-button .contact-form-button-submit{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;cursor:pointer}
.post-body .contact-form-message-box p{margin:10px 0 0;font:14px/1.5 var(--ui)}
.post-body .contact-form-success-message{color:var(--accent)}

/* ---------- Motion + print ---------- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.ad-slot,.chap-end,.chap-nav-top,.comments,.rail,.read-progress,.toast{display:none!important}body{background:#fff;color:#000}}
