:root { --ink-paper:#f6f0e4; --ink-paper-deep:#e8ddc8; --ink-black:#292722; --ink-muted:#746d61; --ink-red:#8f3f35; --ink-line:rgba(72,62,48,.18); }
.ink-novel-app,.ink-novel-public,.ink-novel-reader{max-width:1120px;margin:0 auto;padding:38px 24px 70px;color:var(--ink-black)}
.ink-novel-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:36px 40px;background:linear-gradient(135deg,#292722,#454037);color:#f8f2e8;border-radius:3px;box-shadow:0 16px 45px rgba(40,35,28,.16)}
.ink-novel-hero span,.ink-novel-eyebrow{letter-spacing:.22em;font-size:.72rem;text-transform:uppercase;color:#c8b99f}.ink-novel-hero h1{font-family:Georgia,serif;font-size:2.3rem;margin:.35rem 0}.ink-novel-hero p{margin:0;color:#d8d0c3}
.ink-novel-button,.ink-novel-app button,.ink-novel-dialog button{border:1px solid var(--ink-line);background:#fffdf8;color:var(--ink-black);padding:8px 13px;border-radius:2px;cursor:pointer;text-decoration:none}.ink-novel-button.primary{background:var(--ink-red);border-color:var(--ink-red);color:#fff}.ink-novel-button:hover,.ink-novel-app button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,35,28,.1)}
.ink-novel-stats{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--ink-line);margin:22px 0;background:#fffdf8}.ink-novel-stats div{text-align:center;padding:18px;border-right:1px solid var(--ink-line)}.ink-novel-stats div:last-child{border:0}.ink-novel-stats strong{display:block;font:1.3rem Georgia,serif}.ink-novel-stats span{font-size:.75rem;color:var(--ink-muted)}
.ink-novel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ink-novel-card{position:relative;display:grid;grid-template-columns:100px 1fr auto;gap:18px;padding:20px;background:#fffdf8;border:1px solid var(--ink-line);box-shadow:3px 4px 0 var(--ink-paper-deep)}.ink-novel-cover,.ink-novel-project-cover{display:flex;align-items:center;justify-content:center;background:#36322b;color:#e5d4b7;overflow:hidden;font:2rem Georgia,serif}.ink-novel-cover{width:100px;height:140px}.ink-novel-cover img,.ink-novel-project-cover img,.ink-novel-image-field img{width:100%;height:100%;object-fit:cover}.ink-novel-card h2{font:1.25rem Georgia,serif;margin:7px 0}.ink-novel-card h2 a{color:inherit;text-decoration:none}.ink-novel-card p{color:var(--ink-muted);font-size:.86rem;line-height:1.65}.ink-novel-card footer,.ink-novel-meta{display:flex;gap:13px;font-size:.76rem;color:var(--ink-muted)}.ink-novel-card menu{display:flex;flex-direction:column;gap:7px;margin:0;padding:0}.ink-novel-status{font-size:.7rem;color:var(--ink-red);letter-spacing:.1em}.ink-novel-empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--ink-muted)}
.ink-novel-back{margin-bottom:18px}.ink-novel-back a{color:var(--ink-muted)}.ink-novel-project-head{display:grid;grid-template-columns:120px 1fr auto;gap:24px;padding:25px;background:#fffdf8;border:1px solid var(--ink-line)}.ink-novel-project-cover{width:120px;height:168px}.ink-novel-project-head h1{font:2rem Georgia,serif;margin:8px 0}.ink-novel-project-head p{color:var(--ink-muted);line-height:1.7}.ink-novel-head-actions{display:flex;align-items:start;gap:8px}
.ink-novel-tabs{display:flex;margin-top:28px;border-bottom:1px solid var(--ink-line)}.ink-novel-tabs button{border:0;background:transparent;box-shadow:none;padding:12px 18px;color:var(--ink-muted)}.ink-novel-tabs button.active{color:var(--ink-red);border-bottom:2px solid var(--ink-red)}.ink-novel-panel{display:none;padding:22px 0}.ink-novel-panel.active{display:block}.ink-novel-panel>header,.ink-novel-volume>header{display:flex;justify-content:space-between;align-items:center}.ink-novel-panel h2{font:1.4rem Georgia,serif}
.ink-novel-volume{margin:13px 0;padding:18px 20px;background:#fffdf8;border:1px solid var(--ink-line)}.ink-novel-volume h3{font:1.1rem Georgia,serif;margin:0}.ink-novel-volume header p{margin:.35rem 0 0;color:var(--ink-muted);font-size:.8rem}.ink-novel-volume header>div:last-child{display:flex;gap:6px}.ink-novel-volume ol{list-style:none;padding:0;margin:15px 0 0;border-top:1px dashed var(--ink-line)}.ink-novel-volume li{display:grid;grid-template-columns:45px 1fr auto auto;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px dashed var(--ink-line)}.ink-novel-volume li>a{color:inherit;text-decoration:none}.ink-novel-volume li small{color:var(--ink-muted)}.ink-novel-volume menu{display:flex;gap:5px;margin:0;padding:0}.ink-novel-volume select{max-width:100px}
.ink-novel-entities{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ink-novel-entities article{display:grid;grid-template-columns:54px 1fr auto;gap:13px;padding:15px;background:#fffdf8;border:1px solid var(--ink-line)}.ink-novel-entities img,.ink-novel-entities article>span{width:54px;height:54px;object-fit:cover;background:#37332d;color:#e6d8c0;display:grid;place-items:center}.ink-novel-entities h3{margin:2px 0;font:1rem Georgia,serif}.ink-novel-entities p,.ink-novel-entities small{margin:0;color:var(--ink-muted);font-size:.75rem}.ink-novel-entities menu{margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ink-novel-subtabs{display:flex;gap:5px;margin-bottom:14px}.ink-novel-subtabs .active{background:var(--ink-black);color:#fff}
.ink-novel-calendar{display:grid;grid-template-columns:repeat(30,1fr);gap:4px}.ink-novel-calendar i{aspect-ratio:1;background:color-mix(in srgb,var(--ink-red) calc(var(--ink) * 100%),#e9e1d3);border:1px solid rgba(80,60,40,.08)}
.ink-novel-dialog{width:min(590px,92vw);border:1px solid var(--ink-line);border-radius:3px;background:var(--ink-paper);box-shadow:0 20px 70px rgba(30,25,20,.3);padding:0}.ink-novel-dialog::backdrop{background:rgba(35,31,26,.62)}.ink-novel-dialog form{padding:24px}.ink-novel-dialog header,.ink-novel-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.ink-novel-dialog header h2{font:1.4rem Georgia,serif}.ink-novel-dialog label{display:grid;gap:6px;margin:13px 0;font-size:.82rem;color:var(--ink-muted)}.ink-novel-dialog input,.ink-novel-dialog textarea,.ink-novel-dialog select{box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--ink-line);background:#fffdf8;color:var(--ink-black)}.ink-novel-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ink-novel-check{display:flex!important}.ink-novel-check input{width:auto}.ink-novel-image-field{display:flex;align-items:center;gap:12px;margin:14px 0}.ink-novel-image-field [data-image-preview]{width:70px;height:90px;background:#ddd3c1;display:grid;place-items:center;font-size:.72rem;overflow:hidden}.ink-novel-dialog footer{justify-content:flex-end;margin-top:20px}.ink-novel-image-dialog{padding:20px}.ink-novel-image-dialog>.ink-novel-image-tools{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.ink-novel-image-dialog>div{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px}.ink-novel-image-dialog>[data-grid] button{padding:0;aspect-ratio:1}.ink-novel-image-dialog img{width:100%;height:100%;object-fit:cover}
#ink-novel-toast{position:fixed;right:24px;bottom:24px;z-index:10000;padding:12px 18px;background:#2f2b25;color:#fff;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}#ink-novel-toast.show{opacity:1;transform:none}#ink-novel-toast.error{background:#8f3f35}
.ink-novel-paper{background:#fffdf8;border:1px solid var(--ink-line);box-shadow:8px 9px 0 var(--ink-paper-deep);padding:50px}.ink-novel-book-head{display:grid;grid-template-columns:150px 1fr;gap:30px;padding-bottom:35px;border-bottom:1px solid var(--ink-line)}.ink-novel-public-cover{width:150px;height:210px;background:#332f29;color:#e6d6bb;display:grid;place-items:center;font:3rem Georgia,serif}.ink-novel-public-cover img{width:100%;height:100%;object-fit:cover}.ink-novel-book-head h1{font:2.4rem Georgia,serif;margin:7px 0}.ink-novel-catalog section{margin-top:30px}.ink-novel-catalog h2{font:1.25rem Georgia,serif;border-bottom:1px solid var(--ink-line);padding-bottom:10px}.ink-novel-catalog ol{padding:0;list-style:none}.ink-novel-catalog li a{display:grid;grid-template-columns:90px 1fr auto;gap:15px;padding:12px;color:inherit;text-decoration:none;border-bottom:1px dashed var(--ink-line)}.ink-novel-catalog li a:hover{background:var(--ink-paper)}.ink-novel-catalog time{color:var(--ink-muted)}
.ink-novel-reader{max-width:900px}.ink-novel-reader-crumb{display:flex;justify-content:space-between;margin-bottom:18px}.ink-novel-reader-crumb a{color:var(--ink-red)}.ink-novel-chapter>header{text-align:center;padding-bottom:30px;border-bottom:1px solid var(--ink-line)}.ink-novel-chapter>header>p{color:var(--ink-red);letter-spacing:.1em}.ink-novel-chapter h1{font:2.2rem Georgia,serif}.ink-novel-chapter>header>div{display:flex;justify-content:center;gap:15px;color:var(--ink-muted);font-size:.8rem}.ink-novel-chapter-content{font-size:1.05rem;line-height:2.05;margin-top:35px}.ink-novel-chapter-content p{margin:1.2em 0}.ink-novel-chapter-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:30px}.ink-novel-chapter-nav>div:last-child{text-align:right}.ink-novel-chapter-nav a{display:flex;justify-content: space-between;color:inherit;text-decoration:none}.ink-novel-chapter-nav .catalog{border:1px solid var(--ink-line);padding:10px 18px}
.ink-novel-write-nav{border-bottom:1px solid var(--ink-line);padding:14px}.ink-novel-write-nav header{display:flex;justify-content:space-between}.ink-novel-volume-nav{display:flex;gap:5px;overflow:auto;margin:10px 0}.ink-novel-volume-nav a{white-space:nowrap;padding:5px 8px;color:inherit;text-decoration:none;border:1px solid transparent}.ink-novel-volume-nav a.active{border-color:var(--ink-red);color:var(--ink-red)}.ink-novel-volume-nav small{margin-left:5px}.ink-novel-chapter-nav{max-height:240px;overflow:auto}.ink-novel-chapter-nav>a{display:grid;grid-template-columns:25px 1fr auto;gap:6px;padding:7px;color:inherit;text-decoration:none}.ink-novel-chapter-nav>a.active{background:var(--ink-paper)}
@media(max-width:680px){.ink-novel-app,.ink-novel-public,.ink-novel-reader{padding:20px 12px 45px}.ink-novel-hero{padding:25px;align-items:start}.ink-novel-stats{grid-template-columns:repeat(3,1fr)}.ink-novel-grid{grid-template-columns:1fr}.ink-novel-card{grid-template-columns:75px 1fr}.ink-novel-card menu{grid-column:1/-1;flex-direction:row}.ink-novel-cover{width:75px;height:105px}.ink-novel-project-head{grid-template-columns:80px 1fr}.ink-novel-project-cover{width:80px;height:112px}.ink-novel-head-actions{grid-column:1/-1}.ink-novel-entities{grid-template-columns:1fr}.ink-novel-volume li{grid-template-columns:32px 1fr}.ink-novel-volume li small,.ink-novel-volume li menu{grid-column:2}.ink-novel-volume header>div:last-child{flex-wrap:wrap}.ink-novel-paper{padding:25px 20px;box-shadow:4px 5px 0 var(--ink-paper-deep)}.ink-novel-book-head{grid-template-columns:90px 1fr;gap:18px}.ink-novel-public-cover{width:90px;height:126px}.ink-novel-book-head h1{font-size:1.7rem}.ink-novel-catalog li a{grid-template-columns:65px 1fr}.ink-novel-catalog time{grid-column:2}.ink-novel-chapter h1{font-size:1.7rem}.ink-novel-chapter-nav{grid-template-columns:1fr auto 1fr}.ink-novel-image-dialog>div{grid-template-columns:repeat(3,1fr)}}

/* Align fiction management and reading with the shared paper system. */
.ink-novel-app,.ink-novel-public,.ink-novel-reader{width:100%;max-width:none;padding:0;color:var(--ink)}
.ink-novel-app{font-family:var(--sans)}
.ink-novel-app h1,.ink-novel-app h2,.ink-novel-app h3,
.ink-novel-public h1,.ink-novel-public h2,.ink-novel-reader h1{font-family:var(--serif)}
.ink-novel-hero{padding:clamp(1.75rem,5vw,3.2rem);border:1px solid #24231f;border-radius:1px}
.ink-novel-hero h1{font-family:var(--serif);font-size:clamp(2rem,6vw,3.3rem)}
.ink-novel-button,.ink-novel-app button,.ink-novel-dialog button{min-height:40px;border-radius:1px;font-family:var(--sans)}
.ink-novel-button:hover,.ink-novel-app button:hover{transform:none;box-shadow:none;border-color:var(--ink)}
.ink-novel-button.primary{background:var(--accent);border-color:var(--accent)}
.ink-novel-stats{grid-template-columns:repeat(6,minmax(0,1fr));background:var(--paper-raised);border-color:var(--rule)}
.ink-novel-stats div{min-width:0;border-color:var(--rule)}
.ink-novel-card,.ink-novel-project-head,.ink-novel-volume,.ink-novel-entities article{background:rgba(252,250,245,.75);border-color:var(--rule);box-shadow:4px 4px 0 rgba(201,193,179,.48)}
.ink-novel-card{grid-template-columns:90px minmax(0,1fr) auto}
.ink-novel-cover{width:90px;height:126px}
.ink-novel-card p{overflow-wrap:anywhere}
.ink-novel-card menu button,.ink-novel-volume menu button{min-height:34px}
.ink-novel-project-head{grid-template-columns:120px minmax(0,1fr) auto}
.ink-novel-tabs{gap:.25rem;overflow-x:auto;scrollbar-width:thin}
.ink-novel-tabs button{flex:0 0 auto;white-space:nowrap}
.ink-novel-panel>header{gap:1rem}
.ink-novel-panel>header>div{display:flex;gap:.5rem}
.ink-novel-search{min-height:40px;padding:.45rem .65rem;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule)}
.ink-novel-volume li{grid-template-columns:44px minmax(130px,1fr) auto auto}
.ink-novel-volume li menu{flex-wrap:wrap;justify-content:flex-end}
.ink-novel-volume select{min-height:34px;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule)}
.ink-novel-empty{border:1px dashed var(--rule);background:rgba(252,250,245,.45)}
.ink-novel-empty.error{color:var(--accent);border-color:rgba(123,57,46,.45)}
.ink-novel-calendar{grid-template-columns:repeat(30,minmax(7px,1fr));overflow:hidden}
.ink-novel-dialog{color:var(--ink);background:var(--paper);border-color:var(--rule);border-radius:1px}
.ink-novel-dialog input,.ink-novel-dialog textarea,.ink-novel-dialog select{font-family:var(--sans);border-color:var(--rule);border-radius:1px}
.ink-novel-dialog header button[aria-label]{width:40px;padding:0;font-size:1.25rem}
.ink-novel-image-dialog>header{padding:0 0 .75rem;border-bottom:1px solid var(--rule)}
#ink-novel-toast{font-family:var(--sans);border:1px solid rgba(255,255,255,.22)}

.ink-novel-paper{padding:clamp(1.4rem,6vw,4rem);background:var(--paper-raised);border-color:var(--rule);box-shadow:7px 8px 0 rgba(201,193,179,.5)}
.ink-novel-public-back{margin-bottom:2rem;font:600 .78rem/1.5 var(--sans)}
.ink-novel-public-back a{text-decoration:none}
.ink-novel-book-head{grid-template-columns:140px minmax(0,1fr);gap:clamp(1.25rem,4vw,2.5rem)}
.ink-novel-public-cover{width:140px;height:196px}
.ink-novel-public-cover[data-cover-full]{cursor:zoom-in}
.ink-novel-public-cover[data-cover-full] img:hover{filter:brightness(.96)}
.ink-novel-book-head h1{font-size:clamp(2rem,6vw,3.2rem)}
.ink-novel-book-head p{max-width:640px;color:var(--ink-soft);line-height:1.8}
.ink-novel-author-link{color:var(--accent);font-weight:600;text-decoration:none}
.ink-novel-author-link:hover{text-decoration:underline;text-underline-offset:.2em}
.ink-novel-view-stat{color:var(--ink-soft);font:500 .8rem/1.5 var(--sans);letter-spacing:.02em}
.public-view-stat{max-width:780px;margin:.75rem auto 0}
.public-view-stat-inline{display:inline-block;margin-left:.8rem;white-space:nowrap}
.ink-novel-catalog{max-width:780px;margin:0 auto}
.ink-novel-catalog section{margin-top:1.5rem}
.ink-novel-catalog h2{font-size:1.05rem;padding-bottom:.45rem}
.ink-novel-catalog li a{grid-template-columns:72px minmax(0,1fr) auto;gap:.65rem;padding:.5rem .3rem;align-items:baseline;font-size:.92rem}
.ink-novel-catalog li strong{font-weight:600}

.ink-novel-reader{max-width:820px}
.ink-novel-reader-crumb{gap:1rem;font:600 .78rem/1.5 var(--sans)}
.ink-novel-reader-crumb span{color:var(--ink-soft)}
.ink-novel-chapter{padding-inline:clamp(1.25rem,8vw,5.5rem)}
.ink-novel-chapter>header .ink-reader-chapter-kicker,
.ink-novel-chapter>header .ink-reader-chapter-meta{display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap;color:var(--ink-soft);font-size:.8rem}
.ink-novel-chapter>header .ink-reader-chapter-kicker{margin-bottom:.45rem;color:var(--accent);font-weight:600;letter-spacing:.08em}
.ink-novel-chapter>header .ink-reader-chapter-kicker span+span{color:var(--ink-soft);font-weight:500;letter-spacing:0}
.ink-novel-chapter>header .ink-reader-chapter-meta time{white-space:nowrap}
.ink-novel-chapter>header .ink-reader-chapter-meta .ink-novel-author-link{font-weight:600}
.ink-novel-chapter-content{max-width:700px;margin:1.5rem auto 0;font-size:clamp(.98rem,1.9vw,1.08rem);line-height:1.8;overflow-wrap:anywhere}
.ink-novel-chapter-content h2,.ink-novel-chapter-content h3{margin-top:1.8em;line-height:1.35}
.ink-novel-chapter-content blockquote{margin:2rem 0;padding:.2rem 1.3rem;color:var(--ink-soft);border-left:3px solid var(--accent)}
.ink-novel-chapter-content img{margin:2rem auto}
.ink-novel-chapter-nav{font-family:var(--sans)}
.ink-novel-chapter-nav small{color:var(--ink-soft)}

@media(max-width:680px){
  .ink-novel-app,.ink-novel-public,.ink-novel-reader{padding:0}
  .ink-novel-hero{align-items:start}
  .ink-novel-stats{grid-template-columns:repeat(3,1fr)}
  .ink-novel-card{grid-template-columns:72px minmax(0,1fr)}
  .ink-novel-cover{width:72px;height:102px}
  .ink-novel-project-head{grid-template-columns:80px minmax(0,1fr)}
  .ink-novel-panel>header{align-items:flex-start}
  .ink-novel-volume{padding:1rem}
  .ink-novel-volume>header{align-items:flex-start;gap:1rem}
  .ink-novel-volume li{grid-template-columns:30px minmax(0,1fr)}
  .ink-novel-volume li small,.ink-novel-volume li menu{grid-column:2}
  .ink-novel-volume li menu{justify-content:flex-start}
  .ink-novel-paper{padding:1.5rem 1.15rem}
  .ink-novel-book-head{grid-template-columns:82px minmax(0,1fr);gap:1rem}
  .ink-novel-public-cover{width:82px;height:116px}
  .ink-novel-catalog li a{grid-template-columns:60px minmax(0,1fr);padding-inline:.25rem}
  .ink-novel-catalog time{grid-column:2}
  .ink-novel-chapter-nav{gap:.65rem}
  .ink-novel-chapter-nav strong{display:none}
  .ink-novel-dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}
  .ink-novel-form-row{grid-template-columns:1fr}
}

/* User-selected dark mode: map the legacy novel palette to the shared paper variables. */
html.ink-user-dark body {
  --ink-paper: var(--paper);
  --ink-paper-deep: #101214;
  --ink-black: var(--ink);
  --ink-muted: var(--ink-soft);
  --ink-red: var(--accent);
  --ink-line: color-mix(in srgb, var(--rule) 78%, transparent);
}
html.ink-user-dark body .ink-novel-hero { background: linear-gradient(135deg, #101214, #25282b); color: var(--ink); border-color: var(--rule); }
html.ink-user-dark body .ink-novel-hero span,
html.ink-user-dark body .ink-novel-eyebrow { color: #D2B7A8; }
html.ink-user-dark body .ink-novel-hero p { color: var(--ink-soft); }
html.ink-user-dark body .ink-novel-stats,
html.ink-user-dark body .ink-novel-card,
html.ink-user-dark body .ink-novel-project-head,
html.ink-user-dark body .ink-novel-volume,
html.ink-user-dark body .ink-novel-entities article,
html.ink-user-dark body .ink-novel-paper { background: var(--paper-raised); border-color: var(--rule); box-shadow: 4px 4px 0 color-mix(in srgb, var(--rule) 72%, transparent); }
html.ink-user-dark body .ink-novel-button,
html.ink-user-dark body .ink-novel-app button,
html.ink-user-dark body .ink-novel-dialog button { color: var(--ink); background: var(--paper-raised); border-color: var(--rule); }
html.ink-user-dark body .ink-novel-button.primary { color: #17181A; background: var(--accent); border-color: var(--accent); }
html.ink-user-dark body .ink-novel-tabs button,
html.ink-user-dark body .ink-novel-search,
html.ink-user-dark body .ink-novel-volume select,
html.ink-user-dark body .ink-novel-dialog input,
html.ink-user-dark body .ink-novel-dialog textarea,
html.ink-user-dark body .ink-novel-dialog select { color: var(--ink); background: var(--paper); border-color: var(--rule); }
html.ink-user-dark body .ink-novel-reader-crumb { background: linear-gradient(100deg, var(--paper-raised), color-mix(in srgb, var(--paper-raised) 72%, transparent)); box-shadow: 3px 3px 0 color-mix(in srgb, var(--rule) 62%, transparent); }
html.ink-user-dark body .ink-novel-reader-crumb .ink-reader-volume { background: color-mix(in srgb, var(--rule) 28%, transparent); border-color: var(--rule); }
html.ink-user-dark body .ink-novel-reader-crumb .catalog-link { border-color: var(--accent); }
html.ink-user-dark body .ink-novel-catalog li a:hover,
html.ink-user-dark body .ink-novel-chapter-nav>a.active { background: color-mix(in srgb, var(--paper-raised) 78%, var(--accent)); }
html.ink-user-dark body .ink-novel-image-field [data-image-preview],
html.ink-user-dark body .ink-novel-cover,
html.ink-user-dark body .ink-novel-project-cover { background: #282B2E; color: #D7C3B5; }

@media(max-width:520px){
  .ink-novel-hero{display:grid}
  .ink-novel-hero .ink-novel-button{width:100%}
  .ink-novel-stats div{padding:1rem .4rem}
  .ink-novel-project-head{padding:1rem}
  .ink-novel-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .ink-novel-panel>header{display:grid}
  .ink-novel-panel>header>div{width:100%}
  .ink-novel-search{min-width:0;flex:1}
  .ink-novel-book-head{grid-template-columns:1fr}
  .ink-novel-public-cover{width:92px;height:129px}
  .ink-novel-reader-crumb{display:grid}
  .ink-novel-chapter-nav{grid-template-columns:1fr auto 1fr}
}

@media(prefers-reduced-motion:reduce){
  #ink-novel-toast,.ink-novel-button,.ink-novel-app button{transition:none!important}
}

/* Bookmarks and personal reading shelf. */
.ink-novel-public-actions{display:flex;justify-content:flex-end;margin:.9rem 0 0}
.ink-novel-bookmark{min-height:38px;padding:.55rem 1rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper-raised);color:var(--ink);font:600 .82rem/1 var(--sans);cursor:pointer}
.ink-novel-bookmark:hover,.ink-novel-bookmark.is-bookmarked{border-color:var(--accent);color:var(--accent)}
.ink-novel-chapter{position:relative}
.ink-novel-view-corner{position:absolute;top:1.15rem;left:clamp(1.15rem,4vw,2.75rem);margin:0;z-index:2}
.ink-reader-actions{position:absolute;top:1.15rem;right:clamp(1.15rem,4vw,2.75rem);z-index:2}
.ink-shelf-page{width:100%;padding:clamp(1.5rem,5vw,4rem) 0 5rem;color:var(--ink)}
.ink-shelf-head{padding-bottom:2rem;border-bottom:1px solid var(--rule)}
.ink-shelf-head h1{margin:.35rem 0;font:clamp(2rem,5vw,3rem) var(--serif)}
.ink-shelf-head p:last-child{color:var(--ink-soft)}
.ink-shelf-section{margin-top:2.5rem}
.ink-shelf-section>header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}
.ink-shelf-section h2{margin:0;font:1.35rem var(--serif)}
.ink-shelf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ink-shelf-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:1rem;min-height:112px;padding:1rem;background:var(--paper-raised);border:1px solid var(--rule);box-shadow:3px 3px 0 color-mix(in srgb,var(--rule) 58%,transparent)}
.ink-shelf-cover{display:grid;place-items:center;width:76px;height:106px;overflow:hidden;background:#302e2a;color:#e7d8c0;font:1.15rem var(--serif);text-decoration:none}
.ink-shelf-cover img{width:100%;height:100%;object-fit:cover}
.ink-shelf-card h3{margin:0 0 .4rem;font:1.08rem var(--serif)}
.ink-shelf-card h3 a{color:inherit;text-decoration:none}
.ink-shelf-card p{margin:0;color:var(--ink-soft);font-size:.8rem;line-height:1.55}
.ink-shelf-continue{display:block;margin-top:.7rem;color:var(--accent);font-size:.78rem;font-weight:600;text-decoration:none}
.ink-shelf-loading,.ink-shelf-empty{grid-column:1/-1;padding:1.5rem;border:1px dashed var(--rule);color:var(--ink-soft)}
@media(max-width:680px){.ink-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ink-shelf-grid{grid-template-columns:1fr}.ink-shelf-head{padding-inline:.25rem}.ink-novel-public-actions{justify-content:flex-start}.ink-reader-actions{top:.75rem;right:.75rem}.ink-reader-actions .ink-novel-bookmark{min-height:34px;padding:.45rem .7rem;font-size:.75rem}}

.ink-public-library{width:100%;padding:clamp(1.5rem,5vw,4rem) 0 5rem;color:var(--ink)}
.ink-library-head{padding-bottom:2rem;border-bottom:1px solid var(--rule)}
.ink-library-head h1{margin:.35rem 0;font:clamp(2rem,5vw,3rem) var(--serif)}
.ink-library-head p:last-child{color:var(--ink-soft)}
.ink-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.ink-library-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:1.1rem;padding:1.1rem;background:var(--paper-raised);border:1px solid var(--rule);box-shadow:4px 4px 0 color-mix(in srgb,var(--rule) 58%,transparent)}
.ink-library-cover{display:grid;place-items:center;width:108px;height:150px;overflow:hidden;background:#302e2a;color:#e7d8c0;font:1.3rem var(--serif);text-decoration:none}
.ink-library-cover img{width:100%;height:100%;object-fit:cover}.ink-library-cover[data-cover-full]{cursor:zoom-in}
.ink-library-card-body{min-width:0}.ink-library-status{margin:0;color:var(--accent);font:600 .7rem/1.3 var(--sans);letter-spacing:.08em}
.ink-library-card h2{margin:.35rem 0 .5rem;font:1.25rem var(--serif)}.ink-library-card h2 a{color:inherit;text-decoration:none}
.ink-library-card-body>p:not(.ink-library-status){margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.ink-library-card footer{display:flex;gap:.75rem;margin-top:1rem;color:var(--ink-soft);font-size:.75rem}.ink-library-card footer a{color:var(--accent);text-decoration:none}
.ink-library-pagination{display:flex;justify-content:center;gap:.45rem;margin-top:2.5rem}.ink-library-pagination a{display:grid;place-items:center;min-width:2.2rem;height:2.2rem;border:1px solid var(--rule);color:var(--ink);text-decoration:none;font:600 .8rem var(--sans)}.ink-library-pagination a:hover,.ink-library-pagination a.is-current{border-color:var(--accent);background:var(--accent);color:#fff}
@media(max-width:900px){.ink-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ink-library-grid{grid-template-columns:1fr}.ink-library-card{grid-template-columns:88px minmax(0,1fr)}.ink-library-cover{width:88px;height:122px}}

.ink-novel-refs{display:grid;gap:6px;margin:14px 0;font-size:.82rem;color:var(--ink-muted)}
.ink-novel-refs>strong{font-weight:600}
.ink-novel-refs a{display:grid;gap:2px;padding:8px 10px;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);text-decoration:none}
.ink-novel-refs a:hover{border-color:var(--accent)}
.ink-novel-refs a small{color:var(--ink-soft)}
.ink-novel-refs .ink-novel-empty{padding:18px;text-align:left}

/* ===== 章节阅读页优化 ===== */
/* 顶部阅读进度条 */
.ink-reader-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:30;pointer-events:none}
.ink-reader-progress i{display:block;height:100%;width:0;background:var(--accent)}

/* 正文排版：两端对齐 + 首行缩进，贴合中文阅读习惯 */
.ink-novel-reader{position:relative}
.ink-novel-chapter{padding-inline:0}
.ink-novel-chapter-content{text-align:justify}
.ink-novel-chapter-content>p:first-child{margin-top:0}
.ink-novel-chapter-content p{text-indent:2em;margin:0}
.ink-novel-chapter-content .yb-scene-break{
    margin:1.4rem auto;text-align:center;color:var(--ink-soft);
    font-size:.78rem;letter-spacing:.55em;text-indent:0
}
.ink-novel-chapter-content .yb-ref-entity{
    color:var(--accent);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.18em;cursor:pointer;white-space:nowrap
}
.ink-novel-reader:not(.ink-reader-entity-refs-enabled) .yb-ref-entity{cursor:default}
.ink-novel-chapter-content .yb-ref-entity:hover,.ink-novel-chapter-content .yb-ref-entity:focus{color:var(--ink-red)}
.ink-novel-chapter-content .yb-ref-entity:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}

.ink-reader-entity-dialog{width:min(32rem,calc(100vw - 2rem));max-height:min(70vh,34rem);padding:0;overflow:auto;border:1px solid var(--ink-line);border-radius:3px;background:var(--ink-paper);color:var(--ink);box-shadow:0 20px 70px rgba(30,25,20,.3)}
.ink-reader-entity-dialog::backdrop{background:rgba(35,31,26,.52)}
.ink-reader-entity-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem .8rem;border-bottom:1px solid var(--ink-line)}
.ink-reader-entity-dialog header div{display:grid;gap:.18rem}.ink-reader-entity-dialog header strong{font:600 1.2rem var(--serif)}.ink-reader-entity-dialog header small{color:var(--ink-soft);font-size:.72rem}
.ink-reader-entity-dialog header button{width:2rem;height:2rem;padding:0;border:0;background:none;color:var(--ink-soft);font-size:1.3rem;cursor:pointer}.ink-reader-entity-dialog header button:hover{color:var(--accent)}
.ink-reader-entity-dialog .ink-reader-entity-summary,.ink-reader-entity-dialog .ink-reader-entity-detail{margin:0;padding:1rem 1.2rem;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.ink-reader-entity-dialog .ink-reader-entity-detail{padding-top:0;color:var(--ink-soft);font-size:.92rem}
.ink-novel-chapter-content ul,.ink-novel-chapter-content ol{padding-left:1.6em;margin:1.4em 0}
.ink-novel-chapter-content li{margin:.35em 0}
.ink-novel-chapter-content pre{
    overflow:auto;padding:1.2rem 1.35rem;margin:1.8em 0;
    background:#292824;color:#f4f0e7;border-radius:2px;font-size:.9em;line-height:1.7
}
.ink-novel-chapter-content code{
    font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
    font-size:.92em;background:rgba(40,35,28,.08);padding:.12em .35em;border-radius:2px
}
.ink-novel-chapter-content pre code{background:none;padding:0}
.ink-novel-chapter-content table{width:100%;border-collapse:collapse;margin:1.8em auto;font-size:.95em}
.ink-novel-chapter-content th,.ink-novel-chapter-content td{padding:.55rem .7rem;border:1px solid var(--rule);text-align:left}
.ink-novel-chapter-content hr{border:0;border-top:1px solid var(--rule);margin:2.75rem auto}

/* 上一章 / 目录 / 下一章 导航 */
.ink-novel-reader .ink-novel-chapter-nav{gap:1.25rem;margin-top:1.5rem}
.ink-novel-reader .ink-novel-chapter-nav .prev,
.ink-novel-reader .ink-novel-chapter-nav .next{
    display:flex;flex-direction:column;gap:.35rem;line-height:1.4;
    padding:.4rem 0;color:inherit;text-decoration:none
}
.ink-novel-reader .ink-novel-chapter-nav .next{align-items:flex-end;text-align:right}
.ink-novel-reader .ink-novel-chapter-nav small{
    display:flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-weight:600;letter-spacing:.04em
}
.ink-novel-reader .ink-novel-chapter-nav strong{font-family:var(--serif);font-weight:600;font-size:1.02rem}
.ink-novel-reader .ink-novel-chapter-nav .prev:hover strong,
.ink-novel-reader .ink-novel-chapter-nav .next:hover strong{color:var(--accent)}
.ink-novel-reader .ink-novel-chapter-nav .catalog{flex:0 0 auto;padding:.6rem 1.3rem;font-weight:600}
.ink-reader-transition{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;gap:.65rem;background:color-mix(in srgb,var(--paper) 78%,transparent);color:var(--ink);font:600 .85rem/1.4 var(--sans);opacity:0;pointer-events:none;transition:opacity .16s ease;backdrop-filter:blur(3px)}
body.ink-reader-transitioning .ink-reader-transition{opacity:1}
.ink-reader-transition-spinner{width:1.1rem;height:1.1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ink-spin .7s linear infinite}

/* 边距收紧（桌面）：纸页垂直内边距、标题下距。移动端收紧值在下文媒体查询中后置覆盖 */
.ink-novel-reader .ink-novel-chapter{padding-block:clamp(1.25rem,4vw,2.75rem)}
.ink-novel-chapter>header{padding-bottom:1.25rem}

/* 移动版：全屏沉浸阅读 + 底部固定章节栏 */
@media(max-width:520px){
  .ink-novel-reader{padding:0 0 calc(4.6rem + env(safe-area-inset-bottom))}
  .ink-novel-reader .ink-novel-paper{padding:0;border:0;box-shadow:none;background:transparent}
  .ink-novel-chapter{padding-inline:.9rem}
  .ink-novel-view-corner{top:.75rem;left:.9rem;font-size:.72rem}
  .ink-novel-chapter>header{padding-bottom:1rem}
  .ink-novel-chapter>header>div{gap:.8rem}
  .ink-novel-chapter-content{font-size:1rem;line-height:1.8;margin-top:1.2rem}
  .ink-novel-reader-crumb{padding:0 .9rem;gap:.6rem}
  .ink-novel-reader .ink-novel-chapter-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;
    grid-template-columns:1fr auto 1fr;gap:.5rem;
    padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));
    background:rgba(251,248,241,.96);border-top:1px solid var(--rule);
    backdrop-filter:blur(10px);box-shadow:0 -6px 22px rgba(40,35,28,.1)
  }
  .ink-novel-reader .ink-novel-chapter-nav .prev,
  .ink-novel-reader .ink-novel-chapter-nav .next{
    min-height:44px;justify-content:center;align-items:center;padding:.25rem .3rem;border-radius:2px
  }
  .ink-novel-reader .ink-novel-chapter-nav .prev:active,
  .ink-novel-reader .ink-novel-chapter-nav .next:active{background:rgba(123,60,46,.08)}
  .ink-novel-reader .ink-novel-chapter-nav small{font-size:.78rem;line-height:1.9}
  .ink-novel-reader .ink-novel-chapter-nav strong{display:none}
  .ink-novel-reader .ink-novel-chapter-nav .catalog{
    padding:.6rem 1.1rem;min-height:44px;display:grid;place-items:center;
    background:var(--accent);color:#fff;border-color:var(--accent)
  }
}

/* ===== 分页阅读：每页一屏 ===== */
/* 分页态下旧章导航隐藏；其 prev/next 链接被 reader.js 读取作为上下文按钮的跳转目标 */
body.ink-reader-paged .ink-novel-reader .ink-novel-chapter-nav{display:none}
body.ink-reader-paged .ink-novel-reader .ink-novel-view-corner{display:none}

/* 页容器与页 */
.ink-reader-pager{overflow:hidden}
/* 分页区收窄外边距：顶部 1.5rem → 0.6rem，文本列 700px → 780px，
   左右让位更多正文（顶部收窄也抬高 JS 算出的页高，每屏内容更多） */
.ink-reader-pager.ink-novel-chapter-content{margin-top:.6rem;max-width:780px}
/* 分页态收紧章节容器的左右内边距（基类 padding-inline 最高 5.5rem/边），正文更贴近视口 */
body.ink-reader-paged .ink-novel-reader .ink-novel-chapter{padding-inline:clamp(1rem,4vw,2.5rem)}
.ink-reader-page{display:none;height:100%;box-sizing:border-box}
.ink-reader-page.active{display:block}
.ink-reader-page.tall{overflow-y:auto}
.ink-reader-page>p:first-child{margin-top:0}
.ink-novel-chapter-content p.ink-page-cont{text-indent:0}

/* 首页章节标题（被移入第 1 页；原 `.ink-novel-chapter>header` 直接子选择器不再命中） */
.ink-reader-page-head{text-align:center;padding-bottom:.7rem;margin-bottom:.9rem;border-bottom:1px solid var(--rule)}
.ink-reader-page-head p{color:var(--accent);letter-spacing:.1em;text-indent:0;margin:0 0 .2rem}
.ink-reader-page-head .ink-reader-chapter-kicker{display:flex;justify-content:center;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.2rem;color:var(--accent);font:600 .72rem/1.4 var(--sans);letter-spacing:.08em}
.ink-reader-page-head .ink-reader-chapter-kicker span+span{color:var(--ink-soft);font-weight:500;letter-spacing:0}
.ink-reader-page-head .ink-reader-chapter-meta{display:flex;justify-content:center;align-items:center;gap:.7rem;flex-wrap:wrap;color:var(--ink-soft);font-size:.72rem}
.ink-reader-page-head .ink-reader-chapter-meta time{white-space:nowrap}
.ink-reader-page-head h1{font-size:clamp(1.25rem,4vw,1.7rem);margin:.1rem 0 .35rem}
.ink-reader-page-head div{display:flex;justify-content:center;gap:.7rem;color:var(--ink-soft);font-size:.72rem;flex-wrap:wrap}

/* 分页导航（桌面：底部居中浮动胶囊） */
.ink-reader-pagenav{
  position:fixed;bottom:1.25rem;left:50%;transform:translateX(-50%);z-index:30;
  display:grid;grid-template-columns:auto auto minmax(3.5em,auto) auto auto auto;align-items:center;gap:.4rem .6rem;
  padding:.4rem .55rem .4rem .8rem;border-radius:999px;
  background:rgba(251,248,241,.96);border:1px solid var(--rule);
  box-shadow:0 10px 30px rgba(40,35,28,.18);backdrop-filter:blur(10px);
  font-family:var(--sans)
}
.ink-reader-pagenav a{min-height:40px;display:inline-flex;align-items:center;padding:.3rem 1rem;border-radius:2px;color:inherit;text-decoration:none;font-weight:600}
.ink-reader-pagenav a:hover{background:rgba(123,60,46,.08)}
.ink-reader-pagenav a.disabled{opacity:.38;pointer-events:none}
.ink-reader-pagenav a.chapter{color:var(--accent)}
.ink-reader-pagenav a.catalog{background:var(--accent);color:#fff;border-radius:2px;padding:.3rem .9rem}
.ink-reader-pagenav a.catalog:hover{background:rgba(123,60,46,.88);color:#fff}
.ink-reader-pagenav .page-count{font:600 .9rem/1 var(--sans);color:var(--ink-soft);text-align:center;white-space:nowrap}

@media(max-width:520px){
  /* 移动分页：面包屑固定于 sticky 页头正下方（←小说名 | 目录），页头菜单保持可见 */
  body.ink-reader-paged .ink-novel-reader-crumb{
    position:fixed;top:calc(62px + var(--wp-admin--admin-bar--height,0px));left:0;right:0;z-index:31;height:2.6rem;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 .9rem;background:rgba(251,248,241,.96);border-bottom:1px solid var(--rule);
    backdrop-filter:blur(10px)
  }
  body.ink-reader-paged .ink-novel-reader-crumb .ink-reader-volume{display:none}
  body.ink-reader-paged .ink-novel-reader-crumb .catalog-link{
    padding:.4rem .8rem;background:var(--accent);color:#fff;border-radius:2px;
    font-weight:600;min-height:44px;display:grid;place-items:center
  }
  .ink-reader-pager{position:fixed;top:calc(2.6rem + 62px + var(--wp-admin--admin-bar--height,0px));bottom:calc(4.6rem + env(safe-area-inset-bottom));left:0;right:0;padding:0 .9rem}
  body.ink-reader-paged .ink-novel-reader{padding-bottom:0}
  /* 底栏改为页导航：上一章 | 上一页 | X/Y | 下一页 | 下一章 */
  .ink-reader-pagenav{
    left:0;right:0;bottom:0;transform:none;border-radius:0;width:auto;margin:0;
    grid-template-columns:1fr 1fr auto 1fr 1fr;gap:.5rem .35rem;
    padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));
    border-left:0;border-right:0;border-bottom:0;border-top:1px solid var(--rule);
    box-shadow:0 -6px 22px rgba(40,35,28,.1)
  }
  .ink-reader-pagenav a{min-height:44px;justify-content:center;padding:.25rem .3rem;border-radius:2px}
  /* 移动端目录入口在固定顶栏，底栏隐藏目录格回到五格 */
  .ink-reader-pagenav a.catalog{display:none}
}

/* 分页态：顶部 3px 进度条盖过固定顶栏 */
body.ink-reader-paged .ink-reader-progress{z-index:32}

/* 移动/平板正文中央点击时收起阅读器操作层，避免评论、浏览数、收藏和导航遮挡文字。 */
@media (max-width:800px){
  .ink-novel-reader.ink-reader-chrome-hidden .ink-novel-reader-crumb,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-novel-view-corner,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-reader-actions,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-comments-open,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-novel-chapter-nav,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-reader-pagenav,
  .ink-novel-reader.ink-reader-chrome-hidden .ink-reader-progress,
  body.ink-reader-chrome-hidden .ink-floating-theme-toggle{
    opacity:0;visibility:hidden;pointer-events:none
  }
  .ink-novel-reader .ink-novel-reader-crumb,
  .ink-novel-reader .ink-novel-view-corner,
  .ink-novel-reader .ink-reader-actions,
  .ink-novel-reader .ink-comments-open,
  .ink-novel-reader .ink-novel-chapter-nav,
  .ink-novel-reader .ink-reader-pagenav,
  .ink-novel-reader .ink-reader-progress{
    transition:opacity .18s ease,visibility .18s ease
  }
}

/* 章节阅读页移动端：暗色按钮与评论按钮同排，分别位于左右两侧。 */
@media (max-width:680px){
  body.single-yb_novel_chapter .ink-floating-theme-toggle{
    top:auto;
    right:auto;
    bottom:calc(5.35rem + env(safe-area-inset-bottom));
    left:max(.75rem, env(safe-area-inset-left));
  }
}

/* 填页测量态：所有页临时可见以计算真实高度（reader.js 在分页期间临时加类） */
.ink-reader-pager.measuring .ink-reader-page{display:block}

/* 作品对话框：连载上限提示 */
.ink-novel-hint{display:block;margin-top:2px;font-size:.74rem;line-height:1.5;color:var(--ink-soft)}
.ink-novel-dialog select:disabled{opacity:.5;cursor:not-allowed}

/* ===== 章节目录抽屉（大屏右侧 / 移动端左侧） ===== */
.ink-catalog-backdrop{
  position:fixed;inset:0;z-index:120;background:rgba(26,22,18,.45);
  opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease
}
.ink-catalog-backdrop.is-open{opacity:1;visibility:visible}
.ink-catalog-drawer{
  position:fixed;top:0;bottom:0;right:0;z-index:121;width:min(380px,92vw);
  display:flex;flex-direction:column;
  background:var(--paper);border-left:1px solid var(--rule);
  box-shadow:-14px 0 34px rgba(40,35,28,.16);
  transform:translateX(105%);visibility:hidden;pointer-events:none;
  transition:transform .28s ease,visibility .28s ease
}
.ink-catalog-drawer.is-open{transform:translateX(0);visibility:visible;pointer-events:auto}
.ink-catalog-drawer-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.9rem 1.1rem;border-bottom:1px solid var(--rule)
}
.ink-catalog-drawer-head h2{font:600 1.05rem/1 var(--serif);margin:0}
.ink-catalog-drawer-close{
  min-width:38px;height:38px;border:0;background:transparent;cursor:pointer;
  font-size:1.35rem;line-height:1;color:var(--ink-soft);border-radius:4px
}
.ink-catalog-drawer-close:hover{background:rgba(123,60,46,.08);color:var(--ink)}
.ink-catalog-drawer-body{
  flex:1;overflow-y:auto;padding:1rem 1.1rem 1.5rem;-webkit-overflow-scrolling:touch
}
.ink-catalog-drawer-group{margin-top:1.4rem}
.ink-catalog-drawer-group:first-child{margin-top:0}
.ink-catalog-drawer-group h3{
  font:600 .78rem/1.5 var(--sans);letter-spacing:.06em;color:var(--ink-soft);
  text-transform:uppercase;margin:0 0 .5rem
}
.ink-catalog-drawer-group ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.ink-catalog-drawer-group li{border-bottom:1px solid var(--rule)}
.ink-catalog-drawer-group li a{
  display:flex;gap:.8rem;align-items:baseline;padding:.6rem .2rem;color:inherit;text-decoration:none
}
.ink-catalog-drawer-group li a:hover{color:var(--accent)}
.ink-catalog-drawer-group li a.is-current{color:var(--accent);font-weight:600}
.ink-catalog-drawer-group li a span{flex:0 0 auto;font:600 .72rem/1 var(--sans);color:var(--ink-soft)}
.ink-catalog-drawer-group li a.is-current span{color:var(--accent)}
.ink-catalog-drawer-group li a strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(max-width:520px){
  /* 移动端：抽屉从左侧滑出，全屏沉浸式阅读不遮挡正文焦点 */
  .ink-catalog-drawer{
    right:auto;left:0;border-left:0;border-right:1px solid var(--rule);
    box-shadow:14px 0 34px rgba(40,35,28,.16);transform:translateX(-105%)
  }
  .ink-catalog-drawer.is-open{transform:translateX(0)}
  .ink-catalog-drawer-group li a{padding:.75rem .2rem}
}

@media(prefers-reduced-motion:reduce){
  .ink-catalog-drawer,.ink-catalog-backdrop{transition:none!important}
}

/* ===== 章节阅读顶部工具条 ===== */
.ink-novel-reader .ink-novel-reader-crumb{
  position:sticky;top:72px;z-index:15;display:flex;align-items:center;justify-content:flex-start;gap:.65rem;
  min-height:50px;margin:0 0 1rem;padding:.55rem .6rem .55rem .8rem;
  overflow:hidden;background:linear-gradient(100deg,var(--paper-raised),rgba(251,248,241,.72));
  border:1px solid var(--rule);border-left:3px solid var(--accent);
  box-shadow:3px 3px 0 rgba(201,193,179,.34);
  font:600 .78rem/1.4 var(--sans)
}
.ink-novel-reader-crumb .ink-reader-chapter-title{
  display:flex;align-items:baseline;gap:.45rem;min-width:0;overflow:hidden;color:var(--ink)
}
.ink-novel-reader-crumb .ink-reader-chapter-number{
  flex:0 0 auto;color:var(--accent);font-size:.7rem;font-weight:600;white-space:nowrap
}
.ink-novel-reader-crumb .ink-reader-chapter-title h1{
  min-width:0;overflow:hidden;margin:0;color:var(--ink);font:600 .9rem/1.35 var(--serif);text-overflow:ellipsis;white-space:nowrap
}
.ink-novel-reader-crumb .ink-reader-meta{
  display:flex;align-items:center;gap:.45rem;min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.68rem;font-weight:500;white-space:nowrap
}
.ink-novel-reader-crumb .ink-reader-meta time,
.ink-novel-reader-crumb .ink-reader-meta span{flex:0 0 auto}
.ink-novel-reader-crumb .ink-reader-meta .ink-novel-author-link{overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}
.ink-novel-reader-crumb .ink-reader-volume{margin-left:auto}
.ink-novel-reader-crumb .ink-reader-chapter-title + .ink-reader-meta{margin-left:auto}
.ink-novel-reader-crumb .ink-reader-book-link{
  display:flex;align-items:center;gap:.35rem;min-width:0;overflow:hidden;
  color:var(--ink);text-decoration:none;white-space:nowrap
}
.ink-novel-reader-crumb .ink-reader-book-link span{
  overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap
}
.ink-novel-reader-crumb .ink-reader-book-link:hover{color:var(--accent)}
.ink-novel-reader-crumb .ink-reader-volume{
  flex:0 1 auto;max-width:38%;padding:.18rem .55rem;overflow:hidden;
  color:var(--ink-soft);background:rgba(201,193,179,.2);border:1px solid rgba(201,193,179,.72);
  font-size:.7rem;font-weight:500;line-height:1.45;text-overflow:ellipsis;white-space:nowrap
}
.ink-novel-reader-crumb .catalog-link{
  flex:none;display:inline-flex;align-items:center;justify-content:center;margin-left:0;
  min-height:36px;padding:.4rem .8rem;color:var(--accent);background:transparent;
  border:1px solid rgba(119,60,46,.46);text-decoration:none;letter-spacing:.06em
}
.ink-novel-reader-crumb .catalog-link:hover,
.ink-novel-reader-crumb .catalog-link:focus-visible{
  color:#fff;background:var(--accent);border-color:var(--accent);outline:0
}

@media(max-width:520px){
  .ink-novel-reader .ink-novel-reader-crumb{
    top:62px;display:flex;flex-wrap:wrap;min-height:46px;margin:0 .9rem .9rem;padding:.45rem .5rem .45rem .65rem;
    gap:.45rem;border-left-width:2px;box-shadow:2px 2px 0 rgba(201,193,179,.28)
  }
  .ink-novel-reader-crumb .ink-reader-chapter-title{flex:1 1 42%;}
  .ink-novel-reader-crumb .ink-reader-chapter-title h1{font-size:.8rem}
  .ink-novel-reader-crumb .ink-reader-volume{margin-left:auto}
  .ink-novel-reader-crumb .ink-reader-chapter-title + .ink-reader-meta{margin-left:0}
  .ink-novel-reader-crumb .ink-reader-meta{flex:1 1 100%;order:4;font-size:.64rem}
  .ink-novel-reader-crumb .ink-reader-book-link{font-size:.76rem}
  .ink-novel-reader-crumb .catalog-link{min-height:34px;padding:.35rem .68rem}
  body.ink-reader-paged .ink-novel-reader-crumb{
    min-height:0;height:2.6rem;margin:0;padding:0 .8rem;
    border-top:0;border-right:0;border-left:0;box-shadow:0 4px 14px rgba(40,35,28,.08)
  }
  body.ink-reader-paged .ink-novel-reader-crumb .catalog-link{
    min-height:34px;padding:.3rem .7rem;border-color:var(--accent)
  }
}

/* 移动/平板阅读页：释放外层 shell 的横向留白，给正文更多可用宽度。 */
@media (max-width: 520px) {
  body.single-yb_novel_chapter .site-main.ink-shell {
    width: 100%;
  }
  body.single-yb_novel_chapter .ink-novel-chapter {
    padding-inline: .75rem;
  }
  body.single-yb_novel_chapter .ink-novel-chapter-content {
    max-width: none;
  }
}

@media (min-width: 521px) and (max-width: 900px) {
  body.single-yb_novel_chapter .site-main.ink-shell {
    width: 100%;
  }
  body.single-yb_novel_chapter .ink-novel-chapter {
    padding-inline: 1.25rem;
  }
  body.single-yb_novel_chapter .ink-novel-chapter-content {
    max-width: 760px;
  }
}

/* 阅读模式切换：分页与连续长文共用章节顶部工具条。 */
.ink-reader-mode-toggle {
  flex: 0 0 auto;
  min-height: 34px;
  padding: .35rem .65rem;
  color: var(--ink-soft);
  background: transparent;
  border: 1px solid var(--rule);
  border-radius: 2px;
  font: 600 .72rem/1.2 var(--sans);
  cursor: pointer;
}
.ink-reader-mode-toggle:hover,
.ink-reader-mode-toggle:focus-visible {
  color: var(--accent);
  border-color: var(--accent);
  outline: 0;
}
@media (max-width: 520px) {
  .ink-reader-mode-toggle {
    min-height: 34px;
    padding-inline: .5rem;
    font-size: .68rem;
  }
}

/* 首章/末章没有前后章节时，只保留居中的目录入口。 */
.ink-novel-reader .ink-novel-chapter-nav.is-catalog-only {
  grid-template-columns: 1fr;
  justify-items: center;
}
.ink-novel-reader .ink-novel-chapter-nav.is-catalog-only > .prev,
.ink-novel-reader .ink-novel-chapter-nav.is-catalog-only > .next {
  display: none;
}

/* 目录按钮不是章节列表项，避免继承旧版三列 grid 导致英文文字溢出窄列。 */
.ink-novel-reader .ink-novel-chapter-nav .catalog {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-template-columns: none;
  gap: 0;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-sizing: border-box;
}

/* 移动端目录行收紧：降低字号、按钮高度和横向内边距。 */
@media (max-width: 680px) {
  .ink-novel-reader .ink-novel-reader-crumb {
    top: 62px;
    flex-wrap: wrap;
    min-height: 40px;
    margin-bottom: .6rem;
    padding: .25rem .45rem;
    gap: .35rem;
    font-size: .7rem;
  }
  .ink-novel-reader .ink-novel-reader-crumb .ink-reader-book-link {
    font-size: .7rem;
  }
  .ink-novel-reader .ink-novel-reader-crumb .ink-reader-chapter-title h1 { font-size: .76rem; }
  .ink-novel-reader .ink-novel-reader-crumb .ink-reader-meta { font-size: .64rem; }
  .ink-novel-reader .ink-novel-reader-crumb .catalog-link,
  .ink-novel-reader .ink-reader-mode-toggle {
    min-height: 30px;
    padding: .25rem .5rem;
    font-size: .65rem;
    letter-spacing: .02em;
  }
  .ink-novel-reader .ink-novel-chapter-nav .catalog {
    min-height: 38px;
    padding: .35rem .8rem;
    font-size: .72rem;
    line-height: 1.2;
  }
}

@media (max-width: 520px) {
  body.ink-reader-paged .ink-novel-reader .ink-novel-reader-crumb {
    top: 62px;
    min-height: 0;
    height: 2.2rem;
    margin: 0;
    padding: 0 .55rem;
  }
  body.ink-reader-paged .ink-novel-reader .ink-novel-reader-crumb .catalog-link {
    min-height: 30px;
    padding: .25rem .5rem;
  }
  .ink-novel-reader .ink-novel-chapter-nav {
    padding: .35rem .55rem calc(.35rem + env(safe-area-inset-bottom));
  }
  body.ink-reader-paged .ink-novel-reader .ink-reader-meta { display: none; }
}

/* 阅读页章节导航的暗色覆盖。移动端导航为固定底栏，不能继续使用浅色 rgba 背景。 */
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav {
  color: var(--ink);
}
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .prev,
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .next,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .prev,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .next {
  color: var(--ink);
}
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav small,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav small {
  color: var(--ink-soft);
}
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .catalog,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .catalog {
  color: var(--ink);
  background: var(--paper-raised);
  border-color: var(--rule);
}
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .catalog:hover,
html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .catalog:focus-visible,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .catalog:hover,
body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .catalog:focus-visible {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}
@media (max-width: 520px) {
  html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav,
  body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav {
    background: rgba(23,25,28,.96);
    border-top-color: var(--rule);
    box-shadow: 0 -6px 22px rgba(0,0,0,.42);
  }
  html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .catalog,
  body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .catalog {
    color: #fff;
    background: var(--accent);
    border-color: var(--accent);
  }
  html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .prev:active,
  html.ink-user-dark body .ink-novel-reader .ink-novel-chapter-nav .next:active,
  body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .prev:active,
  body.ink-user-dark .ink-novel-reader .ink-novel-chapter-nav .next:active {
    background: rgba(255,255,255,.08);
  }
}
