:root{--surface:#fcfcfb;--page:#f9f9f7;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--border:#0b0b0b1a;--gridline:#e1e0d9;--axis:#c3c2b7;--accent:#2a78d6;--danger:#d03b3b;--chart-surface:var(--surface);--chart-grid:var(--gridline);--chart-axis:var(--axis);--chart-muted:var(--text-muted);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-primary);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:where(:not([data-theme=light])){--surface:#1a1a19;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--border:#ffffff1a;--gridline:#2c2c2a;--axis:#383835;--accent:#3987e5;--danger:#e66767}}:root[data-theme=dark]{--surface:#1a1a19;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--border:#ffffff1a;--gridline:#2c2c2a;--axis:#383835;--accent:#3987e5;--danger:#e66767}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}.home-page{flex-direction:column;min-height:100svh;display:flex}.home-content{flex-direction:column;flex:1;align-items:center;gap:40px;padding:64px 32px;display:flex}.home-intro{text-align:center;flex-direction:column;gap:10px;max-width:480px;display:flex}.home-intro h2{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:600}.home-intro p{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.5}.tools-section{flex-direction:column;gap:14px;width:100%;max-width:960px;display:flex}.tools-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0;font-size:12px;font-weight:600}.tools-list{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=860px){.tools-list{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.tools-list{grid-template-columns:1fr}}.run-card{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;height:100%;color:var(--text-primary);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 24px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 1px 2px #0000000a}.run-card:hover{border-color:var(--accent);box-shadow:0 12px 28px -12px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateY(-3px)}.run-card:active{transform:translateY(-1px)scale(.99)}.run-card-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);width:48px;height:48px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.run-card-icon svg{width:24px;height:24px}.run-card-body{flex-direction:column;flex:1;gap:5px;display:flex}.run-card-title{font-size:16px;font-weight:600}.run-card-desc{color:var(--text-muted);font-size:13px;line-height:1.45}.run-card-arrow{color:var(--text-muted);align-self:flex-end;font-size:18px;transition:transform .18s,color .18s}.run-card:hover .run-card-arrow{color:var(--accent);transform:translate(4px)}.chart-controls select{font:inherit}.result-page{flex-direction:column;min-height:100svh;display:flex}.site-header{z-index:2;background:var(--page);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1400px;margin:0 auto;padding:16px 32px;display:flex}.site-header-left{align-items:baseline;gap:16px;min-width:0;display:flex}.site-header-actions{align-items:center;gap:10px;display:flex}.back-link{color:var(--text-secondary);white-space:nowrap;font-size:14px;text-decoration:none}.back-link:hover{color:var(--accent)}.site-header h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.result-content{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:24px 32px 48px}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:center;gap:8px;padding:20px 32px;font-size:13px;display:flex}.site-footer .dot{opacity:.6}.hint{color:var(--text-secondary)}.error{color:var(--danger)}.progress-panel{max-width:520px;padding:24px 28px}.progress-caption{color:var(--text-secondary);margin:0 0 12px;font-size:14px}.progress-bar-track{background:var(--gridline);border-radius:3px;height:6px;margin-bottom:20px;overflow:hidden}.progress-bar-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.progress-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.progress-steps li{color:var(--text-muted);align-items:center;gap:10px;font-size:13px;display:flex}.progress-steps li.done{color:var(--text-secondary)}.progress-steps li.current{color:var(--text-primary);font-weight:500}.progress-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.progress-steps li.current .progress-dot{background:var(--accent)}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab{font:inherit;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:14px;font-weight:500}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px}.table-wrap{border-radius:8px;max-height:70vh;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:13px}th,td{border-bottom:1px solid var(--gridline);text-align:right;white-space:nowrap;padding:8px 14px}th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.th-unit{text-transform:none;color:var(--text-muted);letter-spacing:normal;font-weight:400}th:first-child,th:nth-child(2),td:first-child,td:nth-child(2){text-align:left}thead th{background:var(--surface);z-index:1;position:sticky;top:0}tbody tr:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.inputs-table td.num,.steel-profile-table td.num{font-variant-numeric:tabular-nums}.inputs-table td.unit,.steel-profile-table td.unit{color:var(--text-muted);text-align:left}.outputs-page{flex-direction:column;gap:16px;display:flex}.totals-hero{flex-wrap:wrap;align-items:center;gap:32px;padding:20px 24px;display:flex}.hero-figure{border-right:1px solid var(--gridline);flex-direction:column;gap:4px;padding-right:32px;display:flex}.hero-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.hero-value{letter-spacing:-.02em;color:var(--text-primary);font-size:40px;font-weight:600}.hero-unit{color:var(--text-secondary);margin-left:6px;font-size:18px;font-weight:500}.hero-breakdown{flex-wrap:wrap;flex:1;gap:24px;display:flex}.hero-stat{flex-direction:column;gap:2px;display:flex}.hero-stat-label{color:var(--text-muted);font-size:12px}.hero-stat-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:18px;font-weight:600}.hero-stat-unit{color:var(--text-muted);font-size:12px;font-weight:400}.outputs-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;gap:16px;display:grid}.outputs-section{padding:16px 20px 8px}.outputs-section h2{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.outputs-section table{width:100%}.report-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.report-title{letter-spacing:-.01em;margin:2px 0 4px;font-size:24px;font-weight:600}.report-design-vector{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px}.report-hero-row{flex-wrap:wrap;gap:32px;padding:20px 24px;display:flex}.hero-figure-plain{border-right:none;padding-right:0}.hero-substat{color:var(--text-muted);font-size:13px}.report-grid{grid-template-columns:repeat(auto-fit,minmax(440px,1fr));align-items:start;gap:16px;display:grid}.report-table{width:100%}.report-group-row td{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:normal;border-bottom:none;padding-top:14px;padding-bottom:4px;font-size:11px;font-weight:600}.report-table tbody tr:first-child td{padding-top:8px}.ur-table th,.ur-table td{padding:6px 10px;font-size:12px}.ur-cell{font-variant-numeric:tabular-nums;font-weight:600}.charts-panel{padding:20px}.chart-controls{border-bottom:1px solid var(--gridline);flex-wrap:wrap;align-items:flex-start;gap:24px;margin-bottom:20px;padding-bottom:20px;display:flex}.control-stack{flex-direction:column;gap:16px;display:flex}.control{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;display:flex}.control>span,.y-select legend{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:500}.control select{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:6px;min-width:160px;padding:6px 10px}.y-select{border:none;flex:1;min-width:220px;margin:0;padding:0}.y-select-list{flex-wrap:wrap;gap:6px 16px;max-height:96px;display:flex;overflow-y:auto}.y-checkbox{color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.chart-wrap{width:100%}.btn-primary,.btn-secondary,.global-inputs-button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,opacity .15s}.btn-primary:disabled,.btn-secondary:disabled,.global-inputs-button:disabled{opacity:.6;cursor:default}.btn-secondary,.global-inputs-button{background:var(--surface);color:var(--text-primary)}.btn-secondary:hover:not(:disabled),.global-inputs-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){opacity:.92}.modal-backdrop{z-index:10;background:#00000073;justify-content:center;align-items:flex-start;padding:48px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:720px;padding:24px 28px 20px;box-shadow:0 24px 48px -12px #00000059}.modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-header h2{margin:0;font-size:19px;font-weight:600}.modal-close{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-subtitle{color:var(--text-secondary);margin:8px 0 0;font-size:13px}.modal-body{flex-direction:column;gap:16px;max-height:60vh;margin-top:16px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--gridline);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}.history-table-wrap{max-height:60vh;overflow-y:auto}.history-table{width:100%}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-actions{justify-content:flex-end;gap:8px;display:flex}.history-actions .btn-primary,.history-actions .btn-secondary{text-decoration:none;display:inline-block}.history-result-meta{margin-bottom:12px}.form-group{border:1px solid var(--border);border-radius:10px;margin:0;padding:14px 16px 16px}.form-group legend{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 6px;font-size:12px;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 16px;display:grid}.form-field{flex-direction:column;gap:5px;font-size:13px;display:flex}.form-field-label{color:var(--text-secondary);font-size:12px}.form-field-unit{color:var(--text-muted)}.form-field input,.form-field select{font:inherit;border:1px solid var(--border);background:var(--page);color:var(--text-primary);border-radius:6px;padding:7px 10px;font-size:13px}.form-field input:focus,.form-field select:focus{border-color:var(--accent);outline:none}.checklist{flex-wrap:wrap;gap:8px 18px;display:flex}.checklist-item{color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.tool-inputs-form{flex-direction:column;gap:18px;padding:20px 24px 24px;display:flex}.tool-form-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.tool-form-header h2{margin:0 0 4px;font-size:19px;font-weight:600}.tool-form-actions{flex-shrink:0;gap:10px;display:flex}.geometry-pickers{flex-direction:column;gap:10px;margin-top:14px;display:flex}.geometry-row{background:color-mix(in srgb, var(--accent) 5%, transparent);border-radius:8px;grid-template-columns:minmax(140px,180px) repeat(3,minmax(140px,1fr));align-items:end;gap:12px 16px;padding:10px 12px;display:grid}.geometry-row-label{color:var(--text-secondary);align-self:center;font-size:12px;font-weight:600}.moi-layout{grid-template-columns:minmax(320px,420px) 1fr;align-items:start;gap:20px;display:grid}.moi-form{flex-direction:column;gap:16px;padding:20px;display:flex}.moi-form .btn-primary{align-self:flex-start}.moi-visual{flex-direction:column;gap:16px;display:flex}.moi-drawing-panel{justify-content:center;align-items:center;min-height:420px;padding:24px;display:flex}.moi-drawing-hint{margin:0}.moi-results .hero-breakdown{flex-wrap:wrap}@media (width<=900px){.moi-layout{grid-template-columns:1fr}}.section-drawing{justify-content:center;width:100%;display:flex}.section-svg{width:100%;max-width:460px;height:auto}.section-shape{fill:color-mix(in srgb, var(--accent) 16%, transparent);stroke:var(--accent);stroke-width:1.5px}.dim-line line{stroke:var(--text-muted);stroke-width:1px}.dim-line text{fill:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:14px}.dim-arrowhead{fill:none;stroke:var(--text-muted);stroke-width:1.2px}.neutral-axis line{stroke:var(--danger);stroke-width:1.2px;stroke-dasharray:6 3 1.5 3}.neutral-axis text{fill:var(--danger);font-size:14px;font-weight:500}.il-layout{grid-template-columns:minmax(340px,460px) 1fr;align-items:start;gap:20px;transition:grid-template-columns .2s;display:grid}.il-layout.il-form-collapsed{grid-template-columns:44px 1fr}.il-form{flex-direction:column;gap:16px;padding:20px;display:flex;position:relative}.il-form .btn-primary{align-self:flex-start}.il-form-collapsed-panel{justify-content:center;padding:8px;display:flex;position:sticky;top:16px}.il-form-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;line-height:1;display:flex;position:absolute;top:20px;right:20px}.il-form-toggle:hover{border-color:var(--accent);color:var(--accent)}.il-form-collapsed-panel .il-form-toggle{position:static}.il-results{flex-direction:column;gap:16px;display:flex}@media (width<=900px){.il-layout,.il-layout.il-form-collapsed{grid-template-columns:1fr}.il-form-collapsed-panel{display:none}}.list-input{flex-direction:column;gap:8px;display:flex}.list-input-row{align-items:center;gap:8px;display:flex}.list-input-label{color:var(--text-secondary);min-width:80px;font-size:12px}.list-input-row input{font:inherit;border:1px solid var(--border);background:var(--page);color:var(--text-primary);border-radius:6px;width:110px;padding:7px 10px;font-size:13px}.list-input-row input:focus{border-color:var(--accent);outline:none}.list-input-unit{color:var(--text-muted);font-size:12px}.list-input-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1}.list-input-remove:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.list-input-add{align-self:flex-start}.list-input-sublabel{color:var(--text-muted);font-size:11px}.custom-udl-field{max-width:200px;margin-top:8px}.load-model-picker{flex-direction:column;gap:12px;display:flex}.load-model-card{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:8px;padding:12px 14px}.load-model-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13px}.load-model-note{margin:8px 0 0}.envelope-stat{flex-direction:column;gap:2px;display:flex}.envelope-snap-note{margin:4px 0 0}.envelope-load-model-note{border-top:1px solid var(--gridline);width:100%;margin:4px 0 0;padding-top:12px}.il-table-heading{color:var(--text-secondary);margin:20px 0 8px;font-size:13px;font-weight:600}.il-table-heading:first-child{margin-top:0}
