:root{
  --csl-navy:#0f2a5f;--csl-blue:#1d4ed8;--csl-blue-soft:#eef4ff;
  --csl-green:#047857;--csl-amber:#a16207;--csl-red:#b42318;
  --csl-ink:#172033;--csl-muted:#5d687c;--csl-line:#d9e0ea;
}
.csl-shell{width:100%;max-width:none;margin:0 auto;padding:12px 0 32px;color:var(--csl-ink)}
.csl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.csl-eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--csl-blue);text-transform:uppercase}
.csl-title{font-size:23px;line-height:1.25;letter-spacing:-.04em;margin-top:4px}
.csl-help{max-width:520px;font-size:12px;line-height:1.65;color:var(--csl-muted)}
.csl-layout{display:grid;grid-template-columns:clamp(240px,20vw,320px) minmax(0,1fr);gap:clamp(12px,1.5vw,24px);align-items:start}
.csl-panel{background:#fff;border:1px solid var(--csl-line);border-radius:14px;box-shadow:0 1px 2px rgba(15,42,95,.05)}
.csl-sidebar{position:sticky;top:8px;padding:12px;max-height:calc(100dvh - 130px);overflow:auto}
.csl-label{display:block;font-size:12px;font-weight:800;color:#344054;margin:0 0 6px}
.csl-input,.csl-select,.csl-textarea{width:100%;min-height:46px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#172033;padding:10px 12px;font:inherit;font-size:14px;outline:none}
.csl-textarea{min-height:112px;resize:vertical;line-height:1.6}
.csl-input:focus,.csl-select:focus,.csl-textarea:focus{border-color:var(--csl-blue);box-shadow:0 0 0 3px rgba(29,78,216,.14)}
.csl-student-list{display:grid;gap:6px;margin-top:10px}
.csl-student{width:100%;min-height:52px;border:1px solid transparent;border-radius:10px;background:#f7f9fc;padding:8px 10px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:9px;color:var(--csl-ink)}
.csl-student.on{background:var(--csl-blue-soft);border-color:#9bb7f4;color:var(--csl-navy)}
.csl-avatar{width:32px;height:32px;border-radius:9px;background:#dbe7ff;display:grid;place-items:center;color:var(--csl-blue);font-weight:900;flex:0 0 auto}
.csl-student strong{font-size:13px;display:block}.csl-student small{display:block;color:var(--csl-muted);font-size:10px;margin-top:2px}
.csl-main{display:grid;gap:12px;min-width:0}
.csl-card{padding:16px}.csl-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.csl-card-title{font-size:16px;font-weight:900;letter-spacing:-.025em}.csl-meta{font-size:11px;color:var(--csl-muted)}
.csl-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.csl-exam{padding:13px;border:1px solid var(--csl-line);border-radius:12px;background:#fbfcfe}.csl-exam.selected{border-color:#7ca1f4;background:#f7faff;box-shadow:inset 0 0 0 1px #b8caf7}
.csl-exam-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.csl-exam-name{font-size:13px;font-weight:900}
.csl-exam-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px}.csl-badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;background:#eef2f6;color:#475467}
.csl-badge.estimate{background:#fff4e5;color:#854a0e}.csl-badge.official{background:#e7f6ec;color:#096b3f}
.csl-badge.base{background:var(--csl-navy);color:#fff}.csl-exam-options{margin-top:9px;padding:8px 9px;border-radius:8px;background:#fff;border:1px solid #e3e9f2;display:grid;gap:2px;font-size:10px;line-height:1.5;color:#526177}.csl-exam-options strong{font-size:10px;color:#344054}.csl-exam-select{width:100%;min-height:44px;margin-top:9px;border:1px solid #b8caf7;border-radius:9px;background:#fff;color:var(--csl-navy);display:flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:11px;font-weight:900;cursor:pointer;touch-action:manipulation}.csl-exam-select.on{background:var(--csl-navy);border-color:var(--csl-navy);color:#fff}.csl-exam-select:focus-visible{outline:3px solid rgba(29,78,216,.28);outline-offset:2px}.csl-card-help{margin-top:4px;line-height:1.5}
.csl-subjects{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}
.csl-subject{text-align:center;padding:8px 4px;border-radius:8px;background:#fff;border:1px solid #e5eaf1}.csl-subject span{display:block;font-size:9px;color:var(--csl-muted)}.csl-subject strong{font:700 16px 'Space Mono',monospace}
.csl-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:2px}.csl-tab{min-height:44px;padding:8px 14px;border:1px solid var(--csl-line);border-radius:9px;background:#fff;color:#475467;font-weight:800;white-space:nowrap;cursor:pointer}.csl-tab.on{background:var(--csl-navy);border-color:var(--csl-navy);color:#fff}
.csl-scenario{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.csl-grade{background:#f7f9fc;border:1px solid var(--csl-line);border-radius:10px;padding:10px}.csl-grade label{display:block;font-size:10px;font-weight:800;color:#5d687c;margin-bottom:5px}.csl-grade select{min-height:40px}
.csl-result-list{display:grid;gap:8px}.csl-result{border:1px solid var(--csl-line);border-radius:11px;padding:12px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.csl-result-name{font-size:14px;font-weight:900}.csl-result-dept{font-size:12px;color:#475467;margin-top:2px}.csl-rule{font-size:11px;color:#667085;line-height:1.55;margin-top:7px}.csl-result-side{text-align:right;min-width:84px}.csl-fit{font-size:11px;font-weight:900}.csl-fit small{font-size:8px;font-weight:700;color:#7b8495;margin-left:2px}.csl-fit.safe{color:var(--csl-green)}.csl-fit.fit{color:var(--csl-blue)}.csl-fit.reach{color:var(--csl-amber)}.csl-fit.hard{color:#667085}.csl-number{font:700 15px 'Space Mono',monospace;margin-top:4px}
.csl-early-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #b8caf7;border-radius:11px;background:var(--csl-blue-soft)}.csl-early-summary strong,.csl-early-summary span{display:block}.csl-early-summary strong{font-size:13px;color:var(--csl-navy)}.csl-early-summary span{margin-top:2px;font-size:10px;color:#526177}.csl-early-summary b{font:800 15px 'Space Mono',monospace;color:var(--csl-blue)}
.csl-early-group{margin-top:18px}.csl-early-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 2px 8px}.csl-early-head h3{margin:0;font-size:14px;letter-spacing:-.02em}.csl-early-head p{margin:3px 0 0;font-size:10px;line-height:1.5;color:var(--csl-muted)}.csl-count{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#eef2f6;color:#475467;font-size:10px;font-weight:900}.csl-count.met{background:#e9f7ef;color:var(--csl-green)}.csl-count.none{background:#eef4ff;color:var(--csl-blue)}
.csl-early-result.marked{border-color:#7ca1f4;background:#f7faff;box-shadow:inset 3px 0 0 var(--csl-blue)}.csl-efficiency{width:max-content;max-width:100%;margin-top:8px;padding:5px 7px;border-radius:6px;background:#ecfdf3;color:#027a48;font-size:10px;font-weight:800}.csl-efficiency span{color:#667085;font-size:9px;font-weight:600;margin-left:4px}.csl-mark-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:84px;min-height:44px;margin-top:9px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#475467;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.csl-mark-btn.on{border-color:var(--csl-blue);background:var(--csl-blue);color:#fff}.csl-mark-btn:focus-visible,.csl-load-more:focus-visible{outline:3px solid rgba(29,78,216,.28);outline-offset:2px}.csl-load-more{width:100%;min-height:48px;margin-top:16px;border:1px solid #b8caf7;border-radius:10px;background:#f7faff;color:var(--csl-navy);font:inherit;font-size:12px;font-weight:900;cursor:pointer}.csl-load-more:hover{background:#eef4ff}
.csl-fit-group{margin-top:14px}.csl-fit-group:first-of-type{margin-top:12px}.csl-fit-group-head{display:flex;align-items:center;gap:8px;margin:0 2px 7px;font-size:11px;color:#667085}.csl-fit-group-head strong{color:#344054}.csl-fit-group-head .csl-fit{padding:3px 8px;border-radius:999px;background:#f2f4f7}.csl-fit-empty{padding:16px}.csl-chance{margin-top:8px;display:grid;gap:3px;min-width:118px}.csl-chance strong{font-size:11px;color:#344054}.csl-chance span{font-size:9px;color:#7b8495}.csl-chance i{display:block;width:100%;height:5px;border-radius:99px;background:#eaecf0;overflow:hidden}.csl-chance i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c3aed,#2563eb)}
.csl-requirements{margin-top:9px;padding:9px 10px;border-left:3px solid #f59e0b;border-radius:7px;background:#fffbeb;display:grid;gap:4px;font-size:10px;line-height:1.45;color:#694c16}.csl-requirements>strong{font-size:10px;color:#7c4a03}.csl-requirements a{width:max-content;color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.csl-req:before{content:'•';margin-right:5px}.csl-final-hold{color:#9a3412!important;font-weight:800}
.csl-match{width:max-content;max-width:100%;margin-top:8px;padding:4px 7px;border-radius:6px;background:#f2f4f7;color:#475467;font-size:9px;line-height:1.4}.csl-match.good{background:#ecfdf3;color:#027a48}.csl-match.bad{background:#fff4ed;color:#b54708}.csl-match strong{font-weight:900}
.csl-selection-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #c8d7f8;border-radius:10px;background:#f7faff}.csl-selection-summary strong,.csl-selection-summary>div>span{display:block}.csl-selection-summary strong{font-size:11px;color:var(--csl-navy)}.csl-selection-summary>div>span{margin-top:3px;font-size:10px;color:#526177}.csl-selection-stats{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}.csl-selection-stats span{margin:0!important;padding:4px 7px;border-radius:999px;background:#eef2f6;font-size:9px!important;font-weight:800}.csl-selection-stats .applied{background:#e9f7ef;color:var(--csl-green)}.csl-selection-stats .review{background:#fff7e6;color:#8a4b08}.csl-selection-stats .blocked{background:#fff1f0;color:var(--csl-red)}
.csl-eligibility,.csl-bonus{width:max-content;max-width:100%;margin-top:8px;padding:6px 8px;border-radius:7px;display:flex;align-items:flex-start;gap:6px;font-size:9px;line-height:1.45}.csl-eligibility strong,.csl-bonus strong{white-space:nowrap;font-weight:900}.csl-eligibility.eligible{background:#eef6ff;color:#175cd3}.csl-eligibility.review,.csl-bonus.review{background:#fff7e6;color:#8a4b08}.csl-bonus.applied{background:#ecfdf3;color:#027a48}
.csl-empty{padding:28px 14px;text-align:center;color:var(--csl-muted);font-size:12px;line-height:1.7}
.csl-searches{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.csl-searches label{font-size:13px;font-weight:700}.csl-searches input{display:block;margin-top:6px;font-size:16px}.csl-school{margin:12px 0;border:1px solid var(--csl-line);border-radius:14px;background:white;overflow:hidden}.csl-school summary{padding:18px;cursor:pointer;min-height:48px}.csl-school summary>strong{font-size:18px}.csl-school summary>span{margin-left:12px;font-size:12px;color:#526177}.csl-school-shared{margin:10px 0 0;font-size:12px;line-height:1.7;color:#526177}.csl-school[open]{border-color:#8ca6e8}.csl-school>.csl-result-list{padding:12px;background:#f7f9fd}.csl-school-list{overflow-anchor:none}.csl-personal .csl-mark-btn,.csl-personal .csl-early-summary{display:none}.csl-personal .csl-panel{margin-bottom:16px}.csl-personal input,.csl-personal select{font-size:16px}summary:focus-visible,.cat:focus-visible{outline:3px solid #3762dc;outline-offset:3px}
body.auth-pending>*:not(#auth-gate):not(script):not(style){display:none!important}#auth-gate{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f4f6fb}#auth-gate[hidden]{display:none}.auth-card{width:min(100%,420px);background:white;border:1px solid #d9e0ee;border-radius:20px;padding:28px}.auth-card h1{font-size:24px;color:#182b60}.auth-card p{line-height:1.6;color:#526177}.auth-card label{display:block;margin:16px 0;font-size:14px}.auth-card input{box-sizing:border-box;display:block;width:100%;min-height:48px;font-size:16px;border:1px solid #bdc9df;border-radius:10px;padding:12px;margin-top:8px}.auth-card button,.session-actions button{min-height:48px;padding:12px 20px;border-radius:10px;background:#182b60;color:white;border:0;cursor:pointer}.auth-card button:disabled{opacity:.5}.session-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}@media(max-width:600px){.csl-searches{grid-template-columns:1fr}.csl-school summary>span{display:block;margin:6px 0 0}}
.csl-note{font-size:11px;line-height:1.6;color:#5d687c;background:#f7f9fc;border-radius:9px;padding:10px;margin-top:10px}
.csl-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.csl-btn{min-height:46px;border-radius:10px;border:1px solid var(--csl-line);padding:9px 15px;background:#fff;color:#344054;font-weight:800;cursor:pointer}.csl-btn.primary{background:var(--csl-blue);border-color:var(--csl-blue);color:#fff}.csl-btn:disabled{opacity:.45;cursor:not-allowed}
.csl-wrong-card{margin:0 0 12px;padding:15px;border:1px solid #bdcdf5;border-radius:13px;background:linear-gradient(180deg,#f7faff 0,#fff 100%)}
.csl-wrong-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.csl-wrong-title{font-size:15px;font-weight:900;margin-bottom:4px}.csl-wrong-desc{font-size:11px;line-height:1.6;color:#5d687c;margin-bottom:12px}.csl-inline{display:grid;grid-template-columns:1fr auto;gap:7px}.csl-calc{min-width:92px;min-height:46px;border:0;border-radius:10px;background:var(--csl-navy);color:#fff;font-weight:800;cursor:pointer}.csl-live{min-height:20px;margin-top:5px;font-size:11px;color:var(--csl-blue);font-weight:700}
.csl-published{border-left:4px solid var(--csl-blue);padding:14px 14px 14px 16px;background:#f4f7ff;border-radius:10px;margin-bottom:12px}.csl-published h3{font-size:15px;margin:0 0 9px}.csl-published p{font-size:12px;line-height:1.65;color:#475467;white-space:pre-wrap}.csl-published-basis{width:max-content;max-width:100%;margin:-2px 0 9px;padding:5px 8px;border-radius:7px;background:#dfe9ff;color:var(--csl-navy);font-size:10px;font-weight:900}.csl-published-label{grid-column:1/-1;font-size:10px;font-weight:900;color:var(--csl-blue)}.csl-published-schools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 11px}.csl-published-school{min-width:0;padding:9px;border:1px solid #c8d7f8;border-radius:10px;background:#fff;display:flex;align-items:center;gap:8px}.csl-uni-mark{width:34px;height:34px;flex:0 0 auto;border-radius:9px;background:var(--csl-navy);color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900}.csl-published-school strong,.csl-published-school span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csl-published-school strong{font-size:11px;color:var(--csl-navy)}.csl-published-school span{margin-top:2px;font-size:9px;color:var(--csl-muted)}
@media(max-width:900px){.csl-layout{grid-template-columns:220px minmax(0,1fr)}.csl-scenario{grid-template-columns:repeat(3,1fr)}.csl-subjects{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1500px){.csl-fit-group .csl-result-list,.csl-early-group .csl-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}.csl-help{max-width:68ch}}
@media(max-width:700px){.csl-shell{padding:8px 8px 28px}.csl-top{display:block}.csl-help{margin-top:7px}.csl-layout{display:block}.csl-sidebar{position:static;max-height:none;margin-bottom:10px}.csl-student-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:220px;overflow:auto}.csl-score-grid,.csl-wrong-grid{grid-template-columns:1fr}.csl-scenario{grid-template-columns:repeat(2,1fr)}.csl-result{grid-template-columns:1fr}.csl-result-side{text-align:left;display:grid;grid-template-columns:auto auto 1fr;gap:4px 10px;align-items:center}.csl-result-side .csl-chance{grid-column:1/-1}.csl-early-result .csl-result-side{grid-template-columns:auto 1fr auto}.csl-mark-btn{margin-top:0}.csl-efficiency{width:100%}.csl-efficiency span{display:block;margin:2px 0 0}.csl-fit-group-head{flex-wrap:wrap}.csl-title{font-size:20px}.csl-published-schools{grid-template-columns:1fr}.csl-selection-summary{display:block}.csl-selection-stats{justify-content:flex-start;margin-top:9px}.csl-eligibility,.csl-bonus{width:100%;display:block}.csl-eligibility span,.csl-bonus span{display:block;margin-top:2px}}
@media(prefers-reduced-motion:reduce){.csl-shell *{scroll-behavior:auto!important;transition:none!important}}
