:root{--primary-color: #931f30;--secondary-color: #555555;--bg-color: #f1f5f9;--sidebar-bg: #ffffff;--sidebar-text: #333333;--sidebar-width: 280px;--sidebar-collapsed-width: 80px;--header-height: 70px;--border-color: #e2e8f0;--font-family: "Inter", system-ui, Avenir, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);color:var(--secondary-color);background-color:var(--bg-color);line-height:1.6}a{text-decoration:none;color:inherit}ul{list-style:none}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s ease;flex-shrink:0;z-index:100}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.main-content{flex-grow:1;display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{height:var(--header-height);background-color:#fff;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;flex-shrink:0}.content-area{flex-grow:1;padding:2rem;overflow-y:auto;background-color:var(--bg-color)}.sidebar-header{height:auto;display:flex;align-items:center;justify-content:center;border-bottom:none}.logo{height:12rem;transition:all .3s}.sidebar.collapsed .logo{height:60px;margin-top:1rem}.sidebar-title{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin-top:0rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .3s}.sidebar.collapsed .sidebar-title{opacity:0;height:0;margin:0}.sidebar-nav{flex-grow:1;overflow-y:auto;padding:1rem 0}.nav-item{margin-bottom:.25rem}.nav-link{display:flex;align-items:center;padding:.75rem 1.5rem;color:var(--secondary-color);font-weight:500;transition:all .2s;border-left:3px solid transparent}.nav-link:hover,.nav-link.active{background-color:#f8fafc;color:var(--primary-color);border-left-color:var(--primary-color)}.nav-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-right:1rem;font-weight:700;background-color:#eee;border-radius:4px;color:#666;font-size:.8rem;flex-shrink:0}.nav-link.active .nav-icon{background-color:var(--primary-color);color:#fff}.nav-text{white-space:nowrap;opacity:1;transition:opacity .2s}.sidebar.collapsed .nav-text{opacity:0;width:0;display:none}.sidebar.collapsed .nav-link{padding:.75rem;justify-content:center}.sidebar.collapsed .nav-icon{margin-right:0}.sidebar-footer{padding:1rem;text-align:center;border-top:1px solid var(--border-color);margin-top:auto}.version-text{font-size:.8rem;color:#999}.sidebar.collapsed .version-text{font-size:.7rem}.toggle-btn{background:none;border:none;cursor:pointer;font-size:1.5rem;color:var(--secondary-color);padding:.5rem;border-radius:4px}.toggle-btn:hover{background-color:#f1f5f9}.header-right{display:flex;align-items:center;gap:1.5rem}.user-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.user-avatar{width:32px;height:32px;background-color:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.topic-container{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.topic-title{font-size:1.75rem;margin-bottom:1.5rem;color:var(--primary-color);border-bottom:1px solid #eee;padding-bottom:1rem}.topic-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0;box-shadow:0 4px 6px #0000000d}.topic-content p{margin-bottom:1rem;color:#475569}.topic-content ul{list-style:disc;margin-left:1.5rem;margin-bottom:1rem;color:#475569}.image-caption{font-size:.85rem;color:#64748b;margin-top:-.5rem;margin-bottom:1rem;font-style:italic;text-align:center}.toc-container{background-color:#f8fafc;border-left:4px solid var(--primary-color);border-radius:8px;padding:1.5rem;margin-bottom:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.toc-title{font-size:1.25rem;font-weight:700;color:var(--primary-color);margin-bottom:1rem}.toc-list{list-style:none;padding-left:0}.toc-item{padding-left:1.5rem;margin-bottom:.5rem;position:relative}.toc-item:before{content:"→";position:absolute;left:0;color:var(--primary-color)}.toc-link{color:var(--secondary-color);text-decoration:none;font-weight:500;transition:color .2s}.toc-link:hover{color:var(--primary-color);text-decoration:underline}.loading-spinner-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.spinner-logo{height:80px;margin-bottom:2rem;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.6;transform:scale(.95)}}.spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;background-color:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #931f304d;transition:all .3s ease;z-index:1000}.scroll-to-top:hover{background-color:#7a1a27;transform:translateY(-4px);box-shadow:0 6px 16px #931f3066}.scroll-to-top:active{transform:translateY(-2px)}.contact-card{background-color:var(--primary-color);color:#fff;border-radius:12px;padding:2rem;max-width:1000px;margin:0 auto 2rem;box-shadow:0 4px 6px #0000001a}.contact-header{text-align:center;margin-bottom:2rem}.contact-header h2{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;text-transform:uppercase}.contact-header p{font-size:1rem;opacity:.9}.contact-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.contact-item{display:flex;flex-direction:column;align-items:center;text-align:center}.contact-icon{background-color:#fff3;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.contact-text{display:flex;flex-direction:column;font-size:.9rem;gap:.25rem}.contact-text strong{font-size:1.1rem}.contact-text span{font-size:1.2rem;opacity:.9}
