@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}:root{--primary:#4338ca;--primary-dark:#3730a3;--primary-soft:#eef2ff;--bg:#faf9f7;--surface:#fff;--text:#1e293b;--muted:#475569;--border:#e5e2db;--border-strong:#d6d2c8;--good:#166534;--good-bg:#f0fdf4;--warn:#92400e;--warn-bg:#fffbeb;--bad:#b91c1c;--bad-bg:#fef2f2;--teal:#0d9488;--orange:#ea580c;--violet:#7c3aed;--sky:#0284c7;--pink:#db2777;--radius:12px;--shadow:0 1px 3px rgba(30,41,59,.08),0 4px 14px rgba(30,41,59,.05)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);background-image:radial-gradient(560px 300px at 8% -40px,rgba(79,70,229,.07),transparent 70%),radial-gradient(560px 300px at 95% -40px,rgba(234,88,12,.06),transparent 70%);background-repeat:no-repeat;color:var(--text);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 6px 24px rgba(30,41,59,.06)}.site-header:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#4f46e5,#0d9488 30%,#ea580c 62%,#db2777)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}.logo{font-size:21px;font-weight:800;color:var(--text);letter-spacing:-.02em;display:inline-flex;align-items:center;gap:9px}.logo-mark{border-radius:8px;display:block;flex:none}.logo:hover{text-decoration:none}.logo span{color:var(--orange)}.main-nav{display:flex;gap:4px;margin-left:auto}.main-nav a{color:var(--muted);font-weight:550;font-size:15px;padding:7px 13px;border-radius:999px;transition:background .15s ease,color .15s ease}.main-nav a:hover{color:var(--primary-dark);background:var(--primary-soft);text-decoration:none}.nav-cta{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:650;font-size:14.5px;padding:9px 18px;border-radius:999px;box-shadow:0 4px 12px rgba(79,70,229,.28);white-space:nowrap}.nav-cta:hover{filter:brightness(1.1);text-decoration:none}@media (max-width:900px){.nav-cta{display:none}}@media (max-width:640px){.main-nav{gap:0}.main-nav a{font-size:14px;padding:6px 8px}}@media (max-width:680px){.header-inner{flex-wrap:wrap;height:auto;padding:10px 0 12px;row-gap:6px}.logo{font-size:19px}.logo img{width:27px;height:27px}.main-nav{order:3;width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.main-nav a{font-size:13.5px;padding:6px 10px;white-space:nowrap}}.tool-hero{margin-top:26px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:radial-gradient(circle at 92% 8%,rgba(236,72,153,.12),transparent 45%),linear-gradient(120deg,#eef2ff,#fff 58%,#fff7ed);border:1px solid #ddd6fe;border-radius:16px}.tool-hero .crumb{margin:0 0 4px}.tool-hero h1{margin:2px 0 8px}.tool-hero .lede{margin:0 0 12px;max-width:560px}.tool-hero-icon{flex:0 0 auto;width:72px;height:72px;border-radius:20px;background:#fff;border:1px solid #e0e7ff;box-shadow:0 10px 24px rgba(49,46,129,.12);display:flex;align-items:center;justify-content:center;color:var(--primary)}.tool-hero-icon svg{width:38px;height:38px}@media (max-width:640px){.tool-hero{padding:20px}.tool-hero-icon{width:54px;height:54px;border-radius:15px}.tool-hero-icon svg{width:28px;height:28px}}.site-footer{background:#17152e;color:#cbd5e1;margin-top:72px}.site-footer:before{content:"";display:block;height:4px;background:linear-gradient(90deg,#4f46e5,#0d9488 30%,#ea580c 62%,#db2777)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;grid-gap:32px;gap:32px;padding:48px 0 32px}@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}.site-footer h4{color:#fff;font-size:15px;margin:0 0 14px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:9px}.site-footer a{color:#cbd5e1;font-size:14.5px}.site-footer a:hover{color:#fff}.footer-brand p{font-size:14.5px;color:#94a3b8;max-width:300px}.footer-logo{color:#fff;font-size:20px;font-weight:800}.footer-logo span{color:#fdba74}.small-print{border-top:1px solid #2e2b4d;padding:18px 0 26px;font-size:13px;color:#94a3b8;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}h1{font-size:34px;line-height:1.2;letter-spacing:-.02em;margin:0 0 14px}h2{font-size:24px;letter-spacing:-.015em;margin:38px 0 12px;position:relative;padding-left:15px}h2:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:5px;border-radius:3px;background:linear-gradient(180deg,#4f46e5,#db2777)}h3{font-size:18px;margin:24px 0 8px}p{margin:0 0 14px}.lede{font-size:18px;color:var(--muted)}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--primary-dark);background:#e0e7ff;border:1px solid #c7d2fe;border-radius:999px;padding:4px 13px;margin-bottom:14px}.hero{margin-top:26px;padding:38px 34px 30px;background:radial-gradient(circle at 88% 10%,rgba(236,72,153,.12),transparent 42%),radial-gradient(circle at 6% 92%,rgba(13,148,136,.12),transparent 40%),linear-gradient(120deg,#eef2ff,#fff 52%,#fff7ed);border:1px solid #ddd6fe;border-radius:16px}@media (max-width:640px){.hero{padding:28px 20px 22px}}.hero-home{padding:44px 42px 38px}@media (max-width:640px){.hero-home{padding:28px 20px 22px}}.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-gap:38px;gap:38px;align-items:center}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero h1 .hl{background:linear-gradient(120deg,#4f46e5,#9333ea);-webkit-background-clip:text;background-clip:text;color:transparent}.hero h1 .hl2{color:#ea580c}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 10px}.btn-primary-lg{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:650;font-size:16px;padding:13px 24px;border-radius:12px;box-shadow:0 6px 16px rgba(79,70,229,.3)}.btn-primary-lg:hover{filter:brightness(1.1);text-decoration:none}.btn-ghost{background:#fff;color:var(--primary-dark);font-weight:650;font-size:16px;padding:13px 24px;border-radius:12px;border:1.5px solid #c7d2fe}.btn-ghost:hover{border-color:var(--primary);text-decoration:none}.hero-note{color:var(--muted);font-size:14px;margin:4px 0 0}.hero-stats{display:flex;flex-wrap:wrap;gap:30px;margin-top:22px}.hero-stats .stat{display:flex;flex-direction:column}.hero-stats .stat b{font-size:26px;line-height:1.1}.hero-stats .stat span{color:var(--muted);font-size:13.5px}.hero-stats .c1{color:#4f46e5}.hero-stats .c2{color:#0d9488}.hero-stats .c3{color:#ea580c}.preview-card{background:#fff;border:1px solid #e0e7ff;border-radius:16px;padding:22px 22px 16px;box-shadow:0 18px 40px rgba(49,46,129,.14);transform:rotate(1.2deg)}.preview-head{display:flex;justify-content:space-between;align-items:center}.preview-title{font-weight:700;font-size:15px;color:var(--primary-dark)}.preview-chip{background:var(--primary-soft);color:var(--primary-dark);font-size:12.5px;font-weight:650;border-radius:999px;padding:3px 10px}.preview-result{display:flex;align-items:center;gap:10px;margin-top:12px}.preview-result strong{font-size:34px;color:var(--ink)}.preview-sub{color:var(--muted);font-size:14px;margin:2px 0 14px}.preview-bars{display:flex;flex-direction:column;gap:8px}.pbar{display:grid;grid-template-columns:104px 1fr;align-items:center;grid-gap:10px;gap:10px;font-size:12.5px;color:var(--muted)}.pbar i{display:block;height:9px;border-radius:999px}.pbar .pb-a{background:#22c55e}.pbar .pb-b{background:#0ea5e9}.pbar .pb-c{background:#f59e0b}.pbar .pb-d{background:#f97316}.pbar .pb-f{background:#ef4444}.preview-foot{color:var(--muted);font-size:13px;margin:14px 0 4px;border-top:1px dashed var(--border);padding-top:10px}.img-picture{display:block}.guide-img{margin:6px 0 20px}.guide-img,.hub-img{width:100%;height:auto;border-radius:14px;border:1px solid var(--border);display:block}.hub-img{margin:18px 0 8px}.tool-card .card-img{width:100%;height:auto;border-radius:10px;display:block;margin-bottom:12px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin:22px 0}@media (max-width:900px){.tool-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.tool-grid{grid-template-columns:1fr}}.tool-card{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--accent,var(--primary));border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:block;transition:transform .15s ease,box-shadow .15s ease}.tool-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,41,59,.13);border-color:var(--accent,var(--primary))}.tool-grid>.tool-card:nth-child(6n+1){--accent:#4f46e5;--accent-soft:#eef2ff}.tool-grid>.tool-card:nth-child(6n+2){--accent:#0d9488;--accent-soft:#f0fdfa}.tool-grid>.tool-card:nth-child(6n+3){--accent:#ea580c;--accent-soft:#fff7ed}.tool-grid>.tool-card:nth-child(6n+4){--accent:#7c3aed;--accent-soft:#f5f3ff}.tool-grid>.tool-card:nth-child(6n+5){--accent:#0284c7;--accent-soft:#f0f9ff}.tool-grid>.tool-card:nth-child(6n+6){--accent:#db2777;--accent-soft:#fdf2f8}.tool-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:var(--accent-soft,var(--primary-soft));color:var(--accent,var(--primary));margin-bottom:10px}.tool-card h3{margin:0 0 6px;font-size:16.5px;color:var(--text)}.tool-card p{font-size:14px;color:var(--muted);margin:0}.tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--accent,var(--primary));background:var(--accent-soft,var(--primary-soft));border-radius:6px;padding:2px 8px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin:22px 0}.two-col>.panel:first-child{border-top:4px solid var(--teal)}.two-col>.panel:nth-child(2){border-top:4px solid var(--orange)}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:760px){.two-col{grid-template-columns:1fr}}.calc{background:var(--surface);border:1px solid var(--border-strong);border-top:5px solid #4f46e5;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin:20px 0 8px}.calc h2{margin-top:0;font-size:20px}.field{margin-bottom:16px}.field label{display:block;font-weight:600;font-size:14.5px;margin-bottom:6px}.field .hint{font-weight:400;color:var(--muted);font-size:13px}input[type=date],input[type=number],input[type=text],select,textarea{width:100%;padding:10px 12px;font-size:16px;font-family:inherit;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}textarea{min-height:110px;resize:vertical}.grid-2{grid-template-columns:1fr 1fr;grid-gap:14px}.grid-2,.grid-3{display:grid;gap:14px}.grid-3{grid-template-columns:1fr 1fr 1fr;grid-gap:14px}@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}.result{border-radius:10px;padding:18px;margin-top:18px;background:var(--primary-soft);border:1px solid #c7d2fe;border-left:6px solid #4f46e5}.result.good{border-left-color:#16a34a}.result.warn{border-left-color:#d97706}.result.bad{border-left-color:#dc2626}.result .big{font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--primary-dark);line-height:1.15}.result p{margin-bottom:4px}.result.good{background:var(--good-bg);border-color:#bbf7d0}.result.good .big{color:var(--good)}.result.warn{background:var(--warn-bg);border-color:#fde68a}.result.warn .big{color:var(--warn)}.result.bad{background:var(--bad-bg);border-color:#fecaca}.result.bad .big{color:var(--bad)}table.data{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}table.data td,table.data th{border:1px solid var(--border);padding:8px 10px;text-align:left}table.data th{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:650;border-color:#4338ca}table.data tbody tr:nth-child(2n) td{background:#f5f3ff}table.data tbody tr:hover td{background:#eef2ff}table.data tbody tr.current td{background:#fde68a;font-weight:700}.grade-pill{display:inline-block;border-radius:999px;padding:1px 10px;font-weight:700;font-size:13px;line-height:1.5}.grade-pill.g-a{background:#dcfce7;color:#166534}.grade-pill.g-b{background:#e0f2fe;color:#075985}.grade-pill.g-c{background:#fef3c7;color:#92400e}.grade-pill.g-d{background:#ffedd5;color:#9a3412}.grade-pill.g-f{background:#fee2e2;color:#b91c1c}.table-scroll{overflow-x:auto}.dyn-row{display:grid;grid-gap:10px;gap:10px;margin-bottom:10px;align-items:end}.dyn-gpa{grid-template-columns:1.4fr 1fr .8fr auto}.dyn-points,.dyn-weights{grid-template-columns:1.2fr 1fr 1fr auto}.dyn-sem{grid-template-columns:1fr 1fr auto}@media (max-width:640px){.dyn-gpa,.dyn-points,.dyn-sem,.dyn-weights{grid-template-columns:1fr 1fr}}button.btn{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:650;cursor:pointer;font-family:inherit;box-shadow:0 4px 12px rgba(79,70,229,.28)}button.btn:hover{filter:brightness(1.1)}button.btn-secondary{background:#fff;color:var(--primary);border:1px solid var(--primary)}button.btn-secondary:hover{background:var(--primary-soft)}button.row-remove{background:none;border:1px solid var(--border-strong);color:var(--muted);border-radius:8px;padding:9px 12px;cursor:pointer;font-family:inherit}button.row-remove:hover{color:var(--bad);border-color:var(--bad)}.formula-box{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:16px 18px;font-size:16.5px;font-weight:600;margin:12px 0;overflow-x:auto}.example-box{border-left:4px solid var(--orange);background:#fff7ed;border-radius:0 10px 10px 0;padding:10px 14px 10px 18px;margin:14px 0}.faq-item{border-bottom:1px solid var(--border);padding:14px 0}.faq-item h3{margin:0 0 6px;font-size:16.5px}.faq-item p{color:var(--muted);margin:0}ol.steps li,ul.clean li{margin-bottom:8px}ul.clean{padding-left:20px}.crumb{font-size:13.5px;margin:18px 0 0}.crumb,.crumb a{color:var(--muted)}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:16px 0}@media (max-width:760px){.related-grid{grid-template-columns:1fr 1fr}}.related-grid a{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-weight:600;font-size:15px;display:block}.related-grid a:hover{border-color:var(--orange);color:var(--primary-dark);text-decoration:none}.note{font-size:14px;color:var(--muted)}.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.badge{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:5px 14px;font-size:13.5px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:8px}.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:#4f46e5;flex:none}.badge-row .badge:nth-child(2):before{background:#0d9488}.badge-row .badge:nth-child(3):before{background:#ea580c}.badge-row .badge:nth-child(4):before{background:#db2777}@media print{.badge-row,.crumb,.no-print,.related-grid,.site-footer,.site-header,button{display:none!important}body{background:#fff;background-image:none;font-size:13px}.hero{background:#fff;border:none;padding:0;margin-top:0}.calc,.panel,.tool-card{box-shadow:none;border:1px solid #ccc}.calc,.panel,.result,.tool-card{page-break-inside:avoid;break-inside:avoid}.result{border:1px solid #999}table.data{font-size:12.5px}table.data tr.current td{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:#000;text-decoration:none}h2:before{display:none}h2{padding-left:0}}