*{box-sizing:border-box;margin:0;padding:0}#root,body,html{background-color:#fff}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--navbar-height:72px;--primary-gradient:linear-gradient(90deg,#ed0331,#87021c);--primary-color:#ed0331;--secondary-color:#87021c;--text-primary:#000;--text-secondary:#666;--text-color:#000;--bg-primary:#fff;--bg-secondary:#fff;--card-bg:#fff;--input-bg:#fff;--border-color:#e0e0e0;--shadow:#0000001a}[data-theme=dark] #root,[data-theme=dark] body,[data-theme=dark] html{background-color:#1a1a1a}[data-theme=dark]{--text-primary:#fff;--text-secondary:#b0b0b0;--text-color:#fff;--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--card-bg:#1a1a1a;--input-bg:#2a2a2a;--border-color:#404040;--shadow:#0000004d;--sql-task-bg:linear-gradient(135deg,#2a2a2a,#1f1f1f);--sql-task-label-bg:#ed033126;--sql-task-label-border:#ed033159;--sql-result-success-bg:#1b3320;--sql-result-success-border:#2e7d32;--sql-result-nomatch-bg:#3d3000;--sql-result-nomatch-border:#ff8f00;--sql-result-error-bg:#3d2020;--sql-result-error-border:#c62828;--sql-result-loading-bg:#1a2835;--sql-result-loading-border:#1976d2;--sql-feedback-correct-bg:#2e7d3240;--sql-feedback-correct-text:#81c784;--sql-feedback-incorrect-bg:#ff8f0033;--sql-feedback-incorrect-text:#ffb74d;--sql-table-row-hover:#ffffff0f;--sql-error-text:#ef9a9a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.text-success{color:#28a745;font-weight:600}.text-warning{color:#ffc107;font-weight:600}.text-danger{color:#dc3545;font-weight:600}.question-type-badge{color:#fff;font-size:.75em;font-weight:700;padding:6px 14px;transition:all .3s ease}.question-type-badge:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.question-type-badge.coding{background:linear-gradient(135deg,#007bff,#0056b3)}.question-type-badge.mcq{background:linear-gradient(135deg,#28a745,#1e7e34)}.question-type-badge.aptitude{background:linear-gradient(135deg,#2e7d32,#1b5e20)}.question-type-badge.mixed{background:linear-gradient(135deg,#6c757d,#545b62)}.table-container{animation:fadeInUp .5s ease}.btn-sm{padding:6px 12px}.btn-sm,.status-badge{font-size:.875em}.status-badge.active{box-shadow:0 2px 8px #28a7454d}body.exam-protected{user-select:none;-webkit-user-select:none}body.exam-protected .monaco-code-editor-root,body.exam-protected .monaco-editor,body.exam-protected .ql-editor,body.exam-protected [contenteditable=true],body.exam-protected input,body.exam-protected textarea{user-select:text;-webkit-user-select:text}.student-panel{--student-accent:#e7210b;--student-accent-soft:#e7210b14;--student-accent-ring:#e7210b33;--student-sidebar-width:272px;--student-radius:14px;--student-radius-lg:20px;--student-shadow:0 1px 2px #0000000a;--student-shadow-hover:0 4px 14px #0000000f;background:#fff;background:var(--card-bg,#fff);display:flex;min-height:calc(100vh - 72px);min-height:calc(100vh - var(--navbar-height, 72px));position:relative}.student-sidebar-toggle{align-items:center;background:var(--student-accent);border-radius:50%;bottom:24px;box-shadow:0 8px 24px #e7210b59;color:#fff;font-size:1.35rem;height:52px;justify-content:center;right:24px;width:52px;z-index:1100}.student-sidebar-backdrop,.student-sidebar-toggle{border:none;cursor:pointer;display:none;position:fixed}.student-sidebar-backdrop{background:#0f172a80;inset:72px 0 0;inset:var(--navbar-height,72px) 0 0;z-index:900}[data-theme=dark] .student-sidebar-backdrop{background:#000000a6}.student-sidebar{background:#fff;background:var(--card-bg,#fff);border-right:1px solid var(--border-color);flex-shrink:0;height:calc(100vh - 72px);height:calc(100vh - var(--navbar-height, 72px));left:0;overflow:hidden;position:fixed;top:72px;top:var(--navbar-height,72px);width:var(--student-sidebar-width);z-index:950}.student-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:18px 0 14px 12px}.student-sidebar-profile{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:var(--student-radius);display:flex;flex-shrink:0;gap:12px;margin:0 12px 6px 0;padding:12px}.student-sidebar-nav-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;flex:1 1;margin-right:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:8px;scrollbar-width:none}.student-sidebar-nav-scroll::-webkit-scrollbar{display:none;height:0;width:0}.student-avatar{align-items:center;background:linear-gradient(135deg,#334155,#475569);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:44px;justify-content:center;width:44px}.student-sidebar-greeting{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin:0;text-transform:uppercase}.student-sidebar-name{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:2px 0 0}.student-nav-label{color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;margin:12px 10px 4px;text-transform:uppercase}.student-sidebar-nav{display:block;padding-right:12px}.student-nav-item{align-items:center;border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;margin-bottom:2px;padding:9px 10px;position:relative;text-decoration:none;transition:background .2s ease;z-index:1}.student-nav-item:hover{background:#fff;background:var(--bg-secondary,#fff);box-shadow:inset 0 0 0 1px var(--border-color)}.student-nav-item.active{background:var(--student-accent-soft);color:var(--text-primary)}.student-nav-item.active .student-nav-icon{background:#fff;background:var(--card-bg,#fff);border-color:var(--border-color);color:var(--text-primary);color:var(--section-accent,var(--text-primary))}.student-nav-icon{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:9px;color:var(--text-secondary);color:var(--section-accent,var(--text-secondary));display:flex;flex-shrink:0;font-size:1.05rem;height:34px;justify-content:center;width:34px}.student-nav-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-nav-badge{align-items:center;background:#fff;background:var(--bg-secondary,#fff);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.student-nav-badge.empty{opacity:.5}.student-nav-badge--loading{min-width:22px;opacity:.45}.student-nav-badge--alert{background:var(--text-primary);border:none;color:#fff;color:var(--bg-primary,#fff)}.student-nav-item--announcement.active .student-nav-badge--alert{background:var(--student-accent-soft);border:1px solid var(--student-accent-ring);color:var(--student-accent)}.student-nav-item.active .student-nav-badge:not(.empty){background:var(--student-accent);border-color:#0000;color:#fff}.student-main{background:#fff;background:var(--card-bg,#fff);flex:1 1;margin-left:var(--student-sidebar-width);max-width:100%;min-width:0;padding:28px 32px 48px}[data-theme=light] .student-panel{--bg-primary:#fff;--bg-secondary:#fff;--card-bg:#fff;--border-color:#e5e7eb}[data-theme=dark] .student-panel{--student-shadow:0 2px 8px #00000059;--student-accent-soft:#e7210b24;background:#121212}[data-theme=dark] .student-main{background:#121212}[data-theme=dark] .student-sidebar{background:#181818;border-right-color:#2e2e2e}[data-theme=dark] .student-sidebar-profile{background:#1f1f1f;border-color:#333}[data-theme=dark] .student-avatar{background:linear-gradient(135deg,#3f3f46,#52525b)}[data-theme=dark] .student-nav-item:hover{background:#222}[data-theme=dark] .student-nav-item.active{background:#e7210b1f}[data-theme=dark] .student-nav-icon{background:#1f1f1f;border-color:#333}[data-theme=dark] .student-nav-badge{background:#1f1f1f;border-color:#333;color:#a1a1aa}@media (max-width:1024px){.student-main{padding:24px 20px 40px}}@media (max-width:900px){.student-sidebar-toggle{display:flex}.student-sidebar-backdrop{display:block}.student-sidebar{box-shadow:var(--student-shadow-hover);transform:translateX(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1)}.student-sidebar.open{transform:translateX(0)}.student-main{margin-left:0}}@media (max-width:768px){.student-sidebar{height:calc(100vh - 64px);height:calc(100vh - var(--navbar-height, 64px));top:64px;top:var(--navbar-height,64px)}.student-sidebar-backdrop{inset:64px 0 0;inset:var(--navbar-height,64px) 0 0}}.toast-viewport{display:flex;flex-direction:column;gap:10px;pointer-events:none;position:fixed;right:20px;top:88px;top:calc(var(--navbar-height, 72px) + 16px);width:min(380px,calc(100vw - 32px));z-index:11000}.toast{align-items:flex-start;animation:toast-in .32s cubic-bezier(.16,1,.3,1);background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;display:flex;gap:12px;padding:14px 16px;pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:translateX(0)}}.toast-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:1.1rem;height:28px;justify-content:center;width:28px}.toast--success .toast-icon{background:#0596691f;color:#059669}.toast--error .toast-icon{background:#dc26261a;color:#dc2626}.toast--warning .toast-icon{background:#d977061f;color:#d97706}.toast--info .toast-icon{background:#2563eb1a;color:#2563eb}.toast-body{flex:1 1;min-width:0;padding-top:2px}.toast-title{color:#111827;font-size:.82rem;font-weight:700;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.toast-message{color:#374151;font-size:.9rem;line-height:1.45;margin:0}.toast-dismiss{align-items:center;background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;margin:-2px -4px 0 0;padding:0;transition:background .15s ease,color .15s ease;width:28px}.toast-dismiss:hover{background:#f3f4f6;color:#374151}[data-theme=dark] .toast{background:#1f1f1f;border-color:#333;box-shadow:0 8px 24px #00000073}[data-theme=dark] .toast-title{color:#f4f4f5}[data-theme=dark] .toast-message{color:#d4d4d8}[data-theme=dark] .toast-dismiss:hover{background:#2a2a2a;color:#e4e4e7}@media (max-width:600px){.toast-viewport{left:12px;right:12px;width:auto}}.rich-text-display{color:var(--text-primary);font-size:15px;line-height:1.6}.rich-text-display.plain{display:inline}.rich-text-display h1,.rich-text-display h2,.rich-text-display h3,.rich-text-display h4{font-weight:600;line-height:1.3;margin:1em 0 .5em}.rich-text-display h1{font-size:1.5em}.rich-text-display h2{font-size:1.3em}.rich-text-display h3{font-size:1.15em}.rich-text-display h4{font-size:1.05em}.rich-text-display h1:first-child,.rich-text-display h2:first-child,.rich-text-display h3:first-child,.rich-text-display h4:first-child{margin-top:0}.rich-text-display p{margin:.5em 0}.rich-text-display p:first-child{margin-top:0}.rich-text-display ol,.rich-text-display ul{margin:.5em 0;padding-left:1.5em}.rich-text-display li{margin:.25em 0}.rich-text-display b,.rich-text-display strong{font-weight:600}.rich-text-display em,.rich-text-display i{font-style:italic}.rich-text-display a{color:var(--primary-color);text-decoration:underline}.rich-text-display a:hover{opacity:.85}.rich-text-display blockquote{border-left:3px solid var(--border-color);color:var(--text-secondary);margin:.75em 0;padding-left:1em}.rich-text-display code,.rich-text-display pre{background:var(--bg-secondary);border-radius:4px;font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em;padding:.2em .4em}.rich-text-display pre{margin:.5em 0;overflow-x:auto;padding:12px}.rich-text-display .ql-align-center{text-align:center}.rich-text-display .ql-align-right{text-align:right}.rich-text-display .ql-align-justify{text-align:justify}.rich-text-display .ql-indent-1{padding-left:3em}.rich-text-display .ql-indent-2{padding-left:6em}.rich-text-display .ql-indent-3{padding-left:9em}.rich-text-display .ql-indent-4{padding-left:12em}.rich-text-display u{text-decoration:underline}.rich-text-display s,.rich-text-display strike{text-decoration:line-through}[data-theme=dark] .rich-text-display,[data-theme=dark] .rich-text-display b,[data-theme=dark] .rich-text-display em,[data-theme=dark] .rich-text-display h1,[data-theme=dark] .rich-text-display h2,[data-theme=dark] .rich-text-display h3,[data-theme=dark] .rich-text-display h4,[data-theme=dark] .rich-text-display i,[data-theme=dark] .rich-text-display li,[data-theme=dark] .rich-text-display p,[data-theme=dark] .rich-text-display span,[data-theme=dark] .rich-text-display strong{color:var(--text-primary)!important}[data-theme=dark] .rich-text-display a{color:#ed0331!important;color:var(--primary-color,#ed0331)!important}[data-theme=dark] .rich-text-display blockquote{color:var(--text-secondary)!important}[data-theme=dark] .rich-text-display code,[data-theme=dark] .rich-text-display pre{background:#2a2a2a;background:var(--bg-secondary,#2a2a2a);color:var(--text-primary)!important}.ann-bell-trigger,.ann-bell-wrap{align-items:center;display:flex;position:relative}.ann-bell-trigger{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;cursor:pointer;height:42px;justify-content:center;padding:0;transition:background .15s,border-color .15s;width:42px}.ann-bell-trigger.open,.ann-bell-trigger:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-color:#cbd5e1}.ann-bell-icon{color:var(--text-primary);font-size:1.15rem;opacity:.85}.ann-bell-trigger.has-unread .ann-bell-icon{color:var(--text-primary);opacity:1}.ann-bell-count{align-items:center;background:#0f172a;background:var(--text-primary,#0f172a);border:2px solid #fff;border:2px solid var(--bg-primary,#fff);border-radius:999px;color:#fff;color:var(--bg-primary,#fff);display:flex;font-size:.62rem;font-weight:800;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;position:absolute;right:-5px;top:-5px;z-index:1}[data-theme=dark] .ann-bell-count{background:#f1f5f9;border-color:#1a1a1a;border-color:var(--bg-primary,#1a1a1a);color:#0f172a}.ann-bell-dropdown{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;box-shadow:0 12px 40px #0f172a1f;display:flex;flex-direction:column;max-height:min(460px,70vh);overflow:hidden;position:absolute;right:0;top:calc(100% + 10px);width:min(380px,calc(100vw - 32px));z-index:1300}.ann-bell-dropdown-head{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:14px 16px}.ann-bell-dropdown-title{align-items:center;display:flex;gap:12px}.ann-bell-dropdown-icon-wrap{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);display:flex;font-size:1.15rem;height:40px;justify-content:center;width:40px}.ann-bell-dropdown-title h3{color:var(--text-primary);font-size:.92rem;font-weight:700;margin:0}.ann-bell-dropdown-sub{color:var(--text-secondary);font-size:.74rem;font-weight:500}.ann-bell-dropdown-close{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.ann-bell-dropdown-toolbar{border-bottom:1px solid var(--border-color);padding:8px 14px}.ann-bell-mark-all{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 10px}.ann-bell-mark-all:hover{background:var(--bg-secondary);color:var(--text-primary)}.ann-bell-dropdown-list{flex:1 1;overflow-y:auto;padding:8px}.ann-bell-row{align-items:flex-start;background:#0000;border:1px solid #0000;border-radius:12px;cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px;text-align:left;transition:background .15s;width:100%}.ann-bell-row.unread,.ann-bell-row:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.ann-bell-row.unread{border-color:var(--border-color)}.ann-bell-row-icon{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:11px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:1.05rem;height:38px;justify-content:center;width:38px}.ann-bell-row-icon.warn{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.ann-bell-row-body{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.ann-bell-row-title{color:var(--text-primary);font-size:.86rem;font-weight:600;line-height:1.3}.ann-bell-row.read .ann-bell-row-title{color:var(--text-secondary);font-weight:500}.ann-bell-row-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.76rem;line-height:1.35;overflow:hidden}.ann-bell-row-meta{align-items:center;color:var(--text-secondary);display:flex;font-size:.7rem;gap:6px}.ann-bell-row-dot{background:var(--text-primary);border-radius:50%;flex-shrink:0;height:7px;margin-top:8px;width:7px}.ann-bell-dropdown-empty{color:var(--text-secondary);padding:32px 20px;text-align:center}.ann-bell-dropdown-empty svg{font-size:2rem;margin-bottom:10px;opacity:.35}.ann-bell-spinner{animation:annBellSpin .7s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--text-primary);height:28px;margin:0 auto 12px;width:28px}@keyframes annBellSpin{to{transform:rotate(1turn)}}.ann-bell-dropdown-foot{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-top:1px solid var(--border-color);padding:12px 14px}.ann-bell-view-all-btn{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.86rem;font-weight:600;gap:8px;justify-content:center;padding:11px 16px;transition:background .15s,border-color .15s;width:100%}.ann-bell-view-all-btn:hover{background:var(--bg-secondary);border-color:#94a3b8}[data-theme=dark] .ann-bell-dropdown{box-shadow:0 12px 40px #00000059}@media (max-width:480px){.ann-bell-dropdown{left:12px;position:fixed;right:12px;top:72px;top:var(--navbar-height,72px);width:auto}}.navbar{animation:fadeInDown .5s ease;background-color:#fff;border-bottom:1px solid var(--border-color);box-shadow:0 2px 12px #0000000f;box-sizing:border-box;left:0;min-height:72px;min-height:var(--navbar-height,72px);padding:16px 0;position:fixed;right:0;top:0;transition:background-color .3s ease,border-color .3s ease;width:100%;z-index:1000}[data-theme=dark] .navbar{background-color:#181818;border-bottom-color:#2e2e2e;box-shadow:0 2px 16px #0006}.navbar-student,.navbar-vendor{border-bottom:1px solid var(--border-color)}.navbar-vendor .navbar-menu{align-items:center;gap:16px;justify-content:flex-end}.navbar-vendor .navbar-brand{margin-right:auto}.navbar-vendor .navbar-user{border-left:1px solid var(--border-color);margin-left:0;padding-left:12px}.navbar-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:20px;margin:0 auto;max-width:100%;min-height:44px;min-width:0;padding:0 24px 0 40px;width:100%}.navbar-brand{align-items:center;color:var(--text-primary);display:flex;flex-shrink:0;font-size:1.35rem;font-weight:700;margin-right:8px;min-height:48px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.navbar-brand:has(.navbar-brand-logo):hover{transform:none}button.navbar-brand{background:#0000;border:none;cursor:pointer;font:inherit;padding:0}.navbar-brand--exam-locked{cursor:not-allowed;opacity:.92}.navbar-brand-logo{align-items:center;background:#fff;border:1px solid #0000001a;border-radius:10px;box-shadow:0 1px 4px #00000014;box-sizing:border-box;display:inline-flex;height:48px;justify-content:center;line-height:0;max-width:200px;padding:6px 16px}[data-theme=dark] .navbar-brand-logo{background:#fffffff7;border-color:#ffffff24;box-shadow:0 1px 6px #00000059}.navbar-brand-logo-img{display:block;object-position:center center}.navbar-brand-logo-img,.navbar-logo{height:auto;max-height:36px;max-width:180px;object-fit:contain;width:auto}.navbar-brand-text{font-size:1.35rem;font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-menu{align-items:center;display:flex;flex:1 1 auto;flex-direction:row;flex-wrap:nowrap;gap:20px;justify-content:flex-start;min-width:0}.navbar-link{border-radius:8px;color:var(--text-primary);flex-shrink:0;font-size:1.05rem;font-weight:500;overflow:hidden;padding:10px 18px;position:relative;text-decoration:none;transition:all .3s ease;white-space:nowrap}.navbar-link-button{background:none;border:none;cursor:pointer;font-size:1em}.navbar-link:before{background:var(--primary-gradient);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .3s ease;width:0}.navbar-link:hover{background-color:var(--bg-primary);box-shadow:0 4px 8px #0000001a;color:var(--text-primary);transform:translateY(-2px)}.navbar-link:hover:before{width:80%}.navbar-user{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:12px;margin-left:auto}.navbar-student .navbar-menu{align-items:center;gap:16px;justify-content:flex-end}.navbar-student .navbar-brand{margin-right:auto}.navbar-student-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.navbar-student .navbar-user{border-left:1px solid var(--border-color);margin-left:0;padding-left:12px}.navbar-user .user-name{font-size:1.05rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-dropdown{position:relative}.navbar-dropdown-menu{grid-gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 12px 24px #00000026;display:grid;gap:6px;left:0;margin-top:4px;min-width:220px;padding:8px;position:absolute;top:100%;z-index:1200}.navbar-dropdown-item{border-radius:8px;color:var(--text-primary);font-size:1rem;padding:8px 12px;text-decoration:none;transition:all .2s ease}.navbar-dropdown-item:hover{background:var(--bg-primary);transform:translateX(2px)}.user-name{font-weight:500;gap:5px}.logout-btn,.theme-toggle,.user-name{align-items:center;color:var(--text-primary);display:flex}.logout-btn,.theme-toggle{background:none;border:none;border-radius:6px;cursor:pointer;font-size:1.05rem;gap:6px;padding:10px 14px;transition:all .3s ease}.logout-btn:hover,.theme-toggle:hover{background-color:var(--bg-primary);box-shadow:0 4px 8px #0000001a;transform:translateY(-2px) scale(1.05)}@media (max-width:992px){.navbar-brand{font-size:1.25rem}.navbar-link{font-size:1rem;padding:8px 12px}.navbar-menu{gap:14px}.navbar-container{gap:14px;padding:0 20px 0 28px}.navbar-user .user-name{font-size:1rem;max-width:100px}}@media (max-width:768px){:root{--navbar-height:64px}.navbar{min-height:64px;min-height:var(--navbar-height,64px);padding:12px 0}.navbar-container{flex-wrap:wrap;gap:10px;min-height:40px;padding:8px 16px 8px 24px}.navbar-brand{font-size:18px;min-height:40px}.navbar-brand-logo{height:40px;max-width:160px;padding:5px 12px}.navbar-brand-logo-img{max-height:30px;max-width:140px}.navbar-brand-text{font-size:1.1rem;max-width:140px}.navbar-menu{flex-wrap:wrap;gap:8px;justify-content:center;order:2;width:100%}.navbar-link{font-size:.9rem;padding:6px 10px}.navbar-user{gap:8px;margin-left:auto;order:1}.navbar-user .user-name{font-size:.9rem;max-width:80px}.logout-btn,.theme-toggle{font-size:14px;padding:6px 10px}.navbar-dropdown-menu{left:0;min-width:200px;right:auto}.navbar-dropdown-item{background:var(--bg-primary)}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);overflow:hidden;padding:20px;position:relative}.auth-container:before{animation:pulse 8s ease-in-out infinite;height:200%;left:-50%;top:-50%;width:200%}.auth-container:after,.auth-container:before{background:radial-gradient(circle,#00000003 0,#0000 70%);content:"";pointer-events:none;position:absolute}.auth-container:after{animation:pulse 10s ease-in-out infinite;bottom:-30%;height:600px;right:-30%;width:600px}.auth-card{animation:fadeInUp .6s ease;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px #0000001a;max-width:450px;padding:40px;position:relative;transition:all .3s ease;width:100%;z-index:1}.auth-card:hover{box-shadow:0 12px 32px #0000001f;transform:translateY(-4px)}.auth-card:before{border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-card:before,.auth-title{background:var(--primary-gradient)}.auth-title{-webkit-text-fill-color:#0000;animation:fadeInDown .6s ease;-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:30px;text-align:center}.auth-subtitle{color:#666;color:var(--text-secondary,#666);font-size:15px;line-height:1.5;margin:-16px 0 24px;text-align:center}.auth-success{background:linear-gradient(135deg,#efe,#dfd);border:1px solid #cfc;border-radius:10px;color:#2d6a2d;font-size:14px;line-height:1.5;margin-bottom:20px;padding:14px 18px}[data-theme=dark] .auth-success{background:linear-gradient(135deg,#1a2e1a,#152515);border-color:#2a4a2a;color:#8fd48f}.auth-footer-link{font-size:14px;margin-top:24px;text-align:center}.auth-footer-link a{color:#ed0331;color:var(--primary-color,#ed0331);font-weight:500;text-decoration:none}.auth-footer-link a:hover{text-decoration:underline}.auth-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.auth-label-row label{margin-bottom:0}.auth-inline-link{color:#ed0331;color:var(--primary-color,#ed0331);font-size:13px;font-weight:500;text-decoration:none}.auth-inline-link:hover{text-decoration:underline}.auth-submit-btn{margin-top:8px;width:100%}.login-page{background:var(--bg-primary);width:100%}.login-hero,.login-page{display:flex;min-height:100vh;overflow:hidden}.login-hero{background:#0f1419;color:#e8eaed;flex:1 1 50%;flex-direction:column;justify-content:center;padding:48px 56px;position:relative}.login-hero-bg{background-image:linear-gradient(160deg,#0f1419f7,#161c26f0 40%,#1e2634e0),url(https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=1400&q=80);background-position:50%;background-size:cover;inset:0;position:absolute;z-index:0}.login-hero-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 0),linear-gradient(90deg,#ffffff0a 1px,#0000 0);background-size:40px 40px;inset:0;opacity:.6;position:absolute;z-index:1}.login-hero-glow{background:radial-gradient(circle,#6366f126 0,#0000 65%);bottom:-120px;height:500px;left:-100px;width:500px}.login-hero-glow,.login-hero-glow-accent{border-radius:50%;pointer-events:none;position:absolute;z-index:1}.login-hero-glow-accent{background:radial-gradient(circle,#ed03311f 0,#0000 70%);height:320px;right:-60px;top:10%;width:320px}.login-hero-content{animation:loginFadeIn .7s ease;max-width:520px;position:relative;z-index:2}.login-brand{align-items:center;color:#f1f3f5;display:inline-flex;font-size:15px;font-weight:600;gap:12px;letter-spacing:.02em;margin-bottom:28px}.login-brand-icon{align-items:center;background:linear-gradient(145deg,#ed0331,#a80224);border-radius:11px;box-shadow:0 4px 16px #ed033140;color:#fff;display:flex;font-size:20px;height:42px;justify-content:center;width:42px}.login-hero h1{color:#fff;font-size:clamp(2rem,4vw,2.65rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:16px}.login-hero h1 span{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#a5b4fc,#818cf8 50%,#c4b5fd);-webkit-background-clip:text;background-clip:text}.login-hero-tagline{color:#e8eaedbf;font-size:1.05rem;line-height:1.65;margin-bottom:32px;max-width:440px}.login-features{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.login-feature{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;color:#ffffffeb;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 16px;transition:background .2s ease,border-color .2s ease}.login-feature:hover{background:#ffffff17;border-color:#ffffff29}.login-feature-icon{align-items:center;background:#6366f133;border-radius:9px;color:#a5b4fc;display:flex;flex-shrink:0;font-size:17px;height:36px;justify-content:center;width:36px}.login-code-preview{background:#00000059;border:1px solid #ffffff1a;border-radius:14px;box-shadow:0 16px 40px #00000040;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;overflow:hidden}.login-code-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff14;display:flex;gap:8px;padding:10px 14px}.login-code-dot{border-radius:50%;height:10px;width:10px}.login-code-dot.red{background:#ff5f57}.login-code-dot.yellow{background:#febc2e}.login-code-dot.green{background:#28c840}.login-code-header span{color:#ffffff73;font-size:11px;margin-left:auto}.login-code-body{color:#d4d4d8;padding:16px 18px}.login-code-body .kw{color:#c678dd}.login-code-body .fn{color:#61afef}.login-code-body .str{color:#98c379}.login-code-body .cm{color:#6b7280}.login-code-body .num{color:#d19a66}.login-panel{align-items:center;background:var(--bg-primary);display:flex;flex:1 1 50%;justify-content:center;min-height:100vh;padding:48px 40px;position:relative}[data-theme=light] .login-panel{background:#fff}[data-theme=dark] .login-panel{background:linear-gradient(180deg,#141414,#1a1a1a)}.login-panel-inner{animation:loginSlideUp .6s ease .1s both;max-width:400px;width:100%}.login-form-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 1px 2px #0000000a,0 12px 40px #0000000f;padding:36px 32px 32px}[data-theme=dark] .login-form-card{box-shadow:0 1px 2px #0003,0 12px 40px #00000059}.login-panel-header{margin-bottom:28px;text-align:center}.login-panel-header h2{color:var(--text-primary);font-size:26px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.login-panel-header p{color:var(--text-secondary);font-size:14px;line-height:1.5}.login-field{margin-bottom:20px}.login-field label{color:var(--text-primary);display:block;font-size:13px;font-weight:600;letter-spacing:.01em;margin-bottom:8px}.login-input-box{align-items:stretch;background:var(--input-bg);border:1.5px solid var(--border-color);border-radius:12px;display:flex;min-height:50px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.login-input-box:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px #ed03311a}[data-theme=dark] .login-input-box:focus-within{box-shadow:0 0 0 3px #ed03312e}.login-input-affix{align-items:center;background:var(--bg-secondary);border-right:1px solid var(--border-color);color:var(--text-secondary);display:flex;flex-shrink:0;font-size:18px;justify-content:center;width:48px}.login-input-box input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:15px;line-height:1.4;min-width:0;outline:none;padding:0 16px}.login-input-box input::placeholder{color:var(--text-secondary);opacity:.65}.login-input-box input:disabled{cursor:not-allowed;opacity:.6}.login-input-suffix{background:var(--bg-secondary);border-left:1px solid var(--border-color);flex-shrink:0;width:48px}.login-input-suffix,.login-password-toggle{align-items:center;display:flex;justify-content:center}.login-password-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;height:100%;min-height:48px;padding:0;transition:color .2s ease;width:100%}.login-password-toggle:hover{color:var(--primary-color)}.login-forgot-row{display:flex;justify-content:flex-end;margin:-8px 0 24px}.login-forgot-link{color:var(--primary-color);font-size:13px;font-weight:500;padding:4px 0;text-decoration:none;transition:opacity .2s ease}.login-forgot-link:hover{opacity:.85;text-decoration:underline}.login-submit{background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 14px #ed033147;color:#fff;cursor:pointer;font-size:15px;font-weight:600;letter-spacing:.02em;padding:14px 24px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;width:100%}.login-submit:hover:not(:disabled){box-shadow:0 6px 20px #ed033159;transform:translateY(-1px)}.login-submit:disabled{cursor:not-allowed;opacity:.65;transform:none}.login-alert{animation:loginFadeIn .4s ease;border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:12px 14px}.login-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.login-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.login-alert-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e}[data-theme=dark] .login-alert-error{background:#7f1d1d59;border-color:#f871714d;color:#fca5a5}[data-theme=dark] .login-alert-success{background:#16653440;border-color:#4ade8040;color:#86efac}[data-theme=dark] .login-alert-warn{background:#92400e40;border-color:#fbbf2440;color:#fcd34d}.login-panel-footer{color:var(--text-secondary);font-size:12px;margin-top:20px;opacity:.85;text-align:center}.login-theme-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:11px;box-shadow:0 2px 8px #0000000f;color:var(--text-primary);cursor:pointer;display:flex;font-size:18px;height:42px;justify-content:center;position:absolute;right:24px;top:24px;transition:border-color .2s ease,box-shadow .2s ease;width:42px}.login-theme-toggle:hover{border-color:var(--primary-color)}.login-loading-screen{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh}.login-loading-card{color:var(--text-secondary);padding:48px;text-align:center}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:960px){.login-page{flex-direction:column}.login-hero{flex:none;min-height:auto;padding:32px 24px 28px}.login-features{grid-template-columns:1fr;margin-bottom:20px}.login-code-preview{display:none}.login-panel{flex:1 1;min-height:auto;padding:28px 20px 40px}.login-form-card{padding:28px 22px 24px}}@media (max-width:480px){.login-hero h1{font-size:1.6rem}.login-panel-header h2{font-size:22px}}.join-attempt-screen{align-items:center;background:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;padding:24px}.join-attempt-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 32px #00000014;max-width:360px;padding:48px 40px;text-align:center;width:100%}.join-attempt-card-wide{max-width:520px;text-align:left}.join-attempt-kind{color:#ed0331;color:var(--primary-color,#ed0331);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.join-attempt-title{color:var(--text-primary);font-size:24px;font-weight:700;line-height:1.25;margin:0 0 8px}.join-attempt-duration,.join-attempt-meta{color:var(--text-secondary);font-size:14px;margin:0 0 6px}.join-attempt-rules{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:20px 0 24px;padding-left:20px}.join-attempt-start-btn{font-size:16px;font-weight:600;padding:14px;width:100%}.join-attempt-error{color:#b91c1c;font-size:14px;line-height:1.5;margin-bottom:16px}.join-attempt-hint{color:var(--text-secondary);font-size:14px;margin-top:16px}.cl-page{background:var(--bg-primary);width:100%}.cl-hero,.cl-page{display:flex;min-height:100vh;overflow:hidden}.cl-hero{background:#0f1419;color:#e8eaed;flex:1 1 52%;flex-direction:column;justify-content:center;padding:48px 52px;position:relative}.cl-hero-bg{background-image:linear-gradient(155deg,#0f1419f5,#161c26eb 45%,#1e2634db),url(https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1400&q=80);background-position:50%;background-size:cover;inset:0;position:absolute;z-index:0}.cl-hero-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 0),linear-gradient(90deg,#ffffff0a 1px,#0000 0);background-size:40px 40px;inset:0;opacity:.55;position:absolute;z-index:1}.cl-hero-glow{background:radial-gradient(circle,#6366f12e 0,#0000 65%);bottom:-100px;height:480px;left:-80px;width:480px}.cl-hero-glow,.cl-hero-glow-accent{border-radius:50%;pointer-events:none;position:absolute;z-index:1}.cl-hero-glow-accent{background:radial-gradient(circle,#ed033124 0,#0000 70%);height:340px;right:-50px;top:8%;width:340px}.cl-hero-content{animation:clFadeIn .7s ease;max-width:540px;position:relative;z-index:2}@keyframes clFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cl-hero-top{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:22px}.cl-hero-brand{align-items:center;color:#f1f3f5;display:inline-flex;font-size:14px;font-weight:600;gap:12px;letter-spacing:.04em;text-transform:uppercase}.cl-hero-brand-icon{align-items:center;background:linear-gradient(145deg,#ed0331,#a80224);border-radius:11px;box-shadow:0 4px 16px #ed033147;color:#fff;display:flex;font-size:20px;height:42px;justify-content:center;width:42px}.cl-status-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:700;gap:6px;letter-spacing:.05em;padding:6px 12px;text-transform:uppercase}.cl-status-pill--waiting{background:#f59e0b26;border-color:#fbbf2459;color:#fcd34d}.cl-status-pill--live{background:#10b98126;border-color:#34d39959;color:#6ee7b7}.cl-status-pill--open{background:#3b82f626;border-color:#60a5fa59;color:#93c5fd}.cl-status-pill--ended,.cl-status-pill--muted{background:#ffffff14;border-color:#ffffff1f;color:#ffffffa6}.cl-live-dot{animation:clPulse 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:7px;width:7px}@keyframes clPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.cl-hero-title{color:#fff;font-size:clamp(1.85rem,3.5vw,2.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin:0 0 12px}.cl-hero-desc{color:#e8eaedc7;font-size:1.02rem;line-height:1.65;margin:0 0 22px;max-width:480px}.cl-hero-assessment{align-items:flex-start;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;display:flex;gap:14px;margin-bottom:20px;padding:16px 18px}.cl-hero-assessment-icon{align-items:center;background:#ed033133;border:1px solid #ed03314d;border-radius:11px;color:#fca5a5;display:flex;flex-shrink:0;font-size:1.2rem;height:44px;justify-content:center;width:44px}.cl-hero-assessment div{display:flex;flex-direction:column;gap:3px;min-width:0}.cl-hero-assessment-type{color:#fca5a5;font-size:.65rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.cl-hero-assessment strong{color:#fff;font-size:.95rem;line-height:1.35}.cl-hero-assessment span:last-child{color:#fff9;font-size:.82rem}.cl-hero-countdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:18px;padding:18px}.cl-hero-countdown--live{background:#10b9811a;border-color:#34d39959}.cl-hero-countdown-label{color:#ffffff8c;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.cl-hero-countdown--live .cl-hero-countdown-label{color:#6ee7b7}.cl-countdown-grid{display:flex;flex-wrap:wrap;gap:10px}.cl-countdown-unit{background:#00000047;border:1px solid #ffffff1a;border-radius:12px;min-width:62px;padding:10px 8px;text-align:center}.cl-countdown-value{font-feature-settings:"tnum";color:#fff;display:block;font-size:1.55rem;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1}.cl-countdown-label{color:#ffffff73;display:block;font-size:.62rem;font-weight:700;letter-spacing:.06em;margin-top:4px;text-transform:uppercase}.cl-hero-countdown-soon{color:#fcd34d;font-size:.86rem;font-weight:600;margin:12px 0 0}.cl-hero-schedule{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:16px}.cl-schedule-card{align-items:flex-start;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;color:#a5b4fc;display:flex;font-size:1rem;gap:10px;padding:14px}.cl-schedule-card div{display:flex;flex-direction:column;gap:4px;min-width:0}.cl-schedule-card span{color:#ffffff73;font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cl-schedule-card strong{color:#ffffffeb;font-size:.8rem;font-weight:600;line-height:1.4}.cl-hero-progress{margin-bottom:18px}.cl-progress-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:14px;margin-bottom:16px;padding:16px 18px}.cl-progress-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.cl-progress-title{color:#ffffff8c;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.cl-progress-pct{font-feature-settings:"tnum";background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;color:#fff;font-size:.88rem;font-variant-numeric:tabular-nums;font-weight:800;padding:2px 10px}.cl-progress-track{background:#00000059;border:1px solid #ffffff14;border-radius:999px;box-shadow:inset 0 1px 4px #00000059;height:10px;overflow:hidden}.cl-progress-fill{background:linear-gradient(90deg,#ed0331,#c026d3 45%,#818cf8);border-radius:999px;box-shadow:0 0 14px #ed033173;height:100%;transition:width 1s linear}.cl-progress-caption{color:#ffffff80;font-size:.78rem;line-height:1.45;margin:10px 0 0}.cl-code-preview{background:#00000061;border:1px solid #ffffff1a;border-radius:14px;box-shadow:0 16px 40px #00000047;font-family:SF Mono,Fira Code,Consolas,monospace;overflow:hidden}.cl-code-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #ffffff14;display:flex;gap:8px;padding:10px 14px}.cl-code-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.cl-code-dot--red{background:#ff5f57}.cl-code-dot--yellow{background:#febc2e}.cl-code-dot--green{background:#28c840}.cl-code-filename{color:#ffffff73;font-size:11px;margin-left:auto}.cl-code-body{color:#d4d4d8;font-size:12px;line-height:1.65;margin:0;overflow-x:auto;padding:14px 16px}.cl-code-body code{display:block}.cl-code-line{display:block;white-space:pre-wrap;word-break:break-word}.cl-code-key{color:#c678dd}.cl-code-str{color:#98c379}.cl-code-num{color:#d19a66}.cl-code-footer{align-items:center;background:#ffffff0a;border-top:1px solid #ffffff14;color:#ffffff8c;display:flex;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;font-weight:500;gap:8px;padding:11px 16px}.cl-code-footer svg{color:#a5b4fc;flex-shrink:0;font-size:14px;opacity:.9}.cl-panel{align-items:center;background:var(--bg-primary);display:flex;flex:1 1 48%;justify-content:center;min-height:100vh;padding:48px 36px;position:relative}[data-theme=light] .cl-panel{background:#fff}[data-theme=dark] .cl-panel{background:linear-gradient(180deg,#141414,#1a1a1a)}.cl-panel-inner{max-width:420px}.cl-form-card{padding:36px 32px 28px}.cl-auth-tabs{grid-gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px}.cl-auth-tab{background:#0000;border:none;border-radius:9px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:600;padding:10px 14px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.cl-auth-tab.is-active{background:var(--primary-gradient);box-shadow:0 4px 12px #ed033138;color:#fff}.cl-register-form .login-field:last-of-type{margin-bottom:24px}.cl-login-prompt{text-align:center}.cl-login-prompt p{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0 0 18px}.cl-login-prompt .login-submit{align-items:center;display:inline-flex;gap:8px;justify-content:center}.cl-action-block{display:flex;flex-direction:column;gap:16px}.cl-action-success{align-items:center;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;color:#047857;display:flex;font-size:.88rem;font-weight:500;gap:10px;padding:12px 14px}[data-theme=dark] .cl-action-success{background:#10b9811f;border-color:#34d39959;color:#6ee7b7}.cl-action-success svg{flex-shrink:0;font-size:1.15rem}.cl-start-btn{align-items:center;display:inline-flex;gap:10px;justify-content:center}.cl-registered-banner{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:flex;gap:12px;padding:16px}[data-theme=dark] .cl-registered-banner{background:#3b82f61f;border-color:#60a5fa59}.cl-registered-banner svg{color:#2563eb;flex-shrink:0;font-size:1.35rem;margin-top:2px}[data-theme=dark] .cl-registered-banner svg{color:#93c5fd}.cl-registered-banner strong{color:var(--text-primary);display:block;font-size:.95rem;margin-bottom:4px}.cl-registered-banner p{color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin:0}.cl-registered-banner p strong{color:#2563eb;display:inline}[data-theme=dark] .cl-registered-banner p strong{color:#93c5fd}.cl-registered-banner--muted{background:var(--bg-secondary);border-color:var(--border-color)}.cl-info-list{display:flex;flex-direction:column;gap:10px}.cl-info-row{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);display:flex;font-size:.85rem;gap:10px;padding:12px 14px}.cl-info-row svg{color:var(--primary-color);flex-shrink:0}.cl-info-row strong{color:var(--text-primary)}.cl-loading-spinner{animation:clSpin .75s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:0 auto 14px;width:40px}@keyframes clSpin{to{transform:rotate(1turn)}}.cl-error-card{max-width:400px;padding:40px 32px;text-align:center}.cl-error-icon{color:var(--text-secondary);font-size:2rem;margin-bottom:12px}.cl-error-card h2{font-size:1.35rem;margin:0 0 8px}.cl-error-card p{color:var(--text-secondary);font-size:.92rem;margin:0 0 20px}.cl-error-btn{display:inline-block;text-align:center;text-decoration:none}@media (max-width:960px){.cl-page{flex-direction:column}.cl-hero{flex:none;min-height:auto;padding:28px 22px 24px}.cl-hero-schedule{grid-template-columns:1fr}.cl-code-preview{display:none}.cl-panel{flex:1 1;min-height:auto;padding:24px 20px 40px}.cl-form-card{padding:28px 22px 24px}}@media (max-width:480px){.cl-hero-title{font-size:1.55rem}.cl-countdown-unit{min-width:52px}.cl-countdown-value{font-size:1.3rem}}.cl-leaderboard{margin-top:20px}.cl-leaderboard-title{align-items:center;display:flex;font-size:1rem;font-weight:600;gap:8px;margin:0 0 12px}.cl-leaderboard-table-wrap{border:1px solid #94a3b840;border:1px solid var(--cl-border,#94a3b840);border-radius:12px;overflow-x:auto}.cl-leaderboard-table{border-collapse:collapse;font-size:.9rem;width:100%}.cl-leaderboard-table td,.cl-leaderboard-table th{border-bottom:1px solid #94a3b826;border-bottom:1px solid var(--cl-border,#94a3b826);padding:10px 12px;text-align:left}.cl-leaderboard-table th{font-size:.75rem;letter-spacing:.04em;opacity:.7;text-transform:uppercase}.cl-leaderboard-table tr.is-you{background:#3b82f614;font-weight:600}.cl-leaderboard-table tr:last-child td{border-bottom:none}.page-title{margin-bottom:30px}.stats-grid{grid-gap:20px;animation:fadeInUp .6s ease;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.stat-card{animation:fadeInUp .5s ease;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);color:var(--text-primary);overflow:hidden;padding:25px;position:relative;text-align:center;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001f;transform:translateY(-6px)}.stat-card h3{color:var(--text-secondary);font-size:16px;font-weight:500;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.stat-number{color:var(--text-primary);font-size:42px;font-weight:700;line-height:1.2;transition:all .3s ease}.stat-card:hover .stat-number{transform:scale(1.1)}.action-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:15px;margin-top:40px}.action-buttons .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;justify-content:center;min-width:140px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.action-buttons .btn-primary{background:var(--primary-gradient);box-shadow:0 2px 6px #00000026;color:#fff}.action-buttons .btn-primary:hover{box-shadow:0 4px 12px #0003;opacity:.95;transform:translateY(-2px)}.action-buttons .btn-secondary{background-color:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-primary)}.action-buttons .btn-secondary:hover{background-color:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow);transform:translateY(-2px)}@media (max-width:768px){.stats-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:20px}.stat-number{font-size:32px}.action-buttons{flex-direction:column}.action-buttons .btn{width:100%}}.page-header{animation:fadeInDown .5s ease}.page-header-actions{align-items:center;display:flex;gap:12px}.status-badge{border-radius:12px;box-shadow:0 2px 4px #0000001a;font-size:14px;transition:all .3s ease}.status-badge:hover{box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.status-badge.inactive{background:linear-gradient(135deg,#dc3545,#c82333)}.error{background:linear-gradient(135deg,#dc35451a,#c823330d);border:2px solid #dc3545;border-radius:12px;color:#dc3545}.success{background:linear-gradient(135deg,#28a7451a,#1e7e340d);border:2px solid #28a745;border-radius:12px;color:#28a745;white-space:pre-line}.container{max-width:1400px}.page-header{flex-wrap:wrap;gap:15px}.page-title{animation:fadeInDown .5s ease;color:var(--text-primary);font-size:32px;font-weight:700;margin:0}.page-subtitle{color:var(--text-secondary);font-size:.95em;margin:5px 0 0}.btn{align-items:center;border-radius:8px;display:inline-flex;font-size:15px;gap:8px;justify-content:center;padding:12px 24px;white-space:nowrap}.btn-primary{box-shadow:0 2px 6px #00000026}.btn-primary:hover:not(:disabled){box-shadow:0 6px 16px #0003;opacity:.95;transform:translateY(-3px) scale(1.02)}.btn-secondary{border:2px solid var(--border-color)}.btn-secondary:hover:not(:disabled){box-shadow:0 2px 8px var(--shadow);transform:translateY(-2px)}.btn-danger{border:2px solid #dc3545}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#a71e2a);border-color:#c82333;box-shadow:0 6px 12px #dc35454d;transform:translateY(-3px)}.btn-sm{font-size:14px}.btn:disabled{transform:none!important}.btn-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.btn-group .btn{margin:0}.card{margin-bottom:20px;overflow:visible;padding:25px;z-index:1}.card:before{background:linear-gradient(90deg,#007bff,#6f42c1);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease;z-index:0}.card:hover{z-index:2}.card:hover:before{transform:scaleX(1)}.card-header{align-items:center;border-bottom:2px solid var(--border-color);margin-bottom:20px;padding-bottom:15px}.card-header h2{color:var(--text-primary);font-size:1.5em;margin:0}.table-container{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.table{background-color:var(--bg-primary)}.table thead{background-color:var(--bg-secondary)}.table thead th{color:var(--text-primary);font-size:.85em;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table th{border-bottom:2px solid var(--border-color);font-size:.9em;padding:15px;text-align:left}.table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:15px}.table tbody tr{position:relative;z-index:1}.table tbody tr:hover{transform:scale(1.005);z-index:2}.table tbody tr:last-child td{border-bottom:none}.status-badge{border-radius:20px;display:inline-block;font-size:.85em;font-weight:600;padding:6px 12px}.status-badge.active{background:linear-gradient(135deg,#28a745,#1e7e34);border:1px solid #28a745;color:#fff;font-weight:600}.status-badge.inactive{background:linear-gradient(135deg,#6c757d,#545b62);border:1px solid #6c757d;color:#fff;font-weight:600}.form-input,.form-select,.form-textarea{border-radius:8px;font-family:inherit;font-size:1em;padding:12px 15px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-textarea{min-height:100px}.form-actions{margin-top:30px}.empty-state{background-color:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:12px;padding:60px 20px}.empty-state-icon{font-size:4em;margin-bottom:20px}.empty-state h2{margin-bottom:10px}.empty-state p{font-size:1.1em;margin-bottom:30px}.loading{align-items:center;display:flex;font-size:1.1em;justify-content:center;min-height:400px}.error-message,.success-message{align-items:center;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:15px 20px}.error-message{background-color:#dc35451a;border:1px solid #dc35454d;color:#dc3545}.success-message{background:linear-gradient(135deg,#28a74526,#1e7e341a);border:2px solid #28a745;color:#155724;font-weight:500;position:relative;z-index:10}[data-theme=dark] .success-message{background:linear-gradient(135deg,#28a74533,#1e7e3426);color:#90ee90}@media (max-width:768px){.container{padding:15px}.page-header{align-items:stretch;flex-direction:column}.page-title{font-size:24px}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.table-container{overflow-x:scroll}}.credits-note{color:var(--text-secondary);line-height:1.5;margin:0 0 20px}.credits-empty-state{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:32px;text-align:center}.credits-empty-state p{color:var(--text-secondary);line-height:1.5;margin:0 0 16px}.interview-credits .credits-table{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;overflow-x:auto;padding:16px}.interview-credits .table{border-collapse:collapse;width:100%}.interview-credits .table td,.interview-credits .table th{border-bottom:1px solid var(--border-color);padding:12px 16px;text-align:left}.interview-credits .table th{color:var(--text-secondary);font-weight:600}.credits-action{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.credits-action input,.credits-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;padding:8px 12px;width:100px}.credits-action .btn{white-space:nowrap}.interview-ai-settings .ai-settings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ai-settings-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;gap:10px;padding:18px}.ai-settings-card p{color:var(--text-secondary);margin:0}.coming-soon-badge{align-self:flex-start;background:#ffe4c7;border-radius:12px;color:#8a4b00;font-size:.8em;font-weight:600;padding:4px 10px}.vendor-panel{--vendor-accent:#e7210b;--vendor-accent-soft:#e7210b14;--vendor-accent-ring:#e7210b33;--vendor-sidebar-width:272px;--vendor-radius:14px;--vendor-radius-lg:20px;--vendor-shadow:0 1px 2px #0000000a;--vendor-shadow-hover:0 4px 14px #0000000f;background:#fff;background:var(--card-bg,#fff);display:flex;min-height:calc(100vh - 72px);min-height:calc(100vh - var(--navbar-height, 72px));position:relative}.vendor-sidebar-toggle{align-items:center;background:var(--vendor-accent);border-radius:50%;bottom:24px;box-shadow:0 8px 24px #e7210b59;color:#fff;font-size:1.35rem;height:52px;justify-content:center;right:24px;width:52px;z-index:1100}.vendor-sidebar-backdrop,.vendor-sidebar-toggle{border:none;cursor:pointer;display:none;position:fixed}.vendor-sidebar-backdrop{background:#0f172a80;inset:72px 0 0;inset:var(--navbar-height,72px) 0 0;z-index:900}[data-theme=dark] .vendor-sidebar-backdrop{background:#000000a6}.vendor-sidebar{background:#fff;background:var(--card-bg,#fff);border-right:1px solid var(--border-color);flex-shrink:0;height:calc(100vh - 72px);height:calc(100vh - var(--navbar-height, 72px));left:0;overflow:hidden;position:fixed;top:72px;top:var(--navbar-height,72px);width:var(--vendor-sidebar-width);z-index:950}.vendor-sidebar-inner{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:18px 0 14px 12px}.vendor-sidebar-profile{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);background:linear-gradient(135deg,var(--card-bg,#fff) 0,var(--bg-secondary,#f8fafc) 100%);border-left:3px solid #e7210b;border:1px solid var(--border-color);border-left:3px solid var(--vendor-accent,#e7210b);border-radius:var(--vendor-radius);box-shadow:var(--vendor-shadow);display:flex;flex-shrink:0;gap:12px;margin:0 12px 10px 0;padding:12px}.vendor-nav-label-row{align-items:center;display:flex;gap:8px;justify-content:space-between;margin:14px 10px 4px;padding-right:12px}.vendor-nav-label-row .vendor-nav-label{margin:0}.vendor-nav-label-meta{color:var(--text-secondary);font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.vendor-sidebar-nav-scroll{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:8px;scrollbar-width:none}.vendor-sidebar-nav-scroll::-webkit-scrollbar{display:none}.vendor-avatar{align-items:center;background:linear-gradient(135deg,#334155,#475569);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:44px;justify-content:center;width:44px}.vendor-sidebar-greeting{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.06em;margin:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.vendor-sidebar-name{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:2px 0 0}.vendor-nav-label{color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;margin:12px 10px 4px;text-transform:uppercase}.vendor-sidebar-nav{display:block;padding-right:12px}.vendor-nav-item{align-items:center;border-radius:10px;display:flex;font-size:.9rem;font-weight:500;gap:10px;margin:2px 0;padding:9px 10px;transition:background .15s ease,color .15s ease}.vendor-nav-item,.vendor-nav-item:hover{color:var(--text-primary);text-decoration:none}.vendor-nav-item:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.vendor-nav-item.active{background:var(--vendor-accent-soft);color:var(--text-primary);font-weight:600}.vendor-nav-item--disabled{opacity:.55;pointer-events:none}.vendor-nav-icon{align-items:center;background:color-mix(in srgb,#475569 10%,#0000);background:color-mix(in srgb,var(--section-accent,#475569) 10%,#0000);border:1px solid color-mix(in srgb,#475569 18%,#0000);border:1px solid color-mix(in srgb,var(--section-accent,#475569) 18%,#0000);border-radius:9px;color:#475569;color:var(--section-accent,#475569);display:flex;flex-shrink:0;font-size:1.05rem;height:34px;justify-content:center;width:34px}.vendor-nav-item.active .vendor-nav-icon{background:color-mix(in srgb,var(--section-accent) 16%,#0000);border-color:color-mix(in srgb,var(--section-accent) 28%,#0000);color:var(--section-accent)}.vendor-nav-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vendor-nav-badge{align-items:center;background:#fff;background:var(--bg-secondary,#fff);border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.vendor-nav-badge.empty{opacity:.5}.vendor-nav-badge--loading{opacity:.45}.vendor-nav-badge--soon{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;font-size:.62rem;padding:0 5px}.vendor-nav-item.active .vendor-nav-badge:not(.empty):not(.vendor-nav-badge--soon){background:var(--vendor-accent);background:var(--section-accent,var(--vendor-accent));border-color:#0000;color:#fff}.vendor-nav-item.active .vendor-nav-badge.empty{opacity:.65}.vendor-nav-badge:not(.empty):not(.vendor-nav-badge--soon):not(.vendor-nav-badge--loading){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vendor-main{background:#fff;background:var(--card-bg,#fff);flex:1 1;margin-left:var(--vendor-sidebar-width);max-width:100%;min-width:0;padding:28px 32px 48px}[data-theme=light] .vendor-panel{--bg-primary:#fff;--bg-secondary:#f8fafc;--card-bg:#fff;--border-color:#e5e7eb}[data-theme=dark] .vendor-panel{--vendor-shadow:0 2px 8px #00000059;--vendor-accent-soft:#e7210b24}[data-theme=dark] .vendor-main{background:#121212}[data-theme=dark] .vendor-sidebar{background:#181818;border-right-color:#2e2e2e}[data-theme=dark] .vendor-sidebar-profile{background:#1f1f1f;border-color:#333}[data-theme=dark] .vendor-nav-item:hover{background:#222}[data-theme=dark] .vendor-nav-item.active{background:#e7210b1f}[data-theme=dark] .vendor-nav-icon{background:#1f1f1f;border-color:#333}@media (max-width:1024px){.vendor-main{padding:24px 20px 40px}}@media (max-width:900px){.vendor-sidebar-toggle{display:flex}.vendor-sidebar-backdrop{display:block}.vendor-sidebar{box-shadow:var(--vendor-shadow-hover);transform:translateX(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1)}.vendor-sidebar.open{transform:translateX(0)}.vendor-main{margin-left:0}}.vendor-dashboard-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1100px}.vendor-dashboard-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:320px}.vendor-loading-spinner{animation:spin .8s linear infinite;border-top-color:#e7210b;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--vendor-accent,#e7210b);height:40px;width:40px}.vendor-hero{grid-gap:28px;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--vendor-radius-lg,20px);box-shadow:0 1px 2px #0000000a;box-shadow:var(--vendor-shadow,0 1px 2px #0000000a);display:grid;gap:28px;grid-template-columns:1fr minmax(200px,260px);margin-bottom:28px;padding:28px 32px}.vendor-hero-eyebrow{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.vendor-hero h1{color:var(--text-primary);font-size:clamp(1.65rem,4vw,2.1rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.vendor-hero-sub{color:var(--text-secondary);font-size:.98rem;line-height:1.55;margin:0 0 20px;max-width:520px}.vendor-hero-sub strong{color:var(--text-primary);font-weight:600}.vendor-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.vendor-hero-cta{align-items:center;background:#e7210b;background:var(--vendor-accent,#e7210b);border-radius:10px;box-shadow:0 4px 14px #e7210b38;color:#fff;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.vendor-hero-cta:hover{box-shadow:0 8px 20px #e7210b47;color:#fff;transform:translateY(-2px)}.vendor-hero-cta-secondary{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);display:inline-flex;font-size:.95rem;font-weight:600;padding:12px 18px;text-decoration:none;transition:background .2s ease,border-color .2s ease}.vendor-hero-cta-secondary:hover{background:#fff;border-color:#cbd5e1;color:var(--text-primary)}.vendor-hero-visual{align-items:center;display:flex;justify-content:center}.vendor-hero-card-stack{display:flex;flex-direction:column;gap:10px;max-width:200px;width:100%}.vendor-hero-mini-card{align-items:center;background:color-mix(in srgb,var(--c) 8%,#fff);border:1px solid color-mix(in srgb,var(--c) 22%,#0000);border-radius:12px;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;padding:12px 14px}.vendor-hero-mini-card strong{color:var(--c);font-size:1.25rem;font-weight:800}.vendor-stats-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:32px}.vendor-stat-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--vendor-radius,14px);color:inherit;display:flex;gap:14px;padding:16px 18px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.vendor-stat-card:hover{border-color:color-mix(in srgb,var(--stat-accent) 35%,var(--border-color));box-shadow:0 4px 14px #0000000f;box-shadow:var(--vendor-shadow-hover,0 4px 14px #0000000f);color:inherit;text-decoration:none;transform:translateY(-3px)}.vendor-stat-icon{align-items:center;background:color-mix(in srgb,var(--stat-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--stat-accent) 20%,#0000);border-radius:12px;color:var(--stat-accent);display:flex;flex-shrink:0;font-size:1.2rem;height:44px;justify-content:center;width:44px}.vendor-stat-label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.vendor-stat-value{color:var(--text-primary);display:block;font-size:1.65rem;font-weight:800;line-height:1.2}.vendor-section-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 6px}.vendor-section-sub{color:var(--text-secondary);font-size:.9rem;margin:0}.vendor-quick-section{margin-bottom:36px}.vendor-quick-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:14px}.vendor-quick-card{align-items:flex-start;background:#fff;border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:10px;padding:16px 18px;transition:all .2s ease}.vendor-quick-card,.vendor-quick-card:hover{color:var(--text-primary);text-decoration:none}.vendor-quick-card:hover{border-color:#cbd5e1;box-shadow:var(--vendor-shadow-hover)}.vendor-quick-card--primary{background:color-mix(in srgb,#e7210b 6%,#fff);background:color-mix(in srgb,var(--vendor-accent,#e7210b) 6%,#fff);border-color:color-mix(in srgb,#e7210b 25%,#0000);border-color:color-mix(in srgb,var(--vendor-accent,#e7210b) 25%,#0000)}.vendor-quick-card--primary .vendor-quick-icon{color:#e7210b;color:var(--vendor-accent,#e7210b)}.vendor-quick-icon{color:#64748b;font-size:1.35rem}.vendor-sections-overview{margin-bottom:36px}.vendor-sections-header{margin-bottom:18px}.vendor-section-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vendor-type-card{background:#fff;border:1px solid var(--border-color);border-radius:18px;border-radius:var(--vendor-radius-lg,18px);display:flex;flex-direction:column;gap:12px;padding:20px;transition:box-shadow .2s ease,border-color .2s ease}.vendor-type-card:hover{border-color:color-mix(in srgb,var(--type-accent) 30%,var(--border-color));box-shadow:var(--vendor-shadow-hover)}.vendor-type-card--soon{opacity:.72}.vendor-type-card-top{align-items:flex-start;display:flex;gap:14px}.vendor-type-icon{align-items:center;background:color-mix(in srgb,var(--type-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--type-accent) 22%,#0000);border-radius:14px;color:var(--type-accent);display:flex;flex-shrink:0;font-size:1.35rem;height:48px;justify-content:center;width:48px}.vendor-type-card h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0 0 4px}.vendor-type-count{color:var(--text-secondary);font-size:.8rem;font-weight:500}.vendor-type-count strong{color:var(--text-primary);color:var(--type-accent,var(--text-primary));font-weight:800}.vendor-soon-badge{background:#f1f5f9;border-radius:999px;color:#64748b;display:inline-block;font-size:.68rem;font-weight:700;padding:2px 8px}.vendor-type-desc{color:var(--text-secondary);flex:1 1;font-size:.88rem;line-height:1.5;margin:0}.vendor-type-actions{display:flex;flex-wrap:wrap;gap:8px}.vendor-btn{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:8px;display:inline-flex;font-size:.8rem;font-weight:600;padding:7px 12px;transition:background .15s ease,border-color .15s ease}.vendor-btn,.vendor-btn:hover{color:var(--text-primary);text-decoration:none}.vendor-btn:hover{background:#fff;border-color:#94a3b8}.vendor-btn--primary{background:color-mix(in srgb,var(--type-accent) 12%,#fff);border-color:color-mix(in srgb,var(--type-accent) 35%,#0000);color:var(--type-accent)}.vendor-btn--primary:hover{background:color-mix(in srgb,var(--type-accent) 18%,#fff)}.vendor-type-open{align-items:center;color:var(--type-accent);display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;margin-top:auto;text-decoration:none}.vendor-type-open:hover{color:var(--type-accent);text-decoration:underline}.vendor-manage-panel{margin-bottom:24px}.vendor-manage-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}.vendor-manage-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:14px;color:inherit;display:flex;gap:14px;padding:18px 20px;text-decoration:none;transition:all .2s ease}.vendor-manage-card:hover{border-color:#cbd5e1;box-shadow:var(--vendor-shadow-hover);color:inherit;text-decoration:none}.vendor-manage-card svg{color:#64748b;flex-shrink:0;font-size:1.5rem}.vendor-manage-card strong{color:var(--text-primary);display:block;font-size:.95rem}.vendor-manage-card span{color:var(--text-secondary);display:block;font-size:.8rem;margin-top:2px}[data-theme=dark] .vendor-hero,[data-theme=dark] .vendor-manage-card,[data-theme=dark] .vendor-quick-card,[data-theme=dark] .vendor-stat-card,[data-theme=dark] .vendor-type-card{background:#1a1a1a;background:var(--student-dark-surface,#1a1a1a);border-color:#3f3f46;border-color:var(--student-dark-border,#3f3f46)}[data-theme=dark] .vendor-btn,[data-theme=dark] .vendor-hero-cta-secondary{background:#222;background:var(--student-dark-surface-2,#222);border-color:#3f3f46;border-color:var(--student-dark-border,#3f3f46);color:#f4f4f5;color:var(--text-primary,#f4f4f5)}[data-theme=dark] .vendor-btn:hover{background:#2a2a2a;border-color:#52525b;color:#f4f4f5;color:var(--text-primary,#f4f4f5)}[data-theme=dark] .vendor-btn--primary{background:color-mix(in srgb,var(--type-accent) 22%,#1a1a1a);background:color-mix(in srgb,var(--type-accent) 22%,var(--student-dark-surface,#1a1a1a));border-color:color-mix(in srgb,var(--type-accent) 50%,#0000);color:var(--type-accent)}[data-theme=dark] .vendor-btn--primary:hover{background:color-mix(in srgb,var(--type-accent) 32%,#1a1a1a);background:color-mix(in srgb,var(--type-accent) 32%,var(--student-dark-surface,#1a1a1a));color:var(--type-accent)}[data-theme=dark] .vendor-quick-card:hover{background:#222;background:var(--student-dark-surface-2,#222);border-color:#52525b}[data-theme=dark] .vendor-quick-card--primary{background:color-mix(in srgb,#e7210b 14%,#1a1a1a);background:color-mix(in srgb,var(--vendor-accent,#e7210b) 14%,var(--student-dark-surface,#1a1a1a));border-color:color-mix(in srgb,#e7210b 35%,#0000);border-color:color-mix(in srgb,var(--vendor-accent,#e7210b) 35%,#0000)}[data-theme=dark] .vendor-soon-badge{background:#27272a;color:#a1a1aa}[data-theme=dark] .vendor-hero-mini-card{background:#222;background:var(--student-dark-surface-2,#222)}@media (max-width:768px){.vendor-hero{grid-template-columns:1fr;padding:22px 20px}.vendor-hero-visual{order:-1}.vendor-hero-card-stack{flex-direction:row;max-width:100%}.vendor-hero-mini-card{align-items:flex-start;flex:1 1;flex-direction:column;gap:4px}.vendor-section-cards{grid-template-columns:1fr}}.copy-share-link-btn{align-items:center;background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:inline-flex;flex-shrink:0;gap:0;height:36px;justify-content:center;padding:0;position:relative;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .15s ease;width:36px}.copy-share-link-btn:hover{background:#ed03310f;border-color:#ed0331;border-color:var(--primary-color,#ed0331);color:#ed0331;color:var(--primary-color,#ed0331);transform:translateY(-1px)}.copy-share-link-btn.copied{background:#f0fdf4;border-color:#86efac;color:#16a34a}.copy-share-link-btn svg{font-size:17px}.copy-share-link-tooltip{background:#1e293b;border-radius:6px;bottom:calc(100% + 8px);color:#fff;font-size:11px;font-weight:600;left:50%;opacity:0;padding:5px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .15s ease;white-space:nowrap;z-index:20}.copy-share-link-btn.copied .copy-share-link-tooltip,.copy-share-link-btn:hover .copy-share-link-tooltip{opacity:1}.copy-share-link-tooltip:after{border:5px solid #0000;border-top-color:#1e293b;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.vendor-tests-page{--vt-accent:#e7210b;--vt-radius:14px;--vt-radius-lg:18px;animation:vendorTestsFadeIn .35s ease;margin:0 auto;max-width:1180px}@keyframes vendorTestsFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vendor-tests-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:360px}.vendor-tests-spinner{animation:vendorTestsSpin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--vt-accent);height:40px;width:40px}@keyframes vendorTestsSpin{to{transform:rotate(1turn)}}.vendor-tests-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:24px}.vendor-tests-eyebrow{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}.vendor-tests-header h1{color:var(--text-primary);font-size:clamp(1.5rem,3.5vw,1.85rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.vendor-tests-sub{color:var(--text-secondary);font-size:.92rem;line-height:1.55;margin:0;max-width:560px}.vendor-tests-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.vendor-tests-secondary-btn{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;padding:11px 16px;text-decoration:none;transition:background .15s ease,border-color .15s ease}.vendor-tests-secondary-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:var(--text-primary)}.vendor-tests-create-btn{align-items:center;background:var(--vt-accent);border:none;border-radius:10px;box-shadow:0 4px 14px #e7210b38;color:#fff;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap}.vendor-tests-create-btn:hover{box-shadow:0 8px 20px #e7210b47;color:#fff;transform:translateY(-2px)}.vendor-tests-create-btn--inline{margin-top:8px}.vendor-tests-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:16px}.vendor-tests-search{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);display:flex;flex:1 1;gap:10px;height:44px;min-width:220px;padding:0 14px}.vendor-tests-search:focus-within{border-color:#94a3b8;box-shadow:0 0 0 3px #0f172a0f}.vendor-tests-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:.92rem;outline:none}.vendor-tests-search input::placeholder{color:var(--text-secondary)}.vendor-tests-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.vendor-tests-sort{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;font-weight:600;gap:8px}.vendor-tests-sort select{background:#fff;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.85rem;padding:8px 12px}.vendor-tests-result-count{color:var(--text-secondary);font-size:.85rem}.vendor-tests-result-count strong{color:var(--text-primary);font-weight:800}.vendor-tests-filters{-webkit-overflow-scrolling:touch;display:flex;gap:8px;margin-bottom:22px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.vendor-tests-filters::-webkit-scrollbar{height:4px}.vendor-tests-filter-chip{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:999px;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;gap:8px;padding:8px 14px;transition:all .2s ease}.vendor-tests-filter-chip:hover{background:color-mix(in srgb,var(--chip-accent) 6%,#fff);border-color:color-mix(in srgb,var(--chip-accent) 40%,var(--border-color))}.vendor-tests-filter-chip.active{background:color-mix(in srgb,var(--chip-accent) 12%,#fff);border-color:color-mix(in srgb,var(--chip-accent) 45%,#0000);box-shadow:0 2px 8px color-mix(in srgb,var(--chip-accent) 18%,#0000)}.vendor-tests-filter-icon{align-items:center;background:color-mix(in srgb,var(--chip-accent) 12%,#0000);border-radius:8px;color:var(--chip-accent);display:flex;font-size:.95rem;height:28px;justify-content:center;width:28px}.vendor-tests-filter-chip.active .vendor-tests-filter-icon{background:color-mix(in srgb,var(--chip-accent) 20%,#0000)}.vendor-tests-filter-label{color:var(--text-primary);font-size:.85rem;font-weight:600}.vendor-tests-filter-count{font-feature-settings:"tnum";align-items:center;background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:700;height:22px;justify-content:center;min-width:22px;padding:0 6px}.vendor-tests-filter-chip.active .vendor-tests-filter-count{background:var(--chip-accent);color:#fff}.vendor-tests-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.vendor-tests-card{grid-gap:16px;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--vt-radius-lg);display:grid;gap:16px;grid-template-columns:auto 1fr auto;padding:18px 20px;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.vendor-tests-card:hover{border-color:color-mix(in srgb,var(--card-accent) 35%,var(--border-color));box-shadow:0 6px 20px #0f172a0f}.vendor-tests-card-accent{background:var(--card-accent);border-radius:0 4px 4px 0;bottom:12px;left:0;position:absolute;top:12px;width:4px}.vendor-tests-card-icon{align-items:center;background:color-mix(in srgb,var(--card-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--card-accent) 22%,#0000);border-radius:12px;color:var(--card-accent);display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;margin-left:8px;width:48px}.vendor-tests-card-body{min-width:0}.vendor-tests-card-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:8px}.vendor-tests-card-title{color:var(--text-primary);flex:1 1;font-size:1.05rem;font-weight:700;line-height:1.35;margin:0;min-width:160px}.vendor-tests-card-badges{display:flex;flex-wrap:wrap;gap:6px}.vendor-tests-type-pill{background:color-mix(in srgb,var(--card-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--card-accent) 25%,#0000);border-radius:999px;color:var(--card-accent);letter-spacing:.04em;text-transform:uppercase}.vendor-tests-status,.vendor-tests-type-pill{font-size:.68rem;font-weight:700;padding:3px 10px}.vendor-tests-status{border-radius:999px}.vendor-tests-status.active{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.vendor-tests-status.inactive{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.vendor-tests-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.82rem;gap:8px 16px}.vendor-tests-meta span{align-items:center;display:inline-flex;gap:5px}.vendor-tests-meta svg{flex-shrink:0;opacity:.7}.vendor-tests-card-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.vendor-tests-share{flex-shrink:0}.vendor-tests-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;justify-content:center;padding:8px 14px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.vendor-tests-btn--primary{background:color-mix(in srgb,var(--card-accent) 14%,#fff);border-color:color-mix(in srgb,var(--card-accent) 35%,#0000);color:var(--card-accent)}.vendor-tests-btn--primary:hover{background:color-mix(in srgb,var(--card-accent) 22%,#fff);color:var(--card-accent);text-decoration:none}.vendor-tests-btn--ghost{background:#fff;border-color:var(--border-color);color:var(--text-primary)}.vendor-tests-btn--ghost:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:var(--text-primary);text-decoration:none}.vendor-tests-more-wrap{position:relative}.vendor-tests-more-btn{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background .15s ease;width:36px}.vendor-tests-more-btn:hover{background:#f8fafc;background:var(--bg-secondary,#f8fafc);color:var(--text-primary)}.vendor-tests-menu-backdrop{background:#0000;border:none;cursor:default;inset:0;position:fixed;z-index:100}.vendor-tests-menu{background:#fff;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 12px 32px #0f172a1f;display:flex;flex-direction:column;gap:2px;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:101}.vendor-tests-menu a,.vendor-tests-menu button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:500;gap:8px;padding:9px 12px;text-align:left;text-decoration:none;width:100%}.vendor-tests-menu a:hover,.vendor-tests-menu button:hover:not(.vendor-tests-menu-danger){background:#f8fafc;background:var(--bg-secondary,#f8fafc)}.vendor-tests-menu-danger{color:#dc2626!important}.vendor-tests-menu-danger:hover{background:#fef2f2!important}.vendor-tests-empty{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px dashed var(--border-color);border-radius:var(--vt-radius-lg);padding:56px 28px;text-align:center}.vendor-tests-empty-icon{align-items:center;background:color-mix(in srgb,var(--chip-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--chip-accent) 22%,#0000);border-radius:18px;color:var(--chip-accent);display:flex;font-size:1.75rem;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.vendor-tests-empty h2{color:var(--text-primary);font-size:1.25rem;margin:0 0 8px}.vendor-tests-empty p{color:var(--text-secondary);font-size:.92rem;margin:0 0 16px}[data-theme=dark] .vendor-tests-secondary-btn{background:#1a1a1a;background:var(--student-dark-surface,#1a1a1a);border-color:#3f3f46;border-color:var(--student-dark-border,#3f3f46);color:var(--text-primary)}[data-theme=dark] .vendor-tests-secondary-btn:hover{background:#222;background:var(--student-dark-surface-2,#222)}[data-theme=dark] .vendor-tests-card,[data-theme=dark] .vendor-tests-filter-chip,[data-theme=dark] .vendor-tests-menu,[data-theme=dark] .vendor-tests-more-btn,[data-theme=dark] .vendor-tests-search,[data-theme=dark] .vendor-tests-sort select{background:#1a1a1a;background:var(--student-dark-surface,#1a1a1a);border-color:#3f3f46;border-color:var(--student-dark-border,#3f3f46)}[data-theme=dark] .vendor-tests-empty{background:#222;background:var(--student-dark-surface-2,#222)}[data-theme=dark] .vendor-tests-status.active{background:#10b98126;border-color:#10b98159;color:#6ee7b7}[data-theme=dark] .vendor-tests-status.inactive{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .vendor-tests-filter-count{background:#27272a}[data-theme=dark] .vendor-tests-filter-chip:hover{background:color-mix(in srgb,var(--chip-accent) 10%,#1a1a1a);background:color-mix(in srgb,var(--chip-accent) 10%,var(--student-dark-surface,#1a1a1a))}[data-theme=dark] .vendor-tests-filter-chip.active{background:color-mix(in srgb,var(--chip-accent) 18%,#1a1a1a);background:color-mix(in srgb,var(--chip-accent) 18%,var(--student-dark-surface,#1a1a1a))}[data-theme=dark] .vendor-tests-btn--ghost{background:#222;background:var(--student-dark-surface-2,#222);border-color:#3f3f46;border-color:var(--student-dark-border,#3f3f46);color:#f4f4f5;color:var(--text-primary,#f4f4f5)}[data-theme=dark] .vendor-tests-btn--ghost:hover{background:#2a2a2a;color:#f4f4f5;color:var(--text-primary,#f4f4f5)}[data-theme=dark] .vendor-tests-btn--primary{background:color-mix(in srgb,var(--card-accent) 18%,#1a1a1a);background:color-mix(in srgb,var(--card-accent) 18%,var(--student-dark-surface,#1a1a1a));border-color:color-mix(in srgb,var(--card-accent) 45%,#0000);color:var(--card-accent)}[data-theme=dark] .vendor-tests-btn--primary:hover{background:color-mix(in srgb,var(--card-accent) 28%,#1a1a1a);background:color-mix(in srgb,var(--card-accent) 28%,var(--student-dark-surface,#1a1a1a));color:var(--card-accent)}[data-theme=dark] .vendor-tests-more-btn:hover{background:#2a2a2a;color:#f4f4f5;color:var(--text-primary,#f4f4f5)}[data-theme=dark] .vendor-tests-menu a:hover,[data-theme=dark] .vendor-tests-menu button:hover:not(.vendor-tests-menu-danger){background:#2a2a2a}[data-theme=dark] .vendor-tests-menu-danger:hover{background:#7f1d1d59!important}@media (max-width:900px){.vendor-tests-card{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.vendor-tests-card-actions{border-top:1px solid var(--border-color);grid-column:1/-1;justify-content:flex-start;margin-left:56px;padding-top:14px}}@media (max-width:560px){.vendor-tests-header{flex-direction:column}.vendor-tests-header-actions{width:100%}.vendor-tests-create-btn,.vendor-tests-secondary-btn{justify-content:center;width:100%}.vendor-tests-card-actions{margin-left:0}.vendor-tests-card-icon{margin-left:4px}}.modal-overlay{align-items:center;animation:fadeIn .3s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}[data-theme=dark] .modal-overlay{background-color:#000000d9}.modal-content{animation:slideUp .4s cubic-bezier(.16,1,.3,1);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px #00000026;max-height:85vh;max-width:600px;overflow-y:auto;position:relative;width:90%}.modal-content:before{background:var(--primary-gradient);border-radius:16px 16px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;animation:fadeInDown .4s ease;background-color:var(--bg-secondary);border-bottom:2px solid var(--border-color);border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h3{color:var(--text-primary);font-size:1.4em;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:32px}.modal-close:hover{background-color:var(--bg-secondary);box-shadow:0 4px 8px #0000001a;transform:rotate(90deg) scale(1.1)}.modal-body{background-color:var(--bg-primary);color:var(--text-primary);font-size:1em;line-height:1.8;padding:25px}.modal-footer{background-color:var(--bg-secondary);border-radius:0 0 12px 12px;border-top:2px solid var(--border-color);display:flex;gap:10px;justify-content:flex-end;padding:15px 25px}.modal-info{border-left:4px solid #007bff}.modal-info .modal-header{background:linear-gradient(135deg,#007bff1a,#007bff0d);border-left-color:#007bff}.modal-success{border-left:4px solid #28a745}.modal-success .modal-header{background:linear-gradient(135deg,#28a7451a,#28a7450d);border-left-color:#28a745}.modal-success .modal-header h3{color:#28a745}.modal-error{border-left:4px solid #dc3545}.modal-error .modal-header{background:linear-gradient(135deg,#dc35451a,#dc35450d);border-left-color:#dc3545}.modal-error .modal-header h3{color:#dc3545}.modal-warning{border-left:4px solid #ffc107}.modal-warning .modal-header{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border-left-color:#ffc107}.modal-warning .modal-header h3{color:#856404}.modal-body pre{overflow-x:auto;padding:12px 15px}.modal-body .code-output,.modal-body pre{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-family:Courier New,Monaco,Consolas,monospace;font-size:.9em;margin:10px 0}.modal-body .code-output{word-wrap:break-word;padding:15px;white-space:pre-wrap}.modal-body .error-output{background-color:#dc35451a;border:1px solid #dc35454d;border-radius:6px;color:#dc3545}.modal-body .error-output,.modal-body .success-output{word-wrap:break-word;font-family:Courier New,Monaco,Consolas,monospace;font-size:.9em;margin:10px 0;padding:15px;white-space:pre-wrap}.modal-body .success-output{background-color:#28a7451a;border:1px solid #28a7454d;border-radius:6px;color:#28a745}.modal-body .test-result-summary{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:15px 0;padding:20px}.modal-body .test-result-summary.success{background:linear-gradient(135deg,#28a74526,#28a74514);border-color:#28a74566;color:var(--text-primary)}.modal-body .test-result-summary.warning{background:linear-gradient(135deg,#ffc10726,#ffc10714);border-color:#ffc10766;color:var(--text-primary)}.modal-body .test-result-summary.error{background:linear-gradient(135deg,#dc354526,#dc354514);border-color:#dc354566;color:var(--text-primary)}.modal-body .test-result-stats{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:20px;margin-top:15px;padding-top:15px}.modal-body .test-result-stats .stat-item{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);display:flex;font-size:1em;font-weight:600;gap:8px;padding:8px 12px}.modal-body .test-result-stats .stat-item[style*="color: #28a745"]{color:#28a745!important}.modal-body .test-result-stats .stat-item[style*="color: #dc3545"]{color:#dc3545!important}.modal-body .test-result-stats .stat-icon{font-size:1.2em;font-weight:700}.modal-body .test-result-summary p{color:var(--text-secondary);margin:0;opacity:.9}.modal-body p{color:var(--text-primary);margin:10px 0}.modal-body strong{color:var(--text-primary);font-weight:600}[data-theme=dark] .modal-body .error-output{background-color:#dc354533;border-color:#dc354580;color:#f48771}[data-theme=dark] .modal-body .success-output{background-color:#28a74533;border-color:#28a74580;color:#71f487}[data-theme=dark] .modal-body .code-output{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .modal-body .test-result-summary.success{background:linear-gradient(135deg,#28a74533,#28a7451a);border-color:#28a74580}[data-theme=dark] .modal-body .test-result-summary.warning{background:linear-gradient(135deg,#ffc10733,#ffc1071a);border-color:#ffc10780}[data-theme=dark] .modal-body .test-result-summary.error{background:linear-gradient(135deg,#dc354533,#dc35451a);border-color:#dc354580}[data-theme=dark] .modal-body .test-result-stats .stat-item{background-color:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .modal-info .modal-header{background:linear-gradient(135deg,#007bff33,#007bff1a)}[data-theme=dark] .modal-success .modal-header{background:linear-gradient(135deg,#28a74533,#28a7451a)}[data-theme=dark] .modal-error .modal-header{background:linear-gradient(135deg,#dc354533,#dc35451a)}[data-theme=dark] .modal-warning .modal-header{background:linear-gradient(135deg,#ffc10733,#ffc1071a)}


/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.rich-text-editor-hint{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border-bottom:1px solid var(--border-color);color:#64748b;color:var(--text-secondary,#64748b);font-size:.78rem;line-height:1.4;margin:0;padding:8px 12px}.rich-text-editor-wrapper{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.rich-text-editor-wrapper--full .ql-editor img{border-radius:6px;height:auto;margin:8px 0;max-width:100%}.rich-text-editor-wrapper .ql-toolbar{background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border-color);padding:8px 12px}.rich-text-editor-wrapper .ql-container{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border:none;font-size:15px;line-height:1.6}.rich-text-editor-wrapper .ql-editor{color:var(--text-primary);min-height:inherit;padding:12px 16px}.rich-text-editor-wrapper .ql-editor.ql-blank:before{color:var(--text-secondary);font-style:normal}.rich-text-editor-wrapper .ql-editor strong{font-weight:700}.rich-text-editor-wrapper .ql-editor ol,.rich-text-editor-wrapper .ql-editor ul{margin:.5em 0;padding-left:1.5em}[data-theme=dark] .rich-text-editor-wrapper .ql-stroke{stroke:#b0b0b0;stroke:var(--text-secondary,#b0b0b0)}[data-theme=dark] .rich-text-editor-wrapper .ql-fill{fill:#b0b0b0;fill:var(--text-secondary,#b0b0b0)}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-label{color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-label:hover .ql-stroke,[data-theme=dark] .rich-text-editor-wrapper .ql-toolbar button:hover .ql-stroke{stroke:#ed0331;stroke:var(--primary-color,#ed0331)}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-label:hover .ql-fill,[data-theme=dark] .rich-text-editor-wrapper .ql-toolbar button:hover .ql-fill{fill:#ed0331;fill:var(--primary-color,#ed0331)}[data-theme=dark] .rich-text-editor-wrapper .ql-toolbar button.ql-active .ql-stroke{stroke:#ed0331;stroke:var(--primary-color,#ed0331)}[data-theme=dark] .rich-text-editor-wrapper .ql-toolbar button.ql-active .ql-fill{fill:#ed0331;fill:var(--primary-color,#ed0331)}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-options{background:#2a2a2a!important;background:var(--bg-secondary,#2a2a2a)!important;border-color:#404040!important;border-color:var(--border-color,#404040)!important}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-item{color:#fff!important;color:var(--text-primary,#fff)!important}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-item.ql-selected,[data-theme=dark] .rich-text-editor-wrapper .ql-picker-item:hover{color:#ed0331!important;color:var(--primary-color,#ed0331)!important}[data-theme=dark] .rich-text-editor-wrapper .ql-picker-label{border-color:#0000!important}[data-theme=dark] .rich-text-editor-wrapper .ql-snow .ql-tooltip{background:#2a2a2a;background:var(--bg-secondary,#2a2a2a);border-color:#404040;border-color:var(--border-color,#404040);box-shadow:0 4px 12px #0006;color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .rich-text-editor-wrapper .ql-snow .ql-tooltip input[type=text]{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border-color:#404040;border-color:var(--border-color,#404040);color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .rich-text-editor-wrapper .ql-snow .ql-tooltip a{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}[data-theme=dark] .ql-snow .ql-picker-options{background:#2a2a2a!important;background:var(--bg-secondary,#2a2a2a)!important;border-color:#404040!important;border-color:var(--border-color,#404040)!important}[data-theme=dark] .ql-snow .ql-picker-item{color:#fff!important;color:var(--text-primary,#fff)!important}[data-theme=dark] .ql-snow .ql-picker-item.ql-selected,[data-theme=dark] .ql-snow .ql-picker-item:hover{color:#ed0331!important;color:var(--primary-color,#ed0331)!important}[data-theme=dark] .ql-snow .ql-tooltip{background:#2a2a2a!important;background:var(--bg-secondary,#2a2a2a)!important;box-shadow:0 4px 12px #0006!important}[data-theme=dark] .ql-snow .ql-tooltip,[data-theme=dark] .ql-snow .ql-tooltip input[type=text]{border-color:#404040!important;border-color:var(--border-color,#404040)!important;color:#fff!important;color:var(--text-primary,#fff)!important}[data-theme=dark] .ql-snow .ql-tooltip input[type=text]{background:#1a1a1a!important;background:var(--bg-primary,#1a1a1a)!important}[data-theme=dark] .ql-snow .ql-tooltip a.ql-action,[data-theme=dark] .ql-snow .ql-tooltip a.ql-remove{color:#b0b0b0!important;color:var(--text-secondary,#b0b0b0)!important}.tag-input-inline{--ti-accent:#3b82f6;--ti-bg:var(--input-bg,#fff);--ti-bg-soft:var(--bg-secondary,#f8fafc);--ti-border:var(--border-color,#e2e8f0);--ti-text:var(--text-primary,#0f172a);--ti-muted:var(--text-secondary,#64748b);--ti-focus:color-mix(in srgb,var(--ti-accent) 30%,#0000);--ti-chip-bg:color-mix(in srgb,var(--ti-accent) 14%,var(--ti-bg));--ti-chip-border:color-mix(in srgb,var(--ti-accent) 30%,var(--ti-border));--ti-chip-text:color-mix(in srgb,var(--ti-accent) 78%,var(--ti-text));margin-bottom:1rem}.tag-input-label{color:var(--ti-text);display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.tag-input-hint{color:var(--ti-muted);font-size:.82rem;line-height:1.45;margin:0 0 .5rem}.tag-input-shell{background:var(--ti-bg);border:1px solid var(--ti-border);border-radius:12px;transition:border-color .15s ease,box-shadow .15s ease}.tag-input-shell:focus-within{border-color:var(--ti-accent);box-shadow:0 0 0 3px var(--ti-focus)}.tag-input-shell.is-disabled{opacity:.6;pointer-events:none}.tag-input-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:46px;padding:8px 10px}.tag-input-chip{align-items:center;background:var(--ti-chip-bg);border:1px solid var(--ti-chip-border);border-radius:999px;color:var(--ti-chip-text);display:inline-flex;font-size:.8rem;font-weight:600;gap:4px;line-height:1.2;padding:4px 8px 4px 10px}.tag-input-chip-remove{background:#0000;border:none;color:var(--ti-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.tag-input-chip-remove:hover,.tag-input-control{color:var(--ti-text)}.tag-input-control{background:#0000;border:none;flex:1 1 140px;font-size:.9rem;min-width:120px;outline:none;padding:6px 4px}.tag-input-control::placeholder{color:color-mix(in srgb,var(--ti-muted) 70%,#0000)}.tag-input-suggest-strip{align-items:center;border-top:1px solid color-mix(in srgb,var(--ti-border) 75%,#0000);display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.tag-input-suggest-hint{color:var(--ti-muted);font-size:.78rem;padding:4px 0}.tag-input-suggest-pill{align-items:center;background:var(--ti-bg-soft);border:1px dashed var(--ti-border);border-radius:999px;color:var(--ti-text);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:5px 12px;transition:background .12s ease,border-color .12s ease,color .12s ease}.tag-input-suggest-pill.is-active,.tag-input-suggest-pill:hover{background:color-mix(in srgb,var(--ti-bg-soft) 75%,var(--ti-bg));border-color:color-mix(in srgb,var(--ti-accent) 35%,var(--ti-border));border-style:solid;color:var(--ti-text)}.tag-input-suggest-pill.is-create{background:color-mix(in srgb,var(--ti-accent) 14%,var(--ti-bg));border-color:color-mix(in srgb,var(--ti-accent) 45%,var(--ti-border));border-style:solid;color:var(--ti-accent)}.tag-input-suggest-count{color:var(--ti-muted);font-size:.68rem;font-weight:500}.monaco-code-editor-root{color:#000;color:initial;isolation:isolate;min-height:120px;width:100%}.monaco-code-editor-root>section{min-height:inherit}.monaco-code-editor-root--dark .monaco-editor{color-scheme:dark}.monaco-code-editor-root--light .monaco-editor{color-scheme:light}.create-coding-question{--cq-accent:#2563eb;--cq-border:var(--border-color,#e5e7eb);--cq-surface:var(--bg-secondary,#f8fafc);--cq-editor-surface:var(--bg-primary,#fff);--cq-editor-surface-2:var(--bg-secondary,#f8fafc);--cq-editor-text:var(--text-primary,#0f172a);--cq-editor-muted:var(--text-secondary,#64748b);--cq-pill-bg:var(--input-bg,#fff);--cq-pill-text:var(--text-primary,#0f172a);--cq-pill-border:var(--border-color,#e5e7eb);margin:0 auto;max-width:1120px}.create-coding-question .question-form{display:flex;flex-direction:column;gap:22px}.create-coding-question .form-section{background:var(--cq-surface);border:1px solid var(--cq-border);border-radius:14px;padding:24px 26px}.create-coding-question .form-section:before{display:none}.create-coding-question .form-section:hover{box-shadow:0 6px 20px #0f172a0f;transform:none}.create-coding-question .section-title{font-size:1.24rem;font-weight:700;margin:0 0 6px}.create-coding-question .section-description{color:var(--text-secondary);font-size:.9rem;margin:0 0 16px}.cq-section-desc-inline{margin:2px 0 0!important}.create-coding-question .section-header{align-items:flex-start;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px}.create-coding-question .form-row{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.create-coding-question .form-group{margin-bottom:16px}.create-coding-question .form-group label{display:block;font-size:.88rem;font-weight:600;margin-bottom:8px}.create-coding-question .form-input,.create-coding-question .form-select,.create-coding-question .form-textarea{background:#fff;background:var(--input-bg,#fff);border:1px solid var(--cq-border);border-radius:10px;font-size:.92rem;padding:11px 13px;width:100%}.create-coding-question .form-input:focus,.create-coding-question .form-select:focus,.create-coding-question .form-textarea:focus{border-color:var(--cq-accent);box-shadow:0 0 0 3px #2563eb1f;outline:none}.cq-lang-pills{display:flex;flex-wrap:wrap;gap:8px}.cq-lang-pill{background:var(--cq-pill-bg);border:1px solid var(--cq-pill-border);border-radius:999px;color:var(--cq-pill-text);cursor:pointer;font-size:.86rem;font-weight:600;padding:9px 16px;transition:all .14s ease}.cq-lang-pill.active,.cq-lang-pill:hover{border-color:var(--cq-accent);color:var(--cq-accent)}.cq-lang-pill.active{background:color-mix(in srgb,var(--cq-accent) 14%,var(--cq-pill-bg));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cq-accent) 25%,#0000)}.create-coding-question .test-cases-container{display:flex;flex-direction:column;gap:14px}.create-coding-question .test-case-card{background:#fff;background:var(--input-bg,#fff);border:1px solid var(--cq-border);border-radius:12px;padding:18px}.create-coding-question .test-case-card:before{display:none}.create-coding-question .test-case-card:hover{box-shadow:0 2px 12px #0f172a0f;transform:none}.create-coding-question .test-case-header{border-bottom:1px solid var(--cq-border);margin-bottom:14px;padding-bottom:10px}.cq-io-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem;line-height:1.5;min-height:120px;resize:vertical}.test-case-card.test-case-passed{background:#22c55e0f;border-color:#22c55e}.test-case-card.test-case-failed{background:#ef44440f;border-color:#ef4444}.test-status-badge.passed{background:#22c55e;color:#fff}.test-status-badge.failed{background:#ef4444;color:#fff}.cq-code-workspace{gap:12px}.cq-code-empty,.cq-code-workspace{display:flex;flex-direction:column}.cq-code-empty{align-items:center;border:2px dashed var(--cq-border);border-radius:12px;color:var(--text-secondary);gap:10px;padding:46px 20px;text-align:center}.cq-code-toolbar{background:#fff;background:var(--input-bg,#fff);border:1px solid var(--cq-border);border-radius:12px;padding:10px}.cq-lang-tabs{display:flex;flex-wrap:wrap;gap:6px}.cq-lang-tab{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 14px}.cq-lang-tab:hover{background:#0f172a0f;color:var(--text-primary)}.cq-lang-tab.active{background:var(--cq-accent);color:#fff}.cq-editor-stack{display:flex;flex-direction:column;gap:12px}.cq-editor-card{background:var(--cq-editor-surface);border:1px solid var(--cq-border);border-radius:12px;overflow:hidden}.cq-editor-card-head{background:var(--cq-editor-surface-2);border-bottom:1px solid var(--cq-border);display:flex;flex-direction:column;gap:6px;padding:10px 12px}.cq-editor-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:700;gap:6px;letter-spacing:.01em;padding:5px 11px;width:-webkit-fit-content;width:fit-content}.cq-editor-badge.is-starter{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}.cq-editor-badge.is-solution{background:#dcfce7;border-color:#86efac;color:#166534}[data-theme=dark] .cq-editor-badge.is-starter{background:#3b82f63d;border-color:#93c5fd66;color:#bfdbfe}[data-theme=dark] .cq-editor-badge.is-solution{background:#22c55e3d;border-color:#86efac66;color:#86efac}.cq-editor-head-note{color:var(--cq-editor-muted);font-size:.76rem}.cq-editor-card-body{border-top:1px solid #0000;min-height:320px}.cq-editor-card-body .cq-monaco,.cq-editor-card-body .monaco-code-editor-root{height:320px!important;min-height:320px!important}.cq-editor-card-foot{background:var(--cq-editor-surface-2);border-top:1px solid var(--cq-border);display:flex;justify-content:flex-end;padding:10px 12px}.cq-run-btn{align-items:center;display:inline-flex;gap:7px}.create-coding-question .form-actions{border-top:none;display:flex;gap:12px;justify-content:flex-end;padding-top:8px}@media (max-width:768px){.create-coding-question .form-row{grid-template-columns:1fr}.create-coding-question .section-header{flex-direction:column}}.create-mcq-question{margin:0 auto;max-width:1000px;padding:20px}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.question-form{display:flex;flex-direction:column;gap:30px}.form-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:25px}.section-header{margin-bottom:20px}.section-title{color:var(--text-primary);font-size:1.5em;font-weight:600;margin:0 0 10px}.form-row{grid-gap:20px;gap:20px}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:.95em;margin-bottom:8px}.form-input,.form-select,.form-textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.95em;padding:10px 12px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ed03311a;outline:none}.form-textarea{font-family:inherit;resize:vertical}.options-container{display:flex;flex-direction:column;gap:15px}.option-card{animation:fadeInUp .5s ease;background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.option-card:before{background:var(--border-color);bottom:0;content:"";left:0;position:absolute;top:0;transition:all .3s ease;width:4px}.option-card.option-correct{background:linear-gradient(135deg,#28a7451a,#1e7e340d);border-color:#28a745}.option-card.option-correct:before{background:linear-gradient(180deg,#28a745,#1e7e34)}.option-card:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-2px)}.option-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:15px}.option-number{color:var(--text-primary);font-size:1em;font-weight:600}.option-actions{align-items:center;display:flex;gap:15px}.correct-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .2s ease}.correct-checkbox:hover{background-color:#28a7451a}.correct-checkbox input[type=checkbox]{accent-color:#28a745;cursor:pointer;height:18px;width:18px}.correct-label{color:var(--text-primary);font-size:.9em;font-weight:500;-webkit-user-select:none;user-select:none}.correct-checkbox input[type=checkbox]:checked+.correct-label{color:#28a745;font-weight:600}.btn-icon{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1.5em;line-height:1;padding:5px 10px;transition:all .2s ease}.btn-icon:hover:not(:disabled){background-color:#dc35451a;color:#dc3545}.btn-icon:disabled{cursor:not-allowed;opacity:.5}.option-content{display:flex;flex-direction:column}.option-textarea{min-height:80px;width:100%}.form-actions{border-top:2px solid var(--border-color);gap:15px;padding-top:20px}.btn{border-radius:6px;font-size:1em;transition:all .2s ease}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary)}.btn-sm{font-size:.9em;padding:8px 16px}.btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.form-row{grid-template-columns:1fr}.option-header{align-items:flex-start;flex-direction:column;gap:10px}.option-actions{justify-content:space-between;width:100%}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.create-aptitude-question .question-form{display:flex;flex-direction:column;gap:20px}.create-aptitude-question .form-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.create-aptitude-question .section-title{color:var(--text-primary);font-size:18px;margin-bottom:16px}.create-aptitude-question .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:16px}.create-aptitude-question .form-group{display:flex;flex-direction:column;gap:8px}.create-aptitude-question .form-group.full-width{grid-column:1/-1}.create-aptitude-question .form-input,.create-aptitude-question .form-select,.create-aptitude-question .form-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px 12px}.create-aptitude-question .options-container{display:flex;flex-direction:column;gap:12px}.create-aptitude-question .option-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;padding:12px}.create-aptitude-question .option-card.option-correct{background:#4caf5014;border-color:#4caf50}.create-aptitude-question .option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.create-aptitude-question .option-actions{align-items:center;display:flex;gap:12px}.create-aptitude-question .correct-checkbox,.create-aptitude-question .correct-radio{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:6px}.create-aptitude-question .option-textarea{min-height:70px}.create-aptitude-question .form-actions{display:flex;gap:12px;justify-content:flex-end}.vanalytics-page{--vh-accent:#6366f1;width:100%}.vanalytics-chart-wrap{min-height:220px;width:100%}.vanalytics-chart-wrap--pie{min-height:220px}[data-theme=dark] .recharts-cartesian-grid-horizontal line,[data-theme=dark] .recharts-cartesian-grid-vertical line,[data-theme=dark] .vanalytics-chart-grid line{stroke:#3f3f46}.vanalytics-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.vanalytics-tab{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.84rem;font-weight:700;gap:8px;padding:10px 16px;transition:border-color .15s ease,background .15s ease,color .15s ease}.vanalytics-tab:hover{color:var(--vh-text)}.vanalytics-tab.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.vanalytics-stats{margin-bottom:18px}.vanalytics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.vanalytics-grid--compact{grid-template-columns:1.2fr .8fr}.vanalytics-panel{margin-bottom:0}.vanalytics-panel-body--flush{padding:0}.vanalytics-range{display:flex;gap:6px}.vanalytics-range-btn{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:700;padding:6px 12px}.vanalytics-range-btn.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.vanalytics-distribution{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 180px}.vanalytics-legend{display:flex;flex-direction:column;gap:8px}.vanalytics-legend-item{grid-gap:8px;align-items:center;color:var(--vh-muted);display:grid;font-size:.82rem;gap:8px;grid-template-columns:12px 1fr auto}.vanalytics-legend-dot{border-radius:999px;height:10px;width:10px}.vanalytics-classroom-mini{display:flex;flex-direction:column;gap:10px}.vanalytics-classroom-row{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:12px;justify-content:space-between;padding:12px 14px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.vanalytics-classroom-row:hover{border-color:color-mix(in srgb,var(--vh-accent) 30%,var(--vh-border))}.vanalytics-classroom-row strong{color:var(--vh-text);display:block;font-size:.92rem}.vanalytics-classroom-row span{color:var(--vh-muted);display:block;font-size:.78rem;margin-top:2px}.vanalytics-score{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;justify-content:center;min-width:52px;padding:4px 10px}.vanalytics-score--good{background:color-mix(in srgb,#10b981 12%,#0000);color:#059669}.vanalytics-score--mid{background:color-mix(in srgb,#f59e0b 12%,#0000);color:#b45309}.vanalytics-score--low{background:color-mix(in srgb,#ef4444 10%,#0000);color:#dc2626}.vanalytics-score--muted{background:var(--vh-surface-2);color:var(--vh-muted)}.vanalytics-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vanalytics-toolbar--stack{margin:16px 0 12px}.vanalytics-search{margin-bottom:0;min-width:220px}.vanalytics-select{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:10px;color:var(--vh-text);font-family:inherit;font-size:.86rem;padding:10px 12px}.vanalytics-table tbody td{vertical-align:middle}.vanalytics-student-cell{display:flex;flex-direction:column;gap:2px}.vanalytics-student-cell strong{color:var(--vh-text)}.vanalytics-student-cell span{color:var(--vh-muted);font-size:.78rem}.vanalytics-pagination{align-items:center;border-top:1px solid var(--vh-border);color:var(--vh-muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:12px;justify-content:space-between;padding:14px 20px}.vanalytics-pagination-actions{display:flex;gap:8px}.vanalytics-classrooms-layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.vanalytics-classroom-list{display:flex;flex-direction:column;gap:10px;max-height:min(720px,72vh);overflow-y:auto}.vanalytics-classroom-card{background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:10px;padding:14px 16px;text-align:left;transition:border-color .15s ease,background .15s ease;width:100%}.vanalytics-classroom-card:hover{border-color:color-mix(in srgb,var(--vh-accent) 28%,var(--vh-border))}.vanalytics-classroom-card.is-selected{background:color-mix(in srgb,var(--vh-accent) 8%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border))}.vanalytics-classroom-card-top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.vanalytics-classroom-card-top strong{color:var(--vh-text);font-size:.95rem}.vanalytics-classroom-card-meta{color:var(--vh-muted);display:flex;flex-wrap:wrap;font-size:.76rem;gap:8px 14px}.vanalytics-classroom-card-meta span{align-items:center;display:inline-flex;gap:5px}.vanalytics-classroom-detail-panel{min-height:520px}.vanalytics-classroom-head{align-items:flex-start}.vanalytics-classroom-actions{display:flex;flex-wrap:wrap;gap:8px}.vanalytics-classroom-kpis{margin-bottom:18px}.vanalytics-classroom-insights{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);margin-bottom:18px}.vanalytics-classroom-block{background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:14px;padding:16px}.vanalytics-classroom-block--side{display:flex;flex-direction:column}.vanalytics-classroom-block--attention{background:color-mix(in srgb,#f59e0b 6%,var(--vh-surface-2));border-color:color-mix(in srgb,#f59e0b 28%,var(--vh-border));margin-bottom:18px}.vanalytics-classroom-block-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.vanalytics-classroom-block-head h3{align-items:center;color:var(--vh-text);display:inline-flex;font-size:.92rem;gap:8px;margin:0 0 4px}.vanalytics-classroom-block-head p{color:var(--vh-muted);font-size:.8rem;margin:0;max-width:520px}.vanalytics-table--compact td,.vanalytics-table--compact th{padding-bottom:12px;padding-top:12px}.vanalytics-test-type{color:var(--vh-muted);display:block;font-size:.74rem;margin-top:2px;text-transform:capitalize}.vanalytics-progress-cell{align-items:center;display:flex;gap:10px;min-width:140px}.vanalytics-progress-bar{background:color-mix(in srgb,var(--vh-border) 70%,#0000);border-radius:999px;flex:1 1;height:8px;overflow:hidden}.vanalytics-progress-bar span{background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:inherit;display:block;height:100%}.vanalytics-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:700;padding:4px 10px}.vanalytics-status--good{background:color-mix(in srgb,#10b981 12%,#0000);color:#059669}.vanalytics-status--mid{background:color-mix(in srgb,#f59e0b 12%,#0000);color:#b45309}.vanalytics-status--low{background:color-mix(in srgb,#ef4444 10%,#0000);color:#dc2626}.vanalytics-last-active{align-items:center;color:var(--vh-muted);display:inline-flex;font-size:.8rem;gap:6px}.vanalytics-attention-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.vanalytics-attention-item{background:var(--vh-surface);border:1px solid color-mix(in srgb,#f59e0b 18%,var(--vh-border));border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.vanalytics-attention-item strong{color:var(--vh-text);font-size:.88rem}.vanalytics-attention-item span{color:var(--vh-muted);display:block;font-size:.76rem}.vanalytics-attention-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vanalytics-chart-wrap--classroom{min-height:180px}.vanalytics-legend--compact{margin-top:8px}.vanalytics-mini-stats{margin-bottom:16px}.vanalytics-classroom-tests{margin-bottom:8px}.vanalytics-classroom-tests h3{color:var(--vh-text);font-size:.88rem;margin:0 0 10px}.vanalytics-tag-list{display:flex;flex-wrap:wrap;gap:8px}.vanalytics-empty,.vanalytics-skeleton{background:var(--vh-surface-2);border:1px dashed var(--vh-border);border-radius:var(--vh-radius-lg);color:var(--vh-muted);padding:48px 24px;text-align:center}.vanalytics-empty svg{font-size:2rem;margin-bottom:12px;opacity:.45}.vanalytics-empty h3{color:var(--vh-text);margin:0 0 8px}.vanalytics-empty p{line-height:1.5;margin:0 auto 16px;max-width:420px}.vanalytics-empty--compact{padding:28px 20px}.vanalytics-empty--panel{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:420px}.vanalytics-loading-inline,.vanalytics-muted{color:var(--vh-muted);font-size:.88rem}.vanalytics-loading-inline{padding:8px 0 12px}[data-theme=dark] .vanalytics-classroom-card,[data-theme=dark] .vanalytics-classroom-row{background:#222}[data-theme=dark] .vanalytics-classroom-card.is-selected{background:color-mix(in srgb,var(--vh-accent) 14%,#1a1a1a)}[data-theme=dark] .vanalytics-range-btn,[data-theme=dark] .vanalytics-select,[data-theme=dark] .vanalytics-tab{background:#1a1a1a}@media (max-width:1100px){.vanalytics-classroom-insights,.vanalytics-classrooms-layout,.vanalytics-distribution,.vanalytics-grid,.vanalytics-grid--compact{grid-template-columns:1fr}}@media (max-width:720px){.vanalytics-search,.vanalytics-select,.vanalytics-toolbar{width:100%}}.settings-page{animation:fadeIn .5s ease}.settings-subtitle{margin:-8px 0 24px;max-width:720px}.settings-card-desc,.settings-subtitle{color:var(--text-secondary);line-height:1.5}.settings-card-desc{margin:-12px 0 20px}.settings-alert{border-radius:10px;font-weight:500;margin-bottom:20px;padding:12px 16px}.settings-alert-success{background:#28a7451f;border:1px solid #28a74559;color:#1e7e34}.settings-alert-error{background:#dc35451a;border:1px solid #dc354559;color:#c82333}[data-theme=dark] .settings-alert-success{color:#6fcf97}[data-theme=dark] .settings-alert-error{color:#f5a5ad}.settings-card-modern{animation:fadeInUp .6s ease;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;margin-bottom:30px;overflow:hidden;padding:28px;position:relative}.settings-card-modern:before{background:var(--primary-gradient);content:"";height:5px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.settings-card-modern:hover:before{transform:scaleX(1)}.settings-card-modern h2{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.6em;font-weight:700;margin-bottom:24px;margin-top:0;padding-bottom:16px}.logo-specs-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:20px}.logo-specs-box h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 10px}.logo-specs-box p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0 0 12px}.logo-specs-list{color:var(--text-primary);line-height:1.7;margin:0 0 16px;padding-left:1.25rem}.logo-specs-list li{margin-bottom:6px}.logo-navbar-preview{margin-top:16px}.logo-navbar-preview-label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.logo-navbar-preview-bar{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-bottom:3px solid;border-image:var(--primary-gradient) 1;border-radius:8px 8px 0 0;display:flex;min-height:52px;padding:8px 16px;padding-left:8px}.logo-navbar-preview-bar .navbar-brand-logo,.logo-navbar-preview-img-wrap{align-items:center;background:#fff;border:1px solid #0000001a;border-radius:10px;display:inline-flex;height:48px;justify-content:center;padding:6px 16px}.logo-navbar-preview-img{height:auto;max-height:36px;max-width:180px;object-fit:contain;object-position:center;width:auto}.logo-navbar-preview-placeholder{color:var(--text-secondary);font-size:.9rem;font-style:italic}.logo-preview-wrap{margin-bottom:20px}.logo-preview{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;max-height:120px;max-width:280px;object-fit:contain;padding:8px}.logo-upload-form .form-group{margin-bottom:16px}.logo-form-actions{display:flex;flex-wrap:wrap;gap:12px}.color-input-group{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:12px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.color-input-group label{color:var(--text-primary);font-weight:600;min-width:150px}.color-input-group input[type=color]{border:2px solid var(--border-color);border-radius:8px;cursor:pointer;height:40px;transition:all .3s ease;width:60px}.color-input-group input[type=color]:hover{box-shadow:0 4px 12px #00000026;transform:scale(1.1)}.color-preview{border-radius:8px;color:#fff;font-weight:600;padding:8px 16px;text-shadow:0 1px 2px #0003}.brand-colors-preview{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;padding:16px}.brand-colors-preview-label{color:var(--text-secondary);display:block;font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-bottom:12px;text-transform:uppercase}.brand-colors-preview-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.brand-colors-preview-gradient{font-size:1.25rem;font-weight:700}.brand-colors-preview-swatch{border:1px solid var(--border-color);border-radius:8px;height:32px;width:80px}@media (max-width:768px){.color-input-group{align-items:flex-start;flex-direction:column}}.export-modal-overlay{align-items:center;background:#0000008c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}.export-modal{background:#fff;background:var(--card-bg,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:16px;box-shadow:0 24px 64px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:640px;width:100%}.export-modal-header{border-bottom:1px solid #eee;border-bottom:1px solid var(--border-color,#eee);padding:24px 24px 12px;position:relative}.export-modal-header h2{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 4px}.export-modal-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.export-modal-close{background:#fff;background:var(--bg-secondary,#fff);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:22px;height:36px;line-height:1;position:absolute;right:16px;top:16px;width:36px}.export-modal-close:hover{background:var(--border-color)}.export-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px}.export-modal-hint{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:0 0 16px}.export-modal-loading{color:var(--text-secondary);padding:24px;text-align:center}.export-modal-error{background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:14px;margin-bottom:12px;padding:12px 14px}[data-theme=dark] .export-modal-error{background:#7f1d1d4d;color:#fca5a5}.export-modal-actions-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.export-selected-count{color:var(--text-secondary);font-size:13px;font-weight:500;margin-left:auto}.export-column-group{margin-bottom:20px}.export-column-group h3{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.export-column-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.export-column-check{align-items:flex-start;background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e8e8e8;border:1px solid var(--border-color,#e8e8e8);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;transition:border-color .15s ease}.export-column-check:hover{border-color:#ed0331;border-color:var(--primary-color,#ed0331)}.export-column-check input{accent-color:#ed0331;accent-color:var(--primary-color,#ed0331);flex-shrink:0;margin-top:2px}.export-modal-footer{border-top:1px solid #eee;border-top:1px solid var(--border-color,#eee);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.result-details-page{--vrd-accent:var(--card-accent,#2563eb);--vrd-surface:var(--va-surface,#fff);--vrd-surface-2:var(--va-surface-2,#f8fafc);--vrd-border:var(--va-border,#e5e7eb);--vrd-text:var(--va-text,#0f172a);--vrd-muted:var(--va-muted,#64748b);--vrd-radius:14px;--vrd-radius-lg:18px;max-width:1080px}.vrd-hero{grid-gap:28px;align-items:center;background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius-lg);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--va-shadow,0 1px 2px #0f172a0a);display:grid;gap:28px;grid-template-columns:auto 1fr;margin-bottom:20px;padding:24px 28px}.vrd-hero-ring-wrap{flex-shrink:0;height:120px;position:relative;width:120px}.vrd-ring{height:100%;transform:rotate(-90deg);width:100%}.vrd-ring-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;pointer-events:none;position:absolute}.vrd-ring-pct{font-size:1.5rem;font-weight:800;line-height:1.1}.vrd-ring-grade{font-size:.95rem;font-weight:700;opacity:.9}.vrd-hero-main{min-width:0}.vrd-student-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px}.vrd-student-name{color:var(--vrd-text);font-size:1.1rem;font-weight:700}.vrd-student-email{color:var(--vrd-muted);font-size:.88rem}.vrd-type-pill{background:color-mix(in srgb,var(--vrd-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--vrd-accent) 25%,#0000);border-radius:6px;color:var(--vrd-accent);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.vrd-hero-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.vrd-hero-stat-val{color:var(--vrd-text);display:block;font-size:1.25rem;font-weight:800}.vrd-hero-stat-val small{color:var(--vrd-muted);font-size:.75em;font-weight:600}.vrd-hero-stat-lbl{color:var(--vrd-muted);display:block;font-size:.78rem;font-weight:600;margin-top:2px}.vrd-hero-stat--warn .vrd-hero-stat-val{color:#dc2626}.vrd-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.vrd-breakdown-pill{align-items:center;background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius);display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:120px;padding:14px 16px}.vrd-breakdown-num{font-size:1.5rem;font-weight:800}.vrd-breakdown-pill span:last-child{color:var(--vrd-muted);font-size:.8rem;font-weight:600}.vrd-breakdown-pill.correct{background:color-mix(in srgb,#10b981 8%,var(--vrd-surface));border-color:color-mix(in srgb,#10b981 35%,var(--vrd-border))}.vrd-breakdown-pill.correct .vrd-breakdown-num{color:#10b981}.vrd-breakdown-pill.partial{background:color-mix(in srgb,#f59e0b 8%,var(--vrd-surface));border-color:color-mix(in srgb,#f59e0b 35%,var(--vrd-border))}.vrd-breakdown-pill.partial .vrd-breakdown-num{color:#f59e0b}.vrd-breakdown-pill.incorrect{background:color-mix(in srgb,#ef4444 8%,var(--vrd-surface));border-color:color-mix(in srgb,#ef4444 35%,var(--vrd-border))}.vrd-breakdown-pill.incorrect .vrd-breakdown-num{color:#ef4444}.vrd-panels-row{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.vrd-panel{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius-lg);box-shadow:0 1px 2px #0f172a0a;box-shadow:var(--va-shadow,0 1px 2px #0f172a0a);overflow:hidden}.vrd-panel-head{align-items:flex-start;background:var(--vrd-surface-2);border-bottom:1px solid var(--vrd-border);display:flex;gap:14px;padding:18px 20px}.vrd-panel-head--alert{background:color-mix(in srgb,#f59e0b 8%,var(--vrd-surface-2));border-bottom-color:color-mix(in srgb,#f59e0b 25%,var(--vrd-border))}.vrd-panel-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:1.15rem;height:42px;justify-content:center;width:42px}.vrd-panel-icon--neutral{background:color-mix(in srgb,var(--vrd-accent) 12%,var(--vrd-surface));border:1px solid color-mix(in srgb,var(--vrd-accent) 22%,#0000);color:var(--vrd-accent)}.vrd-panel-icon--alert{background:color-mix(in srgb,#f59e0b 18%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 35%,#0000);color:#d97706}.vrd-panel-head-text{flex:1 1;min-width:0}.vrd-panel-title{color:var(--vrd-text);font-size:1.05rem;font-weight:700;line-height:1.3;margin:0}.vrd-panel-desc{color:var(--vrd-muted);font-size:.84rem;line-height:1.45;margin:4px 0 0}.vrd-violation-badge{font-feature-settings:"tnum";align-items:center;background:color-mix(in srgb,#f59e0b 16%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 35%,#0000);border-radius:10px;color:#b45309;display:flex;flex-shrink:0;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:800;height:36px;justify-content:center;min-width:36px;padding:0 10px}.vrd-panel-body{padding:20px}.vrd-panel-body--flush{padding:0}.vrd-detail-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.vrd-detail-card{align-items:flex-start;background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius);display:flex;gap:12px;padding:14px 16px;transition:border-color .2s ease,box-shadow .2s ease}.vrd-detail-card:hover{border-color:color-mix(in srgb,var(--vrd-accent) 30%,var(--vrd-border))}.vrd-detail-card--score{background:color-mix(in srgb,var(--vrd-accent) 5%,var(--vrd-surface-2));border-color:color-mix(in srgb,var(--vrd-accent) 28%,var(--vrd-border))}.vrd-detail-card-icon{align-items:center;background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:10px;color:var(--vrd-muted);display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;width:36px}.vrd-detail-card-icon--submit{background:color-mix(in srgb,#10b981 10%,var(--vrd-surface));border-color:color-mix(in srgb,#10b981 25%,var(--vrd-border));color:#059669}.vrd-detail-card-icon--score{background:color-mix(in srgb,var(--vrd-accent) 12%,var(--vrd-surface));border-color:color-mix(in srgb,var(--vrd-accent) 25%,#0000);color:var(--vrd-accent)}.vrd-detail-card-content{display:flex;flex-direction:column;gap:4px;min-width:0}.vrd-detail-card-label{color:var(--vrd-muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.vrd-detail-card-value{color:var(--vrd-text);font-size:.92rem;font-weight:600;line-height:1.4;word-break:break-word}.vrd-detail-card-sub{color:var(--vrd-muted);font-size:.8rem;font-weight:600}.vrd-score-pill{font-feature-settings:"tnum";align-items:center;border-radius:999px;display:inline-flex;font-size:1.1rem;font-variant-numeric:tabular-nums;font-weight:800;padding:4px 12px;width:-webkit-fit-content;width:fit-content}.vrd-score-pill--excellent{background:color-mix(in srgb,#10b981 14%,var(--vrd-surface));border:1px solid color-mix(in srgb,#10b981 30%,#0000);color:#059669}.vrd-score-pill--good{background:color-mix(in srgb,#f59e0b 14%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 30%,#0000);color:#b45309}.vrd-score-pill--poor{background:color-mix(in srgb,#ef4444 12%,var(--vrd-surface));border:1px solid color-mix(in srgb,#ef4444 28%,#0000);color:#dc2626}.vrd-score-pill--neutral{background:var(--vrd-surface);border:1px solid var(--vrd-border);color:var(--vrd-muted)}.vrd-composition{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.vrd-composition-chip{background:var(--vrd-surface);border:1px solid;border-radius:8px;font-size:.78rem;font-weight:600;padding:5px 11px}.vrd-sections{margin-bottom:24px}.vrd-section-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.vrd-sec-card{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius);padding:14px 16px}.vrd-sec-name{display:block;font-size:.88rem;font-weight:700;margin-bottom:8px}.vrd-sec-bar-wrap{background:var(--vrd-border);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.vrd-sec-bar{border-radius:4px;height:100%;transition:width .5s ease}.vrd-sec-score{color:var(--vrd-muted);font-size:.82rem;font-weight:600}.vrd-violations-panel{border-color:color-mix(in srgb,#f59e0b 35%,var(--vrd-border))}.vrd-alert-banner{align-items:center;background:color-mix(in srgb,#f59e0b 12%,var(--vrd-surface));border-bottom:1px solid color-mix(in srgb,#f59e0b 22%,var(--vrd-border));color:#92400e;display:flex;font-size:.88rem;font-weight:600;gap:10px;padding:12px 20px}.vrd-alert-banner svg{flex-shrink:0;font-size:1.1rem}.vrd-violation-timeline{list-style:none;margin:0;padding:0}.vrd-violation-row{align-items:flex-start;border-bottom:1px solid var(--vrd-border);display:flex;gap:14px;padding:16px 20px;transition:background .15s ease}.vrd-violation-row:last-child{border-bottom:none}.vrd-violation-row:hover{background:color-mix(in srgb,#f59e0b 4%,var(--vrd-surface))}.vrd-violation-row-icon{align-items:center;background:color-mix(in srgb,#f59e0b 14%,var(--vrd-surface-2));border:1px solid color-mix(in srgb,#f59e0b 28%,var(--vrd-border));border-radius:10px;color:#d97706;display:flex;flex-shrink:0;font-size:1rem;height:36px;justify-content:center;width:36px}.vrd-violation-row-main{flex:1 1;min-width:0}.vrd-violation-row-top{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between;margin-bottom:6px}.vrd-violation-chip{align-items:center;background:color-mix(in srgb,#f59e0b 14%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 30%,#0000);border-radius:6px;color:#b45309;display:inline-flex;font-size:.78rem;font-weight:700;padding:4px 10px}.vrd-violation-time{color:var(--vrd-muted);font-size:.8rem;font-weight:600;white-space:nowrap}.vrd-violation-detail{color:var(--vrd-text);font-size:.88rem;line-height:1.55;margin:0;word-break:break-word}.vrd-violation-detail--muted{color:var(--vrd-muted);font-style:italic}.vrd-auto-tag{align-items:center;background:color-mix(in srgb,#f59e0b 16%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 32%,#0000);border-radius:6px;color:#b45309;display:inline-flex;font-size:.72rem;font-weight:700;margin-top:4px;padding:3px 9px;width:-webkit-fit-content;width:fit-content}.vrd-answers-block{margin-top:8px}.vrd-answers-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:16px}.vrd-block-title{color:var(--vrd-text);font-size:1.15rem;font-weight:700;margin:0}.vrd-count{color:var(--vrd-muted);font-size:.85rem;font-weight:600;margin-left:6px}.vrd-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vrd-btn-ghost,.vrd-filter{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:8px;color:var(--vrd-text);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 12px}.vrd-filter{min-width:160px}.vrd-btn-ghost:hover{background:var(--vrd-surface-2)}.vrd-empty{color:var(--vrd-muted);font-size:.95rem;padding:32px;text-align:center}.vrd-answer-group{margin-bottom:20px}.vrd-answer-group-head{align-items:center;background:var(--vrd-surface-2);border-left:4px solid;border-radius:0 8px 8px 0;display:flex;gap:10px;margin-bottom:10px;padding:10px 14px}.vrd-answer-group-head h3{flex:1 1;font-size:.95rem;font-weight:700;margin:0}.vrd-answer-group-count{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:6px;font-size:.8rem;font-weight:700;padding:2px 8px}.vrd-answer-group-list{display:flex;flex-direction:column;gap:10px}.vrd-card{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:var(--vrd-radius);overflow:hidden;transition:box-shadow .2s ease}.vrd-card:hover{box-shadow:0 4px 12px #0f172a0f;box-shadow:var(--va-shadow-hover,0 4px 12px #0f172a0f)}.vrd-card-top{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;text-align:left;width:100%}.vrd-card-left{align-items:flex-start;display:flex;flex:1 1;gap:12px;min-width:0}.vrd-status-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:32px;justify-content:center;width:32px}.vrd-status-correct{background:color-mix(in srgb,#10b981 18%,#0000);color:#10b981}.vrd-status-partial{background:color-mix(in srgb,#f59e0b 18%,#0000);color:#d97706}.vrd-status-incorrect{background:color-mix(in srgb,#ef4444 18%,#0000);color:#ef4444}.vrd-card-info{align-items:center;display:flex;flex-wrap:wrap;gap:8px;min-width:0}.vrd-card-q{color:var(--vrd-text);font-size:.9rem;font-weight:800}.vrd-type-tag{border:1px solid;border-radius:6px;font-size:.7rem;font-weight:700;padding:3px 8px;white-space:nowrap}.vrd-card-title{color:var(--vrd-muted);flex:1 1 100%;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vrd-card-right{align-items:center;display:flex;flex-shrink:0;gap:12px}.vrd-card-score .vrd-pts{color:var(--vrd-text);font-size:1.1rem;font-weight:800}.vrd-card-score .vrd-max{color:var(--vrd-muted);font-size:.85rem}.vrd-chevron{color:var(--vrd-muted);font-size:.75rem;transition:transform .2s ease}.vrd-chevron.open{transform:rotate(180deg)}.vrd-flagged{background:color-mix(in srgb,#f59e0b 12%,#0000);border-radius:4px;color:#b45309;font-size:.72rem;font-weight:700;padding:2px 8px}.vrd-card-body{animation:vrdSlide .25s ease;border-top:1px solid var(--vrd-border);padding:0 16px 18px}@keyframes vrdSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.vrd-q-block{margin-top:14px}.vrd-q-block h5{color:var(--vrd-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.vrd-pre-wrap,.vrd-q-block p{margin:0;white-space:pre-wrap}.vrd-html,.vrd-pre-wrap,.vrd-q-block p{color:var(--vrd-text);line-height:1.65}.vrd-metrics-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.vrd-metric{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:8px;min-width:100px;padding:10px 14px}.vrd-metric-val{color:var(--vrd-text);display:block;font-size:.95rem;font-weight:800}.vrd-metric-lbl{color:var(--vrd-muted);font-size:.75rem;font-weight:600}.vrd-options{display:flex;flex-direction:column;gap:8px;margin-top:10px}.vrd-opt{align-items:center;background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.vrd-opt.is-correct{background:color-mix(in srgb,#10b981 8%,var(--vrd-surface));border-color:color-mix(in srgb,#10b981 40%,var(--vrd-border))}.vrd-opt.is-selected:not(.is-correct){background:color-mix(in srgb,#ef4444 6%,var(--vrd-surface));border-color:color-mix(in srgb,#ef4444 40%,var(--vrd-border))}.vrd-opt-letter{color:var(--vrd-muted);font-weight:800;min-width:22px}.vrd-opt-pill{border-radius:4px;font-size:.72rem;font-weight:700;margin-left:auto;padding:2px 8px}.vrd-opt-pill.ok{background:color-mix(in srgb,#10b981 15%,#0000);color:#059669}.vrd-opt-pill.bad{background:color-mix(in srgb,#ef4444 12%,#0000);color:#dc2626}.vrd-answer-box,.vrd-explanation,.vrd-ref-answer{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:8px;margin-top:14px;padding:14px}.vrd-ref-answer{border-color:color-mix(in srgb,#10b981 30%,var(--vrd-border))}.vrd-explanation{border-color:color-mix(in srgb,var(--vrd-accent) 25%,var(--vrd-border))}.vrd-code-block{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-left:3px solid var(--vrd-accent);border-radius:var(--vrd-radius);margin-top:16px;padding:14px 16px}.vrd-code-block-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.vrd-code-block-head h5{color:var(--vrd-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.vrd-code-lang{background:color-mix(in srgb,var(--vrd-accent) 12%,var(--vrd-surface));border:1px solid color-mix(in srgb,var(--vrd-accent) 25%,#0000);border-radius:6px;color:var(--vrd-accent);font-size:.72rem;font-weight:700;padding:3px 8px}.vrd-code-pre{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:8px;color:var(--vrd-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.55;margin:0;max-height:min(420px,55vh);overflow:auto;padding:14px 16px;tab-size:2;white-space:pre-wrap;word-break:break-word}.vrd-code-pre code{background:none;color:inherit;font-family:inherit;font-size:inherit}[data-theme=dark] .vrd-code-block{background:#222;border-color:#3f3f46}[data-theme=dark] .vrd-code-pre{background:#141414;border-color:#3f3f46;color:#e4e4e7}.vrd-test-cases{margin-top:12px}.vrd-tc{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:8px;margin-bottom:10px;padding:10px}.vrd-tc pre{background:color-mix(in srgb,var(--vrd-text) 4%,var(--vrd-surface));border-radius:4px;font-size:.82rem;margin:4px 0 0;overflow-x:auto;padding:8px}.vrd-hidden-note,.vrd-muted{color:var(--vrd-muted);font-size:.85rem;margin:8px 0 0}.vrd-ai-box,.vrd-english-panel{background:color-mix(in srgb,var(--vrd-accent) 5%,var(--vrd-surface));border:1px solid color-mix(in srgb,var(--vrd-accent) 25%,var(--vrd-border));border-radius:var(--vrd-radius);margin-top:14px;padding:16px}.vrd-ai-box h5,.vrd-english-panel>strong{color:var(--vrd-text);display:block;font-size:.85rem;font-weight:700;margin:0 0 12px}.vrd-eval-grid{display:flex;flex-wrap:wrap;font-size:.88rem;gap:12px 20px;margin-bottom:10px}.vrd-eval-row{grid-gap:10px;align-items:center;display:grid;font-size:.85rem;gap:10px;grid-template-columns:100px 1fr 44px;margin-top:8px}.vrd-eval-row>span:first-child{color:var(--vrd-muted);font-weight:600}.vrd-eval-bar-wrap{background:var(--vrd-border);border-radius:4px;height:8px;overflow:hidden}.vrd-eval-bar{background:linear-gradient(90deg,var(--vrd-accent),color-mix(in srgb,var(--vrd-accent) 70%,#6366f1));border-radius:4px;height:100%}.vrd-eval-pct{font-weight:700;text-align:right}.vrd-sub-answers{display:flex;flex-direction:column;gap:8px;margin-top:10px}.vrd-sub-item{align-items:center;background:var(--vrd-surface-2);border-left:1px solid var(--vrd-border);border:1px solid var(--vrd-border);border-left-width:3px;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px}.vrd-sub-item.ok{border-left-color:#10b981}.vrd-sub-item.bad{border-left-color:#ef4444}.vrd-essay-preview{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:8px;font-size:.92rem;line-height:1.7;max-height:280px;overflow-y:auto;padding:14px}.vrd-audio audio{margin-top:8px;width:100%}.vrd-plagiarism{border:1px solid var(--vrd-border);border-radius:8px;margin-top:12px;padding:12px}.vrd-plagiarism.low,.vrd-plagiarism.none{background:color-mix(in srgb,#10b981 8%,var(--vrd-surface));border-color:color-mix(in srgb,#10b981 30%,var(--vrd-border))}.vrd-plagiarism.medium{background:color-mix(in srgb,#f59e0b 8%,var(--vrd-surface))}.vrd-plagiarism.high{background:color-mix(in srgb,#ef4444 8%,var(--vrd-surface))}.vrd-plagiarism-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.vrd-plagiarism-tags span{background:var(--vrd-surface-2);border:1px solid var(--vrd-border);border-radius:4px;font-size:.78rem;padding:3px 8px}.vrd-manual{background:color-mix(in srgb,#f59e0b 6%,var(--vrd-surface));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--vrd-border));border-radius:var(--vrd-radius);margin-top:16px;padding:14px}.vrd-manual strong{display:block;font-size:.88rem;margin-bottom:10px}.vrd-manual-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vrd-manual-input{background:var(--vrd-surface);border:1px solid var(--vrd-border);border-radius:8px;color:var(--vrd-text);font-size:.9rem;padding:8px 12px}.vrd-manual-input.score{width:90px}.vrd-manual-input.feedback{flex:1 1;min-width:180px}.vrd-manual-note{color:var(--vrd-muted);font-size:.82rem;margin:8px 0 0}[data-theme=dark] .result-details-page{--vrd-surface:#1a1a1a;--vrd-surface-2:#222;--vrd-border:#3f3f46;--vrd-text:#f4f4f5;--vrd-muted:#a1a1aa}[data-theme=dark] .vrd-btn-ghost,[data-theme=dark] .vrd-filter,[data-theme=dark] .vrd-manual-input{background:#1a1a1a;color:#f4f4f5}[data-theme=dark] .vrd-tc pre{background:#27272a}[data-theme=dark] .vrd-auto-tag{background:#f59e0b26}[data-theme=dark] .vrd-panel-head--alert{background:#f59e0b14;border-bottom-color:#f59e0b38}[data-theme=dark] .vrd-panel-icon--alert,[data-theme=dark] .vrd-violation-row-icon{background:#f59e0b1f;border-color:#f59e0b47;color:#fcd34d}[data-theme=dark] .vrd-violations-panel{border-color:#f59e0b47}[data-theme=dark] .vrd-alert-banner{background:#f59e0b1a;border-bottom-color:#f59e0b33;color:#fcd34d}[data-theme=dark] .vrd-violation-badge,[data-theme=dark] .vrd-violation-chip{background:#f59e0b1f;border-color:#f59e0b47;color:#fcd34d}[data-theme=dark] .vrd-violation-row:hover{background:#f59e0b0f}[data-theme=dark] .vrd-detail-card{background:#222}[data-theme=dark] .vrd-detail-card-icon{background:#1a1a1a}[data-theme=dark] .vrd-score-pill--excellent{background:#10b9811f;border-color:#10b9814d;color:#6ee7b7}[data-theme=dark] .vrd-score-pill--good{background:#f59e0b1f;border-color:#f59e0b47;color:#fcd34d}[data-theme=dark] .vrd-score-pill--poor{background:#ef44441f;border-color:#ef444447;color:#fca5a5}[data-theme=dark] .vrd-auto-tag{background:#f59e0b1f;border-color:#f59e0b47;color:#fcd34d}@media (min-width:900px){.vrd-panels-row:has(.vrd-violations-panel){align-items:start;display:grid;grid-template-columns:1fr 1fr}.vrd-panels-row:has(.vrd-violations-panel) .vrd-violations-panel{grid-column:1/-1}}@media (max-width:720px){.vrd-panel-head{flex-wrap:wrap}.vrd-violation-badge{margin-left:auto}.vrd-detail-cards,.vrd-hero{grid-template-columns:1fr}.vrd-hero{text-align:center}.vrd-hero-ring-wrap{margin:0 auto}.vrd-student-row{justify-content:center}.vrd-hero-stats{text-align:center}.vrd-card-title{white-space:normal}.vrd-eval-row{gap:4px;grid-template-columns:1fr}}.student-analysis-page{animation:fadeIn .5s ease}.student-analysis-page .page-title{-webkit-text-fill-color:#0000;animation:fadeInDown .5s ease;background:linear-gradient(135deg,#007bff,#0056b3);-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:800;margin-bottom:10px}.student-info-subtitle{animation:fadeInDown .6s ease;color:var(--text-secondary);font-size:1.1em;margin-top:8px}.stats-grid-modern{grid-gap:24px;animation:fadeInUp .6s ease;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:40px}.stat-card-analysis{animation:fadeInUp .6s ease;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;overflow:visible;padding:32px 24px;position:relative;text-align:center;transition:all .4s cubic-bezier(.16,1,.3,1);z-index:1}.stat-card-analysis:before{background:linear-gradient(90deg,#007bff,#6f42c1);content:"";height:5px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .4s ease;z-index:0}.stat-card-analysis:hover{border-color:#007bff;box-shadow:0 20px 40px #007bff26;transform:translateY(-8px) scale(1.03);z-index:2}.stat-card-analysis:hover:before{transform:scaleX(1)}.stat-card-analysis.tests{background:linear-gradient(135deg,#007bff0d,#0056b305)}.stat-card-analysis.average{background:linear-gradient(135deg,#6f42c10d,#5a32a305)}.stat-card-analysis.total{background:linear-gradient(135deg,#28a7450d,#1e7e3405)}.stat-card-analysis.status{background:linear-gradient(135deg,#117ab80d,#0d6efd05)}.stat-card-analysis.interviews{background:linear-gradient(135deg,#28a7450d,#1e7e3405)}.stat-card-analysis.interviews .stat-number-analysis{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#28a745,#1e7e34);-webkit-background-clip:text;background-clip:text}.stat-card-analysis h3{color:var(--text-secondary);font-size:.9em;font-weight:600;letter-spacing:1px;margin:0 0 16px;text-transform:uppercase}.stat-number-analysis{font-size:2.5em;font-weight:800;line-height:1.2;margin:0}.stat-card-analysis.tests .stat-number-analysis,.stat-number-analysis{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#007bff,#0056b3);-webkit-background-clip:text;background-clip:text}.stat-card-analysis.average .stat-number-analysis{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6f42c1,#5a32a3);-webkit-background-clip:text;background-clip:text}.stat-card-analysis.total .stat-number-analysis{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#28a745,#1e7e34);-webkit-background-clip:text;background-clip:text}.performance-section{animation:fadeInUp .8s ease;margin-top:40px}.section-title-analysis{border-bottom:3px solid var(--border-color);color:var(--text-primary);font-size:1.8em;font-weight:700;margin-bottom:24px;padding-bottom:16px}.performance-table-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;margin-bottom:30px;overflow:hidden;padding:28px;position:relative;transition:all .3s ease}.performance-table-card:before{background:linear-gradient(90deg,#007bff,#6f42c1);content:"";height:5px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.performance-table-card:hover:before{opacity:1}.performance-table{border-collapse:initial;border-spacing:0;width:100%}.performance-table thead th{background-color:var(--bg-primary);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:.85em;font-weight:600;letter-spacing:.5px;padding:16px;text-transform:uppercase}.performance-table tbody tr{transition:all .2s ease}.performance-table tbody tr:hover{background-color:var(--bg-secondary);transform:scale(1.01)}.performance-table tbody td{border-bottom:1px solid var(--border-color);padding:16px}.question-type-badge{border-radius:8px;display:inline-block;font-size:.85em;font-weight:600;padding:6px 12px}.question-type-badge.interview{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.score-badge{border-radius:10px;display:inline-block;font-size:.9em;font-weight:700;padding:6px 12px}.score-badge.excellent{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.score-badge.good{background:linear-gradient(135deg,#ffc107,#e0a800);color:#fff}.score-badge.poor{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.empty-state-analysis{animation:fadeInUp .6s ease;background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-primary) 100%);border:3px dashed var(--border-color);border-radius:20px;padding:60px 40px;text-align:center}.empty-state-analysis p{color:var(--text-secondary);font-size:1.1em;margin:0}@media (max-width:768px){.stats-grid-modern{grid-template-columns:repeat(2,1fr)}.performance-table-card{overflow-x:auto}}.mcs-page{--vh-accent:#0891b2}.mcs-stats,.mcs-tabs{margin-bottom:18px}.mcs-tabs{display:flex;flex-wrap:wrap;gap:8px}.mcs-tab{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.84rem;font-weight:700;gap:8px;padding:10px 16px;transition:border-color .15s ease,background .15s ease,color .15s ease}.mcs-tab:hover{border-color:color-mix(in srgb,var(--vh-accent) 30%,var(--vh-border));color:var(--vh-text)}.mcs-tab.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.mcs-panel{margin-bottom:0}.mcs-panel-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mcs-search,.mcs-selection-bar{margin-bottom:14px}.mcs-member-list{display:flex;flex-direction:column;gap:10px;max-height:min(560px,62vh);overflow-y:auto;padding-right:2px}.mcs-member-row{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.mcs-member-row--selectable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.mcs-member-row--selectable:hover{border-color:color-mix(in srgb,var(--vh-accent) 28%,var(--vh-border))}.mcs-member-row--selected{background:color-mix(in srgb,var(--vh-accent) 7%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border))}.mcs-member-row input[type=checkbox]{accent-color:var(--vh-accent);flex-shrink:0;height:18px;width:18px}.mcs-avatar{background:var(--vh-accent)}.mcs-avatar--muted{background:#64748b}.mcs-empty{padding:36px 20px;text-align:center}.mcs-empty h3{color:var(--vh-text);font-size:1.05rem;margin:0 0 8px}.mcs-empty p{color:var(--vh-muted);font-size:.9rem;line-height:1.5;margin:0 auto 16px;max-width:420px}.mcs-empty-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.mcs-panel--bulk .vh-panel-body{padding-top:16px}.mcs-bulk-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1.4fr) minmax(240px,.8fr)}.mcs-bulk-main textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.55;min-height:280px;resize:vertical}.mcs-bulk-actions{margin-top:12px}.mcs-bulk-help{background:color-mix(in srgb,var(--vh-accent) 5%,var(--vh-surface-2));border:1px solid var(--vh-border);border-radius:14px;padding:18px}.mcs-bulk-help h3{color:var(--vh-text);font-size:.95rem;margin:0 0 12px}.mcs-bulk-help ol{color:var(--vh-muted);font-size:.86rem;line-height:1.6;margin:0 0 16px;padding-left:18px}.mcs-bulk-example{border-top:1px solid var(--vh-border);padding-top:14px}.mcs-bulk-example-label{color:var(--vh-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.mcs-bulk-example pre{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:10px;color:var(--vh-text);font-size:.78rem;line-height:1.5;margin:0;padding:12px;white-space:pre-wrap;word-break:break-word}.mcs-page .vh-btn.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.vh-alert--warning{background:color-mix(in srgb,#f59e0b 8%,var(--vh-surface));border:1px solid color-mix(in srgb,#f59e0b 25%,#0000);color:#b45309}[data-theme=dark] .mcs-member-row{background:#222}[data-theme=dark] .mcs-member-row--selected{background:color-mix(in srgb,var(--vh-accent) 12%,#222)}[data-theme=dark] .mcs-tab{background:#1a1a1a}[data-theme=dark] .mcs-tab.is-active{background:color-mix(in srgb,var(--vh-accent) 16%,#1a1a1a)}[data-theme=dark] .mcs-bulk-help{background:#222}[data-theme=dark] .mcs-bulk-example pre{background:#1a1a1a}@media (max-width:900px){.mcs-bulk-grid{grid-template-columns:1fr}.mcs-panel-head{align-items:stretch;flex-direction:column}.mcs-panel-actions{width:100%}.mcs-panel-actions .vh-btn{flex:1 1;justify-content:center}}.va-atc-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.va-atc-filter{background:#fff;background:var(--va-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--va-border,#e5e7eb);border-radius:999px;color:#64748b;color:var(--va-muted,#64748b);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 14px;transition:all .15s ease}.va-atc-filter:hover{border-color:#94a3b8;color:#0f172a;color:var(--va-text,#0f172a)}.va-atc-filter.active{background:color-mix(in srgb,#0891b2 12%,#fff);background:color-mix(in srgb,#0891b2 12%,var(--va-surface,#fff));border-color:color-mix(in srgb,#0891b2 45%,#0000);color:#0891b2}.va-atc-grid{grid-gap:18px;align-items:start;display:grid;gap:18px;grid-template-columns:1fr 1fr}.va-atc-actions{display:flex;flex-wrap:wrap;gap:8px}.va-atc-check{align-items:center;color:#64748b;color:var(--va-muted,#64748b);display:inline-flex;font-size:.75rem;gap:6px;margin-bottom:6px}.va-atc-check input{accent-color:#0891b2}@media (max-width:900px){.va-atc-grid{grid-template-columns:1fr}}.va-atc-list{display:flex;flex-direction:column;gap:10px;max-height:min(520px,60vh);overflow-y:auto}.va-atc-item{align-items:flex-start;background:#f8fafc;background:var(--va-surface-2,#f8fafc);border:1px solid #e5e7eb;border:1px solid var(--va-border,#e5e7eb);border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.va-atc-item--assigned{border-color:color-mix(in srgb,#0891b2 25%,var(--va-border))}.va-atc-item-main{flex:1 1;min-width:0}.va-atc-item-main h3{color:#0f172a;color:var(--va-text,#0f172a);font-size:.95rem;font-weight:700;margin:0 0 6px}.va-atc-meta{color:#64748b;color:var(--va-muted,#64748b);display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px}.va-atc-type{border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.va-atc-type--coding{background:#2563eb1f;color:#2563eb}.va-atc-type--mcq{background:#7c3aed1f;color:#7c3aed}.va-atc-type--aptitude{background:#0596691f;color:#059669}.va-atc-type--theory{background:#4755691f;color:#475569}.va-atc-type--english{background:#db27771f;color:#db2777}.va-atc-type--mixed{background:#0891b21f;color:#0891b2}.va-atc-type--interview{background:#c026d31f;color:#c026d3}[data-theme=dark] .va-atc-filter{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .va-atc-filter.active{background:color-mix(in srgb,#0891b2 18%,#1a1a1a)}[data-theme=dark] .va-atc-item{background:#222;border-color:#3f3f46}.vh-dataset-page{--vh-accent:#ca8a04}.vh-dataset-error{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:20px}.vh-dataset-error p{color:var(--vh-muted);margin:0}.vh-dataset-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vh-dataset-card{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow);display:flex;flex-direction:column;gap:12px;padding:18px}.vh-dataset-card-top{align-items:flex-start;display:flex;gap:12px}.vh-dataset-card-icon{align-items:center;background:color-mix(in srgb,var(--vh-accent) 12%,var(--vh-surface-2));border-radius:12px;color:var(--vh-accent);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.vh-dataset-card-top h3{color:var(--vh-text);font-size:1rem;margin:0 0 6px}.vh-dataset-card-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--vh-muted);display:-webkit-box;font-size:.86rem;line-height:1.5;margin:0;overflow:hidden}.vh-dataset-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.vh-btn--danger{background:color-mix(in srgb,#ef4444 10%,var(--vh-surface));border:1px solid color-mix(in srgb,#ef4444 25%,var(--vh-border))}.vh-btn--danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 16%,var(--vh-surface))}[data-theme=dark] .vh-dataset-card{background:#1a1a1a;border-color:#3f3f46}.create-dataset-template .page-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.create-dataset-template .page-description{color:#666;color:var(--text-secondary,#666);margin-bottom:24px}.create-dataset-template .dataset-template-form{max-width:900px}.create-dataset-template .form-group{margin-bottom:20px}.create-dataset-template .form-group label{color:#333;color:var(--text-primary,#333);display:block;font-weight:600;margin-bottom:8px}.create-dataset-template .form-group input,.create-dataset-template .form-group select{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;font-size:15px;padding:10px 12px;width:100%}.create-dataset-template .sql-textarea{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;font-family:Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;padding:12px;width:100%}.create-dataset-template .form-actions{display:flex;gap:12px;margin-top:24px}.create-dataset-template .error-message{background:#fff0f0;border-radius:8px;color:#c00;margin-bottom:16px;padding:12px}.sql-test-questions .page-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.sql-test-questions .page-meta{color:#666;color:var(--text-secondary,#666);font-size:14px;margin-top:4px}.sql-test-questions .header-actions{display:flex;flex-wrap:wrap;gap:10px}.sql-test-questions .validate-result{border-radius:8px;margin-bottom:20px;padding:16px}.sql-test-questions .validate-result.valid{background:#e8f5e9;border:1px solid #a5d6a7}.sql-test-questions .validate-result.invalid{background:#ffebee;border:1px solid #ef9a9a}.sql-test-questions .validate-result ul{margin:8px 0 0;padding-left:20px}.sql-test-questions .questions-toolbar{margin-bottom:20px}.sql-test-questions .questions-list{display:flex;flex-direction:column;gap:16px}.sql-test-questions .question-card{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:12px;padding:16px}.sql-test-questions .question-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.sql-test-questions .q-num{color:#667eea;color:var(--primary-color,#667eea);font-weight:700}.sql-test-questions .q-marks{color:#666;color:var(--text-secondary,#666);font-size:14px}.sql-test-questions .question-text{color:#333;color:var(--text-primary,#333);margin:0 0 12px;white-space:pre-wrap}.sql-test-questions .question-actions{display:flex;gap:8px}.sql-test-questions .empty-state{background:#fff;background:var(--bg-secondary,#fff);border-radius:12px;color:#666;color:var(--text-secondary,#666);padding:32px;text-align:center}.sql-test-questions .modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.sql-test-questions .sql-question-modal{background:#fff;background:var(--bg-primary,#fff);border-radius:12px;max-height:90vh;max-width:720px;overflow-y:auto;padding:24px;width:90%}.sql-test-questions .sql-question-modal h3{margin-bottom:20px;margin-top:0}.sql-test-questions .sql-question-modal .form-group{margin-bottom:16px}.sql-test-questions .sql-question-modal .form-group label{display:block;font-weight:600;margin-bottom:6px}.sql-test-questions .sql-question-modal .form-group input,.sql-test-questions .sql-question-modal .form-group textarea{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;padding:10px;width:100%}.sql-test-questions .sql-question-modal .sql-textarea{font-family:Monaco,Menlo,Consolas,monospace;font-size:13px}.sql-test-questions .btn-run-query{margin-top:10px}.sql-test-questions .vendor-query-output{border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);border-radius:8px;margin-top:16px;padding:14px}.sql-test-questions .vendor-query-output.success{background:#fff;background:var(--bg-secondary,#fff)}.sql-test-questions .vendor-query-output.error{background:#fff5f5;background:var(--vendor-query-error-bg,#fff5f5);border-color:#feb2b2;border-color:var(--vendor-query-error-border,#feb2b2)}[data-theme=dark] .sql-test-questions .vendor-query-output.success{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .sql-test-questions .vendor-query-output.error{background:#dc26261f;border-color:#f8717180}.sql-test-questions .vendor-query-table-wrap{max-height:240px;overflow-x:auto;overflow-y:auto}.sql-test-questions .vendor-query-table{border-collapse:collapse;color:var(--text-primary);font-size:13px;width:100%}.sql-test-questions .vendor-query-table td,.sql-test-questions .vendor-query-table th{border:1px solid #dee2e6;border:1px solid var(--border-color,#dee2e6);padding:6px 10px;text-align:left}.sql-test-questions .vendor-query-table th{background:#e9ecef;background:var(--vendor-query-th-bg,#e9ecef);color:var(--text-primary);font-weight:600}[data-theme=dark] .sql-test-questions .vendor-query-table th{background:#ffffff14;border-color:var(--border-color)}.sql-test-questions .vendor-query-table td{background:#fff;background:var(--bg-primary,#fff)}[data-theme=dark] .sql-test-questions .vendor-query-table td{background:var(--bg-primary);border-color:var(--border-color)}.sql-test-questions .vendor-query-table tbody tr:nth-child(2n) td{background:#00000008}[data-theme=dark] .sql-test-questions .vendor-query-table tbody tr:nth-child(2n) td{background:#ffffff0a}.sql-test-questions .vendor-query-empty{color:#666;color:var(--text-secondary,#666);font-size:14px;margin:0}[data-theme=dark] .sql-test-questions .vendor-query-empty{color:var(--text-secondary)}.sql-test-questions .vendor-query-error{color:#c53030;color:var(--vendor-query-error-text,#c53030);font-size:14px;margin:0}[data-theme=dark] .sql-test-questions .vendor-query-error{color:#fca5a5}.sql-test-questions .sql-question-modal .form-actions{display:flex;gap:12px;margin-top:20px}.sql-test-questions .error-message{background:#fff0f0;border-radius:8px;color:#c00;font-size:14px;margin-bottom:12px;padding:10px}.interview-question-list .question-table-card{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;padding:16px}.create-interview-question .question-form{display:flex;flex-direction:column;gap:20px}.create-interview-question .form-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.create-interview-question .section-title{margin:0 0 12px}.create-interview-question .form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.create-interview-question input,.create-interview-question select,.create-interview-question textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);padding:10px 12px;width:100%}.rubric-card{grid-gap:10px;display:grid;gap:10px;grid-template-columns:2fr 3fr 1fr auto}.rubric-card,.section-header{align-items:center;margin-bottom:10px}.section-header{display:flex;justify-content:space-between}.interview-result-details{--va-pass:#16a34a;--va-warn:#ca8a04}.ird-answers-panel,.ird-panels,.ird-resources-panel,.ird-skills-panel,.ird-summary-panel{margin-bottom:16px}.ird-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ird-skill-grid{display:flex;flex-direction:column;gap:12px}.ird-skill-row{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:140px 1fr 40px}.ird-skill-label{color:var(--text-secondary);color:var(--va-muted,var(--text-secondary));font-size:.88rem;font-weight:600}.ird-skill-bar-wrap{background:var(--border-color);background:var(--va-border,var(--border-color));border-radius:4px;height:8px;overflow:hidden}.ird-skill-bar{background:linear-gradient(90deg,color-mix(in srgb,#7c3aed 80%,#6366f1),#7c3aed);background:linear-gradient(90deg,color-mix(in srgb,var(--card-accent,#7c3aed) 80%,#6366f1),var(--card-accent,#7c3aed));border-radius:4px;height:100%;transition:width .5s ease}.ird-skill-val{font-size:.88rem;font-weight:700;text-align:right}.ird-list,.ird-skill-val{color:var(--text-primary);color:var(--va-text,var(--text-primary))}.ird-list{line-height:1.65;margin:0;padding-left:1.25rem}.ird-list li{margin-bottom:6px}.ird-muted{color:var(--text-secondary);color:var(--va-muted,var(--text-secondary));list-style:none;margin-left:-1.25rem}.ird-summary-text{color:var(--text-primary);color:var(--va-text,var(--text-primary));line-height:1.7;margin:0}.ird-answers{display:flex;flex-direction:column;gap:14px}.ird-answer-card{background:var(--bg-secondary);background:var(--va-surface-2,var(--bg-secondary));border:1px solid var(--va-border,var(--border-color));border-radius:12px;padding:16px 18px}.ird-answer-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.ird-answer-head h3{color:var(--text-primary);color:var(--va-text,var(--text-primary));font-size:.95rem;font-weight:700;margin:0}.ird-q-text{font-weight:600;line-height:1.5}.ird-q-text,.ird-transcript{color:var(--text-primary);color:var(--va-text,var(--text-primary));margin:0 0 10px}.ird-transcript{line-height:1.6}.ird-meta,.ird-transcript strong{color:var(--text-secondary);color:var(--va-muted,var(--text-secondary))}.ird-meta{display:flex;flex-wrap:wrap;font-size:.85rem;gap:12px;margin-bottom:8px}.ird-feedback{background:color-mix(in srgb,#7c3aed 6%,var(--bg-primary));background:color-mix(in srgb,var(--card-accent,#7c3aed) 6%,var(--va-surface,var(--bg-primary)));border-left:3px solid #7c3aed;border-left:3px solid var(--card-accent,#7c3aed);border-radius:8px;color:var(--text-primary);color:var(--va-text,var(--text-primary));line-height:1.6;margin:0;padding:12px 14px}@media (max-width:640px){.ird-skill-row{gap:6px;grid-template-columns:1fr}.ird-skill-val{text-align:left}}[data-theme=dark] .interview-result-details{--va-pass:#6ee7b7;--va-warn:#fcd34d}[data-theme=dark] .ird-answer-card{background:#222;border-color:#3f3f46}[data-theme=dark] .ird-feedback{background:color-mix(in srgb,#7c3aed 12%,#1a1a1a);background:color-mix(in srgb,var(--card-accent,#7c3aed) 12%,#1a1a1a);border-left-color:#a78bfa;border-left-color:var(--card-accent,#a78bfa)}[data-theme=dark] .ird-skill-bar-wrap{background:#3f3f46}.create-assignment-container{animation:fadeIn .5s ease;margin:0 auto;max-width:1200px;padding:20px}.create-assignment-header{align-items:center;animation:fadeInDown .5s ease;display:flex;gap:20px;margin-bottom:30px}.create-assignment-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.back-button{background:var(--bg-secondary)}.back-button:hover{border-color:#667eea}.create-assignment-form{animation:fadeInUp .6s ease;display:flex;flex-direction:column;gap:30px}.form-section{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);padding:28px;transition:all .3s ease}.form-section:hover{border-color:#667eea4d;box-shadow:0 6px 20px var(--shadow)}.form-section h2{color:var(--text-primary);font-size:22px;font-weight:700;margin-bottom:10px}.section-description{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:24px}.form-group input[type=datetime-local],.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background:var(--input-bg);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--card-bg);border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--input-bg);border-color:var(--border-color)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:#8b9ef7;box-shadow:0 0 0 3px #8b9ef733}.form-group input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:18px;margin-right:8px;width:auto}[data-theme=dark] .form-group input[type=checkbox]{accent-color:#8b9ef7;filter:brightness(1.2)}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group.flex-2{grid-column:span 2}.tech-stack-input{display:flex;gap:10px}.tech-stack-input input{flex:1 1}.add-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease;white-space:nowrap}.add-button:hover{box-shadow:0 6px 16px #667eea66;transform:translateY(-2px)}.tech-stack-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tech-tag{align-items:center;background:linear-gradient(135deg,#667eea26,#764ba21a);border:2px solid #667eea4d;border-radius:20px;color:#667eea;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 14px;transition:all .3s ease}[data-theme=dark] .tech-tag{background:linear-gradient(135deg,#8b9ef733,#9f7aea26);border-color:#8b9ef766;color:#8b9ef7}.tech-tag:hover{box-shadow:0 4px 8px #667eea33;transform:translateY(-2px)}.tech-tag button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0;transition:transform .2s ease}.tech-tag button:hover{transform:scale(1.2)}.feature-item{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:20px;transition:all .3s ease}.feature-item:hover{border-color:#667eea80;box-shadow:0 4px 12px var(--shadow)}[data-theme=dark] .feature-item{background:#2a2a2a99}.feature-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.feature-header h4{color:var(--text-primary);font-weight:600;margin:0}.remove-button{background:linear-gradient(135deg,#ff5252,#e53935);border:none;border-radius:8px;box-shadow:0 2px 8px #ff52524d;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .3s ease}.remove-button:hover{box-shadow:0 4px 12px #ff525266;transform:translateY(-2px)}.checkbox-group{align-items:center;display:flex;padding-top:28px}.checkbox-group label{align-items:center;display:flex;gap:6px;margin:0}.add-feature-button{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:14px;transition:all .3s ease;width:100%}.add-feature-button:hover{background:#667eea1a;border-color:#667eea;border-style:solid;color:#667eea}[data-theme=dark] .add-feature-button:hover{background:#8b9ef726;border-color:#8b9ef7;color:#8b9ef7}.marks-summary{background:linear-gradient(135deg,#667eea1a,#764ba20d);border:2px solid #667eea4d;border-radius:10px;color:#667eea;font-weight:600;margin-top:16px;padding:14px 18px}[data-theme=dark] .marks-summary{background:linear-gradient(135deg,#8b9ef726,#9f7aea1a);border-color:#8b9ef766;color:#8b9ef7}.marks-summary .warning{color:#ff9800;font-weight:700;margin-left:8px}[data-theme=dark] .marks-summary .warning{color:#ffb74d}.weights-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.weight-item label{color:#666;display:block;font-size:13px;font-weight:400;margin-bottom:6px}.weight-input{align-items:center;display:flex;gap:8px}.weight-input input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:8px 12px}.weight-input span{color:#666;font-size:14px;font-weight:500}.weights-total{background:linear-gradient(135deg,#4caf501a,#2e7d320d);border:2px solid #4caf504d;border-radius:10px;color:#4caf50;font-weight:600;padding:14px 18px;text-align:center}[data-theme=dark] .weights-total{background:linear-gradient(135deg,#81c78426,#66bb6a1a);border-color:#81c78466;color:#81c784}.weights-total .warning{color:#ff9800;font-weight:700;margin-left:8px}[data-theme=dark] .weights-total .warning{color:#ffb74d}.rules-checkboxes{display:flex;flex-direction:column;gap:12px}.rules-checkboxes label{align-items:center;color:#333;cursor:pointer;display:flex;font-weight:400;gap:10px}.rules-checkboxes input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;justify-content:flex-end;padding:20px}.cancel-button,.submit-button{padding:14px 36px}.cancel-button{background:var(--bg-secondary)}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 16px #667eea66}.submit-button:hover{box-shadow:0 6px 20px #667eea80}@media (max-width:768px){.create-assignment-container{padding:12px}.form-section{padding:16px}.form-row{grid-template-columns:1fr}.form-group.flex-2{grid-column:span 1}.weights-grid{grid-template-columns:1fr}}.assignment-details-container{animation:fadeIn .5s ease;margin:0 auto;max-width:900px;padding:20px}.assignment-details-header{margin-bottom:32px}.assignment-details-header .back-button{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.assignment-details-header .back-button:hover{background:var(--border-color);border-color:#667eea}.assignment-details-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px}.assignment-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.assignment-meta-row .meta-chip,.assignment-meta-row .status-badge{border-radius:20px;font-size:13px;font-weight:600;padding:6px 14px;text-transform:capitalize}.assignment-meta-row .meta-chip{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.assignment-meta-row .meta-chip.difficulty{border:none;color:#fff}.assignment-details-content{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);padding:28px}.detail-section{margin-bottom:28px}.detail-section:last-of-type{margin-bottom:0}.detail-section h2{border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 12px;padding-bottom:8px}.detail-section .rich-content{color:var(--text-primary);line-height:1.6}.feature-list{list-style:disc;margin:0;padding-left:24px}.feature-list li{line-height:1.6;margin-bottom:14px}.feature-list .feature-marks{color:var(--text-secondary);font-size:.95em}.feature-list .required-badge{background:#ff980033;border-radius:4px;color:#e65100;font-size:12px;font-weight:600;margin-left:8px;padding:2px 8px}[data-theme=dark] .feature-list .required-badge{background:#ffb74d33;color:#ffb74d}.feature-list .feature-description{color:var(--text-secondary);font-size:14px;margin-left:0;margin-top:8px;padding-left:0}.detail-actions{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:24px}.action-btn{border:2px solid #0000;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;color:#fff}.action-btn.primary:hover{box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.action-btn.secondary{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}.action-btn.secondary:hover{background:var(--border-color)}.action-btn.edit{background:linear-gradient(135deg,#17a2b8,#138496);border-color:#0000;color:#fff}.action-btn.edit:hover{box-shadow:0 4px 16px #17a2b866;transform:translateY(-2px)}.csd-container{margin:0 auto;max-width:1200px;padding:28px}.csd-header{align-items:center;border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.csd-header h1{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.6rem;font-weight:700;margin:0}.csd-header-actions{display:flex;gap:10px}.csd-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 22px;transition:all .2s ease}.csd-btn.primary{background:linear-gradient(90deg,#ed0331,#87021c);background:var(--primary-gradient,linear-gradient(to right,#ed0331,#87021c));color:#fff}.csd-btn.primary:hover{box-shadow:0 4px 12px #ed033140;opacity:.9;transform:translateY(-1px)}.csd-btn.primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.csd-btn.secondary{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);color:#333;color:var(--text-primary,#333)}.csd-btn.secondary:hover{background:#e0e0e0;background:var(--border-color,#e0e0e0);transform:translateY(-1px)}.csd-btn-small{background:#fff;background:var(--bg-secondary,#fff);border:1px dashed #e0e0e0;border:1px dashed var(--border-color,#e0e0e0);border-radius:6px;color:#ed0331;color:var(--primary-color,#ed0331);cursor:pointer;font-size:.85rem;font-weight:600;margin-top:10px;padding:7px 16px;transition:all .2s ease}.csd-btn-small:hover{background:#e0e0e0;background:var(--border-color,#e0e0e0);border-style:solid}.csd-error{background:#fff5f5;background:var(--bg-secondary,#fff5f5);border:1px solid #e53935;border-radius:8px;color:#e53935;font-size:.9rem;font-weight:500;margin-bottom:16px;padding:12px 16px}.csd-tabs{border-bottom:2px solid #e0e0e0;border-bottom:2px solid var(--border-color,#e0e0e0);display:flex;gap:0;margin-bottom:28px;overflow-x:auto}.csd-tab{background:none;border:none;border-bottom:3px solid #0000;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:.9rem;font-weight:600;margin-bottom:-2px;padding:12px 20px;position:relative;transition:all .2s ease;white-space:nowrap}.csd-tab:hover{background:#fff;background:var(--bg-secondary,#fff);color:#333;color:var(--text-primary,#333)}.csd-tab.active{border-bottom-color:#ed0331;border-bottom-color:var(--primary-color,#ed0331);color:#ed0331;color:var(--primary-color,#ed0331)}.csd-content{background:#fff;background:var(--card-bg,var(--bg-primary,#fff));border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:12px;box-shadow:0 2px 8px #0000000f;box-shadow:0 2px 8px var(--shadow,#0000000f);padding:28px}.csd-info{background:#fff;background:var(--bg-secondary,#fff);border-left:4px solid #ed0331;border-left:4px solid var(--primary-color,#ed0331);border-radius:8px;color:#888;color:var(--text-secondary,#888);font-size:.9rem;line-height:1.5;margin-bottom:24px;padding:14px 18px}.csd-field{margin-bottom:18px}.csd-field label{color:#333;color:var(--text-primary,#333);display:block;font-size:.88rem;font-weight:600;letter-spacing:.01em;margin-bottom:7px}.csd-field input[type=number],.csd-field input[type=text],.csd-field select,.csd-field textarea{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;box-sizing:border-box;color:#333;color:var(--text-primary,#333);font-size:.9rem;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.csd-field textarea{font-family:inherit;line-height:1.5;resize:vertical}.csd-field input:focus,.csd-field select:focus,.csd-field textarea:focus{border-color:#ed0331;border-color:var(--primary-color,#ed0331);box-shadow:0 0 0 3px #ed03311a;outline:none}.csd-field select option{background:#fff;background:var(--bg-primary,#fff);color:#333;color:var(--text-primary,#333)}.csd-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.csd-row .csd-field{margin-bottom:16px}.csd-checkbox-label{align-items:center;cursor:pointer;display:flex!important;font-weight:500!important;gap:10px}.csd-checkbox-label input[type=checkbox]{accent-color:#ed0331;accent-color:var(--primary-color,#ed0331);cursor:pointer;height:18px;width:18px}.csd-section h3{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color,#e0e0e0);color:#333;color:var(--text-primary,#333);font-size:1rem;font-weight:700;margin:24px 0 14px;padding-bottom:8px}.csd-section h3:first-child{margin-top:0}.csd-weight-total{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;font-size:1rem;font-weight:700;margin-bottom:20px;padding:12px;text-align:center}.csd-weights-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.csd-weight-item{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;padding:14px 18px;transition:border-color .2s ease}.csd-weight-item:hover{border-color:#ed0331;border-color:var(--primary-color,#ed0331)}.csd-weight-item label{color:#333;color:var(--text-primary,#333);display:block;font-size:.85rem;font-weight:600;margin-bottom:8px}.csd-weight-input-wrap{align-items:center;display:flex;gap:12px}.csd-weight-input-wrap input[type=range]{accent-color:#ed0331;accent-color:var(--primary-color,#ed0331);cursor:pointer;flex:1 1;height:6px}.csd-weight-value{color:#ed0331;color:var(--primary-color,#ed0331);font-size:1rem;font-weight:700;min-width:42px;text-align:right}.csd-ref-section{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;margin-bottom:16px;padding:18px;transition:border-color .2s ease}.csd-ref-section:hover{border-color:#ed0331;border-color:var(--primary-color,#ed0331)}.csd-ref-section h3{border-bottom:none!important;color:#ed0331;color:var(--primary-color,#ed0331);font-size:.92rem;margin:0 0 12px!important;padding-bottom:0!important}.csd-hint-section{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;margin-bottom:16px;padding:18px}.csd-hint-section h3{border-bottom:none!important;color:#ed0331;color:var(--primary-color,#ed0331);font-size:.92rem;margin:0 0 14px!important;padding-bottom:0!important}.csd-hint-item{background:#fff;background:var(--bg-primary,#fff);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:10px;margin-bottom:14px;padding:14px}.csd-hint-editor-row{display:flex;flex-direction:column;gap:10px}.csd-hint-editor-wrap{width:100%}.csd-hint-controls{align-items:center;border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color,#e0e0e0);display:flex;gap:12px;justify-content:space-between;padding-top:8px}.csd-hint-penalty-wrap{align-items:center;display:flex;font-size:.85rem;font-weight:500;gap:5px;white-space:nowrap}.csd-hint-penalty-wrap,.csd-hint-penalty-wrap label{color:#666;color:var(--text-secondary,#666)}.csd-hint-penalty{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;color:#333;color:var(--text-primary,#333);font-size:.88rem;padding:7px 6px;text-align:center;transition:border-color .2s ease;width:54px}.csd-hint-penalty:focus{border-color:#ed0331;border-color:var(--primary-color,#ed0331);box-shadow:0 0 0 3px #ed03311a;outline:none}.csd-hint-remove{background:#0000;border:1px solid #e53935;border-radius:8px;color:#e53935;cursor:pointer;font-size:.8rem;font-weight:600;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.csd-hint-remove:hover{background:#e53935;color:#fff}.csd-scenario-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.csd-scenario-row input{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;color:#333;color:var(--text-primary,#333);flex:1 1;font-size:.88rem;padding:9px 12px;transition:border-color .2s ease}.csd-scenario-row input:focus{border-color:#ed0331;border-color:var(--primary-color,#ed0331);box-shadow:0 0 0 3px #ed03311a;outline:none}.csd-hint-item .rich-text-editor-wrapper,.csd-ref-section .rich-text-editor-wrapper,.csd-section .rich-text-editor-wrapper{background:#fff;background:var(--input-bg,var(--bg-primary,#fff));border-color:#e0e0e0;border-color:var(--border-color,#e0e0e0)}.csd-hint-item .rich-text-editor-wrapper .ql-toolbar,.csd-ref-section .rich-text-editor-wrapper .ql-toolbar,.csd-section .rich-text-editor-wrapper .ql-toolbar{background:#fff;background:var(--bg-secondary,#fff);border-color:#e0e0e0;border-color:var(--border-color,#e0e0e0)}[data-theme=dark] .csd-container .ql-toolbar .ql-stroke{stroke:#b0b0b0;stroke:var(--text-secondary,#b0b0b0)}[data-theme=dark] .csd-container .ql-toolbar .ql-fill{fill:#b0b0b0;fill:var(--text-secondary,#b0b0b0)}[data-theme=dark] .csd-container .ql-toolbar .ql-picker-label{color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .csd-container .ql-toolbar .ql-picker-label:hover .ql-stroke,[data-theme=dark] .csd-container .ql-toolbar button:hover .ql-stroke{stroke:#ed0331;stroke:var(--primary-color,#ed0331)}[data-theme=dark] .csd-container .ql-toolbar .ql-picker-label:hover .ql-fill,[data-theme=dark] .csd-container .ql-toolbar button:hover .ql-fill{fill:#ed0331;fill:var(--primary-color,#ed0331)}[data-theme=dark] .csd-container .ql-toolbar button.ql-active .ql-stroke{stroke:#ed0331;stroke:var(--primary-color,#ed0331)}[data-theme=dark] .csd-container .ql-toolbar button.ql-active .ql-fill{fill:#ed0331;fill:var(--primary-color,#ed0331)}[data-theme=dark] .csd-container .ql-picker-options{background:#2a2a2a!important;background:var(--bg-secondary,#2a2a2a)!important;border-color:#404040!important;border-color:var(--border-color,#404040)!important}[data-theme=dark] .csd-container .ql-picker-item{color:#fff!important;color:var(--text-primary,#fff)!important}[data-theme=dark] .csd-container .ql-picker-item:hover{color:#ed0331!important;color:var(--primary-color,#ed0331)!important}[data-theme=dark] .csd-container .ql-picker-label{border-color:#0000!important}[data-theme=dark] .csd-container .ql-container{background:#2a2a2a;background:var(--input-bg,#2a2a2a)}[data-theme=dark] .csd-container .ql-editor{color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .csd-container .ql-editor.ql-blank:before{color:#888;color:var(--text-secondary,#888)}[data-theme=dark] .csd-container .ql-snow .ql-tooltip{background:#2a2a2a;background:var(--bg-secondary,#2a2a2a);border-color:#404040;border-color:var(--border-color,#404040);box-shadow:0 4px 12px #0006;color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .csd-container .ql-snow .ql-tooltip input[type=text]{background:#1a1a1a;background:var(--bg-primary,#1a1a1a);border-color:#404040;border-color:var(--border-color,#404040);color:#fff;color:var(--text-primary,#fff)}[data-theme=dark] .csd-container .ql-snow .ql-tooltip a{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}.csd-rich-preview{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:12px;margin-top:16px;padding:16px 18px}.csd-rich-preview-label{color:#666;color:var(--text-secondary,#666);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0 0 12px;text-transform:uppercase}.csd-rich-preview-body.rich-text-display{font-size:.95rem}[data-theme=dark] .csd-rich-preview{background:#222;border-color:#404040;border-color:var(--border-color,#404040)}[data-theme=dark] .csd-rich-preview-label{color:#b0b0b0;color:var(--text-secondary,#b0b0b0)}@media (max-width:768px){.csd-container{padding:16px}.csd-content{padding:18px}.csd-header{align-items:flex-start;flex-direction:column;gap:12px}.csd-row,.csd-weights-grid{grid-template-columns:1fr}.csd-hint-controls{flex-wrap:wrap}.csd-tabs{gap:0}.csd-tab{font-size:.82rem;padding:10px 14px}}.van-page{--vh-accent:#e7210b}.van-stats{margin-bottom:18px}.van-toolbar{align-items:center;gap:14px;justify-content:space-between;margin-bottom:18px}.van-filters,.van-toolbar{display:flex;flex-wrap:wrap}.van-filters{gap:8px}.van-filter{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:700;gap:8px;padding:8px 14px;transition:border-color .15s ease,background .15s ease,color .15s ease}.van-filter:hover{border-color:color-mix(in srgb,var(--vh-accent) 25%,var(--vh-border));color:var(--vh-text)}.van-filter.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.van-filter-count{background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);font-size:.72rem;padding:2px 8px}.van-filter.is-active .van-filter-count{background:color-mix(in srgb,var(--vh-accent) 14%,var(--vh-surface));border-color:#0000;color:var(--vh-accent)}.van-search{flex:1 1;margin-bottom:0;max-width:360px;min-width:min(100%,280px)}.van-loading-inline{color:var(--vh-muted);font-size:.85rem;padding:8px 0 16px}.van-empty{background:var(--vh-surface-2);border:1px dashed var(--vh-border);border-radius:var(--vh-radius-lg);padding:48px 24px;text-align:center}.van-empty h2{color:var(--vh-text);font-size:1.15rem;margin:0 0 8px}.van-empty p{color:var(--vh-muted);font-size:.9rem;line-height:1.5;margin:0 auto 18px;max-width:420px}.van-list{display:flex;flex-direction:column;gap:12px}.van-card{grid-gap:16px;align-items:flex-start;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow);display:grid;gap:16px;grid-template-columns:auto 1fr auto;padding:18px 20px;transition:border-color .15s ease,box-shadow .15s ease}.van-card:hover{border-color:color-mix(in srgb,var(--vh-accent) 22%,var(--vh-border));box-shadow:0 6px 20px #0f172a0f}.van-card--published{border-left:3px solid #059669}.van-card--draft{border-left:3px solid #f59e0b}.van-card--archived{border-left:3px solid var(--vh-border);opacity:.88}.van-card--important.van-card--published{border-left-color:#ea580c}.van-card-icon{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:14px;color:var(--vh-muted);display:flex;flex-shrink:0;font-size:1.2rem;height:48px;justify-content:center;width:48px}.van-card-icon--warn{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.van-card-main{min-width:0}.van-card-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:8px}.van-card-head h3{color:var(--vh-text);font-size:1.02rem;font-weight:700;line-height:1.35;margin:0}.van-card-badges{display:flex;flex-wrap:wrap;gap:6px}.van-status{border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.van-status--published{background:color-mix(in srgb,#10b981 12%,#0000);border:1px solid color-mix(in srgb,#10b981 25%,#0000);color:#059669}.van-status--draft{background:color-mix(in srgb,#f59e0b 12%,#0000);border:1px solid color-mix(in srgb,#f59e0b 25%,#0000);color:#b45309}.van-status--archived{background:var(--vh-surface-2);border:1px solid var(--vh-border);color:var(--vh-muted)}.van-priority{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#ea580c;display:inline-flex;font-size:.68rem;font-weight:700;gap:4px;padding:4px 10px}.van-card-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--vh-muted);display:-webkit-box;font-size:.86rem;line-height:1.55;margin:0 0 10px;overflow:hidden}.van-card-meta{color:var(--vh-muted);display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px 16px}.van-meta-item{align-items:center;display:inline-flex;gap:5px}.van-meta-item--accent{color:var(--vh-accent);font-weight:600}.van-card-actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.van-act-publish{border-color:color-mix(in srgb,#10b981 30%,var(--vh-border))!important;color:#059669!important}.vh-btn--sm{padding:7px 12px}[data-theme=dark] .van-card{background:#1a1a1a}[data-theme=dark] .van-card:hover{background:#1f1f1f;box-shadow:0 8px 24px #00000059}[data-theme=dark] .van-card-icon{background:#222}[data-theme=dark] .van-card-icon--warn{background:#ea580c1f;border-color:#fb923c59}[data-theme=dark] .van-filter{background:#1a1a1a}[data-theme=dark] .van-filter.is-active{background:color-mix(in srgb,var(--vh-accent) 16%,#1a1a1a)}[data-theme=dark] .van-priority{background:#ea580c1f;border-color:#fb923c59}[data-theme=dark] .van-empty{background:#222}@media (max-width:900px){.van-card{grid-template-columns:auto 1fr}.van-card-actions{border-top:1px solid var(--vh-border);grid-column:1/-1;justify-content:flex-start;padding-top:8px}.van-toolbar{align-items:stretch;flex-direction:column}.van-search{max-width:none}}@media (max-width:540px){.van-card{grid-template-columns:1fr}.van-card-icon{height:42px;width:42px}}.vca-page{--vh-accent:#e7210b}.vca-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 320px}.vca-main{display:flex;flex-direction:column;gap:16px}.vca-section{margin-bottom:0}.vca-choice-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.vca-choice-row--compact .vca-choice{padding:14px 16px}.vca-choice{align-items:flex-start;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:14px;color:var(--vh-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;padding:16px 18px;text-align:left;transition:border-color .15s ease,background .15s ease,color .15s ease}.vca-choice svg{font-size:1.1rem}.vca-choice span{color:var(--vh-text);font-size:.92rem;font-weight:700}.vca-choice small{color:var(--vh-muted);font-size:.78rem;line-height:1.4}.vca-choice:hover{border-color:color-mix(in srgb,var(--vh-accent) 28%,var(--vh-border))}.vca-choice.is-active{background:color-mix(in srgb,var(--vh-accent) 8%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border))}.vca-choice.is-active span{color:var(--vh-accent)}.vca-choice--warn.is-active{background:color-mix(in srgb,#ea580c 8%,var(--vh-surface));border-color:color-mix(in srgb,#ea580c 45%,var(--vh-border))}.vca-choice--warn.is-active span{color:#ea580c}.vca-classrooms{border-top:1px solid var(--vh-border);margin-top:16px;padding-top:16px}.vca-classroom-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.vca-classroom-search{flex:1 1;margin-bottom:0;min-width:180px}.vca-classroom-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;padding-right:2px}.vca-classroom-row{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:border-color .15s ease,background .15s ease}.vca-classroom-row:hover{border-color:color-mix(in srgb,var(--vh-accent) 28%,var(--vh-border))}.vca-classroom-row.is-selected{background:color-mix(in srgb,var(--vh-accent) 7%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border))}.vca-classroom-row input[type=checkbox]{accent-color:var(--vh-accent);flex-shrink:0;height:18px;width:18px}.vca-classroom-info{align-items:center;display:flex;flex:1 1;gap:12px;justify-content:space-between;min-width:0}.vca-classroom-name{color:var(--vh-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vca-classroom-count{color:var(--vh-muted);flex-shrink:0;font-size:.75rem}.vca-no-classrooms{align-items:flex-start;background:var(--vh-surface-2);border:1px dashed var(--vh-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.vca-no-classrooms p{color:var(--vh-muted);font-size:.88rem;margin:0}.vca-actions{display:flex;flex-wrap:wrap;gap:10px;padding:4px 0 8px}.vca-preview{position:-webkit-sticky;position:sticky;top:88px;top:calc(var(--navbar-height, 72px) + 16px)}.vca-preview-inner{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow);padding:18px}.vca-preview-label{color:var(--vh-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0 0 14px;text-transform:uppercase}.vca-preview-card{background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:14px;padding:16px}.vca-preview-card--important{border-left:3px solid #ea580c}.vca-preview-badge{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#ea580c;display:inline-flex;font-size:.72rem;font-weight:700;gap:5px;margin-bottom:10px;padding:4px 10px}.vca-preview-card h3{color:var(--vh-text);font-size:1.02rem;font-weight:700;line-height:1.35;margin:0 0 12px}.vca-preview-body{font-size:.88rem;line-height:1.6}.vca-preview-placeholder{color:var(--vh-muted);font-size:.88rem;font-style:italic;margin:0}.vca-preview-foot{border-top:1px dashed var(--vh-border);color:var(--vh-muted);font-size:.78rem;margin-top:14px;padding-top:12px}.vca-preview-foot span{align-items:center;display:inline-flex;gap:6px}.vca-preview-empty{background:var(--vh-surface-2);border:1px dashed var(--vh-border);border-radius:14px;color:var(--vh-muted);padding:28px 16px;text-align:center}.vca-preview-empty svg{font-size:1.8rem;margin-bottom:10px;opacity:.5}.vca-preview-empty p{font-size:.86rem;line-height:1.5;margin:0}[data-theme=dark] .vca-choice{background:#222}[data-theme=dark] .vca-classroom-row{background:#1a1a1a}[data-theme=dark] .vca-classroom-row.is-selected{background:color-mix(in srgb,var(--vh-accent) 12%,#1a1a1a)}[data-theme=dark] .vca-preview-card,[data-theme=dark] .vca-preview-inner{background:#1a1a1a}[data-theme=dark] .vca-preview-badge{background:#ea580c1f;border-color:#fb923c59}@media (max-width:960px){.vca-layout{grid-template-columns:1fr}.vca-preview{position:static}.vca-choice-row{grid-template-columns:1fr}}@media (max-width:540px){.vca-classroom-toolbar{align-items:stretch;flex-direction:column}.vca-classroom-info{align-items:flex-start;flex-direction:column;gap:4px}}.vco-page{--vh-accent:#e7210b}.vco-stats{margin-bottom:18px}.vco-toolbar{align-items:center;gap:14px;justify-content:space-between;margin-bottom:18px}.vco-filters,.vco-toolbar{display:flex;flex-wrap:wrap}.vco-filters{gap:8px}.vco-filter{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:700;gap:8px;padding:8px 14px;transition:border-color .15s ease,background .15s ease,color .15s ease}.vco-filter:hover{border-color:color-mix(in srgb,var(--vh-accent) 25%,var(--vh-border));color:var(--vh-text)}.vco-filter.is-active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));color:var(--vh-accent)}.vco-filter-count{font-feature-settings:"tnum";background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);font-size:.72rem;font-variant-numeric:tabular-nums;padding:2px 8px}.vco-filter.is-active .vco-filter-count{background:color-mix(in srgb,var(--vh-accent) 14%,var(--vh-surface));border-color:#0000;color:var(--vh-accent)}.vco-search{flex:1 1;margin-bottom:0;max-width:360px;min-width:min(100%,280px)}.vco-loading-inline{color:var(--vh-muted);font-size:.85rem;padding:8px 0 16px}.vco-empty{background:var(--vh-surface-2);border:1px dashed var(--vh-border);border-radius:var(--vh-radius-lg);padding:48px 24px;text-align:center}.vco-empty h2{color:var(--vh-text);font-size:1.15rem;margin:0 0 8px}.vco-empty p{color:var(--vh-muted);font-size:.9rem;line-height:1.55;margin:0 auto 18px;max-width:460px}.vco-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.vco-card{grid-gap:16px;align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow);display:grid;gap:16px;grid-template-columns:auto 1fr auto;padding:18px 20px;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.vco-card:hover{border-color:color-mix(in srgb,var(--vco-accent,var(--vh-accent)) 35%,var(--vh-border));box-shadow:0 8px 24px #0f172a12}.vco-card--ended{opacity:.92}.vco-card-accent{background:var(--vh-accent);background:var(--vco-accent,var(--vh-accent));border-radius:0 4px 4px 0;bottom:12px;left:0;position:absolute;top:12px;width:4px}.vco-card-icon{align-items:center;background:color-mix(in srgb,var(--vh-accent) 12%,var(--vh-surface));background:color-mix(in srgb,var(--vco-accent,var(--vh-accent)) 12%,var(--vh-surface));border:1px solid color-mix(in srgb,var(--vco-accent,var(--vh-accent)) 22%,#0000);border-radius:14px;color:var(--vh-accent);color:var(--vco-accent,var(--vh-accent));display:flex;flex-shrink:0;font-size:1.25rem;height:50px;justify-content:center;margin-left:8px;width:50px}.vco-card-body{min-width:0}.vco-card-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:6px}.vco-card-title{color:var(--vh-text);flex:1 1;font-size:1.06rem;font-weight:700;line-height:1.35;margin:0;min-width:160px}.vco-card-badges{display:flex;flex-wrap:wrap;gap:6px}.vco-type-pill{background:color-mix(in srgb,var(--vh-accent) 12%,#0000);background:color-mix(in srgb,var(--vco-accent,var(--vh-accent)) 12%,#0000);border:1px solid color-mix(in srgb,var(--vco-accent,var(--vh-accent)) 25%,#0000);border-radius:999px;color:var(--vh-accent);color:var(--vco-accent,var(--vh-accent))}.vco-status,.vco-type-pill{font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.vco-status{border-radius:999px}.vco-status--published{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.vco-status--draft{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.vco-status--ended{background:var(--vh-surface-2);border:1px solid var(--vh-border);color:var(--vh-muted)}.vco-phase{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.68rem;font-weight:700;gap:4px;padding:3px 10px}.vco-phase--live{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.vco-phase--live:before{animation:vcoPulse 1.6s ease-in-out infinite;background:#10b981;border-radius:50%;content:"";height:6px;width:6px}@keyframes vcoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.vco-phase--upcoming{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.vco-phase--closed{background:var(--vh-surface-2);border-color:var(--vh-border);color:var(--vh-muted)}.vco-card-assessment{color:var(--vh-muted);font-size:.86rem;line-height:1.45;margin:0 0 10px}.vco-card-assessment strong{color:var(--vh-text);font-weight:600}.vco-card-meta{color:var(--vh-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:8px 14px}.vco-meta-item{align-items:center;display:inline-flex;gap:5px}.vco-meta-item svg{flex-shrink:0;opacity:.75}.vco-meta-item--accent{color:var(--vh-accent);font-weight:600}.vco-meta-item--accent strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.vco-card-slug{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:8px;color:var(--vh-muted);display:inline-flex;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;gap:6px;margin-top:8px;padding:4px 10px}.vco-card-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.vco-act-publish{border-color:color-mix(in srgb,#10b981 30%,var(--vh-border))!important;color:#047857!important}.vco-act-publish:hover:not(:disabled){background:#ecfdf5!important}[data-theme=dark] .vco-card{background:#1a1a1a}[data-theme=dark] .vco-card:hover{background:#1f1f1f;box-shadow:0 8px 24px #00000059}[data-theme=dark] .vco-phase--live,[data-theme=dark] .vco-status--published{background:#10b9811f;border-color:#34d39959;color:#6ee7b7}[data-theme=dark] .vco-status--draft{background:#f59e0b1f;border-color:#fbbf2459;color:#fcd34d}[data-theme=dark] .vco-phase--upcoming{background:#3b82f61f;border-color:#60a5fa59;color:#93c5fd}[data-theme=dark] .vco-filter{background:#1a1a1a}[data-theme=dark] .vco-filter.is-active{background:color-mix(in srgb,var(--vh-accent) 16%,#1a1a1a)}[data-theme=dark] .vco-empty{background:#222}@media (max-width:900px){.vco-card{grid-template-columns:auto 1fr}.vco-card-actions{border-top:1px solid var(--vh-border);grid-column:1/-1;justify-content:flex-start;margin-top:4px;padding-top:12px}.vco-toolbar{align-items:stretch;flex-direction:column}.vco-search{max-width:none}}@media (max-width:540px){.vco-card{grid-template-columns:1fr;padding:16px}.vco-card-icon{height:44px;margin-left:0;width:44px}.vco-card-accent{border-radius:var(--vh-radius-lg) var(--vh-radius-lg) 0 0;bottom:auto;height:4px;left:0;right:0;top:0;width:auto}}.vco-form-page{--vh-accent:#e7210b}.vco-form-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 300px}.vco-form-main{min-width:0}.vco-form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.vco-assessment-field{grid-column:1/-1}.vco-assessment-empty{color:#64748b;color:var(--vh-muted,#64748b)}.vco-check-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:16px}.vco-check{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:10px;color:var(--vh-text);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;gap:10px;padding:12px 14px;transition:border-color .15s ease,background .15s ease}.vco-check:has(input:checked){background:color-mix(in srgb,var(--vh-accent) 6%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 35%,var(--vh-border))}.vco-check input{accent-color:var(--vh-accent)}.vco-max-field{max-width:240px}.vco-form-actions{margin-top:4px;padding-top:8px}.vco-link-panel{position:-webkit-sticky;position:sticky;top:88px;top:calc(var(--navbar-height, 72px) + 16px)}.vco-link-box{align-items:flex-start;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:10px;color:var(--vh-muted);display:flex;gap:10px;padding:12px 14px}.vco-link-box code{color:var(--vh-text);font-size:.78rem;line-height:1.45;word-break:break-all}@media (max-width:960px){.vco-form-layout{grid-template-columns:1fr}.vco-form-aside{order:-1}.vco-link-panel{position:static}}@media (max-width:640px){.vco-form-row{grid-template-columns:1fr}}.vco-panel{margin-bottom:20px}.vco-participants-search{height:40px;margin-bottom:0;max-width:300px;min-width:220px}.vco-empty--compact{background:#0000;border:none;padding:36px 20px}.vco-rank{align-items:center;background:var(--vh-surface-2);border-radius:8px;color:var(--vh-muted);display:inline-flex;font-size:.82rem;font-weight:800;height:28px;justify-content:center;min-width:28px}.vco-rank--top{background:color-mix(in srgb,var(--vh-accent) 12%,var(--vh-surface));border:1px solid color-mix(in srgb,var(--vh-accent) 25%,#0000);color:var(--vh-accent)}.vco-participant-status{border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;padding:4px 10px;text-transform:capitalize}.vco-participant-status--registered{background:color-mix(in srgb,#0ea5e9 12%,#0000);border:1px solid color-mix(in srgb,#0ea5e9 25%,#0000);color:#0369a1}.vco-participant-status--in_progress{background:color-mix(in srgb,#f59e0b 12%,#0000);border:1px solid color-mix(in srgb,#f59e0b 25%,#0000);color:#b45309}.vco-participant-status--completed{background:color-mix(in srgb,#10b981 12%,#0000);border:1px solid color-mix(in srgb,#10b981 25%,#0000);color:#059669}.vco-participant-status--disqualified{background:color-mix(in srgb,#ef4444 10%,#0000);border:1px solid color-mix(in srgb,#ef4444 25%,#0000);color:#dc2626}@media (max-width:768px){.vco-participants-search{max-width:none;width:100%}}.create-english-question{margin:0 auto;max-width:1000px;padding:20px}.create-english-question .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.create-english-question .question-form{display:flex;flex-direction:column;gap:24px}.create-english-question .form-section{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px}.create-english-question .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.create-english-question .section-title{color:var(--text-primary);font-size:1.4em;font-weight:600;margin:0 0 10px}.create-english-question .section-desc{color:var(--text-secondary);font-size:.9em;margin-bottom:15px}.create-english-question .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.create-english-question .form-group{margin-bottom:16px}.create-english-question .form-group.full-width{grid-column:1/-1}.create-english-question .form-group label{color:var(--text-primary);display:block;font-size:.9em;font-weight:500;margin-bottom:6px}.create-english-question .form-input,.create-english-question .form-select,.create-english-question .form-textarea{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:var(--text-primary);font-size:.95em;padding:10px 12px;transition:border-color .2s ease;width:100%}.create-english-question .form-input:focus,.create-english-question .form-select:focus,.create-english-question .form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ed03311a;outline:none}.create-english-question .form-textarea{font-family:inherit;resize:vertical}.create-english-question .mono-text{font-family:Courier New,monospace;font-size:.85em}.create-english-question .options-container{display:flex;flex-direction:column;gap:12px}.create-english-question .option-card{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:10px;padding:16px;transition:all .2s ease}.create-english-question .option-card.option-correct{background:linear-gradient(135deg,#28a74514,#1e7e3408);border-color:#28a745}.create-english-question .option-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.create-english-question .option-number{color:var(--text-primary);font-size:.9em;font-weight:600}.create-english-question .option-actions{align-items:center;display:flex;gap:12px}.create-english-question .correct-checkbox{align-items:center;cursor:pointer;display:flex;gap:6px}.create-english-question .correct-checkbox input[type=checkbox]{accent-color:#28a745;height:16px;width:16px}.create-english-question .correct-label{color:var(--text-primary);font-size:.85em;font-weight:500}.create-english-question .btn-icon{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:1.3em;padding:4px 8px;transition:all .2s ease}.create-english-question .btn-icon:hover:not(:disabled){background-color:#dc35451a;color:#dc3545}.create-english-question .btn-icon:disabled{cursor:not-allowed;opacity:.4}.create-english-question .sentence-row{align-items:center;display:flex;gap:10px;margin-bottom:10px}.create-english-question .sentence-number{color:var(--text-secondary);font-weight:600;min-width:24px}.create-english-question .sub-question-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:16px;padding:20px}.create-english-question .sub-question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.create-english-question .sub-question-header h3{color:var(--text-primary);font-size:1.1em;margin:0}.create-english-question .sub-options{margin-top:12px}.create-english-question .sub-options-header{align-items:center;color:var(--text-secondary);display:flex;font-size:.9em;font-weight:500;justify-content:space-between;margin-bottom:10px}.create-english-question .sub-option-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.create-english-question .sub-option-row .form-input{flex:1 1}.create-english-question .word-count{color:var(--text-secondary);font-size:.85em;margin-top:4px;text-align:right}.create-english-question .weights-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.create-english-question .weight-item label{color:var(--text-secondary);display:block;font-size:.85em;font-weight:500;margin-bottom:4px}.create-english-question .image-preview{border:1px solid var(--border-color);border-radius:8px;margin-top:10px;max-height:200px;max-width:300px}.create-english-question .audio-preview{margin-top:10px}.create-english-question .audio-preview audio{max-width:500px;width:100%}.create-english-question .checkbox-label-inline{align-items:center;cursor:pointer;display:flex!important;gap:8px;padding-top:28px}.create-english-question .checkbox-label-inline input[type=checkbox]{accent-color:var(--primary-color);height:18px;width:18px}.create-english-question .form-actions{border-top:2px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.create-english-question .btn{border:none;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;padding:10px 20px;transition:all .2s ease}.create-english-question .btn-primary{background:var(--primary-gradient);color:#fff}.create-english-question .btn-primary:hover:not(:disabled){opacity:.9}.create-english-question .btn-secondary{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary)}.create-english-question .btn-sm{font-size:.85em;padding:6px 14px}.create-english-question .btn-danger{color:#dc3545}.create-english-question .btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:768px){.create-english-question .form-row{grid-template-columns:1fr}.create-english-question .page-header{align-items:flex-start;flex-direction:column;gap:10px}.create-english-question .form-actions{flex-direction:column}.create-english-question .form-actions .btn{width:100%}}.per-page{--per-accent:#6366f1;animation:perFadeIn .4s ease;margin:0 auto;max-width:1040px;padding:28px 24px 56px}@keyframes perFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.per-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:50vh}.per-spinner{animation:perSpin .75s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--per-accent);height:40px;width:40px}@keyframes perSpin{to{transform:rotate(1turn)}}.per-spin{animation:perSpin 1.2s linear infinite}.per-back{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:20px;padding:8px 14px;transition:border-color .2s,box-shadow .2s}.per-back:hover{border-color:var(--per-accent);box-shadow:0 2px 8px #6366f11f}.per-header{margin-bottom:24px}.per-eyebrow{color:var(--per-accent);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.per-header-main h1{color:var(--text-primary);font-size:clamp(1.5rem,3vw,1.85rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.per-header-meta{display:flex;flex-wrap:wrap;gap:8px}.per-pill{align-items:center;background:color-mix(in srgb,var(--per-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--per-accent) 22%,#0000);border-radius:999px;color:var(--per-accent);display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:5px 12px}.per-pill-muted{background:#fff;border-color:var(--border-color);color:var(--text-secondary)}.per-hero{grid-gap:24px;align-items:start;background:#fff;border:1px solid var(--border-color);border-radius:20px;box-shadow:0 1px 3px #0000000a;display:grid;gap:24px;grid-template-columns:1fr auto;margin-bottom:28px;padding:28px}.per-hero-score{align-items:center;display:flex;gap:24px;grid-column:1/-1}.per-score-ring{flex-shrink:0;height:120px;position:relative;width:120px}.per-score-ring-svg{height:100%;transform:rotate(-90deg);width:100%}.per-score-ring-bg{fill:none;stroke:var(--border-color);stroke-width:8}.per-score-ring-fill{fill:none;stroke:var(--per-accent);stroke:var(--ring-color,var(--per-accent));stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.per-score-ring-center{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.per-score-ring-grade{font-size:1.75rem;font-weight:800;line-height:1}.per-score-ring-pct{color:var(--text-secondary);font-size:.8rem;font-weight:600;margin-top:2px}.per-performance{align-items:center;color:var(--per-accent);display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:8px}.per-score-line{color:var(--text-secondary);font-size:1rem;margin:0}.per-score-line strong{color:var(--text-primary);font-size:1.65rem;font-weight:800}.per-hero-stats{display:flex;flex-wrap:wrap;gap:12px}.per-stat{background:#f8fafc;border:1px solid var(--border-color);border-radius:12px;min-width:88px;padding:14px 16px;text-align:center}.per-stat-value{color:var(--text-primary);display:block;font-size:1.5rem;font-weight:800;line-height:1.1}.per-stat-label{color:var(--text-secondary);display:block;font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.per-stat-warn .per-stat-value{color:#d97706}.per-hero-links{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;padding-top:8px}.per-link-btn{align-items:center;background:#111827;border-radius:10px;color:#fff;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;padding:10px 16px;text-decoration:none;transition:opacity .2s}.per-link-btn:hover{color:#fff;opacity:.9}.per-link-btn--live{background:var(--per-accent)}.per-section{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 1px 2px #00000008;margin-bottom:24px;padding:24px 26px}.per-section-alert{background:#fffbeb;border-color:#fcd34d}.per-section-highlight{background:color-mix(in srgb,var(--per-accent) 4%,#fff);border-color:color-mix(in srgb,var(--per-accent) 25%,var(--border-color))}.per-section-title{align-items:center;color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:700;gap:10px;margin:0 0 20px}.per-section-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.per-section-head .per-section-title{margin-bottom:0}.per-category-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.per-category-card{background:#fafafa;border:1px solid var(--border-color);border-radius:12px;padding:16px}.per-category-top{align-items:flex-start;display:flex;gap:12px;margin-bottom:12px}.per-category-icon{align-items:center;background:color-mix(in srgb,var(--per-accent) 12%,#fff);background:color-mix(in srgb,var(--cat-color,var(--per-accent)) 12%,#fff);border-radius:10px;color:var(--per-accent);color:var(--cat-color,var(--per-accent));display:flex;flex-shrink:0;font-size:1.1rem;height:40px;justify-content:center;width:40px}.per-category-name{color:var(--text-primary);display:block;font-size:.88rem;font-weight:700}.per-category-marks{color:var(--text-secondary);font-size:.8rem}.per-category-pct{color:var(--text-primary);font-size:1.1rem;font-weight:800;margin-left:auto}.per-category-bar{background:var(--border-color);border-radius:999px;height:6px;overflow:hidden}.per-category-bar-fill{border-radius:999px;height:100%;transition:width .8s ease}.per-filter-tabs{display:flex;flex-wrap:wrap;gap:6px}.per-filter-tab{background:#fff;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 12px;transition:all .15s}.per-filter-tab.active{background:var(--per-accent);border-color:var(--per-accent);color:#fff}.per-feature-list{display:flex;flex-direction:column;gap:10px}.per-feature-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.per-feature-card--implemented{border-left:4px solid #059669}.per-feature-card--partial{border-left:4px solid #f59e0b}.per-feature-card--error,.per-feature-card--missing{border-left:4px solid #ef4444}.per-feature-head{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:10px;padding:14px 16px;text-align:left;width:100%}.per-feature-head:hover{background:#f8fafc}.per-feature-status-icon{flex-shrink:0;font-size:1.15rem}.per-feature-card--implemented .per-feature-status-icon{color:#059669}.per-feature-card--partial .per-feature-status-icon{color:#f59e0b}.per-feature-card--error .per-feature-status-icon,.per-feature-card--missing .per-feature-status-icon{color:#ef4444}.per-feature-name{color:var(--text-primary);flex:1 1;font-size:.92rem;font-weight:600}.per-feature-marks{color:var(--text-secondary);font-size:.82rem;font-weight:700}.per-feature-badge{border-radius:999px;font-size:.68rem;font-weight:700;padding:3px 10px;text-transform:uppercase}.per-feature-badge--implemented{background:#dcfce7;color:#059669}.per-feature-badge--partial{background:#fef3c7;color:#d97706}.per-feature-badge--error,.per-feature-badge--missing{background:#fee2e2;color:#dc2626}.per-feature-body{color:var(--text-secondary);font-size:.88rem;line-height:1.6;padding:0 16px 16px 42px}.per-feature-body p{margin:0 0 10px}.per-feature-suggestions{margin:0;padding-left:18px}.per-feature-suggestions li{margin-bottom:6px}.per-summary-text{color:var(--text-primary);font-size:.95rem;line-height:1.7;margin:0 0 20px}.per-two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.per-insight{border:1px solid var(--border-color);border-radius:12px;padding:16px}.per-insight h3{font-size:.9rem;font-weight:700;margin:0 0 10px}.per-insight ul{margin:0;padding-left:18px}.per-insight li{font-size:.88rem;line-height:1.5;margin-bottom:6px}.per-insight--good{background:#f0fdf4;border-color:#bbf7d0}.per-insight--warn{background:#fffbeb;border-color:#fde68a}.per-arch-block{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px}.per-arch-block h3{font-size:.9rem;margin:0 0 8px}.per-arch-block p{color:var(--text-secondary);line-height:1.65;margin:0}.per-practices-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:16px}.per-practices{border-radius:10px;font-size:.85rem;padding:14px}.per-practices h4{font-size:.82rem;margin:0 0 8px}.per-practices ul{margin:0;padding-left:18px}.per-practices--ok{background:#f0fdf4}.per-practices--bad{background:#fef2f2}.per-issues-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.per-issues-col h3{align-items:center;display:flex;font-size:.95rem;gap:8px;margin:0 0 12px}.per-issue-card{background:#fafafa;border:1px solid var(--border-color);border-radius:10px;margin-bottom:10px;padding:14px}.per-issue-card--security{background:#fef2f2;border-color:#fecaca}.per-issue-top{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.per-severity{border-radius:6px;color:#fff;font-size:.68rem;font-weight:800;padding:3px 10px;text-transform:uppercase}.per-severity--critical{background:#991b1b}.per-severity--high{background:#dc2626}.per-severity--medium{background:#d97706}.per-severity--low{background:#2563eb}.per-issue-loc{background:#fff;border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;padding:2px 8px}.per-issue-desc{color:var(--text-primary);font-size:.88rem;margin:0 0 8px}.per-issue-fix{color:var(--text-secondary);font-size:.82rem;margin:0}.per-commit-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.per-commit-stats>div{display:flex;flex-direction:column;gap:4px}.per-commit-stats span{color:var(--text-secondary);font-size:.72rem;font-weight:600;text-transform:uppercase}.per-commit-latest{background:#f8fafc;border-radius:8px;font-size:.88rem;margin:0 0 16px;padding:12px}.per-commit-latest code{color:var(--per-accent);font-weight:700}.per-commit-verdict{border:1px solid var(--border-color);border-radius:12px;padding:18px}.per-commit-verdict.ok{background:#f0fdf4;border-color:#86efac}.per-commit-verdict.bad{background:#fffbeb;border-color:#fcd34d}.per-commit-verdict h3{font-size:1rem;margin:0 0 8px}.per-commit-verdict p{line-height:1.55;margin:0 0 12px}.per-penalty-grid{display:flex;flex-wrap:wrap;font-size:.88rem;gap:16px;margin-bottom:12px}.per-late-list{list-style:none;margin:0;padding:0}.per-late-list li{background:#fff;border-radius:8px;font-size:.85rem;margin-bottom:8px;padding:10px 12px}.per-late-meta{color:var(--text-secondary);display:block;font-size:.75rem;margin-top:4px}.per-mini-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.per-mini-stat{background:#f8fafc;border:1px solid var(--border-color);border-radius:10px;padding:12px 16px}.per-mini-stat span{color:var(--text-secondary);display:block;font-size:.72rem;margin-bottom:4px}.per-mini-stat strong{font-size:1.2rem}.per-mini-stat--good strong{color:#059669}.per-mini-stat--bad strong{color:#dc2626}.per-git-note{font-size:.88rem;line-height:1.55;margin:0 0 12px}.per-commit-examples{display:flex;flex-direction:column;gap:10px}.per-commit-ex{border:1px solid var(--border-color);border-radius:8px;padding:12px}.per-commit-ex.good{border-left:3px solid #059669}.per-commit-ex.poor{border-left:3px solid #ef4444}.per-commit-ex code{display:block;font-size:.82rem;margin-bottom:6px}.per-commit-ex p{color:var(--text-secondary);font-size:.82rem;margin:0}.per-doc-score{font-size:.95rem;margin-bottom:14px}.per-doc-checklist{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:14px}.per-doc-item{align-items:center;border-radius:8px;display:flex;font-size:.85rem;font-weight:500;gap:8px;padding:10px 12px}.per-doc-item.yes{background:#f0fdf4;color:#059669}.per-doc-item.no{background:#fef2f2;color:#dc2626}.per-doc-feedback{color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin:0}.per-metrics-row{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px}.per-section-feedback .per-feedback-summary{font-size:.95rem;line-height:1.7;margin:0 0 20px}.per-feedback-block h3,.per-next-steps h3,.per-resources h3{font-size:.92rem;margin:0 0 12px}.per-feedback-block ol,.per-next-steps ol{margin:0;padding-left:20px}.per-feedback-block li,.per-next-steps li{font-size:.88rem;line-height:1.55;margin-bottom:8px}.per-next-steps{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.per-resources ul{margin:0;padding-left:18px}.per-section-override{background:#eff6ff;border-color:#93c5fd}.per-footer{display:flex;justify-content:center;padding-top:12px}.per-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 24px}.per-btn-primary{background:var(--per-accent);color:#fff}.per-btn-primary:hover{opacity:.92}.per-page--status{max-width:640px}.per-status-header{margin-bottom:20px}.per-status-header .per-back{margin-bottom:0}.per-status-shell{background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:24px;box-shadow:0 1px 2px #0f172a0a,0 16px 40px #0f172a0f;overflow:hidden;position:relative}.per-status-shell--pending{border-color:color-mix(in srgb,#f59e0b 35%,var(--border-color))}.per-status-shell--progress{border-color:color-mix(in srgb,var(--per-accent) 40%,var(--border-color))}.per-status-shell--error{border-color:color-mix(in srgb,#ef4444 35%,var(--border-color))}.per-status-glow{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--per-accent) 18%,#0000) 0,#0000 70%);height:200px;left:50%;pointer-events:none;position:absolute;top:-80px;transform:translateX(-50%);width:320px}.per-status-shell--pending .per-status-glow{background:radial-gradient(ellipse at center,#f59e0b24 0,#0000 70%)}.per-status-shell--error .per-status-glow{background:radial-gradient(ellipse at center,#ef44441a 0,#0000 70%)}.per-status-main{padding:40px 32px 36px;position:relative;text-align:center;z-index:1}.per-status-icon-ring{align-items:center;background:color-mix(in srgb,var(--per-accent) 10%,#fff);background:color-mix(in srgb,var(--per-accent) 10%,var(--card-bg,#fff));border:2px solid color-mix(in srgb,var(--per-accent) 25%,var(--border-color));border-radius:50%;display:flex;height:88px;justify-content:center;margin:0 auto 20px;width:88px}.per-status-icon-ring--pending{animation:perStatusPulse 2.4s ease-in-out infinite;background:#f59e0b1a;border-color:#f59e0b59}.per-status-icon-ring--progress{background:color-mix(in srgb,var(--per-accent) 12%,#fff);background:color-mix(in srgb,var(--per-accent) 12%,var(--card-bg,#fff));border-color:color-mix(in srgb,var(--per-accent) 35%,var(--border-color))}.per-status-icon-ring--error{background:#ef44441a;border-color:#ef444459}@keyframes perStatusPulse{0%,to{box-shadow:0 0 0 0 #f59e0b40}50%{box-shadow:0 0 0 12px #f59e0b00}}.per-status-icon{color:var(--per-accent);font-size:2.25rem}.per-status-icon-ring--pending .per-status-icon{color:#d97706}.per-status-icon-ring--error .per-status-icon{color:#dc2626}.per-status-badge{border-radius:999px;display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:12px;padding:5px 12px;text-transform:uppercase}.per-status-badge--pending{background:#f59e0b1f;border:1px solid #f59e0b4d;color:#b45309}.per-status-badge--progress{background:color-mix(in srgb,var(--per-accent) 14%,#0000);border:1px solid color-mix(in srgb,var(--per-accent) 30%,#0000);color:var(--per-accent)}.per-status-badge--error{background:#ef44441a;border:1px solid #ef44444d;color:#b91c1c}.per-status-title{color:var(--text-primary);font-size:clamp(1.35rem,3vw,1.65rem);font-weight:800;letter-spacing:-.02em;margin:0 0 10px}.per-status-message{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0 auto 24px;max-width:420px}.per-status-context{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px;padding:12px 16px}.per-status-context-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.per-status-context strong{color:var(--text-primary);font-size:.95rem}.per-status-context-pill{background:color-mix(in srgb,var(--per-accent) 12%,#0000);border-radius:6px;color:var(--per-accent);font-size:.72rem;font-weight:600;padding:3px 10px;text-transform:capitalize}.per-status-repo-link{align-items:center;background:color-mix(in srgb,var(--per-accent) 8%,#0000);border:1px solid color-mix(in srgb,var(--per-accent) 22%,var(--border-color));border-radius:10px;color:var(--per-accent);display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:24px;padding:10px 16px;text-decoration:none;transition:background .15s ease,border-color .15s ease}.per-status-repo-link:hover{background:color-mix(in srgb,var(--per-accent) 14%,#0000);border-color:var(--per-accent)}.per-status-steps{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 24px;padding:0;text-align:center}.per-status-step{align-items:center;display:flex;flex-direction:column;gap:8px;min-width:0}.per-status-step-dot{align-items:center;background:#f1f5f9;background:var(--bg-secondary,#f1f5f9);border:2px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:.95rem;height:32px;justify-content:center;transition:all .25s ease;width:32px}.per-status-step.done .per-status-step-dot{background:#0596691f;border-color:#10b981;color:#059669}.per-status-step.active .per-status-step-dot{background:color-mix(in srgb,var(--per-accent) 14%,#fff);background:color-mix(in srgb,var(--per-accent) 14%,var(--card-bg,#fff));border-color:var(--per-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--per-accent) 18%,#0000)}.per-status-shell--pending .per-status-step.active .per-status-step-dot{background:#f59e0b1f;border-color:#f59e0b;box-shadow:0 0 0 4px #f59e0b26}.per-status-step-pulse{animation:perStepPulse 1.2s ease-in-out infinite;background:currentColor;border-radius:50%;height:10px;width:10px}@keyframes perStepPulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.per-status-step-label{color:var(--text-secondary);font-size:.7rem;font-weight:600;line-height:1.25}.per-status-step.active .per-status-step-label,.per-status-step.done .per-status-step-label{color:var(--text-primary)}.per-status-refresh{align-items:center;background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px;padding:16px 18px;text-align:left}.per-status-refresh-icon{align-items:center;background:color-mix(in srgb,var(--per-accent) 12%,#0000);border-radius:10px;color:var(--per-accent);display:flex;flex-shrink:0;font-size:1.15rem;height:40px;justify-content:center;width:40px}.per-status-refresh-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:160px}.per-status-refresh-text strong{color:var(--text-primary);font-size:.88rem}.per-status-refresh-text span{color:var(--text-secondary);font-size:.8rem;line-height:1.4}.per-status-refresh-bar{background:var(--border-color);border-radius:999px;flex:1 1 100%;height:4px;overflow:hidden}.per-status-refresh-bar-fill{animation:perRefreshSlide 12s linear infinite;background:var(--per-accent);border-radius:inherit;display:block;height:100%;width:35%}@keyframes perRefreshSlide{0%{transform:translateX(-100%)}to{transform:translateX(320%)}}.per-status-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.per-btn-secondary{background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color);color:var(--text-primary)}.per-btn-secondary:hover{background:color-mix(in srgb,var(--per-accent) 6%,#fff);background:color-mix(in srgb,var(--per-accent) 6%,var(--card-bg,#fff));border-color:var(--per-accent);color:var(--per-accent)}[data-theme=dark] .per-back,[data-theme=dark] .per-hero,[data-theme=dark] .per-section{background:#1a1a1a;border-color:#333}[data-theme=dark] .per-status-shell{background:#1a1a1a;border-color:#3f3f46;box-shadow:0 16px 40px #00000059}[data-theme=dark] .per-status-icon-ring--pending{background:#f59e0b1f;border-color:#f59e0b66}[data-theme=dark] .per-status-icon-ring--progress{background:#6366f11f;border-color:#6366f166}[data-theme=dark] .per-status-context,[data-theme=dark] .per-status-refresh{background:#222;border-color:#3f3f46}[data-theme=dark] .per-status-step-dot{background:#27272a;border-color:#3f3f46}[data-theme=dark] .per-status-step.done .per-status-step-dot{background:#22c55e26;border-color:#22c55e;color:#86efac}[data-theme=dark] .per-status-refresh-bar{background:#333}[data-theme=dark] .per-btn-secondary{background:#27272a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .per-btn-secondary:hover{background:#333;border-color:#6366f1;color:#a5b4fc}[data-theme=dark] .per-category-card,[data-theme=dark] .per-commit-latest,[data-theme=dark] .per-feature-card,[data-theme=dark] .per-issue-card,[data-theme=dark] .per-mini-stat,[data-theme=dark] .per-stat{background:#222}[data-theme=dark] .per-feature-head:hover{background:#262626}[data-theme=dark] .per-filter-tab{background:#222}[data-theme=dark] .per-section-alert{background:#d977061a;border-color:#f59e0b}[data-theme=dark] .per-section,[data-theme=dark] .per-section-highlight{background:#1a1a1a;border-color:#333;box-shadow:none}[data-theme=dark] .per-section-highlight{background:color-mix(in srgb,var(--per-accent) 8%,#1a1a1a)}[data-theme=dark] .per-feature-card{background:#1a1a1a;border-color:#333}[data-theme=dark] .per-category-card{background:#222;border-color:#333}[data-theme=dark] .per-issue-loc{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .per-late-list li{background:#222;color:#e4e4e7}[data-theme=dark] .per-stat{background:#222;border-color:#333}@media (max-width:768px){.per-page{padding:20px 16px 40px}.per-status-main{padding:32px 20px 28px}.per-status-steps{gap:16px 12px;grid-template-columns:repeat(2,1fr)}.per-status-actions{flex-direction:column}.per-status-actions .per-btn{justify-content:center;width:100%}.per-hero{grid-template-columns:1fr;padding:20px}.per-hero-score{flex-direction:column;text-align:center}.per-category-grid{grid-template-columns:1fr}}.sdr-container{margin:0 auto;max-width:1100px;padding:24px}.sdr-loading{color:#888;color:var(--text-secondary,#888);padding:60px;text-align:center}.sdr-back-btn{background:#fff;background:var(--bg-secondary,#fff);border:none;border-radius:8px;color:#333;color:var(--text-primary,#333);cursor:pointer;font-size:.9rem;margin-bottom:20px;padding:8px 16px}.sdr-score-header{align-items:center;background:#fff;background:var(--bg-primary,#fff);border-radius:16px;box-shadow:0 2px 12px #0000000f;display:flex;gap:24px;margin-bottom:24px;padding:28px}.sdr-score-circle{align-items:center;border:5px solid;border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:110px;justify-content:center;width:110px}.sdr-score-pct{color:#333;color:var(--text-primary,#333);font-size:1.8rem;font-weight:800}.sdr-score-grade{font-size:1rem;font-weight:700}.sdr-score-info{flex:1 1}.sdr-score-info h1{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.4rem;margin:0 0 8px}.sdr-score-meta{color:#666;color:var(--text-secondary,#666);display:flex;flex-wrap:wrap;font-size:.9rem;gap:16px}.sdr-penalty{color:#e67e22;font-weight:600}.sdr-charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:24px}.sdr-chart-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:12px;box-shadow:0 1px 6px #0000000a;padding:20px}.sdr-chart-card h3{color:#333;color:var(--text-primary,#333);font-size:1rem;margin:0 0 12px}.sdr-overall-feedback{background:#f8f7ff;border:1px solid #d4cef5;border-radius:12px;margin-bottom:24px;padding:20px}.sdr-overall-feedback h3{color:#6c5ce7;margin:0 0 10px}.sdr-overall-feedback p{color:#333;color:var(--text-primary,#333);line-height:1.7;margin:0}.sdr-section-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.3rem;margin:0 0 16px}.sdr-sections{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.sdr-section-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:10px;overflow:hidden}.sdr-section-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:14px 18px;transition:background .15s}.sdr-section-header:hover{background:#fff;background:var(--bg-secondary,#fff)}.sdr-section-icon{font-size:1.2rem}.sdr-section-name{color:#333;color:var(--text-primary,#333);flex:1 1;font-size:.95rem;font-weight:600}.sdr-section-score-bar{background:#eee;background:var(--bg-secondary,#eee);border-radius:4px;height:8px;overflow:hidden;width:120px}.sdr-score-bar-fill{border-radius:4px;height:100%;transition:width .5s}.sdr-section-score{font-size:.95rem;font-weight:700;min-width:42px;text-align:right}.sdr-expand-icon{color:#aaa;color:var(--text-secondary,#aaa);font-size:.7rem}.sdr-section-body{border-top:1px solid #f0f0f0;border-top:1px solid var(--border-color,#f0f0f0);padding:0 18px 18px}.sdr-feedback{color:#444;color:var(--text-primary,#444);line-height:1.6;margin:14px 0}.sdr-chips-row{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.sdr-chips label{color:#888;color:var(--text-secondary,#888);font-weight:600}.sdr-chip,.sdr-chips label{font-size:.78rem;margin-right:6px}.sdr-chip{border-radius:12px;display:inline-block;font-weight:500;margin-bottom:4px;padding:3px 10px}.sdr-chip.green{background:#e8f5e9;color:#2e7d32}.sdr-chip.orange{background:#fff3e0;color:#e65100}.sdr-chip.red{background:#fce4ec;color:#c62828}.sdr-compare-btn{background:#f0edff;border:1px solid #d4cef5;border-radius:6px;color:#6c5ce7;cursor:pointer;font-size:.82rem;font-weight:500;margin-top:8px;padding:6px 14px}.sdr-comparison{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}.sdr-compare-col{background:#fff;background:var(--bg-secondary,#fff);border-radius:8px;padding:12px}.sdr-compare-col.reference{background:#f0fff4;border:1px solid #a8e6cf}.sdr-compare-col h4{color:#666;color:var(--text-secondary,#666);font-size:.85rem;margin:0 0 8px}.sdr-compare-content{color:#333;color:var(--text-primary,#333);font-size:.78rem;margin:0;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.sdr-rich-content{line-height:1.6;white-space:normal}.sdr-rich-content p{margin:0 0 6px}.sdr-rich-content p:last-child{margin-bottom:0}.sdr-rich-content ol,.sdr-rich-content ul{margin:4px 0 6px 18px;padding:0}.sdr-rich-content li{margin-bottom:3px}.sdr-rich-content strong{font-weight:700}.sdr-rich-content code{border-radius:3px;font-family:monospace;padding:1px 4px}.sdr-rich-content code,.sdr-rich-content pre{background:#fff;background:var(--bg-primary,#fff);font-size:.88em}.sdr-rich-content pre{border-radius:5px;margin:6px 0;overflow-x:auto;padding:8px 12px}.sdr-rich-content pre code{background:none;padding:0}.sdr-rich-content blockquote{border-left:3px solid #6c5ce7;color:#666;color:var(--text-secondary,#666);margin:6px 0;padding:3px 10px}.sdr-rich-content img{border-radius:4px;max-width:100%}.sdr-followup-section{margin-top:10px}.sdr-followup-section h2{color:#333;color:var(--text-primary,#333);font-size:1.3rem;margin-bottom:16px}.sdr-followup-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:10px;margin-bottom:12px;padding:16px}.sdr-followup-q{color:#333;color:var(--text-primary,#333);font-size:.95rem;line-height:1.5;margin-bottom:8px}.sdr-followup-a{background:#fff;background:var(--bg-secondary,#fff);border-radius:6px;color:#555;color:var(--text-secondary,#555);font-size:.9rem;margin-bottom:8px;padding:10px}.sdr-followup-score{color:#333;color:var(--text-primary,#333);font-size:.9rem}.sdr-followup-feedback{color:#666;color:var(--text-secondary,#666)}[data-theme=dark] .sdr-overall-feedback{background:#6c5ce71a;border-color:#6c5ce740}[data-theme=dark] .sdr-overall-feedback h3{color:#a29bfe}[data-theme=dark] .sdr-overall-feedback p{color:var(--text-primary)}[data-theme=dark] .sdr-compare-btn{background:#6c5ce71f;border-color:#6c5ce74d;color:#a29bfe}[data-theme=dark] .sdr-compare-col.reference{background:#27ae601a;border-color:#27ae604d}[data-theme=dark] .sdr-chip.green{background:#2e7d3226;color:#6bcf8e}[data-theme=dark] .sdr-chip.orange{background:#e6510026;color:#f0a04b}[data-theme=dark] .sdr-chip.red{background:#c6282826;color:#ef5350}[data-theme=dark] .sdr-penalty{color:#f0a04b}[data-theme=dark] .sdr-score-header{box-shadow:0 2px 12px #0003}[data-theme=dark] .sdr-back-btn,[data-theme=dark] .sdr-chart-card,[data-theme=dark] .sdr-followup-card,[data-theme=dark] .sdr-score-header,[data-theme=dark] .sdr-section-card{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .sdr-compare-col:not(.reference),[data-theme=dark] .sdr-followup-a,[data-theme=dark] .sdr-section-header:hover{background:#222}.student-page{animation:fadeIn .4s ease;margin:0 auto;max-width:1100px}.student-dashboard-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:320px}.student-loading-spinner{animation:spin .8s linear infinite;border-top-color:#e7210b;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--student-accent,#e7210b);height:40px;width:40px}.student-hero{grid-gap:32px;align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--student-radius-lg,20px);box-shadow:0 8px 24px #0000000a;box-shadow:var(--student-shadow,0 8px 24px #0000000a);display:grid;gap:32px;grid-template-columns:1fr minmax(200px,280px);margin-bottom:32px;overflow:hidden;padding:28px 32px;position:relative}.student-hero-eyebrow{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.1em;margin:0 0 8px;text-transform:uppercase}.student-hero h1{color:var(--text-primary);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px}.student-hero-sub{color:var(--text-secondary);font-size:1rem;line-height:1.55;margin:0 0 20px;max-width:520px}.student-hero-cta{align-items:center;background:#e7210b;background:var(--student-accent,#e7210b);border-radius:10px;box-shadow:0 4px 14px #e7210b40;color:#fff;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.student-hero-cta:hover{box-shadow:0 8px 20px #e7210b4d;color:#fff;transform:translateY(-2px)}.student-hero-visual{align-items:center;display:flex;height:180px;justify-content:center;position:relative}.student-hero-orb{border-radius:50%;filter:blur(40px);opacity:.5;position:absolute}[data-theme=light] .student-hero-orb{display:none}.student-hero-orb-1{background:#e7210b33;height:120px;right:20%;top:10%;width:120px}.student-hero-orb-2{background:#2563eb26;bottom:10%;height:100px;left:10%;width:100px}.student-hero-card-preview{background:#fff;border:1px solid var(--border-color);border-radius:16px;box-shadow:var(--student-shadow-hover);padding:24px 28px;position:relative;text-align:center;z-index:1}.student-hero-card-preview svg{font-size:2rem;margin-bottom:8px}.student-hero-card-preview span{color:var(--text-primary);display:block;font-size:2rem;font-weight:800}.student-hero-card-preview small{color:var(--text-secondary);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.student-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:36px}.student-stat-card{align-items:flex-start;background:#fff;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--student-radius,14px);display:flex;gap:14px;padding:20px;transition:box-shadow .2s ease,border-color .2s ease}.student-stat-card:hover{border-color:#0000000f;box-shadow:0 8px 24px #0000000a;box-shadow:var(--student-shadow,0 8px 24px #0000000a)}.student-stat-icon{align-items:center;background:color-mix(in srgb,var(--stat-color) 10%,#fff);border-radius:12px;color:#64748b;color:var(--stat-color,#64748b);display:flex;flex-shrink:0;font-size:1.2rem;height:44px;justify-content:center;width:44px}.student-stat-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.student-stat-value{color:var(--text-primary);font-size:1.65rem;font-weight:800;line-height:1.1;margin:0 0 4px}.student-stat-hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.82rem;line-height:1.35;margin:0;overflow:hidden}.student-section{margin-bottom:36px}.student-section-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.student-section-head h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.student-section-desc{margin:0;width:100%}.student-link-btn,.student-section-desc{color:var(--text-secondary);font-size:.9rem}.student-link-btn{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:8px;display:inline-flex;font-weight:600;gap:6px;padding:8px 12px;text-decoration:none;transition:all .2s ease}.student-link-btn:hover{border-color:#e7210b4d;color:#e7210b;color:var(--student-accent,#e7210b)}.student-continue-list{display:flex;flex-direction:column;gap:10px}.student-continue-card{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:12px;color:inherit;display:flex;gap:16px;padding:16px 18px;text-decoration:none;transition:all .2s ease}.student-continue-card:hover{border-color:#e7210b40;box-shadow:0 8px 24px #0000000a;box-shadow:var(--student-shadow,0 8px 24px #0000000a);transform:translateX(4px)}.student-continue-icon{align-items:center;background:color-mix(in srgb,var(--section-accent) 10%,#fff);border-radius:10px;color:var(--section-accent);display:flex;flex-shrink:0;font-size:1.1rem;height:42px;justify-content:center;width:42px}.student-continue-body{flex:1 1;min-width:0}.student-continue-body h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-continue-body p{color:var(--text-secondary);font-size:.85rem;margin:0}.student-continue-arrow{color:var(--text-secondary);flex-shrink:0;transition:transform .2s ease}.student-continue-card:hover .student-continue-arrow{color:#e7210b;color:var(--student-accent,#e7210b);transform:translateX(4px)}.student-category-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.student-category-card{background:#fff;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--student-radius,14px);color:inherit;display:flex;flex-direction:column;gap:12px;overflow:hidden;padding:18px;position:relative;text-decoration:none;transition:all .22s ease}.student-category-card:hover{border-color:color-mix(in srgb,var(--card-accent) 25%,var(--border-color));box-shadow:0 12px 32px #0000000f;box-shadow:var(--student-shadow-hover,0 12px 32px #0000000f);transform:translateY(-3px)}.student-category-icon{align-items:center;background:color-mix(in srgb,var(--card-accent) 10%,#fff);border-radius:12px;color:var(--card-accent);display:flex;font-size:1.25rem;height:44px;justify-content:center;width:44px}.student-category-body h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 6px}.student-category-body p{color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin:0}.student-category-meta{align-items:baseline;border-top:1px solid var(--border-color);display:flex;gap:6px;margin-top:auto;padding-top:8px}.student-category-count{color:var(--text-primary);font-size:1.35rem;font-weight:800}.student-category-unit{color:var(--text-secondary);font-size:.8rem}.student-english-widget .english-trends-inner{background:#fff;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--student-radius,14px);padding:22px}.student-english-widget .trends-stats-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:20px}.student-english-widget .trend-stat{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;min-width:100px;padding:14px 20px}.student-english-widget .trend-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:800}.student-english-widget .trend-stat-value.positive{color:#059669}.student-english-widget .trend-stat-value.negative{color:#dc2626}.student-english-widget .trend-stat-label{color:var(--text-secondary);font-size:.78rem;font-weight:600;margin-top:4px}.student-english-widget .section-averages-grid{display:flex;flex-direction:column;gap:10px}.student-english-widget .section-avg-item{align-items:center;display:flex;gap:12px}.student-english-widget .section-avg-label{color:var(--text-secondary);font-size:.85rem;font-weight:600;min-width:80px}.student-english-widget .section-avg-bar-wrap{background:var(--border-color);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.student-english-widget .section-avg-bar{border-radius:4px;height:100%;transition:width .6s ease}.student-english-widget .section-avg-bar.excellent{background:linear-gradient(90deg,#059669,#10b981)}.student-english-widget .section-avg-bar.good{background:linear-gradient(90deg,#d97706,#f59e0b)}.student-english-widget .section-avg-bar.poor{background:linear-gradient(90deg,#dc2626,#f87171)}.student-english-widget .section-avg-value{font-size:.85rem;font-weight:700;min-width:40px;text-align:right}.student-empty-card{background:#fff;border:1px dashed var(--border-color);border-radius:20px;border-radius:var(--student-radius-lg,20px);color:var(--text-secondary);padding:48px 24px;text-align:center}.student-empty-hero{margin-top:24px}.student-empty-illustration{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-secondary);display:flex;font-size:2rem;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.student-empty-card h2{color:var(--text-primary);font-size:1.35rem;margin:0 0 8px}.student-empty-card p{line-height:1.5;margin:0 auto;max-width:400px}.tests-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.test-card-modern{animation:fadeInUp .4s ease;background:#fff;border:1px solid var(--border-color);border-radius:14px;border-radius:var(--student-radius,14px);display:flex;flex-direction:column;gap:16px;padding:22px;transition:all .25s ease}.test-card-modern:hover{border-color:#00000014;box-shadow:0 12px 32px #0000000f;box-shadow:var(--student-shadow-hover,0 12px 32px #0000000f);transform:translateY(-4px)}.test-title-section h3{color:var(--text-primary);font-size:1.15rem;font-weight:700;line-height:1.35;margin:0 0 8px}.test-type-badge-modern{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.test-type-badge-modern.coding{background:#2563eb14;border-color:#2563eb4d;color:#2563eb}.test-type-badge-modern.mcq{background:#7c3aed14;border-color:#7c3aed4d;color:#7c3aed}.test-type-badge-modern.aptitude{background:#05966914;border-color:#0596694d;color:#059669}.test-type-badge-modern.mixed{background:#0891b214;border-color:#0891b24d;color:#0891b2}.test-type-badge-modern.interview{background:#c026d314;border-color:#c026d34d;color:#c026d3}.test-type-badge-modern.project{background:#6366f114;border-color:#6366f14d;color:#6366f1}.test-type-badge-modern.system{background:#ea580c14;border-color:#ea580c4d;color:#ea580c}.test-type-badge-modern.english,.test-type-badge-modern.verbal{background:#db277714;border-color:#db27774d;color:#db2777}.test-meta{display:flex;flex-wrap:wrap;gap:12px 20px}.test-meta-item{color:var(--text-secondary);font-size:.88rem}.test-meta-item strong{color:var(--text-primary);font-weight:600}.test-status-section{align-items:center;border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:14px}.status-badge-modern{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:6px 12px;text-transform:capitalize}.status-badge-modern.assigned{background:#2563eb14;border-color:#2563eb59;color:#2563eb}.status-badge-modern.in_progress{background:#d9770614;border-color:#d9770659;color:#d97706}.status-badge-modern.completed,.status-badge-modern.evaluated{background:#05966914;border-color:#05966959;color:#059669}.status-badge-modern.submitted{background:#7c3aed14;border-color:#7c3aed59;color:#7c3aed}.status-badge-modern.overdue{background:#dc262614;border-color:#dc262659;color:#dc2626}.test-action-btn{align-items:center;border-radius:9px;display:inline-flex;font-size:.88rem;font-weight:600;margin-left:auto;padding:9px 16px;text-decoration:none;transition:all .2s ease}.test-action-btn.btn-primary{background:#e7210b;background:var(--student-accent,#e7210b);border:none;color:#fff}.test-action-btn.btn-primary:hover{box-shadow:0 4px 12px #e7210b40;color:#fff;filter:brightness(1.05);transform:translateY(-1px)}.test-action-btn.btn-secondary{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary)}.test-action-btn.btn-secondary:hover{border-color:var(--text-secondary)}.test-action-btn.btn-info{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:default;pointer-events:none}.test-action-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.test-action-buttons .test-action-btn{margin-left:0}.empty-state{background:#fff;border:1px dashed var(--border-color);border-radius:20px;border-radius:var(--student-radius-lg,20px);padding:56px 28px}.empty-state-icon{font-size:3rem;margin-bottom:16px;opacity:.5}.empty-state h2{color:var(--text-primary);font-size:1.35rem;margin:0 0 8px}.empty-state p{color:var(--text-secondary);margin:0}@media (max-width:1024px){.student-stats-grid{grid-template-columns:repeat(2,1fr)}.student-hero{grid-template-columns:1fr}.student-hero-visual{height:140px}}@media (max-width:600px){.student-category-grid,.student-stats-grid,.tests-grid{grid-template-columns:1fr}.test-action-btn{justify-content:center;margin-left:0;width:100%}}[data-theme=dark] .student-hero{background:#1a1a1a;border-color:#333;box-shadow:none}[data-theme=dark] .student-hero-card-preview{background:#222;border-color:#333}[data-theme=dark] .student-hero-orb-1{background:#e7210b1f}[data-theme=dark] .student-hero-orb-2{background:#3b82f61a}[data-theme=dark] .empty-state,[data-theme=dark] .student-category-card,[data-theme=dark] .student-continue-card,[data-theme=dark] .student-empty-card,[data-theme=dark] .student-english-widget .english-trends-inner,[data-theme=dark] .student-stat-card,[data-theme=dark] .test-card-modern{background:#1a1a1a;border-color:#333}[data-theme=dark] .student-category-card:hover,[data-theme=dark] .student-continue-card:hover,[data-theme=dark] .student-stat-card:hover,[data-theme=dark] .test-card-modern:hover{border-color:#444;box-shadow:0 8px 24px #00000059}[data-theme=dark] .student-english-widget .trend-stat{background:#222;border-color:#333}[data-theme=dark] .student-link-btn{background:#1a1a1a;border-color:#333}[data-theme=dark] .student-link-btn:hover{border-color:#e7210b59;color:#f87171}[data-theme=dark] .test-status-section{border-top-color:#333}[data-theme=dark] .status-badge-modern.assigned{background:#2563eb26;border-color:#2563eb59;color:#93c5fd}[data-theme=dark] .status-badge-modern.in_progress{background:#d9770626;border-color:#d9770659;color:#fcd34d}[data-theme=dark] .status-badge-modern.completed,[data-theme=dark] .status-badge-modern.evaluated{background:#05966926;border-color:#05966959;color:#6ee7b7}[data-theme=dark] .student-category-icon,[data-theme=dark] .student-continue-icon{background:color-mix(in srgb,var(--section-accent) 18%,#1f1f1f);background:color-mix(in srgb,var(--card-accent,var(--section-accent)) 18%,#1f1f1f)}.exam-fullscreen-prompt{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f141eeb;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20000}.exam-fullscreen-prompt-card{background:#fff;background:var(--card-bg,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:16px;box-shadow:0 24px 64px #00000059;max-width:480px;padding:36px 32px;text-align:center;width:100%}.exam-fullscreen-prompt-icon{font-size:48px;line-height:1;margin-bottom:16px}.exam-fullscreen-prompt-card h2{color:var(--text-primary);font-size:22px;font-weight:700;margin:0 0 12px}.exam-fullscreen-prompt-card p{color:var(--text-secondary);font-size:14px;line-height:1.55;margin:0 0 20px}.exam-fullscreen-rules{color:var(--text-secondary);font-size:13px;line-height:1.6;margin:0 0 24px;padding-left:20px;text-align:left}.exam-fullscreen-prompt-btn{font-size:15px;font-weight:600;padding:14px 20px;width:100%}.exam-security-overlay{align-items:center;animation:exam-overlay-fade-in .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100000}.exam-security-overlay--focus{background:#0f172ad1}@keyframes exam-overlay-fade-in{0%{opacity:0}to{opacity:1}}.exam-security-overlay-card{background:#fff;border:1px solid #94a3b859;border-radius:14px;box-shadow:0 24px 48px #0f172a33;max-width:420px;padding:28px 32px;text-align:center}.exam-security-overlay--focus .exam-security-overlay-card{border-top:4px solid #f59e0b}.exam-security-overlay-card:before{content:"⚠";display:block;font-size:2rem;line-height:1;margin-bottom:12px;opacity:.9}.exam-security-overlay:not(.exam-security-overlay--focus) .exam-security-overlay-card:before{content:"⛶"}[data-theme=dark] .exam-security-overlay-card{background:#1e293b;border-color:#94a3b833;color:#f1f5f9}.exam-security-overlay-card h2{color:#0f172a;font-size:1.25rem;font-weight:700;margin:0 0 10px}[data-theme=dark] .exam-security-overlay-card h2{color:#f8fafc}.exam-security-overlay-card p{color:#64748b;font-size:.92rem;line-height:1.55;margin:0 0 20px}[data-theme=dark] .exam-security-overlay-card p{color:#94a3b8}.exam-security-overlay-btn{min-width:200px}.test-taking-container{background-color:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.test-header{animation:fadeInDown .5s ease;border-bottom:2px solid var(--border-color);box-shadow:0 2px 8px #ed03311a;flex-shrink:0;padding:15px 25px}.test-header-left{gap:15px}.test-header-left h2{color:var(--text-primary);font-size:1.5em;margin:0}.test-type-badge{background:var(--primary-gradient);border-radius:12px;color:#fff;font-size:.75em;font-weight:700;padding:4px 12px;text-transform:uppercase}.test-header-right{gap:15px}.timer{align-items:center;animation:pulse 2s ease-in-out infinite;background:var(--primary-gradient);border-radius:10px;box-shadow:0 4px 8px #00000026;color:#fff;display:flex;font-size:18px;gap:8px;padding:10px 18px;transition:all .3s ease}.timer:hover{box-shadow:0 6px 12px #0003;transform:scale(1.05)}.timer.timer-expired{animation:pulse-warning 1s ease-in-out infinite;background:linear-gradient(135deg,#ff9800,#f57c00)}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.timer-icon{font-size:1.2em}.violations-indicator{align-items:center;border-radius:8px;display:flex;font-size:14px;font-weight:700;gap:8px;padding:8px 15px;transition:all .3s ease}.test-content{grid-gap:0;display:grid;flex:1 1 auto;gap:0;grid-template-columns:240px 1fr;min-height:0;overflow:hidden}.question-sidebar{border-right:2px solid var(--border-color);height:auto;overflow-x:hidden;padding:16px 12px}.question-sidebar h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.1em;margin-bottom:20px;margin-top:0;padding-bottom:10px}.section-group{margin-bottom:25px}.section-title{border-left:3px solid var(--primary-color);border-radius:6px;color:var(--text-secondary);font-size:.85em;font-weight:700;margin-bottom:12px;padding:8px 12px}.question-nav-btn,.section-title{background-color:var(--bg-primary)}.question-nav-btn{align-items:center;animation:none;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;display:flex;font-size:.95em;justify-content:space-between;margin-bottom:8px;padding:12px 15px;text-align:left;transition:background-color .15s ease,border-color .15s ease;width:100%}.question-nav-btn:hover{background-color:#fff;box-shadow:0 2px 4px #0000001a;transform:translateX(5px)}.question-nav-btn.active{animation:none;background:var(--primary-gradient);border-color:#0000;box-shadow:0 2px 6px #ed033133;color:#fff;transform:none}.question-nav-btn.attempted{border-left:4px solid #28a745;padding-left:11px}.question-nav-btn.active.attempted{border-left:4px solid #ffffff80}.question-number{font-weight:600}.question-status-indicator{color:#28a745;font-size:1.1em;font-weight:700}.question-nav-btn.active .question-status-indicator{color:#fff}.main-content-wrapper{flex:1 1 auto;gap:0;position:relative}.main-content-wrapper,.question-panel{display:flex;min-height:0;overflow:hidden}.question-panel{background-color:var(--bg-primary);border-right:2px solid var(--border-color);flex-direction:column;flex-shrink:0;max-width:70%;min-width:280px;padding:0}.question-panel.full-width{grid-column:1/-1}.question-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.question-header h3{color:var(--text-primary);font-size:1.3em;margin:0}.difficulty-badge{border-radius:12px;font-size:.85em;font-weight:700;padding:6px 15px;text-transform:capitalize}.difficulty-badge.easy{background-color:#28a745;color:#fff}.difficulty-badge.medium{background-color:#ffc107;color:#000}.difficulty-badge.hard{background-color:#dc3545;color:#fff}.question-description{color:var(--text-secondary);line-height:1.8}.question-rich-text{color:var(--text-primary);margin-bottom:15px}.test-taking-container .mcq-option .option-text.rich-text-display{flex:1 1;min-width:0}.question-description h4{color:var(--text-primary);font-size:1.4em;margin-bottom:15px;margin-top:0}.description-content{color:var(--text-secondary);line-height:1.8;margin-bottom:20px}.constraints-section{background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border-left:4px solid var(--primary-color);border-radius:6px;margin-top:20px;padding:15px}.constraints-section strong{color:var(--primary-color);display:block;margin-bottom:8px}.constraints-content{color:var(--text-secondary);line-height:1.6}.examples-section{margin-top:25px}.examples-section strong{color:var(--text-primary);display:block;font-size:1.1em;margin-bottom:15px}.example-box{background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:6px;margin-bottom:20px;padding:15px}.example-header{align-items:center;color:var(--text-primary);display:flex;font-weight:700;justify-content:space-between;margin-bottom:12px}.example-explanation{color:var(--text-secondary);font-size:.9em;font-style:italic;font-weight:400}.example-content{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.example-item{display:flex;flex-direction:column}.example-item strong{margin-bottom:8px}.example-item pre,.example-item strong{color:var(--text-primary);font-size:.9em}.example-item pre{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;font-family:Courier New,Courier,monospace;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.test-cases-section{background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:8px;margin-top:25px;padding:20px}.test-cases-section strong{color:var(--text-primary);display:block;font-size:1.1em;margin-bottom:15px}.test-cases-list{display:flex;flex-direction:column;gap:15px}.test-case-box{background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;padding:15px;transition:all .3s ease}.test-case-box.test-case-passed{background-color:#28a7450d;border-color:#28a745}.test-case-box.test-case-failed{background-color:#dc35450d;border-color:#dc3545}.test-case-header{align-items:center;color:var(--text-primary);display:flex;font-weight:700;justify-content:space-between;margin-bottom:12px}.test-case-status{border-radius:12px;font-size:.85em;font-weight:700;padding:4px 12px}.test-case-status.passed{background-color:#28a745;color:#fff}.test-case-status.failed{background-color:#dc3545;color:#fff}.test-case-content{gap:12px}.test-case-content,.test-case-item{display:flex;flex-direction:column}.test-case-item strong{color:var(--text-primary);font-size:.9em;margin-bottom:6px}.test-case-item pre{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:.85em;margin:0;overflow-x:auto;padding:10px;white-space:pre-wrap;word-break:break-all}.test-case-item.error{color:#dc3545}.test-case-item.error pre{background-color:#dc35451a;border-color:#dc3545}.output-correct{background-color:#28a7451a!important;border-color:#28a745!important;color:#28a745!important}.output-incorrect{background-color:#dc35451a!important;border-color:#dc3545!important;color:#dc3545!important}.hidden-test-cases-note{align-items:center;background-color:#ffc1071a;border-left:4px solid #ffc107;border-radius:4px;color:var(--text-secondary);display:flex;font-size:.9em;gap:10px;margin-top:15px;padding:12px}.info-icon{font-size:1.2em}.custom-test-case-section{background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:8px;margin-top:25px;padding:20px}.custom-test-case-section strong{color:var(--text-primary);display:block;font-size:1.1em;margin-bottom:15px}.custom-test-case-inputs{display:flex;flex-direction:column;gap:15px}.custom-input-group{display:flex;flex-direction:column;gap:8px}.custom-input-group label{color:var(--text-primary);font-size:.9em;font-weight:500}.custom-test-input{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:.9em;padding:10px;resize:vertical;width:100%}.custom-test-result{border:2px solid;border-radius:6px;margin-top:15px;padding:15px}.custom-test-result.passed{background-color:#28a7450d;border-color:#28a745}.custom-test-result.failed{background-color:#dc35450d;border-color:#dc3545}.custom-test-result-header{align-items:center;color:var(--text-primary);display:flex;font-weight:700;justify-content:space-between;margin-bottom:12px}.custom-test-result-content{display:flex;flex-direction:column;gap:10px}.custom-test-result-content pre{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:Courier New,Courier,monospace;font-size:.85em;margin:0;overflow-x:auto;padding:10px;white-space:pre-wrap;word-break:break-all}.resizer{background-color:var(--border-color);cursor:col-resize;flex-shrink:0;position:relative;transition:background-color .2s ease;width:4px;z-index:10}.resizer:hover{background-color:var(--primary-color)}.resizer:before{background-color:initial;bottom:0;content:"";left:-2px;position:absolute;right:-2px;top:0}.editor-panel{background-color:#1e1e1e;display:flex;flex:1 1 auto;flex-direction:column;max-width:70%;min-height:0;min-width:300px;overflow:hidden}.code-editor-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.editor-header{align-items:center;background-color:#2d2d30;border-bottom:1px solid #454545;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;min-height:48px;padding:10px 14px}.language-select{background-color:#fff;border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-weight:500;padding:8px 15px}.editor-actions{display:flex;gap:10px}.btn-run{background:linear-gradient(135deg,#28a745,#1e7e34);border:none;border-radius:8px;box-shadow:0 4px 8px #28a74533;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .3s ease}.btn-run:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#28a745);box-shadow:0 6px 12px #28a7454d;transform:translateY(-3px)}.btn-submit{background:var(--primary-gradient);border:none;border-radius:8px;box-shadow:0 4px 8px #ed033133;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .3s ease}.btn-submit:hover:not(:disabled){animation:pulse 2s ease-in-out infinite;box-shadow:0 6px 16px #ed03314d;opacity:.95;transform:translateY(-3px) scale(1.02)}.editor-wrapper{background:#1e1e1e;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.mcq-options{margin-bottom:25px}.mcq-option{align-items:flex-start;background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border-radius:8px;margin-bottom:12px;padding:18px}.mcq-option:hover{background-color:var(--bg-primary);transform:translateX(5px)}.mcq-option.selected{background-color:#ed03311a;border-width:2px}.mcq-option input[type=checkbox],.mcq-option input[type=radio]{cursor:pointer;margin-right:12px;margin-top:2px;transform:scale(1.2)}.question-badges{display:flex;flex-wrap:wrap;gap:10px}.section-badge{background:#e3f2fd;border-radius:20px;color:#1976d2;font-size:12px;padding:4px 10px}.case-study-block{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:10px;margin-bottom:20px;padding:15px}.case-study-block h4{margin-bottom:8px}.numeric-answer{display:flex;flex-direction:column;gap:8px;margin-top:10px}.numeric-input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;max-width:240px;padding:10px 12px}.numeric-hint{color:var(--text-secondary);font-size:12px}.option-text{color:var(--text-primary);flex:1 1;line-height:1.6}.question-actions{border-top:2px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:25px;padding-top:20px}.test-footer{background-color:#fff;border-top:1px solid var(--border-color);box-shadow:0 -2px 8px #0000000a;flex-shrink:0;padding:10px 20px;z-index:20}.footer-actions{align-items:center;display:flex;justify-content:space-between}.submission-summary{max-height:70vh;overflow-y:auto;padding:10px 0}.submission-summary-inline{background:#f8fafc;background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000000d;margin:16px 0 0;max-height:none;padding:16px}.submission-summary-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.submission-summary-head h3{margin:0}.submission-summary-dismiss{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;flex-shrink:0;font-size:1.35rem;height:32px;line-height:1;padding:0;width:32px}.submission-summary-dismiss:hover{background:var(--bg-secondary);color:var(--text-primary)}.submission-summary h3{color:var(--text-primary);margin-bottom:20px;margin-top:0}.test-case-group{margin-bottom:20px}.test-case-group h4{color:var(--text-primary);font-size:1em;margin-bottom:12px}.test-case-results-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.test-case-result-item{border:2px solid;border-radius:6px;padding:12px}.test-case-result-item.passed{background-color:#28a7450d;border-color:#28a745}.test-case-result-item.failed{background-color:#dc35450d;border-color:#dc3545}.test-case-result-header{align-items:center;color:var(--text-primary);display:flex;font-weight:600;justify-content:space-between}.test-case-result-details{display:flex;flex-direction:column;font-size:.9em;gap:8px;margin-top:10px}.test-case-result-details pre{background-color:var(--input-bg);border-radius:4px;font-size:.85em;margin-top:4px;padding:8px}.summary-total{background-color:#f8fafc;background-color:var(--bg-secondary,#f8fafc);border-radius:6px;color:var(--text-primary);font-size:1.1em;margin-top:20px;padding:15px;text-align:center}.error-output,.success-output{margin-top:10px}.error-output strong,.success-output strong{color:var(--text-primary);display:block;margin-bottom:8px}.error-output pre,.success-output pre{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;font-family:Courier New,Courier,monospace;font-size:.9em;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-all}.error-output pre{background-color:#dc35451a;border-color:#dc3545;color:#dc3545}@media (max-width:1200px){.test-taking-container:not(.test-taking--coding) .editor-panel{border-top:2px solid var(--border-color)}.test-taking-container:not(.test-taking--coding) .question-panel{height:auto;max-height:50vh}.test-taking-container:not(.test-taking--coding) .editor-wrapper{height:400px}}@media (max-width:1024px){.test-content{grid-template-columns:200px 1fr}.example-content{grid-template-columns:1fr}}@media (max-width:768px){.test-content{grid-template-columns:1fr}.question-sidebar{border-right:none;border-top:2px solid var(--border-color);height:auto;max-height:300px;order:2}.main-content-wrapper{order:1}.test-taking-container:not(.test-taking--coding) .question-panel{height:auto;max-height:50vh}.test-header{align-items:flex-start;flex-direction:column;gap:15px}.test-header-right{justify-content:space-between;width:100%}.example-content{grid-template-columns:1fr}.editor-header{align-items:stretch;flex-direction:column;gap:10px}.editor-actions{justify-content:stretch;width:100%}.editor-actions button{flex:1 1}.editor-wrapper{height:400px}}.sql-test-single-screen{display:flex;flex:1 1;min-height:0;overflow:hidden;width:100%}.sql-left-panel{background:var(--bg-primary);border-right:2px solid var(--border-color);display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden}.sql-question-block{background:linear-gradient(135deg,#f8f9fa,#e9ecef);background:var(--sql-task-bg,linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%));border-bottom:1px solid var(--border-color);border-left:4px solid var(--primary-color);flex-shrink:0;margin:0;padding:0}.sql-task-label{align-items:center;background:#ed033114;background:var(--sql-task-label-bg,#ed033114);border-bottom:1px solid #ed033133;border-bottom:1px solid var(--sql-task-label-border,#ed033133);color:var(--primary-color);display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.05em;padding:10px 14px;text-transform:uppercase}.sql-task-icon{font-size:14px}.sql-question-text-wrap{min-height:44px;padding:14px}.sql-question-text{color:var(--text-primary);font-size:14px;font-weight:500;line-height:1.6;margin:0;white-space:pre-wrap}.schema-panel-compact{border:none;border-radius:0;border-top:1px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;margin:0;min-height:0;overflow:hidden;padding:10px 12px}.schema-panel-compact h4{color:var(--text-primary);flex-shrink:0;font-size:12px;font-weight:600;margin:0 0 6px}.schema-panel-compact .schema-sql-fallback,.schema-panel-compact .schema-sql-readonly{background:#0000;color:var(--text-primary);flex:1 1;font-size:11px;line-height:1.4;max-height:none;min-height:0;overflow:auto}.schema-diagram-wrap{background:#f0f4f8;background:var(--schema-canvas-bg,#f0f4f8);border:1px solid #dde1e6;border:1px solid var(--schema-canvas-border,#dde1e6);border-radius:10px;flex:1 1;min-height:0;overflow:auto;padding:20px;position:relative}[data-theme=dark] .schema-diagram-wrap{background:#1e232d99;background:var(--schema-canvas-bg,#1e232d99);border-color:var(--schema-canvas-border)}.schema-diagram-tables{grid-gap:36px 40px;align-content:start;display:grid;gap:36px 40px;grid-template-columns:repeat(2,minmax(180px,1fr));position:relative;z-index:1}@media (max-width:520px){.schema-diagram-tables{grid-template-columns:1fr}}.schema-er-table{background:#fff;background:var(--schema-table-bg,#fff);border:2px solid #2c3e50;border:2px solid var(--schema-table-border,#2c3e50);border-radius:10px;box-shadow:0 2px 10px #0000000f;min-width:0}[data-theme=dark] .schema-er-table{background:var(--schema-table-bg);border-color:var(--schema-table-border);box-shadow:0 2px 12px #0000004d}.schema-er-table-header{background:#2c3e50;background:var(--schema-header-bg,#2c3e50);border-radius:6px 6px 0 0;color:#fff;color:var(--schema-header-fg,#fff);font-size:14px;font-weight:700;padding:10px 14px;text-align:center}[data-theme=dark] .schema-er-table-header{background:var(--schema-header-bg);color:var(--schema-header-fg)}.schema-er-table-body{padding:6px 0}.schema-er-column{align-items:center;border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--schema-divider,#e8eaed);display:flex;font-size:12px;gap:12px;justify-content:space-between;line-height:1.4;padding:5px 14px}.schema-er-column:last-child{border-bottom:none}[data-theme=dark] .schema-er-column{border-bottom-color:var(--schema-divider)}.schema-er-col-name{color:var(--text-primary);font-weight:600}.schema-er-col-type{color:#5f6368;color:var(--text-secondary,#5f6368);font-size:10px;letter-spacing:.04em;text-transform:uppercase}[data-theme=dark] .schema-er-col-type{color:var(--text-secondary)}.schema-diagram-arrows{height:100%;left:0;overflow:visible;pointer-events:none;position:absolute;top:0;width:100%}.schema-relation-line{fill:none;stroke:#64748b;stroke:var(--schema-arrow,#64748b);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .schema-relation-line{stroke:#64748b;stroke:var(--schema-arrow,#64748b)}.sql-right-panel{background:var(--bg-primary);display:flex;flex-direction:column;height:100%;min-width:0;overflow:hidden}.sql-editor-block{border-bottom:2px solid var(--border-color);display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.sql-editor-header{flex-shrink:0;padding:8px 12px}.sql-editor-wrapper{flex:1 1;min-height:140px;overflow:hidden}.sql-editor-wrapper .monaco-editor{height:100%!important}.sql-result-block{max-height:50%;min-height:120px}.sql-output-panel,.sql-result-block{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.sql-output-panel{border:none;border-radius:0;margin:0;min-height:0;padding:10px 12px}.sql-output-panel.match{background:#e8f5e9;background:var(--sql-result-success-bg,#e8f5e9);border-top:3px solid #2e7d32;border-top:3px solid var(--sql-result-success-border,#2e7d32);color:var(--text-primary)}.sql-output-panel.no-match{background:#fff8e1;background:var(--sql-result-nomatch-bg,#fff8e1);border-top:3px solid #ff8f00;border-top:3px solid var(--sql-result-nomatch-border,#ff8f00);color:var(--text-primary)}.sql-output-panel.error{background:#ffebee;background:var(--sql-result-error-bg,#ffebee);border-top:3px solid #c62828;border-top:3px solid var(--sql-result-error-border,#c62828);color:var(--text-primary)}.sql-output-panel.loading{background:#e3f2fd;background:var(--sql-result-loading-bg,#e3f2fd);border-top:2px solid #90caf9;border-top:2px solid var(--sql-result-loading-border,#90caf9);color:var(--text-primary)}.sql-output-panel.empty{background:#fff;border-top:2px solid var(--border-color);color:var(--text-primary)}.sql-feedback-banner{align-items:center;border-radius:0;display:flex;font-size:14px;gap:12px;line-height:1.4;margin:-10px -12px 12px;padding:12px 14px}.sql-feedback-correct{background:#2e7d3233;background:var(--sql-feedback-correct-bg,#2e7d3233);border-bottom:2px solid #2e7d32;border-bottom:2px solid var(--sql-result-success-border,#2e7d32);color:#1b5e20;color:var(--sql-feedback-correct-text,#1b5e20)}.sql-feedback-correct .sql-feedback-icon{color:#2e7d32;flex-shrink:0;font-size:22px}.sql-feedback-incorrect{background:#ff8f0026;background:var(--sql-feedback-incorrect-bg,#ff8f0026);border-bottom:2px solid #ff8f00;border-bottom:2px solid var(--sql-result-nomatch-border,#ff8f00);color:#e65100;color:var(--sql-feedback-incorrect-text,#e65100)}.sql-feedback-incorrect .sql-feedback-icon{color:#e65100;flex-shrink:0;font-size:22px}.sql-output-header{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;margin-bottom:8px}.sql-output-header h4{color:var(--text-primary);font-size:13px;font-weight:600;margin:0}.sql-result-badge{border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px}.sql-result-badge.match{background:#2e7d32;color:#fff}.sql-result-badge.no-match{background:#e65100;color:#fff}.sql-result-badge.error{background:#c62828;color:#fff}.sql-run-count{color:var(--text-secondary);font-size:11px;margin:0}.sql-loading{font-style:italic}.sql-loading,.sql-no-rows,.sql-placeholder{color:var(--text-secondary);font-size:13px;margin:0}.sql-result-table-wrap{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;flex:1 1;min-height:0;overflow:auto}.sql-result-table{border-collapse:collapse;font-size:12px;width:100%}.sql-result-table td,.sql-result-table th{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:6px 10px;text-align:left}.sql-result-table th{background:#fff;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:1}.sql-result-table td,.sql-result-table th{color:var(--text-primary)}.sql-result-table tbody tr:hover{background:#00000008;background:var(--sql-table-row-hover,#00000008)}.sql-error{color:#c62828;color:var(--sql-error-text,#c62828);flex:1 1;font-size:12px;margin:0;min-height:0;overflow:auto;white-space:pre-wrap}.q-marks-badge{color:var(--text-secondary);font-size:12px}.test-taking-loader{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:calc(100vh - 72px);min-height:calc(100vh - var(--navbar-height, 72px));padding:32px 24px;text-align:center}.test-taking-loader-spinner{animation:test-taking-spin .75s linear infinite;border-top-color:#e7210b;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color,#e7210b);height:44px;width:44px}@keyframes test-taking-spin{to{transform:rotate(1turn)}}.test-taking-loader-text{color:var(--text-secondary);font-size:.95rem;font-weight:500;margin:0}.test-taking-loader--error h3{color:var(--text-primary);font-size:1.15rem;margin:0 0 8px}.test-taking-loader--error p{color:var(--text-secondary);line-height:1.5;margin:0 0 20px;max-width:420px}.test-taking-loader-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.App:has(.test-taking-container){height:100vh;overflow:hidden}.test-taking-container{--exam-accent:#3b82f6;--exam-accent-hover:#2563eb;--exam-accent-soft:#3b82f61a;--exam-surface:#fff;--exam-border:var(--border-color);--exam-text:var(--text-primary);--exam-muted:var(--text-secondary);--exam-success:#059669;--exam-warn:#d97706;--exam-danger:#dc2626;--exam-radius:10px;--exam-radius-sm:8px;--exam-shadow:0 1px 3px #0000000a;--exam-shadow-md:0 4px 14px #0000000d;background:var(--bg-primary);height:calc(100vh - 72px);height:calc(100vh - var(--navbar-height, 72px));max-height:calc(100vh - 72px);max-height:calc(100vh - var(--navbar-height, 72px))}.test-taking-container .test-header{animation:none;background:var(--exam-surface);border-bottom:1px solid var(--exam-border);box-shadow:var(--exam-shadow);gap:12px;padding:12px 20px}.test-taking-container .test-header-left{align-items:flex-start;flex-direction:column;gap:8px;min-width:0}.test-taking-container .test-header-brand{align-items:center;display:flex;flex-wrap:wrap;gap:10px;min-width:0}.test-taking-container .test-header-left h2{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.test-taking-container .test-type-badge{background:var(--exam-accent-soft);border:1px solid color-mix(in srgb,var(--exam-accent) 22%,var(--exam-border));border-radius:6px;color:var(--exam-accent);font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:4px 10px}.test-taking-container .test-progress-pill{background:var(--bg-primary);border:1px solid var(--exam-border);border-radius:999px;color:var(--exam-muted);font-size:.78rem;font-weight:600;padding:4px 10px}.test-taking-container .test-header-right{flex-wrap:wrap;gap:10px;justify-content:flex-end}.test-taking-container .test-violations-pill{background:var(--bg-primary);border:1px solid var(--exam-border);border-radius:999px;color:var(--exam-muted);font-size:.75rem;font-weight:600;padding:6px 12px}.test-taking-container .test-violations-pill.is-ok{background:color-mix(in srgb,var(--exam-success) 8%,var(--bg-primary));border-color:color-mix(in srgb,var(--exam-success) 35%,var(--exam-border));color:var(--exam-success)}.test-taking-container .test-violations-pill.is-warn{background:color-mix(in srgb,var(--exam-warn) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--exam-warn) 40%,var(--exam-border));color:var(--exam-warn)}.test-taking-container .test-violations-pill.is-danger{background:color-mix(in srgb,var(--exam-danger) 10%,var(--bg-primary));border-color:color-mix(in srgb,var(--exam-danger) 40%,var(--exam-border));color:var(--exam-danger)}.test-taking-container .test-timer{font-feature-settings:"tnum";animation:none;background:var(--bg-primary);border:1px solid var(--exam-border);border-radius:var(--exam-radius-sm);box-shadow:none;color:var(--exam-text);font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:700;padding:8px 14px}.test-taking-container .test-timer:hover{box-shadow:var(--exam-shadow);transform:none}.test-taking-container .test-timer.is-expired{animation:none;background:color-mix(in srgb,var(--exam-warn) 8%,var(--bg-primary));border-color:color-mix(in srgb,var(--exam-warn) 45%,var(--exam-border));color:var(--exam-warn)}.test-taking-container .test-timer-icon{font-size:1rem;opacity:.7}.test-taking-container .test-time-hint{background:color-mix(in srgb,var(--exam-warn) 10%,#0000);border-radius:6px;color:var(--exam-warn);font-size:.72rem;padding:4px 8px}.test-taking-container .exam-btn{align-items:center;border:1px solid #0000;border-radius:var(--exam-radius-sm);cursor:pointer;display:inline-flex;font-size:.84rem;font-weight:600;gap:6px;justify-content:center;padding:9px 16px;transition:background .15s ease,border-color .15s ease,transform .15s ease}.test-taking-container .exam-btn:disabled{cursor:not-allowed;opacity:.55}.test-taking-container .exam-btn-primary{background:#1e293b;border-color:#1e293b;color:#fff}.test-taking-container .exam-btn-primary:hover:not(:disabled){animation:none;background:#334155;box-shadow:var(--exam-shadow-md);transform:translateY(-1px)}.test-taking-container .exam-btn-secondary{background:var(--bg-primary);border-color:var(--exam-border);color:var(--exam-text)}.test-taking-container .exam-btn-secondary:hover:not(:disabled){background:var(--exam-surface);border-color:var(--exam-muted)}.test-taking-container .exam-btn-run{background:var(--exam-accent-soft);border-color:color-mix(in srgb,var(--exam-accent) 30%,var(--exam-border));color:var(--exam-accent)}.test-taking-container .exam-btn-run:hover:not(:disabled){background:color-mix(in srgb,var(--exam-accent) 18%,var(--bg-primary));border-color:var(--exam-accent);box-shadow:none;transform:translateY(-1px)}.test-taking-container .exam-btn-outline-danger{background:#0000;border-color:color-mix(in srgb,var(--exam-danger) 35%,var(--exam-border));color:var(--exam-danger)}.test-taking-container .exam-btn-outline-danger:hover:not(:disabled){background:color-mix(in srgb,var(--exam-danger) 8%,var(--bg-primary))}.test-taking-container .exam-btn-submit-final{background:#1e293b;border-color:#1e293b;color:#fff;padding:10px 22px}.test-taking-container .exam-btn-submit-final:hover:not(:disabled){background:#334155}.test-taking-container .test-content{grid-template-columns:240px 1fr}.test-taking-container .question-sidebar{background:var(--exam-surface);border-right:1px solid var(--exam-border);height:100%;min-height:0;padding:16px 12px}.test-taking-container .question-sidebar-head{align-items:baseline;border-bottom:1px solid var(--exam-border);display:flex;gap:8px;justify-content:space-between;margin-bottom:14px;padding-bottom:10px}.test-taking-container .question-sidebar-head h3{border:none;color:var(--exam-muted);font-size:.82rem;font-weight:700;letter-spacing:.06em;margin:0;padding:0;text-transform:uppercase}.test-taking-container .question-sidebar-count,.test-taking-container .section-title{color:var(--exam-muted);font-size:.72rem}.test-taking-container .section-title{background:#0000;border-left:2px solid var(--exam-accent);border-radius:0;font-weight:600;letter-spacing:.04em;margin-bottom:8px;padding:6px 8px;text-transform:uppercase}.test-taking-container .question-nav-btn{animation:none!important;background:var(--bg-primary);border:1px solid var(--exam-border);border-radius:var(--exam-radius-sm);font-size:.84rem;margin-bottom:6px;padding:10px 12px;transition:background-color .15s ease,border-color .15s ease}.test-taking-container .question-nav-btn:hover{background:var(--exam-accent-soft);border-color:color-mix(in srgb,var(--exam-accent) 35%,var(--exam-border));box-shadow:none;transform:none}.test-taking-container .question-nav-btn.active{animation:none!important;background:#eff6ff;border-color:#93c5fd;border-left:3px solid #3b82f6;border-left:3px solid var(--exam-accent,#3b82f6);box-shadow:none;color:#1d4ed8;font-weight:600;padding-left:9px;transform:none}.test-taking-container .question-nav-btn.active .question-number{color:#1d4ed8}.test-taking-container .question-nav-btn.active .question-status-indicator{color:var(--exam-success)}.test-taking-container .question-nav-btn.attempted:not(.active){border-left:3px solid var(--exam-success);padding-left:9px}.test-taking-container .question-nav-btn.active.attempted{border-left:3px solid #3b82f6;border-left:3px solid var(--exam-accent,#3b82f6);padding-left:9px}.test-taking-container .question-panel:not(.coding-question-panel){background:var(--bg-primary);border-right:1px solid var(--exam-border);padding:20px 22px}.test-taking-container .question-header{border-bottom:1px solid var(--exam-border);margin-bottom:18px;padding-bottom:12px}.test-taking-container .question-header h3{font-size:1rem;font-weight:600}.test-taking-container .difficulty-badge.medium{background:color-mix(in srgb,var(--exam-warn) 15%,var(--bg-primary));border:1px solid color-mix(in srgb,var(--exam-warn) 30%,var(--exam-border));color:var(--exam-warn)}.test-taking-container .constraints-section{background:var(--exam-accent-soft);border-left:3px solid var(--exam-accent);border-radius:var(--exam-radius-sm)}.test-taking-container .constraints-section strong{color:var(--exam-accent)}.test-taking-container .custom-test-case-section,.test-taking-container .example-box,.test-taking-container .test-cases-section{background:var(--exam-surface);border:1px solid var(--exam-border);border-radius:var(--exam-radius);box-shadow:var(--exam-shadow)}.test-taking-container .custom-test-case-section strong,.test-taking-container .examples-section strong,.test-taking-container .test-cases-section strong{color:var(--exam-text)}.test-taking-container .test-case-box{background:var(--bg-primary);border:1.5px solid var(--exam-border);border-radius:var(--exam-radius-sm)}.test-taking-container .test-case-box.test-case-passed{background:color-mix(in srgb,var(--exam-success) 10%,var(--bg-primary));border-color:var(--exam-success)}.test-taking-container .test-case-box.test-case-failed{background:color-mix(in srgb,var(--exam-danger) 10%,var(--bg-primary));border-color:var(--exam-danger)}.test-taking-container .custom-input-group label,.test-taking-container .custom-test-result-header,.test-taking-container .test-case-header,.test-taking-container .test-case-item strong{color:var(--exam-text)}.test-taking-container .custom-test-result-content pre,.test-taking-container .example-item pre,.test-taking-container .test-case-item pre{background:var(--input-bg);border:1px solid var(--exam-border);color:var(--exam-text)}.test-taking-container .test-case-item.error{color:var(--exam-danger)}.test-taking-container .test-case-item.error pre{background:color-mix(in srgb,var(--exam-danger) 12%,var(--bg-primary));border-color:color-mix(in srgb,var(--exam-danger) 40%,var(--exam-border))}.test-taking-container .output-correct{background:color-mix(in srgb,var(--exam-success) 12%,var(--bg-primary))!important;border-color:var(--exam-success)!important;color:var(--exam-success)!important}.test-taking-container .output-incorrect{background:color-mix(in srgb,var(--exam-danger) 12%,var(--bg-primary))!important;border-color:var(--exam-danger)!important;color:var(--exam-danger)!important}.test-taking-container .hidden-test-cases-note{background:color-mix(in srgb,var(--exam-warn) 12%,var(--bg-primary));border-left-color:var(--exam-warn);color:var(--exam-muted)}.test-taking-container .custom-test-input{background:var(--input-bg);border-color:var(--exam-border);color:var(--exam-text)}.test-taking-container .custom-test-result.passed{background:color-mix(in srgb,var(--exam-success) 10%,var(--bg-primary));border-color:var(--exam-success)}.test-taking-container .custom-test-result.failed{background:color-mix(in srgb,var(--exam-danger) 10%,var(--bg-primary));border-color:var(--exam-danger)}.test-taking-container .test-case-result-item.passed{background:color-mix(in srgb,var(--exam-success) 10%,var(--bg-primary));border-color:var(--exam-success)}.test-taking-container .test-case-result-item.failed{background:color-mix(in srgb,var(--exam-danger) 10%,var(--bg-primary));border-color:var(--exam-danger)}.test-taking-container .test-case-result-header{color:var(--exam-text)}.test-taking-container .summary-total{background:var(--exam-surface);border:1px solid var(--exam-border);color:var(--exam-text)}.test-taking-container .submission-summary-inline{background:var(--exam-surface);border-color:var(--exam-border);box-shadow:var(--exam-shadow)}.test-taking-container .submission-summary h3,.test-taking-container .submission-summary-head h3,.test-taking-container .test-case-group h4{color:var(--exam-text)}.test-taking-container .editor-panel{background:#1e1e1e;border-left:1px solid #2d2d2d}.test-taking-container .editor-header:not(.coding-editor-toolbar){background:#252526;border-bottom:1px solid #2d2d2d;padding:10px 14px}.test-taking-container .language-select{background:#2d2d30;border-color:#3e3e42;border-radius:6px;color:#e4e4e7;font-size:.82rem}.test-taking-container .resizer{background:var(--exam-border);width:5px}.test-taking-container .resizer:hover{background:var(--exam-accent)}.test-taking-container .editor-wrapper{background:#1e1e1e}.test-taking-container .mcq-options{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.test-taking-container .mcq-option{align-items:flex-start;background:var(--exam-surface);border:1.5px solid var(--exam-border);border-radius:var(--exam-radius);cursor:pointer;display:flex;gap:14px;margin-bottom:0;padding:16px 18px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.test-taking-container .mcq-option:hover{background:var(--exam-accent-soft);border-color:color-mix(in srgb,var(--exam-accent) 40%,var(--exam-border));box-shadow:var(--exam-shadow);transform:none}.test-taking-container .mcq-option.selected{background:var(--exam-accent-soft);border-color:var(--exam-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--exam-accent) 20%,#0000)}.test-taking-container .mcq-option input[type=checkbox],.test-taking-container .mcq-option input[type=radio]{accent-color:var(--exam-accent);cursor:pointer;flex-shrink:0;height:18px;margin:3px 0 0;width:18px}.test-taking-container .mcq-option .option-text{color:var(--exam-text);flex:1 1;font-size:.95rem;line-height:1.55}.test-taking-container .case-study-block{background:var(--exam-surface);border:1px solid var(--exam-border);border-radius:var(--exam-radius);color:var(--exam-text);margin-bottom:20px;padding:16px 18px}.test-taking-container .case-study-block h4{color:var(--exam-muted);font-size:.82rem;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.test-taking-container .case-study-block p{color:var(--exam-text);line-height:1.6;margin:0}.test-taking-container .section-badge{background:var(--exam-accent-soft);border:1px solid color-mix(in srgb,var(--exam-accent) 22%,var(--exam-border));border-radius:6px;color:var(--exam-accent);font-size:.72rem;font-weight:600;padding:4px 10px}.test-taking-container .numeric-input{background:var(--exam-surface);border-color:var(--exam-border);color:var(--exam-text)}.test-taking-container .test-footer{align-items:center;background:var(--exam-surface);border-top:1px solid var(--exam-border);box-shadow:0 -2px 8px #0f172a0a;display:flex;gap:16px;justify-content:space-between;padding:12px 20px}.test-taking-container .footer-progress{flex:1 1;max-width:280px;min-width:120px}.test-taking-container .footer-progress>span{color:var(--exam-muted);display:block;font-size:.75rem;font-weight:600;margin-bottom:6px}.test-taking-container .footer-progress-bar{background:var(--bg-primary);border:1px solid var(--exam-border);border-radius:999px;height:4px;overflow:hidden}.test-taking-container .footer-progress-fill{background:var(--exam-accent);border-radius:999px;height:100%;transition:width .35s ease}.test-taking-container .footer-actions{flex-shrink:0;gap:10px}.test-taking-container .question-actions .btn-primary,.test-taking-container .question-actions .exam-btn-primary{background:#1e293b;color:#fff}.test-taking-container .btn-run,.test-taking-container .btn-submit{animation:none;box-shadow:none}.test-taking-container .btn-submit{background:#1e293b!important;color:#fff!important}.test-taking-container .btn-run{background:var(--exam-accent-soft)!important;border:1px solid color-mix(in srgb,var(--exam-accent) 30%,var(--exam-border))!important;color:var(--exam-accent)!important}[data-theme=dark] .test-taking-container{--exam-surface:#1f1f1f;--exam-border:#3f3f46;--exam-shadow:0 2px 8px #00000040;--exam-shadow-md:0 6px 20px #00000059;--exam-accent-soft:#3b82f61f}[data-theme=dark] .test-taking-container .question-panel:not(.coding-question-panel){background:#121212}[data-theme=dark] .test-taking-container .question-sidebar{background:#18181b;border-right-color:#3f3f46}[data-theme=dark] .test-taking-container .test-footer,[data-theme=dark] .test-taking-container .test-header{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .test-taking-container .question-nav-btn{background:#27272a;border-color:#3f3f46;color:#e4e4e7}[data-theme=dark] .test-taking-container .question-nav-btn:hover{background:#3f3f46;border-color:#52525b}[data-theme=dark] .test-taking-container .mcq-option{background:#222;border-color:#3f3f46}[data-theme=dark] .test-taking-container .mcq-option:hover{background:#2a2a2a;border-color:#52525b;box-shadow:0 2px 8px #0003}[data-theme=dark] .test-taking-container .mcq-option.selected{background:#3b82f624;border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f640}[data-theme=dark] .test-taking-container .mcq-option .option-text{color:#f4f4f5}[data-theme=dark] .test-taking-container .mcq-option.selected .option-text{color:#fafafa}[data-theme=dark] .test-taking-container .mcq-option input[type=checkbox],[data-theme=dark] .test-taking-container .mcq-option input[type=radio]{accent-color:#3b82f6}[data-theme=dark] .test-taking-container .case-study-block{background:#222;border-color:#3f3f46}[data-theme=dark] .test-taking-container .case-study-block h4{color:#a1a1aa}[data-theme=dark] .test-taking-container .case-study-block p{color:#e4e4e7}[data-theme=dark] .test-taking-container .section-badge{background:#27272a;border-color:#3f3f46;color:#93c5fd}[data-theme=dark] .test-taking-container .numeric-input{background:#222;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .test-taking-container .question-description h4{color:#f4f4f5}[data-theme=dark] .test-taking-container .description-content{color:#d4d4d8}[data-theme=dark] .test-taking-container.test-taking--coding .coding-question-panel{background:#121212;border-right-color:#3f3f46}[data-theme=dark] .test-taking-container .constraints-section{background:#222;border-color:#3f3f46 #3f3f46 #3f3f46 #3b82f6}[data-theme=dark] .test-taking-container .constraints-section strong{color:#93c5fd}[data-theme=dark] .test-taking-container .constraints-content{color:#d4d4d8}[data-theme=dark] .test-taking-container .custom-test-case-section,[data-theme=dark] .test-taking-container .example-box,[data-theme=dark] .test-taking-container .test-cases-section{background:#1f1f1f;border-color:#3f3f46;box-shadow:0 2px 8px #0003}[data-theme=dark] .test-taking-container .custom-test-case-section strong,[data-theme=dark] .test-taking-container .test-cases-section strong{color:#f4f4f5}[data-theme=dark] .test-taking-container .test-case-box{background:#27272a;border-color:#3f3f46}[data-theme=dark] .test-taking-container .test-case-box.test-case-passed{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .test-taking-container .test-case-box.test-case-failed{background:#ef44441f;border-color:#ef4444}[data-theme=dark] .test-taking-container .custom-input-group label,[data-theme=dark] .test-taking-container .custom-test-result-header,[data-theme=dark] .test-taking-container .test-case-header,[data-theme=dark] .test-taking-container .test-case-item strong{color:#e4e4e7}[data-theme=dark] .test-taking-container .custom-test-result-content pre,[data-theme=dark] .test-taking-container .example-item pre,[data-theme=dark] .test-taking-container .test-case-item pre{background:#18181b;border-color:#3f3f46;color:#e4e4e7}[data-theme=dark] .test-taking-container .test-case-item.error{color:#fca5a5}[data-theme=dark] .test-taking-container .test-case-item.error pre{background:#ef44441f;border-color:#ef4444;color:#fecaca}[data-theme=dark] .test-taking-container .output-correct{background:#22c55e26!important;border-color:#22c55e!important;color:#86efac!important}[data-theme=dark] .test-taking-container .output-incorrect{background:#ef444426!important;border-color:#ef4444!important;color:#fca5a5!important}[data-theme=dark] .test-taking-container .hidden-test-cases-note{background:#fbbf241a;border-left-color:#f59e0b;color:#d4d4d8}[data-theme=dark] .test-taking-container .custom-test-input{background:#18181b;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .test-taking-container .custom-test-input::placeholder{color:#71717a}[data-theme=dark] .test-taking-container .custom-test-result.passed{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .test-taking-container .custom-test-result.failed{background:#ef44441f;border-color:#ef4444}[data-theme=dark] .test-taking-container .test-case-result-item.passed{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .test-taking-container .test-case-result-item.failed{background:#ef44441f;border-color:#ef4444}[data-theme=dark] .test-taking-container .test-case-result-header{color:#e4e4e7}[data-theme=dark] .test-taking-container .summary-total{background:#1f1f1f;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .test-taking-container .submission-summary-inline{background:#1f1f1f;border-color:#3f3f46;box-shadow:0 2px 8px #0003}[data-theme=dark] .test-taking-container .submission-summary h3,[data-theme=dark] .test-taking-container .submission-summary-head h3,[data-theme=dark] .test-taking-container .test-case-group h4{color:#f4f4f5}[data-theme=dark] .test-taking-container .exam-btn-primary,[data-theme=dark] .test-taking-container .exam-btn-submit-final{background:#3f3f46;border-color:#52525b}[data-theme=dark] .test-taking-container .exam-btn-primary:hover:not(:disabled),[data-theme=dark] .test-taking-container .exam-btn-submit-final:hover:not(:disabled){background:#52525b}[data-theme=dark] .test-taking-container .question-nav-btn.active{background:#3b82f624;border-color:#3b82f6;color:#93c5fd}[data-theme=dark] .test-taking-container .question-nav-btn.active .question-number{color:#93c5fd}[data-theme=dark] .test-taking-container.test-taking--coding .question-sidebar{background:#18181b;border-right-color:#3f3f46}[data-theme=dark] .test-taking-container.test-taking--coding .question-sidebar-head{border-bottom-color:#3f3f46}[data-theme=dark] .test-taking-container.test-taking--coding .question-nav-btn{border-color:#3f3f46}[data-theme=dark] .test-taking-container.test-taking--coding .question-nav-btn:hover{border-color:#52525b}[data-theme=dark] .test-taking-container.test-taking--coding .question-nav-btn.active{background:#3b82f62e;border-color:#3b82f6;color:#93c5fd}[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-toolbar{background:#27272a;border-bottom-color:#3f3f46;box-shadow:none}[data-theme=dark] .test-taking-container.test-taking--coding .editor-toolbar-title{color:#a1a1aa}[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-toolbar .language-select{background:#18181b;border-color:#52525b}[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-panel{background:#1e1e1e;border-left-color:#3f3f46}.test-taking-container.test-taking--coding{overflow:hidden}.test-taking-container.test-taking--coding .test-header{flex-shrink:0;position:relative;top:auto}.test-taking-container.test-taking--coding .test-content{flex:1 1 auto;grid-template-columns:220px 1fr;min-height:0;overflow:hidden}.test-taking-container.test-taking--coding .question-sidebar{background:#fff;border-right-color:#e2e8f0;height:100%;max-height:none;overflow-y:auto}.test-taking-container.test-taking--coding .question-sidebar-head{border-bottom-color:#e2e8f0}.test-taking-container.test-taking--coding .section-title{border-left-color:#3b82f6;border-left-color:var(--exam-accent,#3b82f6);color:#64748b}.test-taking-container.test-taking--coding .question-nav-btn{background:#fff;border-color:#e2e8f0;color:#334155}.test-taking-container.test-taking--coding .question-nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.test-taking-container.test-taking--coding .question-nav-btn.active{background:#eff6ff;border-color:#bfdbfe #bfdbfe #bfdbfe #3b82f6;color:#1d4ed8}.test-taking-container.test-taking--coding .question-nav-btn.attempted:not(.active){border-left-color:#10b981}.test-taking-container.test-taking--coding .question-nav-btn.active .question-status-indicator{color:#059669}.test-taking-container.test-taking--coding .main-content-wrapper{flex:1 1;height:100%;min-height:0}.test-taking-container.test-taking--coding .coding-question-panel{height:100%;max-height:none;min-height:0}.test-taking-container.test-taking--coding .question-panel-top{border-bottom:1px solid var(--exam-border,var(--border-color));flex-shrink:0;padding:12px 14px 0}.test-taking-container.test-taking--coding .question-panel-top .question-header{border:none;margin-bottom:0;padding-bottom:10px}.test-taking-container.test-taking--coding .question-panel-scroll{-webkit-overflow-scrolling:touch;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 14px 14px}.test-taking-container.test-taking--coding .question-description h4{font-size:1.1rem;margin-bottom:8px}.test-taking-container.test-taking--coding .description-content{font-size:.88rem;line-height:1.55;margin-bottom:12px}.test-taking-container.test-taking--coding .custom-test-case-section,.test-taking-container.test-taking--coding .test-cases-section{background:var(--exam-surface);border:1px solid var(--exam-border);border-radius:var(--exam-radius);margin-top:12px;padding:12px}.test-taking-container.test-taking--coding .custom-input-group textarea.custom-test-input{max-height:72px;min-height:52px}.test-taking-container.test-taking--coding .coding-editor-panel{background:#fff;border-left:1px solid #e2e8f0;flex:1 1;height:100%;min-height:0}.test-taking-container.test-taking--coding .coding-editor-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 2px #0f172a0a;display:flex;flex-wrap:nowrap;gap:12px;min-height:52px;padding:10px 16px}.test-taking-container.test-taking--coding .editor-toolbar-title{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.06em;margin-right:2px;text-transform:uppercase;white-space:nowrap}.test-taking-container.test-taking--coding .coding-editor-toolbar .language-select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.84rem;font-weight:500;min-width:128px;padding:8px 12px}.test-taking-container.test-taking--coding .coding-editor-toolbar .language-select:hover{border-color:#94a3b8}.test-taking-container.test-taking--coding .coding-editor-toolbar .language-select:focus{border-color:#3b82f6;border-color:var(--exam-accent,#3b82f6);box-shadow:0 0 0 3px #3b82f633;outline:none}.test-taking-container.test-taking--coding .coding-editor-toolbar .editor-actions{margin-left:auto}.test-taking-container.test-taking--coding .coding-editor-body{flex:1 1 auto;height:100%;min-height:0}.test-taking-container.test-taking--coding .coding-editor-body>section{height:100%!important}.test-taking-container.test-taking--coding .test-footer{bottom:auto;flex-shrink:0;position:relative}.test-taking-container.test-taking--coding .resizer{align-self:stretch;height:100%}.test-taking-container.test-taking--standard .test-content{flex:1 1;min-height:0;overflow:hidden}.test-taking-container.test-taking--standard .question-sidebar{height:100%;overflow-y:auto}.test-taking-container.test-taking--standard .main-content-wrapper{min-height:0;overflow-y:auto}.test-taking-container.test-taking--standard .question-panel.full-width{display:flex;flex-direction:column;height:auto;min-height:0;overflow-y:visible;padding:20px 20px 0}.test-taking-container.test-taking--standard .question-panel.full-width .question-actions{background:#fff;background:var(--exam-surface,#fff);bottom:0;box-shadow:0 -8px 16px #0f172a0f;margin-top:auto;padding:16px 0 20px;position:-webkit-sticky;position:sticky;z-index:5}.test-taking-container.test-taking--standard .mcq-options .mcq-option{user-select:none;-webkit-user-select:none}.test-taking-container.test-taking--standard .mcq-options .mcq-option .option-text{user-select:text;-webkit-user-select:text}@media (max-width:900px){.test-taking-container .test-content,.test-taking-container.test-taking--coding .test-content{grid-template-columns:1fr;grid-template-rows:auto 1fr}.test-taking-container .question-sidebar,.test-taking-container.test-taking--coding .question-sidebar{height:auto;max-height:140px}.test-taking-container .test-header{flex-wrap:wrap}.test-taking-container .test-footer{align-items:stretch;flex-direction:column}.test-taking-container .footer-progress{max-width:none}.test-taking-container.test-taking--coding .main-content-wrapper{flex-direction:column;min-height:0}.test-taking-container.test-taking--coding .coding-editor-panel,.test-taking-container.test-taking--coding .coding-question-panel{max-width:none;min-height:200px;width:100%!important}}.qpp-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.qpp-panel{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 24px 48px #0f172a33;display:flex;flex-direction:column;max-height:92vh;overflow:hidden;width:min(920px,100%)}.qpp-header{align-items:flex-start;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:16px;justify-content:space-between;padding:20px 24px}.qpp-badge{background:#3b82f61f;border-radius:6px;color:#3b82f6;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;padding:4px 10px;text-transform:uppercase}.qpp-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.qpp-hint{font-size:.82rem;margin:6px 0 0}.qpp-close,.qpp-hint{color:var(--text-secondary)}.qpp-close{background:var(--bg-primary);border:none;border-radius:8px;cursor:pointer;font-size:1.4rem;height:36px;line-height:1;width:36px}.qpp-close:hover{background:#fee2e2;color:#dc2626}.qpp-body{overflow-y:auto;padding:20px 24px 24px}.qpp-error,.qpp-loading{color:var(--text-secondary);padding:40px 24px;text-align:center}.qpp-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.qpp-diff{border-radius:6px;font-size:.75rem;font-weight:700;padding:4px 10px;text-transform:capitalize}.qpp-diff-easy{background:#dcfce7;color:#166534}.qpp-diff-medium{background:#fef3c7;color:#92400e}.qpp-diff-hard{background:#fee2e2;color:#991b1b}.qpp-meta-item{background:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:.82rem;padding:4px 10px}.qpp-description{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:16px}.qpp-custom h4,.qpp-results h4,.qpp-samples h4{color:var(--text-primary);font-size:.88rem;margin:0 0 10px}.qpp-sample{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;margin-bottom:8px;padding:12px}.qpp-sample pre{font-family:ui-monospace,monospace;font-size:.8rem;margin:4px 0 0;white-space:pre-wrap}.qpp-editor-toolbar{align-items:center;display:flex;gap:10px;margin:16px 0 8px}.qpp-lang-select{background:var(--bg-primary);border-radius:8px;color:var(--text-primary);padding:8px 12px}.qpp-editor-wrap,.qpp-lang-select{border:1px solid var(--border-color)}.qpp-editor-wrap{border-radius:10px;margin-bottom:16px;overflow:hidden}.qpp-custom textarea{border:1px solid var(--border-color);border-radius:8px;font-family:ui-monospace,monospace;font-size:.85rem;margin-bottom:8px;padding:10px;resize:vertical;width:100%}.qpp-btn{border:none;border-radius:8px;cursor:pointer;font-size:.84rem;font-weight:600;padding:9px 18px}.qpp-btn-run{background:#3b82f6;color:#fff}.qpp-btn-run:hover:not(:disabled){background:#2563eb}.qpp-btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.qpp-btn:disabled{cursor:not-allowed;opacity:.5}.qpp-results{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-top:16px;padding:14px}.qpp-results.failed{background:#fef2f2;border-color:#fca5a5}.qpp-run-row{border-bottom:1px solid var(--border-color);font-size:.85rem;padding:8px 0}.qpp-run-row.pass{color:#059669}.qpp-run-row.fail{color:#dc2626}.qpp-run-row pre{font-size:.8rem;margin:6px 0 0;white-space:pre-wrap}.qpp-run-summary{font-weight:600;margin:10px 0 0}.qpp-options{display:flex;flex-direction:column;gap:8px}.qpp-opt{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:10px;padding:12px 14px}.qpp-opt.correct{background:#f0fdf4;border-color:#86efac}.qpp-opt.selected{border-color:#93c5fd}.qpp-opt-tag{color:#059669;font-size:.72rem;font-weight:700;margin-left:auto}.qpp-opt-tag.you{color:#2563eb}.qpp-explanation{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-top:16px;padding:14px}.qpp-practice-note{color:var(--text-secondary);font-size:.88rem;margin-top:16px}.tr-page{--tr-surface:var(--card-bg,#fff);--tr-surface-muted:var(--bg-secondary,#f8fafc);--tr-border:var(--border-color);--tr-accent:#3b82f6;animation:trFadeIn .45s ease;margin:0 auto;max-width:980px;padding:32px 24px 64px}@keyframes trFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tr-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:55vh}.tr-spinner{animation:trSpin .75s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top:3px solid #3b82f6;height:36px;width:36px}@keyframes trSpin{to{transform:rotate(1turn)}}.tr-fallback{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:16px;margin-top:32px;padding:48px 28px;text-align:center}.tr-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:28px}.tr-kind-badge{background:color-mix(in srgb,#3b82f6 12%,#0000);background:color-mix(in srgb,var(--tr-accent,#3b82f6) 12%,#0000);border-radius:6px;color:#3b82f6;color:var(--tr-accent,#3b82f6);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;padding:4px 10px;text-transform:uppercase}.tr-title{color:var(--text-primary);font-size:1.65rem;font-weight:700;margin:0}.tr-subtitle-desc{color:var(--text-secondary);font-size:.88rem;margin:6px 0 4px}.tr-subtitle{align-items:center;color:var(--text-secondary);font-size:.85rem;margin:6px 0 0}.tr-composition,.tr-subtitle{display:flex;flex-wrap:wrap;gap:8px}.tr-composition{margin-top:12px}.tr-composition-chip{background:var(--bg-primary);border:1px solid;border-radius:8px;font-size:.78rem;font-weight:600;padding:4px 10px}.tr-auto-tag{color:#d97706;font-weight:600}.tr-btn{border:none;border-radius:10px;cursor:pointer;font-size:.86rem;font-weight:600;padding:10px 20px;transition:background .15s,border-color .15s}.tr-btn-primary{background:#3b82f6;color:#fff}.tr-btn-primary:hover{background:#2563eb}.tr-btn-secondary{background:var(--tr-surface);border:1px solid var(--tr-border);color:var(--text-primary)}.tr-btn-secondary:hover{border-color:#3b82f6;color:#3b82f6}.tr-btn-ghost{background:#0000;border:1px solid var(--border-color);color:var(--text-secondary);font-size:.8rem;padding:8px 14px}.tr-btn-ghost:hover{background:var(--tr-surface-muted)}.tr-btn-practice{background:#eff6ff;border:1px solid #93c5fd;color:#1d4ed8}.tr-btn-practice:hover{background:#dbeafe}.tr-hero{align-items:center;background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:18px;display:flex;gap:36px;margin-bottom:20px;padding:28px 32px}.tr-hero-ring-wrap{flex-shrink:0;height:132px;position:relative;width:132px}.tr-ring{height:100%;width:100%}.tr-ring-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.tr-ring-pct{font-size:1.75rem;font-weight:800;line-height:1}.tr-ring-grade{font-size:.88rem;font-weight:700;margin-top:2px}.tr-hero-stats{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.tr-stat-val{color:var(--text-primary);display:block;font-size:1.5rem;font-weight:700}.tr-stat-val small{color:var(--text-secondary);font-size:.95rem;font-weight:600}.tr-stat-lbl{color:var(--text-secondary);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.tr-stat-warn .tr-stat-val{color:#dc2626}.tr-breakdown{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}.tr-breakdown-pill{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:140px;padding:14px 18px}.tr-breakdown-pill.correct{background:#f0fdf4;border-color:#86efac}.tr-breakdown-pill.partial{background:#fffbeb;border-color:#fcd34d}.tr-breakdown-pill.incorrect{background:#fef2f2;border-color:#fca5a5}.tr-breakdown-num{color:var(--text-primary);font-size:1.4rem;font-weight:800}.tr-breakdown-pill span:last-child{color:var(--text-secondary);font-size:.78rem;font-weight:600}.tr-sections-block{margin-bottom:32px}.tr-block-title{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0 0 16px}.tr-count{color:var(--text-secondary);font-size:.9rem;font-weight:500}.tr-section-grid{display:flex;flex-direction:column;gap:10px}.tr-sec-card{grid-gap:14px;align-items:center;background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:10px;display:grid;gap:14px;grid-template-columns:120px 1fr auto;padding:12px 16px}.tr-sec-name{font-size:.88rem;font-weight:600;text-transform:capitalize}.tr-sec-bar-wrap{background:var(--bg-primary);border-radius:4px;height:8px;overflow:hidden}.tr-sec-bar{border-radius:4px;height:100%;transition:width .6s ease}.tr-sec-score{color:var(--text-secondary);font-size:.82rem;white-space:nowrap}.tr-answers-block{margin-top:8px}.tr-answers-head{gap:12px;justify-content:space-between;margin-bottom:16px}.tr-answers-head,.tr-toolbar{align-items:center;display:flex;flex-wrap:wrap}.tr-toolbar{gap:8px}.tr-filter{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.84rem;padding:8px 12px}.tr-answers-list{display:flex;flex-direction:column;gap:12px}.tr-answer-group{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;overflow:hidden}.tr-answer-group-head{align-items:center;background:var(--tr-surface-muted);border-bottom:2px solid;display:flex;gap:10px;padding:12px 16px}.tr-answer-group-head h3{flex:1 1;font-size:.95rem;font-weight:700;margin:0}.tr-answer-group-icon{font-family:ui-monospace,monospace;font-size:.8rem;font-weight:800}.tr-answer-group-count{background:var(--bg-primary);border-radius:6px;color:var(--text-secondary);font-size:.78rem;font-weight:600;padding:2px 8px}.tr-answer-group-list{display:flex;flex-direction:column;gap:10px;padding:12px}.tr-answer-group-list .tr-card{margin:0}.tr-card{background:var(--tr-surface);border:1px solid var(--tr-border);border-radius:14px;overflow:hidden;transition:box-shadow .2s,border-color .2s}.tr-card:hover{box-shadow:0 4px 14px #00000014}.tr-card-correct{border-left:4px solid #10b981}.tr-card-partial{border-left:4px solid #f59e0b}.tr-card-incorrect{border-left:4px solid #ef4444}.tr-card-top{background:#0000;border:none;cursor:pointer;justify-content:space-between;padding:14px 18px;text-align:left;width:100%}.tr-card-left,.tr-card-top{align-items:center;display:flex;gap:12px}.tr-card-left{flex:1 1;min-width:0}.tr-status-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:32px;justify-content:center;width:32px}.tr-status-correct{background:#dcfce7;color:#166534}.tr-status-partial{background:#fef3c7;color:#92400e}.tr-status-incorrect{background:#fee2e2;color:#991b1b}.tr-card-info{display:flex;flex-direction:column;gap:4px;min-width:0}.tr-card-q{color:var(--text-secondary);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.tr-type-tag{border:1px solid;border-radius:6px;display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.tr-card-title{color:var(--text-primary);font-size:.92rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-card-right{align-items:center;display:flex;flex-shrink:0;gap:12px}.tr-card-score{text-align:right}.tr-pts{color:var(--text-primary);font-size:1.1rem;font-weight:800}.tr-max{font-size:.82rem}.tr-chevron,.tr-max{color:var(--text-secondary)}.tr-chevron{font-size:1rem;transition:transform .2s}.tr-chevron.open{transform:rotate(180deg)}.tr-card-body{animation:trExpand .25s ease;border-top:1px solid var(--border-color);padding:0 18px 18px}@keyframes trExpand{0%{opacity:0}to{opacity:1}}.tr-q-block{margin-top:16px}.tr-code-block h5,.tr-q-block h5,.tr-test-cases h5{color:var(--text-secondary);font-size:.8rem;font-weight:700;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.tr-html,.tr-q-block p{color:var(--text-primary);font-size:.9rem;line-height:1.6;margin:0}.tr-case{background:var(--bg-primary);border-radius:8px;padding:12px}.tr-metrics-row{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.tr-metric{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;min-width:100px;padding:10px 14px}.tr-metric-val{display:block;font-size:1rem;font-weight:700;text-transform:capitalize}.tr-metric-lbl{color:var(--text-secondary);font-size:.72rem}.tr-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.tr-opt{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:10px;padding:12px 14px}.tr-opt.is-correct{background:#f0fdf4;border-color:#86efac}.tr-opt.is-selected:not(.is-correct){background:#fef2f2;border-color:#fca5a5}.tr-opt-letter{color:var(--text-secondary);font-weight:700}.tr-opt-text{flex:1 1}.tr-opt-pill{border-radius:6px;font-size:.72rem;font-weight:700;padding:3px 8px}.tr-opt-pill.ok{background:#dcfce7;color:#166534}.tr-opt-pill.bad{background:#fee2e2;color:#991b1b}.tr-ai-box,.tr-explanation,.tr-manual,.tr-ref-answer{border-radius:10px;font-size:.88rem;line-height:1.55;margin-top:16px;padding:14px}.tr-explanation{background:#eff6ff;border:1px solid #bfdbfe}.tr-ref-answer{background:#f0fdf4;border:1px solid #86efac}.tr-ai-box{background:var(--bg-primary);border:1px solid var(--border-color)}.tr-manual{background:#fffbeb;border:1px solid #fcd34d}.tr-eval-grid{grid-gap:8px;display:grid;font-size:.84rem;gap:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:8px 0}.tr-answer-box{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;margin-top:12px;padding:14px}.tr-pre-wrap{margin:8px 0 0;white-space:pre-wrap}.tr-test-cases{margin-top:16px}.tr-tc{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;font-size:.85rem;margin-bottom:8px;padding:12px}.tr-tc pre{font-family:ui-monospace,monospace;font-size:.8rem;margin:4px 0 0;white-space:pre-wrap}.tr-hidden-note{color:var(--text-secondary);font-size:.82rem;margin:8px 0 0}.tr-code-block{margin-top:16px}.tr-editor-wrap{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.tr-card-actions{border-top:1px dashed var(--border-color);margin-top:20px;padding-top:16px}.tr-empty,.tr-muted{color:var(--text-secondary);font-size:.9rem;padding:16px 0}[data-theme=dark] .tr-page{--tr-surface:#1a1a1a;--tr-surface-muted:#222;--tr-border:#3f3f46}[data-theme=dark] .tr-card,[data-theme=dark] .tr-fallback,[data-theme=dark] .tr-hero,[data-theme=dark] .tr-sec-card{box-shadow:0 2px 10px #00000040}[data-theme=dark] .tr-card:hover{box-shadow:0 6px 18px #00000059}[data-theme=dark] .tr-btn-secondary{background:#27272a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .tr-btn-secondary:hover{border-color:#60a5fa;color:#93c5fd}[data-theme=dark] .tr-btn-ghost{border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .tr-btn-ghost:hover{background:#27272a;color:#e4e4e7}[data-theme=dark] .tr-btn-practice{background:#3b82f626;border-color:#3b82f6;color:#93c5fd}[data-theme=dark] .tr-btn-practice:hover{background:#3b82f638}[data-theme=dark] .tr-composition-chip{background:#27272a;border-color:#3f3f46;color:#e4e4e7}[data-theme=dark] .tr-breakdown-pill{background:#222;border-color:#3f3f46}[data-theme=dark] .tr-breakdown-pill.correct{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .tr-breakdown-pill.partial{background:#f59e0b1f;border-color:#f59e0b}[data-theme=dark] .tr-breakdown-pill.incorrect{background:#ef44441f;border-color:#ef4444}[data-theme=dark] .tr-breakdown-num{color:#f4f4f5}[data-theme=dark] .tr-sec-bar-wrap{background:#18181b}[data-theme=dark] .tr-filter{background:#27272a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .tr-answer-group{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .tr-answer-group-head{background:#222}[data-theme=dark] .tr-answer-group-head h3{color:#f4f4f5}[data-theme=dark] .tr-answer-group-count{background:#27272a;color:#a1a1aa}[data-theme=dark] .tr-card-top:hover{background:#ffffff08}[data-theme=dark] .tr-status-correct{background:#22c55e33;color:#86efac}[data-theme=dark] .tr-status-partial{background:#f59e0b33;color:#fcd34d}[data-theme=dark] .tr-status-incorrect{background:#ef444433;color:#fca5a5}[data-theme=dark] .tr-card-body{border-top-color:#3f3f46}[data-theme=dark] .tr-answer-box,[data-theme=dark] .tr-case,[data-theme=dark] .tr-metric,[data-theme=dark] .tr-opt,[data-theme=dark] .tr-tc{background:#27272a;border-color:#3f3f46}[data-theme=dark] .tr-opt.is-correct{background:#22c55e1f;border-color:#22c55e}[data-theme=dark] .tr-opt.is-selected:not(.is-correct){background:#ef44441f;border-color:#ef4444}[data-theme=dark] .tr-opt-letter,[data-theme=dark] .tr-opt-text{color:#e4e4e7}[data-theme=dark] .tr-opt-pill.ok{background:#22c55e33;color:#86efac}[data-theme=dark] .tr-opt-pill.bad{background:#ef444433;color:#fca5a5}[data-theme=dark] .tr-explanation{background:#3b82f61f;border-color:#3b82f6;color:#d4d4d8}[data-theme=dark] .tr-ref-answer{background:#22c55e1a;border-color:#22c55e;color:#d4d4d8}[data-theme=dark] .tr-ai-box{background:#27272a;border-color:#3f3f46;color:#d4d4d8}[data-theme=dark] .tr-manual{background:#f59e0b1a;border-color:#f59e0b;color:#d4d4d8}[data-theme=dark] .tr-tc pre{color:#e4e4e7}[data-theme=dark] .tr-editor-wrap{border-color:#3f3f46}[data-theme=dark] .tr-card-actions{border-top-color:#3f3f46}@media (max-width:768px){.tr-hero{flex-direction:column;text-align:center}.tr-hero-stats{width:100%}.tr-sec-card{gap:8px;grid-template-columns:1fr}.tr-card-title{white-space:normal}.tr-answers-head,.tr-toolbar{align-items:stretch;flex-direction:column}.tr-filter{width:100%}}.section-detail-page{animation:fadeIn .3s ease;box-sizing:border-box;max-width:100%;min-width:0;overflow-x:hidden;width:100%}.section-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:280px}.section-top{margin-bottom:20px}.section-back{align-items:center;color:var(--text-secondary);display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:14px;text-decoration:none}.section-back:hover{color:#e7210b;color:var(--section-accent,#e7210b)}.section-top-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:14px}.section-top-brand{align-items:flex-start;display:flex;flex:1 1;gap:14px;min-width:240px}.section-top-icon{align-items:center;background:color-mix(in srgb,var(--section-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--section-accent) 22%,var(--border-color));border-radius:14px;color:var(--section-accent);display:flex;flex-shrink:0;font-size:1.4rem;height:52px;justify-content:center;width:52px}.section-top-brand h1{color:var(--text-primary);font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.section-top-brand p{color:var(--text-secondary);font-size:.9rem;line-height:1.45;margin:0;max-width:520px}.section-top-stats{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.section-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.section-stat-card{background:#fff;background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:12px;padding:14px 16px}.section-stat-label{color:var(--text-secondary);font-size:.78rem;font-weight:600;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.section-stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:800;margin:0}.section-stat-sub{color:var(--text-secondary);font-size:.75rem;margin:4px 0 0}.section-pill{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.82rem;gap:8px;padding:8px 14px}.section-pill strong{color:var(--text-primary);font-weight:700}.section-pill--green{background:#05966914;border-color:#05966940;color:#059669}.section-pill--amber{background:#d9770614;border-color:#d9770640;color:#d97706}.section-pill--accent{background:color-mix(in srgb,var(--section-accent) 10%,#fff);border-color:color-mix(in srgb,var(--section-accent) 28%,var(--border-color));color:var(--section-accent)}.section-completion-wrap{margin-top:4px;width:100%}.section-completion-label{color:var(--text-secondary);display:flex;font-size:.78rem;font-weight:600;justify-content:space-between;margin-bottom:6px}.section-completion-bar{background:var(--border-color);border-radius:999px;height:8px;overflow:hidden}.section-completion-fill{background:#e7210b;background:var(--section-accent,#e7210b);border-radius:999px;height:100%;transition:width .5s ease}.section-insight{background:#fff;border:1px solid var(--border-color);border-radius:10px;font-size:.9rem;margin-bottom:16px;padding:12px 16px}.section-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.section-search{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;display:flex;flex:1 1;gap:10px;height:44px;min-width:220px;padding:0 14px}.section-search svg{color:var(--text-secondary);flex-shrink:0}.section-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:.95rem;outline:none}.section-search input::placeholder{color:var(--text-secondary)}.section-search:focus-within{border-color:var(--section-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--section-accent) 12%,#0000)}.section-sort{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);display:flex;gap:8px;height:44px;padding:0 12px}.section-sort select{background:#0000;border:none;color:var(--text-primary);cursor:pointer;font-size:.88rem;font-weight:600;outline:none}.section-filter-tabs{border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding-bottom:16px}.section-tab{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;padding:9px 16px;transition:all .15s ease}.section-tab em{background:var(--bg-primary);border-radius:999px;color:var(--text-secondary);font-size:.75rem;font-style:normal;padding:2px 7px}.section-tab:hover{border-color:var(--text-secondary)}.section-tab.active{background:color-mix(in srgb,var(--section-accent) 10%,#fff);border-color:color-mix(in srgb,var(--section-accent) 35%,var(--border-color))}.section-tab.active em{background:var(--section-accent);color:#fff}.section-results-meta{color:var(--text-secondary);font-size:.88rem;margin-bottom:16px}.section-results-meta strong{color:var(--text-primary)}.section-cards-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr);width:100%}.section-cards-grid>*{min-width:0}@media (min-width:640px){.section-cards-grid{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.section-cards-grid{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}}.assessment-card{background:#fff;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;box-sizing:border-box;display:flex;flex-direction:column;gap:14px;max-width:100%;min-width:0;overflow:hidden;padding:18px;position:relative;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.assessment-card:before{background:#e7210b;background:var(--card-accent,#e7210b);border-radius:14px 14px 0 0;content:"";height:3px;left:0;opacity:.85;position:absolute;right:0;top:0}.assessment-card:hover{border-color:color-mix(in srgb,var(--card-accent,#94a3b8) 30%,var(--border-color));box-shadow:0 8px 22px #0000000d;transform:translateY(-1px)}.assessment-card-head{align-items:flex-start;display:flex;gap:12px;padding-top:2px}.assessment-icon{align-items:center;background:color-mix(in srgb,#e7210b 12%,var(--bg-primary));background:color-mix(in srgb,var(--card-accent,#e7210b) 12%,var(--bg-primary));border-radius:10px;color:#e7210b;color:var(--card-accent,#e7210b);display:flex;flex-shrink:0;font-size:1.05rem;height:40px;justify-content:center;width:40px}.assessment-head-text{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.assessment-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.4;margin:0;overflow:hidden}.assessment-badge{align-self:flex-start;border-radius:6px;font-size:.68rem;font-weight:600;padding:3px 9px}.assessment-badge--todo{background:#2563eb1a;color:#2563eb}.assessment-badge--in_progress{background:#d977061f;color:#d97706}.assessment-badge--pending{background:#7c3aed1f;color:#7c3aed}.assessment-badge--completed{background:#0596691f;color:#059669}.assessment-badge--overdue{background:#dc26261f;color:#dc2626}.assessment-score{background:color-mix(in srgb,#e7210b 10%,var(--bg-primary));background:color-mix(in srgb,var(--card-accent,#e7210b) 10%,var(--bg-primary));border-radius:8px;color:#e7210b;color:var(--card-accent,#e7210b);flex-shrink:0;font-size:.85rem;font-weight:700;line-height:1;padding:4px 8px}.assessment-details{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.assessment-detail-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:9px;display:flex;flex-direction:column;gap:3px;min-width:0;padding:10px 12px}.assessment-detail-item:last-child:nth-child(odd),.assessment-detail-item:only-child{grid-column:1/-1}.assessment-detail-label{color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.assessment-detail-value{color:var(--text-primary);font-size:.8rem;font-weight:500;line-height:1.35;word-break:break-word}.assessment-card--interview .assessment-title{-webkit-line-clamp:3}.assessment-interview-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.assessment-interview-meta li{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);display:inline-flex;font-size:.76rem;font-weight:500;gap:5px;line-height:1.2;padding:6px 10px}.assessment-interview-meta li svg{color:var(--text-secondary);color:var(--card-accent,var(--text-secondary));flex-shrink:0;font-size:.85rem}.assessment-card-foot{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:2px}.assessment-btn{align-items:center;border-radius:9px;box-sizing:border-box;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;justify-content:center;max-width:100%;padding:10px 14px;text-decoration:none;transition:background .15s ease,transform .15s ease;width:100%}.assessment-btn--primary{background:#e7210b;color:#fff}.assessment-btn--primary:hover{color:#fff;filter:brightness(1.05);transform:translateY(-1px)}.assessment-btn--secondary{color:var(--text-primary)}.assessment-btn--ghost,.assessment-btn--secondary{background:var(--bg-primary);border:1px solid var(--border-color)}.assessment-btn--ghost{color:var(--text-secondary);padding:8px 14px}.assessment-btn--ghost:hover{border-color:var(--text-secondary);color:var(--text-primary)}.assessment-muted{color:var(--text-secondary);display:block;font-size:.78rem;padding:10px 0 4px;text-align:center}.section-empty{background:#fff;border:1px dashed var(--border-color);border-radius:16px;padding:56px 24px;text-align:center}.section-empty-icon{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;color:var(--text-secondary);display:inline-flex;font-size:1.75rem;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.section-empty h2{color:var(--text-primary);font-size:1.25rem;margin:0 0 8px}.section-empty p{color:var(--text-secondary);line-height:1.5;margin:0 auto 8px;max-width:440px}.section-empty-hint{font-size:.85rem;opacity:.85}[data-theme=dark] .assessment-card,[data-theme=dark] .section-empty,[data-theme=dark] .section-insight,[data-theme=dark] .section-pill,[data-theme=dark] .section-search,[data-theme=dark] .section-sort,[data-theme=dark] .section-tab{background:#1a1a1a;border-color:#333}[data-theme=dark] .assessment-card:hover{box-shadow:0 10px 28px #00000059}[data-theme=dark] .assessment-icon{background:#222;border-color:#333}[data-theme=dark] .assessment-detail-item,[data-theme=dark] .assessment-interview-meta li{background:#1a1a1a;border-color:#333}[data-theme=dark] .section-pill--green{background:#05966926;color:#6ee7b7}[data-theme=dark] .section-pill--amber{background:#d9770626;color:#fcd34d}[data-theme=dark] .assessment-badge--todo{background:#2563eb2e;color:#93c5fd}[data-theme=dark] .assessment-badge--in_progress{background:#d977062e;color:#fcd34d}[data-theme=dark] .assessment-badge--pending{background:#7c3aed2e;color:#c4b5fd}[data-theme=dark] .assessment-badge--completed{background:#0596692e;color:#6ee7b7}[data-theme=dark] .assessment-badge--overdue{background:#dc26262e;color:#fca5a5}[data-theme=dark] .section-top-icon{border-color:color-mix(in srgb,var(--section-accent) 28%,#333)}[data-theme=dark] .section-completion-bar{background:#333}.live-interviewer-visual{background:#e8edf2;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.live-interviewer-photo{-webkit-user-drag:none;display:block;height:100%;object-fit:cover;object-position:center 14%;-webkit-user-select:none;user-select:none;width:100%}.live-interviewer-visual.speaking .live-interviewer-photo{filter:brightness(1.03) saturate(1.04);transition:filter .12s ease-out}.live-interviewer-visual.listening .live-interviewer-photo{filter:saturate(1.02)}.live-interviewer-speak-shade{background:radial-gradient(ellipse 55% 42% at 50% 38%,rgba(255,255,255,calc(.06 + var(--speak-glow)*.12)) 0,#0000 72%);inset:0;pointer-events:none;position:absolute;z-index:1}.live-interviewer-frame-edge{box-shadow:inset 0 0 0 1px #ffffff59;inset:0;pointer-events:none;position:absolute;z-index:2}.live-interviewer-fallback{align-items:center;background:linear-gradient(160deg,#f1f5f9,#cbd5e1);display:flex;justify-content:center}.live-interviewer-fallback-inner{color:#475569;text-align:center}.live-interviewer-fallback-initial{align-items:center;background:linear-gradient(145deg,#64748b,#334155);border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:88px;justify-content:center;margin:0 auto 12px;width:88px}.live-interviewer-fallback-inner p{font-size:.95rem;font-weight:600;margin:0}.interviewer-call{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:min(100%,480px);width:100%}.interviewer-call.is-compact{height:100%;margin:0;max-width:100%;min-height:0;width:100%}.interviewer-call.is-compact .interviewer-call-feed{aspect-ratio:unset;border-radius:20px;flex:1 1;height:100%;max-height:none;min-height:0;width:100%}.interviewer-call.is-compact .interviewer-speech-bubble{left:8px;padding:10px 12px;right:8px;top:8px}.interviewer-call.is-compact .interviewer-speech-text{font-size:.75rem;min-height:auto}.interviewer-call-status-compact{color:var(--text-secondary);flex-shrink:0;font-size:.72rem;font-weight:600;margin:6px 0 0;text-align:center}.interviewer-call-status-compact.speaking{color:var(--primary-color)}.interviewer-call-status-compact.listening{color:#22c55e}.interviewer-call-feed{aspect-ratio:9/11;background:#e8edf2;border:1px solid #94a3b859;border-radius:20px;box-shadow:0 16px 36px #0f172a1a,inset 0 0 0 1px #ffffffa6;max-height:min(58vh,520px);overflow:hidden;position:relative;width:100%}.interviewer-call.is-speaking .interviewer-call-feed{border-color:color-mix(in srgb,var(--primary-color) 45%,#c5d4e8);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 18%,#0000),0 20px 44px #0f172a24}.interviewer-call.is-listening .interviewer-call-feed{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.interviewer-call-video{background:#000;display:block;height:100%;object-fit:cover;width:100%}.interviewer-call-vignette{background:linear-gradient(180deg,#0000 42%,#00000080);inset:0;pointer-events:none;position:absolute;z-index:3}.interviewer-speech-bubble{animation:bubbleIn .45s cubic-bezier(.22,1,.36,1);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(145deg,#ffffff24,#0c121ce0 45%);border:1px solid #ffffff2e;border-radius:16px;box-shadow:0 8px 32px #00000059,inset 0 1px 0 #ffffff1f;left:14px;padding:14px 16px;position:absolute;right:14px;top:14px;z-index:6}@keyframes bubbleIn{0%{opacity:0;transform:translateY(-10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.interviewer-speech-label{align-items:center;background:color-mix(in srgb,var(--primary-color) 75%,#0000);border-radius:999px;color:#fff;display:inline-flex;font-size:.68rem;font-weight:700;gap:6px;letter-spacing:.06em;margin-bottom:8px;padding:4px 10px}.interviewer-speech-label:before{animation:ivrLivePulse 1s ease-in-out infinite;background:#fff;border-radius:50%;content:"";height:6px;width:6px}.interviewer-speech-text{color:#f8fafc;font-size:.88rem;font-weight:500;line-height:1.55;margin:0;min-height:2.6em}.interviewer-speech-word{animation:wordFadeIn .35s cubic-bezier(.22,1,.36,1) both;display:inline-block;margin-right:.32em}@keyframes wordFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.interviewer-speech-caret{animation:caretBlink .7s step-end infinite;background:var(--primary-color);display:inline-block;height:.95em;margin-left:2px;vertical-align:text-bottom;width:2px}@keyframes caretBlink{0%,to{opacity:1}50%{opacity:0}}.interviewer-speech-progress{background:#ffffff1f;border-radius:999px;height:3px;margin-top:8px;overflow:hidden}.interviewer-speech-progress span{background:var(--primary-color);border-radius:inherit;display:block;height:100%;transition:width .08s linear}.interviewer-call-loading{align-items:center;background:#080c12c7;color:#f1f5f9;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:14px;inset:0;justify-content:center;position:absolute;z-index:8}.interviewer-call-spinner{animation:ivrSpin .75s linear infinite;border:3px solid #fff3;border-radius:50%;border-top:3px solid var(--primary-color);height:44px;width:44px}.interviewer-call-overlay{bottom:0;display:flex;justify-content:center;left:0;padding:12px 14px;position:absolute;right:0;z-index:7}.interviewer-call-live-pill{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000009e;border-radius:999px;color:#e2e8f0;display:inline-flex;font-size:.7rem;font-weight:700;gap:8px;letter-spacing:.05em;padding:6px 14px;text-transform:uppercase}.interviewer-call-live-pill.on-air{background:color-mix(in srgb,var(--primary-color) 40%,#000000ad)}.interviewer-call-live-dot{background:#ef4444;border-radius:50%;height:8px;width:8px}.interviewer-call-live-pill.on-air .interviewer-call-live-dot{animation:ivrLivePulse .85s ease-in-out infinite}@keyframes ivrLivePulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.2)}}.interviewer-call-info{padding:16px 12px 0;text-align:center;width:100%}.interviewer-call-name{color:var(--text-primary);font-size:1.2rem;font-weight:700;letter-spacing:-.02em;margin:0}.interviewer-call-role{color:var(--text-secondary);font-size:.85rem;margin:4px 0 0}.interviewer-call-status{color:var(--text-secondary);font-size:.88rem;font-weight:600;margin:10px 0 0}.interviewer-call-status.speaking{color:var(--primary-color)}.interviewer-call-status.listening{color:#22c55e}@keyframes ivrSpin{to{transform:rotate(1turn)}}.interview-room{animation:fadeIn .45s ease;background:radial-gradient(ellipse 80% 50% at 50% -10%,color-mix(in srgb,var(--primary-color) 8%,#0000),#0000),var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;gap:18px;min-height:calc(100vh - 64px);padding:20px 24px 28px}.interview-room--live{gap:10px;height:calc(100vh - 64px);max-height:calc(100vh - 64px);overflow:hidden;padding:10px 16px 12px}.interview-room--live .interview-room-header{flex-shrink:0;padding:10px 16px}.interview-room--live .interview-header-info h1{font-size:1.05rem}.interview-room--live .interview-header-info p{display:none}.interview-live-body{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow:hidden}[data-theme=dark] .interview-room{background:radial-gradient(ellipse 70% 45% at 50% 0,color-mix(in srgb,var(--primary-color) 14%,#0000),#0000),var(--bg-primary)}[data-theme=dark] .interview-room-header{background:#18181ceb;border-color:#3f3f46}[data-theme=dark] .interview-call-stage{background:#12141a;border-color:#3f3f46}[data-theme=dark] .interview-call-main{background:linear-gradient(180deg,#161a22,#0e1016)}[data-theme=dark] .interview-question-bar{background:#12141cfa;border-color:#2e323c}[data-theme=dark] .interview-dock{background:#14161eeb;border-color:#3f3f46}.interview-room-error-state,.interview-room-loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:70vh}.interview-room-error-state p,.interview-room-loading p{color:var(--text-secondary);margin:0}.loading-spinner{animation:spin .8s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:52px;width:52px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.interview-room-header{align-items:center;animation:fadeInDown .45s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid color-mix(in srgb,var(--border-color) 90%,#0000);border-radius:16px;box-shadow:0 4px 24px #0000000f;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:14px 22px}.interview-header-info h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.interview-header-info p{color:var(--text-secondary);font-size:.84rem;margin:5px 0 0}.interview-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.interview-timer{font-feature-settings:"tnum";background:var(--primary-gradient);border-radius:12px;box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color) 30%,#0000);color:#fff;font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:76px;padding:9px 16px;text-align:center}.interview-progress-badge{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;font-size:.84rem;font-weight:600;padding:7px 14px}.interview-live-badge{align-items:center;background:color-mix(in srgb,var(--primary-color) 10%,#0000);border:1px solid color-mix(in srgb,var(--primary-color) 35%,#0000);border-radius:999px;color:var(--primary-color);display:inline-flex;font-size:.75rem;font-weight:700;gap:7px;letter-spacing:.06em;padding:7px 14px;text-transform:uppercase}.interview-live-badge:before{animation:liveBlink 1.2s ease-in-out infinite;background:var(--primary-color);border-radius:50%;box-shadow:0 0 8px color-mix(in srgb,var(--primary-color) 60%,#0000);content:"";height:8px;width:8px}@keyframes liveBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.9)}}.btn-end,.btn-start{border-radius:12px;font-weight:600;padding:10px 20px}.interview-call-stage{grid-gap:0;animation:fadeIn .45s ease .06s both;background:#f8f9fc;border:1px solid var(--border-color);border-radius:18px;box-shadow:0 12px 40px #0f172a1a;display:grid;flex:1 1;gap:0;grid-template-columns:1.1fr minmax(240px,30%);min-height:0;overflow:hidden}.interview-panel-tag{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;display:inline-flex;font-size:.7rem;font-weight:700;gap:8px;left:16px;letter-spacing:.05em;padding:6px 12px;position:absolute;text-transform:uppercase;top:14px;z-index:8}.interview-panel-tag--ai{background:#1e283abf;border:1px solid #ffffff1f;color:#e8ecf4}.interview-panel-tag--you{background:#0000008c;border:1px solid #ffffff1a;color:#f4f4f5}.interview-panel-tag-dot{background:#22c55e;border-radius:50%;box-shadow:0 0 6px #22c55eb3;height:7px;width:7px}.interview-panel-tag--ai .interview-panel-tag-dot{background:var(--primary-color);box-shadow:0 0 6px color-mix(in srgb,var(--primary-color) 70%,#0000)}.interview-call-main{background:linear-gradient(165deg,#eef1f8,#e2e8f4 40%,#d8e0ef);border-right:1px solid color-mix(in srgb,var(--border-color) 70%,#0000);display:flex;flex-direction:column;min-height:0;position:relative}[data-theme=dark] .interview-call-main{background:linear-gradient(165deg,#1c2230,#141820)}.interview-call-main-inner{align-items:center;background:radial-gradient(circle at 50% 40%,#ffffff73 0,#0000 50%),#0000;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:0;overflow:hidden;padding:38px 14px 10px;width:100%}[data-theme=dark] .interview-call-main-inner{background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--primary-color) 8%,#0000),#0000 48%)}.interview-call-main-inner .interviewer-call{filter:drop-shadow(0 12px 28px rgba(15,23,42,.12));height:100%;max-width:min(100%,340px);min-height:0;width:100%}.interview-call-main-inner .interviewer-call.is-compact{max-width:100%}.interview-question-bar{background:#fffffff5;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 4px 16px #0f172a0f;flex-shrink:0;max-height:min(22vh,160px);overflow-y:auto;padding:12px 16px;transition:border-color .25s ease,box-shadow .25s ease}.interview-question-bar.is-speaking{border-color:color-mix(in srgb,var(--primary-color) 45%,var(--border-color));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary-color) 12%,#0000)}.interview-question-meta{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.interview-question-bar .question-label{align-items:center;background:color-mix(in srgb,var(--primary-color) 10%,#0000);border-radius:7px;color:var(--primary-color);display:inline-flex;font-size:.68rem;font-weight:700;letter-spacing:.06em;margin:0;padding:3px 9px;text-transform:uppercase}.interview-question-counter{font-feature-settings:"tnum";color:var(--text-secondary);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:600}.interview-question-bar .question-text{color:var(--text-primary);font-size:.98rem;font-weight:500;line-height:1.5;margin:0}.interview-ack-strip{background:color-mix(in srgb,var(--primary-color) 6%,#0000);border-left:3px solid var(--primary-color);border-radius:8px;color:var(--primary-color);font-size:.82rem;font-style:italic;margin:0 0 8px;padding:8px 10px}.interview-pip{background:linear-gradient(180deg,#0c0e12,#050608);display:flex;flex-direction:column;height:100%;min-height:0;padding:10px 10px 12px;position:relative}.interview-pip-frame{background:linear-gradient(145deg,#3f3f46,#18181b 50%,#27272a);border-radius:20px;box-shadow:0 16px 40px #00000073,inset 0 1px 0 #ffffff14;display:flex;flex:1 1;flex-direction:column;min-height:0;padding:3px;transition:box-shadow .3s ease,background .3s ease}.interview-pip-frame.is-live{background:linear-gradient(145deg,#22c55e,#15803d 40%,#166534);box-shadow:0 0 0 1px #22c55e66,0 16px 48px #22c55e33,inset 0 1px 0 #ffffff26}.interview-pip-video-wrap{align-items:center;background:#0a0a0c;border-radius:17px;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:hidden;position:relative}.interview-rec-badge{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#dc2626eb;border:1px solid #ffffff40;border-radius:8px;box-shadow:0 4px 14px #dc262673;color:#fff;display:inline-flex;font-size:.68rem;font-weight:800;gap:6px;letter-spacing:.08em;padding:5px 10px;position:absolute;right:10px;top:10px;z-index:7}.interview-rec-icon{color:#fff;flex-shrink:0;height:14px;width:14px}.interview-rec-dot{animation:recPulse 1.1s ease-in-out infinite;background:#fff;border-radius:50%;height:7px;width:7px}@keyframes recPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}.interview-pip-video{filter:contrast(1.04) saturate(1.06) brightness(1.02);height:100%;inset:0;object-fit:cover;object-position:center 22%;opacity:0;position:absolute;transform:scaleX(-1);transition:opacity .4s ease;width:100%;z-index:2}.interview-pip-video.is-ready{opacity:1}.interview-pip-video-shade{background:linear-gradient(180deg,#00000059,#0000 22%,#0000 72%,#0000008c),linear-gradient(90deg,#00000014,#0000 12%,#0000 88%,#00000014);inset:0;pointer-events:none;position:absolute;z-index:3}.interview-pip-placeholder{align-items:center;background:radial-gradient(circle at 50% 40%,#1a1a22 0,#08080a 100%);color:#a1a1aa;display:flex;flex-direction:column;font-size:.92rem;font-weight:500;gap:10px;inset:0;justify-content:center;padding:28px;position:absolute;text-align:center;z-index:1}.interview-pip-placeholder small{color:#71717a;font-size:.78rem;font-weight:400;line-height:1.4;max-width:200px}.interview-pip-placeholder-icon{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;display:flex;height:56px;justify-content:center;width:56px}.interview-pip-placeholder-icon svg{height:28px;opacity:.7;width:28px}.interview-pip-speaking-ring{border:2px solid #0000;border-radius:14px;inset:10px;pointer-events:none;position:absolute;transition:border-color .25s ease,box-shadow .25s ease;z-index:4}.interview-pip-speaking-ring.active{animation:pipRingPulse 1.2s ease-in-out infinite;border-color:#22c55ed9;box-shadow:0 0 0 3px #22c55e33,inset 0 0 24px #22c55e14}@keyframes pipRingPulse{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e1f}}.interview-pip-waveform{align-items:flex-end;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6;border:1px solid #ffffff14;border-radius:999px;bottom:52px;display:flex;gap:4px;height:30px;left:50%;opacity:0;padding:8px 14px;position:absolute;transform:translateX(-50%);transition:opacity .25s ease;z-index:5}.interview-pip-waveform.visible{opacity:1}.interview-pip-waveform span{animation:pipWave .65s ease-in-out infinite;background:linear-gradient(180deg,#4ade80,#22c55e);border-radius:3px;height:8px;width:4px}.interview-pip-waveform span:nth-child(2){animation-delay:.08s}.interview-pip-waveform span:nth-child(3){animation-delay:.16s}.interview-pip-waveform span:nth-child(4){animation-delay:.12s}.interview-pip-waveform span:nth-child(5){animation-delay:.2s}@keyframes pipWave{0%,to{height:8px;opacity:.6}50%{height:24px;opacity:1}}.interview-pip-bar{align-items:center;bottom:0;display:flex;gap:10px;justify-content:space-between;left:0;padding:12px 14px;position:absolute;right:0;z-index:6}.interview-pip-name{color:#fff;font-size:.88rem;font-weight:700;text-shadow:0 1px 4px #00000080}.interview-pip-mic{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;border:1px solid #ffffff1a;border-radius:999px;color:#a1a1aa;display:inline-flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:.05em;padding:5px 10px;text-transform:uppercase}.interview-pip-mic-icon{background:#71717a;border-radius:50%;height:8px;width:8px}.interview-pip-mic.is-live{background:#22c55e40;border-color:#22c55e80;color:#bbf7d0}.interview-pip-mic.is-live .interview-pip-mic-icon{animation:liveBlink 1s ease-in-out infinite;background:#4ade80;box-shadow:0 0 8px #4ade80cc}.interview-call-controls{display:flex;flex-shrink:0;justify-content:center}.interview-dock{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 4px 20px #0f172a0f;display:flex;gap:14px;justify-content:space-between;padding:10px 18px;width:100%}.interview-call-hint{color:var(--text-secondary);flex:1 1;font-size:.82rem;line-height:1.4;margin:0;min-width:0;text-align:left}.btn-done-speaking{background:var(--primary-gradient);border:none;border-radius:999px;box-shadow:0 6px 20px color-mix(in srgb,var(--primary-color) 35%,#0000),inset 0 1px 0 #fff3;color:#fff;cursor:pointer;flex-shrink:0;font-size:.88rem;font-weight:700;padding:11px 24px;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;white-space:nowrap}.btn-done-speaking:hover:not(:disabled){box-shadow:0 10px 28px color-mix(in srgb,var(--primary-color) 40%,#0000);transform:translateY(-2px)}.btn-done-speaking:disabled{cursor:not-allowed;opacity:.42;transform:none}.interview-pre-start{align-items:center;display:flex;justify-content:center;min-height:55vh;padding:32px 20px}.interview-pre-start-card{background:#fffffff2;border:1px solid var(--border-color);border-radius:24px;box-shadow:0 20px 60px #0f172a1a;max-width:520px;padding:36px 32px;text-align:center;width:100%}[data-theme=dark] .interview-pre-start-card{background:#1c1c20f2}.interview-pre-start-badge{background:color-mix(in srgb,var(--primary-color) 10%,#0000);border-radius:999px;color:var(--primary-color);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;margin-bottom:14px;padding:6px 14px;text-transform:uppercase}.interview-pre-start h2{font-size:1.55rem;letter-spacing:-.02em;margin:0 0 12px}.interview-pre-start p{color:var(--text-secondary);line-height:1.6;margin:0 0 20px}.interview-pre-start-checklist{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0 0 28px;padding:0;text-align:left}.interview-pre-start-checklist li{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);display:flex;font-size:.95rem;gap:12px;padding:10px 14px}.interview-pre-start-checklist li:before{align-items:center;background:var(--primary-gradient);border-radius:50%;color:#fff;content:"✓";display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;width:22px}.interview-prepare-status{align-items:center;border-radius:12px;display:flex;font-size:.88rem;gap:10px;line-height:1.45;margin:16px 0 14px;padding:12px 14px}.interview-prepare-status.is-busy{background:color-mix(in srgb,var(--primary-color) 6%,var(--bg-secondary));border:1px solid var(--border-color);color:var(--text-secondary)}.interview-prepare-status.is-idle{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.interview-prepare-dot.idle,.interview-prepare-dot.ready{border-radius:50%;flex-shrink:0;height:8px;width:8px}.interview-prepare-dot.idle{background:var(--text-secondary);opacity:.45}.interview-prepare-status.is-ready{background:#10b98114;border:1px solid #10b98147;color:#059669;font-weight:500}.interview-prepare-dot.ready{background:#10b981;box-shadow:0 0 8px #10b98180}.interview-prepare-spinner{animation:interviewSpin .75s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);flex-shrink:0;height:18px;width:18px}@keyframes interviewSpin{to{transform:rotate(1turn)}}.interview-pre-start-cta:disabled{cursor:not-allowed;opacity:.55}.interview-pre-start-cta{border-radius:14px;font-size:1rem;padding:14px 24px;width:100%}@media (max-width:960px){.interview-room--live{height:calc(100dvh - 64px);max-height:calc(100dvh - 64px)}.interview-call-stage{grid-template-columns:1fr 38%}.interview-call-main-inner .interviewer-call{max-width:100%}.interview-question-bar{max-height:18vh}}@media (max-width:720px){.interview-call-stage{grid-template-columns:1fr;grid-template-rows:1fr minmax(140px,28%)}.interview-call-main{border-bottom:1px solid var(--border-color);border-right:none}.interview-pip{padding:8px}.interview-dock{align-items:stretch;flex-direction:column;gap:10px}.btn-done-speaking{width:100%}.interview-call-hint{font-size:.78rem;text-align:center}}@media (max-width:600px){.interview-room--live{padding:8px 10px 10px}.interview-room-header{padding:8px 12px}.interview-question-bar .question-text{font-size:.9rem}}.mir-page{--mir-surface:var(--card-bg,#fff);--mir-muted:var(--bg-secondary,#f8fafc);--mir-border:var(--border-color);--mir-accent:var(--primary-color,#ed0331);animation:mirFadeIn .45s ease;margin:0 auto;max-width:980px;padding:32px 24px 64px}@keyframes mirFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.mir-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:60vh}.mir-spinner{animation:mirSpin .75s linear infinite;border:3px solid var(--mir-border);border-radius:50%;border-top-color:var(--mir-accent);height:40px;width:40px}@keyframes mirSpin{to{transform:rotate(1turn)}}.mir-fallback{background:var(--mir-surface);border:1px solid var(--mir-border);border-radius:16px;margin-top:32px;padding:48px 28px;text-align:center}.mir-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.mir-kind-badge{background:color-mix(in srgb,var(--mir-accent) 12%,#0000);border-radius:6px;color:var(--mir-accent);display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:8px;padding:4px 10px;text-transform:uppercase}.mir-title{color:var(--text-primary);font-size:1.65rem;font-weight:700;letter-spacing:-.02em;margin:0}.mir-subtitle{color:var(--text-secondary);font-size:.88rem;margin:6px 0 0}.mir-submitted{color:var(--text-secondary);font-size:.8rem;margin:4px 0 0;opacity:.85}.mir-btn{border:none;border-radius:10px;cursor:pointer;display:inline-block;font-size:.88rem;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s}.mir-btn-secondary{background:var(--mir-surface);border:1px solid var(--mir-border);color:var(--text-primary)}.mir-btn-secondary:hover{border-color:var(--mir-accent);color:var(--mir-accent)}.mir-verdict{align-items:center;border:1px solid var(--mir-border);border-radius:16px;display:flex;gap:16px;margin-bottom:24px;padding:18px 22px}.mir-verdict.pass{background:color-mix(in srgb,#10b981 8%,var(--mir-surface));border-color:color-mix(in srgb,#10b981 35%,var(--mir-border))}.mir-verdict.needs-work{background:color-mix(in srgb,#f59e0b 8%,var(--mir-surface));border-color:color-mix(in srgb,#f59e0b 35%,var(--mir-border))}.mir-verdict-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:800;height:44px;justify-content:center;width:44px}.mir-verdict.pass .mir-verdict-icon{background:#10b981;color:#fff}.mir-verdict.needs-work .mir-verdict-icon{background:#f59e0b;color:#fff}.mir-verdict h2{font-size:1.1rem;margin:0 0 4px}.mir-verdict p{color:var(--text-secondary);font-size:.88rem;line-height:1.45;margin:0}.mir-readiness-pill{background:var(--mir-muted);border:1px solid var(--mir-border);border-radius:12px;flex-shrink:0;margin-left:auto;padding:10px 16px;text-align:center}.mir-readiness-label{color:var(--text-secondary);display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.mir-readiness-value{color:var(--mir-accent);font-size:1.35rem;font-weight:800}.mir-hero{align-items:center;background:var(--mir-surface);border:1px solid var(--mir-border);border-radius:18px;display:flex;gap:36px;margin-bottom:24px;padding:28px}.mir-hero-score{flex-shrink:0;height:132px;position:relative;width:132px}.mir-ring{height:100%;width:100%}.mir-ring-fill{transition:stroke-dasharray 1s ease}.mir-ring-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.mir-ring-pct{font-size:1.75rem;font-weight:800;line-height:1}.mir-ring-grade{font-size:.88rem;font-weight:700;margin-top:2px}.mir-hero-stats{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(4,1fr)}.mir-stat{display:flex;flex-direction:column;gap:4px}.mir-stat-value{color:var(--text-primary);font-size:1.35rem;font-weight:700}.mir-stat-label{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.mir-stat-strong .mir-stat-value{color:#10b981}.mir-stat-weak .mir-stat-value{color:#ef4444}.mir-executive{background:var(--mir-surface);border:1px solid var(--mir-border);border-left:4px solid var(--mir-accent);border-radius:16px;margin-bottom:24px;padding:20px 22px}.mir-executive h2{font-size:1.05rem;margin:0 0 10px}.mir-executive p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.mir-grid-2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:24px}.mir-panel{background:var(--mir-surface);border:1px solid var(--mir-border);border-radius:16px;padding:20px}.mir-panel h2{font-size:1.05rem;margin:0 0 14px}.mir-panel ul{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin:0;padding-left:18px}.mir-panel-good{border-left:3px solid #10b981}.mir-panel-improve{border-left:3px solid #f59e0b}.mir-panel-focus{border-left:3px solid var(--mir-accent)}.mir-insights-col{display:flex;flex-direction:column;gap:16px}.mir-skills-panel{min-height:200px}.mir-radar-wrap{margin-bottom:16px}.mir-skill-bars{display:flex;flex-direction:column;gap:10px}.mir-score-bar-head{display:flex;justify-content:space-between;margin-bottom:4px}.mir-score-bar-label{color:var(--text-primary);font-size:.8rem;font-weight:600}.mir-score-bar-val{font-size:.8rem;font-weight:700}.mir-score-bar-track{background:var(--mir-muted);border-radius:4px;height:8px;overflow:hidden}.mir-score-bar-fill{border-radius:4px;height:100%;transition:width .5s ease}.mir-resources{margin-bottom:24px}.mir-answers-section{margin-bottom:32px}.mir-answers-head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.mir-answers-head h2{font-size:1.15rem;margin:0}.mir-answers-sub{color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin:4px 0 0;max-width:520px}.mir-filters{display:flex;flex-wrap:wrap;gap:8px}.mir-filter-btn{background:var(--mir-surface);border:1px solid var(--mir-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;font-size:.78rem;font-weight:600;padding:6px 12px;transition:all .15s}.mir-filter-btn.active{background:color-mix(in srgb,var(--mir-accent) 12%,#0000);border-color:var(--mir-accent);color:var(--mir-accent)}.mir-cards{display:flex;flex-direction:column;gap:12px}.mir-card{background:var(--mir-surface);border:1px solid var(--mir-border);border-radius:14px;overflow:hidden}.mir-card-strong{border-left:3px solid #10b981}.mir-card-fair{border-left:3px solid #f59e0b}.mir-card-weak{border-left:3px solid #ef4444}.mir-card-top{align-items:flex-start;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:14px 16px;text-align:left;width:100%}.mir-card-top:hover{background:var(--mir-muted)}.mir-card-left{align-items:flex-start;display:flex;flex:1 1;gap:12px;min-width:0}.mir-status-dot{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.85rem;font-weight:800;height:32px;justify-content:center;width:32px}.mir-status-strong{background:#10b98124;color:#10b981}.mir-status-fair{background:#f59e0b24;color:#d97706}.mir-status-weak{background:#ef44441f;color:#ef4444}.mir-card-feedback-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.82rem;line-height:1.45;margin:8px 0 0;overflow:hidden}.mir-card-score-wrap{align-items:flex-end;display:flex;flex-direction:column;line-height:1.1}.mir-card-q{color:var(--text-secondary);display:block;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mir-followup-tag{background:var(--mir-muted);border-radius:4px;color:var(--text-secondary);font-size:.62rem;margin-left:8px;padding:2px 6px}.mir-card-q-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:.88rem;line-height:1.4;margin:4px 0 0;overflow:hidden}.mir-card-right{align-items:center;display:flex;flex-shrink:0;gap:4px}.mir-card-score{font-size:1.25rem;font-weight:800}.mir-card-score-max{color:var(--text-secondary);font-size:.8rem}.mir-expand-icon{color:var(--text-secondary);font-size:.9rem;margin-left:8px;transition:transform .2s}.mir-expand-icon.open{transform:rotate(180deg)}.mir-card-body{animation:mirSlideDown .28s ease;border-top:1px solid var(--mir-border);padding:16px 18px 20px}@keyframes mirSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.mir-review-metrics{border-bottom:1px dashed var(--mir-border);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;padding-bottom:16px}.mir-metric-chip{background:var(--mir-muted);border:1px solid var(--mir-border);border-radius:10px;flex:1 1;min-width:72px;padding:10px 8px;text-align:center}.mir-metric-val{display:block;font-size:1.1rem;font-weight:800;line-height:1.2}.mir-metric-label{color:var(--text-secondary);display:block;font-size:.62rem;font-weight:600;letter-spacing:.03em;margin-top:2px;text-transform:uppercase}.mir-review-section{display:flex;gap:14px;margin-bottom:16px}.mir-review-step{align-items:center;background:color-mix(in srgb,var(--mir-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--mir-accent) 25%,#0000);border-radius:50%;color:var(--mir-accent);display:flex;flex-shrink:0;font-size:.8rem;font-weight:800;height:28px;justify-content:center;width:28px}.mir-review-step-light{background:#fff3;border-color:#ffffff59;color:#fff}.mir-review-section-content{flex:1 1;min-width:0}.mir-review-heading{color:var(--text-secondary);font-size:.82rem;font-weight:700;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.mir-review-question-text{background:var(--mir-muted);background:var(--bg-primary,var(--mir-muted));border:1px solid var(--mir-border);border-radius:12px;color:var(--text-primary);font-size:.95rem;line-height:1.6;margin:0;padding:14px 16px}.mir-review-section-a{padding:0}.mir-review-section-a.strong .mir-transcript-quote{background:#10b9810f;border-left-color:#10b981}.mir-review-section-a.fair .mir-transcript-quote{background:#f59e0b0f;border-left-color:#f59e0b}.mir-review-section-a.weak .mir-transcript-quote{background:#ef44440d;border-left-color:#ef4444}.mir-transcript-quote{border-left:4px solid var(--mir-border);border-radius:0 12px 12px 0;color:var(--text-primary);font-size:.92rem;font-style:normal;line-height:1.65;margin:0;padding:14px 16px}.mir-transcript-meta{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.78rem;gap:10px;margin-top:8px}.mir-meta-tag{background:var(--mir-muted);border-radius:6px;font-weight:600;padding:2px 8px}.mir-transcript-empty{background:var(--mir-muted);font-style:italic;margin:0;padding:12px 14px}.mir-answer-summary,.mir-transcript-empty{border-radius:10px;color:var(--text-secondary);font-size:.88rem}.mir-answer-summary{background:color-mix(in srgb,var(--mir-accent) 6%,#0000);line-height:1.5;margin:12px 0 0;padding:10px 14px}.mir-answer-summary strong{color:var(--mir-accent)}.mir-explanation-hero{border:1px solid var(--mir-border);border-radius:14px;margin-bottom:18px;padding:18px 18px 16px}.mir-explanation-strong{background:linear-gradient(135deg,#10b9811f,#10b9810a);border-color:#10b98159}.mir-explanation-fair{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0a);border-color:#f59e0b59}.mir-explanation-weak{background:linear-gradient(135deg,#6366f11a,#ef44440f);border-color:#6366f14d}.mir-explanation-hero-head{align-items:center;display:flex;gap:12px;margin-bottom:10px}.mir-explanation-hero-head .mir-review-heading{color:var(--text-primary);margin:0}.mir-explanation-verdict{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.45;margin:0 0 12px}.mir-explanation-text{background:#ffffff8c;border-left:3px solid var(--mir-accent);border-radius:10px;padding:14px 16px}[data-theme=dark] .mir-explanation-text{background:#00000040}.mir-explanation-text p{color:var(--text-primary);font-size:.92rem;line-height:1.65;margin:0 0 10px}.mir-explanation-text p:last-child{margin-bottom:0}.mir-review-hint{color:var(--text-secondary);font-size:.82rem;line-height:1.5;margin:0 0 12px}.mir-score-bars-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr}.mir-review-dual{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:16px}.mir-insight-box{border:1px solid var(--mir-border);border-radius:12px;padding:14px 16px}.mir-insight-box h4{align-items:center;display:flex;font-size:.82rem;font-weight:700;gap:8px;margin:0 0 10px}.mir-insight-icon{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;font-weight:800;height:22px;justify-content:center;width:22px}.mir-insight-good{background:#10b98114;border-color:#10b98140}.mir-insight-good h4{color:#059669}.mir-insight-good .mir-insight-icon{background:#10b98133;color:#10b981}.mir-insight-improve{background:#f59e0b14;border-color:#f59e0b40}.mir-insight-improve h4{color:#d97706}.mir-insight-improve .mir-insight-icon{background:#f59e0b33;color:#d97706}.mir-insight-box ul{color:var(--text-primary);font-size:.88rem;line-height:1.55;margin:0;padding-left:18px}.mir-tips-list{list-style:none;margin:0;padding:0}.mir-tips-list li{align-items:flex-start;background:var(--mir-muted);border-radius:10px;color:var(--text-primary);display:flex;font-size:.88rem;gap:12px;line-height:1.5;margin-bottom:8px;padding:12px 14px}.mir-tip-num{align-items:center;background:var(--mir-accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:800;height:24px;justify-content:center;width:24px}.mir-resource-list{list-style:none;margin:0;padding:0}.mir-resource-list li{background:color-mix(in srgb,var(--mir-accent) 5%,var(--mir-muted));border-radius:10px;color:var(--text-primary);font-size:.88rem;line-height:1.5;margin-bottom:8px;padding:10px 14px 10px 32px;position:relative}.mir-resource-list li:before{content:"📚";font-size:.85rem;left:10px;position:absolute;top:10px}.mir-empty-filter{color:var(--text-secondary);padding:24px;text-align:center}[data-theme=dark] .mir-card,[data-theme=dark] .mir-executive,[data-theme=dark] .mir-fallback,[data-theme=dark] .mir-hero,[data-theme=dark] .mir-panel{background:#1a1a1a;border-color:#3f3f46}@media (max-width:800px){.mir-hero{flex-direction:column;text-align:center}.mir-hero-stats{grid-template-columns:repeat(2,1fr);width:100%}.mir-grid-2{grid-template-columns:1fr}.mir-verdict{flex-wrap:wrap}.mir-readiness-pill{margin-left:0;width:100%}.mir-review-dual{grid-template-columns:1fr}.mir-review-metrics{gap:8px}.mir-metric-chip{min-width:calc(33% - 8px)}}@media (max-width:600px){.mir-page{padding:20px 14px 48px}.mir-header .mir-btn{text-align:center;width:100%}}.assignment-dashboard-container{animation:fadeIn .5s ease;margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{animation:fadeInDown .5s ease;margin-bottom:36px;text-align:center}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:36px;font-weight:800;margin:0 0 10px}.dashboard-subtitle{color:var(--text-secondary);font-size:17px;font-weight:500;margin:0}.loading{color:#666;font-size:16px}.filter-tabs{animation:fadeInUp .6s ease;background:var(--card-bg);border-radius:14px;box-shadow:0 4px 12px var(--shadow);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;padding:18px}.filter-tabs,.filter-tabs button{border:2px solid var(--border-color)}.filter-tabs button{background:#fff;border-radius:10px;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:130px;padding:12px 20px;transition:all .3s ease}.filter-tabs button:hover{background:#667eea1a;border-color:#667eea;color:#667eea}[data-theme=dark] .filter-tabs button{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .filter-tabs button:hover{background:#8b9ef726;border-color:#8b9ef7;color:#8b9ef7}.filter-tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea66;color:#fff}.empty-state{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);color:var(--text-secondary);font-size:18px;font-weight:500;padding:80px 20px;text-align:center}.assignments-grid{grid-gap:24px;animation:fadeInUp .7s ease;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.assignment-card{background:var(--card-bg);border:2px solid var(--border-color);border-left:5px solid #667eea;border-radius:16px;box-shadow:0 4px 12px var(--shadow);display:flex;flex-direction:column;overflow:hidden;padding:26px;position:relative;transition:all .4s cubic-bezier(.16,1,.3,1)}.assignment-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .4s ease}.assignment-card:hover{border-color:#667eea80;box-shadow:0 8px 24px var(--shadow);transform:translateY(-4px)}.assignment-card:hover:before{transform:scaleX(1)}.assignment-card.overdue{border-left-color:#ff5252;opacity:.9}[data-theme=dark] .assignment-card{background:#2a2a2acc;border-color:var(--border-color)}.card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.card-header h3{color:var(--text-primary);flex:1 1;font-size:19px;font-weight:700;line-height:1.4;margin:0}.status-badge{border-radius:14px;box-shadow:0 2px 8px #0003;color:#fff;font-size:12px;font-weight:700;padding:6px 14px;text-transform:capitalize;white-space:nowrap}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.meta-chip{border-radius:12px;color:#fff;font-size:12px;font-weight:500;padding:4px 10px}.meta-chip.category{background:#9c27b0}.meta-chip.difficulty{text-transform:capitalize}.meta-chip.marks{background:#607d8b}.assignment-description{color:var(--text-secondary);font-size:14px;line-height:1.7;margin-bottom:18px}.assignment-details{background:#fff;border:1px solid var(--border-color);border-radius:10px;margin-bottom:14px;padding:14px}[data-theme=dark] .assignment-details{background:#2a2a2a99}.detail-item{display:flex;font-size:13px;justify-content:space-between;padding:7px 0}.detail-label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.detail-value{color:var(--text-primary);font-weight:600}.detail-value.overdue-text{color:#f44336}.detail-value.time-remaining{color:#ff9800;font-weight:600}.evaluated-info,.progress-info,.submitted-info{align-items:center;background:linear-gradient(135deg,#2196f31a,#1976d20d);border:2px solid #2196f34d;border-radius:10px;color:#2196f3;display:flex;font-size:13px;font-weight:600;gap:10px;margin-bottom:14px;padding:12px 16px}[data-theme=dark] .progress-info{background:linear-gradient(135deg,#42a5f526,#2196f31a);border-color:#42a5f566;color:#64b5f6}.submitted-info{background:linear-gradient(135deg,#9c27b01a,#7b1fa20d);border-color:#9c27b04d;color:#9c27b0;flex-wrap:wrap}[data-theme=dark] .submitted-info{background:linear-gradient(135deg,#ba68c826,#ab47bc1a);border-color:#ba68c866;color:#ba68c8}.evaluated-info{background:linear-gradient(135deg,#4caf501a,#2e7d320d);border-color:#4caf504d;color:#4caf50}[data-theme=dark] .evaluated-info{background:linear-gradient(135deg,#81c78426,#66bb6a1a);border-color:#81c78466;color:#81c784}.evaluated-icon,.progress-icon,.submitted-icon{font-size:16px}.evaluation-pending{font-weight:500;margin-top:4px;width:100%}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.action-button{border:none;border-radius:10px;box-shadow:0 2px 8px #0000001a;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:130px;padding:12px 18px;transition:all .3s ease}.action-button.view{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-button.view:hover{box-shadow:0 4px 14px #667eea66;transform:translateY(-2px)}.action-button.start{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.action-button.start:hover{box-shadow:0 4px 14px #4caf5066;transform:translateY(-2px)}.action-button.submit{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.action-button.submit:hover{box-shadow:0 4px 14px #ff980066;transform:translateY(-2px)}.action-button.status{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff}.action-button.status:hover{box-shadow:0 4px 14px #9c27b066;transform:translateY(-2px)}.action-button.results{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.action-button.results:hover{box-shadow:0 4px 14px #4caf5066;transform:translateY(-2px)}.overdue-message{background:linear-gradient(135deg,#ff52521a,#e539350d);border:2px solid #ff52524d;border-radius:10px;color:#ff5252;font-size:13px;font-weight:600;padding:12px 16px;text-align:center;width:100%}[data-theme=dark] .overdue-message{background:linear-gradient(135deg,#ff8a8026,#ef53501a);border-color:#ff8a8066;color:#ff8a80}@media (max-width:768px){.assignment-dashboard-container{padding:12px}.dashboard-header h1{font-size:24px}.assignments-grid{grid-template-columns:1fr}.filter-tabs{flex-direction:column}.filter-tabs button{width:100%}.card-actions{flex-direction:column}.action-button{width:100%}}.submit-assignment-container{animation:fadeIn .5s ease;margin:0 auto;max-width:900px;padding:20px}.submit-header{align-items:center;animation:fadeInDown .5s ease;display:flex;gap:20px;margin-bottom:28px}.submit-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0}.back-button{background:#fff;border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:var(--border-color);border-color:var(--primary-color);transform:translateX(-4px)}.loading{font-size:17px;font-weight:500;padding:60px 20px}.start-assignment-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 20px var(--shadow);padding:40px;text-align:center}.start-assignment-card h2{color:var(--text-primary);font-size:24px;font-weight:700;margin:0 0 12px}.start-assignment-meta{color:var(--text-secondary);font-size:15px;margin:0 0 24px;text-transform:capitalize}.start-assignment-duration{color:var(--text-primary);font-size:16px;line-height:1.6;margin:0 0 16px}.start-assignment-warning{color:var(--text-secondary);font-size:14px;font-style:italic;margin:0 0 28px}.start-assignment-button{background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 16px var(--shadow);color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px 40px;transition:all .3s ease}.start-assignment-button:hover:not(:disabled){box-shadow:0 6px 24px var(--shadow);opacity:.95;transform:translateY(-2px)}.start-assignment-button:disabled{cursor:not-allowed;opacity:.7}.assignment-timer{align-items:center;background:linear-gradient(135deg,#2e7d3226,#2e7d3214);border:2px solid #2e7d3280;border-radius:12px;color:var(--text-primary);display:flex;font-size:18px;font-weight:600;gap:12px;margin-bottom:24px;padding:16px 24px}.assignment-timer.expired{background:linear-gradient(135deg,#f4433626,#f4433614);border-color:#f4433680}[data-theme=dark] .assignment-timer{background:#2e7d3233;border-color:#2e7d3299}[data-theme=dark] .assignment-timer.expired{background:#f4433633;border-color:#f4433699}.assignment-timer .timer-icon{font-size:24px}.assignment-timer .timer-label{flex:1 1}.assignment-timer .timer-value{font-family:Monaco,Menlo,monospace;font-size:22px;min-width:120px;text-align:right}.time-expired-message{background:#f443361a;border-left:4px solid #c62828;border-radius:8px;color:#c62828;font-size:14px;font-weight:500;margin-top:12px;padding:12px}[data-theme=dark] .time-expired-message{background:#f4433626;border-left-color:#ef5350;color:#ef9a9a}.already-submitted-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;margin-top:24px;padding:32px;text-align:center}.already-submitted-card h3{color:var(--text-primary);font-size:20px;margin:0 0 12px}.already-submitted-card p{color:var(--text-secondary);margin:0 0 12px}.already-submitted-card .evaluation-timing,.already-submitted-card .update-repo-note{font-size:14px}.already-submitted-card .submission-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.already-submitted-card .submission-actions .cancel-button,.already-submitted-card .submission-actions .submit-button{border-radius:12px;flex:0 0 auto;font-size:.95em;font-weight:600;min-width:160px;padding:12px 24px;white-space:nowrap}.update-repo-form{background:#fff;border:1px solid var(--border-color);border-radius:10px;margin-top:16px;padding:16px}.submission-policy-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;margin:20px 0;padding:20px}.submission-policy-card h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.submission-policy-card ul{margin:0;padding-left:20px}.submission-policy-card li{color:var(--text-primary);font-size:14px;line-height:1.5;margin-bottom:8px}.assignment-info-card{animation:fadeInUp .6s ease;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 16px var(--shadow);margin-bottom:28px;padding:28px}.assignment-info-card h2{color:var(--text-primary);font-size:26px;font-weight:700;margin:0 0 10px}.assignment-category{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0 0 14px;text-transform:capitalize}.assignment-desc{font-size:15px;line-height:1.7;margin:0}.assignment-additional-instructions .rich-text-display,.assignment-desc,.assignment-desc .rich-text-display,.assignment-features .rich-text-display{color:var(--text-primary)}.assignment-additional-instructions .rich-text-display a,.assignment-desc .rich-text-display a,.assignment-features .rich-text-display a{color:var(--primary-color);text-decoration:underline;text-underline-offset:2px}.assignment-additional-instructions,.assignment-features{border-top:1px solid var(--border-color);margin-top:20px;padding-top:16px}.assignment-additional-instructions h4,.assignment-features h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 12px}.assignment-features ul{list-style:disc;margin:0;padding-left:20px}.assignment-features li{color:var(--text-primary);line-height:1.6;margin-bottom:12px}.assignment-features .feature-marks{color:var(--text-secondary);font-size:.9em}.assignment-features .feature-description{color:var(--text-secondary);font-size:14px;margin-left:0;margin-top:6px}.important-notice{animation:fadeInUp .7s ease;background:#fff;border:2px solid var(--border-color);border-left:5px solid #ff9800;border-radius:12px;margin-bottom:28px;padding:22px}[data-theme=dark] .important-notice{background:#2a2a2a80;border-color:var(--border-color);border-left-color:#ffb74d}.important-notice h3{color:#e65100;font-size:19px;font-weight:700;margin:0 0 14px}[data-theme=dark] .important-notice h3{color:#ffb74d}.important-notice ul{margin:0;padding-left:22px}.important-notice li{color:var(--text-primary);font-weight:500;line-height:1.7;margin-bottom:10px}.error-message{animation:fadeIn .3s ease;background:#ff52521a;border-left:4px solid #ff5252;border-radius:10px;color:#ff5252;font-weight:500;margin-bottom:20px;padding:14px 18px}[data-theme=dark] .error-message{background:#ff525226;border-left-color:#ff8a80;color:#ff8a80}.form-section,.submit-form-section{animation:fadeInUp .8s ease;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);margin-bottom:24px;padding:28px}.form-section h3,.submit-form-section h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 20px}.field-help{color:var(--text-secondary);font-size:13px;line-height:1.5;margin-top:6px}.evaluation-info{animation:fadeInUp .85s ease;background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);margin-bottom:24px;padding:28px}.evaluation-info h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 20px}.info-steps{display:flex;flex-direction:column;gap:12px}.info-step{align-items:flex-start;background:#fff;border:1px solid var(--border-color);border-radius:12px;display:flex;gap:16px;padding:16px 20px;transition:border-color .2s ease,box-shadow .2s ease}.info-step:hover{border-color:var(--primary-color);box-shadow:0 2px 12px var(--shadow)}[data-theme=dark] .info-step{background:#2a2a2a80}[data-theme=dark] .info-step:hover{border-color:#ed033199}.info-step .step-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.step-content h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 6px}.step-content p{line-height:1.6;margin:0}.evaluation-note,.step-content p{color:var(--text-secondary);font-size:14px}.evaluation-note{background:#fff;border-left:4px solid var(--primary-color);border-radius:8px;margin:16px 0 0;padding:12px 16px}[data-theme=dark] .evaluation-note{background:#2a2a2a80}[data-theme=dark] .submission-policy-card,[data-theme=dark] .update-repo-form{background:#1a1a1a;border-color:#3f3f46}.form-group{margin-bottom:22px}.form-group label{font-size:14px;font-weight:600;letter-spacing:.3px;margin-bottom:10px}.form-group label .required{color:#ff5252;margin-left:4px}[data-theme=dark] .form-group label .required{color:#ff8a80}.form-group input,.form-group textarea{background:var(--input-bg);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{background:var(--card-bg);border-color:var(--primary-color);box-shadow:0 0 0 3px #ed033126;outline:none}[data-theme=dark] .form-group input,[data-theme=dark] .form-group textarea{background:var(--input-bg);border-color:var(--border-color)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #ed033133}.form-group textarea{min-height:120px}.help-text{color:var(--text-secondary);font-size:13px;font-weight:500;margin-top:8px}.form-actions{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow);display:flex;gap:16px;margin-top:28px;padding:24px 28px}.cancel-button,.submit-button{border:none;border-radius:10px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px 32px;transition:all .3s ease}.cancel-button{background:#fff;border:2px solid var(--border-color);color:var(--text-primary)}.cancel-button:hover{background:var(--border-color);transform:translateY(-2px)}.submit-button{background:var(--primary-gradient);box-shadow:0 4px 16px var(--shadow);color:#fff}.submit-button:hover{box-shadow:0 6px 20px var(--shadow);opacity:.95;transform:translateY(-2px)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.5;transform:none}@media (max-width:768px){.assignment-info-card,.evaluation-info,.form-actions,.form-section,.start-assignment-card,.submit-form-section{padding:20px}.submit-header h1{font-size:24px}.form-actions{flex-direction:column}.cancel-button,.submit-button{width:100%}.info-step{padding:12px 16px}}.sds-container{margin:0 auto;max-width:1400px;padding:24px}.sds-loading{color:#888;color:var(--text-secondary,#888);padding:60px;text-align:center}.sds-header{margin-bottom:28px}.sds-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.8rem;margin:0 0 4px}.sds-subtitle{color:#888;color:var(--text-secondary,#888);font-size:1rem;margin:0 0 16px}.sds-filter-tabs{display:flex;flex-wrap:wrap;gap:8px}.sds-filter-tab{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:20px;color:#666;color:var(--text-secondary,#666);cursor:pointer;font-size:.85rem;padding:8px 16px;transition:all .2s}.sds-filter-tab.active{background:#ea580c;border-color:#ea580c;color:#fff}.sds-empty{padding:80px 20px;text-align:center}.sds-empty-icon{font-size:3.5rem;margin-bottom:12px}.sds-empty h2{color:#333;color:var(--text-primary,#333);margin:0 0 8px}.sds-empty p{color:#888;color:var(--text-secondary,#888)}.sds-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.sds-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:14px;box-shadow:0 2px 10px #0000000f;cursor:pointer;display:flex;flex-direction:column;padding:20px;transition:all .25s}.sds-card:hover{border-color:#fdba74;box-shadow:0 8px 24px #ea580c1f;transform:translateY(-3px)}.sds-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.sds-card-icon{font-size:2rem}.sds-card-badges{display:flex;gap:6px}.sds-difficulty-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;padding:3px 12px;text-transform:capitalize}.sds-card-title{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.1rem;font-weight:700;margin:0 0 4px}.sds-card-category{color:#ea580c;font-size:.85rem;font-weight:500;margin:0 0 12px}.sds-card-info{color:#888;color:var(--text-secondary,#888);display:flex;font-size:.82rem;gap:16px;margin-bottom:16px}.sds-card-bottom{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.sds-status-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px}.sds-score{color:#ea580c;font-size:1.3rem;font-weight:800}.sds-action-btn{background:#0000;border:2px solid;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;margin-top:auto;padding:10px;transition:all .2s;width:100%}.sds-action-btn:hover{opacity:.8}.sd-submissions-table{background:#fff;background:var(--bg-primary,#fff);border-collapse:collapse;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden;width:100%}.sd-submissions-table th{background:#fff;background:var(--bg-secondary,#fff);border-bottom:2px solid #eee;border-bottom:2px solid var(--border-color,#eee);color:#666;color:var(--text-secondary,#666);font-size:.82rem;font-weight:600;padding:12px 16px;text-align:left}.sd-submissions-table td{border-bottom:1px solid #f0f0f0;border-bottom:1px solid var(--border-color,#f0f0f0);color:#333;color:var(--text-primary,#333);font-size:.9rem;padding:12px 16px}.sd-submissions-table tr:hover{background:#fff;background:var(--bg-secondary,#fff)}[data-theme=dark] .sds-filter-tab.active{background:#ea580c;border-color:#ea580c;color:#fff}[data-theme=dark] .sds-card:hover{border-color:#ea580c73;box-shadow:0 8px 24px #ea580c33}[data-theme=dark] .sds-card-category,[data-theme=dark] .sds-score{color:#fb923c}[data-theme=dark] .sds-action-btn{border-color:currentColor}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#0000;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 0.5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;background-color:var(--xy-background-color-default);background-color:var(--xy-background-color,var(--xy-background-color-default));direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:#0000;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:#0000;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 0.5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-default);background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width-default);stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke-default);stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width-default);stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;pointer-events:none;position:absolute}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected-default);stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke-default);stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke-default);fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{overflow:visible;position:absolute;z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:default;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background-color:var(--xy-handle-background-color-default);background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:0;left:50%;top:auto;transform:translate(-50%,50%)}.react-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.react-flow__handle-left{left:0;top:50%;transform:translate(-50%,-50%)}.react-flow__handle-right{right:0;top:50%;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.bottom.center,.react-flow__panel.top.center{left:50%;transform:translateX(-15px) translateX(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color-default);background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{pointer-events:none}.react-flow__edgelabel-renderer,.react-flow__viewport-portal{height:100%;left:0;position:absolute;top:0;-webkit-user-select:none;user-select:none;width:100%}.react-flow__minimap{background:var(--xy-minimap-background-color-default);background:var(
    --xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default))
  )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-default);fill:var(
      --xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default))
    );stroke:var(--xy-minimap-mask-stroke-color-default);stroke:var(
      --xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default))
    );stroke-width:var(--xy-minimap-mask-stroke-width-default);stroke-width:var(
      --xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default))
    )}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-default);fill:var(
      --xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default))
    );stroke:var(--xy-minimap-node-stroke-color-default);stroke:var(
      --xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default))
    );stroke-width:var(--xy-minimap-node-stroke-width-default);stroke-width:var(
      --xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default))
    )}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-dots-color-default);fill:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default))
    )}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-lines-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default))
    )}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-cross-color-default);stroke:var(
      --xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default))
    )}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow-default);box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));display:flex;flex-direction:column}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{align-items:center;background:var(--xy-controls-button-background-color-default);background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      );color:var(--xy-controls-button-color-default);color:var(
      --xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default))
    );cursor:pointer;display:flex;height:26px;justify-content:center;padding:4px;-webkit-user-select:none;user-select:none;width:26px}.react-flow__controls-button svg{fill:currentColor;max-height:12px;max-width:12px;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:var(--xy-node-background-color-default);background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));border:var(--xy-node-border,var(--xy-node-border-default));border-radius:var(--xy-node-border-radius-default);border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));color:var(--xy-node-color-default);color:var(--xy-node-color,var(--xy-node-color-default));font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover-default);box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected-default);box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color-default);background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color-default);background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-default);background:var(
        --xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default))
      );color:var(--xy-controls-button-color-hover-default);color:var(
        --xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default))
      )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(
        --xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default))
      )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color-default);background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;height:5px;translate:-50% -50%;width:5px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color-default);fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color-default);fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.arch-builder{display:flex;flex-direction:column;gap:12px}.arch-toolbar{align-items:center;display:flex;gap:10px}.arch-template-select{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:6px;color:#333;color:var(--text-primary,#333);font-size:.85rem;padding:6px 12px}.arch-clear-btn{background:#fce4ec;border:none;border-radius:6px;color:#e53935;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 14px}.arch-workspace{border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:10px;display:flex;gap:0;height:500px;overflow:hidden}.arch-palette{background:#fff;background:var(--bg-secondary,#fff);border-right:1px solid #eee;border-right:1px solid var(--border-color,#eee);flex-shrink:0;overflow-y:auto;padding:12px;width:200px}.arch-palette-title{color:#333;color:var(--text-primary,#333);font-size:.9rem;font-weight:700;margin:0 0 12px}.arch-palette-category h4{color:#888;color:var(--text-secondary,#888);font-size:.72rem;letter-spacing:.5px;margin:10px 0 6px;text-transform:uppercase}.arch-palette-items{display:flex;flex-direction:column;gap:4px}.arch-palette-item{align-items:center;background:#fff;background:var(--bg-primary,#fff);border:1px solid #e8e8e8;border:1px solid var(--border-color,#e8e8e8);border-radius:6px;color:#333;color:var(--text-primary,#333);cursor:grab;display:flex;font-size:.8rem;gap:8px;padding:6px 8px;transition:all .15s}.arch-palette-item:hover{background:#ea580c1a;background:var(--sdt-accent-soft,#ea580c1a);border-color:#ea580c;border-color:var(--sdt-accent,#ea580c)}.arch-palette-item:active{cursor:grabbing}.arch-palette-icon{font-size:1rem}.arch-palette-label{font-weight:500}.arch-canvas-wrap{flex:1 1;height:100%;min-height:0;position:relative}.arch-canvas-wrap .react-flow{height:100%;width:100%}.arch-canvas-wrap .react-flow,.arch-custom-node{background:#fff;background:var(--bg-primary,#fff)}.arch-custom-node{border:2px solid #ea580c;border:2px solid var(--sdt-accent,#ea580c);border-radius:10px;box-shadow:0 2px 8px #ea580c26;min-width:100px;padding:10px 16px;text-align:center}.arch-custom-node:hover{border-color:#c2410c;border-color:var(--sdt-accent-hover,#c2410c);box-shadow:0 4px 12px #ea580c38}.arch-node-icon{font-size:1.6rem;margin-bottom:4px}.arch-node-label{color:#333;color:var(--text-primary,#333);font-size:.82rem;font-weight:600}.arch-node-subtitle{color:#888;color:var(--text-secondary,#888);font-size:.7rem;margin-top:2px}.arch-handle{background:#ea580c;background:var(--sdt-accent,#ea580c);border:2px solid #fff;border:2px solid var(--bg-primary,#fff);border-radius:50%;height:8px;opacity:0;transition:opacity .2s;width:8px}.arch-custom-node:hover .arch-handle{opacity:1}.arch-handle:hover{background:#c2410c;background:var(--sdt-accent-hover,#c2410c);height:10px;opacity:1;width:10px}.react-flow__edge-path{stroke:#ea580c;stroke:var(--sdt-accent,#ea580c);stroke-width:2}.react-flow__edge.selected .react-flow__edge-path{stroke:#c2410c;stroke:var(--sdt-accent-hover,#c2410c);stroke-width:3}.react-flow__edge-path:hover{stroke:#c2410c;stroke:var(--sdt-accent-hover,#c2410c)}.react-flow__connectionline{stroke:#ea580c;stroke:var(--sdt-accent,#ea580c);stroke-width:2;stroke-dasharray:5 5}.arch-warnings{display:flex;flex-direction:column;gap:6px}.arch-warning{align-items:center;background:#fff8e1;border:1px solid #ffe082;border-radius:8px;display:flex;font-size:.82rem;gap:8px;padding:8px 14px}.arch-warning-icon{font-size:1rem}.arch-warning-text{color:#f57f17;flex:1 1}.arch-warning-dismiss{background:none;border:1px solid #ffe082;border-radius:4px;color:#f57f17;cursor:pointer;font-size:.75rem;padding:3px 8px}.arch-text-section label{color:#444;color:var(--text-primary,#444);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.arch-text-section textarea{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:8px;box-sizing:border-box;color:#333;color:var(--text-primary,#333);font-family:inherit;font-size:.9rem;padding:10px 12px;resize:vertical;width:100%}.arch-text-section textarea:focus{border-color:#ea580c;border-color:var(--sdt-accent,#ea580c);box-shadow:0 0 0 3px #ea580c1a;box-shadow:0 0 0 3px var(--sdt-accent-soft,#ea580c1a);outline:none}[data-theme=dark] .arch-palette{border-right-color:#3f3f46}[data-theme=dark] .arch-palette-item{background:#27272a;border-color:#3f3f46}[data-theme=dark] .arch-palette-item:hover{background:#ea580c1f;border-color:#ea580c;border-color:var(--sdt-accent,#ea580c)}[data-theme=dark] .arch-custom-node{background:var(--bg-primary);border-color:#ea580c;border-color:var(--sdt-accent,#ea580c);box-shadow:0 2px 8px #ea580c33}[data-theme=dark] .arch-custom-node:hover{border-color:#f97316;box-shadow:0 4px 12px #ea580c4d}[data-theme=dark] .arch-warning{background:#ffc1071a;border-color:#ffe0824d}[data-theme=dark] .arch-warning-text{color:#fdd835}[data-theme=dark] .arch-warning-dismiss{border-color:#ffe0824d;color:#fdd835}[data-theme=dark] .arch-clear-btn{background:#e5393526;color:#ef5350}[data-theme=dark] .arch-canvas-wrap .react-flow{background:var(--bg-primary)}[data-theme=dark] .arch-handle{border-color:var(--bg-primary)}[data-theme=dark] .arch-text-section textarea:focus{border-color:#6c5ce7}[data-theme=dark] .react-flow__controls{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 2px 8px #0000004d}[data-theme=dark] .react-flow__controls-button{fill:var(--text-primary);background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .react-flow__controls-button:hover{background:var(--bg-primary)}[data-theme=dark] .react-flow__controls-button svg{fill:var(--text-primary)}[data-theme=dark] .react-flow__minimap{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .react-flow__attribution{background:#0000}[data-theme=dark] .react-flow__attribution a{color:var(--text-secondary)}.sdt-container{--sdt-accent:#ea580c;--sdt-accent-hover:#c2410c;--sdt-accent-soft:#ea580c1a;--sdt-accent-ring:#ea580c38;--sdt-platform:#e7210b;--sdt-platform-hover:#c41c09;--sdt-surface:#fff;--sdt-muted:#f8fafc;--sdt-border:var(--border-color,#e5e7eb);--sdt-shadow:0 1px 3px #0f172a0f;--sdt-shadow-md:0 8px 24px #0f172a14;--sdt-input-bg:var(--sdt-surface);background:var(--sdt-muted);display:flex;flex-direction:column;height:calc(100vh - 72px);height:calc(100vh - var(--navbar-height, 72px));overflow:hidden}.sdt-container--loading{align-items:center;justify-content:center}.sdt-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:.95rem;gap:16px}.sdt-loading svg{color:var(--sdt-accent);font-size:2rem}.sdt-loading-spinner{animation:sdtSpin .75s linear infinite;border:3px solid var(--sdt-border);border-radius:50%;border-top-color:var(--sdt-accent);height:44px;width:44px}@keyframes sdtSpin{to{transform:rotate(1turn)}}.sdt-spin{animation:sdtSpin 1s linear infinite}@keyframes sdtPulse{0%,to{opacity:1}50%{opacity:.65}}.sdt-topbar{align-items:flex-start;background:var(--sdt-surface);border-bottom:1px solid var(--sdt-border);box-shadow:var(--sdt-shadow);display:flex;flex-shrink:0;gap:20px;justify-content:space-between;padding:14px 22px}.sdt-topbar-left{flex:1 1;min-width:0}.sdt-topbar-badge{align-items:center;background:var(--sdt-accent-soft);border-radius:6px;color:var(--sdt-accent);display:inline-flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:.06em;margin-bottom:6px;padding:4px 10px;text-transform:uppercase}.sdt-problem-title{color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sdt-progress-wrap{max-width:520px}.sdt-progress-track{background:var(--sdt-border);border-radius:999px;height:5px;margin-bottom:6px;overflow:hidden}.sdt-progress-fill{background:linear-gradient(90deg,var(--sdt-accent),#f97316);border-radius:999px;height:100%;transition:width .35s ease}.sdt-progress-label{color:var(--text-secondary);font-size:.78rem;font-weight:500}.sdt-topbar-right{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px}.sdt-save-indicator{align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 12px}.sdt-save-indicator.saving{background:#fff7ed;border:1px solid #fed7aa;color:var(--sdt-accent)}.sdt-save-indicator.saved{background:#f0fdf4;border:1px solid #bbf7d0;color:#059669}.sdt-violation-badge{align-items:center;border-radius:8px;display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;padding:6px 12px}.sdt-violation-badge.safe{background:#f0fdf4;border:1px solid #bbf7d0;color:#059669}.sdt-violation-badge.warn{background:#fff7ed;border:1px solid #fed7aa;color:#c2410c}.sdt-violation-badge.danger{animation:sdtPulse 1s infinite;background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.sdt-hint-toggle,.sdt-icon-btn{align-items:center;background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:10px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;justify-content:center;padding:8px 12px;transition:border-color .15s,background .15s,color .15s}.sdt-icon-btn{padding:8px 10px}.sdt-hint-toggle.active,.sdt-hint-toggle:hover,.sdt-icon-btn:hover{border-color:var(--sdt-accent);color:var(--sdt-accent)}.sdt-hint-toggle.active{background:var(--sdt-accent-soft)}.sdt-timer{align-items:center;background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:10px;color:var(--text-primary);display:inline-flex;font-family:ui-monospace,monospace;font-size:1.05rem;font-weight:700;gap:8px;padding:8px 14px}.sdt-timer.warning{animation:sdtPulse 1s infinite;background:#fef2f2;border-color:#fecaca;color:#dc2626}.sdt-violation-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.sdt-violation-modal{background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:16px;box-shadow:var(--sdt-shadow-md);max-width:440px;padding:32px 36px;text-align:center;width:90%}.sdt-violation-modal-icon{align-items:center;border-radius:50%;display:flex;font-size:1.75rem;height:56px;justify-content:center;margin:0 auto 14px;width:56px}.sdt-violation-modal.warning .sdt-violation-modal-icon{background:#fff7ed;color:var(--sdt-accent)}.sdt-violation-modal.error .sdt-violation-modal-icon{background:#fef2f2;color:#dc2626}.sdt-violation-modal.warning{border-top:4px solid var(--sdt-accent)}.sdt-violation-modal.error{border-top:4px solid #dc2626}.sdt-violation-modal h3{font-size:1.25rem;margin:0 0 10px}.sdt-violation-modal p{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0 0 20px}.sdt-violation-modal-close{background:var(--sdt-platform);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.92rem;font-weight:600;padding:10px 28px}.sdt-violation-modal-close:hover{background:var(--sdt-platform-hover)}.sdt-main{display:flex;flex:1 1;min-height:0;overflow:hidden}.sdt-sidebar{background:var(--sdt-surface);border-right:1px solid var(--sdt-border);flex-shrink:0;overflow-y:auto;padding:14px 10px;width:268px}.sdt-sidebar-label{color:var(--text-secondary);font-size:.68rem;font-weight:700;letter-spacing:.08em;margin:0 10px 10px;text-transform:uppercase}.sdt-step-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:12px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.82rem;gap:10px;margin-bottom:4px;padding:10px 12px;text-align:left;transition:background .15s,border-color .15s,color .15s;width:100%}.sdt-step-btn:hover{background:var(--sdt-muted);color:var(--text-primary)}.sdt-step-btn.active{background:var(--sdt-accent-soft);border-color:var(--sdt-accent-ring);color:var(--text-primary);font-weight:600}.sdt-step-btn.active .sdt-step-icon-wrap{background:var(--sdt-accent);color:#fff}.sdt-step-num{color:var(--text-secondary);font-size:.7rem;font-weight:800;min-width:18px}.sdt-step-btn.active .sdt-step-num{color:var(--sdt-accent)}.sdt-step-icon-wrap{align-items:center;background:var(--sdt-muted);border:1px solid var(--sdt-border);border-radius:9px;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.sdt-step-icon{font-size:1rem}.sdt-step-label{flex:1 1;line-height:1.3}.sdt-step-check{color:#059669;flex-shrink:0;font-size:1rem}.sdt-step-btn.active .sdt-step-check{color:#059669}.sdt-content{background:var(--sdt-muted);flex:1 1;min-width:0;overflow-y:auto;padding:24px 28px 40px;position:relative}.sdt-content-head{align-items:flex-start;background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:16px;box-shadow:var(--sdt-shadow);display:flex;gap:16px;margin-bottom:24px;padding:20px 22px}.sdt-content-head-icon{align-items:center;background:var(--sdt-accent-soft);border:1px solid var(--sdt-accent-ring);border-radius:14px;color:var(--sdt-accent);display:flex;flex-shrink:0;font-size:1.35rem;height:48px;justify-content:center;width:48px}.sdt-step-kicker{color:var(--sdt-accent);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.sdt-content-title{color:var(--text-primary);font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin:0}.sdt-step-content{background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:16px;box-shadow:var(--sdt-shadow);padding:24px 26px 28px}.sdt-content .sdt-step-content>h2:first-child{display:none}.sdt-step-content h2{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin:0 0 16px}.sdt-step-content h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin:20px 0 10px}.sdt-step-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin-bottom:16px}.sdt-problem-statement.rich-text-display{color:var(--text-primary);font-size:.95rem;line-height:1.7;margin-bottom:20px}.sdt-problem-statement img{border-radius:8px;max-width:100%}.sdt-context-box{background:var(--sdt-accent-soft);border-left:4px solid var(--sdt-accent);border-radius:12px;margin-bottom:20px;padding:18px 20px}.sdt-context-box h3{color:var(--sdt-accent);font-size:.95rem;margin:0 0 8px}.sdt-rich-content.rich-text-display{color:var(--text-primary);font-size:.92rem;line-height:1.7;word-break:break-word}.sdt-constraints-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}.sdt-constraint{background:var(--sdt-muted);border:1px solid var(--sdt-border);border-radius:12px;padding:14px 16px}.sdt-constraint label{color:var(--sdt-accent);display:block;font-size:.7rem;font-weight:700;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.sdt-constraint span{color:var(--text-primary);font-size:.92rem;font-weight:600}.sdt-next-btn{align-items:center;background:var(--sdt-accent);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:8px;margin-top:8px;padding:12px 24px;transition:background .15s,transform .15s}.sdt-next-btn:hover{background:var(--sdt-accent-hover);transform:translateY(-1px)}.sdt-add-btn{background:var(--sdt-accent-soft);border:1px dashed var(--sdt-accent-ring);border-radius:10px;color:var(--sdt-accent);cursor:pointer;font-size:.85rem;font-weight:600;margin-top:10px;padding:8px 16px;transition:background .15s}.sdt-add-btn:hover{background:#ea580c29}.sdt-add-btn.small{font-size:.78rem;padding:5px 10px}.sdt-remove-btn{align-items:center;background:#fef2f2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:32px;justify-content:center;width:32px}.sdt-remove-btn.small{font-size:.85rem;height:26px;width:26px}.sdt-dynamic-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.sdt-row-label{color:var(--sdt-accent);font-size:.82rem;font-weight:700;min-width:36px}.sdt-api-desc,.sdt-api-detail-col textarea,.sdt-api-endpoint,.sdt-api-method,.sdt-db-entity,.sdt-db-type,.sdt-dynamic-row input,.sdt-entity-name,.sdt-entity-notes,.sdt-field-row input,.sdt-flow-scenario,.sdt-flow-step input,.sdt-nfr-field input,.sdt-nfr-field textarea,.sdt-tradeoff-col input{background:var(--sdt-surface);border:1px solid var(--sdt-border);border-radius:10px;color:var(--text-primary)}.sdt-dynamic-row input{flex:1 1;font-size:.9rem;padding:10px 12px}.sdt-nfr-field{margin-bottom:14px}.sdt-nfr-field label{color:var(--text-primary);display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.sdt-nfr-field input,.sdt-nfr-field textarea{background:var(--sdt-surface);background:var(--sdt-input-bg,var(--sdt-surface));box-sizing:border-box;font-family:inherit;font-size:.9rem;padding:10px 12px;resize:vertical;width:100%}.sdt-nfr-field input::placeholder,.sdt-nfr-field textarea::placeholder{color:var(--text-secondary);opacity:.85}.sdt-dynamic-row input:focus,.sdt-nfr-field input:focus,.sdt-nfr-field textarea:focus{border-color:var(--sdt-accent);box-shadow:0 0 0 3px var(--sdt-accent-soft);outline:none}.sdt-calc-helper{--sdt-calc-bg:#fff7ed;--sdt-calc-border:#fed7aa;--sdt-calc-title:var(--sdt-accent);--sdt-calc-chip-bg:var(--sdt-surface);--sdt-calc-chip-border:#ea580c59;--sdt-calc-chip-text:#9a3412;background:var(--sdt-calc-bg);border:1px solid var(--sdt-calc-border);border-radius:12px;margin-bottom:22px;padding:16px 18px}.sdt-calc-helper-title{color:var(--sdt-calc-title);font-size:.72rem;font-weight:700;letter-spacing:.06em;margin:0 0 12px;text-transform:uppercase}.sdt-calc-chips{display:flex;flex-wrap:wrap;gap:8px}.sdt-calc-chip{background:var(--sdt-calc-chip-bg);border:1px solid var(--sdt-calc-chip-border);border-radius:8px;color:var(--sdt-calc-chip-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;font-weight:500;line-height:1.35;padding:6px 11px}.sdt-calculations-textarea{background:var(--sdt-muted);background:var(--sdt-input-bg,var(--sdt-muted));font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:.88rem;line-height:1.55}.sdt-api-row,.sdt-db-card,.sdt-entity-card,.sdt-flow-card,.sdt-scaling-card,.sdt-tradeoff-card{background:var(--sdt-muted);border:1px solid var(--sdt-border);border-radius:12px;margin-bottom:14px;padding:16px}.sdt-api-top,.sdt-db-header,.sdt-entity-header,.sdt-flow-header,.sdt-tradeoff-header{align-items:center;display:flex;gap:10px;margin-bottom:12px}.sdt-api-endpoint,.sdt-db-entity,.sdt-entity-name,.sdt-flow-scenario{flex:1 1;font-weight:600;padding:8px 12px}.sdt-api-method{font-size:.85rem;font-weight:700;padding:8px;width:100px}.sdt-api-detail-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:8px}.sdt-api-detail-col label{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:600;margin-bottom:4px}.sdt-api-desc{box-sizing:border-box;padding:8px 10px;width:100%}.sdt-flow-steps{border-left:2px solid var(--sdt-accent-ring);margin-left:8px;padding-left:18px}.sdt-flow-step{align-items:center;display:flex;gap:10px;margin-bottom:8px;position:relative}.sdt-flow-step:before{background:var(--sdt-accent);border-radius:50%;content:"";height:10px;left:-22px;position:absolute;width:10px}.sdt-flow-step-num{color:var(--sdt-accent);font-size:.82rem;font-weight:700;min-width:24px}.sdt-flow-step input{flex:1 1;font-size:.85rem;padding:8px 10px}.sdt-scaling-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:20px}.sdt-scaling-card.selected{background:var(--sdt-accent-soft);border-color:var(--sdt-accent)}.sdt-scaling-header{align-items:center;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:10px}.sdt-scaling-card textarea{border:1px solid var(--sdt-border);border-radius:8px;box-sizing:border-box;margin-top:10px;padding:10px;resize:vertical;width:100%}.sdt-topic-grid{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.sdt-topic-btn{background:var(--sdt-surface);border:2px solid var(--sdt-border);border-radius:12px;color:var(--text-primary);cursor:pointer;font-size:.88rem;font-weight:500;padding:10px 18px;transition:all .15s}.sdt-topic-btn.selected{background:var(--sdt-accent-soft);border-color:var(--sdt-accent);color:var(--sdt-accent);font-weight:700}.sdt-tradeoff-row{align-items:center;display:flex;gap:12px;margin-bottom:12px}.sdt-tradeoff-vs{color:var(--sdt-platform);font-weight:700;padding-top:18px}.sdt-tradeoff-num{color:var(--sdt-accent);font-weight:700}.sdt-review-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.sdt-review-item{align-items:center;background:var(--sdt-muted);border:1px solid var(--sdt-border);border-radius:12px;display:flex;gap:12px;padding:14px 16px}.sdt-review-item.complete{border-left:4px solid #059669}.sdt-review-item.incomplete{border-left:4px solid #f59e0b}.sdt-review-icon{display:flex;font-size:1.2rem}.sdt-review-item.complete .sdt-review-icon{color:#059669}.sdt-review-item.incomplete .sdt-review-icon{color:#d97706}.sdt-review-label{align-items:center;display:flex;flex:1 1;font-weight:600;gap:8px}.sdt-review-step-icon{color:var(--sdt-accent)}.sdt-review-status{color:var(--text-secondary);font-size:.8rem;font-weight:600}.sdt-review-jump{background:var(--sdt-accent-soft);border:1px solid var(--sdt-accent-ring);border-radius:8px;cursor:pointer;font-size:.8rem;padding:6px 14px}.sdt-hint-summary,.sdt-review-jump{color:var(--sdt-accent);font-weight:600}.sdt-hint-summary{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;font-size:.9rem;margin-bottom:20px;padding:14px 16px}.sdt-submit-btn{align-items:center;background:linear-gradient(90deg,#ed0331,#87021c);border:none;border-radius:14px;box-shadow:0 4px 14px #ed033140;color:#fff;cursor:pointer;display:inline-flex;font-size:1.05rem;font-weight:700;gap:10px;justify-content:center;padding:16px 24px;transition:opacity .15s,transform .15s;width:100%}.sdt-submit-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px)}.sdt-submit-btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.sdt-step-nav{border-top:1px solid var(--sdt-border);display:flex;gap:12px;justify-content:space-between;margin-top:28px;padding-top:20px}.sdt-nav-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 20px}.sdt-nav-btn.prev{background:var(--sdt-surface);border:1px solid var(--sdt-border);color:var(--text-primary)}.sdt-nav-btn.next{background:var(--sdt-accent);color:#fff}.sdt-nav-btn.next:hover{background:var(--sdt-accent-hover)}.sdt-architecture-step{overflow:visible}.sdt-hint-drawer{background:var(--sdt-surface);border-left:1px solid var(--sdt-border);box-shadow:-8px 0 32px #0f172a1a;height:100%;overflow-y:auto;padding:20px;position:absolute;right:0;top:0;width:min(340px,100%);z-index:10}.sdt-hint-drawer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sdt-hint-drawer-header h3{align-items:center;display:flex;font-size:1rem;gap:8px;margin:0}.sdt-hint-drawer-header button{align-items:center;background:var(--sdt-muted);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.sdt-hint-empty{color:var(--text-secondary);font-size:.9rem;font-style:italic}.sdt-hint-item{margin-bottom:12px}.sdt-hint-item.revealed{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:14px}.sdt-hint-unlock{align-items:center;background:#fffbeb;border:1px dashed #fcd34d;border-radius:10px;color:#b45309;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;padding:12px 14px;text-align:left;width:100%}[data-theme=dark] .sdt-container{--sdt-surface:#1a1a1a;--sdt-muted:#121212;--sdt-border:#333;--sdt-input-bg:#252525;--sdt-accent-soft:#ea580c24;--sdt-accent-ring:#ea580c59;--sdt-calc-bg:#ea580c1a;--sdt-calc-border:#ea580c47;--sdt-calc-title:#fb923c;--sdt-calc-chip-bg:#222;--sdt-calc-chip-border:#ea580c66;--sdt-calc-chip-text:#fdba74}[data-theme=dark] .sdt-content-head,[data-theme=dark] .sdt-hint-drawer,[data-theme=dark] .sdt-sidebar,[data-theme=dark] .sdt-step-content,[data-theme=dark] .sdt-topbar{background:var(--sdt-surface)}[data-theme=dark] .sdt-step-btn:hover{background:#222}[data-theme=dark] .sdt-step-btn.active{background:var(--sdt-accent-soft)}[data-theme=dark] .sdt-step-icon-wrap{background:#222;border-color:var(--sdt-border)}[data-theme=dark] .sdt-api-row,[data-theme=dark] .sdt-constraint,[data-theme=dark] .sdt-db-card,[data-theme=dark] .sdt-entity-card,[data-theme=dark] .sdt-flow-card,[data-theme=dark] .sdt-review-item,[data-theme=dark] .sdt-scaling-card,[data-theme=dark] .sdt-tradeoff-card{background:#222}[data-theme=dark] .sdt-content-title,[data-theme=dark] .sdt-nfr-field label,[data-theme=dark] .sdt-step-content h3,[data-theme=dark] .sdt-step-desc{color:var(--text-primary)}[data-theme=dark] .sdt-api-desc,[data-theme=dark] .sdt-api-detail-col textarea,[data-theme=dark] .sdt-api-endpoint,[data-theme=dark] .sdt-api-method,[data-theme=dark] .sdt-db-entity,[data-theme=dark] .sdt-db-type,[data-theme=dark] .sdt-dynamic-row input,[data-theme=dark] .sdt-entity-name,[data-theme=dark] .sdt-entity-notes,[data-theme=dark] .sdt-field-row input,[data-theme=dark] .sdt-flow-scenario,[data-theme=dark] .sdt-flow-step input,[data-theme=dark] .sdt-nav-btn.prev,[data-theme=dark] .sdt-nfr-field input,[data-theme=dark] .sdt-nfr-field textarea,[data-theme=dark] .sdt-topic-btn,[data-theme=dark] .sdt-tradeoff-col input{background:var(--sdt-input-bg);border-color:var(--sdt-border);color:var(--text-primary)}[data-theme=dark] .sdt-nfr-field input::placeholder,[data-theme=dark] .sdt-nfr-field textarea::placeholder{color:#9ca3af;opacity:1}[data-theme=dark] .sdt-calc-helper{--sdt-calc-bg:#ea580c24;--sdt-calc-border:#fb923c73;--sdt-calc-title:#fdba74;--sdt-calc-chip-bg:#2a2a2a;--sdt-calc-chip-border:#fb923c8c;--sdt-calc-chip-text:#fff7ed;background:var(--sdt-calc-bg);border-color:var(--sdt-calc-border)}[data-theme=dark] .sdt-calc-helper-title{color:#fdba74}[data-theme=dark] .sdt-calc-chip{background:#2a2a2a;border-color:#fb923c8c;color:#fff7ed}[data-theme=dark] .sdt-calculations-textarea{background:var(--sdt-input-bg);color:var(--text-primary)}[data-theme=dark] .sdt-remove-btn{background:#dc262626;color:#f87171}[data-theme=dark] .sdt-hint-summary{background:var(--sdt-accent-soft);border-color:var(--sdt-calc-border);color:#fdba74}[data-theme=dark] .sdt-hint-item.revealed{background:#0596691f;border-color:#05966959;color:var(--text-primary)}[data-theme=dark] .sdt-hint-unlock{background:#f59e0b1a;border-color:#f59e0b59;color:#fbbf24}@media (max-width:900px){.sdt-main,.sdt-topbar{flex-direction:column}.sdt-sidebar{border-bottom:1px solid var(--sdt-border);border-right:none;max-height:200px;width:100%}.sdt-api-detail-row{grid-template-columns:1fr}}.sdfu-container{margin:0 auto;max-width:800px;padding:32px 24px}.sdfu-loading{color:#888;color:var(--text-secondary,#888);padding:60px;text-align:center}.sdfu-header{margin-bottom:32px;text-align:center}.sdfu-header h1{color:#1a1a2e;color:var(--text-primary,#1a1a2e);font-size:1.6rem;margin:0 0 8px}.sdfu-desc{color:#888;color:var(--text-secondary,#888);margin:0 0 20px}.sdfu-progress{gap:10px}.sdfu-progress,.sdfu-progress-dot{display:flex;justify-content:center}.sdfu-progress-dot{align-items:center;background:#eee;background:var(--bg-secondary,#eee);border:2px solid #0000;border-radius:50%;color:#888;color:var(--text-secondary,#888);font-size:.85rem;font-weight:700;height:36px;transition:all .3s;width:36px}.sdfu-progress-dot.current{background:#f0edff;border-color:#6c5ce7;color:#6c5ce7}.sdfu-progress-dot.answered{background:#6c5ce7;color:#fff}.sdfu-question-card{background:#fff;background:var(--bg-secondary,#fff);border:1px solid #d4cef5;border-radius:12px;margin-bottom:20px;padding:24px}.sdfu-question-num{color:#6c5ce7;font-size:.78rem;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.sdfu-question-text{font-size:1.1rem;line-height:1.6;margin:0}.sdfu-answer-input,.sdfu-question-text{color:#333;color:var(--text-primary,#333)}.sdfu-answer-input{background:#fff;background:var(--bg-primary,#fff);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:.95rem;line-height:1.5;margin-bottom:12px;padding:14px 16px;resize:vertical;width:100%}.sdfu-answer-input:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce71a;outline:none}.sdfu-submit-btn{background:#6c5ce7;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 28px}.sdfu-submit-btn:disabled{background:#b8b0e0;cursor:not-allowed}.sdfu-feedback-card{background:#fff;background:var(--bg-primary,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-top:20px;padding:20px}.sdfu-your-answer{background:#fff;background:var(--bg-secondary,#fff);border-radius:8px;font-size:.9rem;line-height:1.5;margin-bottom:12px;padding:12px}.sdfu-score,.sdfu-your-answer{color:#333;color:var(--text-primary,#333)}.sdfu-score{font-size:1rem;margin-bottom:10px}.sdfu-score-val{font-size:1.2rem;font-weight:700}.sdfu-score-val.good{color:#27ae60}.sdfu-score-val.ok{color:#f39c12}.sdfu-score-val.poor{color:#e74c3c}.sdfu-feedback-text{color:#555;color:var(--text-secondary,#555);line-height:1.5;margin:0 0 14px}.sdfu-next-btn{background:#6c5ce7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.sdfu-complete{padding:40px 20px;text-align:center}.sdfu-complete-icon{font-size:3rem;margin-bottom:12px}.sdfu-complete h2{color:#333;color:var(--text-primary,#333)}.sdfu-complete p{color:#888;color:var(--text-secondary,#888)}.sdfu-results-btn{background:#6c5ce7;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:16px;padding:12px 28px}.sdfu-evaluating{padding:60px 20px;text-align:center}.sdfu-evaluating-icon{animation:sdfu-bounce 2s ease-in-out infinite;font-size:4rem;margin-bottom:16px}@keyframes sdfu-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.sdfu-evaluating h2{color:#333;color:var(--text-primary,#333);font-size:1.5rem;margin:0 0 10px}.sdfu-evaluating p{color:#888;color:var(--text-secondary,#888);line-height:1.6;margin:0 auto 8px;max-width:500px}.sdfu-evaluating-spinner{animation:sdfu-spin 1s linear infinite;border:4px solid #eee;border:4px solid var(--border-color,#eee);border-radius:50%;border-top:4px solid #6c5ce7;height:48px;margin:28px auto;width:48px}@keyframes sdfu-spin{to{transform:rotate(1turn)}}.sdfu-evaluating-hint{color:#aaa;color:var(--text-secondary,#aaa);font-size:.85rem;margin-top:8px}[data-theme=dark] .sdfu-progress-dot.current{background:#6c5ce726;border-color:#6c5ce7;color:#a29bfe}[data-theme=dark] .sdfu-progress-dot.answered{background:#6c5ce7;color:#fff}[data-theme=dark] .sdfu-question-card{background:#6c5ce714;border-color:#6c5ce740}[data-theme=dark] .sdfu-question-num{color:#a29bfe}[data-theme=dark] .sdfu-answer-input:focus{border-color:#6c5ce7;box-shadow:0 0 0 3px #6c5ce726}[data-theme=dark] .sdfu-submit-btn{background:#6c5ce7}[data-theme=dark] .sdfu-submit-btn:disabled{background:#6c5ce759}[data-theme=dark] .sdfu-next-btn,[data-theme=dark] .sdfu-results-btn{background:#6c5ce7}[data-theme=dark] .sdfu-score-val.good{color:#6bcf8e}[data-theme=dark] .sdfu-score-val.ok{color:#f0a04b}[data-theme=dark] .sdfu-score-val.poor{color:#ef5350}.App:has(.english-test-taking){height:100vh;overflow:hidden}.english-test-taking{background-color:var(--bg-primary);display:flex;flex-direction:column;height:calc(100vh - 72px);height:calc(100vh - var(--navbar-height, 72px));height:calc(100dvh - 72px);height:calc(100dvh - var(--navbar-height, 72px));max-height:calc(100vh - 72px);max-height:calc(100vh - var(--navbar-height, 72px));overflow:hidden}.english-test-loading{align-items:center;color:var(--text-secondary);display:flex;font-size:1.2em;justify-content:center;min-height:60vh}.test-header{background-color:#fff;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:12px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.test-header,.test-header-left{align-items:center;display:flex}.test-header-left{gap:16px}.test-title{font-size:1.1em;margin:0}.section-badge{background:var(--primary-gradient);border-radius:16px;color:#fff;font-size:.8em;font-weight:600;padding:4px 12px}.test-header-right{align-items:center;display:flex;gap:16px}.timer{color:var(--text-primary);font-family:monospace;font-size:1.4em;font-weight:700}.timer.warning{color:#ffc107}.timer.danger{animation:pulse 1s infinite;color:#dc3545}.violations-indicator{color:var(--text-secondary);font-size:.8em}.test-progress{border-bottom:1px solid var(--border-color);display:flex;overflow-x:auto}.progress-section{border-right:1px solid var(--border-color);flex:1 1;font-size:.8em;font-weight:500;padding:8px 16px;text-align:center;white-space:nowrap}.progress-section.current{background:var(--primary-gradient);color:#fff}.progress-section.completed{background-color:#28a74526;color:#28a745}.progress-section.upcoming{color:var(--text-secondary)}.test-body{display:grid;flex:1 1;grid-template-columns:220px 1fr;min-height:0;overflow:hidden}.question-sidebar{background-color:#fff;border-right:1px solid var(--border-color);min-height:0;overflow-y:auto;padding:16px}.question-sidebar h4{font-size:.95em;margin:0 0 12px}.question-nav-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(5,1fr)}.q-nav-btn{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:.85em;font-weight:600;height:36px;transition:all .15s ease;width:36px}.q-nav-btn.active{border-color:var(--primary-color);box-shadow:0 0 0 2px #ed033133}.q-nav-btn.answered{background-color:#28a745;border-color:#28a745;color:#fff}.q-nav-btn.flagged{background-color:#ffc10726;border-color:#ffc107}.q-nav-btn.answered.flagged{background-color:#ffc107;color:#000}.nav-legend{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.75em;gap:6px;margin-top:16px}.legend-dot{border:2px solid var(--border-color);border-radius:3px;display:inline-block;height:10px;margin-right:6px;vertical-align:middle;width:10px}.legend-dot.answered{background-color:#28a745;border-color:#28a745}.legend-dot.flagged{background-color:#ffc1074d;border-color:#ffc107}.question-main{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:0;min-width:0}.question-main-scroll{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto;padding:24px}.english-test-footer{align-items:center;background:#fff;border-top:1px solid var(--border-color);box-shadow:0 -4px 16px #0f172a0f;display:flex;flex-shrink:0;gap:12px;justify-content:space-between;min-height:64px;padding:12px 24px;z-index:20}.english-test-footer-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.question-number-bar{align-items:center;color:var(--text-secondary);display:flex;font-size:.9em;justify-content:space-between;margin-bottom:20px}.question-points{color:var(--text-primary);font-weight:600}.flag-btn{background:#0000;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:.85em;padding:6px 14px;transition:all .2s ease}.flag-btn.active{background-color:#ffc10726;border-color:#ffc107;color:#ffc107}.question-content{flex:1 1;min-height:300px}.question-text{font-size:1.1em;line-height:1.6}.blank-sentence,.question-text{color:var(--text-primary);margin-bottom:20px}.blank-sentence{background:#fff;border-left:4px solid var(--primary-color);border-radius:8px;font-size:1.15em;font-style:italic;padding:16px}.mcq-options{display:flex;flex-direction:column;gap:10px}.mcq-options.compact{gap:8px}.mcq-option{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;gap:14px;padding:14px 18px;transition:all .2s ease}.mcq-option:hover{border-color:var(--primary-color);transform:translateX(4px)}.mcq-option.selected{background:linear-gradient(135deg,#ed033114,#87021c0a);border-color:var(--primary-color)}.option-letter{align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:50%;display:flex;flex-shrink:0;font-size:.85em;font-weight:700;height:32px;justify-content:center;width:32px}.mcq-option.selected .option-letter{background:var(--primary-gradient);border-color:#0000;color:#fff}.fill-blank-input,.short-answer-input,.subjective-textarea{background:#fff;border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:1em;padding:12px;resize:vertical;width:100%}.fill-blank-input:focus,.short-answer-input:focus,.subjective-textarea:focus{border-color:var(--primary-color);outline:none}.parajumble-sentences{display:flex;flex-direction:column;gap:8px}.parajumble-item{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:10px;display:flex;gap:12px;padding:14px}.pj-number{color:var(--primary-color);font-size:1.1em;font-weight:700;min-width:24px}.pj-text{color:var(--text-primary);flex:1 1;line-height:1.5;margin:0}.pj-actions{display:flex;gap:4px}.pj-btn{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;font-size:.8em;padding:4px 10px}.pj-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.pj-btn:disabled{cursor:not-allowed;opacity:.3}.error-detect-words{display:flex;flex-wrap:wrap;gap:8px}.error-word{border:2px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:1em;padding:8px 12px;transition:all .2s ease}.error-word:hover{border-color:#dc3545}.error-word.selected{background-color:#dc35451a;border-color:#dc3545;color:#dc3545;font-weight:600}.vocab-word-display{margin-bottom:12px}.vocab-label{color:var(--text-secondary);font-size:.85em;margin-right:8px}.vocab-word{color:var(--text-primary);font-size:1.8em;font-weight:700}.vocab-context{background:#fff;border-left:3px solid var(--primary-color);border-radius:8px;color:var(--text-secondary);font-style:italic;margin-bottom:16px;padding:12px}.reading-layout{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;min-height:500px}.reading-passage-panel{background:#fff;border:1px solid var(--border-color);border-radius:10px;max-height:600px;overflow-y:auto}.passage-header{border-bottom:1px solid var(--border-color);padding:16px}.passage-header h3{margin:0 0 4px}.passage-meta{color:var(--text-secondary);font-size:.8em}.passage-content{color:var(--text-primary);line-height:1.8;padding:16px}.passage-source{color:var(--text-secondary);font-size:.8em;font-style:italic;padding:0 16px 16px}.reading-questions-panel{display:flex;flex-direction:column;gap:16px}.reading-questions-panel h3{margin:0}.reading-sub-question{background:#fff;border:1px solid var(--border-color);border-radius:10px;padding:16px}.sub-q-text{color:var(--text-primary);font-weight:500;margin-bottom:10px}.essay-prompt-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;margin-bottom:16px;padding:20px}.essay-prompt-card h3{color:var(--text-secondary);font-size:1em;margin:0 0 8px}.essay-prompt-text{color:var(--text-primary);font-size:1.1em;line-height:1.6;margin-bottom:8px}.essay-instructions{color:var(--text-secondary);font-size:.9em}.essay-meta-row{color:var(--text-secondary);display:flex;font-size:.8em;gap:20px;margin-top:12px;text-transform:capitalize}.format-guide{margin-bottom:16px}.format-guide summary{color:var(--primary-color);cursor:pointer;font-weight:500;padding:8px 0}.format-guide pre{background:#fff;border-radius:8px;color:var(--text-secondary);font-size:.85em;padding:16px;white-space:pre-wrap}.essay-editor-wrapper{position:relative}.essay-editor-wrapper .ql-container{font-size:1em;min-height:300px}.essay-editor-wrapper .ql-editor{min-height:280px}.word-counter{font-size:.85em;font-weight:500;padding:6px 12px;text-align:right}.word-counter.under{color:#ffc107}.word-counter.over{color:#dc3545}.word-counter.ok{color:#28a745}.audio-player-card{background:#fff;border:1px solid var(--border-color);border-radius:10px;margin-bottom:16px;padding:20px;text-align:center}.audio-player-card audio{max-width:500px;width:100%}.replay-info{color:var(--text-secondary);font-size:.85em;margin-top:8px}.replay-limit{color:#dc3545;font-weight:500}.listen-first-msg{color:var(--text-secondary);font-style:italic;padding:40px;text-align:center}.listening-questions-list{display:flex;flex-direction:column;gap:16px}.listening-sub-question{padding:16px}.listening-sub-question,.speaking-prompt-card{background:#fff;border:1px solid var(--border-color);border-radius:10px}.speaking-prompt-card{margin-bottom:20px;padding:20px}.speaking-type-badge{background:var(--primary-gradient);border-radius:6px;color:#fff;display:inline-block;font-size:.75em;font-weight:600;margin-bottom:10px;padding:4px 10px;text-transform:capitalize}.speaking-prompt{color:var(--text-primary);font-size:1.1em;line-height:1.6}.read-aloud-text{background:var(--bg-primary);border-left:4px solid var(--primary-color);font-size:1.05em;line-height:1.8;padding:16px}.read-aloud-text,.speaking-image{border-radius:8px;margin-top:12px}.speaking-image{max-height:300px;max-width:400px}.recording-controls{text-align:center}.waveform-canvas{background:#fff;border-radius:8px;height:80px;margin-bottom:12px;max-width:500px;width:100%}.speak-timer{color:var(--primary-color);font-family:monospace;font-size:1.2em;font-weight:700;margin-bottom:12px}.recording-buttons{display:flex;gap:12px;justify-content:center;margin-bottom:12px}.record-btn,.stop-btn{background:#dc3545!important}.recording-playback{align-items:center;display:flex;flex-direction:column;gap:10px}.recording-playback audio{max-width:400px;width:100%}.attempts-info{color:var(--text-secondary);font-size:.85em}.speaking-instructions{color:var(--text-secondary);font-size:.9em;font-style:italic;margin:12px 0 4px}.upload-status-row{align-items:center;display:flex;gap:8px;justify-content:center}.upload-status{align-items:center;display:flex;font-size:.85em;font-weight:500;gap:6px}.upload-status.uploading{color:#2196f3}.upload-status.uploading:before{animation:spin .8s linear infinite;border:2px solid #2196f3;border-radius:50%;border-top-color:#0000;content:"";display:inline-block;height:12px;width:12px}.upload-status.uploaded{color:#28a745}.upload-status.uploaded:before{content:"\2713"}.upload-status.failed{color:#dc3545}.upload-status.failed .btn-sm{font-size:.75em;margin-left:4px;padding:2px 8px}@keyframes spin{to{transform:rotate(1turn)}}.audio-disabled-placeholder{background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);font-style:italic;padding:16px}.listening-questions-list h4{color:var(--text-primary);margin:0 0 12px}.question-actions{display:none}.action-right{display:flex;gap:10px}.english-test-taking .btn{border:none;border-radius:6px;cursor:pointer;font-size:.95em;font-weight:500;padding:10px 20px;transition:all .2s ease}.english-test-taking .btn-primary{background:var(--primary-gradient);color:#fff}.english-test-taking .btn-primary:hover:not(:disabled){opacity:.9}.english-test-taking .btn-secondary{background:#fff;border:1px solid var(--border-color);color:var(--text-primary)}.english-test-taking .btn-danger{background:#dc3545;color:#fff}.english-test-taking .btn:disabled{cursor:not-allowed;opacity:.4}.submit-test-btn{background:#28a745!important;font-weight:600}.submit-test-btn:hover:not(:disabled){background:#218838!important}.section-transition{align-items:center;display:flex;justify-content:center;min-height:80vh}.transition-card{background:#fff;border:1px solid var(--border-color);border-radius:16px;max-width:500px;padding:60px;text-align:center}.transition-card h2{color:var(--text-secondary);font-size:1em;margin-bottom:8px}.transition-card h1{margin-bottom:16px}.transition-instructions{color:var(--text-secondary);font-style:italic;margin:16px 0}.review-panel{margin:40px auto;max-width:800px;padding:30px}.review-section{margin-bottom:24px}.review-section h3{margin-bottom:12px}.review-questions{display:flex;flex-wrap:wrap;gap:8px}.review-item{align-items:center;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:.85em;font-weight:600;height:40px;justify-content:center;position:relative;transition:all .2s ease;width:40px}.review-item.answered{background:#28a745;border-color:#28a745;color:#fff}.review-item.flagged{border-color:#ffc107}.review-item.upload-failed{border-color:#dc3545}.review-item .flag-icon{background:#ffc107;color:#000;font-size:.6em;top:-4px}.review-item .flag-icon,.review-item .upload-icon{align-items:center;border-radius:50%;display:flex;height:14px;justify-content:center;position:absolute;right:-4px;width:14px}.review-item .upload-icon{background:#2196f3;bottom:-4px;color:#fff;font-size:.55em}.review-item .upload-icon.done{background:#28a745}.review-item .upload-icon.fail{background:#dc3545}.review-warning{background:#ffc10726;border:1px solid #ffc107;border-radius:8px;color:var(--text-primary);font-size:.9em;margin-top:16px;padding:12px 16px;text-align:center}.review-actions{display:flex;gap:16px;justify-content:center;margin-top:30px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:960px){.test-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.question-sidebar{border-bottom:1px solid var(--border-color);border-right:none;max-height:140px}.question-nav-grid{grid-template-columns:repeat(10,1fr)}.reading-layout{grid-template-columns:1fr}.english-test-footer{min-height:56px;padding:10px 16px}}.practice-mode-badge{background:linear-gradient(135deg,#7c4dff,#536dfe);border-radius:20px;color:#fff;font-size:.85em;font-weight:700;letter-spacing:.5px;padding:6px 16px}.practice-check-btn-wrap{margin-top:16px;text-align:center}.practice-check-btn{border-radius:10px;font-weight:600;padding:8px 28px}.practice-feedback-panel{animation:fadeIn .3s ease;border-radius:12px;margin-top:16px;padding:16px 20px}.practice-feedback-panel.correct{background:#e8f5e9;border:2px solid #4caf50}.practice-feedback-panel.incorrect{background:#ffebee;border:2px solid #f44336}[data-theme=dark] .practice-feedback-panel.correct{background:#4caf501f;border-color:#4caf5066}[data-theme=dark] .practice-feedback-panel.incorrect{background:#f443361f;border-color:#f4433666}.practice-feedback-icon{font-size:1.1em;font-weight:700;margin-bottom:6px}.practice-feedback-panel.correct .practice-feedback-icon{color:#2e7d32}.practice-feedback-panel.incorrect .practice-feedback-icon{color:#c62828}.practice-correct-answer{color:var(--text-primary);font-size:.92em;font-weight:600;margin-bottom:6px}.practice-explanation{border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.88em;line-height:1.6;padding-top:8px}.word-target-indicator{margin-top:12px}.word-target-label{color:var(--text-secondary);font-size:.85em;margin-bottom:6px}.word-target-bar-wrap{background:var(--border-color);border-radius:3px;height:6px;overflow:hidden}.word-target-bar{background:linear-gradient(90deg,#2196f3,#1976d2);border-radius:3px;height:100%;transition:width .4s ease}.question-note-area{background:#fff;border:1px solid var(--border-color);border-radius:10px;margin-top:20px;padding:14px}.question-note-area label{color:var(--text-secondary);display:block;font-size:.85em;font-weight:600;margin-bottom:8px}.question-note-area textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.9em;min-height:60px;padding:10px 12px;resize:vertical;width:100%}[data-theme=dark] .audio-player-card,[data-theme=dark] .blank-sentence,[data-theme=dark] .english-test-taking .english-test-footer,[data-theme=dark] .english-test-taking .question-sidebar,[data-theme=dark] .english-test-taking .test-footer,[data-theme=dark] .english-test-taking .test-header,[data-theme=dark] .essay-prompt-card,[data-theme=dark] .format-guide pre,[data-theme=dark] .listening-sub-question,[data-theme=dark] .reading-sub-question,[data-theme=dark] .speaking-prompt-card,[data-theme=dark] .vocab-context,[data-theme=dark] .waveform-canvas{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .english-test-taking .mcq-option{background:#27272a;border-color:#3f3f46}[data-theme=dark] .english-test-taking .mcq-option.selected{border-color:#e7210b80}[data-theme=dark] .english-test-taking .fill-blank-input{background:#27272a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .english-test-taking .btn-secondary{background:#27272a;border-color:#3f3f46}@media (max-width:600px){.test-header{flex-direction:column;gap:8px;padding:8px 16px}.question-main{padding:16px}.mcq-option{padding:10px 14px}}.etr-page{--etr-surface:var(--card-bg,#fff);--etr-surface-muted:var(--bg-secondary,#f8fafc);--etr-border:var(--border-color);animation:etrFadeIn .5s ease;margin:0 auto;max-width:960px;padding:32px 24px 64px}@keyframes etrFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.etr-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:1rem;gap:16px;justify-content:center;min-height:60vh}.etr-spinner{animation:etrSpin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top:3px solid #6366f1;height:36px;width:36px}@keyframes etrSpin{to{transform:rotate(1turn)}}.etr-fallback{background:var(--etr-surface);border:1px solid var(--etr-border);border-radius:20px;margin-top:40px;padding:60px 32px;text-align:center}.etr-fallback-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;font-size:28px;height:64px;justify-content:center;margin:0 auto 20px;width:64px}.etr-fallback h2{font-size:1.4rem;margin:0 0 8px}.etr-fallback p{color:var(--text-secondary);margin:0 0 24px}.etr-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:32px}.etr-title{color:var(--text-primary);font-size:1.6rem;font-weight:700;margin:0}.etr-subtitle{color:var(--text-secondary);font-size:.85rem;margin:4px 0 0}.etr-btn{border:none;border-radius:10px;cursor:pointer;font-size:.88rem;font-weight:600;padding:10px 22px;transition:all .2s}.etr-btn-primary{background:#6366f1;color:#fff}.etr-btn-primary:hover{background:#4f46e5}.etr-btn-secondary{background:var(--etr-surface);border:1px solid var(--etr-border);color:var(--text-primary)}.etr-btn-secondary:hover{border-color:#6366f1;color:#6366f1}.etr-hero{align-items:center;background:var(--etr-surface);border:1px solid var(--etr-border);border-radius:20px;display:flex;gap:40px;margin-bottom:32px;padding:32px}.etr-hero-score{flex-shrink:0;height:140px;position:relative;width:140px}.etr-ring{height:100%;width:100%}.etr-ring-fill{transition:stroke-dasharray 1s ease}.etr-ring-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.etr-ring-pct{font-size:1.8rem;font-weight:800;line-height:1}.etr-ring-grade{font-size:.9rem;font-weight:700;margin-top:2px}.etr-hero-stats{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.etr-stat{display:flex;flex-direction:column;gap:4px}.etr-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1.2}.etr-stat-value small{font-size:.65em}.etr-stat-label,.etr-stat-value small{color:var(--text-secondary);font-weight:500}.etr-stat-label{font-size:.78rem;letter-spacing:.4px;text-transform:uppercase}.etr-stat-peer .etr-stat-value{color:#6366f1}.etr-answers-block,.etr-sections-block{margin-bottom:36px}.etr-block-title{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1.15rem;font-weight:700;margin:0 0 20px;padding-bottom:12px}.etr-block-title .etr-count{color:var(--text-secondary);font-size:.85em;font-weight:400}.etr-sections-layout{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 1fr}.etr-section-cards{display:flex;flex-direction:column;gap:10px}.etr-sec-card{align-items:center;background:var(--etr-surface);border:1px solid var(--etr-border);border-radius:14px;display:flex;gap:14px;padding:14px 16px;transition:all .2s}.etr-sec-card:hover{border-color:#6366f14d;transform:translateY(-1px)}.etr-sec-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:38px;justify-content:center;width:38px}.etr-sec-info{flex:1 1;min-width:0}.etr-sec-name{color:var(--text-primary);display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}.etr-sec-bar-wrap{background:var(--bg-primary);border-radius:3px;height:6px;overflow:hidden}.etr-sec-bar{border-radius:3px;height:100%;transition:width .8s ease}.etr-sec-right{flex-shrink:0;text-align:right}.etr-sec-pct{display:block;font-size:1.1rem;font-weight:700}.etr-sec-pts{color:var(--text-secondary);font-size:.75rem}.etr-radar-wrap{background:var(--etr-surface);border:1px solid var(--etr-border);border-radius:14px;padding:16px}.etr-answers-list{display:flex;flex-direction:column;gap:8px}.etr-card{background:var(--etr-surface);border-left:1px solid var(--etr-border);border:1px solid var(--etr-border);border-left-width:4px;border-radius:14px;overflow:hidden;transition:all .2s}.etr-card-correct{border-left-color:#10b981}.etr-card-partial{border-left-color:#f59e0b}.etr-card-incorrect{border-left-color:#ef4444}.etr-card-top{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 18px;transition:background .15s;-webkit-user-select:none;user-select:none}.etr-card-top:hover{background:var(--bg-primary)}.etr-card-left{gap:12px}.etr-card-left,.etr-status-dot{align-items:center;display:flex}.etr-status-dot{border-radius:50%;flex-shrink:0;font-size:.8rem;font-weight:700;height:28px;justify-content:center;width:28px}.etr-status-correct{background:#10b9811f;color:#10b981}.etr-status-partial{background:#f59e0b1f;color:#f59e0b}.etr-status-incorrect{background:#ef44441f;color:#ef4444}.etr-card-info{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.etr-card-q{color:var(--text-primary);font-size:.9rem;font-weight:600}.etr-section-tag{border:1px solid;border-radius:6px;font-size:.72rem;font-weight:600;padding:2px 8px}.etr-card-right{align-items:center;display:flex;gap:12px}.etr-card-score{text-align:right}.etr-card-pts{color:var(--text-primary);font-size:1.15rem;font-weight:700}.etr-card-max{color:var(--text-secondary);font-size:.8rem}.etr-expand-icon{color:var(--text-secondary);display:inline-block;font-size:.75rem;transition:transform .25s}.etr-expand-icon.open{transform:rotate(180deg)}.etr-card-body{animation:etrSlideDown .25s ease;padding:0 18px 18px}@keyframes etrSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.etr-q-text{background:var(--bg-primary);border-radius:10px;color:var(--text-primary);font-size:.9rem;line-height:1.55;margin-bottom:10px;padding:12px 14px}.etr-q-text strong{color:var(--text-secondary);font-weight:500}.etr-your-ans{border-left:3px solid #ccc;border-radius:10px;font-size:.88rem;line-height:1.5;margin-bottom:10px;padding:10px 14px}.etr-your-ans.correct{background:#10b9810f;border-left-color:#10b981}.etr-your-ans.partial{background:#f59e0b0f;border-left-color:#f59e0b}.etr-your-ans.wrong{background:#ef44440f;border-left-color:#ef4444}.etr-correct-ans{background:#10b9810f;border-left:3px solid #10b981;border-radius:10px;color:#10b981;font-size:.88rem;margin-bottom:10px;padding:10px 14px}.etr-correct-ans strong{color:#059669}.etr-explanation{background:#6366f10a;border-left:3px solid #6366f1;border-radius:10px;color:var(--text-secondary);font-size:.88rem;line-height:1.55;margin-bottom:10px;padding:10px 14px}.etr-explanation strong{color:#6366f1}.etr-note{background:#0ea5e90f;border-left:3px solid #0ea5e9;color:var(--text-secondary);margin-bottom:10px}.etr-correct-msg,.etr-note{border-radius:10px;font-size:.88rem;padding:10px 14px}.etr-correct-msg{background:#10b9810f;color:#10b981;font-weight:500}.etr-ai-panel{border:1px solid var(--border-color);border-radius:14px;margin-top:12px;overflow:hidden}.etr-ai-panel-header{background:var(--bg-primary);border-bottom:1px solid var(--border-color);padding:10px 16px}.etr-ai-badge{color:#6366f1;font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.etr-ai-writing .etr-ai-badge{color:#10b981}.etr-ai-speaking .etr-ai-badge{color:#f59e0b}.etr-eval-pending{background:var(--bg-primary);border-radius:10px;color:var(--text-secondary);font-size:.88rem;font-style:italic;margin-top:8px;padding:16px}.etr-score-bars-grid{grid-gap:10px 24px;display:grid;gap:10px 24px;grid-template-columns:1fr 1fr;padding:16px}.etr-score-bar{display:flex;flex-direction:column;gap:4px}.etr-score-bar-head{align-items:center;display:flex;justify-content:space-between}.etr-score-bar-label{color:var(--text-secondary);font-size:.78rem;font-weight:500}.etr-score-bar-val{font-size:.82rem;font-weight:700}.etr-score-bar-track{background:var(--bg-primary);border-radius:3px;height:6px;overflow:hidden}.etr-score-bar-fill{border-radius:3px;height:100%;transition:width .8s ease}.etr-metrics-row{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 16px}.etr-metric-chip{align-items:center;background:var(--bg-primary);border-radius:10px;display:flex;flex-direction:column;min-width:80px;padding:10px 16px}.etr-metric-val{color:var(--text-primary);font-size:1.05rem;font-weight:700}.etr-metric-val small{color:var(--text-secondary);font-size:.7em;font-weight:500}.etr-metric-label{color:var(--text-secondary);font-size:.7rem;margin-top:2px}.etr-audio-player{padding:12px 16px 0}.etr-audio-player audio{border-radius:8px;max-width:100%;width:100%}.etr-transcription{background:var(--bg-primary);border-left:3px solid #f59e0b;border-radius:10px;margin:12px 16px 0;padding:12px 14px}.etr-transcription h5{color:#f59e0b;font-size:.82rem;font-weight:600;margin:0 0 6px}.etr-transcription p{color:var(--text-primary);font-size:.88rem;line-height:1.6;margin:0}.etr-feedback-block{border-top:1px solid var(--border-color);padding:14px 16px}.etr-feedback-block h5{color:var(--text-primary);font-size:.88rem;font-weight:600;margin:0 0 8px}.etr-feedback-block p{color:var(--text-secondary);font-size:.88rem;line-height:1.65;margin:0}.etr-suggestions-block{border-top:1px solid var(--border-color);padding:14px 16px}.etr-suggestions-block h5{color:var(--text-primary);font-size:.88rem;font-weight:600;margin:0 0 8px}.etr-suggestions-block ul{margin:0;padding-left:18px}.etr-suggestions-block li{color:var(--text-secondary);font-size:.85rem;line-height:1.6;margin-bottom:4px;position:relative}.etr-ai-text{color:var(--text-secondary);font-size:.88rem;line-height:1.65;margin:0;padding:14px 16px}.etr-plag-block{border-radius:10px;font-size:.85rem;margin:0 16px 16px;padding:12px 14px}.etr-plag-low,.etr-plag-none{background:#10b9810f;border:1px solid #10b98126}.etr-plag-medium{background:#f59e0b0f;border:1px solid #f59e0b26}.etr-plag-high{background:#ef44440f;border:1px solid #ef444426}.etr-plag-header{display:flex;font-weight:600;justify-content:space-between;margin-bottom:4px}.etr-plag-score{color:#10b981}.etr-plag-high .etr-plag-score{color:#ef4444}.etr-plag-medium .etr-plag-score{color:#f59e0b}.etr-plag-block p{color:var(--text-secondary);line-height:1.5;margin:0}.etr-sub-answers{border:1px solid var(--border-color);border-radius:12px;margin-top:10px;overflow:hidden}.etr-sub-answers h5{background:var(--bg-primary);color:var(--text-primary);font-size:.82rem;font-weight:600;margin:0}.etr-sub-answers h5,.etr-sub-item{border-bottom:1px solid var(--border-color);padding:10px 14px}.etr-sub-item:last-child{border-bottom:none}.etr-sub-item.correct{background:#10b98108}.etr-sub-item.wrong{background:#ef444408}.etr-sub-top{gap:8px}.etr-sub-icon,.etr-sub-top{align-items:center;display:flex}.etr-sub-icon{border-radius:50%;flex-shrink:0;font-size:.7rem;font-weight:700;height:22px;justify-content:center;width:22px}.etr-sub-icon.correct{background:#10b9811f;color:#10b981}.etr-sub-icon.wrong{background:#ef44441f;color:#ef4444}.etr-sub-label{color:var(--text-primary);flex:1 1;font-size:.85rem}.etr-sub-score{color:var(--text-secondary);font-size:.8rem;font-weight:600}.etr-sub-ref{background:#10b9810f;color:#10b981}.etr-sub-feedback,.etr-sub-ref{border-radius:6px;font-size:.8rem;margin-top:6px;padding:6px 10px}.etr-sub-feedback{background:var(--bg-primary);border-left:2px solid #6366f1;color:var(--text-secondary)}.etr-empty{color:var(--text-secondary);padding:24px;text-align:center}[data-theme=dark] .etr-page{--etr-surface:#1a1a1a;--etr-surface-muted:#222;--etr-border:#3f3f46}[data-theme=dark] .etr-card,[data-theme=dark] .etr-fallback,[data-theme=dark] .etr-hero,[data-theme=dark] .etr-radar-wrap,[data-theme=dark] .etr-sec-card{box-shadow:0 2px 10px #00000040}[data-theme=dark] .etr-btn-secondary{background:#27272a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .etr-btn-secondary:hover{border-color:#818cf8;color:#a5b4fc}[data-theme=dark] .etr-block-title{border-bottom-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .etr-sec-bar-wrap{background:#18181b}[data-theme=dark] .etr-card-top:hover{background:#ffffff08}[data-theme=dark] .etr-ai-panel-header,[data-theme=dark] .etr-eval-pending,[data-theme=dark] .etr-metric-chip,[data-theme=dark] .etr-q-text,[data-theme=dark] .etr-sub-answers h5,[data-theme=dark] .etr-transcription{background:#27272a;border-color:#3f3f46}[data-theme=dark] .etr-ai-panel{background:#1a1a1a;border-color:#3f3f46}[data-theme=dark] .etr-ai-panel-header{border-bottom-color:#3f3f46}[data-theme=dark] .etr-feedback-block,[data-theme=dark] .etr-suggestions-block{border-top-color:#3f3f46}[data-theme=dark] .etr-correct-ans,[data-theme=dark] .etr-correct-msg,[data-theme=dark] .etr-sub-ref,[data-theme=dark] .etr-your-ans.correct{background:#22c55e1a}[data-theme=dark] .etr-your-ans.partial{background:#f59e0b1a}[data-theme=dark] .etr-sub-item.wrong,[data-theme=dark] .etr-your-ans.wrong{background:#ef444414}[data-theme=dark] .etr-explanation{background:#6366f11f;border-left-color:#6366f1}[data-theme=dark] .etr-note{background:#0ea5e91f;border-left-color:#0ea5e9}[data-theme=dark] .etr-sub-answers{border-color:#3f3f46}[data-theme=dark] .etr-sub-item{border-bottom-color:#3f3f46}[data-theme=dark] .etr-sub-feedback{background:#27272a}[data-theme=dark] .etr-score-bar-track{background:#18181b}@media (max-width:768px){.etr-page{padding:20px 16px 48px}.etr-hero{flex-direction:column;gap:24px;padding:24px 20px}.etr-hero-stats{gap:16px;grid-template-columns:1fr 1fr}.etr-score-bars-grid,.etr-sections-layout{grid-template-columns:1fr}.etr-header{flex-direction:column}.etr-title{font-size:1.3rem}}@media (max-width:480px){.etr-hero-stats{grid-template-columns:1fr 1fr}.etr-card-top{padding:12px 14px}.etr-card-body{padding:0 14px 14px}.etr-metrics-row{gap:8px}.etr-metric-chip{min-width:60px;padding:8px 12px}}.san-page{--san-accent:var(--student-accent,#e7210b);--san-surface:#fff;--san-muted:#f8fafc;--san-border:var(--border-color,#e5e7eb);--san-shadow:0 1px 3px #0f172a0f;--san-shadow-hover:0 6px 20px #0f172a14;margin:0 auto;max-width:960px;padding:8px 8px 48px}.san-hero{grid-gap:24px;align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:20px;border-radius:var(--student-radius-lg,20px);box-shadow:var(--san-shadow);display:grid;gap:24px;grid-template-columns:1fr auto;margin-bottom:24px;padding:28px 32px}.san-hero-kicker{align-items:center;background:var(--san-muted);border:1px solid var(--san-border);border-radius:999px;color:var(--text-secondary);display:inline-flex;font-size:.72rem;font-weight:700;gap:6px;letter-spacing:.05em;margin-bottom:12px;padding:6px 12px;text-transform:uppercase}.san-hero-kicker svg{color:var(--text-primary);opacity:.7}.san-hero-content h1{color:var(--text-primary);font-size:clamp(1.5rem,4vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1.2;margin:0 0 10px}.san-hero-content>p{color:var(--text-secondary);font-size:.94rem;line-height:1.55;margin:0 0 22px;max-width:440px}.san-hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}.san-stat-card{align-items:center;background:var(--san-muted);border:1px solid var(--san-border);border-radius:14px;display:flex;gap:12px;min-width:108px;padding:12px 16px}.san-stat-icon-wrap{align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:12px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:1.15rem;height:40px;justify-content:center;width:40px}.san-stat-icon-wrap--highlight{border-color:#cbd5e1;color:var(--text-primary)}.san-stat-icon-wrap--warn{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.san-stat-card strong{color:var(--text-primary);display:block;font-size:1.2rem;font-weight:800;line-height:1.1}.san-stat-card span{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.san-mark-all-btn{align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:12px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;padding:10px 18px;transition:background .15s,border-color .15s}.san-mark-all-btn:hover{background:var(--san-muted);border-color:#cbd5e1}.san-hero-art{flex-shrink:0;width:168px}.san-hero-art svg,.san-hero-svg{display:block;height:auto;width:100%}.san-illus-panel{fill:var(--san-muted);stroke:var(--san-border)}.san-illus-line{stroke:#94a3b8;fill:none}.san-illus-badge{fill:var(--san-surface);stroke:var(--san-border)}.san-illus-check{stroke:var(--text-primary);fill:none}.san-illus-stand{stroke:var(--san-border);fill:var(--san-muted)}.san-illus-bar{fill:#e2e8f0}.san-illus-shadow{fill:var(--text-primary);opacity:.06}.san-toolbar{margin-bottom:18px}.san-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.san-filter-icon{color:var(--text-secondary);font-size:1rem}.san-filter-chip{align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:999px;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:8px 16px;transition:all .15s}.san-filter-chip.active,.san-filter-chip:hover{background:var(--san-muted)}.san-filter-chip.active{border-color:#94a3b8;color:var(--text-primary)}.san-filter-count{background:var(--san-surface);border:1px solid var(--san-border);border-radius:999px;color:var(--text-secondary);font-size:.75rem;padding:2px 8px}.san-filter-chip.active .san-filter-count{background:var(--san-surface);color:var(--text-primary)}.san-card-grid{display:flex;flex-direction:column;gap:12px}.san-card{grid-gap:18px;align-items:flex-start;background:var(--san-surface);border:1px solid var(--san-border);border-radius:16px;box-shadow:var(--san-shadow);cursor:pointer;display:grid;gap:18px;grid-template-columns:auto 1fr auto;padding:18px 20px;text-align:left;transition:box-shadow .2s,border-color .2s;width:100%}.san-card:hover{border-color:#cbd5e1;box-shadow:var(--san-shadow-hover)}.san-card.unread{border-left:3px solid var(--san-accent)}.san-card.important.unread{border-left-color:#ea580c}.san-card-icon-wrap{align-items:center;background:var(--san-muted);border:1px solid var(--san-border);border-radius:14px;color:var(--text-secondary);display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.san-card-icon-wrap.warn{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.san-card-body{min-width:0}.san-card-top{align-items:flex-start;display:flex;gap:10px;margin-bottom:6px}.san-card-top h3{color:var(--text-primary);flex:1 1;font-size:1.02rem;font-weight:700;line-height:1.35;margin:0}.san-card.read .san-card-top h3{color:var(--text-secondary);font-weight:600}.san-card-new{background:var(--text-primary);border-radius:999px;color:var(--san-surface);flex-shrink:0;font-size:.65rem;font-weight:700;padding:3px 10px}.san-card-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.87rem;line-height:1.5;margin:0 0 10px;overflow:hidden}.san-card-footer{align-items:center;color:var(--text-secondary);display:flex;font-size:.78rem;gap:14px}.san-card-meta{align-items:center;display:inline-flex;gap:5px}.san-card-time{margin-left:auto}.san-card-arrow{font-size:1.05rem;opacity:.45}.san-card-read{align-items:center;background:var(--san-muted);border:1px solid var(--san-border);border-radius:50%;color:#059669;display:flex;font-size:1rem;height:32px;justify-content:center;width:32px}.san-skeleton-grid{display:flex;flex-direction:column;gap:12px}.san-skeleton-card{animation:sanShimmer 1.2s ease infinite;background:linear-gradient(90deg,var(--san-muted) 25%,var(--san-border) 50%,var(--san-muted) 75%);background-size:200% 100%;border:1px solid var(--san-border);border-radius:16px;height:110px}@keyframes sanShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.san-empty-modern{background:var(--san-muted);border:1px dashed var(--san-border);border-radius:20px;border-radius:var(--student-radius-lg,20px);padding:48px 24px;text-align:center}.san-empty-visual{align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:20px;color:var(--text-secondary);display:flex;font-size:2rem;height:80px;justify-content:center;margin:0 auto 18px;width:80px}.san-empty-modern h2{color:var(--text-primary);font-size:1.2rem;margin:0 0 8px}.san-empty-modern p{color:var(--text-secondary);font-size:.92rem;line-height:1.5;margin:0 auto 20px;max-width:360px}.san-empty-reset{background:var(--san-surface);border:1px solid var(--san-border);border-radius:10px;cursor:pointer;margin-right:12px;padding:10px 18px}.san-dash-link,.san-empty-reset{color:var(--text-primary);font-weight:600}.san-dash-link{align-items:center;display:inline-flex;gap:4px;text-decoration:underline;text-underline-offset:3px}.san-page--detail{max-width:800px}.san-back-btn{align-items:center;background:var(--san-surface);border:1px solid var(--san-border);border-radius:10px;box-shadow:var(--san-shadow);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:20px;padding:8px 14px;transition:border-color .15s,color .15s}.san-back-btn:hover{border-color:#94a3b8;color:var(--text-primary)}.san-detail-hero{grid-gap:16px;background:var(--san-surface);border:1px solid var(--san-border);border-radius:20px;border-radius:var(--student-radius-lg,20px);box-shadow:var(--san-shadow);display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:18px;padding:26px 28px}.san-detail-hero--important{border-left:4px solid #ea580c}.san-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.san-pill{align-items:center;border:1px solid var(--san-border);border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;gap:5px;padding:5px 12px}.san-pill--warn{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.san-pill--new{background:var(--san-muted);color:var(--text-primary)}.san-detail-hero h1{color:var(--text-primary);font-size:clamp(1.3rem,3vw,1.65rem);font-weight:800;line-height:1.25;margin:0 0 14px}.san-detail-meta-row{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.82rem;gap:12px 20px}.san-detail-meta-row span{align-items:center;display:inline-flex;gap:6px}.san-detail-hero .san-hero-art{width:130px}.san-detail-card{background:var(--san-surface);border:1px solid var(--san-border);border-radius:16px;box-shadow:var(--san-shadow);padding:26px 28px}.san-detail-body{font-size:.96rem;line-height:1.7}[data-theme=dark] .san-page{--san-surface:var(--bg-primary,#1a1a1a);--san-muted:#222;--san-elevated:#1f1f1f;--san-border:var(--border-color,#333);--san-shadow:0 2px 8px #00000059;--san-shadow-hover:0 8px 24px #0006;--san-label:#a1a1aa;--san-accent-text:#f87171;--san-accent-soft:#e7210b24;--san-warn-text:#fb923c;--san-warn-soft:#fb923c1f;--san-success:#4ade80}[data-theme=dark] .san-hero{background:var(--san-surface);border-color:var(--san-border);box-shadow:none;overflow:hidden;position:relative}[data-theme=dark] .san-hero:before{background:radial-gradient(circle,#e7210b1a 0,#0000 70%);content:"";height:280px;pointer-events:none;position:absolute;right:0;top:-40%;width:280px}[data-theme=dark] .san-hero:after{display:none}[data-theme=dark] .san-hero-art,[data-theme=dark] .san-hero-content{position:relative;z-index:1}[data-theme=dark] .san-hero-kicker{background:var(--san-accent-soft);border-color:#e7210b4d;color:var(--san-accent-text)}[data-theme=dark] .san-hero-kicker svg{color:var(--san-accent-text);opacity:1}[data-theme=dark] .san-stat-card{background:var(--san-muted);border-color:var(--san-border)}[data-theme=dark] .san-stat-icon-wrap{background:var(--san-elevated);border-color:var(--san-border);color:var(--san-label)}[data-theme=dark] .san-stat-icon-wrap--highlight{background:var(--san-accent-soft);border-color:#e7210b59;color:var(--san-accent-text)}[data-theme=dark] .san-stat-card:has(.san-stat-icon-wrap--highlight) strong{color:var(--san-accent-text)}[data-theme=dark] .san-stat-icon-wrap--warn{background:var(--san-warn-soft);border-color:#fb923c59;color:var(--san-warn-text)}[data-theme=dark] .san-stat-card:has(.san-stat-icon-wrap--warn) strong{color:var(--san-warn-text)}[data-theme=dark] .san-mark-all-btn{background:var(--san-elevated);border-color:var(--san-border);color:var(--text-primary)}[data-theme=dark] .san-mark-all-btn:hover{background:var(--san-accent-soft);border-color:#e7210b66;color:var(--san-accent-text)}[data-theme=dark] .san-filter-chip{background:var(--san-muted);border-color:var(--san-border);color:var(--san-label)}[data-theme=dark] .san-filter-chip:hover{background:var(--san-elevated);border-color:#444;color:var(--text-primary)}[data-theme=dark] .san-filter-chip.active{background:var(--san-accent-soft);border-color:#e7210b73;box-shadow:none;color:var(--san-accent-text)}[data-theme=dark] .san-filter-count{background:var(--san-elevated);border-color:var(--san-border);color:var(--san-label)}[data-theme=dark] .san-filter-chip.active .san-filter-count{background:#e7210b33;border-color:#0000;color:#fecaca}[data-theme=dark] .san-card{background:var(--san-surface);border-color:var(--san-border);box-shadow:none}[data-theme=dark] .san-card:hover{background:#1f1f1f;border-color:#444;box-shadow:0 8px 24px #00000059}[data-theme=dark] .san-card.unread{background:var(--san-surface);border-color:var(--san-border);border-left-color:#e7210b;border-left-color:var(--san-accent,#e7210b)}[data-theme=dark] .san-card.important.unread{border-left-color:var(--san-warn-text)}[data-theme=dark] .san-card-icon-wrap{background:var(--san-muted);border-color:var(--san-border);color:var(--san-label)}[data-theme=dark] .san-card-icon-wrap.warn{background:var(--san-warn-soft);border-color:#fb923c59;color:var(--san-warn-text)}[data-theme=dark] .san-card-new{background:#e7210b;background:var(--student-accent,#e7210b);box-shadow:none;color:#fff}[data-theme=dark] .san-card-read{background:#4ade801a;border-color:#4ade804d;color:var(--san-success)}[data-theme=dark] .san-card-arrow{color:var(--san-label);opacity:.7}[data-theme=dark] .san-skeleton-card{background:linear-gradient(90deg,#222,#333 50%,#222);background-size:200% 100%;border-color:var(--san-border)}[data-theme=dark] .san-empty-modern{background:var(--san-muted);border-color:var(--san-border)}[data-theme=dark] .san-empty-visual{background:var(--san-elevated);border-color:var(--san-border);color:var(--san-label)}[data-theme=dark] .san-empty-reset{background:var(--san-surface);color:var(--text-primary)}[data-theme=dark] .san-dash-link{color:var(--san-accent-text)}[data-theme=dark] .san-back-btn{background:var(--san-muted);color:var(--text-secondary)}[data-theme=dark] .san-back-btn:hover{background:var(--san-accent-soft);border-color:#e7210b66;color:var(--san-accent-text)}[data-theme=dark] .san-detail-hero{background:var(--san-surface);border-color:var(--san-border);box-shadow:none}[data-theme=dark] .san-detail-hero--important{background:var(--san-surface);border-left-color:var(--san-warn-text)}[data-theme=dark] .san-pill--warn{background:var(--san-warn-soft);border-color:#fb923c59;color:var(--san-warn-text)}[data-theme=dark] .san-pill--new{background:var(--san-accent-soft);border-color:#e7210b59;color:var(--san-accent-text)}[data-theme=dark] .san-detail-card{background:var(--san-surface);border-color:var(--san-border);box-shadow:none}[data-theme=dark] .san-illus-panel{fill:#222;stroke:#444}[data-theme=dark] .san-illus-line{stroke:#71717a}[data-theme=dark] .san-illus-badge{fill:#1f1f1f;stroke:#555}[data-theme=dark] .san-illus-check{stroke:#d4d4d8}[data-theme=dark] .san-illus-stand{stroke:#444;fill:#222}[data-theme=dark] .san-illus-bar{fill:#555;opacity:.8}[data-theme=dark] .san-illus-shadow{fill:#fff;opacity:.05}@media (max-width:720px){.san-detail-hero,.san-hero{grid-template-columns:1fr}.san-hero-art{margin:0 auto;width:130px}.san-card{grid-template-columns:auto 1fr}.san-card-read{display:none}}.App{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;position:relative}.App:has(>.navbar){padding-top:72px;padding-top:var(--navbar-height,72px)}[data-theme=dark] .App:before{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#ffffff05 0,#0000 70%);content:"";height:200%;pointer-events:none;position:fixed;right:-50%;top:-50%;width:200%;z-index:0}.container{margin:0 auto;max-width:1200px;padding:20px}.btn{border:none;border-radius:5px;cursor:pointer;display:inline-block;font-size:16px;font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease}.btn-primary{background:var(--primary-gradient);color:#fff}.btn-primary:hover{box-shadow:0 6px 12px #00000026;opacity:.95;transform:translateY(-3px) scale(1.02)}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-secondary{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color);box-shadow:0 4px 8px var(--shadow);transform:translateY(-2px)}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background:linear-gradient(135deg,#c82333,#a71e2a);box-shadow:0 6px 12px #dc35454d;transform:translateY(-3px)}.card{animation:fadeInUp .5s ease;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow);margin-bottom:24px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.card:hover{box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.form-group{margin-bottom:20px}.form-group label{color:var(--text-primary);display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);font-size:16px;padding:10px;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--border-color);box-shadow:0 0 0 3px #0000000d;outline:none;transform:translateY(-1px)}.form-group textarea{min-height:100px;resize:vertical}.table{border-collapse:collapse;margin-top:20px;width:100%}.table td,.table th{border-bottom:1px solid var(--border-color);padding:12px;text-align:left}.table th{background-color:var(--bg-secondary);color:var(--text-primary);font-size:.85em;font-weight:600;letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background-color:var(--bg-secondary);box-shadow:0 2px 4px #0000001a;transform:scale(1.01)}.loading{animation:fadeIn .5s ease;color:var(--text-secondary);padding:40px;text-align:center}.loading:after{animation:pulse 1.5s infinite;content:"..."}.error{background:linear-gradient(135deg,#fee,#fdd);border:2px solid #fcc;border-radius:10px;box-shadow:0 4px 8px #dc35451a;color:#c33}.error,.success{align-items:center;animation:fadeInDown .5s ease;display:flex;gap:10px;margin-bottom:20px;padding:16px 20px}.success{background:linear-gradient(135deg,#efe,#dfd);border:2px solid #cfc;border-radius:10px;box-shadow:0 4px 8px #28a7451a;color:#3c3}.gradient-text{-webkit-text-fill-color:#0000;background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}[data-theme=dark]{--student-dark-surface:#1a1a1a;--student-dark-surface-2:#222;--student-dark-surface-3:#27272a;--student-dark-border:#3f3f46;--student-dark-muted:#a1a1aa}[data-theme=dark] .student-nav-item.active .student-nav-icon{background:#1f1f1f;border-color:var(--student-dark-border)}[data-theme=dark] .student-nav-item--announcement.active .student-nav-badge--alert{background:#e7210b24;color:#f87171}[data-theme=dark] .student-stat-icon{background:color-mix(in srgb,var(--stat-color) 18%,#1f1f1f)}[data-theme=dark] .student-category-icon,[data-theme=dark] .student-continue-icon,[data-theme=dark] .tests-by-type-icon-wrap{background:color-mix(in srgb,var(--card-accent) 18%,#1f1f1f);background:color-mix(in srgb,var(--section-accent,var(--card-accent)) 18%,#1f1f1f)}[data-theme=dark] .student-recent-block,[data-theme=dark] .student-section-head{border-color:var(--student-dark-border)}[data-theme=dark] .student-empty-illustration{background:#27272a;border-color:var(--student-dark-border)}[data-theme=dark] .section-top-icon{background:color-mix(in srgb,var(--section-accent) 18%,#1f1f1f);border-color:color-mix(in srgb,var(--section-accent) 28%,var(--student-dark-border))}[data-theme=dark] .section-stat-card{background:var(--student-dark-surface);border:1px solid var(--student-dark-border);border-radius:12px;padding:14px 16px}[data-theme=dark] .section-pill{background:var(--student-dark-surface-2);border-color:var(--student-dark-border)}[data-theme=dark] .section-pill--accent{background:color-mix(in srgb,var(--section-accent) 14%,#1f1f1f)}[data-theme=dark] .section-tab{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:#f4f4f5}[data-theme=dark] .section-tab.active{background:color-mix(in srgb,var(--section-accent) 14%,#1f1f1f)}[data-theme=dark] .section-tab em{background:#18181b;color:var(--student-dark-muted)}[data-theme=dark] .section-tab.active em{background:var(--section-accent);color:#fff}[data-theme=dark] .section-filter-tabs{border-bottom-color:var(--student-dark-border)}[data-theme=dark] .assessment-card:before{opacity:.85}[data-theme=dark] .assessment-action-btn--primary{box-shadow:none}[data-theme=dark] .filter-tabs button{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:var(--student-dark-muted)}[data-theme=dark] .assignment-card,[data-theme=dark] .assignment-card-header,[data-theme=dark] .assignment-details-card{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .assignment-card:hover{box-shadow:0 8px 24px #00000059}[data-theme=dark] .submission-policy-card,[data-theme=dark] .submit-assignment-container .back-button,[data-theme=dark] .update-repo-form{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .back-button:hover{background:var(--student-dark-surface-2)}[data-theme=dark] .per-commit-ex,[data-theme=dark] .per-feature-head,[data-theme=dark] .per-filter-tab,[data-theme=dark] .per-pill-muted{background:var(--student-dark-surface-2);border-color:var(--student-dark-border)}[data-theme=dark] .per-pill{background:color-mix(in srgb,var(--per-accent) 14%,#1f1f1f)}[data-theme=dark] .per-filter-tab.active{background:color-mix(in srgb,var(--per-accent) 18%,#1f1f1f);color:#a5b4fc}[data-theme=dark] .sdr-back-btn,[data-theme=dark] .sdr-chart-card,[data-theme=dark] .sdr-followup-card,[data-theme=dark] .sdr-score-header,[data-theme=dark] .sdr-section-card{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .sdr-compare-col,[data-theme=dark] .sdr-followup-a,[data-theme=dark] .sdr-section-header:hover{background:var(--student-dark-surface-2);border-color:var(--student-dark-border)}[data-theme=dark] .sdr-section-score-bar{background:#18181b}[data-theme=dark] .sdr-rich-content code,[data-theme=dark] .sdr-rich-content pre{background:#18181b;color:#e4e4e7}[data-theme=dark] .sds-card:hover{box-shadow:0 8px 24px #00000059}[data-theme=dark] .sd-submissions-table th{background:var(--student-dark-surface-2);border-bottom-color:var(--student-dark-border)}[data-theme=dark] .sd-submissions-table tr:hover{background:var(--student-dark-surface-2)}[data-theme=dark] .audio-player-card,[data-theme=dark] .blank-sentence,[data-theme=dark] .english-test-taking .english-test-footer,[data-theme=dark] .english-test-taking .notes-area,[data-theme=dark] .english-test-taking .question-sidebar,[data-theme=dark] .english-test-taking .review-screen,[data-theme=dark] .english-test-taking .section-transition-overlay,[data-theme=dark] .english-test-taking .test-footer,[data-theme=dark] .english-test-taking .test-header,[data-theme=dark] .essay-prompt-card,[data-theme=dark] .format-guide pre,[data-theme=dark] .listening-sub-question,[data-theme=dark] .reading-sub-question,[data-theme=dark] .speaking-prompt-card,[data-theme=dark] .vocab-context,[data-theme=dark] .waveform-canvas{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .english-test-taking .mcq-option{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:#e4e4e7}[data-theme=dark] .english-test-taking .mcq-option:hover{background:#2a2a2a;border-color:#e7210b80}[data-theme=dark] .english-test-taking .mcq-option.selected{background:#e7210b1f;border-color:#e7210b8c}[data-theme=dark] .english-test-taking .btn-secondary,[data-theme=dark] .english-test-taking .essay-editor .ql-container,[data-theme=dark] .english-test-taking .fill-blank-input{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:#f4f4f5}[data-theme=dark] .english-test-taking .progress-section.upcoming{background:var(--student-dark-surface-2);color:var(--student-dark-muted)}[data-theme=dark] .answer-area,[data-theme=dark] .feedback-answers,[data-theme=dark] .feedback-header,[data-theme=dark] .feedback-panel,[data-theme=dark] .feedback-skill-radar,[data-theme=dark] .interview-room-header,[data-theme=dark] .interviewer-section,[data-theme=dark] .question-card,[data-theme=dark] .summary-card{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .skill-radar-bar-wrap{background:#18181b}[data-theme=dark] .arch-palette{background:#18181b;border-right-color:var(--student-dark-border)}[data-theme=dark] .arch-palette-item{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:#e4e4e7}[data-theme=dark] .arch-custom-node{background:var(--student-dark-surface);color:#e4e4e7}[data-theme=dark] .arch-warning{background:#f59e0b1f;border-color:#f59e0b;color:#fcd34d}[data-theme=dark] .arch-text-section textarea{background:var(--student-dark-surface-2);border-color:var(--student-dark-border);color:#f4f4f5}[data-theme=dark] .qpp-panel{background:#1a1a1a;border-color:var(--student-dark-border);box-shadow:0 24px 48px #00000080}[data-theme=dark] .qpp-header{background:#222;border-bottom-color:var(--student-dark-border)}[data-theme=dark] .qpp-close:hover{background:#ef444426;color:#fca5a5}[data-theme=dark] .qpp-editor-wrap,[data-theme=dark] .toast{border-color:var(--student-dark-border)}[data-theme=dark] .toast{background:#27272a;box-shadow:0 8px 24px #0006;color:#f4f4f5}[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-panel,[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-toolbar,[data-theme=dark] .test-taking-container.test-taking--coding .question-sidebar{background:#18181b;border-color:var(--student-dark-border)}[data-theme=dark] .test-taking-container.test-taking--coding .coding-editor-toolbar .language-select{background:#27272a;border-color:var(--student-dark-border);color:#f4f4f5}[data-theme=dark] .test-taking-container.test-taking--coding .question-nav-btn{background:#27272a;border-color:var(--student-dark-border);color:#e4e4e7}[data-theme=dark] .test-taking-container.test-taking--coding .question-nav-btn:hover{background:#3f3f46}[data-theme=dark] .test-taking-container.test-taking--coding .editor-toolbar-title{color:var(--student-dark-muted)}[data-theme=dark] .join-attempt-card{background:var(--student-dark-surface);border-color:var(--student-dark-border)}[data-theme=dark] .vendor-panel{background:#121212}[data-theme=dark] .vendor-nav-item.active .vendor-nav-icon{background:#1f1f1f;border-color:var(--student-dark-border)}.va-page{--va-accent:#e7210b;--va-radius:14px;--va-radius-lg:18px;--va-surface:#fff;--va-surface-2:#f8fafc;--va-border:#e5e7eb;--va-text:var(--text-primary,#0f172a);--va-muted:var(--text-secondary,#64748b);--va-shadow:0 1px 2px #0f172a0a;--va-shadow-hover:0 8px 24px #0f172a14;animation:vaFadeIn .35s ease;margin:0 auto;max-width:1180px}@keyframes vaFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.va-loading{align-items:center;color:var(--va-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:320px}.va-spinner{animation:vaSpin .75s linear infinite;border:3px solid var(--va-border);border-radius:50%;border-top-color:var(--va-accent);height:40px;width:40px}@keyframes vaSpin{to{transform:rotate(1turn)}}.va-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.va-back{align-items:center;background:var(--va-surface);border:1px solid var(--va-border);border-radius:8px;color:var(--va-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;margin-bottom:12px;padding:8px 12px;text-decoration:none;transition:all .15s ease}.va-back:hover{border-color:#cbd5e1;color:var(--va-text);text-decoration:none}.va-eyebrow{color:var(--va-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}.va-title{color:var(--va-text);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.va-subtitle{color:var(--va-muted);font-size:.92rem;line-height:1.5;margin:0}.va-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.va-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:all .15s ease;white-space:nowrap}.va-btn--primary{background:var(--va-accent);box-shadow:0 4px 12px #e7210b33;color:#fff}.va-btn--primary:hover:not(:disabled){box-shadow:0 6px 16px #e7210b47;color:#fff;transform:translateY(-1px)}.va-btn--secondary{background:var(--va-surface);border-color:var(--va-border);color:var(--va-text)}.va-btn--secondary:hover:not(:disabled){background:var(--va-surface-2);color:var(--va-text);text-decoration:none}.va-btn--ghost{background:color-mix(in srgb,var(--va-accent) 10%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 10%,var(--va-surface));border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 30%,#0000)}.va-btn--ghost,.va-btn--ghost:hover:not(:disabled){color:var(--va-accent);color:var(--card-accent,var(--va-accent))}.va-btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--va-accent) 16%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 16%,var(--va-surface));text-decoration:none}.va-btn--danger{background:#fff;border-color:#fecaca;color:#dc2626}.va-btn--danger:hover:not(:disabled){background:#fef2f2}.va-btn--sm{font-size:.8rem;padding:7px 12px}.va-btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.va-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.va-stat{background:var(--va-surface);border:1px solid var(--va-border);border-radius:var(--va-radius);padding:16px 18px}.va-stat-label{color:var(--va-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.va-stat-value{font-feature-settings:"tnum";color:var(--va-text);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:800}.va-stat--accent .va-stat-value{color:var(--va-accent);color:var(--card-accent,var(--va-accent))}.va-panel{background:var(--va-surface);border:1px solid var(--va-border);border-radius:var(--va-radius-lg);box-shadow:var(--va-shadow);margin-bottom:20px;overflow:hidden}.va-panel-header{background:var(--va-surface-2);border-bottom:1px solid var(--va-border);gap:12px;justify-content:space-between;padding:16px 20px}.va-panel-header,.va-panel-header-actions{align-items:center;display:flex;flex-wrap:wrap}.va-panel-header-actions{gap:10px}.va-panel-header h2{color:var(--va-text);font-size:1rem;font-weight:700;margin:0}.va-panel-body{padding:20px}.va-panel>.va-panel-title,.va-panel>h2.va-panel-title{background:var(--va-surface-2);border-bottom:1px solid var(--va-border);color:var(--va-text);font-size:1rem;font-weight:700;margin:0;padding:16px 20px}.va-panel>.va-panel-title~:not(.va-panel-header):not(.va-panel-body){padding:16px 20px 20px}.va-panel>.va-panel-title~.ird-answers,.va-panel>.va-panel-title~.ird-list,.va-panel>.va-panel-title~.ird-skill-grid,.va-panel>.va-panel-title~p,.va-panel>.va-panel-title~ul{margin-top:0}.va-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px}.va-search,.va-toolbar{align-items:center;display:flex}.va-search{background:var(--va-surface);border:1px solid var(--va-border);border-radius:10px;color:var(--va-muted);flex:1 1;gap:10px;height:42px;min-width:200px;padding:0 14px}.va-search input{background:#0000;border:none;color:var(--va-text);flex:1 1;font-size:.9rem;outline:none}.va-select{background:var(--va-surface);border:1px solid var(--va-border);border-radius:10px;color:var(--va-text);font-size:.88rem;min-width:200px;padding:10px 14px}.va-selection-banner{align-items:center;background:color-mix(in srgb,#2563eb 10%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,#2563eb) 10%,var(--va-surface));border:1px solid color-mix(in srgb,#2563eb 28%,#0000);border:1px solid color-mix(in srgb,var(--card-accent,#2563eb) 28%,#0000);border-radius:10px;color:#2563eb;color:var(--card-accent,#2563eb);display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;margin-bottom:16px;padding:10px 16px}.va-student-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.va-student-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));max-height:420px;overflow-y:auto;padding:4px}.va-student-card{align-items:flex-start;background:var(--va-surface);border:1px solid var(--va-border);border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:14px 16px;text-align:left;transition:all .15s ease;width:100%}.va-student-card:hover:not(:disabled){background:color-mix(in srgb,var(--va-accent) 4%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 4%,var(--va-surface));border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 40%,var(--va-border))}.va-student-card.selected{background:color-mix(in srgb,var(--va-accent) 8%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 8%,var(--va-surface));border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 50%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--va-accent) 15%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--card-accent,var(--va-accent)) 15%,#0000)}.va-student-card:disabled{cursor:not-allowed;opacity:.45}.va-student-card input{accent-color:var(--va-accent);accent-color:var(--card-accent,var(--va-accent));flex-shrink:0;height:18px;margin-top:2px;width:18px}.va-student-name{color:var(--va-text);display:block;font-size:.92rem;font-weight:700}.va-student-email{color:var(--va-muted);display:block;font-size:.8rem;margin-top:2px;word-break:break-all}.va-footer-actions{border-top:1px solid var(--va-border);display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px}.va-assign-toolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--va-surface) 92%,#0000);border:1px solid var(--va-border);border-radius:var(--va-radius-lg);box-shadow:var(--va-shadow);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:18px;padding:14px 18px;position:-webkit-sticky;position:sticky;top:0;z-index:25}.va-assign-toolbar-summary{align-items:center;color:var(--va-text);display:flex;font-size:.9rem;font-weight:600;gap:10px;min-width:0}.va-assign-toolbar-icon{color:var(--va-accent);color:var(--card-accent,var(--va-accent));flex-shrink:0}.va-assign-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.va-assign-mode-tabs{background:var(--va-surface-2);border:1px solid var(--va-border);border-radius:12px;display:flex;gap:8px;margin-bottom:16px;max-width:100%;padding:4px;width:-webkit-fit-content;width:fit-content}.va-assign-mode-tab{align-items:center;background:#0000;border:none;border-radius:9px;color:var(--va-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:8px;padding:10px 16px;transition:background .15s ease,color .15s ease}.va-assign-mode-tab:hover{color:var(--va-text)}.va-assign-mode-tab.active{background:var(--va-surface);box-shadow:var(--va-shadow);color:var(--va-accent);color:var(--card-accent,var(--va-accent))}.va-assign-hint{color:var(--va-muted);font-size:.88rem;line-height:1.5;margin:0 0 16px}.va-classroom-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.va-classroom-card{align-items:flex-start;background:var(--va-surface);border:1px solid var(--va-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:row;font-family:inherit;gap:12px;padding:16px 18px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.va-classroom-card:hover:not(:disabled){border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 40%,var(--va-border))}.va-classroom-card.selected{background:color-mix(in srgb,var(--va-accent) 10%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 10%,var(--va-surface));border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 55%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--va-accent) 15%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--card-accent,var(--va-accent)) 15%,#0000)}.va-classroom-card.empty{cursor:not-allowed;opacity:.55}.va-classroom-card-check{accent-color:var(--va-accent);accent-color:var(--card-accent,var(--va-accent));flex-shrink:0;margin-top:2px;pointer-events:none}.va-classroom-card-text{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-width:0}.va-classroom-card-name{color:var(--va-text);display:block;font-size:.95rem;font-weight:700}.va-classroom-card-meta{color:var(--va-muted);font-size:.8rem}.va-assign-roster{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.va-assign-roster li{background:var(--va-surface-2);border:1px solid var(--va-border);border-radius:999px;color:var(--va-text);font-size:.82rem;font-weight:500;padding:6px 12px}.va-assign-roster-more{color:var(--va-muted);font-style:italic}.va-assign-preview{margin-top:16px}.va-assign-class-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.va-assign-class-chip{align-items:center;background:color-mix(in srgb,var(--va-accent) 12%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 12%,var(--va-surface));border:1px solid color-mix(in srgb,var(--card-accent,var(--va-accent)) 35%,#0000);border-radius:999px;color:var(--va-accent);color:var(--card-accent,var(--va-accent));display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;padding:6px 10px 6px 12px}.va-assign-class-chip-remove{align-items:center;background:color-mix(in srgb,var(--va-accent) 18%,#0000);background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 18%,#0000);border:none;border-radius:50%;color:inherit;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.va-assign-class-chip-remove:hover{background:color-mix(in srgb,var(--va-accent) 28%,#0000);background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 28%,#0000)}.va-table-wrap{border:1px solid var(--va-border);border-radius:12px;overflow-x:auto}.va-table{border-collapse:collapse;font-size:.88rem;width:100%}.va-table thead th{background:var(--va-surface-2);color:var(--va-muted);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.va-table tbody td,.va-table thead th{border-bottom:1px solid var(--va-border)}.va-table tbody td{color:var(--va-text);padding:14px 16px;vertical-align:middle}.va-table tbody tr:last-child td{border-bottom:none}.va-table tbody tr:hover td{background:color-mix(in srgb,var(--va-accent) 4%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 4%,var(--va-surface))}.va-table .va-cell-muted{color:var(--va-muted);font-size:.82rem}.va-table .va-cell-actions{display:flex;flex-wrap:wrap;gap:8px}.va-score{font-feature-settings:"tnum";align-items:center;border-radius:999px;display:inline-flex;font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:700;padding:4px 10px}.va-score--excellent{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.va-score--good{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.va-score--poor{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.va-score--neutral{background:var(--va-surface-2);border:1px solid var(--va-border);color:var(--va-muted)}.va-status{border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;padding:4px 10px;text-transform:capitalize}.va-status--active{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.va-status--pending{background:#fffbeb;border:1px solid #fde68a;color:#b45309}.va-status--inactive{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.va-empty{padding:48px 24px;text-align:center}.va-empty-icon{align-items:center;background:color-mix(in srgb,#64748b 12%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,#64748b) 12%,var(--va-surface));border:1px solid var(--va-border);border-radius:16px;color:var(--va-muted);color:var(--card-accent,var(--va-muted));display:flex;font-size:1.5rem;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.va-empty h3{color:var(--va-text);font-size:1.1rem;margin:0 0 8px}.va-empty p{color:var(--va-muted);font-size:.9rem;margin:0 0 16px}.va-bar-track{background:var(--va-border);border-radius:999px;height:8px;overflow:hidden}.va-bar-fill{border-radius:999px;height:100%;transition:width .5s ease}.va-bar-fill--excellent{background:#10b981}.va-bar-fill--good{background:#f59e0b}.va-bar-fill--poor{background:#ef4444}.va-analytics-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.va-analytics-card{background:var(--va-surface);border:1px solid var(--va-border);border-radius:var(--va-radius);padding:16px}.va-analytics-card h3{font-size:.9rem;font-weight:700;margin:0 0 12px}.va-analytics-meta{color:var(--va-muted);display:flex;font-size:.78rem;gap:8px;justify-content:space-between;margin-top:10px}.va-analytics-meta strong,.va-section-label{color:var(--va-text)}.va-section-label{font-size:.85rem;font-weight:700;margin:0 0 12px}[data-theme=dark] .va-page{--va-surface:#1a1a1a;--va-surface-2:#222;--va-border:#3f3f46;--va-text:#f4f4f5;--va-muted:#a1a1aa;--va-shadow:0 2px 8px #00000059}[data-theme=dark] .va-score--excellent{background:#10b98126;border-color:#10b98159;color:#6ee7b7}[data-theme=dark] .va-score--good{background:#f59e0b26;border-color:#f59e0b59;color:#fcd34d}[data-theme=dark] .va-score--poor{background:#ef444426;border-color:#ef444459;color:#fca5a5}[data-theme=dark] .va-status--active{background:#10b9811f;border-color:#10b9814d;color:#6ee7b7}[data-theme=dark] .va-status--pending{background:#f59e0b1f;border-color:#f59e0b4d;color:#fcd34d}[data-theme=dark] .va-status--inactive{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .va-btn--danger{background:#27272a;border-color:#7f1d1d;color:#fca5a5}[data-theme=dark] .va-btn--danger:hover:not(:disabled){background:#7f1d1d59}[data-theme=dark] .va-btn--secondary{background:var(--va-surface-2);border-color:var(--va-border);color:var(--va-text)}[data-theme=dark] .va-btn--secondary:hover:not(:disabled){background:#2f2f2f;color:var(--va-text)}[data-theme=dark] .va-btn--ghost{background:color-mix(in srgb,var(--va-accent) 14%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 14%,var(--va-surface));border-color:color-mix(in srgb,var(--card-accent,var(--va-accent)) 40%,#0000);color:var(--va-accent);color:var(--card-accent,var(--va-accent))}[data-theme=dark] .va-btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--va-accent) 22%,var(--va-surface));background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 22%,var(--va-surface));color:var(--va-accent);color:var(--card-accent,var(--va-accent))}[data-theme=dark] .va-search input,[data-theme=dark] .va-select{background:#1a1a1a;color:#f4f4f5}[data-theme=dark] .va-assign-toolbar{background:color-mix(in srgb,#1a1a1a 94%,#0000)}[data-theme=dark] .va-assign-mode-tabs{background:#222}[data-theme=dark] .va-assign-mode-tab.active,[data-theme=dark] .va-classroom-card{background:#1a1a1a}[data-theme=dark] .va-classroom-card.selected{background:color-mix(in srgb,var(--va-accent) 14%,#1a1a1a);background:color-mix(in srgb,var(--card-accent,var(--va-accent)) 14%,#1a1a1a)}[data-theme=dark] .va-bar-track{background:#3f3f46}@media (max-width:640px){.va-footer-actions .va-btn{flex:1 1;min-width:140px}.va-student-grid{max-height:none}}.vh-page{--vh-accent:#475569;--vh-radius:14px;--vh-radius-lg:18px;--vh-surface:#fff;--vh-surface-2:#f8fafc;--vh-border:#e5e7eb;--vh-text:var(--text-primary,#0f172a);--vh-muted:var(--text-secondary,#64748b);--vh-shadow:0 1px 2px #0f172a0a;animation:vhFadeIn .35s ease;margin:0 auto;max-width:1180px}@keyframes vhFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vh-loading{align-items:center;color:var(--vh-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:320px}.vh-spinner{animation:vhSpin .75s linear infinite;border:3px solid var(--vh-border);border-radius:50%;border-top-color:var(--vh-accent);height:40px;width:40px}@keyframes vhSpin{to{transform:rotate(1turn)}}.vh-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.vh-back{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:8px;color:var(--vh-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;margin-bottom:12px;padding:8px 12px;text-decoration:none;transition:background .15s ease}.vh-back:hover{background:var(--vh-surface-2);color:var(--vh-text)}.vh-eyebrow{color:var(--vh-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}.vh-title{color:var(--vh-text);font-size:clamp(1.45rem,3.2vw,1.8rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.vh-subtitle{color:var(--vh-muted);font-size:.92rem;line-height:1.55;margin:0;max-width:560px}.vh-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.vh-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.88rem;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;white-space:nowrap}.vh-btn:disabled{cursor:not-allowed;opacity:.55}.vh-btn--primary{background:var(--vh-accent);box-shadow:0 4px 14px color-mix(in srgb,var(--vh-accent) 35%,#0000);color:#fff}.vh-btn--primary:hover:not(:disabled){color:#fff;transform:translateY(-1px)}.vh-btn--secondary{background:var(--vh-surface);border-color:var(--vh-border);color:var(--vh-text)}.vh-btn--secondary:hover:not(:disabled){background:var(--vh-surface-2)}.vh-btn--ghost{background:#0000;border-color:var(--vh-border);color:var(--vh-muted)}.vh-btn--ghost:hover:not(:disabled){background:var(--vh-surface-2);color:var(--vh-text)}.vh-btn--danger{background:var(--vh-surface);border-color:color-mix(in srgb,#ef4444 35%,var(--vh-border));color:#dc2626}.vh-btn--sm{border-radius:8px;font-size:.8rem;padding:6px 12px}.vh-btn--icon{min-width:36px;padding:8px}.vh-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:20px}.vh-stat{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius);padding:14px 16px}.vh-stat--accent{background:color-mix(in srgb,var(--vh-accent) 6%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 30%,var(--vh-border))}.vh-stat-label{color:var(--vh-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.vh-stat-value{font-feature-settings:"tnum";color:var(--vh-text);font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:800}.vh-stat--accent .vh-stat-value{color:var(--vh-accent)}.vh-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px}.vh-search,.vh-toolbar{align-items:center;display:flex}.vh-search{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:10px;color:var(--vh-muted);flex:1 1;gap:10px;height:44px;min-width:200px;padding:0 14px}.vh-search:focus-within{border-color:color-mix(in srgb,var(--vh-accent) 40%,var(--vh-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--vh-accent) 12%,#0000)}.vh-search input,.vh-search select{background:#0000;border:none;color:var(--vh-text);flex:1 1;font-size:.9rem;min-width:0;outline:none}.vh-select-wrap{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:10px;display:flex;height:44px;min-width:180px;padding:0 12px}.vh-select-wrap select{background:#0000;border:none;color:var(--vh-text);cursor:pointer;font-size:.88rem;font-weight:600;outline:none;width:100%}.vh-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vh-chip{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease}.vh-chip:hover{border-color:color-mix(in srgb,var(--chip-accent,var(--vh-accent)) 35%,var(--vh-border))}.vh-chip.active{background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));background:color-mix(in srgb,var(--chip-accent,var(--vh-accent)) 10%,var(--vh-surface));border-color:color-mix(in srgb,var(--chip-accent,var(--vh-accent)) 35%,#0000);color:var(--vh-accent);color:var(--chip-accent,var(--vh-accent))}.vh-chip-count{font-feature-settings:"tnum";font-size:.75rem;font-variant-numeric:tabular-nums;opacity:.85}.vh-panel{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow);margin-bottom:20px;overflow:hidden}.vh-panel-head{align-items:center;background:var(--vh-surface-2);border-bottom:1px solid var(--vh-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.vh-panel-title{color:var(--vh-text);font-size:1rem;font-weight:700;margin:0}.vh-panel-desc{color:var(--vh-muted);font-size:.84rem;margin:4px 0 0}.vh-panel-body{padding:20px}.vh-panel-body--flush{padding:0}.vh-action-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.vh-action-card{align-items:center;background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius);color:var(--vh-text);display:flex;flex-direction:column;gap:8px;padding:18px 14px;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.vh-action-card:hover{border-color:color-mix(in srgb,var(--action-accent,var(--vh-accent)) 40%,var(--vh-border));box-shadow:var(--vh-shadow);color:var(--vh-text);transform:translateY(-2px)}.vh-action-icon{align-items:center;background:color-mix(in srgb,var(--vh-accent) 12%,var(--vh-surface));background:color-mix(in srgb,var(--action-accent,var(--vh-accent)) 12%,var(--vh-surface));border:1px solid color-mix(in srgb,var(--action-accent,var(--vh-accent)) 22%,#0000);border-radius:10px;color:var(--vh-accent);color:var(--action-accent,var(--vh-accent));display:flex;font-size:1.1rem;height:40px;justify-content:center;width:40px}.vh-action-label{font-size:.85rem;font-weight:700;text-align:center}.vh-table-wrap{overflow-x:auto}.vh-table{border-collapse:collapse;font-size:.88rem;width:100%}.vh-table thead th{background:var(--vh-surface-2);color:var(--vh-muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.vh-table tbody td,.vh-table thead th{border-bottom:1px solid var(--vh-border)}.vh-table tbody td{color:var(--vh-text);padding:14px 16px;vertical-align:middle}.vh-table tbody tr:hover td{background:color-mix(in srgb,var(--vh-accent) 3%,var(--vh-surface))}.vh-table tbody tr:last-child td{border-bottom:none}.vh-cell-title{font-weight:600;max-width:280px}.vh-cell-muted{color:var(--vh-muted);font-size:.82rem}.vh-cell-actions{display:flex;flex-wrap:wrap;gap:8px}.vh-question-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.vh-question-row{grid-gap:14px 16px;align-items:center;background:var(--vh-surface);border-bottom:1px solid var(--vh-border);display:grid;gap:14px 16px;grid-template-columns:auto 1fr auto;padding:14px 18px;position:relative;transition:background .15s ease}.vh-question-row:last-child{border-bottom:none}.vh-question-row:hover{background:color-mix(in srgb,var(--vh-accent) 4%,var(--vh-surface));background:color-mix(in srgb,var(--row-accent,var(--vh-accent)) 4%,var(--vh-surface))}.vh-question-row-accent{background:var(--vh-accent);background:var(--row-accent,var(--vh-accent));bottom:0;left:0;opacity:.85;position:absolute;top:0;width:3px}.vh-question-row-icon{align-items:center;background:color-mix(in srgb,var(--vh-accent) 12%,var(--vh-surface-2));background:color-mix(in srgb,var(--row-accent,var(--vh-accent)) 12%,var(--vh-surface-2));border-radius:11px;color:var(--vh-accent);color:var(--row-accent,var(--vh-accent));display:flex;flex-shrink:0;font-size:1.05rem;height:40px;justify-content:center;margin-left:6px;width:40px}.vh-question-row-main{display:flex;flex-direction:column;gap:6px;min-width:0}.vh-question-row-title-line{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;min-width:0}.vh-question-row-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--vh-text);display:-webkit-box;font-size:.92rem;font-weight:600;line-height:1.45;margin:0;min-width:0;overflow:hidden}.vh-question-row-badges{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px}.vh-question-row-meta-line{gap:8px 12px}.vh-question-row-meta,.vh-question-row-meta-line{align-items:center;display:flex;flex-wrap:wrap;min-width:0}.vh-question-row-meta{gap:6px 10px}.vh-question-row-meta-item{align-items:center;color:var(--vh-muted);display:inline-flex;font-size:.78rem;gap:4px;white-space:nowrap}.vh-question-row-meta-item svg{font-size:.85rem;opacity:.75}.vh-question-row-sep{color:var(--vh-border);font-size:.85rem;font-weight:700;-webkit-user-select:none;user-select:none}.vh-question-row-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width:860px){.vh-question-row{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.vh-question-row-actions{grid-column:1/-1;justify-content:flex-start;padding-left:52px}}@media (max-width:560px){.vh-question-row-title-line{align-items:flex-start;flex-direction:column}.vh-question-row-actions{padding-left:0}}[data-theme=dark] .vh-question-row{background:#1a1a1a}[data-theme=dark] .vh-question-row:hover{background:color-mix(in srgb,var(--vh-accent) 8%,#1a1a1a);background:color-mix(in srgb,var(--row-accent,var(--vh-accent)) 8%,#1a1a1a)}.vh-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.72rem;font-weight:700;padding:3px 9px;text-transform:capitalize}.vh-badge--easy{background:color-mix(in srgb,#10b981 12%,#0000);border:1px solid color-mix(in srgb,#10b981 25%,#0000);color:#059669}.vh-badge--medium{background:color-mix(in srgb,#f59e0b 12%,#0000);border:1px solid color-mix(in srgb,#f59e0b 25%,#0000);color:#b45309}.vh-badge--hard{background:color-mix(in srgb,#ef4444 10%,#0000);border:1px solid color-mix(in srgb,#ef4444 25%,#0000);color:#dc2626}.vh-badge--global{background:var(--vh-surface-2);border:1px solid var(--vh-border);color:var(--vh-muted)}.vh-badge--active{background:color-mix(in srgb,#10b981 12%,#0000);border:1px solid color-mix(in srgb,#10b981 28%,#0000);color:#059669}.vh-badge--inactive{background:var(--vh-surface-2);border:1px solid var(--vh-border);color:var(--vh-muted)}.vh-tag-list{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.vh-tag-list--compact{flex-shrink:0;gap:3px}.vh-tag-list--compact .vh-tag{border-radius:999px;font-size:.68rem;padding:1px 7px}.vh-tag{background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:4px;color:var(--vh-muted);font-size:.72rem;font-weight:600;padding:2px 8px}.vh-tag.is-clickable{cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.vh-tag.is-active,.vh-tag.is-clickable:hover{background:color-mix(in srgb,#475569 10%,var(--vh-surface));background:color-mix(in srgb,var(--vh-accent,#475569) 10%,var(--vh-surface));border-color:color-mix(in srgb,#475569 35%,#0000);border-color:color-mix(in srgb,var(--vh-accent,#475569) 35%,#0000);color:var(--vh-text)}button.vh-tag{font:inherit}.vh-tag--more{background:#0000;border-style:dashed}.vh-tags-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.vh-tag-chip{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:999px;color:var(--vh-muted);cursor:pointer;font-size:.72rem;font-weight:600;padding:4px 10px}.vh-tag-chip:hover{background:var(--vh-surface-2);color:var(--vh-text)}.vh-tag-chip.is-active{background:color-mix(in srgb,#475569 10%,var(--vh-surface));background:color-mix(in srgb,var(--vh-accent,#475569) 10%,var(--vh-surface));border-color:color-mix(in srgb,#475569 35%,#0000);border-color:color-mix(in srgb,var(--vh-accent,#475569) 35%,#0000);color:#475569;color:var(--vh-accent,#475569)}.vh-person{gap:12px}.vh-avatar,.vh-person{align-items:center;display:flex}.vh-avatar{background:var(--vh-accent);border-radius:10px;color:#fff;flex-shrink:0;font-size:.8rem;font-weight:800;height:36px;justify-content:center;width:36px}.vh-person-name{color:var(--vh-text);font-weight:600}.vh-person-email{color:var(--vh-muted);font-size:.8rem}.vh-classroom-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vh-classroom-card{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:var(--vh-radius-lg);display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.vh-classroom-card:hover{border-color:color-mix(in srgb,var(--vh-accent) 35%,var(--vh-border));box-shadow:0 8px 24px #0f172a0f}.vh-classroom-card-accent{background:var(--vh-accent);height:4px}.vh-classroom-card-body{display:flex;flex:1 1;flex-direction:column;gap:14px;padding:18px 20px}.vh-classroom-card-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.vh-classroom-card-top h3{color:var(--vh-text);font-size:1.1rem;font-weight:700;margin:0 0 6px}.vh-classroom-card-actions{display:flex;gap:6px}.vh-classroom-meta{display:flex;flex-wrap:wrap;gap:12px}.vh-classroom-meta-item{align-items:center;color:var(--vh-muted);display:flex;font-size:.85rem;gap:6px}.vh-classroom-meta-item strong{color:var(--vh-text);font-weight:700}.vh-classroom-card-foot{border-top:1px solid var(--vh-border);display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px}.vh-form-panel{margin-bottom:20px}.vh-form-grid{grid-gap:16px;display:grid;gap:16px}.vh-field label{color:var(--vh-text);display:block;font-size:.82rem;font-weight:700;margin-bottom:6px}.vh-field input,.vh-field select,.vh-field textarea{background:var(--vh-surface);border:1px solid var(--vh-border);border-radius:10px;box-sizing:border-box;color:var(--vh-text);font-size:.9rem;padding:10px 14px;width:100%}.vh-field input:focus,.vh-field select:focus,.vh-field textarea:focus{border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--vh-accent) 12%,#0000);outline:none}.vh-field-hint{color:var(--vh-muted);display:block;font-size:.8rem;margin-top:6px}.vh-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.vh-alert{border-radius:10px;font-size:.88rem;margin-bottom:14px;padding:12px 14px}.vh-alert--error{background:color-mix(in srgb,#ef4444 8%,var(--vh-surface));border:1px solid color-mix(in srgb,#ef4444 25%,#0000);color:#b91c1c}.vh-alert--success{background:color-mix(in srgb,#10b981 8%,var(--vh-surface));border:1px solid color-mix(in srgb,#10b981 25%,#0000);color:#047857}.vh-split{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr}.vh-member-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}.vh-member-row{align-items:center;background:var(--vh-surface-2);border:1px solid var(--vh-border);border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.vh-member-row--selectable{cursor:pointer;transition:border-color .15s ease,background .15s ease}.vh-member-row--selectable:hover{border-color:color-mix(in srgb,var(--vh-accent) 30%,var(--vh-border))}.vh-member-row--selected{background:color-mix(in srgb,var(--vh-accent) 6%,var(--vh-surface));border-color:color-mix(in srgb,var(--vh-accent) 45%,var(--vh-border))}.vh-member-row input[type=checkbox]{accent-color:var(--vh-accent);flex-shrink:0;height:18px;width:18px}.vh-selection-bar{align-items:center;background:color-mix(in srgb,var(--vh-accent) 8%,var(--vh-surface));border:1px solid color-mix(in srgb,var(--vh-accent) 22%,#0000);border-radius:10px;display:flex;font-size:.88rem;font-weight:600;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.vh-empty{padding:48px 24px;text-align:center}.vh-empty-icon{align-items:center;background:color-mix(in srgb,var(--vh-accent) 10%,var(--vh-surface));border:1px solid color-mix(in srgb,var(--vh-accent) 20%,#0000);border-radius:14px;color:var(--vh-accent);display:flex;font-size:1.5rem;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.vh-empty h2{color:var(--vh-text);font-size:1.15rem;margin:0 0 8px}.vh-empty p{color:var(--vh-muted);line-height:1.55;margin:0 auto 20px;max-width:400px}[data-theme=dark] .vh-page{--vh-surface:#1a1a1a;--vh-surface-2:#222;--vh-border:#3f3f46;--vh-text:#f4f4f5;--vh-muted:#a1a1aa;--vh-shadow:0 2px 8px #00000059}[data-theme=dark] .vh-back,[data-theme=dark] .vh-btn--secondary,[data-theme=dark] .vh-field input,[data-theme=dark] .vh-field select,[data-theme=dark] .vh-field textarea,[data-theme=dark] .vh-search,[data-theme=dark] .vh-select-wrap{background:#1a1a1a;color:#f4f4f5}[data-theme=dark] .vh-alert--error{background:#ef44441a;color:#fca5a5}[data-theme=dark] .vh-alert--success{background:#10b9811a;color:#6ee7b7}[data-theme=dark] .vh-badge--easy{color:#6ee7b7}[data-theme=dark] .vh-badge--medium{color:#fcd34d}[data-theme=dark] .vh-badge--hard{color:#fca5a5}[data-theme=dark] .vh-badge--active{color:#6ee7b7}@media (max-width:900px){.vh-split{grid-template-columns:1fr}}@media (max-width:640px){.vh-header-actions{width:100%}.vh-header-actions .vh-btn{flex:1 1}.vh-classroom-grid{grid-template-columns:1fr}}.vqf-page{--vqf-accent:#475569;--vqf-radius:14px;--vqf-radius-lg:18px;--vqf-surface:#fff;--vqf-surface-2:#f8fafc;--vqf-surface-3:#f1f5f9;--vqf-border:#e5e7eb;--vqf-text:var(--text-primary,#0f172a);--vqf-muted:var(--text-secondary,#64748b);--vqf-shadow:0 1px 2px #0f172a0a;--vqf-shadow-md:0 4px 14px #0f172a0f;animation:vqfFadeIn .35s ease;margin:0 auto;max-width:960px;padding-bottom:88px}@keyframes vqfFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vqf-loading{align-items:center;color:var(--vqf-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:320px}.vqf-spinner{animation:vqfSpin .75s linear infinite;border:3px solid var(--vqf-border);border-radius:50%;border-top-color:var(--vqf-accent);height:40px;width:40px}@keyframes vqfSpin{to{transform:rotate(1turn)}}.vqf-header{margin-bottom:20px}.vqf-back{align-items:center;background:var(--vqf-surface);border:1px solid var(--vqf-border);border-radius:8px;color:var(--vqf-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;margin-bottom:12px;padding:8px 12px;text-decoration:none;transition:background .15s ease,color .15s ease}.vqf-back:hover{background:var(--vqf-surface-2);color:var(--vqf-text)}.vqf-eyebrow{align-items:center;color:var(--vqf-muted);display:flex;font-size:.72rem;gap:8px;letter-spacing:.1em;margin:0 0 6px}.vqf-eyebrow,.vqf-global-badge{font-weight:700;text-transform:uppercase}.vqf-global-badge{background:color-mix(in srgb,var(--vqf-accent) 12%,#0000);border:1px solid color-mix(in srgb,var(--vqf-accent) 28%,#0000);border-radius:6px;color:var(--vqf-accent);font-size:.65rem;letter-spacing:.06em;padding:2px 8px}.vqf-title{color:var(--vqf-text);font-size:clamp(1.35rem,3vw,1.65rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.vqf-subtitle{color:var(--vqf-muted);font-size:.9rem;line-height:1.55;margin:0;max-width:640px}.vqf-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-size:.88rem;font-weight:500;margin-bottom:16px;padding:12px 16px}.vqf-body .question-form{display:flex;flex-direction:column;gap:20px}.vqf-page .form-section,.vqf-page .vqf-section{background:var(--vqf-surface);border:1px solid var(--vqf-border);border-radius:var(--vqf-radius-lg);box-shadow:var(--vqf-shadow);padding:22px 24px}.vqf-page .section-title,.vqf-page .vqf-section-title{align-items:center;color:var(--vqf-text);display:flex;font-size:1.05rem;font-weight:700;gap:10px;margin:0 0 18px}.vqf-page .section-title:before,.vqf-page .vqf-section-title:before{background:var(--vqf-accent);border-radius:2px;content:"";flex-shrink:0;height:1.1em;width:4px}.vqf-page .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.vqf-page .section-header .section-title{margin:0}.vqf-page .section-description{color:var(--vqf-muted);font-size:.88rem;line-height:1.5;margin:-8px 0 16px}.vqf-page .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.vqf-page .form-row:last-child{margin-bottom:0}.vqf-page .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.vqf-page .form-group:last-child{margin-bottom:0}.vqf-page .form-group.full-width{grid-column:1/-1}.vqf-page .form-group label{color:var(--vqf-text);font-size:.82rem;font-weight:600}.vqf-page .form-input,.vqf-page .form-select,.vqf-page .form-textarea,.vqf-page input[type=number],.vqf-page input[type=text],.vqf-page select,.vqf-page textarea{background:var(--vqf-surface-2);border:1px solid var(--vqf-border);border-radius:10px;color:var(--vqf-text);font-family:inherit;font-size:.9rem;line-height:1.45;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.vqf-page .form-input:focus,.vqf-page .form-select:focus,.vqf-page .form-textarea:focus,.vqf-page input:focus,.vqf-page select:focus,.vqf-page textarea:focus{border-color:var(--vqf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--vqf-accent) 18%,#0000);outline:none}.vqf-page .form-textarea{min-height:88px;resize:vertical}.vqf-page .vqf-rich-field{margin-bottom:16px}.vqf-page .vqf-rich-field>label{color:var(--vqf-text);display:block;font-size:.82rem;font-weight:600;margin-bottom:8px}.vqf-page .vqf-rich-preview{background:var(--vqf-surface-3);border:1px dashed var(--vqf-border);border-radius:10px;margin-top:12px;padding:14px 16px}.vqf-page .vqf-rich-preview-label{color:var(--vqf-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.vqf-page .language-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.vqf-page .language-checkbox{align-items:center;background:var(--vqf-surface-2);border:1px solid var(--vqf-border);border-radius:10px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:10px 16px;transition:border-color .15s,background .15s}.vqf-page .language-checkbox:has(input:checked){background:color-mix(in srgb,var(--vqf-accent) 10%,var(--vqf-surface));border-color:var(--vqf-accent)}.vqf-page .language-checkbox input{accent-color:var(--vqf-accent)}.vqf-page .option-card,.vqf-page .test-case-card{background:var(--vqf-surface-2);border:1px solid var(--vqf-border);border-radius:var(--vqf-radius);margin-bottom:14px;padding:16px 18px}.vqf-page .option-card:last-child,.vqf-page .test-case-card:last-child{margin-bottom:0}.vqf-page .option-header,.vqf-page .test-case-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.vqf-page .option-number,.vqf-page .test-case-header h3{color:var(--vqf-text);font-size:.92rem;font-weight:700;margin:0}.vqf-page .option-card.option-correct{background:color-mix(in srgb,#059669 6%,var(--vqf-surface-2));border-color:color-mix(in srgb,#059669 50%,var(--vqf-border))}.vqf-page .test-case-card.test-case-passed{border-color:#86efac}.vqf-page .test-case-card.test-case-failed{border-color:#fca5a5}.vqf-page .btn-icon{align-items:center;background:#fee2e2;border:none;border-radius:8px;color:#b91c1c;cursor:pointer;display:inline-flex;font-size:1.2rem;height:32px;justify-content:center;line-height:1;width:32px}.vqf-page .btn-icon:disabled{cursor:not-allowed;opacity:.4}.vqf-page .btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.88rem;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;text-decoration:none;transition:background .15s,border-color .15s,opacity .15s}.vqf-page .btn-primary{background:var(--vqf-accent);border-color:var(--vqf-accent);color:#fff}.vqf-page .btn-primary:hover:not(:disabled){filter:brightness(1.06)}.vqf-page .btn-primary:disabled{cursor:not-allowed;opacity:.55}.vqf-page .btn-secondary{background:var(--vqf-surface);border-color:var(--vqf-border);color:var(--vqf-text)}.vqf-page .btn-secondary:hover:not(:disabled){background:var(--vqf-surface-2)}.vqf-page .btn-sm{font-size:.82rem;padding:7px 14px}.vqf-page .code-editor-wrapper{border:1px solid var(--vqf-border);border-radius:10px;overflow:hidden}.vqf-page .starter-code-item{margin-bottom:16px}.vqf-page .starter-code-label{color:var(--vqf-accent);display:block;font-size:.82rem;font-weight:700;margin-bottom:8px}.vqf-page .empty-state{background:var(--vqf-surface-3);border-radius:10px;color:var(--vqf-muted);font-size:.9rem;padding:24px;text-align:center}.vqf-footer-sticky{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--vqf-surface) 92%,#0000);border-top:1px solid var(--vqf-border);bottom:0;box-shadow:0 -4px 20px #0f172a0f;left:0;padding:12px 24px;position:fixed;right:0;z-index:40}.vqf-footer-sticky .form-actions{background:none;border:none;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin:0 auto;max-width:960px;padding:0}.vqf-page .form-actions:not(.vqf-footer-sticky .form-actions){display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding-top:8px}.vqf-page .vqf-inline-add{display:flex;gap:10px;margin-top:8px}.vqf-page .vqf-inline-add input{flex:1 1}.vqf-page .vqf-nested-card{background:var(--vqf-surface-2);border:1px solid var(--vqf-border);border-radius:var(--vqf-radius);margin-top:16px;padding:18px 20px}.vqf-page .vqf-nested-card h3{font-size:.95rem;font-weight:700;margin:0 0 14px}.veq-page{--vh-accent:#db2777;max-width:1180px}.veq-type-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.veq-type-tab{align-items:center;background:#fff;background:var(--vh-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--vh-border,#e5e7eb);border-radius:10px;color:#64748b;color:var(--vh-muted,#64748b);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:10px 16px;transition:all .15s ease}.veq-type-tab:hover{background:#f8fafc;background:var(--vh-surface-2,#f8fafc)}.veq-type-tab.active{background:color-mix(in srgb,var(--vh-accent) 8%,#fff);border-color:var(--vh-accent);color:var(--vh-accent)}.veq-type-tab .veq-count{background:#f1f5f9;background:var(--vh-surface-2,#f1f5f9);border-radius:999px;font-size:.72rem;padding:2px 8px}.veq-type-tab.active .veq-count{background:color-mix(in srgb,var(--vh-accent) 15%,#0000)}.veq-source-tabs{background:#f1f5f9;background:var(--vh-surface-2,#f1f5f9);border-radius:10px;display:flex;gap:4px;margin-bottom:20px;padding:4px;width:-webkit-fit-content;width:fit-content}.veq-source-tab{background:#0000;border:none;border-radius:8px;color:var(--vh-muted);cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px}.veq-source-tab.active{background:#fff;background:var(--vh-surface,#fff);box-shadow:0 1px 3px #00000014;color:var(--vh-text)}.veq-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.veq-card{background:#fff;background:var(--vh-surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--vh-border,#e5e7eb);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s ease}.veq-card:hover{box-shadow:0 4px 14px #0f172a14}.veq-card-head{align-items:center;background:#f8fafc;background:var(--vh-surface-2,#f8fafc);border-bottom:1px solid var(--vh-border);display:flex;justify-content:space-between;padding:12px 16px}.veq-card-badge{color:var(--vh-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.veq-card-diff{font-size:.75rem;font-weight:700;text-transform:capitalize}.veq-card-body{flex:1 1;padding:16px}.veq-card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--vh-text);display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.45;margin:0;overflow:hidden}.veq-card-foot{align-items:center;border-top:1px solid var(--vh-border);display:flex;justify-content:space-between;padding:12px 16px}.veq-card-pts{color:var(--vh-muted);font-size:.82rem;font-weight:600}.veq-card-actions{display:flex;gap:8px}.veq-empty{background:#fff;background:var(--vh-surface,#fff);border:1px dashed var(--vh-border);border-radius:16px;padding:48px 24px;text-align:center}.veq-empty h2{font-size:1.15rem;margin:12px 0 8px}.veq-empty p{color:var(--vh-muted);margin:0 0 20px}.veq-bulk-modal{background:#fff;background:var(--vh-surface,#fff);border:1px solid var(--vh-border);border-radius:16px;max-width:520px;padding:24px;width:100%}.veq-bulk-modal h2{font-size:1.15rem;margin:0 0 12px}.vqf-page .sub-question-card{background:var(--vqf-surface-2);border:1px solid var(--vqf-border);border-radius:var(--vqf-radius);margin-bottom:14px;padding:16px 18px}.vqf-page .sub-question-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.vqf-page .sub-question-header h3{font-size:.92rem;font-weight:700;margin:0}.vqf-page .sub-options{margin-top:12px}.vqf-page .sub-option-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.vqf-page .sub-option-row .form-input{flex:1 1;min-width:160px}.vqf-page .word-count{color:var(--vqf-muted);font-size:.78rem;margin-top:6px}.vqf-page .audio-preview,.vqf-page .image-preview{margin-top:12px;max-width:100%}.vqf-page .image-preview img{border:1px solid var(--vqf-border);border-radius:10px;max-width:320px}.veq-bulk-guide{background:var(--vh-surface-2);border-radius:8px;color:var(--vh-muted);font-size:.82rem;line-height:1.5;margin:12px 0;padding:12px}[data-theme=dark] .vqf-page{--vqf-surface:#1a1a1a;--vqf-surface-2:#222;--vqf-surface-3:#2a2a2a;--vqf-border:#3f3f46;--vqf-text:#f4f4f5;--vqf-muted:#a1a1aa}[data-theme=dark] .vqf-error{background:#450a0a;border-color:#7f1d1d;color:#fecaca}[data-theme=dark] .vqf-footer-sticky{background:color-mix(in srgb,#1a1a1a 94%,#0000)}[data-theme=dark] .veq-page{--vh-surface:#1a1a1a;--vh-surface-2:#222;--vh-border:#3f3f46}.vtf-page{--vtf-accent:#2563eb;--va-accent:var(--vtf-accent);--vtf-radius:14px;--vtf-radius-lg:18px;--vtf-surface:#fff;--vtf-surface-2:#f8fafc;--vtf-surface-3:#f1f5f9;--vtf-border:#e5e7eb;--vtf-text:var(--text-primary,#0f172a);--vtf-muted:var(--text-secondary,#64748b);--vtf-shadow:0 1px 2px #0f172a0a;--vtf-shadow-md:0 8px 24px #0f172a14;animation:vtfFadeIn .35s ease;margin:0 auto;max-width:960px;padding-bottom:96px}.vtf-page--wide{max-width:1180px}@keyframes vtfFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vtf-loading{align-items:center;color:var(--vtf-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;min-height:360px}.vtf-spinner{animation:vtfSpin .75s linear infinite;border:3px solid var(--vtf-border);border-radius:50%;border-top-color:var(--vtf-accent);height:40px;width:40px}@keyframes vtfSpin{to{transform:rotate(1turn)}}.vtf-header{margin-bottom:20px}.vtf-back{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:8px;color:var(--vtf-muted);display:inline-flex;font-size:.88rem;font-weight:600;gap:6px;margin-bottom:12px;padding:8px 12px;text-decoration:none;transition:background .15s ease,color .15s ease}.vtf-back:hover{background:var(--vtf-surface-2);color:var(--vtf-text)}.vtf-eyebrow{color:color-mix(in srgb,var(--vtf-accent) 70%,var(--vtf-muted));font-size:.72rem;font-weight:700;letter-spacing:.1em;margin:0 0 6px;text-transform:uppercase}.vtf-title{color:var(--vtf-text);font-size:clamp(1.35rem,3vw,1.75rem);font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.vtf-subtitle{color:var(--vtf-muted);font-size:.92rem;line-height:1.55;margin:0;max-width:720px}.vtf-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:18px}.vtf-stat{background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:var(--vtf-radius);padding:14px 16px}.vtf-stat-label{color:var(--vtf-muted);display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.vtf-stat-value{font-feature-settings:"tnum";color:var(--vtf-text);font-size:1.35rem;font-variant-numeric:tabular-nums;font-weight:800}.vtf-stat--accent .vtf-stat-value{color:var(--vtf-accent)}.vtf-error{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c;font-weight:500}.vtf-error,.vtf-notice{font-size:.88rem;margin-bottom:16px;padding:12px 16px}.vtf-notice{background:color-mix(in srgb,var(--vtf-accent) 8%,var(--vtf-surface));border:1px solid color-mix(in srgb,var(--vtf-accent) 24%,#0000);border-radius:10px;color:var(--vtf-text);line-height:1.5}.vtf-notice a{color:var(--vtf-accent);font-weight:600}.vtf-body form{display:flex;flex-direction:column;gap:20px}.vtf-section{background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:var(--vtf-radius-lg);box-shadow:var(--vtf-shadow);padding:22px 24px}.vtf-section-title{color:var(--vtf-text);font-size:1.05rem;font-weight:700;margin:0 0 18px}.vtf-section-hint{color:var(--vtf-muted);font-size:.85rem;line-height:1.5;margin:-10px 0 16px}.vtf-field{margin-bottom:16px}.vtf-field:last-child{margin-bottom:0}.vtf-field label{color:var(--vtf-text);display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}.vtf-field input,.vtf-field select,.vtf-field textarea{background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:10px;color:var(--vtf-text);font-family:inherit;font-size:.9rem;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.vtf-field input:focus,.vtf-field select:focus,.vtf-field textarea:focus{border-color:color-mix(in srgb,var(--vtf-accent) 50%,var(--vtf-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--vtf-accent) 12%,#0000);outline:none}.vtf-field input:disabled,.vtf-field select:disabled{background:var(--vtf-surface-2);cursor:not-allowed;opacity:.65}.vtf-field textarea{min-height:88px;resize:vertical}.vtf-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.vtf-checks{display:flex;flex-wrap:wrap;gap:12px 20px}.vtf-check{align-items:center;color:var(--vtf-text);cursor:pointer;display:inline-flex;font-size:.88rem;gap:8px}.vtf-check input{accent-color:var(--vtf-accent);height:18px;width:18px}.vtf-segment{display:flex;gap:8px;margin-bottom:14px}.vtf-segment-btn{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:10px;color:var(--vtf-muted);cursor:pointer;flex:1 1;font-family:inherit;font-size:.88rem;font-weight:600;padding:10px 14px;transition:all .15s ease}.vtf-segment-btn.active{background:color-mix(in srgb,var(--vtf-accent) 12%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 35%,#0000);color:var(--vtf-accent)}.vtf-segment-count{font-feature-settings:"tnum";align-items:center;background:color-mix(in srgb,currentColor 12%,var(--vtf-surface));border-radius:999px;display:inline-flex;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:800;justify-content:center;margin-left:6px;min-width:1.5rem;padding:2px 8px}.vtf-segment-btn.active .vtf-segment-count{background:color-mix(in srgb,var(--vtf-accent) 20%,#fff);color:var(--vtf-accent)}.vtf-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vtf-tab{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:999px;color:var(--vtf-muted);cursor:pointer;font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 14px;transition:all .15s ease}.vtf-tab.active{background:var(--vtf-accent);border-color:var(--vtf-accent);color:#fff}.vtf-tab-count{font-feature-settings:"tnum";background:#ffffff38;border-radius:999px;display:inline-flex;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:800;margin-left:6px;min-width:1.25rem;padding:1px 6px}.vtf-tab:not(.active) .vtf-tab-count{background:var(--vtf-surface-3);color:var(--vtf-muted)}.vtf-btn-add{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:10px;box-shadow:none;color:var(--vtf-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.82rem;font-weight:600;gap:6px;justify-content:center;margin-top:auto;padding:8px 14px;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.vtf-btn-add:hover:not(:disabled){background:var(--vtf-surface-2);border-color:#cbd5e1;color:var(--vtf-text)}.vtf-btn-add.is-added,.vtf-btn-add:disabled{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);color:var(--vtf-muted);cursor:default;opacity:.85}.vtf-btn-ghost-sm{align-items:center;background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:10px;display:inline-flex;font-size:.82rem;font-weight:600;padding:8px 14px}.vtf-btn-ghost-sm,.vtf-btn-ghost-sm:hover{color:var(--vtf-text);text-decoration:none}.vtf-btn-ghost-sm:hover{background:var(--vtf-surface-3)}.vtf-page .va-btn--primary{background:var(--vtf-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--vtf-accent) 30%,#0000);color:#fff}.vtf-page .va-btn--primary:hover:not(:disabled){box-shadow:0 6px 16px color-mix(in srgb,var(--vtf-accent) 38%,#0000);color:#fff}.vtf-search{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:10px;color:var(--vtf-muted);display:flex;gap:10px;height:42px;margin-bottom:14px;padding:0 14px}.vtf-search input{background:#0000;border:none;color:var(--vtf-text);flex:1 1;font-size:.9rem;outline:none}.vtf-tags-filter-wrap{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.vtf-tags-row{display:flex;flex-wrap:wrap;gap:6px}.vtf-tag-chip{background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:999px;color:var(--vtf-muted);cursor:pointer;font-size:.72rem;font-weight:600;padding:4px 10px}.vtf-tag-chip:hover{background:var(--vtf-surface-2);color:var(--vtf-text)}.vtf-tag-chip.is-active{background:color-mix(in srgb,var(--vtf-accent) 10%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 35%,#0000);color:var(--vtf-accent)}.vtf-q-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-height:420px;overflow-y:auto;padding:4px}.vtf-q-card{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:12px;display:flex;flex-direction:column;gap:10px;min-height:140px;padding:16px;transition:border-color .15s ease,box-shadow .15s ease}.vtf-q-card:hover{border-color:color-mix(in srgb,var(--vtf-accent) 35%,var(--vtf-border))}.vtf-q-card-top{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.vtf-q-card h4{color:var(--vtf-text);font-size:.92rem;font-weight:700;line-height:1.35;margin:0}.vtf-q-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--vtf-muted);display:-webkit-box;font-size:.8rem;line-height:1.45;margin:0;overflow:hidden}.vtf-q-meta{color:var(--vtf-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px}.vtf-badge{border-radius:6px;flex-shrink:0;font-size:.7rem;font-weight:700;padding:3px 8px;text-transform:capitalize}.vtf-badge--easy{background:#dcfce7;color:#166534}.vtf-badge--medium{background:#fef9c3;color:#854d0e}.vtf-badge--hard{background:#fee2e2;color:#991b1b}.vtf-badge--beginner{background:#dbeafe;color:#1e40af}.vtf-badge--intermediate{background:#fef9c3;color:#854d0e}.vtf-badge--advanced{background:#fce7f3;color:#9d174d}.vtf-type-pill{border-radius:6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.vtf-type-pill--coding{background:#dbeafe;color:#1d4ed8}.vtf-type-pill--mcq{background:#ede9fe;color:#6d28d9}.vtf-type-pill--aptitude{background:#d1fae5;color:#047857}.vtf-type-pill--theory{background:#f1f5f9;color:#475569}.vtf-builder{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr minmax(300px,380px)}@media (max-width:960px){.vtf-builder{grid-template-columns:1fr}}.vtf-builder-aside{position:-webkit-sticky;position:sticky;top:72px}.vtf-selected-panel{background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:var(--vtf-radius-lg);border-top:3px solid var(--vtf-accent);box-shadow:var(--vtf-shadow-md);overflow:hidden}.vtf-selected-panel-header{background:linear-gradient(180deg,color-mix(in srgb,var(--vtf-accent) 6%,var(--vtf-surface)) 0,var(--vtf-surface) 100%);border-bottom:1px solid var(--vtf-border);padding:16px 18px}.vtf-selected-panel-title-row{align-items:center;display:flex;gap:8px;margin-bottom:10px}.vtf-selected-panel-icon{color:var(--vtf-accent);font-size:1.1rem}.vtf-selected-panel-header h3{color:var(--vtf-text);font-size:1rem;font-weight:800;margin:0}.vtf-selected-panel-badges{display:flex;flex-wrap:wrap;gap:8px}.vtf-selected-count-pill,.vtf-selected-points-pill{font-feature-settings:"tnum";border-radius:999px;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:700;padding:4px 10px}.vtf-selected-count-pill{background:color-mix(in srgb,var(--vtf-accent) 12%,var(--vtf-surface));border:1px solid color-mix(in srgb,var(--vtf-accent) 28%,#0000);color:var(--vtf-accent)}.vtf-selected-points-pill{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);color:var(--vtf-muted)}.vtf-selected-empty{padding:28px 20px;text-align:center}.vtf-selected-empty-title{color:var(--vtf-text);font-size:.92rem;font-weight:700;margin:0 0 6px}.vtf-selected-empty-hint{color:var(--vtf-muted);font-size:.82rem;line-height:1.5;margin:0}.vtf-selected-stack{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;max-height:min(560px,calc(100vh - 220px));overflow-y:auto;padding:10px}.vtf-selected-card{grid-gap:10px;align-items:start;background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:12px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;padding:12px;transition:border-color .15s ease,box-shadow .15s ease}.vtf-selected-card:hover{border-color:color-mix(in srgb,var(--vtf-accent) 30%,var(--vtf-border));box-shadow:0 2px 8px #0f172a0a}.vtf-selected-card-order{font-feature-settings:"tnum";align-items:center;background:color-mix(in srgb,var(--vtf-accent) 14%,var(--vtf-surface));border:1px solid color-mix(in srgb,var(--vtf-accent) 22%,#0000);border-radius:10px;color:var(--vtf-accent);display:flex;font-size:.72rem;font-variant-numeric:tabular-nums;font-weight:800;height:32px;justify-content:center;width:32px}.vtf-selected-card-body{min-width:0}.vtf-selected-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--vtf-text);display:-webkit-box;font-size:.84rem;font-weight:600;line-height:1.4;margin:0 0 8px;overflow:hidden}.vtf-selected-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.vtf-points-wrap{align-items:center;display:inline-flex;gap:6px;margin:0}.vtf-points-label{color:var(--vtf-muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.vtf-points-wrap input{font-feature-settings:"tnum";background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:8px;color:var(--vtf-text);font-size:.82rem;font-variant-numeric:tabular-nums;font-weight:700;padding:5px 8px;width:52px}.vtf-selected-card-tools{display:flex;flex-direction:column;gap:4px}.vtf-tool-btn{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:8px;color:var(--vtf-muted);cursor:pointer;display:inline-flex;font-family:inherit;height:30px;justify-content:center;transition:all .15s ease;width:30px}.vtf-tool-btn:hover:not(:disabled){background:var(--vtf-surface-3);border-color:#cbd5e1;color:var(--vtf-text)}.vtf-tool-btn:disabled{cursor:not-allowed;opacity:.35}.vtf-tool-btn--danger{border-color:#fecaca;color:#dc2626}.vtf-tool-btn--danger:hover:not(:disabled){background:#fef2f2;color:#b91c1c}.vtf-icon-btn{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:8px;color:var(--vtf-muted);cursor:pointer;display:inline-flex;font-family:inherit;height:32px;justify-content:center;transition:all .15s ease;width:32px}.vtf-icon-btn:hover:not(:disabled){background:var(--vtf-surface-3);color:var(--vtf-text)}.vtf-icon-btn:disabled{cursor:not-allowed;opacity:.4}.vtf-icon-btn--danger{border-color:#fecaca;color:#dc2626}.vtf-icon-btn--danger:hover:not(:disabled){background:#fef2f2}.vtf-empty{background:var(--vtf-surface-2);border:1px dashed var(--vtf-border);border-radius:var(--vtf-radius);padding:36px 20px;text-align:center}.vtf-empty h3{font-size:1rem;margin:0 0 8px}.vtf-empty p{color:var(--vtf-muted);font-size:.88rem;margin:0 0 16px}.vtf-empty-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.vtf-section-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.vtf-section-chip{background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:10px;color:var(--vtf-text);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:10px 16px;transition:all .15s ease}.vtf-section-chip.added{background:color-mix(in srgb,var(--vtf-accent) 10%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 40%,#0000);color:var(--vtf-accent);cursor:default;opacity:.85}.vtf-section-chip:disabled{cursor:not-allowed}.vtf-section-list{display:flex;flex-direction:column;gap:8px}.vtf-section-row{align-items:center;background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:10px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 14px;transition:all .15s ease}.vtf-section-row.active{background:color-mix(in srgb,var(--vtf-accent) 8%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 45%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--vtf-accent) 12%,#0000)}.vtf-pick-list{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto}.vtf-pick-item{align-items:center;background:var(--vtf-surface);border:1px solid var(--vtf-border);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .15s ease}.vtf-pick-item.selected{background:color-mix(in srgb,var(--vtf-accent) 8%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 45%,#0000)}.vtf-pick-check{align-items:center;border:2px solid var(--vtf-border);border-radius:6px;display:flex;flex-shrink:0;font-size:.75rem;font-weight:800;height:22px;justify-content:center;width:22px}.vtf-pick-item.selected .vtf-pick-check{background:var(--vtf-accent);border-color:var(--vtf-accent);color:#fff}.vtf-summary-line{border-bottom:1px solid var(--vtf-border);color:var(--vtf-muted);display:flex;font-size:.85rem;justify-content:space-between;padding:6px 0}.vtf-summary-line strong{color:var(--vtf-text)}.vtf-outline-panel .vtf-selected-panel-header{padding-bottom:14px}.vtf-outline-stack{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:10px}.vtf-outline-item{margin:0}.vtf-outline-item-btn{align-items:center;background:var(--vtf-surface-2);border:1px solid var(--vtf-border);border-radius:10px;cursor:pointer;display:flex;font-family:inherit;gap:10px;padding:10px 12px;text-align:left;transition:all .15s ease;width:100%}.vtf-outline-item-btn:hover,.vtf-outline-item.is-active .vtf-outline-item-btn{background:color-mix(in srgb,var(--vtf-accent) 8%,var(--vtf-surface));border-color:color-mix(in srgb,var(--vtf-accent) 35%,var(--vtf-border))}.vtf-outline-item-text{display:flex;flex-direction:column;gap:2px;min-width:0}.vtf-outline-item-text strong{color:var(--vtf-text);font-size:.84rem}.vtf-outline-item-text span{color:var(--vtf-muted);font-size:.75rem}.vtf-footer-sticky{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--vtf-surface) 94%,#0000);border-top:1px solid var(--vtf-border);bottom:0;box-shadow:0 -4px 20px #0f172a0f;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;left:0;padding:14px 24px;position:fixed;right:0;z-index:40}.vtf-footer-sticky .va-btn{--va-accent:var(--vtf-accent)}.vtf-footer-meta{color:var(--vtf-muted);font-size:.85rem;font-weight:600;margin-right:auto}.vtf-footer-meta strong{color:var(--vtf-accent)}[data-theme=dark] .vtf-page{--vtf-surface:#1a1a1a;--vtf-surface-2:#222;--vtf-surface-3:#2a2a2a;--vtf-border:#3f3f46;--vtf-text:#f4f4f5;--vtf-muted:#a1a1aa}[data-theme=dark] .vtf-error{background:#450a0a;border-color:#7f1d1d;color:#fecaca}[data-theme=dark] .vtf-footer-sticky{background:color-mix(in srgb,#1a1a1a 94%,#0000)}[data-theme=dark] .vtf-selected-panel{border-color:var(--vtf-border)}[data-theme=dark] .vtf-selected-card{background:#222}[data-theme=dark] .vtf-btn-add{background:#1a1a1a;border-color:#3f3f46;color:#f4f4f5}[data-theme=dark] .vtf-btn-add:hover:not(:disabled){background:#222;border-color:#52525b}[data-theme=dark] .vtf-btn-add.is-added,[data-theme=dark] .vtf-btn-add:disabled{background:#222;border-color:#3f3f46;color:#a1a1aa}[data-theme=dark] .vtf-field input,[data-theme=dark] .vtf-field select,[data-theme=dark] .vtf-field textarea,[data-theme=dark] .vtf-search{background:#1a1a1a;color:#f4f4f5}[data-theme=dark] .vtf-badge--easy{background:#14532d;color:#bbf7d0}[data-theme=dark] .vtf-badge--medium{background:#713f12;color:#fef08a}[data-theme=dark] .vtf-badge--hard{background:#7f1d1d;color:#fecaca}@media (max-width:640px){.vtf-footer-sticky{align-items:stretch;flex-direction:column}.vtf-footer-meta{margin-right:0;text-align:center}.vtf-footer-sticky .va-btn{width:100%}}
/*# sourceMappingURL=main.442d6620.css.map*/