:root{font-family:Inter,Microsoft YaHei,system-ui,sans-serif;color:#dce8f2;background:#08111a;font-synthesis:none;--bg:#08111a;--surface:#101e2b;--surface-2:#142636;--line:#263b4d;--muted:#8fa2b5;--text:#e9f1f7;--blue:#2e87c8;--orange:#ff8a34;--red:#f45e5e;--green:#35c787;--shadow:0 20px 50px rgba(0,0,0,.24)}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:var(--bg)}body{min-width:320px}button,input,select{font:inherit}button,a{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--orange)}a{color:#72b8e7;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);letter-spacing:-.02em}h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:.55rem}h3{margin-bottom:.4rem}.muted,.page-intro p,.hero-panel p{color:var(--muted);line-height:1.7}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.18em;color:#69849b;margin-bottom:.55rem}.eyebrow.orange{color:var(--orange)}.stack-lg>*+*{margin-top:1.1rem}.stack-xl>*+*{margin-top:1.6rem}.button-row,.chip-row{display:flex;gap:.75rem;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:8px;padding:.72rem 1.1rem;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.2s;color:var(--text);background:#213648}.button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.08)}.button:disabled{opacity:.45;cursor:not-allowed}.button.primary{background:#1970ae;border-color:#2b8ac9}.button.accent{background:var(--orange);color:#1a130d}.button.secondary{background:transparent;border-color:#40576b}.button.danger{background:#9f3540;border-color:#c54b56}.button.ghost{background:transparent;color:var(--muted)}.button.full{width:100%}.button.small{padding:.42rem .72rem;font-size:.82rem}.text-button,.icon-button{background:none;border:0;color:#72b8e7;cursor:pointer}.icon-button{border:1px solid var(--line);border-radius:7px;padding:.45rem .65rem;color:var(--muted)}.icon-button.active{color:var(--orange);border-color:var(--orange)}label{display:grid;gap:.45rem;color:#c3d3df;font-size:.86rem;font-weight:700}label small{color:var(--muted);font-weight:400}input,select{width:100%;background:#0d1924;color:var(--text);border:1px solid #32485b;border-radius:7px;padding:.74rem .8rem}.password-field{position:relative;display:block}.password-field input{padding-right:2.6rem}.password-toggle{position:absolute;top:50%;right:.55rem;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;padding:.25rem;background:none;border:none;border-radius:5px;color:#8196a7;cursor:pointer}.password-toggle:hover{color:#cfe0ec}.auth-card .password-toggle{color:#5a6b78}.auth-card .password-toggle:hover{color:#142433}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--orange)}input[type=range]{padding:0;accent-color:var(--orange)}fieldset{border:1px solid var(--line);border-radius:9px;padding:1rem}legend{padding:0 .45rem;color:var(--muted);font-size:.8rem}.form-error{color:#ff8585;background:#f45e5e1a;border-left:3px solid var(--red);padding:.7rem .85rem;border-radius:4px}.form-success{color:#7de0ae}.panel{background:linear-gradient(145deg,#152736f5,#0d1b27fa);border:1px solid var(--line);border-radius:12px;padding:1.35rem;box-shadow:var(--shadow)}.page-intro{border-left:3px solid var(--orange);padding-left:1.1rem;max-width:850px}.page-intro p{margin-bottom:0}.loading-screen,.center-page{min-height:100vh;display:grid;place-items:center;text-align:center}.loading-screen{align-content:center;gap:1rem;color:var(--muted)}.loader{width:32px;height:32px;border:3px solid #294154;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{min-height:300px;display:grid;place-items:center;align-content:center;gap:1rem;color:var(--muted)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);grid-template-rows:1fr auto;background:radial-gradient(circle at 20% 20%,#173149 0,transparent 35%),linear-gradient(130deg,#081522,#060c12)}.auth-brand{padding:clamp(3rem,8vw,8rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(93,145,181,.18);border-radius:50%;right:-180px;bottom:-220px;box-shadow:0 0 0 70px #4976950a,0 0 0 140px #49769508}.auth-brand h1{font-size:clamp(3rem,7vw,6.5rem);margin:.6rem 0 1rem}.auth-brand>p:not(.eyebrow){color:#a7bac9;font-size:1.12rem}.brand-mark{width:42px;height:42px;display:block;object-fit:cover;background:var(--orange);border-radius:4px;box-shadow:10px 10px #ff8a341f}.brand-mark.large{width:58px;height:58px;margin-bottom:1.6rem}.auth-metrics{display:flex;gap:2rem;margin-top:3rem;position:relative;z-index:1}.auth-metrics span{display:grid;color:var(--muted);font-size:.78rem}.auth-metrics strong{font-size:1.35rem;color:var(--text)}.auth-card{background:#f0f4f6;color:#142433;padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.auth-card h2,.auth-card label{color:#142433}.auth-card input{background:#fff;color:#142433;border-color:#b8c5cf}.auth-card .muted{color:#657786}.security-note{text-align:center;color:#71818f;font-size:.75rem;margin-top:1.5rem}.beian-bar{grid-column:1/-1;padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom));text-align:center;color:#71818f;font-size:.75rem;border-top:1px solid rgba(255,255,255,.06)}.beian-bar a{color:inherit;text-decoration:none}.beian-bar a:hover,.beian-bar a:focus-visible{color:#a9bcc9;text-decoration:underline}.password-panel{width:min(520px,calc(100% - 2rem));padding:2rem;text-align:left}.status-icon.warning{background:#ff8a3426;color:var(--orange);width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-weight:900;margin-bottom:1rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#0b1721;border-right:1px solid #233646;padding:1.3rem 1rem;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:.9rem;padding:.15rem .45rem 1.7rem}.brand strong{display:block;font-size:1.05rem}.brand small{display:block;color:#61798d;font-size:.58rem;letter-spacing:.14em;margin-top:.2rem}.sidebar nav{display:grid;gap:.25rem}.sidebar nav a{display:flex;align-items:center;gap:.8rem;padding:.72rem .8rem;border-radius:7px;color:#8fa2b5;font-size:.9rem;font-weight:650}.sidebar nav a:hover,.sidebar nav a.router-link-active{background:#152838;color:#fff}.sidebar nav a.router-link-active{box-shadow:inset 3px 0 var(--orange)}.nav-icon{width:1.35rem;text-align:center;color:#6f91aa}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:1.15rem .45rem 0;display:flex;gap:.75rem;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#24475f;display:grid;place-items:center;font-weight:800;color:#a8d7f3}.avatar.large{width:78px;height:78px;font-size:1.8rem;margin:auto}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:var(--muted);font-size:.68rem;margin-top:.2rem}.main-area{min-width:0}.topbar{height:78px;padding:0 2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:1rem;position:sticky;top:0;background:#08111aed;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20}.topbar h1{font-size:1.12rem;margin:0}.breadcrumb{color:#60798d;font-size:.68rem;margin:0 0 .15rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.78rem}.menu-button{display:none;background:none;border:0;color:#fff;font-size:1.4rem}.page{padding:clamp(1rem,3vw,2.3rem);max-width:1500px;margin:auto}.scrim{display:none}.hero-panel,.result-hero{background:linear-gradient(115deg,#152d40,#0e1d29 68%,#2a241f);border:1px solid #334959;border-radius:14px;padding:clamp(1.5rem,4vw,3.2rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-panel:after{content:"";position:absolute;inset:auto -80px -120px auto;width:330px;height:330px;border:45px solid rgba(255,138,52,.05);transform:rotate(35deg);pointer-events:none}.hero-panel>*,.result-hero>*{position:relative;z-index:1}.hero-panel>div:first-child{min-width:0}.hero-panel h2{font-size:clamp(1.6rem,3.4vw,3rem)}.readiness-gauge,.score-ring{width:150px;height:150px;border-radius:50%;border:12px solid #243b4e;border-top-color:var(--orange);display:grid;place-content:center;text-align:center;flex:0 0 auto;position:relative;z-index:1}.readiness-gauge span,.score-ring strong{font-size:2.4rem}.readiness-gauge small,.score-ring span{color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric-card{background:#10202e;border:1px solid var(--line);border-radius:10px;padding:1.2rem;display:flex;align-items:baseline;gap:.35rem;min-height:110px;flex-wrap:wrap}.metric-card span,.metric-card .metric-label{width:100%;color:var(--muted);font-size:.75rem;letter-spacing:.05em}.metric-card strong{font-size:2rem}.metric-card small{color:var(--muted)}.metric-card.accent-card{border-color:#8a542f;background:linear-gradient(135deg,#30261f,#142434)}.two-column,.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.two-column>*{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.section-heading h3{margin:0}.section-heading span{color:var(--muted)}.compact-list{display:grid;gap:.65rem;min-width:0}.compact-row{display:flex;align-items:center;gap:.85rem;max-width:100%;min-width:0;padding:.85rem;background:#0d1a25;border:1px solid #203546;border-radius:8px;overflow:hidden}.compact-row div{min-width:0}.compact-row strong,.compact-row small{display:block}.compact-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-row small{color:var(--muted);font-size:.72rem;margin-top:.25rem}.type-badge,.status-icon{width:32px;height:32px;border-radius:5px;background:#1d4058;color:#9ed4f2;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.empty-state{min-height:280px;border:1px dashed #31495c;border-radius:12px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted);padding:2rem}.empty-state.small{min-height:180px}.empty-state>span{font-size:2.5rem;color:#49667c}.empty-state h3{margin:.7rem 0 .3rem}.bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.bank-card{background:linear-gradient(160deg,#142737,#0e1b26);border:1px solid var(--line);border-radius:12px;padding:1.35rem;position:relative;overflow:hidden}.bank-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--orange)}.bank-index{font-size:2.5rem;font-weight:900;color:var(--orange)}.bank-type{color:#213b4e;font-size:.65rem;font-weight:800;letter-spacing:.15em;margin-bottom:1.4rem}.bank-card h3{min-height:3rem}.bank-card p{color:var(--muted);font-size:.83rem;min-height:2.5rem}.bank-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem;margin:1.1rem 0 .45rem}.bank-meta strong{color:var(--text);font-size:1.05rem}.bank-distribution{height:26px;background:#243747;display:flex;border-radius:6px;overflow:hidden;margin-bottom:1.2rem}.bank-distribution i{background:#4f9ed0;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;font-style:normal;color:#0e1b26;font-size:.72rem;font-weight:800;line-height:1}.bank-distribution i.multi{background:var(--orange)}.bank-distribution i.judge{background:var(--green)}.exam-lock-notice{display:grid;gap:.35rem;margin:0 .75rem .75rem;padding:.7rem .8rem;border-radius:8px;background:#d67a2624;border:1px solid rgba(214,122,38,.45)}.exam-lock-notice strong{color:var(--orange);font-size:.82rem}.exam-lock-notice small{color:var(--muted);font-size:.7rem;line-height:1.45}.exam-lock-notice .button{justify-content:center;margin-top:.15rem}.bank-actions{display:flex;flex-direction:row;gap:.5rem}.bank-actions .button{flex:1;min-width:0}.browse-hint{align-self:center;min-width:0;color:var(--muted);font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.config-layout,.admin-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:1rem}.step-title{display:flex;gap:.85rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.8rem}.step-title>span{font-size:1.4rem;font-weight:900;color:#31536b}.step-title h3,.step-title p{margin:0}.step-title p{color:var(--muted);font-size:.75rem}.check-row{grid-template-columns:auto 1fr auto;align-items:center;background:#0d1a25;border:1px solid #213648;padding:.7rem;border-radius:7px}.check-row small{color:var(--muted)}.toggle-chip{display:block;position:relative;border:1px solid var(--line);padding:.55rem .8rem;border-radius:20px}.toggle-chip:has(input:checked){border-color:var(--orange);color:var(--orange)}.toggle-chip input{position:absolute;opacity:0}.ratio-total{border:1px solid #275d4a;background:#35c78714;padding:1rem;border-radius:9px;display:flex;justify-content:space-between;align-items:center}.ratio-total strong{font-size:1.8rem}.ratio-total span{color:var(--green)}.ratio-total.invalid{border-color:#88404a;background:#f45e5e14}.ratio-total.invalid span{color:var(--red)}.range-label>span{display:flex;justify-content:space-between}.range-label em{font-style:normal;color:var(--orange)}.algorithm-note{background:#0b1822;border-left:3px solid #37688a;padding:.85rem}.algorithm-note p{color:var(--muted);font-size:.78rem;margin:.35rem 0 0;line-height:1.6}.exam-list,.collection-list,.review-list{display:grid;gap:.9rem}.exam-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1.5rem;background:#112230;border:1px solid var(--line);border-radius:10px;padding:1.3rem}.exam-card.has-review{cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.exam-card.has-review:hover,.exam-card.has-review:focus-visible{border-color:#4d83a6;background:#142838;outline:none}.exam-card.has-review:active{transform:translateY(1px)}.exam-card p{color:var(--muted);font-size:.8rem;margin:0}.status-pill{display:inline-block;font-size:.65rem;text-transform:uppercase;color:var(--orange);border:1px solid #7b4d2f;padding:.2rem .45rem;border-radius:12px;margin-bottom:.6rem}.exam-facts{display:flex;gap:1.2rem}.exam-facts span{display:grid;color:var(--muted);font-size:.68rem}.exam-facts strong{color:var(--text);font-size:1.05rem}.exam-card-actions{display:flex;gap:.55rem;justify-content:flex-end;flex-wrap:wrap}.exam-card-actions .button{white-space:nowrap}.exam-card .exam-timing-mode{margin-top:.35rem;color:#7db8dd}.quiz-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:1rem;align-items:start;margin-top:-.6rem}.question-map{position:static}.quiz-clock{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:.8rem}.quiz-clock span{color:var(--muted)}.quiz-clock.pace-over strong{color:var(--red)}.legend{display:flex;gap:.8rem;font-size:.65rem;color:var(--muted);margin:.8rem 0}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.25rem;background:#2b4050}.legend i.done{background:var(--blue)}.legend i.flag{background:var(--orange)}.map-legend{flex-wrap:wrap;column-gap:.7rem;row-gap:.45rem}.map-legend span{display:inline-flex;align-items:center;white-space:nowrap}.map-legend i.type-line{width:15px;height:3px;border-radius:2px}.map-legend i.type-line.single{background:#4f9ed0}.map-legend i.type-line.multi{background:var(--orange)}.map-legend i.type-line.judge{background:var(--green)}.map-legend i.text-sample{width:auto;height:auto;border-radius:0;background:none;font-style:normal;font-weight:800;line-height:1}.map-legend i.text-sample.unlearned{color:#8298a9}.map-legend i.text-sample.learned{color:var(--green)}.map-legend i.state-square{width:9px;height:9px;border-radius:2px}.map-legend i.state-square.answered{background:var(--blue)}.map-legend i.state-square.favorited{background:#dca600}.number-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;max-height:min(52vh,440px);overflow-y:auto;overflow-x:hidden;padding-right:.15rem}.number-grid button{aspect-ratio:1;min-width:0;border:1px solid #2d4354;background:#0c1822;color:#8298a9;border-radius:5px;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.number-grid button .q-num{line-height:1}.number-grid button .q-type-bar{width:15px;height:3px;border-radius:2px;background:transparent}.number-grid button .q-type-bar.qtype-single{background:#4f9ed0}.number-grid button .q-type-bar.qtype-multiple{background:var(--orange)}.number-grid button .q-type-bar.qtype-judge{background:var(--green)}.number-grid button.done{background:#173c56;color:#bde6ff}.number-grid button.favorited{background:#7d620e;border-color:#dca600;color:#fff}.number-grid button.flagged:after{content:"";position:absolute;right:2px;top:2px;width:5px;height:5px;background:var(--orange);border-radius:50%}.number-grid button.active{border-color:var(--orange);color:#fff}.map-summary{display:flex;justify-content:space-between;margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.7rem;color:var(--muted)}.question-stage{min-width:0}.quiz-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.15rem .4rem .8rem}.quiz-header h2{font-size:1.1rem;margin:0;overflow-wrap:anywhere}.progress-copy{position:static;color:var(--muted);white-space:nowrap}.progress-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#203645}.progress-track i{display:block;height:100%;background:var(--orange);transition:.3s}.question-card{background:#f0f3f4;color:#172836;border-radius:12px;padding:clamp(1rem,2.2vw,1.6rem);min-height:420px;scroll-margin-top:88px}.question-card h3{color:#172836;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.7}.question-card h3>span{color:#d66b23;margin-right:.45rem}.question-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem}.question-type{color:#285c7e;background:#d9e8f0;font-weight:800;font-size:.7rem;padding:.3rem .55rem;border-radius:4px}.question-type.qtype-single{background:#4f9ed0;color:#0d2231}.question-type.qtype-multiple{background:var(--orange);color:#2b1705}.question-type.qtype-judge{background:var(--green);color:#04241a}.question-actions{display:flex;gap:.5rem}.question-card .icon-button{color:#506575;border-color:#bdc9d0}.option-list{display:grid;gap:.6rem;margin-top:1.1rem}.option-list button,.option-list .static-option{display:grid;grid-template-columns:38px minmax(0,1fr) 32px;column-gap:.75rem;align-items:center;text-align:left;background:#fff;color:#20313e;border:1px solid #cbd5db;border-radius:8px;padding:.75rem;cursor:pointer}.option-list button b,.option-list .static-option b{width:32px;height:32px;border-radius:5px;background:#e8edf0;display:grid;place-items:center}.option-list button.selected{border-color:#2079b4;background:#e8f4fb}.option-list button.selected b{background:#2079b4;color:#fff}.option-list button.correct,.option-list .static-option.correct{border-color:#35a773;background:#eaf8f1}.option-list button.wrong{border-color:#da4f5b;background:#fff0f1}.answer-feedback{margin-top:1.2rem;padding:1rem;border-radius:8px}.answer-feedback.success{background:#dff5e9;color:#17673f}.answer-feedback.danger{background:#fae5e7;color:#882d35}.answer-feedback p{margin:.45rem 0 0;line-height:1.7}.quiz-footer{display:flex;justify-content:space-between;padding-top:1rem}.quiz-footer>div{display:flex;gap:.65rem}.result-hero{justify-content:center}.score-ring{border-top-color:var(--green)}.review-card{background:#11222f;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px;padding:1.2rem}.review-card.wrong{border-left-color:var(--red)}.review-card header{display:grid;grid-template-columns:36px 1fr auto;gap:.8rem}.review-card header>span{font-size:1.5rem;color:#506a7d}.review-card header small{color:var(--muted)}.review-card header strong{color:var(--green)}.review-card.wrong header strong{color:var(--red)}.review-card>p{color:var(--muted)}.explanation{background:#0b1822;padding:.8rem;border-radius:6px;color:#bccbd6;line-height:1.7}.collection-card{background:#11212e;border:1px solid var(--line);border-radius:10px;padding:1.2rem}.collection-card header{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem}.collection-card header small{color:var(--muted)}.master-progress{display:inline-block;padding:.15rem .5rem;border-radius:5px;font-size:.7rem;font-weight:700;color:#7de0ae;background:#35c78721;border:1px solid rgba(53,199,135,.4);white-space:nowrap}.notify-more{display:flex;justify-content:center;margin-top:1rem}.collection-actions{display:flex;align-items:center;gap:.6rem;justify-content:flex-end}.collection-actions .collection-remove{font-size:1rem;line-height:1;color:#ff6b6b}.collection-actions .collection-remove:hover{color:#ff4d4d}.resume-delete{color:#ff6b6b}.resume-delete:hover{color:#ff4d4d}@media(max-width:600px){.collection-card header .collection-actions{grid-column:2;justify-content:flex-start}}.collection-card ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.collection-card li{background:#0c1923;padding:.65rem;border-radius:6px;color:#aec0cd}.collection-card li b{margin-right:.4rem;color:#6ea9cf}.collection-card details{border-top:1px solid var(--line);padding-top:.8rem}.collection-card summary{cursor:pointer;color:var(--orange)}.collection-card details p{color:var(--muted);line-height:1.7}.chart{height:320px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);font-size:.8rem}th{color:#7890a4;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}td{color:#c1d0db}.profile-card{text-align:center}.profile-card>p{color:var(--muted)}dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:.75rem 0}dt{color:var(--muted)}dd{margin:0}.admin-tabs{display:flex;border-bottom:1px solid var(--line);gap:.2rem}.admin-tabs button{background:none;border:0;color:var(--muted);padding:.8rem 1rem;border-bottom:2px solid transparent;cursor:pointer}.admin-tabs button.active{color:#fff;border-bottom-color:var(--orange)}.admin-split{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)}.wide-panel{min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.form-grid.three{grid-template-columns:repeat(3,1fr)}.import-box,.file-drop{border:1px dashed #40596d;padding:1rem;border-radius:8px;margin-top:1rem}.import-box p{color:var(--muted);font-size:.76rem}.bank-admin-row,.exam-admin-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#0d1a25;border:1px solid #203545;border-radius:7px;padding:.8rem}.bank-admin-row strong,.bank-admin-row small,.exam-admin-row strong,.exam-admin-row small{display:block}.bank-admin-row small,.exam-admin-row small{color:var(--muted);font-size:.7rem;margin-top:.25rem}.toast{position:fixed;right:1.2rem;top:90px;z-index:50;padding:.8rem 1rem;border-radius:8px;box-shadow:var(--shadow)}.toast.success{background:#175d43}.toast.danger{background:#84333c}@media(max-width:1100px){.metric-grid,.bank-grid{grid-template-columns:repeat(2,1fr)}.two-column,.profile-grid,.admin-split{grid-template-columns:1fr}.wide-panel{order:2}}@media(max-width:820px){.auth-page{grid-template-columns:1fr;grid-template-rows:auto auto auto}.auth-brand{min-height:40vh;padding:2rem}.auth-brand h1{font-size:3rem}.auth-metrics{margin-top:1rem}.app-shell{display:block}.sidebar{position:fixed;left:0;transform:translate(-105%);width:270px;transition:.25s}.sidebar.open{transform:translate(0)}.scrim{display:block;position:fixed;inset:0;background:#0009;border:0;z-index:25}.menu-button{display:block}.topbar{padding:0 1rem}.top-actions>span{display:none}.page{padding:1rem}.config-layout,.quiz-layout{grid-template-columns:1fr}.question-stage{order:1}.question-map{order:2;position:static;margin-top:1rem}.number-grid{grid-template-columns:repeat(10,minmax(0,1fr))}.exam-card{grid-template-columns:1fr}.question-card{min-height:auto}.collection-card ol{grid-template-columns:1fr}}@media(max-width:560px){.auth-metrics{gap:.8rem;flex-wrap:wrap}.auth-card{padding:2rem 1.2rem}.metric-grid,.bank-grid{grid-template-columns:1fr}.bank-actions{flex-direction:column}.hero-panel,.result-hero{align-items:flex-start;flex-direction:column}.readiness-gauge,.score-ring{width:110px;height:110px;border-width:8px}.number-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.question-top,.quiz-footer{align-items:flex-start;gap:.8rem;flex-direction:column}.quiz-footer>div{width:100%;flex-direction:column}.quiz-footer .button{width:100%}.question-actions{width:100%;justify-content:space-between}.option-list button,.option-list .static-option{grid-template-columns:34px minmax(0,1fr) 32px;column-gap:.6rem;padding-right:.9rem}.form-grid,.form-grid.three{grid-template-columns:1fr}.top-actions{gap:.2rem}.top-actions .button{padding:.35rem .5rem}.exam-facts{justify-content:space-between}.collection-card header{grid-template-columns:auto 1fr}.collection-card header .icon-button{grid-column:2}}html,body,#app{width:100%;max-width:100%;overflow-x:hidden}.main-area,.page{min-width:0;width:100%;max-width:100%;overflow-x:hidden}.topbar>div{min-width:0}@media(max-width:820px){.app-shell{width:100%;max-width:100%}.sidebar{width:min(270px,86vw);transform:translate(-110%)}}.quiz-header .eyebrow{font-size:.9rem;letter-spacing:.08em}.question-type{font-size:.9rem;padding:.42rem .62rem}.number-grid button.flagged{background:var(--orange);border-color:#ffad70;color:#24170d;font-weight:900}.number-grid button.flagged:after{display:none}.number-grid button.flagged.active{box-shadow:0 0 0 2px #fff4eb inset}.answer-control{width:25px;height:25px;display:grid;place-items:center;justify-self:end;font-style:normal;font-weight:900;transition:.18s}.checkbox-control{border:2px solid #8799a5;border-radius:4px;color:#fff}.checkbox-control.selected{background:#2079b4;border-color:#2079b4}.radio-control{border:2px solid #8799a5;border-radius:50%}.radio-control span{width:11px;height:11px;border-radius:50%;background:transparent}.radio-control.selected{border-color:#2079b4}.radio-control.selected span{background:#2079b4}.judge-control{font-size:1.05rem;border:2px solid #8799a5;border-radius:4px;line-height:1}.judge-control.positive{color:#27996a}.judge-control.negative{color:#cf4b55}.judge-control.selected{border-color:#2079b4;background:#e8f4fb}.resume-row .button{margin-left:auto;white-space:nowrap}.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.favorite-star{width:22px;height:22px;border-radius:5px;display:grid;place-items:center;color:#8a9aa6;background:transparent;line-height:1}.favorite-button.active{color:#9a6900;border-color:#dca600;background:#fff5cc}.favorite-button.active .favorite-star{color:#fff;background:#dca600}@media(max-width:560px){.quiz-header .eyebrow,.question-type{font-size:1rem}.question-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:.45rem;width:100%}.question-actions{display:contents}.question-type,.question-actions .icon-button{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:.55rem .2rem;font-size:.86rem;white-space:nowrap}.quiz-footer{width:100%;flex-direction:row;align-items:stretch;gap:.6rem}.quiz-footer>.button,.quiz-footer>div{width:auto;min-width:0;flex:1}.quiz-footer>div{display:flex;flex-direction:row}.quiz-footer .button{width:100%;padding:.78rem .35rem}.resume-row{align-items:flex-start;flex-wrap:wrap}.resume-row .button{margin-left:47px}}@media(max-width:560px){.question-top:not(.exam-actions),.question-top.exam-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.result-answers{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.result-answers>div{background:#0b1822;border:1px solid #20394b;border-radius:7px;padding:.85rem}.result-answers>div.mine{border-left:4px solid var(--red);border-radius:0 7px 7px 0}.result-answers>div.right{border-left:4px solid var(--green);border-radius:0 7px 7px 0}.review-verdict{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.review-verdict .icon-button{white-space:nowrap;font-size:.78rem}.participant-tag{margin-left:.4rem;padding:.1rem .4rem;border-radius:4px;background:#233646;color:#8fa2b5;font-size:.68rem;white-space:nowrap}.hot-question-card{min-height:0}.hot-rate{align-self:center;color:#b3403f;background:#fbe9e9;font-weight:800;font-size:.78rem;padding:.3rem .55rem;border-radius:4px;white-space:nowrap}.option-list .static-option{cursor:default;grid-template-columns:38px 1fr}.option-list .static-option:not(.correct){opacity:.82}.legend i.single{background:#4f9ed0}.legend i.multi{background:var(--orange)}.legend i.judge{background:var(--green)}.result-answers>div>strong{display:block;color:#91a8b9;margin-bottom:.55rem}.result-answers ul{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.result-answers li{display:grid;grid-template-columns:1.6rem 1fr;gap:.35rem;line-height:1.55;color:#d7e3eb}.result-answers li b{color:var(--orange)}.result-answers p{margin:0}@media(max-width:700px){.result-answers{grid-template-columns:1fr}}.question-image-button{max-width:100%;display:grid;justify-items:center;gap:.35rem;background:transparent;border:1px dashed #9fb0ba;border-radius:8px;padding:.55rem;margin:1rem 0;color:#526b7b;cursor:zoom-in}.question-image-button:hover{border-color:var(--orange)}.question-image-button img,.question-image{display:block;max-width:100%;max-height:340px;object-fit:contain;border-radius:5px}.question-image-button span{font-size:.72rem}.review-image{margin-left:3rem}.option-content{min-width:0;display:grid;gap:.5rem}.option-image{display:block;max-width:min(100%,240px);max-height:150px;object-fit:contain;border:1px solid #c1ccd2;border-radius:5px;cursor:zoom-in;background:#fff}.option-list button[aria-disabled=true]{cursor:default}.result-option-image,.collection-option-image{display:block;max-width:min(100%,220px);max-height:140px;object-fit:contain;margin-top:.45rem;border:1px solid #365064;border-radius:5px;cursor:zoom-in}.collection-image img{max-height:280px}.collection-card li>span{display:block}.collection-option-image{max-width:100%}.image-viewer{position:fixed;inset:0;z-index:1000;background:#02070bf5;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff}.image-viewer-toolbar{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.75rem;background:#0c1822f5;border-bottom:1px solid #31485a}.image-viewer-toolbar button{height:38px;min-width:42px;border:1px solid #496174;border-radius:6px;background:#142a3a;color:#fff;font-weight:800;cursor:pointer}.image-viewer-toolbar button:hover{border-color:var(--orange)}.image-viewer-toolbar span{min-width:58px;text-align:center;color:#aebfcb;font-variant-numeric:tabular-nums}.image-viewer-toolbar .viewer-close{margin-left:1rem;background:#7d3038;border-color:#a9424c;font-size:1.35rem}.image-viewer-canvas{min-height:0;overflow:hidden;display:grid;place-items:center;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.image-viewer-canvas:active{cursor:grabbing}.image-viewer-canvas img{display:block;max-width:88vw;max-height:76vh;object-fit:contain;transform-origin:center;transition:transform .08s linear;pointer-events:none}.image-viewer-help{text-align:center;color:#9aadb9;font-size:.75rem;margin:0;padding:.6rem 1rem;background:#0c1822f5}@media(max-width:560px){.review-image{margin-left:0}.image-viewer-toolbar{gap:.25rem;padding:.55rem .35rem}.image-viewer-toolbar button{height:36px;min-width:36px;padding:.25rem}.image-viewer-toolbar .viewer-close{margin-left:.2rem}.image-viewer-canvas img{max-width:96vw;max-height:78vh}.image-viewer-help{font-size:.66rem}}.admin-split .ratio-total strong{font-size:1rem;text-align:right}.exam-type-summary{display:block;color:#8fa6b7;margin-top:.35rem}@media(max-width:560px){.admin-split .ratio-total{align-items:flex-start;flex-direction:column;gap:.35rem}.admin-split .ratio-total strong{text-align:left}}.app-shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.main-area{height:100vh;height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth}.sidebar{height:100vh;height:100dvh}.bank-standard-list{display:grid;align-content:start;gap:.35rem;min-height:5.2rem}.bank-standard-list h3{min-height:0;margin:0;font-size:1rem;line-height:1.45;overflow-wrap:anywhere}.back-to-top{position:fixed;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);z-index:24;width:46px;height:46px;border:1px solid #4c6a80;border-radius:50%;background:#17364b;color:#fff;box-shadow:0 10px 28px #00000061;font-size:1.45rem;font-weight:900;cursor:pointer;transition:transform .2s,background .2s}.back-to-top:hover{transform:translateY(-3px);background:#205273}.back-to-top:focus-visible{outline:2px solid var(--orange)}.pull-refresh-indicator{display:none}@media(max-width:820px){.pull-refresh-indicator{position:fixed;left:50%;top:max(.35rem,env(safe-area-inset-top));z-index:35;display:flex;align-items:center;gap:.4rem;min-height:34px;padding:.4rem .72rem;border:1px solid #3b566a;border-radius:18px;background:#0f2230f5;color:#9fb4c3;box-shadow:0 8px 22px #00000052;font-size:.72rem;font-weight:750;pointer-events:none;will-change:transform,opacity}.pull-refresh-indicator.ready{border-color:var(--orange);color:#ffc18f}.pull-refresh-indicator.refreshing{border-color:#4c95c5;color:#a9d9f6}.pull-refresh-icon{font-size:1rem;font-weight:900;line-height:1;transition:transform .18s}.pull-refresh-indicator.ready .pull-refresh-icon{transform:rotate(180deg)}.pull-refresh-indicator.refreshing .pull-refresh-icon{animation:pull-refresh-spin .7s linear infinite}.main-area{touch-action:pan-y}}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}@media(min-width:821px){.sidebar{position:relative;top:auto}}@media(max-width:560px){.bank-standard-list{min-height:0}.back-to-top{right:1rem;bottom:1rem;width:42px;height:42px}}@media(max-width:1100px){.quiz-layout{grid-template-columns:1fr}.question-stage{order:1}.question-map{order:2;position:static;margin-top:1rem}.number-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media(min-width:561px){.question-top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem}.question-actions{min-width:0;justify-content:flex-end;flex-wrap:wrap}}@media(max-width:820px){.page{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.back-to-top{bottom:calc(1rem + env(safe-area-inset-bottom))}}.back-to-top{border-radius:7px}.back-to-top svg{width:27px;height:27px;display:block;margin:auto;fill:none;stroke:currentColor;stroke-width:3.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.back-to-top:hover svg{transform:translateY(-2px)}.adaptive-config-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:1rem;align-items:start}.adaptive-side-column{display:grid;gap:1rem}.adaptive-config-grid .step-title>span{min-width:3.4rem;font-size:.75rem;letter-spacing:.08em;color:#4f7692}.bank-choice-list{display:grid;gap:.65rem}.bank-choice-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;background:#0d1a25;border:1px solid #213648;padding:.72rem .85rem;border-radius:8px;cursor:pointer}.bank-choice-row:hover{border-color:#3a5b72}.bank-choice-row:has(input:checked){background:#102536;border-color:#31556e}.bank-select-all-row{border-color:#a96328;background:#ff8a3414}.bank-select-all-row .type-badge,.bank-select-all-row strong{color:var(--orange)}.bank-choice-copy{min-width:0}.bank-choice-copy strong,.bank-choice-copy small{display:block}.bank-choice-copy strong{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-choice-copy small{color:var(--muted);font-size:.7rem;margin-top:.25rem}.bank-choice-checkbox{width:1.15rem;height:1.15rem;margin:0}.question-count-row{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.question-count-field{width:min(180px,100%);flex:0 1 180px}.count-presets{display:flex;gap:.65rem;align-items:center;padding-bottom:.05rem}.count-preset{width:44px;height:44px;border:1px solid var(--orange);border-radius:50%;background:transparent;color:var(--orange);font-weight:850;cursor:pointer}.count-preset:hover,.count-preset.active{background:var(--orange);color:#1a130d}.count-preset:focus-visible{outline:2px solid #fff;outline-offset:2px}@media(max-width:1000px){.adaptive-config-grid{grid-template-columns:1fr}.adaptive-side-column{grid-template-columns:1fr 1fr;align-items:start}}@media(max-width:700px){.adaptive-side-column{grid-template-columns:1fr}.bank-choice-row{grid-template-columns:auto minmax(0,1fr) auto}.bank-choice-copy strong{white-space:normal}.question-count-row{align-items:flex-end}.question-count-field{flex:1 1 140px}.count-presets{flex:0 0 auto}}@media(max-width:440px){.question-count-field{flex-basis:100%}.count-presets{width:100%;justify-content:space-between}.count-preset{width:48px;height:48px}}.exam-management-layout{display:grid;gap:1rem}.exam-create-core{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(260px,.9fr) minmax(280px,.95fr);gap:1rem;align-items:stretch}.exam-control-block{display:grid;gap:1rem}.exam-create-core fieldset{height:100%;margin:0}.exam-config-card{min-width:0;background:#08182338}.exam-create-core .ratio-total{margin-top:1rem;align-items:flex-start;flex-direction:column;gap:.35rem}.exam-bank-scope .bank-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-bank-scope .bank-select-all-row{grid-column:1/-1}.group-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.group-choice-grid .check-row{display:grid;grid-template-columns:auto 1fr;margin:0}.group-choice-grid .select-all-row{border-color:var(--orange);color:var(--orange)}input.light-calendar::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.8);opacity:1;cursor:pointer}.exam-duration-fields{align-items:start}.exam-duration-fields>label{align-content:start;grid-template-rows:auto auto}.exam-duration-fields>label>input{margin-top:0}.exam-timing-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;padding:.75rem;border:1px solid #315064;border-radius:8px;background:#0b1b27;cursor:pointer}.exam-timing-toggle input{width:18px;height:18px;margin:.12rem 0 0;accent-color:var(--orange)}.exam-timing-toggle span{display:grid;gap:.25rem}.exam-timing-toggle strong{color:var(--text)}.exam-timing-toggle small{color:var(--muted);line-height:1.5}@media(max-width:1250px){.exam-create-core{grid-template-columns:1fr 1fr}.exam-create-core>.exam-config-card:last-child{grid-column:1/-1}.group-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.exam-bank-scope .bank-choice-list,.exam-create-core{grid-template-columns:1fr}.exam-create-core>.exam-config-card:last-child{grid-column:auto}.group-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.group-choice-grid{grid-template-columns:1fr}.exam-create-panel{padding:1rem}.exam-bank-scope{padding:.75rem}.exam-create-core .form-grid.three,.exam-create-core .form-grid{grid-template-columns:1fr}}.directory-filters{display:grid;grid-template-columns:minmax(150px,220px) minmax(150px,220px) auto;align-items:end;gap:.75rem;margin-bottom:1rem}.directory-filters .button{height:42px}.selectable-user-table tbody tr{cursor:pointer;transition:background .16s,box-shadow .16s}.selectable-user-table tbody tr:hover{background:#3a71971f}.selectable-user-table tbody tr.selected{background:#ff8a3421;box-shadow:inset 3px 0 var(--orange)}.selectable-user-table tbody tr:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}.selectable-user-table tbody tr.selected td:first-child{color:var(--orange);font-weight:800}.empty-table-cell{text-align:center;color:var(--muted);padding:2rem!important;cursor:default}.user-admin-layout>.panel:first-child{align-self:start;position:sticky;top:94px}@media(max-width:1100px){.user-admin-layout>.panel:first-child{position:static}.directory-filters{grid-template-columns:1fr 1fr auto}}@media(max-width:620px){.directory-filters{grid-template-columns:1fr}.directory-filters .button{width:100%}}.filterable-heading{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-width:90px}.table-filter{position:relative}.table-filter summary{list-style:none;width:24px;height:24px;display:grid;place-items:center;border:1px solid #365167;border-radius:4px;background:#102231;color:#86a1b4;font-size:.8rem;cursor:pointer;transition:.15s}.table-filter summary::-webkit-details-marker{display:none}.table-filter summary:hover,.table-filter summary.active,.table-filter[open] summary{border-color:var(--orange);background:#263020;color:var(--orange)}.table-filter-menu{position:absolute;right:0;top:calc(100% + .35rem);z-index:45;width:max-content;min-width:180px;max-height:300px;overflow-y:auto;padding:.35rem;background:#f6f8f9;border:1px solid #aebbc4;border-radius:6px;box-shadow:0 12px 30px #0006}.table-filter-menu button{width:100%;display:grid;grid-template-columns:1.15rem 1fr;gap:.35rem;text-align:left;border:0;border-radius:4px;background:transparent;color:#243746;padding:.55rem .65rem;cursor:pointer;white-space:nowrap}.table-filter-menu button:hover{background:#e3edf3}.table-filter-menu button.selected{background:#d5e9f5;color:#145783;font-weight:800}.table-filter-menu button span{color:#1674aa}.selectable-user-table thead{position:relative;z-index:10}.account-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.account-form-actions .button.primary:only-child{margin-left:auto}.table-filter-trigger{width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid #365167;border-radius:4px;background:#102231;color:#86a1b4;font-size:.8rem;cursor:pointer;transition:.15s}.table-filter-trigger:hover,.table-filter-trigger.active{border-color:var(--orange);background:#263020;color:var(--orange)}.floating-table-filter-menu{position:fixed;right:auto;z-index:1000;width:200px;max-width:calc(100vw - 16px);max-height:min(300px,calc(100vh - 16px));overflow-y:auto}.user-admin-layout{grid-template-columns:clamp(250px,22vw,300px) minmax(0,1fr)}.account-edit-fields{grid-template-columns:1fr}.mobile-directory-filters{display:none}.selectable-user-table{table-layout:fixed;min-width:760px}.selectable-user-table .user-col-id{width:12%}.selectable-user-table .user-col-name{width:11%}.selectable-user-table .user-col-group{width:18%}.selectable-user-table .user-col-role{width:19%}.selectable-user-table .user-col-participant{width:12%}.selectable-user-table .user-col-status{width:13%}.selectable-user-table .user-col-action{width:15%}.selectable-user-table th,.selectable-user-table td{overflow-wrap:anywhere}.selectable-user-table td:last-child{white-space:nowrap}@media(max-width:1100px){.user-admin-layout{grid-template-columns:1fr}}@media(max-width:700px){.mobile-directory-filters{display:grid;grid-template-columns:1fr;gap:.65rem;margin-bottom:1rem}.mobile-directory-filters label{font-size:.75rem}.user-directory-wrap{overflow:visible}.selectable-user-table{display:block;min-width:0}.selectable-user-table colgroup,.selectable-user-table thead{display:none}.selectable-user-table tbody{display:grid;gap:.75rem}.selectable-user-table tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:.15rem .75rem;padding:.75rem;border:1px solid var(--line);border-radius:8px;background:#0d1a25}.selectable-user-table tbody td{display:grid;grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.35rem;padding:.42rem 0;border:0;min-width:0}.selectable-user-table tbody td:before{content:attr(data-label);color:#7890a4;font-size:.64rem;font-weight:750;letter-spacing:.06em}.selectable-user-table tbody td:last-child{white-space:normal}.selectable-user-table tbody td:last-child .text-button{justify-self:start}.selectable-user-table tbody tr.selected{box-shadow:inset 3px 0 var(--orange)}.selectable-user-table tbody .empty-table-cell{display:block;grid-column:1/-1}.selectable-user-table tbody .empty-table-cell:before{display:none}.selectable-user-table tbody .empty-directory-row{display:block}}@media(max-width:460px){.selectable-user-table tbody tr{grid-template-columns:1fr}.selectable-user-table tbody td{grid-template-columns:4rem minmax(0,1fr)}}.dashboard-greeting-name,.dashboard-greeting-prompt{display:inline}.dashboard-greeting-prompt{font-size:.62em;vertical-align:.12em;letter-spacing:0}.import-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.import-actions .button{margin:0;white-space:nowrap;font-size:.86rem;font-weight:700;line-height:1.2}.password-relogin{margin-top:1rem}@media(max-width:560px){.hero-panel .button-row{display:grid;grid-template-columns:1fr;width:100%;gap:.7rem;position:relative;z-index:2}.hero-panel .button-row .button{width:100%;min-height:48px;touch-action:manipulation}.dashboard-bank-row{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:.8rem;padding:1rem}.dashboard-bank-row .type-badge{width:44px;height:44px;font-size:1rem}.dashboard-bank-row strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.45}.dashboard-bank-row small{white-space:normal;overflow-wrap:anywhere;line-height:1.55}.two-column>.panel{padding:1rem}.two-column .section-heading{align-items:center}.two-column .section-heading .button{flex:0 0 auto}}.exam-admin-row{cursor:pointer;transition:background .15s}.exam-admin-row:hover{background:#ffffff08}.results-modal-scrim{position:fixed;inset:0;background:#040a10b8;display:grid;place-items:center;z-index:60;padding:1.5rem}.results-modal{background:linear-gradient(145deg,#152736,#0d1b27);border:1px solid var(--line);border-radius:14px;width:min(780px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow)}.results-modal>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.35rem;border-bottom:1px solid var(--line)}.results-modal>header h3{margin:.2rem 0 0}.results-modal .modal-close{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);width:34px;height:34px;cursor:pointer;flex:0 0 auto}.results-summary{display:flex;gap:1.4rem;flex-wrap:wrap;padding:.85rem 1.35rem;color:var(--muted);font-size:.8rem;border-bottom:1px solid var(--line)}.results-summary strong{color:var(--text);font-size:1.02rem}.results-group-filter{padding:.75rem 1.35rem 0}.results-group-filter label{display:flex;align-items:center;gap:.65rem;max-width:320px}.results-group-filter select{min-width:180px}.results-body{overflow:auto;padding:0 1.35rem 1.2rem;position:relative;isolation:isolate;background:#10212d}.results-body table{width:100%;border-collapse:separate;border-spacing:0;font-size:.82rem}.results-body th{position:sticky;top:0;z-index:4;background:#12232f;text-align:left;padding:.6rem .5rem;color:var(--muted);font-weight:700;white-space:nowrap;box-shadow:0 1px 0 var(--line)}.results-body td{padding:.55rem .5rem;border-top:1px solid #1c3242;white-space:nowrap}.results-body td.score{font-weight:800;color:var(--text)}.results-status{font-weight:800;font-size:.72rem;padding:.15rem .55rem;border-radius:999px;white-space:nowrap}.results-status.done{color:#7de0ae;background:#35c78724}.results-status.active{color:var(--orange);background:#ff8a3429}.results-status.none{color:var(--muted);background:#8fa2b51f}@media(max-width:560px){.results-modal-scrim{padding:.6rem}.results-summary{gap:.9rem}}.exam-trash-button{width:36px;min-width:36px;padding:.45rem;display:grid;place-items:center;font-size:1rem;line-height:1}.group-management-filter{padding:1rem 1.2rem}.group-management-filter label{max-width:320px}.group-user-table{min-width:650px}.group-user-table tbody tr{cursor:default}.group-user-table .user-col-id,.group-user-table .user-col-name{width:16%}.group-user-table .user-col-group{width:22%}.group-user-table .user-col-role{width:20%}.group-user-table .user-col-participant{width:12%}.group-user-table .user-col-status{width:14%}.directory-readonly-note{margin:1rem 0 0;color:var(--muted);font-size:.75rem}@media(max-width:760px){.results-group-filter label{align-items:stretch;flex-direction:column}.results-group-filter select,.group-user-table{min-width:0}}.resume-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.resume-row .resume-actions .button{margin-left:0}.resume-delete{font-size:1rem;line-height:1;padding:.4rem .55rem}.resume-delete:hover{color:var(--red);border-color:var(--red)}.number-grid button.practiced:not(.favorited) .q-num{color:var(--green)}.number-grid button.favorited .q-num{color:#fff}.map-legend i.state-square.review{background:var(--red)}.map-legend i.state-square.answered{background:#173c56}.question-card .review-button.active{background:var(--red);border-color:var(--red);color:#fff}.number-grid button.flagged{background:var(--red);border-color:#ff8d8d;color:#fff}.number-grid button.flagged.active{box-shadow:0 0 0 2px #ffecec inset}.legend i.flag{background:var(--red)}.review-summary{color:#ff7d7d;font-weight:800}.review-source{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.25rem}.review-source span{padding:.16rem .4rem;border:1px solid #345066;border-radius:4px;color:#9fc2d9;background:#0c1c28}.review-bank-name{display:block;margin-bottom:.35rem}.review-options{display:grid;gap:.45rem;margin:1rem 0}.review-option-head,.review-option-row{display:grid;grid-template-columns:92px minmax(0,1fr) 92px;gap:.7rem;align-items:center}.review-option-head{padding:0 .75rem;color:#7890a4;font-size:.68rem;font-weight:800;text-align:center}.review-option-head span:nth-child(2){text-align:left}.review-option-row{min-width:0;padding:.7rem .75rem;background:#0b1822;border:1px solid #20394b;border-radius:7px}.correct-answer-mark,.learner-choice{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.25rem .4rem;border-radius:5px;font-size:.7rem;font-weight:800;white-space:nowrap}.correct-answer-mark{color:#4d6272;background:#122431}.correct-answer-mark.active{color:#7de0ae;background:#35c78721;border:1px solid rgba(53,199,135,.4)}.review-option-content{display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:.4rem;min-width:0;color:#d7e3eb;line-height:1.55}.review-option-content>b{color:var(--orange)}.review-option-copy{display:grid;gap:.35rem;min-width:0;overflow-wrap:anywhere}.learner-choice.correct{color:#7de0ae;background:#35c78721;border:1px solid rgba(53,199,135,.4)}.learner-choice.wrong,.learner-choice.missed{color:#ff8d96;background:#f45e5e21;border:1px solid rgba(244,94,94,.42)}.learner-choice.unselected{color:#718797;background:#122431}.review-option-row.choice-wrong,.review-option-row.choice-missed{border-right-color:#f45e5eb8}.review-option-row.choice-correct{border-right-color:#35c787b8}@media(max-width:600px){.review-card{padding:1rem}.review-card header{grid-template-columns:30px minmax(0,1fr);gap:.65rem}.review-card header>span{font-size:1.2rem}.review-verdict{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}.review-source{gap:.3rem}.review-source span{font-size:.62rem}.review-image{margin-left:0}.review-option-head,.review-option-row{grid-template-columns:55px minmax(0,1fr) 62px;gap:.35rem}.review-option-head{padding:0 .35rem;font-size:.58rem}.review-option-row{padding:.6rem .35rem}.correct-answer-mark,.learner-choice{padding:.2rem .22rem;font-size:.6rem}.review-option-content{grid-template-columns:1.35rem minmax(0,1fr);gap:.25rem;font-size:.78rem}}.review-index{display:grid;justify-items:center;align-content:start;gap:.3rem;min-width:48px}.review-index>strong{font-size:1.5rem;color:#506a7d}.review-index>small{font-size:.64rem;color:#8196a7;white-space:nowrap}.review-type-bar{display:block;width:26px;height:4px;border-radius:2px;background:#4f9ed0}.review-type-bar.qtype-multiple{background:var(--orange)}.review-type-bar.qtype-judge{background:var(--green)}.review-bank-name{display:block;margin-bottom:.35rem;color:#9fc2d9!important;font-weight:750}.review-answer-list{display:grid;gap:.6rem;margin:1rem 0}.review-answer-option{display:grid;grid-template-columns:38px minmax(0,1fr) 32px;column-gap:.75rem;align-items:center;min-width:0;padding:.75rem;background:#fff;color:#20313e;border:1px solid #cbd5db;border-radius:8px}.review-answer-option>b{width:32px;height:32px;border-radius:5px;background:#e8edf0;display:grid;place-items:center}.review-answer-copy{display:grid;gap:.45rem;min-width:0;line-height:1.6;overflow-wrap:anywhere}.review-answer-option.choice-correct{border-color:#35a773;background:#eaf8f1}.review-answer-option.choice-correct>b{background:#35a773;color:#fff}.review-answer-option.choice-wrong{border-color:#da4f5b;background:#fff0f1}.review-answer-option.choice-wrong>b{background:#da4f5b;color:#fff}.review-choice-control.review-correct{background:#35a773;border-color:#35a773;color:#fff}.review-choice-control.review-wrong{background:#da4f5b;border-color:#da4f5b;color:#fff}.radio-control.review-correct span,.radio-control.review-wrong span{background:#fff}@media(max-width:600px){.review-card header{grid-template-columns:52px minmax(0,1fr)}.review-index>strong{font-size:1.2rem}.review-index>small{font-size:.58rem}.review-answer-option{grid-template-columns:32px minmax(0,1fr) 28px;column-gap:.5rem;padding:.65rem}.review-answer-option>b{width:28px;height:28px}.review-answer-copy{font-size:.8rem}}.group-summary-row{cursor:pointer}.group-summary-row:hover{background:#ffffff08}.metric-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.metric-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.metric-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.metric-grid-5{grid-template-columns:1fr}}.notify-root{position:relative}.notify-bell{position:relative;width:34px;height:34px;border:0;background:none;padding:0;color:#c3d3df;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;line-height:1}.notify-bell:hover{color:#fff}.notify-badge{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--red);color:#fff;font-style:normal;font-size:.62rem;font-weight:800;display:grid;place-items:center;line-height:1}.notify-panel{position:absolute;right:0;top:46px;width:min(360px,88vw);background:#101f2c;border:1px solid #2c4457;border-radius:10px;box-shadow:0 18px 42px #00000073;z-index:40;overflow:hidden}.notify-panel.just-arrived{animation:notify-arrive .38s cubic-bezier(.2,.8,.2,1);border-color:#ff8a34cc;box-shadow:0 18px 42px #00000073,0 0 0 3px #ff8a341f}@keyframes notify-arrive{0%{opacity:0;transform:translateY(-10px) scale(.96)}70%{transform:translateY(2px) scale(1.01)}to{opacity:1;transform:none}}.notify-panel-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem .9rem;border-bottom:1px solid var(--line);color:var(--text)}.notify-panel-head span{color:var(--orange);font-size:.72rem}.notify-empty{margin:0;padding:1.1rem;text-align:center;color:var(--muted);font-size:.82rem}.notify-item{display:grid;grid-template-columns:34px 1fr 14px;gap:.6rem;align-items:start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #1c3040;padding:.7rem .9rem;cursor:pointer}.notify-item:hover{background:#152838}.notify-item .notify-icon{width:30px;height:30px;border-radius:7px;background:#1d3a50;color:#8fc4e8;display:grid;place-items:center;font-size:.9rem}.notify-item .notify-copy{min-width:0;display:grid;gap:.15rem}.notify-item .notify-copy strong{color:#c9d8e4;font-size:.83rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notify-item.unread .notify-copy strong{color:#fff}.notify-item .notify-copy small{color:var(--muted);font-size:.72rem;line-height:1.45;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notify-item .notify-copy em{font-style:normal;color:#5f7a90;font-size:.66rem}.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--orange);margin-top:6px}.notify-all{width:100%;background:#0d1c29;border:0;color:#72b8e7;padding:.65rem;font-weight:700;cursor:pointer}.notify-all:hover{background:#12283a}.notify-list{display:grid}.notify-item.wide{border:1px solid var(--line);border-radius:9px;margin-bottom:.55rem;background:#0f2030}.notify-item.wide:hover{background:#152838}.notify-more{display:flex;justify-content:center;margin-top:.8rem}.topbar-title{min-width:0;overflow:hidden}.topbar-title h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{min-width:max-content;flex:0 0 auto;position:relative;z-index:2}.top-actions .button{white-space:nowrap}@media(max-width:820px){.topbar{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:.55rem;padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));overflow:visible}.menu-button{display:grid;width:40px;height:40px;padding:0;place-items:center;cursor:pointer;position:relative;z-index:2}.topbar-title{align-self:center}.top-actions{margin-left:0;gap:.2rem;overflow:visible;pointer-events:auto}.notify-bell{width:40px;height:40px}.top-actions .button{min-height:40px;padding:.42rem .45rem}}@media(max-width:420px){.topbar{grid-template-columns:38px minmax(0,1fr) auto;gap:.35rem;padding-left:max(.55rem,env(safe-area-inset-left));padding-right:max(.55rem,env(safe-area-inset-right))}.menu-button{width:38px;height:38px}.topbar-title .breadcrumb{display:none}.topbar-title h1{font-size:1.08rem}.notify-bell{width:38px;height:38px;font-size:1.25rem}.top-actions .button{min-height:38px;padding:.35rem .32rem}}.exam-notify-card .exam-notify-facts{display:flex;gap:1.6rem;flex-wrap:wrap;margin:.6rem 0 1.1rem}.exam-notify-card .exam-notify-facts span{display:grid;gap:.25rem;color:var(--muted);font-size:.75rem}.exam-notify-card .exam-notify-facts strong{color:var(--text);font-size:1rem}.diff-card{padding:1.1rem}.diff-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.85rem}.diff-head strong{color:var(--text);font-size:1rem}.diff-change{font-size:.68rem;font-weight:800;padding:.22rem .5rem;border-radius:4px}.diff-change.modified{background:#3a2f14;color:#f0b45c}.diff-change.added{background:#143a2a;color:#5fd6a0}.diff-change.removed{background:#3a1a1e;color:#f08a93}.diff-field{font-size:.66rem;color:#ff7d7d;background:#f45e5e1f;border:1px solid rgba(244,94,94,.38);padding:.18rem .45rem;border-radius:4px;font-weight:800}.diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.diff-columns.single{grid-template-columns:1fr}.diff-col{background:#0b1822;border:1px solid #20394b;border-radius:0 7px 7px 0;padding:.85rem;min-width:0}.diff-col.old{border-left:4px solid #5f7a90}.diff-col.new{border-left:4px solid var(--green)}.diff-col h4{margin:0 0 .5rem;color:#91a8b9;font-size:.78rem}.diff-col .diff-type{margin:0 0 .35rem;color:#6f93b0;font-size:.7rem}.diff-col .diff-content{margin:0 0 .5rem;color:#d7e3eb;line-height:1.65}.diff-image{max-width:100%;max-height:180px;border-radius:6px;margin-bottom:.5rem;cursor:zoom-in}.diff-options{list-style:none;margin:0 0 .5rem;padding:0;display:grid;gap:.3rem}.diff-options li{display:grid;grid-template-columns:1.5rem 1fr;gap:.3rem;color:#b7c7d3;font-size:.85rem;line-height:1.5}.diff-options li b{color:var(--muted)}.diff-options li.correct{color:#7de0ae}.diff-options li.correct b{color:var(--green)}.diff-option-copy{display:grid;gap:.4rem;min-width:0}.diff-option-image-button{width:fit-content;max-width:100%;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:zoom-in;overflow:hidden}.diff-option-image{display:block;max-width:100%;max-height:150px;object-fit:contain}.diff-answer{margin:0 0 .35rem;color:#7de0ae;font-weight:700;font-size:.82rem}.diff-explain{margin:0;color:#93a8b8;font-size:.8rem;line-height:1.65}@media(max-width:700px){.diff-columns{grid-template-columns:1fr}}
