@font-face{font-family:Archivo Black;src:url(data:font/woff2;base64,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) format("woff2");font-weight:900;font-style:normal;font-display:swap;unicode-range:U+0030-0039,U+002E}:root{--bg: #FFF6E5;--surface: #FFFFFF;--ink: #1A1A1A;--ink-soft: #666666;--accent: #2E9BFF;--signal: #FFD02F;--danger: #FF4D4D;--danger-soft: #FFE3E0;--danger-border: #FF4D4D;--danger-strong: #C62828;--accent-soft: #DCEEFF;--accent-border: #2E9BFF;--accent-strong: #0B5FA5;--on-accent: #FFFFFF;--shadow-hard: 4px 4px 0 var(--ink);--shadow-press: 2px 2px 0 var(--ink);--font-digits: "Archivo Black", "Arial Black", "Helvetica Neue", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--weight-digits: 900;--weight-heading: 800;--weight-body: 400;--weight-medium: 500;--text-hero: clamp(3.5rem, 15vw, 4.5rem);--text-2xl: 2rem;--text-xl: 1.5rem;--text-lg: 1.25rem;--text-base: 1rem;--text-sm: .875rem;--text-xs: .75rem;--radius: .75rem;--spacing: 1rem;--nav-height: 64px}[data-theme=dark]{--bg: #1A1A1A;--surface: #242424;--ink: #FFF6E5;--ink-soft: #A0A0A0;--danger: #FF6B6B;--danger-soft: #3D2222;--danger-border: #FF6B6B;--danger-strong: #FF9C9C;--accent-soft: #14283D;--accent-border: #2E9BFF;--accent-strong: #8CC9FF}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink)}#app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--spacing);padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));max-width:600px;margin:0 auto;width:100%}.neo-card{background:var(--surface);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-hard);padding:var(--spacing);margin-bottom:var(--spacing)}.neo-card--danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-strong)}.neo-card--accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--ink)}.neo-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.6em 1em;border:3px solid var(--ink);border-radius:.5em;box-shadow:var(--shadow-hard);background:var(--surface);color:var(--ink);font-size:.95rem;cursor:pointer;min-height:44px}.neo-btn--primary{background:var(--accent);color:var(--on-accent)}.neo-btn--danger{background:var(--danger-soft);color:var(--danger-strong);border-color:var(--danger-border)}.neo-input{width:100%;padding:.6em;border:3px solid var(--ink);border-radius:.5em;box-shadow:var(--shadow-hard);background:var(--surface);color:var(--ink);font-size:1rem;min-height:44px}.neo-btn:active,.neo-input:active,.neo-card:active{transform:translate(2px,2px);box-shadow:var(--shadow-press)}.neo-btn:focus-visible,.neo-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 768px){.main-content{max-width:900px}}.nav-bar[data-v-a71a1334]{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:var(--surface);border-top:3px solid var(--ink);display:flex;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom,0px);z-index:100}.nav-item[data-v-a71a1334]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--ink-soft);text-decoration:none;font-size:var(--text-xs)}.nav-item.active[data-v-a71a1334]{color:var(--accent-strong);font-weight:var(--weight-heading)}.nav-item[data-v-a71a1334]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-icon[data-v-a71a1334]{width:24px;height:24px;color:var(--ink);margin-bottom:2px;flex-shrink:0}.nav-item.active .nav-icon[data-v-a71a1334]{color:var(--accent-strong)}.gpa-hero[data-v-7d9061f8]{text-align:center}.gpa-hero .gpa-display[data-v-7d9061f8]{margin:.5rem 0}.gpa-display[data-v-7d9061f8]{font-family:var(--font-digits);font-size:var(--text-hero);font-weight:var(--weight-digits);line-height:1;text-align:center}.gpa-display.below-target[data-v-7d9061f8]{color:var(--danger)}.gpa-hero-label[data-v-7d9061f8]{font-size:var(--text-sm);font-weight:var(--weight-heading)}.gpa-hero-sub[data-v-7d9061f8]{font-size:var(--text-base);color:var(--ink-soft)}.gpa-target[data-v-7d9061f8]{font-family:var(--font-digits);font-size:var(--text-xl);font-weight:var(--weight-digits);color:var(--ink)}.analysis-title[data-v-139c8fae]{font-size:var(--text-base);font-weight:var(--weight-heading);margin:0 0 .5rem}.analysis-body[data-v-139c8fae]{font-size:var(--text-sm);color:var(--ink);line-height:1.6}.stat-chips[data-v-04136813]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.stat-chip[data-v-04136813]{text-align:center;margin-bottom:0;padding:.75rem .5rem}.stat-chip-value[data-v-04136813]{font-family:var(--font-digits);font-size:var(--text-lg);font-weight:var(--weight-digits)}.stat-chip-label[data-v-04136813]{font-size:var(--text-xs);color:var(--ink-soft)}.search-bar[data-v-40a8ab8d]{display:block;margin-bottom:1rem}.whatif-panel[data-v-9bce08f1]{margin-top:.5rem;padding:.75rem;background:var(--bg);border:2px solid var(--ink);border-radius:.5rem}.whatif-header[data-v-9bce08f1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.whatif-label[data-v-9bce08f1]{font-size:var(--text-sm);font-weight:var(--weight-medium)}.whatif-score[data-v-9bce08f1]{font-weight:var(--weight-heading)}.whatif-slider[data-v-9bce08f1]{width:100%;margin-bottom:.5rem}.whatif-result[data-v-9bce08f1]{font-size:var(--text-xs);color:var(--ink-soft)}.course-row[data-v-e6e91faa]{padding:.75rem 0;border-bottom:1px solid var(--ink-soft)}.course-row-main[data-v-e6e91faa]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.course-row-info[data-v-e6e91faa]{flex:1;min-width:0}.course-row-name[data-v-e6e91faa]{font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-row-credit[data-v-e6e91faa]{font-size:var(--text-xs);color:var(--ink-soft)}.grade-input[data-v-e6e91faa]{width:96px;min-height:48px;text-align:center;font-family:var(--font-digits);font-size:var(--text-lg)}.whatif-btn[data-v-e6e91faa]{padding:.5rem .75rem;font-size:var(--text-base);min-height:48px;min-width:48px}.semester-card[data-v-cdfb118a]{padding:0;overflow:hidden}.semester-header[data-v-cdfb118a]{width:100%;padding:.8rem;background:var(--surface);border:none;color:inherit;font:inherit;text-align:left;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.semester-header[data-v-cdfb118a]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.semester-title[data-v-cdfb118a]{font-weight:var(--weight-heading)}.semester-gpa[data-v-cdfb118a]{font-size:var(--text-sm);color:var(--ink-soft)}.semester-body[data-v-cdfb118a]{padding:0 .8rem}.warning-body[data-v-888e70c1]{font-size:var(--text-sm)}.empty-state[data-v-10f05694]{text-align:center;color:var(--ink-soft);padding:2rem}.loading-state[data-v-10f05694],.gpa-summary[data-v-d089dcf6]{text-align:center}.gpa-summary-value[data-v-d089dcf6]{font-family:var(--font-digits);font-size:var(--text-2xl);font-weight:var(--weight-digits);line-height:1.1}.gpa-summary-label[data-v-d089dcf6]{font-size:var(--text-sm);font-weight:var(--weight-heading)}.gpa-summary-text[data-v-d089dcf6]{margin-top:.8rem;padding-top:.8rem;border-top:3px solid var(--ink);font-size:var(--text-sm)}.metric-grid[data-v-93b7cbaa]{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.metric-card[data-v-93b7cbaa]{text-align:center;margin-bottom:0}.metric-value[data-v-93b7cbaa]{font-family:var(--font-digits);font-size:var(--text-xl);font-weight:var(--weight-digits)}.metric-label[data-v-93b7cbaa]{font-size:var(--text-xs);color:var(--ink-soft)}.warning-title[data-v-2fc0761e]{font-size:var(--text-base);font-weight:var(--weight-heading);margin:0 0 .5rem}.warning-body[data-v-2fc0761e]{font-size:var(--text-sm)}.chart-title[data-v-9d42f64d],.chart-title[data-v-6996e8b5]{font-size:var(--text-base);font-weight:var(--weight-heading);margin:0 0 .8rem}.stats-group[data-v-ba777324]{margin-bottom:.5rem}.stats-group[data-v-ba777324]:last-child{margin-bottom:0}.loading-state[data-v-ba777324]{text-align:center}.profiles-title[data-v-e3781c38]{font-weight:var(--weight-heading);font-size:var(--text-lg);margin-bottom:.8rem}.profile-list[data-v-e3781c38]{display:flex;flex-direction:column;gap:.5rem}.profile-item[data-v-e3781c38]{display:flex;justify-content:space-between;align-items:center;padding:.6rem;border:2px solid var(--ink);border-radius:.4rem;background:var(--surface)}.profile-item--current[data-v-e3781c38]{background:var(--accent-soft);border-color:var(--accent-border)}.profile-name[data-v-e3781c38]{font-weight:var(--weight-medium)}.profile-meta[data-v-e3781c38]{font-size:var(--text-xs);color:var(--ink-soft)}.profile-current-tag[data-v-e3781c38]{display:inline-block;padding:.15rem .5rem;font-size:var(--text-xs);font-weight:var(--weight-heading);color:var(--ink);background:var(--signal);border:2px solid var(--ink);border-radius:.3rem}.switch-btn[data-v-e3781c38]{padding:.3rem .6rem;font-size:var(--text-xs);min-height:36px}.add-profile-btn[data-v-e3781c38]{width:100%;margin-top:.8rem}.editor-title[data-v-93ad9da4]{font-weight:var(--weight-heading);margin-bottom:.8rem}.editor-field[data-v-93ad9da4]{margin-bottom:.6rem}.semester-block[data-v-93ad9da4]{border:2px solid var(--ink);border-radius:.5rem;overflow:hidden;margin-bottom:.8rem}.semester-block-header[data-v-93ad9da4]{padding:.6rem;background:var(--surface);display:flex;justify-content:space-between;align-items:center}.semester-name-input[data-v-93ad9da4]{width:100px;min-height:36px;font-weight:var(--weight-heading);background:transparent;border:none;box-shadow:none;padding:0}.semester-block-actions[data-v-93ad9da4]{display:flex;gap:.3rem}.btn-small[data-v-93ad9da4]{padding:.2rem .4rem;font-size:var(--text-xs);min-height:36px}.semester-block-body[data-v-93ad9da4]{padding:.6rem}.course-edit-row[data-v-93ad9da4]{display:flex;gap:.5rem;margin-bottom:.5rem}.course-name-input[data-v-93ad9da4]{flex:2}.course-credit-input[data-v-93ad9da4]{flex:1}.add-semester-btn[data-v-93ad9da4]{width:100%;margin-bottom:.8rem}.text-mode[data-v-93ad9da4]{font-size:var(--text-sm)}.text-mode-area[data-v-93ad9da4]{font-family:monospace;margin-top:.5rem}.editor-actions[data-v-93ad9da4]{display:flex;gap:.5rem;margin-top:1rem}.editor-actions .neo-btn[data-v-93ad9da4]{flex:1}.backup-title[data-v-bf75d3f9]{font-weight:var(--weight-heading);font-size:var(--text-lg);margin-bottom:.8rem}.backup-actions[data-v-bf75d3f9]{display:flex;gap:.5rem}.backup-actions .neo-btn[data-v-bf75d3f9]{flex:1}.settings-title[data-v-c4b9a2fe]{font-weight:var(--weight-heading);font-size:var(--text-lg);margin-bottom:.8rem}.settings-row[data-v-c4b9a2fe]{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.settings-row input[type=checkbox][data-v-c4b9a2fe]{width:24px;height:24px;flex-shrink:0;accent-color:var(--accent)}.settings-row--gap[data-v-c4b9a2fe]{margin-bottom:.6rem}.theme-select[data-v-c4b9a2fe]{width:auto}.danger-title[data-v-a51104f2]{display:flex;align-items:center;gap:.5rem;font-size:var(--text-lg);font-weight:var(--weight-heading)}.danger-title[data-v-a51104f2]:before{content:"";width:.9em;height:.9em;flex-shrink:0;background:var(--danger);border:2px solid var(--danger-strong)}.danger-hint[data-v-a51104f2]{margin:.5rem 0 .8rem;font-size:var(--text-sm)}.danger-actions[data-v-a51104f2]{display:flex;flex-direction:column;gap:.5rem}.profile-group[data-v-6c88cbde]{margin-bottom:.5rem}.footer-link[data-v-6c88cbde]{text-align:center;margin-top:1rem}.footer-link a[data-v-6c88cbde]{font-size:var(--text-xs);color:var(--ink-soft)}.loading-state[data-v-6c88cbde]{text-align:center}
