:root{--bg-base: #121220;--bg-surface: #1a1a2e;--bg-elevated: #242444;--bg-hover: #2a2a4a;--bg-active: #323258;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .18);--text-primary: #FFFFFF;--text-secondary: #B8B8D0;--text-tertiary: #7878A0;--accent-purple: #A78BFA;--accent-purple-dim: rgba(167, 139, 250, .15);--accent-purple-glow: rgba(167, 139, 250, .25);--accent-blue: #60A5FA;--accent-blue-dim: rgba(96, 165, 250, .15);--accent-green: #4ADE80;--accent-green-dim: rgba(74, 222, 128, .15);--accent-orange: #FB923C;--accent-orange-dim: rgba(251, 146, 60, .15);--accent-pink: #F472B6;--accent-pink-dim: rgba(244, 114, 182, .15);--accent-red: #F87171;--accent-cyan: #22D3EE;--accent-cyan-dim: rgba(34, 211, 238, .15);--project-color: var(--accent-purple);--raid-color: var(--accent-pink);--piscine-color: var(--accent-green);--module-color: var(--accent-orange);--exam-color: var(--accent-red);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.5rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--sidebar-width: 280px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);line-height:1.5;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 20% 0%,rgba(167,139,250,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(244,114,182,.08) 0%,transparent 50%),var(--bg-base)}#root{width:100%;height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}::selection{background:var(--accent-purple-dim)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.loader{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--accent-purple);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.glow-purple{box-shadow:0 0 20px var(--accent-purple-glow)}.glow-text{text-shadow:0 0 20px var(--accent-purple-glow)}.app-container{display:flex;height:100vh;overflow:hidden}.app-center{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100%;gap:var(--space-4)}.sidebar{width:var(--sidebar-width);height:100%;background:var(--bg-surface);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;transition:transform var(--transition-slow);z-index:100}.sidebar-header{padding:var(--space-5);border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%)}.sidebar-logo{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.sidebar-logo h1{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.sidebar-logo h1 svg{color:var(--accent-purple);filter:drop-shadow(0 0 8px var(--accent-purple-glow))}.search-container{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--transition-base)}.search-container:hover{border-color:var(--border-strong);background:var(--bg-hover)}.search-container:focus-within{border-color:var(--accent-purple);box-shadow:0 0 0 3px var(--accent-purple-dim),0 0 20px var(--accent-purple-glow)}.search-container svg{color:var(--text-tertiary);flex-shrink:0;transition:color var(--transition-fast)}.search-container:focus-within svg{color:var(--accent-purple)}.search-container input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:var(--text-sm);outline:none;min-width:0}.search-container input::placeholder{color:var(--text-tertiary)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-3)}.close-sidebar-btn{padding:var(--space-2);color:var(--text-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.close-sidebar-btn:hover{color:var(--text-primary);background:var(--bg-hover);transform:scale(1.05)}.hamburger-btn{display:none;position:fixed;top:var(--space-4);left:var(--space-4);z-index:101;padding:var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);transition:all var(--transition-base)}.hamburger-btn:hover{background:var(--bg-hover);border-color:var(--accent-purple);box-shadow:0 0 20px var(--accent-purple-glow);transform:scale(1.05)}.hamburger-btn:active{transform:scale(.95)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#121220cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99;opacity:0;transition:opacity var(--transition-slow)}.sidebar-overlay.visible{opacity:1}.tree-node{-webkit-user-select:none;user-select:none}.node-label{display:flex;align-items:center;padding:var(--space-2) var(--space-3);margin:2px 0;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);color:var(--text-secondary);font-size:var(--text-sm);position:relative;overflow:hidden}.node-label:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent-purple-dim) 0%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.node-label:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.node-label:hover:before{opacity:1}.node-label.selected{background:var(--accent-purple-dim);color:var(--accent-purple);border-left:2px solid var(--accent-purple)}.node-label.selected:before{opacity:1}.toggle-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:var(--space-1);color:var(--text-tertiary);transition:all var(--transition-base)}.node-icon{display:flex;align-items:center;margin-right:var(--space-2);transition:transform var(--transition-spring)}.node-label:hover .node-icon{transform:scale(1.1)}.node-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-count{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-base);padding:2px 8px;border-radius:999px;margin-left:auto;transition:all var(--transition-fast)}.node-label:hover .node-count{background:var(--accent-purple-dim);color:var(--accent-purple)}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-8);background:var(--bg-base)}.detail-view{max-width:850px;margin:0 auto;animation:fadeInUp .4s ease-out}.breadcrumb{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-3);animation:slideIn .3s ease-out}.breadcrumb-item{color:var(--text-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.breadcrumb-item:hover{color:var(--text-primary);background:var(--bg-hover)}.breadcrumb-separator{color:var(--text-tertiary)}.page-header{margin-bottom:var(--space-6);animation:fadeInUp .4s ease-out .1s both}.page-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3);line-height:1.3;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-purple) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.tags-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-md);text-transform:capitalize;transition:all var(--transition-base);animation:scaleIn .2s ease-out}.badge:hover{transform:translateY(-1px)}.badge-project{background:var(--accent-purple-dim);color:var(--accent-purple);border:1px solid rgba(167,139,250,.2)}.badge-project:hover{box-shadow:0 4px 15px var(--accent-purple-dim)}.badge-raid{background:var(--accent-pink-dim);color:var(--accent-pink);border:1px solid rgba(244,114,182,.2)}.badge-piscine{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid rgba(74,222,128,.2)}.badge-module{background:var(--accent-orange-dim);color:var(--accent-orange);border:1px solid rgba(251,146,60,.2)}.badge-exam{background:#f8717126;color:var(--accent-red);border:1px solid rgba(248,113,113,.2)}.badge-default{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.badge-lang{background:var(--accent-blue-dim);color:var(--accent-blue);border:1px solid rgba(96,165,250,.2);text-transform:uppercase}.id-display{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);padding:var(--space-1) var(--space-2);background:var(--bg-surface);border-radius:var(--radius-sm)}.meta-info{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text-secondary);font-family:var(--font-mono);transition:all var(--transition-base)}.meta-info:hover{border-color:var(--border-default)}.meta-info svg{color:var(--accent-purple);flex-shrink:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{padding:var(--space-5);background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);transition:all var(--transition-base);animation:fadeInUp .4s ease-out backwards;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-purple),var(--accent-pink));opacity:0;transition:opacity var(--transition-base)}.stat-card:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d,0 0 30px var(--accent-purple-glow)}.stat-card:hover:before{opacity:1}.stat-card:nth-child(1){animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.15s}.stat-card:nth-child(3){animation-delay:.2s}.stat-card:nth-child(4){animation-delay:.25s}.stat-card:nth-child(5){animation-delay:.3s}.stat-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.stat-label svg{width:16px;height:16px;transition:transform var(--transition-spring)}.stat-card:hover .stat-label svg{transform:scale(1.2)}.stat-value{font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.section-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:var(--space-8) 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.section-header svg{width:16px;height:16px;color:var(--accent-purple)}.section-subheader{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin:var(--space-4) 0 var(--space-3)}.section-subheader svg{width:14px;height:14px;color:var(--accent-purple)}.skills-section{margin-top:var(--space-6);padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.skills-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);text-transform:capitalize;transition:all var(--transition-fast)}.skill-tag:hover{border-color:var(--accent-purple);background:var(--accent-purple-dim)}.skill-points{font-weight:700;color:var(--accent-purple);font-size:var(--text-xs)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.content-card{padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);animation:fadeInUp .4s ease-out backwards;position:relative;overflow:hidden}.content-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-purple-dim) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-base)}.content-card:hover{border-color:var(--accent-purple);transform:translateY(-4px) scale(1.01);box-shadow:0 12px 40px #0000004d,0 0 30px var(--accent-purple-glow)}.content-card:hover:after{opacity:1}.content-card:active{transform:translateY(-2px) scale(.99)}.content-card:nth-child(1){animation-delay:.05s}.content-card:nth-child(2){animation-delay:.1s}.content-card:nth-child(3){animation-delay:.15s}.content-card:nth-child(4){animation-delay:.2s}.content-card:nth-child(5){animation-delay:.25s}.content-card:nth-child(6){animation-delay:.3s}.content-card:nth-child(7){animation-delay:.35s}.content-card:nth-child(8){animation-delay:.4s}.content-card-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.content-card-title svg{color:var(--text-tertiary);transition:all var(--transition-base)}.content-card:hover .content-card-title svg{color:var(--accent-purple);transform:translate(2px)}.content-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;position:relative;z-index:1}.content-card-xp{font-size:var(--text-sm);font-weight:700;color:var(--accent-purple)}.content-card-count{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:auto}.subject-viewer-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);margin-top:var(--space-4);animation:fadeInUp .4s ease-out .2s both}.subject-viewer-container.loading{display:flex;align-items:center;justify-content:center;min-height:200px}.markdown-body{color:var(--text-primary);font-size:1.0625rem;font-weight:400;line-height:1.75;letter-spacing:-.01em}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{color:var(--text-primary);font-weight:600;letter-spacing:-.02em;margin-top:2em;margin-bottom:.75em}.markdown-body h1{font-size:2rem;font-weight:700;margin-top:0}.markdown-body h2{font-size:1.5rem;padding-bottom:.5em;border-bottom:1px solid var(--border-subtle)}.markdown-body h3{font-size:1.25rem}.markdown-body h4{font-size:1.125rem;color:var(--accent-purple)}.markdown-body h5,.markdown-body h6{font-size:1rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.markdown-body p{margin:1.25em 0}.markdown-body code{background:#a78bfa26;color:var(--accent-purple);padding:.2em .45em;border-radius:4px;font-family:var(--font-mono);font-size:.9em;font-weight:500}.markdown-body pre{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem;overflow-x:auto;margin:1.5em 0}.markdown-body pre code{background:none;color:var(--text-secondary);padding:0;font-weight:400}.markdown-body a{color:var(--accent-purple);text-decoration:none;font-weight:500;transition:all var(--transition-fast)}.markdown-body a:hover{text-decoration:underline;text-underline-offset:3px}.markdown-body blockquote{border-left:4px solid var(--accent-purple);padding:1rem 1.5rem;margin:1.5em 0;background:#a78bfa14;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-primary);font-style:italic}.markdown-body blockquote p{margin:.5em 0}.markdown-body ul,.markdown-body ol{padding-left:1.75em;margin:1.25em 0}.markdown-body ul{list-style:disc}.markdown-body ol{list-style:decimal}.markdown-body li{margin:.5em 0;line-height:1.7;color:var(--text-primary)}.markdown-body li::marker{color:var(--accent-purple)}.markdown-body li strong{font-weight:600;color:var(--text-primary)}.markdown-body li ul,.markdown-body li ol{margin:.5em 0}.markdown-body img{max-width:100%;border-radius:var(--radius-lg);margin:1.5em 0}.markdown-body table{width:100%;border-collapse:collapse;margin:1em 0}.markdown-body th,.markdown-body td{padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);text-align:left}.markdown-body th{background:var(--bg-elevated);font-weight:600}.markdown-body hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-6) 0}.skills-container{display:flex;flex-wrap:wrap;gap:var(--space-2)}.skill-tag{padding:var(--space-2) var(--space-4);background:var(--accent-purple-dim);color:var(--accent-purple);border-radius:999px;font-size:var(--text-xs);font-weight:500;border:1px solid rgba(167,139,250,.2);transition:all var(--transition-base)}.skill-tag:hover{background:#a78bfa40;transform:translateY(-2px);box-shadow:0 4px 15px var(--accent-purple-dim)}.validation-list{display:flex;flex-direction:column;gap:var(--space-3)}.validation-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-base)}.validation-item:hover{border-color:var(--border-default);transform:translate(4px)}.validation-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.validation-icon.audit{background:var(--accent-pink-dim);color:var(--accent-pink)}.validation-icon.exam{background:var(--accent-green-dim);color:var(--accent-green)}.validation-type{font-size:var(--text-sm);font-weight:500;text-transform:capitalize}.audit-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base)}.audit-header:hover{border-color:var(--accent-purple);box-shadow:0 0 30px var(--accent-purple-glow)}.audit-header h3{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:600;margin:0}.audit-header h3 svg{color:var(--accent-purple)}.audit-content{margin-top:var(--space-4)}.audit-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.audit-stat{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}.audit-stat .stat-label{margin-bottom:0;font-size:var(--text-xs)}.audit-stat .stat-value{font-size:var(--text-base)}.question-tag{display:inline-block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;text-transform:capitalize;transition:all var(--transition-fast)}.question-tag:hover{transform:translateY(-1px)}.question-tag.pre{background:var(--accent-orange-dim);color:var(--accent-orange);border:1px solid rgba(251,146,60,.2)}.question-tag.post{background:var(--accent-green-dim);color:var(--accent-green);border:1px solid rgba(74,222,128,.2)}@media(max-width:768px){.hamburger-btn{display:flex}.sidebar{position:fixed;left:0;top:0;height:100%;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;pointer-events:none}.sidebar-overlay.visible{pointer-events:auto}.main-content{padding:var(--space-5);padding-top:calc(var(--space-8) + 48px)}.stats-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:1fr}.page-title{font-size:var(--text-xl)}.subject-viewer-container{padding:var(--space-4)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.tags-row{gap:var(--space-1)}.breadcrumb{font-size:var(--text-xs)}}.scroll-buttons{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:12px;z-index:1000}.scroll-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:50%;color:var(--text-secondary);cursor:pointer;box-shadow:0 4px 20px #0000004d;transition:all var(--transition-base)}.scroll-btn:hover{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px var(--accent-purple-glow)}.scroll-btn:active{transform:translateY(0)}@media(max-width:768px){.scroll-buttons{right:16px;bottom:16px}.scroll-btn{width:44px;height:44px}}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.glass-card{padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);transition:all var(--transition-base)}.glass-card.clickable-card{cursor:pointer}.glass-card.clickable-card:hover{border-color:var(--accent-purple);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d,0 0 30px var(--accent-purple-glow)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.badge-small{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary)}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.copy-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.copy-btn:hover{background:var(--accent-purple-dim);border-color:var(--accent-purple);color:var(--accent-purple);transform:translateY(-1px)}.copy-btn:active{transform:translateY(0)}.action-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;text-decoration:none;transition:all var(--transition-base)}.action-link:hover{background:var(--accent-blue-dim);border-color:var(--accent-blue);color:var(--accent-blue)}.subject-header{display:flex;justify-content:flex-end;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.subject-actions{display:flex;gap:var(--space-2)}.subject-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl)}.subject-error p{margin:0;color:var(--text-secondary)}.code-block-wrapper{position:relative;margin:1em 0}.code-block-wrapper .copy-btn{position:absolute;top:var(--space-2);right:var(--space-2);opacity:0;z-index:10}.code-block-wrapper:hover .copy-btn{opacity:1}.audit-section{margin-top:var(--space-8);animation:fadeInUp .4s ease-out .3s both}.audit-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.audit-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.audit-stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--transition-base)}.audit-stat-card:hover{border-color:var(--border-default);transform:translateY(-2px)}.stat-icon{flex-shrink:0}.stat-icon.purple{color:var(--accent-purple)}.stat-icon.green{color:var(--accent-green)}.stat-icon.orange{color:var(--accent-orange)}.stat-icon.pink{color:var(--accent-pink)}.stat-icon.blue{color:var(--accent-blue)}.questions-overview{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-5)}.question-group{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-5)}.question-group-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-4) 0}.question-group-title svg{color:var(--accent-purple)}.questions-list{display:flex;flex-direction:column;gap:var(--space-2)}.question-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-base);border-radius:var(--radius-md);transition:all var(--transition-fast)}.question-item:hover{background:var(--bg-hover)}.question-item.pre{border-left:3px solid var(--accent-orange)}.question-item.post{border-left:3px solid var(--accent-green)}.question-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--accent-purple-dim);color:var(--accent-purple);border-radius:50%;font-size:var(--text-xs);font-weight:600;flex-shrink:0}.question-text{flex:1;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.6}.question-copy-btn{padding:var(--space-1);background:transparent;border:none;color:var(--text-tertiary);opacity:0;cursor:pointer;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.question-item:hover .question-copy-btn{opacity:1}.question-copy-btn:hover{color:var(--accent-purple);background:var(--accent-purple-dim)}.audit-checklist-section{margin-top:var(--space-4)}.audit-toggle-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:linear-gradient(135deg,var(--accent-purple-dim) 0%,rgba(244,114,182,.08) 100%);border:1px solid rgba(167,139,250,.2);border-radius:var(--radius-xl);color:var(--accent-purple);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.audit-toggle-btn:hover{background:linear-gradient(135deg,#a78bfa33,#f472b61f);border-color:var(--accent-purple);box-shadow:0 0 30px var(--accent-purple-glow);transform:translateY(-2px)}.audit-toggle-btn:active{transform:translateY(0)}.audit-checklist-content{margin-top:var(--space-4);animation:fadeInUp .3s ease-out}.audit-markdown-enhanced .markdown-body h5,.audit-markdown-enhanced .markdown-body h6{text-transform:none;font-weight:500;font-size:var(--text-base);line-height:1.7}.audit-markdown-enhanced .markdown-body p,.audit-markdown-enhanced .markdown-body li{text-transform:none;font-weight:400}@media(max-width:768px){.audit-header-bar{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.audit-stats-grid{grid-template-columns:1fr}.question-item{padding:var(--space-3)}.question-copy-btn{opacity:1}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
