:root,:host{--ol-background-color:white;--ol-accent-background-color:#f5f5f5;--ol-subtle-background-color:#80808040;--ol-partial-background-color:#ffffffbf;--ol-foreground-color:#333;--ol-subtle-foreground-color:#666;--ol-brand-color:#0af}.ol-box{box-sizing:border-box;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color);border-radius:2px}.ol-mouse-position{position:absolute;top:8px;right:8px}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;padding:2px;position:absolute;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-align:center;will-change:contents, width;border-top:none;margin:1px;font-size:10px;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{background-color:var(--ol-foreground-color);float:right;z-index:10;width:1px;height:15px}.ol-scale-step-text{z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:10px;position:absolute;bottom:-5px}.ol-scale-text{text-align:center;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);font-size:12px;position:absolute;bottom:25px}.ol-scale-singlebar{z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color);height:10px;position:relative}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{background-color:var(--ol-subtle-background-color);border-radius:4px;position:absolute}.ol-zoom{top:.5em;left:.5em}.ol-rotate{transition:opacity .25s linear,visibility linear;top:.5em;right:.5em}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{top:.5em;right:.5em}.ol-control button{color:var(--ol-subtle-foreground-color);font-weight:700;font-size:inherit;text-align:center;background-color:var(--ol-background-color);border:none;border-radius:2px;width:1.375em;height:1.375em;margin:1px;padding:0;line-height:.4em;text-decoration:none;display:block}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{will-change:transform;font-weight:400;display:block}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color);text-decoration:none}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;flex-flow:row-reverse;align-items:center;max-width:calc(100% - 1.3em);display:flex;bottom:.5em;right:.5em}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);margin:0;padding:1px .5em;font-size:12px}.ol-attribution li{list-style:none;display:inline}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{border-radius:4px 0 0;bottom:0;right:0}.ol-attribution.ol-uncollapsible img{max-height:1.6em;margin-top:-.2em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{height:200px;top:4.5em;left:.5em}.ol-zoomslider button{height:10px;position:relative}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{bottom:.5em;left:.5em}.ol-overviewmap.ol-uncollapsible{border-radius:0 4px 0 0;bottom:0;left:0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);width:150px;height:150px}.ol-overviewmap:not(.ol-collapsed) button{position:absolute;bottom:0;left:0}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}@font-face{font-family:Manrope;src:url(/assets/manrope.ttf)format("truetype");font-weight:200 800;font-style:normal;font-display:swap}.login-page{background:radial-gradient(at 50% 42%,#fff 15%,#f0f3f8 75%);flex-direction:column;align-items:center;min-height:100dvh;padding:32px 48px;display:flex}.login-header{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.login-language{color:var(--muted);align-items:center;gap:8px;display:flex}.login-language select{color:inherit;background:0 0;border:0;padding:10px 0;font-size:13px}.login-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;width:min(100%,432px);margin:auto 0;padding:42px 36px 32px;box-shadow:0 16px 60px #182b4b09}.login-symbol{width:56px;height:56px;color:var(--accent);background:var(--active);border-radius:14px;place-items:center;margin:0 auto 24px;display:grid}.login-card h1{letter-spacing:-.035em;margin:0 0 12px;font-size:27px;font-weight:650}.login-card p{color:var(--muted);margin:0 0 30px;font-size:14px;line-height:1.7}.google-signin{color:#1f1f1f;background:#fff;border:1px solid #747775;border-radius:6px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;font-family:Arial,sans-serif;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.google-signin:hover{background:#f5f7fa}.google-signin[aria-disabled=true]{opacity:.65;cursor:wait}.google-signin svg{flex-shrink:0}.login-card .login-note{margin:18px 0 0;font-size:12px}.login-card .login-error{color:var(--danger);background:var(--bg);border-radius:8px;margin:0 0 20px;padding:12px}.login-footer{text-align:center;color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.6}.account-identity{overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;display:flex}.account-identity small{color:var(--muted);font-size:12px}.account-actions{border-top:1px solid var(--line);padding-top:20px}.auth-notice{background:var(--active);color:var(--ink);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-size:13px;display:flex}.auth-notice a{white-space:nowrap;text-decoration:none}@media (width<=600px){.login-page{gap:32px;padding:20px}.login-card{padding:32px 24px}.login-card h1{font-size:24px}.login-header svg{max-width:150px}}:root{color:#222a36;font-synthesis:none;--bg:#f6f7fa;--surface:#fff;--rail:#eceff4;--soft:#edf0f5;--ink:#222a36;--muted:#596679;--line:#d7dde7;--accent:#245eb7;--active:#dee9fb;--accent-ink:#fff;--danger:#a92f3f;--canvas:#e6ebf2;--shadow:0 8px 30px #182b4b16;--focus:#356ecc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f2f4f7;font-family:Manrope,Segoe UI,sans-serif;font-size:16px}:root[data-theme=dark]{--bg:#11151c;--surface:#1c222d;--rail:#0d1118;--soft:#242c39;--ink:#f1f4fa;--muted:#acb8cb;--line:#343f51;--accent:#9fc7ff;--active:#263c59;--accent-ink:#112239;--danger:#ffadb7;--canvas:#141a24;--shadow:0 8px 30px #00000050;--focus:#9fc7ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button,input,textarea{-webkit-tap-highlight-color:transparent}button{background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,textarea{outline-offset:4px}:focus-visible{outline:2px solid var(--focus)}input,textarea{caret-color:var(--accent)}::selection{background:var(--active);color:var(--ink)}button,input,textarea,nav a{transition:background-color .16s,color .16s,border-color .16s}button:not(:disabled):hover{background-color:var(--soft)}svg{flex-shrink:0}p{color:var(--muted);line-height:1.7}input[type=range]{accent-color:var(--accent);cursor:pointer;width:100%;height:18px;margin:5px 0 0}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0}input[type=color]{cursor:pointer;background:0 0;border:0;width:31px;height:25px;padding:0}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.app{background:var(--bg);height:100dvh;min-height:500px;color:var(--ink);display:flex;overflow:hidden}.button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:8px 12px;font-size:15px;font-weight:650;display:inline-flex}.button:has(svg):not(:has(span)):empty{padding:8px}.button.primary{color:var(--accent-ink);background:var(--accent)}.button.primary:not(:disabled):hover{filter:brightness(1.09);background:var(--accent)}.button.pressed{background:var(--active);color:var(--accent)}.button.danger{background:var(--danger);color:var(--surface)}.full-width{width:100%}.brand{color:var(--ink);align-items:center;gap:9px;display:inline-flex}.brand>span{letter-spacing:-.04em;font-size:32px;font-weight:800;line-height:1}.brand-dot{color:var(--accent)}.brand-button{border-radius:7px;align-items:center;min-height:44px;margin:21px 21px 30px;padding:0;display:flex}.brand-button:hover{background:0 0!important}.sidebar{background:var(--rail);border-right:1px solid var(--line);z-index:15;flex-direction:column;flex-shrink:0;width:252px;display:flex;position:relative}.new-chat{background:var(--surface);border:1px solid var(--line);justify-content:flex-start;height:42px;margin:0 16px 18px;font-size:15px;font-weight:650}.sidebar nav{flex-direction:column;gap:4px;padding:0 16px 22px;display:flex}.sidebar nav button{text-align:left;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:600;display:flex}.sidebar nav button.active{background:var(--active);color:var(--accent)}.sidebar-details{flex-direction:column;flex:1;min-height:0;padding:0 16px;display:flex}.sidebar-label{color:var(--muted);justify-content:space-between;align-items:center;padding:10px 8px 7px;font-size:14px;font-weight:650;display:flex}.sidebar-label .button{height:24px;min-height:24px;padding:4px}.sidebar-label .button svg{width:15px}.project-list{max-height:25vh;margin-bottom:20px;overflow:auto}.project-list button,.conversation-list button{text-align:left;border-radius:7px;align-items:center;gap:9px;width:100%;padding:10px 8px;font-size:15px;display:flex}.project-list button span:not(.tiny-dot),.conversation-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-list button.selected{color:var(--accent);font-weight:650}.tiny-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.conversation-list{min-height:45px;overflow:auto}.conversation-list .current{background:var(--soft)}.conversation-list button{color:var(--muted)}.status-dot{background:#6298d7;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:5px;display:inline-block}.sidebar-bottom{border-top:1px solid var(--line);margin:0 16px;padding-top:10px}.sidebar-bottom>.button{width:100%;color:var(--muted);justify-content:flex-start;gap:12px;padding:8px;font-size:14px}.profile{align-items:center;gap:10px;padding:14px 6px 20px;font-size:15px;font-weight:650;display:flex}.profile small{color:var(--muted);margin-top:3px;font-size:13px;font-weight:400;display:block}.avatar{background:var(--active);width:33px;height:33px;color:var(--accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:grid}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--bg);flex-shrink:0;align-items:center;gap:15px;height:72px;padding:0 28px;display:flex}.project-title{align-items:center;gap:9px;min-width:0;font-size:15px;display:flex}.project-title>svg{color:var(--muted)}.project-title button{text-overflow:ellipsis;white-space:nowrap;text-align:left;align-items:center;gap:10px;max-width:230px;padding:6px 0;display:flex;overflow:hidden}.project-title input{background:var(--surface);border:1px solid var(--line);width:100%;max-width:250px;color:var(--ink);border-radius:6px;padding:7px}.prototype-badge{color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:4px 6px;font-size:12px}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.saved{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;margin-right:15px;font-size:13px;display:flex}.mobile-menu{display:none}.body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.home{flex-direction:column;flex:1;min-width:0;display:flex;overflow:auto}.welcome{width:calc(100% - 52px);margin:auto;padding:55px 0 35px}.welcome-mark{justify-content:center;margin-bottom:28px;display:flex}.welcome-mark svg{width:43px;height:43px}.welcome h1{letter-spacing:-.035em;text-align:center;text-wrap:balance;margin:0;font-size:42px;font-weight:550;line-height:1.35}.welcome h1>span{color:#4b7ec3}.welcome>p{text-align:center;margin:18px 0 34px;font-size:15px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px 12px 9px}.composer-block{min-width:0}.composer-disclaimer{color:var(--muted);text-align:center;overflow-wrap:anywhere;margin:8px 4px 0;font-size:12px;font-weight:400;line-height:1.6}.welcome-composer{border-color:#becbdf;padding:18px 16px 12px;box-shadow:0 6px 24px #1833580b}:root[data-theme=dark] .welcome-composer{border-color:var(--line)}.composer:focus-within{border-color:var(--focus)}.composer textarea{resize:none;width:100%;color:var(--ink);background:0 0;border:0;outline:0;min-height:59px;padding:2px 4px;font-size:15px;line-height:1.7}.composer textarea::placeholder{color:var(--muted)}.composer-actions{align-items:center;gap:9px;display:flex}.composer-actions>.button{width:32px;height:32px;min-height:32px;padding:6px}.composer-actions>span{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:flex}.composer-actions small{border:1px solid var(--line);border-radius:4px;margin-left:2px;padding:1px 4px;font-size:12px}.composer-actions .send{background:var(--accent);color:var(--accent-ink);opacity:1;border-radius:9px;margin-left:auto}.composer-actions .send:disabled{background:var(--active);color:var(--muted)}.suggestions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:17px;display:flex}.suggestions button{border:1px solid var(--line);color:var(--muted);border-radius:7px;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:flex}.home.has-messages{padding:22px 26px}.chat-heading{border-bottom:1px solid var(--line);padding:0 0 20px}.chat-heading h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:650}.messages{flex:1;min-height:0;padding:20px 0;overflow:auto}.conversation-history{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-scroll-bottom.button{z-index:2;border:1px solid var(--line);background:var(--surface);width:36px;height:36px;min-height:36px;color:var(--muted);box-shadow:0 3px 12px color-mix(in srgb, var(--ink) 12%, transparent);border-radius:50%;padding:8px;position:absolute;bottom:10px;left:calc(50% - 18px)}.chat-scroll-bottom.button:hover{background:var(--soft);color:var(--ink)}@media (pointer:coarse){.chat-scroll-bottom.button{width:44px;height:44px;min-height:44px;padding:12px;left:calc(50% - 22px)}}.message{overflow-wrap:anywhere;margin:0 0 25px;font-size:15px;line-height:1.9}.message-copy{white-space:pre-wrap}.message-copy strong{font-synthesis:weight;font-weight:700}.message-table-scroll{border:1px solid var(--line);background:var(--surface);white-space:normal;overscroll-behavior-x:contain;border-radius:8px;max-width:100%;margin:12px 0;overflow-x:auto}.message-table-scroll:focus-visible{outline-offset:-2px}.message-table{border-collapse:collapse;width:100%;font-size:inherit;font-variant-numeric:tabular-nums;line-height:1.6}.message-table th,.message-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;min-width:7rem;padding:10px 12px}.message-table th{background:var(--soft);font-weight:700}.message-table tr>:last-child{border-right:0}.message-table tbody tr:last-child td{border-bottom:0}.message.user{background:var(--soft);border-radius:12px;margin-left:32px;padding:13px 17px}.assistant-label{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;display:flex}.assistant-label svg{width:20px;height:20px}.assistant-label>span:last-child{color:var(--muted);margin-left:auto;font-size:12px}.result-link{border:1px solid var(--line);text-align:left;border-radius:9px;align-items:center;gap:12px;width:100%;margin-top:18px;padding:10px;display:flex}.result-thumbnail{background:#e6edf6;border-radius:5px;flex-shrink:0;width:140px;height:110px;display:block}.result-thumbnail svg{width:100%;height:100%}.result-link strong{font-size:14px;display:block}.result-link small{color:var(--muted);font-size:13px;display:block}.result-link>svg{margin-left:auto}.home-composer{flex-shrink:0;margin-top:auto;padding-top:10px}.composer-note{text-align:center;margin:9px 0 0;font-size:12px}.file-chips{flex-wrap:wrap;gap:7px;margin-bottom:5px;display:flex}.file-chip{border:1px solid var(--line);border-radius:7px;align-items:center;gap:5px;max-width:100%;padding:5px 8px;display:flex}.file-chip>button:not(.button){text-align:left;text-overflow:ellipsis;white-space:nowrap;max-width:170px;padding:2px;font-size:13px;overflow:hidden}.file-chip small{color:var(--muted);font-size:12px;display:block}.file-chip .button{min-height:25px;padding:3px}.file-chip .button svg{width:13px;height:13px}.thinking{color:var(--muted);align-items:center;gap:5px;padding:10px;font-size:13px;display:flex}.thinking span{background:var(--muted);border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite alternate pulse}.thinking span:nth-child(2){animation-delay:.2s}.thinking span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.3}}.editing .sidebar{width:68px}.editing .brand-button{margin:24px auto 30px}.editing .new-chat{justify-content:center;width:40px;margin:0 14px 16px;padding:9px}.editing .new-chat span,.editing .sidebar nav span,.editing .sidebar-details,.editing .sidebar-bottom .button span,.editing .profile>span:not(.avatar){display:none}.editing .sidebar nav{gap:8px;padding:0 10px}.editing .sidebar nav button{padding:12px 14px}.editing .sidebar-bottom{border:0;margin:auto 12px 0}.editing .sidebar-bottom .button{justify-content:center}.editing .profile{padding:16px 4px 21px}.editing .topbar{gap:10px;height:64px;padding:0 20px}.chat-panel{border-right:1px solid var(--line);background:var(--bg);z-index:6;flex-direction:column;flex-shrink:0;width:336px;display:flex}.panel-heading{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:18px 18px 14px;display:flex}.panel-heading>div{align-items:center;gap:8px;display:flex}.panel-heading h2{margin:0;font-size:15px;font-weight:700}.panel-heading .button{min-height:28px;padding:4px}.panel-heading .button svg{width:16px;height:16px}.chat-intro{flex:1;padding:40px 22px 20px;overflow:auto}.intro-symbol{width:47px;height:47px;color:var(--accent);border:1px solid var(--line);border-radius:12px;place-items:center;margin-bottom:23px;display:grid}.chat-intro h3{letter-spacing:-.025em;margin:0 0 12px;font-size:22px;font-weight:600}.chat-intro p{margin:0;font-size:15px;line-height:1.85}.prompt-example{text-align:left;color:var(--muted);border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;margin:23px 0;padding:14px;font-size:14px;line-height:1.7;display:flex}.demo-note{color:var(--muted);font-size:12px}.panel-composer{flex-shrink:0;padding:14px}.panel-composer .composer-actions{gap:3px}.panel-composer .composer-actions>span,.panel-composer .composer-note{font-size:12px}.chat-panel .messages{padding:25px 18px 0}.chat-panel .message.user{margin-left:15px;padding:10px 12px}.chat-panel .result-thumbnail{width:104px;height:90px}.chat-panel .result-link{gap:8px}.chat-panel .result-link strong{font-size:13px}.chat-panel .result-link small{font-size:12px}.canvas-section{--canvas-bottom-inset:max(8px, env(safe-area-inset-bottom,0px));background:var(--canvas);isolation:isolate;flex:1;min-width:0;position:relative;overflow:hidden}.canvas-toolbar{z-index:5;pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;top:20px;left:22px;right:22px}.canvas-toolbar>*{pointer-events:auto}.view-switch{background:var(--surface);box-shadow:var(--shadow);border-radius:9px;gap:3px;padding:4px;display:flex}.view-switch button{color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:8px 11px;font-size:14px;font-weight:600;display:flex}.view-switch .active{color:var(--accent);background:var(--active)}.canvas-actions{gap:7px;display:flex}.canvas-actions>.button{background:var(--surface);box-shadow:var(--shadow);font-size:14px}.canvas-actions>.button.pressed{color:var(--accent)}.scene{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.map-canvas .scene{object-fit:cover}.workspace-canvas{background-color:#f1f2f4;background-image:linear-gradient(#dfe2e6 1px,#0000 1px),linear-gradient(90deg,#dfe2e6 1px,#0000 1px);background-size:24px 24px}.draggable-design{cursor:grab;touch-action:none}.draggable-design:active{cursor:grabbing}.plan-room{cursor:pointer}.plan-room:hover rect{fill:#d8e7fa}.plan-room:focus-visible{outline:none}.plan-room:focus-visible rect{stroke:#245eb7;stroke-width:4px}.canvas-empty{text-align:center;background:var(--surface);width:min(380px,100% - 30px);box-shadow:var(--shadow);border-radius:16px;padding:28px;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.empty-icon{color:var(--accent);justify-content:center;margin:0 0 17px;display:flex}.canvas-empty h2{letter-spacing:-.025em;margin:0 0 10px;font-size:24px;font-weight:600}.canvas-empty p{margin:0 0 23px;font-size:15px}.canvas-empty small{color:var(--muted);margin-top:15px;font-size:12px;display:block}.layers-popover{z-index:9;background:var(--surface);width:240px;box-shadow:var(--shadow);border-radius:11px;padding:19px;position:absolute;top:76px;right:22px}.layers-popover h3{margin:0 0 19px;font-size:15px}.layers-popover fieldset{border:0;border-top:1px solid var(--line);margin:0 0 16px;padding:11px 0 0}.layers-popover legend{color:var(--muted);padding:0 8px 0 0;font-size:13px}.layers-popover label{cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.layers-popover small{color:var(--muted);font-size:12px;line-height:1.6;display:block}.inspector{z-index:4;background:var(--surface);width:260px;box-shadow:var(--shadow);border-radius:12px;max-height:calc(100% - 190px);padding:16px;position:absolute;top:85px;right:22px;overflow:auto}.inspector-heading{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.inspector-heading h3{margin:0;font-size:14px}.inspector-heading .button{min-height:22px;padding:2px}.inspector-heading .button svg{width:14px;height:14px}.inspector-subtitle{color:var(--muted);margin-bottom:10px;font-size:12px;display:block}.dimension-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.number-field>span:first-child{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.number-field>span:last-child{background:var(--soft);border-radius:5px;align-items:center;height:38px;padding:0 7px;display:flex}.number-field input{width:100%;min-width:0;color:var(--ink);appearance:textfield;background:0 0;border:0;padding:3px 0;font-size:14px}.number-field input::-webkit-inner-spin-button{appearance:none}.number-field small{color:var(--muted);margin-left:3px;font-size:12px}.area-line{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;margin:0 0 16px;padding:12px 0;font-size:13px;display:flex}.area-line strong{color:var(--ink);font-weight:600}.range-field{margin:0 0 17px;display:block}.range-field>span{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.range-field output{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.check-row{align-items:center;gap:9px;margin:3px 0 17px;font-size:13px;display:flex}.material-label{justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px;font-size:13px;display:flex}.room-field{color:var(--muted);margin-bottom:18px;font-size:13px;display:block}.room-field input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:5px;margin-top:7px;padding:7px;font-size:14px}.inspector .full-width{padding:8px;font-size:13px}.inspector .full-width svg{width:15px;height:15px}.version-tag{background:var(--soft);border-radius:4px;margin-left:auto;padding:3px 5px;font-size:12px}.canvas-bottom{bottom:var(--canvas-bottom-inset);z-index:5;pointer-events:none;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;left:22px;right:22px}.canvas-bottom>*{pointer-events:auto}.edit-tools,.zoom-tools{background:var(--surface);box-shadow:var(--shadow);border-radius:9px;align-items:center;gap:2px;padding:4px;display:flex}.edit-tools .button,.zoom-tools .button{min-height:32px;padding:7px}.edit-tools svg,.zoom-tools svg{width:16px;height:16px}.tool-divider{background:var(--line);width:1px;height:18px;margin:0 3px}.zoom-tools>span{text-align:center;font-variant-numeric:tabular-nums;min-width:31px;font-size:12px}.asset-tabs{z-index:4;gap:6px;display:flex;position:absolute;top:76px;left:22px}.asset-tabs button{background:var(--surface);color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:8px 11px;font-size:13px;display:flex}.asset-tabs button.active{background:var(--active);color:var(--accent)}.before-banner{z-index:7;color:var(--accent);background:var(--active);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:8px;padding:5px 10px;font-size:13px;display:flex;position:absolute;top:126px;left:22px}.before-banner .button{min-height:25px;padding:5px;font-size:12px}.model-view{position:absolute;inset:0}.model-view canvas{display:block}.model-caption{pointer-events:none;font-size:13px;line-height:1.8;position:absolute;bottom:110px;left:25px}.model-caption span{color:var(--muted);font-size:12px}.image-workspace{flex-direction:column;justify-content:center;gap:16px;display:flex;position:absolute;inset:125px 306px 105px 25px}.image-comparison{aspect-ratio:3/2;width:100%;position:relative;overflow:hidden}.image-comparison img{object-fit:contain;width:100%;height:100%;position:absolute}.image-comparison .image-original{filter:none}.image-comparison>span{background:var(--surface);color:var(--muted);padding:6px 8px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.utility-panel{z-index:11;background:var(--bg);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:354px;display:flex;overflow:auto}.utility-content{padding:20px;overflow:auto}.utility-content>p{margin:0 0 22px;font-size:14px}.version-list{margin:0;padding:0;list-style:none}.version-list li{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:18px 0;display:flex;position:relative}.timeline-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin:6px 3px 0 0}.version-list li>div{overflow-wrap:anywhere;flex:1;min-width:0}.version-list strong{font-size:14px;display:block}.version-list time{color:var(--muted);margin:6px 0;font-size:12px;display:block}.version-list small{color:var(--muted);font-size:12px;display:block}.version-list .button{min-height:28px;margin-left:17px;padding:6px;font-size:13px}.version-list .button svg{width:14px;height:14px}.version-latest{color:var(--muted);align-self:center;margin-left:auto;font-size:12px;display:block}.utility-empty{text-align:center;color:var(--muted);padding:30px 0}.utility-empty h3{font-size:16px}.utility-empty p{font-size:14px}.export-options{flex-direction:column;display:flex}.export-options button{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 2px;display:flex}.export-options button>svg:first-child{color:var(--accent)}.export-options button>svg:last-child{color:var(--muted);margin-left:auto}.export-options strong{font-size:14px;display:block}.export-options small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.export-note{color:var(--muted);align-items:flex-start;gap:9px;margin-top:25px;display:flex}.export-note p{margin:0;font-size:13px}.toast{background:var(--ink);max-width:min(600px,100% - 28px);color:var(--bg);box-shadow:var(--shadow);z-index:40;border-radius:10px;align-items:center;gap:10px;padding:10px 10px 10px 15px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast .button{min-height:28px;color:inherit;padding:4px}.toast .button:hover{background:#ffffff20}.toast .button svg{width:16px;height:16px}.storage-warning{color:#624614;background:#fff0cf;padding:10px 20px;font-size:15px}.storage-warning button{margin-left:10px;font-weight:700;text-decoration:underline}.error-text{color:var(--danger)}dialog{background:var(--surface);color:var(--ink);width:min(420px,100% - 30px);box-shadow:var(--shadow);border:0;border-radius:16px;padding:28px}dialog::backdrop{background:#080e1a99}dialog h2{letter-spacing:-.025em;margin:18px 0 12px;font-size:23px;font-weight:600}dialog p{font-size:15px}.dialog-icon{color:var(--danger)}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.boot-screen{text-align:center;min-height:100vh;color:var(--ink);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.boot-screen>strong{letter-spacing:-.04em;font-size:36px}.boot-screen h1{font-size:26px}.nav-scrim{display:none}@media (width>=1500px){.chat-panel{width:340px}.inspector{width:260px}.welcome{width:calc(100% - 52px)}}@media (width<=1190px){.sidebar{width:200px}.saved>span{display:none}.saved{margin-right:0}.chat-panel{width:280px}.inspector{width:260px;right:14px}.canvas-toolbar,.canvas-bottom{left:14px;right:14px}.utility-panel{width:300px;box-shadow:var(--shadow);position:absolute;top:0;bottom:0;right:0}.image-workspace{right:292px}}@media (width<=950px){.sidebar{width:184px}.brand>span{font-size:28px}.brand-button{margin-left:17px}.topbar{padding:0 18px}.prototype-badge,.wide-label{display:none}.welcome{width:calc(100% - 52px)}.welcome h1{font-size:34px}.chat-panel{width:270px}.inspector{width:252px;top:77px}.canvas-actions .button>span{display:none}.asset-tabs{gap:3px;left:14px}.asset-tabs button{padding:8px;font-size:12px}.canvas-bottom{flex-wrap:wrap}.edit-tools .button,.zoom-tools .button{padding:6px}}@media (width<=760px){.app{min-height:0}.sidebar,.editing .sidebar{z-index:30;width:224px;position:fixed;top:0;bottom:0;left:-240px}.nav-open .sidebar{left:0}.nav-open .nav-scrim{z-index:29;background:#080e1a80;display:block;position:fixed;inset:0}.editing.nav-open .brand-button{margin:21px 21px 30px}.editing.nav-open .new-chat{justify-content:flex-start;width:auto;margin:0 16px 18px}.editing.nav-open .new-chat span,.editing.nav-open .sidebar nav span,.editing.nav-open .sidebar-bottom .button span,.editing.nav-open .profile>span{display:block}.editing.nav-open .sidebar-details{display:flex}.editing.nav-open .sidebar nav{padding:0 16px 22px}.editing.nav-open .sidebar-bottom{margin:0 16px}.editing.nav-open .sidebar-bottom .button{justify-content:flex-start}.editing.nav-open .profile{padding:14px 6px 20px}.mobile-menu{padding:7px;display:inline-flex}.topbar,.editing .topbar{gap:7px;height:59px;padding:0 10px}.project-title{flex:1;gap:6px;font-size:13px}.project-title>svg{display:none}.project-title button{max-width:135px;font-size:13px}.topbar-right{gap:2px}.topbar-right .button{gap:5px;min-height:33px;padding:7px;font-size:13px}.topbar-right .button svg{width:17px;height:17px}.saved{display:none}.chat-toggle{padding:6px}.welcome{width:calc(100% - 36px);padding:35px 0 25px}.welcome-mark{margin-bottom:23px}.welcome h1{font-size:32px}.welcome>p{margin:15px 0 27px;font-size:15px}.suggestions{gap:5px}.suggestions button{gap:4px;padding:8px 7px;font-size:12px}.suggestions svg{width:13px;height:13px}.home.has-messages{padding:22px 18px 14px}.chat-heading h1{font-size:20px}.chat-panel{z-index:12;width:min(316px,100% - 45px);box-shadow:var(--shadow);position:absolute;top:0;bottom:0;left:0}.canvas-toolbar{top:14px;left:12px;right:12px}.view-switch button{padding:7px 9px;font-size:13px}.canvas-actions{gap:5px}.canvas-actions .button{padding:7px}.canvas-actions svg{width:17px;height:17px}.inspector{width:252px;max-height:calc(100% - 200px);padding:18px;top:70px;right:12px}.canvas-bottom{align-items:flex-end;gap:8px;display:flex;left:12px;right:12px}.edit-tools{flex-shrink:0;gap:0}.edit-tools .button{min-height:33px;padding:6px}.zoom-tools{margin-left:auto}.zoom-tools .button{min-height:33px;padding:4px}.zoom-tools>span{min-width:25px;font-size:12px}.zoom-tools .button:last-child{display:none}.asset-tabs{top:70px;left:12px}.before-banner{top:112px;left:12px}.utility-panel{width:min(354px,100%)}.image-workspace{inset:120px 16px 110px}.layers-popover{top:70px;right:12px}.canvas-empty h2{font-size:22px}.canvas-empty{top:45%}.toast{font-size:13px;bottom:15px}.model-caption{bottom:125px;left:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--ease-out:cubic-bezier(.16, 1, .3, 1)}.record-row{align-items:center;gap:2px;display:flex}.record-row>button:first-child{flex:1;min-width:0}.project-list .record-delete,.conversation-list .record-delete{width:32px;min-height:34px;color:var(--muted);flex:0 0 32px;justify-content:center;padding:7px}.record-delete svg{width:15px;height:15px}.record-delete:not(:disabled):hover{color:var(--danger)}.sidebar-bottom .profile{text-align:left;border-radius:8px;width:100%;margin-bottom:12px;padding:12px 6px}.personal-identity{align-items:center;gap:12px;margin:4px 0 32px;display:flex}.personal-identity .avatar{width:44px;height:44px;font-size:14px}.personal-settings h3{margin:0 0 8px;font-size:16px}.personal-settings p{margin-bottom:20px;font-size:14px;line-height:1.7}.appearance-toggle{background:var(--soft);justify-content:flex-start;width:100%;padding:13px}.deletion-name{color:var(--ink);overflow-wrap:anywhere;font-weight:700}body{color:var(--ink);background:var(--bg)}button,a,input,textarea{transition:background-color .16s,color .16s,border-color .16s,box-shadow .18s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible{outline-width:3px}.button{min-height:40px}.primary{font-weight:700}.sidebar-bottom{margin-top:auto}.sidebar nav button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 15%, transparent)}.brand>span{font-weight:700}.topbar{height:76px}.project-title{font-weight:600}.project-title button{gap:8px}.project-title button>svg{opacity:.65;flex-shrink:0}.welcome{width:calc(100% - 52px)}.welcome h1{letter-spacing:-.035em;font-weight:550;line-height:1.22}.welcome>p{font-size:17px}.welcome-mark .brand{color:var(--ink)}.welcome-composer{border-radius:16px;padding:20px;box-shadow:0 14px 45px #142b4a0a}.composer:focus-within{box-shadow:0 4px 20px color-mix(in srgb, var(--accent) 9%, transparent)}.composer textarea{min-height:76px;line-height:1.7}.composer-actions>.button{width:38px;height:38px}.composer-actions small{padding:2px 5px;font-weight:600}.messages{scrollbar-gutter:stable}.message{line-height:1.8}.panel-heading{padding:20px 20px 16px}.panel-heading h2{font-size:16px}.panel-heading .button{min-width:34px;min-height:34px}.chat-panel .message,.chat-panel .result-link strong{font-size:14px}.chat-panel .composer-actions>span{font-size:12px}.panel-composer{padding:16px}.inspector,.layers-popover{border-radius:14px;padding:20px}.inspector{scrollbar-gutter:stable;max-height:calc(100% - 180px);top:85px}.inspector-heading{margin-bottom:12px}.inspector-heading h3{font-size:16px}.inspector-heading .button{min-width:32px;min-height:32px}.inspector-concept{align-items:center;gap:8px;padding:0 0 18px;font-size:13px;display:flex}.version-tag{font-variant-numeric:tabular-nums;padding:4px 6px;font-size:12px}.appearance-fields{border-bottom:1px solid var(--line);margin-bottom:20px}.range-field{margin-bottom:20px}.range-field>span,.range-field output{font-size:13px}.range-field output{font-weight:650}input[type=range]{cursor:pointer;height:24px}.inspector .full-width{min-height:40px;font-size:13px}.number-field input{font-variant-numeric:tabular-nums;font-size:15px}.asset-tabs button,.view-switch button{min-height:38px;font-size:14px}.view-switch{border-radius:11px}.asset-tabs{gap:6px}.utility-content{padding:22px}.utility-content>p{font-size:14px;line-height:1.8}.version-list li{gap:10px;padding:22px 0}.version-list strong{font-size:15px;line-height:1.5}.version-list time,.version-list small,.version-latest{font-size:13px;line-height:1.6}.version-title{align-items:center;gap:6px;display:flex}.version-title strong{min-width:0}.version-title .button{min-width:32px;min-height:32px;color:var(--muted);flex-shrink:0;margin:0;padding:5px}.version-title .button:hover{color:var(--accent);background:var(--active)}.version-title .button svg{width:15px;height:15px}.version-title input{background:var(--soft);width:100%;min-width:0;color:var(--ink);border:1px solid var(--focus);border-radius:5px;padding:6px 8px;font-size:15px}.version-list>li>.button{margin-left:17px;font-size:13px}.version-list>li>div{flex-basis:calc(100% - 24px)}.export-options strong{font-size:15px}.export-options small{line-height:1.6}.edit-tools .button,.zoom-tools .button{min-width:36px;min-height:36px}.zoom-tools>span{min-width:42px;font-size:13px}.image-comparison{border-radius:10px}.image-comparison>span{padding:10px;line-height:1.5}.model-caption{font-size:14px}.model-caption span{font-size:12px}.home{view-transition-name:home}.sidebar{view-transition-name:navigation}.canvas-section{view-transition-name:canvas}.chat-panel{view-transition-name:conversation}.utility-panel{view-transition-name:utility}.inspector{view-transition-name:properties}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-out)}::view-transition-old(root){animation-duration:.18s}::view-transition-new(root){animation-duration:.18s}::view-transition-new(conversation){animation:panel-enter .28s var(--ease-out) both}::view-transition-new(utility){animation:panel-enter .28s var(--ease-out) both}::view-transition-new(properties){animation:panel-enter .28s var(--ease-out) both}::view-transition-old(conversation){animation:.16s both panel-exit}::view-transition-old(utility){animation:.16s both panel-exit}::view-transition-old(properties){animation:.16s both panel-exit}@keyframes panel-enter{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes panel-exit{to{opacity:0;transform:translate(8px)}}.layers-popover,.toast,dialog[open]{animation:panel-enter .22s var(--ease-out)}@media (width<=1190px){.chat-panel{width:300px}.utility-panel{width:354px}}@media (width<=760px){.welcome{width:calc(100% - 36px);padding-top:34px}.welcome h1{font-size:32px}.welcome>p{font-size:15px;line-height:1.7}.welcome-composer{padding:14px}.suggestions button{padding:9px;font-size:13px}.topbar,.editing .topbar{gap:4px;height:64px}.project-title,.project-title button{font-size:13px}.topbar-right .button{min-height:38px;padding:7px;font-size:13px}.export-button>span{display:none}.chat-panel{width:min(336px,100% - 35px)}.canvas-toolbar{top:14px}.canvas-actions>.button{min-width:38px}.view-switch button{padding:7px 9px;font-size:13px}.asset-tabs{top:72px}.asset-tabs button{padding:7px 9px;font-size:13px}.inspector{width:260px;max-height:calc(100% - 230px);top:120px}.utility-panel{width:min(354px,100%)}.image-workspace{inset:128px 16px 145px}.model-caption{bottom:135px}.layers-popover{width:260px}.sidebar,.editing .sidebar{transition:transform .26s var(--ease-out);left:0;transform:translate(-100%)}.nav-open .sidebar{transform:translate(0)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}button,a,input,textarea{transition:color .1s,background-color .1s!important}button:active:not(:disabled){transform:none}}.live-map{z-index:0;touch-action:none;position:absolute;inset:0}.live-map .ol-scale-line{bottom:var(--canvas-bottom-inset);background:var(--surface);color:var(--ink);left:12px}.live-map .ol-scale-line-inner{border-color:var(--ink);color:var(--ink)}.parcel-card{background:var(--surface);border:1px solid var(--line);width:240px;color:var(--ink);box-shadow:var(--shadow);border-radius:14px;padding:20px;font-size:13px;line-height:1.6;position:relative}.parcel-supplement{vertical-align:middle;border:1px solid var(--line);background:var(--soft);color:var(--muted);white-space:nowrap;border-radius:4px;margin-left:5px;padding:0 4px;font-size:12px;font-weight:400;line-height:1.5;display:inline-flex}.parcel-field-note{vertical-align:middle;text-align:left;font-size:12px;font-weight:400;line-height:1.5;display:inline-block}.parcel-card button.parcel-discrepancy{border:1px solid var(--line);background:var(--soft);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:4px;align-items:center;margin-left:5px;padding:1px 5px;font-size:12px;font-weight:400;line-height:1.5;display:inline-flex}.parcel-card button.parcel-discrepancy:hover,.parcel-card button.parcel-discrepancy[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.parcel-field-comparison{z-index:2;overscroll-behavior:contain;background:var(--surface);max-height:calc(100% - 92px);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;white-space:normal;border-radius:8px;padding:10px;position:absolute;top:80px;left:12px;right:12px;overflow-y:auto}.parcel-card button.parcel-comparison-close{float:right;border:1px solid var(--line);background:var(--soft);width:28px;min-height:28px;color:var(--muted);border-radius:4px;margin:0 0 4px 6px;padding:0;font-size:20px;line-height:1}.parcel-field-comparison>span{margin-bottom:5px;display:block}.parcel-field-comparison>span:last-child{margin-bottom:0}.parcel-comparison-heading{font-weight:650}.parcel-comparison-note{color:var(--muted)}.parcel-card h3{margin:8px 0;font-size:21px}.parcel-card p{color:var(--muted);margin:4px 0 12px}.parcel-card strong{font-size:22px;display:block}.parcel-card small{color:var(--muted)}.parcel-card .eyebrow{letter-spacing:.15em;color:var(--accent);font-size:12px}.parcel-close{float:right;background:var(--soft);border-radius:50%;width:30px;height:30px;font-size:24px}.parcel-card dl{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0;font-size:12px;display:grid}.parcel-card dd{text-align:right;margin:0}.parcel-card dt{color:var(--muted)}.map-loading,.map-start{z-index:2;background:var(--surface);box-shadow:var(--shadow);pointer-events:none;border-radius:10px;max-width:280px;padding:14px 18px;position:absolute;top:85px;left:20px}.map-start span{color:var(--muted);margin-top:6px;font-size:12px;display:block}.live-controls{flex-direction:column;gap:12px;display:flex}.live-heading{align-items:center;gap:8px;display:flex}.live-heading h3{margin:0;font-size:15px}.site-summary{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.live-controls label{flex-direction:column;gap:7px;font-size:13px;display:flex}.live-controls select,.live-controls textarea,.composer select{border:1px solid var(--line);background:var(--soft);width:100%;color:var(--ink);font:inherit;border-radius:7px;min-width:0;padding:8px}.live-controls textarea{resize:vertical;line-height:1.6}.live-controls hr{border:0;border-top:1px solid var(--line);width:100%}.control-row,.mask-tools{flex-wrap:wrap;gap:6px;display:flex}.control-row button,.mask-tools button,.search-results button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:6px;padding:7px 10px;font-size:12px}.mask-tools button.pressed{background:var(--active);color:var(--accent)}.facility-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.facility-options label{flex-direction:row;align-items:center;font-size:12px}.composer select{width:auto;font-size:12px}.result-thumbnail img{object-fit:cover;width:100%;height:100%}.layers-popover{width:290px;max-height:calc(100% - 180px);overflow:auto}.layer-row{border-bottom:1px solid var(--line);align-items:center;gap:5px;display:flex}.layer-row label{flex:1;min-width:0;font-size:12px}.layer-row button{white-space:nowrap;color:var(--accent);font-size:12px}.search-results{flex-direction:column;gap:12px;margin-top:14px;display:flex}.search-filters{color:var(--accent);font-size:12px}.search-result{border:1px solid var(--line);border-radius:9px;flex-direction:column;gap:7px;padding:12px;font-size:13px;display:flex}.search-result small,.search-result details{color:var(--muted);font-size:12px}.search-result a{color:var(--accent);text-decoration:none}.job-status{color:var(--accent);font-size:13px;line-height:1.7}.workspace-canvas .live-inspector{max-height:calc(100% - 230px);top:125px}@media (width<=760px){.map-start{max-width:220px;top:125px;left:12px}.live-inspector{max-height:calc(100% - 230px)!important;top:122px!important}.layers-popover{width:min(290px,100% - 24px)}.parcel-card{width:220px;padding:16px}.canvas-bottom{flex-wrap:wrap}.asset-tabs{white-space:nowrap;max-width:calc(100% - 24px);overflow:auto}.prototype-badge{display:none}}.language-settings{margin-top:12px;position:relative}.language-settings>svg{pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.language-settings select.appearance-toggle{appearance:none;background:var(--soft);color:var(--ink);cursor:pointer;background-image:none;border:0;padding-left:41px;display:block}.language-settings select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.live-controls .button{white-space:normal}.personal-settings .appearance-toggle{white-space:normal;height:auto;min-height:42px}.zoom-control{background:var(--surface);box-shadow:var(--shadow);border-radius:9px;margin-left:auto;overflow:hidden}.zoom-control .zoom-tools{box-shadow:none;border-radius:0;margin-left:0}.zoom-level{min-width:54px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;padding:0 7px;font-size:13px;font-weight:650}.zoom-fine{border-top:1px solid var(--line);align-items:center;height:25px;padding:0 13px;display:flex;position:relative}.zoom-fine:before{content:"";background:var(--muted);opacity:.4;pointer-events:none;width:1px;position:absolute;top:6px;bottom:6px;left:50%}.zoom-fine input[type=range]{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:20px;margin:0;position:relative}.zoom-fine input::-webkit-slider-runnable-track{background:var(--line);border-radius:2px;height:3px}.zoom-fine input::-moz-range-track{background:var(--line);border-radius:2px;height:3px}.zoom-fine input::-webkit-slider-thumb{appearance:none;border:2px solid var(--surface);background:var(--accent);width:11px;height:11px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-4px}.zoom-fine input::-moz-range-thumb{border:2px solid var(--surface);background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 1px var(--accent);border-radius:50%}.zoom-fine input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}.generation-countdown{border:1px solid var(--line);background:var(--soft);color:var(--muted);border-radius:8px;margin:12px 0;padding:12px;font-size:12px}.generation-countdown-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.generation-countdown-heading strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.generation-countdown progress{appearance:none;background:var(--line);width:100%;height:5px;accent-color:var(--accent);border:0;border-radius:5px;margin:10px 0;display:block;overflow:hidden}.generation-countdown progress::-webkit-progress-bar{background:var(--line);border-radius:5px}.generation-countdown progress::-webkit-progress-value{background:var(--accent);border-radius:5px;transition:width 1s linear}.generation-countdown progress::-moz-progress-bar{background:var(--accent);border-radius:5px}.generation-countdown small{font-size:12px;line-height:1.5}@media (prefers-reduced-motion:reduce){.generation-countdown progress::-webkit-progress-value{transition:none}}.workflow-context{color:var(--muted);background:var(--soft);border-radius:7px;align-items:center;gap:7px;margin:0 0 6px;padding:7px 10px;font-size:12px;display:flex}.workflow-context span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.workflow-sources{gap:8px;margin-top:12px;display:grid}.workflow-sources .result-link{text-align:left;width:100%}.workflow-image-view{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;overscroll-behavior:contain;position:absolute;inset:130px 24px 90px;overflow:hidden}.workflow-image-view.dragging{cursor:grabbing}.workflow-image-view:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:8px}.workflow-image-view img{transform-origin:50%;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;border-radius:4px;max-width:none;max-height:none;position:absolute;top:50%;left:50%}.image-viewer-error{color:var(--muted);text-align:center;place-items:center;margin:0;font-size:14px;display:grid;position:absolute;inset:0}.zoom-tools .button.image-fit{display:inline-flex}.asset-tabs{max-width:calc(100% - 32px);overflow-x:auto}.asset-tabs button{white-space:nowrap}@media (width>=761px){.workflow-image-view.reserve-layers{right:334px}}.workflow-context .workflow-clear{min-height:24px;color:inherit;background:0 0;border:0;flex-shrink:0;margin-left:auto;padding:2px}.workflow-context .workflow-clear:hover{background:var(--line)}.message-generation{min-width:0;max-width:100%}.message-generation .generation-countdown{margin:10px 0 0}.canvas-bottom>.zoom-control{margin-left:auto}.ai-layer-section{border-top:1px solid var(--line);padding-top:10px}.layers-popover summary{cursor:pointer;color:var(--muted);padding:5px 0;font-size:13px}.conversation-layers{margin-top:8px}.conversation-layers>summary{color:var(--ink);font-weight:500}.conversation-layers>summary span{color:var(--muted);font-weight:400}.layer-empty{padding:9px 0 6px}.parcel-card-actions{float:right;flex-direction:column;align-items:flex-end;gap:4px;margin:0 0 8px 10px;display:flex}.parcel-card-actions .parcel-close{float:none}.parcel-deselect{color:var(--muted);white-space:nowrap;padding:2px 0;font-size:11px;line-height:1.5}.parcel-deselect:hover{color:var(--accent);text-decoration:underline}.project-list .record-rename,.conversation-list .record-rename{width:32px;min-height:34px;color:var(--muted);flex:0 0 32px;justify-content:center;padding:7px}.record-rename:not(:disabled):hover{color:var(--accent)}.name-field{gap:10px;font-size:14px;display:grid}.name-field input{border:1px solid var(--line);background:var(--soft);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:8px;padding:12px}.name-dialog .dialog-actions{flex-wrap:wrap}.layer-row{flex-wrap:wrap;padding:6px 0}.layer-row>label{flex-basis:100%}.layer-actions{flex-wrap:wrap;gap:4px 12px;padding:0 0 5px 23px;display:flex}.layer-actions button{text-align:left;padding:3px 0}.current-location{pointer-events:none;width:20px;height:20px;position:relative}.current-location:before,.current-location:after{content:"";background:#3b82f638;border:2px solid #3b82f6a6;border-radius:50%;animation:2.4s ease-out infinite location-ripple;position:absolute;inset:-8px}.current-location:after{animation-delay:-1.2s}.current-location-dot{z-index:1;background:#3b82f6;border:3px solid #fff;border-radius:50%;position:absolute;inset:2px;box-shadow:0 1px 5px #0f285559}@keyframes location-ripple{0%{opacity:.8;transform:scale(.55)}to{opacity:0;transform:scale(1.7)}}@keyframes location-ripple-gentle{0%{opacity:.65;transform:scale(.8)}to{opacity:0;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.current-location:before,.current-location:after{animation:3.6s ease-out infinite location-ripple-gentle!important}.current-location:after{animation-delay:-1.8s!important}}.zoning-layer-row label{align-items:flex-start;line-height:1.5}.zoning-layer-error{color:var(--danger);margin:0 0 8px 24px;font-size:12px;line-height:1.5;display:block}.layers-popover .overlay-opacity{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:10px;font-size:12px;display:flex}.overlay-opacity input[type=range]{width:100%;accent-color:var(--accent);margin:0}.workflow-sources{grid-template-columns:minmax(0,1fr)}.source-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:12px;min-width:0;padding:10px;display:flex;overflow:hidden}.source-preview{background:var(--soft);cursor:zoom-in;border:0;border-radius:5px;flex:0 0 140px;width:140px;height:110px;padding:0;display:block;overflow:hidden}.source-preview img{object-fit:contain;width:100%;height:100%;display:block}.workflow-sources .source-card .result-link{border:0;border-radius:0;min-width:0;margin:0;padding:0}.source-select-label{color:var(--muted);margin-left:auto;font-size:12px}.source-preview-dialog{box-sizing:border-box;background:#17191d;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:64px 12px 12px;position:fixed;inset:0}.source-preview-dialog iframe{border:0;width:100%;height:100%;display:block}.source-preview-close{color:#fff;background:#33373e;border-radius:50%;width:44px;height:44px;padding:10px;position:absolute;top:12px;right:16px}.source-preview-close:hover{background:#494e57}.chat-panel .source-preview{flex-basis:104px;width:104px;height:90px}.source-card .result-link{flex-wrap:wrap;flex:1}.source-select-label{margin-left:0}.button.chat-toggle{position:relative;overflow:visible}.button.chat-toggle[aria-expanded=false]{background:var(--accent);color:var(--accent-ink)}.chat-toggle[aria-expanded=false]:before,.chat-toggle[aria-expanded=false]:after{content:"";border:1.5px solid var(--accent);border-radius:inherit;pointer-events:none;animation:2.4s ease-out infinite chat-reopen-ripple;position:absolute;inset:-2px}.chat-toggle[aria-expanded=false]:after{animation-delay:-1.2s}@keyframes chat-reopen-ripple{0%{opacity:.65;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes chat-reopen-ripple-gentle{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.chat-toggle[aria-expanded=false]:before,.chat-toggle[aria-expanded=false]:after{animation:3.6s ease-out infinite chat-reopen-ripple-gentle!important}.chat-toggle[aria-expanded=false]:after{animation-delay:-1.8s!important}}.compact-composer .composer{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding:3px 5px;display:grid}.compact-composer .file-chips,.compact-composer .workflow-context,.compact-composer .composer-note{grid-column:1/-1}.compact-composer .file-chips:empty{display:none}.compact-composer .file-chips{max-height:96px;overflow:auto}.compact-composer textarea{white-space:nowrap;text-overflow:ellipsis;grid-column:1;min-width:0;height:44px;min-height:44px;max-height:44px;padding:0 6px;font-size:16px;line-height:44px;overflow:hidden}.compact-composer .composer-actions{grid-column:2;gap:0}.compact-composer .composer-actions>.button{flex-shrink:0;width:44px;height:44px;min-height:44px;padding:11px}.compact-composer[data-expanded=true] .composer{padding:8px}.compact-composer[data-expanded=true] textarea{height:auto;min-height:72px;max-height:min(240px,calc(var(--composer-viewport,100dvh) * .32));white-space:pre-wrap;grid-column:1/-1;padding:6px 4px;line-height:24px;overflow:auto}.compact-composer[data-expanded=true] .composer-actions{grid-column:1/-1}@media (width<=760px){.app:has(.compact-composer[data-expanded=true]){min-height:0;height:var(--composer-viewport,100dvh)}}
