.hh-boq-export{position:relative;margin-bottom:20px}.hh-boq-export-trigger{width:100%;justify-content:space-between;gap:8px;font-size:15px;font-weight:700}.hh-boq-export-menu{position:absolute;inset:100% 0 auto;z-index:20;display:grid;gap:6px;padding:8px;background:var(--hh-surface);border:1px solid var(--hh-border);border-radius:10px;box-shadow:0 12px 36px #102d4326}.hh-boq-export-menu button{text-align:left;min-height:48px;padding:12px;border:0;border-radius:7px;background:var(--hh-soft);color:var(--hh-text);font:600 15px/1.5 var(--hh-font)}.hh-boq-export-menu button:hover{background:var(--hh-primary);color:var(--hh-button-foreground)}.hh-report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;background:#e2e8f0;color:#0f172a;font-family:Arial,Segoe UI,sans-serif;line-height:1.5;color-scheme:light}.hh-report-toolbar{flex:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 20px;background:#0f172a;color:#fff;border-bottom:3px solid #f59e0b}.hh-report-toolbar strong{font-size:17px}.hh-report-toolbar small{display:block;color:#e2e8f0;font-size:13px}.hh-report-toolbar-actions{display:flex;align-items:center;gap:8px}.hh-report-action{min-height:44px;padding:8px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:700 15px/1.5 Arial,sans-serif}.hh-report-action.primary{background:#185ac3;border-color:#8fbbff;color:#fff}.hh-report-action:disabled{opacity:.7}.hh-report-close{font-size:24px;min-width:44px;padding:0 10px}.hh-report-scroller{flex:1;min-height:0;overflow:auto;padding:20px}.hh-report-paper{box-sizing:border-box;width:210mm;margin:0 auto;padding:12mm;background:#fff;box-shadow:0 8px 40px #0f172a26;color:#0f172a;font:11pt/1.5 Arial,Segoe UI,sans-serif}.hh-report-paper *,.hh-report-paper *:before,.hh-report-paper *:after{box-sizing:border-box}.hh-report-brand{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:#0f172a;color:#fff;padding:14px;font-size:10pt;font-weight:700}.hh-report-brand>strong{font-size:14pt}.hh-report-brand>strong>span{color:#f59e0b}.hh-report-paper h1{font:700 16pt/1.4 Arial,sans-serif;color:#0f172a;margin:16px 0 12px;text-align:center}.hh-report-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:16px;font-size:10pt}.hh-report-meta>span:last-child{flex-basis:100%}.hh-report-paper a{color:#185ac3;text-decoration:underline;text-underline-offset:2px}.hh-report-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9.5pt;line-height:1.5;margin:12px 0 20px}.report-col-number{width:6%}.report-col-label{width:30%}.report-col-value{width:20%}.report-col-unit{width:12%}.report-col-note{width:32%}.hh-report-table th,.hh-report-table td{border:1px solid #cbd5e1;padding:8px 6px;vertical-align:top;overflow-wrap:anywhere}.hh-report-table thead th:first-child{white-space:nowrap}.hh-report-table thead th{background:#e2e8f0;color:#0f172a;font-weight:700;text-align:left}.hh-report-table tbody th[scope=row]{font-weight:500;text-align:left}.hh-report-table .hh-report-section th{background:#e2e8f0;font-weight:700;text-align:left;padding:10px 8px}.hh-report-table .hh-report-section.section-blue th{background:#dbeafe}.hh-report-table .hh-report-value{text-align:right;font-variant-numeric:tabular-nums}.hh-report-emphasis>*{background:#eff6ff;color:#185ac3;font-weight:700!important}.hh-report-paper h2{font-size:11pt;font-weight:700;line-height:1.5;margin:16px 0 8px;color:#0f172a}.hh-report-notes{padding:10px 14px;background:#f8fafc;border:1px solid #cbd5e1;font-size:10pt}.hh-report-notes h2{margin-top:0}.hh-report-notes p{margin:8px 0}.hh-report-drawing{width:100%;margin:20px 0;break-inside:avoid}.hh-report-drawing>h2{padding:10px;background:#e2e8f0}.hh-report-drawing .roof-svg{display:block;width:100%!important;max-height:225mm;object-fit:contain;height:auto}.hh-report-drawings{--hh-text: #152b42;--hh-muted: #56687a;--hh-primary: #185ac3;--drawing-bg: #fff;--drawing-grid: #dce7f1;--drawing-rafter: #246db4;--drawing-batten: #956008;--drawing-wall: #7d8da1;--drawing-cover: #5585a7;--drawing-hip: #61908a;--drawing-text: #2e526e}.hh-report-drawing-caption{color:#334155;font-size:9pt;margin:8px 0}.hh-report-drawings .roof-face{pointer-events:none}.hh-report-footer{border:1px solid #cbd5e1;border-top:3px solid #f59e0b;padding:14px;margin-top:24px;font-size:10pt}.hh-report-footer>p{font-style:italic}.hh-report-footer ul{list-style:none;padding:0;margin:0}.hh-report-footer li{display:grid;grid-template-columns:38% 62%;gap:8px;margin-bottom:9px}.hh-report-footer li span{display:block;font-weight:700}.hh-report-footer li a{overflow-wrap:anywhere}.hh-report-home{display:block;margin-top:14px;padding-top:12px;border-top:1px solid #cbd5e1;font-weight:700}.hh-report-mobile-hint{display:none}@media(max-width:767px){.hh-report-toolbar{padding:12px 16px}.hh-report-toolbar-actions{width:100%}.hh-report-toolbar-actions>button:not(.hh-report-close){flex:1}.hh-report-scroller{padding:12px}.hh-report-mobile-hint{display:block;color:#334155;font-size:13px;margin:0 0 10px}.hh-report-paper{margin-left:0}}@media print{@page{size:A4 portrait;margin:12mm 12mm 15mm;@bottom-center{content:"happyhometools.com · " counter(page);font:9pt Arial,sans-serif;color:#475569}}html.hh-report-open,html.hh-report-open body{overflow:visible!important;background:#fff!important}html.hh-report-open body>*:not(.hh-report-overlay){display:none!important}.hh-report-overlay{position:static;display:block;height:auto;overflow:visible;background:#fff}.hh-report-toolbar,.hh-report-mobile-hint,.hh-boq-export{display:none!important}.hh-report-scroller{display:block;padding:0;overflow:visible}.hh-report-paper{width:186mm;max-width:100%;padding:0;margin:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.hh-report-table thead{display:table-header-group}.hh-report-table tr{break-inside:avoid}.hh-report-section{break-after:avoid}.hh-report-notes p,.hh-report-footer li{break-inside:avoid}.hh-report-drawing{break-before:page;margin:0}.hh-report-drawing>h2{margin-top:0}.hh-report-appendix{break-before:page}.hh-report-footer{break-before:auto;break-inside:avoid}}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}:root{color-scheme:light;--hh-bg:#f6f8fc;--hh-surface:#fff;--hh-text:#152b42;--hh-muted:#56687a;--hh-border:#dce4ee;--hh-navy:#102d43;--hh-primary:#185ac3;--hh-soft:#edf3fb;--hh-gold:#f8c154;--hh-shadow:0 8px 30px #12345808;--hh-danger:#b91c1c;--hh-focus:#185ac3;--hh-button-foreground:#fff;--hh-font:Inter, "Segoe UI", Arial, sans-serif;--hh-font-mono:Consolas, "SFMono-Regular", monospace;--hh-radius-sm:7px;--hh-radius-button:8px;--hh-radius-card:12px;--hh-radius-feature:16px;--hh-content-width:1200px;--hh-space-1:4px;--hh-space-2:8px;--hh-space-3:12px;--hh-space-4:16px;--hh-space-5:20px;--hh-space-6:24px;--hh-space-8:32px}:root[data-theme=dark]{color-scheme:dark;--hh-bg:#0c1724;--hh-surface:#142337;--hh-text:#eff5ff;--hh-muted:#acbfd5;--hh-border:#30445d;--hh-navy:#0b1928;--hh-primary:#8fbbff;--hh-soft:#1b3049;--hh-shadow:none;--hh-danger:#fda4af;--hh-focus:#8fbbff;--hh-button-foreground:#102b43}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--hh-bg:#0c1724;--hh-surface:#142337;--hh-text:#eff5ff;--hh-muted:#acbfd5;--hh-border:#30445d;--hh-navy:#0b1928;--hh-primary:#8fbbff;--hh-soft:#1b3049;--hh-shadow:none;--hh-danger:#fda4af;--hh-focus:#8fbbff;--hh-button-foreground:#102b43}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{background:var(--hh-bg);min-width:280px;color:var(--hh-text);font-family:var(--hh-font);margin:0;font-size:1rem;line-height:1.6}a{color:var(--hh-primary);text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--hh-focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.85rem,2.8vw,2.4rem)}h2{font-size:clamp(1.25rem,2vw,1.5rem)}h3{font-size:1.2rem}.hh-container{width:min(var(--hh-content-width),calc(100% - 32px));margin-inline:auto}.hh-skip{background:var(--hh-gold);color:#102d43;z-index:1000;border-radius:6px;padding:10px 14px;position:fixed;inset:-100px auto auto 12px}.hh-skip:focus{top:12px}.hh-header{background:var(--hh-surface);border-bottom:1px solid var(--hh-border)}.hh-header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:78px;display:flex}.hh-brand{min-width:0;color:inherit;border-radius:10px;align-items:center;gap:12px;text-decoration:none;display:flex}.hh-brand:hover .hh-brand-text strong{color:var(--hh-primary)}.hh-brand-mark{background:var(--hh-text);width:40px;height:40px;color:var(--hh-surface);border-radius:10px;flex:none;place-items:center;font-size:.85rem;font-weight:750;display:grid;position:relative}.hh-brand-mark:after{content:"";background:var(--hh-gold);border-radius:2px;width:8px;height:8px;position:absolute;top:4px;right:4px}.hh-brand-text{flex-direction:column;min-width:0;display:flex}.hh-brand-text strong{font-size:1.1rem;line-height:1.2}.hh-brand-text small{color:var(--hh-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.75rem;overflow:hidden}.hh-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.hh-theme-toggle{align-items:center;gap:2px;display:flex}.hh-icon-button{border-radius:var(--hh-radius-button);min-width:44px;min-height:44px;color:var(--hh-muted);background:0 0;border:1px solid #0000;place-items:center;font-size:1.2rem;display:grid}.hh-icon-button:hover,.hh-icon-button[aria-pressed=true]{background:var(--hh-soft);border-color:var(--hh-border);color:var(--hh-primary)}.hh-btn{border:1px solid var(--hh-border);border-radius:var(--hh-radius-button);background:var(--hh-surface);min-height:44px;color:var(--hh-text);justify-content:center;align-items:center;padding:8px 15px;font-size:.9375rem;font-weight:650;text-decoration:none;display:inline-flex}.hh-btn:hover{filter:brightness(.97)}.hh-btn-primary{background:var(--hh-primary);border-color:var(--hh-primary);color:var(--hh-button-foreground)}.hh-btn-muted{background:var(--hh-bg)}.hh-main{min-height:min(70vh,720px);padding-top:28px;padding-bottom:40px}.hh-hero{margin:0 0 26px}.hh-eyebrow{text-transform:uppercase;color:var(--hh-primary);letter-spacing:.12em;font-size:.75rem;font-weight:700}.hh-hero h1{margin:8px 0 12px}.hh-hero p{max-width:740px;color:var(--hh-muted);margin:0}.hh-workspace{grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:18px;display:grid}.hh-card{border-radius:var(--hh-radius-card);background:var(--hh-surface);border:1px solid var(--hh-border);min-width:0;box-shadow:var(--hh-shadow);padding:24px}.hh-card h2{margin:0 0 12px}.hh-muted{color:var(--hh-muted)}.hh-caption{color:var(--hh-muted);font-size:.875rem}.hh-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.hh-field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:650;display:flex}.hh-field input{border:1px solid var(--hh-border);background:var(--hh-bg);border-radius:var(--hh-radius-sm);width:100%;min-width:0;min-height:46px;color:var(--hh-text);padding:10px 12px}.hh-field input:focus{border-color:var(--hh-primary)}.hh-actions{gap:12px;margin-top:18px;display:flex}.hh-result{background:var(--hh-soft)}.hh-result-label{color:var(--hh-muted);margin-top:20px;font-size:.9rem;font-weight:600}.hh-result-number{font-family:var(--hh-font-mono);overflow-wrap:anywhere;color:var(--hh-primary);margin:10px 0 24px;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.25}.hh-result-number span{font-family:var(--hh-font);font-size:1.2rem}.hh-error{color:var(--hh-danger);font-size:.875rem;font-weight:600}.hh-guide{max-width:820px;margin-top:20px;padding:4px 0}.hh-guide h2{margin-bottom:8px}.hh-guide p{margin-bottom:10px}.hh-footer{background:var(--hh-surface);border-top:1px solid var(--hh-border);color:var(--hh-muted);font-size:.85rem}.hh-footer-inner{flex-wrap:wrap;justify-content:space-between;gap:18px;padding-block:22px;display:flex}@media(max-width:800px){.hh-workspace{grid-template-columns:1fr}}@media(max-width:640px){.hh-header-inner{flex-direction:column;align-items:stretch;min-height:0;padding-block:12px}.hh-brand-text strong{font-size:1.05rem}.hh-header-actions{justify-content:space-between;gap:6px}.hh-main{padding-top:24px}.hh-card{padding:18px}.hh-field-grid{grid-template-columns:1fr;gap:12px}.hh-footer-inner{flex-direction:column;gap:8px}}@media(min-width:361px)and (max-width:640px){.hh-header-actions{justify-content:flex-end;gap:6px}.hh-lang{padding-inline:10px;font-size:.84rem}}@media(max-width:360px){.hh-brand-mark{border-radius:8px;width:34px;height:34px}.hh-lang{padding-inline:10px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}}:root{color-scheme:light;--bg:#f6f8fc;--panel:#fff;--ink:#152b42;--muted:#56687a;--line:#dce4ee;--nav:#102d43;--blue:#185ac3;--soft:#edf3fb;--accent:#f8c154;--shadow:0 8px 30px #12345808;--success:#187858;--success-bg:#eaf7f0;--success-line:#cce8da;--warning:#805714;--warning-bg:#fff5dc;--warning-line:#e8cf8d;--input:#fff;font-synthesis:none;font-family:Arial,Helvetica Neue,sans-serif;font-size:16px}:root[data-theme=dark]{color-scheme:dark;--bg:#0c1724;--panel:#142337;--ink:#eff5ff;--muted:#acbfd5;--line:#30445d;--nav:#0b1928;--blue:#8fbbff;--soft:#1b3049;--shadow:none;--success:#78d9b4;--success-bg:#172f2d;--success-line:#2f554a;--warning:#f0cd89;--warning-bg:#342c1d;--warning-line:#66532c;--input:#142337}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0c1724;--panel:#142337;--ink:#eff5ff;--muted:#acbfd5;--line:#30445d;--nav:#0b1928;--blue:#8fbbff;--soft:#1b3049;--shadow:none;--success:#78d9b4;--success-bg:#172f2d;--success-line:#2f554a;--warning:#f0cd89;--warning-bg:#342c1d;--warning-line:#66532c;--input:#142337}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);color:var(--ink);margin:0;line-height:1.6}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:none}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}button,a{transition:background .15s,color .15s,border-color .15s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--blue);outline-offset:1px}h1,h2,h3{letter-spacing:-.035em;line-height:1.2}h2{margin:0;font-size:14px;font-weight:650}.header-inner,.app-main,.footer-inner,.footer-bottom{width:min(1184px,100% - 3.5rem);margin:auto}.skip-link{z-index:100;background:var(--accent);color:#152b42;padding:12px 18px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.app-header{background:var(--panel);border-bottom:1px solid var(--line);z-index:20;position:relative}.header-inner{align-items:center;gap:32px;min-height:80px;display:flex}.brand{white-space:nowrap;align-items:center;gap:11px;line-height:1.1;display:flex}.brand-mark{background:var(--ink);width:40px;height:40px;color:var(--panel);letter-spacing:-.06em;border-radius:10px;flex-shrink:0;place-items:center;font-size:14.4px;font-weight:700;display:grid;position:relative}.brand-mark:after{content:"";background:var(--accent);border-radius:2px;width:8px;height:8px;position:absolute;top:4px;right:4px}.brand-wordmark strong{letter-spacing:-.025em;font-size:19.2px;font-weight:700;display:block}.brand-wordmark small{color:var(--muted);letter-spacing:.22em;margin-top:5.6px;font-size:10.4px;display:block}.site-navigation{align-items:center;gap:24.8px;margin-left:auto;display:flex}.site-navigation a{color:var(--muted);white-space:nowrap;padding:26.4px 0;font-size:14.4px;font-weight:550;position:relative}.site-navigation a:hover,.site-navigation a.active{color:var(--blue)}.site-navigation a.active:after{content:"";background:var(--blue);border-radius:2px;height:3px;position:absolute;bottom:0;left:0;right:0}.header-tools{align-items:center;gap:7.2px;display:flex}.theme-switch{gap:2px;display:flex}.theme-button{width:40px;height:40px;color:var(--muted);border:1px solid #0000;border-radius:8px;place-items:center;padding:0;display:grid}.theme-button:hover,.theme-button[aria-pressed=true]{background:var(--soft);color:var(--blue)}.theme-button[aria-pressed=true]{border-color:var(--line)}.language-button,.menu-button{border:1px solid var(--line);background:var(--bg);min-height:40px;color:var(--ink);border-radius:8px;padding:7px 10px;font-size:14.4px;font-weight:650}.menu-button{justify-content:center;align-items:center;min-width:40px;padding:0;display:none}.app-main{padding-top:24px}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumb a{color:var(--blue)}.breadcrumb strong{color:var(--ink);font-weight:500}.intro{justify-content:space-between;align-items:center;gap:20px;padding:30px 0 32px;display:flex}.section-eyebrow{color:var(--blue);letter-spacing:.14em;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.section-eyebrow>span{background:var(--accent);border-radius:1px;width:5px;height:5px;display:inline-block}h1{margin:10px 0 13px;font-size:36px;font-weight:700}h1>span:first-child{color:var(--blue)}.title-divider{color:var(--line);margin:0 15px;font-weight:300}.title-description{letter-spacing:-.025em;color:var(--ink);font-size:22px;font-weight:400}.intro p{color:var(--muted);max-width:630px;margin:0;font-size:14px;line-height:1.7}.intro-tools{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:11px;display:flex}.module-badge{color:var(--blue);background:var(--soft);border:1px solid var(--line);letter-spacing:.04em;border-radius:5px;align-items:center;gap:7px;padding:4px 8px;font:10px Consolas,ui-monospace,monospace;display:inline-flex}.module-badge span{color:var(--muted);font-size:9px}.unit-switch{background:var(--panel);border:1px solid var(--line);border-radius:8px;gap:2px;padding:3px;display:flex}.unit-switch button{color:var(--muted);border-radius:5px;padding:7px 10px;font-size:11px}.unit-switch button span{margin-left:3px;font-size:10px}.unit-switch .active{background:var(--soft);color:var(--blue);font-weight:600}.standard-pill{color:var(--success);align-items:center;gap:6px;font-size:10px;display:flex}.standard-pill i{vertical-align:middle;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 6px;display:inline-block}.workspace{grid-template-columns:340px minmax(0,1fr);gap:24px;display:grid}.step-label{letter-spacing:.09em;color:var(--muted);align-items:center;gap:9px;height:22px;margin-bottom:12px;font-size:10px;font-weight:650;display:flex}.step-label>span:first-child{color:var(--blue);font:11px Consolas,ui-monospace,monospace}.step-label .real-time{letter-spacing:0;color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:10px;font-weight:400;display:flex}.live-dot{background:#36bf92;border-radius:50%;width:5px;height:5px;display:inline-block}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.component-tabs{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);padding:0 10px;display:grid}.component-tabs button{height:72px;color:var(--muted);border-bottom:3px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:-1px;font-size:12px;display:flex}.component-tabs button.active{color:var(--blue);background:var(--soft);border-bottom-color:var(--blue);font-weight:600}.component-tabs button:hover{color:var(--blue)}.panel-body{padding:20px}.panel-heading{align-items:center;gap:8px;margin-bottom:21px;display:flex}.heading-icon{color:var(--blue);display:flex}.icon-btn{color:var(--muted);margin-left:auto;padding:4px;display:flex}.icon-btn:hover{color:var(--blue)}.fields-grid{grid-template-columns:1fr 1fr;gap:19px 14px;display:grid}.field label{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;display:flex}.dimension-letter{color:var(--muted);font:11px Consolas,ui-monospace,monospace}.input-wrap{position:relative}.input-wrap input{border:1px solid var(--line);background:var(--input);width:100%;height:44px;color:var(--ink);border-radius:7px;padding:0 39px 0 12px;font:17px Consolas,ui-monospace,monospace}.input-wrap>span{pointer-events:none;color:var(--muted);font:11px Consolas,ui-monospace,monospace;position:absolute;top:14px;right:12px}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input::-webkit-inner-spin-button{-webkit-appearance:none}input::-webkit-outer-spin-button{-webkit-appearance:none}.presets{gap:5px;margin-top:7px;display:flex}.presets button{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:4px;padding:4px 5px;font:10px Consolas,ui-monospace,monospace}.presets button.selected{background:var(--soft);color:var(--blue);border-color:var(--blue)}.quantity-input{background:var(--input);border:1px solid var(--line);border-radius:7px;height:44px;display:flex}.quantity-input input{text-align:center;width:100%;min-width:0;color:var(--ink);background:0 0;border:none;font:17px Consolas,ui-monospace,monospace}.quantity-input button{width:32px;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.quantity-input button:hover{color:var(--blue)}.waste-control{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.waste-control>div:first-child{color:var(--ink);justify-content:space-between;align-items:center;font-size:12px;display:flex}.waste-value{color:var(--blue);font:20px Consolas,ui-monospace,monospace}.waste-value small{margin-left:4px;font-size:11px}.waste-control input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-radius:10px;width:100%;height:4px;margin:16px 0 11px}.waste-control input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--panel);background:var(--blue);width:14px;height:14px;box-shadow:0 0 0 1px var(--blue);border-radius:50%}.waste-control input::-moz-range-thumb{border:2px solid var(--panel);background:var(--blue);border-radius:50%;width:12px;height:12px}.range-labels{color:var(--muted);justify-content:space-between;font:10px Consolas,ui-monospace,monospace;display:flex}.range-labels span:nth-child(2){font-family:Arial,sans-serif;font-size:9px}.input-note{color:var(--muted);align-items:center;gap:6px;margin-top:19px;font-size:10px;line-height:1.6;display:flex}.tiny-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.second-step{margin-top:23px}.mix-panel .panel-heading{margin-bottom:16px}.supply-tabs{background:var(--bg);border:1px solid var(--line);border-radius:7px;gap:4px;margin-bottom:19px;padding:4px;display:flex}.supply-tabs button{white-space:nowrap;color:var(--muted);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 3px;font-size:10px;display:flex}.supply-tabs button.active{background:var(--soft);color:var(--blue);font-weight:600}.field.full+.field.full{margin-top:16px}select{border:1px solid var(--line);background:var(--input);width:100%;height:44px;color:var(--ink);border-radius:7px;padding:0 10px;font-size:12px}.small-tag{background:var(--soft);color:var(--blue);border-radius:3px;padding:3px 5px;font:9px Consolas,ui-monospace,monospace}.mix-note{color:var(--muted);align-items:flex-start;gap:5px;margin:17px 0 0;font-size:10px;line-height:1.6;display:flex}.mix-note svg{flex-shrink:0;margin-top:1px}.shape-options{gap:6px;margin:-5px 0 19px;display:flex}.shape-options button{border:1px solid var(--line);color:var(--muted);border-radius:5px;flex:1;padding:9px;font-size:11px}.shape-options button.active{background:var(--soft);color:var(--blue);border-color:var(--blue)}.blueprint-header{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:53px;padding:0 20px;display:flex}.blueprint-header>div{align-items:center;gap:9px;display:flex}.live-label{color:var(--success);background:var(--success-bg);border:1px solid var(--success-line);letter-spacing:.07em;border-radius:4px;margin-left:4px;padding:2px 5px;font:9px Consolas,ui-monospace,monospace}.drawing-id{color:var(--muted);letter-spacing:.04em;font:9px Consolas,ui-monospace,monospace}.blueprint-canvas{background-color:var(--nav);background-image:linear-gradient(#a3c2db0c 1px,#0000 1px),linear-gradient(90deg,#a3c2db0c 1px,#0000 1px);background-size:20px 20px;height:365px;position:relative;overflow:hidden}.blueprint-canvas>svg{width:100%;height:100%;position:absolute;top:9px;left:0}.view-switch,.zoom-toolbar{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#102333df;border:1px solid #536f8755;border-radius:6px;align-items:center;gap:3px;padding:4px;display:flex;position:absolute;top:16px}.view-switch{left:16px}.view-switch button{color:#b3c7d8;border-radius:4px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;display:flex}.view-switch button.active{color:var(--accent);background:#243f55}.zoom-toolbar{right:16px}.zoom-toolbar button{color:#c2d3e3;justify-content:center;align-items:center;padding:5px;display:flex}.zoom-toolbar button:hover{color:var(--accent)}.zoom-toolbar>span{background:#3e5b73;width:1px;height:13px;margin:0 3px}.canvas-label{z-index:1;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:75px;left:24px}.canvas-label span{color:#9bb1c3;letter-spacing:.1em;font:8px Consolas,ui-monospace,monospace}.canvas-label strong{color:#d0dfe9;font-size:12px;font-weight:400}.svg-dim{stroke:var(--accent);stroke-width:.85px}.svg-dim rect{stroke:none;fill:var(--nav)}.svg-dim text{stroke:none;fill:var(--accent);font:11px Consolas,ui-monospace,monospace}.svg-extensions{stroke:var(--accent);stroke-width:.6px;opacity:.5}.axis{width:46px;height:46px;position:absolute;bottom:15px;left:19px}.axis text{fill:#a4bbcd;font:8px Consolas,ui-monospace,monospace}.scale-label{color:#a4bbcd;font:9px Consolas,ui-monospace,monospace;position:absolute;bottom:22px;right:20px}.canvas-corner{opacity:.5;pointer-events:none;width:12px;height:12px;position:absolute}.canvas-corner.tl{border-top:1px solid #8aa9bf;border-left:1px solid #8aa9bf;top:68px;left:15px}.canvas-corner.br{border-bottom:1px solid #8aa9bf;border-right:1px solid #8aa9bf;bottom:14px;right:15px}.blueprint-footer{border-top:1px solid var(--line);background:var(--panel);height:38px;color:var(--muted);align-items:center;gap:18px;padding:0 18px;font-size:9px;display:flex}.blueprint-footer>span{align-items:center;gap:6px;display:flex}.legend-line{background:var(--accent);width:14px;height:2px}.legend-block{background:#284255;border:1px solid #69899f;width:8px;height:8px}.blueprint-footer .auto-label{margin-left:auto}.formula-bar{color:var(--muted);align-items:center;gap:8px;padding:15px 2px;font-size:10px;display:flex}.formula-bar code{color:var(--ink);margin-left:4px;font:11px Consolas,ui-monospace,monospace}.formula-check{color:var(--success);align-items:center;gap:4px;margin-left:auto;font-size:9px;display:flex}.summary{margin-top:4px}.summary-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:17px 20px;display:flex}.summary-heading>div{align-items:center;gap:9px;display:flex}.result-status{color:var(--success);align-items:center;gap:4px;font-size:9px;display:flex}.summary-content{grid-template-columns:1.12fr 1fr;gap:16px;padding:20px 20px 16px;display:grid}.volume-card,.delivery-card{border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:18px}.volume-card{border-color:var(--blue)}@supports (color:color-mix(in lab,red,red)){.volume-card{border-color:color-mix(in srgb,var(--blue) 28%,var(--line))}}.eyebrow{letter-spacing:.08em;color:var(--blue);justify-content:space-between;align-items:center;font-size:9px;font-weight:700;display:flex}.gross-number{color:var(--blue);letter-spacing:-2px;margin:16px 0 18px;font:700 44px/1.2 Consolas,ui-monospace,monospace}.gross-number>span{letter-spacing:0;margin-left:11px;font-size:19px;font-weight:400}.volume-breakdown{border-top:1px solid var(--line);padding-top:13px}.volume-breakdown>div{color:var(--muted);justify-content:space-between;gap:8px;margin-top:8px;font-size:10px;display:flex}.volume-breakdown>div:first-child{margin-top:0}.volume-breakdown strong{color:var(--ink);font:11px Consolas,ui-monospace,monospace}.volume-breakdown small{color:var(--muted);font-size:9px}.volume-breakdown em{color:var(--blue);margin-left:5px;font:9px Consolas,ui-monospace,monospace}.delivery-card{background:var(--bg)}.delivery-card .eyebrow{color:var(--muted)}.delivery-number{color:var(--ink);align-items:baseline;gap:12px;margin-top:16px;font:700 42px/1.2 Consolas,ui-monospace,monospace;display:flex}.delivery-number>span{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:400}.delivery-card p{color:var(--muted);margin:10px 0 0;font:11px Consolas,ui-monospace,monospace}.delivery-detail{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;margin-top:21px;padding-top:14px;font-size:10px;display:flex}.delivery-detail .tiny-dot{background:var(--success)}.summary-actions{gap:10px;padding:0 20px;display:flex}.primary-btn,.secondary-btn{border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:12px;font-weight:650;display:flex}.primary-btn{background:var(--blue);color:var(--bg);border:1px solid var(--blue);flex:1}:root[data-theme=dark] .primary-btn{color:#102b43}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .primary-btn{color:#102b43}}.primary-btn:hover{filter:brightness(.94)}.secondary-btn{background:var(--panel);min-width:112px;color:var(--ink);border:1px solid var(--line)}.secondary-btn:hover{background:var(--soft);border-color:var(--blue)}.summary-note{color:var(--muted);align-items:center;gap:6px;margin:14px 20px 18px;font-size:10px;line-height:1.5;display:flex}.material-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px 16px;display:grid}.material-grid>div{background:var(--bg);border:1px solid var(--line);border-radius:7px;flex-direction:column;gap:8px;padding:12px;display:flex}.material-grid span{color:var(--muted);font-size:11px}.material-grid strong{color:var(--blue);font:19px Consolas,ui-monospace,monospace}.material-grid small{color:var(--muted);font-size:11px}.warning{border:1px solid var(--warning-line);background:var(--warning-bg);color:var(--warning);border-radius:7px;align-items:flex-start;gap:8px;margin:0 0 12px;padding:11px 14px;font-size:12px;line-height:1.6;display:flex}.warning svg{flex-shrink:0;margin-top:2px}.knowledge{border-top:1px solid var(--line);grid-template-columns:340px 1fr;gap:24px;margin-top:40px;padding-top:30px;display:grid}.book-icon{color:var(--blue);margin-bottom:17px;display:flex}.knowledge-intro h2{letter-spacing:-.025em;color:var(--ink);margin:9px 0;font-size:24px;font-weight:650;line-height:1.4}.knowledge-intro p{max-width:300px;color:var(--muted);margin:11px 0 16px;font-size:13px;line-height:1.7}.knowledge-intro>a{color:var(--blue);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.faq-list{padding-top:5px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{color:var(--ink);cursor:pointer;align-items:center;gap:13px;padding:18px 0;font-size:13px;line-height:1.6;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary svg{color:var(--muted);flex-shrink:0;margin-left:auto}.faq-list details[open] summary svg{transform:rotate(180deg)}.faq-number{color:var(--muted);font:10px Consolas,ui-monospace,monospace}.faq-list p{color:var(--muted);margin:0 25px 18px;font-size:13px;line-height:1.8}.engineering-note{background:var(--soft);border:1px solid var(--line);color:var(--blue);border-radius:8px;align-items:flex-start;gap:10px;margin:30px 0;padding:16px 18px;display:flex}.engineering-note svg{flex-shrink:0;margin-top:2px}.engineering-note p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.site-footer{background:var(--panel);border-top:1px solid var(--line);margin-top:32px}.footer-inner{grid-template-columns:1.3fr 1fr 1fr;gap:32px;padding:36px 0;display:grid}.footer-about strong{font-size:17.6px}.footer-about p{color:var(--muted);margin:8px 0 0;font-size:13.6px}.footer-links{flex-direction:column;gap:8px;font-size:14.4px;display:flex}.footer-links a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;padding:16px 0;font-size:12px;display:flex}.guide-shell{width:min(850px,100% - 3.5rem);margin:32px auto 60px}.guide-shell h1{margin:28px 0 20px;font-size:32px}.guide-shell p{color:var(--muted);margin:18px 0;font-size:15px;line-height:1.8}.guide-shell code{color:var(--blue);white-space:normal}.guide-shell a{color:var(--blue)}.guide-shell table{border-collapse:collapse;width:100%;font-size:13px}.guide-shell td,.guide-shell th{border:1px solid var(--line);text-align:left;padding:10px}.guide-shell th{background:var(--soft)}.guide-table{overflow:auto}.guide-header .header-inner{justify-content:space-between}.guide-back{color:var(--blue);font-size:13px}@media(max-width:1060px){.header-inner{flex-wrap:wrap;gap:16px;min-height:78px;padding:14px 0}.header-tools{margin-left:auto}.site-navigation{border-top:1px solid var(--line);order:3;justify-content:center;gap:32px;width:100%;margin-left:0}.site-navigation a{padding:10px 0}.workspace,.knowledge{grid-template-columns:310px minmax(0,1fr);gap:20px}.intro{align-items:flex-start}.title-divider{display:none}.title-description{margin-top:9px;font-size:21px;display:block}.formula-check{display:none}.summary-content{gap:10px;padding:16px}.volume-card,.delivery-card{padding:15px}.gross-number{font-size:38px}.gross-number>span{margin-left:8px;font-size:17px}.delivery-number{gap:8px;font-size:36px}.delivery-number>span{font-size:11px}.panel-body{padding:18px}.supply-tabs button{font-size:9px}}@media(max-width:760px){.workspace{grid-template-columns:1fr}.intro{flex-wrap:wrap;gap:15px;padding:25px 0}.intro-tools{flex-flow:wrap;align-items:center;gap:12px;width:100%}.module-badge{margin-right:auto}.standard-pill{display:none}.controls{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.controls>.step-label,.input-panel,.mix-panel{grid-column:1/-1}.fields-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.mix-panel .panel-body{grid-template-columns:1fr 1fr;gap:16px;display:grid}.mix-panel .panel-heading,.mix-panel .supply-tabs,.mix-panel .mix-note{grid-column:1/-1;margin:0}.mix-panel .field.full+.field.full{margin:0}.supply-tabs button{font-size:12px}.results{margin-top:8px}.blueprint-canvas{height:330px}.knowledge{grid-template-columns:1fr;gap:12px;margin-top:32px;padding-top:25px}.book-icon{display:none}.knowledge-intro h2{font-size:23px}.knowledge-intro h2 br{display:initial}.knowledge-intro p{max-width:100%}.footer-inner{grid-template-columns:1fr 1fr;gap:24px}.footer-about{grid-column:1/-1}.formula-bar>span:first-of-type{display:none}}@media(max-width:560px){.header-inner,.app-main,.footer-inner,.footer-bottom{width:calc(100% - 2rem)}.header-inner{gap:6px;min-height:72px;padding:11px 0}.brand{gap:8px}.brand-mark{border-radius:8px;width:32px;height:32px;font-size:12px}.brand-wordmark strong{font-size:16.8px}.brand-wordmark small{font-size:9.6px}.header-tools{gap:5px}.theme-button{width:36px;height:40px}.language-button{padding:7px 9px;font-size:12.8px}.menu-button{display:flex}.site-navigation{flex-direction:column;align-items:stretch;gap:0;display:none}.site-navigation.is-open{display:flex}.site-navigation a{padding:11px 8px}.site-navigation a.active:after{width:24px;height:2px;left:8px;right:auto}.app-main{padding-top:20px}.breadcrumb{gap:7px;font-size:11px}.section-eyebrow{letter-spacing:.12em;font-size:10px}h1{font-size:31px}.title-description{font-size:19px}.intro p{max-width:410px;font-size:13px}.intro-tools{gap:8px}.unit-switch button{padding:7px 8px;font-size:10px}.unit-switch button span{font-size:9px}.fields-grid{grid-template-columns:1fr 1fr}.panel-body{padding:18px}.step-label{letter-spacing:.06em;font-size:9px}.step-label .real-time{font-size:9px}.blueprint-canvas{height:300px}.blueprint-header{padding:0 15px}.blueprint-header h2{font-size:13px}.drawing-id{font-size:8px}.blueprint-footer{gap:12px;padding:0 12px;font-size:8px}.blueprint-footer .auto-label{gap:4px;font-size:8px}.canvas-label{top:70px;left:20px}.view-switch{left:12px}.zoom-toolbar{right:12px}.view-switch button{padding:5px 6px;font-size:9px}.view-switch svg{display:none}.formula-bar{gap:6px;font-size:9px}.formula-bar code{font-size:9px}.summary-heading{padding:16px}.summary-heading h2{font-size:13px}.result-status{font-size:8px}.summary-content{gap:9px;padding:14px}.volume-card,.delivery-card{padding:13px}.eyebrow{letter-spacing:.06em;font-size:8px}.eyebrow svg{width:14px}.gross-number{margin:15px 0 18px;font-size:34px}.gross-number>span{margin-left:6px;font-size:14px}.delivery-number{font-size:34px;display:block}.delivery-number>span{margin-left:8px;font-size:10px;display:inline-block}.delivery-card p{font-size:10px}.volume-breakdown>div{font-size:9px}.volume-breakdown strong{font-size:10px}.delivery-detail{font-size:9px;line-height:1.5}.summary-actions{gap:8px;padding:0 14px}.primary-btn,.secondary-btn{padding:0 10px;font-size:11px}.secondary-btn{min-width:95px}.summary-note{margin:14px 14px 18px;font-size:9px}.material-grid{gap:7px;padding:0 14px 16px}.material-grid>div{padding:10px}.material-grid strong{font-size:17px}.material-grid span{font-size:10px}.knowledge-intro h2{font-size:22px}.faq-list summary{font-size:12px}.footer-inner{gap:24px;padding:28px 0}.footer-bottom{flex-direction:column;gap:6px}.guide-shell{width:calc(100% - 2rem)}.guide-shell h1{font-size:28px}.guide-shell table{min-width:620px}}@media(max-width:370px){.brand-mark{display:none}.header-tools{gap:4px}.brand-wordmark strong{font-size:16px}.theme-button{width:33px}.step-label .real-time{font-size:8px}.intro-tools .module-badge{font-size:9px}.gross-number,.delivery-number{font-size:30px}.primary-btn,.secondary-btn{font-size:10px}.summary-content{gap:7px;padding:12px}.volume-card,.delivery-card{padding:10px}.supply-tabs button{font-size:10px}.blueprint-footer .auto-label{font-size:7px}.formula-bar code{font-size:8px}}.formula-bar code{overflow-wrap:anywhere;flex:1;min-width:0}@media(max-width:560px){.theme-button{width:40px}}@media(max-width:370px){.step-label .real-time,.blueprint-footer .auto-label{display:none}}:root{--font-ui:Arial,"Helvetica Neue",sans-serif;--font-mono:Consolas,ui-monospace,monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;font-family:var(--font-ui)}.intro p,.knowledge-intro p,.faq-list p,.guide-shell p{font-size:var(--text-base)}.panel-heading h2,.blueprint-header h2,.summary-heading h2{font-size:var(--text-base);font-weight:650}.field label,.waste-control>div:first-child,.component-tabs button,.shape-options button,.primary-btn,.secondary-btn,.faq-list summary,.knowledge-intro>a,.guide-back{font-size:var(--text-sm)}.field label{color:var(--ink);font-weight:500}.input-wrap input,.quantity-input input{font-family:var(--font-mono);height:48px;font-size:18px}.quantity-input{height:48px}select{font-size:var(--text-sm);height:48px}.dimension-letter,.input-wrap>span,.presets button,.small-tag,.input-note,.mix-note,.range-labels,.range-labels span:nth-child(2),.breadcrumb,.module-badge,.module-badge span,.unit-switch button,.unit-switch button span,.standard-pill,.section-eyebrow,.step-label,.step-label>span:first-child,.step-label .real-time,.live-label,.drawing-id,.view-switch button,.canvas-label span,.canvas-label strong,.scale-label,.blueprint-footer,.blueprint-footer .auto-label,.formula-bar,.formula-bar code,.formula-check,.result-status,.eyebrow,.volume-breakdown>div,.volume-breakdown strong,.volume-breakdown small,.volume-breakdown em,.delivery-card p,.delivery-detail,.summary-note,.material-grid span,.material-grid small,.faq-number,.engineering-note p{font-size:var(--text-xs)}.input-wrap>span{top:16px}.presets button{padding:5px 6px}.supply-tabs button{white-space:normal;min-width:0;min-height:48px;padding:8px;font-size:13px;line-height:1.4}.supply-tabs button svg{flex-shrink:0}.mix-note,.input-note,.summary-note,.engineering-note p{line-height:1.65}.step-label{letter-spacing:.04em;flex-wrap:wrap;row-gap:3px;height:auto;min-height:24px}.step-label .real-time{margin-left:auto}.blueprint-footer{flex-wrap:wrap;row-gap:6px;height:auto;min-height:44px;padding-top:8px;padding-bottom:8px}.drawing-id{letter-spacing:0}.canvas-label{max-width:40%}.canvas-label span{letter-spacing:.04em;font-size:11px}.scale-label{bottom:10px}.summary-content{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.gross-number{font-family:var(--font-mono);letter-spacing:-1.5px;font-size:48px}.gross-number>span{font-size:20px}.delivery-number{font-family:var(--font-mono);font-size:44px}.delivery-number>span{font-size:var(--text-sm)}.material-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.material-grid strong{font-size:22px}.warning{font-size:var(--text-sm)}@media(max-width:1060px){.step-label .real-time{display:none}.formula-bar{align-items:flex-start}.gross-number{font-size:44px}.drawing-id{font-size:11px}}@media(max-width:760px){.primary-btn,.secondary-btn{height:auto;min-height:48px;padding-top:10px;padding-bottom:10px}.formula-check{display:none}}@media(max-width:560px){.mix-panel .panel-body{grid-template-columns:1fr}.gross-number{font-size:40px}.delivery-number{font-size:38px}.gross-number>span{font-size:18px}.summary-heading{flex-wrap:wrap;gap:10px}.result-status{margin-left:auto}.drawing-id,.blueprint-footer .auto-label{display:none}.view-switch button,.unit-switch button{font-size:12px}.unit-switch button span{font-size:11px}.formula-bar code{font-size:12px}.knowledge-intro h2{font-size:24px}}@media(max-width:370px){.intro-tools{flex-direction:column;align-items:flex-start}.module-badge{margin-right:0}.gross-number,.delivery-number{font-size:36px}.section-eyebrow{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.primary-btn{color:var(--hh-button-foreground)}:root,:root[data-theme=dark],:root[data-theme=light]{--bg:var(--hh-bg);--panel:var(--hh-surface);--ink:var(--hh-text);--muted:var(--hh-muted);--line:var(--hh-border);--nav:var(--hh-navy);--blue:var(--hh-primary);--soft:var(--hh-soft);--accent:var(--hh-gold);--shadow:var(--hh-shadow);--input:var(--hh-surface)}body{font-family:var(--hh-font);font-variant-numeric:tabular-nums;font-size:1rem;line-height:1.6}button,input,select,textarea{font-family:var(--hh-font)}.app-header,header{background:var(--hh-surface);border-color:var(--hh-border)}.hh-brand{min-height:44px}.hh-brand-text strong{font-size:1.1rem}.hh-brand-text small{font-size:.8125rem}.theme-button,.theme-switch button{width:44px;min-width:44px;height:44px;min-height:44px}@media(max-width:640px){.app-header,header{flex-wrap:wrap;gap:12px;height:auto;min-height:78px;padding:12px 16px}.header-actions,.header-tools{flex-wrap:wrap;gap:6px}.hh-brand-text strong{font-size:1.05rem}}.header-inner{width:min(var(--hh-content-width),calc(100% - 32px));justify-content:space-between;gap:16px;min-height:78px}.header-tools button{min-width:44px;min-height:44px}.field label{font-size:.875rem}.input-wrap input,select,.quantity-input{min-height:46px}.quantity-input button{min-width:44px}.presets{flex-wrap:wrap}.presets button,.unit-switch button,.supply-tabs button{min-height:44px}.supply-tabs button{white-space:normal}.blueprint-toolbar{flex-wrap:wrap}.intro p{font-size:.9375rem}.input-note,.mix-note{font-size:.8125rem}@media(max-width:760px){.header-inner{flex-flow:wrap;padding:0}.header-tools{margin-left:auto}.app-header{padding-block:12px}.header-inner .hh-brand{display:flex}.app-main{width:calc(100% - 32px)}}.component-tabs{grid-template-columns:repeat(5,minmax(0,1fr));padding-inline:4px}.component-tabs button{min-width:0;padding-inline:3px;font-size:13px;line-height:1.35}.footing-kinds{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.footing-kinds button,.member-chip,.add-member,.add-opening{border:1px solid var(--line);border-radius:8px;min-height:44px;padding:8px 10px;font-size:14px;line-height:1.4}.footing-kinds [aria-pressed=true],.member-chip[aria-pressed=true]{background:var(--soft);border-color:var(--blue);color:var(--blue);font-weight:650}.member-list{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.member-chip{overflow-wrap:anywhere;text-align:left;max-width:100%}.add-member,.add-opening{color:var(--blue);align-items:center;gap:5px;display:inline-flex}.member-name{margin-bottom:22px}.member-name>label{margin-bottom:7px;font-size:14px;display:block}.member-name>div{gap:8px;display:flex}.member-name input,.opening-title input{border:1px solid var(--line);background:var(--input);width:100%;min-width:0;color:var(--ink);border-radius:7px;min-height:44px;padding:8px 10px;font-size:14px}.member-name button,.opening-title>button{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--muted);border-radius:7px;flex-shrink:0;place-items:center;display:grid}.openings-editor{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.openings-heading,.opening-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.openings-heading h3{margin:0;font-size:16px}.opening-title label{flex:1;min-width:0}.opening-card{border:1px solid var(--line);background:var(--bg);border-radius:9px;margin-top:12px;padding:12px}.opening-title{margin-bottom:12px}.opening-card .fields-grid{gap:12px 8px}.opening-card .input-wrap input{padding-left:8px;padding-right:30px;font-size:16px}.opening-card .input-wrap>span{right:8px}.assembly-note{color:var(--muted);overflow-wrap:anywhere;margin:12px 0 0;font-size:13px;line-height:1.65}.base-toggle{cursor:pointer;align-items:center;gap:10px;min-height:44px;margin:16px 0;font-size:14px;display:flex}.base-toggle input{accent-color:var(--blue);flex-shrink:0;width:18px;height:18px}.stair-link{border:1px solid var(--line);background:var(--soft);color:var(--blue);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:16px;font-size:15px;font-weight:650;display:flex}.stair-link small{color:var(--muted);margin-top:5px;font-size:12px;font-weight:400;display:block}.stair-link svg{flex-shrink:0}.group-breakdown{margin-bottom:20px;padding:18px}.group-breakdown h2{margin-bottom:14px;font-size:16px;line-height:1.5}.breakdown-scroll{overflow-x:auto}.group-breakdown table{border-collapse:collapse;width:100%;font-size:13px}.group-breakdown th,.group-breakdown td{border-bottom:1px solid var(--line);text-align:right;padding:10px 8px}.group-breakdown th:first-child{text-align:left}.group-breakdown tbody th{overflow-wrap:anywhere;max-width:260px;font-weight:500}.group-breakdown td{font-family:var(--font-mono);white-space:nowrap}.group-breakdown th small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}.group-breakdown tfoot{color:var(--blue);font-weight:700}.result-status.is-invalid{color:var(--warning);background:var(--warning-bg)}@media(max-width:370px){.component-tabs button{font-size:11px}.component-tabs button svg{width:18px}.group-breakdown{padding:12px}.group-breakdown th,.group-breakdown td{padding:8px 4px;font-size:12px}.opening-card{padding:8px}}@media(max-width:767px){:root{--text-xs:13px;--text-sm:15px;--text-base:16px}body{font-size:16px;line-height:1.6}.panel-heading h2,.summary-heading h2,.blueprint-header h2{font-size:18px;line-height:1.35}.field label,.component-tabs button,.shape-options button,.supply-tabs button,.unit-switch button,.view-switch button,.primary-btn,.secondary-btn,.faq-list summary{font-size:15px;line-height:1.45}.field input:not([type=checkbox]):not([type=radio]),.input-wrap input,.quantity-input input,select{min-height:46px;font-size:17px}.step-label,.step-label>span:first-child,.section-eyebrow,.module-badge,.dimension-letter,.input-wrap>span,.small-tag,.live-label,.result-status,.range-labels,.range-labels span:nth-child(2){font-size:13px;line-height:1.5}.input-note,.mix-note,.summary-note,.engineering-note p,.delivery-detail,.formula-bar{font-size:14px;line-height:1.65}.component-tabs button,.shape-options button,.supply-tabs button,.unit-switch button{white-space:normal;min-height:44px}.fields-grid,.field,.input-wrap{min-width:0}.footing-kinds button,.member-chip,.add-member,.add-opening,.member-name>label,.base-toggle{font-size:15px}.member-name input,.opening-title input{min-height:46px;font-size:17px}.assembly-note,.stair-link small,.group-breakdown table{font-size:14px}.group-breakdown th small{font-size:13px}}.stair-link{grid-column:1/-1}.strip-dimensions{border-top:1px solid var(--line);font:14px/1.6 var(--font-mono,monospace);color:var(--ink);flex-wrap:wrap;gap:10px 20px;padding:14px 20px;display:flex}.strip-dimensions b{color:var(--blue);margin-right:4px}@media(max-width:600px){.strip-dimensions{gap:8px 16px;padding:12px 16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}.hh-header{position:sticky;top:0;z-index:50}.hh-eco-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--hh-primary);border-radius:8px;background:var(--hh-soft);color:var(--hh-primary);font:700 15px/1.3 var(--hh-font);cursor:pointer;white-space:nowrap}.hh-eco-trigger:hover,.hh-eco-trigger[aria-expanded=true]{background:var(--hh-primary);color:var(--hh-button-foreground)}.hh-eco-trigger svg{width:18px;height:18px;flex:none}.hh-eco-chevron{font-size:12px}.hh-eco-panel{box-sizing:border-box;position:fixed;z-index:100;width:min(600px,calc(100vw - 32px));padding:18px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--hh-border);border-radius:14px;background:var(--hh-surface);color:var(--hh-text);box-shadow:0 18px 60px #06192b40;font-family:var(--hh-font)}.hh-eco-panel-title{display:flex;flex-wrap:wrap;gap:4px;align-items:baseline;margin-bottom:14px;font-size:18px;font-weight:800}.hh-eco-panel-title>span{color:var(--hh-primary)}.hh-eco-panel-title>small{flex-basis:100%;margin-top:4px;color:var(--hh-muted);font-size:13px;font-weight:500}.hh-eco-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hh-eco-tool{display:flex;align-items:flex-start;gap:10px;padding:12px;min-height:80px;box-sizing:border-box;border:1px solid var(--hh-border);border-radius:9px;color:var(--hh-text);background:var(--hh-bg);text-decoration:none}.hh-eco-tool:hover,.hh-eco-tool[aria-current=page]{border-color:var(--hh-primary);background:var(--hh-soft)}.hh-eco-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:8px;color:var(--hh-primary);background:var(--hh-soft)}.hh-eco-tool-copy{display:flex;align-items:flex-start;flex-direction:column;min-width:0}.hh-eco-tool strong{display:block;font-size:15px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}.hh-eco-tool small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--hh-muted)}.hh-eco-current{display:inline-block;margin-top:8px;padding:3px 7px;border-radius:5px;background:var(--hh-primary);color:var(--hh-button-foreground);font-size:12px;line-height:1.5;font-weight:700}.hh-eco-explore{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-height:44px;margin-top:14px;padding:12px;border-radius:8px;color:var(--hh-primary);background:var(--hh-soft);font-size:14px;font-weight:700;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}.hh-eco-panel a:focus-visible,.hh-eco-trigger:focus-visible{outline:3px solid var(--hh-focus);outline-offset:3px}.hh-eco-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:430px){.hh-eco-trigger{gap:6px;padding-inline:8px}.hh-eco-panel{padding:12px}.hh-eco-grid{gap:8px}.hh-eco-tool{flex-direction:column;gap:8px;padding:10px}.hh-eco-tool strong{font-size:15px}}@media print{.hh-eco-switcher,.hh-eco-panel{display:none!important}}.hh-eco-panel{display:flex;flex-direction:column;overflow:hidden}.hh-eco-panel-title,.hh-eco-explore{flex-shrink:0}.hh-eco-grid{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px;margin:-3px}.hh-eco-grid{grid-auto-rows:max-content;align-content:start}header.hh-eco-host{position:sticky;top:0;z-index:50;height:auto}.hh-eco-host.hh-eco-header-row,.hh-eco-host .hh-eco-header-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px 16px}.hh-eco-host .hh-eco-switcher{min-width:0}.hh-eco-host .hh-eco-actions{display:flex;flex-wrap:nowrap;align-items:center;width:auto;margin:0;gap:6px;justify-self:end;justify-content:flex-end}.hh-eco-host .hh-eco-actions .hh-eco-themes{display:flex;flex-wrap:nowrap;align-items:center;gap:2px}.hh-eco-host .hh-eco-actions .hh-eco-themes .hh-eco-theme{display:grid;place-items:center;box-sizing:border-box;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--hh-muted);font:400 20px/1 var(--hh-font)}.hh-eco-host .hh-eco-actions .hh-eco-themes .hh-eco-theme:hover,.hh-eco-host .hh-eco-actions .hh-eco-themes .hh-eco-theme[aria-pressed=true]{background:var(--hh-soft);border-color:var(--hh-border);color:var(--hh-primary)}.hh-eco-host .hh-eco-actions .hh-eco-theme svg{width:20px;height:20px;margin:0}.hh-eco-host .hh-eco-actions .hh-eco-language{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 68px;width:68px;min-width:68px;min-height:44px;padding:6px;border:1px solid var(--hh-border);border-radius:8px;background:var(--hh-bg);color:var(--hh-text);font:700 13px/1.3 var(--hh-font);white-space:nowrap}.hh-eco-host .hh-eco-actions button:focus-visible{outline:3px solid var(--hh-focus);outline-offset:2px}.hh-eco-host .hh-brand{min-width:0}.hh-eco-host .hh-eco-header-row>nav:not(.hh-eco-actions){grid-column:1 / -1;grid-row:2;width:100%;order:initial;justify-content:center}.hh-eco-host .hh-eco-loban-row{grid-template-columns:auto auto minmax(0,1fr) auto}.hh-eco-brand-row{display:contents}.hh-eco-host .hh-eco-loban-row .hh-brand{grid-column:1;grid-row:1}.hh-eco-brand-extras{display:flex;align-items:center;gap:4px;grid-column:4;grid-row:1}.hh-eco-host .hh-eco-loban-row>.hh-eco-switcher{grid-column:2;grid-row:1}.hh-eco-host .hh-eco-loban-row>.hh-eco-actions{grid-column:3;grid-row:1}@media(max-width:1000px){.hh-eco-host.hh-eco-header-row,.hh-eco-host .hh-eco-header-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 8px;padding-block:12px}.hh-eco-host .hh-brand{grid-column:1 / -1;grid-row:1}.hh-eco-host .hh-eco-switcher,.hh-eco-host .hh-eco-loban-row>.hh-eco-switcher{grid-column:1;grid-row:2}.hh-eco-host .hh-eco-actions,.hh-eco-host .hh-eco-loban-row>.hh-eco-actions{grid-column:2;grid-row:2}.hh-eco-host .hh-eco-trigger{width:100%;max-width:160px;min-width:0;white-space:normal;padding:6px 8px;gap:6px}.hh-eco-host .hh-eco-trigger>span:not(.hh-eco-chevron){min-width:0}.hh-eco-host .hh-eco-header-row>nav:not(.hh-eco-actions){grid-row:3}.hh-eco-brand-row{display:flex;grid-column:1 / -1;grid-row:1;align-items:center;justify-content:space-between;gap:8px;min-width:0}.hh-eco-brand-extras{flex:none}.hh-eco-brand-extras .header-download,.hh-eco-brand-extras .help-button{display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;margin:0}.hh-eco-brand-extras span{display:none}}@media(max-width:340px){.hh-eco-host .hh-eco-actions{gap:2px}.hh-eco-host .hh-eco-actions .hh-eco-themes{gap:0}.hh-eco-host .hh-eco-actions .hh-eco-language{flex-basis:64px;width:64px;min-width:64px}.hh-eco-brand-row .hh-brand{gap:8px}.hh-eco-brand-row .hh-brand-text strong{font-size:15px}.hh-eco-brand-extras{gap:0}}.app-header.hh-eco-host{padding-inline:0;padding-block:0}
