.reader-library-link{display:inline-flex;align-items:center;gap:7px;color:var(--wine);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.reader-shell{min-height:65vh;max-width:900px;padding-bottom:90px}
.reader-breadcrumb{display:flex;align-items:center;gap:9px;margin:30px 0 22px;color:var(--muted);font-size:13px}
.reader-breadcrumb a{color:inherit;text-decoration:none}.reader-breadcrumb a:hover{color:var(--wine)}
.reader-breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.reader-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--white);box-shadow:0 16px 48px rgba(63,24,36,.045)}
.reader-card[hidden],.reader-not-found[hidden]{display:none}
.reader-heading{text-align:center;padding:43px 32px 32px;border-bottom:1px solid var(--line)}
.reader-kicker{color:var(--wine);font-size:11px;font-weight:700;letter-spacing:1.5px}
.reader-heading p{margin:10px 0 0;color:var(--muted);font-size:14px}
.reader-heading h1{margin:8px 0 0;font:clamp(30px,4vw,43px)/1.2 "DM Serif Display",serif}
.reader-free{padding:36px clamp(22px,7vw,74px) 60px}.reader-free[hidden],.reader-vip[hidden],.vip-feedback[hidden]{display:none}
.reader-demo-label{margin:0 0 24px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1.4px;text-align:center}
.reader-prose{max-width:670px;margin:auto;color:var(--ink);font-family:var(--reader-font-family,"Be Vietnam Pro",sans-serif);font-size:var(--reader-font-size,19px);line-height:var(--reader-line-height,2)}
.reader-prose p{margin:0 0 1.3em;text-align:justify;overflow-wrap:anywhere}
.reader-prose p:first-child::first-letter{font:40px/1 "DM Serif Display",serif;color:var(--wine)}
.reader-vip{display:flex;flex-direction:column;align-items:center;max-width:620px;margin:38px auto 44px;padding:36px 34px;border:1px solid var(--line);border-radius:20px;background:var(--cream);text-align:center}
.reader-lock{display:grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:50%;background:var(--blush);color:var(--wine);font-size:29px}
.reader-lock svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reader-vip h2{margin:8px 0 4px;font:30px/1.25 "DM Serif Display",serif}
.vip-chapter{margin:0;color:var(--muted);font-size:14px}
.vip-price{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:25px 0 18px;color:var(--wine)}
.vip-price strong{font:46px/1 "DM Serif Display",serif}.vip-price span{font-size:14px;font-weight:700}
.vip-balance{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;width:100%;margin:0 0 20px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:var(--white);text-align:left}
.vip-balance>span{color:var(--muted);font-size:13px}.vip-balance strong{color:var(--ink);font-size:14px}.vip-balance small{flex-basis:100%;color:var(--muted);font-size:11px;line-height:1.5}
.reader-vip .reader-back{min-width:190px;border:0;cursor:pointer;font-family:inherit}
.vip-feedback{margin:16px 0 0;color:var(--wine);font-size:13px;line-height:1.6}
.vip-notes{width:100%;margin:27px 0 0;padding:18px 22px 18px 38px;border-top:1px solid var(--line);text-align:left;color:var(--ink);font-size:13px;line-height:1.8}
.vip-notes li+li{margin-top:7px}.vip-disclaimer{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.7}
.vip-combo{color:var(--wine);font-size:13px;font-weight:700;text-decoration:none}.vip-combo:hover{text-decoration:underline}
.reader-back{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 19px;border-radius:24px;background:var(--wine);color:#fff;text-decoration:none;font-size:13px;font-weight:700}
.reader-back:hover{background:var(--wine-deep)}
.reader-chapter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:12px;padding:24px 28px;border-top:1px solid var(--line)}
.reader-chapter-nav a,.reader-chapter-nav button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:54px;padding:10px 15px;border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--wine);font:700 14px/1.35 "Be Vietnam Pro",sans-serif;text-align:center;text-decoration:none}
.reader-chapter-nav a:hover,.reader-chapter-nav button:hover{border-color:var(--wine);background:var(--blush)}
.reader-chapter-nav a:focus-visible,.reader-chapter-nav button:focus-visible{outline:3px solid var(--wine);outline-offset:2px}
.reader-chapter-nav a[hidden]{display:none}
.reader-chapter-nav .reader-nav-action{gap:9px}
.reader-nav-action svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.reader-chapter-nav-top{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--white) 82%,var(--cream))}
.reader-chapter-nav-top .reader-nav-action,.reader-chapter-nav-bottom .reader-nav-action{justify-self:center;width:54px;padding:0;border-radius:50%}
.reader-chapter-nav [aria-disabled="true"]{opacity:.42;pointer-events:none}
.reader-chapter-nav button[aria-expanded="true"]{border-color:var(--wine);background:var(--blush)}
body.chapter-dialog-open,body.chapter-report-open{overflow:hidden}
.chapter-report-action{display:flex;justify-content:center;padding:0 28px 26px}
.chapter-report-action button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:8px 16px;border:1px solid var(--line);border-radius:22px;background:transparent;color:var(--muted);font:600 12px/1.4 "Be Vietnam Pro",sans-serif}
.chapter-report-action button:hover{border-color:var(--wine);background:var(--blush);color:var(--wine)}
.chapter-report-action button:focus-visible{outline:3px solid var(--wine);outline-offset:2px}
.chapter-report-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.chapter-dialog-backdrop[hidden]{display:none}
.chapter-dialog-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:16px;background:rgba(32,19,26,.63)}
.chapter-dialog{display:flex;flex-direction:column;width:min(100%,700px);max-height:min(85dvh,760px);overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 28px 70px rgba(20,10,16,.27)}
.chapter-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:15px;padding:27px 30px 13px}
.chapter-dialog-head h2{margin:5px 0 2px;font:32px/1.2 "DM Serif Display",serif}.chapter-dialog-head p{margin:0;color:var(--muted);font-size:13px}
.chapter-dialog-head button{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:var(--cream);color:var(--ink);font-size:25px;line-height:1}
.chapter-dialog-search{display:flex;align-items:center;gap:8px;min-height:46px;margin:9px 30px 0;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.chapter-dialog-search:focus-within{border-color:var(--wine)}.chapter-dialog-search span{color:var(--wine);font-size:25px}
.chapter-dialog-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}
.chapter-dialog-count{margin:10px 30px 12px;color:var(--muted);font-size:12px}
.chapter-dialog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0;margin:0;padding:0 30px 28px;overflow-y:auto;overscroll-behavior:contain;list-style:none}
.chapter-dialog-list li{min-width:0}.chapter-dialog-list li[hidden]{display:none}
.chapter-dialog-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);text-decoration:none}
.chapter-dialog-list a:hover,.chapter-dialog-list a[aria-current="page"]{border-color:var(--wine);background:var(--blush)}
.chapter-dialog-list a:focus-visible{outline:3px solid var(--wine);outline-offset:2px}
.chapter-dialog-name{min-width:0;font-size:12px;font-weight:700;line-height:1.4}
.chapter-dialog-badge{flex:none;padding:3px 8px;border-radius:12px;background:#e6f5eb;color:#28704b;font-size:10px;font-weight:700;white-space:nowrap}
.chapter-dialog-badge.is-vip{background:var(--blush);color:var(--wine)}
html[data-theme="dark"] .chapter-dialog-badge:not(.is-vip){background:#1b3828;color:#a6e7bc}
.chapter-report-dialog{width:min(100%,520px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:27px 30px 30px;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 28px 70px rgba(20,10,16,.27)}
.chapter-report-dialog .reader-settings-head{align-items:flex-start;margin-bottom:8px}
.chapter-report-dialog .reader-settings-head h2{margin:5px 0 0;font-size:30px}
.chapter-report-context{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6}
.chapter-report-note{display:block;margin-top:14px;color:var(--ink);font-size:13px;font-weight:700}
.chapter-report-note textarea{width:100%;margin-top:9px;padding:12px 13px;resize:vertical;border:1px solid var(--line);border-radius:11px;outline:0;background:var(--cream);color:var(--ink);font:400 13px/1.6 "Be Vietnam Pro",sans-serif}
.chapter-report-note textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px color-mix(in srgb,var(--wine) 16%,transparent)}
.chapter-report-feedback{margin:13px 0 0;padding:10px 12px;border-radius:10px;background:#e6f5eb;color:#28704b;font-size:12px;font-weight:600;line-height:1.5}
.chapter-report-feedback[hidden]{display:none}
.chapter-report-submit{width:100%;min-height:46px;margin-top:16px;border:0;border-radius:23px;background:var(--wine);color:#fff;font:700 13px "Be Vietnam Pro",sans-serif}
.chapter-report-submit:hover{background:var(--wine-deep)}
.reader-not-found{text-align:center;padding:90px 18px 140px}.reader-not-found h1{font:38px "DM Serif Display",serif}.reader-not-found p{color:var(--muted)}.reader-not-found a{color:var(--wine);font-weight:700}
.reader-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.reader-footer p{font-size:12px;color:#bcaeb3}
.reader-mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));height:72px;padding-bottom:env(safe-area-inset-bottom)}
.reader-mobile-nav a,.reader-mobile-nav button{gap:3px;min-width:0;font-size:10px;font-weight:600}
.reader-mobile-nav span{font-size:10px;line-height:1.2}
.reader-mobile-nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.reader-mobile-nav [aria-disabled="true"]{opacity:.4;pointer-events:none}
.reader-mobile-nav #mobile-settings[aria-expanded="true"]{color:var(--wine)}
.reader-settings[hidden]{display:none}
.reader-settings{position:fixed;right:14px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:95;width:min(380px,calc(100% - 28px));max-height:calc(100dvh - 98px - env(safe-area-inset-bottom));overflow-y:auto;padding:21px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 16px 46px rgba(42,20,29,.18)}
.reader-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.reader-settings-head h2{margin:0;font:24px/1.2 "DM Serif Display",serif}
.reader-settings-head button{width:36px;height:36px;border:0;border-radius:50%;background:var(--cream);color:var(--ink);font-size:24px;line-height:1}
.reader-setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;border-top:1px solid var(--line);font-size:13px;font-weight:600}
.font-controls,.spacing-controls{display:flex;align-items:center;gap:6px}
.font-controls button,.spacing-controls button{min-width:39px;min-height:38px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font-size:13px;font-weight:700}
.font-controls button:disabled{opacity:.4;cursor:default}
.font-controls output{min-width:38px;text-align:center;color:var(--wine);font-size:12px}
.reader-setting-font{display:block;padding:13px 0 15px}.reader-setting-font>span{display:block;margin-bottom:10px}
.font-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.font-options button{min-height:40px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font-size:12px;text-align:center}
.font-options button[aria-pressed="true"]{border-color:var(--wine);background:var(--blush);color:var(--wine);font-weight:700}
.font-options [data-reader-font="roboto"]{font-family:Roboto,Arial,sans-serif}.font-options [data-reader-font="georgia"]{font-family:Georgia,serif}.font-options [data-reader-font="noto"]{font-family:"Noto Serif",Georgia,serif}
.spacing-controls button{padding:6px 10px}.spacing-controls button[aria-pressed="true"]{border-color:var(--wine);background:var(--blush);color:var(--wine)}
.reader-colors,.scroll-speeds{display:flex;gap:5px}
.reader-colors button,.scroll-speeds button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:5px 7px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font-size:11px;font-weight:700}
.reader-colors button[aria-pressed="true"],.scroll-speeds button[aria-pressed="true"]{border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}
.reader-colors i{width:14px;height:14px;flex:none;border:1px solid #c8bfc1;border-radius:50%;background:#f8edda}
.reader-colors [data-reader-color="white"] i{background:#fff}.reader-colors [data-reader-color="dark"] i{background:#27232b}
.auto-scroll-toggle{min-width:104px;min-height:40px;padding:6px 14px;border:0;border-radius:20px;background:var(--wine);color:var(--white);font-size:12px;font-weight:700}
.auto-scroll-toggle:disabled{opacity:.5;cursor:default}
.reader-page[data-reader-color="paper"]{background:#f7f0e7}.reader-page[data-reader-color="paper"] .reader-card{background:#fff9ef}
.reader-page[data-reader-color="white"]{background:#f3f2f3}.reader-page[data-reader-color="white"] .reader-card{background:#fff}
.reader-page[data-reader-color="dark"] .reader-card{background:#252027}
html.is-auto-scrolling{scroll-behavior:auto}
.reader-back-to-top{position:fixed;right:24px;bottom:24px;z-index:89;display:flex;align-items:center;justify-content:center;gap:8px;min-width:108px;height:46px;padding:0 16px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:var(--wine);color:#fff;font-family:inherit;font-size:12px;font-weight:700;box-shadow:0 12px 30px rgba(76,25,43,.24);opacity:0;visibility:hidden;transform:translateY(14px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s,background .2s}
.reader-back-to-top svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reader-back-to-top:hover{background:var(--wine-deep)}
.reader-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
@media(min-width:601px){.reader-settings{right:24px;bottom:24px}.reader-chapter-nav-top{position:sticky;top:82px;z-index:12}}
@media(max-width:600px){.reader-page{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.reader-library-link span{display:none}.reader-breadcrumb{margin:20px 0 16px}.reader-shell{padding-bottom:50px}.reader-card{border-radius:17px}.reader-heading{padding:32px 18px 26px}.reader-heading h1{font-size:29px}.reader-free{padding:26px 19px 38px}.reader-prose{font-size:var(--reader-font-size,16px);line-height:var(--reader-line-height,1.95)}.reader-vip{margin:20px 14px 30px;padding:28px 18px}.reader-vip h2{font-size:26px}.vip-notes{padding:18px 6px 18px 23px}.reader-chapter-nav{padding:18px 12px;gap:6px}.reader-chapter-nav a,.reader-chapter-nav button{min-height:50px;padding:7px 5px;font-size:11px}.reader-chapter-nav .reader-nav-action{gap:5px}.reader-nav-action svg{width:20px;height:20px}.chapter-report-action{padding:0 12px 22px}.chapter-dialog{max-height:calc(100dvh - 34px);border-radius:17px}.chapter-dialog-head{padding:20px 18px 12px}.chapter-dialog-head h2{font-size:27px}.chapter-dialog-search{margin:7px 18px 0}.chapter-dialog-count{margin:9px 18px 11px}.chapter-dialog-list{grid-template-columns:1fr;padding:0 18px 20px}.chapter-report-dialog{padding:22px 18px;border-radius:17px}.reader-footer{flex-direction:column;text-align:center}.reader-footer .brand{justify-content:center}.reader-footer p{margin:0}.reader-mobile-nav{height:calc(66px + env(safe-area-inset-bottom))}.reader-mobile-nav a,.reader-mobile-nav button{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:600px){.reader-chapter-nav-top,.reader-chapter-nav-bottom{grid-template-columns:minmax(0,1fr) 48px 48px minmax(0,1fr);padding:12px 10px}.reader-chapter-nav-top .reader-nav-action,.reader-chapter-nav-bottom .reader-nav-action{width:46px;min-height:46px;padding:0}.reader-chapter-nav-top>a,.reader-chapter-nav-bottom>a{min-height:46px;font-size:10px;line-height:1.3}}
@media(max-width:600px){.reader-back-to-top{right:14px;bottom:calc(78px + env(safe-area-inset-bottom));width:46px;min-width:46px;height:46px;padding:0}.reader-back-to-top span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.reader-heading h1{max-width:760px;margin:8px auto 0;overflow-wrap:anywhere;word-break:normal}
@media(max-width:600px){.reader-heading h1{max-width:100%;font-size:clamp(25px,8vw,32px);line-height:1.3}}
.reader-heading #reader-story-name {
  color: inherit;
  text-decoration: none;
}
.reader-heading #reader-story-name:hover {
  color: var(--accent);
  text-decoration: underline;
}
