.gpa-page{padding-bottom:56px}.gpa-print-report{display:none}.gpa-hero{background:0 0;border:0;max-width:820px;padding:24px 0 32px}.gpa-hero h1{letter-spacing:-1.6px;margin:14px 0;font-size:clamp(30px,4vw,48px);line-height:1.15}.gpa-hero p{color:var(--secondary);font-size:17px}.gpa-kicker{letter-spacing:1.7px;color:var(--green);font-size:11px;font-weight:700}.gpa-tool{--gpa-line:color-mix(in srgb, var(--text) 18%, transparent)}.gpa-tool button,.gpa-tool input,.gpa-tool select{font:inherit}.gpa-tool button{border:1px solid var(--gpa-line);min-height:44px;color:var(--text);background:var(--surface-soft);cursor:pointer;white-space:normal;border-radius:10px;padding:10px 14px}.gpa-tool button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.gpa-tool button:disabled{opacity:.5;cursor:not-allowed}.gpa-tool :is(button,input,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}.gpa-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gpa-actions details{padding:10px}.gpa-actions details[open] .gpa-actions{margin-top:12px}.gpa-notice{color:var(--green);min-height:24px;font-size:14px}.gpa-notice:empty{display:none}.gpa-programs{flex-wrap:wrap;gap:8px;padding:14px 0 20px;display:flex}.gpa-programs button{overflow-wrap:anywhere;max-width:100%}.gpa-programs [aria-current=true]{background:var(--accent-soft);border-color:var(--accent)}.gpa-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:24px;display:grid}.gpa-entry{min-width:0}.gpa-panel{background:var(--surface);border:1px solid var(--gpa-line);border-radius:20px;padding:clamp(16px,2.2vw,26px)}.gpa-panel h2{letter-spacing:-.7px;margin:12px 0 22px;font-size:24px;line-height:1.3}.gpa-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.gpa-settings>:last-child:nth-child(3){grid-column:1/-1}.gpa-field{flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:600;display:flex}.gpa-tool :is(input:not([type=checkbox]),select){border:1px solid var(--gpa-line);width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--bg);border-radius:9px;padding:10px;font-size:15px}.gpa-tool input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);vertical-align:middle;margin:0 7px 0 0}.gpa-help,.gpa-details p,.gpa-result small,.gpa-target p{color:var(--secondary);font-size:13px;line-height:1.65}.gpa-details{border-top:1px solid var(--gpa-line);margin-top:18px;padding-top:14px}.gpa-details summary,.gpa-actions summary{cursor:pointer;padding:4px 0;font-size:13px}.gpa-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.gpa-term-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px 0;display:flex}.gpa-term-tools p{color:var(--secondary);font-size:13px}.gpa-term{margin-bottom:20px}.gpa-term-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.gpa-term-average{text-align:right;flex-direction:column;flex:none;display:flex}.gpa-term-average :is(span,small){color:var(--secondary);font-size:11px}.gpa-term-average strong{color:var(--green);font-variant-numeric:tabular-nums;font-size:29px}.gpa-course{border:1px solid var(--gpa-line);border-radius:12px;min-width:0;margin:22px 0 14px;padding:14px}.gpa-course legend{color:var(--secondary);padding:0 6px;font-size:12px}.gpa-course-fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.gpa-course-fields>:first-child{grid-column:span 4}.gpa-course-fields>:nth-child(2),.gpa-course-fields>:nth-child(n+3){grid-column:span 2}.gpa-course-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:flex}.gpa-excluded{background:var(--surface-soft);border-style:dashed}.gpa-assessment{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;margin:14px 0;display:grid}.gpa-add-course{width:100%;border-style:dashed!important}.gpa-result{background:linear-gradient(150deg, var(--accent-soft), var(--surface) 45%);max-height:calc(100dvh - 120px);scroll-margin-top:100px;position:sticky;top:100px;overflow-y:auto}.gpa-result>p{color:var(--secondary);overflow-wrap:anywhere;font-size:13px}.gpa-score{color:var(--green);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:clamp(48px,5vw,64px);font-weight:700;line-height:1.2}.gpa-score small{letter-spacing:0;font-size:18px}.gpa-totals{border-block:1px solid var(--gpa-line);margin:16px 0;padding:16px 0}.gpa-totals>div{justify-content:space-between;gap:16px;padding:6px 0;font-size:12px;display:flex}.gpa-totals dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.gpa-term-chart{gap:14px;display:grid}.gpa-term-chart>div>div{overflow-wrap:anywhere;justify-content:space-between;gap:10px;font-size:12px;display:flex}.gpa-bar{background:var(--surface-soft);border-radius:9px;height:5px;margin-top:6px;display:block;overflow:hidden}.gpa-bar>span{background:var(--green);height:100%;display:block}.gpa-target{border-block:1px solid var(--gpa-line);margin:24px 0;padding:18px 0}.gpa-target h3{margin:0;font-size:18px}.gpa-target .gpa-field{margin:12px 0}.gpa-alert{background:var(--accent-soft);border-left:3px solid var(--accent);overflow-wrap:anywhere;padding:12px;font-size:13px}.gpa-alert ul{padding-left:18px}.gpa-mobile-result{display:none}.gpa-guide{max-width:860px;margin-top:40px}.gpa-guide h2{margin-top:32px}.gpa-guide table{border-collapse:collapse;width:100%;font-size:14px}.gpa-guide :is(td,th){text-align:left;border-bottom:1px solid var(--border);padding:12px 8px}.gpa-guide a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.gpa-guide details{border-bottom:1px solid var(--border);padding:16px 0}.gpa-guide summary{cursor:pointer;font-weight:600}@media (max-width:1000px){.gpa-layout{grid-template-columns:minmax(0,1fr)}.gpa-result{max-height:none;position:static;overflow:visible}.gpa-mobile-result{width:100%;box-shadow:var(--shadow);z-index:12;margin:0 0 16px;display:block;background:var(--accent-soft)!important;border-color:var(--accent)!important}}@media (max-width:550px){.gpa-hero{padding:12px 0 18px}.gpa-hero h1{font-size:28px}.gpa-hero p{font-size:15px}.gpa-settings{grid-template-columns:minmax(0,1fr)}.gpa-course-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.gpa-course-fields>:nth-child(n){grid-column:auto}.gpa-course-fields>:first-child,.gpa-course-fields>:nth-child(2){grid-column:1/-1}.gpa-term-heading{gap:12px}.gpa-assessment{grid-template-columns:repeat(2,minmax(0,1fr))}.gpa-assessment>:first-child,.gpa-assessment button{grid-column:1/-1}.gpa-tool :is(input:not([type=checkbox]),select){font-size:16px}}@media print{@page{size:A4;margin:12mm}body:has(.gpa-page){color:#000!important;background:#fff!important}body:has(.gpa-page) :is(.site-header,.site-footer,.site-breadcrumbs,.mobile-nav,.pillar-related,.gpa-no-print,.gpa-guide,.gpa-notice,.privacy-notice,.privacy-floating,.data-issue-link){display:none!important}.gpa-page{--surface:white;--surface-soft:#f5f5f5;--text:#111;--secondary:#333;--bg:white;--green:#111;--accent-soft:#eee;width:100%;max-width:none;padding:0}.gpa-hero{padding:0}.gpa-hero h1{font-size:23px}.gpa-hero p{font-size:12px}.gpa-layout{flex-direction:column;display:flex}.gpa-result{background:#fff;order:-1;width:100%;position:static}.gpa-entry{width:100%}.gpa-panel{box-shadow:none;border:1px solid #aaa;padding:14px}.gpa-entry>.gpa-panel:first-child,.gpa-term .gpa-details{display:none}.gpa-course{break-inside:avoid}.gpa-target,.gpa-term-chart{display:none}.gpa-tool input,.gpa-tool select{color:#000!important;background:#fff!important}.gpa-result small{color:#333}.gpa-layout{display:none}.gpa-print-report{font-size:10pt;display:block}.gpa-print-report table{border-collapse:collapse;width:100%}.gpa-print-report th,.gpa-print-report td{text-align:left;overflow-wrap:anywhere;border:1px solid #bbb;padding:6px}.gpa-print-report thead{display:table-header-group}.gpa-print-report tr{break-inside:avoid}.gpa-print-report th[scope=rowgroup]{background:#eee}}
