:root{--font-noto-serif:"Noto Serif", Georgia, serif;--font-lora:"Lora", Georgia, serif;--font-merriweather:"Merriweather", Georgia, serif;--font-reading:var(--font-noto-serif)}.novel-detail,.reader-shell{--font-reading:var(--font-noto-serif)}.novel-detail{--reading-accent:#f08a93;max-width:1120px;color:var(--text);margin:auto;padding:30px 12px 24px}[data-theme=light] .novel-detail{--reading-accent:#a91e30}.novel-detail button,.reader-shell button{font-family:inherit}.novel-breadcrumb{color:var(--muted);flex-wrap:wrap;gap:10px;margin-bottom:32px;font-size:13px;display:flex}.novel-breadcrumb a{color:var(--text)}.novel-overview{border-bottom:1px solid var(--line);grid-template-columns:210px minmax(0,1fr);gap:20px 42px;padding-bottom:38px;display:grid}.novel-cover{grid-row:1/3}.novel-cover img{aspect-ratio:2/3;object-fit:cover;width:100%;height:auto;box-shadow:var(--card-shadow);border-radius:8px}.reading-eyebrow{color:var(--muted);letter-spacing:.07em;font-size:12px;font-weight:500;line-height:1.6}.novel-heading{align-self:end;min-width:0}.novel-heading h1{font-family:var(--font-reading), Georgia, serif;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;margin:12px 0 20px;font-size:clamp(28px,3vw,42px);font-weight:600;line-height:1.3}.novel-author{color:var(--muted);font-size:15px}.novel-author strong{color:var(--text);margin-left:8px;font-weight:500}.novel-translator{color:var(--muted);margin-top:6px;font-size:13px}.novel-facts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px;font-size:13px;display:flex}.novel-status{color:var(--accent-text)}.novel-start{align-self:start;min-width:0}.novel-actions{flex-wrap:wrap;gap:10px;display:flex}.reading-button{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--text);text-align:center;border-radius:7px;justify-content:center;align-items:center;padding:10px 22px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.reading-button.primary{color:#fff;background:#bc293a;border-color:#bc293a}.reading-button.quiet{background:0 0}.reading-button:hover{filter:brightness(1.12)}.novel-secondary{color:var(--muted);flex-wrap:wrap;gap:0 20px;margin-top:13px;font-size:12px;display:flex}.novel-secondary a{text-underline-offset:4px;min-height:44px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);align-items:center;display:inline-flex}.novel-secondary a:hover,.novel-audio-note a{color:var(--reading-accent)}.reading-notice{color:var(--muted);margin-top:10px;font-size:13px}.novel-introduction{grid-template-columns:minmax(0,1fr) 280px;gap:48px;padding:38px 0;display:grid}.novel-detail h2{letter-spacing:-.02em;font-size:21px;font-weight:600}.novel-synopsis{color:var(--text);margin-top:18px;font-size:16px;line-height:1.9}.novel-synopsis p+p{margin-top:14px}.novel-synopsis.is-collapsed{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.synopsis-toggle{min-height:44px;color:var(--reading-accent);text-underline-offset:4px;background:0 0;border:0;margin-top:8px;padding:8px 0;font-size:13px;text-decoration:underline}.novel-audio-note{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-self:start;padding:24px}.novel-audio-note h2{margin:10px 0 12px;font-size:18px}.novel-audio-note>p:not(.reading-eyebrow){color:var(--muted);font-size:13px;line-height:1.8}.novel-audio-note a{align-items:center;min-height:44px;margin-top:12px;font-size:13px;font-weight:500;display:inline-flex}.novel-contents{border-top:1px solid var(--line);padding-top:32px;scroll-margin-top:160px}.reading-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:24px;display:flex}.reading-section-heading .reading-eyebrow{margin-bottom:6px}.reading-section-heading>span{color:var(--muted);font-size:13px}.chapter-filters{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.chapter-filters label{color:var(--muted);font-size:12px}.chapter-search{flex:1;min-width:min(220px,100%)}.chapter-search input,.chapter-order select{width:100%;min-height:46px;color:var(--text);background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:6px;margin-top:6px;padding:10px 12px;font-size:16px;display:block}.chapter-search input::placeholder{color:var(--muted)}.chapter-order{flex:0 180px}.chapter-audio-filter{align-items:center;gap:9px;min-height:46px;display:flex}.chapter-audio-filter input{accent-color:#bc293a;width:18px;height:18px}.directory-result{color:var(--muted);margin:18px 0 8px;font-size:12px}.chapter-rows{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;display:grid}.chapter-row{border-bottom:1px solid var(--line);min-height:58px;color:var(--text);align-items:center;gap:14px;padding:12px 6px;font-size:14px;display:flex}.chapter-row:hover,.chapter-row[aria-current=page]{background:var(--surface)}.chapter-row[aria-current=page]{box-shadow:inset 3px 0 #bc293a}.chapter-number{min-width:30px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chapter-name{overflow-wrap:anywhere;flex:1}.audio-label{color:var(--reading-accent,var(--text));background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px}.directory-pagination{justify-content:space-between;align-items:center;gap:10px;padding-top:22px;font-size:12px;display:flex}.directory-pagination button,.directory-pagination select{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text);border-radius:6px;padding:6px 10px}.directory-pagination button:disabled{opacity:.45}.reading-empty{color:var(--muted);padding:24px 0;font-size:14px}.novel-related{border-top:1px solid var(--line);margin-top:48px;padding-top:32px}.novel-related .movie-card{min-width:0}.novel-related .movie-card p{overflow-wrap:anywhere;flex-wrap:wrap}.novel-detail a:focus-visible,.novel-detail button:focus-visible,.novel-detail input:focus-visible,.novel-detail select:focus-visible{outline-color:var(--reading-accent);outline-offset:3px}.reading-frame{width:100%}body:has(.reader-shell){overflow-x:clip}:root{--reader-width:760px;--reader-size:20px;--reader-line:1.85}.reader-shell{--bg:#17191c;--surface:#212427;--text:#e0dfdb;--muted:#aaaead;--line:#363a3d;--reading-accent:#f08a93;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);min-height:100dvh;padding-bottom:calc(var(--audio-space,0px) + 40px)}[data-reader-theme=sepia] .reader-shell{--bg:#f5efdf;--surface:#ebe3d0;--text:#3f362b;--muted:#6c5c49;--line:#cfc3ac;--reading-accent:#9d2332;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-reader-theme=light] .reader-shell{--bg:#fafaf8;--surface:#efefeb;--text:#292d30;--muted:#606568;--line:#d2d6d5;--reading-accent:#a91e30;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-reader-theme=forest] .reader-shell{--bg:#10221c;--surface:#1b3128;--text:#dce8df;--muted:#a5b7ac;--line:#3d574a;--reading-accent:#f5a5a9;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.reader-shell button,.reader-shell select{color:var(--text)}.reader-shell button:focus-visible,.reader-shell a:focus-visible,.reader-shell input:focus-visible,.reader-shell select:focus-visible{outline:2px solid var(--reading-accent);outline-offset:3px}.reader-toolbar{z-index:30;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.reader-toolbar-inner{align-items:center;gap:12px;max-width:1120px;min-height:64px;margin:auto;padding:10px 24px;display:flex}.reader-back{min-width:0;color:inherit;align-items:center;gap:10px;margin-right:auto;text-decoration:none;transition:opacity .15s;display:inline-flex}.reader-back:hover{opacity:.9}.reader-back-icon{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.reader-back:hover .reader-back-icon{color:var(--text);border-color:var(--reading-accent)}.reader-back-info{flex-direction:column;min-width:0;line-height:1.25;display:flex}.reader-back-info span{color:var(--muted);font-size:11px;font-weight:400;display:block}.reader-back-info strong{text-overflow:ellipsis;white-space:nowrap;color:var(--text);max-width:280px;font-size:13px;font-weight:600;display:block;overflow:hidden}.reader-toolbar-chapter{color:var(--muted);white-space:nowrap;padding:0 8px;font-size:12px}.reader-toolbar button{border:1px solid var(--line);white-space:nowrap;cursor:pointer;background:0 0;border-radius:6px;min-height:40px;padding:6px 14px;font-size:13px;transition:all .15s}.reader-toolbar button:hover{background:var(--surface);border-color:var(--reading-accent)}.reader-toolbar .reader-settings-trigger{font-family:var(--font-reading), Georgia, serif;align-items:center;gap:8px;font-size:18px;display:flex}.reader-settings-trigger span{font-family:var(--font-sans);font-size:12px}.reader-progress{pointer-events:none;height:2px;position:absolute;bottom:-1px;left:0;right:0}.reader-progress span{background:#c95360;height:100%;display:block}.reader-content{max-width:calc(var(--reader-width) + 48px);margin:auto;padding:54px 24px 24px}.reader-heading{text-align:center;margin-bottom:28px}.reader-heading h1{font:600 clamp(26px, 3vw, 38px)/1.45 var(--font-reading), Georgia, serif;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:anywhere;margin:15px 0 20px}.reader-byline{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 22px;font-size:12px;display:flex}.reader-chapter-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:30px 0;display:grid}.reader-chapter-nav a,.reader-chapter-nav button,.reader-chapter-nav>span{background:0 0;border:none;align-items:center;min-height:48px;padding:6px 0;font-size:12px;display:flex}.reader-chapter-nav a:last-child,.reader-chapter-nav>span:last-child{text-align:right;justify-content:end}.reader-chapter-nav>span{color:var(--muted)}.reader-chapter-nav a:hover{color:var(--reading-accent)}.reader-prose{font:400 var(--reader-size)/var(--reader-line) var(--font-noto-serif), var(--font-reading), Georgia, serif;text-align:left;letter-spacing:.01em;overflow-wrap:break-word;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-reader-font=serif] .reader-prose{font-family:var(--font-noto-serif), var(--font-reading), Georgia, serif}[data-reader-font=lora] .reader-prose{font-family:var(--font-lora), Georgia, serif}[data-reader-font=merriweather] .reader-prose{font-family:var(--font-merriweather), Georgia, serif}[data-reader-font=sans] .reader-prose{font-family:var(--font-sans)}[data-reader-align=left] .reader-prose{text-align:left!important}[data-reader-align=justify] .reader-prose{text-justify:inter-word;text-align:justify!important}.reader-prose p{margin:0 0 1.25em;scroll-margin-top:112px}[data-reader-indent=true] .reader-prose p{text-indent:1.35em}[data-reader-indent=false] .reader-prose p{text-indent:0}@media (max-width:640px){.reader-toolbar-inner{gap:8px;min-height:54px;padding:6px 12px}.reader-toolbar button{min-height:36px;padding:6px 10px;font-size:12px}.reader-toolbar .reader-settings-trigger{gap:6px;font-size:16px}.reader-back-icon{width:30px;height:30px}.reader-back-info strong{max-width:120px;font-size:12px}.reader-toolbar-chapter{display:none}}.reader-ending{color:var(--muted);text-align:center;margin-top:44px;font-size:13px}.reader-ending .reader-chapter-nav{color:var(--text)}.reader-save{border:1px solid var(--line);background:0 0;border-radius:6px;min-height:44px;padding:8px 16px}.reader-resume{border:1px solid var(--line);background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:24px;padding:12px 16px;font-size:12px;display:flex}.reader-resume button{text-underline-offset:3px;background:0 0;border:0;min-height:44px;text-decoration:underline}.reader-dialog{overscroll-behavior:contain;width:min(500px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;margin:auto;padding:24px;position:fixed;overflow:auto;box-shadow:0 20px 80px #0005}.reader-dialog::backdrop{background:#0008}.reader-directory-dialog{width:min(880px,100% - 32px)}.reader-dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;display:flex}.reader-dialog-heading h2{font-size:18px;font-weight:600}.reader-dialog-heading button{border:1px solid var(--line);background:var(--surface);border-radius:5px;min-height:44px;padding:8px 12px;font-size:12px}.reader-settings fieldset{border:none;margin:0 0 22px;padding:0}.reader-settings legend{margin-bottom:10px;padding:0;font-size:13px;font-weight:500}.reader-theme-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.reader-theme-options button{border:1px solid var(--line);border-radius:6px;min-height:50px;font-size:13px}.reader-theme-options [data-swatch=dark]{color:#e0dfdb;background:#17191c}.reader-theme-options [data-swatch=sepia]{color:#3f362b;background:#f5efdf}.reader-theme-options [data-swatch=light]{color:#292d30;background:#fafaf8}.reader-theme-options [data-swatch=forest]{color:#dce8df;background:#10221c}.reader-settings button[aria-pressed=true]{outline:2px solid var(--reading-accent);outline-offset:2px}.reader-font-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.reader-font-options button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:6px;min-height:78px;padding:10px 12px;font-size:15px}.reader-font-options button:first-child{font-family:var(--font-reading), Georgia, serif}.reader-font-options span{font-family:var(--font-sans);color:var(--muted);margin-top:5px;font-size:10px;display:block}.reader-range{flex-wrap:wrap;justify-content:space-between;margin-bottom:14px;font-size:13px;display:flex}.reader-range strong{color:var(--muted);font-size:12px;font-weight:500}.reader-range input{accent-color:#bc293a;width:100%;min-height:44px}.reader-preference-note{color:var(--muted);border-top:1px solid var(--line);padding-top:16px;font-size:12px}.reader-audio{z-index:35;-webkit-backdrop-filter:blur(20px);padding:0 max(20px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px, env(safe-area-inset-left));background:#17191ceb;border-top:1px solid #ffffff1f;border-radius:16px 16px 0 0;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 36px #00000080,0 -1px #ffffff14}[data-reader-theme=sepia] .reader-audio{background:#f5efdff0;border-top-color:#3f362b26}[data-reader-theme=light] .reader-audio{background:#fafaf8f2;border-top-color:#0000001a;box-shadow:0 -8px 36px #00000014}[data-reader-theme=forest] .reader-audio{background:#10221cf0;border-top-color:#ffffff1a}.audio-mini{align-items:center;gap:14px;max-width:960px;min-height:72px;margin:auto;padding:10px 0;display:flex}.audio-mini-title{flex:1;min-width:0}.audio-mini-title span{color:var(--reading-accent,#38bdf8);letter-spacing:.02em;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.audio-mini-title strong{white-space:nowrap;text-overflow:ellipsis;color:var(--text);margin-top:3px;font-size:14px;font-weight:600;display:block;overflow:hidden}.audio-mini button{border:1px solid var(--line);white-space:nowrap;cursor:pointer;border-radius:10px;min-height:44px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s}.audio-mini .audio-play{color:#fff;background:linear-gradient(135deg,#e11d48 0%,#be123c 100%);border-color:#f43f5e;border-radius:24px;min-width:76px;box-shadow:0 4px 14px #e11d4866}.audio-mini .audio-play:hover{transform:scale(1.04);box-shadow:0 6px 20px #e11d4899}.audio-mini .audio-play:active{transform:scale(.96)}.audio-expand{background:#ffffff0f;border-color:#ffffff1f}.audio-expand:hover{background:#ffffff1f}.drama-script-container{margin:24px 0;animation:.3s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 12px #38bdf840}50%{box-shadow:0 0 24px #38bdf880,0 0 4px #fff6}}[id^=drama-seg-]{border-left-width:4px!important}[id^=drama-seg-]:hover{transform:translate(3px);background-color:#ffffff0a!important}[id^=drama-seg-]:active{transform:scale(.99)}@media (max-width:767px){.reader-audio{border-radius:14px 14px 0 0;padding-inline:14px}.audio-mini{gap:8px;min-height:64px;padding:8px 0}.audio-mini-title strong{font-size:12.5px}.audio-mini button{min-height:40px;padding:6px 12px;font-size:12px}.audio-mini .audio-play{min-width:68px}}@keyframes skeletonShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-shimmer{animation:1.8s infinite skeletonShimmer}.reader-floating-dock{bottom:calc(var(--audio-space,0px) + 16px);z-index:34;-webkit-backdrop-filter:blur(16px);background:#17191ce0;border:1px solid #ffffff26;border-radius:30px;align-items:center;gap:8px;padding:6px 14px;transition:opacity .3s,transform .3s;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}[data-reader-theme=sepia] .reader-floating-dock{background:#f5efdfeb;border-color:#3f362b33;box-shadow:0 10px 30px #00000026}[data-reader-theme=light] .reader-floating-dock{background:#fafaf8eb;border-color:#0000001f;box-shadow:0 10px 30px #0000001f}.reader-floating-dock button,.reader-floating-dock a{min-width:38px;min-height:38px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:600;transition:background .15s,transform .15s;display:flex}.reader-floating-dock button:active,.reader-floating-dock a:active{transform:scale(.92)}.reader-floating-dock button:hover,.reader-floating-dock a:hover{background:#ffffff1a}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[id^=drama-seg-]{transition:none!important}}
