@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,d09GMgABAAAAAAaEABMAAAAADFgAAAYdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJpBmA/U1RBVIE4AFwvbBEICoJ8gkMLFAAwhCoBNgIkAyIEIAWGUAdiDAcbvgpRVHJOI/viwCYyfSFrJjFIG8raYpYj9+IeSF0s6zD+Lk/4OGrZHhHV+wvt2ffuWPwlA51lIICIosSVmyOKEs5Uzlx3NKeXIgn1ssCydUybDV0IHga+SszIyfrQe9bLTFNxjayzgs76hNsDoSYtRe32fiJ4gxBjrP8L+w//zzHjv7Yqyr9o2vOBDXhCo2jMtr4uwAK/gV1U0PxAq/EAD+yW9EoKOL1KLw8rHrFgCSgRTQRzBzpeXVhweEDlyfY8gIoOa2CQJzrTAHIIoitTMVV2dyFwpJ2iAEQTpSkhPitxD3YwuZHEagTcAhyKAcBmUyPdhTovJThOw6HYiaF2M/J7erdi2OUutor6ES6Ac88AvfZvKpb6fJoArohb524042j6Jij36NI7P8Pb7s721naN9gcTtcjXQP4l+8BKEzFVGMxxoHqlq8Ul4LGneFJBDFaOdKpLPcg8P14YSDwIcn75hdlyJLTBlZ4voL6tT46yC/njunXqpJ0/bSvmrH1o3kRlwZ+j0DBogkF3KbDRVBlbOc+fY5HVXwPoT9hfekPnyZMaEmenYLMSg5npqegFOsgXsBv1IoF9aIVfSCNHkk6+gIzILsiYuhWQCfUtZEpbkRntQxBZgw7MwFbMcRvwJrAnBlDqs7isLtL7pO84Xru1i7ah7tckH1Wreqq6K9u0amxU1bcff/s2Y1ni3rh2I8zHzqkm3PGvv3mzC6NDBz/UcOBIg+nm88rxN8MbdtypvHUL5o1c2zG0urYpRmW+VHZdiba6GXN/3v0B3i3nt4RBsbfAu8ftLqRcTIlZ4VYheFTAS5nXLS65VZrbuW3daF2Ze1ChyGXWZN6u9nUuH1LfyTERifZXEpIueMe28vF8FOoTnsONzw+1djo9P71lZGx1vM8mH/BhvSa2HDsRZ1+Ul+RmpnPOIaEuwWnZZdkgQWAAyCDDZ1wk+0sh7wseAAwA6UlHxbftCgYAAwKAgwIAEA7ACfHIRbV7J6dwF/ZzcRRmAjXUYKAGWAlDCCFmKnH+LJEQfHKEmVrfmKwSEab36AcubXQBoDYJV/aRV+funFD8wAXLSLYbwr9+DR+h/qZIKCfeqRG5ghHpdY0zcV2nuz5iJMhAFjaTDwOcoyKGG9JHrCfdp4cC+kCvUrxc7+bliIMiHj95sPIbUeWZEP/HLnN2tlr9EBeRiktHuWvErx98fRz1MuEvHO3FDRgtsSzL/P0hsDLK2n5/uHMOjvTst0HD6t+80ZN798j7j//kjqHxIOZDFPR/FxurFD6/HxGbB799RPHLx5F89MoBOub9jVuOWtmPH3o9H3r26DIuff+LqPLwff/xryDRmiAYmjxiK0GwS9XU+k8QpUrHsCTs4qH89Fv44ubWbQmOE51M7J8Pt8+h+NKt3zZpa2L9zZqcRlyEc4MaNGdfjQCxgIygn78ne4yAzcLWA3zAJ6RRGbijvHr1W+XN8ywrG0EoZSySb0/A9KsllI7Q/Pq8hLu76tfTy5cF4X8bQxTtYp2vr6/+1oI4AhgAlNYFryt62VaX9ktO6VsAeDLeWx6fff4vdV1ts7N6+gw9GCsQnqPB0QUttB9nEc7Aaf4XM0NQ90VJ+HV1rG04znGCmXcpPCA9+nxdMPgPlT7Dz83NMfZuMJaNeRqbc+tjd2QER/b0B44d7nv5Rif7VC8svYkx9SKWwb3YzN2M3cY8jSNLl+PYZqfjxNTxOLXVCmfmduDc0ty1kLbjeiGfIrDFJXWPTTMD5TKupR8cpZgJeXTofId8NoUj6E8XfAc2k4WPdbCberDYAp8Q7L5dUo8wE8cs9QINZYvwXKzvBS4v/n+fQZkGrrFysKEIuFBgjQpxiHH1XA+ZBI+C+oAoxhYKECc42rGOc8L4mYhsiThGfFjOcKmFubPpDgwnY1918Fwo8ouenDJxvGP96HFWJ28hiOy251oKjkcbGz2POMme8CTMThx6wqOPsFtPI6j6HhDyDTxFQYnL88FcXGAGHl3ZuueRbEuxbK6Hc84ZDvRrREtLzyjj8Xkd/uShR1b0sYd8Nh8/c8znxCnadxQcf2nFVWIyw1g+4StXav9j75s+CQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#22201c;background:#e5ddcd;font-family:Archivo,Hanken Grotesk Variable,Hanken Grotesk,Inter,system-ui,sans-serif;font-synthesis:none;--ink: #22201c;--muted: #6f695e;--paper: #f6f2e9;--input-surface: #ffffff;--canvas: #e5ddcd;--surface-muted: #eee7d8;--line: #d3cab6;--green: #3d6b4a;--green-2: #2e5238;--on-green: #ffffff;--mint: #deead9;--blue: #35507d;--amber: #c6862f;--red: #8f2c22;--shadow: 0 6px 18px rgb(60 55 45 / 11%);--cut-workflow-background: #f1f6f1;--cut-workflow-border: #9eb6aa}:root[data-theme=dark]{color:#e7e2d6;background:#14140f;--ink: #e7e2d6;--muted: #b4b0a2;--paper: #1d1c16;--input-surface: #28271f;--canvas: #14140f;--surface-muted: #2a2820;--line: rgb(231 226 214 / 13%);--green: #a3cfae;--green-2: #7dae89;--on-green: #0c3820;--mint: #2a4a34;--blue: #9fb4df;--amber: #e8c07a;--red: #f2b8ae;--shadow: 0 10px 28px rgb(0 0 0 / 28%);--cut-workflow-background: #1d2c20;--cut-workflow-border: #628c6d}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}html{scroll-padding-top:96px}body{min-width:320px;overflow:hidden;overflow-x:hidden}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:clamp(20px,5vw,64px);background:radial-gradient(circle at 15% 10%,rgb(61 107 74 / 17%),transparent 34rem),var(--canvas)}.privacy-shell{height:100%;min-height:100vh;overflow-y:auto;padding:clamp(16px,4vw,56px)}.privacy-card{margin:0 auto;max-width:840px;padding:clamp(20px,5vw,56px)}.privacy-list{list-style:disc;padding-left:1.5rem}.privacy-list>li{display:list-item;padding-block:.35rem}.auth-card{width:min(100%,500px);display:grid;gap:24px;padding:clamp(28px,6vw,52px);border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.auth-card h1{color:var(--ink);font-family:Newsreader Variable,Newsreader,Georgia,serif;line-height:.98;letter-spacing:-.035em}.auth-card-centered{justify-items:center;text-align:center}.auth-kicker{margin:0;color:var(--green-2);font:700 11px/1.2 DM Mono,ui-monospace,monospace;letter-spacing:.16em}.account-control{min-width:0}.account-control .MuiButton-startIcon{flex:0 0 auto}.account-control .MuiButton-icon+span,.account-control .MuiButton-startIcon+*{overflow:hidden;text-overflow:ellipsis}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid #e39b42;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-160%);background:var(--paper);color:var(--ink);padding:10px 14px;border-radius:8px}.skip-link:focus{transform:none}.app-shell{height:100dvh;min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:62px minmax(0,1fr);background:var(--canvas);overflow:hidden}.command-bar{grid-column:1;grid-row:1;z-index:10;height:108px;color:var(--ink);background:var(--paper);border-right:1px solid var(--line)}.command-bar .MuiToolbar-root{width:100%;min-height:108px;align-items:start;padding:17px 20px 12px}.brand{display:grid;gap:3px;min-width:0}.brand strong{color:var(--ink);font-family:inherit;font-size:18px;font-weight:760;letter-spacing:-.02em;line-height:1.1}.brand small{max-width:38ch;font-size:11px;line-height:1.35;color:var(--muted)}.brand .brand-kicker{color:var(--muted);font:9px/1.2 DM Mono,ui-monospace,monospace;letter-spacing:.18em}.obstruction-menu-button-mobile{flex:0 0 auto;width:34px;height:34px;margin-left:auto;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.mobile-history-actions{flex:0 0 auto}.mobile-history-actions .MuiIconButton-root{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--ink)}.project-switcher{width:100%}.project-switcher label{display:grid;gap:7px}.project-select{width:100%;min-width:0}.project-actions{flex-wrap:wrap}.sidebar-project{display:grid;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-muted) 52%,var(--paper))}.sidebar-project .eyebrow{margin:0}.sidebar-project .header-status{justify-content:space-between}.sync-state{white-space:nowrap}@keyframes pulse{to{opacity:.3}}.project-archive{grid-column:1 / -1;grid-row:2;padding:18px 24px;border-bottom:1px solid var(--line);background:var(--surface-muted)}.project-archive-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1180px;margin:0 auto 12px}.project-archive-heading h2,.project-archive-heading p{margin:0}.project-archive-heading h2{font-size:18px}.project-archive-error{max-width:620px;color:#7d2f28;font-weight:650}.project-archive-note{max-width:1180px;margin:10px auto 0;color:var(--muted);font-size:13px}.project-archive-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;max-width:1180px;padding:0;margin:0 auto;list-style:none}.project-archive-card{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:12px;border:1px solid #c8d7cb;border-radius:10px;background:var(--paper)}.project-archive-card>div{display:grid;min-width:0;gap:3px}.project-archive-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-archive-card span,.project-archive-card time{color:var(--muted);font-size:12px}.library-shell{height:100dvh;min-height:0;overflow-y:auto;background:var(--canvas)}.plan-library-topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:8px 26px;border-inline:0;border-top:0;background:var(--paper)}.plan-library-brand{display:flex;align-items:center;gap:10px;min-width:0}.byggio-mark{flex:0 0 auto;display:block}.plan-library-wordmark{display:grid;gap:3px;min-width:0}.plan-library-brand strong{font-size:18px;font-weight:760;letter-spacing:-.02em;line-height:1.1}.plan-library-main{max-width:1180px;margin:0 auto;padding:28px 24px 48px}.plan-library-heading-row{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.plan-library-heading-row .eyebrow{margin:0 0 6px}.plan-library-heading-row h1{margin:0}.plan-library-intro{max-width:56ch;margin-top:4px}.plan-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0;padding:0;list-style:none}.plan-library-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 1px 2px #3c372d0d}.plan-library-thumb{display:block;width:100%;padding:0;border:0;background:var(--surface-muted);cursor:pointer}.plan-library-thumb:disabled{cursor:default}.plan-library-thumb svg{display:block;width:100%;height:140px}.plan-library-thumb-room{fill:var(--paper);stroke:var(--ink);stroke-width:2}.plan-library-card-meta{display:grid;align-content:start;gap:6px;padding:12px 14px}.plan-library-card-meta strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.plan-library-card-dims,.plan-library-card-meta time{color:var(--muted);font-size:12px}.plan-library-card-actions{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.plan-library-card-actions .plan-library-archive-action{margin-left:auto}.plan-library-new{display:block;overflow:visible;border:0;background:transparent;box-shadow:none}.plan-library-new-action{display:grid;place-content:center;justify-items:center;gap:8px;width:100%;height:100%;min-height:262px;padding:24px;border:1px dashed var(--muted);border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:center;cursor:pointer}.plan-library-new-action:disabled{cursor:default;opacity:.6}.plan-library-new-badge{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font-size:22px;line-height:1}.plan-library-new-hint{max-width:24ch;color:var(--muted);font-size:12px;line-height:1.4}.plan-library-note{display:block;margin-top:10px}.plan-library .project-archive{margin-top:28px;border:1px solid var(--line);border-radius:12px}.new-plan-dialog-content .new-plan-mode{display:grid;gap:2px;padding:4px 0}.new-plan-copy-sources{max-height:220px;margin-top:4px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}.plan-switcher-menu .plan-switcher-item .MuiSvgIcon-root{margin-left:12px}.task-nav{z-index:8}.task-nav-desktop{grid-column:1 / -1;grid-row:1;position:sticky;top:0;align-self:start;display:grid;grid-template-columns:minmax(180px,280px) auto minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:60px;padding:12px 26px;overflow-x:auto;border:0;border-bottom:1px solid var(--line);background:var(--canvas)}.task-nav-desktop .MuiStack-root{display:flex;flex-direction:row;align-items:center;gap:4px}.task-nav-desktop>.MuiStack-root>:not(style){margin:0}.top-project-identity,.mobile-project-identity{display:flex;align-items:center;gap:8px;min-width:0}.top-project-name,.mobile-project-name{min-width:0}.top-project-name{width:100%}.top-project-name .MuiOutlinedInput-root{border-radius:7px}.top-project-name .MuiOutlinedInput-notchedOutline{border-color:transparent}.top-project-name .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline,.top-project-name .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--line)}.top-project-name input,.mobile-project-name input{padding-block:6px;color:var(--ink);font-size:15px;font-weight:700}.project-save-state{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--muted);border-radius:50%}.project-save-state.conflict,.project-save-state.offline{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.task-nav-desktop .task-nav-action{align-self:center;flex:0 1 auto;justify-content:center;width:auto;min-width:82px;height:34px;min-height:34px;padding-block:0;padding-inline:10px;white-space:nowrap}.task-nav-desktop .task-nav-action:nth-child(-n+3){background:color-mix(in srgb,var(--paper) 42%,transparent)}.task-nav-desktop .task-nav-action:nth-child(1){border-radius:9px 0 0 9px}.task-nav-desktop .task-nav-action:nth-child(2){border-radius:0}.task-nav-desktop .task-nav-action:nth-child(3){border-radius:0 9px 9px 0}.task-nav-desktop .task-nav-action[data-planner-view=output]{min-width:112px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.task-nav-desktop .obstruction-menu-button{width:34px;height:34px;margin-left:2px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink)}.task-nav-desktop .obstruction-menu-button:hover{background:color-mix(in srgb,var(--paper) 78%,var(--canvas))}.task-nav-desktop .obstruction-menu-button .MuiBadge-badge.MuiBadge-invisible{display:none}.task-nav-desktop .undo-action,.task-nav-desktop .redo-action{min-width:72px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.task-nav-desktop .undo-action{margin-left:12px}.task-nav-desktop .task-nav-action.MuiButton-contained{background:var(--blue);color:#fff}.task-nav-desktop .task-nav-action .MuiButton-startIcon{display:none}.task-number{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border:1px solid currentColor;border-radius:999px;font-size:11px;opacity:.72}.task-nav-help{display:block;justify-self:end;white-space:nowrap}.task-nav-help .MuiTypography-root{font:10px/1.2 DM Mono,ui-monospace,monospace;letter-spacing:.04em}.obstruction-menu-paper{width:min(360px,calc(100vw - 24px));max-height:min(440px,calc(100dvh - 90px));margin-top:6px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.obstruction-menu-heading{display:grid;gap:3px;padding:13px 15px 11px;border-bottom:1px solid var(--line)}.obstruction-menu-heading strong{color:var(--ink);font-size:13px}.obstruction-menu-heading span{font-size:11px}.obstruction-menu-item{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:10px;min-height:54px;padding:10px 15px;border-bottom:1px solid color-mix(in srgb,var(--line) 62%,transparent);white-space:normal}.obstruction-menu-item:last-child{border-bottom:0}.obstruction-menu-item:hover,.obstruction-menu-item:focus-visible{background:color-mix(in srgb,var(--blue) 8%,var(--paper))}.obstruction-severity-dot{width:7px;height:7px;margin-top:5px;border-radius:999px;background:var(--amber)}.obstruction-menu-item.blocking .obstruction-severity-dot{background:var(--red)}.obstruction-menu-copy{display:grid;gap:3px;min-width:0}.obstruction-menu-copy strong{color:var(--ink);font-size:12px;line-height:1.3}.obstruction-menu-copy small{overflow:hidden;color:var(--muted);font:10px/1.3 Spline Sans Mono,DM Mono,ui-monospace,monospace;text-overflow:ellipsis;white-space:nowrap}.planner-layout{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-areas:"recovery recovery" "controls workspace" "controls inspector";grid-template-rows:auto max-content max-content;align-items:start;height:100%;min-height:0;gap:0;overflow-y:auto}.planner-recovery-boundary{grid-area:recovery;width:100%}.save-recovery{width:100%}.planner-layout.blank-room-mode{grid-template-columns:340px minmax(0,1fr)}.planner-layout.blank-room-mode .inspector{display:none}.control-panel,.inspector{min-width:0;overflow-x:clip;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--paper);box-shadow:none}.control-panel{grid-area:controls;position:sticky;top:0;z-index:1;align-self:stretch;height:calc(100dvh - 62px);max-height:calc(100dvh - 62px);padding-top:46px;overflow-y:auto}.measure-slider{display:grid;gap:1px;padding:2px 0 0}.measure-slider-label{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.measure-slider-label .MuiTypography-root{font-size:12px}.measure-slider-label output{color:var(--blue);font:12px/1.2 DM Mono,ui-monospace,monospace}.measure-slider .MuiSlider-root{padding:8px 0 7px;color:var(--blue)}.measure-slider .MuiSlider-rail{height:3px;background:#b9b19f;opacity:.8}.measure-slider .MuiSlider-track{display:none}.measure-slider .MuiSlider-thumb{width:11px;height:11px;box-shadow:0 0 0 2px var(--paper)}.inspector{grid-area:inspector;display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;margin:0 26px 26px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.panel-section{padding:12px 16px;border-bottom:1px solid var(--line)}.control-accordion{margin:0!important;border:0;border-bottom:1px solid var(--line);border-radius:0!important;box-shadow:none}.control-accordion:before{display:none}.control-accordion>.MuiAccordion-heading .MuiAccordionSummary-root{min-height:36px;padding:0 16px}.control-accordion>.MuiAccordion-heading .MuiAccordionSummary-content{margin-block:8px}.control-accordion-details{display:grid;gap:4px;min-width:0;padding:0 16px 12px}.control-accordion-details>*,.profile-card>*{min-width:0;max-width:100%}.control-panel .MuiFormControl-root,.control-panel .MuiInputBase-root,.inspector .MuiFormControl-root,.inspector .MuiInputBase-root{width:100%;min-width:0;max-width:100%}.control-panel .MuiSelect-select,.inspector .MuiSelect-select{min-width:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[id^=source-],.control-accordion{scroll-margin-top:96px}.inspector>.control-accordion{flex:1 0 100%;margin:0!important;border:1px solid var(--line);border-radius:10px!important;background:var(--paper)}.prototype-segment-editor{display:flex;flex:1 0 100%;flex-wrap:wrap;align-items:flex-end;gap:14px}.prototype-editor-card{display:grid;grid-template-rows:14px 30px;gap:8px;height:82px;padding:13px 15px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.prototype-editor-card>span{color:#7d766a;font-size:11px;font-weight:500}.prototype-editor-card .MuiInputBase-root{min-height:30px;height:30px;background:var(--input-surface);font-size:12px}.prototype-editor-card input,.prototype-editor-card .MuiSelect-select{padding:5px 7px}.prototype-editor-card.name-card{width:180px}.prototype-editor-card.length-card{flex:0 0 160px;width:160px}.prototype-editor-card.type-card{width:auto}.prototype-editor-card.side-card{width:130px}.prototype-editor-card .segmented{width:auto;height:30px;margin:0;padding:2px;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--muted) 42%,transparent);border-radius:7px;background:var(--input-surface)}.prototype-editor-card .segmented .MuiToggleButton-root{min-height:24px;height:24px;padding:2px 11px;border:0;border-radius:6px!important;color:var(--muted);font-size:11px}.prototype-editor-card .segmented .Mui-selected{background:var(--blue);color:#fff}.prototype-editor-card .segmented .Mui-selected:hover{background:color-mix(in srgb,var(--blue) 88%,black)}.prototype-segment-action{min-height:42px;padding:10px 14px;border-color:var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:11px}.prototype-segment-action.delete{border-color:#d9b3aa;color:#b8442f}.count-card,.gap-card,.layout-override-card{flex:0 0 150px;min-width:150px}.layout-input-help{flex:1 0 100%;margin:-6px 0 0}.gap-card-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;height:30px}.gap-card-input>span{color:var(--muted);font:10px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.number-field-end-actions{gap:6px;max-width:none}.number-field-end-actions>span{color:var(--muted)}.inline-field-action{min-width:0;min-height:24px;padding:2px 6px;color:var(--blue);font-size:9px;line-height:1.1;white-space:nowrap}.prototype-count-stepper{display:flex;align-items:center;gap:10px}.prototype-count-stepper .MuiIconButton-root{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:var(--input-surface)}.prototype-count-stepper output{min-width:20px;color:var(--ink);font:600 18px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace;text-align:center}.eyebrow{margin:0 0 6px;color:var(--muted);font:600 11px/1.2 ui-monospace,monospace;letter-spacing:.11em;text-transform:uppercase}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading .eyebrow{margin:0}.field{margin:8px 0}.field-note{color:var(--muted);font-size:11px;line-height:1.4}.field-error{border-left:3px solid #a63a32;color:#7d2924;font-size:13px;line-height:1.45;padding-left:10px}.field-group{display:grid;gap:8px;margin:10px 0;padding:10px}.check-field{margin:8px 0}.check-field-compact{width:fit-content;min-height:26px;margin:2px 0}.check-field-compact .MuiCheckbox-root{padding:4px}.check-field-compact .MuiFormControlLabel-label{font-size:12px;line-height:1.2}.wall-scope{display:grid;gap:8px;margin:0;padding:0;border:0}.wall-scope legend{margin-bottom:4px;color:var(--ink);font-size:15px;font-weight:700}.wall-scope .field-note{margin:0 0 4px}.wall-scope-option{align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);cursor:pointer}.wall-scope-option:focus-within{outline:3px solid color-mix(in srgb,var(--amber) 55%,transparent);outline-offset:2px}.wall-scope-option span{display:grid;gap:3px;min-width:0}.wall-scope-option small{color:var(--muted);font:10px/1.4 DM Mono,monospace;overflow-wrap:anywhere}.profile-card,.exclusion-editor{margin:8px 0;background:var(--paper)}.profile-card{padding:9px 10px;border-color:var(--line);border-radius:10px;box-shadow:none}.profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:5px}.profile-fields label{display:grid;gap:2px;min-width:0}.profile-fields label>span{overflow:hidden;color:var(--muted);font:9px/1.2 Spline Sans Mono,DM Mono,ui-monospace,monospace;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}.profile-fields .MuiInputBase-root{min-height:30px;height:30px;font-size:11px}.profile-fields input{padding:5px 7px;font:12px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.profile-name-row{display:flex;align-items:center;gap:5px;width:100%;min-width:0}.profile-name-input{flex:1;min-width:0}.profile-name-input .MuiInputBase-root{min-height:30px;height:30px;background:var(--input-surface)}.profile-name-input input{padding:5px 8px;font-size:12px;font-weight:650}.profile-name-row .MuiIconButton-root{width:28px;height:28px;border:1px solid var(--line);border-radius:6px}.add-profile-action{min-height:28px;margin-top:1px;border-style:dashed;border-color:#8a8272;border-radius:7px;font-size:11px}.section-help{display:block;margin:-2px 0 5px;font-size:11px;line-height:1.4}.prototype-section{padding:0 20px 14px;border-bottom:1px solid var(--line)}.prototype-section+.prototype-section{padding-top:15px}.prototype-section-title{margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid var(--line);color:#8a8272;font:600 9px/1.2 Spline Sans Mono,DM Mono,ui-monospace,monospace;letter-spacing:.16em}.prototype-section-content{display:grid;gap:4px;min-width:0}.catalog-provenance{margin:16px 0 22px}.catalog-provenance h4{margin:0 0 10px}.catalog-provenance article{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.catalog-provenance h5{margin:0 0 10px}.output-actions{display:grid;gap:10px}.action-note{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.technical-details{margin-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.technical-details summary{padding:10px 0;color:var(--ink);cursor:pointer;font-weight:700}.technical-details[open]>:not(summary){margin-top:8px}.file-button{position:relative}.visually-hidden-input{position:absolute;bottom:0;left:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.segment-list{display:grid;gap:7px;margin-top:12px}.segment-chip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.segment-chip[draggable=true]{cursor:grab}.segment-chip[draggable=true]:active{cursor:grabbing}.segment-chip.dragging{opacity:.45}.segment-chip.drag-over-before{box-shadow:inset 3px 0 var(--blue)}.segment-chip.drag-over-after{box-shadow:inset -3px 0 var(--blue)}.segment-chip-select{min-width:0;padding:8px 10px}.segment-chip-actions{align-items:center;padding:4px;border-left:1px solid var(--line)}.segment-chip-actions .MuiIconButton-root:first-child{cursor:grab;touch-action:none}.segment-chip small{color:var(--muted);font:10px DM Mono,monospace}.segment-chip.selected{background:var(--blue);color:var(--on-green);border-color:var(--blue)}.segment-chip.selected .MuiListItemText-primary{color:var(--on-green)}.segment-chip.selected .MuiListItemText-secondary{color:color-mix(in srgb,var(--on-green) 76%,transparent)}.segment-chip.selected .segment-chip-actions{border-left-color:color-mix(in srgb,var(--on-green) 32%,transparent)}.segment-chip.selected .segment-chip-actions .MuiIconButton-root{color:var(--on-green)}.workspace{grid-area:workspace;min-width:0;position:static;align-self:start;min-height:0;padding:25px 26px 16px;border:0;border-radius:0;background:var(--canvas);box-shadow:none;overflow:hidden}.workspace-plan .workspace-header{display:none}.workspace-plan .plan-view{height:calc(100dvh - 162px);min-height:440px}.workspace-segments{margin:0 -24px 10px;padding:0 24px 10px;border-bottom:1px solid var(--line)}.workspace-wall .workspace-segments{margin:0 0 18px;padding:0;border:0}.workspace-wall .workspace-segments .section-heading{display:none}.workspace-wall .workspace-segment-list{flex-wrap:wrap;align-items:center;gap:8px;margin-top:0;overflow:visible}.workspace-wall .workspace-segment-list:after{align-self:center;color:#8a8272;content:"dra flikarna för att ändra ordning";font:10px/1.2 Spline Sans Mono,DM Mono,ui-monospace,monospace;letter-spacing:.05em}.workspace-segments .section-heading{min-height:20px}.workspace-segments .eyebrow{margin:0}.workspace-segment-list{display:flex;flex-wrap:nowrap;gap:6px;margin-top:6px;padding:2px 2px 4px;overflow-x:auto}.workspace-segment-list .segment-chip{flex:0 0 142px;min-width:0;max-width:none;min-height:44px;max-height:44px;background:color-mix(in srgb,var(--paper) 86%,transparent)}.workspace-wall .workspace-segment-list .segment-chip{flex-basis:auto;flex-grow:0;min-height:36px;max-height:36px}.add-wall-action{flex:0 0 auto;min-height:36px;padding:7px 13px;border:1px dashed var(--blue);border-radius:9px;color:var(--blue);font-size:12px;font-weight:650}.workspace-segment-list .segment-chip-select{gap:7px;padding:5px 7px}.workspace-segment-list .segment-chip-actions{padding:2px}.workspace-segment-list .MuiListItemText-root{margin:0}.workspace-segment-list .segment-chip.selected,.workspace-segment-list .segment-chip.Mui-selected{border-color:var(--blue);background:var(--blue);color:var(--on-green)}.workspace-segment-list .segment-chip.selected:hover,.workspace-segment-list .segment-chip.Mui-selected:hover{background:color-mix(in srgb,var(--blue) 86%,black)}.workspace-segment-list .MuiListItemText-primary{display:flex;align-items:baseline;gap:8px;overflow:hidden;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.segment-chip-length{color:var(--muted);font:11px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace;font-weight:400}.segment-chip.selected .segment-chip-length{color:color-mix(in srgb,white 76%,transparent)}.workspace-segment-list .MuiListItemText-secondary{display:block;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.workspace-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:8px}.workspace-wall .workspace-header,.workspace-header .eyebrow,.workspace-intro{display:none}.workspace-header h1{margin:0;font-size:clamp(17px,1.6vw,20px);letter-spacing:-.015em}.workspace-intro{max-width:56ch;margin-top:3px;font-size:12px}.view-tabs{flex:0 0 auto}.elevation,.plan-view,.materials-view,.output-summary,.empty-drawing{width:100%;min-height:400px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 1px 2px #3c372d12}.elevation,.plan-view{display:block;padding:10px}.elevation{height:clamp(360px,calc(100dvh - 260px),480px);min-height:0}.wall-elevation-card{padding:22px 24px 18px;margin-bottom:18px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.wall-elevation-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:14px}.wall-elevation-heading h2{margin:0;font-size:16px;font-weight:650}.wall-elevation-heading h2 span{color:#8a8272;font:400 13px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.wall-elevation-heading>span{color:var(--blue);font:12px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.wall-elevation-card .elevation,.wall-elevation-card .empty-drawing{height:auto;max-height:480px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.wall-fill{fill:#efe8d8;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}.floor-line{stroke:var(--ink);stroke-width:2.2;vector-effect:non-scaling-stroke}.skirting{fill:#d8ccb2;stroke:#b6ac96;stroke-width:.7;vector-effect:non-scaling-stroke}.rail{fill:#d8ccb2;stroke:var(--ink);stroke-width:.9;vector-effect:non-scaling-stroke}.rail-label{fill:var(--muted);font:10px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.frame-reference line{stroke:#6c746f;stroke-dasharray:7 5;stroke-width:1.2;vector-effect:non-scaling-stroke}.frame-reference text{fill:var(--muted);font:10px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.clear-run-guide line{stroke:#1f3f54;stroke-dasharray:7 4;stroke-width:1.4;vector-effect:non-scaling-stroke}.clear-run-guide text{fill:#1f3f54;font:600 11px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.rail-omitted-note{margin:10px 0 0;color:var(--muted);font-size:.875rem}.clear-run-equivalent{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.clear-run-equivalent h3{margin:0 0 8px;font-size:14px}.clear-run-equivalent ol{display:grid;gap:6px;margin:0;padding-left:22px}.clear-run-equivalent li{color:var(--muted);font-size:12px;line-height:1.45}.exclusion{fill:#cbd8df;stroke:#8196a2;stroke-width:2}.collision-source{fill:#f9d8d4;stroke:#b42318;stroke-width:4}.rail-collision{stroke:#b42318;stroke-linecap:round;stroke-width:10;vector-effect:non-scaling-stroke}.collision-legend rect{fill:#fff1f0;stroke:#b42318;stroke-width:1}.collision-legend text{fill:#8a1c13;font:11px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.layout-error-callout{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border:1px solid #b42318;border-radius:8px;background:#fff1f0;color:#8a1c13}.layout-error-callout strong{font-size:13px}.layout-error-callout span{font-size:12px;line-height:1.4}.opening-source{fill:#d8e7e0;stroke:#294d43;stroke-width:3}.opening-source.invalid{fill:#f7dfd2;stroke:#a5492f;stroke-dasharray:8 5}.fixture-source{fill:#f2d7a7;stroke:#7c4f16;stroke-width:3}.fixture-source.invalid{fill:#f7dfd2;stroke:#a5492f;stroke-dasharray:8 5}.elevation-obstacle{-webkit-user-select:none;user-select:none}.elevation-obstacle[tabindex="0"]{cursor:move}.elevation-obstacle:focus-visible>rect:first-of-type,.elevation-obstacle.selected>rect:first-of-type{stroke:#b35c00;stroke-width:6;vector-effect:non-scaling-stroke}.elevation-obstacle .manipulation-preview{opacity:.82;stroke-dasharray:9 4;vector-effect:non-scaling-stroke}.elevation-obstacle .manipulation-denied{fill:#fff1f0;stroke:#b42318;stroke-width:7}.manipulation-controls{opacity:.76}.elevation-obstacle:hover .manipulation-controls,.elevation-obstacle:focus .manipulation-controls,.elevation-obstacle.selected .manipulation-controls{opacity:1}.obstacle-move-hit-target,.obstacle-resize-hit-target{fill:transparent;pointer-events:all;touch-action:none}.obstacle-move-hit-target{cursor:move}.obstacle-resize-hit-target.width-hit-target{cursor:ew-resize}.obstacle-resize-hit-target.height-hit-target{cursor:ns-resize}.obstacle-resize-handle{fill:var(--paper);stroke:#b35c00;stroke-width:4;pointer-events:none;vector-effect:non-scaling-stroke}.moulding-controls{-webkit-user-select:none;user-select:none}.moulding-target-outline{fill:none;opacity:.72;stroke:#7a4a12;stroke-dasharray:7 4;stroke-width:3;vector-effect:non-scaling-stroke}.moulding-controls.selected .moulding-target-outline,.moulding-controls:focus-within .moulding-target-outline{opacity:1;stroke:#b35c00;stroke-dasharray:10 3 2 3;stroke-width:5}.moulding-controls.previewing .moulding-target-outline,.frame.moulding-preview>rect:first-of-type,.rail.moulding-preview{opacity:.82;stroke-dasharray:9 4;vector-effect:non-scaling-stroke}.moulding-controls.denied .moulding-target-outline{stroke:#b42318;stroke-dasharray:3 3;stroke-width:7}.moulding-hit-target,.frame-envelope-keyboard-target{fill:transparent}.moulding-hit-target{pointer-events:all;touch-action:none}.frame-envelope-keyboard-target{pointer-events:none}.frame-envelope-keyboard-target.derived-frame-envelope-route{cursor:pointer;pointer-events:all}.moulding-hit-target:focus-visible,.frame-envelope-keyboard-target:focus-visible{outline:none;stroke:#111;stroke-dasharray:4 3;stroke-width:4;vector-effect:non-scaling-stroke}.rail-height-hit-target,.frame-height-hit-target,.top-gap-hit-target{cursor:ns-resize}.frame-width-hit-target{cursor:ew-resize}.moulding-handle{fill:var(--paper);pointer-events:none;stroke:#7a4a12;stroke-width:4;vector-effect:non-scaling-stroke}.moulding-controls.selected .moulding-handle,.moulding-controls:focus-within .moulding-handle{stroke:#b35c00;stroke-width:5}.moulding-common-label{fill:#4f3416;font:700 10px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace;paint-order:stroke;stroke:var(--paper);stroke-width:3}.obstacle-boundary-denial rect{fill:#fff1f0;stroke:#b42318;stroke-width:2}.obstacle-boundary-denial text{fill:#8a1c13;font:700 13px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.exclusion-invalid-marker circle,.fixture-invalid-marker circle,.opening-invalid-marker circle{fill:#fff7f2;stroke:#a5492f;stroke-width:4;vector-effect:non-scaling-stroke}.exclusion-invalid-marker path,.fixture-invalid-marker path,.opening-invalid-marker path{fill:none;stroke:#a5492f;stroke-linecap:round;stroke-width:4;vector-effect:non-scaling-stroke}.drawing-label{fill:#51636c;font-size:16px}.frame>rect:first-child{fill:#dfe4ee;stroke:var(--blue);stroke-width:1.1;vector-effect:non-scaling-stroke}.frame.collision-frame>rect:first-child{fill:#fcede9;stroke:#b42318;stroke-width:7;stroke-dasharray:9 4}.frame .frame-inner-edge{fill:#efe8d8;stroke:var(--blue);stroke-width:.8;vector-effect:non-scaling-stroke}.frame-mitres line{stroke:var(--blue);stroke-width:.6;vector-effect:non-scaling-stroke}.frame .inner-frame{fill:none;stroke:#46655c;stroke-width:5;vector-effect:non-scaling-stroke}.dimension-line{stroke:var(--muted);stroke-width:1}.dimension-text{fill:var(--muted);font:14px DM Mono,monospace}.elevation-dimensions line{stroke:var(--muted);stroke-width:.8;vector-effect:non-scaling-stroke}.elevation-dimensions text{fill:var(--muted);font:11px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.drawing-unit-marker,.elevation-dimensions .drawing-unit-marker{fill:var(--muted);font:10px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace;letter-spacing:.04em}.elevation-dimensions .floor-to-frame-dimension line{stroke:var(--blue)}.elevation-dimensions .floor-to-frame-dimension text{fill:var(--blue)}.elevation-dimensions .skirting-to-frame-dimension line{stroke:var(--amber)}.elevation-dimensions .skirting-to-frame-dimension text{fill:color-mix(in srgb,var(--amber) 82%,var(--ink))}.room-fill{fill:#f8f4e9;stroke:none}.plan-view-composition{width:100%}.room-resize-controls{display:grid;grid-template-columns:minmax(190px,1fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;align-items:start;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.room-resize-heading{display:grid;gap:3px;align-self:center}.room-resize-heading strong{font-size:13px}.room-resize-heading span{color:var(--muted);font-size:11px;line-height:1.35}.room-resize-error{grid-column:2 / -1;color:var(--red, #9d2f24);font-size:12px}.room-resize-handle{color:var(--blue);cursor:grab;outline:none;touch-action:none}.plan-view.room-resize-enabled{touch-action:none}.room-resize-handle.active{cursor:grabbing}.room-resize-handle .resize-hit-area{fill:transparent;pointer-events:all}.room-resize-handle .resize-handle-dot{fill:var(--paper);stroke:currentColor;stroke-width:4;vector-effect:non-scaling-stroke}.room-resize-handle path{fill:none;pointer-events:none;stroke:currentColor;stroke-linecap:round;stroke-width:3;vector-effect:non-scaling-stroke}.room-resize-handle:hover .resize-handle-dot,.room-resize-handle:focus-visible .resize-handle-dot,.room-resize-handle.active .resize-handle-dot{fill:var(--amber);stroke:var(--ink)}.room-resize-handle:focus-visible .resize-hit-area{fill:color-mix(in srgb,var(--amber) 20%,transparent)}.plan-segment line{stroke:var(--ink);stroke-width:4;cursor:pointer}.plan-segment.excluded line.wall{stroke:var(--ink);stroke-width:4}.plan-segment line.opening{stroke:#b7b0a2;stroke-width:3;stroke-dasharray:8 7}.plan-segment:hover line,.plan-segment.selected line{stroke:var(--ink);stroke-width:6}.plan-segment:focus-visible{outline:none}.plan-segment:focus-visible line{stroke:var(--amber);stroke-width:8}.plan-rail-run,.plan-calculated-frame{pointer-events:none;stroke-linecap:butt;vector-effect:non-scaling-stroke}.plan-rail-run{stroke:var(--amber);stroke-width:6}.plan-calculated-frame{stroke:var(--blue);stroke-width:14}.plan-segment-label{fill:var(--ink);font-size:16px;font-weight:700}.plan-segment-length{fill:var(--muted);font:13px/1 DM Mono,ui-monospace,monospace}.plan-legend line{stroke:var(--ink);stroke-width:4}.plan-legend .plan-rail-run{stroke:var(--amber);stroke-width:6}.plan-legend .plan-calculated-frame{stroke:var(--blue);stroke-width:10}.plan-legend line.opening-key{stroke:#b7b0a2;stroke-width:2;stroke-dasharray:5 4}.plan-legend text{fill:var(--ink);font-size:12px}.plan-legend .plan-legend-help{fill:var(--muted);font:11px/1 Spline Sans Mono,DM Mono,ui-monospace,monospace}.plan-calculated-equivalent,.plan-overlay-notice{margin:10px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font-size:12px;line-height:1.45}.plan-calculated-equivalent h3{margin:0 0 6px;color:var(--ink);font-size:13px}.plan-calculated-equivalent ul{display:grid;gap:5px;margin:0;padding-left:20px}.plan-calculated-equivalent li>span{display:block}.plan-overlay-notice{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));color:var(--ink)}@media(max-width:899px){.room-resize-controls{grid-template-columns:1fr 1fr}.room-resize-heading,.room-resize-error,.room-resize-controls .MuiButton-root{grid-column:1 / -1}}@media(max-width:520px){.room-resize-controls{grid-template-columns:1fr}.room-resize-heading,.room-resize-error,.room-resize-controls .MuiButton-root{grid-column:1}}.scope-marker{fill:var(--ink);font:700 18px DM Mono,monospace;paint-order:stroke;stroke:var(--paper);stroke-width:4px}.excluded-wall,.repair-needed-wall{display:grid;place-content:center;gap:10px;width:100%;min-height:520px;padding:36px;border:2px dashed #777c76;border-radius:14px;background:repeating-linear-gradient(-45deg,#f8f4e9,#f8f4e9 12px,#eeebe1 12px 24px);color:#23261f;text-align:center}.repair-needed-wall{border-style:solid;border-color:#a96818;background:#fff8e8}.repair-marker{justify-self:center;font:800 28px/1 DM Mono,monospace}.excluded-wall strong,.repair-needed-wall strong{font-size:clamp(22px,4vw,38px)}.excluded-wall p,.repair-needed-wall p{max-width:560px;margin:0;color:#5d625b}.excluded-wall small,.repair-needed-wall small{font-family:DM Mono,monospace;overflow-wrap:anywhere}.empty-drawing{display:grid;place-items:center;color:var(--muted);padding:40px;text-align:center}.inspector-header{padding-bottom:12px;border-bottom:1px solid var(--line)}.inspector-header strong{display:block;font-size:18px;overflow-wrap:anywhere}.segmented{margin:14px 0}.number-stepper{align-items:center;margin:8px 0}.number-stepper .field{flex:1;margin:0}.number-stepper>.MuiIconButton-root{flex:0 0 32px;width:32px;height:32px;border:1px solid var(--line);border-radius:7px}.override-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.inspector hr{border:0;border-top:1px solid var(--line);margin:20px 0}.findings{display:grid;gap:8px}.finding{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px;border-radius:8px;background:var(--paper);border:1px solid var(--line)}.finding>span{align-self:start;padding:3px 6px;border-radius:5px;font:600 9px DM Mono,monospace;text-transform:uppercase}.finding.blocking>span{color:#7f2920;background:#f6dad5}.finding.warning>span{color:#75450f;background:#fae5c8}.finding div{display:grid;gap:2px;min-width:0}.finding strong{font-size:12px;text-transform:capitalize;overflow-wrap:anywhere}.finding small{color:var(--muted);overflow-wrap:anywhere}.repair-link{justify-self:start;color:var(--green);font-size:11px;font-weight:700;text-align:left}.repair-preview{display:grid;gap:10px;margin:12px;padding:14px;border:2px solid var(--amber);border-radius:10px;background:color-mix(in srgb,var(--paper) 88%,var(--amber))}.repair-preview h3,.repair-preview p{margin:0}.repair-delta{display:grid;grid-template-columns:1fr auto;gap:5px 12px;margin:0;font:11px DM Mono,monospace}.repair-delta dd{margin:0;font-weight:700}.repair-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.success-card{display:grid;gap:3px;color:var(--green);background:var(--mint);border-radius:9px;padding:12px}.success-card span{font-size:12px}.provenance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;font:11px DM Mono,monospace}.provenance dt{color:var(--muted)}.provenance dd{margin:0;overflow-wrap:anywhere}.resolved-constraints{background:var(--paper);border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:14px}.resolved-constraints .eyebrow{margin-top:0}.resolved-constraints .provenance{margin:12px 0 0}.materials-view{padding:24px}.materials-content{display:grid;width:100%;gap:10px}.materials-content-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}.metric-grid article{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:10px}.metric-grid span{color:var(--muted);font-size:12px}.metric-grid strong{font-size:22px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}caption{text-align:left;margin-bottom:10px;font-size:18px;font-weight:700}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid var(--line)}thead th{color:var(--muted);font:600 10px DM Mono,monospace;text-transform:uppercase}.cut-workflow{display:grid;gap:10px;margin:12px 0 16px;padding:14px;border:1px solid var(--cut-workflow-border);border-radius:10px;background:var(--cut-workflow-background)}.cut-workflow h4,.cut-workflow h5,.cut-workflow p{margin:0}.cut-workflow-profile-id{color:var(--muted);font:600 10px Spline Sans Mono,DM Mono,ui-monospace,monospace}.cut-workflow>p{color:var(--muted);font:11px/1.45 Spline Sans Mono,DM Mono,ui-monospace,monospace}.cut-workflow-steps{display:grid;gap:12px;margin:0;padding-left:22px}.cut-workflow-steps>li{padding-left:3px}.cut-workflow-steps ul{display:grid;gap:5px;margin:7px 0 0;padding:0;list-style:none}.cut-workflow-steps ul>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.cut-workflow details{color:var(--muted)}.cut-workflow details summary{cursor:pointer;font-size:10px}.cut-workflow details span{display:block;margin:4px 0 0;overflow-wrap:anywhere}.cut-instruction h6{margin:0}.cut-instruction{display:grid;gap:6px;padding:10px 0}.cut-instruction>p{margin:0}.cut-instruction dl{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:4px 10px;margin:0}.cut-instruction dt,.cut-instruction dd{margin:0}.cut-end-instruction{display:contents}.cut-end-instruction small{display:block;margin-top:2px;color:var(--muted)}.fitting-instruction{padding:8px;border-left:3px solid var(--amber);background:#fbecd9}.output-summary{padding:clamp(28px,6vw,72px)}.output-summary h2{font-size:clamp(28px,5vw,54px);margin:10px 0}.document-mark{width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--on-green);font:700 30px DM Mono,monospace;margin-bottom:40px}.draft-note{max-width:680px;padding:15px;border-left:4px solid var(--amber);background:#fbecd9}.output-summary .provenance{margin-top:32px;max-width:760px}.plan-pack{width:min(100%,1120px);margin:0 auto;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.pack-cover,.pack-section,.pack-trust,.pack-footer{padding:clamp(22px,4vw,48px)}.pack-cover h2{max-width:760px;margin:8px 0 12px;font-size:clamp(32px,6vw,64px);line-height:1;overflow-wrap:anywhere}.pack-intro{max-width:680px;color:var(--muted);font-size:17px;line-height:1.55}.pack-identity{display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr);gap:8px 20px;max-width:820px;margin:30px 0;font:12px DM Mono,monospace}.pack-identity dt{color:var(--muted)}.pack-identity dd{margin:0;overflow-wrap:anywhere}.pack-trust{border-block:1px solid #a7c6b4;background:var(--mint)}.pack-trust.blocked{border-color:#d9a36a;background:#fbecd9}.pack-trust h3,.pack-trust p{max-width:760px;margin:0}.pack-trust h3{margin-bottom:8px}.pack-section{border-bottom:1px solid var(--line)}.pack-section>h3{margin:0 0 24px;font-size:clamp(22px,3vw,32px)}.pack-section figure{margin:0}.pack-section figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:9px;color:var(--muted);font-size:12px}.pack-section figcaption span{font-family:DM Mono,monospace;overflow-wrap:anywhere}.plan-pack .elevation,.plan-pack .plan-view,.plan-pack .excluded-wall,.plan-pack .repair-needed-wall{min-height:0;border-radius:8px;box-shadow:none}.plan-pack .excluded-wall,.plan-pack .repair-needed-wall{min-height:280px}.elevation-list{display:grid;gap:32px}.elevation-list figure{padding-bottom:32px;border-bottom:1px solid var(--line)}.elevation-list figure:last-child{padding-bottom:0;border-bottom:0}.pack-geometry,.pack-materials{display:grid;gap:32px}.pack-geometry>h3,.pack-materials>h3{margin-bottom:0}.pack-geometry table,.pack-materials table{min-width:720px}.pack-geometry th:first-child,.pack-geometry td:first-child,.pack-materials th:first-child,.pack-materials td:first-child,.pack-materials td:nth-child(2){overflow-wrap:anywhere}.pack-materials th small{display:block;margin-top:4px;color:var(--muted);font:9px DM Mono,monospace;overflow-wrap:anywhere}.reconciliation-equation{display:block;margin-bottom:5px;font:10px/1.5 DM Mono,monospace}.pack-materials tfoot{background:#f2f0e8;font-weight:700}.cut-list{display:grid;gap:4px;margin:0;padding-left:18px}.cut-list li{line-height:1.4}.pack-findings .findings{max-width:820px}.pack-assumptions ul{display:grid;gap:8px;max-width:820px;padding-left:20px}.pack-provenance .provenance{max-width:900px}.pack-footer{background:#f2f0e8;color:#665a45;font-size:12px}.pack-footer p{max-width:760px;margin:0}.pack-footer p+p{margin-top:8px}.print-only{display:none}.draft-banner{grid-column:2;grid-row:5;min-height:34px;display:grid;place-items:center;padding:7px 18px;border:0;border-top:1px solid var(--line);background:var(--surface-muted);font-size:11px;text-align:center}@media(min-width:840px){.sidebar-project,.control-panel>.control-accordion:first-of-type,.draft-banner{display:none}}@media(max-width:1179px){.app-shell,.planner-layout,.planner-layout.blank-room-mode{grid-template-columns:300px minmax(0,1fr)}.task-nav-desktop{grid-template-columns:minmax(150px,220px) auto minmax(0,1fr);gap:12px;padding-inline:14px}.task-nav-desktop .MuiStack-root{gap:4px}.task-nav-desktop .task-nav-action{min-width:0;padding-inline:8px}.task-nav-desktop .task-nav-action .MuiButton-startIcon,.task-number{display:none}.planner-layout{grid-template-areas:"recovery recovery" "controls workspace" "controls inspector"}}@media(max-width:839px){html,body,#root{height:auto;overflow:auto}.app-shell{display:flex;flex-direction:column;height:auto;min-height:100dvh;padding-bottom:76px;overflow:visible}.command-bar{position:sticky;top:0;z-index:25;width:100%;border-right:0}.command-bar .MuiToolbar-root{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;min-height:auto;padding:10px 14px 12px}.mobile-project-identity{min-width:0}.mobile-project-name{width:100%}.project-switcher{width:100%;gap:8px}.project-select{min-width:0;width:100%}.project-switcher .undo-action{flex:1 0 100%}.new-project-action{flex:0 0 auto}.header-status{width:100%}.project-archive{padding:14px}.project-archive-heading,.project-archive-card{align-items:stretch;flex-direction:column}.task-nav-mobile{position:fixed;z-index:30;right:0;bottom:0;left:0;min-height:72px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);box-shadow:0 -8px 24px #3c372d14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.task-nav-mobile .MuiBottomNavigationAction-root{min-width:0;padding:8px 2px 6px}.task-nav-mobile .MuiBottomNavigationAction-label{font-size:.72rem;font-weight:700}.planner-layout{display:flex;flex-direction:column;height:auto;min-height:0;padding:12px;gap:12px;overflow:visible}.workspace{order:2;position:static;align-self:stretch;padding:18px 14px;min-height:560px;border-radius:20px}.workspace-segments{margin:0 -14px 14px;padding-inline:14px}.control-panel{order:1;display:block;position:static;height:auto;max-height:none;overflow:visible}.inspector{order:3;display:block;margin:0;padding:14px}.workspace-header{align-items:flex-start;flex-direction:column}.elevation,.plan-view,.excluded-wall,.repair-needed-wall,.materials-view,.output-summary,.plan-pack,.empty-drawing{min-height:420px}.elevation{height:auto}.elevation,.plan-view{min-width:0}.metric-grid{grid-template-columns:1fr 1fr}.cut-instruction dl{grid-template-columns:1fr}.materials-view{padding:14px}.plan-pack{min-height:0}.pack-cover,.pack-section,.pack-trust,.pack-footer{padding:20px 16px}.pack-identity{grid-template-columns:1fr}.pack-identity dd+dt{margin-top:7px}.override-grid{grid-template-columns:1fr}.draft-banner{margin-top:auto}}@media print{@page{size:A4 portrait;margin:12mm}html,body,#root,.app-shell{min-width:0;background:#fff}.app-shell{display:block}.command-bar,.planner-recovery-boundary,.save-recovery,.project-archive,.task-nav,.control-panel,.inspector,.draft-banner,.skip-link,.view-tabs,.workspace-header,.screen-only,.manipulation-controls,.moulding-controls,.obstacle-boundary-denial,.obstacle-manipulation-status{display:none!important}.planner-layout{display:block;min-height:0}.workspace{padding:0;background:#fff;overflow:visible}.elevation,.plan-view,.materials-view,.output-summary,.plan-pack{border:0;box-shadow:none}.plan-pack{width:100%;border-radius:0;color:#111;font-size:9pt;overflow:visible}.cut-workflow{background:#f4f4f0;border-color:#777;color:#111}.cut-workflow>p,.cut-workflow details,.cut-workflow details span,.cut-workflow-profile-id{color:#333}.pack-cover,.pack-section,.pack-trust,.pack-footer{padding:0}.pack-cover{break-after:page}.pack-cover h2{font-size:30pt}.pack-trust{margin-bottom:8mm;padding:6mm;border:1px solid #777}.pack-section{padding-block:5mm}.pack-section>h3{margin-bottom:4mm;font-size:16pt}.pack-section figure,.fixture-schedule,.pack-trust,.pack-assumptions,.pack-provenance,.pack-footer{break-inside:avoid}.pack-room-plan,.elevation-list figure{break-after:page}.pack-room-plan .plan-view,.pack-elevations .elevation,.pack-elevations .excluded-wall,.pack-elevations .repair-needed-wall{width:100%;max-height:232mm;padding:0}.elevation-list{display:block}.elevation-list figure{padding:0;border:0}.pack-elevations figcaption{display:block}.pack-elevations figcaption span{display:block;margin-top:2mm}.table-scroll{overflow:visible}.pack-materials{break-before:page}.material-schedule,.material-schedule table{break-inside:avoid-page}.pack-geometry table,.pack-materials table{width:100%;min-width:0;table-layout:fixed;font-size:7pt}caption{font-size:12pt}th,td{padding:2mm 1.5mm;overflow-wrap:anywhere}thead{display:table-header-group}tr,.cut-list li{break-inside:avoid}.repair-link{display:none}.print-only{display:block!important}.cut-allocation-print{break-before:page}.cut-allocation-print h4{margin:0 0 5mm;font-size:14pt}.cut-stock-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3mm 6mm;padding:4mm 0;border-bottom:1px solid #bbb;break-inside:avoid-page}.cut-stock-card h5{grid-column:1 / -1;margin:0;font-size:10pt}.cut-stock-card dl{display:grid;grid-template-columns:auto 1fr;align-content:start;gap:1mm 3mm;margin:0;font-size:8pt}.cut-stock-card dd{margin:0}.cut-stock-card>div{font-size:8pt}.cut-stock-card p{margin:2mm 0 0}.pack-footer{margin-top:6mm;padding-top:4mm;border-top:1px solid #999;background:#fff}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
