:root{--bg: #f3f1ec;--bg-2: #fbfaf8;--panel: #ffffff;--panel-2: #ffffff;--track: #ece8e1;--line: #e2ded6;--text: #24262b;--text-2: #565b64;--text-3: #8b9099;--accent: #a9743f;--accent-2: #d9a86c;--paper: #fbfaf7;--ink: #3a3d44;--ink-2: #7b808a;--font: "Urbanist", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "Archivo", "Urbanist", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}.app{height:100%;display:grid;grid-template-rows:56px 1fr 92px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:var(--bg-2)}.brand{display:flex;align-items:baseline;gap:10px}.brand-name{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.16em;text-transform:uppercase}.stats{display:flex;gap:22px}.stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.stat-value{font-weight:600;font-variant-numeric:tabular-nums}.stat-label{font-family:var(--display);font-weight:600;color:var(--text-2);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.main{display:grid;grid-template-columns:1fr 320px;gap:16px;padding:16px;min-height:0}.plan-card{background:var(--paper);border-radius:12px;padding:14px;min-height:0;display:flex;border:1px solid var(--line);box-shadow:0 1px 2px #2823190a,0 8px 24px #2823190f}.plan{width:100%;height:100%;font-family:var(--font)}.plan-card-3d{padding:0;overflow:hidden;background:#e9edf1;position:relative}.mouse-hint{position:absolute;right:12px;bottom:10px;display:flex;gap:14px;padding:5px 10px;border-radius:7px;background:#fbfaf8b8;color:var(--text-2);font-size:12px;letter-spacing:.01em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.view3d{width:100%;height:100%;min-height:0}.view3d canvas{display:block;width:100%!important;height:100%!important}.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:auto;min-height:0;box-shadow:0 1px 2px #2823190a,0 8px 24px #2823190f}.options{padding:4px 18px 18px}.option-group{padding:16px 0 18px;border-bottom:1px solid var(--line)}.option-group:last-child{border-bottom:0}.option-group h3{margin:0 0 10px;font-family:var(--display);font-size:16px;text-transform:uppercase;letter-spacing:.16em;color:var(--text);font-weight:600}.option{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:10px;padding:6px 0}.option-label{color:var(--text-2);font-size:14px;font-weight:500}.option-disabled{opacity:.4}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--track);border-radius:9px;padding:3px;gap:3px}.seg{border:0;background:transparent;color:var(--text-2);font:inherit;font-size:13px;font-weight:500;padding:7px 6px;min-height:32px;border-radius:7px;cursor:pointer;line-height:1.2;transition:background .12s,color .12s}.seg:hover:not(:disabled){color:var(--text);background:#ffffff8c}.seg-on,.seg-on:hover:not(:disabled){background:var(--panel-2);color:var(--text);box-shadow:0 1px 2px #2823191f,0 0 0 1px #2823190a}.seg:disabled{cursor:default}.segmented-wrap{grid-auto-flow:row;grid-template-columns:1fr 1fr}.voice-footer{display:flex;align-items:center;gap:16px;padding:0 20px;border-top:1px solid var(--line);background:var(--bg-2);min-width:0}.voicebar{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.orb-button{border:0;background:transparent;padding:0;cursor:pointer;border-radius:50%;flex:none}.orb-button-off{cursor:default;opacity:.38;filter:grayscale(1)}.voicebar-off .voice-title,.voicebar-off .voice-sub{color:var(--text-3)}.orb-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.voice-hint{min-width:0}.voice-title,.voice-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-title{font-weight:600;font-size:17px}.voice-sub{color:var(--text-3);font-size:13px}.view-controls{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:none}.view-extras{display:grid;grid-template-columns:0fr;transition:grid-template-columns .32s cubic-bezier(.2,.8,.2,1),opacity .2s;opacity:0}.view-extras-open{grid-template-columns:1fr;opacity:1}.view-extras-inner{overflow:hidden;min-width:0;display:flex;gap:10px;white-space:nowrap}.view-extras-inner>*{flex:none}.view-seg{grid-auto-columns:minmax(64px,auto)}.view-seg .seg{padding:6px 12px}.orb{position:relative;width:56px;height:56px;flex:none;--orb-a: var(--accent-2);--orb-b: var(--accent);--orb-c: #8d6236;--orb-glow: rgba(217, 168, 108, .35);--orb-speed: 3.2s}.orb-core{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1dc 0%,var(--orb-a) 30%,var(--orb-b) 65%,var(--orb-c) 100%);box-shadow:0 0 24px var(--orb-glow),0 2px 6px #28231926;transition:transform 60ms linear,opacity .3s}.orb-halo{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--orb-a);opacity:.4;animation:breathe var(--orb-speed) ease-in-out infinite}.orb-idle .orb-core{opacity:.85}.orb-connecting{--orb-speed: 1s}.orb-connecting .orb-core{opacity:.7}.orb-ready,.orb-listening{--orb-a: #bfe0ff;--orb-b: #6fa8dc;--orb-c: #2f5f8f;--orb-glow: rgba(111, 168, 220, .4)}.orb-listening{--orb-speed: 1.6s}.orb-thinking{--orb-a: #e9d9ff;--orb-b: #a98bd6;--orb-c: #5a4090;--orb-glow: rgba(169, 139, 214, .45);--orb-speed: .7s}.orb-speaking{--orb-glow: rgba(241, 197, 143, .6);--orb-speed: 1.2s}.orb-error{--orb-a: #ffc9c9;--orb-b: #d96c6c;--orb-c: #7a2e2e;--orb-glow: rgba(217, 108, 108, .4)}@keyframes breathe{0%,to{transform:scale(.92);opacity:.5}50%{transform:scale(1.06);opacity:1}}.wall line{stroke:var(--wall, var(--ink));stroke-width:.67;stroke-linecap:butt}.wall-dashed line{stroke:#9a9ea6;stroke-width:.12;stroke-dasharray:.6 .35}.wall-screen line{stroke:#6f7580;stroke-width:.1;stroke-dasharray:.35 .25}.wall-roofline line{stroke:#b3b7be;stroke-width:.08;stroke-dasharray:1 .5}.post{fill:var(--wall, var(--ink))}.door .leaf{stroke:var(--ink);stroke-width:.12}.door .swing{fill:none;stroke:#a3a7ae;stroke-width:.06}.door-thin .leaf{stroke-width:.08}.window .face{fill:none;stroke:var(--ink);stroke-width:.06}.window .glass{stroke:#5f86a6;stroke-width:.16}.window .sash{stroke:var(--ink);stroke-width:.07}.window .swing{fill:none;stroke:#a3a7ae;stroke-width:.05}.bifold{fill:none;stroke:var(--ink);stroke-width:.08}.opening{stroke:#9a9ea6;stroke-width:.08;stroke-dasharray:.4 .3}.fx{fill:none;stroke:var(--ink-2);stroke-width:.08;stroke-linejoin:round}.fx .fx-fill{fill:#fff}.fx .fx-appliance{fill:#dcdee1}.fx .fx-solid{fill:var(--ink-2);stroke:none}.fx .fx-strong{stroke:var(--ink);stroke-width:.1}.fx .fx-counter{fill:var(--counter, #f9f9f6);stroke:var(--cabinet, var(--counter-stroke, #8a8f99));stroke-width:.18}.fx-faint{stroke:#b0b4bb}.lbl{fill:var(--ink);font-weight:600;letter-spacing:.06em;paint-order:stroke;stroke:var(--paper);stroke-width:.25;stroke-linejoin:round;pointer-events:none}.lbl-muted{fill:var(--ink-2);font-weight:500;letter-spacing:.02em}.room-closet{fill:#f7f4ee}
