:root{--color-primary:#ff4500;--color-primary-dark:#cc3700;--color-primary-light:#ff6b35;--color-primary-lighter:#fff4f0;--color-secondary:#0079d3;--color-secondary-dark:#005ba1;--color-secondary-light:#e5f4fc;--color-success:#46d160;--color-success-lighter:#e8f5e9;--color-warning:#ffb000;--color-error:#ff585b;--color-error-lighter:#ffebee;--color-background:#fff;--color-background-paper:#fff;--color-background-elevated:#fff;--color-background-subtle:#f7f9fa;--color-background-hover:#f7f9fa;--color-text-primary:#1c1c1c;--color-text-secondary:#7c7c7c;--color-text-tertiary:#a5a5a5;--color-text-disabled:#c5c5c5;--color-border:#e5e5e5;--color-border-light:#f0f0f0;--color-border-accent:#ff4500;--color-accent-warm:#ff4500;--color-accent-cool:#0079d3;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-serif:"Georgia","Times New Roman","Times",serif;--font-family-mono:"SF Mono","Monaco","Inconsolata","Fira Code","Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 1px 3px 0 rgba(0,0,0,.1);--shadow-lg:0 2px 4px 0 rgba(0,0,0,.1);--shadow-xl:0 4px 8px 0 rgba(0,0,0,.12);--shadow-subtle:0 1px 2px 0 rgba(0,0,0,.03);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1)}.dark{--color-primary:#42a5f5;--color-primary-dark:#1976d2;--color-primary-light:#64b5f6;--color-secondary:#ba68c8;--color-success:#66bb6a;--color-warning:#ffb74d;--color-error:#ef5350;--color-background:#121212;--color-background-paper:#1e1e1e;--color-background-elevated:#2d2d2d;--color-text-primary:#fff;--color-text-secondary:#b0b0b0;--color-text-disabled:#757575;--color-border:#424242;--color-border-light:#2d2d2d}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:var(--line-height-normal)}body{background-color:var(--color-background);transition:background-color var(--transition-normal),color var(--transition-normal);font-weight:400;font-size:14px;line-height:1.5}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);letter-spacing:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:500;line-height:1.3;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl);font-weight:700;margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md)}h3{font-size:var(--font-size-2xl)}p{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md);color:var(--color-text-primary)}a{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-secondary-dark);text-decoration:underline}.reddit-text{font-family:var(--font-family);line-height:1.5;max-width:100%}*{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal)}.sidebar-container,.sidebar-overlay{transform:translateZ(0);-webkit-transform:translateZ(0)}.sidebar-container nav{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.academic-container{max-width:900px;margin:0 auto;padding:0 var(--spacing-xl)}.academic-section{margin-bottom:var(--spacing-xxl);padding:var(--spacing-xl) 0}.academic-section:not(:last-child){border-bottom:1px solid var(--color-border-light)}.card{background:var(--color-background-paper);border:1px solid var(--color-border);border-radius:4px;padding:var(--spacing-md);box-shadow:none;transition:border-color var(--transition-fast)}.card:hover{border-color:var(--color-border)}.card-academic{background:var(--color-background-paper);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:none;transition:border-color var(--transition-fast)}.card-academic:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.card-academic h3{color:var(--color-primary);margin-top:0}.button{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.button-primary{background:var(--color-primary);color:#fff}.button-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-secondary{background:var(--color-background-paper);color:var(--color-text-primary);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-background-elevated)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-in{animation:slideIn var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin .8s linear infinite}.animate-slide-up{animation:slideUp var(--transition-normal) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background-paper)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (max-width:1024px){.topic-detail-container{grid-template-columns:1fr!important}}@media (max-width:768px){.document-viewer-content{padding:var(--spacing-md)!important;font-size:var(--font-size-sm)!important}[style*="padding: var(--spacing-xl)"]{padding:var(--spacing-sm)!important}.container{padding:0 var(--spacing-sm)}.card{padding:var(--spacing-md)}.topic-detail-container{padding:16px!important;gap:16px!important;grid-template-columns:1fr!important}.topic-detail-container aside{position:static!important;max-height:none!important}.main-content{margin-left:0!important;margin-right:0!important}.sidebar-container{width:256px!important;box-shadow:2px 0 8px rgba(0,0,0,.1)}.sidebar-overlay{display:block!important}.mobile-menu-button{display:flex!important}}@media (max-width:768px){@media (max-width:768px){.sidebar-container button[title*=\5C55\5F00],.sidebar-container button[title*=\6298\53E0]{display:none!important}}}@media (min-width:769px) and (max-width:1024px){.main-content{margin-left:64px!important}}.reddit-badge{display:inline-block;padding:2px 8px;background:var(--color-background-subtle);color:var(--color-text-secondary);border:none;border-radius:2px;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}.reddit-divider{height:1px;background:var(--color-border);border:none;margin:var(--spacing-md) 0}.reddit-metadata{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.reddit-link{color:var(--color-secondary);text-decoration:none;transition:color var(--transition-fast)}.reddit-link:hover{color:var(--color-secondary-dark);text-decoration:underline}.btn-academic{padding:4px 16px;font-size:var(--font-size-sm);font-weight:700;border-radius:9999px;border:1px solid transparent;background:var(--color-background-subtle);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);text-transform:none;letter-spacing:0}.btn-academic-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-academic-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:none}.btn-academic:hover{background:var(--color-background-hover);border-color:var(--color-border)}@media (max-width:1024px){.topic-detail-container{grid-template-columns:1fr!important}.topic-detail-container aside{position:static!important;max-height:none!important}}@media (min-width:769px){.nav-desktop{display:flex!important}.nav-mobile-menu,.nav-mobile-toggle{display:none!important}}@media (max-width:768px){.nav-actions,.nav-desktop{display:none!important}.nav-mobile-menu,.nav-mobile-toggle{display:flex!important}.nav-mobile-menu{flex-direction:column!important}.book-detail-grid{grid-template-columns:1fr!important}.book-detail-grid>div:first-child{max-width:250px;margin:0 auto}}@media (max-width:640px){:root{--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px}.card-academic{padding:var(--spacing-md)!important}h1{font-size:var(--font-size-2xl)!important}h2{font-size:var(--font-size-xl)!important}h3{font-size:var(--font-size-lg)!important}}.form-container{background:var(--color-background-paper);border-radius:var(--radius-lg);padding:var(--spacing-xxl);border:1px solid var(--color-border-light)}.form-field-group{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-sm) 0;line-height:var(--line-height-relaxed)}.form-input{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-fast);font-family:inherit}.form-input:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary)}.form-textarea{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;font-size:14px;background:var(--color-background);color:var(--color-text-primary);font-family:inherit;resize:vertical;transition:all var(--transition-fast)}.form-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary)}.page-container{padding:var(--spacing-md);max-width:1200px;margin:0 auto;background:var(--color-background);min-height:calc(100vh - 200px);position:relative}.page-header{margin-bottom:var(--spacing-lg);text-align:left}.page-title{margin:0;font-size:20px;font-weight:500;color:var(--color-text-primary)}.page-subtitle{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary)}.back-button{position:absolute;left:var(--spacing-xl);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background-paper);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.back-button:hover{background:var(--color-background-subtle);border-color:var(--color-primary)}.flex-row{align-items:center}.flex-col,.flex-row{display:flex;gap:var(--spacing-md)}.flex-col{flex-direction:column}.icon-container{width:40px;height:40px;border-radius:4px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.upload-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.upload-button:hover{border-color:var(--color-primary);background:var(--color-primary-lighter)}.upload-button:disabled{opacity:.6;cursor:not-allowed}.file-input-label{display:inline-block;cursor:pointer}.image-preview{margin-top:var(--spacing-sm);position:relative;display:inline-block}.image-preview img{max-width:200px;max-height:150px;border-radius:var(--radius-md);border:1px solid var(--color-border-light);object-fit:cover}.image-delete-button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--color-error);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.image-delete-button:hover{background:var(--color-error);opacity:.9;transform:scale(1.1)}.question-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.question-item{display:flex;align-items:center;gap:var(--spacing-sm)}.question-number{min-width:24px;font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:500}.question-input{flex:1 1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-fast)}.question-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(26,68,128,.1)}.question-hint{width:150px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-background);color:var(--color-text-primary);transition:all var(--transition-fast)}.question-hint:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(26,68,128,.1)}.action-buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.submit-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xxl);justify-content:flex-end}.error-message{padding:12px;margin-top:var(--spacing-md);background:var(--color-error-lighter,#ffebee);color:var(--color-error);border-radius:4px;border:1px solid var(--color-error);font-size:14px}.success-message{padding:var(--spacing-md);margin-top:var(--spacing-lg);background:var(--color-success-lighter);color:var(--color-success);border-radius:var(--radius-md);border:1px solid var(--color-success);font-size:var(--font-size-sm)}@media (max-width:768px){.form-container{padding:var(--spacing-lg)!important}.page-container{padding:var(--spacing-md)!important}.back-button{left:var(--spacing-md)}.submit-buttons{flex-direction:column}.submit-buttons button{width:100%}.question-hint{width:120px}}