*{box-sizing:border-box}body{margin:0;font-family:Arial,system-ui,sans-serif;color:#17375b;background:#f3f7fc}.rack-app{--blue:#1769f5;--line:#d8e4f3;font-size:15px;line-height:1.5}.rack-app .shell{max-width:1240px;margin:auto;padding:0 24px}.rack-app h1{font-size:38px;line-height:1.16;letter-spacing:-1.1px;margin:20px 0 8px}.rack-app h2{font-size:20px;line-height:1.3;margin:0 0 16px}.rack-app h3{font-size:17px;margin:12px 0 6px}.rack-app p{margin:8px 0 16px}.rack-app a{color:#1769f5}.rack-app .hero{background:linear-gradient(110deg,#e8f3ff,#f4f8fd);padding:22px 0 28px;margin-bottom:20px}.hero>div>p{font-size:22px;color:#657f9c}.crumb{font-size:12px;color:#657f9c}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.metrics{display:flex;gap:12px}.metrics>span{background:#fff;padding:13px 18px;border:1px solid #e5eef8;border-radius:12px;min-width:130px}.metrics small{display:block;color:#6c829b;font-size:12px}.rack-app button,.rack-app .button,dialog button{border:1px solid #ccdbee;background:white;color:#17375b;border-radius:9px;padding:10px 14px;min-height:44px;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.3;text-decoration:none}.rack-app button:hover{border-color:#1769f5;background:#f0f6ff}.rack-app button:focus-visible,.rack-app input:focus-visible,.rack-app select:focus-visible{outline:3px solid #8fbaff;outline-offset:2px}.rack-app button:disabled{opacity:.45;cursor:default}.rack-app .primary,dialog .primary{background:#1769f5;color:white;border-color:#1769f5}.rack-app .card{background:white;border:1px solid #d8e4f3;border-radius:16px;padding:20px;margin-bottom:20px;min-width:0}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:0 18px;scroll-margin-top:95px}.project-toolbar,.view-tabs,#message,.estimate,.cuts,.notice{grid-column:1/-1}.project-toolbar,.actions{display:flex;gap:8px;flex-wrap:wrap}.project-toolbar{margin-bottom:8px}.project-toolbar button{font-size:13px}.view-tabs{display:flex;gap:4px;margin-bottom:14px;background:#e7eef7;padding:4px;border-radius:12px;width:max-content}.view-tabs button{border:0;background:transparent}.view-tabs .active{background:#1769f5;color:white}.settings{align-self:start;max-height:740px;overflow:auto}.rack-app label{display:block;font-size:13px;font-weight:600;min-width:0}.rack-app input,.rack-app select{width:100%;min-width:0;min-height:44px;border:1px solid #cddbef;border-radius:7px;background:#fff;padding:8px 10px;color:#17375b;font:inherit;font-size:15px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.field-full{grid-column:1/-1}.settings h3{margin-top:20px}.swatches{display:flex;gap:9px;margin:10px 0 20px}.rack-app .swatches button{width:44px;padding:3px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 4px #fff}.rack-app .swatches button.active{outline:2px solid #1769f5}.view-card{padding:0!important;overflow:hidden;background:linear-gradient(#edf3fa,#d9e4f0)!important}.view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:12px;background:#f7faff;flex-wrap:wrap}.view-toolbar>div{display:flex;gap:5px;flex-wrap:wrap}.view-toolbar button{font-size:12px;padding:8px 10px}.view-toolbar>span{font-weight:700}#scene,#plan{width:100%;height:440px;position:relative}#scene canvas{width:100%;height:100%;display:block}#plan svg{width:100%;height:100%;touch-action:pan-y}#plan [data-object]{cursor:pointer}.view-note{font-size:12px;color:#516b87;margin:0!important;padding:12px;min-height:60px;background:#f7faff}.context{padding:15px!important}.context h3{margin-top:0}.context .fields{margin-bottom:0}.context small{display:block;margin-bottom:10px;color:#637b95}.object-list summary{font-weight:600}.object-list select{margin-top:12px}.rack-app details{border-top:1px solid #e1eaf4;padding:14px 0}.rack-app details:first-child{border:0}.rack-app summary{cursor:pointer;min-height:28px;font-weight:600}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.section-heading h2{margin:0}.estimate>p{font-size:13px;color:#617993}.table-scroll{overflow:auto;max-height:570px;border:1px solid #d8e4f3;border-radius:10px;overscroll-behavior-x:contain}.rack-app table{width:100%;border-collapse:separate;border-spacing:0;min-width:1040px}.rack-app th{position:sticky;top:0;z-index:2;background:#17375b;color:white;text-align:left;padding:12px;font-size:13px;white-space:nowrap}.rack-app td{padding:10px 12px;border-right:1px solid #e2eaf4;border-bottom:1px solid #e2eaf4;vertical-align:top}.rack-app td:first-child{min-width:300px;width:35%}.rack-app td small{display:block;font-size:11px;color:#687f98;max-width:380px;margin-top:4px}.rack-app td input{min-width:110px}.rack-app td.money{font-weight:600;white-space:nowrap;min-width:205px}.rack-app tr:nth-child(even){background:#f5f9ff}.estimate-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:15px}.estimate-bottom strong{font-size:18px;text-align:right}.estimate-bottom small{display:block;font-size:12px;font-weight:400}.notice{background:#fff2e4;padding:18px;border:1px solid #f2d3ad;border-radius:12px;margin-bottom:24px;font-size:13px}.notice h2{font-size:17px}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.example-grid img{width:100%;height:190px;object-fit:cover;border-radius:10px}.example-grid p{color:#647c96;font-size:13px}.example-grid button{font-size:12px}.examples,.methodology{margin-top:14px}.methodology{background:linear-gradient(120deg,#eaf3ff,#fff)!important}.faq details p{max-width:900px}#message{min-height:18px;font-size:13px;margin:0 0 6px;color:#936329}#message.error{padding:12px;border:1px solid #e5b282;background:#fff2e4;border-radius:9px}.rack-app svg.icon{width:18px;height:18px}.cut-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cut-summary>div{padding:12px;background:#f2f7ff;border-radius:10px}.cut-summary small{display:block}.cut-bins{max-height:300px;overflow:auto;font-size:13px}dialog{max-width:min(500px,calc(100vw - 32px));border:1px solid #d8e4f3;border-radius:16px;padding:24px;color:#17375b;font-family:Arial;line-height:1.5}dialog::backdrop{background:#17375b66}[hidden]{display:none!important}.placeholder-header,.placeholder-footer{padding:24px;font-weight:bold;background:#fff}
@font-face{font-family:Inter;src:url('./assets/InterVariable.woff2') format('woff2');font-display:swap}.rack-app,dialog{font-family:Inter,Arial,sans-serif}.rack-app svg.icon{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rack-app .view-tabs button.active,.rack-app .view-tabs button.active:hover,.rack-app button.primary:hover{background:#1769f5;color:#fff}.rack-app .button [data-icon]{display:inline-flex}
@media(min-width:801px){.workspace[data-view="plan"] #plan{display:block!important}.workspace[data-view="plan"] #scene{display:none!important}}
@media(max-width:800px){.rack-app .shell{padding:0 14px}.rack-app h1{font-size:27px;letter-spacing:-.5px}.hero>div>p{font-size:17px}.rack-app .hero{padding:14px 0 20px}.hero-bottom{display:block}.hero-bottom>.button{margin-bottom:14px}.metrics{gap:7px;flex-wrap:wrap}.metrics>span{min-width:0;flex:1;padding:9px 10px;font-size:14px}.metrics small{font-size:10px}.workspace{display:block}.project-toolbar{flex-wrap:nowrap;overflow:auto;padding-bottom:6px}.project-toolbar button{white-space:nowrap;flex-shrink:0}.view-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr);position:sticky;top:75px;z-index:5}.view-tabs button{padding:8px 4px;font-size:13px}.rack-app .card{padding:14px;border-radius:14px}.settings{max-height:none;overflow:visible}.workspace .settings,.workspace .editor,.workspace .estimate,.workspace .cuts{display:none}.workspace[data-view="settings"] .settings{display:block}.workspace[data-view="plan"] .editor,.workspace[data-view="3d"] .editor{display:block}.workspace[data-view="estimate"] .estimate,.workspace[data-view="estimate"] .cuts{display:block}#scene,#plan{height:340px}.workspace[data-view="plan"] #plan{display:block!important}.workspace[data-view="plan"] #scene{display:none!important}.workspace[data-view="3d"] #plan{display:none!important}.workspace[data-view="3d"] #scene{display:block!important}.view-toolbar>span{display:none}.view-toolbar{padding:8px}.view-toolbar button{font-size:12px}.section-heading{display:block}.section-heading .actions{margin-top:12px}.actions button{flex:1;font-size:13px}.estimate-bottom{align-items:flex-start;flex-direction:column}.estimate-bottom strong{text-align:left}.example-grid{grid-template-columns:1fr 1fr;gap:16px}.example-grid img{height:150px}.example-grid h3{font-size:15px}.cut-summary{grid-template-columns:1fr}.notice{font-size:12px}.object-list{margin-top:-6px}.rack-app table{min-width:1040px}.rack-app .table-scroll{max-height:500px}.rack-app h2{font-size:19px}}
@media(max-width:400px){.example-grid{grid-template-columns:1fr}.example-grid img{height:230px}}

.rack-app .hero-bottom{justify-content:flex-start}.rack-app .settings>div>label{margin-bottom:14px}.rack-app label.check{display:flex;align-items:center;gap:8px;font-weight:400}.rack-app .check input{width:20px;min-height:20px;flex-shrink:0}.rack-app .hint{font-size:12px;color:#61758c}.rack-app .sheet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-height:700px;overflow:auto}.rack-app figure{margin:0}.rack-app figure svg{width:100%;height:auto}.rack-app figcaption{font-size:12px}.rack-app #editor:fullscreen{background:#f3f7fc;padding:24px;overflow:auto}.rack-app #editor:fullscreen #scene,.rack-app #editor:fullscreen #plan{height:65vh}.rack-app .tour{grid-column:1/-1;background:#eaf3ff;border:1px solid #8cb9fc;border-radius:12px;padding:16px;margin-bottom:14px}.rack-app .tour p{margin-bottom:10px}.rack-app #hit-choices{padding:12px;display:flex;flex-wrap:wrap;gap:6px}.rack-app #hit-choices small{flex-basis:100%}.rack-app #hit-choices button{font-size:12px}.rack-app #estimate-panel{scroll-margin-top:100px}.rack-app .swatches button{width:58px;height:58px;border-radius:9px}.rack-app .example-grid article{border:1px solid #e0e9f5;border-radius:12px;overflow:hidden;padding:0 12px 14px}.rack-app .example-grid img{width:calc(100% + 24px);max-width:none;margin-left:-12px;border-radius:0}.rack-app .example-grid{gap:18px}.rack-app .swatches{margin-bottom:10px}.rack-app details .fields{margin-top:14px}@media(max-width:800px){.rack-app .sheet-grid{grid-template-columns:1fr}.rack-app #scene,.rack-app #plan{height:390px}.rack-app .hero-bottom{display:block}.rack-app .tour{position:relative}.rack-app .view-tabs{top:75px}.rack-app .settings>div>label{margin-bottom:18px}.rack-app .table-scroll{max-height:510px}.rack-app .metrics{margin-top:16px}}
