@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600&family=Manrope:wght@400;500;600;700&display=swap";:root{color:oklch(92% .008 100);font-synthesis:none;--chrome-0:oklch(12% .012 210);--chrome-1:oklch(16% .012 205);--chrome-2:oklch(20% .012 205);--line:oklch(28% .012 205);--muted:oklch(66% .012 205);--paper:oklch(96.5% .008 95);--ink:oklch(18% .008 100);--accent:oklch(58% .22 260);--accent-hi:oklch(69% .19 252);--success:oklch(72% .17 154);--amber:oklch(78% .15 78);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius:6px;--ease:cubic-bezier(.25, 1, .5, 1);background:oklch(13% .012 210);font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body,#root{min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}button,textarea{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}svg{stroke-width:1.7px;width:18px;height:18px}.loading-screen{place-content:center;gap:var(--space-4);letter-spacing:.12em;height:100%;font:600 18px Barlow Condensed;display:grid}.loading-screen i{background:linear-gradient(90deg, var(--accent) 45%, var(--line) 45%);width:180px;height:2px}.studio-shell{background:var(--chrome-0);grid-template:58px minmax(0,1fr)/82px minmax(0,1fr) 376px;width:100%;height:100%;display:grid}.topbar{height:58px;padding:0 var(--space-4);border-bottom:1px solid var(--line);background:linear-gradient(100deg, oklch(13% .016 210), var(--chrome-0));grid-column:1/-1;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.brand,.connection{align-items:center;gap:var(--space-4);min-width:0;font-size:12px;display:flex}.brand strong{letter-spacing:.04em;white-space:nowrap;font:600 17px Barlow Condensed}.brand span{padding-left:var(--space-4);border-left:1px solid var(--line);color:oklch(80% .008 100);white-space:nowrap}.brand .saved{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.brand .saved svg{width:14px;color:var(--success)}.view-switch{border:1px solid var(--line);border-radius:var(--radius);background:oklch(10% .01 210);padding:2px;display:flex}.view-switch button{letter-spacing:.04em;background:0 0;border:0;border-radius:4px;min-width:118px;height:34px;font:600 13px Barlow Condensed}.view-switch button[aria-selected=true]{background:var(--accent)}.connection{justify-content:flex-end}.connection>span:first-child{border-radius:50%;width:7px;height:7px}.connection .online{background:var(--success);box-shadow:0 0 0 3px oklch(72% .17 154/.08)}.connection .offline{background:var(--amber)}.connection b{color:var(--muted);font-weight:500}.connection button{background:0 0;border:0;padding:10px}.tool-rail{align-items:stretch;gap:var(--space-1);padding:var(--space-3) var(--space-2);border-right:1px solid var(--line);background:var(--chrome-1);flex-direction:column;grid-area:2/1;display:flex}.tool-rail>button{min-height:58px;padding:var(--space-2) var(--space-1);border-radius:var(--radius);color:var(--muted);transition:background .18s var(--ease), color .18s var(--ease), transform .1s var(--ease);background:0 0;border:0;justify-items:center;gap:5px;font-size:9px;display:grid;position:relative}.tool-rail>button:hover,.tool-rail>button.active{background:var(--chrome-2);color:oklch(95% .005 100)}.tool-rail>button.active:before{content:"";background:var(--accent-hi);width:2px;height:28px;position:absolute;top:15px;left:-8px}.tool-rail .rail-collapse{min-height:44px;margin-top:auto;font-size:15px}.workspace{min-width:0;min-height:0;padding:var(--space-2);background:var(--chrome-1);grid-area:2/2;padding-bottom:104px;position:relative;overflow:hidden}.compatibility{z-index:8;border-radius:var(--radius);color:oklch(92% .04 75);background:oklch(24% .05 75);border:1px solid oklch(63% .14 75);max-width:480px;padding:10px 14px;font-size:11px;position:absolute;top:20px;left:24px}.compatibility strong{margin-right:8px}.viewport-shell{border-radius:var(--radius);background:var(--paper);touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.viewport-shell.mode-pan{cursor:grab}.viewport-shell.mode-pan:active{cursor:grabbing}.viewport-shell.mode-measure{cursor:crosshair}.viewport-shell canvas,.plan-overlay{width:100%;height:100%;position:absolute;inset:0}.plan-overlay{pointer-events:none}.fallback-walls{stroke:var(--ink);stroke-linecap:square}.opening line:first-child{stroke:var(--paper)}.opening line:last-child{stroke:oklch(35% .03 250)}.opening.window line:last-child{stroke:var(--accent)}.furniture rect{fill:oklch(94% .01 90);stroke:oklch(43% .015 100);stroke-width:1.5px;vector-effect:non-scaling-stroke}.furniture text{fill:oklch(35% .01 100);text-anchor:middle;font-size:78px}.room-label text{fill:var(--ink);letter-spacing:8px;font:600 150px Barlow Condensed}.room-label .area{fill:oklch(43% .01 100);font:500 120px Manrope}.room-label circle{fill:none;stroke:var(--accent);stroke-width:32px}.dimension line{stroke:oklch(35% .01 100);stroke-width:12px;vector-effect:non-scaling-stroke}.dimension text{fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:70px;font:500 140px Manrope}.active-measure line{stroke:var(--accent);stroke-width:3px}.active-measure text{fill:var(--accent)}.annotation circle{fill:var(--amber)}.annotation text{fill:var(--ink);font:700 150px Manrope}.viewport-tools{top:var(--space-4);right:var(--space-4);padding:var(--space-1);border:1px solid var(--line);border-radius:var(--radius);background:var(--chrome-1);flex-direction:column;display:flex;position:absolute;box-shadow:0 8px 24px oklch(8% .01 210/.28)}.viewport-tools button{border:0;border-bottom:1px solid var(--line);background:0 0;place-items:center;width:36px;height:36px;display:grid}.viewport-tools button:last-child{border-bottom:0}.viewport-tools button:hover{background:var(--chrome-2)}.scale-bar{left:var(--space-6);bottom:var(--space-6);color:var(--ink);font-variant-numeric:tabular-nums;font-size:10px;position:absolute}.scale-bar span{background:repeating-linear-gradient(90deg, var(--ink) 0 35px, var(--paper) 35px 70px);border:1px solid var(--ink);width:140px;height:6px;margin-bottom:4px;display:block}.gpu-notice{z-index:3;color:oklch(93% .03 75);border-radius:var(--radius);background:oklch(25% .02 70);padding:8px 12px;font-size:10px;position:absolute;bottom:16px;left:16px}.composer{z-index:7;left:var(--space-4);right:var(--space-4);bottom:var(--space-3);height:82px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:oklch(14.5% .013 210/.97);grid-template:auto 1fr/1fr 48px;align-items:center;display:grid;position:absolute;box-shadow:0 12px 32px oklch(7% .01 210/.35)}.composer label{width:1px;height:1px;position:absolute;overflow:hidden}.composer textarea{resize:none;color:oklch(93% .006 100);background:0 0;border:0;grid-column:1;align-self:stretch;padding:9px 8px 0;font-size:13px;line-height:1.45}.composer textarea:focus{outline:0}.composer .send{background:var(--accent);border:0;border-radius:5px;grid-area:1/2/3;place-items:center;width:44px;height:44px;display:grid}.composer .send:disabled{cursor:default;opacity:.35}.composer small{color:var(--muted);font-size:9px;position:absolute;bottom:7px;right:68px}.selection-chip{background:var(--chrome-1);border:1px solid var(--line);border-radius:12px;align-items:center;gap:6px;height:25px;padding:0 10px;font-size:9px;display:flex;position:absolute;top:-27px;left:0}.selection-chip span{background:var(--accent);border-radius:50%;width:7px;height:7px}.review-strip{z-index:8;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:oklch(14.5% .013 210/.97);min-width:540px;padding:6px;display:flex;position:absolute;bottom:112px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px oklch(7% .01 210/.4)}.review-strip span{align-items:center;gap:8px;margin:0 auto 0 8px;font-size:11px;display:flex}.review-strip span svg{color:var(--amber)}.review-strip button,.preview-card button,dialog button{border:1px solid var(--line);background:0 0;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:10px;display:inline-flex}.review-strip .primary,.preview-card .primary{border-color:var(--accent);background:var(--accent)}.review-strip button:disabled{opacity:.35;cursor:not-allowed}.toast{z-index:20;border-radius:var(--radius);background:oklch(30% .09 30);border:1px solid oklch(62% .15 30);align-items:center;gap:12px;padding:10px 14px;font-size:11px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}.toast button{background:0 0;border:0}.rail-toggle{z-index:10;border:1px solid var(--line);border-radius:var(--radius);background:var(--chrome-1);width:40px;height:40px;display:none;position:absolute;top:16px;right:16px}.activity-rail{border-left:1px solid var(--line);background:var(--chrome-1);min-width:0;transition:transform .24s var(--ease), opacity .18s var(--ease);grid-area:2/3;overflow:hidden}.activity-title{height:44px;padding:0 var(--space-4);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;font-size:12px;display:flex}.activity-title>span{color:var(--muted);align-items:center;gap:6px;font-size:9px;display:flex}.activity-title i{background:var(--accent);border-radius:50%;width:6px;height:6px}.activity-list{max-height:calc(100% - 375px);padding:0 var(--space-4);overflow:auto}.activity-list article{padding:var(--space-4) 0;border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;gap:9px;display:grid}.event-icon{border:1px solid var(--line);width:24px;height:24px;color:var(--success);border-radius:50%;place-items:center;display:grid}.event-icon svg{width:12px}.activity-list article strong{text-transform:capitalize;font-size:10px}.activity-list time{float:right;color:var(--muted);font-size:9px}.activity-list p{color:oklch(73% .008 205);text-wrap:pretty;margin:7px 0 0;font-size:10px;line-height:1.55}.preview-card{margin:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.preview-card>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:9px;display:block}.preview-card img{aspect-ratio:16/9;object-fit:cover;border-radius:5px;width:100%}.preview-card>div{gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.rail-footer{margin:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;font-size:9px;display:flex}.rail-footer button{background:0 0;border:0;align-items:center;gap:6px;display:flex}.preview-gallery{background:var(--paper);height:100%;color:var(--ink);padding:40px;overflow:auto}.preview-heading{grid-template-columns:1fr 360px;align-items:end;gap:48px;margin-bottom:32px;display:grid}.preview-heading span{letter-spacing:.12em;color:oklch(48% .02 240);font:600 11px Barlow Condensed}.preview-heading h1{text-wrap:balance;max-width:680px;margin:8px 0 0;font:600 34px/1.1 Barlow Condensed}.preview-heading p{color:oklch(45% .01 100);margin:0;font-size:12px;line-height:1.65}.preview-grid{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.preview-grid figure{border-radius:var(--radius);background:oklch(94% .008 95);border:1px solid oklch(82% .01 100);margin:0;overflow:hidden}.preview-grid img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.preview-grid figcaption{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.preview-grid figcaption div{gap:4px;display:grid}.preview-grid figcaption strong{font-size:12px}.preview-grid figcaption span{color:oklch(48% .01 100);font-size:9px}.preview-grid button{min-height:34px;color:var(--ink);background:0 0;border:1px solid oklch(75% .01 100);border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-size:9px;display:flex}dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--chrome-1);width:min(520px,100vw - 32px);max-height:70vh;color:inherit;padding:0;box-shadow:0 24px 64px oklch(6% .01 210/.7)}dialog::backdrop{background:oklch(6% .01 210/.7)}dialog header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}dialog header span{letter-spacing:.12em;color:var(--muted);font-size:9px}dialog h2{margin:4px 0 0;font:600 24px Barlow Condensed}dialog header button{width:36px;padding:0}dialog .version-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 24px;display:flex}dialog .version-row div{gap:4px;display:grid}dialog .version-row strong{font-size:11px}dialog .version-row span{color:var(--muted);font-size:9px}dialog footer{justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.import-control{border:1px solid var(--line);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 13px;font-size:10px;display:inline-flex}.import-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mobile-review{display:none}@media (width<=1180px){.studio-shell{grid-template-columns:72px minmax(0,1fr)}.activity-rail{z-index:30;width:360px;position:fixed;top:58px;bottom:0;right:0;box-shadow:-16px 0 32px oklch(6% .01 210/.4)}.rail-closed .activity-rail{opacity:0;pointer-events:none;transform:translate(100%)}.rail-toggle{z-index:32;place-items:center;display:grid}.studio-shell:not(.rail-closed) .rail-toggle{right:376px}.brand span:first-of-type{display:none}.workspace{grid-column:2}}@media (width<=720px){.studio-shell{display:block}.topbar{justify-content:space-between;display:flex}.brand span:first-of-type,.brand .saved,.connection span:not(:first-child),.connection b,.connection button{display:none}.view-switch button{min-width:80px}.tool-rail,.activity-rail,.rail-toggle{display:none}.workspace{padding:6px;position:absolute;inset:58px 0 118px}.composer{height:70px;display:grid;position:fixed;bottom:46px;left:6px;right:6px}.composer .selection-chip,.composer small{display:none}.composer textarea{padding-top:5px;font-size:16px}.review-strip{flex-wrap:wrap;min-width:0;position:fixed;bottom:122px;left:6px;right:6px;transform:none}.review-strip span{width:100%;margin-bottom:2px}.review-strip button{flex:1;padding:0 7px}.mobile-review{background:var(--chrome-1);border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:44px;padding:0 12px;font-size:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-review span{color:var(--muted)}.preview-gallery{padding:20px 14px}.preview-heading{margin-bottom:20px;display:block}.preview-heading p{margin-top:12px}.preview-grid{display:block}.preview-grid figure{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
