.system-admin-page{padding:32px 0 64px;min-height:calc(100vh - 64px)}.system-admin-container{display:flex;flex-direction:column;gap:24px;max-width:1040px!important}.system-page-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-radius:16px;background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(15,23,42,.75));border:1px solid rgba(245,158,11,.25);box-shadow:0 4px 20px rgba(0,0,0,.3)}.system-page-hero .hero-content h1{font-size:26px;font-weight:850;color:#f8fafc;margin:6px 0 4px;letter-spacing:-.02em}.system-page-hero .hero-content p{font-size:14px;color:#94a3b8;margin:0;line-height:1.5}.system-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);color:#cbd5e1!important;font-size:13px;font-weight:600;transition:all .15s ease;white-space:nowrap}.system-back-btn:hover{background:hsla(0,0%,100%,.12);color:#fff!important;transform:translateY(-1px)}.system-admin-tabs{display:flex;align-items:center;gap:8px;padding:6px;border-radius:14px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.08);overflow-x:auto}.system-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;border:1px solid transparent;background:transparent;color:#94a3b8;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.system-tab-btn:hover{color:#e2e8f0;background:hsla(0,0%,100%,.04)}.system-tab-btn.active{background:#f59e0b;color:#451a03;font-weight:750;box-shadow:0 2px 10px rgba(245,158,11,.35)}.system-tab-content{display:flex;flex-direction:column;gap:20px}.system-placeholder-card{padding:48px 24px;text-align:center;border-radius:16px;background:hsla(0,0%,100%,.02);border:1px dashed hsla(0,0%,100%,.14);display:flex;flex-direction:column;align-items:center;gap:12px}.system-placeholder-card .placeholder-icon{font-size:40px;margin-bottom:4px}.system-placeholder-card h3{font-size:18px;font-weight:750;color:#f8fafc;margin:0}.system-placeholder-card p{font-size:13.5px;color:#94a3b8;max-width:500px;line-height:1.55;margin:0}.system-placeholder-card .placeholder-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.35);color:#fbbf24;font-size:11.5px;font-weight:700;margin-top:6px}.system-admin-overlay{position:fixed;inset:0;z-index:9999;background:rgba(2,6,23,.78);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeInModal .2s ease-out}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.system-admin-modal{width:min(780px,96vw);max-height:90vh;display:flex;flex-direction:column;background:#0b0f19;border:1px solid rgba(245,158,11,.35);border-radius:20px;box-shadow:0 25px 70px rgba(0,0,0,.7),0 0 35px rgba(245,158,11,.1);overflow:hidden;animation:slideUpModal .25s cubic-bezier(.16,1,.3,1)}@keyframes slideUpModal{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.system-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 26px;background:linear-gradient(180deg,rgba(245,158,11,.08),rgba(11,15,25,0));border-bottom:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.system-admin-badge{display:inline-block;padding:3px 9px;border-radius:999px;background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.4);color:#fbbf24;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}.system-admin-title-wrap h2{font-size:22px;font-weight:800;color:#f8fafc;margin:0;letter-spacing:-.01em}.system-admin-title-wrap p{font-size:13px;color:#94a3b8;margin:4px 0 0;line-height:1.45}.system-admin-close-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.05);color:#cbd5e1;font-size:15px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.system-admin-close-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444;color:#fca5a5;transform:scale(1.05)}.system-admin-body{padding:24px 26px;overflow-y:auto;display:flex;flex-direction:column;gap:20px}.system-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.system-metric-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.07);border-radius:12px;transition:border-color .15s ease}.system-metric-card:hover{border-color:hsla(0,0%,100%,.18)}.system-metric-card .metric-icon{font-size:22px;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:hsla(0,0%,100%,.05);flex-shrink:0}.system-metric-card small{display:block;font-size:11px;color:#94a3b8;margin-bottom:2px}.system-metric-card b{font-size:14px;font-weight:750;color:#f1f5f9}.backup-action-card{background:linear-gradient(135deg,rgba(245,158,11,.09),rgba(30,41,59,.5));border:1.5px solid rgba(245,158,11,.4);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.backup-action-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#fbbf24,#d97706)}.backup-card-badge{display:inline-block;padding:2px 8px;border-radius:6px;background:#f59e0b;color:#451a03;font-size:10px;font-weight:850;letter-spacing:.06em;margin-bottom:6px}.backup-card-header h3{font-size:18px;font-weight:800;color:#fef3c7;margin:0 0 6px}.backup-card-header p{font-size:13.5px;color:#cbd5e1;line-height:1.55;margin:0}.backup-contents-preview{display:flex;flex-wrap:wrap;gap:8px}.content-pill{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;background:rgba(15,23,42,.85);border:1px solid rgba(245,158,11,.25);color:#fde68a;white-space:nowrap}.backup-action-footer{display:flex;flex-direction:column;gap:8px;margin-top:4px}.backup-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:12px;border:1px solid #f59e0b;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 20px rgba(245,158,11,.35);transition:all .18s ease;width:100%}.backup-download-btn:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-1.5px);box-shadow:0 10px 25px rgba(245,158,11,.45)}.backup-download-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.spinner-icon{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.backup-safe-note{font-size:12px;color:#94a3b8;text-align:center;line-height:1.4}.backup-success-alert{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:10px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35);color:#bbf7d0;font-size:13px;margin-top:4px}.backup-success-alert .success-icon{font-size:20px}.backup-success-alert b{color:#4ade80}.backup-success-alert code{background:rgba(0,0,0,.3);padding:1px 6px;border-radius:4px;color:#fef08a;font-size:12px}.backup-success-alert small{display:block;color:#86efac;margin-top:3px;font-size:11.5px}.system-admin-accordion{border:1px solid hsla(0,0%,100%,.08);border-radius:12px;overflow:hidden;background:hsla(0,0%,100%,.02)}.accordion-trigger-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:hsla(0,0%,100%,.03);border:0;color:#e2e8f0;font-size:13.5px;cursor:pointer;transition:background .15s ease;text-align:left}.accordion-trigger-btn:hover{background:hsla(0,0%,100%,.06)}.trigger-left{display:flex;align-items:center;gap:8px}.trigger-arrow{font-size:11px;color:#93c5fd;font-weight:600}.accordion-content-panel{padding:16px;border-top:1px solid hsla(0,0%,100%,.08);background:rgba(0,0,0,.2)}.table-search-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.table-filter-input{flex:1 1;padding:8px 12px;border-radius:8px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);color:#f1f5f9;font-size:13px}.table-search-row small{color:#94a3b8;font-size:12px;white-space:nowrap}.table-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px;max-height:220px;overflow-y:auto;padding-right:4px}.table-badge-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;font-size:12px}.table-badge-item .table-name{color:#cbd5e1;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.table-badge-item .table-count{color:#86efac;font-size:11px;background:rgba(34,197,94,.12);padding:1px 6px;border-radius:4px}.guide-body{display:flex;flex-direction:column;gap:14px;font-size:13px;color:#cbd5e1}.guide-step b{color:#fde68a;display:block;margin-bottom:4px}.guide-step p{margin:0 0 6px;line-height:1.5}.guide-step pre{margin:0;padding:10px 14px;background:#020617;border:1px solid hsla(0,0%,100%,.1);border-radius:8px;font-size:12px;color:#86efac;overflow-x:auto}.system-admin-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;background:rgba(0,0,0,.3);border-top:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.system-admin-footer small{color:#64748b;font-size:11.5px}.system-admin-btn-secondary{padding:7px 16px;border-radius:8px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.06);color:#e2e8f0;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.system-admin-btn-secondary:hover{background:hsla(0,0%,100%,.12);color:#fff}@media (max-width:680px){.system-metrics-grid{grid-template-columns:1fr 1fr}.system-admin-body,.system-admin-header{padding:16px 20px}.table-badges-grid{grid-template-columns:1fr}}.dsa-workspace{max-width:1280px}.dsa-problem-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:18px 0;padding:28px 32px;border:1px solid #4d4526;border-radius:22px;background:linear-gradient(135deg,#282012,#191e28)}.dsa-problem-head h1{margin:8px 0 4px;font-size:32px}.dsa-problem-head p{margin:0;color:#bcc5d4}.dsa-problem-head>div:first-child>span{display:inline-block;margin-right:10px;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:900}.dsa-problem-head .easy{background:#14532d;color:#86efac}.dsa-problem-head .medium{background:#78350f;color:#fde68a}.dsa-problem-head small{color:#fbbf24;font-weight:800}.dsa-mission{display:grid;grid-template-columns:45px 1fr;min-width:235px;padding:16px;border:1px solid #6d5320;border-radius:17px;background:#f59e0b12;font-size:32px}.dsa-mission b,.dsa-mission small{font-size:14px}.dsa-mission small{color:#aeb8c8}.dsa-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);grid-gap:18px;gap:18px;align-items:start}.dsa-code-panel,.dsa-hint,.dsa-statement>section{padding:22px;border:1px solid #343d4b;border-radius:18px;background:#191e27}.dsa-hint,.dsa-statement>section+section{margin-top:16px}.dsa-code-panel h2,.dsa-statement h2{margin:0 0 15px}.dsa-task-line{display:flex;align-items:flex-start;gap:11px;margin:9px 0;padding:10px 12px;border-radius:12px;background:#222936}.dsa-task-line>b{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:#f59e0b;color:#241807}.dsa-task-line p{margin:3px 0}.dsa-example-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.dsa-code-card{overflow:hidden;border:1px solid #3b4656;border-radius:13px;background:#0d1119}.dsa-code-card>div{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#232b38}.dsa-code-card button{border:0;background:none;color:#6fb1ff}.dsa-code-card pre{min-height:74px;margin:0;padding:13px;white-space:pre-wrap;color:#e7edf7}.dsa-explanation{color:#aeb8c7}.dsa-hint{display:block;cursor:pointer;border-color:#675323;color:#f8d46d}.dsa-hint p{color:#d7dde8}.dsa-code-panel{position:-webkit-sticky;position:sticky;top:140px}.dsa-code-panel>div:first-child{display:flex;justify-content:space-between}.dsa-code-panel small{color:#fbbf24;font-weight:900}.dsa-code-panel>div:first-child>span{height:max-content;padding:6px 10px;border-radius:99px;background:#21417f;color:#bfdbfe}.dsa-code-panel>p{color:#aeb7c7}.dsa-code-panel textarea{width:100%;height:390px;padding:18px;border:1px solid #384353;border-radius:14px;outline:none;resize:vertical;background:#090d14;color:#e5edf9;font:15px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;-moz-tab-size:4;tab-size:4}.dsa-code-panel textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.dsa-code-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.dsa-code-actions button{padding:10px 16px;border:1px solid #3b4655;border-radius:10px;background:#222936;color:#e8edf5}.dsa-code-actions .primary{border-color:#d9920a;background:#e9a514;color:#201604;font-weight:900}.dsa-practice-note{display:flex!important;flex-direction:column;margin-top:15px;padding:13px;border-radius:12px;background:#172a22;color:#82e5af}.dsa-practice-note span{font-size:13px;color:#b8d7c6}@media(max-width:900px){.dsa-workspace-grid{grid-template-columns:1fr}.dsa-code-panel{position:static}.dsa-problem-head{align-items:flex-start;flex-direction:column}.dsa-mission{width:100%}}@media(max-width:600px){.dsa-example-grid{grid-template-columns:1fr}.dsa-problem-head{padding:21px}.dsa-problem-head h1{font-size:27px}.dsa-code-panel textarea{height:320px}}.dsa-page-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.dsa-page-tools button{padding:9px 14px;border:1px solid #485365;border-radius:10px;background:#202733;color:#e8edf5}.dsa-page-tools .back-link{margin:0;background:transparent;color:#6fb1ff}.dsa-mission{width:270px;grid-template-columns:44px minmax(0,1fr)!important;align-items:center}.dsa-mission>span{font-size:31px}.dsa-mission>div{display:flex;min-width:0;flex-direction:column}.dsa-mission>div b,.dsa-mission>div small{white-space:normal;word-break:normal}.dsa-example-title{display:flex;justify-content:space-between;align-items:center}.dsa-example-title span{padding:5px 9px;border-radius:99px;background:#263143;color:#b8c7db;font-size:12px}.dsa-example-list{display:grid;grid-gap:12px;gap:12px}.dsa-example-case{padding:13px;border:1px solid #303a48;border-radius:14px;background:#151a22}.dsa-example-case h3{margin:0 0 10px;color:#fbbf24}.problem-group>a code{display:none}.problem-group>a{min-height:72px}.problem-order{flex:0 0 34px;width:34px;height:34px;font-size:15px;font-weight:900}@media(max-width:600px){.dsa-page-tools{align-items:stretch}.dsa-mission{width:100%}}.exam-prep-page{min-height:100vh;padding:28px 0 60px;background:radial-gradient(circle at 12% 5%,#7c3aed24,transparent 28%),radial-gradient(circle at 90% 20%,#f59e0b1c,transparent 30%)}.exam-shell{width:100%}.exam-hero{display:flex;align-items:center;justify-content:space-between;padding:30px 36px;border:1px solid #8b5cf6;border-radius:26px;background:linear-gradient(135deg,#24133f,#3d260d);box-shadow:0 20px 55px #0005}.exam-hero h1{margin:5px 0;font-size:34px}.exam-hero p{margin:0;color:#c7cce0}.exam-cup{font-size:78px;filter:drop-shadow(0 8px 16px #f59e0b66)}.exam-branch-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin:20px 0 24px}.exam-branch-tabs button{display:flex;gap:16px;align-items:center;text-align:left;padding:16px 20px;border:1.5px solid hsla(0,0%,100%,.08);border-radius:18px;background:hsla(0,0%,100%,.03);color:#d5dbea;cursor:pointer;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.exam-branch-tabs button:hover{background:hsla(0,0%,100%,.07);border-color:hsla(0,0%,100%,.18);transform:translateY(-2px)}.exam-branch-tabs button.active{border-color:#f59e0b;background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(180,83,9,.1));box-shadow:0 4px 18px rgba(245,158,11,.2)}.exam-branch-tabs button>span{font-size:38px}.exam-branch-tabs b,.exam-branch-tabs small{display:block}.exam-branch-tabs b{font-size:18px}.exam-branch-tabs small{color:#9fa9bd;margin-top:3px}.exam-manager-tabs{display:flex;gap:8px;padding:7px;border:1px solid #303949;border-radius:15px;background:#141820;margin:18px 0}.exam-manager-tabs button{flex:1 1;padding:12px;border:0;border-radius:10px;background:transparent;color:#aeb8ca;font-weight:700}.exam-manager-tabs button.active{background:#713f12;color:#fde68a}.exam-catalog-layout{display:grid;grid-template-columns:340px 1fr;grid-gap:18px;gap:18px}.exam-assigned,.exam-assignment-form,.exam-category-list>article,.exam-form-card,.student-exam-banner{border:1px solid #343d4c;border-radius:20px;background:#181c25;padding:20px}.exam-form-card h2{font-size:18px}.exam-form-card form{display:grid;grid-gap:11px;gap:11px}.exam-fields label,.exam-form-card label{display:grid;grid-gap:5px;gap:5px;color:#aeb8c9;font-size:13px}.exam-fields input,.exam-form-card input,.exam-form-card select,.exam-form-card textarea{width:100%}.exam-form-card textarea{min-height:70px}.exam-form-card hr{border:0;border-top:1px solid #343b49;margin:22px 0}.exam-category-list{display:grid;grid-gap:14px;gap:14px}.exam-category-list article>header{display:flex;align-items:center;gap:13px;border-bottom:1px solid #303746;padding-bottom:14px;margin-bottom:12px}.exam-category-list article>header>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#7c3aed;color:#fff;font-weight:900}.exam-category-list header div{flex:1 1}.exam-category-list h2,.exam-category-list p{margin:0}.exam-category-list p{font-size:13px;color:#9da7b8}.exam-item{display:flex;align-items:center;gap:11px;padding:12px;border-radius:12px;background:#202631;margin-top:8px}.exam-item>span{font-size:21px}.exam-item>div{flex:1 1}.exam-item b,.exam-item small{display:block}.exam-item small{color:#9fa8b8}.exam-item em{font-size:12px;color:#fbbf24;font-style:normal}.exam-item button{border:0;background:#7f1d1d55;color:#fca5a5;border-radius:8px;font-size:19px}.exam-empty,.exam-empty-row{text-align:center;padding:35px;color:#9ca6b8}.exam-empty>span{font-size:48px}.exam-empty h2{margin:8px}.exam-student-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.exam-student-grid article{display:flex;align-items:center;gap:11px;padding:16px;border:1px solid #343c4a;border-radius:15px;background:#181c24}.exam-student-grid article.enabled{border-color:#22c55e}.exam-student-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#4338ca}.exam-student-grid article>div{flex:1 1}.exam-student-grid b,.exam-student-grid small{display:block}.exam-student-grid small{color:#9da6b6}.exam-student-grid button{padding:8px;border:1px solid #506079;border-radius:9px;background:#252d3a;color:#fff}.exam-student-grid .enabled button{background:#14532d}.exam-assignment-head,.exam-section-title,.exam-section-title>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.exam-fields{display:grid;grid-template-columns:2fr 1fr 2fr;grid-gap:12px;gap:12px;margin:18px 0}.exam-pickers{display:grid;grid-template-columns:1fr 1fr;grid-gap:15px;gap:15px}.exam-pickers section{padding:14px;border-radius:14px;background:#11151d;max-height:360px;overflow:auto}.exam-pickers label{display:flex;gap:10px;padding:11px;border:1px solid #303849;border-radius:10px;margin-top:7px}.exam-pickers label.picked{border-color:#8b5cf6;background:#4c1d9544}.exam-pickers b,.exam-pickers small{display:block}.exam-pickers small{color:#9fa8b8}.exam-assigned{margin-top:20px}.exam-section-title h2,.exam-section-title p{margin:0}.exam-section-title p{color:#9fa8b8}.exam-assignment-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px}.exam-assignment-list article:not(.app-session-card){display:flex;align-items:center;gap:14px;padding:15px;border-radius:14px;background:#202631;border-left:4px solid #f59e0b}.exam-assignment-list article:not(.app-session-card)>span{font-size:28px}.exam-assignment-list article:not(.app-session-card)>div{flex:1 1}.exam-assignment-list h3,.exam-assignment-list p{margin:0}.exam-assignment-list p,.exam-assignment-list small{color:#9fa8b8}.exam-assignment-list strong{color:#fde68a}.student-exam-banner{display:flex;gap:17px;align-items:center;margin:18px 0}.student-exam-banner>span{font-size:50px}.student-exam-banner h2,.student-exam-banner p{margin:2px 0}.student-exam-banner p{color:#aeb7c7}@media(max-width:850px){.exam-catalog-layout{grid-template-columns:1fr}.exam-student-grid{grid-template-columns:1fr 1fr}.exam-fields,.exam-pickers{grid-template-columns:1fr}}@media(max-width:560px){.exam-hero{padding:22px}.exam-cup{display:none}.exam-branch-tabs,.exam-student-grid{grid-template-columns:1fr}.exam-manager-tabs{overflow:auto}.exam-manager-tabs button{min-width:170px}.exam-assignment-list article{align-items:flex-start}.exam-assignment-list strong{display:none}}.exam-editor select,.exam-form-card textarea{background:#20242d;color:#e5e7eb;border:1px solid #343d4c;border-radius:9px;padding:12px;box-sizing:border-box;width:100%}.exam-editor{display:grid;grid-gap:16px;gap:16px;margin:20px 0}.exam-example{background:#11151d;padding:18px;border-radius:14px}.exam-example-columns{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-bottom:12px}.exam-example-columns textarea{font-family:monospace;white-space:pre}.exam-editor-actions{display:flex;gap:12px}@media(max-width:600px){.exam-example-columns{grid-template-columns:1fr}}.exam-admin-navigation{position:relative;z-index:5;background:#10141c}.exam-section-nav{border-bottom:1px solid #6d28d9;background:linear-gradient(90deg,#171124,#131820)}.exam-section-nav>.container{min-height:58px;display:flex;align-items:center;gap:30px}.exam-section-caption{min-width:170px;color:#c4b5fd;font-weight:800}.exam-section-links{display:flex;align-self:stretch;gap:8px}.exam-section-links a{display:flex;align-items:center;padding:0 22px;border-bottom:3px solid transparent;color:#aeb8ca;font-weight:750}.exam-section-links a:hover{color:#fff}.exam-section-links a.active{color:#fff;border-bottom-color:#8b5cf6;background:linear-gradient(180deg,#7c3aed22,#7c3aed0a)}.exam-branch-links a{min-width:145px;text-align:center}.exam-branch-links a.active{background:#713f12;color:#fde68a}@media (max-width:560px){.exam-section-nav>.container{display:block;padding-top:10px}.exam-section-caption{display:block;padding:0 4px 8px}.exam-section-links{overflow:auto}.exam-section-links a{min-height:48px;padding:0 15px;white-space:nowrap}}.category-tools{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-left:auto;flex:0 0 auto!important}.category-tools button,.import-category{padding:8px 11px;border:1px solid #46536a;border-radius:8px;background:#222a38;color:#dbe4f5;font-weight:700;cursor:pointer;white-space:nowrap}.category-tools button:hover,.import-category:hover{border-color:#8b5cf6;background:#2d2548}.category-tools .delete{background:transparent;color:#fca5a5;border-color:#7f3342}.exam-form-card>.import-category{width:100%;margin-top:4px}.import-hint{display:block;color:#8995a9;margin-top:7px;font-size:12px}.category-tools .edit-category{background:#251c38;color:#c4b5fd;border-color:#6d28d9}.category-tools .edit-category.active,.category-tools .edit-category:hover{background:#7c3aed;color:#fff;border-color:#a78bfa}.category-active-edit{border-color:#8b5cf6!important;box-shadow:0 0 18px rgba(139,92,246,.25);position:relative}.category-editing-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(139,92,246,.25);color:#d8b4fe;border:1px solid rgba(139,92,246,.5);margin-left:8px;vertical-align:middle}.exam-form-actions{display:flex;gap:8px;align-items:center;margin-top:4px}.exam-form-actions button.cancel-btn{padding:10px 14px;border:1px solid #475569;border-radius:10px;background:#1e293b;color:#cbd5e1;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.exam-form-actions button.cancel-btn:hover{background:#334155;color:#fff;border-color:#64748b}.category-edit-banner{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);border-radius:10px;font-size:12px;color:#c4b5fd;margin-bottom:12px}.category-edit-banner button{background:none;border:none;color:#a78bfa;cursor:pointer;text-decoration:underline;padding:0;font-size:12px}.category-edit-banner button:hover{color:#fff}.exam-toast{position:fixed;right:24px;bottom:24px;z-index:1500;max-width:min(460px,calc(100vw - 48px));margin:0;border:1px solid #4ade80;box-shadow:0 12px 30px #0006;animation:exam-toast-in .25s ease}@keyframes exam-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.account-manager-view{display:flex;flex-direction:column;gap:18px;width:100%}.account-top-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:4px 0}.btn-create-account{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;font-weight:700;font-size:14.5px;cursor:pointer;box-shadow:0 4px 14px rgba(37,99,235,.35);transition:all .18s ease;white-space:nowrap}.btn-create-account:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,99,235,.45);background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-create-account:active{transform:translateY(0)}.account-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px}.account-kpi-card{background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:14px;transition:border-color .2s,transform .2s}.account-kpi-card:hover{border-color:var(--accent,#60a5fa);transform:translateY(-1px)}.kpi-icon-wrap{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:20px;flex-shrink:0}.kpi-value{font-size:22px;font-weight:800;color:var(--text,#f8fafc);line-height:1.2}.kpi-label{font-size:12.5px;color:var(--muted,#cbd5e1);margin-top:2px}.account-toolbar{background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.search-input-wrapper{position:relative;flex:1 1;min-width:240px;display:flex;align-items:center}.search-icon{position:absolute;left:12px;font-size:13px;pointer-events:none;opacity:.6}.search-input-wrapper input{width:100%;padding:9px 34px;border:1px solid var(--border,#2a2f3a);border-radius:8px;background:var(--soft,#1f232c);color:var(--text,#f8fafc);font-size:14px;transition:border-color .2s}.search-input-wrapper input:focus{border-color:var(--accent,#60a5fa);outline:none}.btn-clear-search{position:absolute;right:10px;background:none;border:none;color:var(--muted,#cbd5e1);cursor:pointer;font-size:12px;padding:4px 6px;border-radius:4px}.filter-role-pills{display:flex;gap:6px;flex-wrap:wrap}.pill-btn{background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--muted,#cbd5e1);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pill-btn:hover{color:var(--text,#f8fafc);border-color:var(--muted,#cbd5e1)}.pill-btn.active{background:rgba(96,165,250,.15);border-color:var(--accent,#60a5fa);color:var(--accent,#60a5fa);font-weight:600}.total-indicator{font-size:13px;color:var(--muted,#cbd5e1);margin-left:auto}.container.management{max-width:1440px;width:100%}.account-table-wrapper{background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);border-radius:12px;overflow:visible!important;box-shadow:0 4px 20px rgba(0,0,0,.15);width:100%}.account-table,table.account-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed;border-collapse:collapse;text-align:left}.account-table th{background:var(--soft,#1f232c);color:var(--muted,#cbd5e1);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:10px;border-bottom:1px solid var(--border,#2a2f3a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-table th:first-child{border-top-left-radius:11px}.account-table th:last-child{border-top-right-radius:11px}.account-table td{padding:10px;border-bottom:1px solid var(--border,#2a2f3a);vertical-align:middle;font-size:13px;overflow:visible}.user-row{position:relative;transition:background .15s ease}.user-row:hover{background:hsla(0,0%,100%,.02);z-index:50}.account-table td:last-child{position:relative;overflow:visible!important}.user-row:hover td:last-child{z-index:60}.empty-table-cell{text-align:center;padding:50px 20px!important;color:var(--text,#f8fafc)}.user-profile-cell{display:flex;align-items:center;gap:10px;min-width:0}.user-avatar-circle{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px;color:#fff;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.2)}.user-details{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.user-fullname{font-weight:700;color:var(--text,#f8fafc);font-size:13.5px;display:flex;align-items:center;gap:6px}.user-fullname,.user-username-tag{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-username-tag{font-size:11.5px;color:var(--muted,#cbd5e1);font-family:monospace}.role-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 6px;border-radius:4px;vertical-align:middle}.role-badge.admin{background:#7f1d1d;color:#fca5a5;border:1px solid #b91c1c}.role-badge.teacher{background:#1e3a8a;color:#93c5fd;border:1px solid #2563eb}.role-badge.student{background:#065f46;color:#6ee7b7;border:1px solid #059669}.last-active-cell{display:flex;flex-direction:column;gap:3px}.status-indicator{display:inline-flex;align-items:center;gap:6px}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.online{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25);animation:pulse-green 2s infinite}@keyframes pulse-green{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 6px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.status-dot.recent{background:#f59e0b}.status-dot.offline{background:#64748b}.status-dot.never{background:#475569}.status-text{font-size:13px;font-weight:600}.status-text.online{color:#4ade80}.status-text.recent{color:#fbbf24}.status-text.offline{color:var(--muted,#cbd5e1)}.status-text.never{color:#64748b}.status-subtext{font-size:11.5px;color:var(--muted-dim,#94a3b8)}.rank-cell{display:flex;flex-direction:column;gap:3px}.rank-badge-row{display:flex;align-items:center;gap:5px;flex-wrap:nowrap}.admin-rank-pill{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 6px;border-radius:5px;white-space:nowrap;line-height:1.3}.admin-rank-pill.top-1{background:rgba(245,158,11,.2);color:#f59e0b;border:1px solid rgba(245,158,11,.45)}.admin-rank-pill.top-2{background:rgba(148,163,184,.2);color:#cbd5e1;border:1px solid rgba(148,163,184,.4)}.admin-rank-pill.top-3{background:rgba(180,83,9,.2);color:#f97316;border:1px solid rgba(180,83,9,.4)}.admin-rank-pill.other{background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);color:var(--muted,#cbd5e1)}.admin-rank-pill.unranked{color:var(--muted-dim,#64748b);font-size:11px}.tier-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:5px;border:1px solid;white-space:nowrap;line-height:1.3}.points-summary{font-size:12px;color:var(--text,#f8fafc);white-space:nowrap}.bonus-pill{font-size:10px;font-weight:600;color:#22c55e;background:rgba(34,197,94,.15);padding:1px 5px;border-radius:4px;margin-left:4px}.progress-cell{display:flex;flex-direction:column;gap:4px}.total-exercises-badge{font-size:13.5px;color:var(--text,#f8fafc)}.breakdown-chips{display:flex;gap:5px;flex-wrap:wrap}.mini-chip{font-size:11px;padding:2px 6px;border-radius:5px;background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);color:var(--muted,#cbd5e1);white-space:nowrap}.mini-chip.medal-chip{background:rgba(234,179,8,.15);border-color:rgba(234,179,8,.3);color:#facc15}.courses-tag-container{display:flex;gap:6px;flex-wrap:wrap}.course-chip-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:3px 8px;border-radius:6px;background:rgba(96,165,250,.1);border:1px solid rgba(96,165,250,.25);color:var(--accent,#60a5fa);white-space:nowrap}.empty-courses-hint{font-size:12px;color:#64748b;font-style:italic}.muted-dash{color:var(--muted-dim,#94a3b8);font-size:13px}.action-button-group{gap:6px;justify-content:flex-end}.action-button-group,.btn-icon-action{display:inline-flex;align-items:center;position:relative;overflow:visible}.btn-icon-action{width:32px;height:32px;justify-content:center;border-radius:8px;border:1px solid var(--border,#2a2f3a);background:var(--soft,#1f232c);color:var(--text,#f8fafc);font-size:14px;cursor:pointer;transition:all .15s ease;padding:0;z-index:1}.btn-icon-action:hover{background:var(--panel,#181b22);border-color:var(--accent,#60a5fa);transform:translateY(-1px);z-index:100}.btn-icon-action.delete{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.1);color:#f87171}.btn-icon-action.delete:hover{border-color:#ef4444;background:rgba(239,68,68,.25);color:#fee2e2}.action-tooltip{position:absolute;bottom:calc(100% + 8px);right:50%;transform:translateX(50%) translateY(4px);background:#090d16;color:#f8fafc;font-size:11px;font-weight:600;white-space:nowrap;padding:5px 9px;border-radius:6px;border:1px solid hsla(0,0%,100%,.25);box-shadow:0 8px 24px rgba(0,0,0,.85);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:99999}.action-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#090d16}.btn-icon-action:hover .action-tooltip{opacity:1;visibility:visible;transform:translateX(50%) translateY(0)}.btn-icon-action:last-child .action-tooltip{right:0;transform:translateY(4px)}.btn-icon-action:last-child .action-tooltip:after{left:auto;right:11px;transform:none}.btn-icon-action:last-child:hover .action-tooltip{transform:translateY(0)}.account-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:4px;color:var(--muted,#cbd5e1);font-size:13.5px}.btn-page{padding:7px 14px;border:1px solid var(--border,#2a2f3a);border-radius:8px;background:var(--panel,#181b22);color:var(--text,#f8fafc);cursor:pointer;font-size:13px;transition:all .15s}.btn-page:hover:not(:disabled){border-color:var(--accent,#60a5fa);color:var(--accent,#60a5fa)}.btn-page:disabled{opacity:.4;cursor:not-allowed}.account-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;z-index:1000;padding:16px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.account-modal-content{background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);border-radius:16px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.6);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border,#2a2f3a)}.modal-header h3{margin:0;font-size:18px;font-weight:800;color:var(--text,#f8fafc)}.modal-subtitle{margin:4px 0 0;font-size:13px;color:var(--muted,#cbd5e1);line-height:1.45}.btn-close{background:none;border:none;font-size:20px;color:var(--muted,#cbd5e1);cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.btn-close:hover{background:var(--soft,#1f232c);color:var(--text,#f8fafc)}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border,#2a2f3a);background:var(--soft,#1f232c);border-bottom-left-radius:16px;border-bottom-right-radius:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13.5px;font-weight:600;color:var(--text,#f8fafc)}.form-group .req{color:#f87171}.form-group input,.form-group select{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border,#2a2f3a);background:var(--soft,#1f232c);color:var(--text,#f8fafc);font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--accent,#60a5fa);outline:none}.auto-gen-badge{font-size:11px;font-weight:700;color:#22c55e;background:rgba(34,197,94,.15);padding:2px 8px;border-radius:99px}.btn-link-action{background:none;border:none;color:var(--accent,#60a5fa);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.helper-text{font-size:12px;color:var(--muted-dim,#94a3b8);line-height:1.4}.btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-weight:700;font-size:14px;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);color:var(--text,#f8fafc);padding:9px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .15s ease}.btn-secondary:hover:not(:disabled){border-color:var(--muted,#cbd5e1)}.btn-tiny{background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);color:var(--muted,#cbd5e1);padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer}.btn-tiny:hover{color:var(--text,#f8fafc);border-color:var(--accent,#60a5fa)}@media (max-width:900px){.account-kpi-grid{grid-template-columns:repeat(2,1fr)}.account-toolbar{flex-direction:column;align-items:stretch}.filter-role-pills{justify-content:flex-start}}@media (max-width:600px){.account-kpi-grid{grid-template-columns:1fr}.account-top-header{flex-direction:column;align-items:stretch}.btn-create-account{justify-content:center}}.edit-user-modal{max-width:580px}.edit-section-card{background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.edit-section-title{font-size:13px;font-weight:700;color:var(--text,#f8fafc);display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.5px}.avatar-edit-box{display:flex;align-items:center;gap:14px}.avatar-edit-preview{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--accent,#60a5fa);flex-shrink:0}.avatar-edit-preview.placeholder{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.avatar-edit-info{display:flex;flex-direction:column;gap:4px;flex:1 1}.btn-remove-avatar{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3);padding:5px 12px;border-radius:6px;font-size:12.5px;cursor:pointer;font-weight:600;align-self:flex-start;transition:all .15s ease}.btn-remove-avatar:hover{background:rgba(239,68,68,.25);border-color:#f87171}.btn-undo-avatar{background:rgba(96,165,250,.15);color:var(--accent,#60a5fa);border:1px solid rgba(96,165,250,.3);padding:5px 12px;border-radius:6px;font-size:12.5px;cursor:pointer;font-weight:600;align-self:flex-start;transition:all .15s ease}.switch-control-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.switch-label-group{display:flex;flex-direction:column;gap:3px}.switch-title{font-size:13.5px;font-weight:600;color:var(--text,#f8fafc)}.switch-desc{font-size:12px;color:var(--muted,#cbd5e1);line-height:1.4}.switch-toggle-btn{position:relative;width:44px;height:24px;border-radius:99px;background:#334155;border:none;cursor:pointer;transition:background .2s ease;flex-shrink:0;padding:2px}.switch-toggle-btn.active{background:#ef4444}.switch-toggle-knob{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.3)}.switch-toggle-btn.active .switch-toggle-knob{transform:translateX(20px)}.points-quick-buttons{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.btn-pill-adjust{padding:3px 9px;border-radius:6px;background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);color:var(--text,#f8fafc);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-pill-adjust:hover{border-color:var(--accent,#60a5fa);color:var(--accent,#60a5fa)}.counter-input-row{display:flex;align-items:center;gap:8px}.btn-counter{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--panel,#181b22);border:1px solid var(--border,#2a2f3a);color:var(--text,#f8fafc);font-size:16px;font-weight:700;cursor:pointer;transition:all .15s}.btn-counter:hover:not(:disabled){border-color:var(--accent,#60a5fa);color:var(--accent,#60a5fa)}.btn-counter:disabled{opacity:.3;cursor:not-allowed}.hidden-lb-badge{gap:3px;font-size:10px;font-weight:700;color:#ef4444;background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);padding:1px 6px;border-radius:4px;margin-left:6px}.hidden-lb-badge,.sort-dropdown-wrap{display:inline-flex;align-items:center}.sort-dropdown-wrap{gap:8px}.sort-label{font-size:13px;color:var(--muted,#cbd5e1);font-weight:600;white-space:nowrap}.sort-select{padding:6px 12px;border-radius:8px;background:var(--soft,#1f232c);border:1px solid var(--border,#2a2f3a);color:var(--text,#f8fafc);font-size:13px;cursor:pointer;transition:all .15s ease}.sort-select:focus,.sort-select:hover{border-color:var(--accent,#60a5fa);outline:none}.th-sort-button{background:none;border:none;color:inherit;font:inherit;font-weight:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-transform:inherit;letter-spacing:inherit;transition:color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.th-sort-button.active,.th-sort-button:hover{color:var(--accent,#60a5fa)}.th-sort-button.active{font-weight:800}.th-sort-icon{font-size:11px;padding:1px 6px;border-radius:4px;background:hsla(0,0%,100%,.08);font-weight:700;letter-spacing:normal;text-transform:none}.th-sort-button.active .th-sort-icon{background:rgba(96,165,250,.2);color:#60a5fa;border:1px solid rgba(96,165,250,.35)}.exam-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}.exam-progress-heading h1{font-size:28px;margin:10px 0}.exam-progress p,.exam-progress small{color:#aab3c3}.exam-student-summary{display:flex;gap:12px;align-items:center;border:1px solid #4267ff;border-radius:15px;padding:14px;flex-shrink:0}.exam-progress-students button>span:first-child,.exam-student-summary>span{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#5140df;color:#fff;font-weight:800}.exam-student-summary small{display:block}.exam-student-summary strong{color:#86efac;font-size:13px}.exam-progress-columns{display:grid;grid-template-columns:250px minmax(0,1fr) 260px;grid-gap:18px;gap:18px;align-items:start}.exam-progress-card{background:#181c23;border:1px solid #303743;border-radius:16px;padding:18px;min-width:0}.exam-progress-card h2{font-size:18px;margin:0 0 16px}.exam-progress-card h2 small{font-size:12px;font-weight:400;margin-left:8px}.exam-progress-card input:not([type=checkbox]){width:100%;box-sizing:border-box}.exam-progress-students{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.exam-progress-students button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#e5e7eb;text-align:left}.exam-progress-students button.active{background:#1c2b4c;border-color:#5279ff}.exam-progress-students button div{flex:1 1;min-width:0;overflow-wrap:anywhere}.exam-progress-students small{display:block;font-size:11px}.exam-progress-assign{display:grid;grid-gap:12px;gap:12px;margin-top:18px;border-color:#4267ff}.exam-progress-assign label{display:grid;grid-gap:6px;gap:6px;font-size:12px;color:#aab3c3}.exam-progress-content>progress{width:100%;height:7px;accent-color:#22c55e;margin-bottom:20px}.exam-progress-content details{margin:16px 0;border:1px solid #303743;background:#20242c;border-radius:12px;padding:16px}.exam-progress-content summary{cursor:pointer}.exam-progress-content summary small{float:right}.exam-progress-item{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #343a46;margin-top:14px;padding-top:14px}.exam-progress-item label{display:flex;align-items:center;gap:10px}.exam-progress-item small{display:block;margin-top:5px}.exam-progress-item button{font-size:11px;border:1px solid #445066;border-radius:8px;background:#171b22;color:#aab3c3;padding:8px;white-space:nowrap}.exam-progress-item button.completed{color:#86efac;border-color:#166534;background:#123222}.exam-progress-assigned{border-color:#4267ff}.exam-progress-assigned article{border-top:1px solid #343a46;padding:12px 0}.exam-progress-assigned h3{font-size:15px;overflow-wrap:anywhere}.exam-progress-assigned .exam-empty{padding:22px 4px}.exam-progress button:disabled{opacity:.5;cursor:not-allowed}@media(min-width:1300px){.exam-shell:has(.exam-progress){max-width:1500px}}@media(max-width:1050px){.exam-progress-columns{grid-template-columns:230px minmax(0,1fr)}.exam-progress-assigned{grid-column:2}.exam-progress-heading{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.exam-progress-columns{grid-template-columns:1fr}.exam-progress-assigned{grid-column:auto}.exam-progress-item,.exam-student-summary{flex-wrap:wrap}.exam-progress-content summary small{float:none;display:block;margin-top:8px}}.exam-assign-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.exam-assign-mode button{padding:9px;border:1px solid #3d485c;border-radius:9px;background:#202631;color:#b8c3d5;font-weight:700}.exam-assign-mode button.active{border-color:#5b7cff;background:#243b78;color:#fff}.exam-progress-assign select{width:100%;box-sizing:border-box}.exam-progress-assign>p{margin:0}.exam-progress-assign>p:first-of-type{padding:12px;border:1px solid #4267ff;border-radius:11px;background:#16264b;color:#dbe7ff}.exam-progress-assign>p:first-of-type:first-letter{font-weight:800}.exam-progress-assign label{margin-top:2px}.exam-progress-assign{padding:15px;border-radius:14px;background:linear-gradient(145deg,#17255444,#181c23)}.exam-progress-assign>h2{font-size:17px;margin:0 0 8px}.exam-progress-assign>h2:before{content:"📌";margin-right:8px}.exam-progress-assign>button:last-child{border:1px solid #303b50;background:#202631;color:#c6d0df;border-radius:8px;padding:9px;cursor:pointer}.exam-progress-assign>button:last-child:disabled{opacity:.45}.exam-start{padding:8px 11px;border-radius:9px;background:#6d28d9;color:#fff;font-size:12px;font-weight:800;white-space:nowrap}.exam-image-picker{border:1px dashed #546581;border-radius:12px;padding:18px;min-width:0}.exam-image-picker p{color:#aab3c3;font-size:13px}.exam-image-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.exam-image-previews figure{margin:0}.exam-image-previews img{width:100%;height:150px;object-fit:contain;background:#fff;border-radius:9px}.exam-illustrations{margin-top:18px}.exam-illustrations>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));grid-gap:16px;gap:16px}.exam-illustrations figure{margin:0;min-width:0}.exam-illustrations img{display:block;width:100%;max-height:380px;object-fit:contain;background:#fff;border-radius:10px}.exam-illustrations figcaption{margin-top:6px;color:#aab3c3;font-size:12px}.exam-catalog-layout{align-items:start}.exam-category-list{align-content:start}.exam-category-list>article{padding:22px}.exam-category-list article>header{margin:0;padding:0;border:0;gap:12px}.exam-category-list article>header>div{min-width:0}.exam-category-list h2{font-size:20px;line-height:1.45}.exam-category-list p{margin-top:6px;line-height:1.6}.exam-category-list header small{display:inline-block;margin-top:10px;color:#a5b4fc;font-size:12px}.exam-category-list header>button,.exam-editor button:not(.primary){flex:0 0 auto;min-height:38px;padding:8px 14px;border:1px solid #3d4a61;border-radius:9px;background:#242e40;color:#dbeafe;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:background .15s,border-color .15s}.exam-category-list header>button:hover,.exam-editor button:not(.primary):hover{background:#30405a;border-color:#6891db}.exam-category-list header>button.delete{background:#ef444410;border-color:#ef44444d;color:#fca5a5}.exam-category-list header>button.delete:hover{background:#ef444426;border-color:#f87171}.exam-prep-page button:focus-visible,.exam-prep-page summary:focus-visible{outline:2px solid #93c5fd;outline-offset:3px}.exam-progress-item.is-assigned{background:#2563eb12;box-shadow:inset 3px 0 #60a5fa;padding-left:12px;padding-right:12px}.exam-progress-item.is-completed{background:#22c55e12;box-shadow:inset 3px 0 #22c55e;padding-left:12px;padding-right:12px}.exam-progress-item.is-completed label b{color:#86efac}.exam-assigned-badge{display:inline-flex;margin-top:6px;padding:2px 8px;border:1px solid #60a5fa55;border-radius:20px;background:#2563eb20;color:#93c5fd;font-size:11px;font-weight:700}.exam-progress-item.is-completed .exam-assigned-badge{color:#86efac;border-color:#22c55e55;background:#22c55e12}.exam-progress-item{align-items:center;gap:16px;padding:15px 18px;margin-top:10px;border:1px solid #343c49;border-radius:12px;background:#181e28;transition:border-color .15s,background .15s}.exam-progress-item.is-assigned{border-color:#60a5fa40;box-shadow:none;background:#263c5d40;padding:15px 18px}.exam-progress-item.is-completed{border-color:#22c55e45;box-shadow:none;background:#183f3038;padding:15px 18px}.exam-progress-item:hover{border-color:#64748b}.exam-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:7px}.exam-row-meta .exam-assigned-badge,.exam-row-meta small{margin-top:0}.exam-progress-item>label{flex:1 1;min-width:0;gap:12px;cursor:pointer}.exam-progress-item input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#818cf8;color-scheme:dark;cursor:pointer}.exam-progress-item label>span{flex:1 1;min-width:0}.exam-progress-item label b{display:block;line-height:1.5;overflow-wrap:break-word}.exam-progress-item>button{flex:0 0 auto;min-height:36px;padding:8px 12px;font-weight:600;border-radius:9px;background:#111823}.exam-progress-item:has(input:checked){outline:2px solid #818cf8;outline-offset:1px}.exam-progress-content>progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;overflow:hidden;border-radius:99px;background:#0e131d}.exam-progress-content>progress::-webkit-progress-bar{background:#0e131d;border-radius:99px}.exam-progress-content>progress::-webkit-progress-value{background:#22c55e;border-radius:99px}.exam-progress-content>progress::-moz-progress-bar{background:#22c55e;border-radius:99px}@media(max-width:560px){.exam-category-list article>header{flex-wrap:wrap}.exam-category-list article>header>div{flex-basis:100%}.exam-progress-item{flex-wrap:wrap}.exam-progress-item>label{flex-basis:100%}.exam-progress-item>button{margin-left:30px}}.exam-assignment-list article.assignment-clickable{cursor:pointer}.exam-assignment-list article.assignment-clickable:hover{box-shadow:0 0 0 1px var(--accent)}.exam-assignment-list article.assignment-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.exam-progress-columns{grid-template-columns:250px minmax(0,1fr) 320px}.exam-progress-content summary progress{display:block;width:100%;height:6px;margin-top:12px;accent-color:#22c55e}.exam-tracked-assignment{border:1px solid var(--border);border-radius:10px;background:var(--soft);margin-top:12px;overflow:hidden}.exam-tracked-assignment>header{padding:0 10px 10px}.exam-tracked-assignment h3{margin:0 0 6px}.exam-tracking-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.exam-code-dialog button,.exam-progress-assigned button{border:1px solid #40578f;border-radius:7px;background:#202c46;color:#c9e0ff;padding:6px 8px;cursor:pointer;font-size:11px;white-space:nowrap}.exam-progress-assigned button.delete{border-color:#a33240;color:#ffb4bb;background:#4a1a2455}.exam-tracked-assignment>progress{display:block;width:calc(100% - 20px);height:6px;margin:0 10px 10px;accent-color:#22c55e}.exam-tracked-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 10px;border-top:1px solid var(--border)}.exam-tracked-row>div{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 30px);min-width:0}.exam-tracked-row>button.exam-complete,.exam-tracked-row>button.exam-uncomplete{margin-left:auto}.exam-tracked-row b{font-size:12px}.exam-tracked-row small{display:block;margin-top:4px;font-size:11px}.exam-tracked-row>span{color:#fca5a5}.exam-tracked-row.completed{background:#14532d33}.exam-tracked-row.completed>span{color:#4ade80}.exam-tracked-row>button.exam-complete{border-color:#16a34a;color:#86efac;background:#14532d33;white-space:nowrap}.exam-tracked-row>button.exam-complete:hover{background:#166534;color:#fff}.exam-tracked-row>button.exam-uncomplete{border-color:#4b5563;color:var(--muted);white-space:nowrap}.exam-code-overlay{position:fixed;inset:0;z-index:99999;background:rgba(2,6,23,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}.exam-code-dialog{width:min(900px,100%);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:20px;background:var(--panel,#111827);box-shadow:0 30px 90px rgba(0,0,0,.7)}.exam-code-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:var(--soft,#1e293b);border-bottom:1px solid var(--border);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:10}.exam-code-dialog>header button{border:1px solid hsla(0,0%,100%,.2);border-radius:10px;background:hsla(0,0%,100%,.08);color:#fff;padding:8px 14px;cursor:pointer;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.exam-code-dialog>header button:hover{background:#ef4444;border-color:#f87171;color:#fff;transform:scale(1.05)}.exam-code-dialog h2{margin:0;font-size:20px}.exam-code-body{flex:1 1;overflow-y:auto;padding:20px 24px 24px}.exam-code-dialog article{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.exam-code-dialog article:first-of-type{margin-top:0;padding-top:0;border-top:none}.exam-code-dialog pre{padding:16px;background:#0d1117;color:#e5e7eb;border-radius:8px;overflow:auto;-moz-tab-size:4;tab-size:4}@media(max-width:1150px){.exam-progress-columns{grid-template-columns:230px minmax(0,1fr)}.exam-progress-assigned{grid-column:2}}@media(max-width:680px){.exam-progress-columns{grid-template-columns:1fr}.exam-progress-assigned{grid-column:auto}}.exam-group-library{display:grid;grid-gap:18px;gap:18px;margin-top:24px}.exam-library-category{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--panel)}.exam-library-category summary{display:flex;align-items:center;gap:16px;padding:22px;cursor:pointer;list-style:none}.exam-library-category summary:after{content:"＋";color:#a5b4fc}.exam-library-category[open] summary:after{content:"−"}.exam-library-category summary>div{flex:1 1}.exam-library-category h2{font-size:19px;margin:0}.exam-library-category p{margin:5px 0 0;color:var(--muted);font-size:13px}.exam-library-category summary strong{font-size:12px;color:#a5b4fc}.exam-library-row{display:flex;align-items:center;gap:10px;padding:16px 22px;border-top:1px solid var(--border)}.exam-library-row>span{color:var(--muted);font-size:12px;white-space:nowrap}.exam-group-library button,.exam-problem-view button{border:1px solid var(--border);border-radius:8px;background:var(--soft);color:var(--text);padding:9px 12px;font:inherit;font-size:13px;cursor:pointer}.exam-library-row button.delete{color:#fca5a5;border-color:#ef44444d;background:#ef444410}.exam-library-row .exam-open-problem{flex:1 1;text-align:left;border:0;background:transparent;min-width:0;padding:0}.exam-open-problem b{font-size:15px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-open-problem small{display:block;color:var(--muted);margin-top:5px}.exam-open-problem:hover b{color:var(--accent)}.exam-problem-title-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-library-row.is-hidden{opacity:.65;background:rgba(15,23,42,.45);border-left:3px solid #64748b}.exam-badge-hidden{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:#334155;color:#94a3b8;border:1px solid #475569;line-height:1.2;vertical-align:middle;flex-shrink:0}.exam-library-row button.exam-toggle-hide{color:var(--text);border-color:var(--border);background:var(--soft)}.exam-library-row button.exam-toggle-hide.is-hidden{color:#86efac;border-color:#22c55e4d;background:#22c55e14}.exam-badge-new{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:linear-gradient(135deg,#f43f5e,#fb923c);color:#fff;box-shadow:0 0 10px rgba(244,63,94,.45),0 2px 4px rgba(0,0,0,.2);border:1px solid hsla(0,0%,100%,.25);line-height:1.2;vertical-align:middle;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:newBadgePulse 2.5s ease-in-out infinite}@keyframes newBadgePulse{0%,to{transform:scale(1);box-shadow:0 0 10px rgba(244,63,94,.45)}50%{transform:scale(1.05);box-shadow:0 0 14px rgba(251,146,60,.65)}}.exam-problem-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.exam-problem-toolbar>span{flex:1 1;color:var(--muted);font-size:13px}.exam-language-switch{display:flex;gap:4px;padding:4px;background:var(--soft);border-radius:10px;width:-moz-fit-content;width:fit-content}.exam-language-switch button{border:0;padding:8px 12px;background:transparent;color:var(--muted);border-radius:7px;cursor:pointer}.exam-language-switch button.active,.exam-problem-view button.primary{background:#2563eb;color:#fff}.exam-problem-workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.exam-problem-cases,.exam-problem-code,.exam-problem-statement{border:1px solid var(--border);background:var(--panel);border-radius:15px;padding:24px;min-width:0}.exam-problem-statement h1{font-size:27px;line-height:1.35;margin:20px 0 28px}.exam-problem-cases h2,.exam-problem-statement h2{font-size:17px;margin:22px 0 10px}.exam-problem-statement p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85;color:var(--text)}.exam-problem-badges{display:flex;gap:8px;flex-wrap:wrap}.exam-problem-badges span{font-size:12px;background:var(--soft);padding:3px 10px;border-radius:20px;color:var(--muted)}.exam-problem-badges .level-easy{color:#38bdf8}.exam-problem-badges .level-medium{color:#fbbf24}.exam-problem-badges .level-hard{color:#f87171}.exam-problem-side{display:grid;grid-gap:20px;gap:20px}.exam-problem-code header{display:flex;justify-content:space-between;gap:10px}.exam-problem-code header span{color:var(--accent);font-size:12px}.exam-problem-view pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:9px;font-size:13px;min-height:56px}.exam-problem-code pre{min-height:180px;-moz-tab-size:4;tab-size:4}.exam-case-tabs{display:flex;gap:6px;overflow-x:auto}.exam-case-tabs button{white-space:nowrap}.exam-case-tabs button.active{border-color:#818cf8;background:#6366f126;color:#a5b4fc}.exam-problem-cases h3{font-size:13px;color:var(--muted);margin-top:22px}.exam-case-explanation p{white-space:pre-wrap;font-size:14px;color:var(--muted)}.exam-translation-missing{border-left:3px solid #fbbf24;padding-left:12px}.exam-editor [hidden]{display:none}.exam-editor label{margin-bottom:12px}@media(min-width:1300px){.exam-shell:has(.exam-problem-view){max-width:1500px}}@media(max-width:800px){.exam-problem-workspace{grid-template-columns:1fr}.exam-library-row{flex-wrap:wrap}.exam-library-row .exam-open-problem{flex-basis:100%}.exam-library-category summary{padding:16px}.exam-problem-cases,.exam-problem-code,.exam-problem-statement{padding:18px}}.exam-code-workspace textarea{width:100%;box-sizing:border-box;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:14px;font-family:monospace;line-height:1.65;-moz-tab-size:4;tab-size:4;resize:vertical}.exam-code-workspace p{font-size:13px;color:var(--muted)}.exam-code-workspace label{display:block;margin-top:16px}.exam-practice-heading,.exam-run-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:16px 0}.exam-run-actions button:disabled{opacity:.5;cursor:wait}.exam-practice-select{display:block;margin:16px 0 24px}.exam-practice-select select{display:block;width:100%;margin-top:8px}.exam-code-workspace details{padding:12px;border:1px solid var(--border);border-radius:8px;margin:8px 0}.exam-code-workspace summary{cursor:pointer}.exam-assignment-list button,.exam-practice-heading button{border:1px solid var(--border);border-radius:9px;padding:12px 16px;color:var(--text);background:var(--soft);cursor:pointer;white-space:nowrap}.exam-assignment-list button.primary{background:#2563eb;color:#fff}.exam-problem-workspace.exam-statement-only{grid-template-columns:minmax(0,1fr)}.exam-scratch-images{border:1px solid var(--border);border-radius:15px;padding:20px;background:var(--panel)}.exam-scratch-images .exam-illustrations{margin:0}.exam-scratch-images .exam-illustrations>div{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px}.exam-scratch-images figure{margin:0}.exam-scratch-images img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:10px}.exam-scratch-images figcaption{margin-top:8px;color:var(--muted);font-size:13px}.exam-statement-column{display:grid;grid-gap:20px;gap:20px;min-width:0}.exam-visible-example{border-top:1px solid var(--border);padding:12px 0}.exam-visible-example p{white-space:pre-wrap;color:var(--muted)}.example-io{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.example-io b{display:block;margin:5px 0 7px;font-size:13px;color:var(--muted)}.example-io pre{margin:0;min-height:42px;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:650px){.example-io{grid-template-columns:1fr}}.exam-complete-button{display:block;width:100%;margin-top:14px;border:0;border-radius:9px;padding:13px 16px;background:#16a36d;color:#fff;font-weight:700;cursor:pointer}.exam-complete-button:disabled{opacity:.75;cursor:default}.exam-test-result{margin-top:18px}.exam-test-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px;border-radius:9px;margin-bottom:10px;font-size:16px}.exam-test-summary.failed{background:#8d1f24;color:#ffe0e0}.exam-test-summary.passed{background:#135d43;color:#ccffe8}.exam-test-cases details{border:1px solid var(--border);border-radius:9px;margin:8px 0;overflow:hidden}.exam-test-cases details summary{display:flex;justify-content:space-between;align-items:center;padding:14px;cursor:pointer;list-style:none}.exam-test-cases details summary::-webkit-details-marker{display:none}.exam-test-cases .case-passed{border-color:#16a36d;background:#102f26}.exam-test-cases .case-failed{border-color:#ef3340;background:#351c21}.exam-test-cases .case-passed summary{color:#c8ffe4}.exam-test-cases .case-failed summary{color:#ffe0e0}.exam-case-output{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:0 14px 14px}.exam-case-output b{display:block;margin:4px 0 7px;font-size:13px}.exam-case-output pre{margin:0;min-height:64px;white-space:pre-wrap;background:#090c12;border:1px solid var(--border);border-radius:6px;padding:12px;font-family:monospace}.exam-test-cases .case-failed[open] summary{border-bottom:1px solid #ef334080}@media(max-width:650px){.exam-case-output{grid-template-columns:1fr}}.exam-practice-items{margin:18px 0;border:1px solid #303949;border-radius:16px;background:#181c25;padding:16px}.exam-practice-items h2{margin:0 0 12px;font-size:18px}.exam-practice-items h2 small{float:right;color:#9fa8b8;font-size:13px;font-weight:500}.exam-practice-items>button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:12px;border:1px solid #303949;border-radius:10px;background:#202631;color:#dce2ef;text-align:left;margin-top:8px;cursor:pointer}.exam-practice-items>button.active{border-color:#5b7cff;background:#243b78}.exam-practice-items>button.completed{border-color:#22c55e66;background:#123d2c;color:#dcfce7}.exam-practice-items>button>span{font-size:18px;color:#9fb8e8}.exam-practice-items>button.completed>span{color:#86efac}.exam-practice-items>button small{color:#aab4c5}.exam-practice-items>button.completed small{color:#86efac}.exam-practice-category{border-top:1px solid #303949;padding-top:10px;margin-top:12px}.exam-practice-category header{display:flex;justify-content:space-between;align-items:center;padding:4px 2px;color:#dce2ef}.exam-practice-category header small{color:#9fa8b8}.exam-practice-category>button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:12px;border:1px solid #303949;border-radius:10px;background:#202631;color:#dce2ef;text-align:left;margin-top:8px;cursor:pointer}.exam-practice-category>button.active{border-color:#5b7cff;background:#243b78}.exam-practice-category>button.completed{border-color:#22c55e66;background:#123d2c;color:#dcfce7}.exam-practice-category>button>span{font-size:18px;color:#9fb8e8}.exam-practice-category>button.completed>span{color:#86efac}.exam-practice-category>button small{color:#aab4c5}.exam-practice-category>button.completed small{color:#86efac}.student-assignment-overview{margin-top:22px}.student-assignment-overview>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 12px;padding:0 4px}.student-assignment-overview>header>div{display:flex;align-items:center;gap:12px}.student-assignment-overview>header>div>span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #2563eb;border-radius:14px;background:#172554;font-size:24px}.student-assignment-overview h2{margin:0;font-size:22px}.student-assignment-overview header p{margin:3px 0 0;color:#aab4c5}.student-assignment-overview>header>b{padding:9px 13px;border:1px solid #303949;border-radius:99px;color:#aab4c5;font-size:13px}.student-assignment-overview .exam-assignment-list{margin-top:0}.student-assignment-overview .exam-assignment-list article{border-left-color:#f59e0b}.student-assignment-overview .exam-assignment-list article.assignment-complete{border-color:#22c55e;border-left-width:4px;background:linear-gradient(105deg,#0d2d20,#202631)}.student-assignment-overview .exam-assignment-list h3 em{display:inline-block;margin-left:7px;padding:3px 8px;border-radius:99px;background:#166534;color:#bbf7d0;font-size:10px;font-style:normal;vertical-align:middle}.assignment-progress{position:relative;display:flex;align-items:center;gap:10px;margin:10px 0 3px;max-width:620px;height:7px;border-radius:99px;background:#0d1624}.assignment-progress i{display:block;height:100%;border-radius:99px;background:#22c55e}.assignment-progress b{position:absolute;left:calc(100% + 10px);white-space:nowrap;font-size:11px;color:#d9e2ef}@media(max-width:700px){.student-assignment-overview>header{align-items:flex-start}.student-assignment-overview>header>b{font-size:11px}.assignment-progress b{position:static}.assignment-progress{height:auto;background:transparent;flex-wrap:wrap}}.exam-selected-problem-back{display:none}.exam-category-header-lead{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto!important;flex-shrink:0}.exam-cat-order-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:9px;font-size:13px;font-weight:800;letter-spacing:-.2px;background:rgba(249,115,22,.16);color:#fb923c;border:1px solid rgba(249,115,22,.35);box-shadow:0 2px 6px rgba(249,115,22,.08);-webkit-user-select:none;-moz-user-select:none;user-select:none}.exam-branch-python .exam-cat-order-badge{background:rgba(99,102,241,.16);color:#a5b4fc;border-color:rgba(99,102,241,.35);box-shadow:0 2px 6px rgba(99,102,241,.08)}.exam-cat-folder-icon{font-size:20px;line-height:1}.exam-open-problem-flex{display:flex;align-items:center;gap:14px;min-width:0;width:100%}.exam-item-order-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;border-radius:9px;font-size:13px;font-weight:800;background:var(--soft,#202631);color:#cbd5e1;border:1px solid var(--border,#334155);flex-shrink:0;transition:all .18s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.exam-open-problem:hover .exam-item-order-badge{border-color:#fb923c;color:#fb923c;background:rgba(249,115,22,.14);transform:scale(1.06)}.exam-branch-python .exam-open-problem:hover .exam-item-order-badge{border-color:#818cf8;color:#818cf8;background:rgba(99,102,241,.14)}.exam-item-main-content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}html[data-light] .exam-cat-order-badge{background:#fff7ed;color:#ea580c;border-color:#fdba74}html[data-light] .exam-branch-python .exam-cat-order-badge{background:#eef2ff;color:#4f46e5;border-color:#c7d2fe}html[data-light] .exam-item-order-badge{background:#f1f5f9;color:#475569;border-color:#cbd5e1}html[data-light] .exam-open-problem:hover .exam-item-order-badge{border-color:#ea580c;color:#ea580c;background:#ffedd5}html[data-light] .exam-branch-python .exam-open-problem:hover .exam-item-order-badge{border-color:#4f46e5;color:#4f46e5;background:#e0e7ff}.leaderboard-page{min-height:calc(100vh - 67px);background:radial-gradient(circle at 7% 5%,#2563eb18,transparent 28%),radial-gradient(circle at 95% 18%,#f59e0b10,transparent 28%),var(--bg)}.leaderboard-container{width:100%}.leaderboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:210px;padding:34px 42px;overflow:hidden;color:#e6e8ee;border:1px solid #3b82f680;border-radius:26px;background:linear-gradient(125deg,#172554,#28205b 68%,#3b2513);box-shadow:0 24px 65px #0005}.leaderboard-hero:before{content:"";position:absolute;inset:auto -90px -150px auto;width:330px;height:330px;border-radius:50%;border:55px solid #f59e0b13}.leaderboard-kicker{color:#93c5fd;font-size:12px;font-weight:900;letter-spacing:.17em}.leaderboard-hero h1{margin:6px 0;font-size:38px;line-height:1.25}.leaderboard-hero p{margin:0;color:#cbd5e1}.leaderboard-hero-art{position:relative;display:grid;place-items:center;min-width:150px;height:130px}.leaderboard-hero-art>span{font-size:85px;filter:drop-shadow(0 15px 18px #0008);animation:leaderboard-float 3s ease-in-out infinite}.leaderboard-hero-art b,.leaderboard-hero-art i{position:absolute;font-style:normal;font-size:25px}.leaderboard-hero-art i{left:5px;top:10px}.leaderboard-hero-art b{right:0;bottom:5px}.leaderboard-toolbar{display:flex;align-items:stretch;gap:12px;margin:20px 0 16px}.category-tabs{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;flex:1 1}.category-tabs button{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 18px;text-align:left;color:var(--muted);border:1px solid var(--border);border-radius:16px;background:var(--panel);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.category-tabs button:hover{transform:translateY(-2px);border-color:#60a5fa88}.category-tabs button.active{color:var(--text);border-color:#3b82f6;background:linear-gradient(135deg,#1d4ed82a,#312e813a);box-shadow:inset 0 0 0 1px #60a5fa55,0 8px 24px #0003}.category-tabs i{font-style:normal;font-size:26px}.category-tabs span{display:flex;align-items:center}.category-tabs b{font-size:15px;font-weight:800}.period-switch{display:flex;align-items:center;padding:5px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.period-switch button{height:48px;padding:0 18px;color:var(--muted);font-weight:800;font-size:14px;border:0;border-radius:10px;background:transparent;cursor:pointer;white-space:nowrap;transition:background .18s,color .18s}.period-switch button.active{color:#fff;background:#2563eb;box-shadow:0 5px 16px #2563eb55}.leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.leaderboard-heading>div{display:flex;align-items:center;gap:12px}.leaderboard-heading>div>span{font-size:32px}.leaderboard-heading h2,.leaderboard-heading p{margin:0}.leaderboard-heading h2{font-size:21px}.leaderboard-heading p{font-size:13px;color:var(--muted)}.leaderboard-heading>button{padding:10px 16px;color:#e9d5ff;font-weight:800;border:1px solid #8b5cf6;border-radius:12px;background:#6d28d933;cursor:pointer;transition:.18s}.leaderboard-heading>button:hover{transform:translateY(-2px);background:#6d28d955}.leaderboard-heading>button b{margin-left:5px;color:#fbbf24}.podium-section{position:relative;overflow:hidden;padding:26px 28px 32px;margin-bottom:22px;color:#e6e8ee;border:1px solid #394150;border-radius:22px;background:radial-gradient(circle at 50% 100%,#f59e0b12,transparent 38%),linear-gradient(150deg,#171b24,#11141a);box-shadow:0 18px 45px #0003}.podium-title{text-align:center}.podium-title>span{font-size:12px;font-weight:900;letter-spacing:.17em;color:#fbbf24}.podium-title h2{margin:4px 0;font-size:24px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:16px;max-width:780px;margin:28px auto 0}.podium-card{position:relative;isolation:isolate;flex:1 1 210px;max-width:260px;width:100%;min-height:215px;padding:28px 15px 18px;text-align:center;overflow:hidden;border:1px solid #64748b;border-radius:19px;background:linear-gradient(155deg,#252b38,#171b22);box-shadow:0 16px 32px #0004;animation:podium-enter .6s both}.podium-card.place-1{order:2;min-height:255px;padding-top:38px;border-color:#fbbf24;background:linear-gradient(155deg,#713f1244,#242017);box-shadow:0 0 0 1px #fbbf2433,0 20px 55px #f59e0b24;animation-delay:.08s}.podium-card.place-2{order:1;border-color:#cbd5e1;animation-delay:.18s}.podium-card.place-3{order:3;border-color:#d97706;animation-delay:.28s}.podium-card.is-me{box-shadow:0 0 0 2px #8b5cf6,0 18px 45px #7c3aed33}.podium-rays{position:absolute;z-index:-1;inset:-70px;background:repeating-conic-gradient(from 0deg,#fff0 0 14deg,#fff08 15deg 17deg,#fff0 18deg 34deg);opacity:.18;animation:rays-spin 18s linear infinite}.podium-medal{position:absolute;z-index:2;top:-17px;left:calc(50% - 21px);font-size:36px;filter:drop-shadow(0 7px 8px #0008);animation:medal-bounce 2.5s ease-in-out infinite}.podium-avatar{position:relative;display:grid;place-items:center;width:64px;height:64px;margin:0 auto 10px;color:#fff;border:3px solid #cbd5e1;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);font-size:19px;font-weight:900;box-shadow:0 0 25px #60a5fa33}.podium-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.podium-avatar.has-photo{background:transparent}.place-1 .podium-avatar{width:78px;height:78px;border-color:#fbbf24;box-shadow:0 0 30px #f59e0b55}.place-3 .podium-avatar{border-color:#d97706}.podium-avatar span{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0f172a;border:2px solid;font-size:11px;z-index:3}.podium-card>small{color:#94a3b8;font-size:12px}.podium-card h3{margin:2px 0 0;font-size:17px}.podium-card p{margin:0;color:#9aa2b1;font-size:12px}.podium-card>strong{display:block;margin-top:10px;color:#fbbf24;font-size:26px;font-weight:900}.podium-card>strong span{font-size:12px;color:#9aa2b1;font-weight:600}.podium-breakdown{display:inline-block;font-size:11px;font-weight:700;color:#93c5fd;background:#1e3a8a66;border:1px solid #3b82f655;margin-top:5px}.podium-breakdown,.podium-card>em{border-radius:99px;padding:2px 8px}.podium-card>em{position:absolute;right:9px;top:9px;background:#7c3aed;color:#fff;font-size:10px;font-style:normal;font-weight:800}.no-winner{text-align:center;padding:40px;color:#9aa2b1}.no-winner>span{font-size:46px}.no-winner h3{margin:6px;color:#e6e8ee;font-size:19px}.no-winner p{margin:0;font-size:14px}.ranking-list{scroll-margin-top:85px;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--panel)}.ranking-list>header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border)}.ranking-list>header>div{display:flex;align-items:center;gap:12px}.ranking-list>header>div>span{font-size:28px}.ranking-list h2,.ranking-list p{margin:0}.ranking-list h2{font-size:20px}.ranking-list p{color:var(--muted);font-size:13px}.ranking-list>header>strong{padding:6px 12px;border-radius:99px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:700}.ranking-table{transition:opacity .18s}.ranking-table.is-loading{opacity:.45}.ranking-row,.ranking-table-head{display:grid;grid-template-columns:90px minmax(260px,1fr) 170px;align-items:center;min-width:560px}.ranking-table-head{padding:10px 22px;color:var(--muted);background:var(--soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ranking-table-head span:first-child,.ranking-table-head span:last-child{text-align:center}.ranking-row{position:relative;padding:14px 22px;border-top:1px solid var(--border);transition:transform .15s,background .15s,box-shadow .15s}.ranking-row.is-clickable{cursor:pointer}.ranking-row.is-clickable:hover{z-index:1;transform:translateX(4px);background:rgba(59,130,246,.08)}.ranking-row:hover{z-index:1;transform:translateX(3px);background:var(--soft)}.ranking-row.is-me{background:linear-gradient(90deg,#4f46e528,transparent);box-shadow:inset 4px 0 #8b5cf6}.ranking-row.top-1{background:linear-gradient(90deg,#f59e0b1c,transparent)}.ranking-row.top-2{background:linear-gradient(90deg,#94a3b817,transparent)}.ranking-row.top-3{background:linear-gradient(90deg,#b4530917,transparent)}.ranking-row.top-4,.ranking-row.top-5{box-shadow:inset 3px 0 #3b82f6}.ranking-row.top-4:after,.ranking-row.top-5:after{content:"TOP 5";position:absolute;right:150px;padding:2px 7px;color:#93c5fd;border:1px solid #3b82f655;border-radius:99px;background:#1e3a8a44;font-size:9px;font-weight:900;letter-spacing:.08em}.ranking-score-col{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.ranking-score-col strong{color:#fbbf24;font-size:21px;font-weight:900;line-height:1.2}.ranking-score-col strong small{display:inline;color:var(--muted);font-size:12px;font-weight:600}.ranking-breakdown{font-size:10px;font-weight:700;color:#93c5fd;background:#1e3a8a44;border:1px solid #3b82f644;border-radius:99px;padding:1px 7px;margin-top:3px;white-space:nowrap}.rank-number{text-align:center;font-weight:850;color:var(--muted)}.rank-number.rank-1,.rank-number.rank-2,.rank-number.rank-3{font-size:24px;animation:rank-glow 2.4s ease-in-out infinite}.ranking-student{display:flex;align-items:center;gap:12px}.ranking-student>i{display:grid;place-items:center;width:44px;height:44px;min-width:44px;color:#fff;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);font-size:13px;font-style:normal;font-weight:900;overflow:hidden;position:relative;flex-shrink:0}.ranking-student>i img{width:100%;height:100%;border-radius:14px;object-fit:cover;display:block}.ranking-student>i.has-photo{background:transparent}.top-1 .ranking-student>i{background:linear-gradient(135deg,#f59e0b,#ef4444)}.top-2 .ranking-student>i{background:linear-gradient(135deg,#94a3b8,#475569)}.top-3 .ranking-student>i{background:linear-gradient(135deg,#d97706,#7c2d12)}.ranking-student>span{display:grid;grid-gap:2px;gap:2px}.ranking-student b{font-size:15px;font-weight:800}.ranking-student small{font-size:11px;color:var(--muted)}.ranking-student em{margin-left:7px;padding:2px 7px;border-radius:99px;background:#7c3aed;color:#fff;font-size:10px;font-style:normal}.leaderboard-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--soft) 45%,transparent)}.leaderboard-pagination>div{display:flex;gap:5px}.leaderboard-pagination span{display:flex;align-items:center;gap:5px}.leaderboard-pagination i{color:var(--muted);font-style:normal}.leaderboard-pagination button{min-width:38px;padding:8px 12px;color:var(--text);font-size:13px;font-weight:700;border:1px solid var(--border);border-radius:9px;background:var(--panel);cursor:pointer}.leaderboard-pagination button.active{color:#fff;border-color:#2563eb;background:#2563eb}.leaderboard-pagination button:disabled{opacity:.4;cursor:not-allowed}.leaderboard-error{text-align:center;padding:60px 20px;border:1px solid #7f1d1d;border-radius:18px;background:#7f1d1d22}.leaderboard-error span{font-size:38px}.leaderboard-error h2{margin:8px 0}.leaderboard-error p{color:#fca5a5}.leaderboard-skeleton{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:15px;gap:15px;padding:40px}.leaderboard-skeleton div{height:230px;border-radius:20px;background:linear-gradient(90deg,var(--panel),var(--soft),var(--panel));background-size:200%;animation:leaderboard-loading 1.3s infinite}@keyframes leaderboard-float{50%{transform:translateY(-9px) rotate(3deg)}}@keyframes leaderboard-loading{to{background-position:-200%}}@keyframes podium-enter{0%{opacity:0;transform:translateY(28px) scale(.94)}to{opacity:1;transform:none}}@keyframes medal-bounce{50%{transform:translateY(-5px) rotate(4deg)}}@keyframes rays-spin{to{transform:rotate(1turn)}}@keyframes rank-glow{50%{filter:drop-shadow(0 0 8px #fbbf24)}}@media(max-width:900px){.leaderboard-toolbar{flex-direction:column}.category-tabs{grid-template-columns:1fr 1fr}.period-switch{align-self:flex-end}.podium-card{width:33%}}@media(max-width:620px){.leaderboard-hero{min-height:175px;padding:24px}.leaderboard-hero h1{font-size:28px}.leaderboard-hero-art{display:none}.category-tabs{grid-template-columns:1fr}.category-tabs button{min-height:54px;padding:10px}.period-switch{width:100%}.period-switch button{flex:1 1;padding:0 8px}.leaderboard-heading{align-items:flex-start;flex-direction:column}.leaderboard-heading>button{width:100%}.podium-section{padding:22px 10px}.podium{gap:5px}.podium-card{min-height:185px;padding-left:5px;padding-right:5px}.podium-card.place-1{min-height:215px}.podium-avatar{width:50px;height:50px}.place-1 .podium-avatar{width:60px;height:60px}.podium-card h3{font-size:13px}.podium-card p{display:none}.podium-card>strong{font-size:20px}.ranking-row,.ranking-table-head{grid-template-columns:60px minmax(180px,1fr) 110px}.ranking-row.top-4:after,.ranking-row.top-5:after{display:none}.leaderboard-pagination{padding:12px}.leaderboard-pagination>button{font-size:0}.leaderboard-pagination>button:first-child:after{content:"←";font-size:14px}.leaderboard-pagination>button:last-child:after{content:"→";font-size:14px}}@media(prefers-reduced-motion:reduce){.leaderboard-hero-art>span,.podium-card,.podium-medal,.podium-rays,.rank-number{animation:none!important}.category-tabs button,.ranking-row{transition:none}}