:root{--gray-0:#ffffff;--gray-25:#f8fafb;--gray-50:#f2f5f7;--gray-100:#e8edf1;--gray-200:#d9e1e7;--gray-300:#bfcbd4;--gray-400:#93a2ae;--gray-500:#5d6c79;--gray-600:#4b5a67;--gray-700:#34424e;--gray-800:#1f2b36;--gray-900:#131c25;--navy-600:#34506a;--navy-700:#213a50;--navy-800:#16293b;--navy-900:#0f1f2e;--navy-950:#0a1622;--blue-50:#eef5fc;--blue-100:#d9e9f8;--blue-200:#b5d3f1;--blue-300:#84b6e6;--blue-400:#4f94d8;--blue-500:#2878c8;--blue-600:#1765b3;--blue-700:#12528f;--blue-800:#0f416f;--green-50:#ebf7f1;--green-100:#cdebdb;--green-300:#86cfa8;--green-500:#1f9a62;--green-600:#17804f;--green-700:#12653f;--amber-50:#fff7e6;--amber-100:#fdeac0;--amber-300:#f5c860;--amber-400:#f2b632;--amber-600:#9a6506;--amber-700:#6e4904;--red-50:#fdeeef;--red-100:#f8d3d6;--red-300:#ec8f97;--red-500:#dc3b49;--red-600:#be2d3a;--red-700:#962330;--violet-50:#f2effc;--violet-100:#e2dbf7;--violet-500:#6c52c2;--violet-700:#4f3a99;--font-sans:var(--font-inter),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:var(--font-barlow),var(--font-sans);--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-4xl:32px;--text-5xl:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 2px rgba(15,31,46,.06),0 1px 3px rgba(15,31,46,.04);--shadow-md:0 6px 18px rgba(15,31,46,.08);--shadow-lg:0 20px 48px rgba(10,22,34,.22);--bg:var(--gray-50);--surface:#fff;--surface-2:var(--gray-25);--line:var(--gray-200);--line-strong:var(--gray-300);--ink:var(--gray-900);--muted:var(--gray-500);--primary:var(--blue-600);--primary-hover:var(--blue-700);--primary-soft:var(--blue-50);--focus:var(--blue-400);--success:var(--green-600);--warning:var(--amber-600);--danger:var(--red-600);--navy:var(--navy-900);--navy2:var(--navy-800);--blue:var(--blue-600);--blue2:var(--blue-500);--red:var(--red-500);--gold:var(--amber-400);--white:#fff;--shadow:var(--shadow-md)}*{box-sizing:border-box}body,html{margin:0;max-width:100%;overflow-x:clip;background:var(--bg);color:var(--ink);font:var(--text-base)/1.5 var(--font-sans);font-feature-settings:"cv11";-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.shell{min-height:100vh;overflow-x:clip}.shell>main{min-width:0;margin-left:252px}.side{background:var(--navy-900);color:#fff;padding:26px 16px 20px;position:fixed;inset:0 auto 0 0;width:252px;height:100vh;display:flex;flex-direction:column;z-index:30}.logo-wrap{height:86px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}.logo-wrap img{object-fit:contain}.side nav{display:grid;grid-gap:6px;gap:6px}.side nav button{border:0;background:transparent;border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;font-weight:600}.side nav button svg{width:19px}.side nav button.active,.side nav button:hover{background:rgba(255,255,255,.08);color:#fff}.side nav button.active:before{content:"";width:3px;height:22px;background:var(--blue2);border-radius:var(--radius-sm);margin-left:-14px}.side-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:18px 7px 0;display:flex;align-items:center;gap:10px}.side button.side-user{width:100%;background:none;border-left:0;border-right:0;border-bottom:0;color:#fff;text-align:left;cursor:pointer}.side button.side-user:hover{background:rgba(255,255,255,.035);border-radius:var(--radius-md)}.side button.side-user:focus-visible{outline:2px solid var(--blue-300);outline-offset:3px}.top-account{display:flex;align-items:center;gap:10px}.sync-state{min-width:62px;text-align:right;font-size:var(--text-xs);font-weight:700}.sync-state.saving{color:var(--amber-600)}.sync-state.saved{color:var(--green-600)}.sync-state.error{color:var(--red-600);background:var(--red-50);border-radius:var(--radius-sm);padding:5px 7px}@media(max-width:650px){.sync-state{position:fixed;right:12px;bottom:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 8px;box-shadow:0 5px 15px color-mix(in srgb,var(--navy-900) 13%,transparent);z-index:20}.sync-state:empty{display:none}}.side-user>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--amber-400);color:var(--navy-900);font-weight:700}.side-user div{min-width:0;flex:1 1}.side-user small,.side-user strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user small{color:var(--gray-400);font-size:var(--text-xs)}.side-user svg{width:18px;color:var(--gray-400)}.mobile-close{display:none}main{min-width:0}.top{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.crumb,.kicker{color:var(--blue);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em}.top-user{display:flex;align-items:center;gap:9px}.top-user svg{width:18px}.top-user svg:last-child{margin-left:10px}.menu{display:none;border:0;background:none}.content{max-width:1240px;margin:auto;padding:34px 38px 80px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head h1{font-size:var(--text-4xl);line-height:1.1;letter-spacing:-.01em;margin:6px 0}.page-head p{margin:0;color:var(--muted);font-size:var(--text-md)}.btn{border:0;border-radius:var(--radius-md);padding:11px 16px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:700}.btn svg{width:17px}.btn.primary{background:var(--primary);color:#fff;box-shadow:none}.btn.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn.gold{background:var(--gold);color:var(--navy-900)}.btn.danger-solid{background:var(--red);color:#fff}.hero-grid{display:grid;grid-template-columns:1.6fr .6fr;grid-gap:18px;gap:18px}.hero-card{min-height:260px;background:var(--navy-900);border-radius:var(--radius-lg);color:#fff;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:32px 20px 25px 34px;box-shadow:var(--shadow)}.hero-card img{align-self:flex-end;object-fit:contain;filter:drop-shadow(0 18px 25px rgba(0,0,0,.2))}.hero-copy{position:relative;z-index:2;max-width:520px}.overline{font-size:var(--text-xs);letter-spacing:.06em;font-weight:700}.hero-card h2{font-size:var(--text-3xl);line-height:1.15;margin:20px 0 8px}.hero-card p{color:var(--gray-300);margin:0 0 25px}.chart-card,.metric,.overall-card,.progress-card,.section,.subject-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 5px 18px rgba(15,31,46,.035)}.progress-card{display:grid;place-items:center;align-content:center;text-align:center;padding:20px}.ring{--value:0deg;width:138px;height:138px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--blue) var(--value),var(--gray-100) 0);position:relative}.ring:before{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.ring div{position:relative}.ring strong{display:block;font-size:var(--text-3xl)}.progress-card p,.ring small{color:var(--muted)}.progress-card p{font-size:var(--text-xs)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-top:18px}.metric{padding:18px 19px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone)}.metric>span{display:block;color:var(--muted);font-size:var(--text-xs)}.metric strong{display:block;font-size:var(--text-2xl);margin:8px 0 5px}.metric strong small{font-size:var(--text-sm);color:var(--muted)}.metric em{font-size:var(--text-xs);color:var(--muted);font-style:normal}.metric.blue{--tone:var(--blue-400)}.metric.purple{--tone:var(--violet-500)}.metric.green{--tone:var(--green-500)}.metric.orange{--tone:var(--amber-400)}.metric.red{--tone:var(--red-500)}.metric.dark{background:var(--navy);color:#fff;--tone:var(--gold)}.metric.dark em,.metric.dark>span{color:var(--gray-300)}.mini{height:5px;background:var(--gray-100);overflow:hidden;margin:4px 0}.mini,.mini i{border-radius:var(--radius-md)}.mini i{display:block;height:100%;background:var(--tone)}.chart-card,.overall-card,.section{padding:24px;margin-top:22px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.section-head h2{margin:3px 0 0;font-size:var(--text-xl)}.chart-hint,.section-head>span{color:var(--muted);font-size:var(--text-xs)}.link{border:0;background:none;color:var(--blue);font-weight:700}.task-stack{display:grid;grid-gap:9px;gap:9px}.task-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:13px;transition:.18s}.task-row:hover{border-color:var(--gray-300);box-shadow:0 5px 13px rgba(15,31,46,.05)}.task-check{width:23px;height:23px;border:2px solid var(--gray-300);background:#fff;border-radius:var(--radius-sm);flex:0 0 auto;font-weight:700;color:#fff}.task-row.done .task-check{background:var(--green-500);border-color:var(--green-500)}.task-main{flex:1 1;min-width:0}.task-main>div{display:flex;gap:9px;align-items:center;min-width:0}.task-main strong{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-main small{display:block;color:var(--muted);margin-top:4px}.badge{font-weight:700;padding:4px 7px;border-radius:var(--radius-sm);letter-spacing:.02em}.badge.estudo{background:var(--blue-50);color:var(--blue-500)}.badge.revisao{background:var(--violet-50);color:var(--violet-500)}.badge.exercicio{background:var(--green-50);color:var(--green-600)}.task-row.done .task-main{opacity:.56}.task-row.done .task-main strong{text-decoration:line-through}.task-row.ignored{background:var(--gray-50)}.task-row.ignored .task-main{opacity:.45}.task-row.ignored .task-main strong{text-decoration:line-through}.ignored-label{font-size:var(--text-xs);font-weight:700;color:var(--gray-500);background:var(--gray-200);padding:5px 8px;border-radius:var(--radius-sm)}.task-actions{display:flex;gap:2px}.task-actions button{border:0;background:transparent;border-radius:var(--radius-sm);color:var(--gray-500);width:32px;height:32px;display:grid;place-items:center}.task-actions button:hover:not(:disabled){background:var(--blue-50);color:var(--blue)}.task-actions button:disabled{opacity:.25;cursor:default}.task-actions svg{width:16px}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.empty>svg{width:34px;height:34px;color:var(--gray-400)}.empty h3{color:var(--ink);margin:10px 0 3px}.empty p{margin:0 0 16px}.notice{display:flex;gap:13px;padding:16px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-lg);margin-bottom:16px}.notice>div{width:35px;height:35px;border-radius:var(--radius-md);background:#fff;display:grid;place-items:center;color:var(--blue)}.notice svg{width:18px}.notice p{margin:0}.notice span,.notice strong{display:block}.notice span{color:var(--gray-500);font-size:var(--text-xs);margin-top:2px}.notice.locked{background:var(--gray-50);border-color:var(--gray-200)}.notice.locked>div{color:var(--gray-500)}.subject-list{display:grid;grid-gap:10px;gap:10px}.subject-card{overflow:hidden}.subject-head{border:0;background:#fff;width:100%;display:grid;grid-template-columns:38px 1fr auto 24px;align-items:center;grid-gap:13px;gap:13px;padding:16px 18px;text-align:left}.subject-number{color:var(--blue);font-weight:700}.subject-head small,.subject-head strong{display:block}.subject-head small{color:var(--muted);margin-top:2px}.subject-head svg{width:17px;transition:.2s}.subject-head svg.turn{transform:rotate(180deg)}.weight{font-weight:700;text-transform:none;letter-spacing:.02em;border-radius:var(--radius-sm);padding:5px 8px}.weight.alto{background:var(--red-50);color:var(--red-600)}.weight.medio{background:var(--amber-50);color:var(--amber-600)}.weight.baixo{background:var(--green-50);color:var(--green-700)}.topic-list{border-top:1px solid var(--line);background:var(--gray-25);padding:7px 18px 13px 68px}.topic{display:flex;align-items:center;gap:11px;min-height:43px;border-bottom:1px solid var(--gray-100)}.topic>span{font-size:var(--text-xs);color:var(--gray-400);width:20px}.topic p{flex:1 1;margin:0}.topic-actions{display:flex;gap:3px}.add-row,.topic-actions button{border:0;background:transparent;color:var(--gray-500);font-size:var(--text-xs);padding:6px}.topic-actions svg{width:14px}.topic-actions button.danger{color:var(--red-600)}.topic-actions button:disabled{opacity:.25}.add-row{color:var(--blue);font-weight:700;margin-top:8px}.subject-editor{display:grid;grid-template-columns:minmax(220px,1fr) 150px auto;grid-gap:12px;gap:12px;align-items:end;padding:10px 0 14px;margin-bottom:5px;border-bottom:1px solid var(--line)}.subject-editor label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:var(--text-xs);font-weight:700}.subject-editor input,.subject-editor select{height:38px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;padding:0 10px;color:var(--ink);font:inherit;font-size:var(--text-xs)}.remove-subject{height:38px;border:1px solid var(--red-100);background:var(--red-50);color:var(--red-600);border-radius:var(--radius-md);padding:0 12px;font-size:var(--text-xs);font-weight:700}.add-subject{width:100%;margin-top:12px;border:1px dashed var(--blue-300);background:var(--blue-50);color:var(--blue-500);border-radius:var(--radius-lg);padding:13px;font-weight:700}.catalog-warning{margin:10px 0 0;color:var(--amber-600);background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);padding:9px 12px;font-size:var(--text-xs)}.sticky-action{position:-webkit-sticky;position:sticky;bottom:16px;background:rgba(15,31,46,.96);color:#fff;border-radius:var(--radius-lg);padding:14px 17px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 13px 30px rgba(15,31,46,.22)}.sticky-action span,.sticky-action strong{display:block}.sticky-action span{font-size:var(--text-xs);color:var(--gray-300)}.plan-tools{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.blocks,.plan-tools{display:flex;min-width:0;max-width:100%}.blocks{gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:5px;scrollbar-width:thin}.blocks button,.plan-tools select{border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);padding:8px 11px;white-space:nowrap}.blocks button.active{background:var(--navy);border-color:var(--navy);color:#fff}.blocks button:disabled{opacity:.35}.plan-tools{flex-wrap:wrap;justify-content:flex-start;gap:10px}.plan-tools>.blocks{flex:1 1 100%}.page-head>.btn{white-space:nowrap}.blocks button{display:inline-flex;align-items:center;gap:6px}.blocks button svg{width:14px;height:14px;flex:none}.blocks button small{font-size:var(--text-xs);color:var(--muted);font-weight:600}.blocks button.active small{color:var(--gray-300)}.blocks button.complete:not(.active){border-color:var(--green-100);color:var(--green-600);background:var(--gray-25)}.mission-head{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:15px}.mission-head-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.mission-head-top strong{font-size:var(--text-md)}.mission-head-top span{color:var(--muted);font-size:var(--text-xs)}.mission-bar{height:8px;background:var(--gray-100);overflow:hidden;margin:10px 0 8px}.mission-bar,.mission-bar em{display:block;border-radius:var(--radius-md)}.mission-bar em{height:100%;background:var(--primary);transition:width .25s}.mission-head p{margin:0;font-size:var(--text-sm);font-weight:600;color:var(--navy2)}.mission-head.complete{border-color:var(--green-100);background:var(--gray-25)}.mission-head.complete .mission-bar em{background:var(--green-500)}.mission-head.complete p{color:var(--green-600)}.results{margin-top:0}.chart-card{padding-bottom:27px}.horizontal-chart{display:grid;grid-gap:13px;gap:13px;max-height:440px;overflow:auto;padding-right:8px}.bar-row{display:grid;grid-template-columns:minmax(170px,250px) 1fr 48px;grid-gap:13px;gap:13px;align-items:center}.bar-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-xs)}.bar-row>div{height:25px;background:var(--gray-100);position:relative;overflow:hidden}.bar-row i,.bar-row>div{border-radius:var(--radius-sm)}.bar-row i{display:block;height:100%;min-width:3px;background:var(--primary)}.bar-row b{position:absolute;top:3px;left:9px;color:#fff;font-size:var(--text-xs)}.bar-row small{color:var(--muted);text-align:right}.result-list{display:grid}.result-list>div{display:grid;grid-template-columns:1fr 60px 55px;align-items:center;padding:12px 5px;border-bottom:1px solid var(--line)}.result-list small,.result-list strong{display:block}.result-list small{color:var(--muted)}.result-list>div>b,.result-list>div>span{text-align:right}.modal-shade{position:fixed;inset:0;background:rgba(10,22,34,.65);display:grid;place-items:center;padding:18px;z-index:50}.modal{width:min(540px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:var(--radius-lg);padding:27px;position:relative;box-shadow:0 35px 90px rgba(0,0,0,.32)}.modal-x{position:absolute;right:18px;top:18px;border:0;background:var(--gray-50);border-radius:var(--radius-md);width:34px;height:34px;display:grid;place-items:center}.modal-x svg{width:17px}.modal h2{font-size:var(--text-2xl);margin:5px 0}.modal>p{color:var(--muted);margin:0 0 19px}.modal label{display:block;font-size:var(--text-xs);color:var(--muted);margin:12px 0}.modal input,.modal select{display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:10px;margin-top:5px;color:var(--ink)}.modal input:disabled{background:var(--gray-50)}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.confirm{text-align:center;max-width:470px}.confirm-icon{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--blue-50);color:var(--blue);display:grid;place-items:center;margin:0 auto 12px}.confirm-icon svg{width:27px}.confirm-note{text-align:left;background:var(--gray-50);border-radius:var(--radius-md);padding:12px 14px}.confirm-note span,.confirm-note strong{display:block}.confirm-note span{color:var(--muted);font-size:var(--text-xs)}.confirm .modal-actions{justify-content:center}.progress-list{display:grid;grid-gap:13px;gap:13px}.progress-row{display:grid;grid-template-columns:minmax(180px,260px) 1fr 42px 45px;align-items:center;grid-gap:12px;gap:12px}.progress-row>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-row>div{height:8px;background:var(--gray-100);border-radius:var(--radius-md);overflow:hidden}.progress-row i{display:block;height:100%;background:var(--primary);border-radius:var(--radius-md)}.progress-row b{text-align:right}.progress-row small{color:var(--muted);text-align:right}.overall-card{background:var(--navy-900);color:#fff;padding:28px}.overall-card h2{font-size:var(--text-2xl);margin:6px 0}.overall-card p{color:var(--gray-300)}.tutorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.tutorial-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 24px rgba(15,31,46,.05)}.video-frame{position:relative;aspect-ratio:16/9;background:var(--navy-900)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tutorial-card>div:last-child{padding:18px}.tutorial-card span{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;color:var(--blue)}.tutorial-card h2{font-size:var(--text-lg);margin:5px 0 12px}.tutorial-card a{font-size:var(--text-xs);font-weight:700;color:var(--blue);text-decoration:none}.overall-track{height:12px;background:rgba(255,255,255,.13);border-radius:var(--radius-md);margin:30px 0 35px;position:relative}.overall-track>i{display:block;height:100%;background:var(--amber-400);border-radius:var(--radius-md)}.overall-track>span{position:absolute;top:20px;left:0!important;transform:none;font-size:var(--text-xs);color:var(--gray-200);white-space:nowrap}.legend{display:flex;gap:22px;color:var(--gray-300);font-size:var(--text-xs)}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.legend .done{background:var(--gold)}.legend .pending{background:var(--gray-500)}.legend .skip{background:var(--red)}.shade{display:none}@media(max-width:980px){.shell>main{margin-left:0}.side{position:fixed;left:-270px;transition:.25s;width:252px}.side.open{left:0}.shade{display:block;position:fixed;inset:0;background:rgba(10,22,34,.6);z-index:25}.menu,.mobile-close{display:grid;place-items:center}.mobile-close{position:absolute;right:9px;top:9px;border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:var(--radius-sm);width:32px;height:32px}.menu svg,.mobile-close svg{width:19px}.top{padding:0 20px}.menu{border:0;background:none}.content{padding:28px 22px 70px}}@media(max-width:720px){.crumb,.top-user span{display:none}.top{padding:0 14px;gap:10px}.top-brand{flex:1 1;min-width:0}.top-account .top-user{display:none}.contest-switcher{flex:1 1;min-width:0}.contest-switcher select{width:100%;min-width:0;max-width:none;text-overflow:ellipsis}.content{width:100%;max-width:100%;overflow-x:clip}.page-head{align-items:flex-start}.page-head h1{font-size:var(--text-3xl)}.subject-editor{grid-template-columns:1fr}.remove-subject{width:100%}.hero-grid{grid-template-columns:1fr}.hero-card{min-height:230px;padding:25px 8px 20px 23px}.hero-card img{width:160px;height:180px}.hero-card h2{font-size:var(--text-2xl)}.progress-card{display:none}.metric-grid{grid-template-columns:1fr 1fr}.subject-head{grid-template-columns:31px 1fr auto}.subject-head>svg{display:none}.topic-list{padding-left:20px}.topic{align-items:flex-start;padding:9px 0}.topic-actions{flex-wrap:wrap;justify-content:flex-end}.plan-tools{align-items:stretch;flex-direction:column;width:100%;overflow:hidden}.blocks{width:100%}.plan-tools>select{width:max-content;max-width:100%}.bar-row{grid-template-columns:120px 1fr 39px}.progress-row{grid-template-columns:120px 1fr 38px}.progress-row small{display:none}.legend{flex-wrap:wrap}.sticky-action div{display:none}}@media(max-width:460px){.content{padding:22px 13px 60px}.top{height:62px;padding:0 10px}.top-brand{gap:8px}.contest-switcher{gap:0}.contest-switcher span{display:none}.contest-switcher select{padding:8px 25px 8px 9px;font-size:var(--text-xs)}.page-head{display:block}.page-head>.btn{margin-top:13px}.metric-grid{gap:8px}.metric{padding:15px}.hero-card img{width:125px}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:10px;gap:10px;padding:12px}.task-main{width:100%}.task-actions{margin:0}.task-main strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}.task-main small,.task-main strong{overflow-wrap:anywhere}.ignored-label{grid-column:2}.task-main>div{align-items:flex-start;flex-direction:column;gap:4px}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}.progress-row{grid-template-columns:minmax(110px,1.15fr) 1fr 36px;gap:8px}}.auth-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:var(--navy-900)}.auth-brand{padding:70px;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:420px;height:420px;border:70px solid rgba(40,120,200,.08);border-radius:50%;right:-170px;bottom:-170px}.auth-brand img{object-fit:contain;object-position:left;margin-bottom:45px}.auth-brand h1{font-size:var(--text-5xl);line-height:1.04;letter-spacing:-.01em;max-width:590px;margin:0 0 18px}.auth-brand p{color:var(--gray-300);font-size:var(--text-lg);max-width:540px}.auth-panel{background:#fff;display:grid;place-items:center;padding:40px;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.auth-panel form{width:min(420px,100%)}.auth-panel h2{font-size:var(--text-4xl);margin:7px 0}.auth-panel>form>p{color:var(--muted);margin:0 0 25px}.auth-panel label{display:block;font-size:var(--text-xs);font-weight:700;margin:15px 0}.auth-panel input{display:block;width:100%;border:1px solid var(--line);border-radius:var(--radius-md);padding:12px;margin-top:6px}.auth-panel .btn{width:100%;margin-top:8px}.auth-panel form>a,.auth-panel form>small{display:block;text-align:center;color:var(--muted);margin-top:16px}.auth-panel form>a{color:var(--blue);font-weight:700}.form-error{background:var(--red-50);color:var(--red-700);border-radius:var(--radius-md);padding:9px 11px;font-size:var(--text-xs)}.account-email-confirm{display:flex;flex-direction:column;gap:3px;margin:0 0 18px;padding:11px 13px;border:1px solid var(--blue-200);border-radius:var(--radius-md);background:var(--blue-50);color:var(--navy-600);font-size:var(--text-xs)}.account-email-confirm strong{color:var(--navy-900);font-size:var(--text-sm);overflow-wrap:anywhere}.form-success{background:var(--green-50);color:var(--green-600);border-radius:var(--radius-md);padding:9px 11px;font-size:var(--text-xs)}@media(max-width:760px){.auth-page{grid-template-columns:1fr}.auth-brand{padding:35px 25px}.auth-brand h1{font-size:var(--text-4xl)}.auth-brand img{width:230px;height:auto;margin-bottom:22px}.auth-panel{border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:34px 22px}}.side nav{margin-top:0}.top{height:66px;background:#fff;border-bottom-color:var(--line);color:var(--ink)}.top-brand{display:flex;align-items:center;gap:15px;min-width:0}.top-brand .crumb{padding-left:0;border-left:0;color:var(--blue)}.top-user{color:var(--muted)}.menu{color:var(--ink)}.warranty-note{display:grid;grid-template-columns:auto 1fr auto;grid-gap:13px;gap:13px;align-items:center;background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-lg);padding:13px 15px;margin-bottom:15px}.warranty-note>svg{width:20px;color:var(--amber-600)}.warranty-note span,.warranty-note strong{display:block}.warranty-note span,.warranty-note>b{font-size:var(--text-xs);color:var(--amber-600)}.warranty-note>b{background:var(--amber-100);padding:6px 9px;border-radius:var(--radius-sm)}.btn:disabled{opacity:.55;cursor:not-allowed}.hero-card:after{content:"";width:310px;height:310px;border:55px solid rgba(40,120,200,.08);border-radius:50%;position:absolute;right:-120px;bottom:-170px}.hero-card{position:relative}.hero-copy{max-width:650px}.topic p.editable{cursor:text;border-radius:var(--radius-sm);padding:6px 8px;margin-left:-8px}.topic p.editable:hover{background:var(--blue-50);color:var(--blue-600)}.topic.editing{padding:7px 0}.topic-input{flex:1 1;min-width:0;border:1px solid var(--blue-300);border-radius:var(--radius-sm);padding:9px 10px;outline:3px solid rgba(40,120,200,.1)}.edit-actions .save{background:var(--blue);color:#fff;border-radius:var(--radius-sm);padding-inline:10px}@media(max-width:720px){.top-brand{gap:12px}.top-brand img{width:125px;height:auto}.top-brand .crumb{display:none}.warranty-note{grid-template-columns:auto 1fr}.warranty-note>b{grid-column:2;width:max-content}}.contest-switcher{display:flex;align-items:center;gap:10px}.contest-switcher span{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--gray-500)}.contest-switcher select{max-width:460px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;padding:8px 34px 8px 11px;font:700 var(--text-xs) inherit;color:var(--navy-800)}.side-user small{display:block;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell{min-height:100vh;background:var(--gray-50);color:var(--navy-900);display:grid;grid-template-columns:246px 1fr}.admin-side{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--navy-900);padding:26px 17px 20px;color:#fff;display:flex;flex-direction:column}.admin-side>img{object-fit:contain;margin:0 auto 28px}.admin-label{display:flex;align-items:center;gap:8px;margin:0 7px 18px;padding:10px 12px;border:1px solid var(--navy-700);border-radius:var(--radius-md);color:var(--blue-300);font-size:var(--text-xs);font-weight:700;text-transform:none;letter-spacing:.04em}.admin-label svg{width:16px}.admin-side nav{display:grid;grid-gap:6px;gap:6px}.admin-side nav button,.admin-side>a{border:0;background:none;color:var(--gray-300);display:flex;align-items:center;gap:11px;padding:12px;border-radius:var(--radius-md);font-weight:700;text-align:left}.admin-side nav button svg,.admin-side>a svg{width:18px}.admin-side nav button.active{background:var(--navy-700);color:#fff;box-shadow:inset 3px 0 var(--blue-400)}.admin-side>a{margin-top:auto;text-decoration:none}.admin-main{min-width:0}.admin-main>header{height:62px;background:#fff;border-bottom:1px solid var(--gray-200);display:flex;align-items:center;justify-content:space-between;padding:0 34px}.admin-main>header div{display:flex;align-items:center;gap:12px}.admin-main>header span{font-size:var(--text-xs);font-weight:700;color:var(--blue-400);letter-spacing:.04em}.admin-main>header strong{font-size:var(--text-sm)}.admin-main>header button{border:1px solid var(--gray-200);background:#fff;padding:8px 11px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:7px;font-weight:700}.admin-main>header button svg{width:16px}.admin-content{max-width:1280px;margin:auto;padding:34px}.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.admin-heading>div>span,.admin-modal>span{font-size:var(--text-xs);font-weight:700;color:var(--blue-400);letter-spacing:.06em}.admin-heading h1{font-size:var(--text-4xl);margin:5px 0 3px}.admin-heading p{margin:0;color:var(--gray-500);font-size:var(--text-sm)}.admin-actions{display:flex;gap:9px}.admin-actions button,.admin-card-head>a{height:42px;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:#fff;padding:0 15px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;text-decoration:none;color:var(--blue-600)}.admin-actions button svg,.admin-card-head>a svg{width:17px}.admin-actions .icon{width:42px;padding:0}.admin-actions .primary,.admin-modal .primary{background:var(--blue-400);color:#fff;border-color:var(--blue-400);box-shadow:none}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}.admin-metrics article{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:18px;display:flex;gap:14px;align-items:center}.admin-metrics article>svg{width:38px;height:38px;padding:9px;border-radius:var(--radius-md);color:var(--blue-400);background:var(--blue-50)}.admin-metrics article div{display:grid}.admin-metrics span{font-size:var(--text-xs);color:var(--gray-500)}.admin-metrics strong{font-size:var(--text-2xl);line-height:1.15}.admin-metrics small{font-size:var(--text-xs);color:var(--gray-400)}.admin-card,.webhook-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden}.admin-card-head{padding:19px 22px;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;align-items:center}.admin-card-head h2,.webhook-card h2{font-size:var(--text-lg);margin:0 0 3px}.admin-card-head p,.webhook-card p{margin:0}.admin-card-head p,.admin-card-head>span,.webhook-card p{color:var(--gray-500);font-size:var(--text-xs)}.contest-admin-list article{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:15px;gap:15px;padding:17px 22px;border-bottom:1px solid var(--gray-100)}.contest-admin-list article:last-child{border:0}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.online{background:var(--green-500);box-shadow:0 0 0 4px var(--green-50)}.status-dot.draft{background:var(--amber-400);box-shadow:0 0 0 4px var(--amber-50)}.contest-admin-main{display:grid;grid-gap:2px;gap:2px}.contest-admin-main>strong{font-size:var(--text-sm)}.contest-admin-main>span{font-size:var(--text-xs);color:var(--gray-400)}.contest-admin-main>div{display:flex;gap:16px;margin-top:5px;color:var(--gray-500)}.event-table i,.integration-list i,.status-pill{font-style:normal;font-size:var(--text-xs);font-weight:700;text-transform:none;border-radius:999px;padding:5px 8px}.event-table i.ready,.integration-list i.ready,.status-pill.online{background:var(--green-50);color:var(--green-600)}.event-table i.waiting,.integration-list i.waiting,.status-pill.draft{background:var(--amber-50);color:var(--amber-600)}.row-open{width:32px;height:32px;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff}.row-open svg{width:16px}.webhook-card{background:var(--navy-900);color:#fff;padding:23px;margin-bottom:18px;display:grid;grid-template-columns:1fr minmax(420px,.8fr);grid-gap:30px;gap:30px;align-items:center}.webhook-card>div>span{font-size:var(--text-xs);font-weight:700;color:var(--blue-300);letter-spacing:.06em}.webhook-card p{color:var(--gray-300)}.webhook-copy{display:flex;background:var(--navy-900);border:1px solid var(--navy-600);padding:5px;border-radius:var(--radius-md)}.webhook-copy code{font-size:var(--text-xs);flex:1 1;align-self:center;padding:0 9px;overflow:hidden;text-overflow:ellipsis}.webhook-copy button{border:0;background:var(--amber-400);border-radius:var(--radius-sm);padding:9px 12px;font-weight:700;display:flex;align-items:center;gap:6px}.webhook-copy button svg{width:15px}.integration-list article{display:grid;grid-template-columns:100px 1fr 1.4fr 1fr auto;grid-gap:15px;gap:15px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--gray-100)}.integration-list article>div{display:flex;align-items:center;gap:7px}.integration-list article>div svg{width:18px;color:var(--blue-400)}.integration-list article>div span{font-size:var(--text-xs);font-weight:700;color:var(--green-600)}.integration-list section{display:grid;grid-gap:3px;gap:3px}.integration-list section>span,.integration-list small{font-size:var(--text-xs);color:var(--gray-400)}.integration-list section>strong{font-size:var(--text-xs)}.event-table>article,.event-table>div{display:grid;grid-template-columns:1.2fr .8fr 1.5fr 1fr .7fr;grid-gap:15px;gap:15px;align-items:center;padding:13px 22px;border-bottom:1px solid var(--gray-100);font-size:var(--text-xs)}.event-head{color:var(--gray-500);font-size:var(--text-xs)!important;text-transform:none;font-weight:700;background:var(--gray-25)}.admin-toast,.event-table code{font-size:var(--text-xs)}.admin-toast{display:flex;align-items:center;gap:8px;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100);padding:11px 14px;border-radius:var(--radius-md);margin-bottom:15px;font-weight:700}.admin-toast svg{width:16px}.admin-toast button{margin-left:auto;border:0;background:none}.admin-toast button svg{width:14px}.admin-modal-shade{position:fixed;inset:0;background:color-mix(in srgb,var(--navy-950) 72%,transparent);display:grid;place-items:center;padding:20px;z-index:100}.admin-modal{width:min(650px,100%);background:#fff;border-radius:var(--radius-lg);padding:28px;position:relative;box-shadow:0 24px 60px color-mix(in srgb,var(--navy-950) 27%,transparent)}.modal-close{position:absolute;right:18px;top:18px;border:0;background:var(--gray-50);width:32px;height:32px;border-radius:50%}.modal-close svg{width:16px}.admin-modal h2{font-size:var(--text-2xl);margin:6px 0}.admin-modal>p{font-size:var(--text-xs);color:var(--gray-500);margin:0 0 20px}.admin-modal label{display:grid;grid-gap:6px;gap:6px;font-size:var(--text-xs);font-weight:700;margin-bottom:13px}.admin-modal label input{height:42px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 11px;font:inherit;font-weight:500}.admin-modal label>small{font-size:var(--text-xs);color:var(--gray-400);font-weight:500}.two-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.integration-summary{display:flex;gap:12px;padding:13px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);margin-top:5px}.integration-summary svg{width:19px;color:var(--blue-400)}.integration-summary div{display:grid}.integration-summary strong{font-size:var(--text-xs)}.integration-summary span{font-size:var(--text-xs);color:var(--gray-500)}.admin-modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.admin-modal footer button{border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);padding:10px 15px;font-weight:700}.admin-modal footer button:disabled{opacity:.5}.admin-state{min-height:100vh;background:var(--navy-900);display:grid;place-items:center;color:#fff;text-align:center;padding:30px}.admin-state>div{background:#fff;color:var(--navy-900);width:min(450px,100%);padding:34px;border-radius:var(--radius-lg)}.admin-state>div>svg{width:40px;height:40px;color:var(--blue-400)}.admin-state h1{font-size:var(--text-2xl)}.admin-state p{color:var(--gray-500);font-size:var(--text-xs)}.admin-state a{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--blue-500);font-weight:700;text-decoration:none}.admin-state a svg{width:16px}@media(max-width:980px){.admin-shell{grid-template-columns:76px 1fr}.admin-side{padding-inline:10px}.admin-side>img{width:58px;height:auto}.admin-label{padding:8px;justify-content:center}.admin-label,.admin-label span{font-size:0}.admin-side nav button,.admin-side nav button span,.admin-side>a{font-size:0;justify-content:center}.admin-metrics{grid-template-columns:repeat(2,1fr)}.webhook-card{grid-template-columns:1fr}.integration-list article{grid-template-columns:80px 1fr 1fr auto}.integration-list article section:nth-of-type(2){display:none}}@media(max-width:680px){.admin-shell{display:block}.admin-side{position:static;width:100%;height:auto;display:flex;flex-direction:row;align-items:center;padding:10px}.admin-side>img{margin:0 12px 0 0}.admin-label,.admin-side>a{display:none}.admin-side nav{display:flex;flex:1 1;justify-content:flex-end}.admin-side nav button{padding:9px}.admin-main>header{padding:0 16px}.admin-main>header span{display:none}.admin-content{padding:22px 15px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:var(--text-2xl)}.admin-heading p{max-width:260px}.admin-actions .primary{font-size:0;width:42px;padding:0}.admin-metrics{grid-template-columns:1fr 1fr;gap:9px}.admin-metrics article{padding:12px;gap:9px}.admin-metrics article>svg{width:32px;height:32px}.admin-metrics strong{font-size:var(--text-xl)}.contest-admin-list article{grid-template-columns:auto 1fr auto;padding:14px}.row-open{display:none}.contest-admin-main>div{gap:8px;flex-wrap:wrap}.webhook-card{padding:18px}.webhook-copy code{font-size:var(--text-xs)}.integration-list article{grid-template-columns:70px 1fr auto;padding:13px}.integration-list article section:nth-of-type(2),.integration-list article section:nth-of-type(3){display:none}.event-table{overflow-x:auto}.event-table>article,.event-table>div{min-width:700px}.two-fields{grid-template-columns:1fr}.admin-modal{padding:24px 18px}}.contest-row-actions{display:flex;gap:7px;align-items:center}.contest-row-actions button{height:32px;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-sm);padding:0 10px;display:flex;align-items:center;gap:6px;color:var(--blue-500);font-size:var(--text-xs);font-weight:700}.contest-row-actions button:first-child{background:var(--blue-50);border-color:var(--blue-100)}.contest-row-actions button:disabled{opacity:.45}.contest-row-actions svg{width:14px}.import-modal{width:min(760px,100%)}.json-upload{position:relative!important;display:grid!important;grid-template-columns:auto 1fr!important;grid-column-gap:11px!important;column-gap:11px!important;background:var(--blue-50);border:1px dashed var(--blue-300)!important;border-radius:var(--radius-md);padding:15px!important;cursor:pointer}.json-upload>svg{grid-row:1/3;width:24px;color:var(--blue-400)}.json-upload span,.json-upload strong{font-size:var(--text-xs)}.json-upload span{color:var(--gray-500)}.json-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.json-divider{display:flex;align-items:center;gap:10px;color:var(--gray-400);font-size:var(--text-xs);text-transform:none;margin:10px 0}.json-divider:after,.json-divider:before{content:"";height:1px;background:var(--gray-100);flex:1 1}.import-modal textarea{width:100%;height:220px;resize:vertical;background:var(--navy-900);color:var(--blue-100);border:0;border-radius:var(--radius-md);padding:14px;font:var(--text-xs)/1.5 Consolas,monospace;outline:0}.json-validation{display:flex;gap:9px;align-items:center;padding:10px 12px;border-radius:var(--radius-md);margin-top:10px;font-size:var(--text-xs)}.json-validation svg{width:16px}.json-validation span{display:flex;gap:8px}.json-validation.success{background:var(--green-50);color:var(--green-700)}.json-validation.error{background:var(--red-50);color:var(--red-600)}.replace-warning{display:flex;gap:10px;padding:11px 12px;border:1px solid var(--amber-100);background:var(--amber-50);border-radius:var(--radius-md);margin-top:10px}.replace-warning>svg{width:18px;color:var(--amber-600)}.replace-warning>span{display:grid;font-size:var(--text-xs);color:var(--amber-600)}.replace-warning strong{font-size:var(--text-xs);color:var(--amber-700)}@media(max-width:680px){.contest-admin-list article{grid-template-columns:auto 1fr}.contest-admin-list .status-pill{display:none}.contest-row-actions{grid-column:2;justify-content:flex-start}.import-modal textarea{height:180px}.json-validation span{display:grid;grid-gap:2px;gap:2px}}.manage-modal{width:min(1050px,96vw);max-height:92vh;overflow:auto}.manage-title{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--gray-100);padding-bottom:16px}.manage-title h2{margin-bottom:2px}.manage-title p{margin:0;color:var(--gray-500);font-size:var(--text-xs)}.manage-title>i{font-style:normal;text-transform:none;font-size:var(--text-xs);font-weight:700;border-radius:999px;padding:6px 9px}.manage-title>i.online{background:var(--green-50);color:var(--green-600)}.manage-title>i.draft{background:var(--amber-50);color:var(--amber-600)}.manage-grid{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:24px;gap:24px;margin-top:20px}.manage-grid h3{font-size:var(--text-sm);margin:0 0 14px}.manage-fields{border-right:1px solid var(--gray-100);padding-right:24px}.manage-fields label{margin-bottom:11px}.manage-fields input:disabled{background:var(--gray-50);color:var(--gray-400)}.manage-integration{display:flex;gap:8px;background:var(--blue-50);border:1px solid var(--blue-100);border-radius:var(--radius-md);padding:10px;margin-top:6px}.manage-integration svg{width:17px;color:var(--blue-400)}.manage-integration span{display:grid;min-width:0;font-size:var(--text-xs);color:var(--gray-500);overflow:hidden;text-overflow:ellipsis}.manage-integration strong{font-size:var(--text-xs);color:var(--navy-700)}.save-draft{width:100%;margin-top:12px;border:0;border-radius:var(--radius-md);background:var(--blue-400);color:#fff;padding:10px;font-weight:700}.catalog-preview>div:first-child{display:flex;justify-content:space-between;align-items:center}.catalog-preview>div:first-child h3{margin:0}.catalog-preview>div:first-child button{border:1px solid var(--blue-100);background:var(--blue-50);color:var(--blue-500);border-radius:var(--radius-sm);padding:7px 9px;font-size:var(--text-xs);font-weight:700;display:flex;align-items:center;gap:5px}.catalog-preview>div:first-child button svg{width:14px}.catalog-preview>div:first-child button:disabled{opacity:.45}.catalog-preview>p{font-size:var(--text-xs);color:var(--gray-500);margin:4px 0 12px}.catalog-discipline-list{display:grid;grid-gap:6px;gap:6px;max-height:430px;overflow:auto;padding-right:4px}.catalog-discipline-list details{border:1px solid var(--blue-100);border-radius:var(--radius-md);background:var(--gray-25)}.catalog-discipline-list summary{cursor:pointer;padding:10px 11px;display:flex;justify-content:space-between;list-style:none}.catalog-discipline-list summary span{display:grid;font-size:var(--text-xs);font-weight:700}.catalog-discipline-list summary small{font-size:var(--text-xs);color:var(--gray-500);font-weight:500}.catalog-discipline-list summary b{font-size:var(--text-xs);background:var(--blue-50);color:var(--blue-500);border-radius:999px;padding:5px 7px}.catalog-discipline-list ol{margin:0;padding:0 14px 11px 35px;border-top:1px solid var(--gray-100)}.catalog-discipline-list li{padding:6px 0 0 3px;font-size:var(--text-xs);color:var(--gray-500)}.catalog-empty{min-height:230px;border:1px dashed var(--gray-200);border-radius:var(--radius-md);display:grid;place-content:center;text-align:center;color:var(--gray-400)}.catalog-empty svg{width:28px;margin:0 auto 8px;color:var(--blue-400)}.catalog-empty strong{color:var(--navy-600)}.catalog-empty span,.catalog-empty strong{font-size:var(--text-xs)}.manage-loading{padding:50px;text-align:center;color:var(--gray-500)}.manage-modal>footer{border-top:1px solid var(--gray-100);padding-top:15px;margin-top:20px}.manage-modal>footer button{border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);padding:9px 14px;font-weight:700}.manage-modal>footer .danger-link{margin-right:auto;display:inline-flex;align-items:center;gap:6px;color:var(--red-600);border-color:var(--red-100)}.manage-modal>footer .danger-link svg{width:14px}.manage-modal>footer .danger-link:hover:not(:disabled){background:var(--red-50)}.manage-modal>footer .danger-link:disabled{opacity:.5}.manage-delete-hint{margin-right:auto;align-self:center;font-size:var(--text-xs);color:var(--gray-500)}.manage-modal>.json-validation{margin-top:16px}.tutorial-admin-form{background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);padding:23px;margin-bottom:18px;display:grid;grid-template-columns:1.1fr .9fr 1.1fr 1.4fr auto;grid-gap:14px;gap:14px;align-items:end}.tutorial-admin-form>div span{font-size:var(--text-xs);font-weight:700;color:var(--blue-300);letter-spacing:.06em}.tutorial-admin-form h2{font-size:var(--text-lg);margin:4px 0}.tutorial-admin-form p{font-size:var(--text-xs);color:var(--gray-300);margin:0}.tutorial-admin-form label{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--gray-200)}.tutorial-admin-form input,.tutorial-admin-form select{height:40px;border:1px solid var(--navy-600);border-radius:var(--radius-md);background:#fff;color:var(--navy-800);padding:0 10px;min-width:0}.tutorial-admin-form>button{height:40px;border:0;border-radius:var(--radius-md);background:var(--amber-400);color:var(--navy-900);padding:0 14px;font-weight:700;display:flex;align-items:center;gap:6px;white-space:nowrap}.tutorial-admin-form>button svg{width:16px}.tutorial-admin-form>button:disabled{opacity:.45}.tutorial-admin-list>article{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:15px 22px;border-bottom:1px solid var(--gray-100)}.tutorial-admin-list>article>svg{width:34px;height:34px;padding:8px;background:var(--blue-50);color:var(--blue-400);border-radius:var(--radius-md)}.tutorial-admin-list article div{display:grid;grid-gap:4px;gap:4px}.tutorial-admin-list article strong{font-size:var(--text-xs)}.tutorial-admin-list article a{font-size:var(--text-xs);color:var(--gray-500);text-decoration:none;display:flex;align-items:center;gap:4px}.tutorial-admin-list article a svg{width:11px}.tutorial-admin-list article>button{width:34px;height:34px;border:1px solid var(--red-100);background:var(--gray-25);color:var(--red-600);border-radius:var(--radius-md)}.tutorial-admin-list article>button svg{width:15px}.tutorial-admin-empty{min-height:180px;display:grid;place-content:center;text-align:center;color:var(--gray-500)}.tutorial-admin-empty svg{width:32px;margin:0 auto 8px}.tutorial-admin-empty span,.tutorial-admin-empty strong{font-size:var(--text-xs);display:block}@media(max-width:760px){.manage-grid{grid-template-columns:1fr}.manage-fields{border-right:0;border-bottom:1px solid var(--gray-100);padding:0 0 20px}.catalog-discipline-list{max-height:330px}}@media(max-width:1000px){.tutorial-admin-form{grid-template-columns:1fr 1fr}.tutorial-admin-form>div{grid-column:1/-1}}@media(max-width:720px){.tutorial-admin-form,.tutorial-grid{grid-template-columns:1fr}.tutorial-admin-form>div{grid-column:auto}}.account-settings{width:min(620px,100%)}.account-settings>section{border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;margin-top:12px}.settings-section-title{display:flex;align-items:center;gap:10px;margin-bottom:10px}.settings-section-title>svg{width:34px;height:34px;padding:8px;border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue-400)}.settings-section-title>div{display:grid}.settings-section-title strong{font-size:var(--text-xs)}.settings-section-title span{font-size:var(--text-xs);color:var(--muted)}.settings-save{margin-left:auto;min-width:130px}.account-notice{display:flex;align-items:center;gap:8px;border-radius:var(--radius-md);padding:10px 12px;font-size:var(--text-xs);font-weight:700}.account-notice svg{width:16px}.account-notice.success{background:var(--green-50);color:var(--green-600)}.account-notice.error{background:var(--red-50);color:var(--red-600)}.account-settings>footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px}.settings-logout{border:0;background:none;color:var(--red-600);font-weight:700;display:flex;align-items:center;gap:7px}.settings-logout svg{width:16px}@media(max-width:580px){.account-settings>section{padding:13px}.settings-save{width:100%}.account-settings>footer{align-items:stretch;flex-direction:column-reverse;gap:8px}.settings-logout{justify-content:center;padding:10px}}.env-banner{position:fixed;inset:0 0 auto 0;height:28px;z-index:200;display:flex;align-items:center;justify-content:center;padding:0 8px;background:var(--gold);color:var(--navy);font-size:var(--text-xs);font-weight:700;white-space:nowrap;overflow:hidden;pointer-events:none}html[data-env=beta] body{padding-top:28px}html[data-env=beta] .admin-side,html[data-env=beta] .side{top:28px;height:calc(100vh - 28px)}html[data-env=beta] .bulk-bar{top:28px}@media(max-width:680px){html[data-env=beta] .admin-side{height:auto}}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .9s linear infinite}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.btn.hero-materials{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25)}.btn.hero-materials:hover{background:rgba(255,255,255,.18)}.subject-editor{justify-content:start}.task-topic,.topic-open{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--ink);text-align:left;cursor:pointer;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-topic:hover,.topic-open:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.topic-open{flex:1 1;white-space:normal;font-weight:500}.task-row.done .task-topic,.task-row.ignored .task-topic{text-decoration:line-through}.material-icons{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--gray-200);background:var(--gray-25);color:var(--blue-600);border-radius:999px;padding:5px 10px 5px 8px;font-size:var(--text-xs);font-weight:700;cursor:pointer}.material-icons i{display:grid;place-items:center}.material-icons svg{width:13px;height:13px}.material-icons span{margin-left:3px}.material-icons:hover{background:var(--gray-100);border-color:var(--blue-200)}@media(max-width:680px){.material-icons span{display:none}.material-icons{padding:6px 8px}}.topic-shade{position:fixed;inset:0;background:rgba(10,22,34,.55);z-index:60;animation:fade .18s ease}.topic-panel{position:fixed;top:0;right:0;bottom:0;width:min(720px,100vw);background:var(--bg);z-index:61;display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(10,22,34,.25);animation:slide-in .22s ease}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{transform:translateX(40px);opacity:0}}.topic-panel-head{background:#fff;border-bottom:1px solid var(--line);padding:22px 70px 18px 26px;position:relative}.topic-panel-head h2{font-size:var(--text-2xl);line-height:1.2;letter-spacing:-.01em;margin:5px 0 2px}.topic-panel-head small{color:var(--muted);font-size:var(--text-xs)}.topic-panel-head .modal-x{top:20px}.topic-panel-body{flex:1 1;overflow:auto;padding:20px 26px 40px;display:grid;grid-gap:14px;gap:14px;align-content:start}.topic-notice{background:var(--amber-50);border:1px solid var(--amber-100);color:var(--amber-700);border-radius:var(--radius-md);padding:10px 13px;font-size:var(--text-xs);font-weight:600}.topic-empty{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:60px 20px;color:var(--muted);text-align:center}.topic-empty svg{width:28px;height:28px;color:var(--gray-400)}.material-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px}.material-box.focus{border-color:var(--blue-300);box-shadow:0 0 0 3px rgba(40,120,200,.12)}.material-box>header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.material-box>header>div{flex:1 1;min-width:0}.material-box h3{font-size:var(--text-md);margin:0}.material-box>header small{color:var(--muted);font-size:var(--text-xs)}.material-box>header em{font-style:normal;font-size:var(--text-xs);font-weight:700;color:var(--blue-600);background:var(--blue-50);border-radius:999px;padding:4px 9px;white-space:nowrap}.material-icon{width:36px;height:36px;border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.material-icon svg{width:18px}.topic-text{display:grid;grid-gap:14px;gap:14px}.topic-text h4{margin:0 0 4px;font-size:var(--text-xs);letter-spacing:.04em;text-transform:none;color:var(--gray-500)}.topic-text p{margin:0 0 6px;line-height:1.6}.topic-text ul{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;line-height:1.55}.pdf-list{display:grid;grid-gap:8px;gap:8px}.pdf-item{display:flex;align-items:center;gap:12px;border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:10px 12px;background:var(--gray-25)}.pdf-icon{position:relative;width:34px;height:40px;border-radius:var(--radius-sm);background:var(--red-50);color:var(--red-600);display:grid;place-items:center;flex:0 0 auto}.pdf-icon svg{width:18px}.pdf-icon b{position:absolute;right:-6px;bottom:-6px;min-width:18px;height:18px;border-radius:var(--radius-md);background:var(--navy);color:#fff;font-size:var(--text-xs);display:grid;place-items:center;padding:0 4px;border:2px solid #fff}.pdf-item>div:nth-child(2){flex:1 1;min-width:0}.pdf-item strong{display:block;font-size:var(--text-sm);line-height:1.35}.pdf-item small{color:var(--muted);font-size:var(--text-xs)}.pdf-actions{display:flex;gap:6px;flex:0 0 auto}.pdf-actions button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);padding:7px 11px;font-weight:700;font-size:var(--text-xs);color:var(--ink)}.pdf-actions button:first-child{background:var(--blue);border-color:var(--blue);color:#fff}.pdf-actions button:disabled{opacity:.6;cursor:default}.pdf-actions svg{width:14px;height:14px}@media(max-width:520px){.pdf-item{flex-wrap:wrap}.pdf-actions{width:100%}.pdf-actions button{flex:1 1;justify-content:center}}.topic-video{border-radius:var(--radius-md);overflow:hidden}.video-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;grid-gap:8px;gap:8px;color:var(--gray-300);font-size:var(--text-xs)}.video-placeholder svg{width:40px;height:40px}.video-title{margin:10px 2px 0;font-weight:700}.video-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.video-list button{width:100%;display:flex;align-items:center;gap:11px;border:1px solid transparent;background:none;border-radius:var(--radius-md);padding:8px 10px;text-align:left;color:var(--ink)}.video-list button:hover{background:var(--gray-50)}.video-list button.active{background:var(--blue-50);border-color:var(--blue-100)}.video-list button>span{width:26px;height:26px;border-radius:50%;background:var(--gray-50);display:grid;place-items:center;font-size:var(--text-xs);font-weight:700;color:var(--gray-500);flex:0 0 auto}.video-list button.active>span{background:var(--blue);color:#fff}.video-list button>span svg{width:14px}.video-list strong{flex:1 1;font-size:var(--text-sm);font-weight:600}.video-list em{font-style:normal;font-size:var(--text-xs);font-weight:700;color:var(--blue)}.link-list{display:grid;grid-gap:8px;gap:8px}.link-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:12px 14px;background:var(--gray-25);color:var(--ink);text-decoration:none;font-weight:600}.link-list a:hover{border-color:var(--blue-200);background:var(--gray-25)}.link-list b{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-size:var(--text-xs);white-space:nowrap}.link-list svg{width:14px}.pdf-viewer{position:fixed;inset:0;z-index:70;background:var(--navy-950);display:flex;flex-direction:column}.pdf-viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--navy-900);color:#fff}.pdf-viewer header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-viewer header div{display:flex;gap:8px;flex:0 0 auto}.pdf-viewer header a,.pdf-viewer header button{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;border-radius:var(--radius-md);padding:7px 11px;font-weight:700;font-size:var(--text-xs);text-decoration:none}.pdf-viewer header svg{width:15px}.pdf-viewer iframe{flex:1 1;border:0;width:100%;background:#fff}@media(max-width:680px){.topic-panel-head{padding:18px 62px 14px 18px}.topic-panel-head h2{font-size:var(--text-xl)}.topic-panel-body{padding:14px 14px 32px}.material-box{padding:14px}}@media(max-width:460px){.task-row .material-icons{grid-column:2;grid-row:2;justify-self:start;margin-top:-2px}.task-row .task-actions{grid-column:3;grid-row:1}.task-topic{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.35}.material-icons span{display:inline}}.bank-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.bank-summary{flex:1 1;min-width:220px;color:var(--gray-500);font-size:var(--text-xs)}.bank-summary strong{color:var(--ink)}.bank-search{display:flex;align-items:center;gap:7px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;padding:0 10px;height:40px;min-width:240px}.bank-search svg{width:15px;color:var(--gray-400)}.bank-search input{border:0;outline:0;font:inherit;font-size:var(--text-xs);flex:1 1;min-width:0;background:none}.bank-new{display:flex;gap:7px}.bank-new input{padding:0 11px;font:inherit;min-width:200px}.bank-actions button,.bank-new button,.bank-new input,.builder-available button{height:40px;border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-xs)}.bank-actions button,.bank-new button,.builder-available button{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:0 12px;font-weight:700;color:var(--blue-600)}.bank-new button{background:var(--blue-400);border-color:var(--blue-400);color:#fff}.bank-new button:disabled{opacity:.5}.bank-actions svg,.bank-new svg{width:15px}.bank-empty{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:50px 20px;text-align:center;color:var(--gray-500)}.bank-empty svg{width:26px;height:26px;color:var(--gray-400)}.bank-empty strong{color:var(--ink)}.bank-list{display:grid;grid-gap:12px;gap:12px}.bank-discipline>header{padding:12px 16px}.bank-discipline>header,.bank-toggle{display:flex;align-items:center;gap:10px}.bank-toggle{flex:1 1;border:0;background:none;text-align:left;min-width:0;padding:4px 0}.bank-toggle>svg{width:18px;color:var(--gray-500);transition:.15s;flex:0 0 auto}.bank-toggle>svg.turn{transform:rotate(180deg)}.bank-toggle strong{display:block;font-size:var(--text-base)}.bank-toggle small{color:var(--gray-400);font-size:var(--text-xs)}.bank-actions{display:flex;gap:6px}.bank-actions button{height:34px;padding:0 10px}.bank-actions button.danger{color:var(--red-600)}.bank-table{border-top:1px solid var(--gray-100)}.bank-row{display:grid;grid-template-columns:minmax(200px,1fr) repeat(7,64px) 70px;align-items:center;border-bottom:1px solid var(--gray-50);padding:0 16px;min-height:44px}.bank-row:last-child{border-bottom:0}.bank-row.head{min-height:34px;background:var(--gray-25);font-size:var(--text-xs);font-weight:700;color:var(--gray-500);letter-spacing:.02em}.bank-row.empty{display:block;padding:14px 16px;color:var(--gray-400);font-size:var(--text-xs)}.bank-topic{border:0;background:none;text-align:left;padding:8px 8px 8px 0;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.bank-topic:hover{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}.cov{text-align:center;font-size:var(--text-xs);color:var(--gray-300)}.cov.on{color:var(--green-600);font-weight:700}.cov svg{width:14px;vertical-align:middle}.cov.contests{color:var(--gray-500)}.bank-order{display:flex;justify-content:flex-end;gap:2px}.bank-order button,.builder-item header button,.material-actions button{border:0;background:none;width:28px;height:28px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--gray-500)}.bank-order button:hover:not(:disabled),.builder-item header button:hover:not(:disabled),.material-actions button:hover:not(:disabled){background:var(--blue-50);color:var(--blue-600)}.bank-order button:disabled,.builder-item header button:disabled,.material-actions button:disabled{opacity:.25}.bank-order svg,.builder-item header svg,.material-actions svg{width:14px}@media(max-width:900px){.bank-row{grid-template-columns:minmax(0,1fr) repeat(6,30px) 60px;padding:0 10px}.bank-row .cov.contests{display:none}.bank-row.head .cov{font-size:var(--text-xs);overflow:hidden}.bank-new input,.bank-search{min-width:0;flex:1 1}.bank-new{flex:1 1 100%}}.topic-editor{width:min(1120px,96vw);max-height:94vh;overflow:auto}.editor-flash{display:flex;align-items:center;gap:8px;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-100);border-radius:var(--radius-md);padding:9px 12px;font-size:var(--text-xs);font-weight:700;margin-bottom:12px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.editor-flash svg{width:15px}.topic-editor-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:22px;gap:22px;align-items:start}.topic-editor-grid h3{font-size:var(--text-base);margin:0 0 12px}.editor-text label{display:grid;grid-gap:6px;gap:6px;font-size:var(--text-xs);font-weight:700;margin-bottom:12px}.editor-text input,.editor-text textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:9px 11px;font:inherit;font-weight:500;font-size:var(--text-sm);resize:vertical}.editor-text input{height:42px}.editor-save{height:42px;border-radius:var(--radius-md);border:1px solid var(--blue-400);padding:0 16px;font-weight:700;width:100%}.editor-save:disabled{opacity:.55}.editor-materials{display:grid;grid-gap:12px;gap:12px}.materials-locked{border:1px dashed var(--gray-200);border-radius:var(--radius-md);padding:26px;text-align:center;color:var(--gray-500);font-size:var(--text-xs)}.material-section{border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:12px;background:var(--gray-25);display:grid;grid-gap:8px;gap:8px}.material-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.material-section-head strong{font-size:var(--text-sm)}.material-section-head small{color:var(--gray-400);font-size:var(--text-xs)}.material-row{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:7px 8px}.material-index{width:22px;height:22px;border-radius:50%;background:var(--gray-50);font-size:var(--text-xs);font-weight:700;color:var(--gray-500);display:grid;place-items:center;flex:0 0 auto}.material-fields{flex:1 1;min-width:0;display:grid;grid-gap:4px;gap:4px}.material-fields input{height:32px;border:1px solid transparent;border-radius:var(--radius-sm);padding:0 7px;font:inherit;font-size:var(--text-xs);font-weight:600;background:transparent;min-width:0}.material-fields input:focus,.material-fields input:hover{border-color:var(--gray-200);background:#fff;outline:0}.material-fields input.url{font-weight:500;color:var(--gray-500);font-size:var(--text-xs);height:28px}.material-fields small{padding:0 8px;color:var(--gray-400);font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-actions{display:flex;align-items:center;gap:1px;flex:0 0 auto}.material-actions button.danger{color:var(--red-600)}.material-actions button.save{width:auto;padding:0 9px;gap:4px;display:inline-flex;background:var(--blue-400);color:#fff}.material-actions button.save,.pdf-drop{font-size:var(--text-xs);font-weight:700}.pdf-drop{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed var(--blue-200);border-radius:var(--radius-md);padding:12px;color:var(--blue-600);cursor:pointer;background:var(--gray-25)}.pdf-drop:hover{background:var(--blue-50)}.pdf-drop.busy{cursor:progress;color:var(--gray-500)}.pdf-drop svg{width:16px}.pdf-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.link-add{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;grid-gap:6px;gap:6px}.link-add input{border:1px solid var(--gray-200);padding:0 9px;font:inherit;min-width:0}.link-add button,.link-add input{height:36px;border-radius:var(--radius-md);font-size:var(--text-xs)}.link-add button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--blue-400);background:var(--blue-400);color:#fff;font-weight:700;padding:0 11px}.link-add button:disabled{opacity:.45}.link-add svg{width:14px}.link-hint{color:var(--red-600);font-size:var(--text-xs)}.topic-editor footer{justify-content:space-between}.topic-editor footer .danger-link{display:inline-flex;align-items:center;gap:6px;color:var(--red-600);border-color:var(--red-100)}.topic-editor footer .danger-link svg{width:14px}@media(max-width:860px){.link-add,.topic-editor-grid{grid-template-columns:1fr}}.builder-modal{width:min(1080px,96vw);max-height:94vh;overflow:auto}.builder-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.builder-grid h3{font-size:var(--text-base);margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline}.builder-grid h3 small{font-size:var(--text-xs);color:var(--gray-400);font-weight:600}.builder-selected{display:grid;grid-gap:10px;gap:10px}.builder-empty{border:1px dashed var(--gray-200);border-radius:var(--radius-md);padding:22px;text-align:center;color:var(--gray-500);font-size:var(--text-xs)}.builder-item{border:1px solid var(--gray-100);border-radius:var(--radius-lg);background:var(--gray-25);padding:12px}.builder-item header{display:flex;align-items:center;gap:10px}.builder-item header strong{flex:1 1;min-width:0}.builder-item header div{display:flex}.builder-item header button.danger{color:var(--red-600)}.builder-number{font-size:var(--text-xs);font-weight:700;color:var(--blue-400)}.builder-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:10px 0}.builder-fields label{display:grid;grid-gap:4px;gap:4px;font-size:var(--text-xs);font-weight:700;margin:0}.builder-fields label small{font-weight:500;color:var(--gray-400)}.builder-fields input,.builder-fields select{height:34px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 9px;font:inherit;font-size:var(--text-xs);background:#fff;width:120px}.builder-fields .link{height:34px;font-size:var(--text-xs)}.builder-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:5px;gap:5px}.builder-topics label{display:flex;align-items:center;gap:8px;border:1px solid var(--gray-100);border-radius:var(--radius-md);background:#fff;padding:7px 9px;font-size:var(--text-xs);font-weight:500;margin:0;cursor:pointer;color:var(--gray-500)}.builder-topics label.on{border-color:var(--blue-200);color:var(--ink)}.builder-topic{display:flex;align-items:stretch;border:1px solid var(--gray-100);border-radius:var(--radius-md);background:#fff;color:var(--gray-500);min-width:0}.builder-topic.on{border-color:var(--blue-200);color:var(--ink)}.builder-topics .builder-topic label{flex:1 1;min-width:0;border:0;background:none;color:inherit}.builder-topic select{flex:none;width:auto;max-width:118px;margin:5px 6px 5px 0;padding:2px 4px;height:auto;font-size:var(--text-xs);border:1px solid var(--gray-100);border-radius:var(--radius-sm);background:var(--gray-25);color:var(--gray-500)}.builder-topic select.own{border-color:var(--blue-400);background:var(--blue-50);color:var(--blue-600);font-weight:700}.builder-topics input{width:15px;height:15px;margin:0;accent-color:var(--blue-400)}.builder-topics span{flex:1 1;min-width:0}.builder-topics i{display:grid;color:var(--green-600)}.builder-topics i svg{width:13px}.builder-warning{display:block;color:var(--red-600);font-size:var(--text-xs);margin-top:6px}.builder-bank{position:-webkit-sticky;position:sticky;top:0;display:grid;grid-gap:10px;gap:10px}.builder-bank .bank-search{min-width:0}.builder-available{display:grid;grid-gap:6px;gap:6px;max-height:55vh;overflow:auto}.builder-available button{justify-content:space-between;height:auto;padding:9px 11px;text-align:left;color:var(--ink)}.builder-available button:hover{border-color:var(--blue-200);background:var(--gray-25)}.builder-available strong{display:block;font-size:var(--text-xs)}.builder-available small{font-size:var(--text-xs);color:var(--gray-400);font-weight:500}.builder-available svg{width:16px;color:var(--blue-600);flex:0 0 auto}@media(max-width:860px){.builder-grid{grid-template-columns:1fr}.builder-bank{position:static}}.admin-modal .bank-search{display:flex;margin:0;font-weight:500}.admin-modal .bank-search input{height:auto;border:0;padding:0}.admin-modal .builder-fields label{margin:0}.admin-modal .builder-fields input{height:34px}.admin-modal .builder-topics label{display:flex;margin:0;font-weight:500}.admin-modal .builder-topics input{height:15px;padding:0}.admin-modal .editor-text label{margin-bottom:12px}.qbank-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:14px}.qbank-filters label{display:grid;grid-gap:6px;gap:6px;font-size:var(--text-xs);font-weight:700;color:var(--muted);letter-spacing:.02em}.qbank-filters select{height:44px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:0 12px;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.qbank-filters select:disabled{background:var(--gray-50);color:var(--gray-400)}.qbank-hero{--tone:var(--blue2);display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin-bottom:18px;box-shadow:var(--shadow)}.qbank-hero>div{flex:1 1;min-width:0;max-width:520px}.qbank-hero strong{display:block;font-size:var(--text-xl)}.qbank-hero span{display:block;color:var(--muted);font-size:var(--text-xs);margin:2px 0 6px}.qbank-groups{display:grid;grid-gap:16px;gap:16px}.qbank-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.qbank-group h3{margin:0;padding:14px 18px;font-size:var(--text-sm);background:var(--gray-25);border-bottom:1px solid var(--line)}.qbank-row{--tone:var(--green-500);display:grid;grid-template-columns:minmax(0,1fr) 78px auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--gray-50)}.qbank-row:last-child{border-bottom:0}.qbank-topic strong{display:block;font-size:var(--text-sm)}.qbank-topic small{color:var(--muted);font-size:var(--text-xs)}.qbank-topic .mini{max-width:260px}.acc{display:grid;justify-items:center;font-weight:700;font-size:var(--text-md);border-radius:var(--radius-md);padding:5px 0;line-height:1.1}.acc small{font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-transform:none;opacity:.8}.acc.good{background:var(--green-50);color:var(--green-600)}.acc.mid{background:var(--amber-50);color:var(--amber-600)}.acc.low{background:var(--red-50);color:var(--red-600)}.acc.none{background:var(--gray-50);color:var(--gray-400)}.qbank-row .btn{padding:9px 14px;font-size:var(--text-xs)}@media(max-width:760px){.qbank-filters{grid-template-columns:1fr}.qbank-hero{display:grid}.qbank-hero .btn{width:100%}.qbank-row{grid-template-columns:minmax(0,1fr) 64px;padding:12px 14px}.qbank-row .btn{grid-column:1/-1;width:100%}}.question-box{--tone:var(--green-500);display:grid;grid-gap:10px;gap:10px}.question-box-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.question-box-stats div{background:var(--gray-25);border-radius:var(--radius-md);padding:10px 12px}.question-box-stats strong{display:block;font-size:var(--text-xl)}.question-box-stats span{color:var(--muted);font-size:var(--text-xs)}.question-box .btn{width:100%}.solve-here{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:12px 0 4px;border:1px solid var(--blue-200);border-radius:var(--radius-lg);padding:12px 14px;color:var(--ink);cursor:pointer}.solve-here,.solve-here:hover{background:var(--blue-50)}.solve-here>svg{width:22px;height:22px;color:var(--blue);flex:0 0 auto}.solve-here strong{display:block;font-size:var(--text-sm)}.or-manual,.solve-here small{color:var(--muted);font-size:var(--text-xs)}.or-manual{margin:10px 0 4px}button.bar-row{width:100%;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}button.bar-row>span{display:flex;align-items:center;gap:4px}button.bar-row>span svg{width:14px;flex:0 0 auto;color:var(--muted);transition:.15s}button.bar-row>span svg.turn{transform:rotate(180deg)}.bar-group{display:grid;grid-gap:8px;gap:8px}.bar-group.open{background:var(--gray-25);border-radius:var(--radius-md);padding:8px;margin:-8px}.bar-topics{display:grid;grid-gap:8px;gap:8px;padding-left:18px}.bar-row.sub>div{height:18px}.bar-row.sub>span{color:var(--muted);font-size:var(--text-xs)}.bar-row.sub b{top:1px;font-size:var(--text-xs)}.bar-row.sub i{background:var(--blue-400)}.solver-shade{position:fixed;inset:0;background:rgba(10,22,34,.6);z-index:70;display:grid;place-items:center;padding:20px;animation:fade .18s ease}.solver{width:min(880px,100%);height:min(92vh,980px);background:var(--bg);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(10,22,34,.35);position:relative}.solver-head{display:flex;align-items:center;gap:14px;padding:18px 20px 14px;background:#fff;border-bottom:1px solid var(--line)}.solver-head>div:first-child{flex:1 1;min-width:0}.solver-head h2{margin:2px 0;font-size:var(--text-xl);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.solver-head small{color:var(--muted);font-size:var(--text-xs)}.solver-head .modal-x{position:static;flex:0 0 auto}.solver-score{display:grid;justify-items:end;line-height:1.1}.solver-score strong{font-size:var(--text-lg);color:var(--green-600)}.solver-score span{font-size:var(--text-xs);color:var(--muted)}.solver-finish{border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);padding:8px 12px;font-weight:700;font-size:var(--text-xs);color:var(--ink);cursor:pointer}.solver-progress{height:3px;background:var(--gray-100)}.solver-progress i{display:block;height:100%;background:var(--primary);transition:width .2s}.solver-body{flex:1 1;overflow:auto;padding:20px}.question-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;display:grid;grid-gap:14px;gap:14px}.question-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--text-xs);color:var(--muted)}.question-number{font-weight:700;color:var(--blue);letter-spacing:.02em}.question-meta em{font-style:normal;background:var(--blue-50);color:var(--blue-600);border-radius:var(--radius-lg);padding:3px 9px;font-weight:700}.question-flag{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md);padding:8px 11px}.question-flag svg{width:16px;flex:0 0 auto}.question-flag.ok{background:var(--green-50);color:var(--green-700)}.question-flag.bad{background:var(--red-50);color:var(--red-600)}.question-flag.voided{background:var(--gray-50);color:var(--gray-500)}.question-statement{font-size:var(--text-md);line-height:1.65;color:var(--ink)}.question-statement p{margin:0 0 10px}.question-statement p:last-child{margin:0}.question-options{display:grid;grid-gap:8px;gap:8px}.question-options.ce{grid-template-columns:1fr 1fr}.option{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-lg);padding:12px 14px;font:inherit;font-size:var(--text-base);line-height:1.5;color:var(--ink);cursor:pointer;transition:border-color .12s,background .12s}.question-options.ce .option{justify-content:center;font-weight:700}.option b{flex:0 0 auto;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--gray-50);font-size:var(--text-xs);color:var(--gray-600)}.option span{flex:1 1}.option:hover:not(:disabled){border-color:var(--blue-200);background:var(--gray-25)}.option.selected{border-color:var(--blue2);background:var(--blue-50);box-shadow:0 0 0 3px rgba(40,120,200,.12)}.option.selected b{background:var(--blue2);color:#fff}.option:disabled{cursor:default}.option.right{border-color:var(--green-500);background:var(--green-50)}.option.right b{background:var(--green-500);color:#fff}.option.wrong{border-color:var(--red-300);background:var(--red-50)}.option.wrong b{background:var(--red-500);color:#fff}.option.dim{opacity:.55}.option .mark{width:18px;flex:0 0 auto;margin-top:3px}.option.right .mark{color:var(--green-600)}.option.wrong .mark{color:var(--red-600)}.answer-feedback{border-radius:var(--radius-lg);padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.answer-feedback.ok{background:var(--green-50);border:1px solid var(--green-100)}.answer-feedback.bad{background:var(--red-50);border:1px solid var(--red-100)}.answer-feedback>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.answer-feedback>div svg{width:20px}.answer-feedback.ok strong,.answer-feedback.ok>div svg{color:var(--green-700)}.answer-feedback.bad strong,.answer-feedback.bad>div svg{color:var(--red-600)}.answer-feedback>div span{font-size:var(--text-xs);color:var(--muted)}.answer-feedback section{background:#fff;border-radius:var(--radius-md);padding:12px 14px}.answer-feedback h4{margin:0 0 6px;font-size:var(--text-xs);letter-spacing:.04em;text-transform:none;color:var(--muted)}.answer-feedback section p{margin:0 0 8px;font-size:var(--text-base);line-height:1.6}.answer-feedback section p:last-child{margin:0}.answer-feedback>small{color:var(--muted);font-size:var(--text-xs)}.solver-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 20px;background:#fff;border-top:1px solid var(--line)}.solver-foot>div{display:flex;gap:8px}.solver-foot .btn{padding:10px 14px}.solver-foot .btn svg{width:16px}.link-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font-weight:700;font-size:var(--text-xs);cursor:pointer;padding:6px 0}.link-btn:hover{color:var(--red-600)}.link-btn svg{width:14px}.kbd-hint{width:100%;text-align:right;color:var(--gray-400);font-size:var(--text-xs)}.solver-report{position:absolute;inset:0;background:rgba(10,22,34,.45);display:grid;place-items:center;padding:20px;z-index:2}.solver-report>div{background:#fff;border-radius:var(--radius-lg);padding:20px;width:min(460px,100%);display:grid;grid-gap:10px;gap:10px}.solver-report h3{margin:0;font-size:var(--text-md)}.solver-report p{margin:0;color:var(--muted);font-size:var(--text-xs)}.solver-report textarea{border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px;font:inherit;font-size:var(--text-sm);resize:vertical}.solver-report footer{display:flex;justify-content:flex-end;gap:8px}.session-summary{display:grid;justify-items:center;grid-gap:16px;gap:16px;padding:18px 0;text-align:center}.summary-ring{--value:0deg;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green-500) var(--value),var(--gray-100) 0)}.summary-ring>div{width:110px;height:110px;border-radius:50%;background:var(--bg);display:grid;place-content:center}.summary-ring strong{font-size:var(--text-3xl)}.summary-ring small{font-size:var(--text-xs);color:var(--muted)}.summary-numbers{display:grid;grid-template-columns:repeat(3,110px);grid-gap:10px;gap:10px}.summary-numbers div{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px}.summary-numbers strong{display:block;font-size:var(--text-2xl)}.summary-numbers span{font-size:var(--text-xs);color:var(--muted)}.summary-numbers .ok strong{color:var(--green-600)}.summary-numbers .bad strong{color:var(--red-600)}.summary-note{color:var(--muted);font-size:var(--text-xs);margin:0}.summary-wrong{width:min(560px,100%)}.summary-wrong h4{margin:0 0 8px;font-size:var(--text-xs)}.summary-wrong>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.summary-wrong button{border:1px solid var(--red-100);background:var(--red-50);color:var(--red-600);border-radius:var(--radius-lg);padding:5px 11px;font-size:var(--text-xs);font-weight:700;cursor:pointer}.summary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}@media(max-width:680px){.solver-shade{padding:0}.solver{width:100%;height:100%;border-radius:0}.solver-head{padding:14px 14px 12px;gap:10px}.solver-head h2{font-size:var(--text-md)}.solver-finish{padding:7px 9px}.solver-body{padding:12px}.question-card{padding:16px 14px}.question-statement{font-size:var(--text-base)}.option{font-size:var(--text-sm);padding:11px 12px}.solver-foot{padding:10px 12px}.solver-foot>div{width:100%}.solver-foot>div .btn{flex:1 1}.solver-foot .link-btn{order:2}.kbd-hint{display:none}.summary-numbers{grid-template-columns:repeat(3,1fr);width:100%}.summary-actions .btn{width:100%}}.bank-import{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--blue-400);background:#fff;border-radius:var(--radius-md);padding:0 12px;height:40px;font-weight:700;font-size:var(--text-xs);color:var(--blue-600)}.bank-import svg{width:15px}.bank-row{grid-template-columns:minmax(200px,1fr) repeat(8,64px) 70px}@media(max-width:900px){.bank-row{grid-template-columns:minmax(0,1fr) repeat(7,30px) 60px}}.question-import{width:min(760px,96vw);max-height:94vh;overflow:auto}.question-import code{background:var(--gray-50);border-radius:var(--radius-sm);padding:1px 5px;font-size:var(--text-xs)}.import-preview{border:1px solid var(--green-100);background:var(--gray-25);border-radius:var(--radius-lg);padding:14px;display:grid;grid-gap:10px;gap:10px;margin-top:12px}.import-preview.has-errors{border-color:var(--red-100);background:var(--gray-25)}.import-counts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.import-counts div{background:#fff;border-radius:var(--radius-md);padding:9px 10px;text-align:center}.import-counts strong{display:block;font-size:var(--text-xl)}.import-counts span{font-size:var(--text-xs);color:var(--gray-500);font-weight:700}.import-counts .warn strong{color:var(--amber-600)}.import-counts .bad strong{color:var(--red-600)}.import-note{display:flex;align-items:center;gap:7px;margin:0;font-size:var(--text-xs);color:var(--amber-700)}.import-note.bad{color:var(--red-600)}.import-note svg{width:15px;flex:0 0 auto}.import-errors{margin:0;padding:0;list-style:none;max-height:220px;overflow:auto;display:grid;grid-gap:4px;gap:4px}.import-errors li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:#fff;border-radius:var(--radius-sm);padding:6px 9px;font-size:var(--text-xs)}.import-errors b{color:var(--red-600)}.batch-list{border-top:1px solid var(--gray-100);margin-top:16px;padding-top:12px;display:grid;grid-gap:6px;gap:6px}.batch-list h3{margin:0 0 4px;font-size:var(--text-sm)}.batch-list>small{color:var(--gray-400);font-size:var(--text-xs)}.batch-row{display:flex;align-items:center;gap:10px;border:1px solid var(--gray-100);border-radius:var(--radius-md);padding:8px 10px}.batch-row>div{flex:1 1;min-width:0}.batch-row strong{display:block;font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-row small{color:var(--gray-400);font-size:var(--text-xs)}.batch-row.undone{opacity:.55}.batch-row button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--red-100);background:#fff;color:var(--red-600);border-radius:var(--radius-sm);height:32px;padding:0 10px;font-weight:700;font-size:var(--text-xs)}.batch-row button svg{width:13px}.question-summary .muted{color:var(--gray-400);font-size:var(--text-xs)}.qs-chips{display:flex;flex-wrap:wrap;gap:6px}.qs-chips span{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:3px 9px;font-size:var(--text-xs);font-weight:700;color:var(--gray-500)}.qs-chips svg{width:12px}.qs-chips .warn{color:var(--amber-600);border-color:var(--amber-100)}.qs-chips .bad{color:var(--red-600);border-color:var(--red-100)}.qs-bars{display:grid;grid-gap:5px;gap:5px}.qs-bars div{display:grid;grid-template-columns:minmax(0,150px) 1fr 70px;grid-gap:8px;gap:8px;align-items:center;font-size:var(--text-xs)}.qs-bars span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qs-bars i{height:8px;background:var(--gray-100);overflow:hidden}.qs-bars i,.qs-bars i b{border-radius:var(--radius-sm);display:block}.qs-bars i b{height:100%;background:var(--blue-400)}.qs-bars em{font-style:normal;color:var(--gray-500);text-align:right}.reports-card .admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.segmented{display:inline-flex;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.segmented button{border:0;background:#fff;padding:8px 14px;font-weight:700;font-size:var(--text-xs);color:var(--gray-500)}.segmented button.active{background:var(--blue-400);color:#fff}.report-list{padding:0 16px 16px}.report-item,.report-list{display:grid;grid-gap:10px;gap:10px}.report-item{border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:14px;background:var(--gray-25)}.report-item header{display:flex;justify-content:space-between;gap:12px}.report-item header strong{display:block;font-size:var(--text-sm)}.report-item header small{color:var(--gray-400);font-size:var(--text-xs)}.report-item header>small{text-align:right;flex:0 0 auto}.report-item blockquote{margin:0;background:#fff;border-left:3px solid var(--amber-400);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--text-sm)}.report-item details summary{cursor:pointer;font-size:var(--text-xs);font-weight:700;color:var(--blue-600)}.report-statement{white-space:pre-line;font-size:var(--text-sm);line-height:1.55}.report-options{margin:0;padding-left:0;list-style:none;display:grid;grid-gap:3px;gap:3px;font-size:var(--text-xs)}.report-options li.right{color:var(--green-600);font-weight:700}.report-comment{font-size:var(--text-xs);color:var(--gray-500)}.report-item footer{display:flex;flex-wrap:wrap;gap:6px}.report-item footer button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);height:34px;padding:0 11px;font-weight:700;font-size:var(--text-xs);color:var(--blue-600)}.report-item footer button.danger{color:var(--red-600);border-color:var(--red-100)}.report-item footer svg{width:14px}.questions-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.count-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:var(--radius-md);background:var(--red-500);color:#fff;font-size:var(--text-xs);margin-left:6px;padding:0 5px}.segmented button.active .count-badge{background:#fff;color:var(--red-600)}.primary-action{display:inline-flex;align-items:center;gap:7px;height:40px;border:0;border-radius:var(--radius-md);background:var(--blue-400);color:#fff;font-weight:700;font-size:var(--text-xs);padding:0 14px}.primary-action svg{width:15px}.cov-link{border:0;background:none;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.cov-link:hover{color:var(--blue-600)}.question-admin{padding:0;overflow:clip}.qa-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.4fr);grid-gap:10px;gap:10px;padding:16px;border-bottom:1px solid var(--gray-100)}.qa-filters label{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--gray-500);margin:0}.qa-filters select,.qa-search>div{height:38px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;font:inherit;font-size:var(--text-xs);padding:0 9px;color:var(--ink);min-width:0}.qa-filters select:disabled{background:var(--gray-50);color:var(--gray-400)}.qa-search>div{display:flex;align-items:center;gap:6px}.qa-search svg{width:14px;color:var(--gray-400)}.qa-search input{border:0;outline:0;flex:1 1;min-width:0;font:inherit;font-size:var(--text-xs);background:none}.qa-counts{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-bottom:1px solid var(--gray-50);background:var(--gray-25)}.qa-counts button{display:inline-flex;align-items:baseline;gap:5px;border:1px solid var(--gray-100);background:#fff;border-radius:var(--radius-lg);padding:5px 11px;font-size:var(--text-xs);color:var(--gray-500);font-weight:600}.qa-counts strong{font-size:var(--text-sm);color:var(--ink)}.qa-counts button.warn strong{color:var(--amber-600)}.qa-counts button.on{border-color:var(--blue-400);background:var(--blue-50);color:var(--blue-600)}.qa-list{display:grid}.qa-list.loading{opacity:.55}.qa-row{display:flex;align-items:flex-start;gap:6px;width:100%;border-bottom:1px solid var(--gray-50);background:#fff;padding:0 16px 0 6px}.qa-row:hover{background:var(--gray-25)}.qa-row.selected{background:var(--blue-50)}.qa-row.selected:hover{background:color-mix(in srgb,var(--blue-50) 60%,var(--blue-100))}.qa-row.deleted .qa-open{opacity:.6}.qa-open{display:flex;align-items:flex-start;gap:14px;flex:1 1;min-width:0;text-align:left;border:0;background:none;padding:12px 0;font:inherit;color:inherit;cursor:pointer}.qa-check{display:grid;place-items:center;flex:none;width:40px;min-height:44px;cursor:pointer}.qa-check input{width:17px;height:17px;margin:0;accent-color:var(--blue-500);cursor:pointer}.qa-row .qa-check{align-self:stretch;place-items:start center;padding-top:13px}.bulk-bar{position:-webkit-sticky;position:sticky;top:0;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-height:50px;padding:3px 16px 3px 6px;background:#fff;border-bottom:1px solid var(--gray-100);font-size:var(--text-xs);color:var(--gray-500)}.bulk-bar.on{background:var(--blue-50);border-bottom-color:var(--blue-100);color:var(--navy-700)}.bulk-info{display:flex;align-items:center;flex-wrap:wrap;gap:2px 12px;min-width:0}.bulk-info strong{font-size:var(--text-sm);color:var(--navy-800)}.bulk-link{border:0;background:none;padding:4px 0;font:inherit;font-weight:700;color:var(--blue-600);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.bulk-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.bulk-actions button{display:inline-flex;align-items:center;gap:6px;height:34px;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);padding:0 12px;font:inherit;font-weight:700;color:var(--blue-600);cursor:pointer}.bulk-actions button svg{width:14px}.bulk-actions button:hover:not(:disabled){background:var(--gray-25)}.bulk-actions button.danger{color:var(--red-600);border-color:var(--red-100)}.bulk-actions button.danger:hover:not(:disabled){background:var(--red-50)}.bulk-actions button.icon{width:34px;padding:0;justify-content:center;color:var(--gray-500)}.bulk-actions button:disabled,.bulk-link:disabled{opacity:.5;cursor:default}.qa-main{flex:1 1;min-width:0}.qa-meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--gray-500);margin-bottom:4px}.qa-meta,.qa-meta code{font-size:var(--text-xs)}.qa-meta code{background:var(--gray-50);border-radius:var(--radius-sm);padding:1px 5px;color:var(--navy-600)}.qa-main p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.qa-tags{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.qa-tags span{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-lg);padding:2px 8px;font-size:var(--text-xs);font-weight:700;background:var(--gray-50);color:var(--gray-500);white-space:nowrap}.qa-tags svg{width:11px}.qa-tags .ok{background:var(--green-50);color:var(--green-600)}.qa-tags .warn{background:var(--amber-50);color:var(--amber-600)}.qa-tags .bad{background:var(--red-50);color:var(--red-600)}.qa-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;font-size:var(--text-xs);color:var(--gray-500)}.qa-pager>div{display:flex;gap:6px}.qa-pager button{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);height:34px;padding:0 11px;font-weight:700;font-size:var(--text-xs);color:var(--blue-600)}.qa-pager button:disabled{opacity:.4}.qa-pager svg{width:14px}@media(max-width:1100px){.qa-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.qa-search{grid-column:1/-1}}@media(max-width:640px){.qa-filters{grid-template-columns:1fr}.qa-open{flex-direction:column;gap:8px}.bulk-actions{margin-left:0;width:100%;justify-content:flex-end;padding-bottom:6px}.qa-tags{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}.question-editor{position:fixed;top:0;right:0;bottom:0;width:min(760px,100vw);background:#fff;display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(10,22,34,.25);animation:slide-in .2s ease;z-index:81}.question-editor>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--gray-100)}.question-editor>header span{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:var(--blue-400)}.question-editor>header h2{margin:2px 0;font-size:var(--text-lg)}.question-editor>header small{color:var(--gray-500);font-size:var(--text-xs)}.question-editor>header .modal-close{position:static}.qe-body{flex:1 1;overflow:auto;padding:16px 20px;display:grid;grid-gap:14px;gap:14px;align-content:start}.qe-body label{display:grid;grid-gap:5px;gap:5px;margin:0}.qe-body label>span,.qe-kind>span,.qe-options>small{font-size:var(--text-xs);font-weight:700;color:var(--gray-500);letter-spacing:.02em}.qe-body input:not([type=radio]):not([type=checkbox]),.qe-body select,.qe-body textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:8px 10px;font:inherit;font-size:var(--text-sm);background:#fff;color:var(--ink);min-width:0}.qe-body input:not([type=radio]):not([type=checkbox]),.qe-body select{height:38px;padding:0 10px}.qe-body textarea{resize:vertical;line-height:1.5}.qe-comment{background:var(--gray-25);border:1px solid var(--blue-100);border-radius:var(--radius-lg);padding:12px}.qe-comment span{color:var(--blue-600)!important}.qe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.qe-kind{gap:12px}.qe-ce,.qe-kind{display:flex;align-items:center}.qe-ce{gap:8px;flex-wrap:wrap}.qe-ce label{display:inline-flex!important;align-items:center;gap:6px;border:1.5px solid var(--gray-200);border-radius:var(--radius-md);padding:8px 14px;font-weight:700;font-size:var(--text-sm);cursor:pointer}.qe-ce label.on{border-color:var(--green-500);background:var(--green-50);color:var(--green-700)}.qe-ce small{color:var(--gray-500);font-size:var(--text-xs)}.qe-options{display:grid;grid-gap:6px;gap:6px}.qe-option{display:flex;align-items:flex-start;gap:8px;border:1.5px solid var(--gray-100);border-radius:var(--radius-md);padding:6px 8px}.qe-option.on{border-color:var(--green-500);background:var(--gray-25)}.qe-option>label{display:flex!important;align-items:center;gap:6px;padding-top:6px;cursor:pointer}.qe-option b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gray-50);font-size:var(--text-xs)}.qe-option.on b{background:var(--green-500);color:#fff}.qe-option textarea{flex:1 1}.qe-option>button{border:0;background:none;color:var(--gray-400);width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);margin-top:4px}.qe-option>button:hover:not(:disabled){background:var(--red-50);color:var(--red-600)}.qe-option>button:disabled{opacity:.3}.qe-option>button svg{width:14px}.qe-add{justify-self:start;display:inline-flex;align-items:center;gap:5px;border:1px dashed var(--blue-200);background:var(--gray-25);border-radius:var(--radius-md);height:32px;padding:0 10px;font-weight:700;font-size:var(--text-xs);color:var(--blue-600)}.qe-add svg{width:13px}.qe-check{display:flex!important}.qe-alert,.qe-check{align-items:center;gap:8px;font-size:var(--text-xs);font-weight:600}.qe-alert{display:flex;border-radius:var(--radius-md);padding:9px 12px}.qe-alert svg{width:15px;flex:0 0 auto}.qe-alert.warn{background:var(--amber-50);color:var(--amber-700);border:1px solid var(--amber-100)}.qe-alert.bad{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-100)}.qe-alert button{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border:1px solid;background:#fff;border-radius:var(--radius-sm);height:30px;padding:0 10px;font-weight:700;font-size:var(--text-xs);color:inherit}.question-editor>footer{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--gray-100);flex-wrap:wrap}.question-editor>footer>span{flex:1 1}.question-editor>footer button{height:38px;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:#fff;padding:0 13px;font-weight:700;font-size:var(--text-xs);color:var(--ink)}.question-editor>footer button.primary{background:var(--blue-400);border-color:var(--blue-400);color:#fff}.question-editor>footer button:disabled{opacity:.45}.question-editor>footer .danger-link{display:inline-flex;align-items:center;gap:6px;color:var(--red-600);border-color:var(--red-100)}.question-editor>footer .danger-link svg{width:14px}@media(max-width:640px){.qe-grid{grid-template-columns:1fr}.question-editor>footer button{flex:1 1}.question-editor>footer>span{display:none}}.solver-body{overflow-x:hidden}.question-card,.question-card>*{min-width:0}.answer-feedback section p,.answer-feedback>div span,.option span,.question-statement{overflow-wrap:anywhere;word-break:break-word}.solver-nav{flex-wrap:wrap;justify-content:space-between;gap:8px 12px;padding:9px 20px;background:#fff;border-bottom:1px solid var(--line)}.solver-nav,.solver-nav form{display:flex;align-items:center}.solver-nav form{gap:6px;font-size:var(--text-base);color:var(--muted);font-weight:600}.solver-nav input{width:64px;height:46px;border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;font:inherit;font-weight:700;color:var(--ink)}.solver-nav input::placeholder{color:var(--ink)}.solver-nav input:focus{outline:2px solid rgba(40,120,200,.3);border-color:var(--blue2)}.solver-nav form button{height:46px;border:0;border-radius:var(--radius-md);background:var(--blue2);color:#fff;font-weight:600;font-size:var(--text-base);padding:0 14px;cursor:pointer}.solver-nav>div{display:flex;flex-wrap:wrap;gap:8px}.solver-nav>div button{display:inline-flex;align-items:center;gap:8px;height:46px;border:1px solid var(--line-strong);background:#fff;border-radius:var(--radius-md);padding:0 14px;font-weight:600;font-size:var(--text-base);color:var(--ink);cursor:pointer}.solver-nav>div button:hover:not(:disabled){border-color:var(--blue-200);background:var(--gray-25)}.solver-nav>div button.on{border-color:var(--blue2);background:var(--blue-50);color:var(--blue-600)}.solver-nav>div button:disabled{opacity:.4;cursor:default}.solver-nav svg{width:16px;height:16px}.solver-map{background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 14px;max-height:240px;overflow:auto}.map-legend{display:flex;gap:14px;font-size:var(--text-xs);color:var(--muted);margin-bottom:8px}.map-legend span{display:inline-flex;align-items:center;gap:5px}.map-legend i{width:10px;height:10px;border-radius:var(--radius-sm);display:inline-block}.map-grid button.ok,.map-legend i.ok{background:var(--green-50);color:var(--green-700)}.map-grid button.bad,.map-legend i.bad{background:var(--red-50);color:var(--red-600)}.map-grid button.none,.map-legend i.none{background:var(--gray-50);color:var(--gray-500)}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));grid-gap:4px;gap:4px}.map-grid button{height:30px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;cursor:pointer}.map-grid button.current{border-color:var(--blue2);box-shadow:0 0 0 2px rgba(40,120,200,.25)}.stats-toggle{justify-self:start;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);padding:8px 12px;font-weight:700;font-size:var(--text-xs);color:var(--blue-600);cursor:pointer}.stats-toggle.on{background:var(--blue-50);border-color:var(--blue-200)}.stats-toggle svg{width:15px}.qstats{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:var(--gray-25)}.qstats,.qstats>section{display:grid;justify-items:center}.qstats>section{grid-gap:10px;gap:10px;width:100%;align-content:start}.qstats h4{margin:0;font-size:var(--text-sm)}.qstats-error{grid-column:1/-1;color:var(--muted)}.donut{width:118px;height:118px;border-radius:50%;display:grid;place-items:center}.donut span{width:64px;height:64px;border-radius:50%;background:var(--gray-25)}.qstats-legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:4px;gap:4px;font-size:var(--text-xs)}.qstats-legend li{display:flex;align-items:center;gap:6px}.qstats-legend i{width:11px;height:11px;border-radius:var(--radius-sm);display:inline-block}.qstats-legend i.ok{background:var(--green-500)}.qstats-legend i.bad{background:var(--red-500)}.qstats-bars{display:flex;align-items:flex-end;gap:8px;height:150px;width:100%;max-width:240px;padding-top:18px}.qstats-bars>div{flex:1 1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.qstats-bars i{display:block;width:100%;max-width:34px;min-height:2px;background:var(--red-500);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.qstats-bars>div.right i{background:var(--green-500)}.qstats-bars span{color:var(--ink)}.qstats-bars b,.qstats-bars span{font-size:var(--text-xs);font-weight:700}.qstats-bars b,.qstats-history{color:var(--muted)}.qstats-history{list-style:none;margin:0;padding:0;font-size:var(--text-xs);display:grid;grid-gap:2px;gap:2px;max-height:90px;overflow:auto}.qstats-history b.ok{color:var(--green-600)}.qstats-history b.bad{color:var(--red-600)}@media(max-width:680px){.solver-nav{padding:8px 12px}.solver-nav>div button span{display:none}.solver-nav>div button{padding:0 9px}.solver-map{padding:10px 12px}.qstats{grid-template-columns:1fr}}.qa-rate{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-lg);padding:2px 8px;font-size:var(--text-xs);font-weight:700}.qa-rate.good{background:var(--green-50);color:var(--green-600)}.qa-rate.mid{background:var(--amber-50);color:var(--amber-600)}.qa-rate.low{background:var(--red-50);color:var(--red-600)}.qa-rate.none{background:var(--gray-50);color:var(--gray-400)}.qa-filters.with-contest{grid-template-columns:repeat(3,minmax(0,1fr)) repeat(3,minmax(0,1fr))}.qa-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;border-bottom:1px solid var(--gray-50);font-size:var(--text-xs);color:var(--gray-500)}.qa-summary label{display:inline-flex;align-items:center;gap:6px;font-weight:700}.qa-summary select{height:32px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 8px;font:inherit;font-size:var(--text-xs)}.qe-stats{border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:12px;display:grid;grid-gap:10px;gap:10px;background:var(--gray-25)}.qe-stats header{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.qe-stats header strong{font-size:var(--text-sm)}.qe-stats header small{color:var(--gray-500);font-size:var(--text-xs)}.qe-stats-body{display:grid;grid-template-columns:auto 1fr;grid-gap:18px;gap:18px;align-items:center}.qe-stats-body .donut{width:96px;height:96px}.qe-stats-body .donut span{width:52px;height:52px}.qe-stats-body .qstats-bars{max-width:none;height:110px}@media(max-width:1100px){.qa-filters.with-contest{grid-template-columns:repeat(2,minmax(0,1fr))}}.fc-today{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px}.fc-today span{display:inline-flex;align-items:baseline;gap:5px;font-size:var(--text-xs);color:var(--muted);font-weight:600}.fc-today b{font-size:var(--text-2xl);font-weight:700}.fc-counts .new,.fc-deck-row .new,.fc-today .new b{color:var(--blue-500)}.fc-counts .learning,.fc-deck-row .learning,.fc-today .learning b{color:var(--red-500)}.fc-counts .review,.fc-deck-row .review,.fc-today .review b{color:var(--green-600)}.fc-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;margin-bottom:16px;box-shadow:var(--shadow)}.fc-decks,.fc-hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}.fc-decks{overflow:hidden}.fc-deck-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 92px 92px 150px;align-items:center;grid-gap:8px;gap:8px;padding:11px 18px;border-bottom:1px solid var(--gray-50);font-size:var(--text-sm)}.fc-deck-row>span:not(.fc-name):not(.fc-actions){text-align:center;font-weight:700;font-size:var(--text-md)}.fc-deck-row.head{background:var(--gray-25);padding:9px 18px;font-size:var(--text-xs);font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:none}.fc-deck-row.head>span{font-size:var(--text-xs)!important}.fc-deck-row.discipline{background:var(--gray-25)}.fc-deck-row.discipline strong{font-size:var(--text-sm)}.fc-group:last-child .fc-deck-row:last-child{border-bottom:0}.fc-name{display:grid;grid-gap:2px;gap:2px;padding-left:12px;min-width:0}.fc-name b{font-size:var(--text-sm)}.fc-name small{color:var(--muted);font-size:var(--text-xs)}.fc-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px}.fc-actions .btn{padding:8px 14px;font-size:var(--text-xs)}.fc-free{width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--muted);cursor:pointer}.fc-free:hover:not(:disabled){color:var(--blue-600);border-color:var(--blue-200)}.fc-free svg{width:15px}.fc-settings{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 18px}.fc-settings label{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--muted)}.fc-settings input{width:90px;height:38px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 10px;font:inherit;font-weight:700;font-size:var(--text-base)}.fc-settings small{flex:1 1 100%;color:var(--muted);font-size:var(--text-xs)}.fc-settings small svg{width:13px;height:13px;vertical-align:-2px;margin:0 1px}.fc-box{display:grid;grid-gap:12px;gap:12px}.fc-box-actions{display:flex;flex-wrap:wrap;gap:8px}.fc-box-actions .btn{flex:1 1}@media(max-width:760px){.fc-hero{display:grid}.fc-hero .btn{width:100%}.fc-deck-row{grid-template-columns:minmax(0,1fr) 40px 40px 40px;padding:10px 12px}.fc-deck-row .fc-actions{grid-column:1/-1;justify-content:stretch}.fc-deck-row .fc-actions .btn{flex:1 1}.fc-deck-row.head>span:last-child{display:none}.fc-deck-row.head>span{font-size:var(--text-xs)!important}.fc-name{padding-left:0}}.fc-counts{display:flex;gap:10px;font-weight:700;font-size:var(--text-md)}.fc-counts span{padding:1px 4px;border-bottom:2px solid transparent;min-width:18px;text-align:center}.fc-counts span.on{border-bottom-color:currentColor}.fc-counts .free{color:var(--muted)}.fc-study .solver-finish{display:inline-flex;align-items:center;gap:5px}.fc-study .solver-finish svg{width:14px}.fc-study .solver-finish:disabled{opacity:.4}.fc-body{display:grid;align-content:start}.fc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px 30px;text-align:center;display:grid;grid-gap:14px;gap:14px;margin:10px auto;box-shadow:0 10px 30px rgba(15,31,46,.06)}.fc-card,.fc-report{max-width:720px;width:100%}.fc-report{display:flex;justify-content:flex-end;margin:-4px auto 0}.fc-topic{font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:var(--blue);text-transform:none}.fc-back,.fc-front{font-size:var(--text-xl);line-height:1.6;color:var(--ink);overflow-wrap:anywhere}.fc-back p,.fc-front p{margin:0 0 10px}.fc-back p:last-child,.fc-front p:last-child{margin:0}.fc-front{font-weight:600}.fc-back{font-size:var(--text-lg)}.fc-card hr{border:0;border-top:1px dashed var(--gray-200);margin:4px 0;width:100%}.fc-foot,.fc-reveal{justify-content:center}.fc-reveal{min-width:260px}.fc-grade kbd,.fc-reveal kbd{font:inherit;font-size:var(--text-xs);font-weight:700;opacity:.7;border:1px solid;border-radius:var(--radius-sm);padding:0 4px;margin-left:4px}.fc-grades{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;width:min(620px,100%)}.fc-grades.free{grid-template-columns:repeat(2,minmax(0,1fr));width:min(420px,100%)}.fc-grade{display:grid;justify-items:center;grid-gap:1px;gap:1px;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-lg);padding:8px 6px;cursor:pointer;font:inherit}.fc-grade small{font-size:var(--text-xs);color:var(--muted);font-weight:700}.fc-grade strong{font-size:var(--text-base)}.fc-grade kbd{margin:2px 0 0}.fc-grade.again{border-color:var(--red-100)}.fc-grade.again strong{color:var(--red-600)}.fc-grade.hard{border-color:var(--amber-100)}.fc-grade.hard strong{color:var(--amber-600)}.fc-grade.good{border-color:var(--green-100)}.fc-grade.good strong{color:var(--green-600)}.fc-grade.easy{border-color:var(--blue-200)}.fc-grade.easy strong{color:var(--blue-500)}.fc-grade:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,31,46,.08)}.fc-grade:disabled{opacity:.5}.fc-done svg,.fc-wait svg{width:34px;height:34px;color:var(--blue)}.fc-done span,.fc-wait span{max-width:420px}@media(max-width:680px){.fc-card{padding:24px 16px;margin:4px 0}.fc-back,.fc-front{font-size:var(--text-lg)}.fc-reveal{width:100%;min-width:0}.fc-grade kbd,.fc-reveal kbd{display:none}.fc-counts{font-size:var(--text-base);gap:6px}.fc-study .solver-finish{padding:7px 8px;font-size:0}.fc-study .solver-finish svg{width:16px}}.solver-foot>.fc-grades{display:grid}.solver-foot.fc-foot{justify-content:center}.bank-row{grid-template-columns:minmax(200px,1fr) 56px 60px 56px 66px 84px 48px 72px 80px 60px 70px}@media(max-width:900px){.bank-row{grid-template-columns:minmax(0,1fr) repeat(8,28px) 60px}}.fc-admin-hint{margin:0;color:var(--gray-500);font-size:var(--text-xs)}.fc-admin-face{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.fc-admin-face p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fc-admin-face b{display:block;font-size:var(--text-xs);color:var(--gray-500);letter-spacing:.02em;text-transform:none}.fc-admin-preview{display:grid;grid-gap:6px;gap:6px}.fc-admin-preview small{font-size:var(--text-xs);font-weight:700;color:var(--gray-500)}.fc-admin-preview .fc-card{margin:0;max-width:none;padding:22px 18px}.fc-admin-preview .fc-back,.fc-admin-preview .fc-front{font-size:var(--text-md)}@media(max-width:640px){.fc-admin-face{grid-template-columns:1fr}}.fc-cloze{white-space:pre-line;font-weight:500;text-align:justify;text-align-last:center}.cloze-answer,.cloze-blank{color:var(--blue-600);font-weight:700}.cloze-answer{background:var(--violet-50);border-radius:var(--radius-sm);padding:0 3px}.fc-extra{font-size:var(--text-md);color:var(--muted)}.fc-kind{display:inline-flex;align-items:center;border-radius:var(--radius-lg);padding:2px 8px;font-size:var(--text-xs);font-weight:700;background:var(--violet-50);color:var(--blue-600)}.cloze-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cloze-tools button{display:inline-flex;align-items:center;gap:5px;height:32px;border:1px solid var(--blue-200);background:var(--blue-50);color:var(--blue-600);border-radius:var(--radius-md);padding:0 10px;font-weight:700;font-size:var(--text-xs)}.cloze-tools button:disabled{opacity:.45}.cloze-tools input{height:32px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 9px;font:inherit;font-size:var(--text-xs);min-width:180px;flex:1 1}.cloze-tools small{flex:1 1 100%;color:var(--gray-500);font-size:var(--text-xs)}.cloze-previews{display:grid;grid-gap:8px;gap:8px}.cloze-previews .fc-card{margin:0;max-width:none;padding:16px 14px;gap:8px;text-align:left}.cloze-previews .fc-front{font-size:var(--text-base);text-align:left;text-align-last:auto}.cloze-previews .fc-kind{justify-self:start}.fc-mine{margin-bottom:16px}.fc-mine-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--gray-50);background:var(--gray-25)}.fc-mine-head strong{display:block;font-size:var(--text-base)}.fc-mine-head small{color:var(--muted);font-size:var(--text-xs)}.fc-mine-head .btn{padding:9px 14px;font-size:var(--text-xs)}.fc-free svg,.fc-mine-head .btn svg{width:15px}.fc-mine-empty{margin:0;padding:14px 18px;color:var(--muted);font-size:var(--text-xs)}.fc-mine .fc-name{padding-left:0}.fc-mine .fc-actions{gap:4px}.deck-builder{width:min(680px,100%);max-height:92vh;display:flex;flex-direction:column;text-align:left}.deck-builder h2{margin:4px 0}.deck-builder>p{margin:0 0 12px}.db-name,.deck-builder>p{color:var(--muted);font-size:var(--text-xs)}.db-name{display:grid;grid-gap:5px;gap:5px;font-weight:700;margin-bottom:10px}.db-name input{height:42px;padding:0 12px;font:inherit;font-size:var(--text-base);font-weight:600;color:var(--ink)}.db-name input,.db-search{border:1px solid var(--line);border-radius:var(--radius-md)}.db-search{display:flex;align-items:center;gap:7px;padding:0 10px;height:38px;margin-bottom:10px}.db-search svg{width:15px;color:var(--muted)}.db-search input{border:0;outline:0;flex:1 1;font:inherit;font-size:var(--text-sm);background:none}.db-groups{flex:1 1;overflow:auto;display:grid;grid-gap:10px;gap:10px;min-height:120px;padding-right:4px}.db-groups section{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.db-groups header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;background:var(--gray-25);border-bottom:1px solid var(--gray-50)}.db-groups header strong{font-size:var(--text-sm)}.db-groups header button{border:0;background:none;color:var(--blue-600);font-weight:700;font-size:var(--text-xs);cursor:pointer}.db-groups label{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--gray-50);font-size:var(--text-sm);cursor:pointer;margin:0}.db-groups label:last-child{border-bottom:0}.db-groups label.on{background:var(--blue-50)}.db-groups label input{width:16px;height:16px;accent-color:var(--blue2);margin:0}.db-groups label span{flex:1 1;min-width:0}.db-groups label small{white-space:nowrap}.db-empty,.db-groups label small{color:var(--muted);font-size:var(--text-xs)}.db-empty{text-align:center}.db-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;margin-top:10px;border-top:1px solid var(--line)}.db-foot>span{font-size:var(--text-xs);font-weight:700;color:var(--muted)}.db-foot>div{display:flex;gap:8px;flex-wrap:wrap}.db-delete{color:var(--red-600)!important}.db-delete svg{width:14px}@media(max-width:680px){.fc-mine-head{display:grid}.db-foot>div,.fc-mine-head .btn{width:100%}.db-foot .btn{flex:1 1}}.db-name input::placeholder,.db-search input::placeholder{color:var(--gray-400);opacity:1}.sim-builder{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;display:grid;grid-gap:14px;gap:14px;box-shadow:var(--shadow)}.sim-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.sim-mode button{display:grid;grid-gap:2px;gap:2px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:var(--radius-lg);padding:12px 14px;cursor:pointer;font:inherit}.sim-mode button strong{font-size:var(--text-base)}.sim-mode button small{color:var(--muted);font-size:var(--text-xs)}.sim-mode button.active{border-color:var(--blue2);background:var(--blue-50);box-shadow:0 0 0 3px rgba(40,120,200,.12)}.sim-subjects{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.sim-row{display:grid;grid-template-columns:minmax(0,1fr) 100px 120px;align-items:center;grid-gap:10px;gap:10px;padding:10px 14px}.sim-row.head{background:var(--gray-25);font-size:var(--text-xs);font-weight:700;color:var(--muted);letter-spacing:.02em;text-transform:none;padding:8px 14px}.sim-avail,.sim-row.head>span:not(:first-child){text-align:center}.sim-subject{border-top:1px solid var(--gray-50)}.sim-subject:not(.on){opacity:.6}.sim-check{display:flex;align-items:center;gap:9px;font-size:var(--text-sm);font-weight:700;margin:0;cursor:pointer}.sim-check input{width:16px;height:16px;accent-color:var(--blue2);margin:0}.sim-check svg{width:16px;color:var(--green-600)}.sim-avail{font-size:var(--text-sm);color:var(--muted);font-weight:700}.sim-count{display:grid;justify-items:center;grid-gap:2px;gap:2px}.sim-count input{width:70px;height:34px;border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;font:inherit;font-weight:700;font-size:var(--text-base)}.sim-count input:disabled{background:var(--gray-50);color:var(--gray-400)}.sim-count small{color:var(--amber-600)}.sim-count small,.sim-topics-toggle{font-size:var(--text-xs);font-weight:700}.sim-topics-toggle{display:inline-flex;align-items:center;gap:4px;margin:-4px 0 8px 39px;border:0;background:none;color:var(--blue-600);cursor:pointer;padding:0}.sim-topics-toggle svg{width:14px;transition:.15s}.sim-topics-toggle svg.turn{transform:rotate(180deg)}.sim-topics{display:grid;grid-gap:4px;gap:4px;padding:0 14px 12px 39px}.sim-topics label{display:flex;align-items:center;gap:8px;font-size:var(--text-xs);color:var(--muted);margin:0;cursor:pointer}.sim-topics label.on{color:var(--ink)}.sim-topics input{width:15px;height:15px;accent-color:var(--blue2);margin:0}.sim-topics span{flex:1 1}.sim-topics small{font-size:var(--text-xs);color:var(--muted)}.sim-options{display:grid;grid-gap:10px;gap:10px}.sim-title{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--muted);margin:0}.sim-title input{height:40px;border:1px solid var(--line);border-radius:var(--radius-md);padding:0 12px;font:inherit;font-size:var(--text-sm);color:var(--ink)}.sim-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;margin:0;cursor:pointer}.sim-toggle input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue2);margin:0;flex:0 0 auto}.sim-toggle>span:not(.sim-minutes){flex:1 1;display:grid}.sim-toggle strong{font-size:var(--text-sm)}.sim-minutes,.sim-toggle small{font-size:var(--text-xs);color:var(--muted)}.sim-minutes{display:inline-flex;align-items:center;gap:6px;font-weight:700}.sim-minutes input{width:64px;height:34px;border:1px solid var(--line);border-radius:var(--radius-md);text-align:center;font:inherit;font-weight:700}.sim-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.sim-foot>span{font-size:var(--text-sm);color:var(--muted)}.sim-foot b{font-size:var(--text-xl);color:var(--ink)}.sim-history .section-head span{color:var(--muted);font-size:var(--text-xs)}.sim-empty{color:var(--muted);font-size:var(--text-sm);margin:0}.sim-item,.sim-list{display:grid}.sim-item{grid-template-columns:minmax(0,1fr) 150px auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 0;border-bottom:1px solid var(--gray-50)}.sim-item:last-child{border-bottom:0}.sim-item>div:first-child strong{display:block;font-size:var(--text-base)}.sim-item>div:first-child small{color:var(--muted);font-size:var(--text-xs);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sim-status{display:grid;justify-items:end;line-height:1.2}.sim-status b{font-size:var(--text-lg)}.sim-status:not(.done) b{font-size:var(--text-sm);color:var(--amber-600)}.sim-status small{font-size:var(--text-xs);color:var(--muted)}.sim-status b.good{color:var(--green-600)}.sim-status b.mid{color:var(--amber-600)}.sim-status b.low{color:var(--red-600)}.sim-actions{display:flex;align-items:center;gap:6px}.sim-actions .btn{padding:8px 13px;font-size:var(--text-xs)}.sim-clock{display:grid;justify-items:end;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sim-clock svg{display:none}.sim-clock strong{font-size:var(--text-lg)}.sim-clock span{font-size:var(--text-xs);color:var(--muted)}.sim-clock.warn strong{color:var(--red-600)}.sim-send{display:inline-flex;align-items:center;gap:5px;background:var(--blue2)!important;color:#fff!important;border-color:var(--blue2)!important}.sim-send svg{width:14px}.sim-hint{color:var(--muted);font-size:var(--text-xs)}.map-grid button.marked,.map-legend i.marked{background:var(--blue-100);color:var(--blue-600)}.sim-numbers{grid-template-columns:repeat(4,110px)}.sim-table{width:min(560px,100%);border-collapse:collapse;font-size:var(--text-sm);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.sim-table th{background:var(--gray-25);font-size:var(--text-xs);text-transform:none;letter-spacing:.02em;color:var(--muted);padding:8px 12px;text-align:left}.sim-table td{padding:9px 12px;border-top:1px solid var(--gray-50)}.sim-table td:not(:first-child),.sim-table th:not(:first-child){text-align:center}.sim-table b.good{color:var(--green-600)}.sim-table b.mid{color:var(--amber-600)}.sim-table b.low{color:var(--red-600)}@media(max-width:760px){.sim-mode{grid-template-columns:1fr}.sim-row{grid-template-columns:minmax(0,1fr) 54px 80px;padding:10px}.sim-topics-toggle{margin-left:35px}.sim-topics{padding-left:35px}.sim-item{grid-template-columns:minmax(0,1fr) auto}.sim-actions{grid-column:1/-1}.sim-actions .btn{flex:1 1}.sim-foot .btn{width:100%}.sim-numbers{grid-template-columns:repeat(2,1fr)}.sim-clock strong{font-size:var(--text-md)}}.board-text{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 28px;font-size:var(--text-md);line-height:1.7;color:var(--ink);max-width:860px}.board-text h3{font-size:var(--text-md);margin:22px 0 8px;color:var(--blue);letter-spacing:.02em}.board-text h3:first-child{margin-top:0}.board-text p,.board-text ul{margin:0 0 12px}.board-text ul{padding-left:20px}.board-text li{margin-bottom:5px}@media(max-width:680px){.board-text{padding:18px 16px;font-size:var(--text-base)}}.boards-layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.board-item,.boards-list{display:grid}.board-item{grid-gap:2px;gap:2px;text-align:left;border:0;border-bottom:1px solid var(--gray-50);background:#fff;padding:12px 18px;cursor:pointer;font:inherit}.board-item:hover{background:var(--gray-25)}.board-item.on{background:var(--blue-50);box-shadow:inset 3px 0 var(--blue-400)}.board-item strong{font-size:var(--text-sm)}.board-item small{color:var(--gray-500);font-size:var(--text-xs)}.board-contests-summary{padding:14px 18px;display:grid;grid-gap:6px;gap:6px;background:var(--gray-25)}.board-contests-summary h3{margin:0 0 4px;font-size:var(--text-xs)}.board-contests-summary div{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs)}.board-contests-summary small{color:var(--blue-600);font-weight:700}.board-contests-summary small.muted{color:var(--gray-400);font-weight:500}.boards-placeholder{min-height:280px}.board-form{display:grid;grid-gap:12px;gap:12px;padding:16px 20px}.board-name,.board-text-field{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--gray-500);margin:0}.board-name input{height:40px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 11px;font:inherit;font-size:var(--text-base);font-weight:700;color:var(--ink)}.board-text-field small{font-weight:500;color:var(--gray-400)}.board-text-field textarea{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:10px 12px;font:var(--text-sm)/1.55 ui-monospace,Menlo,Consolas,monospace;resize:vertical;color:var(--ink)}.board-tabs{justify-self:start}.admin-preview{max-width:none;min-height:240px}.admin-preview .muted{color:var(--gray-400)}.board-link{display:grid;grid-gap:4px;gap:4px;border:1px solid var(--gray-100);border-radius:var(--radius-lg);padding:12px;background:var(--gray-25)}.board-link>span{font-size:var(--text-xs);font-weight:700;color:var(--gray-500);margin-bottom:4px}.board-link label{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);margin:0;cursor:pointer}.board-link label input{width:16px;height:16px;accent-color:var(--blue-400);margin:0}.board-link label span{flex:1 1}.board-link small{font-size:var(--text-xs);color:var(--gray-500)}.board-link small.warn{color:var(--amber-600);font-weight:700}.board-foot{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid var(--gray-100)}.board-foot>span{flex:1 1}.board-foot .danger-link{display:inline-flex;align-items:center;gap:6px;height:38px;border:1px solid var(--red-100);background:#fff;border-radius:var(--radius-md);padding:0 12px;color:var(--red-600);font-weight:700;font-size:var(--text-xs)}.board-foot .danger-link svg{width:14px}.primary-action:disabled{opacity:.5}@media(max-width:1000px){.boards-layout{grid-template-columns:1fr}}.sim-table td:first-child{text-align:left}.subject-row{display:flex;align-items:stretch}.subject-row .subject-head{flex:1 1;min-width:0}.subject-check{display:grid;place-items:center;padding-left:18px;background:#fff;cursor:pointer}.subject-check input,.topic-check{width:17px;height:17px;margin:0;accent-color:var(--blue);cursor:pointer;flex:none}.subject-card.is-off .subject-head{opacity:.5}.topic.off .topic-open,.topic.off p{color:var(--gray-400)}.topic.off .material-icons{opacity:.45}.topic-weight{flex:none;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:#fff;font:inherit;font-size:var(--text-xs);padding:4px 6px;color:var(--gray-500);max-width:150px}.topic-weight.own{border-color:var(--blue);color:var(--blue-600);font-weight:700;background:var(--blue-50)}.topic>span.topic-weight-tag{width:auto;flex:none;font-size:var(--text-xs);white-space:nowrap}.edital-reset{margin:-6px 0 12px;font-size:var(--text-xs);color:var(--muted)}.outside-plan{margin-top:18px;background:#fff;border:1px dashed var(--gray-300);border-radius:var(--radius-lg);padding:16px 18px;display:grid;grid-gap:12px;gap:12px}.outside-plan-head span,.outside-plan-head strong{display:block}.outside-plan-head strong{font-size:var(--text-md)}.outside-plan-head span{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.outside-subject{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--gray-25);padding:12px 14px}.outside-subject-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.outside-subject-head small,.outside-subject-head strong{display:block}.outside-subject-head small{color:var(--muted);font-size:var(--text-xs);margin-top:2px}.outside-subject-head .btn{display:inline-flex;align-items:center;gap:6px;flex:none}.outside-subject-head .btn svg{width:14px}.outside-subject ul{list-style:none;margin:8px 0 0;padding:0}.outside-subject li{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--gray-100);font-size:var(--text-sm);color:var(--gray-600)}.outside-subject li>span:first-child{flex:1 1;min-width:0}.outside-subject li .link,.outside-subject li .weight{font-size:var(--text-xs);flex:none}.outside-subject li .link{display:inline-flex;align-items:center;gap:4px;padding:0}.outside-subject li .link svg{width:13px}.outside-weight{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);font-weight:700;color:var(--muted);margin-left:auto;white-space:nowrap}.outside-weight select{height:34px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;padding:0 8px;font:inherit;font-size:var(--text-xs);color:var(--ink)}@media(max-width:760px){.outside-subject-head{flex-direction:column;align-items:stretch}.outside-weight{margin-left:0;justify-content:space-between}.outside-subject li{flex-wrap:wrap}.outside-subject li>span:first-child{flex:1 1 100%}}.account-settings>section.danger-zone{border-color:var(--red-100);background:var(--gray-25)}.students-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:10px;gap:10px;padding:16px;border-bottom:1px solid var(--gray-100)}.students-filters label{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--gray-500);margin:0}.students-filters select,.students-search{height:38px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;font:inherit;font-size:var(--text-xs);padding:0 9px;color:var(--ink);min-width:0}.students-search{display:flex!important;align-items:center;gap:7px;align-self:end}.students-search svg{width:16px;color:var(--gray-400);flex:none}.students-search input{border:0;outline:0;flex:1 1;min-width:0;font:inherit;font-size:var(--text-sm);background:transparent;color:var(--ink)}.students-list{display:grid}.students-list[aria-busy=true]{opacity:.6}.students-list>article{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,.9fr) auto auto;grid-gap:12px;gap:12px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--gray-100)}.students-list>article.editing{background:var(--gray-25)}.students-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.students-main strong{overflow-wrap:anywhere}.students-main span{font-size:var(--text-sm);color:var(--gray-600)}.students-main em{font-style:normal;color:var(--amber-600)}.students-main small{font-size:var(--text-xs);color:var(--gray-500)}.students-expiry{display:grid;grid-gap:2px;gap:2px}.students-expiry span{font-size:var(--text-xs);color:var(--gray-500)}.student-state{font-style:normal;font-size:var(--text-xs);font-weight:700;border-radius:999px;padding:5px 9px;white-space:nowrap}.student-state.active{background:var(--green-50);color:var(--green-600)}.student-state.expired,.student-state.pending{background:var(--amber-50);color:var(--amber-600)}.student-state.blocked,.student-state.suspended{background:var(--red-50,#fdecec);color:var(--red-600,#b42318)}.students-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.students-actions button,.students-editor footer button,.students-quick button{height:34px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;padding:0 11px;font:inherit;font-size:var(--text-xs);font-weight:700;color:var(--blue-600);display:inline-flex;align-items:center;gap:6px;cursor:pointer}.students-actions svg{width:15px}.students-editor{grid-column:1/-1;display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:#fff}.students-editor label{display:grid;grid-gap:5px;gap:5px;font-size:var(--text-xs);font-weight:700;color:var(--gray-500);max-width:220px}.students-editor input{height:38px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 9px;font:inherit}.students-quick{display:flex;gap:6px;flex-wrap:wrap}.students-editor small{font-size:var(--text-xs);color:var(--gray-500)}.students-editor footer{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.students-editor footer button.primary{background:var(--blue-600);border-color:var(--blue-600);color:#fff}.students-editor button:disabled{opacity:.5;cursor:default}.students-empty{display:grid;justify-items:center;grid-gap:6px;gap:6px;padding:36px 16px;text-align:center;color:var(--gray-500)}.students-empty svg{width:22px}.students-more{padding:12px 22px;font-size:var(--text-xs);color:var(--gray-500);margin:0}.students-main small.students-reason{font-weight:700}.students-reason.blocked,.students-reason.suspended{color:var(--red-600)}.students-reason.pending{color:var(--amber-600)}@media (max-width:760px){.students-actions button,.students-editor footer button,.students-editor input,.students-filters select,.students-quick button,.students-search{min-height:44px}.students-filters{grid-template-columns:1fr}.students-list>article{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}.students-expiry{grid-column:1}.student-state{grid-column:2;grid-row:1;align-self:start;white-space:normal;text-align:right;max-width:140px}.students-actions{grid-column:1/-1;justify-content:flex-start}}.account-access-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:8px;gap:8px}.account-access-list li{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border-radius:var(--radius-md,8px);background:var(--gray-25)}.account-access-list strong{font-size:14px}.account-access-list span{font-size:13px;color:var(--gray-600,#555)}.danger-zone .settings-section-title>svg{background:var(--red-50);color:var(--red-600)}.danger-copy{font-size:var(--text-xs);color:var(--gray-600);margin:0 0 10px;line-height:1.5}.btn.danger-outline{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--red-100);background:#fff;color:var(--red-600)}.btn.danger-outline svg{width:15px}.danger-box{display:grid;grid-gap:9px;gap:9px;font-size:var(--text-xs)}.danger-box>strong{font-size:var(--text-sm)}.danger-box ul{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;color:var(--navy-600)}.danger-box p{margin:0}.danger-shared{background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);padding:9px 11px;color:var(--amber-700)}.danger-shared p{margin-top:3px}.danger-keep{color:var(--muted)}.danger-box label{display:grid;grid-gap:5px;gap:5px;font-weight:700;font-size:var(--text-xs);color:var(--gray-600)}.danger-box input{height:38px;border:1px solid var(--red-100);border-radius:var(--radius-md);padding:0 10px;font:inherit;letter-spacing:.04em}.danger-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.btn.danger{background:var(--red-600);color:#fff;border-color:var(--red-600)}.btn.danger:disabled{opacity:.45}.danger-error{color:var(--red-600);font-weight:700}.edital-reset .link{font-size:var(--text-xs);padding:0}.cycle-panel{background:#fff;border:1px solid var(--green-100);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:0 5px 18px rgba(15,31,46,.04)}.cycle-panel header .overline{color:var(--green-600)}.cycle-panel header h2{font-size:var(--text-xl);margin:6px 0 4px;letter-spacing:-.01em}.cycle-panel header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.cycle-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.cycle-option{border:1px solid var(--line);border-radius:var(--radius-lg);padding:15px;display:flex;flex-direction:column;gap:10px;background:var(--gray-25)}.cycle-option.recommended{grid-column:1/-1;border-color:var(--blue-200);background:var(--gray-25)}.cycle-option-head{display:flex;align-items:center;gap:11px}.cycle-option-head>div{flex:1 1;min-width:0}.cycle-option-head small,.cycle-option-head strong{display:block}.cycle-option-head small{color:var(--muted);font-size:var(--text-xs);margin-top:1px}.cycle-option.recommended .cycle-option-head small{color:var(--blue-600);font-weight:700}.cycle-option-head b{font-size:var(--text-xs);color:var(--navy2);white-space:nowrap}.cycle-icon{width:34px;height:34px;border-radius:var(--radius-md);background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}.cycle-icon svg{width:17px}.cycle-option p{margin:0;font-size:var(--text-sm);color:var(--gray-600);line-height:1.5}.cycle-option>.btn{align-self:flex-start;margin-top:auto}.cycle-groups{display:flex;flex-wrap:wrap;gap:6px}.cycle-group{font-size:var(--text-xs);font-weight:700;border-radius:var(--radius-sm);padding:4px 8px;background:var(--gray-50);color:var(--gray-600)}.cycle-group b{margin-left:3px}.cycle-group.theory{background:var(--violet-50);color:var(--violet-700)}.cycle-group.priority{background:var(--red-50);color:var(--red-600)}.cycle-group.keep{background:var(--green-50);color:var(--green-700)}.cycle-group.complement{background:var(--amber-50);color:var(--amber-600)}.cycle-group.light{background:var(--blue-50);color:var(--blue-600)}.cycle-warn{background:var(--amber-50);border:1px solid var(--amber-100);border-radius:var(--radius-md);padding:8px 10px;color:var(--amber-700)!important}.cycle-details summary{cursor:pointer;font-size:var(--text-xs);font-weight:700;color:var(--blue-600)}.cycle-group-list{margin-top:12px}.cycle-group-list h4{margin:0;font-size:var(--text-sm)}.cycle-group-list h4 small{font-weight:600;color:var(--muted);margin-left:6px;font-size:var(--text-xs)}.cycle-group-list>p{font-size:var(--text-xs)!important;color:var(--muted)!important}.cycle-group-list ul{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-gap:4px;gap:4px}.cycle-group-list li{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-xs);border-bottom:1px solid var(--gray-100);padding:5px 0}.cycle-group-list li span small{display:block;color:var(--muted);font-size:var(--text-xs)}.cycle-group-list li em{font-style:normal;color:var(--gray-500);white-space:nowrap;font-size:var(--text-xs)}.cycle-confirm{display:flex;flex-direction:column;gap:8px;margin-top:auto;background:#fff;border:1px solid var(--amber-100);border-radius:var(--radius-md);padding:10px}.cycle-confirm span{font-size:var(--text-xs);color:var(--amber-700)}.cycle-confirm div{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){.cycle-options{grid-template-columns:1fr}.cycle-panel{padding:15px}.cycle-group-list li{flex-direction:column;gap:2px}}.queue-tag{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:var(--radius-sm);background:var(--gray-50);color:var(--gray-500);font-size:var(--text-xs);font-weight:700}.subject-editor{grid-template-columns:180px auto}.subject-editor>small{grid-column:1/-1;color:var(--muted);font-size:var(--text-xs)}.subject-editor>small .link{font-size:var(--text-xs);padding:0}.subject-moves{display:flex;gap:6px;flex-wrap:wrap}.subject-moves button{display:inline-flex;align-items:center;gap:5px;height:38px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-600);border-radius:var(--radius-md);padding:0 11px;font-size:var(--text-xs);font-weight:700}.subject-moves button:disabled{opacity:.35}.subject-moves svg{width:14px}.parallel-card{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:12px}.parallel-card span,.parallel-card strong{display:block}.parallel-card span{color:var(--muted);font-size:var(--text-xs);margin-top:3px;max-width:680px}.parallel-card select{flex:none;height:38px;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:0 10px;font:inherit;font-size:var(--text-xs);background:#fff;color:var(--ink)}@media(max-width:760px){.subject-check{padding-left:12px}.topic{flex-wrap:wrap}.topic .topic-open,.topic p{flex:1 1 60%}.subject-editor{grid-template-columns:1fr}.parallel-card{flex-direction:column;align-items:stretch}}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:0}h3,h4{font-weight:600}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}.btn{min-height:40px;font-weight:600;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.secondary{border-color:var(--line-strong)}.btn.secondary:hover:not(:disabled){background:var(--gray-25);border-color:var(--gray-400)}.btn.gold:hover:not(:disabled){background:var(--amber-300)}.btn.danger-solid:hover:not(:disabled),.btn.danger:hover:not(:disabled){background:var(--red-700);border-color:var(--red-700)}.logo-wrap{height:72px;margin-bottom:28px}.side{padding:20px 12px 14px}.side nav{gap:8px;overflow-y:auto;margin:0 -4px;padding:0 4px}.side nav button{padding:9px 12px;min-height:40px;font-weight:500;color:var(--gray-300)}.side nav button svg{width:18px;flex:none}.side nav button:hover{background:rgba(255,255,255,.06);color:#fff}.side nav button.active{background:rgba(255,255,255,.1);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--blue-400)}.side nav button.active:before{content:none}.nav-label{margin:18px 12px 6px;font-size:var(--text-xs);font-weight:600;color:var(--gray-400)}.side-user{padding:14px 8px 2px}.side-contest{display:none}.top{height:56px;padding:0 32px}.crumb,.top-brand .crumb{color:var(--gray-600);font-size:var(--text-sm);font-weight:600;letter-spacing:0;text-transform:none}.top-title{display:none;font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-head{margin-bottom:24px}.page-head h1{margin:0 0 6px}@media(max-width:980px){.top{padding:0 20px}.top-title{display:block}.top-brand .crumb{display:none}}@media(max-width:720px){.top-brand .contest-switcher{display:none}.side-contest{display:grid;grid-gap:6px;gap:6px;margin:0 4px 14px}.side-contest span{font-size:var(--text-xs);font-weight:600;color:var(--gray-400)}.side-contest select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:var(--navy-800);color:#fff;padding:9px 10px;font-size:var(--text-sm)}}@media(max-width:460px){.top{height:56px;padding:0 12px}}.admin-side{padding:20px 12px 14px}.admin-side>img{margin:0 auto 30px}.admin-side nav{gap:8px}.admin-side nav button,.admin-side>a{padding:9px 12px;min-height:40px;font-weight:500}.admin-side nav button:hover,.admin-side>a:hover{background:rgba(255,255,255,.06);color:#fff}.admin-side nav button.active{background:rgba(255,255,255,.1);font-weight:600}.admin-main>header{height:56px;padding:0 32px}.admin-main>header span{color:var(--gray-600);font-size:var(--text-sm);font-weight:600;letter-spacing:0}.admin-main>header strong{font-weight:500;color:var(--gray-500)}.admin-main>header button{border-color:var(--line-strong);font-weight:600;min-height:36px}.admin-heading h1{margin:0 0 6px}@media(max-width:980px){.admin-side .nav-label{display:none}}.admin-heading>div>span,.admin-modal>span,.badge,.ind-label,.kicker,.overline,.status-pill,.weight{letter-spacing:0}.admin-modal>span,.kicker{color:var(--muted)}.admin-modal>span,.kicker,.overline{font-size:var(--text-sm);font-weight:600}.overline{color:var(--blue-300)}.ind-label{font-size:var(--text-sm);font-weight:600;color:var(--gray-600)}.badge,.weight{font-size:var(--text-xs);font-weight:600}.auth-brand:after,.hero-card:after{content:none}.btn.ghost{background:transparent;color:var(--primary);border:1px solid transparent}.btn.ghost:hover:not(:disabled){background:var(--primary-soft)}.auth-brand h1{font-size:var(--text-4xl);line-height:1.1;letter-spacing:0;max-width:520px}.auth-panel h2{font-size:var(--text-3xl);margin:0 0 6px}.auth-panel label{font-size:var(--text-sm);font-weight:600;color:var(--gray-700)}.auth-panel input{border-color:var(--line-strong);min-height:44px;font-size:var(--text-md)}.auth-panel input:focus{border-color:var(--primary)}@media(max-width:760px){.auth-brand{padding:28px 22px 32px}.auth-brand h1{font-size:var(--text-2xl);margin-bottom:6px}.auth-brand p{font-size:var(--text-base);margin:0}.auth-brand img{width:180px;margin-bottom:18px}}.notice .link{font-size:inherit;padding:0}.sticky-action{gap:16px}.task-check{display:grid;place-items:center;padding:0;cursor:pointer}.task-check svg{width:14px;height:14px;stroke-width:3;color:#fff}.task-check:hover{border-color:var(--green-500)}.task-row.static{grid-template-columns:minmax(0,1fr) auto}.task-row.static .material-icons{grid-column:1}.blocks-locked{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;white-space:nowrap;color:var(--muted);font-size:var(--text-sm)}.blocks-locked svg{width:14px;height:14px}@media(max-width:520px){.task-row .task-actions{grid-column:2/4;grid-row:3;justify-self:start;margin:-4px 0 -6px -8px}}.ignored-label{justify-self:start;width:max-content}@media(max-width:680px){.solver-head .kicker{display:none}.solver-head h2{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25}}.fc-deck-row.head>span:first-child{text-align:left}.modal .db-search{display:flex}.modal .db-search input{padding:0;height:100%;border:0;box-shadow:none;min-width:0}@media(max-width:760px){.fc-deck-row.head{display:none}}@media(max-width:680px){.solver-nav>div button{position:relative}.solver-nav>div button span{display:block;position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.app-confirm-shade{z-index:300}.app-confirm h2{font-size:var(--text-xl);margin:0 0 8px}.app-confirm p{color:var(--muted);margin:0}.app-confirm .modal-actions{margin-top:20px}.admin-metrics small,.admin-modal label>small,.bank-row.empty,.board-text-field small,.builder-available small,.builder-fields label small,.builder-grid h3 small,.catalog-empty,.contest-admin-main>span,.integration-list section>span,.integration-list small,.json-divider,.kbd-hint,.material-fields small,.topic>span{color:var(--gray-500)}.acc.none,.qa-rate.none{color:var(--gray-600)}.db-name input::placeholder,.db-search input::placeholder,input::placeholder,textarea::placeholder{color:var(--gray-500);opacity:1}.warranty-note span,.warranty-note>b{color:var(--amber-700)}@media(max-width:980px){.top .menu{min-width:44px;min-height:44px;display:inline-grid;place-items:center;margin-left:-8px}}.task-check{position:relative}.task-check:after{content:"";position:absolute;inset:-9px}.home-focus .link,.home-ind-head .link,.section-head .link{padding-block:8px}.ind-card-head{min-height:32px}.event-product{display:grid;grid-gap:2px;gap:2px;min-width:0}.event-product b{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.event-product em{font-style:normal;color:var(--gray-500)}.event-product code{color:var(--gray-500);overflow-wrap:anywhere}.event-table>article,.event-table>div{grid-template-columns:1fr 1.7fr 1.1fr .9fr .7fr}.event-table i{justify-self:start;width:max-content}.shell{--rail:64px;--side-w:252px}.shell.collapsed{--side-w:var(--rail)}.shell>main{margin-left:var(--side-w);transition:margin-left .2s ease}.side{overflow:hidden;transition:width .2s ease,box-shadow .2s ease}.side nav{overflow-x:hidden}.side nav button span,.side-toggle span{white-space:nowrap}.side.floating{box-shadow:12px 0 32px color-mix(in srgb,var(--navy-950) 32%,transparent)}.logo-mark,.rail-open{display:none}.side-toggle{border:0;background:transparent;color:var(--gray-400);border-radius:var(--radius-md);padding:9px 12px;min-height:40px;margin-top:auto;display:flex;align-items:center;gap:12px;text-align:left;font-weight:500;font-size:var(--text-sm)}.side-toggle svg{width:18px;flex:none}.side-toggle:hover{background:rgba(255,255,255,.06);color:#fff}.side .side-toggle+.side-user{margin-top:8px}.side nav{flex:0 1 auto;min-height:0}.side.rail{width:var(--rail);padding-inline:12px}.side.rail .logo-full{display:none}.side.rail .logo-mark{display:block;width:40px;height:40px}.side.rail .side-toggle,.side.rail nav button{justify-content:center;padding-inline:0;gap:0;position:relative}.side.rail .side-toggle span,.side.rail nav button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.side.rail .side-user{justify-content:center;padding-inline:0}.side.rail .side-user div,.side.rail .side-user>svg{display:none}.side.rail .mobile-close,.side.rail .side-contest{display:none!important}.side :focus-visible{outline:2px solid var(--blue-300);outline-offset:2px}@media(min-width:981px){.shell .study-timer{left:calc(50% + var(--side-w) / 2)}}@media(max-width:980px){.shell{--side-w:var(--rail)}.side,.side.open{left:0;width:252px}.side.rail{width:var(--rail)}.side-toggle{display:none}.side .side-toggle+.side-user{margin-top:auto}.side.rail .logo-wrap{display:none}.side.rail .rail-open{display:grid;place-items:center;width:44px;height:44px;margin:14px auto 42px;border:0;border-radius:var(--radius-md);background:rgba(255,255,255,.08);color:#fff}.side.rail .rail-open svg{width:20px}.side nav button{min-height:44px}.shell .study-timer{left:calc(50% + var(--side-w) / 2);width:min(520px,calc(100% - var(--side-w) - 24px))}}@media(max-width:720px){.shell{--rail:56px}.side.rail{padding-inline:6px}.side.rail nav{margin:0;padding:0}}@media(prefers-reduced-motion:reduce){.shell>main,.side{transition:none}}.save-draft.save-days{width:auto;justify-self:start;margin-top:8px;padding:8px 14px;background:#fff;color:var(--primary);border:1px solid var(--gray-200)}.save-draft.save-days:hover:not(:disabled){border-color:var(--primary);background:var(--blue-50)}.save-draft.save-days:disabled{color:var(--gray-500);opacity:.7}