:root{--bg:#f4efe7;--bg-elevated:#fffcf7e0;--bg-strong:#fff9f0;--surface:#fffcf7b8;--surface-strong:#fffdf8;--border:#3a261a1a;--text:#2b1b14;--text-muted:#786356;--accent:#be5a42;--accent-soft:#be5a421f;--accent-strong:#7e2717;--shadow:0 18px 60px #49301f14;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--content-width:1180px;--ui-font:"Avenir Next","Segoe UI",sans-serif;--display-font:"Iowan Old Style","Palatino Linotype","Book Antiqua",serif}*{box-sizing:border-box}html{background:radial-gradient(circle at top,#be5a421a,#0000 28%),linear-gradient(#f8f4ef 0%,#f3ede4 100%)}body{color:var(--text);font-family:var(--ui-font);background:0 0;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-frame{min-height:100vh;padding:20px 16px 108px}.app-frame.is-viewer{padding-bottom:24px}.app-shell{max-width:var(--content-width);margin:0 auto}.app-main{flex-direction:column;gap:32px;display:flex}.shell-header{z-index:30;border:1px solid var(--border);border-radius:calc(var(--radius-lg) + 4px);background:var(--bg-elevated);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 18px;display:flex;position:sticky;top:16px}.brand-lockup{flex-direction:column;gap:4px;display:flex}.brand-mark{font-family:var(--display-font);letter-spacing:.1em;font-size:clamp(1.4rem,1.8vw,1.9rem);font-weight:700}.brand-copy{color:var(--text-muted);font-size:.86rem}.header-actions{align-items:center;gap:10px;display:flex}.icon-chip,.create-chip,.wallet-chip{border:1px solid var(--border);background:var(--surface-strong);color:var(--text);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 14px;display:inline-flex}.create-chip{background:var(--accent);color:#fff;border-color:#0000}.wallet-chip{background:var(--accent-soft);color:var(--accent-strong)}.hero-panel,.page-panel,.detail-shell,.viewer-shell{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow)}.hero-panel{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;display:grid;overflow:hidden}.hero-copy{flex-direction:column;gap:18px;padding:28px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;font-weight:700}.hero-title,.page-title,.detail-title{font-family:var(--display-font);margin:0;line-height:1.05}.hero-title{font-size:clamp(2rem,4vw,3.4rem)}.page-title{font-size:clamp(1.8rem,3vw,2.6rem)}.detail-title{font-size:clamp(2rem,3vw,3rem)}.hero-description,.page-copy,.detail-copy,.meta-copy{color:var(--text-muted);margin:0;line-height:1.7}.hero-actions,.detail-actions,.filter-row{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.secondary-button,.ghost-button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.secondary-button{background:var(--surface-strong);border-color:var(--border)}.ghost-button{border-color:var(--border);background:0 0}.hero-aside{color:#fff4ef;background:linear-gradient(#fff3,#fff0),linear-gradient(135deg,#7e2717f2,#3c1310eb);flex-direction:column;justify-content:space-between;gap:16px;padding:24px;display:flex}.hero-stat-grid,.meta-grid,.detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-card,.meta-card{border-radius:var(--radius-md);background:#ffffff14;padding:14px 16px}.stat-label,.meta-label{color:inherit;opacity:.7;margin-bottom:6px;font-size:.8rem;display:block}.stat-value,.meta-value{font-size:1.05rem;font-weight:700}.rail-section{flex-direction:column;gap:18px;display:flex}.section-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.section-title{margin:0;font-size:1.15rem}.section-copy{color:var(--text-muted);margin:0;font-size:.92rem}.rail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.novel-card,.list-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);flex-direction:column;gap:14px;padding:16px;display:flex}.cover-art{aspect-ratio:.75;color:#fff7f0;background:var(--cover-bg);border-radius:18px;align-items:end;padding:14px;display:flex;position:relative;overflow:hidden}.cover-art:after{content:"";background:linear-gradient(#0000 20%,#0c07058c 100%);position:absolute;inset:0}.cover-mark,.cover-caption{z-index:1;position:relative}.cover-mark{width:54px;height:54px;font-family:var(--display-font);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:18px;justify-content:center;align-items:center;font-size:1.45rem;display:inline-flex}.cover-caption{letter-spacing:.08em;text-transform:uppercase;margin-top:auto;font-size:.8rem}.card-title,.list-title{margin:0;font-size:1rem;line-height:1.4}.card-copy,.list-copy{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.6}.chip-row,.tag-row{flex-wrap:wrap;gap:8px;display:flex}.chip,.tag{background:var(--accent-soft);min-height:32px;color:var(--accent-strong);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.84rem;font-weight:700;display:inline-flex}.card-meta,.list-meta{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:.88rem;display:flex}.page-panel{flex-direction:column;gap:24px;padding:28px;display:flex}.panel-header{flex-direction:column;gap:12px;display:flex}.tab-row,.subnav-row{flex-wrap:wrap;gap:10px;display:flex}.tab-button{border:1px solid var(--border);min-height:40px;color:var(--text-muted);background:0 0;border-radius:999px;padding:0 14px}.tab-button.is-active{background:var(--accent);color:#fff;border-color:#0000}.search-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:18px;display:grid}.filter-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);flex-direction:column;gap:14px;padding:20px;display:flex}.filter-input,.filter-select{border:1px solid var(--border);width:100%;min-height:48px;color:var(--text);background:#fffdf8;border-radius:14px;padding:0 14px}.list-stack{flex-direction:column;gap:14px;display:flex}.bullet-stack{flex-direction:column;gap:10px;display:flex}.detail-shell{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:24px;padding:24px;display:grid}.detail-sidebar,.detail-content{flex-direction:column;gap:18px;display:flex}.episode-list{flex-direction:column;gap:12px;display:flex}.viewer-shell{flex-direction:column;gap:24px;padding:28px;display:flex}.viewer-entry-link{justify-content:flex-start;display:flex}.viewer-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.sticky-topbar{z-index:20;border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffcf7eb;padding:16px 18px;position:sticky;top:12px}.viewer-body{border-radius:var(--radius-lg);background:var(--surface-strong);font-family:var(--display-font);font-size:calc(1.18rem*var(--viewer-font-scale,1));line-height:var(--viewer-line-height,1.9);flex-direction:column;gap:18px;padding:28px;display:flex}.viewer-body p{margin:0}.viewer-episode-title{margin:0 0 10px;font-size:1.4rem}.viewer-footer{flex-direction:column;gap:18px;display:flex}.viewer-actions{flex-wrap:wrap;gap:12px;display:flex}.sticky-actions{z-index:25;border:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow);background:#fffcf7f5;border-radius:999px;padding:12px;position:sticky;bottom:16px}.viewer-settings-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);padding:18px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-range{width:100%}.settings-toggle{border:1px solid var(--border);background:var(--bg-strong);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.settings-toggle input{width:20px;height:20px}.toggle-copy{color:var(--text-muted);margin:4px 0 0;font-size:.84rem;line-height:1.5}.continuation-card{background:#be5a4214;border-radius:18px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.viewer-theme-dark .viewer-body,.viewer-theme-dark .viewer-settings-panel,.viewer-theme-dark .sticky-actions,.viewer-theme-dark .sticky-topbar{color:#f7efe8;background:#1a1613f0}.viewer-theme-sepia .viewer-body,.viewer-theme-sepia .viewer-settings-panel,.viewer-theme-sepia .sticky-actions,.viewer-theme-sepia .sticky-topbar{background:#f5ecdcf5}.viewer-handed-left .sticky-actions{justify-content:flex-start}.viewer-handed-right .sticky-actions{justify-content:flex-end}.end-card{border-radius:var(--radius-md);background:linear-gradient(160deg,#be5a421a,#7e27170a);padding:20px}.summary-grid,.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.shortcut-card{justify-content:space-between;min-height:140px}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);background:#fffdf8b3;padding:22px}.cover-candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cover-candidate-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-strong);text-align:left;flex-direction:column;gap:14px;padding:14px;display:flex}.cover-candidate-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px #be5a4224}.cover-preview{aspect-ratio:.75;box-shadow:var(--shadow);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:18px}.notification-stack{flex-direction:column;gap:14px;display:flex}.wallet-history-meta{justify-content:space-between;align-items:center;gap:16px}.wallet-history-copy{gap:6px;display:grid}.wallet-history-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.wallet-amount{color:var(--accent-strong);font-weight:700}.reader-settings-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;display:grid}.reader-settings-preview{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffcf7b8;padding:18px}.create-form{flex-direction:column;gap:18px;display:flex}.filter-textarea{border:1px solid var(--border);width:100%;min-height:120px;color:var(--text);resize:vertical;background:#fffdf8;border-radius:18px;padding:14px}.result-panel{flex-direction:column;gap:18px;display:flex}.stepper-row{flex-wrap:wrap;gap:10px;display:flex}.step-chip{border:1px solid var(--border);min-height:40px;color:var(--text-muted);border-radius:999px;align-items:center;padding:0 14px;display:inline-flex}.step-chip.is-active{background:var(--accent);color:#fff;border-color:#0000}.episode-row{border:1px solid var(--border);background:var(--surface-strong);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.episode-title{margin:0 0 4px;font-size:.98rem}.episode-summary{color:var(--text-muted);margin:0;font-size:.9rem}.price-badge{text-align:center;background:var(--accent-soft);min-width:68px;color:var(--accent-strong);border-radius:999px;flex-shrink:0;padding:8px 12px;font-weight:700}.mobile-bottom-nav{z-index:40;border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(100% - 24px,620px);box-shadow:var(--shadow);background:#fffcf7eb;border-radius:999px;justify-content:space-between;gap:10px;padding:10px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.nav-link{color:var(--text-muted);border-radius:999px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px 8px;font-size:.76rem;font-weight:700;display:flex}.nav-link.is-active{background:var(--accent-soft);color:var(--accent-strong)}.nav-glyph{font-size:1rem}@media (max-width:980px){.hero-panel,.detail-shell,.reader-settings-layout,.search-grid,.shortcut-grid,.summary-grid{grid-template-columns:1fr}.rail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}@media (max-width:720px){.app-frame{padding:12px 12px 108px}.shell-header{flex-direction:column;align-items:stretch;top:10px}.header-actions{overflow-x:auto}.hero-copy,.hero-aside,.page-panel,.detail-shell{padding:20px}.rail-grid,.detail-meta-grid,.cover-candidate-grid,.hero-stat-grid,.meta-grid{grid-template-columns:1fr}.section-header,.subnav-row{align-items:stretch}}
