:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#1b2d4a;background:#fcf7e5;line-height:1.5;font-weight:400;--accent:#23406f;--accent-dark:#162845;--ink:#1b2d4a;--border:#ded2b7;--panel:#fffdf7;--muted:#7b6a57;--surface:#faf3e1;--warm:#b98354;--warm-soft:#fff9e3;--warm-border:#d5b389;--blue:#3f669b;--sky:#eef2e8;--danger:#9b5845}*{box-sizing:border-box}body,html{margin:0;min-width:320px;min-height:100vh;scroll-behavior:smooth;background:radial-gradient(circle at top right,rgba(185,131,84,.21),transparent 24%),linear-gradient(180deg,#fffef5,#fcf6e7 56%,#f3f5e8)}body{color:var(--ink)}button,input,select{font:inherit}button{transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.68}.app-shell{padding:0}.app-header{width:100%;margin:0 0 18px;min-height:76px;display:flex;justify-content:space-between;gap:18px;align-items:center;border:0;background:transparent;padding:14px max(18px,calc((100vw - 1440px) / 2 + 18px))}.app-header h1{margin:0;font-size:1.15rem;line-height:1.2;max-width:520px}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-home-button{border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.brand-home-button:hover:not(:disabled){transform:none}.brand-mark{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:linear-gradient(145deg,#10233d,#23406f 66%,#6f4e37);box-shadow:0 12px 24px rgba(35,64,111,.24),inset 0 1px 0 rgba(255,255,255,.18)}.brand-mark svg{width:34px;height:34px;overflow:visible}.brand-mark path:first-child{fill:none;stroke:#fff8e8;stroke-width:4px;stroke-linejoin:round}.brand-mark-room{fill:none;stroke:#d9e3c7;stroke-width:4px;stroke-linejoin:round;opacity:.72}.brand-mark-divider{fill:none;stroke:#fff8e8;stroke-width:4px;stroke-linecap:round;opacity:.78}.brand-mark-node{fill:#f0b56d}.brand-mark-spark{fill:none;stroke:#162845;stroke-width:2.2px;stroke-linecap:round}.secondary-link{color:inherit;text-decoration:none}#features,#home,#upload{scroll-margin-top:110px}.eyebrow,.upload-kicker{margin:0 0 4px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:800}.workspace-layout{max-width:1440px;margin:0 auto;padding:0 max(18px,calc((100vw - 1440px) / 2 + 18px)) 48px;display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px;gap:18px;align-items:start}.home-page{width:100%}.hero-section{min-height:calc(100vh - 132px);display:grid;grid-template-columns:minmax(0,.98fr) minmax(340px,.62fr);grid-gap:40px;gap:40px;align-items:start;padding:36px max(22px,calc((100vw - 1520px) / 2 + 22px)) 72px}.hero-copy h2{max-width:760px;margin:0;color:var(--ink);font-size:clamp(2.9rem,6.6vw,6.15rem);line-height:.95;letter-spacing:0}.hero-copy p:not(.eyebrow){max-width:620px;margin:22px 0 0;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.primary-link,.secondary-link{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:8px;padding:10px 16px;font-weight:800}.primary-link{border:1px solid transparent;background:linear-gradient(135deg,var(--accent-dark) 0,var(--accent) 100%);color:white;cursor:pointer;box-shadow:0 12px 24px rgba(35,64,111,.22)}.secondary-link{background:rgba(255,250,237,.9);color:var(--accent-dark);cursor:pointer}.hero-visual,.secondary-link{border:1px solid var(--border)}.hero-visual{width:min(100%,560px);justify-self:end;border-radius:8px;padding:14px;background:radial-gradient(circle at top right,rgba(185,131,84,.18),transparent 36%),linear-gradient(180deg,#fffdf6,#f9f2e3);box-shadow:0 28px 70px rgba(22,40,69,.14)}.mini-insights,.mini-toolbar{display:flex;align-items:center;gap:8px}.mini-toolbar{justify-content:space-between;margin-bottom:12px}.mini-toolbar span{width:34px;height:10px;border-radius:999px;background:#e5dcc2}.mini-toolbar strong{margin-left:auto;border-radius:8px;padding:7px 10px;background:var(--warm-soft);color:var(--accent-dark);border:1px solid var(--warm-border);font-size:.88rem}.mini-plan{position:relative;aspect-ratio:1.28;border:4px solid var(--ink);border-radius:8px;overflow:hidden;background:linear-gradient(#e3ecff 1px,transparent 0),linear-gradient(90deg,#e3ecff 1px,transparent 0),#f9fbff;background-size:38px 38px}.mini-cursor-light{position:absolute;width:156px;height:156px;left:50%;top:50%;border-radius:999px;background:radial-gradient(circle,rgba(255,222,124,.68),rgba(255,187,77,.32) 38%,rgba(255,187,77,0) 74%);filter:blur(16px);opacity:0;pointer-events:none;transform:translate(-50%,-50%);z-index:4;transition:left .12s ease,top .12s ease,opacity .22s ease}.mini-cursor-light.is-active{opacity:1}.mini-object,.mini-opening{position:absolute;display:block;z-index:2;transition:left .92s cubic-bezier(.22,1,.36,1),top .92s cubic-bezier(.22,1,.36,1),width .92s cubic-bezier(.22,1,.36,1),height .92s cubic-bezier(.22,1,.36,1),transform .92s cubic-bezier(.22,1,.36,1),opacity .7s ease,background-color .7s ease,border-color .7s ease,box-shadow .7s ease;will-change:left,top,width,height,transform,opacity}.mini-object{border-radius:10px;transform-origin:center}.mini-object--desk{width:58px;height:34px;background:#b9d8f2;border:2px solid var(--blue);box-shadow:0 8px 16px rgba(23,32,47,.1)}.mini-object--table{width:92px;height:62px;border-radius:999px;background:#d7eadc;border:2px solid #76a98a;box-shadow:0 10px 18px rgba(23,32,47,.1)}.mini-object--plant-icon{width:28px;height:34px;display:block}.mini-object--plant-icon svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 4px 8px rgba(23,32,47,.14));transform-origin:50% 78%;animation:mini-plant-drift 5.2s ease-in-out infinite;animation-delay:var(--plant-delay,0s)}.mini-object--zone{width:80px;height:50px;border-radius:16px;background:rgba(23,32,47,.06);border:1px dashed rgba(23,32,47,.18)}.mini-object--band{width:76%;height:18%;border-radius:18px;background:linear-gradient(90deg,rgba(23,32,47,.08),rgba(23,32,47,.03));border:1px solid rgba(23,32,47,.1)}.mini-opening{border-radius:999px}.mini-window{top:-4px;height:8px;background:var(--blue)}.mini-door,.mini-window{box-shadow:0 3px 10px rgba(23,32,47,.08)}.mini-door{width:8px;height:20%;background:#9a6b3f}.mini-scene-pips{display:flex;justify-content:center;gap:8px;margin-top:12px}.mini-scene-pips span{width:10px;height:10px;border-radius:999px;background:#e4dbc1;transition:transform .28s ease,background-color .28s ease,width .28s ease}.mini-scene-pips span.is-active{width:28px;background:var(--accent)}.mini-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.mini-insights span{border-radius:8px;padding:10px;background:var(--surface);color:var(--muted);font-weight:750;text-align:center;transition:transform .42s ease,background-color .42s ease,color .42s ease}.mini-insights span:nth-child(2){transition-delay:90ms}.mini-insights span:nth-child(3){transition-delay:.18s}.feature-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;padding:34px max(18px,calc((100vw - 1440px) / 2 + 18px)) 32px;background:rgba(236,243,239,.58)}.feature-section article{border:1px solid var(--border);border-radius:8px;padding:20px;background:rgba(255,251,240,.96);box-shadow:0 14px 34px rgba(22,40,69,.1)}.feature-section span{color:var(--accent);font-weight:850}.feature-section h3{margin:14px 0 8px;color:var(--ink);font-size:1.35rem}.feature-section p{margin:0;color:var(--muted)}.canvas-column,.sidebar-column{display:grid;grid-gap:20px;gap:20px}.upload-screen{max-width:780px;margin:54px auto 84px}#upload{width:100%;padding:18px 18px 8px;border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(255,251,240,.56),rgba(245,239,220,.92))}.editor-card,.note-card,.panel-card,.upload-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 44px rgba(22,40,69,.1)}.upload-card{padding:42px;text-align:center;border-style:dashed;cursor:pointer}.upload-icon{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:8px;background:var(--sky);color:var(--accent-dark);font-size:2rem;font-weight:500}.editor-card h2,.panel-card h2,.upload-card h2{margin:0;color:var(--ink)}.upload-card p:not(.upload-kicker){max-width:520px;margin:12px auto 22px;color:var(--muted)}.analysis-mode-picker{width:min(100%,420px);margin:0 auto 22px;padding:12px;display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(51,78,104,.18);border-radius:8px;background:rgba(255,251,240,.72);color:var(--muted);cursor:default;text-align:left}.analysis-mode-picker span{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark)}.analysis-mode-picker select{width:100%}.editor-card{padding:16px}.note-card,.panel-card{padding:18px}.editor-header,.score-topline{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}.editor-note{color:var(--muted);max-width:320px;text-align:right;font-size:.92rem}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.editor-toggle-button{min-height:44px;border:1px solid var(--border);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.92);color:var(--accent-dark);font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(23,32,47,.08)}.editor-toggle-button--view{min-width:138px;padding:10px 15px;display:grid;grid-gap:2px;gap:2px;justify-items:start;text-align:left}.editor-toggle-button__eyebrow{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#5d6f8b}.editor-toggle-button--view strong{font-size:.92rem;line-height:1.1}.editor-toggle-button.is-active{background:linear-gradient(135deg,var(--accent) 0,#4a86ff 100%);border-color:transparent;color:#ffffff}.editor-toggle-button.is-active .editor-toggle-button__eyebrow{color:rgba(255,255,255,.82)}.editor-icon-button{width:44px;height:44px;border:1px solid var(--border);border-radius:12px;padding:0;display:grid;place-items:center;background:#ffffff;color:var(--ink);box-shadow:0 10px 24px rgba(23,32,47,.08)}.editor-icon-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.editor-icon{display:inline-flex;align-items:center;justify-content:center}.editor-icon svg{width:20px;height:20px;display:block}.trash-drop-zone{min-width:176px;min-height:48px;padding:9px 14px;display:flex;align-items:center;gap:10px;border:1px dashed #d9b2b2;border-radius:14px;background:#fff5f4;color:#8f3a3a;box-shadow:0 10px 24px rgba(168,59,59,.08);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.trash-drop-zone.is-dragging{border-color:#d88f8f}.trash-drop-zone.is-active{transform:translateY(-1px);border-color:var(--danger);background:#ffe4e4;color:#7f2626;box-shadow:0 14px 30px rgba(168,59,59,.16)}.trash-drop-zone .editor-icon{flex:0 0 auto}.trash-drop-copy{display:grid;grid-gap:2px;gap:2px}.trash-drop-copy strong{font-size:.92rem}.trash-drop-copy span{font-size:.78rem;color:inherit;opacity:.82}.editor-context-slot{min-height:118px;margin-top:14px;display:grid;align-items:stretch;border:1px solid rgba(185,131,84,.12);border-radius:8px;background:radial-gradient(circle at 14% 20%,rgba(255,224,151,.32),transparent 38%),linear-gradient(135deg,rgba(255,251,240,.76),rgba(245,239,220,.56));transition:background .18s ease,border-color .18s ease}.editor-context-slot.has-panel{border-color:transparent;background:transparent}.editor-context-slot>.object-scale-panel,.editor-context-slot>.wall-action-panel{margin-top:0;min-height:100%}.object-scale-panel,.wall-action-panel{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--surface)}.wall-action-copy{display:grid;grid-gap:2px;gap:2px}.wall-action-copy strong{font-size:.92rem}.wall-action-copy small{color:var(--muted);font-weight:700}.wall-delete-button{border:1px solid #d9b2b2;border-radius:8px;padding:9px 12px;background:#fff5f4;font-weight:800}.wall-delete-button,.wall-inline-delete{color:#8f3a3a;cursor:pointer}.wall-inline-delete svg{width:12px;height:12px;display:block}.object-scale-field{display:grid;grid-template-columns:minmax(140px,.32fr) minmax(180px,1fr);grid-gap:12px;gap:12px;align-items:center}.object-scale-field span{display:grid;grid-gap:2px;gap:2px}.object-scale-field strong{font-size:.92rem}.object-scale-field small{color:var(--muted);font-weight:700}.object-scale-reset{border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:#ffffff;color:var(--accent-dark);font-weight:800;cursor:pointer}.object-scale-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.field,.field-row{display:grid;grid-gap:8px;gap:8px}.field{margin-bottom:16px}.field-hint{color:var(--muted);font-size:.8rem;font-weight:700}.field-row{grid-template-columns:repeat(2,1fr);gap:12px}.field input,.field select{width:100%;border:1px solid var(--border);border-radius:8px;padding:11px 12px;background:var(--surface);color:var(--ink)}.primary-button,.secondary-button{width:100%;border:1px solid transparent;border-radius:8px;padding:12px 14px;font-weight:750;cursor:pointer}.primary-button{background:linear-gradient(135deg,var(--accent-dark) 0,var(--accent) 100%);color:white;box-shadow:0 12px 24px rgba(35,64,111,.22)}.secondary-button{background:var(--surface);color:var(--accent-dark);border-color:var(--border);margin-top:10px}.floor-stage-shell{margin-top:12px;border-radius:8px;overflow:hidden;background:#f7faf8;border:1px solid var(--border);width:100%;position:relative}.stage-view-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px 12px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,248,.96));border-bottom:1px solid rgba(35,64,111,.08)}.stage-view-controls__label{display:grid;grid-gap:3px;gap:3px}.stage-view-controls__label span{color:var(--accent-dark);font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.stage-view-controls__label small{color:var(--muted);font-size:.82rem;font-weight:700}.stage-view-controls__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;max-width:min(100%,460px)}.floor-stage-svg{display:block;width:100%;height:auto;touch-action:none}.workspace-object,.workspace-opening{cursor:-webkit-grab;cursor:grab;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease,opacity .18s ease;transform-box:fill-box;transform-origin:center}.workspace-object text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.workspace-object:hover{filter:drop-shadow(0 4px 10px rgba(23,32,47,.14))}.workspace-object.is-selected{filter:drop-shadow(0 0 .25rem rgba(36,99,235,.55)) drop-shadow(0 7px 14px rgba(23,32,47,.16))}.workspace-object--armchair:hover,.workspace-object--chair:hover,.workspace-object--plant:hover{transform:scale(1.05)}.workspace-object--whiteboard:hover{transform:scale(1.025)}.workspace-object--trashcan .trashcan-lid{transform-box:fill-box;transform-origin:12% 50%;transition:transform .18s cubic-bezier(.22,1,.36,1)}.workspace-object--trashcan:hover .trashcan-lid{transform:translate(-1px,-2px) rotate(-28deg)}.workspace-object.is-dragging,.workspace-opening.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;filter:drop-shadow(0 8px 16px rgba(23,32,47,.18))}.zone-marker{cursor:pointer;transition:transform .16s ease,opacity .16s ease,r .16s ease;transform-origin:center}.zone-marker.is-active{animation:zone-pulse 1.4s ease-in-out infinite}.zone-popup{display:grid;grid-gap:8px;gap:8px;width:100%;height:100%;min-height:0;border:1px solid;border-radius:14px;padding:12px;color:var(--ink);box-shadow:0 18px 34px rgba(23,32,47,.14);overflow:hidden}.zone-popup strong{font-size:.95rem}.zone-popup p,.zone-popup small{margin:0;color:#42546f;font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.zone-popup label{display:grid;grid-gap:6px;gap:6px}.zone-popup label span{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#42546f}.zone-popup select{width:100%;border:1px solid rgba(66,84,111,.18);border-radius:10px;padding:8px 10px;background:rgba(255,255,255,.92);color:var(--ink)}.workspace-object--armchair.is-dragging,.workspace-object--chair.is-dragging,.workspace-object--plant.is-dragging{transform:scale(1.08)}.workspace-object--whiteboard.is-dragging{transform:scale(1.04)}.score-badge{min-width:72px;height:56px;border-radius:8px;display:grid;place-items:center;font-size:1.5rem;font-weight:850;background:linear-gradient(135deg,#eef2e9 0,var(--warm-soft) 100%);color:var(--accent-dark);border:1px solid var(--warm-border)}.score-meter{margin-top:16px;height:16px;overflow:hidden;border-radius:4px;background:linear-gradient(180deg,rgba(232,225,204,.96),rgba(215,205,181,.94));border:1px solid rgba(35,64,111,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}.score-meter-fill{height:100%;min-width:0;background:var(--accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);transition:width .22s ease}.score-list{margin:16px 0 0;padding-left:18px;color:var(--muted);font-size:.94rem}.score-advice{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.score-advice-list{margin:10px 0 0;padding-left:18px;color:var(--ink);font-size:.93rem}.score-badge:after{content:"/100";margin-left:2px;font-size:.76rem;font-weight:700;color:var(--accent-dark)}.note-list{margin:12px 0 0;padding-left:18px;color:var(--muted)}.scale-tool-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.scale-tool-actions--modal{margin-top:18px;justify-content:stretch}.scale-tool-actions input{width:110px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.scale-modal{width:min(420px,100%)}.scale-modal-field{display:grid;grid-gap:8px;gap:8px;width:100%}.scale-modal-field span{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.scale-modal-field input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font:inherit;background:rgba(255,255,255,.94);color:var(--ink)}.scale-tool-cancel{min-height:42px}.preview3d-card{overflow:hidden}.preview3d-badge{min-width:72px;height:40px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,#edf0ea,#d8ccb1);color:var(--accent-dark);border:1px solid var(--warm-border);font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.preview3d-copy{margin:12px 0 0;color:var(--muted)}.preview3d-toolbar{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.preview3d-slider{display:grid;grid-gap:8px;gap:8px}.preview3d-slider span{display:flex;justify-content:space-between;gap:12px;font-size:.92rem;font-weight:700;color:var(--ink)}.preview3d-presets{display:flex;flex-wrap:wrap;gap:8px}.preview3d-preset{border:1px solid var(--warm-border);border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.82);color:var(--accent-dark);font-size:.82rem;font-weight:800;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .14s ease}.preview3d-preset:hover{transform:translateY(-1px)}.preview3d-preset.is-active{background:#6f4e37;border-color:#6f4e37;color:#fffaf2}.preview3d-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--accent-dark);font-size:.84rem;font-weight:800}.preview3d-meta span{border:1px solid var(--warm-border);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.72)}.preview3d-shell{margin-top:16px;border-radius:12px;border:1px solid var(--border);background:radial-gradient(circle at top,rgba(255,255,255,.78),rgba(255,255,255,0) 42%),linear-gradient(180deg,#f8f4e9,#ebe0c6);overflow:hidden;min-height:340px}.preview3d-canvas,.preview3d-svg{display:block;width:100%;height:340px!important;pointer-events:auto}.preview3d-canvas canvas{display:block;width:100%!important;height:100%!important;cursor:-webkit-grab;cursor:grab;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.preview3d-canvas canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.preview3d-empty{min-height:340px;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted);font-weight:700}.editor-compass{pointer-events:none}.editor-compass.is-active circle:first-child{stroke:#6f4e37;stroke-width:2.5}.error-banner{margin:0;border-radius:8px;padding:14px 16px;color:#8f1f1f;background:#ffe3e3}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:rgba(23,32,47,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confirm-modal{width:min(460px,100%);border:1px solid var(--border);border-radius:16px;padding:22px;background:linear-gradient(180deg,rgba(255,253,246,.99),rgba(249,242,225,.98));box-shadow:0 28px 70px rgba(22,40,69,.2)}.confirm-modal h2{margin:0;color:var(--ink);font-size:1.35rem}.confirm-modal p:not(.upload-kicker){margin:10px 0 0;color:var(--muted)}.confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:20px}.modal-button{margin-top:0}.loading-screen{position:fixed;inset:0;z-index:40;display:grid;place-items:center;min-height:100dvh;padding:clamp(12px,3vw,24px);overflow:hidden;background:rgba(250,245,229,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overscroll-behavior:contain;touch-action:none}.loading-panel{width:min(520px,calc(100vw - 24px));display:grid;align-content:center;place-items:center;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:8px;padding:clamp(18px,4vw,28px);background:linear-gradient(180deg,rgba(255,253,246,.96),rgba(249,242,225,.96));box-shadow:0 24px 70px rgba(22,40,69,.18);text-align:center}.loading-panel,.loading-visual{max-width:100%;overflow:visible}.loading-visual{position:relative;width:min(360px,100%);height:clamp(130px,34dvh,320px);margin:0 auto clamp(10px,2vh,14px)}.loading-plan{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:min(220px,62vw,82%);aspect-ratio:1.28;margin:0;border:3px solid var(--ink);border-radius:8px;overflow:hidden;background:linear-gradient(#dfd5ba 1px,transparent 0),linear-gradient(90deg,#dfd5ba 1px,transparent 0),#fffbf2;background-size:24px 24px}.loading-float{position:absolute;display:grid;place-items:center;z-index:1;max-width:22%;max-height:22%;padding:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none;opacity:0;filter:blur(.2px);transform:translateY(18px) rotate(var(--float-rotate,0deg)) scale(.88);animation:loading-float 7.4s ease-in-out infinite;animation-delay:var(--float-delay,0s)}.loading-float svg{display:block;overflow:visible;opacity:.22}.loading-room{inset:18% 16% 16% 18%;border:2px solid var(--accent);animation:scan-room 1.8s ease-in-out infinite}.loading-desk,.loading-path,.loading-room{position:absolute;border-radius:6px}.loading-desk{width:24%;height:16%;background:var(--warm)}.loading-desk.desk-a{top:31%;left:27%}.loading-desk.desk-b{right:25%;bottom:28%}.loading-path{left:18%;right:18%;top:50%;height:5px;background:var(--blue);transform-origin:left;animation:trace-path 1.8s ease-in-out infinite}.loading-panel h2{margin:0;color:var(--ink);font-size:clamp(1.25rem,4.8vw,1.7rem);line-height:1.15;overflow-wrap:anywhere}.loading-panel p:not(.eyebrow){max-width:390px;margin:10px auto 0;color:var(--muted);font-size:clamp(.9rem,2.4vw,1rem);line-height:1.4;overflow-wrap:anywhere}.loading-steps{position:relative;height:8px;width:min(220px,100%);margin-top:clamp(14px,3vh,22px);overflow:hidden;border-radius:999px;background:linear-gradient(90deg,#e6dcc4,#f1e6d0 50%,#e6dcc4);box-shadow:inset 0 0 0 1px rgb(111 78 55/.08)}.loading-steps span,.loading-steps:before{position:absolute;top:0;bottom:0;left:0;width:82%;border-radius:inherit;background:linear-gradient(90deg,rgb(176 137 104/0) 0,rgb(176 137 104/.16) 20%,rgb(255 224 151/.76) 46%,var(--accent) 62%,rgb(176 137 104/0) 100%);filter:drop-shadow(0 0 10px rgb(255 224 151/.36));transform:translateX(-110%);animation:loading-bar-flow 2.4s linear infinite}.loading-steps:before{content:"";animation-delay:-1.2s;opacity:.7}@media (max-height:620px){.loading-panel{padding:16px}.loading-visual{height:118px;margin-bottom:8px}.loading-plan{width:min(170px,72%)}.loading-panel p:not(.eyebrow){margin-top:6px}.loading-steps{margin-top:10px}}@media (max-height:460px){.loading-visual{height:72px}.loading-panel h2{font-size:1.08rem}.loading-panel p:not(.eyebrow){font-size:.82rem}.loading-steps{height:6px}}@media (max-height:380px){.loading-panel{padding:12px}.loading-visual{display:none}.loading-steps{margin-top:8px}}@keyframes scan-room{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}@keyframes trace-path{0%{transform:scaleX(.12)}50%{transform:scaleX(1)}to{transform:scaleX(.12)}}@keyframes loading-float{0%,to{opacity:0;transform:translateY(18px) rotate(var(--float-rotate,0deg)) scale(.86)}22%,72%{opacity:.55;transform:translateY(0) rotate(var(--float-rotate,0deg)) scale(.94)}88%{opacity:0;transform:translateY(-10px) rotate(var(--float-rotate,0deg)) scale(.98)}}@keyframes loading-bar-flow{0%{transform:translateX(-110%);opacity:0}12%{opacity:.7}50%{opacity:1}88%{opacity:.7}to{transform:translateX(145%);opacity:0}}@keyframes zone-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}50%{filter:drop-shadow(0 0 10px rgba(36,99,235,.24))}}@keyframes mini-plant-drift{0%,to{transform:translateZ(0) rotate(-2deg)}35%{transform:translate3d(-2px,-2px,0) rotate(2deg)}70%{transform:translate3d(2px,-1px,0) rotate(-1deg)}}.upload-screen .error-banner{position:fixed;top:50%;left:50%;z-index:30;width:min(520px,calc(100vw - 36px));transform:translate(-50%,-50%);border:1px solid #f2b6b6;box-shadow:0 18px 48px rgba(143,31,31,.18);text-align:center}.field-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label strong{min-width:38px;border-radius:8px;padding:2px 8px;background:var(--sky);color:var(--accent-dark);text-align:center}.quick-add-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.work-style-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.quick-add-chip{justify-content:center;background:#eef4ff}.work-style-chip{justify-content:center;border-radius:8px}.work-style-chip.active{border-color:var(--accent);background:var(--accent);color:white}.toggle-button{min-width:72px;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.12);color:#f4f7fb;font-weight:750;cursor:pointer}.toggle-button.active{background:var(--warm-soft);border-color:var(--warm-border);color:var(--accent-dark)}.object-palette{display:flex;flex-wrap:wrap;gap:8px}.object-chip{border:1px solid var(--border);border-radius:999px;padding:8px 11px;background:white;color:var(--ink);font-size:.87rem;font-weight:700;cursor:pointer}.object-chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent-dark)}input[type=range]{accent-color:var(--accent)}@media (max-width:1024px){.hero-section{grid-template-columns:1fr;min-height:auto}.hero-visual{width:min(100%,640px);justify-self:stretch}.feature-section,.workspace-layout{grid-template-columns:1fr}.sidebar-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.app-shell{padding:0}.app-header,.brand-lockup{align-items:stretch}.app-header{display:grid}.hero-section{padding-top:18px}.hero-copy h2{font-size:3rem}.hero-copy p:not(.eyebrow){font-size:1rem}.hero-actions{display:grid}.workspace-layout{padding-bottom:32px}.mini-desk{width:42px;height:28px}.upload-card{padding:26px}.editor-header,.field-row,.score-topline{grid-template-columns:1fr;display:grid}.editor-note{text-align:left}.editor-actions{width:100%;justify-content:flex-start}.object-scale-field,.object-scale-panel{grid-template-columns:1fr}.trash-drop-zone{flex:1 1 220px;min-width:0}.sidebar-column{grid-template-columns:1fr}}