:root{--ink: #171717;--body-text: #4d4d4d;--mute: #888;--hairline: #ebebeb;--hairline-strong: #a1a1a1;--canvas: #fff;--canvas-soft: #fafafa;--canvas-soft-2: #f5f5f5;--link: #0070f3;--error: #ee0000;--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, monospace;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-pill: 100px;--active-bg: #171717;--active-text: #fff;--accent: #0070f3;--border: #ebebeb;--card-bg: #fff;--hover: #f5f5f5;--shadow-card: 0 0 0 1px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04), 0 8px 16px -4px rgba(0,0,0,.06);--shadow-sm: 0 0 0 1px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04)}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--ink: #ededed;--body-text: #9a9a9a;--mute: #666;--hairline: #2e2e2e;--hairline-strong: #484848;--canvas: #1c1c1c;--canvas-soft: #141414;--canvas-soft-2: #242424;--link: #60a5fa;--error: #f87171;--active-bg: #fff;--active-text: #171717;--accent: #60a5fa;--border: #2e2e2e;--card-bg: #1c1c1c;--hover: #242424;--shadow-card: 0 0 0 1px rgba(255,255,255,.06), 0 2px 4px rgba(0,0,0,.4), 0 8px 16px -4px rgba(0,0,0,.5);--shadow-sm: 0 0 0 1px rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.3)}}html[data-theme=dark]{--ink: #ededed;--body-text: #9a9a9a;--mute: #666;--hairline: #2e2e2e;--hairline-strong: #484848;--canvas: #1c1c1c;--canvas-soft: #141414;--canvas-soft-2: #242424;--link: #60a5fa;--error: #f87171;--active-bg: #fff;--active-text: #171717;--accent: #60a5fa;--border: #2e2e2e;--card-bg: #1c1c1c;--hover: #242424;--shadow-card: 0 0 0 1px rgba(255,255,255,.06), 0 2px 4px rgba(0,0,0,.4), 0 8px 16px -4px rgba(0,0,0,.5);--shadow-sm: 0 0 0 1px rgba(255,255,255,.06), 0 1px 2px rgba(0,0,0,.3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--canvas-soft);color:var(--ink);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:900px;margin:0 auto;padding:0 24px}.site-header{position:sticky;top:0;z-index:100;background:var(--canvas);border-bottom:1px solid var(--hairline);height:64px}.header-inner{display:flex;align-items:center;height:64px;gap:16px}.logo{font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.5px;white-space:nowrap;text-decoration:none;flex-shrink:0}.logo:hover{text-decoration:none}.lang-switcher{display:flex;gap:2px;flex-shrink:0}.lang-btn{height:28px;padding:0 7px;font-size:11px;font-weight:600;color:var(--body-text);border:1px solid var(--hairline);border-radius:var(--r-sm);text-decoration:none;display:flex;align-items:center;letter-spacing:.4px;transition:background .12s,color .12s,border-color .12s}.lang-btn:hover,.lang-btn.active{background:var(--active-bg);color:var(--active-text);border-color:var(--active-bg);text-decoration:none}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;color:var(--body-text);flex-shrink:0;margin-left:auto;transition:border-color .12s,color .12s}.theme-toggle:hover{border-color:var(--hairline-strong);color:var(--ink)}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,html[data-theme=dark] .theme-toggle .icon-sun{display:block}html[data-theme=dark] .theme-toggle .icon-moon{display:none}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .theme-toggle .icon-sun{display:block}html:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}.top-nav{display:flex;align-items:center;gap:8px;margin-left:16px}.dropdown{position:relative}.dropdown-btn{height:36px;padding:0 14px;font-size:14px;font-weight:500;color:var(--body-text);background:none;border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;font-family:var(--font);white-space:nowrap;transition:border-color .12s,color .12s}.dropdown-btn:hover{border-color:var(--hairline-strong);color:var(--ink)}.dropdown-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:240px;max-height:420px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-card);z-index:200;overflow:hidden}.dropdown-btn[aria-expanded=true]+.dropdown-menu{display:flex;flex-direction:column}.dropdown-search{padding:10px 12px 6px;flex-shrink:0}.dropdown-search-input{width:100%;height:36px;padding:0 10px;font-size:13px;font-family:var(--font);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--canvas-soft);color:var(--ink);outline:none}.dropdown-search-input:focus{border-color:var(--hairline-strong)}.dropdown-list{overflow-y:auto;padding:6px;flex:1}.dropdown-link{display:block;padding:8px 10px;font-size:13px;color:var(--body-text);border-radius:var(--r-sm);text-decoration:none;transition:background .12s}.dropdown-link:hover{background:var(--canvas-soft-2);color:var(--ink);text-decoration:none}.dropdown-link.hidden{display:none}.mobile-nav-toggle{display:none;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;color:var(--body-text);flex-shrink:0;transition:border-color .12s,color .12s}.mobile-nav-toggle:hover{border-color:var(--hairline-strong);color:var(--ink)}.mobile-nav-toggle .icon-close,.mobile-nav-toggle[aria-expanded=true] .icon-hamburger{display:none}.mobile-nav-toggle[aria-expanded=true] .icon-close{display:block}.mobile-drawer{position:fixed;inset:64px 0 0;background:var(--canvas);z-index:99;overflow-y:auto;border-top:1px solid var(--hairline);display:none;padding:20px 20px 48px;-webkit-overflow-scrolling:touch}.mobile-drawer.open{display:block}.mobile-drawer-search{margin-bottom:16px}.mobile-search-input{display:block;width:100%;height:48px;padding:0 12px;font-size:16px;font-family:var(--font);color:var(--ink);background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--r-sm);outline:none;-webkit-appearance:none;appearance:none}.mobile-search-input:focus{border-color:var(--ink)}.mobile-drawer-group{margin-bottom:28px}.mobile-drawer-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--mute);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--hairline)}.mobile-drawer-link{display:block;padding:12px 4px;font-size:15px;color:var(--ink);border-bottom:1px solid var(--hairline);text-decoration:none;transition:color .12s}.mobile-drawer-link:hover{color:var(--link);text-decoration:none}.mobile-drawer-link.hidden{display:none}.mobile-drawer-lang{display:flex;gap:8px;padding-top:10px}.main-content{min-height:calc(100vh - 204px);padding:40px 0 64px}.ad-slot{display:none}.site-footer{background:var(--canvas);border-top:1px solid var(--hairline);padding:40px 0 24px}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:32px}.footer-logo{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.3px;text-decoration:none}.footer-logo:hover{text-decoration:none}.footer-tagline{margin-top:4px;font-size:13px;color:var(--body-text)}.footer-nav{display:flex;gap:20px;align-items:center;padding-top:2px}.footer-nav a{font-size:13px;color:var(--body-text)}.footer-nav a:hover{color:var(--ink);text-decoration:none}.footer-bottom{border-top:1px solid var(--hairline);padding-top:20px}.footer-bottom p{font-size:12px;color:var(--mute)}h1{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.2;color:var(--ink);margin-bottom:8px}.tool-subtitle{font-size:16px;color:var(--body-text);margin-bottom:28px}.tool-card{background:var(--canvas);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:28px;margin-bottom:32px}.form-group{margin-bottom:18px}.iw{position:relative}.iw input,.iw select{padding-left:42px!important}.ii{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--mute);pointer-events:none}label{display:block;font-size:13px;font-weight:500;color:var(--body-text);margin-bottom:6px}input[type=text],input[type=number],input[type=date],select{display:block;width:100%;height:48px;padding:0 12px;font-size:16px;font-family:var(--font);color:var(--ink);background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-sm);outline:none;-webkit-appearance:none;appearance:none;transition:border-color .12s}input:focus,select:focus{border-color:var(--ink)}.tip-buttons{display:flex;gap:8px;flex-wrap:wrap}.tip-btn{height:44px;padding:0 18px;font-size:15px;font-weight:500;color:var(--body-text);background:var(--canvas-soft-2);border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:var(--font)}.tip-btn:hover,.tip-btn.active{background:var(--active-bg);color:var(--active-text);border-color:var(--active-bg)}.btn-primary{display:block;width:100%;height:48px;font-size:15px;font-weight:500;color:var(--active-text);background:var(--active-bg);border:none;border-radius:var(--r-pill);cursor:pointer;font-family:var(--font);margin-top:8px;transition:opacity .12s}.btn-primary:hover{opacity:.85}.btn-secondary{display:inline-flex;align-items:center;height:44px;padding:0 14px;font-size:13px;font-weight:500;color:var(--body-text);background:var(--canvas-soft-2);border:1px solid var(--hairline);border-radius:var(--r-md);cursor:pointer;font-family:var(--font);transition:border-color .12s,color .12s}.btn-secondary:hover{border-color:var(--hairline-strong);color:var(--ink)}.result-box{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--r-md);padding:20px;margin-top:20px;display:none}.result-box.visible{display:block}.result-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--hairline);font-size:14px}.result-row:last-child{border-bottom:none}.result-label{color:var(--body-text)}.result-value{font-weight:600;font-size:16px}.result-value.hero{font-size:26px;letter-spacing:-.5px}.seo-content{margin-top:48px}.seo-content h2{font-size:20px;font-weight:600;letter-spacing:-.4px;color:var(--ink);margin:28px 0 10px}.seo-content p{font-size:15px;color:var(--body-text);line-height:1.7;margin-bottom:14px}.faq-section{margin-top:48px}.faq-section h2{font-size:20px;font-weight:600;letter-spacing:-.4px;margin-bottom:16px}.faq-item{border-bottom:1px solid var(--hairline);padding:16px 0}.faq-q{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:6px}.faq-a{font-size:14px;color:var(--body-text);line-height:1.65}.related-tools{margin-top:48px}.related-tools h2{font-size:20px;font-weight:600;letter-spacing:-.4px;margin-bottom:14px}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}.related-link{display:block;padding:13px 16px;background:var(--canvas);border:1px solid var(--hairline);border-radius:var(--r-md);font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm);transition:border-color .12s,box-shadow .12s}.related-link:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-card);text-decoration:none}.course-table{width:100%;border-collapse:collapse;margin-bottom:16px}.course-table th{text-align:left;font-size:12px;font-weight:500;color:var(--mute);padding:0 8px 10px;border-bottom:1px solid var(--hairline)}.course-table td{padding:8px;vertical-align:middle}.course-table input,.course-table select{height:44px;font-size:16px}.course-table .credits-input{max-width:80px}.btn-remove{background:none;border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--mute);cursor:pointer;font-size:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;transition:border-color .12s,color .12s;flex-shrink:0}.btn-remove:hover{border-color:var(--error);color:var(--error)}@media(max-width:640px){.mobile-nav-toggle{display:flex}.top-nav,.lang-switcher{display:none}h1{font-size:22px;letter-spacing:-.5px}.tool-card{padding:18px}.result-value.hero{font-size:20px}.course-table th:first-child,.course-table td:first-child{display:none}.container{padding:0 16px}.footer-nav{flex-wrap:wrap;gap:12px}.related-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
