:root{--bg:#f4f3f0;--bg-elevated:#fbfaf8;--surface:#fff;--surface-muted:#f6f5f2;--text:#17181c;--text-secondary:#4b4f58;--muted:#6f737c;--border:#e3e1dc;--border-strong:#cfccc5;--accent:#d9480f;--accent-hover:#c23f0a;--accent-soft:#d9480f1a;--accent-text:#fff;--ok:#1f8a4c;--ok-soft:#1f8a4c1f;--warning:#a86a0a;--warning-soft:#c9861424;--error:#c92a2a;--error-soft:#c92a2a1a;--band-0:#17181c08;--band-1:#17181c12;--ring:#d9480f47;--shadow:0 1px 2px #17181c0d, 0 8px 24px -16px #17181c2e;--radius:14px;--radius-sm:9px;--font:"Inter", "SF Pro Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1012;--bg-elevated:#141518;--surface:#18191d;--surface-muted:#1f2025;--text:#ecebe8;--text-secondary:#b3b2ad;--muted:#8a8c93;--border:#2a2b31;--border-strong:#3a3b43;--accent:#ea6418;--accent-hover:#f5762a;--accent-soft:#ea641829;--accent-text:#0f1012;--ok:#3ccf74;--ok-soft:#3ccf741f;--warning:#e2a62a;--warning-soft:#e2a62a24;--error:#ff6b6b;--error-soft:#ff6b6b1f;--band-0:#ecebe808;--band-1:#ecebe812;--ring:#ea641859;--shadow:0 1px 2px #0006, 0 12px 32px -20px #000c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font:15px/1.55 var(--font);font-feature-settings:"cv11", "ss01";background:var(--bg);background-image:radial-gradient(1200px 500px at 50% -10%, var(--accent-soft), transparent 70%);color:var(--text);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;margin:0}main{max-width:920px;margin:0 auto;padding:40px 20px 80px}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;margin:0}h1{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:650;line-height:1.1}h2{font-size:1.15rem;font-weight:600}h3{font-size:.95rem;font-weight:600}p{margin:0}a{color:inherit}.hero{gap:16px;margin-bottom:36px;display:grid}.brand{color:var(--text-secondary);align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:inline-flex}.brand-mark{background:linear-gradient(160deg, var(--accent), #f0a04b);color:#fff;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.lead{color:var(--text-secondary);text-wrap:pretty;max-width:62ch;font-size:1.05rem}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.pill svg{width:14px;height:14px;color:var(--ok)}.steps{gap:20px;display:grid}.step{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;transition:border-color .2s,opacity .2s;position:relative}.step-header{align-items:center;gap:12px;margin-bottom:18px;display:flex}.step-number{font-variant-numeric:tabular-nums;background:var(--surface-muted);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-secondary);border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:650;display:grid}.step[data-state=active] .step-number{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.step[data-state=done] .step-number{background:var(--ok-soft);color:var(--ok);border-color:#0000}.step[data-state=waiting]{box-shadow:none;background:0 0;border-style:dashed}.step-hint{color:var(--muted);margin-left:auto;font-size:.85rem}.placeholder{color:var(--muted);padding:4px 0}.placeholder p{margin:0}.placeholder ul{margin:6px 0 10px;padding-left:20px}.slice-steps{color:var(--text-secondary);gap:4px;margin:0 0 16px;padding-left:20px;font-size:.92rem;display:grid}.step-note{color:var(--muted);margin:14px 0 0;font-size:.82rem}.notice{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid color-mix(in oklab, var(--accent) 35%, transparent);color:var(--text);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;padding:12px 14px;font-size:.9rem;display:flex}.notice>span{flex:280px}.notice:empty{display:none}.config-form{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px;display:grid}.advanced{grid-column:1/-1}.advanced summary{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:600;list-style:none;display:inline-flex}.advanced summary::-webkit-details-marker{display:none}.advanced summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.advanced[open] summary:before{transform:rotate(45deg)}.advanced-fields{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 16px;margin-top:14px;display:grid}.field{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:.82rem;font-weight:500;display:flex}.field-material,.config-form>.field{grid-column:span 2}.control{align-items:center;display:flex;position:relative}.control .unit{color:var(--muted);pointer-events:none;font-size:.8rem;position:absolute;right:12px}input[type=number],select{width:100%;font:inherit;font-variant-numeric:tabular-nums;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-elevated);appearance:none;padding:9px 36px 9px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}select{cursor:pointer;padding-right:36px}.control-select:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;width:8px;height:8px;position:absolute;right:14px;transform:translateY(-2px)rotate(45deg)}input[type=number]:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}input::-webkit-outer-spin-button{-webkit-appearance:none}input::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}.field-switch{cursor:pointer;color:var(--text);flex-direction:row;grid-column:span 4;align-self:center;align-items:center;gap:12px;padding-top:4px;font-weight:450}.field-switch input{opacity:0;width:1px;height:1px;position:absolute}.switch{background:var(--border-strong);border-radius:999px;flex:none;width:38px;height:22px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:999px;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.field-switch input:checked+.switch{background:var(--accent)}.field-switch input:checked+.switch:after{transform:translate(16px)}.field-switch input:focus-visible+.switch{box-shadow:0 0 0 3px var(--ring)}.field-switch .switch-text{flex-direction:column;gap:1px;display:flex}.field-switch small{color:var(--muted);font-size:.8rem}.preview{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border);grid-column:1/-1;gap:12px;padding:16px;display:grid}.preview-stats{color:var(--text-secondary);flex-wrap:wrap;gap:6px 20px;font-size:.85rem;display:flex}.preview-stats strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.tier-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tier-end{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:600}.tier-chip{--heat:.5;font-variant-numeric:tabular-nums;background:color-mix(in oklab, var(--accent) calc(var(--heat) * 70%), var(--surface));color:var(--text);border:1px solid color-mix(in oklab, var(--accent) calc(var(--heat) * 60%), var(--border));border-radius:7px;padding:4px 9px;font-size:.82rem;font-weight:600}.tier-chip.outside{border-style:dashed;border-color:var(--warning)}.preview-warning{border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);margin:0;padding:8px 12px;font-size:.85rem}.preview-file{color:var(--muted);font-size:.8rem}.preview-file code{word-break:normal;overflow-wrap:anywhere}.problems{border-radius:var(--radius-sm);background:var(--error-soft);color:var(--error);grid-column:1/-1;margin:0;padding:12px 16px 12px 32px;font-size:.9rem}.problems:empty{display:none}button{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}button:disabled{background:var(--surface-muted);border-color:var(--border);color:var(--muted);cursor:not-allowed}button.small{padding:6px 12px;font-size:.85rem}button.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}button.secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}button svg{width:16px;height:16px}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.actions .muted{font-size:.85rem}.status{color:var(--text-secondary);text-wrap:pretty;align-items:flex-start;gap:8px;margin-top:14px;font-size:.9rem;display:flex}.status:empty{display:none}.status:before{content:"";background:var(--muted);border-radius:999px;flex:none;width:8px;height:8px;margin-top:7px}.status.busy:before{background:var(--accent);animation:1s ease-in-out infinite pulse}.status.ok:before{background:var(--ok)}.status.error{color:var(--error)}.status.error:before{background:var(--error)}@keyframes pulse{50%{opacity:.3}}.dropzone{text-align:center;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--bg-elevated);justify-items:center;gap:8px;padding:36px 24px;transition:border-color .15s,background .15s;display:grid}.dropzone.active{border-color:var(--accent);background:var(--accent-soft)}.dropzone-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.dropzone-icon svg{width:20px;height:20px}.dropzone-title{font-weight:600}.dropzone-formats{color:var(--muted);font-size:.82rem}.dropzone input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.file-chip{background:var(--surface);border:1px solid var(--border);font-family:var(--mono);color:var(--text);border-radius:999px;align-items:center;gap:8px;margin-top:6px;padding:6px 12px;font-size:.8rem;display:inline-flex}.file-chip:empty{display:none}.report{gap:18px;display:grid}.report>*,.step{min-width:0}.facts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;display:grid}.fact{border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border);min-width:0;padding:12px 14px}.fact dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px;font-size:.75rem;font-weight:500}.fact dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:.95rem;font-weight:500}.fact dd small{color:var(--text-secondary);font-size:.8rem;font-weight:400;display:block}.issues{border-radius:var(--radius-sm);border:1px solid;grid-template-columns:auto 1fr;gap:4px 12px;padding:14px 16px;display:grid}.issues h3{grid-column:2}.issues ul{grid-column:2;margin:0;padding-left:18px;font-size:.9rem}.issues li{margin:2px 0}.issues svg{grid-row:1/span 2;width:18px;height:18px;margin-top:1px}.issues.errors{background:var(--error-soft);border-color:color-mix(in oklab, var(--error) 40%, transparent);color:var(--error)}.issues.warnings{background:var(--warning-soft);border-color:color-mix(in oklab, var(--warning) 40%, transparent);color:var(--warning)}.issues ul{color:var(--text)}.chart-wrap{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);padding:16px}.chart-title{margin-bottom:8px;font-size:.85rem;font-weight:600}.chart-scroll{overflow-x:auto}.chart{width:100%;min-width:480px;height:auto;font-family:var(--font);display:block}.chart-plot{fill:none;stroke:var(--border)}.chart-grid{stroke:var(--border);stroke-dasharray:2 4}.chart-band-0{fill:var(--band-0)}.chart-band-1{fill:var(--band-1)}.chart-band:hover{fill:var(--accent-soft)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.chart-dot{fill:var(--accent);stroke:var(--bg-elevated);stroke-width:2px}.chart-axis,.chart-tier-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.chart-tier-label{fill:var(--text-secondary);font-weight:500}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.tiers{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.tiers th,.tiers td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 14px}.tiers th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-muted);font-size:.75rem;font-weight:500}.tiers tr:last-child td{border-bottom:none}.tiers .num{text-align:right}.lines{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.lines summary{cursor:pointer;background:var(--surface-muted);align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:600;list-style:none;display:flex}.lines summary::-webkit-details-marker{display:none}.lines summary:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.lines[open] summary:before{transform:rotate(45deg)}.lines .count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500}.lines ol{max-height:260px;font-family:var(--mono);background:var(--bg-elevated);margin:0;padding:8px 0;font-size:.8rem;list-style:none;overflow:auto}.lines li{white-space:pre;grid-template-columns:56px 1fr;gap:12px;padding:2px 14px;line-height:1.6;display:grid}.lines li:hover{background:var(--band-1)}.lines .line-number{text-align:right;color:var(--muted);-webkit-user-select:none;user-select:none}.lines .muted{padding:10px 14px;display:block}.lines code{font-size:inherit}.muted{color:var(--muted)}code{font-family:var(--mono);word-break:break-all;font-size:.85em}.download-ready{border-radius:var(--radius-sm);background:var(--ok-soft);border:1px solid color-mix(in oklab, var(--ok) 35%, transparent);flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;display:flex}.download-ready .muted{font-size:.85rem}footer{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:40px;padding-top:20px;font-size:.82rem;display:flex}@media (max-width:760px){.config-form{grid-template-columns:repeat(4,minmax(0,1fr))}.config-form>.field-material{grid-column:1/-1}.config-form>.field:not(.field-material){grid-column:span 2}.field-switch{grid-column:span 3}.advanced-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:600px){main{padding:24px 16px 56px}.step{padding:18px}.config-form{grid-template-columns:repeat(2,minmax(0,1fr))}.field-switch{grid-column:1/-1}.config-form>.field:not(.field-material){grid-column:span 1}.advanced-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.step-header{flex-wrap:wrap}.step-header h2{flex:1 1 0;min-width:0}.step-hint{flex-basis:100%;margin:-10px 0 0 40px}.download-ready{flex-direction:column;align-items:stretch}.download-ready button{white-space:normal;overflow-wrap:anywhere;justify-content:center;min-width:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
