.home-content{text-align:center;padding:0 var(--padding-mobile);padding-top:calc(var(--space-2xl) + 12vh);min-height:70vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:var(--space-xl);position:relative}.home-title{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center}.home-sticker{position:absolute;bottom:55px;right:0;width:80px;height:auto}.start-reading-btn{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-background);background-color:var(--color-text-primary);border:2px solid var(--color-text-primary);padding:var(--space-md) var(--space-xl);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;transition:all var(--transition-fast)}.start-reading-btn:hover{background-color:var(--color-background);color:var(--color-text-primary)}.continue-reading{position:fixed;top:70px;left:0;right:0;background-color:var(--color-accent);color:var(--color-background);padding:var(--space-lg) var(--padding-mobile);border-bottom:2px solid var(--color-accent);z-index:85;cursor:pointer;transition:background-color var(--transition-fast)}.continue-reading:hover{background-color:var(--color-text-secondary)}.continue-reading-content{max-width:var(--max-width-reader);margin:0 auto;display:flex;flex-direction:column;gap:var(--space-xs)}.continue-reading-label{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.continue-reading-chapter{font-family:var(--font-mono);font-size:var(--font-size-sm)}.scene-break{text-align:center;margin:2.5rem 0;padding:0;position:relative}.scene-break span{font-family:var(--font-serif);color:var(--color-text-tertiary);letter-spacing:.5em}.scene-break+p,.scene-break+p.has-dateline{margin-top:0}.article-citation{text-align:center;margin:2rem 0}.article-citation p{text-indent:0;margin:0}.citation-title{font-weight:700;font-size:14pt}.citation-byline{font-size:10pt}.citation-link{font-size:8pt}.citation-link a{color:var(--color-link);text-decoration:underline}.citation-link a:hover{color:var(--color-link-hover)}.citation-link .citation-emoji{font-size:12pt!important;vertical-align:middle}.flashback-header{font-family:var(--font-mono);font-weight:700;text-transform:uppercase;text-align:center;text-indent:0}.block-quote{margin:var(--space-xl) 0;padding:var(--space-lg) 0;background-color:var(--color-accent-light);text-indent:0!important}.block-quote p{text-indent:0!important;margin-left:0;padding-left:0}.messages p{text-indent:0!important}.dateline{font-family:var(--font-serif);font-style:italic;font-weight:400}.has-dateline{text-indent:0!important}.section-break{margin:var(--space-2xl) 0;padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.toc-top-section{border-bottom:1px solid var(--color-border)}.toc-top-header{padding:var(--space-md) var(--space-md);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background-color:var(--color-background);transition:background-color var(--transition-fast);position:relative}.toc-top-header:hover{background-color:var(--color-accent-light)}.toc-top-header::after{content:'▼';display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:var(--space-sm);transition:transform var(--transition-fast)}.toc-top-header.expanded::after{transform:rotate(180deg)}.toc-top-link::after{content:none}.toc-top-title{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.toc-book-content,.toc-top-content{max-height:5000px;overflow:hidden;transition:max-height var(--transition-normal)}.toc-book-content.collapsed,.toc-top-content.collapsed{max-height:0}.toc-nested-section{border-bottom:1px solid var(--color-border)}.toc-nested-section:last-child{border-bottom:none}.toc-nested-header{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-lg);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background-color:var(--color-accent-light);transition:background-color var(--transition-fast);position:relative}.toc-nested-header:hover{background-color:var(--color-border)}.toc-nested-header.disabled{cursor:default;opacity:.6}.toc-nested-header.disabled:hover{background-color:var(--color-accent-light)}.toc-nested-header.disabled::after{content:none}.toc-nested-header::after{content:'▼';display:inline-block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-left:var(--space-sm);transition:transform var(--transition-fast)}.toc-nested-header.expanded::after{transform:rotate(180deg)}.toc-nested-title{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);margin:0}.toc-nested-chapters{max-height:2000px;overflow:hidden;transition:max-height var(--transition-normal)}.toc-nested-chapters.collapsed{max-height:0}.toc-nested-chapters .toc-chapter{padding-left:var(--space-lg)}.toc-divider{height:2px;background-color:var(--color-border);margin:var(--space-lg) 0}.toc-content-section{border-bottom:1px solid var(--color-border)}.toc-section-header{padding:var(--space-sm) var(--space-md);display:flex;align-items:center;gap:var(--space-md);cursor:pointer;background-color:var(--color-accent-light);transition:background-color var(--transition-fast);position:relative}.toc-section-header:hover{background-color:var(--color-border)}.toc-section-header::after{content:'▼';display:inline-block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-left:auto;transition:transform var(--transition-fast)}.toc-section-header.expanded::after{transform:rotate(180deg)}.toc-section-link::after{content:none}.toc-section-icon{font-size:var(--font-size-lg);filter:grayscale(100%);opacity:.4}.toc-section-title{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);display:flex;align-items:center;gap:var(--space-sm)}.toc-section-content{max-height:2000px;overflow:hidden;transition:max-height var(--transition-normal)}.toc-section-content.collapsed{max-height:0}.coming-soon{padding:var(--space-xl) var(--padding-mobile);text-align:center;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;letter-spacing:var(--letter-spacing-tight)}.toc-chapter{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-lg);border-bottom:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--space-md);min-height:var(--min-touch-target);position:relative;background-color:var(--color-background)}.toc-chapter:hover{background-color:var(--color-accent-light)}.toc-chapter.active{background-color:var(--color-accent-light);border-left:3px solid var(--color-accent)}.toc-chapter.completed{opacity:.6}.toc-chapter-title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.chapter-indicator{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-top:2px}.chapter-indicator svg{width:18px;height:18px;color:var(--color-success)}.chapter-indicator.current{color:var(--color-text-primary)}.chapter-indicator .current-chapter-logo{width:18px;height:18px}.toc-chapter-info{flex:1;min-width:0}.toc-chapter-title{margin-bottom:var(--space-xs)}.toc-chapter-meta{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.title-page{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;position:relative;padding:var(--space-2xl) 0}.chapter-body:has(.title-page),.chapter-body:has(.toc-page){margin-top:-60px}body:has(.home-content) .clean-toggle,body:has(.title-page) .clean-toggle,body:has(.toc-page) .clean-toggle{visibility:hidden}.bookmark-btn{display:none!important}.toc-content-section[data-section=bookmarks]{display:none}body.bookmarks-enabled .bookmark-btn{display:flex!important}body.bookmarks-enabled .toc-content-section[data-section=bookmarks]{display:block}.chapter:has(.title-page) .chapter-header,.chapter:has(.toc-page) .chapter-header{display:none}.chapter:has(.title-page) .chapter-end,.chapter:has(.toc-page) .chapter-end{display:none}.title-page-content{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}.title-page-title{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center}.parental-advisory{position:absolute;bottom:55px;right:0;width:80px;height:auto}.toc-page{display:flex;flex-direction:column;justify-content:flex-start;padding:0}.toc-page-title{font-family:'Courier New',Courier,monospace;font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;margin:0 0 var(--space-lg) 0;padding:0;border:none}.toc-entry{margin:0;padding:2px 0;line-height:1.4}.toc-link{display:block;font-family:'Courier New',Courier,monospace;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.toc-link:hover{color:var(--color-accent)}.toc-link:active{opacity:.7}.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:var(--space-lg);background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:4px;color:var(--color-error-text);text-align:center}.locked-chapter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--space-2xl);text-align:center}.locked-chapter .locked-icon{font-size:4rem;margin-bottom:var(--space-lg);opacity:.6}.locked-chapter .locked-message{font-family:var(--font-mono);font-size:1rem;text-transform:uppercase;letter-spacing:2px;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.locked-chapter .locked-hint{font-size:.875rem;color:var(--color-text-secondary)}.install-prompt{position:fixed;bottom:80px;left:var(--padding-mobile);right:var(--padding-mobile);background-color:var(--color-background);color:var(--color-text-primary);padding:var(--space-lg);border:2px solid var(--color-accent);box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);z-index:80;opacity:0;transform:translateY(20px);visibility:hidden;transition:all var(--transition-normal)}.install-prompt.show{opacity:1;transform:translateY(0);visibility:visible}.install-prompt-text{flex:1;font-size:var(--font-size-sm)}.install-btn{background-color:var(--color-accent);color:var(--color-background);padding:var(--space-sm) var(--space-lg);border:1px solid var(--color-accent);font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);transition:all var(--transition-fast)}.install-btn:hover{background-color:var(--color-background);color:var(--color-accent)}.dismiss-install{color:var(--color-text-secondary);padding:var(--space-sm)}@media (hover:none){.install-btn:active,.nav-btn:active,.toc-chapter:active{transform:scale(.98)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.toc-content::-webkit-scrollbar{width:8px}.toc-content::-webkit-scrollbar-track{background:0 0}.toc-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.toc-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.toc-footer{padding:var(--space-md);border-top:1px solid var(--color-border);text-align:center;background-color:var(--color-sidebar-bg)}.toc-options{padding:var(--space-lg) var(--padding-mobile);border-top:1px solid var(--color-border);background-color:var(--color-sidebar-bg)}.toc-options-title{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);color:var(--color-text-tertiary);margin-bottom:var(--space-md)}.toc-option{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.toc-option:first-child{padding-top:0}.toc-option:last-child{padding-bottom:0}.toc-option-label{font-family:var(--font-mono);font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.toggle-switch{position:relative;width:44px;height:24px;background-color:var(--color-border);border-radius:12px;cursor:pointer;transition:background-color var(--transition-fast)}.toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--color-background);border-radius:50%;transition:transform var(--transition-fast)}.toggle-switch.active{background-color:var(--color-text-primary)}.toggle-switch.active::after{transform:translateX(20px)}.option-btn-group{display:flex;border:1px solid var(--color-border);border-radius:3px;overflow:hidden}.option-btn{padding:4px 10px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--color-background);color:var(--color-text-tertiary);border:none;border-right:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.option-btn:last-child{border-right:none}.option-btn:hover{background:var(--color-accent-light);color:var(--color-text-primary)}.option-btn.active{background:var(--color-text-primary);color:var(--color-background)}.toc-admin-link{padding:var(--space-lg) var(--padding-mobile);border-top:1px solid var(--color-border);background-color:var(--color-sidebar-bg)}.toc-admin-link .admin-link{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition-fast)}.toc-admin-link .admin-link:hover{color:var(--color-accent)}.toc-section{border-top:1px solid var(--color-border);flex-shrink:0}.toc-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-md) var(--padding-mobile);background:0 0;border:none;cursor:pointer;text-align:left;transition:background-color var(--transition-fast)}.toc-section-header:hover{background-color:var(--color-accent-light)}.toc-section-title{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);color:var(--color-text-tertiary)}.toc-section-arrow{color:var(--color-text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.toc-section.open .toc-section-arrow{transform:rotate(180deg)}.toc-section-content{padding:0 var(--padding-mobile) var(--space-md);position:relative}.search-input-wrapper{position:relative;display:flex;align-items:center;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:3px;padding:6px 10px;transition:border-color var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--color-text-secondary)}.search-icon{margin-right:8px;opacity:.4;flex-shrink:0;color:var(--color-text-primary)}#searchInput{flex:1;border:none;background:0 0;font-family:var(--font-mono);font-size:12px;color:var(--color-text-primary);outline:0;min-width:0}#searchInput::placeholder{color:var(--color-text-tertiary)}.search-clear{background:0 0;border:none;cursor:pointer;padding:2px;margin-left:4px;color:var(--color-text-tertiary);font-size:14px;line-height:1;transition:color var(--transition-fast);flex-shrink:0}.search-clear:hover{color:var(--color-text-primary)}.search-results{position:absolute;top:100%;left:var(--padding-mobile);right:var(--padding-mobile);max-height:300px;overflow-y:auto;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;margin-top:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:50}[data-theme=dark] .search-results{box-shadow:0 4px 12px rgba(0,0,0,.4)}.search-results-header{padding:8px 12px;font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-background-secondary)}.search-result-item{padding:12px;cursor:pointer;border-bottom:1px solid var(--color-border-subtle);transition:background-color var(--transition-fast)}.search-result-item:hover{background-color:var(--color-accent-light)}.search-result-item:last-child{border-bottom:none}.search-result-title{font-family:var(--font-mono);font-weight:700;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.search-result-snippet{font-family:var(--font-serif);font-size:13px;line-height:1.4;color:var(--color-text-secondary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-snippet mark{background-color:rgba(255,235,59,.5);color:inherit;font-weight:500;padding:0 2px;border-radius:2px}[data-theme=dark] .search-result-snippet mark{background-color:rgba(255,193,7,.35)}.search-result-meta{font-family:var(--font-mono);font-size:11px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.search-no-results{padding:24px 12px;text-align:center;color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--font-size-sm)}.search-show-all{display:block;width:100%;padding:12px;background-color:var(--color-background-secondary);border:none;border-top:1px solid var(--color-border-subtle);cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--color-link);text-transform:uppercase;letter-spacing:.5px;transition:background-color var(--transition-fast);text-align:center}.search-show-all:hover{background-color:var(--color-accent-light)}.media-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",emoji,sans-serif!important;font-size:1em;line-height:1;letter-spacing:0!important;word-spacing:0!important;text-transform:none!important;font-variant:normal!important;font-style:normal!important;font-weight:400!important;background:0 0!important;background-color:transparent!important;border:none!important;padding:0!important;margin:0!important;cursor:pointer;text-rendering:auto!important;-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important;-webkit-font-feature-settings:normal!important;font-feature-settings:normal!important}.media-emoji:hover{opacity:.7}.clean-toggle{display:flex;align-items:center;gap:6px;background:0 0;border:2px solid var(--color-text-primary)!important;border-radius:3px;padding:4px 8px;cursor:pointer;font-family:var(--font-mono);font-size:10px;font-weight:900!important;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-primary)!important;transition:all .15s ease}.clean-toggle:hover{border-color:var(--color-text-primary);color:var(--color-text-primary)}.clean-toggle.active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:var(--min-touch-target);height:var(--min-touch-target);background:0 0;border:none;cursor:pointer;transition:opacity var(--transition-fast);color:#000}[data-theme=dark] .theme-toggle{color:#fff}.theme-toggle:hover{opacity:.7}body.clean-read .media-emoji{display:none!important}.media-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-modal-overlay);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--padding-mobile);opacity:0;visibility:hidden;transition:opacity 150ms ease,visibility 150ms ease}.media-modal-overlay.active{opacity:1;visibility:visible}.media-modal{background-color:var(--color-modal-bg);border:1px solid var(--color-accent);max-width:500px;width:auto;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);transform:scale(.95);transition:transform 150ms ease,background-color var(--transition-fast);position:relative}.media-modal-overlay.active .media-modal{transform:scale(1)}.media-modal-header{display:none}.media-modal-header-content{display:none}.media-modal-icon{display:none}.media-modal-label{display:none}.media-modal-close{position:absolute;top:8px;right:8px;background:var(--color-modal-bg);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-primary);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:10;width:32px;height:32px}.media-modal-close:hover{background:var(--color-text-primary);color:var(--color-modal-bg)}.media-modal-body{flex:1;overflow-y:auto;padding:8px;min-height:100px}.media-modal-body img{max-width:100%;max-height:70vh;height:auto;object-fit:contain;display:block;margin:0 auto}.media-modal-caption{display:none;padding:var(--space-lg) var(--space-xl);border-top:2px solid var(--color-border);background-color:var(--color-accent-light);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;text-align:center}body.show-captions .media-modal-caption{display:block}.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center;min-height:300px}.media-placeholder-icon{font-size:64px;margin-bottom:var(--space-lg);opacity:.3}.media-placeholder-text{font-family:var(--font-mono);color:var(--color-text-tertiary)}.media-placeholder-text p{margin:var(--space-sm) 0}.media-placeholder-text strong{color:var(--color-text-secondary);font-size:var(--font-size-base)}.media-image-container{display:flex;align-items:center;justify-content:center;min-height:200px}.media-image{max-width:100%;height:auto;border:1px solid var(--color-border)}.media-video-container{display:flex;align-items:center;justify-content:center;background-color:var(--color-video-bg)}.media-video{max-width:100%;height:auto}.slim-player{display:flex;align-items:center;gap:12px;background:var(--color-player-bg);border-radius:20px;padding:8px 16px;height:40px;max-width:360px;margin:0 auto}.slim-player-audio{display:none}.slim-player-btn{width:28px;height:28px;border:none;background:var(--color-player-fill);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.slim-player-btn:hover{background:var(--color-border)}.slim-player-icon{width:14px;height:14px;color:var(--color-player-bg)}.slim-player-icon.play{margin-left:2px}.slim-player-icon.pause{display:none}.slim-player.playing .slim-player-icon.play{display:none}.slim-player.playing .slim-player-icon.pause{display:block}.slim-player-progress{flex:1;padding:8px 0;cursor:pointer}.slim-player-bar{position:relative;height:4px;background:var(--color-player-bar);border-radius:2px}.slim-player-fill{position:absolute;top:0;left:0;height:100%;background:var(--color-player-fill);border-radius:2px;width:0}.slim-player-handle{position:absolute;top:50%;left:0;width:12px;height:12px;background:var(--color-player-fill);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;opacity:0;transition:opacity .15s}.slim-player.playing .slim-player-handle,.slim-player:hover .slim-player-handle{opacity:1}.slim-player-time{font-size:12px;font-family:var(--font-mono);color:var(--color-text-tertiary);min-width:36px;text-align:right}.media-modal.audio-modal{max-width:450px}.media-modal.audio-modal .media-modal-header{padding:var(--space-sm) var(--space-md)}.media-modal.audio-modal .media-modal-body{padding:var(--space-md);min-height:auto}.media-text-container{font-family:var(--font-mono);line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.media-text-container p{margin:var(--space-md) 0}.media-document-container{display:flex;align-items:center;justify-content:center}.media-document-image{max-width:100%;height:auto;border:1px solid var(--color-border)}.media-link-container{font-family:var(--font-mono);padding:var(--space-xl);text-align:center}.media-link-container p{margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.media-link{display:inline-block;color:var(--color-accent);text-decoration:underline;word-break:break-all;padding:var(--space-md);border:1px solid var(--color-border);background-color:var(--color-accent-light);transition:all var(--transition-fast)}.media-link:hover{background-color:var(--color-accent);color:var(--color-background)}.gallery-container{border-bottom:1px solid var(--color-border)}.gallery-header{padding:var(--space-lg) var(--padding-mobile);border-bottom:2px solid var(--color-border);background-color:var(--color-accent-light)}.gallery-title{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.gallery-description{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-sm) 0;font-style:italic}.gallery-count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.gallery-section{border-bottom:1px solid var(--color-border)}.gallery-section-header{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-lg);background-color:var(--color-accent-light);transition:background-color var(--transition-fast);position:relative;display:flex;align-items:center}.gallery-section-header:not(.disabled):hover{background-color:var(--color-border)}.gallery-section-header.disabled{opacity:.5;cursor:not-allowed}.gallery-section-header::after{content:'▼';display:inline-block;position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);font-size:var(--font-size-xs);color:var(--color-text-secondary);transition:transform var(--transition-fast)}.gallery-section-header.disabled::after{content:''}.gallery-section-header.expanded::after{transform:translateY(-50%) rotate(180deg)}.gallery-section-title{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:var(--letter-spacing-tight)}.gallery-section-content{max-height:5000px;overflow:hidden;transition:max-height var(--transition-normal)}.gallery-section-content.collapsed{max-height:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md);padding:var(--space-lg) var(--padding-mobile)}.photo-card{aspect-ratio:1;background-color:var(--color-border);background-size:cover;background-position:center;border:2px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.photo-card:hover{border-color:var(--color-accent);transform:scale(1.02)}.photo-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.photo-card-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-accent-light);background-image:none}.photo-card-icon{font-size:32px;opacity:.3;margin-bottom:var(--space-sm)}.photo-card-filename{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;padding:0 var(--space-sm);word-break:break-all}.photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.95);z-index:1001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 150ms ease,visibility 150ms ease}.photo-modal-overlay.active{opacity:1;visibility:visible}.photo-modal{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.photo-modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);background:rgba(0,0,0,.7);border:2px solid var(--color-accent-light);color:var(--color-background);width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all var(--transition-fast)}.photo-modal-close:hover{background:var(--color-accent);border-color:var(--color-accent)}.photo-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.7);border:2px solid var(--color-accent-light);color:var(--color-background);width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all var(--transition-fast)}.photo-modal-nav:hover{background:var(--color-accent);border-color:var(--color-accent)}.photo-modal-prev{left:var(--space-lg)}.photo-modal-next{right:var(--space-lg)}.photo-modal-container{max-width:90vw;max-height:80vh;display:flex;align-items:center;justify-content:center}.photo-modal-image{max-width:100%;max-height:80vh;object-fit:contain;border:3px solid var(--color-accent)}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-accent-light);border:3px solid var(--color-accent);padding:var(--space-3xl);min-width:400px;min-height:400px;text-align:center}.photo-placeholder-icon{font-size:96px;opacity:.3;margin-bottom:var(--space-lg)}.photo-placeholder-text{font-family:var(--font-mono);color:var(--color-text-secondary)}.photo-placeholder-text p{margin:var(--space-sm) 0}.photo-placeholder-text strong{color:var(--color-text-primary);font-size:var(--font-size-base);display:block;margin-bottom:var(--space-md)}.photo-modal-info{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.85);border-top:2px solid var(--color-accent);padding:var(--space-lg) var(--padding-mobile);color:var(--color-background)}.photo-modal-caption{font-family:var(--font-mono);font-size:var(--font-size-base);margin-bottom:var(--space-sm);color:var(--color-background)}.photo-modal-meta{display:flex;gap:var(--space-lg);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-accent-light)}.photo-modal-count{font-weight:700}.guestbook-wrapper{padding:var(--space-lg) var(--padding-mobile)}.guestbook-intro{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.guestbook-share{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.guestbook-share-heading{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--space-md)}.guestbook-share-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.share-btn{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-decoration:none;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);transition:all var(--transition-fast)}.share-btn:hover{background-color:var(--color-accent-light);border-color:var(--color-text-primary)}.guestbook-form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.guestbook-form-heading{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--space-md)}.guestbook-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-label{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.form-input,.form-textarea{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:0;border-color:var(--color-accent)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary);font-style:italic}.form-textarea{resize:vertical;min-height:80px}.char-count{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-tertiary);text-align:right}.guestbook-submit{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-background);background-color:var(--color-text-primary);border:1px solid var(--color-text-primary);padding:var(--space-md) var(--space-lg);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-sm)}.guestbook-submit:hover{background-color:var(--color-background);color:var(--color-text-primary)}.guestbook-success{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-success);text-align:center;padding:var(--space-md);background-color:rgba(39,174,96,.1);border:1px solid var(--color-success);margin-top:var(--space-md)}.guestbook-entries{margin-bottom:var(--space-lg)}.guestbook-entries-heading{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--space-md)}.guestbook-entries-list{display:flex;flex-direction:column;gap:var(--space-md);max-height:400px;overflow-y:auto}.guestbook-entry{padding:var(--space-md);background-color:var(--color-accent-light);border-left:2px solid var(--color-border)}.guestbook-entry-header{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary)}.guestbook-entry-comment{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;line-height:var(--line-height-normal);margin-top:var(--space-xs)}.guestbook-empty{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:var(--space-xl)}.bookmark-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;border:none;cursor:pointer;transition:all var(--transition-fast);padding:0}.bookmark-btn:hover{opacity:.7}.bookmark-btn.active svg{fill:var(--color-text-primary)}.bookmarks-section{background-color:var(--color-accent-light)}.bookmarks-count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-left:var(--space-sm)}.bookmarks-list{display:flex;flex-direction:column}.bookmarks-empty{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:var(--space-xl) var(--padding-mobile);line-height:var(--line-height-normal)}.bookmark-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--padding-mobile) var(--space-md) var(--space-2xl);border-bottom:1px solid var(--color-border);background-color:var(--color-background);transition:background-color var(--transition-fast)}.bookmark-item:hover{background-color:var(--color-accent-light)}.bookmark-item:last-child{border-bottom:none}.bookmark-info{flex:1;cursor:pointer;min-width:0}.bookmark-title{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:700;margin-bottom:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookmark-date{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-tertiary)}.bookmark-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:var(--font-size-lg);cursor:pointer;flex-shrink:0;margin-left:var(--space-md);transition:all var(--transition-fast)}.bookmark-remove:hover{background-color:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-background)}@media (min-width:640px){.install-prompt{left:50%;right:auto;transform:translateX(-50%) translateY(20px);max-width:var(--max-width-reader)}.install-prompt.show{transform:translateX(-50%) translateY(0)}.media-modal-overlay{padding:var(--padding-tablet)}}@media (max-width:480px){.media-modal-overlay{padding:10px}.media-modal{max-width:calc(100vw - 20px);border-width:1px}.media-modal-body{padding:8px}.media-modal-body img{max-height:60vh}}.sidebar-search{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);background-color:var(--color-accent-light)}.sidebar-search-bar{display:flex;align-items:center;background-color:var(--color-background);border:1px solid var(--color-border);padding:0 var(--space-sm)}.sidebar-search-icon{flex-shrink:0;color:var(--color-text-tertiary)}.sidebar-search-input{flex:1;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-primary);background:0 0;border:none;padding:var(--space-sm);outline:0;min-width:0}.sidebar-search-input::placeholder{color:var(--color-text-tertiary)}.sidebar-search-results{max-height:200px;overflow-y:auto;margin-top:var(--space-xs)}.sidebar-search-results:empty{display:none}.sidebar-search-result{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-primary);padding:var(--space-sm) var(--space-sm);cursor:pointer;background-color:var(--color-background);border-bottom:1px solid var(--color-border)}.sidebar-search-result:hover{background-color:var(--color-border)}.sidebar-search-result:last-child{border-bottom:none}.sidebar-search-empty{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-sm);text-align:center;background-color:var(--color-background)}.settings-wrapper{padding:var(--space-lg) var(--padding-mobile)}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.settings-row:last-child{border-bottom:none}.settings-label{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary)}.settings-wrapper .reading-mode-toggle{display:flex;gap:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:3px;overflow:hidden}.settings-wrapper .mode-btn{padding:4px 10px;font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px;background:0 0;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast)}.settings-wrapper .mode-btn:hover{background:var(--color-accent-light);color:var(--color-text-primary)}.settings-wrapper .mode-btn.active{background:var(--color-text-primary);color:var(--color-background);font-weight:700}.settings-wrapper .font-size-toggle{display:flex;gap:0;background:var(--color-background);border:1px solid var(--color-border);border-radius:3px;overflow:hidden}.settings-wrapper .font-btn{padding:4px 10px;font-family:var(--font-mono);font-size:var(--font-size-xs);background:0 0;color:var(--color-text-secondary);border:none;cursor:pointer;transition:all var(--transition-fast);min-width:32px}.settings-wrapper .font-btn:hover{background:var(--color-accent-light);color:var(--color-text-primary)}.settings-wrapper .font-btn.active{background:var(--color-text-primary);color:var(--color-background);font-weight:700}.back-link{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)}.back-link:hover{opacity:.7}.guestbook-page{padding-bottom:var(--space-3xl)}.guestbook-page .guestbook-wrapper{padding:0}.guestbook-page .guestbook-intro{font-family:var(--font-serif);font-style:italic;color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.guestbook-page .guestbook-entries,.guestbook-page .guestbook-form-section,.guestbook-page .guestbook-share{padding:var(--space-xl) 0;border-top:1px solid var(--color-border)}.guestbook-page .guestbook-entries-heading,.guestbook-page .guestbook-form-heading,.guestbook-page .guestbook-share-heading{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);margin-bottom:var(--space-lg)}.guestbook-page .guestbook-share-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.guestbook-page .share-btn{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);background:var(--color-background);border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-transform:uppercase;letter-spacing:.5px;text-decoration:none;transition:all var(--transition-fast)}.guestbook-page .share-btn:hover{background:var(--color-text-primary);color:var(--color-background)}.guestbook-page .form-group{margin-bottom:var(--space-lg)}.guestbook-page .form-label{display:block;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.guestbook-page .form-input,.guestbook-page .form-textarea{width:100%;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-background);border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);transition:border-color var(--transition-fast)}.guestbook-page .form-input:focus,.guestbook-page .form-textarea:focus{outline:0;border-color:var(--color-text-primary)}.guestbook-page .form-textarea{resize:vertical;min-height:100px}.guestbook-page .char-count{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:right;margin-top:var(--space-xs)}.guestbook-page .guestbook-submit{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-background);background:var(--color-text-primary);border:2px solid var(--color-text-primary);padding:var(--space-sm) var(--space-xl);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);cursor:pointer;transition:all var(--transition-fast)}.guestbook-page .guestbook-submit:hover{background:var(--color-background);color:var(--color-text-primary)}.guestbook-page .guestbook-success{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-accent-light);padding:var(--space-md);margin-top:var(--space-lg);text-align:center}.guestbook-page .guestbook-entries-list{display:flex;flex-direction:column;gap:var(--space-lg)}.guestbook-page .guestbook-entry{padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.guestbook-page .guestbook-entry:last-child{border-bottom:none}.guestbook-page .guestbook-entry-header{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.guestbook-page .guestbook-entry-comment{font-family:var(--font-serif);font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-secondary)}.guestbook-page .guestbook-empty{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.photos-page{padding-bottom:var(--space-3xl)}.gallery-page-section{margin-bottom:var(--space-3xl)}.gallery-page-section:last-child{margin-bottom:0}.gallery-page-header{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.gallery-page-title{font-family:var(--font-mono);font-size:var(--font-size-base);font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);margin:0}.gallery-coming-soon{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;padding:var(--space-lg) 0}.locked-content{position:relative;padding:var(--space-lg);margin:var(--space-lg) 0;border-radius:4px;overflow:hidden}.locked-content::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,rgba(128,128,128,.1) 0,rgba(128,128,128,.3) 50%,rgba(128,128,128,.1) 100%);z-index:1}.locked-content p{color:var(--color-text-tertiary);filter:blur(3px);user-select:none}.locked-content .lock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.locked-content .lock-icon{font-size:32px;opacity:.7}.locked-content .lock-text{font-family:var(--font-mono);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary)}.toc-chapter-locked{opacity:.5;cursor:not-allowed}.toc-chapter-locked:hover{background-color:transparent}.toc-chapter-locked .toc-chapter-title{color:var(--color-text-tertiary)}.toc-lock-icon{margin-left:var(--space-sm);font-size:12px}.password-gate{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-background);z-index:9999;display:flex;align-items:center;justify-content:center;padding-bottom:15vh}.password-gate-content{text-align:center;padding:var(--space-xl);max-width:320px;width:100%}.password-gate-title{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-xl);color:var(--color-text-primary)}.password-gate-subtitle{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--space-2xl)}.password-form{display:flex;flex-direction:column;gap:var(--space-md)}.password-input{font-family:var(--font-mono);font-size:var(--font-size-base);padding:var(--space-md);background-color:transparent;border:2px solid var(--color-text-secondary);color:var(--color-text-primary);text-align:center;letter-spacing:4px;transition:border-color var(--transition-fast)}.password-input:focus{outline:0;border-color:var(--color-accent)}.password-input::placeholder{color:var(--color-text-muted);letter-spacing:normal}.password-submit{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:700;color:var(--color-background);background-color:var(--color-text-primary);border:2px solid var(--color-text-primary);padding:var(--space-md) var(--space-xl);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;transition:all var(--transition-fast)}.password-submit:hover{background-color:var(--color-background);color:var(--color-text-primary)}.password-error{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-accent);display:none;margin-top:var(--space-sm)}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.password-form.shake{animation:shake .5s ease-in-out}.logout-btn{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);background:0 0;border:none;padding:var(--space-sm) var(--space-md);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);transition:color var(--transition-fast)}.logout-btn:hover{color:var(--color-accent)}@media (max-width:374px){.media-modal{max-width:calc(100vw - 16px)}.media-modal-body img{max-height:50vh}.header-logo-img{height:22px}.nav-btn{padding:6px 8px;font-size:12px}}@media (max-width:480px){.media-modal-close{width:44px;height:44px;top:4px;right:4px}.media-emoji{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-10px -8px;padding:10px 8px;font-family:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji","EmojiOne Color","Android Emoji",emoji,sans-serif!important;text-rendering:auto!important;-webkit-font-smoothing:auto!important}.media-modal-body video,.media-video-container video{max-height:45vh;width:100%}.slim-player{max-width:280px;padding:6px 12px}.nav-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.chapter-nav-button{min-width:44px;min-height:44px}.sidebar{width:100vw;max-width:100vw}.gallery-grid-thumb{width:80px;height:80px}.gallery-page-grid{grid-template-columns:repeat(3,1fr);gap:4px}}@media (max-width:768px){.media-modal-body video{max-height:50vh}.gallery-page-grid{grid-template-columns:repeat(4,1fr);gap:6px}}@media (hover:none) and (pointer:coarse){.media-emoji:hover{transform:none}.chapter-nav-button,.media-modal-close,.nav-btn,.sidebar-close{touch-action:manipulation}.media-emoji:active{opacity:.7}.nav-btn:active{background:var(--color-accent-light)}}.header{will-change:transform;backface-visibility:hidden}.nav-footer{will-change:transform;backface-visibility:hidden}.toc-sidebar{will-change:transform;backface-visibility:hidden;contain:layout style paint}.chapter,.chapter-section{contain:layout style paint}@media (max-width:599px){body{padding:calc(70px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(80px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}.header{padding-top:env(safe-area-inset-top,0);border-bottom-width:2px}.header-content{height:var(--header-height-mobile);padding:0 max(12px,env(safe-area-inset-left,0px)) 0 max(12px,env(safe-area-inset-right,0px))}.header-logo-img{height:24px}.menu-btn{min-width:48px;min-height:48px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.menu-btn:active{opacity:.5;transform:scale(.95)}.toc-sidebar{width:100%;max-width:100%;left:0;transform:translate3d(-100%,0,0);transition:transform var(--transition-modal);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);box-shadow:none;z-index:300;overflow:hidden}.toc-sidebar.open{transform:translate3d(0,0,0)}.toc-header{display:flex;align-items:center;justify-content:space-between;padding:16px max(16px,env(safe-area-inset-left,0px));border-bottom:2px solid var(--color-border);position:sticky;top:0;background:var(--color-background);z-index:10}.close-btn{min-width:48px;min-height:48px;margin-right:0;-webkit-tap-highlight-color:transparent}.close-btn:active{opacity:.5;transform:scale(.95)}.toc-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.nav-footer{position:fixed;bottom:0;left:0;right:0;transform:none;border:none;border-top:1px solid var(--color-border);border-radius:0;padding:12px max(16px,env(safe-area-inset-left,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-right,0px));gap:16px;box-shadow:0 -1px 8px rgba(0,0,0,.04)}.nav-btn{min-width:48px;min-height:44px;padding:10px 14px;font-size:13px;gap:4px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.nav-btn:active:not(:disabled){opacity:.5;transform:scale(.95)}.nav-btn svg{width:18px;height:18px}.bookmark-btn{min-width:44px;min-height:44px;padding:10px;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}.bookmark-btn:active{opacity:.5;transform:scale(.95)}.overlay{transition:opacity var(--transition-modal);will-change:opacity;backface-visibility:hidden;z-index:250}.reader{padding:0 max(16px,env(safe-area-inset-left,0px)) 0 max(16px,env(safe-area-inset-right,0px))}.chapter-header{margin:1.5em 0;padding-bottom:1em}.toc-chapter-item,.toc-section-item{min-height:56px;padding:14px max(16px,env(safe-area-inset-left,0px))}.toc-chapter-item:active{background-color:var(--color-accent-light)}}@media (max-width:374px){body{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.header-content{padding:0 max(10px,env(safe-area-inset-left,0px)) 0 max(10px,env(safe-area-inset-right,0px))}.nav-footer{padding:10px max(12px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px));gap:12px}.nav-btn{padding:8px 10px;font-size:12px}}@media (max-height:500px) and (orientation:landscape){body{padding-top:60px;padding-bottom:60px}.header-content{height:56px}.nav-footer{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.overlay,.toc-sidebar{transition:none!important}.bookmark-btn:active,.close-btn:active,.menu-btn:active,.nav-btn:active{transform:none!important}}@supports (-webkit-touch-callout:none){body{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch}}@supports (-webkit-appearance:none){.bookmark-btn,.close-btn,.menu-btn,.nav-btn{-webkit-appearance:none}}