@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";:root{--color-bg:#181410;--color-surface:#221c15;--color-cream:#ede2cf;--color-forest:#4f8064;--color-terracotta:#cf7344;--color-burgundy:#a8404f;--color-ochre:#cba14e;--color-terracotta-hover:#e08253;--color-surface-raised:#29231c;--color-cream-muted:#ede2cf9e;--color-border:#ede2cf24;--radius-card:14px;--radius-control:8px;--radius-pill:999px;--shadow-card:0 1px 2px #0006, 0 8px 24px #0c080459;--shadow-hover:0 2px 4px #0006, 0 16px 40px #0c080473;--color-paper-bg:#fbf7ee;--color-paper-ink:#211a12;--color-paper-muted:#211a1299;--color-paper-border:#211a1229;--color-paper-watermark:#211a1224;--shadow-paper:0 1px 2px #0003, 0 12px 32px #0c08044d;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-structure:"Inter", ui-sans-serif, system-ui, sans-serif;--font-data:"JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--dur-instant:80ms;--dur-fast:.16s;--dur-normal:.24s;--dur-morph:.36s;--dur-cinema:.52s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-cinematic:cubic-bezier(.22, 1, .36, 1);--ease-rack:cubic-bezier(.25, .46, .45, .94);--ease-whip:cubic-bezier(.25, 0, 0, 1)}:root[data-theme=light]{--color-bg:#ede2cf;--color-surface:#fff;--color-cream:#181410;--color-border:#1814101f;--color-surface-raised:#fff;--color-cream-muted:#1814109e}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#ede2cf;--color-surface:#fff;--color-cream:#181410;--color-border:#1814101f;--color-surface-raised:#fff;--color-cream-muted:#1814109e}}body{background:var(--color-bg);color:var(--color-cream);font-family:var(--font-structure)}.tabular-nums,[data-numeral]{font-family:var(--font-data);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}.page{max-width:640px;margin:0 auto;padding:48px 20px 96px}.page-header{margin-bottom:32px}.eyebrow{font-family:var(--font-data);letter-spacing:.1em;text-transform:uppercase;color:var(--color-cream-muted);margin:0 0 12px;font-size:12px}h1{font-family:var(--font-display);margin:0 0 12px;font-size:clamp(2rem,5vw,3rem);font-weight:500}h2{font-family:var(--font-display);margin:0 0 8px;font-size:1.25rem;font-weight:500}.value-line{color:var(--color-cream-muted);margin:0;font-size:1.05rem}.muted{color:var(--color-cream-muted)}.warning{color:var(--color-burgundy)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);margin-bottom:24px;padding:24px}label{margin-bottom:6px;font-size:.9rem;display:block}textarea{background:var(--color-bg);width:100%;color:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-control);font-family:var(--font-structure);resize:vertical;padding:10px 12px;font-size:.95rem}textarea:focus,button:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px}button{border-radius:var(--radius-control);background:var(--color-terracotta);min-height:44px;color:var(--color-bg);font-family:var(--font-structure);cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border:none;margin-top:12px;padding:0 18px;font-weight:600}button:hover{background:var(--color-terracotta-hover)}#feedback-status{min-height:1.2em;color:var(--color-forest);font-size:.9rem}#feedback-status[data-state=error]{color:var(--color-burgundy)}.page-footer a,a{color:var(--color-terracotta)}.app-shell{display:block}@media (width>=960px){.app-shell{grid-template-columns:minmax(0,1fr) minmax(340px,440px);align-items:start;gap:24px;max-width:1200px;margin:0 auto;display:grid}#preview-section{position:sticky;top:24px}}.field-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.field input{background:var(--color-bg);width:100%;color:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-control);font-family:var(--font-structure);padding:10px 12px;font-size:.95rem}.field input:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px}.button-row{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}button.secondary{color:var(--color-cream);border:1px solid var(--color-border);background:0 0}button.secondary:hover{background:var(--color-surface-raised)}button.danger{background:var(--color-burgundy);color:var(--color-cream)}.inline-confirm{border:1px solid var(--color-burgundy);border-radius:var(--radius-control);background:var(--color-surface-raised);margin-top:12px;padding:16px}.year-group{border:1px solid var(--color-border);border-radius:var(--radius-control);margin-bottom:16px;padding:16px}.year-group h3{font-family:var(--font-structure);margin:0 0 12px;font-size:1rem;font-weight:600}.course-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr) 84px minmax(0,90px) auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.course-row input,.course-row select{background:var(--color-bg);width:100%;color:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-control);font-family:var(--font-structure);padding:8px 10px;font-size:.9rem}.course-actions{gap:4px;display:flex}.icon-btn{min-width:36px;min-height:36px;color:var(--color-cream-muted);border:1px solid var(--color-border);border-radius:var(--radius-control);background:0 0;padding:0}.icon-btn:hover{color:var(--color-cream);background:var(--color-surface-raised)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.score-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}.score-row input{background:var(--color-bg);width:100%;color:var(--color-cream);border:1px solid var(--color-border);border-radius:var(--radius-control);font-family:var(--font-structure);padding:8px 10px;font-size:.9rem}#gpa-explanation ul{margin:8px 0;padding-left:20px}#gpa-explanation li{color:var(--color-cream-muted);margin-bottom:4px;font-size:.9rem}.small{font-size:.85rem}#preview-section{max-width:720px;margin:0 auto 96px;padding:0 20px}.preview-toolbar h2{margin:0 0 12px}.preview-toolbar button{margin-bottom:8px}#transcript-preview.paper{background:var(--color-paper-bg);color:var(--color-paper-ink);border:1px solid var(--color-paper-border);border-radius:var(--radius-card);box-shadow:var(--shadow-paper);font-family:var(--font-structure);padding:40px 36px}#transcript-preview .preview-eyebrow{font-family:var(--font-data);letter-spacing:.08em;text-transform:uppercase;color:var(--color-paper-muted);margin:0 0 8px;font-size:11px}#transcript-preview h2{font-family:var(--font-display);margin:0 0 4px}#transcript-preview .preview-school{color:var(--color-paper-muted);margin:0 0 16px}#transcript-preview .preview-facts{border-bottom:1px solid var(--color-paper-border);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 24px;margin:0 0 24px;padding-bottom:16px;display:grid}#transcript-preview .preview-facts dt{text-transform:uppercase;letter-spacing:.06em;color:var(--color-paper-muted);font-size:.75rem}#transcript-preview .preview-facts dd{margin:0}#transcript-preview .year-block{margin-bottom:20px}#transcript-preview .year-block h3{font-family:var(--font-structure);margin:0 0 8px;font-size:1rem}.course-table{border-collapse:collapse;width:100%;font-size:.9rem}.course-table th,.course-table td{text-align:left;border-bottom:1px solid var(--color-paper-border);padding:4px 8px 4px 0}.year-summary{color:var(--color-paper-muted);margin:8px 0 0;font-size:.85rem}.cumulative-summary{border-top:2px solid var(--color-paper-border);margin:24px 0;padding-top:16px}.test-scores ul{padding-left:20px}.signature-block{margin-top:48px}.signature-line{border-top:1px solid var(--color-paper-ink);width:260px;height:0;margin:0 0 6px}.signature-label{color:var(--color-paper-muted);margin:0;font-size:.85rem}@media print{.no-print{display:none!important}html,body{background:var(--color-paper-bg)}.app-shell{display:block}#preview-section{max-width:none;margin:0;padding:0}#transcript-preview.paper{box-shadow:none;border:none;border-radius:0;padding:0}#transcript-preview.paper.is-draft:after{content:"DRAFT, made with Rollbook";text-align:center;width:150%;font-family:var(--font-display);color:var(--color-paper-watermark);pointer-events:none;font-size:3.5rem;position:fixed;top:45%;left:-25%;transform:rotate(-28deg)}@page{size:letter;margin:.6in}}
