*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f4f8fc;color:#142c49;font:15px/1.5 Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit;background:white;border:1px solid #d4e0ee;border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}button:hover{background:#edf4ff;border-color:#9ebff1}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80afff;outline-offset:2px}a{color:#1262d7}svg.lucide{width:19px;height:19px;flex-shrink:0}input,select{min-width:0;max-width:100%;width:100%;padding:10px 11px;border:1px solid #cedbeb;border-radius:9px;background:#fff;color:#203f62}input[type=checkbox]{width:17px;height:17px;accent-color:#1768f5}input:invalid{border-color:#cf7e6b}label{display:block;font-size:12px;color:#38587b}label>input,label>select{margin-top:5px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,2.4vw,38px);line-height:1.16;letter-spacing:-1.2px;margin:8px 0 12px;color:#102a47}h2{font-size:22px;line-height:1.3;letter-spacing:-.5px;margin-bottom:12px}h3{font-size:17px}p{color:#607994}.topbar{height:78px;display:flex;gap:28px;align-items:center;padding:0 30px;background:rgba(255,255,255,.96);border-bottom:1px solid #dfe8f4;position:sticky;top:0;z-index:20}.brand{font-size:25px;line-height:1.2;text-decoration:none;font-weight:850;color:#102747;letter-spacing:-1px}.brand>span{color:#1768f5}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#6e8eb1;margin-top:4px}.topbar nav{display:flex;gap:26px;flex:1;margin-left:30px}.topbar nav a{font-size:13px;text-decoration:none;color:#365270}main{max-width:1720px;margin:auto;padding:24px 30px 60px}.breadcrumbs{font-size:11px;color:#6a83a0;margin:0 0 22px}.breadcrumbs a{text-decoration:none}.hero{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-bottom:24px}.hero>div:first-child{max-width:600px}.hero p{font-size:18px;margin:0}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#1768f5;font-weight:800}.presets{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;max-width:600px;flex:1}.presets button{display:grid;grid-template-columns:42px 1fr;text-align:left;padding:10px;gap:3px 8px;font-size:12px;justify-content:initial;min-height:82px}.presets button.active{border-color:#1768f5;box-shadow:inset 0 0 0 1px #1768f5;background:#f8fbff}.presets small{font-size:10px;color:#647e9c}.assembly{display:block;width:42px;height:57px;grid-row:span 2;background-image:url(./assets/assemblies.webp);background-size:200% 200%;border-radius:6px}.a0{background-position:0 0}.a1{background-position:100% 0}.a2{background-position:0 100%}.a3{background-position:100% 100%}.projectbar{display:flex;align-items:center;gap:14px;margin-bottom:15px}.projectbar>label{width:260px}.projectbar>span{font-size:11px;color:#68849f;flex:1}.projectbar>div{display:flex;gap:8px}.workspace{display:grid;grid-template-columns:280px minmax(300px,1fr) 240px;gap:16px;align-items:start}.panel{background:white;border:1px solid #dce7f2;border-radius:14px;overflow:hidden;box-shadow:0 4px 20px #315b8a04}.panel-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-heading h2{font-size:17px;margin:0}.panel-heading>button{font-size:11px;padding:7px;min-height:34px}.settings{padding:18px;max-height:850px;overflow:auto;scrollbar-width:thin}.settings details{border-top:1px solid #e5edf5;padding:16px 0}.settings details:last-child{padding-bottom:0}.settings summary{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;cursor:pointer;margin-bottom:16px;list-style:none}.settings summary:after{content:'⌄';margin-left:auto;color:#6b89ac}.settings details:not([open]) summary{margin-bottom:0}.settings details[open] summary:after{transform:rotate(180deg)}.settings summary svg{color:#1768f5}.settings label+label,.settings .fields+label{margin-top:12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.fields label+label{margin-top:0}.check{display:flex;align-items:center;gap:7px;font-size:12px}.check input{margin:0}.hint,small{font-size:11px;color:#7590aa}.hint{margin:10px 0 0}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline button{font-size:12px}.mini-stat{margin-top:10px;background:#f1f6fd;padding:9px;border-radius:8px;font-size:11px;color:#51769c}.viewbar{display:flex;padding:11px;align-items:center;gap:10px;border-bottom:1px solid #e4edf6}.viewbar>button{margin-left:auto}.tabs{display:flex;gap:4px}.tabs button{border-color:transparent;background:#eff5fc;padding:9px 17px;font-size:12px}.tabs button.active,.primary{background:#1768f5;color:#fff;border-color:#1768f5}.primary{text-decoration:none;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:650}.primary:hover{background:#0c56d1;color:white}.scene-tools{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fbfdff;min-height:58px;flex-wrap:wrap}.scene-tools select{width:140px;font-size:12px;padding:8px}.scene-tools>button{margin-left:auto;min-height:32px;padding:5px}.scene-tools .check{font-size:11px}#scene{height:565px;position:relative;background:#edf3f8;touch-action:none}#scene canvas{width:100%;height:100%;display:block}.loading{position:absolute;inset:40% 20px auto;text-align:center;font-size:13px}#planCanvas,#sheetCanvas{height:565px;overflow:auto;background:#f4f8fc;touch-action:none;position:relative}#planCanvas>svg{width:100%;height:100%;display:block}#sheetCanvas>svg{width:100%;height:auto;min-height:400px;display:block}.viewer-footer{display:flex;gap:6px;align-items:center;padding:12px;border-top:1px solid #e4edf5}.viewer-footer span{flex:1;font-size:10px;color:#7089a4}.viewer-footer button{padding:7px;min-height:32px}.picked{font-size:11px;color:#43688e;padding:10px 15px;background:#f7faff;border-top:1px solid #e2ecf5;min-height:41px}.summary-column{display:grid;gap:14px}.summary-column>.panel{padding:18px}.muted{font-size:12px;color:#7490ac}.metric{display:flex;gap:10px;align-items:center;padding:11px 0;font-size:12px}.metric svg{color:#8099ae}.metric b{margin-left:auto;color:#152e4b}.summary-column .primary{width:100%;margin-top:16px}.total{background:#eaf3ff;padding:18px 12px;text-align:center;border-radius:10px;margin-top:18px}.total>span{font-size:10px;display:block}.total strong{display:block;font-size:27px;margin:6px 0;letter-spacing:-.7px}.total small{font-size:9px;display:block}.compact p{font-size:12px;line-height:1.65}.compact>button{width:100%;font-size:12px;justify-content:start;margin:4px 0}.compact summary{cursor:pointer;font-size:12px;font-weight:650}.compact li{font-size:11px;margin:8px 0;color:#657f9b}.compact ul{padding-left:16px}.estimate-section,.cuts-section{margin-top:24px;padding:26px}.section-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:20px}.section-heading h2{margin:6px 0}.section-heading p{font-size:12px;max-width:650px;margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#f2f7fd;color:#4c6d8f;font-size:11px}th,td{padding:13px 12px;border-bottom:1px solid #e4ecf4;vertical-align:top}td input{width:95px;text-align:right;padding:8px;font-size:12px}td:first-child{min-width:220px;font-weight:600}td small{display:block;max-width:420px;font-weight:400;font-size:10px;margin-top:5px}tfoot td{font-size:20px;font-weight:700;color:#1768f5;white-space:nowrap}.cuts-section h3{margin:16px 0 6px}.stock{display:flex;align-items:center;gap:9px;font-size:10px;margin:7px 0}.stock>span{width:60px;flex-shrink:0}.stock>div{display:flex;background:repeating-linear-gradient(45deg,#e5edf5,#e5edf5 5px,#f4f8fc 5px,#f4f8fc 10px);height:28px;border-radius:5px;overflow:hidden;flex:1}.stock i{font-style:normal;color:#fff;background:#4b8ff4;display:flex;align-items:center;justify-content:center;border-right:2px solid white;min-width:0;overflow:hidden;white-space:nowrap;font-size:9px}.stock b{font-size:10px;min-width:58px;font-weight:400;color:#7a91aa}.cuts-section details{margin:10px 0}.seo{max-width:1160px;margin:65px auto 20px}.seo>h2{font-size:30px;margin:16px 0}.seo>p{font-size:16px;line-height:1.8}.article-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.article-grid article{padding:25px;background:white;border:1px solid #dfebf5;border-radius:15px}.article-grid p{font-size:14px;line-height:1.8}.seo details{padding:16px 0;border-bottom:1px solid #d9e5f0}.seo summary{cursor:pointer;font-weight:650}.seo details p{margin:15px 0 0;font-size:14px}.related{display:grid;grid-template-columns:1fr 1fr;gap:12px}.related a{background:#eaf2fe;border-radius:10px;padding:18px;text-decoration:none;font-size:14px}footer{padding:24px 30px;font-size:12px;color:#7390ac;border-top:1px solid #dce8f4}.mobile-nav{display:none}.error{padding:14px;background:#fff0e9;color:#974522;border:1px solid #edba9d;border-radius:10px;margin-bottom:16px}.fullscreen{position:fixed;inset:12px;z-index:80}.viewer.fullscreen{display:flex;flex-direction:column}.fullscreen #scene,.fullscreen #planCanvas,.fullscreen #sheetCanvas{flex:1;height:auto;min-height:0}dialog{border:1px solid #d9e5f3;border-radius:18px;max-width:580px;width:calc(100% - 30px);padding:30px;color:#193653;box-shadow:0 30px 100px #112a5555}dialog::backdrop{background:#0d274c77;backdrop-filter:blur(4px)}.close{float:right;margin:-12px -12px 8px 12px}.tour-step{font-size:11px;color:#1768f5;font-weight:750;letter-spacing:1px}.tour-actions{display:flex;justify-content:space-between;margin-top:25px}.tour-picture{width:100%;height:120px;background:#edf5ff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#1768f5;margin:16px 0}.tour-picture svg{width:56px;height:56px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#193553;color:white;z-index:120;border-radius:10px;padding:12px 20px;font-size:13px;max-width:90vw}.no-webgl{padding:30px;text-align:center}.no-webgl p{font-size:13px}#printDocument{display:none}[hidden]{display:none!important}
@media(min-width:1450px){#scene,#planCanvas,#sheetCanvas{height:630px}.workspace{grid-template-columns:300px minmax(300px,1fr) 260px}}
@media(max-width:1200px){.workspace{grid-template-columns:270px minmax(300px,1fr)}.summary-column{grid-column:1/-1;grid-template-columns:1.5fr 1fr 1fr}.summary-column .panel:first-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-column .panel:first-child .panel-heading,.summary-column .panel:first-child>p{grid-column:1/-1;margin:0}.total{grid-column:2;grid-row:3/5;margin-top:0;align-self:start}.summary-column .primary{margin-top:0}.hero{align-items:start;flex-direction:column}.hero>div:first-child{max-width:none}.presets{max-width:none;width:100%}.presets button{min-height:75px}.topbar nav{gap:16px;margin-left:0}.topbar{gap:20px}.projectbar>span{display:none}.projectbar>div{margin-left:auto}}
@media(max-width:760px){html{scroll-padding-top:75px}.topbar{height:66px;padding:0 16px}.brand{font-size:22px}.topbar nav{display:none}.topbar #help{margin-left:auto;padding:8px;min-height:38px}.topbar #help span{display:none}main{padding:18px 12px 28px}.breadcrumbs{font-size:10px;margin-bottom:18px}.hero{gap:18px}.hero h1{font-size:28px;letter-spacing:-.7px}.hero p{font-size:14px}.presets{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.presets button{display:flex;flex-direction:column;gap:5px;font-size:10px;padding:8px 3px;min-height:100px}.presets small{font-size:8px}.presets .assembly{width:43px;height:45px}.projectbar{gap:8px;flex-wrap:wrap}.projectbar>label{width:100%}.projectbar>div{margin-left:0;width:100%;justify-content:space-between}.projectbar button{padding:8px;font-size:11px}.workspace{display:flex;flex-direction:column;gap:14px}.settings{order:2;max-height:none;overflow:visible;width:100%;padding:18px}.viewer{order:1;width:100%}.summary-column{order:3;display:grid;grid-template-columns:1fr;width:100%}.summary-column .panel:first-child{display:block}.summary-column .panel:first-child .panel-heading{margin-bottom:10px}.summary-column .total{margin-top:15px}.summary-column .primary{margin-top:12px}.viewbar{padding:9px}.tabs button{padding:8px 13px}.scene-tools{gap:8px;padding:8px 10px}.scene-tools select{width:124px}#scene,#planCanvas,#sheetCanvas{height:400px}.viewer-footer{padding:8px}.viewer-footer span{font-size:9px}.viewer-footer button{padding:5px}.fields{gap:12px}input,select{font-size:16px}.check{font-size:13px}.settings summary{font-size:14px}.settings label{font-size:12px}.estimate-section,.cuts-section{padding:18px 13px}.section-heading{display:block}.section-heading>.inline,.section-heading>button{margin-top:16px}.section-heading h2{font-size:22px}.section-heading p{font-size:12px}.estimate-section table{min-width:740px}.seo{margin:45px 3px 20px}.seo>h2{font-size:25px}.seo>p{font-size:14px}.article-grid{grid-template-columns:1fr;gap:12px}.article-grid article{padding:20px}.related{grid-template-columns:1fr}.mobile-nav{position:fixed;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);bottom:0;left:0;right:0;border-top:1px solid #d6e2f1;background:#fffffff5;backdrop-filter:blur(15px);padding:6px 10px max(6px,env(safe-area-inset-bottom));gap:5px}.mobile-nav button{border:0;background:none;flex-direction:column;font-size:10px;gap:3px;color:#6281a6;padding:6px 4px;min-height:48px}.mobile-nav button.active{color:#1768f5;background:#eef5ff}body{padding-bottom:76px}#toast{bottom:88px}.fullscreen{inset:0 0 70px}.fullscreen #scene,.fullscreen #planCanvas,.fullscreen #sheetCanvas{height:auto}footer{padding:20px 15px;font-size:10px}.stock>span{width:45px}.stock b{min-width:42px;font-size:9px}dialog{padding:22px}}
@media(max-width:370px){.scene-tools .check{font-size:10px}.scene-tools{gap:5px}.scene-tools select{width:115px}.hero h1{font-size:25px}.projectbar button span{font-size:10px}.viewer-footer span{max-width:150px}}
@media print{body>*{display:none!important}#printDocument{display:block!important;color:#000;font:11px/1.4 Arial;padding:0}#printDocument h1{font-size:23px}#printDocument h2{font-size:17px;page-break-after:avoid}#printDocument img{width:100%;max-height:350px;object-fit:contain}#printDocument table{font-size:10px}#printDocument td,#printDocument th{padding:6px;border:1px solid #bbb;background:white;color:black}#printDocument .pagebreak{break-before:page}#printDocument svg{max-height:350px;width:100%}#printDocument p{color:#333;font-size:11px}body{background:white;padding:0}@page{size:A4;margin:12mm}}
