@property --angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}:root{font-family:Arial,Helvetica,sans-serif;color:#183e35;background:#f2f4ef;font-synthesis:none;--forest: #153e34;--dark: #113229;--orange: #ef8c4e;--line: #d4ddd3;--muted: #65776e}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc5b24;outline-offset:4px}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}.app-shell{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1920px;margin:auto;min-height:100vh}.sidebar{background:var(--forest);color:#f3f7ee;padding:36px 25px;display:flex;flex-direction:column;min-width:0}.brand{display:flex;gap:12px;align-items:center;color:#f5f6e8;text-decoration:none;font:700 33px/1 Arial,sans-serif;letter-spacing:-2px}.brand>span>span{font-weight:400}.brand-symbol{display:flex;align-items:end;gap:3px;width:28px;height:25px}.brand-symbol i{height:12px;width:6px;background:#f4e4c9;border-radius:2px}.brand-symbol i:nth-child(2){height:19px}.brand-symbol i:last-child{height:26px;background:var(--orange)}.sidebar-label{font:9px/1.7 monospace;letter-spacing:1.2px;color:#b8cbbb;margin:30px 0 46px}.sidebar-nav{font-size:11px}.sidebar-nav>a,.sidebar-nav>div{display:flex;gap:12px;align-items:center;padding:17px 10px;margin:0 -10px 10px;text-decoration:none;border-radius:7px}.sidebar-nav>a{background:#34574b;color:#fff4da}.sidebar-nav>div{color:#c4d3c8}.sidebar-nav i{margin-left:auto;font:8px monospace;font-style:normal}.sidebar-nav span{font-size:20px}.side-note{margin:50px 0 45px;padding:22px 18px;background:#20493d;border:1px solid #4d6a58;border-radius:13px;position:relative}.side-note-mark{font-size:42px;display:block;color:var(--orange);line-height:1}.side-note h2{font-size:25px;letter-spacing:-1px;line-height:1.1;margin:18px 0}.side-note p{font-size:11px;line-height:1.7;color:#c3d1c6}.side-rule{display:block;width:100%;height:1px;background:#526d5d;margin:23px 0}.side-note small{font:8px/1.6 monospace;letter-spacing:1px;color:#c4d3c8}.side-footer{display:flex;align-items:start;gap:10px;margin-top:auto;font:8px/1.8 monospace;letter-spacing:.8px}.side-footer small{font-size:8px;letter-spacing:0;color:#bfd0c5}.status-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#9bcc84;margin-top:4px}.main-shell{min-width:0}header{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:86px;padding:20px 5%;border-bottom:1px solid var(--line);background:#f8faf5}.breadcrumb{font:9px monospace;letter-spacing:1px}.breadcrumb span{color:#8a9d8b;margin:0 12px}.header-actions{display:flex;align-items:center;gap:25px}.session-chip{font:8px monospace;letter-spacing:1px;border:1px solid #b8c9b6;padding:9px 13px;border-radius:20px}.student-chip{display:flex;align-items:center;gap:10px;font-size:11px}.student-chip i{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#e4ebdd;font:12px Georgia,serif;font-style:normal}.quiet{background:none;border:0;color:inherit;padding:12px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px}.quiet:hover{color:#b35223}main{padding:42px 5% 30px;max-width:1500px;margin:auto}.eyebrow,.panel-number{font:9px/1.6 monospace;letter-spacing:1.2px}.welcome-head{padding:0 0 32px}.welcome-head h1{font-size:clamp(40px,4.3vw,66px);line-height:1.02;letter-spacing:-3.5px;margin:18px 0}.welcome-head h1 span{color:#688376}.welcome-head>p:last-child{font-size:13px;line-height:1.7;color:var(--muted)}.welcome-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:28px}.signin-panel,.entry-panel{background:#fffef9;border:1px solid var(--line);padding:30px;border-radius:15px;min-width:0;box-shadow:0 6px 12px #173e3503}.panel-number{display:flex;align-items:center;gap:12px;font-size:8px;color:var(--muted)}.panel-number>span{border:1px solid #bccabb;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--forest);font-size:10px}h2{font-size:27px;letter-spacing:-1px;line-height:1.15;margin:25px 0 15px}.signin-panel>p{font-size:12px;line-height:1.7;color:var(--muted);max-width:300px}label{display:block;font-size:11px;font-weight:700;margin:23px 0 10px}input,select{display:block;width:100%;min-width:0;background:#f7f9f2;color:var(--forest);border:1px solid #c7d2c3;border-radius:7px;padding:15px;min-height:51px;font-size:14px}input::placeholder{color:#7d8a7b}.primary,.calculate{display:flex;width:100%;justify-content:space-between;gap:15px;align-items:center;border:0;border-radius:7px;background:var(--forest);color:#faf9ea;padding:17px 20px;font-size:12px;font-weight:700;margin-top:24px;transition:background .2s}.primary>span,.calculate>span{font-size:20px}.primary:hover{background:#2e5949}.hint{font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0}.demo-note{display:flex;gap:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}.demo-note p{font-size:10px;line-height:1.7;margin:0;color:var(--muted)}.demo-note>span{font-size:17px}.error{color:#a34127;font-size:12px;line-height:1.6}.error:empty{display:none}.scale-preview{background:#e1e8db;border:1px solid #ced9c6;border-radius:15px;padding:27px 30px;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.preview-label{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;font:8px/1.5 monospace;letter-spacing:1px}.preview-label>span:last-child{font-size:7px;color:#607c6b}.preview-dial{position:relative;display:grid;place-items:center;width:245px;height:245px;max-width:100%;aspect-ratio:1;border:1px solid #a7bba5;border-radius:50%;margin:25px auto 22px;background:repeating-conic-gradient(from -1deg,#658a6822 0 1deg,transparent 1deg 10deg);isolation:isolate}.preview-dial:before{content:"";position:absolute;inset:17px;border-radius:50%;border:12px solid var(--forest)}.preview-dial>div{width:170px;height:170px;border-radius:50%;background:#e1e8db;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.preview-dial small,.preview-dial>div>span{font:8px monospace;letter-spacing:1px}.preview-dial strong{font-size:64px;letter-spacing:-4px;margin:8px 0}.preview-dial>i{position:absolute;right:23px;top:27px;border:6px solid #e1e8db;background:var(--orange);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font:22px Arial,sans-serif}.scale-examples{display:flex;width:100%;justify-content:center;gap:25px;border-top:1px solid #adc0aa;padding-top:19px}.scale-examples>span{display:flex;align-items:center;gap:8px;font:10px monospace}.scale-examples b{font:21px Arial,sans-serif;font-weight:400}.scale-preview>p{font-size:11px;color:#567461;margin:20px 0 0}.process-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:9px;background:#f9faf6;margin-top:28px;padding:20px 0}.process-strip>div{display:flex;gap:14px;align-items:center;padding:0 22px;font-size:11px;border-right:1px solid var(--line)}.process-strip>div:last-child{border:0}.process-strip b{font:9px monospace;color:#b65e2e}.workspace-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.workspace-head h1{font-size:48px;line-height:1;letter-spacing:-2.8px;margin:18px 0 0}.workspace-head h1 span{color:#6f8976}.scale-toggle{background:#fffef9;border:1px solid #c5d0c1;border-radius:6px;padding:13px 17px;font-size:10px;color:var(--forest);display:flex;gap:23px;align-items:center}.scale-toggle span{font-size:20px}.grade-scale{display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;padding:18px 20px;background:#e3ebde;border-radius:9px;margin:0 0 25px}.grade-scale>div{display:flex;flex-direction:column;gap:7px}.grade-scale strong{font-size:14px}.grade-scale span{font:10px monospace;color:#54705c}.metric-strip{display:grid;grid-template-columns:.8fr 1fr 1.15fr;border:1px solid var(--line);background:#f9faf5;border-radius:11px;margin-bottom:26px;padding:20px 0}.metric-strip>div{padding:0 25px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px;min-width:0}.metric-strip>div:last-child{border:0}.metric-strip>div>span{font:8px monospace;letter-spacing:1px;color:var(--muted)}.metric-strip strong{font-size:26px;font-weight:500;letter-spacing:-1px;line-height:1.15}.metric-strip small{font-size:10px;letter-spacing:0;color:var(--muted)}.metric-strip .metric-state{display:flex;gap:12px;align-items:center;font-size:14px;letter-spacing:0;margin-top:6px}.metric-state .status-dot{margin:0;background:#df9655}.workspace-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px}.entry-panel h2{font-size:29px;margin:26px 0 15px}.form-fields{display:grid;grid-template-columns:1.15fr .85fr;gap:15px}.entry-panel .hint{max-width:400px}.entry-bottom{display:flex;align-items:end;gap:20px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.entry-bottom>span:last-child{font-size:11px;line-height:1.6;color:#65816b}.mini-graph{display:flex;align-items:end;gap:6px;height:48px}.mini-graph i{width:15px;height:17px;background:#b6c5a9;border-radius:3px 3px 0 0}.mini-graph i:nth-child(2){height:28px}.mini-graph i:nth-child(3){height:38px;background:#577f67}.mini-graph i:last-child{height:48px;background:var(--orange)}.result-panel{background:var(--forest);color:#f5f5e9;border-radius:15px;padding:25px 27px;min-width:0}.result-panel .preview-label>span:last-child{color:#cad6bf;font-size:7px}.gpa-dial{width:215px;height:215px;margin:22px auto 18px;max-width:100%;aspect-ratio:1;border-radius:50%;padding:12px;background:conic-gradient(from -90deg,var(--orange) var(--angle),#446456 0);transition:--angle .8s ease;box-shadow:0 0 0 9px #34574a55}.dial-center{width:100%;height:100%;border-radius:50%;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center}.dial-center small,.dial-center>span{font:8px monospace;letter-spacing:1.2px;color:#ccdac8}.dial-center strong{font-size:61px;letter-spacing:-4px;margin:9px 0;font-weight:500}.calculated .dial-center strong{animation:score-arrive .45s ease}.result-summary{display:flex;flex-direction:column;gap:8px;align-items:center;font-size:11px}.result-summary small{font-size:9px;color:#bdd0be}.calculate{background:var(--orange);color:#183d32;margin-top:20px}.calculate:hover:not(:disabled){background:#ffab70}.transcript{margin:32px 0 15px;border:1px solid var(--line);background:#fffef9;border-radius:13px;padding:25px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font-size:26px;margin:10px 0 0}.section-head h2>span{font:11px monospace;letter-spacing:0;padding:5px 8px;background:#e6ecdf;border-radius:5px;margin-left:6px}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font:8px monospace;letter-spacing:1px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}td{padding:18px 0;border-bottom:1px solid #e1e7dc}th:first-child{width:58%}td:first-child{overflow-wrap:anywhere}.row-number{font:9px monospace;color:#83957b;margin-right:18px}.grade-pill{display:inline-grid;place-items:center;min-width:28px;padding:6px;background:#e3eddd;border-radius:5px;font-size:11px}.remove{border:1px solid #c4d1bd;border-radius:50%;background:none;color:var(--forest);width:32px;height:32px;font-size:20px}.empty{text-align:center;padding:30px;color:var(--muted);font-size:12px}.empty>span{display:block;font-size:27px;margin-bottom:12px}.empty small{display:block;font-size:10px;margin-top:10px}.status{font-size:11px;line-height:1.6}.status:empty{display:none}footer{display:flex;gap:22px;justify-content:space-between;align-items:center;padding:25px 5%;border-top:1px solid var(--line);color:var(--muted);font-size:9px}footer strong{color:var(--forest);font:10px monospace}footer a{text-underline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes score-arrive{0%{transform:translateY(5px);opacity:.3}to{transform:translateY(0);opacity:1}}@media(max-width:1150px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding:30px 20px}.brand{font-size:29px}.sidebar-nav{font-size:9px}.sidebar-nav>a,.sidebar-nav>div{gap:9px}.side-note{padding:20px 14px}.side-note h2{font-size:23px}.welcome-grid{gap:22px}.signin-panel,.entry-panel{padding:25px}.scale-preview{padding:25px 22px}.preview-label>span:last-child{font-size:6px}.preview-dial{width:215px;height:215px}.preview-dial>div{width:145px;height:145px}.preview-dial strong{font-size:56px}.preview-dial:before{inset:14px;border-width:10px}.process-strip>div{padding:0 17px;font-size:10px;gap:10px}.form-fields{grid-template-columns:1fr}.form-fields label{margin-top:16px}.entry-bottom{display:none}.gpa-dial{width:200px;height:200px}.workspace-grid{grid-template-columns:1.1fr 1fr}.result-panel{padding:25px 20px}.metric-strip>div{padding:0 18px}.metric-strip small{display:block;margin-top:5px}.metric-strip .metric-state{font-size:12px}.breadcrumb{font-size:8px;letter-spacing:.5px}.header-actions{gap:16px}}@media(max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{padding:20px 5%;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:25px}.brand{font-size:29px}.sidebar-label,.sidebar-nav,.side-note{display:none}.side-footer{margin:0;font-size:7px}.side-footer small{font-size:7px}.sidebar .status-dot{margin-top:3px}header{min-height:70px;padding:15px 5%}main{padding-top:30px}.welcome-head h1{font-size:50px}.welcome-grid{grid-template-columns:1fr 1fr}.workspace-grid{grid-template-columns:1.1fr 1fr}.form-fields{grid-template-columns:1fr}.metric-strip{padding:18px 0}.metric-strip>div{padding:0 18px}.metric-strip strong{font-size:23px}.metric-strip>div>span{font-size:7px}.workspace-head h1{font-size:44px}.entry-panel h2{font-size:26px}}@media(max-width:580px){.sidebar{padding:21px 5%;gap:16px}.brand{font-size:28px}.side-footer{font-size:6px;letter-spacing:.7px}.side-footer small{font-size:6px}.sidebar .status-dot{width:5px;height:5px}.breadcrumb{font-size:7px;letter-spacing:.3px}.breadcrumb span{margin:0 6px}.header-actions{gap:12px}.header-actions .quiet{font-size:9px}.student-chip{font-size:9px;gap:6px}.student-chip i{display:none}.session-chip{font-size:7px;padding:7px 9px}.header-actions .student-chip+.quiet{font-size:9px}header{gap:10px;min-height:58px}.welcome-head{padding-bottom:22px}.welcome-head h1{font-size:44px;letter-spacing:-2.5px;margin:18px 0}.welcome-head>p:last-child{font-size:12px;max-width:285px}.eyebrow{font-size:8px;letter-spacing:.9px}.welcome-grid{grid-template-columns:1fr;gap:22px}.signin-panel,.entry-panel{padding:25px 22px;border-radius:12px}h2{font-size:26px}.signin-panel>p{font-size:12px}.signin-panel input{font-size:16px}.scale-preview{padding:23px;border-radius:12px}.preview-dial{width:230px;height:230px}.preview-dial>div{width:155px;height:155px}.preview-label>span:last-child{font-size:6px}.process-strip{grid-template-columns:1fr;padding:0;margin-top:22px}.process-strip>div{border-right:0;border-bottom:1px solid var(--line);padding:17px 22px;font-size:11px}.process-strip>div:last-child{border:0}.workspace-head{align-items:start;gap:15px;margin-bottom:25px;flex-direction:column}.workspace-head .eyebrow{max-width:none}.workspace-head .scale-toggle{max-width:none;margin:0}.workspace-head h1{margin-bottom:0}.workspace-head h1{font-size:40px;letter-spacing:-2.5px;margin-top:14px}.workspace-head .eyebrow{font-size:7px;max-width:165px}.scale-toggle{padding:9px 10px;font-size:8px;gap:10px;max-width:112px;margin-top:4px;line-height:1.5}.scale-toggle span{font-size:16px}.metric-strip{grid-template-columns:1fr 1fr;padding:17px 0}.metric-strip>div{padding:0 17px}.metric-strip>div:nth-child(2){border:0}.metric-strip>div:last-child{grid-column:span 2;border-top:1px solid var(--line);margin-top:17px;padding-top:15px;flex-direction:row;align-items:center;justify-content:space-between}.metric-strip strong{font-size:24px}.metric-strip .metric-state{margin:0;font-size:11px;gap:8px}.metric-strip>div>span{font-size:7px;letter-spacing:.7px}.workspace-grid{grid-template-columns:1fr;gap:22px}.form-fields{grid-template-columns:1fr}.entry-panel input,.entry-panel select{font-size:16px}.entry-panel .hint{font-size:10px}.entry-panel h2{font-size:26px}.gpa-dial{width:210px;height:210px}.result-panel{padding:25px;border-radius:12px}.result-panel .preview-label>span:last-child{font-size:7px}.result-summary{font-size:11px}.calculate{font-size:12px}.transcript{padding:22px 18px;margin-top:24px}.section-head{align-items:start;gap:12px;margin-bottom:20px}.section-head .eyebrow{font-size:7px;max-width:150px}.section-head h2{font-size:24px;line-height:1.2}.section-head h2>span{font-size:9px;margin-left:5px}.section-head .quiet{font-size:9px;max-width:85px;text-align:right;line-height:1.5}.table-wrap table{font-size:11px;min-width:255px}.row-number{display:none}.table-wrap th{font-size:7px;letter-spacing:.4px}.table-wrap th:first-child{width:46%}.table-wrap td:first-child{padding-right:14px;max-width:130px}.grade-pill{font-size:10px}.remove{width:30px;height:30px}.empty{font-size:11px;padding:24px 10px}.empty small{font-size:9px}.grade-scale{gap:18px;padding:18px}.grade-scale>div{min-width:28px}.grade-scale span{font-size:9px}footer{flex-wrap:wrap;gap:16px;padding:24px 5%;font-size:8px}footer>span{order:3;width:100%}.status{font-size:11px}}@media(max-width:350px){.breadcrumb{max-width:140px;font-size:6px;line-height:1.7}.student-chip{font-size:8px}.header-actions{gap:9px}.welcome-head h1{font-size:39px}.workspace-head h1{font-size:36px}.metric-strip>div{padding:0 14px}.metric-strip .metric-state{font-size:10px}.side-footer{font-size:6px;letter-spacing:0}.brand{font-size:26px}.gpa-dial{width:195px;height:195px}.preview-dial{width:210px;height:210px}.section-head h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}svg.compat-arrow{display:inline-block;position:static;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;fill:none;stroke:currentColor}
