/*! (c) 2026 HighCalc.com. All rights reserved. This code is protected by copyright. Copying, reproducing or reusing it without written permission is prohibited. */
.gpa-calc *{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.gpa-calc{--g-blue: #628dfd;--g-green: #10b981;--g-yellow: #f59e0b;--g-orange: #f97316;--g-red: #ef4444;--g-dark: #1e293b;--g-light: #f8fafc;--g-gray: #64748b;--g-border: #e2e8f0;background:linear-gradient(135deg,#f8faff 0%,#f0f5ff 100%);color:var(--g-dark);line-height:1.4;padding:12px;width:100%;border-radius:8px}.gpa-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:20px;border:1px solid var(--g-border);max-width:1000px;margin:0 auto}.gpa-content{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}@media(max-width:800px){.gpa-content{grid-template-columns:1fr;gap:16px}.gpa-card{padding:16px}}.gpa-input,.gpa-result{background:var(--g-light);border-radius:8px;padding:18px;border:1px solid var(--g-border)}@media(max-width:480px){.gpa-input,.gpa-result{padding:14px}}.gpa-title{font-size:18px;font-weight:700;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--g-border);text-align:center}.gpa-title h2{font-size:18px;font-weight:700;background:linear-gradient(90deg,#628dfd,#8babff);-webkit-background-clip:text;background-clip:text;color:transparent}.gpa-intro{font-size:12px;color:var(--g-gray);text-align:center;margin:-4px 0 16px;line-height:1.5}.gpa-course-header,.gpa-course-row{display:grid;grid-template-columns:2fr 0.9fr 1.1fr auto;gap:8px;align-items:center}.gpa-calc.gpa-weighted-on .gpa-course-header,.gpa-calc.gpa-weighted-on .gpa-course-row{grid-template-columns:2fr 0.9fr 1.1fr auto auto}.gpa-course-header{margin-bottom:8px;font-size:10px;color:var(--g-gray);text-transform:uppercase;font-weight:700;letter-spacing:0.4px}.gpa-course-row{margin-bottom:8px}.gpa-wt{display:none;font-size:11px;color:var(--g-gray);font-weight:600;align-items:center;gap:4px;white-space:nowrap}.gpa-calc.gpa-weighted-on .gpa-wt{display:flex}.gpa-wt-h{display:none}.gpa-calc.gpa-weighted-on .gpa-wt-h{display:block}.gpa-in,.gpa-sel{width:100%;padding:9px 10px;border:1px solid var(--g-border);border-radius:6px;font-size:13px;outline:none;background:#fff;color:var(--g-dark);min-height:38px;transition:0.2s}.gpa-in:focus,.gpa-sel:focus{border-color:var(--g-blue);box-shadow:0 0 0 2px rgba(98,141,253,0.1)}.gpa-remove{background:#fff;border:1px solid var(--g-border);border-radius:6px;width:36px;height:38px;color:var(--g-gray);cursor:pointer;font-size:18px;line-height:1;transition:0.2s}.gpa-remove:hover{border-color:var(--g-red);color:var(--g-red)}.gpa-add{width:100%;padding:10px;background:#fff;border:1.5px dashed #b8c8f5;border-radius:6px;color:var(--g-blue);font-weight:600;font-size:13px;cursor:pointer;margin:4px 0 16px;transition:0.2s}.gpa-add:hover{background:rgba(98,141,253,0.06);border-color:var(--g-blue)}.gpa-group{background:#fff;border:1px solid var(--g-border);border-radius:8px;padding:12px;margin-bottom:14px}.gpa-group-title{font-size:12px;font-weight:700;color:var(--g-blue);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.4px}.gpa-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:480px){.gpa-grid2{grid-template-columns:1fr}}.gpa-field label{display:block;margin-bottom:5px;font-weight:600;color:var(--g-dark);font-size:12px}.gpa-prior[hidden]{display:none}.gpa-btn{display:block;width:100%;padding:12px;background:linear-gradient(135deg,#628dfd 0%,#8babff 100%);border:none;border-radius:6px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;margin-top:4px;transition:0.2s}.gpa-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(98,141,253,0.3)}.gpa-btn2{flex:1;padding:10px;background:#fff;border:1px solid var(--g-border);border-radius:6px;color:var(--g-blue);font-weight:600;font-size:13px;cursor:pointer;transition:0.2s}.gpa-btn2:hover{background:var(--g-blue);color:#fff;border-color:var(--g-blue)}.gpa-score-box{text-align:center;margin-bottom:18px}.gpa-score-text{font-size:13px;font-weight:700;color:var(--g-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.gpa-score{font-size:46px;font-weight:800;color:var(--g-blue);line-height:1;margin:10px 0}.gpa-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--g-gray);margin-bottom:6px;font-weight:600;text-transform:uppercase}.gpa-fill-container{height:8px;background:#e2e8f0;border-radius:4px;position:relative;margin:6px 0}.gpa-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f97316,#f59e0b,#10b981,#628dfd);border-radius:4px;width:100%}.gpa-marker{position:absolute;top:-4px;width:3px;height:16px;background:var(--g-dark);border-radius:2px;transform:translateX(-50%);box-shadow:0 1px 2px rgba(0,0,0,0.2);transition:left 0.3s ease-out}.gpa-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.gpa-detail{background:rgba(98,141,253,0.08);border:1px solid rgba(98,141,253,0.15);border-radius:8px;padding:10px;text-align:center}.gpa-label{font-size:10px;color:var(--g-gray);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;margin-bottom:5px}.gpa-value{font-size:16px;font-weight:700;color:var(--g-dark)}.gpa-actions{display:flex;gap:10px;margin-bottom:14px}.gpa-note{background:linear-gradient(135deg,rgba(16,185,129,0.08),rgba(16,185,129,0.12));border-left:3px solid #10b981;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.5}.gpa-divider{display:flex;align-items:center;gap:14px;margin:26px 0 20px;color:var(--g-blue);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.gpa-divider::before,.gpa-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#c2cffd,transparent)}.gpa-plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:8px}@media(max-width:480px){.gpa-plan-grid{grid-template-columns:1fr}}.gpa-plan-big{font-size:40px;font-weight:800;color:var(--g-blue);line-height:1.1;margin:8px 0;text-align:center}.gpa-plan-label{font-size:12px;font-weight:700;color:var(--g-blue);text-align:center;text-transform:uppercase;letter-spacing:1px}.gpa-plan-sub{font-size:12px;color:var(--g-gray);text-align:center;margin-bottom:14px;min-height:18px}@media(max-width:480px){.gpa-course-header,.gpa-course-row{grid-template-columns:1.3fr 0.8fr 1.2fr auto;gap:6px}.gpa-calc.gpa-weighted-on .gpa-course-header,.gpa-calc.gpa-weighted-on .gpa-course-row{grid-template-columns:1.3fr 0.8fr 1.2fr auto auto}.gpa-in,.gpa-sel{padding:9px 6px}}[data-hc-guard]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[data-hc-guard] input,[data-hc-guard] select,[data-hc-guard] textarea{-webkit-user-select:text;user-select:text}
.tool-layout{max-width:900px;margin:0 auto;padding:0 24px}.tool-image{padding-top:24px}.ad-slot:has(.ad-slot-inner:not(:empty)) + .tool-image{padding-top:0}.tool-image-box{border-radius:18px;overflow:hidden;box-shadow:0 8px 32px rgba(98,129,253,.12);max-width:360px;margin:0 auto}.tool-image-box img{width:100%;height:auto;display:block}
