:root{color-scheme:light;--bg: #fbfbfc;--dot: #e7e9ee;--surface: #ffffff;--surface-muted: #f5f5f6;--text: #08090c;--muted: #747782;--line: #dedfe4;--blue: #1768f5;--green: #098763;--green-bg: #e8fbf4;--danger: #8f2c2c;--shadow: 0 8px 22px rgba(20, 24, 33, .06)}:root[data-theme=dark]{color-scheme:dark;--bg: #101114;--dot: #23252b;--surface: #17191f;--surface-muted: #202229;--text: #f7f8fb;--muted: #a4a7b2;--line: #2d3038;--blue: #5b95ff;--green: #41d5aa;--green-bg: #17332c;--danger: #ff8a86;--shadow: 0 10px 26px rgba(0, 0, 0, .22)}*{box-sizing:border-box}body{min-width:320px;margin:0;background-color:var(--bg);background-image:radial-gradient(var(--dot) .8px,transparent .8px);background-size:32px 32px;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface),transparent 8%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner,.app-shell{width:min(1540px,calc(100% - 360px));margin:0 auto}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:20px}.brand,.header-actions,.grade-chip,.result-kicker,.history-values{display:flex;align-items:center}.brand{gap:14px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.brand-mark svg{width:27px;fill:none;stroke:var(--blue);stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.brand strong{display:block;font-size:1.45rem;line-height:1.1}.brand span,.kicker{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.28em;text-transform:uppercase}.header-actions{gap:12px;color:var(--muted)}.icon-button{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.app-shell{padding:48px 0 52px}.hero{padding:0 0 32px}.kicker{margin:0 0 16px}h1,h2,p{margin-top:0}h1{max-width:980px;margin-bottom:20px;font-size:clamp(3.2rem,6.8vw,5rem);font-weight:900;line-height:.95;letter-spacing:-.02em}h1 span{color:var(--blue)}h1 em{color:var(--muted);font-style:normal}h2{margin-bottom:0;font-size:1.22rem}.hero-copy{max-width:780px;margin-bottom:0;color:var(--muted);font-size:1.25rem;line-height:1.55}.grade-card,.panel,.tabs{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface),transparent 3%)}.grade-card{padding:22px 20px 18px}.grade-chips{display:flex;flex-wrap:wrap;gap:10px}.grade-chip{min-width:78px;justify-content:center;gap:9px;min-height:34px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:var(--surface)}.grade-chip small,.grade-chip span{color:var(--muted)}.tabs{display:grid;grid-template-columns:repeat(3,1fr);width:min(560px,100%);margin:52px 0 32px;padding:4px;background:var(--surface-muted);box-shadow:none}.tabs button{min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 494px;gap:30px;align-items:start}.panel{padding:30px;box-shadow:none}.form-panel{min-height:280px;overflow:hidden}.panel-heading,.form-top,.subject-head,.subject-row,.result-stats{display:grid;gap:14px}.panel-heading{grid-template-columns:1fr auto;align-items:start;margin-bottom:24px}.form-top{grid-template-columns:minmax(220px,560px) auto;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.input-group{display:grid;gap:10px;min-width:0}.input-group span,.subject-head span,.result-stats span{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.28em;text-transform:uppercase}.input-group input,.input-group select{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:var(--surface);color:var(--text);outline:none;box-shadow:0 2px 6px #1418210a}.input-group input:focus,.input-group select:focus{border-color:color-mix(in srgb,var(--blue),transparent 25%);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue),transparent 86%)}.subject-head,.subject-row{grid-template-columns:minmax(150px,1fr) minmax(92px,120px) minmax(178px,220px) 54px 28px;align-items:end}.subject-head{margin-bottom:10px}.subject-row{margin-bottom:18px}.subject-row .input-group span{display:none}.subject-row output{display:grid;place-items:center;min-width:0;min-height:46px;color:var(--muted);font-size:1.1rem}.remove-button{width:28px;height:46px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;transition:color .16s ease}.remove-button:hover:not(:disabled){color:var(--danger)}.primary-button,.ghost-button,.add-subject-button{min-height:46px;border-radius:8px;padding:0 20px;font-weight:800}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:0 10px 20px #1768f52e}.ghost-button,.add-subject-button{border:1px solid var(--line);background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.reset-button{min-width:128px}.add-subject-button{margin-top:2px;background:var(--surface-muted)}.result-card{padding:32px}.result-kicker{justify-content:space-between;margin-bottom:26px}.result-kicker .kicker{margin:0}.result-kicker span{color:var(--muted);font-size:.8rem}.big-result{display:flex;align-items:baseline;gap:16px}.big-result strong{font-size:clamp(4.6rem,8vw,5.7rem);font-weight:900;line-height:.95;letter-spacing:-.04em}.big-result span{color:var(--muted);font-size:1.25rem}.badge{display:inline-flex;align-items:center;width:fit-content;min-height:34px;margin:18px 0 30px;border:1px solid color-mix(in srgb,var(--green),transparent 55%);border-radius:8px;padding:0 12px;background:var(--green-bg);color:var(--green);font-weight:800}.result-stats{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);padding-top:26px;margin-bottom:30px}.result-stats div{display:grid;gap:12px}.result-stats strong{font-size:1.25rem}.full{width:100%;margin-top:10px}.status,.notice,.empty-state{color:var(--muted)}.status{margin:14px 0 0}.semester-list,.history-list{display:grid;gap:12px}.semester-pill{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;min-height:62px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--surface);color:var(--text);text-align:left}.semester-pill.active{border-color:var(--blue)}.semester-pill small{color:var(--muted)}.history-panel{width:min(100%,1040px)}.user-chip{overflow:hidden;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-muted);color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.history-item{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--surface)}.history-item div:first-child{display:grid;gap:4px}.history-item span{color:var(--muted)}.history-values{flex-wrap:wrap;gap:8px}.history-values span{border-radius:8px;padding:7px 10px;background:var(--surface-muted);color:var(--text);font-weight:800}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);gap:24px;align-items:stretch;margin-top:34px}.analytics-card{min-height:310px}.analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.analytics-heading .kicker{margin-bottom:8px}.graph-extremes{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.graph-extremes span{border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:var(--surface-muted);color:var(--muted);font-size:.82rem;font-weight:800}.chart-shell{width:100%;height:310px}.predictor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.prediction-output{display:grid;gap:8px;margin:18px 0;border:1px solid color-mix(in srgb,var(--blue),transparent 68%);border-radius:8px;padding:16px;background:color-mix(in srgb,var(--blue),transparent 92%)}.prediction-output span{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.prediction-output strong{color:var(--blue);font-size:2.4rem;line-height:1}.prediction-output small,.what-if-message{color:var(--muted)}.what-if-input{margin-top:6px}.what-if-message{margin:12px 0 0;font-weight:700}.formula-note{display:flex;justify-content:center;gap:10px;margin-top:80px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.9rem}button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}button:hover{transform:translateY(-1px)}@media(max-width:1400px){.header-inner,.app-shell{width:min(100% - 96px,1540px)}}@media(max-width:980px){.header-inner,.app-shell{width:min(100% - 36px,1540px)}.work-grid,.analytics-grid{grid-template-columns:1fr}.subject-head{display:none}.subject-row{grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding-bottom:18px}.subject-row .subject-name{grid-column:1 / -1}.subject-row .input-group span{display:block}.remove-button{width:100%}}@media(max-width:640px){.header-inner{min-height:78px}.brand span,.header-actions span{display:none}.brand strong{font-size:1.08rem}.app-shell{padding-top:30px}h1{font-size:clamp(2.45rem,13vw,4rem)}.hero-copy{font-size:1rem}.tabs{margin:30px 0 24px}.form-top,.subject-row,.result-stats,.semester-pill,.predictor-grid,.formula-note{grid-template-columns:1fr;display:grid}.panel,.result-card{padding:20px}.big-result strong{font-size:4rem}}@media print{.site-header,.tabs,.formula-note,.remove-button,.add-subject-button,.ghost-button{display:none}body{background:#fff}.header-inner,.app-shell{width:100%}.panel,.grade-card{break-inside:avoid}}.seo-content{margin-top:80px;padding:80px 0;border-top:1px solid var(--line)}.seo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px}.seo-card h2{font-size:1.4rem;font-weight:700;margin-bottom:20px;color:var(--text);letter-spacing:-.01em}.seo-card p,.seo-card li{font-size:1rem;line-height:1.7;color:var(--muted);margin-bottom:16px}.seo-card ul{padding-left:20px;margin:0}.formula-box{background:var(--surface-muted);padding:20px;border-radius:16px;margin-bottom:24px;border:1px solid var(--line);display:flex;justify-content:center}.formula-box code{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,menlo,monaco,consolas,monospace;font-size:1.05rem;color:var(--blue);font-weight:600;text-align:center}.seo-card .note{font-size:.9rem;font-style:italic;margin-top:-8px}@media(max-width:1024px){.seo-content{padding:60px 20px}.seo-grid{gap:32px}}
