@import"https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/styles/github-dark.min.css";.integrity-panel{padding:20px;margin:16px 0;border:1px solid var(--border);border-radius:16px;background:var(--bg-card);box-shadow:none;min-width:0}.integrity-panel>.lc-header{margin-bottom:18px;gap:12px}.integrity-panel .lc-card-title{margin:0;font-size:1.05rem}.integrity-task-list .plag-admin-table{gap:12px}.integrity-panel .plag-admin-task-block{border:1px solid var(--border);border-radius:12px;overflow:hidden}.integrity-panel .plag-admin-row{grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;padding:16px;background:transparent;border-radius:0}.integrity-task-title{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.integrity-task-title small,.integrity-found{font-size:.8rem;color:var(--text-secondary)}.integrity-panel .plag-admin-row>span:nth-child(2){justify-self:end}.integrity-panel .plag-run-chip{font-size:.78rem;padding:5px 9px;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-card)}.integrity-panel .plag-run-chip.status-success{color:#237342;background:#e9f5ed;border-color:#bcdcc5}.integrity-panel .plag-run-chip.status-running,.integrity-panel .plag-run-chip.status-queued{color:#856017;background:#fff5df;border-color:#ead29d}.integrity-panel .plag-run-chip.status-error{color:#a13434;background:#fcecec;border-color:#ecc1c1}.integrity-panel .integrity-found{justify-self:end}.integrity-panel .plag-admin-actions{grid-column:1 / -1;justify-content:flex-start;margin-top:4px;gap:8px}.integrity-panel .integrity-action{min-height:38px;padding:8px 13px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);font-size:.84rem;font-weight:600;box-shadow:none;transform:none;transition:border-color .15s,background .15s}.integrity-panel .integrity-action:hover:not(:disabled){border-color:var(--accent-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-card))}.integrity-panel .plag-admin-actions .integrity-action:first-child{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.integrity-panel .integrity-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.integrity-panel .integrity-action:focus-visible,.integrity-panel .plag-switch:focus-within{outline:2px solid var(--accent-primary);outline-offset:3px}.integrity-panel .plag-switch{position:relative;gap:8px;padding:6px 2px;font-size:.82rem;font-weight:600;white-space:nowrap}.integrity-panel .plag-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:38px;height:22px;margin:0;border:1px solid var(--border);border-radius:20px;background:var(--text-secondary);cursor:pointer;position:relative;flex-shrink:0}.integrity-panel .plag-switch input:after{content:"";position:absolute;width:16px;height:16px;top:2px;left:2px;border-radius:50%;background:#fff;transition:transform .15s}.integrity-panel .plag-switch input:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.integrity-panel .plag-switch input:checked:after{transform:translate(16px)}.integrity-panel .plag-switch input:disabled{opacity:.45;cursor:not-allowed}.integrity-panel .plag-admin-results-row{border:0;border-top:1px solid var(--border);border-radius:0;padding:16px;background:transparent;min-width:0}@media (max-width:600px){.integrity-panel{padding:14px}.integrity-panel .plag-admin-row{padding:12px;gap:10px}.integrity-panel .plag-admin-actions .integrity-action{flex:1 1 130px}.integrity-panel .plag-admin-results-row{padding:10px}.integrity-panel .plag-switch>span{display:none}}@media (prefers-reduced-motion:reduce){.integrity-panel .plag-switch input:after{transition:none}}.pe-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:20px;align-items:start;margin-top:16px}.pe-packs{display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}.pe-packs h4,.pe-section h4,.pe-heading h3{margin:0 0 12px}.pe-pack{display:flex;flex-direction:column;text-align:left;gap:5px;padding:12px;background:transparent;border:1px solid var(--border, #344154);border-radius:10px;color:inherit}.pe-pack.active{border-color:var(--accent-primary);background:#7891ff1a}.pe-add{display:grid;gap:8px;margin-top:12px}.pe-main{min-width:0}.pe-heading,.pe-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pe-heading{justify-content:space-between;margin-bottom:16px}.pe-actions{margin:12px 0}.pe-actions .input{max-width:240px}.pe-actions label{display:flex;align-items:center;gap:6px}.pe-fields{border:0;padding:0;margin:0;min-width:0}.pe-section{padding:18px 0;border-top:1px solid var(--border, #344154)}.pe-project-group-summary{display:grid;gap:3px;margin-top:8px;font-size:.86rem;color:var(--text-secondary)}.pe-project-group-summary strong{color:var(--text-main)}.pe-project-group-list{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.pe-project-group-option{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--border,#344154);border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none}.pe-project-group-option:has(input:checked){border-color:var(--accent-primary);background:#7891ff1f}.pe-project-group-option input{accent-color:var(--accent-primary)}.pe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.pe-grid .input,.pe-main .lc-field .input{width:100%;min-width:0;box-sizing:border-box}.pe-task{border:1px solid var(--border, #344154);border-radius:10px;margin:10px 0}.pe-task summary{padding:14px;cursor:pointer}.pe-task summary span{float:right;opacity:.65;font-size:.85em}.pe-task-body{padding:0 14px 14px}.pe-file-button{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--border, #344154);border-radius:8px;cursor:pointer;font-size:.9em}.pe-file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pe-file-button:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}.pe-file-button.disabled{opacity:.5;cursor:default}.pe-number{max-width:125px!important}.pe-upload{display:block;margin:8px 0;opacity:.8;overflow-wrap:anywhere}.pe-upload-warning{color:var(--warning,#b7791f)}.pe-savebar{position:sticky;bottom:12px;z-index:8;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px;margin:18px 0;border:1px solid var(--accent-primary);border-radius:12px;background:var(--bg-card);box-shadow:0 6px 24px #0003;color:var(--text-main)}.pe-savebar span{margin-right:auto}.pe-job{margin:12px 0;padding:10px;border-radius:8px;background:#648cc81f}.pe-job.failed{color:var(--error)}.pe-baselines{margin-top:16px}@media (max-width:760px){.pe-layout{grid-template-columns:1fr}.pe-packs{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pe-packs h4,.pe-add{grid-column:1 / -1}.pe-task summary span{float:none;display:block;margin-top:5px}.pe-savebar{bottom:6px}}.pe-create{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.pe-create>svg{flex-shrink:0}.pe-add,.pe-add-task,.pe-empty{padding:14px;border:1px dashed var(--accent-primary);border-radius:10px;background:var(--bg-card)}.pe-add-task{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.pe-add-task>strong{width:100%}.pe-empty{margin-bottom:18px}@media (max-width:760px){.pe-packs>.pe-create{grid-column:1 / -1}}.pe-savebar{top:12px;bottom:auto;margin:0 0 18px}.pe-schedule{display:grid;grid-template-columns:minmax(0,420px);gap:14px;margin-bottom:20px}.pe-archives{margin:0 0 20px;padding:12px 0;border-bottom:1px solid var(--border)}.pe-archives summary{cursor:pointer;color:var(--text-secondary)}.pe-visibility{font-size:.85rem;color:var(--text-secondary)}.pe-field-label{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pe-field-label small{color:var(--accent-primary);font-weight:600}.pe-edit-control{display:flex;position:relative;align-items:center}.pe-edit-control .input{padding-right:44px}.pe-edit-control .input[readonly]{cursor:default;background:var(--bg-card)}.pe-edit-control .input[type=datetime-local]{padding-right:42px}.pe-edit-button{position:absolute;right:3px;display:flex;padding:8px;min-width:34px;justify-content:center}.pe-changed .input{border-color:var(--accent-primary);box-shadow:inset 3px 0 var(--accent-primary)}.pe-auto{color:var(--text-secondary);font-size:.75rem}@media (max-width:760px){.pe-savebar{top:6px;bottom:auto}}.pe-savebar button:disabled{opacity:.45;box-shadow:none;cursor:default}.pe-upload-status{display:grid;grid-template-columns:22px minmax(160px,1fr) minmax(100px,180px);align-items:center;gap:10px;min-width:min(520px,50vw)}.pe-upload-copy{min-width:0}.pe-upload-copy strong,.pe-upload-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-upload-copy small{margin-top:2px;opacity:.7;font-size:.8em}.pe-upload-status progress{width:100%;height:8px;accent-color:var(--accent-primary)}.pe-upload-spinner{width:18px;height:18px;border:2px solid var(--border,#344154);border-top-color:var(--accent-primary);border-radius:50%;animation:pe-upload-spin .8s linear infinite}@keyframes pe-upload-spin{to{transform:rotate(360deg)}}@media (max-width:760px){.pe-upload-status{grid-template-columns:22px minmax(0,1fr);min-width:0;width:100%}.pe-upload-status progress{grid-column:2}}.quiz-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;--quiz-font-scale: 1;--bg-page: #e7e7e5;--bg-panel: #f1f3f7;--bg-card: #ffffff;--bg-card-hover: #edf2f9;--text-main: #272727;--text-secondary: #4f5f79;--text-muted: #6b7890;--border: #cbd4e1;--success: #2f8f5b;--error: #c94a4a;--warning: #d1841f;min-height:100vh;min-height:100dvh;background:var(--bg-page);color:var(--text-main);display:flex;flex-direction:column;user-select:none;-webkit-user-select:none}.quiz-centered{box-sizing:border-box;align-items:center;justify-content:center;padding:24px}.quiz-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:28px;max-width:480px;width:100%}.quiz-card:has(.quiz-rules){max-width:560px}.quiz-card h2{margin:0 0 12px}.quiz-muted{color:var(--text-muted)}.quiz-error{color:var(--error);margin:12px 0}.quiz-loading-card{text-align:center}.quiz-loading-card h2{margin-top:18px}.quiz-load-progress{position:relative;height:7px;margin:18px 0 12px;overflow:hidden;border-radius:999px;background:#dce3ec}.quiz-load-progress>span{position:absolute;inset-block:0;width:42%;border-radius:inherit;background:var(--accent-primary, #315f9d);animation:quiz-load-progress 1.35s ease-in-out infinite}.quiz-load-hint{margin:0;color:var(--text-muted);font-size:.9rem}.quiz-start-progress{margin-top:16px;color:var(--text-secondary);font-size:.9rem}.quiz-transfer-progress{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary);text-align:center;font-size:.9rem}.quiz-transfer-progress .quiz-submit-spinner{margin:0}.quiz-transfer-ring{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent-primary, #315f9d) var(--quiz-transfer-percent),#dce3ec 0);flex-shrink:0}.quiz-transfer-ring strong{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--bg-card);color:var(--text-main);font-size:.85rem}.quiz-start-progress .quiz-load-progress{margin:0 0 8px}@keyframes quiz-load-progress{0%{left:-45%}to{left:105%}}.quiz-voided .quiz-card{border-color:var(--error)}.quiz-finish{background:radial-gradient(ellipse at 50% 42%,rgba(220,241,229,.9),transparent 58%),#f3f7f4}.quiz-shell.quiz-finish .quiz-finish-card{max-width:440px;padding:clamp(28px,6vw,44px);text-align:center;border:1px solid #dce8df;border-radius:18px;box-shadow:0 18px 50px #1b3d271a,0 2px 8px #1b3d270a;animation:quiz-finish-enter .32s ease-out both}.quiz-shell.quiz-finish .quiz-finish-card h2{margin:16px 0 8px;font-size:clamp(1.45rem,4vw,1.9rem);letter-spacing:-.03em;color:#202c24}.quiz-finish-mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:50%;background:#e7f5ec;color:#167344;font-size:1.8rem;font-weight:800}.quiz-submit-button{min-height:48px;min-width:min(100%,230px);margin-top:20px;border-radius:12px;font-size:1rem;font-weight:700}.quiz-shell.quiz-finish .quiz-submit-button{color:#fff;border-color:#176b3e;background:linear-gradient(145deg,#21834e,#176b3e);box-shadow:0 8px 18px #176b3e33}.quiz-shell.quiz-finish .quiz-submit-button:hover{border-color:#125832;background:linear-gradient(145deg,#1b7544,#125832)}.quiz-submit-spinner{display:block;width:34px;height:34px;margin:0 auto 18px;border:3px solid var(--border);border-top-color:#21834e;border-radius:50%;animation:quiz-submit-spin .8s linear infinite}@keyframes quiz-finish-enter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes quiz-submit-spin{to{transform:rotate(360deg)}}.app-shell.page-quiz .quiz-shell{min-height:calc(100dvh - 110px)}@media (max-width: 900px){.app-shell.page-quiz .quiz-shell{min-height:calc(100dvh - 168px)}}.quiz-rules{background:var(--bg-page);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:16px 0}.quiz-rules h3{margin:0 0 8px;font-size:.95em}.quiz-rules ul{margin:0;padding-left:20px}.quiz-rules li{margin:6px 0;color:var(--text-main);line-height:1.4}.quiz-rules-ack{display:flex;align-items:flex-start;gap:8px;cursor:pointer;margin-bottom:16px;-webkit-user-select:none;user-select:none}.quiz-rules-ack input{margin-top:3px;cursor:pointer}.quiz-active{position:relative;align-items:center;padding:32px}.quiz-away-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;color:#fff;background:#c81414eb;animation:quiz-away-flash .6s step-start infinite}@keyframes quiz-away-flash{50%{background:#8c0000eb}}.quiz-timer{font-size:2rem;font-variant-numeric:tabular-nums;margin-bottom:32px;color:var(--accent-primary)}.quiz-question{max-width:720px;width:100%}.quiz-question-text{font-size:calc(1.4rem * var(--quiz-font-scale));margin-bottom:24px;white-space:pre-wrap;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4}.quiz-options{display:flex;flex-direction:column;gap:12px}.quiz-option{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main);text-align:left;font-size:calc(1.05rem * var(--quiz-font-scale));cursor:pointer;white-space:pre-wrap;overflow-wrap:break-word;-moz-tab-size:4;tab-size:4}.quiz-option:hover,.quiz-option:focus-visible{background:var(--bg-card-hover);outline:none;border-color:var(--accent-secondary)}.quiz-option-selected{border-color:var(--accent-primary);background:var(--bg-card-hover)}.quiz-option-focused{box-shadow:0 0 0 2px var(--accent-secondary)}.quiz-option-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--btn-fg);font-weight:600;flex-shrink:0}.quiz-active .primary{margin-top:24px}@media (max-width: 520px){.quiz-active{padding:16px}.quiz-question-text{font-size:1.15rem;margin-bottom:16px}.quiz-option{padding:16px;font-size:1rem}.quiz-timer{font-size:1.5rem;margin-bottom:20px}.quiz-away-overlay{font-size:1.3rem}}.quiz-offline-banner{position:fixed;top:0;left:0;right:0;padding:8px 16px;text-align:center;font-weight:600;background:#8a6d1f;color:#fff;z-index:40}.quiz-connection-progress{display:block;position:absolute;right:0;bottom:0;left:0;height:3px;overflow:hidden;background:#fff3}.quiz-connection-progress>span{position:absolute;inset-block:0;width:36%;background:#ffffffe6;animation:quiz-load-progress 1.4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.quiz-load-progress>span,.quiz-connection-progress>span{width:100%;animation:none}}.quiz-progress{opacity:.6;font-weight:400}.quiz-time-compensation{display:block;margin-top:4px;color:var(--success);font-size:.78rem;font-weight:600}.quiz-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}.quiz-nav-hint{font-size:calc(.85rem * var(--quiz-font-scale));opacity:.7}.quiz-font-scale{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:6px}.quiz-font-scale button{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);cursor:pointer;line-height:1}.quiz-font-scale button:disabled{opacity:.4;cursor:default}.quiz-font-scale-small{font-size:.8rem}.quiz-font-scale-large{font-size:1.15rem;font-weight:600}.quiz-lock-warning{top:32px;background:#7a2f2f}.lc-quiz-flags{display:flex;flex-wrap:wrap;gap:4px}.lc-quiz-flag{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.78rem;background:var(--bg-card);color:var(--text-secondary);cursor:pointer}.lc-quiz-flag.severe{border-color:var(--error);color:var(--error)}.lc-quiz-flag.network{border-color:var(--warning);color:var(--warning)}.lc-quiz-flag.quiet{border-style:dashed;cursor:default;opacity:.6}.lc-quiz-monitor-actions{display:flex;flex-wrap:wrap;gap:6px}.quiz-sync-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);display:flex;align-items:center;gap:12px;max-width:min(720px,calc(100vw - 24px));padding:10px 16px;border-radius:10px;font-weight:600;background:#8a6d1f;color:#fff;box-shadow:0 6px 24px #00000059;z-index:60}.quiz-sync-banner-ok{background:#1f7a45}.quiz-sync-banner-warn{background:#8a6d1f}.quiz-sync-banner-button{flex:none;padding:6px 14px;border:0;border-radius:8px;font-weight:700;background:#fff;color:#3a2c05;cursor:pointer}.quiz-sync-banner-button:disabled{opacity:.7;cursor:default}.quiz-sync-panel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}body:has(.quiz-active) .quiz-sync-banner{display:none}:root{--c-light: #e7e7e5;--c-dark: #272727;--c-navy: #1d3366;--c-blue-deep: #5077b3;--c-blue-soft: #aabfdc;--c-gray-soft: #cbd4e1;--bg-page: var(--c-light);--bg-panel: #f1f3f7;--bg-card: #ffffff;--bg-card-hover: #edf2f9;--text-main: var(--c-dark);--text-secondary: #4f5f79;--text-muted: #6b7890;--accent-primary: var(--c-navy);--accent-secondary: var(--c-blue-deep);--accent-soft: var(--c-blue-soft);--border: var(--c-gray-soft);--focus-ring: rgba(80, 119, 179, .35);--success: #2f8f5b;--error: #c94a4a;--warning: #d1841f;--btn-fg: #ffffff;--btn-bg: var(--accent-primary);--btn-bg-hover: color-mix(in srgb, var(--btn-bg) 82%, #ffffff 18%);--btn-border: color-mix(in srgb, var(--btn-bg) 86%, #000000 14%);--btn-border-hover: color-mix(in srgb, var(--btn-border) 72%, #ffffff 28%)}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--accent-secondary) transparent}*::-webkit-scrollbar{width:12px;height:12px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--accent-secondary);border-radius:999px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{filter:brightness(1.2)}*::-webkit-scrollbar-corner{background:transparent}body{margin:0;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;color:var(--text-main);background:linear-gradient(135deg,var(--bg-page),#f8f9fc);min-height:100vh}button{font-family:inherit}:root{--panel-radius: 16px;--card-radius: 14px;--shadow-soft: 0 12px 34px rgba(29, 51, 102, .1);--shadow-hover: 0 12px 28px rgba(80, 119, 179, .2);--app-bg: linear-gradient(145deg, #eef4ff 0%, #e7f1ff 45%, #ddeafb 100%);--theme-sidebar-start: #2e4f94;--theme-sidebar-mid: #1d3366;--theme-sidebar-end: #5077b3}html,body,#root{width:100%;max-width:100%;overflow-x:hidden}.mobile-page-toggle{display:none}.app-shell{--sidebar-w: 96px;display:grid;grid-template-columns:1fr;min-height:100vh;background:var(--app-bg);max-width:100%;overflow-x:hidden;position:relative;isolation:isolate}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(58rem 36rem at 10% -10%,#ffffff61,#fff0 62%),radial-gradient(48rem 32rem at 95% 6%,#5077b329,#5077b300 68%),radial-gradient(42rem 28rem at 76% 95%,#aabfdc42,#aabfdc00 66%);pointer-events:none;z-index:-2}.app-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#00000057,#0000);mask-image:linear-gradient(to bottom,#00000057,#0000);pointer-events:none;z-index:-1}.app-shell.sidebar-open{--sidebar-w: 300px}.content-shell{min-width:0;display:grid;grid-template-rows:auto 1fr;position:relative;margin-left:var(--sidebar-w);transition:margin-left .18s ease}.app-shell.page-packs{height:100vh;overflow:hidden}.app-shell.page-packs .content-shell{min-height:0}.app-shell.page-packs .main-area{min-height:0;overflow:hidden}.app-shell.page-logs{height:100vh;overflow:hidden}.app-shell.page-logs .content-shell{min-height:0}.app-shell.page-logs .main-area{min-height:0;overflow:hidden;grid-template-rows:minmax(0,1fr)}.sidebar{overflow:hidden;background:radial-gradient(circle at 30% 0%,var(--theme-sidebar-start) 0%,var(--theme-sidebar-mid) 45%,var(--theme-sidebar-end) 100%);color:#fff;padding:16px 12px;display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(255,255,255,.12);box-shadow:inset -1px 0 #ffffff17;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-w);z-index:1000;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box}.sidebar::-webkit-scrollbar{width:0;height:0}.theme-student{--app-bg: linear-gradient(145deg, #eff6ff 0%, #e3efff 48%, #d8e8ff 100%);--theme-sidebar-start: #365ea9;--theme-sidebar-mid: #1d3366;--theme-sidebar-end: #5f89cb;--find-ring: #5077b3;--btn-bg: #1d3366;--btn-bg-hover: #264381;--btn-border: #17305f;--btn-border-hover: #1d376a}.theme-teacher{--app-bg: linear-gradient(145deg, #f4f7fc 0%, #ecf2fa 52%, #e6eef8 100%);--bg-card: #ffffff;--bg-card-hover: #f1f5fb;--bg-panel: #ffffff;--text-main: #1d2533;--text-secondary: #51607a;--text-muted: #6e7c95;--border: #272727;--accent-primary: #272727;--accent-secondary: #272727;--accent-soft: #272727;--theme-sidebar-start: #161616;--theme-sidebar-mid: #202020;--theme-sidebar-end: #272727;--shadow-hover: 0 12px 28px rgba(39, 39, 39, .35);--find-ring: #272727;--btn-bg: #272727;--btn-bg-hover: #323232;--btn-border: #202020;--btn-border-hover: #2a2a2a}.theme-admin,.theme-lecturer{--app-bg: linear-gradient(145deg, #f4f7fc 0%, #ecf2fa 52%, #e6eef8 100%);--bg-card: #ffffff;--bg-card-hover: #f1f5fb;--bg-panel: #ffffff;--text-main: #1d2533;--text-secondary: #51607a;--text-muted: #6e7c95;--border: #272727;--accent-primary: #272727;--accent-secondary: #272727;--accent-soft: #272727;--theme-sidebar-start: #161616;--theme-sidebar-mid: #202020;--theme-sidebar-end: #272727;--shadow-hover: 0 12px 28px rgba(39, 39, 39, .35);--find-ring: #1e7b42;--btn-bg: #1e7b42;--btn-bg-hover: #278f4f;--btn-border: #176336;--btn-border-hover: #1f7843}.theme-resource-manager{--app-bg: #b40f25;--bg-card: #111111;--bg-card-hover: #1d1d1d;--bg-panel: #151515;--text-main: #f7f7f7;--text-secondary: #d5d5d5;--text-muted: #ababab;--border: #55151d;--accent-primary: #e2293d;--accent-secondary: #090909;--accent-soft: #7f1724;--theme-sidebar-start: #050505;--theme-sidebar-mid: #0b0b0b;--theme-sidebar-end: #151515;--shadow-soft: 0 10px 26px rgba(17, 0, 3, .28);--shadow-hover: 0 12px 28px rgba(17, 0, 3, .36);--find-ring: #f04353;--btn-bg: #090909;--btn-bg-hover: #1b1b1b;--btn-border: #d8273a;--btn-border-hover: #f04353}.theme-resource-manager:before{background:linear-gradient(145deg,#c9142b,#a80c20 58%,#7f0918)}.theme-resource-manager:after{background-image:linear-gradient(rgba(0,0,0,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.07) 1px,transparent 1px)}.theme-resource-manager .header{border-bottom-color:#3a080e;background:#a90d20;color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-resource-manager .header .ghost,.theme-resource-manager .glow-toggle,.theme-resource-manager .greeting-card{border-color:#e3384a;background:#090909;color:#fff}.theme-resource-manager .panel{border-color:#3d1016;background:#111;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.theme-resource-manager .page-loader{border-color:#4d171e;background:#171717;color:#d0d0d0}.theme-resource-manager .primary,.theme-resource-manager .secondary,.theme-resource-manager .ghost{border-color:var(--btn-border);background:#090909;color:#fff;box-shadow:none}.theme-resource-manager .primary:hover,.theme-resource-manager .secondary:hover,.theme-resource-manager .ghost:hover{border-color:var(--btn-border-hover);background:#1b1b1b}.theme-resource-manager .input{border-color:#63202a;background:#090909;color:#fff}.theme-resource-manager .input:focus{border-color:#ef3b4e;outline-color:#ef3b4e4d}.theme-resource-manager .subject-switcher,.theme-resource-manager .subject-switcher small{color:#fff}.theme-resource-manager .subject-switcher select{border-color:#e3384a;background:#090909;color:#fff}.theme-teacher .pack-button,.theme-admin .pack-button,.theme-lecturer .pack-button{background:#fff}.theme-teacher .input,.theme-admin .input,.theme-lecturer .input{background:#fff;color:var(--text-main)}.theme-teacher .table th,.theme-teacher .table td,.theme-admin .table th,.theme-admin .table td,.theme-lecturer .table th,.theme-lecturer .table td{color:var(--text-main)}.theme-teacher .pack-button.active,.theme-teacher .card.selected,.theme-admin .pack-button.active,.theme-admin .card.selected,.theme-lecturer .pack-button.active,.theme-lecturer .card.selected{box-shadow:0 0 0 3px #27272780}.theme-teacher .history-refresh-btn:hover,.theme-admin .history-refresh-btn:hover,.theme-lecturer .history-refresh-btn:hover{box-shadow:0 8px 18px #27272766}.theme-teacher .nav-ico,.theme-admin .nav-ico,.theme-lecturer .nav-ico{border-color:#ffffff47;box-shadow:0 0 0 2px #27272780}.brand-block{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px}.sidebar.expanded .brand-block{flex-direction:row;justify-content:center;align-items:center;gap:8px}.brand{display:flex;align-items:baseline;justify-content:center;gap:4px;min-height:34px;width:100%;padding:0}.brand-core{font-size:30px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;line-height:1}.brand-tail{width:0;opacity:0;overflow:hidden;font-size:30px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px;transition:width .24s ease,opacity .2s ease}.sidebar.expanded .brand-tail{width:92px;opacity:1}.sidebar-admin .brand-core,.sidebar-admin .brand-tail,.sidebar-lecturer .brand-core,.sidebar-lecturer .brand-tail{color:#4dff6a}.sidebar-resource-manager .brand-core,.sidebar-resource-manager .brand-tail{color:#f13a4d}.brand-role-tag{margin-top:0;margin-bottom:0;width:auto;text-align:center;font-size:11px;letter-spacing:1.8px;text-transform:lowercase;color:#ffffffe0;opacity:.9;line-height:1}.brand-role-tag-admin,.brand-role-tag-lecturer{color:#9dffae;opacity:.92}.brand-role-tag-resource-manager{color:#ff9ca6;opacity:.96}.sidebar-resource-manager .nav-button.active{border-color:#e13547;background:#241014}.sidebar-resource-manager .nav-ico{border-color:#6f202a;background:#111;color:#ffbec5;box-shadow:none}.sidebar-resource-manager .nav-button:hover{border-color:#b82a3a;background:#1b0d10}.nav-group{display:grid;gap:10px}.sidebar:not(.expanded) .nav-group{justify-items:center}.nav-button{border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;padding:12px 14px;border-radius:14px;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;display:flex;align-items:center;gap:12px;width:100%}.sidebar:not(.expanded) .nav-button{justify-content:center;width:56px;min-width:56px;padding:8px 0;border-color:transparent;background:transparent;border-radius:12px}.sidebar:not(.expanded) .nav-button .nav-label{display:none}.sidebar:not(.expanded) .nav-button.active{border-color:transparent;background:transparent}.nav-button .nav-label{white-space:nowrap;opacity:0;transform:translate(-8px);font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:1.1px;transition:opacity .2s ease,transform .2s ease}.sidebar.expanded .nav-button .nav-label{opacity:1;transform:translate(0)}.nav-button.active{background:#ffffff38;border-color:#ffffff80}.nav-button:hover{transform:translateY(-1px);background:#ffffff29;border-color:#fff6}.sidebar .nav-button:hover{transform:none}.nav-ico{width:40px;height:40px;display:inline-flex;justify-content:center;align-items:center;border-radius:12px;border:2px solid rgba(255,255,255,.38);background:#ffffff24;box-shadow:0 0 0 1px #1d33663d;color:#f4f8ff;transition:transform .18s ease,background .18s ease}.nav-ico svg{width:22px;height:22px}.nav-button:hover .nav-ico{transform:scale(1.04);background:#fff3}.header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 28px;position:sticky;top:0;z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#f5f9ffc7,#f5f9ff70);border-bottom:1px solid rgba(140,161,196,.28)}.header-right{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;position:relative}.header-right .ghost,.glow-toggle{transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;box-shadow:none}.header-greeting{font-weight:700;font-size:18px;text-align:center;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.greeting-card{border-radius:14px;padding:10px 16px;border:1px solid transparent;background:#fff9;transition:box-shadow .24s ease,transform .2s ease;--greet-bg: #dce9fb;--greet-bg-right: #ffffff;--greet-rgb: 80, 119, 179;--greet-rgb2: 255, 255, 255;--greet-alpha-weak: .32;--greet-alpha-strong: .55;--greet-blur: 18px;--greet-spread: 1px;--greet-speed: 1.6s;--runner-length: 22%;--runner-speed: 1.8s;--cursor-x: 50%;--cursor-y: 50%;background:linear-gradient(135deg,var(--greet-bg),var(--greet-bg-right));position:relative;overflow:hidden}.greeting-text{position:relative;z-index:3}.greeting-name-symbol{display:inline-block;margin-left:8px;font-weight:900;opacity:.92}.greeting-advanced-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2;overflow:hidden}.greeting-advanced-item{position:absolute;line-height:1;opacity:.72;filter:saturate(1.15);transform-origin:center;text-shadow:0 0 8px currentColor}.greeting-advanced-trail,.greeting-advanced-clone{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-block;pointer-events:none}.greeting-advanced-trail{opacity:.32;filter:blur(1px);transform:translate(-12px,8px) scale(.92)}.greeting-advanced-clone{opacity:.45;transform:translate(10px,-8px) scale(.82)}.greeting-advanced-item.path-line{animation-name:greeting-path-line;animation-timing-function:linear;animation-iteration-count:infinite}.greeting-advanced-item.path-orbit{animation-name:greeting-path-orbit;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.greeting-advanced-item.path-lemniscate{animation-name:greeting-path-lemniscate;animation-timing-function:linear;animation-iteration-count:infinite}.greeting-advanced-item.path-torus{animation-name:greeting-path-torus;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.greeting-advanced-item.path-wave{animation-name:greeting-path-wave;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.greeting-advanced-item.path-spiral{animation-name:greeting-path-spiral;animation-timing-function:linear;animation-iteration-count:infinite}.greeting-advanced-item.path-bounce{animation-name:greeting-path-bounce;animation-timing-function:cubic-bezier(.31,.11,.29,.99);animation-iteration-count:infinite}.greeting-advanced-item.theme-matrix{text-shadow:0 0 12px currentColor}.greeting-advanced-item.theme-unicorns{filter:saturate(1.3)}.greeting-advanced-item.theme-embers{text-shadow:0 0 10px currentColor,0 0 22px rgba(255,115,61,.4)}.greeting-card.role-student{color:#15386a;border-color:#5077b37a}.greeting-card.role-teacher{color:#2a2a2a;border-color:#2727276b}.greeting-card.role-admin,.greeting-card.role-lecturer{color:#145a2f;border-color:#2aaa5c6b}.greeting-card.glow-steady{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-strong)),0 0 var(--greet-blur) rgba(var(--greet-rgb),var(--greet-alpha-strong))}.greeting-card.glow-breath{animation:greeting-breath var(--greet-speed) ease-in-out infinite}.greeting-card.glow-dragon{animation:greeting-dragon var(--greet-speed) linear infinite}.greeting-card.glow-disabled{box-shadow:none;animation:none}.greeting-card.runner-enabled:before{content:"";position:absolute;top:-30%;bottom:-30%;left:calc(-1 * var(--runner-length));width:var(--runner-length);transform:skew(-18deg);background:linear-gradient(90deg,rgba(var(--greet-rgb),0),rgba(var(--greet-rgb),.12),rgba(var(--greet-rgb2),.42),rgba(var(--greet-rgb),.12),rgba(var(--greet-rgb),0));animation:runner-slide var(--runner-speed) linear infinite;pointer-events:none}.greeting-card.cursor-reactive:after{content:"";position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;background:radial-gradient(circle at var(--cursor-x) var(--cursor-y),rgba(var(--greet-rgb2),.38),rgba(var(--greet-rgb),.12) 24%,rgba(var(--greet-rgb),0) 58%);pointer-events:none}.greeting-card.pulse-accepted{animation:pulse-accepted .85s ease-out}.greeting-card.pulse-verdict{animation:pulse-verdict .85s ease-out}.greeting-card.pulse-rating{animation:pulse-rating .85s ease-out}.glow-control{position:relative}.glow-toggle{width:52px;height:52px;min-width:52px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;line-height:1;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-border);box-shadow:none;border-radius:12px}.glow-toggle svg{width:28px;height:28px;display:block;filter:none}.glow-toggle:hover{background:var(--btn-bg-hover);border-color:var(--btn-border-hover);box-shadow:none;transform:translateY(-1px)}.glow-panel{position:absolute;right:0;top:calc(100% + 8px);width:min(92vw,430px);border-radius:12px;border:1px solid var(--border);background:#fffffff2;box-shadow:0 14px 30px #19284833;padding:10px;display:grid;gap:8px;z-index:20;max-height:calc(100vh - 110px);overflow:auto;--glow-btn-fg: #f4f8ff;--glow-btn-fg-hover: #ffffff;--glow-btn-bg: #24324e;--glow-btn-bg-hover: #2d4063;--glow-btn-border: #2f4268;--glow-btn-border-hover: #3e5a8f}.glow-avatar-section{display:grid;gap:6px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--border)}.glow-avatar-label{font-weight:700;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.glow-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.glow-tab{border:1px solid var(--border);border-radius:9px;padding:6px 10px;background:var(--glow-btn-bg);font-size:12px;font-weight:800;cursor:pointer;color:var(--glow-btn-fg);border-color:var(--glow-btn-border);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-tab.active{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover)}.glow-tab:hover{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover);transform:translateY(-1px)}.glow-field{display:grid;gap:5px}.glow-actions-row{grid-template-columns:1fr 1fr;gap:6px}.glow-switches{grid-template-columns:1fr 1fr;gap:6px 10px}.glow-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.glow-label{font-size:12px;font-weight:700;color:var(--text-secondary)}.glow-mode-list{display:flex;gap:6px;flex-wrap:wrap}.glow-mode-btn{border:1px solid var(--border);border-radius:9px;padding:6px 9px;background:var(--glow-btn-bg);cursor:pointer;font-size:12px;font-weight:800;color:var(--glow-btn-fg);border-color:var(--glow-btn-border);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-mode-btn.active{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover)}.glow-mode-btn:hover{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover);transform:translateY(-1px)}.glow-palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.glow-color-dot{width:20px;height:20px;border-radius:999px;border:1px solid rgba(0,0,0,.24);cursor:pointer;padding:0}.glow-color-dot.active{box-shadow:0 0 0 2px #1d336673}.glow-reset{border:1px solid var(--border);border-radius:9px;background:var(--glow-btn-bg);padding:5px 8px;font-size:12px;font-weight:800;cursor:pointer;color:var(--glow-btn-fg);border-color:var(--glow-btn-border);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-reset:hover{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover);transform:translateY(-1px)}.glow-picker{width:100%;height:38px;border-radius:50%;border:1px solid var(--border);padding:2px;background:#fff;cursor:pointer}.glow-picker.wheel{width:44px;height:44px;justify-self:start}.glow-switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.glow-presets-row{display:grid;grid-template-columns:1fr auto;gap:8px}.glow-presets-list{max-height:126px;overflow:auto;display:grid;gap:6px}.glow-preset-item{display:grid;grid-template-columns:1fr 30px;gap:6px}.glow-preset-apply{border:1px solid var(--border);border-radius:8px;background:var(--glow-btn-bg);text-align:left;padding:6px 8px;cursor:pointer;font-size:12px;font-weight:800;color:var(--glow-btn-fg);border-color:var(--glow-btn-border);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-preset-apply:hover{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover);transform:translateY(-1px)}.glow-preset-delete{border:1px solid var(--border);border-radius:8px;background:var(--glow-btn-bg);cursor:pointer;font-size:18px;line-height:1;font-weight:800;color:var(--glow-btn-fg);border-color:var(--glow-btn-border);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-preset-delete:hover{background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);color:var(--glow-btn-fg-hover);transform:translateY(-1px)}.glow-muted{color:var(--text-muted);font-size:12px}.glow-toast{border:1px solid transparent;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:800}.glow-toast.ok{border-color:#2f8f5b73;color:#1e7b49;background:#2f8f5b24}.glow-toast.error{border-color:#c94a4a73;color:#ad3737;background:#c94a4a24}.glow-toast.info{border-color:#5077b373;color:#1d3366;background:#5077b31f}.user-css-box{border-top:1px solid color-mix(in srgb,var(--border) 75%,rgba(255,255,255,.6));padding-top:10px}.user-css-upload{justify-self:start;min-height:34px;padding:7px 11px;font-size:13px;cursor:pointer}.user-css-error{color:#a82d2d;font-size:12px;font-weight:700}.glow-panel .secondary,.glow-panel .primary{color:var(--glow-btn-fg);background:var(--glow-btn-bg);border-color:var(--glow-btn-border);font-weight:800;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.glow-panel .secondary:hover,.glow-panel .primary:hover{color:var(--glow-btn-fg-hover);background:var(--glow-btn-bg-hover);border-color:var(--glow-btn-border-hover);transform:translateY(-1px)}.glow-panel button:disabled,.glow-panel .secondary:disabled,.glow-panel .primary:disabled{opacity:.65;cursor:default}.glow-panel button:disabled:hover,.glow-panel .secondary:disabled:hover,.glow-panel .primary:disabled:hover{color:var(--glow-btn-fg);background:var(--glow-btn-bg);border-color:var(--glow-btn-border);transform:none}.main-area{padding:0 28px 28px;display:grid;gap:18px;min-width:0}.work-toast{position:sticky;top:12px;z-index:20;justify-self:stretch;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800;box-shadow:0 10px 24px #0f253f1f;animation:work-toast-pop .18s ease-out}.work-toast.error{border:1px solid rgba(201,74,74,.58);background:#c94a4aeb;color:#fff3f3}.work-toast.ok{border:1px solid rgba(47,143,91,.45);background:#2f8f5b33;color:#1e6f45}@keyframes work-toast-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.main-area>*{min-width:0}.panel{background:color-mix(in srgb,var(--bg-card) 84%,rgba(255,255,255,.75));border:1px solid color-mix(in srgb,var(--border) 64%,rgba(255,255,255,.7));border-radius:var(--panel-radius);box-shadow:var(--shadow-soft),inset 0 1px #ffffffc2;padding:20px;min-width:0;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.page-loader{min-height:132px;border:1px solid var(--border);border-radius:12px;background:#ffffffbd;display:grid;place-items:center;gap:12px;padding:18px;color:var(--text-secondary);z-index:8}.page-loader.compact{min-height:78px;padding:12px}.page-loader.overlay{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.history-content-shell,.rating-content-shell,.submission-route-shell,.submission-detail-shell,.submissions-inspector-content-shell,.submission-attempts-shell,.plag-results-body-shell,.plag-admin-table-shell,.lc-dashboard-shell,.lc-task-table-shell,.teacher-groups-rating-shell,.teacher-pack-table-shell,.submission-archive-main-shell{position:relative}.rating-content-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-loader-spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(80,119,179,.22);border-top-color:var(--accent-secondary);animation:page-loader-spin .8s linear infinite}.page-loader-lines{display:grid;gap:7px;width:min(280px,80%)}.page-loader-lines span{height:8px;border-radius:999px;background:linear-gradient(90deg,#5077b31f,#5077b347,#5077b31f);background-size:200% 100%;animation:page-loader-shimmer 1.1s ease-in-out infinite}.page-loader-lines span:nth-child(2){width:76%}.page-loader-lines span:nth-child(3){width:58%}@keyframes page-loader-spin{to{transform:rotate(360deg)}}@keyframes page-loader-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.section-title{margin:0 0 14px;font-size:22px;font-weight:800;color:var(--accent-primary)}.history-title-row{display:flex;align-items:center;justify-content:center;margin-bottom:8px;position:relative}.history-title{text-align:center}.history-title-row .history-refresh-btn{position:absolute;right:0}.history-refresh-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 86%,rgba(255,255,255,.75));color:var(--accent-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.history-refresh-btn:hover{transform:translateY(-1px);border-color:var(--accent-secondary);box-shadow:0 10px 22px #5077b33d}.history-refresh-btn:disabled{opacity:.7;cursor:default}.history-refresh-btn svg{width:18px;height:18px}.history-refresh-btn.spinning svg{animation:refresh-spin .8s linear infinite}.history-code-btn{min-width:68px;padding:7px 10px;font-size:13px;white-space:nowrap}.submission-number-link{border:0;background:transparent;color:#1d5fcc;text-decoration:underline;text-underline-offset:2px;font-weight:800;font-size:17px;letter-spacing:.2px;cursor:pointer;padding:0}.submission-number-link:disabled{opacity:.55;cursor:default}.submission-number-link[aria-disabled=true]{opacity:.55;cursor:default;text-decoration:none}.history-preview{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card-hover);padding:12px}.history-preview-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.history-preview-task{font-weight:700}.history-preview-verdict{font-size:13px;color:var(--text-secondary)}.history-preview-reason{margin-bottom:10px;color:var(--text-secondary);font-size:14px}.history-preview-code{margin:0;border-radius:10px;background:#0d1117;color:#f0f6fc;padding:10px 12px;overflow:auto;max-height:340px}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes greeting-breath{0%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-weak)),0 0 calc(var(--greet-blur) * .55) rgba(var(--greet-rgb),var(--greet-alpha-weak))}50%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-strong)),0 0 var(--greet-blur) rgba(var(--greet-rgb),var(--greet-alpha-strong))}to{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-weak)),0 0 calc(var(--greet-blur) * .55) rgba(var(--greet-rgb),var(--greet-alpha-weak))}}@keyframes greeting-dragon{0%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-weak)),0 0 calc(var(--greet-blur) * .65) rgba(var(--greet-rgb),var(--greet-alpha-weak))}20%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb2),var(--greet-alpha-strong)),0 0 var(--greet-blur) rgba(var(--greet-rgb2),var(--greet-alpha-strong))}40%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-weak)),0 0 calc(var(--greet-blur) * .7) rgba(var(--greet-rgb),var(--greet-alpha-weak))}60%{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb2),var(--greet-alpha-strong)),0 0 calc(var(--greet-blur) * 1.1) rgba(var(--greet-rgb2),var(--greet-alpha-strong))}to{box-shadow:0 0 0 var(--greet-spread) rgba(var(--greet-rgb),var(--greet-alpha-weak)),0 0 calc(var(--greet-blur) * .65) rgba(var(--greet-rgb),var(--greet-alpha-weak))}}@keyframes runner-slide{0%{left:calc(-1 * var(--runner-length))}to{left:calc(100% + var(--runner-length))}}@keyframes pulse-accepted{0%{box-shadow:0 0 #35ba671a}35%{box-shadow:0 0 0 3px #35ba6773,0 0 24px #35ba676b}to{box-shadow:none}}@keyframes pulse-verdict{0%{box-shadow:0 0 #dc65511a}35%{box-shadow:0 0 0 3px #dc65516b,0 0 20px #dc655159}to{box-shadow:none}}@keyframes pulse-rating{0%{box-shadow:0 0 #5077b31a}35%{box-shadow:0 0 0 3px #5077b373,0 0 20px #5077b359}to{box-shadow:none}}@keyframes greeting-path-line{0%{transform:translate3d(-160%,-30%,0) rotate(var(--fx-tilt));opacity:0}8%{opacity:.8}50%{transform:translate3d(20%,calc(-1 * var(--fx-drift)),0) rotate(calc(var(--fx-tilt) * -1));opacity:.9}92%{opacity:.75}to{transform:translate3d(160%,var(--fx-drift),0) rotate(var(--fx-tilt));opacity:0}}@keyframes greeting-path-orbit{0%{transform:translateZ(0) rotate(0)}25%{transform:translate3d(calc(var(--fx-drift) * .8),calc(var(--fx-drift) * -.5),0) rotate(90deg)}50%{transform:translate3d(0,calc(var(--fx-drift) * -1.2),0) rotate(180deg)}75%{transform:translate3d(calc(var(--fx-drift) * -.8),calc(var(--fx-drift) * -.4),0) rotate(270deg)}to{transform:translateZ(0) rotate(360deg)}}@keyframes greeting-path-lemniscate{0%{transform:translateZ(0) rotate(var(--fx-tilt))}12.5%{transform:translate3d(calc(var(--fx-drift) * .7),calc(var(--fx-drift) * -.55),0) rotate(calc(var(--fx-tilt) * -1))}25%{transform:translate3d(var(--fx-drift),0,0) rotate(var(--fx-tilt))}37.5%{transform:translate3d(calc(var(--fx-drift) * .7),calc(var(--fx-drift) * .55),0) rotate(calc(var(--fx-tilt) * -1))}50%{transform:translateZ(0) rotate(var(--fx-tilt))}62.5%{transform:translate3d(calc(var(--fx-drift) * -.7),calc(var(--fx-drift) * -.55),0) rotate(calc(var(--fx-tilt) * -1))}75%{transform:translate3d(calc(var(--fx-drift) * -1),0,0) rotate(var(--fx-tilt))}87.5%{transform:translate3d(calc(var(--fx-drift) * -.7),calc(var(--fx-drift) * .55),0) rotate(calc(var(--fx-tilt) * -1))}to{transform:translateZ(0) rotate(var(--fx-tilt))}}@keyframes greeting-path-torus{0%{transform:translateZ(0) scale(.9)}20%{transform:translate3d(calc(var(--fx-drift) * .7),calc(var(--fx-drift) * -.25),0) scale(1)}40%{transform:translate3d(calc(var(--fx-drift) * .1),calc(var(--fx-drift) * -.7),0) scale(1.05)}60%{transform:translate3d(calc(var(--fx-drift) * -.7),calc(var(--fx-drift) * -.25),0) scale(1)}80%{transform:translate3d(calc(var(--fx-drift) * -.1),calc(var(--fx-drift) * .45),0) scale(.92)}to{transform:translateZ(0) scale(.9)}}@keyframes greeting-path-wave{0%{transform:translate3d(-120%,0,0) rotate(var(--fx-tilt));opacity:0}12%{opacity:.72}50%{transform:translate3d(0,calc(var(--fx-drift) * -.72),0) rotate(calc(var(--fx-tilt) * -1));opacity:.9}88%{opacity:.72}to{transform:translate3d(120%,0,0) rotate(var(--fx-tilt));opacity:0}}@keyframes greeting-path-spiral{0%{transform:translateZ(0) scale(.72) rotate(0)}25%{transform:translate3d(calc(var(--fx-drift) * .34),calc(var(--fx-drift) * -.4),0) scale(.92) rotate(90deg)}50%{transform:translate3d(calc(var(--fx-drift) * .68),0,0) scale(1.08) rotate(180deg)}75%{transform:translate3d(calc(var(--fx-drift) * .34),calc(var(--fx-drift) * .4),0) scale(.92) rotate(270deg)}to{transform:translateZ(0) scale(.72) rotate(360deg)}}@keyframes greeting-path-bounce{0%{transform:translate3d(calc(var(--fx-drift) * -.8),calc(var(--fx-drift) * -.9),0) rotate(var(--fx-tilt));opacity:.7}40%{transform:translate3d(calc(var(--fx-drift) * -.16),calc(var(--fx-drift) * .8),0) rotate(calc(var(--fx-tilt) * -1));opacity:.92}62%{transform:translate3d(calc(var(--fx-drift) * .34),calc(var(--fx-drift) * -.24),0) rotate(var(--fx-tilt));opacity:.88}to{transform:translate3d(calc(var(--fx-drift) * .94),calc(var(--fx-drift) * .74),0) rotate(calc(var(--fx-tilt) * -1));opacity:.68}}.submissions-inspector{display:grid;gap:12px}.submissions-inspector>.panel{padding:14px}.submissions-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.submissions-inspector-title-row{display:flex;align-items:center;gap:14px;min-width:260px}.submissions-inspector-title-row .section-title{margin-bottom:0}.submission-mode-switch{display:inline-flex;align-items:center;padding:3px;gap:3px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg-card) 82%,transparent)}.submission-mode-switch button{height:32px;border:0;border-radius:6px;padding:0 12px;color:var(--text-muted);background:transparent;cursor:pointer}.submission-mode-switch button.active{color:var(--text-main);background:var(--bg-card-hover);box-shadow:inset 0 0 0 1px var(--border)}.submission-id-search{display:flex;align-items:center;gap:12px}.submission-id-search .input{width:180px}.submission-id-search .secondary{min-height:38px}.submissions-inspector-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.1fr) minmax(280px,1fr);gap:12px;align-items:start}.submissions-person-panel,.submissions-picker-panel,.submissions-attempts-panel{display:grid;gap:10px}.submission-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;color:var(--text-main);font-weight:800}.submission-panel-head span:last-child{color:var(--text-muted);font-size:13px;font-weight:700}.submission-person-search{width:100%;min-height:38px}.submission-person-list,.submission-task-list{display:grid;gap:6px;max-height:420px;overflow:auto;padding-right:2px}.submission-person-btn,.submission-task-btn,.submission-attempt-btn,.submission-pack-btn{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-card-hover);color:var(--text-main);cursor:pointer;text-align:left}.submission-person-btn{display:grid;gap:3px;padding:10px 11px}.submission-person-btn.active,.submission-task-btn.active,.submission-attempt-btn.active,.submission-pack-btn.active{border-color:var(--accent-secondary);background:color-mix(in srgb,var(--accent-secondary) 14%,var(--bg-card-hover))}.submission-person-name,.submission-task-main,.submission-attempt-id{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.submission-person-meta,.submission-task-meta,.submission-attempt-meta{color:var(--text-muted);font-size:12px}.submission-pack-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px}.submission-pack-btn{display:flex;justify-content:space-between;align-items:center;min-height:36px;padding:8px 10px;font-weight:800}.submission-pack-btn span:last-child{color:var(--text-muted);font-size:12px}.submission-task-btn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 11px}.submission-task-meta{grid-column:1 / -1}.submission-status-dot{align-self:start;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;color:var(--text-main);background:color-mix(in srgb,var(--text-muted) 14%,transparent)}.submission-status-dot.scored{color:#167544;background:#22c55e29}.submission-status-dot.failed{color:#9f1239;background:#f43f5e24}.submission-status-dot.pending{color:#92400e;background:#f59e0b29}.submission-attempt-btn{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;padding:10px 11px}.submission-attempt-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px;text-align:right}.submission-attempt-status,.submission-attempt-meta{grid-column:1 / -1}.submission-list-note,.submissions-inspector-loading,.submissions-inspector-error{color:var(--text-muted)}.submissions-inspector-error{color:var(--error)}.submissions-inspector-empty{display:grid;place-items:center;min-height:260px;text-align:center;color:var(--text-muted)}.submissions-empty-computer{display:grid;justify-items:center;width:150px;opacity:.72}.submissions-empty-screen{width:136px;height:88px;border:3px solid color-mix(in srgb,var(--text-muted) 72%,transparent);border-radius:10px;background:linear-gradient(135deg,transparent 0 46%,color-mix(in srgb,var(--text-muted) 20%,transparent) 47% 53%,transparent 54%),color-mix(in srgb,var(--bg-card-hover) 80%,transparent)}.submissions-empty-stand{width:24px;height:20px;border-left:3px solid color-mix(in srgb,var(--text-muted) 72%,transparent);border-right:3px solid color-mix(in srgb,var(--text-muted) 72%,transparent)}.submissions-empty-base{width:86px;height:10px;border:3px solid color-mix(in srgb,var(--text-muted) 72%,transparent);border-radius:999px}.submissions-empty-title{margin-top:16px;font-size:18px;font-weight:800}.submissions-empty-description{max-width:420px;margin-top:8px;color:var(--text-muted);font-size:14px}@media (max-width: 920px){.submissions-inspector-head,.submissions-inspector-title-row,.submission-id-search{flex-direction:column;align-items:stretch}.submissions-inspector-grid{grid-template-columns:1fr}.submission-id-search .input{width:100%}.submission-person-list,.submission-task-list{max-height:300px}}@media (max-width: 900px){.content-shell{width:calc(100% - 72px);max-width:calc(100% - 72px);box-sizing:border-box}.header{width:100%;max-width:100%;box-sizing:border-box;padding-inline:12px}.header-greeting,.greeting-card{min-width:0;max-width:100%;box-sizing:border-box}.header-greeting{white-space:normal;overflow-wrap:anywhere}.header-right{width:100%;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.header-right>button,.header-right>.glow-toggle{flex:0 0 auto}.main-area,.panel,.card,.packs-shell,.pack-list,.submit-panel{width:100%;max-width:100%;box-sizing:border-box}.main-area{padding-inline:12px;overflow-x:hidden}.pack-list{overflow-x:hidden}.pack-button,.submit-select,.submit-actions>button,.submit-textarea,.submit-comment{min-width:0;max-width:100%;box-sizing:border-box}.submit-selectors,.submit-actions{width:100%;max-width:100%}}@media (max-width: 560px){.history-title-row{flex-wrap:wrap;gap:8px}.rating-pagination-row{flex-wrap:wrap;justify-content:center;row-gap:8px}.rating-pagination-row .rating-page-btn,.rating-pagination-row .sort-toggle-btn,.rating-pagination-row .find-me-btn,.rating-pagination-row .submit-select{flex:0 0 auto}.rating-page-meta{flex:0 0 100%;order:10;text-align:center}.history-content-shell .table{display:block;overflow-x:visible;font-size:13px}.history-content-shell .table thead{display:none}.history-content-shell .table tbody{display:block;width:100%}.history-content-shell .table tr{display:block;width:100%;border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:8px 12px;background:var(--bg-card)}.history-content-shell .table tr.history-task-separator{border:none;background:transparent;padding:10px 2px 4px;margin-bottom:2px}.history-content-shell .table td{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;border-top:none;text-align:right}.history-content-shell .table td:before{content:attr(data-label);flex:none;color:var(--text-secondary);font-weight:700;font-size:11px;text-align:left}.history-content-shell .table td[data-label=""]:before{content:none}.history-content-shell .table td[colspan]{display:block;text-align:left;padding:0}.history-content-shell .table td[colspan]:before{content:none}}.pack-layout{display:grid;gap:14px}.packs-shell{position:relative;display:grid;grid-template-columns:286px 1fr;gap:16px;min-height:0}.packs-shell-compact{display:block}.packs-shell-compact .pack-list{display:flex;gap:10px;max-height:none;overflow-x:auto;padding:2px 2px 12px}.packs-shell-compact .pack-button{flex:0 1 240px;min-width:180px}.packs-shell-compact .card-grid{max-height:calc(100vh - 280px)}.packs-shell-empty{display:block}.context-empty-state{min-height:190px;display:grid;place-content:center;justify-items:center;gap:8px;padding:28px;border:1px dashed var(--border);border-radius:var(--card-radius);color:var(--text-secondary);text-align:center}.context-empty-state strong{color:var(--text-main);font-size:16px}.context-empty-state span{max-width:420px;font-size:13px}.context-empty-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--bg-card-hover);color:var(--accent-secondary);font-size:22px}.lc-year-pipeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.lc-year-pipeline-step{display:grid;gap:5px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card-hover);color:var(--text-muted);font-size:13px}.lc-year-pipeline-step b{color:var(--text-main);font-size:14px}.lc-next-pack-hint{margin-top:12px}@media (max-width: 760px){.lc-year-pipeline{grid-template-columns:1fr}}.pack-list{display:grid;gap:10px;align-content:start;max-height:calc(100vh - 180px);overflow-y:auto;scrollbar-gutter:stable;padding:4px}.pack-button{border:1px solid var(--border);background:color-mix(in srgb,#fff 88%,rgba(255,255,255,.74));border-radius:12px;text-align:left;padding:12px;cursor:pointer;display:grid;gap:3px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pack-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft);background:color-mix(in srgb,#fff 72%,rgba(255,255,255,.9))}.pack-button.active{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #5077b333}.pack-title{color:var(--text-main);font-weight:800;font-size:16px}.pack-meta{color:var(--text-secondary);font-size:13px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-content:start;max-height:calc(100vh - 180px);overflow-y:auto;scrollbar-gutter:stable;padding:2px}.card{border:1px solid var(--border);border-radius:var(--card-radius);background:color-mix(in srgb,var(--bg-card) 86%,rgba(255,255,255,.76));padding:16px;position:relative;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card:hover{transform:translateY(-2px);background:var(--bg-card-hover);box-shadow:var(--shadow-hover)}.card.selected{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #5077b333}.task-working-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;margin-bottom:8px;border:1px solid var(--border);font-size:12px;font-weight:900;letter-spacing:.02em;white-space:normal;text-align:center;max-width:100%}.task-working-badge.ok{border-color:#2f8f5b6b;color:#1e7b49;background:#2f8f5b21}.task-working-badge.late{border-color:#c99e2e80;color:#93720f;background:#c99e2e24}.task-working-badge.fail{border-color:#c94a4a6b;color:#ad3737;background:#c94a4a1f}.primary,.secondary,.ghost{padding:13px 17px;border-radius:12px;cursor:pointer;transition:.2s ease;font-weight:800;font-size:15px;color:var(--btn-fg);border:1px solid var(--btn-border)}.primary{background:linear-gradient(145deg,var(--btn-bg),color-mix(in srgb,var(--btn-bg) 74%,#ffffff 26%));box-shadow:0 10px 20px color-mix(in srgb,var(--btn-bg) 26%,transparent)}.secondary{background:color-mix(in srgb,var(--btn-bg) 84%,transparent);border-color:color-mix(in srgb,var(--btn-border) 84%,transparent)}.ghost{background:color-mix(in srgb,var(--btn-bg) 74%,transparent);border-color:color-mix(in srgb,var(--btn-border) 80%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.primary:hover{background:linear-gradient(145deg,var(--btn-bg-hover),color-mix(in srgb,var(--btn-bg-hover) 74%,#ffffff 26%));border-color:var(--btn-border-hover)}.secondary:hover{background:color-mix(in srgb,var(--btn-bg-hover) 84%,transparent);border-color:color-mix(in srgb,var(--btn-border-hover) 84%,transparent)}.ghost:hover{background:color-mix(in srgb,var(--btn-bg-hover) 74%,transparent);border-color:color-mix(in srgb,var(--btn-border-hover) 80%,transparent)}.primary:hover,.secondary:hover,.ghost:hover{transform:translateY(-1px)}.table{width:100%;border-collapse:collapse;font-size:14px}@media (max-width: 560px){.table{font-size:13px}.table-header-row{flex-wrap:wrap}}.table th{text-align:left;padding:12px 10px;color:var(--text-secondary);font-weight:700;background:#ffffff70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.table td{padding:11px 10px;border-top:1px solid var(--border);transition:background-color .55s ease,box-shadow .55s ease,border-radius .55s ease}.table tbody tr:nth-child(odd) td{background:#ffffff47}.table tbody tr:hover td{background:#aabfdc33}.table-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.table-header-row-tight{justify-content:flex-end;margin-bottom:8px}.find-me-btn{min-height:36px;padding:8px 12px;font-size:13px;color:#f4f8ff}.table-actions-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.sort-toggle-btn{min-height:36px;padding:8px 12px;font-size:13px;color:#f4f8ff}.rating-pagination-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:10px}.rating-page-btn{min-height:34px;padding:7px 10px;font-size:13px;color:#f4f8ff}.rating-page-meta{color:var(--text-secondary);font-size:13px;font-weight:700}.table-search-input{width:min(240px,100%);min-height:36px;padding:8px 10px;font-size:13px}.table-search-wrap{position:relative;display:inline-flex;align-items:center}.table-search-wrap .table-search-input{padding-right:34px}.table-search-clear{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--bg-card-hover) 82%,#ffffff);color:var(--text-secondary);font-size:14px;line-height:1;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.table-search-clear:hover{border-color:color-mix(in srgb,var(--accent-secondary) 46%,var(--border));color:var(--text-main)}.table th.history-col-date,.table td.history-col-date{text-align:center;white-space:nowrap}.history-task-separator td{border-top:none;padding:12px 0 8px;background:transparent!important}.history-task-separator-inner{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-secondary) 38%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 70%,#ffffff)}.history-task-code{font-weight:800;color:var(--text-main)}.history-task-title{font-weight:700;color:var(--text-secondary)}.history-attempt-marker{font-weight:700;color:var(--text-secondary);white-space:nowrap}.history-attempt-blank{color:var(--text-muted)}.history-task-block+.history-task-block .history-task-separator td{padding-top:16px}.corner-error-toast{position:fixed;right:24px;bottom:24px;z-index:9999;border:1px solid rgba(201,74,74,.58);background:#c94a4aeb;color:#fff3f3;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;box-shadow:0 10px 24px #781e1e59;pointer-events:none;max-width:min(360px,calc(100vw - 48px))}.corner-error-toast__hint{margin-top:6px;font-size:12px;font-weight:500;line-height:1.35;opacity:.88}.inline-error-banner{margin-bottom:10px;border:1px solid rgba(201,74,74,.58);background:#c94a4a29;color:#a42b2b;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700}.logs-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:12px}.logs-body{position:relative;margin-top:12px;min-height:0;display:grid;grid-template-rows:auto minmax(55vh,1fr);gap:16px}.logs-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.logs-source-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.logs-source-tab{min-height:34px;padding:6px 12px;color:#f4f8ff}.logs-source-tab.active{border-color:var(--accent-secondary);background:color-mix(in srgb,var(--accent-secondary) 24%,#1b1f28)}.logs-select{min-width:240px}.logs-select.logs-mini{min-width:150px}.logs-search-input{min-width:220px;max-width:320px}.logs-refresh-btn{min-height:36px;color:#f4f8ff}.logs-meta{color:var(--text-secondary);font-size:12px;font-weight:700}.logs-console-wrap{border:1px solid color-mix(in srgb,var(--border) 76%,rgba(255,255,255,.4));border-radius:12px;background:#0d1117;padding:12px;min-height:55vh;overflow:auto;height:100%}.logs-console{margin:0;min-height:100%;color:#c9d1d9;font-size:13px;line-height:1.5;font-family:JetBrains Mono,Roboto Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:pre}.logs-line{display:block;white-space:pre}.logs-line.match{background:#2f6aff3d;border-radius:6px}.logs-line.lvl-error{color:#ff6b6b}.logs-line.lvl-warning{color:#e0a54a}.logs-line.lvl-debug{color:#8aa0b8}.logs-line.lvl-info{color:inherit}.logs-levels{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 2px;font-size:12px}.logs-levels-label{color:var(--text-muted, #6b7890)}.logs-level-toggle{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid var(--border, #cbd4e1);border-radius:999px;cursor:pointer;opacity:.55;-webkit-user-select:none;user-select:none}.logs-level-toggle.on{opacity:1}.logs-level-toggle.lvl-error.on{border-color:#ff6b6b;color:#ff6b6b}.logs-level-toggle.lvl-warning.on{border-color:#e0a54a;color:#e0a54a}.logs-level-toggle.lvl-debug.on{border-color:#8aa0b8;color:#8aa0b8}.logs-level-toggle.lvl-info.on{border-color:var(--accent-secondary, #5077b3);color:var(--accent-secondary, #5077b3)}.found-self-row td{position:relative;box-shadow:inset 0 2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent),inset 0 -2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent);background-color:color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 10%,rgba(255,255,255,.92));animation:found-row-pulse 1.7s ease-in-out 2}.found-self-row td:first-child{box-shadow:inset 2px 2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent),inset 0 -2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent);border-top-left-radius:10px;border-bottom-left-radius:10px}.found-self-row td:last-child{box-shadow:inset -2px 2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent),inset 0 -2px color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 72%,transparent);border-top-right-radius:10px;border-bottom-right-radius:10px}@keyframes found-row-pulse{0%{background-color:color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 6%,rgba(255,255,255,.94))}50%{background-color:color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 16%,rgba(255,255,255,.9))}to{background-color:color-mix(in srgb,var(--find-ring, var(--accent-secondary)) 10%,rgba(255,255,255,.92))}}.status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px}.status.scored{background:#e6f5ed;color:#1e6f45}.status.pending{background:#fff2de;color:#b96a08}.status.failed{background:#fdeaea;color:#c94a4a}.verdict-badge{display:inline-flex;align-items:center;gap:7px;position:relative;overflow:hidden;padding:5px 10px;border-radius:999px;border:1px solid transparent;background:#ffffff80;line-height:1}.verdict-icon{position:relative;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.verdict-icon svg{width:18px;height:18px}.verdict-queue-position{position:absolute;top:-6px;right:-8px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:#2e57a3;color:#fff;font-size:9px;font-weight:800;line-height:14px;text-align:center;box-shadow:0 0 0 2px var(--surface, #fff)}.verdict-emoji{font-size:16px;line-height:1}.verdict-text{font-weight:800;letter-spacing:.1px}.verdict-testing{display:inline-flex;align-items:baseline;min-width:10ch}.verdict-testing-dots{display:inline-flex;width:3ch;justify-content:flex-start}.verdict-testing-dot{opacity:.2;animation:verdict-testing-dot 1.2s ease-in-out infinite}.verdict-testing-dot.dot-1{animation-delay:0s}.verdict-testing-dot.dot-2{animation-delay:.2s}.verdict-testing-dot.dot-3{animation-delay:.4s}.verdict-badge.accepted{border-color:#2ea2599e;background:linear-gradient(135deg,#44c47629,#22965240 55%,#44c47624);box-shadow:0 8px 20px #1e965033;animation:verdict-success-glow 1.8s ease-in-out infinite}.verdict-badge.accepted:after{content:"";position:absolute;top:-130%;left:-38%;width:30%;height:340%;transform:rotate(20deg);background:linear-gradient(90deg,#fff0,#ffffffb8,#fff0);animation:verdict-success-shine 1.8s ease-in-out infinite}.verdict-badge.accepted .verdict-icon{color:#188344}.verdict-badge.accepted .verdict-text{color:#136d38}.verdict-badge.wrong-answer{border-color:#bf3a3aad;background:#bf3a3a21}.verdict-badge.wrong-answer .verdict-icon{color:#b53939}.verdict-badge.wrong-answer .verdict-text{color:#922e2e}.verdict-badge.runtime-error{border-color:#d14f2799;background:#d14f2721}.verdict-badge.runtime-error .verdict-icon{color:#d14f27}.verdict-badge.runtime-error .verdict-text{color:#a93b1b}.verdict-badge.hacked{border-color:#752d99b8;background:#752d9929}.verdict-badge.hacked .verdict-icon,.verdict-badge.hacked .verdict-text{color:#742494}.verdict-badge.memory-limit{border-color:#9854d899;background:#9854d821}.verdict-badge.memory-limit .verdict-icon{color:#8f4ecd}.verdict-badge.memory-limit .verdict-text{color:#753db2}.verdict-badge.time-limit{border-color:#3f6ec29e;background:#3f6ec221}.verdict-badge.time-limit .verdict-icon{color:#3a68b8}.verdict-badge.time-limit .verdict-text{color:#2e57a3}.verdict-badge.not-tested{border-color:#3f6ec29e;background:#3f6ec221}.verdict-badge.not-tested .verdict-icon{color:#3a68b8}.verdict-badge.not-tested .verdict-text{color:#2e57a3}.verdict-badge.inferencing{border-color:#7649be9e;background:#7649be21}.verdict-badge.inferencing .verdict-icon,.verdict-badge.inferencing .verdict-text{color:#7040ae}.verdict-badge.training{border-color:#238b5b9e;background:#238b5b21}.verdict-badge.training .verdict-icon,.verdict-badge.training .verdict-text{color:#28764f}.verdict-badge.build-error{border-color:#a3771c94;background:#a3771c21}.verdict-badge.build-error .verdict-text{color:#8e5b00}.verdict-badge.archive-rejected{border-color:#a3771c94;background:#a3771c21}.verdict-badge.archive-rejected .verdict-text{color:#8e5b00}.verdict-badge.jury-error{border-color:#bf4e4e94;background:#bf4e4e21}.verdict-badge.jury-error .verdict-text{color:#8c2626}.verdict-badge.presentation-error{border-color:#a5772a9e;background:#a5772a2e}.verdict-badge.presentation-error .verdict-text{color:#7f4f13}.verdict-badge.unknown{border-color:#78859e73;background:#78859e1a}.verdict-badge.unknown .verdict-text{color:var(--text-secondary)}.error-codes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.error-code-card{border:1px solid var(--border);border-radius:14px;background:#ffffff9e;padding:12px;box-shadow:0 6px 16px #0f253f14}.error-code-card-top{display:flex;align-items:center;gap:9px}.error-code-icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#324e7a1f}.error-code-icon svg{width:18px;height:18px}.error-code-number{font-size:12px;font-weight:800;color:var(--text-secondary)}.error-code-title{margin-top:9px;font-size:16px;font-weight:800;color:var(--text-main)}.error-code-text{margin:7px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.error-code-card.accepted{border-color:#2ea25985}.error-code-card.accepted .error-code-icon{color:#188344;background:#2ea25929}.error-code-card.wrong{border-color:#bf3a3a85}.error-code-card.wrong .error-code-icon{color:#b53939;background:#bf3a3a29}.error-code-card.runtime{border-color:#d14f277a}.error-code-card.runtime .error-code-icon{color:#d14f27;background:#d14f2729}.error-code-card.time{border-color:#3f6ec280}.error-code-card.time .error-code-icon{color:#3a68b8;background:#3f6ec229}.error-code-card.memory{border-color:#9854d880}.error-code-card.memory .error-code-icon{color:#7d44b8;background:#9854d824}.error-code-card.build{border-color:#a3771c80}.error-code-card.build .error-code-icon{color:#8e5b00;background:#a3771c29}.error-code-card.jury{border-color:#bf4e4e80}.error-code-card.jury .error-code-icon{color:#8c2626;background:#bf4e4e29}.error-code-card.hacked{border-color:#752d9994}.error-code-card.hacked .error-code-icon{color:#742494;background:#752d9929}.error-code-card.testing{border-color:#3f6ec280}.error-code-card.testing .error-code-icon{color:#2e57a3;background:#3f6ec229}.error-code-card.inferencing{border-color:#7040ae80}.error-code-card.inferencing .error-code-icon{color:#7040ae;background:#7040ae29}.error-code-card.training{border-color:#28764f80}.error-code-card.training .error-code-icon{color:#28764f;background:#28764f29}@keyframes verdict-testing-dot{0%{opacity:.2}35%{opacity:1}to{opacity:.2}}@keyframes verdict-success-glow{0%{border-color:#2ea2599e;box-shadow:0 8px 20px #1e96502e}50%{border-color:#2ea259f2;box-shadow:0 11px 26px #1ea55857,0 0 0 2px #41be742e}to{border-color:#2ea2599e;box-shadow:0 8px 20px #1e96502e}}@keyframes verdict-success-shine{0%{left:-38%;opacity:0}18%{opacity:.9}42%{opacity:0}to{left:122%;opacity:0}}.leaderboard-baseline-row{background:#c99e2e1f;font-weight:700}.chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;border-radius:999px;padding:6px 10px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-main)}.chip .cup{width:14px;height:14px;display:inline-flex;color:#c6922d}.avatar-badge{border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--bg-panel);border:1px solid var(--border)}.avatar-badge-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-muted, #888)}.avatar-upload{display:flex;flex-direction:column;gap:6px;width:100%}.avatar-upload-row{display:flex;align-items:center;gap:10px}.avatar-upload-input{display:none}.avatar-upload-preview-btn{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);padding:0;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .16s ease}.avatar-upload-preview-btn:hover{border-color:var(--accent-secondary)}.avatar-upload-preview{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-upload-preview-placeholder{font-size:18px;font-weight:700;color:var(--text-muted);line-height:1}.avatar-upload-controls{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}.avatar-upload-pick-btn{min-height:0;padding:6px 10px;font-size:12px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-upload-btn{min-height:0;padding:6px 10px;font-size:12px}.avatar-upload-error{font-size:12px;color:var(--error)}.avatar-upload-success{font-size:12px;color:var(--success)}.task-pdf-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card-hover);color:var(--text-main);font-weight:700;font-size:12px;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.task-actions-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(74px,1fr));gap:8px;max-width:220px}.task-actions-grid .task-pdf-link{width:100%}.task-pdf-link:hover{transform:translateY(-1px);border-color:var(--accent-secondary);box-shadow:0 6px 14px #5077b329}.task-pdf-ico{width:14px;height:14px;display:inline-flex}.pack-status-grid{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.pack-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;border:1px solid var(--border);font-size:12px;font-weight:700;letter-spacing:.02em}.pack-status-pill.ok{border-color:#2f8f5b6b;color:#1e7b49;background:#2f8f5b21}.pack-status-pill.fail{border-color:#c94a4a6b;color:#ad3737;background:#c94a4a1f}.pack-status-pill.cheated{border-color:#b0202080;color:#b02020;background:#b020201a}.card.card-cheated{border-color:#b02020a6;background:#c94a4a17;box-shadow:inset 3px 0 #b02020}.task-note-view{margin-top:9px;border:1px dashed var(--border);border-radius:10px;background:#ffffff61;color:var(--text-secondary);font-size:12px;line-height:1.25;padding:8px 10px;white-space:pre-wrap}.task-viewer{display:grid;grid-template-columns:1fr;gap:12px}.code-box{border:1px solid var(--border);border-radius:var(--card-radius);background:#0d1117;color:#f0f6fc;padding:14px;overflow:auto;box-shadow:var(--shadow-soft)}.highlight-title{color:var(--text-secondary);margin:0 0 6px;font-size:13px}.flex-row{display:flex;gap:12px;flex-wrap:wrap}.admin-upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}.admin-upload-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-panel-sections{display:grid;gap:10px}.admin-panel-section{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);overflow:hidden}.admin-panel-section-head{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:color-mix(in srgb,var(--bg-card-hover) 82%,#ffffff 18%);border-bottom:1px solid transparent}.admin-panel-section.open .admin-panel-section-head{border-bottom-color:var(--border)}.admin-panel-section-toggle{min-height:34px;border:0;background:transparent;color:var(--text-main);display:inline-flex;align-items:center;gap:8px;padding:0;font-size:15px;font-weight:850;cursor:pointer}.admin-panel-section-toggle:hover{color:var(--accent-primary)}.admin-panel-section-chevron{width:16px;color:var(--accent-primary);font-size:15px;line-height:1}.admin-panel-section-actions{display:inline-flex;align-items:center;gap:8px}.admin-panel-section-body{padding:12px}.admin-flow-grid{display:grid;gap:12px}.admin-subsection{border:1px solid var(--border);border-radius:8px;background:var(--bg-card-hover);padding:12px;display:grid;gap:10px}.admin-subsection-title{min-height:24px;display:flex;align-items:center;color:var(--text-main);font-size:14px;font-weight:800;line-height:1.2}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.admin-form-field-wide{min-width:min(100%,260px)}.admin-subsection.admin-form-field-wide{grid-column:1 / -1}.admin-form-action{min-height:40px;align-self:end}.admin-context-line{display:flex;flex-wrap:wrap;gap:8px}.admin-context-line span{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-secondary);min-height:30px;display:inline-flex;align-items:center;padding:0 10px;font-size:12px;font-weight:700}.admin-pack-flow-table{display:grid;gap:6px;overflow-x:auto}.admin-pack-flow-row{min-width:820px;display:grid;grid-template-columns:minmax(180px,1.2fr) 90px 130px 170px minmax(250px,1fr);gap:8px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-main);font-size:13px;font-weight:700}.admin-pack-flow-row.head{min-height:34px;color:var(--text-secondary);background:transparent;border-color:transparent;padding-top:0;padding-bottom:0;font-size:12px;font-weight:850}.admin-status-pill{width:118px;min-height:30px;border:1px solid var(--border);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;font-size:12px;font-weight:850}.admin-status-pill.hidden{color:#8a5b16;border-color:#d1841f61;background:#ffe4aa66}.admin-status-pill.scheduled{color:#1d5c98;border-color:#5077b36b;background:#5077b31f}.admin-status-pill.open{color:#1f7d4a;border-color:#2f8f5b6b;background:#2f8f5b1f}.admin-status-pill.closed{color:#ad3737;border-color:#c94a4a6b;background:#c94a4a1f}.admin-action-group,.admin-semester-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-semester-actions{display:grid}.admin-upload-card{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);padding:14px;display:grid;gap:10px}.lecturer-course-card{display:grid;gap:10px}.lecturer-course-grid{grid-template-columns:1fr}.lecturer-release-list{display:flex;flex-wrap:wrap;gap:8px}.status-pill{width:fit-content;max-width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-card-hover);color:var(--text-secondary);padding:7px 10px;font-size:13px}.checkbox-line{min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);padding:0 10px;display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;font-weight:700}.admin-deadline-card{margin-top:0}.admin-upload-title{margin:0;font-size:16px;font-weight:800;color:var(--text-main)}.admin-upload-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-upload-field{display:grid;gap:4px;min-width:120px;color:var(--text-secondary);font-size:12px;font-weight:700}.admin-upload-hint{color:var(--text-muted);font-size:12px}.admin-upload-num{width:96px}.admin-upload-file{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#f4f8ff;border-color:#272727;background:#1b1f28}.admin-upload-file:hover{color:#fff;border-color:#3f3f3f;background:#252a35}.admin-upload-check{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.admin-upload-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-upload-action-btn{min-height:40px;padding:0 14px;font-weight:800}.admin-upload-action-btn.active{border-color:color-mix(in srgb,var(--accent-primary) 52%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 42%,transparent)}.admin-task-next-btn{border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-secondary) 46%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent-primary) 72%,#1e2a3f),color-mix(in srgb,var(--accent-secondary) 76%,#24354d));color:#f7fbff;font-weight:900;letter-spacing:.01em;box-shadow:0 6px 14px #2a4e821f}.admin-task-next-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-secondary) 62%,var(--border));color:#fff;box-shadow:0 8px 16px #2a4e822e}.admin-task-next-btn:disabled{opacity:.65;transform:none;box-shadow:none}.admin-task-main-btn{min-width:172px}.admin-task-pack-summary{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-card-hover) 68%,#ffffff);padding:9px 11px;display:grid;gap:3px}.admin-task-pack-name{font-size:14px;font-weight:900;color:var(--text-main)}.admin-task-pack-meta{font-size:12px;font-weight:700;color:var(--text-secondary)}.admin-task-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.admin-task-io-grid{display:grid;gap:10px}.admin-task-io-card{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-card-hover) 50%,#ffffff);padding:10px;display:grid;gap:8px}.admin-task-io-title{font-size:13px;font-weight:900;color:var(--text-main)}.admin-task-io-hint{font-size:12px;font-weight:700;color:var(--text-secondary);line-height:1.35}.admin-task-io-btn{min-width:220px}.admin-task-script-input{min-width:300px;flex:1 1 300px}.admin-task-pill{border:1px solid var(--border);border-radius:10px;background:var(--bg-card);padding:8px 10px;text-align:left;display:grid;gap:3px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.admin-task-pill:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent-secondary) 38%,var(--border))}.admin-task-pill.active{border-color:color-mix(in srgb,var(--accent-primary) 56%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-primary) 42%,transparent);background:color-mix(in srgb,var(--bg-card-hover) 76%,#ffffff)}.admin-task-pill-id{font-size:12px;font-weight:900;color:var(--text-main)}.admin-task-pill-title{font-size:12px;font-weight:700;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-upload-status{color:var(--text-secondary);font-size:13px}.admin-upload-progress{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.admin-upload-progress-track{width:100%;height:10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-card-hover) 80%,#ffffff 20%);overflow:hidden}.admin-upload-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transition:width .2s ease}.admin-upload-progress-label{min-width:42px;text-align:right;color:var(--text-main);font-size:12px;font-weight:800}.admin-upload-alert{border:1px solid transparent;border-radius:9px;padding:8px 10px;font-size:13px;font-weight:800}.admin-upload-alert.ok{border-color:#2f8f5b6b;color:#1e7b49;background:#2f8f5b24}.admin-upload-alert.error{border-color:#c94a4a6b;color:#ad3737;background:#c94a4a24}.admin-upload-alert.warning{border-color:#d1841f85;color:#8a5b16;background:#ffe4aa9e}.admin-semester-build-wrap{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.admin-semester-warning{flex:1 1 100%;max-width:420px;position:relative;padding-right:34px}.admin-semester-cancel-btn{width:40px;min-width:40px;height:40px;border:1px solid rgba(201,74,74,.5);border-radius:10px;background:#c94a4a1f;color:#a12834;font-size:18px;line-height:1;font-weight:900;cursor:pointer}.admin-semester-cancel-btn:hover{background:#c94a4a33}.admin-semester-cancel-btn:disabled{opacity:.65;cursor:default}.admin-semester-warning-close{position:absolute;top:4px;right:4px;width:22px;height:22px;border:1px solid rgba(138,91,22,.45);border-radius:7px;background:#fff4dbf2;color:#8a5b16;font-size:14px;line-height:1;font-weight:900;cursor:pointer}.admin-semester-warning-close:hover{background:#fff6df}.admin-deadline-grid{display:grid;gap:8px;max-height:340px;overflow:auto;padding-right:2px}.admin-deadline-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 160px 220px 220px 132px;gap:8px;align-items:center}.admin-deadline-row-head{color:var(--text-secondary);font-size:12px;font-weight:800;margin-bottom:2px}.admin-deadline-visibility-head{text-align:center}.admin-deadline-visibility-cell{width:100%;justify-self:stretch;display:flex;align-items:center;justify-content:center}.admin-deadline-freeze-col-head{text-align:center}.admin-deadline-freeze-cell{width:100%;display:flex;align-items:center;justify-content:center}.admin-deadline-pack{color:var(--text-main);font-size:13px;font-weight:700}.admin-pack-download-btn{display:inline-flex;align-items:center;justify-content:center;width:132px;height:38px;padding:0 8px;border-radius:10px;font-size:12px;font-weight:900;line-height:1;justify-self:center}.admin-deadline-input{height:38px;padding:0 8px}.admin-visibility-btn{width:132px;height:38px;border:1px solid var(--border);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:12px;font-weight:900;margin:0 auto;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.admin-visibility-btn.visible{color:#1f7d4a;background:#2f8f5b1f;border-color:#2f8f5b66}.admin-visibility-btn.hidden{color:#ad3737;background:#c94a4a1f;border-color:#c94a4a6b}.admin-visibility-btn:hover{transform:translateY(-1px);box-shadow:0 6px 12px #2c34421f}.admin-freeze-btn{width:132px;height:38px;border-radius:10px;border:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.admin-freeze-btn.off{color:var(--text-secondary);background:color-mix(in srgb,var(--bg-card-hover) 72%,#ffffff)}.admin-freeze-btn.on{color:#1d5c98;background:#5077b324;border-color:#5077b373}.admin-deadline-freeze-head{margin-top:2px;color:var(--text-main);font-size:13px;font-weight:800}.admin-deadline-freeze{min-height:92px;resize:vertical}.admin-deadline-recalc-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-deadline-recalc-wrap{display:grid;gap:8px}.admin-deadline-select{min-width:220px;height:40px;padding:0 10px}.admin-recalc-btn{border:1px solid #272727;background:#1b1f28;color:#f4f8ff;border-radius:10px;min-height:40px;padding:0 14px;font-weight:800;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.admin-recalc-btn:hover{background:#252a35;border-color:#3f3f3f;transform:translateY(-1px)}.admin-recalc-btn:disabled{opacity:.65;cursor:default;transform:none}.page-loader-table .pl-table{display:grid;gap:8px;width:min(320px,92%)}.pl-table-row{display:grid;grid-template-columns:1.4fr 1fr .7fr .7fr;gap:8px}.pl-table-row span{height:12px;border-radius:4px;background:linear-gradient(90deg,#5077b31a,#5077b342,#5077b31a);background-size:200% 100%;animation:pl-shimmer 1.3s ease-in-out infinite}.pl-table-row:nth-child(2) span{animation-delay:.08s}.pl-table-row:nth-child(3) span{animation-delay:.16s}.page-loader-list .pl-list{display:grid;gap:12px;width:min(280px,88%)}.pl-list-item{display:flex;align-items:center;gap:10px}.pl-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--accent-secondary);animation:pl-pulse 1.2s ease-in-out infinite}.pl-line{flex:1 1 auto;height:9px;border-radius:999px;background:linear-gradient(90deg,#5077b31a,#5077b33d,#5077b31a);background-size:200% 100%;animation:pl-shimmer 1.3s ease-in-out infinite}.pl-list-item:nth-child(1) .pl-dot,.pl-list-item:nth-child(1) .pl-line{animation-delay:0s}.pl-list-item:nth-child(2) .pl-dot,.pl-list-item:nth-child(2) .pl-line{animation-delay:.15s}.pl-list-item:nth-child(3) .pl-dot,.pl-list-item:nth-child(3) .pl-line{animation-delay:.3s}.pl-list-item:nth-child(2) .pl-line{width:82%}.pl-list-item:nth-child(3) .pl-line{width:64%}.page-loader-cards .pl-cards{display:flex;gap:10px}.pl-cards span{width:46px;height:58px;border-radius:10px;border:1px solid rgba(80,119,179,.25);background:linear-gradient(160deg,#5077b314,#5077b333);animation:pl-card-float 1.4s ease-in-out infinite}.pl-cards span:nth-child(2){animation-delay:.15s}.pl-cards span:nth-child(3){animation-delay:.3s}.page-loader-compare .pl-compare{display:flex;align-items:center;gap:8px;width:min(240px,84%)}.pl-compare-doc{flex:1 1 auto;height:64px;border-radius:8px;border:1px solid rgba(80,119,179,.28);background:repeating-linear-gradient(to bottom,rgba(80,119,179,.22) 0 6px,transparent 6px 12px);opacity:.8}.pl-compare-beam{flex:0 0 auto;width:3px;height:64px;border-radius:999px;background:var(--accent-secondary);box-shadow:0 0 10px 1px var(--accent-secondary);animation:pl-beam-sweep 1.6s ease-in-out infinite}.page-loader-scan .pl-scan{position:relative;width:48px;height:48px;display:grid;place-items:center}.pl-scan-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(80,119,179,.22);border-top-color:var(--accent-secondary);animation:pl-scan-rotate 1s linear infinite}.pl-scan-core{width:14px;height:14px;border-radius:50%;background:var(--accent-secondary);animation:pl-pulse 1.1s ease-in-out infinite}.page-loader-terminal .pl-terminal{display:grid;gap:8px;width:min(240px,84%);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace}.pl-terminal-line{display:block;height:9px;border-radius:2px;background:linear-gradient(90deg,#5077b31a,#5077b347,#5077b31a);background-size:200% 100%;animation:pl-shimmer 1.2s ease-in-out infinite}.pl-terminal-line:nth-child(2){width:70%;animation-delay:.1s}.pl-terminal-cursor{width:8px;height:14px;background:var(--accent-secondary);animation:pl-blink .9s steps(1) infinite;justify-self:start}.page-loader-detail .pl-detail{display:grid;gap:8px;width:min(260px,88%)}.pl-detail span{height:10px;border-radius:4px;background:linear-gradient(90deg,#5077b31a,#5077b342,#5077b31a);background-size:200% 100%;animation:pl-shimmer 1.4s ease-in-out infinite}.pl-detail span:nth-child(1){width:40%}.pl-detail span:nth-child(2){width:92%;animation-delay:.1s}.pl-detail span:nth-child(3){width:78%;animation-delay:.2s}.pl-detail span:nth-child(4){width:86%;animation-delay:.3s}.page-loader-quiz .pl-quiz{display:grid;gap:10px;width:min(220px,84%);justify-items:center}.pl-quiz-card{width:56px;height:40px;border-radius:8px;border:1px solid rgba(80,119,179,.3);background:linear-gradient(135deg,#5077b31a,#5077b33d);animation:pl-quiz-flip 1.6s ease-in-out infinite}.pl-quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}.pl-quiz-options span{height:16px;border-radius:6px;border:1px solid rgba(80,119,179,.22);background:#5077b31f;animation:pl-pulse 1.1s ease-in-out infinite}.pl-quiz-options span:nth-child(2){animation-delay:.15s}.pl-quiz-options span:nth-child(3){animation-delay:.3s}.pl-quiz-options span:nth-child(4){animation-delay:.45s}@keyframes pl-quiz-flip{0%,to{transform:perspective(200px) rotateY(0)}50%{transform:perspective(200px) rotateY(180deg)}}@keyframes pl-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes pl-pulse{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1.15);opacity:1}}@keyframes pl-card-float{0%,to{transform:translateY(0);opacity:.75}50%{transform:translateY(-6px);opacity:1}}@keyframes pl-beam-sweep{0%,to{transform:translateY(-22px);opacity:.4}50%{transform:translateY(22px);opacity:1}}@keyframes pl-scan-rotate{to{transform:rotate(360deg)}}@keyframes pl-blink{0%,49%{opacity:1}50%,to{opacity:0}}.subject-page{padding:16px 18px 60px}.subject-switcher{display:inline-flex;min-width:180px;max-width:300px;flex:0 1 300px;align-items:center;gap:8px;color:#17365f;font-size:13px;font-weight:700}.subject-switcher select{min-width:0;width:100%;height:36px;border:1px solid rgba(68,102,148,.34);border-radius:6px;background:#ffffffeb;color:#17365f;padding:0 30px 0 10px;font:inherit}.subject-bootstrap{min-height:100vh;display:grid;place-items:center}.resource-manager-table-shell{position:relative;min-height:48px}.rm-console{--rm-border: rgba(77, 91, 111, .2);--rm-muted: #667085;display:grid;gap:0;padding:0;overflow:hidden;color:#172033;background:#fff;border-radius:8px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.rm-console .primary,.rm-console .secondary,.rm-console .ghost{min-height:36px;padding:8px 12px;border-radius:6px;box-shadow:none;font-size:13px;font-weight:700;transition:background-color .12s ease,border-color .12s ease,color .12s ease;transform:none;-webkit-backdrop-filter:none;backdrop-filter:none}.rm-console .primary{border-color:#1f67b1;background:#1f67b1;color:#fff}.rm-console .primary:hover{border-color:#174f87;background:#174f87;transform:none}.rm-console .secondary{border-color:#b8c3d0;background:#fff;color:#29435f}.rm-console .secondary:hover,.rm-console .ghost:hover{border-color:#8796a8;background:#eef2f6;transform:none}.rm-console .ghost{border-color:transparent;background:transparent;color:#475467}.rm-console .ghost.danger{color:#a53636}.rm-console .ghost.danger:hover{border-color:#e2b7b7;background:#fff1f1}.rm-console .primary:disabled,.rm-console .secondary:disabled,.rm-console .ghost:disabled{opacity:.45;cursor:default}.rm-console .input{width:100%;min-height:38px;border:1px solid #b8c3d0;border-radius:6px;background:#fff;color:#172033;box-shadow:none;font-size:13px}.rm-console .input:focus{border-color:#3979bb;outline:2px solid rgba(57,121,187,.16);outline-offset:0}.rm-topbar,.rm-section-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.rm-topbar{min-height:76px;padding:16px 20px;border-bottom:1px solid var(--rm-border)}.rm-topbar>div,.rm-section-bar>div{min-width:0}.rm-topbar h2,.rm-section-bar h3{margin:0;letter-spacing:0}.rm-topbar h2{font-size:20px}.rm-section-bar h3{font-size:16px}.rm-topbar span,.rm-section-bar span{display:block;margin-top:3px;color:var(--rm-muted);font-size:13px}.rm-icon-button{width:36px;height:36px;flex:0 0 36px;padding:9px;border:1px solid var(--rm-border);border-radius:6px;background:#fff;color:#344054;cursor:pointer}.rm-icon-button:hover{border-color:#98a2b3;background:#f7f8fa}.rm-icon-button:disabled{opacity:.45;cursor:default}.rm-tabs{display:flex;gap:2px;padding:0 20px;border-bottom:1px solid var(--rm-border);background:#fafbfc}.rm-tabs button{min-height:45px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#667085;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.rm-tabs button:hover{color:#243b5a}.rm-tabs button.active{border-bottom-color:#1f67b1;color:#174f87}.rm-tabs button span{display:inline-grid;min-width:20px;height:20px;margin-left:5px;place-items:center;border-radius:10px;background:#e8edf3;color:#475467;font-size:11px}.rm-section{display:grid;min-width:0}.rm-section-bar{min-height:68px;padding:12px 20px}.rm-token-panel{min-width:0}.rm-token-field{display:grid;gap:8px;min-width:0;padding:18px 20px 0}.rm-token-field>span{color:#344054;font-size:12px;font-weight:700}.rm-token-row{display:flex;min-width:0;align-items:stretch;gap:10px}.rm-token-value{display:flex;min-width:0;min-height:40px;flex:1 1 auto;align-items:center;padding:8px 12px;overflow-wrap:anywhere;border:1px solid #b8c3d0;border-radius:6px;background:#fff;color:#172033;font-size:13px;line-height:1.35}.rm-token-actions{display:flex;flex:0 0 auto;gap:8px;align-items:stretch}.rm-token-hint{max-width:760px;margin:12px 20px 20px;line-height:1.5}.rm-create-form,.rm-manager-form{display:grid;align-items:end;gap:12px;padding:14px 20px;border-top:1px solid var(--rm-border);background:#f7f9fb}.rm-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-create-intro,.rm-create-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;grid-column:1 / -1}.rm-create-intro{display:grid;gap:3px;padding-bottom:2px}.rm-create-intro span,.rm-create-submit .muted{font-size:12px}.rm-create-submit{justify-content:flex-end}.rm-file-drop{position:relative;display:grid;gap:3px;min-height:58px;align-content:center;padding:9px 12px;border:1px dashed #98a2b3;border-radius:6px;background:#fff;cursor:pointer}.rm-file-drop:hover,.rm-file-drop:focus-within{border-color:#2f6fed;background:#f7faff}.rm-file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.rm-file-drop small{color:var(--rm-muted);font-size:11px}.rm-manager-form{grid-template-columns:minmax(240px,1fr) minmax(260px,1.2fr) auto;border-bottom:1px solid var(--rm-border)}.rm-field{display:grid;min-width:0;gap:6px}.rm-field-wide{grid-column:1 / -1}.rm-field>span{color:#475467;font-size:12px;font-weight:700}.rm-directory{border-top:1px solid var(--rm-border)}.rm-subject-head,.rm-subject-row{display:grid;grid-template-columns:minmax(230px,1.5fr) 92px minmax(150px,.8fr) 84px 72px 112px;gap:16px;align-items:center}.rm-subject-head,.rm-manager-head,.rm-audit-head{min-height:34px;padding:0 20px;border-bottom:1px solid var(--rm-border);background:#f7f8fa;color:#667085;font-size:11px;font-weight:700;text-transform:uppercase}.rm-subject{border-bottom:1px solid var(--rm-border)}.rm-subject.archived .rm-subject-row{background:#fafafa}.rm-subject-row{min-height:64px;padding:9px 20px}.rm-subject-name,.rm-person{display:grid;min-width:0;gap:3px}.rm-subject-name strong,.rm-person strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.rm-subject-name span,.rm-person span{overflow:hidden;color:var(--rm-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rm-status{display:inline-flex;width:max-content;align-items:center;gap:6px;color:#475467;font-size:12px;font-weight:700}.rm-status:before{width:7px;height:7px;border-radius:50%;background:#98a2b3;content:""}.rm-status.active:before{background:#25885a}.rm-role-counts{display:flex;gap:12px;color:#667085;font-size:12px}.rm-role-counts b{color:#25344a}.rm-number{font-size:13px;font-variant-numeric:tabular-nums}.rm-subject-detail{display:grid;gap:14px;min-width:0;padding:16px;background:#f8fafc;border-top:1px solid var(--rm-border)}.rm-subject-detail>*{min-width:0}.rm-subject-detail-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;justify-content:space-between;gap:16px 24px;padding:18px;border:1px solid var(--rm-border);border-radius:12px;background:#fff}.rm-subject-detail-heading{display:grid;gap:6px;min-width:0}.rm-subject-detail-heading h3{margin:0;color:#172033;font-size:17px}.rm-subject-detail-heading p,.rm-subject-setting-card p{margin:0;color:var(--rm-muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.rm-subject-database-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;min-width:0}.rm-subject-database-actions>button{min-height:40px}.rm-import-button{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;min-height:40px;padding:6px 10px;text-align:center;cursor:pointer}.rm-import-button input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.rm-import-button small{max-width:220px;overflow:hidden;color:var(--rm-muted);font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.rm-subject-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rm-subject-setting-card{display:grid;align-content:start;gap:8px;min-width:0;padding:14px;border:1px solid var(--rm-border);border-radius:12px;background:#fff}.rm-subject-setting.checkbox-line{width:fit-content;max-width:100%;min-height:32px;padding:0;border:0;background:transparent;color:#344054;white-space:normal;overflow-wrap:anywhere}.rm-subject-setting input{flex:0 0 auto}.rm-import-message{padding:8px 20px;color:#26734d;font-size:12px}.rm-staff-editor{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:12px;min-width:0}.rm-staff-list{min-width:0;padding:16px 20px;border:1px solid var(--rm-border);border-radius:12px;background:#fff}.rm-staff-form{display:grid;align-content:start;gap:12px;padding:16px 20px;border:1px solid var(--rm-border);border-radius:12px;background:#fff}.rm-subsection-heading{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px;color:#344054;font-size:13px}.rm-subsection-heading span{color:var(--rm-muted);font-variant-numeric:tabular-nums}.rm-staff-form .rm-add-toggle{width:auto;min-width:92px;height:36px;flex:0 0 auto;padding:0 12px;border-radius:8px;font-size:12px;line-height:1.2;white-space:nowrap;transform:none}.rm-staff-form .rm-add-toggle[aria-expanded=true]{transform:none}.rm-project-access{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--rm-border);border-radius:12px;background:#fff}.rm-project-access .rm-subsection-heading{align-items:center}.rm-project-access .rm-subsection-heading select{max-width:240px}.rm-project-access>.muted{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.rm-project-group{display:grid;gap:8px;padding:12px;border:1px solid var(--rm-border);border-radius:8px;background:#fff}.rm-project-pack-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px}.rm-project-pack-list .checkbox-line{width:100%;min-width:0;min-height:40px;white-space:normal;overflow-wrap:anywhere}.rm-staff-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(125px,150px) auto;gap:12px;align-items:center;min-width:0;min-height:52px;padding-block:7px;border-top:1px solid var(--rm-border)}.rm-staff-row>*,.rm-staff-row .rm-person{min-width:0}.rm-role-select{min-width:0}.rm-remove-action{padding-inline:8px}.rm-subject-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 20px;border-top:1px solid var(--rm-border)}.rm-manager-list,.rm-audit-list{display:grid}.rm-manager-head,.rm-manager-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1fr) 90px;gap:16px;align-items:center}.rm-manager-row{min-height:58px;padding:8px 20px;border-bottom:1px solid var(--rm-border);font-size:13px}.rm-manager-row>span{overflow:hidden;color:var(--rm-muted);text-overflow:ellipsis;white-space:nowrap}.rm-compiler-row{grid-template-columns:minmax(220px,1fr) minmax(0,1fr)}.rm-compiler-row>div{display:grid;gap:4px;min-width:0}.rm-compiler-row>div span,.rm-compiler-row>code{overflow:hidden;color:var(--rm-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rm-audit-head,.rm-audit-row{display:grid;grid-template-columns:180px minmax(230px,1fr) minmax(160px,.7fr);gap:16px;align-items:center}.rm-audit-row{min-height:48px;padding:8px 20px;border-bottom:1px solid var(--rm-border);font-size:13px}.rm-audit-row time,.rm-audit-row span{color:var(--rm-muted)}.rm-empty-row{padding:18px 20px;color:var(--rm-muted);font-size:13px}.rt-console{min-width:0}.rt-topbar{align-items:flex-end}.rt-context{display:flex;min-width:min(420px,48%);align-items:flex-end;justify-content:flex-end;gap:10px}.rt-context label{display:grid;min-width:240px;gap:5px}.rt-context label>span{color:#667085;font-size:11px;font-weight:700;text-transform:uppercase}.rt-section{display:grid;min-width:0;border-top:1px solid var(--rm-border)}.rt-section:first-of-type{border-top:0}.rt-form{display:grid;align-items:end;gap:12px;padding:14px 20px;border-top:1px solid var(--rm-border);border-bottom:1px solid var(--rm-border);background:#f7f9fb}.rt-image-form{grid-template-columns:minmax(130px,.45fr) minmax(210px,.8fr) minmax(180px,.7fr)}.rt-image-form .primary{justify-self:start}.rt-file-input{padding:6px 8px}.rt-toolchain-form{grid-template-columns:minmax(160px,.6fr) minmax(280px,1.4fr) auto}.rt-method-fieldset{grid-column:1 / -1;margin:0;padding:12px;border:1px solid var(--rm-border);border-radius:8px}.rt-method-fieldset legend{padding:0 6px;color:#475467;font-size:12px;font-weight:700}.rt-submission-methods{display:flex;flex-wrap:wrap;gap:10px 20px}.rt-submission-methods label{display:flex;align-items:center;gap:7px;font-size:13px}.rt-method-fieldset>small,.rt-method-summary{display:block;margin-top:5px;color:var(--rm-muted);font-size:11px;font-weight:400}.rt-image-list,.rt-version-list{display:grid}.rt-image-head,.rt-image-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 90px;gap:16px;align-items:center}.rt-version-head,.rt-version-row{display:grid;grid-template-columns:minmax(70px,.55fr) minmax(150px,1.5fr) minmax(95px,.9fr) minmax(145px,1.25fr) minmax(85px,.8fr);gap:16px;align-items:center}.rt-image-head,.rt-version-head{min-height:34px;padding:0 20px;border-bottom:1px solid var(--rm-border);background:#f7f8fa;color:#667085;font-size:11px;font-weight:700;text-transform:uppercase}.rt-image-row,.rt-version-row{min-height:56px;padding:9px 20px;border-bottom:1px solid var(--rm-border);font-size:13px}.rt-image-row code,.rt-version-row code{min-width:0;overflow:hidden;color:#475467;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;text-overflow:ellipsis;overflow-wrap:anywhere;line-height:1.35}.rt-version-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}@media (max-width: 1050px){.rm-subject-head{display:none}.rm-subject-row{grid-template-columns:minmax(190px,1fr) 90px 120px 104px}.rm-subject-row>.rm-number{display:none}.rm-staff-editor{grid-template-columns:1fr}.rm-subject-detail-topbar{grid-template-columns:minmax(0,1fr)}.rm-subject-database-actions{justify-content:flex-start;flex-wrap:wrap}.rm-staff-form{border-top:1px solid var(--rm-border)}.rm-create-form,.rm-manager-form,.rt-form{grid-template-columns:1fr}.rm-manager-head,.rm-audit-head,.rt-image-head,.rt-version-head{display:none}.rm-manager-row,.rm-audit-row{grid-template-columns:1fr;gap:5px;padding-block:12px}.rt-image-row{grid-template-columns:minmax(0,1fr) 130px 90px}.rt-version-row{grid-template-columns:minmax(70px,.55fr) minmax(140px,1.4fr) minmax(90px,.9fr) minmax(130px,1.2fr) minmax(80px,.8fr)}}@media (max-width: 680px){.rm-token-row{flex-direction:column}.rm-token-actions{width:100%}.rm-token-actions>button{flex:1 1 0}.rm-topbar,.rm-section-bar,.rm-subject-row,.rm-manager-row,.rm-audit-row,.rt-image-row,.rt-version-row{padding-inline:14px}.rm-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-inline:6px}.rm-tabs button{flex:1;padding-inline:6px;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:11px;padding-inline:2px}.rm-subject-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding-block:12px}.rm-subject-row .rm-status,.rm-subject-row .rm-role-counts{grid-row:2}.rm-subject-row>button{grid-column:2;grid-row:1}.rm-staff-list,.rm-staff-form,.rm-subject-actions,.rm-subject-detail,.rm-create-form,.rm-manager-form{padding-inline:14px}.rm-subject-detail-topbar{gap:12px;padding:14px}.rm-subject-settings-grid{grid-template-columns:minmax(0,1fr)}.rm-subject-database-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.rm-subject-database-actions>button,.rm-subject-database-actions>label{width:100%;min-width:0}.rm-import-button small{max-width:100%}.rm-staff-row{grid-template-columns:minmax(0,1fr) minmax(100px,130px);padding-block:8px}.rm-staff-row .rm-person{grid-column:1 / -1}.rm-remove-action{grid-column:2}.rm-subject-actions{flex-direction:column}.rm-create-intro,.rm-create-submit{align-items:stretch;flex-direction:column}.rm-create-submit button,.rm-subject-detail-topbar button{width:100%}.rt-topbar{align-items:stretch;flex-direction:column}.rt-context{width:100%;min-width:0;max-width:none}.rt-context label{min-width:0;flex:1}.rt-form{padding-inline:14px}.rt-image-row,.rt-version-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding-block:12px}.rt-image-row code,.rt-version-row code{grid-column:1 / -1;grid-row:2}.rt-image-row{grid-template-columns:minmax(0,1fr) auto}.rt-image-row>button{grid-column:2}}.subject-switcher.single{flex-direction:column;align-items:flex-start;gap:1px}.subject-switcher small{color:#64748b;font-size:11px;font-weight:600}.subject-switcher .subject-switcher-readiness{color:#a34b16}.theme-resource-manager .rm-console{--rm-border: #3d171c;--rm-muted: #aaaaaa;border-color:#4b161e;background:#101010;color:#f7f7f7}.theme-resource-manager .rm-console .primary,.theme-resource-manager .rm-console .secondary,.theme-resource-manager .rm-console .ghost{border-color:#cf2739;background:#070707;color:#fff}.theme-resource-manager .rm-console .primary:hover,.theme-resource-manager .rm-console .secondary:hover,.theme-resource-manager .rm-console .ghost:hover{border-color:#ef3b4e;background:#1c1c1c;color:#fff}.theme-resource-manager .rm-console .ghost.danger{color:#ff6e7c}.theme-resource-manager .rm-console .input,.theme-resource-manager .rm-icon-button{border-color:#5c2028;background:#070707;color:#fff}.theme-resource-manager .rm-console .input:focus{border-color:#ef3b4e;outline-color:#ef3b4e47}.theme-resource-manager .rm-tabs,.theme-resource-manager .rm-create-form,.theme-resource-manager .rm-manager-form,.theme-resource-manager .rm-staff-form,.theme-resource-manager .rt-form{background:#171717}.theme-resource-manager .rm-add-toggle{border-color:#e33b4f;background:#e33b4f;color:#fff;box-shadow:0 2px 8px #e33b4f61}.theme-resource-manager .rm-add-toggle:hover{border-color:#ff6373;background:#ff6373;box-shadow:0 3px 11px #e33b4f80}.theme-resource-manager .rm-add-toggle[aria-expanded=true]{border-color:#a92032;background:#a92032}.theme-resource-manager .rm-tabs button{color:#bdbdbd}.theme-resource-manager .rm-tabs button:hover,.theme-resource-manager .rm-tabs button.active{color:#fff}.theme-resource-manager .rm-tabs button.active{border-bottom-color:#ef3b4e}.theme-resource-manager .rm-tabs button span{background:#2b1115;color:#ff9da7}.theme-resource-manager .rm-field>span,.theme-resource-manager .rt-context label>span,.theme-resource-manager .rm-subsection-heading,.theme-resource-manager .rm-status,.theme-resource-manager .rm-role-counts,.theme-resource-manager .rm-audit-row time,.theme-resource-manager .rm-audit-row span{color:#bdbdbd}.theme-resource-manager .rm-subject-head,.theme-resource-manager .rm-manager-head,.theme-resource-manager .rm-audit-head,.theme-resource-manager .rt-image-head,.theme-resource-manager .rt-version-head{background:#1b1b1b;color:#d0d0d0}.theme-resource-manager .rm-subject.archived .rm-subject-row,.theme-resource-manager .rm-subject-detail{background:#151515}.theme-resource-manager :is(.rm-subject-detail-topbar,.rm-staff-list,.rm-staff-form,.rm-subject-setting-card,.rm-project-access,.rm-project-group){border-color:#3d171c;background:#111;color:#f7f7f7}.theme-resource-manager .rm-subject-detail-heading p,.theme-resource-manager .rm-subject-setting-card p,.theme-resource-manager .rm-import-button small{color:#aaa}.theme-resource-manager .rm-subject-detail-heading h3{color:#fff}.theme-resource-manager .rm-subject-setting.checkbox-line{color:#f0f0f0}.theme-resource-manager .rm-subject-name span,.theme-resource-manager .rm-person span,.theme-resource-manager .rm-manager-row>span,.theme-resource-manager .rm-empty-row{color:#aaa}.theme-resource-manager .rm-role-counts b,.theme-resource-manager .rt-image-row code,.theme-resource-manager .rt-version-row code{color:#f2f2f2}.theme-resource-manager .rm-status.active:before{background:#ef3b4e}.subject-switcher.loading,.subject-switcher.error{font-weight:600;color:#64748b}.subject-switcher.error{color:#a23636}.subject-hero{margin:12px 0 18px;padding:14px 16px;border-radius:14px;background:radial-gradient(1200px 400px at 30% 0%,rgba(53,110,197,.2),transparent 60%),linear-gradient(180deg,#efc89a59,#efc89a1a);border:1px solid rgba(3,1,122,.16)}.subject-title{margin:0;font-size:24px;letter-spacing:.2px}.subject-subtitle{margin-top:6px;opacity:.78}.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subject-card{border-radius:14px;padding:14px 14px 12px;border:1px solid rgba(3,1,122,.16);background:#ffffffa6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.subject-card-wide{grid-column:1 / -1}.subject-card-title{font-weight:700;margin-bottom:10px}.subject-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.subject-kv{margin-top:10px;display:grid;gap:6px;font-size:14px;opacity:.9}.subject-table{display:grid;gap:6px}.subject-table-head,.subject-table-row{display:grid;grid-template-columns:90px 140px 140px 1fr;gap:10px;align-items:center}.subject-table-head{font-size:12px;opacity:.7;text-transform:uppercase;letter-spacing:.06em}.subject-table-row{padding:10px;border-radius:12px;border:1px solid rgba(3,1,122,.12);background:#efc89a24}@media (max-width: 980px){.subject-switcher{min-width:140px}.subject-grid{grid-template-columns:1fr}}.hackathon-team-picker{position:relative;display:flex;align-items:center;gap:8px;min-width:0}.hackathon-team-picker>span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-picker-current{display:inline-flex;align-items:center;gap:7px;max-width:210px}.team-picker-current>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hackathon-team-menu{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;gap:6px;min-width:260px;padding:10px;border:1px solid var(--border-color, #d5d9df);background:var(--panel-background, #fff);box-shadow:0 10px 24px #0000001f}.hackathon-team-menu form{display:flex;gap:6px}.rm-environment-panel{display:grid;gap:12px;margin-top:18px;padding:16px 20px 4px;border-top:1px solid var(--border-color, #d5d9df)}.rm-subject-compilers{display:grid;gap:10px;margin-top:18px;padding:16px 20px;border-top:1px solid var(--border-color, #d5d9df)}.rm-compiler-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px}.rm-compiler-options .checkbox-line{margin:0}.rm-compiler-options small{display:block;color:var(--rm-muted)}.rm-compiler-save{display:flex;align-items:center;gap:12px}.rm-team-photo-row{display:flex;align-items:end;gap:12px}.rm-team-photo-row .rm-field{flex:1}.rm-environment-panel .rm-subsection-heading{align-items:center}.rm-environment-panel .rm-subsection-heading>div{min-width:0}.rm-environment-panel .rm-subsection-heading strong,.rm-environment-panel .rm-subsection-heading span{overflow-wrap:anywhere}.rm-environment-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;color:#7c8490;font-size:12px}.rm-environment-modal-intro{display:grid;gap:4px;margin-bottom:16px;color:#475467}.rm-environment-modal-intro span{color:#7c8490;font-size:13px}.rm-build-log-wrap{display:grid;gap:8px;margin-top:18px}.rm-environment-form{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(210px,.8fr) auto;gap:10px;align-items:end}.rm-environment-form>.rm-field:first-child{min-width:0}.rm-environment-drop{position:relative;display:grid;min-height:76px;align-content:center;gap:4px;padding:12px 14px;border:1px dashed #aeb8c5;border-radius:6px;background:#fff;color:#344054;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.rm-environment-drop:hover,.rm-environment-drop.dragging{border-color:#2f6fed;background:#f5f8ff}.rm-environment-drop input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.rm-environment-drop small{color:#7c8490;font-size:11px}.rm-inferred-language{width:fit-content;padding:6px 9px;border:1px solid #d8e3f8;border-radius:4px;background:#f5f8ff;color:#475467;font-size:12px}.rm-subject-actions{background:#fbfcfd}.rm-subject-actions .danger{color:#b42318}.rm-subsection-heading>div{display:grid;gap:3px}.rm-subsection-heading>div>span{font-size:12px;font-weight:400;color:#7c8490}.rm-diagnostics{display:grid;gap:6px}.rm-warning{padding:8px 10px;border-left:3px solid #d28a16;background:#fff6df;color:#76500d;font-size:13px}.rm-build-log{max-height:260px;overflow:auto;margin:0;padding:12px;border:1px solid var(--border-color, #d5d9df);background:#101216;color:#d7e0ea;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}@media (max-width: 900px){.rm-environment-form{grid-template-columns:1fr 1fr}.rm-environment-form>:last-child{grid-column:1 / -1}}@media (max-width: 620px){.rm-environment-panel{padding-inline:14px}.rm-environment-panel .rm-subsection-heading{align-items:stretch;flex-direction:column}.rm-environment-panel .rm-subsection-heading button{width:100%}.rm-environment-form{grid-template-columns:1fr}.rm-environment-form>:last-child{grid-column:auto}}.login-page{max-width:560px;width:100%;margin:0;padding:38px 34px;text-align:left;display:grid;gap:16px;border:1px solid var(--border);border-radius:18px;background:#ffffffe6;box-shadow:0 18px 38px #13244724}.login-hero{display:grid;justify-items:center;margin-top:-6px}.login-page-password{padding-top:24px}.login-page-password .login-hero{margin-top:-24px}.login-hero-frame{width:128px;height:128px;border-radius:28px;padding:10px;border:1px solid color-mix(in srgb,var(--accent-secondary) 35%,var(--border));background:radial-gradient(circle at 30% 25%,#fffffff2,#e9f3ffe6 55%,#dce9fbeb);box-shadow:0 16px 32px #1d336629;position:relative;overflow:hidden}.login-page-password .login-hero-frame{width:164px;height:164px;border-radius:32px}.login-hero-frame:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:conic-gradient(from 180deg,#5077b300,#5077b32e,#5077b300);animation:login-hero-spin 5.4s linear infinite;pointer-events:none}.login-hero-icon{width:100%;height:100%;object-fit:contain;display:block;border-radius:18px;position:relative;z-index:1;filter:drop-shadow(0 10px 14px rgba(19,36,71,.18))}@keyframes login-hero-spin{to{transform:rotate(360deg)}}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(480px,1fr) minmax(420px,560px);align-items:center;gap:34px;padding:42px}.login-visual{display:grid;gap:14px}.login-brand{margin:0;font-size:44px;letter-spacing:2.2px;font-weight:900;color:#1d3366}.login-subtitle{margin:0;color:var(--text-secondary)}.login-demo-title{margin:0;color:#1d3366;font-size:18px;font-weight:800}.tree-canvas{position:relative;height:340px;border-radius:20px;border:1px solid #c2d0e9;background:radial-gradient(circle at 25% 15%,#f6fbff,#e9f3ff 48%,#dce9fb);box-shadow:0 18px 40px #1d336626}.tree-links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tree-links line{stroke:#5579b4;stroke-width:2;opacity:.65}.tree-node{position:absolute;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;border:2px solid #85a3cf;background:#ffffffeb;color:#304871;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease}.tree-node.active{border-color:#3e66a4;background:#e7f0ff}.tree-node.current{transform:translate(-50%,-50%) scale(1.12);border-color:#1d3366;background:linear-gradient(135deg,#5077b3,#1d3366);color:#fff;box-shadow:0 0 0 4px #5077b340}.traversal-box{border-radius:14px;border:1px solid #c2d0e9;padding:12px 14px;background:#f4f8ff}.traversal-title{font-size:13px;font-weight:800;color:#1d3366;margin-bottom:6px;letter-spacing:.2px}.traversal-seq{color:#51658a;font-weight:600}.traversal-seq .on{color:#1d3366;font-weight:800}.merge-box{display:grid;gap:8px;border-radius:16px;border:1px solid #c2d0e9;background:#f5f9ff;padding:12px}.merge-stage{border-radius:10px;border:1px solid #ccd9ef;background:#fff;color:#6c7f9f;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;padding:9px 11px;font-size:13px;opacity:.45;transform:translate(0);transition:transform .25s ease,border-color .25s ease,color .25s ease,background .25s ease,opacity .25s ease,box-shadow .25s ease}.merge-stage.done{opacity:.85;color:#3f557e;border-color:#9fb6db;background:#edf4ff;transform:translate(6px)}.merge-stage.current{opacity:1;color:#1d3366;border-color:#2f59a0;background:linear-gradient(135deg,#eaf2ff,#dce9ff);transform:translate(10px) scale(1.01);box-shadow:0 10px 22px #2c53992e;animation:merge-current-pulse 1.05s ease-in-out infinite}@keyframes merge-current-pulse{0%{border-color:#2f59a0;box-shadow:0 10px 22px #2c53992e}50%{border-color:#1d3366;box-shadow:0 14px 28px #24478742,0 0 0 3px #5077b32e}to{border-color:#2f59a0;box-shadow:0 10px 22px #2c53992e}}.bfs-canvas{position:relative;height:340px;border-radius:20px;border:1px solid #c2d0e9;background:radial-gradient(circle at 25% 15%,#f6fbff,#e9f3ff 48%,#dce9fb);box-shadow:0 18px 40px #1d336626}.bfs-wrap{display:grid;gap:10px}.bfs-canvas svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.bfs-edge{stroke:#5579b4;stroke-width:2;opacity:.65}.bfs-node{position:absolute;transform:translate(-50%,-50%);width:50px;height:50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;border:2px solid #85a3cf;background:#ffffffeb;color:#304871;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease}.bfs-node.active{border-color:#3e66a4;background:#e7f0ff}.bfs-node.current{transform:translate(-50%,-50%) scale(1.12);border-color:#1d3366;background:linear-gradient(135deg,#5077b3,#1d3366);color:#fff;box-shadow:0 0 0 4px #5077b340}.bfs-seq{border-radius:10px;border:1px solid #c2d0e9;background:#f4f8ff;padding:8px 10px;color:#51658a;font-weight:600}.bfs-seq .on{color:#1d3366;font-weight:800}.login-action-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.login-main-btn{white-space:nowrap;min-width:160px}.login-password-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.login-email-preview{color:var(--text-secondary);font-size:14px}.login-password-error{color:var(--error);font-size:14px;font-weight:700}.input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;font-size:15px}.submit-panel{position:relative;display:grid;gap:10px;align-content:start;justify-items:center;padding-top:14px;padding-bottom:10px;border-style:solid;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.submit-panel.drag-active{border-color:color-mix(in srgb,var(--accent-primary) 62%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 82%,#ffffff);box-shadow:0 14px 34px #2575fd24}.submit-panel .section-title{text-align:center}.submit-pack-meta{width:min(760px,100%);margin:0 auto 2px;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent-primary) 38%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 68%,#ffffff);color:var(--text-main);text-align:center;font-size:14px}.submit-selectors{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:-2px}.submit-select{width:auto;min-width:150px;max-width:220px;height:38px;padding:6px 10px;font-size:14px;line-height:1.2}.submit-actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap}.submit-actions .secondary,.submit-actions .primary{min-width:168px;text-align:center}.submit-file-input{display:none}.submit-drop-zone{width:min(520px,100%);min-height:104px;display:grid;place-items:center;align-content:center;gap:6px;margin:2px auto 0;padding:18px;border:2px dashed color-mix(in srgb,var(--accent-primary) 34%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--bg-card-hover) 64%,#ffffff);color:var(--text-main);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.submit-drop-zone:hover,.submit-drop-zone.active{border-color:color-mix(in srgb,var(--accent-primary) 72%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 84%,#ffffff)}.submit-drop-zone.active{transform:translateY(-1px)}.submit-drop-zone.has-file{border-style:solid;border-color:color-mix(in srgb,var(--success) 52%,var(--border));background:color-mix(in srgb,var(--success) 10%,#ffffff)}.submit-drop-zone.disabled{opacity:.55;cursor:not-allowed}.submit-drop-title{max-width:100%;overflow-wrap:anywhere;text-align:center;font-size:16px;font-weight:800}.submit-drop-meta{max-width:100%;overflow-wrap:anywhere;text-align:center;color:var(--text-secondary);font-size:13px;font-weight:700}.submit-vg-btn{min-width:138px;opacity:.72}.submit-vg-btn:hover{opacity:.92}.submit-vg-actions{width:min(760px,100%);margin:4px auto 0;display:grid;justify-items:center;gap:10px}.submit-vg-guide{width:min(760px,100%);margin:0 auto 4px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent-secondary) 38%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 74%,#ffffff);padding:10px 12px;display:grid;gap:6px}.submit-vg-guide-title{font-size:14px;font-weight:800;font-style:italic;color:var(--text-main)}.submit-vg-guide-line{font-size:13px;font-weight:700;font-style:italic;color:var(--text-secondary)}.submit-hint,.submit-file{text-align:center}.submit-file-row{display:inline-flex;align-items:center;gap:8px}.submit-file-clear{width:24px;height:24px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg-card-hover) 78%,#ffffff);color:var(--text-secondary);font-size:14px;line-height:1;font-weight:900;cursor:pointer}.submit-file-clear:hover{border-color:color-mix(in srgb,var(--accent-secondary) 46%,var(--border));color:var(--text-main)}.submit-textarea{width:min(520px,100%);min-height:92px;max-height:160px;margin:0 auto;resize:vertical;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace}.submit-comment{width:min(520px,100%);min-height:72px;max-height:130px;margin:0 auto;resize:vertical;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace}.submit-success{margin:4px auto 0;padding:10px 14px;border-radius:10px;border:1px solid rgba(47,143,91,.45);background:#2f8f5b24;color:#1e6f45;font-weight:700;text-align:center;animation:submit-pop .35s ease}.submit-sync-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182675;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:70;padding:20px}.submit-sync-window{width:min(580px,96vw);border-radius:14px;border:1px solid var(--border);background:var(--bg-panel);box-shadow:var(--shadow-soft);padding:22px 20px 18px;display:grid;gap:12px;justify-items:center;text-align:center}.submit-sync-window.ready{border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.submit-sync-window.error{border-color:#ad393980}.submit-sync-title{margin:0;font-size:20px;font-weight:800;color:var(--text-main)}.submit-sync-hint{margin:0;color:var(--text-secondary)}.submit-sync-spinner{width:40px;height:40px;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent-primary) 24%,transparent);border-top-color:var(--accent-primary);animation:submit-sync-spin .9s linear infinite}@keyframes submit-sync-spin{to{transform:rotate(360deg)}}@keyframes submit-pop{0%{opacity:0;transform:translateY(6px) scale(.98);box-shadow:0 0 #2f8f5b00}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 8px 22px #2f8f5b2e}}@media (max-width: 1200px){.packs-shell{grid-template-columns:1fr}}@media (max-width: 900px){.app-shell,.app-shell.sidebar-open{grid-template-columns:1fr}.content-shell{margin-left:72px}.app-shell{--sidebar-w: 72px}.app-shell.sidebar-open{--sidebar-w: min(82vw, 320px)}.sidebar,.sidebar.expanded{position:fixed;top:0;left:0;right:auto;bottom:0;width:var(--sidebar-w);overflow-y:auto;z-index:1000}.submit-selectors{display:grid;grid-template-columns:1fr;max-width:420px;margin:0 auto}.submit-select{width:100%;height:38px}.header{justify-content:space-between;padding:16px 20px;gap:10px;flex-wrap:wrap}.header-greeting{text-align:left;width:100%}.header-right{width:auto;max-width:100%;flex:1 1 100%;box-sizing:border-box;justify-content:flex-end}.glow-panel{width:min(94vw,340px);right:0}.glow-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;gap:18px;padding:20px}.login-page{max-width:none;padding:24px 20px}.tree-canvas{height:300px}.login-action-row,.login-password-row{grid-template-columns:1fr}.login-main-btn{width:100%}}@media (max-width: 900px){.header-right{width:auto;max-width:100%;flex:0 1 auto;margin-left:auto}}@media (max-width: 480px){.app-shell{--sidebar-w: min(78vw, 280px)}.content-shell{margin-left:0;width:100%;max-width:100%}.sidebar,.sidebar.expanded{transform:translate(-100%);transition:transform .2s ease;z-index:1002}.app-shell.sidebar-open .sidebar{transform:translate(0)}.sidebar .nav-button{padding:10px 6px}.sidebar-toggle{display:none}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e1880;z-index:1000}.header{position:fixed;top:0;left:0;right:0;width:100%;box-sizing:border-box;z-index:1001;padding:10px 14px;gap:8px}.mobile-page-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;flex:none;border-radius:10px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);padding:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.mobile-page-toggle svg{width:20px;height:20px}.header-greeting,.subject-switcher{display:none}.glow-toggle{width:40px;height:40px;min-width:40px;flex:0 0 40px;border-radius:10px}.glow-toggle svg{width:20px;height:20px}.glow-panel{position:fixed;top:68px;left:50%;right:auto;transform:translate(-50%);width:min(92vw,340px);max-height:calc(100vh - 84px);overflow-y:auto;z-index:1003}.theme-student .sidebar [data-nav-id=packs]{display:none}.greeting-text{font-size:.95em}.main-area{padding:72px 12px 12px}.card,.panel,.quiz-card{padding:16px}.primary,.secondary,.ghost{padding:12px 14px;font-size:14px;min-height:44px}input,select,textarea{font-size:16px}.login-page{padding:18px 14px}.tree-canvas{height:220px}.pack-list{max-height:none}.card-grid,.packs-shell-compact .card-grid{grid-template-columns:1fr;max-height:none}.app-shell.page-packs{height:auto;overflow:visible}.app-shell.page-packs .main-area{overflow:visible}}.submission-view{display:grid;gap:12px}.submission-view-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.submission-meta-grid{display:flex;flex-direction:column;gap:6px;color:var(--text-secondary)}.submission-reason{border:1px solid var(--border);border-radius:10px;background:var(--bg-card-hover);padding:10px 12px}.submission-reason.error{border-color:#b43a3a59;background:#b43a3a14}.submission-integrity-panel{display:grid;gap:8px}.submission-integrity-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card-hover);padding:10px 12px}.submission-integrity-row.flagged{border-color:#b43a3a59;background:#b43a3a14}.submission-integrity-label{font-weight:700}.submission-integrity-actions{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.submission-integrity-actions:empty{display:none}@media (max-width: 560px){.submission-integrity-actions{margin-left:0;flex-basis:100%}}.submission-integrity-error{color:var(--error);flex-basis:100%}.submission-code-panel{border:1px solid #273248;border-radius:14px;background:linear-gradient(160deg,#111827,#0d1524);overflow:hidden;box-shadow:0 12px 28px #08122659}.theme-student .submission-code-panel{border-color:#1f376d;background:linear-gradient(160deg,#162b55,#0f2347);box-shadow:0 12px 28px #102c5f6b}.theme-teacher .submission-code-panel{border-color:#1f1f1f;background:linear-gradient(160deg,#151515,#0d0d0d);box-shadow:0 12px 28px #00000070}.theme-admin .submission-code-panel,.theme-lecturer .submission-code-panel{border-color:color-mix(in srgb,var(--theme-sidebar-end) 72%,#000000);background:radial-gradient(circle at 25% 0%,var(--theme-sidebar-start) 0%,var(--theme-sidebar-mid) 46%,var(--theme-sidebar-end) 100%);box-shadow:0 12px 28px #00000080}.submission-code-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(151,168,196,.22);background:#101a2cdb}.theme-student .submission-code-toolbar{border-bottom-color:color-mix(in srgb,var(--theme-sidebar-end) 52%,#ffffff);background:linear-gradient(120deg,color-mix(in srgb,var(--theme-sidebar-mid) 92%,#000000),color-mix(in srgb,var(--theme-sidebar-end) 90%,#000000))}.theme-teacher .submission-code-toolbar,.theme-admin .submission-code-toolbar,.theme-lecturer .submission-code-toolbar{border-bottom-color:color-mix(in srgb,var(--theme-sidebar-end) 50%,#ffffff);background:linear-gradient(120deg,color-mix(in srgb,var(--theme-sidebar-mid) 92%,#000000),color-mix(in srgb,var(--theme-sidebar-end) 90%,#000000))}.submission-code-title{color:#d9e6ff;font-size:13px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}.submission-code-actions{display:inline-flex;align-items:center;gap:8px}.submission-code-lang{border:1px solid rgba(122,171,255,.45);border-radius:999px;color:#d9e8ff;background:#5077b34d;padding:4px 8px;font-size:11px;font-weight:700;line-height:1}.submission-copy-btn{border-color:#7aabff73;color:#dce8ff;background:#5077b338;font-size:12px;font-weight:700;padding:7px 10px}.submission-copy-btn:hover{border-color:#8fbaffcc;box-shadow:0 0 0 2px #5077b32e}.submission-code-pre{margin:0;padding:14px 16px;overflow-x:auto;overflow-y:visible;max-height:none}.submission-code-with-lines{display:grid;gap:0;font-size:15px;line-height:1.65;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;color:#dbe8ff;white-space:pre}.submission-code-row{display:grid;grid-template-columns:minmax(40px,auto) 1fr;align-items:start}.submission-code-ln{-webkit-user-select:none;user-select:none;color:#8ea3c4;opacity:.9;text-align:right;padding-right:12px;border-right:1px solid rgba(151,168,196,.22);margin-right:12px}.submission-code-line{display:block;min-height:1.65em}.submission-code-pre code,.submission-code-pre .hljs{display:block;background:transparent;color:#dbe8ff;font-size:15px;line-height:1.65;font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace}.submission-code-pre .hljs-keyword,.submission-code-pre .hljs-type,.submission-code-pre .hljs-literal{color:#7eb2ff;font-weight:700}.submission-code-pre .hljs-title.function_,.submission-code-pre .hljs-title.function{color:#f8d078;font-weight:700}.submission-code-pre .hljs-string{color:#79e8c8;font-weight:650}.submission-code-pre .hljs-number{color:#ffb86c;font-weight:650}.submission-code-pre .hljs-comment{color:#90a2bf;font-style:italic}.forbidden-panel{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));background:radial-gradient(circle at 20% 10%,#d74b5a1f,#101a2c00 48%),linear-gradient(180deg,#101a2c61,#101a2c1f)}.theme-student .forbidden-panel{border-color:#7aabff59;background:radial-gradient(circle at 20% 10%,#7aabff2e,#101a2c00 52%),linear-gradient(180deg,#0f23476b,#0f23472e)}.forbidden-hero{display:grid;justify-items:center;text-align:center;gap:10px;padding:18px 12px 10px}.forbidden-cross{width:92px;height:92px;color:#d74b5af2;filter:drop-shadow(0 14px 24px rgba(215,75,90,.12))}.forbidden-title{font-size:28px;font-weight:900;letter-spacing:.2px;color:var(--text-main)}.forbidden-hint{font-size:12px;color:var(--text-muted)}.forbidden-home{margin-top:8px;font-weight:800}.submission-testing-screen{min-height:52vh;display:grid;place-items:center;align-content:center;gap:16px}.submission-testing-title{font-size:28px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-main)}.submission-cancel-control{display:grid;justify-items:center;gap:8px}.submission-cancel-control [role=alert]{color:var(--danger, #b42318);text-align:center}.submit-methods{display:inline-flex;flex-wrap:wrap;gap:2px;margin:12px 0 8px;padding:3px;border:1px solid var(--border);border-radius:999px}.submit-methods button{padding:6px 16px;border:0;border-radius:999px;background:transparent;box-shadow:none;color:var(--text-secondary);cursor:pointer;font:inherit}.submit-methods button.active{background:var(--accent-primary);color:var(--btn-fg, #fff)}.submit-methods button:disabled{cursor:default;opacity:.6}.submit-compiler-select,.submit-compiler-selected{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px auto;color:var(--text-secondary)}.submit-compiler-select .submit-select{min-width:230px;max-width:min(440px,80vw)}.submit-compiler-selected strong{color:var(--text-main);font-weight:600}@media (max-width: 560px){.submit-compiler-select,.submit-compiler-selected{align-items:stretch;flex-direction:column}.submit-compiler-select .submit-select{width:100%;max-width:none}}.submit-format-hint{margin:0 0 12px;color:var(--text-secondary);line-height:1.5}.submit-github-url{width:100%;box-sizing:border-box;margin-bottom:12px}.submission-archive-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.submission-archive-badges{display:inline-flex;gap:8px;flex-wrap:wrap}.submission-archive-badge{border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-secondary) 32%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 78%,#ffffff);color:var(--text-secondary);font-size:12px;font-weight:800;padding:5px 10px}.submission-download-btn{padding:6px 10px;font-size:12px;font-weight:800}.submission-tabs{display:inline-flex;gap:8px}.submission-tab{padding:8px 11px;font-size:12px}.submission-tab.active{border-color:color-mix(in srgb,var(--accent-primary) 45%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 18%,transparent)}.submission-archive-grid{display:grid;grid-template-columns:1fr;gap:10px}.submission-archive-list{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);padding:8px;overflow-x:auto;overflow-y:hidden;display:flex;align-items:stretch;flex-wrap:nowrap;gap:6px}.submission-archive-item{flex:0 0 auto;min-width:220px;max-width:360px;text-align:left;border:1px solid color-mix(in srgb,var(--accent-secondary) 20%,var(--border));background:color-mix(in srgb,var(--bg-card-hover) 70%,#ffffff);color:var(--text-main);border-radius:10px;padding:8px 10px;display:grid;gap:3px}.submission-archive-item.active{border-color:color-mix(in srgb,var(--accent-primary) 42%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 14%,transparent)}.submission-archive-item.disabled{opacity:.62}.submission-archive-item-name{font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;overflow-wrap:anywhere}.submission-archive-item-size{font-size:11px;color:var(--text-muted)}.submission-archive-main{position:relative;min-width:0;display:grid;gap:8px}.submission-archive-empty{font-size:12px;color:var(--text-muted);padding:10px}.submission-inline-note{font-size:12px;color:var(--text-secondary)}.submission-inline-note.error{color:var(--error)}.submission-logs-panel{display:grid;gap:10px}.submission-log-mode{font-size:12.5px;padding:8px 12px;border-radius:10px;border:1px solid var(--border)}.submission-log-mode.student{background:var(--bg-panel);color:var(--text-secondary)}.submission-log-mode.admin{background:#d299221f;border-color:#d2992266}.submission-runner-events{display:grid;gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);font-size:12px}.submission-runner-event{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary)}.submission-log-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);overflow:hidden}.submission-log-head{padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px;font-weight:900;color:var(--text-secondary)}.submission-log-pre{margin:0;padding:10px 12px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45;color:var(--text-main);font-family:JetBrains Mono,Fira Code,Cascadia Mono,Consolas,Liberation Mono,Menlo,monospace}@media (max-width: 920px){.submission-archive-list{padding-bottom:10px}.submission-archive-item{min-width:170px;max-width:280px}}.group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.group-card{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text-main);padding:12px;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.group-card:hover{transform:translateY(-1px);border-color:var(--accent-secondary);box-shadow:0 8px 20px #5077b329}.group-card.selected{border-color:var(--accent-secondary);background:var(--bg-card-hover);box-shadow:0 0 0 3px #5077b32e}.group-card-title{font-size:15px;font-weight:800}.group-card-meta{margin-top:4px;font-size:13px;color:var(--text-secondary)}.group-card.taken{cursor:not-allowed;opacity:.6}.group-card.taken:hover{transform:none;border-color:var(--border);box-shadow:none}.group-card-owner{margin-top:6px;font-size:12px;font-weight:700}.group-card-owner.free{color:var(--success)}.group-card-owner.mine{color:var(--accent-secondary)}.group-card-owner.taken{color:var(--text-muted)}.group-save-error{margin-top:12px;font-size:13px;color:var(--error)}.teacher-groups-separator{margin:16px 0 12px;height:1px;background:var(--border)}.teacher-groups-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.teacher-groups-head .section-title{margin:0}.teacher-groups-title{margin:0;font-size:15px;font-weight:800;color:var(--text-main)}.teacher-groups-headline{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-groups-switch-row{display:flex;align-items:center;gap:14px;margin-top:10px;margin-bottom:12px}.teacher-groups-switch-row .primary,.teacher-groups-switch-row .secondary{height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;color:#f4f8ff}.teacher-groups-switch-row .teacher-groups-switch-btn.active{background:#f4f8ff;color:#0b1220;border-color:#f4f8ffe6;box-shadow:0 0 0 3px #f4f8ff59,0 12px 26px #0000002e;transform:translateY(-1px)}.teacher-groups-switch-row .teacher-groups-switch-btn:not(.active){opacity:.78}.teacher-groups-switch-row .teacher-groups-switch-btn:not(.active):hover{opacity:.92}.teacher-groups-switch-row .teacher-groups-switch-btn.active:hover{transform:translateY(-1px)}.teacher-groups-picked{font-size:13px;font-weight:700;color:var(--text-secondary)}.teacher-groups-headline .secondary{color:#f4f8ff}.teacher-groups-refresh{color:#f4f8ff;height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center}.teacher-pack-filters{display:inline-flex;align-items:center;gap:8px}.teacher-pack-search-row{display:flex;justify-content:flex-end;margin-bottom:8px}.teacher-pack-select{height:40px;min-width:150px;padding:0 10px;margin:0;line-height:1}.teacher-pack-search-input{min-width:260px;width:340px;flex:0 0 auto;max-width:100%}.teacher-pack-search-wrap{width:min(340px,100%)}.teacher-pack-search-wrap .teacher-pack-search-input{width:100%}@media (max-width: 1000px){.teacher-groups-switch-row{flex-wrap:wrap}.teacher-groups-switch-row>button{min-width:0;max-width:100%}.teacher-pack-search-input{width:100%;flex:1 1 240px}.teacher-pack-search-wrap{width:100%}.teacher-pack-search-row{justify-content:stretch}}.teacher-groups-empty{margin-top:10px;padding:10px 12px;border:1px dashed var(--border);border-radius:10px;background:var(--bg-card-hover);color:var(--text-secondary);font-size:13px}.teacher-pack-table-shell{position:relative}.teacher-pack-table-wrap{position:relative;--pack-table-bg: var(--bg-card-hover);--pack-sticky-bg: var(--bg-card);max-width:100%;max-height:calc(100vh - 210px);margin-top:8px;border:1px solid var(--border);border-radius:12px;background:var(--pack-table-bg);overflow:auto;overscroll-behavior:contain;scrollbar-color:#8fa8d1 var(--pack-table-bg);scrollbar-width:thin}.teacher-pack-table{min-width:max-content;border-collapse:separate;border-spacing:0;background:var(--pack-table-bg)}.teacher-pack-table th,.teacher-pack-table td{white-space:nowrap;background:var(--pack-table-bg)}.teacher-pack-table th{position:sticky;top:0;z-index:5;background:var(--bg-card-hover)}.teacher-pack-table .teacher-pack-index-col{position:sticky;left:0;z-index:4;min-width:48px;background:var(--pack-sticky-bg);background-clip:padding-box}.teacher-pack-table .teacher-pack-student-col{position:sticky;left:48px;z-index:4;min-width:260px;max-width:320px;background:var(--pack-sticky-bg);background-clip:padding-box}.teacher-pack-table .teacher-pack-group-col{position:sticky;left:308px;z-index:4;min-width:86px;background:var(--pack-sticky-bg);background-clip:padding-box;border-right:2px solid var(--border);box-shadow:10px 0 16px #0f253f1f}.teacher-pack-table thead .teacher-pack-index-col,.teacher-pack-table thead .teacher-pack-student-col,.teacher-pack-table thead .teacher-pack-group-col{z-index:6;background:var(--pack-sticky-bg);background-clip:padding-box}.teacher-pack-table tbody tr{background:var(--pack-table-bg)}.teacher-pack-table tbody tr td.teacher-pack-index-col,.teacher-pack-table tbody tr td.teacher-pack-student-col,.teacher-pack-table tbody tr td.teacher-pack-group-col{background:var(--pack-sticky-bg)}.teacher-pack-table tbody tr:nth-child(odd) td.teacher-pack-index-col,.teacher-pack-table tbody tr:nth-child(odd) td.teacher-pack-student-col,.teacher-pack-table tbody tr:nth-child(odd) td.teacher-pack-group-col{background:#f4f7fc}.teacher-pack-table tbody tr:hover td.teacher-pack-index-col,.teacher-pack-table tbody tr:hover td.teacher-pack-student-col,.teacher-pack-table tbody tr:hover td.teacher-pack-group-col{background:#e7eef8}.teacher-pack-scroll-top{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-color:#8fa8d1 var(--bg-card-hover);scrollbar-width:thin}.teacher-pack-scroll-top>div{height:1px}.teacher-pack-scroll-top::-webkit-scrollbar{height:12px}.teacher-pack-scroll-top::-webkit-scrollbar-track{background:var(--bg-card-hover)}.teacher-pack-scroll-top::-webkit-scrollbar-thumb{background:#8fa8d1;border-radius:999px;border:2px solid var(--bg-card-hover)}.teacher-pack-scroll-top::-webkit-scrollbar-thumb:hover{background:#7592c4}.teacher-pack-table-wrap::-webkit-scrollbar{height:12px;width:12px}.teacher-pack-table-wrap::-webkit-scrollbar-track{background:var(--pack-table-bg)}.teacher-pack-table-wrap::-webkit-scrollbar-thumb{background:#8fa8d1;border-radius:999px;border:2px solid var(--pack-table-bg)}.teacher-pack-table-wrap::-webkit-scrollbar-thumb:hover{background:#7592c4}.teacher-pack-table-wrap::-webkit-scrollbar-corner{background:var(--pack-table-bg)}.pack-cell-status{font-weight:800}.pack-cell-status.ok{color:var(--success)}.pack-cell-status.fail{color:var(--error)}.pack-cell-status.empty{color:var(--text-muted)}.teacher-student-cell{display:inline-flex;align-items:center;gap:8px}.teacher-copy-grades{width:26px;height:26px;border:1px solid var(--accent-secondary);border-radius:8px;background:var(--bg-card);color:var(--accent-secondary);font-weight:900;cursor:pointer}.teacher-copy-grades:hover{transform:translateY(-1px);box-shadow:0 6px 14px #5077b329}.teacher-copy-grades-ico{width:14px;height:14px;display:inline-flex}.teacher-pack-panel{position:relative}.teacher-pack-toast-layer{position:absolute;left:20px;top:14px;z-index:5;display:grid;gap:8px;pointer-events:none}.teacher-pack-toast{width:fit-content;border-radius:9px;font-weight:800;font-size:13px;padding:6px 10px;box-shadow:0 10px 24px #0f253f1f}.teacher-pack-toast.ok{border:1px solid rgba(47,143,91,.5);background:#2f8f5b24;color:#1e6f45}.teacher-pack-toast.error{border:1px solid rgba(215,75,90,.55);background:#d74b5a1f;color:#a12834}.pack-cell-wrap{display:grid;gap:6px;min-width:172px}.pack-cell-mark{font-size:12px;font-weight:800;color:var(--text-secondary)}.pack-cell-time{font-size:11px;color:var(--text-muted)}.pack-cell-code-btn{width:fit-content;border-radius:8px;border:1px solid var(--accent);background:#2575fd14;color:var(--accent);font-size:12px;font-weight:800;padding:4px 8px;cursor:pointer}.pack-cell-code-btn:disabled{opacity:.6;cursor:not-allowed}.pack-cell-code-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.pack-cell-actions{display:inline-flex;gap:6px}.pack-note-preview{font-size:11px;line-height:1.2;color:var(--text-secondary);border:1px dashed var(--border);border-radius:8px;padding:4px 6px;max-width:240px;white-space:normal}.pack-note-edit-btn{border-radius:8px;border:1px solid var(--accent-secondary);background:var(--bg-card);color:var(--accent-secondary);font-size:12px;font-weight:800;padding:2px 6px;cursor:pointer;width:fit-content}.pack-note-editor{display:grid;gap:6px}.pack-note-input{width:100%;min-height:62px;resize:vertical;border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12px;background:var(--bg-card);color:var(--text-main)}.pack-note-actions{display:inline-flex;gap:6px}.pack-note-save-btn,.pack-note-cancel-btn{border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:11px;font-weight:800;padding:3px 7px;cursor:pointer}.pack-note-save-btn{border-color:#2f8f5b;color:#2f8f5b}.pack-approve-btn,.pack-reject-btn{border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:11px;font-weight:800;padding:3px 6px;cursor:pointer}.pack-approve-btn.active{border-color:#2f8f5b;background:#2f8f5b24;color:#2f8f5b}.pack-reject-btn.active{border-color:#c94a4a;background:#c94a4a24;color:#c94a4a}.pack-approve-btn:disabled,.pack-reject-btn:disabled{opacity:.6;cursor:default}.group-filter-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.group-filter-square{min-width:140px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-main);padding:8px 10px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.group-filter-square:hover{border-color:var(--accent-secondary);box-shadow:0 6px 18px #5077b32e}.group-filter-square.selected{border-color:var(--accent-secondary);background:var(--bg-card-hover);box-shadow:0 0 0 2px #5077b32e}.group-filter-check{width:18px;height:18px;border-radius:4px;border:1px solid var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;line-height:1}.group-filter-label{font-size:13px;font-weight:700}.group-indicator{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border);padding:4px 8px;color:var(--text-main);background:var(--bg-card-hover)}.group-indicator-icon{width:14px;height:14px;color:var(--accent-secondary);display:inline-flex}.group-indicator-text{font-size:12px;font-weight:800}.teacher-groups-rating-shell,.teacher-pack-table-shell{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 560px){.teacher-groups-head,.teacher-groups-headline{flex-wrap:wrap}.teacher-pack-filters{flex-wrap:wrap;width:100%}.teacher-pack-select{min-width:0;flex:1 1 140px}.teacher-groups-refresh{flex:1 1 100%}}.sidebar-fill{flex:1}.sidebar-footer{display:flex;justify-content:center;padding:10px 0 8px}.sidebar-presence{display:flex;align-items:center;justify-content:center}.presence-dot{width:18px;height:18px;border-radius:999px;border:2px solid rgba(255,255,255,.72);background:#ffffff1f;box-shadow:0 0 0 3px #0000002e;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}.presence-dot:hover{transform:translateY(-1px) scale(1.06)}.presence-dot.ok{background:#4dff6a38;border-color:#4dff6adb;box-shadow:0 0 0 3px #4dff6a2e}.presence-dot.away{background:#ff5f5f2e;border-color:#ff5f5fd1;box-shadow:0 0 0 3px #ff5f5f24}.online-panel{position:fixed;z-index:1200;width:min(520px,calc(100vw - 32px));background:#141820eb;border:1px solid rgba(255,255,255,.14);border-radius:14px;color:#f4f8ff;box-shadow:0 18px 42px #00000052;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);overflow:hidden;transform:scale(.92);opacity:0;animation:online-panel-in .16s ease-out forwards}@keyframes online-panel-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.online-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 8px;border-bottom:1px solid rgba(255,255,255,.1)}.online-panel-title{font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.online-panel-actions{display:inline-flex;align-items:center;gap:8px}.online-panel-btn{padding:8px 10px;border-radius:10px;font-size:13px;font-weight:800}.online-panel-meta{padding:10px 12px 0;font-size:13px;color:#f4f8ffd1}.online-panel-error{margin:10px 12px 0;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,95,95,.25);background:#ff5f5f1f;color:#ffdadafa;font-size:13px;font-weight:800}.online-panel-table-wrap{padding:10px 12px 12px;max-height:520px;overflow:auto}.online-panel-table{background:transparent}.online-panel-table th,.online-panel-table td{color:#f4f8ffeb}.online-panel-table th{background:#ffffff0f;border-bottom-color:#ffffff24}.online-panel-table td{border-bottom-color:#ffffff14}.online-row.role-admin td,.online-row.role-lecturer td{box-shadow:inset 4px 0 #4dff6abf}.online-row.role-teacher td{box-shadow:inset 4px 0 #5fd4ffb3}.online-row.role-student td{box-shadow:inset 4px 0 #ffffff1f}.online-role-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;letter-spacing:.02em;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#f4f8ffeb;white-space:nowrap}.online-role-pill.role-admin,.online-role-pill.role-lecturer{border-color:#4dff6a59;background:#4dff6a24;color:#dcffe4fa}.online-role-pill.role-teacher{border-color:#5fd4ff52;background:#5fd4ff1f;color:#dcf8fffa}.online-role-pill.role-student{border-color:#ffffff24;background:#ffffff0d;color:#f4f8ffe0}.online-cell-name{font-weight:900}.online-panel-empty{margin-top:10px;padding:10px 12px;border:1px dashed rgba(255,255,255,.22);border-radius:12px;color:#f4f8ffb3;font-size:13px}.lc-console{display:flex;flex-direction:column;gap:18px}.lc-console button:where(:not(.lc-tab,.lc-btn-ok,.lc-btn-warn,.lc-btn-danger)){padding:7px 12px;border:1px solid var(--border);border-radius:7px;background:var(--bg-panel);color:var(--text-main);font-size:12px;line-height:1.25;cursor:pointer;transition:background .15s ease,border-color .15s ease}.lc-console button:where(:not(.lc-tab,.lc-btn-ok,.lc-btn-warn,.lc-btn-danger)):hover{background:var(--bg-card-hover);border-color:var(--accent-soft)}.lc-console button:where(:not(.lc-tab)):disabled{opacity:.5;cursor:default}.lc-console :where(select,input[type=number],input[type=datetime-local],input[type=text]){padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);color:var(--text-main);font-family:inherit;font-size:12px}.lc-console :where(.lc-btn-ok,.lc-btn-warn,.lc-btn-danger){padding:7px 14px;font-size:12px;line-height:1.25}.lc-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}.lc-header h3{margin:0}.lc-context{display:flex;gap:14px;flex-wrap:wrap;color:var(--text-secondary);font-size:13px}.lc-context b{color:var(--text-main)}.lc-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);flex-wrap:wrap}.lc-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:10px 18px;cursor:pointer;color:var(--text-secondary);font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.lc-tab:hover{color:var(--text-main)}.lc-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary);font-weight:600}.lc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px}.lc-card-title{margin:0;font-size:15px;font-weight:600}.lc-card-hint{color:var(--text-muted);font-size:13px}.lc-collapse{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);overflow:hidden}.lc-collapse-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:none;background:transparent;color:var(--text-main);display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;text-align:left}.lc-collapse-head:hover{background:var(--bg-card-hover)}.lc-collapse-title{font-size:13px;font-weight:800;min-width:0}.lc-collapse-meta{color:var(--text-muted);font-size:12px;white-space:nowrap}.lc-collapse-icon{min-width:92px;justify-self:end;color:var(--accent-primary);font-size:12px;font-weight:800;text-align:right}.lc-collapse-body{border-top:1px solid var(--border);background:var(--bg-card)}.lc-code-example{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-x:auto;cursor:help}.lc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.lc-nsu-credentials{grid-column:1 / -1;max-width:680px}.lc-attendance-form{grid-template-columns:minmax(0,680px);align-items:start}.lc-attendance-form .lc-field{min-width:0}.lc-attendance-form .lc-field>.input{width:100%;box-sizing:border-box}.lc-attendance-form .lc-actions{align-items:center;justify-content:flex-start}.lc-attendance-form .lc-actions>button{flex:none}.lc-nsu-credential-form,.lc-nsu-credential-saved{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-muted, rgba(0, 0, 0, .03))}.lc-nsu-credential-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lc-nsu-credential-fields .lc-field,.lc-nsu-credential-fields .input{min-width:0;width:100%;box-sizing:border-box}.lc-nsu-credential-actions,.lc-nsu-credential-saved{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lc-nsu-credential-actions{justify-content:flex-end;margin-top:12px}.lc-nsu-credential-saved{justify-content:space-between}.lc-nsu-credential-saved .lc-nsu-credential-actions{margin-top:0}@media (max-width: 540px){.lc-nsu-credential-fields{grid-template-columns:minmax(0,1fr)}.lc-nsu-credential-actions{justify-content:flex-start}}.lc-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.lc-header-actions{display:flex;align-items:center;gap:8px}.lc-add-toggle,.rm-add-toggle{width:36px;height:36px;flex:0 0 36px;display:inline-grid;place-items:center;padding:0;border:2px solid #f4b942;border-radius:50%;background:#f4b942;color:#17202a;box-shadow:0 2px 7px #f4b9425c;font-size:24px;font-weight:700;line-height:1;cursor:pointer}.lc-add-toggle:hover,.rm-add-toggle:hover{border-color:#ffd166;background:#ffd166;box-shadow:0 3px 10px #f4b9427a}.lc-add-toggle[aria-expanded=true],.rm-add-toggle[aria-expanded=true]{border-color:#d88916;background:#d88916;color:#fff;transform:rotate(45deg)}.lc-add-toggle:focus-visible,.rm-add-toggle:focus-visible{outline:3px solid rgba(244,185,66,.45);outline-offset:3px}.lc-inline-add-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #eaecf0)}.lc-freeze-row{align-items:stretch}.lc-freeze-control{display:flex;flex-direction:column;gap:10px;min-width:240px;flex:1 1 280px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.lc-freeze-control .lc-field{min-width:0}.lc-field-hint{color:var(--text-muted);font-size:12px}.lc-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-secondary);min-width:160px;flex:1}.lc-check-row{display:flex;align-items:center;gap:8px;color:var(--text-main);font-size:13px}.lc-check-row input{width:16px;height:16px}.lc-field input[type=file]{padding:7px 10px;border:1px dashed var(--accent-soft);border-radius:8px;background:var(--bg-panel);color:var(--text-secondary);font-size:12px;cursor:pointer}.lc-field input[type=file]:hover{border-color:var(--accent-secondary);background:var(--bg-card-hover)}.lc-field input[type=file]::file-selector-button{margin-right:10px;padding:6px 12px;border:1px solid var(--btn-border);border-radius:6px;background:var(--btn-bg);color:var(--btn-fg);font-family:inherit;font-size:12px;cursor:pointer}.lc-field input[type=file]::file-selector-button:hover{background:var(--btn-bg-hover)}.lc-actions{display:flex;gap:8px;flex-wrap:wrap}.lc-disabled-action-hint{display:inline-flex}.lc-disabled-action-hint:focus-visible{outline:2px solid var(--focus-ring, #6aa9ff);outline-offset:3px;border-radius:6px}.lc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.lc-stat{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:14px}.lc-stat-value{font-size:22px;font-weight:700;color:var(--accent-primary)}.lc-stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.lc-pack-table{display:flex;flex-direction:column;overflow-x:auto}.lc-pack-row{display:grid;grid-template-columns:minmax(120px,2fr) 70px minmax(128px,auto) minmax(140px,1.5fr) minmax(220px,auto);gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.lc-pack-row>*{min-width:0}.lc-pack-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lc-pack-row:last-child{border-bottom:none}.lc-pack-row.head{background:var(--bg-panel);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.lc-pack-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lc-quiz-table{display:flex;flex-direction:column;overflow:hidden}.lc-quiz-row{display:grid;grid-template-columns:40px minmax(140px,1.3fr) 124px 46px 148px minmax(480px,3fr);gap:12px;align-items:start;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;cursor:pointer}.lc-quiz-row>*{min-width:0}.lc-quiz-row:not(.head)>span:nth-child(-n+4){padding-top:5px}.lc-quiz-row:last-child{border-bottom:none}.lc-quiz-row.head>span:last-child{text-align:right}.lc-quiz-row.head{background:var(--bg-panel);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.03em;cursor:default}.lc-quiz-row.selected{background:color-mix(in srgb,var(--accent-primary) 8%,var(--bg-card))}.lc-quiz-row:not(.head):hover{background:var(--bg-card-hover)}.lc-quiz-time{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-secondary);line-height:1.35}.lc-quiz-time .lc-quiz-countdown{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-primary)}.lc-quiz-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.lc-quiz-actions-main{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lc-quiz-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:100%}.lc-quiz-controls-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lc-quiz-controls-select{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:12px;white-space:nowrap}.lc-quiz-controls-select select{min-width:132px}.lc-quiz-controls-datetime{min-width:190px}.lc-quiz-controls-note{color:var(--text-muted);font-size:12px;white-space:nowrap}.lc-quiz-controls-note.done{color:var(--success)}.lc-quiz-controls-unit{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:7px;background:var(--bg-card);overflow:hidden}.lc-quiz-controls-unit input{width:58px;border:none;border-radius:0;background:transparent;text-align:right}.lc-quiz-controls-unit>span{display:inline-flex;align-items:center;padding:0 7px;border-left:1px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700}.lc-quiz-monitor-row{grid-template-columns:minmax(160px,2fr) 100px 100px 110px 90px auto;cursor:default}.lc-quiz-monitor-row.head{cursor:default}@media (max-width: 900px){.lc-quiz-table{overflow:visible}.lc-quiz-row,.lc-quiz-monitor-row{grid-template-columns:1fr;gap:6px}.lc-quiz-row.head,.lc-quiz-monitor-row.head{display:none}.lc-quiz-row:not(.head)>span:nth-child(-n+4){padding-top:0}.lc-quiz-row:not(.head)>span:nth-child(1):before{content:"Тест № ";color:var(--text-muted)}.lc-quiz-row:not(.head)>span:nth-child(4):after{content:" мин.";color:var(--text-muted)}.lc-quiz-actions,.lc-quiz-controls{align-items:stretch}.lc-quiz-controls-row,.lc-quiz-actions-main{justify-content:flex-start}.lc-quiz-actions button{flex:1 1 180px;min-width:0}}.lc-quiz-preview{display:flex;flex-direction:column;gap:16px}.lc-quiz-preview-question{border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg-panel)}.lc-quiz-preview-question-text{font-weight:600;margin-bottom:8px}.lc-quiz-preview-options{display:flex;flex-direction:column;gap:4px}.lc-quiz-preview-option{display:flex;gap:8px;align-items:baseline;color:var(--text-secondary);font-size:13px}.lc-quiz-preview-option.correct{color:var(--success);font-weight:700}.lc-inline-select{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px}.lc-inline-select select{min-width:180px}.lc-task-table{display:flex;flex-direction:column;overflow-x:auto}.lc-task-row{display:grid;grid-template-columns:minmax(160px,2fr) 72px minmax(130px,1fr) 86px 92px minmax(130px,1fr) 108px 110px;gap:8px;align-items:center;min-width:980px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.lc-task-row.editing{background:color-mix(in srgb,var(--accent-primary) 5%,var(--bg-card))}.lc-task-row:last-child{border-bottom:none}.lc-task-row.head{background:var(--bg-panel);font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.lc-task-empty{display:block;min-width:0;color:var(--text-muted)}.lc-task-name,.lc-task-flags{display:flex;flex-direction:column;gap:3px}.lc-task-name small{color:var(--text-muted);font-size:12px}.lc-task-value{display:inline-flex;flex-direction:column;gap:2px;min-width:0;color:var(--text-main)}.lc-task-value b{font-size:13px;font-weight:700;white-space:nowrap}.lc-task-value small{color:var(--text-muted);font-size:11px;text-transform:uppercase}.lc-task-row .input{width:100%;min-width:0;padding:7px 8px;font-size:13px;font-weight:650;text-align:right}.lc-task-split{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lc-field-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);overflow:hidden}.lc-field-unit .input{border:none;border-radius:0;background:transparent;padding-right:6px}.lc-field-unit span{min-width:32px;padding:0 7px;color:var(--text-muted);font-size:11px;font-weight:700;text-align:center;border-left:1px solid var(--border)}.lc-task-flags label{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:12px}.lc-task-flags.editing label{font-weight:700}.lc-task-badges{display:inline-flex;gap:5px;flex-wrap:wrap}.lc-chip{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-muted);font-size:11px;font-weight:800}.lc-chip.active{border-color:color-mix(in srgb,var(--accent-primary) 38%,#fff);background:color-mix(in srgb,var(--accent-primary) 12%,#fff);color:var(--accent-primary)}.lc-task-edit-actions{display:inline-flex;gap:6px;flex-wrap:wrap}.lc-task-edit-btn{width:32px;height:30px;border-radius:8px;border:1px solid var(--accent-secondary);background:var(--bg-card);color:var(--accent-secondary);font-size:13px;font-weight:900;cursor:pointer}.lc-task-save-btn,.lc-task-cancel-btn{border-radius:8px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-main);font-size:12px;font-weight:800;padding:6px 9px;cursor:pointer}.lc-task-save-btn{border-color:#2f8f5b;color:#2f8f5b}.lc-task-edit-btn:disabled,.lc-task-save-btn:disabled,.lc-task-cancel-btn:disabled{opacity:.55;cursor:default}.lc-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap;max-width:100%}.lc-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.lc-pill.frozen:before{display:none}.lc-pill.hidden{background:#eceff4;color:var(--text-muted);border-color:var(--border)}.lc-pill .lc-inline-icon{width:13px;height:13px;flex:none}.lc-pill.hidden:before{display:none}.lc-pill.scheduled{background:color-mix(in srgb,var(--warning) 16%,#fff);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,#fff)}.lc-pill.open{background:color-mix(in srgb,var(--success) 16%,#fff);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,#fff)}.lc-pill.closed{background:color-mix(in srgb,var(--error) 14%,#fff);color:var(--error);border-color:color-mix(in srgb,var(--error) 40%,#fff)}.lc-pill.frozen{background:color-mix(in srgb,var(--accent-secondary) 16%,#fff);color:var(--accent-secondary);border-color:color-mix(in srgb,var(--accent-secondary) 40%,#fff)}.lc-pill.draft{background:var(--bg-panel);color:var(--text-muted);border-color:var(--border)}.lc-pill.published{background:color-mix(in srgb,var(--accent-secondary) 16%,#fff);color:var(--accent-secondary);border-color:color-mix(in srgb,var(--accent-secondary) 40%,#fff)}.lc-status{font-size:13px;padding:8px 12px;border-radius:8px;background:var(--bg-panel);color:var(--text-secondary)}.lc-suggest-list{display:flex;flex-direction:column;gap:2px;margin-top:6px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;max-height:180px;overflow-y:auto}.lc-suggest-item{display:block;width:100%;text-align:left;padding:7px 12px;border:none;background:var(--bg-panel);color:var(--text-primary);font-size:13px;cursor:pointer}.lc-suggest-item:hover{background:color-mix(in srgb,var(--accent-secondary) 14%,var(--bg-panel))}.lc-status.ok{background:color-mix(in srgb,var(--success) 14%,#fff);color:var(--success)}.lc-status.error{background:color-mix(in srgb,var(--error) 12%,#fff);color:var(--error)}.lc-sem{display:inline-block;padding:2px 9px;border-radius:6px;font-size:12px;font-weight:600;border:1px solid transparent}.lc-sem-1{background:color-mix(in srgb,var(--accent-secondary) 14%,#fff);color:var(--accent-secondary);border-color:color-mix(in srgb,var(--accent-secondary) 35%,#fff)}.lc-sem-2{background:color-mix(in srgb,var(--warning) 14%,#fff);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,#fff)}.lc-btn-ok,.lc-btn-warn,.lc-btn-danger{border-radius:8px;padding:8px 16px;cursor:pointer;color:#fff;font-size:13px}.lc-btn-ok{background:var(--success);border:1px solid color-mix(in srgb,var(--success) 80%,#000 20%)}.lc-btn-warn{background:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 80%,#000 20%)}.lc-btn-danger{background:var(--error);border:1px solid color-mix(in srgb,var(--error) 80%,#000 20%)}.lc-btn-ok:hover,.lc-btn-warn:hover,.lc-btn-danger:hover{filter:brightness(1.06)}.lc-btn-ok:disabled,.lc-btn-warn:disabled,.lc-btn-danger:disabled{opacity:.55;cursor:default;filter:none}.lc-people-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.lc-people-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}.lc-people-row:last-child{border-bottom:none}.lc-people-info{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.lc-people-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.lc-people-email{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.lc-people-row-teacher{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center}.lc-people-row-student{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(96px,auto) 130px 150px;align-items:center;gap:12px}.lc-people-row-head{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;background:var(--surface-muted, rgba(0, 0, 0, .03))}.lc-people-group-prefix{font-size:13px;font-weight:600;color:var(--text-muted)}.lc-people-group-value{font-size:14px;font-weight:600;min-width:32px}.lc-people-group-cell-editing{gap:6px}.lc-stat-refresh{border:none;background:transparent;cursor:pointer;font-size:13px;padding:0 2px}.lc-people-row-loading{display:flex;align-items:center;gap:8px;padding:10px 14px;color:var(--text-muted);font-size:13px}.lc-people-group-cell{display:flex;align-items:center;gap:4px}.lc-people-actions{display:flex}.lc-sort-toggle{border:1px solid var(--border);background:transparent;border-radius:8px;padding:4px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.lc-sort-toggle:hover{background:var(--surface-muted, rgba(0, 0, 0, .04))}.lc-import-result{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:13px;border:1px solid}.lc-import-result.ok{background:#22c55e14;border-color:#22c55e59}.lc-import-result.has-errors{background:#ef444414;border-color:#ef444459}.lc-import-errors{margin-top:6px}.lc-import-errors ul{margin:4px 0 0;padding-left:18px}.lc-gradebook-section{display:flex;flex-direction:column;gap:10px;margin-top:16px}.lc-gradebook-sync-list{max-height:180px;overflow-y:auto}.lc-gradebook-sync-list .lc-people-row{box-sizing:border-box;height:60px;flex-shrink:0}.lc-gradebook-page{display:grid;gap:16px}.lc-gradebook-page-heading .lc-card-hint{margin:5px 0 0}.lc-gradebook-settings,.lc-gradebook-maintenance{padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel)}.lc-gradebook-settings-head,.lc-quiz-transfer-summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lc-gradebook-settings-head h5{margin:0;font-size:14px}.lc-gradebook-settings .lc-grid{margin-top:12px}.lc-gradebook-maintenance>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:600}.lc-gradebook-maintenance>summary small{color:var(--text-muted);font-weight:400}.lc-gradebook-maintenance .lc-gradebook-section{margin-top:16px}.lc-quiz-transfer-summary{grid-column:1 / -1;padding:16px;border:1px solid var(--border);border-radius:10px;background:var(--bg-panel)}.lc-quiz-transfer-summary-head strong{font-size:14px}.lc-quiz-transfer-summary-head p{margin:4px 0 0;color:var(--text-muted);font-size:12px}.lc-quiz-transfer-issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.lc-quiz-transfer-issue{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.lc-quiz-transfer-issue>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:8px 12px;cursor:pointer;font-size:12px;font-weight:600}.lc-quiz-transfer-issue>summary b{min-width:28px;padding:4px 6px;border-radius:6px;background:var(--bg-panel);text-align:center}.lc-quiz-transfer-issue-body{max-height:220px;overflow-y:auto;padding:10px 12px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px}.lc-quiz-transfer-issue-body p{margin:0 0 8px}.lc-quiz-transfer-issue-body ul{margin:0;padding-left:18px}.lc-quiz-transfer-issue-body li+li{margin-top:5px}@media (max-width: 760px){.lc-quiz-transfer-issues{grid-template-columns:1fr}.lc-gradebook-settings-head,.lc-quiz-transfer-summary-head{align-items:flex-start}}.lc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#141a2873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto}.lc-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:100%;box-shadow:0 24px 60px #141a2847;display:flex;flex-direction:column;max-height:88vh}.lc-modal-sm{max-width:440px}.lc-modal-md{max-width:640px}.lc-modal-lg{max-width:860px}.lc-modal-xl{max-width:min(1400px,96vw);max-height:94vh}.lc-modal-full{max-width:100vw;min-width:100vw;width:100vw;min-height:100vh;height:100vh;max-height:100vh;border-radius:0;border:none}.lc-modal-backdrop-full{align-items:stretch;justify-content:stretch;padding:0;overflow:hidden}.lc-modal-full .lc-modal-body{display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:12px}.lc-modal-full .plag-detail,.lc-modal-full .plag-diff{display:flex;flex-direction:column;min-height:0;flex:1}.lc-modal-full .plag-diff-body{flex:1;min-height:0;max-height:none}.lc-modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.lc-modal-title{margin:0;font-size:16px}.lc-modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--text-muted);padding:0 6px}.lc-modal-close:hover{color:var(--text-main)}.lc-modal-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.lc-modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.lc-confirm-message{font-size:14px;color:var(--text-secondary);line-height:1.5}.lc-hidden-override{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.lc-hidden-override .checkbox-line{font-weight:700}.lc-import-returning{margin-top:8px;border:1px solid rgba(199,143,40,.45);background:#c78f281f;color:#8a6412;border-radius:10px;padding:8px 10px;font-size:13px}.lc-import-returning ul{margin:6px 0;padding-left:18px}.plag-verdict-state{border-radius:10px;padding:12px 14px;margin-top:4px;border:1px solid transparent}.plag-verdict-state-title{font-weight:600;margin-bottom:10px}.plag-verdict-state.confirmed{background:#be3c371f;border-color:#be3c3773}.plag-verdict-state.rejected{background:#3c965a1f;border-color:#3c965a73}.plag-side-verdicts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.plag-admin-card{margin-top:16px}.plag-admin-table{position:relative;display:flex;flex-direction:column;gap:2px}.plag-admin-task-block{display:flex;flex-direction:column;gap:0}.plag-admin-row{display:grid;grid-template-columns:70px 110px 120px 100px 1fr;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff08}.plag-admin-row.expanded{border-radius:8px 8px 0 0;background:#58a6ff14}.plag-admin-row.head{background:transparent;font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.6}.plag-admin-row.empty{opacity:.6;grid-template-columns:1fr}.plag-admin-results-row{padding:12px;border:1px solid rgba(88,166,255,.18);border-top:none;border-radius:0 0 8px 8px;background:#ffffff06}.plag-admin-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.plag-switch{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.plag-run-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:#ffffff14;width:fit-content}.plag-run-chip.status-success{background:#2ea04340;color:#7ee787}.plag-run-chip.status-running,.plag-run-chip.status-queued{background:#d2992240;color:#e3b341}.plag-run-chip.status-error{background:#f8514940;color:#ff7b72}.plag-run-chip.status-empty{background:#ffffff14;opacity:.7}.plag-results{width:100%}.plag-results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.plag-run-status{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px}.plag-run-status .muted{opacity:.6}.plag-results-actions{display:flex;gap:8px}.plag-table{width:100%;border-collapse:collapse;font-size:13px}.plag-table th,.plag-table td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.plag-table th{opacity:.6;font-weight:600}.plag-table .muted{opacity:.55;font-size:12px}.plag-note{padding:20px;text-align:center;opacity:.7}.plag-meta{margin-bottom:12px}.plag-meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.plag-badge{font-size:12px;padding:3px 10px;border-radius:999px;background:#ffffff14;white-space:nowrap}.plag-badge.sim{background:#58a6ff38;color:#79c0ff}.plag-badge.weight{background:#d2992238;color:#e3b341}.plag-badge.cross{background:#bc8cff38;color:#d2a8ff}.plag-badge.edge-archive{background:#ff7b7233;color:#ff9a92}.plag-badge.verdict.v-confirmed{background:#f8514947;color:#ff7b72}.plag-badge.verdict.v-rejected{background:#2ea04340;color:#7ee787}.plag-badge.verdict.v-unclear{background:#d2992240;color:#e3b341}.plag-diff{border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden}.plag-diff-head{display:flex;background:#ffffff0f;font-size:12.5px;font-weight:600}.plag-diff-col-title{flex:1 1 50%;min-width:0;padding:8px 12px;border-right:1px solid rgba(255,255,255,.1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plag-diff-col-title:last-child{border-right:none}.plag-diff-col-title .muted{font-weight:400;opacity:.6}.plag-diff-body{max-height:68vh;overflow-y:auto;overflow-x:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;line-height:1.65}.plag-diff-row{display:flex;align-items:stretch;position:relative}.plag-frag-pct{position:absolute;left:50%;top:0;transform:translate(-50%);z-index:3;font-size:10.5px;font-weight:800;line-height:1.5;padding:0 7px;border-radius:0 0 7px 7px;color:#0d1117;box-shadow:0 1px 4px #00000059;font-variant-numeric:tabular-nums;pointer-events:none}.plag-frag-pct.plag-frag-0{background:#d29922}.plag-frag-pct.plag-frag-1{background:#58a6ff}.plag-frag-pct.plag-frag-2{background:#3fb950}.plag-frag-pct.plag-frag-3{background:#bc8cff}.plag-frag-pct.plag-frag-4{background:#ff7b72}.plag-meta-hint{font-size:12px;margin-top:6px}.plag-meta-hint code{padding:0 3px}.plag-diff-cell{flex:1 1 50%;min-width:0;display:flex;border-right:1px solid rgba(255,255,255,.08)}.plag-diff-cell:last-child{border-right:none}.plag-diff-cell.empty{background:#ffffff05}.plag-ln{flex:0 0 42px;text-align:right;padding:0 8px;opacity:.35;-webkit-user-select:none;user-select:none}.plag-lc{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;padding-right:14px}.plag-diff-row.matched .plag-ln{opacity:.6}.plag-diff-row.plag-frag-0{background:#d2992229}.plag-diff-row.plag-frag-1{background:#58a6ff29}.plag-diff-row.plag-frag-2{background:#3fb95029}.plag-diff-row.plag-frag-3{background:#bc8cff29}.plag-diff-row.plag-frag-4{background:#ff7b7229}.plag-contrib{border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 14px;margin-bottom:12px;background:#ffffff08}.plag-contrib-title{font-size:13px;font-weight:600;margin-bottom:8px;opacity:.85}.plag-contrib-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#ffffff0f}.plag-contrib-seg{height:100%;min-width:2px;transition:filter .15s ease}.plag-contrib-seg:hover{filter:brightness(1.25)}.plag-contrib-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}.plag-contrib-item{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;min-width:0}.plag-contrib-item b{font-variant-numeric:tabular-nums}.plag-contrib-swatch{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.plag-contrib-sample{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:340px}.plag-contrib-hint{margin-top:10px;font-size:12px;opacity:.6}.plag-contrib-hint code,.plag-contrib-sample{padding:0 3px}.plag-contrib .plag-frag-0{background:#d29922}.plag-contrib .plag-frag-1{background:#58a6ff}.plag-contrib .plag-frag-2{background:#3fb950}.plag-contrib .plag-frag-3{background:#bc8cff}.plag-contrib .plag-frag-4{background:#ff7b72}.plag-verdict-box{margin-top:14px}.plag-verdict-hint{font-size:12.5px;margin-bottom:8px}.plag-verdict-hint code{padding:0 3px}.lc-btn-ok.danger{background:#d1322b;border-color:#b6241e}.lc-btn-ok.danger:hover{background:#e5453d}.plag-comment{width:100%;min-height:54px;resize:vertical;margin-bottom:8px}.plag-verdict-actions{display:flex;gap:8px;flex-wrap:wrap}.shortcut-kbd{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;border:1px solid currentColor;opacity:.6;font-size:11px;font-family:inherit}.plag-summary{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.plag-clusters{display:flex;flex-direction:column;gap:10px}.plag-cluster-card{border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;background:#ffffff08}.plag-cluster-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.plag-cluster-actions{display:flex;gap:8px;margin-top:6px}.plag-graph-block{display:grid;gap:8px}.plag-graph-members{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.plag-graph-member{border:1px solid rgba(88,166,255,.22);border-radius:999px;background:#58a6ff14;padding:4px 8px;font-size:12px;color:var(--text-secondary)}.plag-graph-member.src{border-color:#d2992252;background:#d299221f;color:var(--text-main)}.plag-graph{width:100%;max-width:720px;height:auto;display:block;margin:4px auto 2px}.plag-graph-edge{cursor:pointer}.plag-graph-edge:hover line{stroke:#ff9a92}.plag-graph-edge-chip{fill:var(--bg-card, #1b2230);stroke:#ffffff26}.plag-graph-edge-label{font-size:11px;fill:#ff9a92;pointer-events:none}.plag-graph-node circle{fill:#58a6ff2e;stroke:#58a6ff;stroke-width:1.5}.plag-graph-node circle.src{fill:#d2992238;stroke:#e3b341;stroke-width:2}.plag-graph-label-bg{fill:var(--bg-card, #1b2230);stroke:#ffffff1f;pointer-events:none}.plag-graph-initials{font-size:13px;font-weight:600;fill:currentColor;pointer-events:none}.plag-graph-name{font-size:11.5px;fill:currentColor;opacity:.9;pointer-events:none}.plag-graph-group{font-size:10.5px;fill:currentColor;opacity:.55;pointer-events:none}.plag-link-btn{margin-top:12px;background:none;border:none;color:#79c0ff;cursor:pointer;font-size:13px;padding:0}.plag-chain-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:13px}.plag-submission-banner{margin:12px 0;padding:12px 16px;border-radius:10px;background:#f851491f;border:1px solid rgba(248,81,73,.4)}.plag-submission-banner-head{display:flex;align-items:center;gap:12px}.plag-submission-banner-head>div{flex:1}.plag-submission-banner-icon{font-size:20px}.pack-cell-wrap.plag-flagged{border-radius:8px}.teacher-pack-table td.pack-cell-plag-confirmed{background:#d74b5a33}.teacher-pack-table td.pack-cell-plag-confirmed .pack-cell-mark{color:#a12834}.teacher-pack-table td.pack-cell-plag-cleared{background:#389e6029;transition:background .4s ease}.pack-cell-plag-btn{width:fit-content;padding:4px 8px;font-size:12px;font-weight:800;color:#b42318;background:#ffe45c;border:1px solid #f4c430;border-radius:8px;cursor:pointer;white-space:nowrap}.pack-cell-plag-btn:hover{background:#ffd43b;border-color:#eab308}@media (max-width: 900px){.plag-diff-body{max-height:60vh;font-size:14px}}.pack-cell-cheated{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px}.pack-cell-cheated-btn{width:fit-content;padding:2px 6px;border:none;border-radius:6px;background:transparent;color:#b42318;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}.pack-cell-cheated-btn:hover{background:#b423181f;text-decoration:underline}.pack-cell-cheated-btn.secondary-link{font-size:12px;font-weight:700;color:var(--text-secondary)}.pack-cell-ai-btn{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:800;color:#fff;background:#0d0d0d;border:1px solid #333;border-radius:8px;cursor:pointer;white-space:nowrap}.pack-cell-ai-btn:hover{background:#1a1a1a}.pack-cell-ai-ico{width:14px;height:14px;display:inline-flex}.teacher-pack-table td.pack-cell-ai-confirmed{background:#d74b5a38;padding:0}.pack-cell-ai-stamp{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:64px;padding:10px 6px;border:none;background:transparent;cursor:pointer;font-size:13px;font-weight:800;color:#b42318}.pack-cell-ai-stamp:hover{color:#ff7875}.ai-flag-modal-prob{font-size:32px;font-weight:800;margin:8px 0}.ai-modal-layout{display:flex;gap:16px;flex:1;min-height:0}.ai-modal-code-pane{flex:1;min-width:0;min-height:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:auto;background:#ffffff05}.ai-modal-code-pane-blue{background:#0a1120;border-color:#58a6ff66}.ai-modal-code-pane pre{margin:0;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;line-height:1.6;white-space:pre;background:transparent}.ai-modal-code-pane-blue pre,.ai-modal-code-pane-blue code{color:#e8f0ff}.ai-modal-code-pane-blue .hljs{background:transparent}.ai-modal-code-pane-blue .hljs-keyword,.ai-modal-code-pane-blue .hljs-built_in{color:#7fb3ff}.ai-modal-code-pane-blue .hljs-string{color:#9fe6a0}.ai-modal-code-pane-blue .hljs-number{color:#ffcb8b}.ai-modal-code-pane-blue .hljs-comment{color:#7d92b8}.ai-modal-code-pane-blue .hljs-title,.ai-modal-code-pane-blue .hljs-function{color:#d2b8ff}.ai-modal-side{width:300px;flex:0 0 300px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:2px}.ai-modal-side-card{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:14px}.ai-modal-prob-big{font-size:40px;font-weight:800;line-height:1;color:#ff9a92}.ai-modal-prob-label{font-size:12px;opacity:.65;margin-top:4px}.ai-modal-stat-value{font-size:28px;font-weight:800;color:#7ee787}.ai-modal-stat-label{font-size:12px;opacity:.65;margin-top:4px}.ai-modal-meta-line{font-size:13px;opacity:.8;margin-top:4px}@media (max-width: 900px){.ai-modal-layout{flex-direction:column}.ai-modal-side{width:100%;flex:0 0 auto;flex-direction:row;flex-wrap:wrap}.ai-modal-side-card{flex:1 1 200px}}.theme-resource-manager{color-scheme:dark;color:#f7f7f7;--text-main: #f7f7f7;--text-secondary: #d6d6d6;--text-muted: #b5b5b5;--success: #63d997;--error: #ff7d89;--warning: #ffc46b}.theme-resource-manager .content-shell,.theme-resource-manager .main-area,.theme-resource-manager .panel,.theme-resource-manager .card,.theme-resource-manager .lc-console,.theme-resource-manager .lc-card,.theme-resource-manager .rm-console{color:var(--text-main)}.theme-resource-manager :where(h1,h2,h3,h4,h5,h6),.theme-resource-manager :where(.card-title,.lc-card-title,.rm-subject-name strong,.rm-person strong),.theme-resource-manager :where(.history-task-code,.history-task-title,.task-title,.pack-title){color:#fff}.theme-resource-manager :where(.lc-context,.lc-card-hint,.lc-collapse-meta,.lc-field,.rm-field>span,.rm-topbar span,.rm-section-bar span,.rm-subject-name span,.rm-person span,.rm-role-counts,.rm-manager-row>span,.rm-audit-row span,.rm-audit-row time,.rm-empty-row,.rating-page-meta,.history-attempt-marker,.history-attempt-blank,.admin-upload-hint,.admin-upload-status,.admin-task-pack-meta,.admin-task-io-hint){color:var(--text-muted)}.theme-resource-manager a:not(.nav-button){color:#ff9aa5}.theme-resource-manager a:not(.nav-button):hover{color:#ffc2c8}.theme-resource-manager :where(input,select,textarea,button){caret-color:#ff6373}.theme-resource-manager .rm-token-field>span{color:#d6d6d6}.theme-resource-manager .rm-token-value{border-color:#555;background:#0d0d0d;color:#fff}.theme-resource-manager :where(input,textarea)::placeholder{color:#a9a9a9;opacity:1}.theme-resource-manager select option{background:#090909;color:#fff}.theme-resource-manager :where(input,select,textarea):disabled{color:#b0b0b0;-webkit-text-fill-color:#b0b0b0;opacity:.72}.theme-resource-manager input[type=file]{color:#d7d7d7}.theme-resource-manager input[type=file]::file-selector-button{border:1px solid #d8273a;background:#090909;color:#fff}.theme-resource-manager .subject-switcher.loading{color:#f1d6d9}.theme-resource-manager .subject-switcher.error{color:#ffe1e4}.theme-resource-manager .header-greeting,.theme-resource-manager .greeting-prefix,.theme-resource-manager .greeting-name{color:#fff}.theme-resource-manager .table{color:var(--text-main)}.theme-resource-manager .table th{background:#1b1b1b;color:#e2e2e2;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-resource-manager .table td{border-top-color:#42141a;color:#f3f3f3}.theme-resource-manager .table tbody tr:nth-child(odd) td{background:#141414}.theme-resource-manager .table tbody tr:hover td{background:#251216}.theme-resource-manager .table-search-clear,.theme-resource-manager .history-task-separator-inner{border-color:#5e2028;background:#181818;color:#eee}.theme-resource-manager .inline-error-banner{border-color:#ee5362;background:#351015;color:#ffb3bb}.theme-resource-manager .work-toast.ok{border-color:#3c9d6a;background:#102a1d;color:#9bf0be}.theme-resource-manager .page-loader{color:#d8d8d8}.theme-resource-manager .pack-button{border-color:#491820;background:#151515;color:#f5f5f5;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.theme-resource-manager .pack-button:hover{border-color:#d8273a;background:#211216;box-shadow:0 10px 22px #11000352}.theme-resource-manager .pack-button.active{border-color:#f04353;background:#2b1115;box-shadow:0 0 0 3px #d8273a47}.theme-resource-manager .pack-title{color:#fff}.theme-resource-manager .pack-meta{color:#d6d6d6}.theme-resource-manager .lc-tab{color:#c5c5c5}.theme-resource-manager .lc-tab:hover{color:#fff}.theme-resource-manager .lc-tab.active,.theme-resource-manager .lc-collapse-icon{color:#ff6878}.theme-resource-manager .lc-chip.active{border-color:#d8273a;background:#2b1115;color:#ff9aa5}.theme-resource-manager .lc-collapse,.theme-resource-manager .lc-collapse-body,.theme-resource-manager .lc-code-example,.theme-resource-manager .admin-upload-card,.theme-resource-manager .admin-task-io-card{border-color:#491820;background:#151515;color:#eee}.theme-resource-manager .lc-collapse-head{color:#f5f5f5}.theme-resource-manager .lc-collapse-head:hover{background:#211216}.theme-resource-manager :where(.lc-task-edit-btn,.pack-note-edit-btn){border-color:#ff6b7a;background:#3a2226;color:#ffd9dc}.theme-resource-manager :where(.lc-task-edit-btn,.pack-note-edit-btn):hover{background:#4a2a2f}.theme-resource-manager :where(.lc-task-save-btn,.pack-note-save-btn){border-color:#48b77a;background:#0d2116;color:#87e8ad}.theme-resource-manager .rm-topbar,.theme-resource-manager .rm-section-bar,.theme-resource-manager .rm-subject-row,.theme-resource-manager .rm-manager-row,.theme-resource-manager .rm-audit-row,.theme-resource-manager .rt-image-row,.theme-resource-manager .rt-version-row{color:#f5f5f5}.theme-resource-manager .rm-status{color:#d0d0d0}.theme-resource-manager .rm-status:before{background:#8e8e8e}.theme-resource-manager .rm-role-counts b,.theme-resource-manager .rm-number,.theme-resource-manager .rm-subsection-heading,.theme-resource-manager .rt-image-row code,.theme-resource-manager .rt-version-row code{color:#f0f0f0}.theme-resource-manager .rm-subject-actions,.theme-resource-manager .rm-staff-list{background:#111}.theme-resource-manager .teacher-groups-switch-row :where(.primary,.secondary),.theme-resource-manager :where(.rating-page-btn,.sort-toggle-btn,.find-me-btn){border-color:#d8273a;background:#090909;color:#fff}.theme-resource-manager :where(.status.pending,.status.failed,.status.scored),.theme-resource-manager :where(.verdict-badge,.verdict-compact){-webkit-text-fill-color:currentColor}.theme-resource-manager :where(.task-working-badge.ok,.pack-status-pill.ok,.admin-upload-alert.ok){border-color:#3f9e6c;background:#102a1d;color:#8ee8b2}.theme-resource-manager :where(.task-working-badge.fail,.pack-status-pill.fail,.admin-upload-alert.error){border-color:#d74c5c;background:#351015;color:#ff9ba6}.theme-resource-manager :where(.admin-upload-alert.warning,.admin-status-pill.hidden){border-color:#b98332;background:#2d2110;color:#ffd38a}.theme-resource-manager .admin-status-pill.scheduled,.theme-resource-manager .admin-freeze-btn.on{border-color:#657fbb;background:#151d32;color:#a9c2ff}.theme-resource-manager :where(.admin-status-pill.open,.admin-visibility-btn.visible){border-color:#3f9e6c;background:#102a1d;color:#8ee8b2}.theme-resource-manager :where(.admin-status-pill.closed,.admin-visibility-btn.hidden){border-color:#d74c5c;background:#351015;color:#ff9ba6}.theme-resource-manager .submission-number-link{color:#ff9aa5}.theme-resource-manager .submission-status-dot.scored,.theme-resource-manager :where(.pack-cell-status.ok,.pack-approve-btn.active){border-color:#3f9e6c;background:#102a1d;color:#8ee8b2}.theme-resource-manager .submission-status-dot.failed,.theme-resource-manager :where(.pack-cell-status.fail,.pack-reject-btn.active){border-color:#d74c5c;background:#351015;color:#ff9ba6}.theme-resource-manager .submission-status-dot.pending{border-color:#b98332;background:#2d2110;color:#ffd38a}.theme-resource-manager .teacher-pack-toast.ok{border-color:#3f9e6c;background:#102a1d;color:#8ee8b2}.theme-resource-manager .teacher-pack-toast.error{border-color:#d74c5c;background:#351015;color:#ff9ba6}.theme-resource-manager ::selection{background:#d8273a;color:#fff}
