:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-secondary:#1e40af;--color-text:#1e293b;--color-text-secondary:#64748b;--color-background:#fff;--color-background-secondary:#f8fafc;--color-border:#e2e8f0;--color-accent:#059669;--font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);font-weight:700;line-height:1.3}h1{margin-bottom:1.5rem;font-size:2.5rem}h2{margin-bottom:1.25rem;font-size:2rem}h3{margin-bottom:1rem;font-size:1.5rem}h4{margin-bottom:.75rem;font-size:1.25rem}p{margin-bottom:1rem;font-size:1rem}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);background:#fffffff2;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.logo{color:var(--color-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:800}.logo span{color:var(--color-text)}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--color-text-secondary);font-size:.95rem;font-weight:500}.nav-links a:hover{color:var(--color-primary)}.hero{background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background) 100%);padding:4rem 0}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.hero-content h1{margin-bottom:1.25rem;font-size:2.75rem}.hero-content p{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:1.125rem}.hero-tags{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.hero-tag{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:inline-block}.hero-tag.free{color:var(--color-accent);background:#ecfdf5;border-color:#a7f3d0}.hero-tag.instant{color:var(--color-primary);background:#eff6ff;border-color:#bfdbfe}.hero-tag.private{color:#92400e;background:#fef3c7;border-color:#fde68a}.hero-trust{border-left:4px solid var(--color-primary);color:var(--color-text-secondary);background:#f0f9ff;border-radius:0 8px 8px 0;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.875rem;display:flex}.hero-trust svg{color:var(--color-primary);flex-shrink:0}.calculator-preview{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:2rem;box-shadow:0 4px 6px -1px #0000000d}.calculator-preview h2{margin-bottom:.5rem;font-size:1.5rem}.calculator-preview .subtitle{color:var(--color-text-secondary);margin-bottom:1.5rem;font-size:.875rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--color-text);margin-bottom:.375rem;font-size:.875rem;font-weight:600;display:block}.form-group input,.form-group select{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:var(--color-background);border-radius:6px;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.grade-input-row{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem;display:grid}.grade-input-row .form-group{margin-bottom:0}.result-display{text-align:center;border:1px solid var(--color-border);background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:8px;margin-top:1.5rem;padding:1.25rem}.result-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:600}.result-value{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:3rem;font-weight:800;line-height:1}.result-value.count-up{animation:.4s ease-out countUp}@keyframes countUp{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.result-note{color:var(--color-text-secondary);margin-top:.5rem;font-size:.75rem;font-style:italic}.calculator-cta{text-align:center;border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1.25rem}.calculator-cta p{color:var(--color-text-secondary);margin-bottom:.75rem;font-size:.8125rem}.btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .1s;display:inline-block}.btn:hover{background:var(--color-primary-dark);color:#fff;transform:translateY(-1px)}.btn-secondary{background:var(--color-background);color:var(--color-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-background-secondary);color:var(--color-primary-dark);border-color:var(--color-primary)}.btn-outline{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary);color:#fff}.tools-section{background:var(--color-background);padding:5rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{margin-bottom:.75rem;font-size:2.25rem}.section-header p{color:var(--color-text-secondary);max-width:600px;margin:0 auto;font-size:1.0625rem}.tools-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.tool-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;transition:box-shadow .2s,border-color .2s}.tool-card:hover{border-color:#cbd5e1;box-shadow:0 10px 25px -5px #00000014}.tool-card-header{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.tool-icon{width:48px;height:48px;color:var(--color-primary);background:#eff6ff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tool-card h3{margin-bottom:.25rem;font-size:1.0625rem}.tool-card .tool-desc{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.875rem}.tool-card .feature-list{margin-bottom:1.25rem;list-style:none}.tool-card .feature-list li{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:.375rem;font-size:.8125rem;display:flex}.tool-card .feature-list li svg{color:var(--color-accent);flex-shrink:0}.tool-card .card-cta{border-top:1px solid var(--color-border);align-items:center;gap:.75rem;padding-top:1rem;display:flex}.tool-card .card-cta .learn-more{color:var(--color-primary);font-size:.875rem;font-weight:600}details{background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;overflow:hidden}summary{cursor:pointer;color:var(--color-text);justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:.9375rem;font-weight:600;list-style:none;transition:background-color .2s;display:flex}summary::-webkit-details-marker{display:none}summary:hover{background-color:var(--color-background-secondary)}summary:after{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' d='M19.5 8.25l-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;width:20px;height:20px;transition:transform .2s}details[open] summary:after{transform:rotate(180deg)}details[open] summary{background-color:var(--color-background-secondary)}.faq-content{border-top:1px solid var(--color-border);color:var(--color-text);padding:1rem 1.25rem;font-size:.9375rem;line-height:1.7}.faq-content p{margin-bottom:.75rem}.faq-content ul,.faq-content ol{margin:.75rem 0;padding-left:1.5rem}.faq-content li{margin-bottom:.375rem}.faq-content a{text-decoration:underline}.page-header{background:linear-gradient(180deg, var(--color-background-secondary) 0%, var(--color-background) 100%);border-bottom:1px solid var(--color-border);padding:3rem 0 2rem}.page-header h1{font-size:2.25rem}.page-header .breadcrumb{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:flex}.page-header .breadcrumb a{color:var(--color-text-secondary)}.page-header .breadcrumb a:hover{color:var(--color-primary)}.page-header .breadcrumb svg{flex-shrink:0}.page-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.8125rem;display:flex}.page-meta .meta-item{align-items:center;gap:.375rem;display:flex}.calculator-main{padding:3rem 0}.calculator-layout{grid-template-columns:1.5fr 1fr;align-items:start;gap:3rem;display:grid}.input-panel{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:2rem}.input-panel h2{margin-bottom:1.5rem;font-size:1.5rem}.grade-entry{background:var(--color-background-secondary);border-radius:8px;grid-template-columns:80px 1fr 1fr auto;align-items:end;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:grid}.grade-entry .class-num{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.grade-entry input,.grade-entry select{padding:.5rem .625rem;font-size:.875rem}.grade-entry .remove-btn{border:1px solid var(--color-border);background:var(--color-background);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.grade-entry .remove-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.add-class-btn{border:2px dashed var(--color-border);width:100%;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.add-class-btn:hover{border-color:var(--color-primary);background:var(--color-background-secondary)}.result-panel{position:sticky;top:100px}.result-summary{color:#fff;text-align:center;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-radius:12px;margin-bottom:1.5rem;padding:2rem;box-shadow:0 10px 30px -5px #2563eb4d}.result-summary .result-label{color:#fffc}.result-summary .result-value{color:#fff;margin:.5rem 0;font-size:4rem}.result-summary .result-note{color:#fffc}.result-breakdown{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.result-breakdown h3{margin-bottom:1rem;font-size:1.0625rem}.breakdown-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.625rem 0;font-size:.875rem;display:flex}.breakdown-row:last-child{border-bottom:none}.breakdown-row .label{color:var(--color-text-secondary);font-weight:500}.breakdown-row .value{font-variant-numeric:tabular-nums;font-weight:600}.breakdown-row .value.highlight{color:var(--color-primary)}.print-btn{background:var(--color-background);border:1px solid var(--color-border);width:100%;color:var(--color-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;padding:.75rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:flex}.print-btn:hover{background:var(--color-background-secondary);border-color:var(--color-primary);color:var(--color-primary)}.calculator-info{background:var(--color-background-secondary);border-top:1px solid var(--color-border);padding:4rem 0}.info-layout{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.info-section h2{margin-bottom:1.25rem;font-size:1.5rem}.info-section p,.info-section li{color:var(--color-text);font-size:.9375rem;line-height:1.7}.info-section ul{margin:.75rem 0;padding-left:1.25rem}.info-section .formula-box{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-primary);border-radius:8px;margin:1rem 0;padding:1.25rem;font-family:Courier New,monospace;font-size:.9375rem}.faq-section{padding:4rem 0}.faq-section h2{text-align:center;margin-bottom:2rem;font-size:2rem}.faq-list{max-width:800px;margin:0 auto}.article{padding:3rem 0}.article h1{font-size:2.5rem}.article-meta{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;font-size:.875rem;display:flex}.article-meta .meta-item{align-items:center;gap:.375rem;display:flex}.article-meta .author-info{align-items:center;gap:.75rem;display:flex}.article-meta .author-avatar{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.article-content{max-width:720px;margin:0 auto}.article-content h2{margin:2.5rem 0 1rem;font-size:1.75rem}.article-content h3{margin:2rem 0 .75rem;font-size:1.375rem}.article-content p{margin-bottom:1.25rem;font-size:1.0625rem;line-height:1.8}.article-content table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.9375rem}.article-content th,.article-content td{border:1px solid var(--color-border);text-align:left;padding:.875rem 1rem}.article-content th{background:var(--color-background-secondary);font-weight:600}.article-content tr:nth-child(2n) td{background:var(--color-background-secondary)}.article-content blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-primary);color:var(--color-text-secondary);border-radius:0 8px 8px 0;margin:1.5rem 0;padding:1rem 1.5rem;font-style:italic}.article-content ul,.article-content ol{margin:1rem 0;padding-left:1.5rem}.article-content li{margin-bottom:.5rem;font-size:1.0625rem}.article-content .keyword-tags{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0;display:flex}.article-content .keyword-tag{color:var(--color-primary);background:#eff6ff;border-radius:4px;padding:.375rem .75rem;font-size:.8125rem;font-weight:600}.article-content .calculator-cta-box{text-align:center;background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #bfdbfe;border-radius:12px;margin:2rem 0;padding:1.5rem}.article-content .calculator-cta-box h3{margin-bottom:.75rem}.blog-list{padding:3rem 0}.blog-list-header{text-align:center;margin-bottom:3rem}.blog-list-header h1{margin-bottom:.75rem;font-size:2.75rem}.blog-list-header p{color:var(--color-text-secondary);font-size:1.125rem}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.blog-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:12px;transition:box-shadow .2s;overflow:hidden}.blog-card:hover{box-shadow:0 10px 25px -5px #00000014}.blog-card-content{padding:1.5rem}.blog-card-content h3{margin-bottom:.5rem;font-size:1.125rem;line-height:1.4}.blog-card-content .excerpt{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.6}.blog-card-meta{color:var(--color-text-secondary);align-items:center;gap:1rem;font-size:.75rem;display:flex}.blog-card-meta .read-time{align-items:center;gap:.25rem;display:flex}.legal-page{padding:3rem 0}.legal-page h1{margin-bottom:1rem;font-size:2.5rem}.legal-page .last-updated{color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem;font-size:.875rem}.legal-page h2{margin:2rem 0 1rem;font-size:1.5rem}.legal-page p{margin-bottom:1rem;font-size:1rem;line-height:1.8}.legal-page ul{margin:1rem 0;padding-left:1.5rem}.legal-page li{margin-bottom:.5rem}.footer{color:#94a3b8;background:#0f172a;margin-top:4rem;padding:3rem 0 1.5rem}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer-brand .logo{color:#fff;margin-bottom:1rem}.footer-brand .logo span{color:var(--color-primary)}.footer-brand p{margin-bottom:1rem;font-size:.875rem;line-height:1.7}.footer h4{color:#fff;margin-bottom:1.25rem;font-size:.9375rem;font-weight:600}.footer ul{list-style:none}.footer ul li{margin-bottom:.5rem}.footer ul a{color:#94a3b8;font-size:.875rem;transition:color .2s}.footer ul a:hover{color:#fff}.footer-bottom{border-top:1px solid #1e293b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.8125rem;display:flex}.footer-bottom .copyright{color:#64748b}.footer-bottom .disclaimer{text-align:right;color:#64748b;max-width:600px;font-size:.75rem;line-height:1.5}.schema-data{display:none}.animated-number{font-variant-numeric:tabular-nums;transition:transform .1s;display:inline-block}@media print{.navbar,.hero-tags,.calculator-cta,.footer,.faq-section,.calculator-info,.page-header .breadcrumb,.page-meta,.print-btn,.add-class-btn,.remove-btn,.calculator-cta-box,.article-content .keyword-tags,.ad-slot{display:none!important}body{color:#000;background:#fff;font-size:12pt}.container{max-width:100%;padding:0}.calculator-layout{grid-template-columns:1fr;gap:1rem}.input-panel,.result-panel,.result-summary,.result-breakdown{box-shadow:none;color:#000;page-break-inside:avoid;background:#fff;border:1px solid #ccc}.result-summary{border:2px solid #333;color:#000!important;background:#fff!important}.result-summary .result-value,.result-value{font-size:24pt;color:#000!important}.result-summary .result-label,.result-summary .result-note{color:#555!important}.grade-entry{page-break-inside:avoid;background:#fff;border:1px solid #ddd}.article{padding:0}.article-content{max-width:100%}.legal-disclaimer{color:#666;text-align:center;border-top:1px solid #ccc;padding:.25in;font-size:8pt;position:fixed;bottom:0;left:0;right:0}}@media (max-width:768px){h1{font-size:1.75rem}h2{font-size:1.5rem}.hero{padding:2rem 0}.hero-grid{grid-template-columns:1fr;gap:2rem}.tools-section{padding:3rem 0}.calculator-layout,.info-layout{grid-template-columns:1fr;gap:2rem}.result-panel{position:static}.grade-entry{grid-template-columns:1fr 1fr auto;gap:.5rem}.grade-entry .class-num{grid-column:span 3}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{text-align:center;flex-direction:column}.footer-bottom .disclaimer{text-align:center}.nav-links{display:none}.tools-grid,.blog-grid{grid-template-columns:1fr}.calculator-preview{padding:1.5rem}.input-panel,.result-breakdown{padding:1.25rem}}@media (max-width:480px){.container{padding:0 1rem}h1{font-size:1.5rem}.hero-content h1{font-size:1.75rem}.result-value{font-size:2.25rem}.result-summary .result-value{font-size:3rem}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hero-tags,.tool-card,.faq-content{-webkit-tap-highlight-color:transparent}.ad-slot{text-align:center;background:var(--color-background-secondary,#f8fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;width:100%;max-width:728px;min-height:120px;margin:2rem auto;padding:.75rem;display:block}.ad-slot-label{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-bottom:.5rem;font-size:.6875rem;display:block}
