:root{--fg-primary:#2563eb;--fg-secondary:#3b82f6;--fg-success:#16a34a;--fg-danger:#dc2626;--fg-warning:#f59e0b;--fg-bg:#f4f7fb;--fg-card:#ffffff;--fg-text:#0f172a;--fg-muted:#64748b;--fg-border:#e2e8f0;--fg-gradient:linear-gradient(135deg,#2563eb 0%,#3b82f6 100%)}body{background:var(--fg-bg)}.fg-card{border:none;border-radius:22px;background:var(--fg-card);box-shadow:0 10px 30px rgba(0,0,0,.06);overflow:hidden}.hero-card{background:var(--fg-gradient);color:#fff}.hero-number{font-size:3rem;font-weight:800;line-height:1}.section-title{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#fff;background:var(--fg-primary);padding:12px 18px;border-radius:14px;margin-bottom:20px}.form-label{font-weight:700;font-size:.88rem;color:var(--fg-text);margin-bottom:8px}.input-group-text{background:#eff6ff;border:1px solid #cbd5e1;font-weight:700;color:var(--fg-primary)}.form-control{border:1px solid #cbd5e1;height:48px;font-weight:600;border-radius:12px!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.form-control:focus{border-color:var(--fg-primary);box-shadow:0 0 0 .2rem rgba(37,99,235,.15)}.metric-box{border-radius:18px;padding:18px;background:#f8fafc;border:1px solid var(--fg-border);height:100%}.metric-label{font-size:.78rem;font-weight:700;text-transform:uppercase;color:var(--fg-muted)}.metric-value{font-size:1.4rem;font-weight:800;color:var(--fg-text)}.result-box{border-radius:18px;padding:24px;background:linear-gradient(135deg,#eff6ff 0,#dbeafe 100%);border:2px solid #bfdbfe}.result-grade{font-size:3rem;font-weight:800;color:var(--fg-primary)}.grade-badge{display:inline-block;padding:10px 18px;border-radius:50px;font-size:.9rem;font-weight:800;background:rgba(37,99,235,.12);color:var(--fg-primary);background-color:beige}.btn-calculate{background:var(--fg-gradient);border:none;color:#fff;border-radius:14px;height:52px;font-weight:800;font-size:1rem;width:100%}.btn-calculate:hover{opacity:.95;color:#fff}.formula-box{border-radius:16px;background:#f8fafc;padding:18px;border:1px dashed #cbd5e1}.formula{font-size:1.15rem;font-weight:700;color:var(--fg-primary)}.tips-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:18px;padding:18px}