:root{--color-primary: #1a365d;--color-primary-light: #2b4c7e;--color-primary-dark: #0f2440;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-subtle: #dbeafe;--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-alt: #f1f3f7;--color-surface-inset: #e8ebf0;--color-border: #d1d5db;--color-border-light: #e5e7eb;--color-border-focus: var(--color-accent);--color-text: #1a1d23;--color-text-muted: #5c6370;--color-text-faint: #9ca3af;--color-pass: #15803d;--color-pass-bg: rgba(21, 128, 61, .1);--color-fail: #b91c1c;--color-fail-bg: rgba(185, 28, 28, .1);--color-warn: #b45309;--color-warn-bg: rgba(180, 83, 9, .1);--color-info: #1d4ed8;--color-info-bg: rgba(29, 78, 216, .1);--color-governing: #7c3aed;--color-governing-bg: rgba(124, 58, 237, .1);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", Consolas, "Liberation Mono", monospace;--text-xs: .714rem;--text-sm: .786rem;--text-base: .929rem;--text-md: 1rem;--text-lg: 1.143rem;--text-xl: 1.286rem;--text-2xl: 1.571rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-loose: 1.75;--weight-normal: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .06);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--header-height: 56px;--content-max-width: 1280px;--sidebar-width: 320px}.dark{--color-primary: #93b4d4;--color-primary-light: #b0cde4;--color-primary-dark: #6a8eb8;--color-accent: #60a5fa;--color-accent-hover: #93bbfc;--color-accent-subtle: #1e3a5f;--color-bg: #0f1117;--color-surface: #1a1d27;--color-surface-alt: #22262f;--color-surface-inset: #2a2e38;--color-border: #374151;--color-border-light: #2d333b;--color-border-focus: var(--color-accent);--color-text: #e5e7eb;--color-text-muted: #9ca3af;--color-text-faint: #6b7280;--color-pass: #22c55e;--color-pass-bg: rgba(34, 197, 94, .15);--color-fail: #ef4444;--color-fail-bg: rgba(239, 68, 68, .15);--color-warn: #f59e0b;--color-warn-bg: rgba(245, 158, 11, .15);--color-info: #60a5fa;--color-info-bg: rgba(96, 165, 250, .15);--color-governing: #a78bfa;--color-governing-bg: rgba(167, 139, 250, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;line-height:var(--leading-normal);-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-hover:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),color var(--transition-base);text-decoration:none;background:var(--color-surface);color:var(--color-text);line-height:var(--leading-tight)}.btn:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-danger{color:var(--color-fail);border-color:var(--color-fail-bg)}.btn-danger:hover:not(:disabled){background:var(--color-fail-bg)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semi);font-family:var(--font-mono);letter-spacing:.02em}.status-pass{color:var(--color-pass);background:var(--color-pass-bg)}.status-fail{color:var(--color-fail);background:var(--color-fail-bg)}.status-warn{color:var(--color-warn);background:var(--color-warn-bg)}.status-info{color:var(--color-info);background:var(--color-info-bg)}.status-governing{color:var(--color-governing);background:var(--color-governing-bg)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border-light);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--color-text-muted);white-space:nowrap;line-height:var(--leading-normal)}.badge-accent{background:var(--color-accent-subtle);border-color:var(--color-accent);color:var(--color-accent)}.edition-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-mono);font-weight:var(--weight-semi);color:#ffffffd9;letter-spacing:.03em;white-space:nowrap}.input{padding:var(--space-2) 10px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--text-base);font-family:var(--font-mono);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}select.input{cursor:pointer}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--weight-semi);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-2) var(--space-3);vertical-align:top;border-bottom:1px solid var(--color-border-light)}.table tbody tr:hover{background:var(--color-surface-alt)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.section-label{font-weight:var(--weight-semi);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-sm);margin-bottom:var(--space-4)}.fieldset-section{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius);background:var(--color-surface-alt)}.fieldset-section legend{font-size:var(--text-base);font-weight:var(--weight-semi);padding:0 var(--space-2)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-base);border:1px solid}.alert-error{background:var(--color-fail-bg);border-color:var(--color-fail);color:var(--color-fail)}.alert-warn{background:var(--color-warn-bg);border-color:var(--color-warn)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info)}.alert-cta{background:var(--color-accent-subtle);border-color:var(--color-accent)}.utilization-track{flex:1;height:8px;background:var(--color-surface-inset);border-radius:var(--radius-pill);overflow:hidden}.utilization-fill{height:100%;border-radius:var(--radius-pill);transition:width .3s ease}.disclaimer{font-size:var(--text-sm);color:var(--color-text-muted);max-width:600px;margin:0 auto;line-height:var(--leading-loose);text-align:center}.disclaimer strong{color:var(--color-text);font-weight:var(--weight-semi)}.module-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(380px,1.5fr);gap:var(--space-6);margin-top:var(--space-4);align-items:start}.module-grid>:last-child{position:sticky;top:calc(var(--header-height) + var(--space-4));max-height:calc(100vh - var(--header-height) - var(--space-8));overflow-y:auto;scrollbar-width:thin}.module-grid>:last-child::-webkit-scrollbar{width:4px}.module-grid>:last-child::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}.pricing-highlight{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),var(--shadow-md);position:relative}.pricing-highlight:before{content:"RECOMMENDED";position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold);padding:2px 10px;border-radius:var(--radius-pill);letter-spacing:.06em}.visual-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.visual-panel h3{margin-top:0;margin-bottom:var(--space-3);font-size:var(--text-base);color:var(--color-text)}.visual-panel svg{width:100%;height:auto;display:block}.visual-panel .export-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.result-protected{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.result-protected .input,.result-protected input,.result-protected select,.result-protected textarea{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.pro-badge{display:inline-flex;align-items:center;padding:1px 6px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold);font-family:var(--font-mono);border-radius:var(--radius-sm);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;white-space:nowrap}.btn-pro-gated{opacity:.5;cursor:not-allowed;pointer-events:none;position:relative}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (max-width: 768px){html{font-size:13px}.module-grid{grid-template-columns:1fr}.module-grid>:last-child{position:static;max-height:none;overflow-y:visible}header{padding:0 var(--space-3)!important}header nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:1;min-width:0}header nav::-webkit-scrollbar{display:none}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.table th,.table td{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn{min-height:44px;padding:var(--space-3) var(--space-4)}.btn-sm{min-height:44px;padding:var(--space-2) var(--space-3)}.input{min-height:44px;padding:var(--space-3) 10px}select.input{min-height:44px}main{padding:var(--space-3)!important}.card{overflow:visible}.visual-panel{padding:var(--space-3);overflow:hidden}.visual-panel svg{max-width:100%;height:auto}.disclaimer{font-size:var(--text-xs);padding:0 var(--space-2)}footer nav{gap:var(--space-4)!important}}@media (max-width: 380px){html{font-size:12px}main{padding:var(--space-2)!important}header{padding:0 var(--space-2)!important}.visual-panel{padding:var(--space-2)}}@media print{header,footer,.btn,.alert-cta,.feature-gate-overlay,nav,.export-panel,.daily-limit-banner,.cookie-consent-banner,.cookie-consent,.feedback-widget,.mobile-menu-btn,.mobile-nav-overlay,.disclaimer-modal,.nav-dropdown-panel,button[type=button]{display:none!important}main{max-width:100%!important;padding:8px!important}body,:root{background:#fff!important}body{color:#000;font-size:11pt}*{color:#000!important}.status-pass{color:#15803d!important}.status-fail{color:#b91c1c!important}.status-warn{color:#b45309!important}h1,h2,h3{page-break-after:avoid}table{page-break-inside:avoid}.card{box-shadow:none;border:1px solid #ccc;break-inside:avoid;page-break-inside:avoid}.module-grid{grid-template-columns:1fr}.result-protected{user-select:auto}.utilization-track{display:none}.table th,.table td{padding:4px 8px;font-size:9pt}main:before{content:"Steel Calculator -- Preliminary Design Check";display:block;font-weight:700;font-size:14pt;margin-bottom:12pt;padding-bottom:6pt;border-bottom:2px solid #000!important}main:after{content:"For preliminary design verification only. The engineer of record must independently verify all outputs.";display:block;font-size:8pt;color:#666!important;margin-top:24pt;padding-top:6pt;border-top:1px solid #999}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#666!important}}.seo-content-article h1{font-size:2rem;font-weight:700;margin-bottom:.5em;line-height:1.2}.seo-content-article h2{font-size:1.4rem;font-weight:600;margin-top:2em;margin-bottom:.5em;border-bottom:1px solid var(--color-border-light, #e5e7eb);padding-bottom:.3em}.seo-content-article h3{font-size:1.15rem;font-weight:600;margin-top:1.5em;margin-bottom:.4em}.seo-content-article p{margin-bottom:1em}.seo-content-article ul,.seo-content-article ol{padding-left:1.5em;margin-bottom:1em}.seo-content-article li{margin-bottom:.4em}.seo-content-article a{color:var(--color-primary, #2563eb);text-decoration:none}.seo-content-article a:hover{text-decoration:underline}.seo-content-article strong{font-weight:600}.seo-content-article blockquote{border-left:3px solid var(--color-border, #d1d5db);padding-left:1em;margin:1em 0;color:var(--color-text-muted, #6b7280)}.seo-content-article code{background:var(--color-bg-subtle, #f7fafc);padding:.15em .35em;border-radius:3px;font-size:.9em}.seo-content-article hr{border:none;border-top:1px solid var(--color-border-light, #e5e7eb);margin:2em 0}
