.toc-page{min-height:100vh;background:linear-gradient(135deg,var(--neutral-100) 0,var(--primary-light-200) 100%);padding:2rem}.toc-header{justify-content:space-between;background:white;padding:1.5rem 2rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.toc-back-link,.toc-header{display:flex;align-items:center}.toc-back-link{gap:.5rem;color:#2c3e50;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:all .2s}.toc-back-link:hover{background:#f0f2f5;color:#1a73e8}.toc-language-selector{display:flex;align-items:center;gap:.5rem;background:#f0f2f5;padding:.75rem 1rem;border-radius:8px}.language-icon{color:var(--primary);font-size:1.2rem}.language-select{padding:.5rem 1rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;background:white;cursor:pointer;transition:all .2s;min-width:200px}.language-select:focus,.language-select:hover{border-color:var(--primary)}.language-select:focus{outline:none;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.toc-project-info{display:flex;gap:2rem;background:white;padding:2rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-bottom:2rem}.toc-project-cover{flex-shrink:0;width:200px;height:280px;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);box-shadow:0 4px 12px rgba(0,0,0,.15)}.toc-project-cover img{width:100%;height:100%;object-fit:cover}.toc-project-details{flex:1 1}.toc-project-title{font-size:2rem;color:#2c3e50;margin:0 0 .5rem}.toc-project-author{font-size:1.1rem;color:var(--primary);margin:0 0 1rem;font-style:italic}.toc-project-description{font-size:1rem;color:#5f6368;line-height:1.6;margin:0 0 1.5rem}.toc-action-buttons{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.toc-action-button{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer;border:none;box-shadow:0 2px 4px rgba(0,0,0,.1)}.toc-action-button.primary{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:white}.toc-action-button.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.3)}.toc-action-button.secondary{background:white;color:var(--primary);border:2px solid var(--primary)}.toc-action-button.secondary:hover{background:var(--primary);color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.2)}.toc-action-button svg{font-size:1.1rem}.toc-container{background:white;padding:2rem;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.toc-section-title{font-size:1.8rem;color:#2c3e50;margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f2f5}.toc-subsection-title{font-size:1.3rem;color:#2c3e50;margin:0 0 1rem}.toc-general-pages{margin-bottom:2rem}.toc-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.toc-page-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;text-decoration:none;color:#2c3e50;transition:all .2s;font-weight:500}.toc-page-item:hover{background:var(--primary);border-color:var(--primary);color:white;transform:translateY(-2px);box-shadow:0 2px 8px rgba(102,126,234,.3)}.toc-page-item.no-translation{opacity:.6;background:#fff3cd;border-color:#ffc107}.toc-page-item.no-translation:hover{background:#ffc107;border-color:#ffc107;color:#2c3e50}.toc-page-icon{font-size:1rem}.toc-page-number{flex:1 1}.toc-no-translation-badge{font-size:.75rem;padding:.2rem .5rem;background:#fff;border-radius:4px;color:#856404}.toc-chapters{display:flex;flex-direction:column;gap:.75rem}.toc-chapter{border:2px solid #e9ecef;border-radius:8px;overflow:hidden;transition:all .2s}.toc-chapter:hover{border-color:var(--primary)}.toc-chapter.depth-0{background:#f8f9fa}.toc-chapter.depth-1{background:#ffffff;margin-left:2rem}.toc-chapter.depth-2{background:#f8f9fa;margin-left:4rem}.toc-chapter.depth-3{background:#ffffff;margin-left:6rem}.toc-chapter-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc-chapter-header:hover{background:rgba(102,126,234,.05)}.toc-chapter-toggle{width:20px;display:flex;align-items:center;justify-content:center;color:var(--primary);font-size:.9rem}.toc-chapter-icon{color:var(--primary);font-size:1.2rem}.toc-chapter-title{flex:1 1;font-size:1.1rem;font-weight:600;color:#2c3e50}.toc-chapter-page-count{font-size:.9rem;color:#5f6368;padding:.3rem .8rem;background:white;border-radius:12px}.toc-chapter-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.toc-start-reading-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border:2px solid var(--primary);border-radius:50%;color:var(--primary);text-decoration:none;transition:all .2s;flex-shrink:0}.toc-start-reading-btn:hover{background:var(--primary);color:white;transform:scale(1.1);box-shadow:0 2px 8px rgba(102,126,234,.3)}.toc-start-reading-btn svg{font-size:.7rem;margin-left:1px}.toc-files-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border:2px solid #f39c12;border-radius:50%;color:#f39c12;text-decoration:none;transition:all .2s;flex-shrink:0}.toc-files-btn:hover{background:#f39c12;color:white;transform:scale(1.1);box-shadow:0 2px 8px rgba(243,156,18,.3)}.toc-files-btn svg{font-size:.8rem}.toc-chapter-content{padding:1rem 1.5rem 1.5rem}.toc-subchapters{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.toc-empty{text-align:center;padding:4rem 2rem;color:#5f6368}.empty-icon{font-size:4rem;color:#e0e0e0;margin-bottom:1rem}.toc-empty p{font-size:1.2rem;margin:0}.toc-error,.toc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:3rem;background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.toc-loading p{font-size:1.2rem;color:#5f6368;margin:0}.error-icon{font-size:3rem;color:#f44336;margin-bottom:1rem}.error-text{font-size:1.2rem;color:#2c3e50}@media (max-width:768px){.toc-page{padding:1rem}.toc-header{flex-direction:column;align-items:stretch}.toc-project-info{flex-direction:column;align-items:center;text-align:center}.toc-project-cover{width:150px;height:210px}.toc-project-title{font-size:1.5rem}.toc-pages{grid-template-columns:1fr}.toc-chapter.depth-1{margin-left:1rem}.toc-chapter.depth-2{margin-left:2rem}.toc-chapter.depth-3{margin-left:3rem}.toc-chapter-header{padding:.75rem 1rem}.toc-chapter-title{font-size:1rem}}@media (max-width:480px){.toc-project-title{font-size:1.3rem}.toc-section-title{font-size:1.4rem}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .toc-page{background:linear-gradient(135deg,var(--background) 0,var(--background-tertiary) 100%)}:root:not([data-theme=light]) .toc-header{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root:not([data-theme=light]) .toc-back-link{color:var(--foreground)}:root:not([data-theme=light]) .toc-back-link:hover{background:var(--background-tertiary);color:var(--primary)}:root:not([data-theme=light]) .toc-language-selector{background:var(--background-tertiary)}:root:not([data-theme=light]) .language-select{background:var(--background-secondary);border-color:var(--border);color:var(--foreground)}:root:not([data-theme=light]) .toc-project-info{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root:not([data-theme=light]) .toc-project-title{color:var(--foreground)}:root:not([data-theme=light]) .toc-project-description{color:var(--foreground-secondary)}:root:not([data-theme=light]) .toc-action-button.secondary{background:var(--background-secondary);border-color:var(--primary)}:root:not([data-theme=light]) .toc-container{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root:not([data-theme=light]) .toc-section-title{color:var(--foreground);border-bottom:2px solid var(--border)}:root:not([data-theme=light]) .toc-subsection-title{color:var(--foreground)}:root:not([data-theme=light]) .toc-page-item{background:var(--background-tertiary);border-color:var(--border);color:var(--foreground)}:root:not([data-theme=light]) .toc-chapter{border-color:var(--border)}:root:not([data-theme=light]) .toc-chapter.depth-0{background:var(--background-tertiary)}:root:not([data-theme=light]) .toc-chapter.depth-1{background:var(--background-secondary)}:root:not([data-theme=light]) .toc-chapter.depth-2{background:var(--background-tertiary)}:root:not([data-theme=light]) .toc-chapter.depth-3{background:var(--background-secondary)}:root:not([data-theme=light]) .toc-chapter-header:hover{background:rgba(102,126,234,.1)}:root:not([data-theme=light]) .toc-chapter-title{color:var(--foreground)}:root:not([data-theme=light]) .toc-chapter-page-count{background:var(--background-secondary);color:var(--foreground-secondary)}:root:not([data-theme=light]) .toc-files-btn,:root:not([data-theme=light]) .toc-start-reading-btn{background:var(--background-secondary)}:root:not([data-theme=light]) .toc-error,:root:not([data-theme=light]) .toc-loading{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root:not([data-theme=light]) .toc-loading p{color:var(--foreground-secondary)}:root:not([data-theme=light]) .error-text{color:var(--foreground)}:root:not([data-theme=light]) .spinner{border-color:var(--border);border-top-color:var(--primary)}}:root[data-theme=dark] .toc-page{background:linear-gradient(135deg,var(--background) 0,var(--background-tertiary) 100%)}:root[data-theme=dark] .toc-header{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root[data-theme=dark] .toc-back-link{color:var(--foreground)}:root[data-theme=dark] .toc-back-link:hover{background:var(--background-tertiary);color:var(--primary)}:root[data-theme=dark] .toc-language-selector{background:var(--background-tertiary)}:root[data-theme=dark] .language-select{background:var(--background-secondary);border-color:var(--border);color:var(--foreground)}:root[data-theme=dark] .toc-project-info{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root[data-theme=dark] .toc-project-title{color:var(--foreground)}:root[data-theme=dark] .toc-project-description{color:var(--foreground-secondary)}:root[data-theme=dark] .toc-action-button.secondary{background:var(--background-secondary);border-color:var(--primary)}:root[data-theme=dark] .toc-container{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root[data-theme=dark] .toc-section-title{color:var(--foreground);border-bottom:2px solid var(--border)}:root[data-theme=dark] .toc-subsection-title{color:var(--foreground)}:root[data-theme=dark] .toc-page-item{background:var(--background-tertiary);border-color:var(--border);color:var(--foreground)}:root[data-theme=dark] .toc-chapter{border-color:var(--border)}:root[data-theme=dark] .toc-chapter.depth-0{background:var(--background-tertiary)}:root[data-theme=dark] .toc-chapter.depth-1{background:var(--background-secondary)}:root[data-theme=dark] .toc-chapter.depth-2{background:var(--background-tertiary)}:root[data-theme=dark] .toc-chapter.depth-3{background:var(--background-secondary)}:root[data-theme=dark] .toc-chapter-header:hover{background:rgba(102,126,234,.1)}:root[data-theme=dark] .toc-chapter-title{color:var(--foreground)}:root[data-theme=dark] .toc-chapter-page-count{background:var(--background-secondary);color:var(--foreground-secondary)}:root[data-theme=dark] .toc-files-btn,:root[data-theme=dark] .toc-start-reading-btn{background:var(--background-secondary)}:root[data-theme=dark] .toc-error,:root[data-theme=dark] .toc-loading{background:var(--background-secondary);box-shadow:0 2px 8px rgba(0,0,0,.3)}:root[data-theme=dark] .toc-loading p{color:var(--foreground-secondary)}:root[data-theme=dark] .error-text{color:var(--foreground)}:root[data-theme=dark] .spinner{border-color:var(--border);border-top-color:var(--primary)}