.lang-switcher[data-astro-cid-l4evwy7q]{display:inline-block;position:relative}.lang-switcher__button[data-astro-cid-l4evwy7q]{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.95rem;display:flex}.lang-switcher__button[data-astro-cid-l4evwy7q]:hover{border-color:var(--accent)}.lang-switcher__caret[data-astro-cid-l4evwy7q]{color:var(--text-muted);font-size:.75rem}.lang-switcher__menu[data-astro-cid-l4evwy7q]{top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border);z-index:50;border-radius:10px;min-width:180px;max-height:320px;margin:0;padding:.25rem;list-style:none;position:absolute;inset-inline-end:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.lang-switcher__menu[data-astro-cid-l4evwy7q] li[data-astro-cid-l4evwy7q] a[data-astro-cid-l4evwy7q]{color:var(--text);border-radius:6px;align-items:center;min-height:44px;padding:.55rem .75rem;font-size:.95rem;text-decoration:none;display:flex}.lang-switcher__menu[data-astro-cid-l4evwy7q] li[data-astro-cid-l4evwy7q] a[data-astro-cid-l4evwy7q]:hover{background:var(--bg)}.lang-switcher__menu[data-astro-cid-l4evwy7q] li[data-astro-cid-l4evwy7q] a[data-astro-cid-l4evwy7q].is-active{color:var(--accent);font-weight:600}:root{color-scheme:light dark;--bg:#f7f8fa;--surface:#fff;--text:#1b1f24;--text-muted:#5b6472;--accent:#2f6fed;--border:#e2e5ea}@supports (color:oklch(0% 0 0)){:root{--bg:light-dark(oklch(98% .01 250),oklch(20% .02 250));--surface:light-dark(oklch(100% 0 0),oklch(24% .02 250));--text:light-dark(oklch(22% .02 250),oklch(95% .01 250));--text-muted:light-dark(oklch(45% .02 250),oklch(75% .02 250));--accent:light-dark(oklch(55% .16 250),oklch(72% .15 250));--border:light-dark(oklch(90% .01 250),oklch(35% .02 250))}:root[data-theme=light]{color-scheme:light;--bg:oklch(98% .01 250);--surface:oklch(100% 0 0);--text:oklch(22% .02 250);--text-muted:oklch(45% .02 250);--accent:oklch(55% .16 250);--border:oklch(90% .01 250)}:root[data-theme=dark]{color-scheme:dark;--bg:oklch(20% .02 250);--surface:oklch(24% .02 250);--text:oklch(95% .01 250);--text-muted:oklch(75% .02 250);--accent:oklch(72% .15 250);--border:oklch(35% .02 250)}}.site-header__controls{align-items:center;gap:.6rem;display:flex}.theme-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.theme-toggle button{background:var(--surface);cursor:pointer;border:none;min-width:44px;min-height:44px;padding:.5rem .6rem;font-size:1rem;line-height:1}.theme-toggle button+button{border-left:1px solid var(--border)}.theme-toggle button.is-active{background:var(--accent)}.result-slots{flex-wrap:wrap;gap:.5rem;display:inline-flex}.slot-digit{background:var(--bg);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:center;align-items:center;min-width:2.4rem;padding:.15rem .4rem;display:inline-flex}.slot-digit.settled{border-color:var(--accent);animation:.25s ease-out slot-pop}@keyframes slot-pop{0%{transform:scale(1.25)}to{transform:scale(1)}}:root{--font-latin:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-ko:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;--font-num:"Roboto Mono", ui-monospace, monospace;--step-0:1rem;--step-1:1.333rem;--step-2:1.777rem;--step-3:2.369rem;--step-4:3.157rem}*{box-sizing:border-box}html{background:var(--bg)}html[lang=ko] body{font-family:var(--font-ko)}body{font-family:var(--font-latin);color:var(--text);background:var(--bg);margin:0;font-size:16px;line-height:1.7}[dir=rtl]{direction:rtl}a{color:var(--accent)}.site-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.site-header__logo{color:var(--text);font-size:1.15rem;font-weight:700;text-decoration:none}main{max-width:42rem;margin:0 auto;padding:2rem 1.25rem 4rem}.tldr-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:1rem 0 1.5rem;padding:1rem 1.25rem}input,select,textarea,button{font-family:inherit;font-size:1rem}input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:2px solid var(--accent);outline-offset:2px}.result-value{font-family:var(--font-num);font-variant-numeric:tabular-nums}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:2rem 1.5rem;font-size:.9rem}.site-footer__nav{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-bottom:1rem;display:flex}.site-footer__nav a{color:var(--text-muted);text-decoration:none}.site-footer__nav a:hover{color:var(--accent);text-decoration:underline}h1{font-size:var(--step-4);margin:0 0 .5rem;line-height:1.25}h2{font-size:var(--step-2);margin:2rem 0 .75rem}.last-updated{color:var(--text-muted);margin:0 0 1.25rem;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.field{margin-bottom:1.1rem}.field label{margin-bottom:.4rem;font-weight:600;display:block}.field .help-text{color:var(--text-muted);margin-top:.3rem;font-size:.85rem;display:block}.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:.6rem .75rem}.field textarea{resize:vertical;line-height:1.5}.field-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.5rem;font-weight:600;transition:transform .2s ease-out,box-shadow .2s ease-out;display:inline-flex}.btn-secondary{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem 1rem;font-weight:600;display:inline-flex}.btn-secondary:hover{border-color:var(--accent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.result-panel{background:var(--bg);border:1px solid var(--border);border-radius:12px;min-height:88px;margin-top:1.5rem;padding:1.25rem}.result-panel .result-value{font-size:var(--step-3);color:var(--accent);font-weight:700}.result-panel .result-label{color:var(--text-muted);margin-bottom:.25rem;font-size:.9rem;display:block}.field.has-error input{border-color:#d64545}.field .error-text{color:#d64545;align-items:center;gap:.3rem;margin-top:.3rem;font-size:.85rem;display:none}.field.has-error .error-text{display:flex}.gpa-actions-row{margin-bottom:.75rem}.gpa-error{color:#d64545;margin-bottom:.75rem;font-size:.85rem;display:none}.gpa-table{flex-direction:column;gap:.6rem;margin-bottom:1rem;display:flex}.gpa-table__row{grid-template-columns:28px minmax(120px,2fr) minmax(90px,1fr) minmax(90px,1fr) 90px;align-items:center;gap:.6rem;display:grid}.gpa-table__row--header{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.3rem;font-size:.85rem;font-weight:600}.gpa-table__row--footer{padding-top:.1rem}.gpa-table__row--footer button{grid-column:5;justify-self:end}.gpa-table__number{color:var(--text-muted);text-align:center;font-size:.9rem}.gpa-table input,.gpa-table select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:40px;color:var(--text);border-radius:8px;padding:.5rem .6rem;font-size:.95rem}.gpa-table .remove-course-btn{justify-self:end;min-height:40px;padding:.4rem .8rem;font-size:.85rem}.gpa-table .remove-course-btn[hidden]{display:none}@media (width<=640px){.gpa-table__row{grid-template-columns:22px 1fr;grid-template-areas:"num name""grade grade""credits credits""remove remove"}.gpa-table__row--header{display:none}.gpa-table__number{grid-area:num}.course-name{grid-area:name}.course-grade{grid-area:grade}.course-credits{grid-area:credits}.gpa-table .remove-course-btn{grid-area:remove;justify-self:stretch}.gpa-table__row--footer{grid-template-columns:1fr}.gpa-table__row--footer button{grid-column:1}}.related-links{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.calc-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0 2.5rem;padding:0;list-style:none;display:grid}.calc-grid a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:1.1rem 1.25rem;font-weight:600;text-decoration:none;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;display:block}.calc-grid a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.calc-grid .calc-desc{color:var(--text-muted);margin-top:.35rem;font-size:.88rem;font-weight:400;display:block}.category-hub-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.5rem 0 2.5rem;display:grid}@media (width<=900px){.category-hub-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.category-hub-grid{grid-template-columns:1fr}}.category-hub-card{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;padding:1.5rem;text-decoration:none;transition:transform .2s ease-out,box-shadow .2s ease-out,border-color .2s ease-out;display:block}.category-hub-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 6px 18px #00000024}.category-hub-card__icon{margin-bottom:.5rem;font-size:2rem;line-height:1}.category-hub-card__title{margin:0 0 .6rem;font-size:1.25rem}.category-hub-card__preview{color:var(--text-muted);margin:0 0 .75rem;padding:0;font-size:.92rem;line-height:1.6;list-style:none}.category-hub-card__count{color:var(--accent);font-size:.9rem;font-weight:600;display:inline-block}.related-calculators{border-top:1px solid var(--border);margin:2rem 0;padding-top:1.5rem}.related-calculators h2{margin-bottom:.75rem;font-size:1.1rem}.breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.breadcrumbs a{color:var(--text-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent);text-decoration:underline}.source-links{color:var(--text-muted);font-size:.88rem}.source-links a{color:var(--accent)}.consent-banner{inset-inline:0;z-index:100;background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;padding:.9rem 1.25rem;display:flex;position:fixed;bottom:0;box-shadow:0 -4px 16px #00000026}.consent-banner__message{color:var(--text);margin:0;font-size:.9rem}.consent-banner__message a{color:var(--accent);margin-inline-start:.4rem}.consent-banner__actions{gap:.5rem;display:flex}.consent-banner__actions .btn-primary,.consent-banner__actions .btn-secondary{min-height:38px;padding:.4rem 1.1rem;font-size:.9rem}.popular-ticker{margin:1.5rem 0 2rem}.popular-ticker h2{margin-bottom:.75rem;font-size:1.15rem}.popular-ticker__wrap{align-items:center;gap:.5rem;display:flex;position:relative}.popular-ticker__viewport{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 24px calc(100% - 24px),#0000)}.popular-ticker__track{will-change:transform;gap:.75rem;width:max-content;display:flex}.popular-ticker__item{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;flex:none;padding:.6rem 1.1rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:border-color .2s ease-out,box-shadow .2s ease-out}.popular-ticker__item:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.popular-ticker__arrow{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;display:flex}.popular-ticker__arrow:hover{border-color:var(--accent)}
