body{display:flex;flex-direction:column;min-height:100vh;padding-top:70px;padding-bottom:120px;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color var(--transition-fast),color var(--transition-fast)}body.paginated{overflow:hidden;height:100vh}body.paginated .reader{overflow:hidden}body.paginated .chapter-body{margin-top:var(--space-lg);margin-bottom:0}.page-container{width:100%}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);background-color:var(--color-header-bg);border-bottom:1px solid var(--color-border);transition:transform var(--transition-fast),background-color var(--transition-fast)}.header-content{display:flex;align-items:center;justify-content:space-between;height:69px;padding:0 var(--padding-mobile);max-width:var(--max-width-reader);margin:0 auto}.menu-btn{width:var(--min-touch-target);height:var(--min-touch-target);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);transition:opacity var(--transition-fast)}.menu-btn:hover{opacity:.7}.header-title{flex:1;text-align:center;margin:0 var(--space-sm)}.header-logo{flex:1;display:flex;align-items:center;justify-content:center;margin:0 var(--space-sm)}.header-logo-img{height:28px;width:auto}.header-progress{width:var(--min-touch-target);display:flex;align-items:center;justify-content:flex-end}.reader{flex:1;width:100%;max-width:var(--max-width-reader);margin:0 auto;padding:var(--padding-mobile);background-color:var(--color-background)}.chapter{width:100%}.chapter-header{margin-top:2em;margin-bottom:2em;padding-bottom:1.5em;border-bottom:1px solid var(--color-border)}.scene-break+.chapter-header{margin-top:0}.chapter-body{margin-bottom:var(--space-2xl);margin-top:var(--space-lg);padding-bottom:60px}.nav-footer{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:var(--z-nav-footer);background:var(--color-background);border:1.5px solid var(--color-text-primary);box-shadow:0 2px 12px rgba(0,0,0,.08);width:auto;max-width:300px;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;gap:0}.nav-btn{font-family:'Courier New','Courier Prime',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-primary);background:0 0;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;padding:0;white-space:nowrap;transition:color .15s ease}.nav-btn:hover:not(:disabled){color:#1a1a1a}.nav-btn:active:not(:disabled){color:#000}.nav-btn:disabled{opacity:.25;cursor:not-allowed}.nav-btn svg{width:14px;height:14px}.nav-center{display:flex;align-items:center;gap:12px;margin:0 14px}.nav-footer-screenshot{display:flex;align-items:center;justify-content:center;background:0 0;border:none;padding:4px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}.nav-footer-screenshot:hover{transform:scale(1.05)}.nav-footer-screenshot img{width:24px;height:24px;display:block}@media (hover:none) and (pointer:coarse){.nav-btn{min-height:44px;padding:10px 0}.nav-footer-screenshot{min-height:44px;min-width:44px}}@media (max-width:768px){.nav-footer{bottom:max(12px,calc(env(safe-area-inset-bottom) + 4px));max-width:290px;padding:9px 12px}.nav-btn{font-size:10px;min-height:44px;-webkit-tap-highlight-color:transparent}.nav-center{gap:10px;margin:0 10px}.nav-btn:active:not(:disabled){color:#000;transform:scale(.95)}}@media (max-width:374px){.nav-footer{max-width:270px;padding:8px 10px}.nav-center{gap:8px;margin:0 8px}}[data-theme=dark] .nav-footer{background:var(--color-background);border-color:var(--color-border);box-shadow:0 2px 12px rgba(0,0,0,.3)}[data-theme=dark] .nav-btn{color:var(--color-text-primary)}[data-theme=dark] .nav-btn:hover:not(:disabled){color:#fff}[data-theme=dark] .nav-btn:active:not(:disabled){color:#fff}body.capturing-screenshot .nav-footer{visibility:hidden}body.share-overlay-open .nav-footer{visibility:hidden}.toc-header{display:flex;align-items:center;padding:0 var(--padding-mobile);border-bottom:1px solid var(--color-border);min-height:var(--min-touch-target);position:relative;flex-shrink:0}.toc-header-icon{font-family:'Courier New',monospace;font-size:var(--font-size-xl);font-weight:700;position:absolute;left:50%;transform:translateX(-50%)}.close-btn{width:var(--min-touch-target);height:var(--min-touch-target);display:flex;align-items:center;justify-content:center;color:var(--color-text-primary);background:0 0!important;border:none!important;outline:0!important;box-shadow:none!important;-webkit-appearance:none!important;appearance:none!important;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:opacity var(--transition-fast);margin-left:auto;margin-right:-16px}.close-btn:hover{opacity:.7}.toc-content{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0;max-height:calc(100vh - 120px)}.toc-footer{padding:var(--space-xl) var(--padding-mobile);border-top:1px solid var(--color-border)}@media (min-width:600px){.header-content{padding:var(--space-lg) var(--padding-tablet)}.reader{padding:var(--padding-tablet)}.nav-footer{padding:var(--space-sm) var(--space-lg)}}@media (min-width:1024px){.reader{padding:var(--padding-tablet) var(--space-xl)}}.header-toggles{display:flex;gap:var(--space-sm);align-items:center}.reading-mode-toggle{display:flex;gap:0;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:3px;overflow:hidden;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.mode-btn{padding:4px 8px;font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;background:var(--color-background-secondary);color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.mode-btn:hover{background:var(--color-accent-light);color:var(--color-text-primary)}.mode-btn.active{background:var(--color-text-primary);color:var(--color-background);font-weight:700}body.scrolling{overflow:auto;height:auto}body.scrolling .reader{overflow:visible}body.scrolling .chapter-body{margin-top:var(--space-2xl);margin-bottom:var(--space-2xl)}body.scrolling .page-container .scene-break,body.scrolling .page-container p{display:block!important}@media print{.header,.nav-footer,.overlay,.reading-mode-toggle,.toc-sidebar{display:none}body{padding:0}.reader{max-width:100%}}