.ui-select{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:0 10px;border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);text-align:left;cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.ui-select--sm{height:var(--control-sm)}.ui-select--md{height:var(--control-md)}.ui-select--lg{height:var(--control-lg)}.ui-select--pill{border-radius:var(--radius-control)}.ui-select:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border-primary)}.ui-select[data-open]{background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.ui-select:active:not(:disabled){transform:scale(.98)}.ui-select:disabled{opacity:.5;cursor:default}.ui-select__icon{display:inline-flex;flex:none;color:var(--text-secondary)}.ui-select__value{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select__caret{flex:none;color:var(--text-muted);transition:transform var(--dur-base) var(--ease-out)}.ui-select[data-open] .ui-select__caret{transform:rotate(180deg)}.ui-select__caret{margin-left:auto}.ui-select__menu{position:fixed;z-index:var(--z-viewer);overflow-y:auto;box-sizing:border-box;max-width:min(360px,calc(100vw - 16px));padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);outline:none;transform-origin:top left;animation:ui-select-pop var(--dur-base) var(--ease-pop)}.ui-select__menu[data-up]{transform-origin:bottom left}.ui-select__item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--row-h);padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-primary);font:var(--type-ui);cursor:pointer}.ui-select__item[data-active]{background:var(--bg-secondary)}.ui-select__item[data-selected] .ui-select__check{color:var(--accent-primary)}.ui-select__item[aria-disabled=true]{color:var(--text-muted);cursor:default}.ui-select__item-text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.ui-select__item-label{white-space:nowrap}.ui-select__item-desc{margin-top:2px;font-size:12px;font-weight:400;line-height:16px;color:var(--text-muted)}.ui-select__check{flex:none}@keyframes ui-select-pop{0%{opacity:0;transform:scale(.96)}}@media(prefers-reduced-motion:reduce){.ui-select__menu{animation:none}}@layer landing,app;html .caption,html .tab,html .param-group__header,html .param-group__frozen-hint,html .param-category__toggle,html .sync-list__flag,html .checkpoints__latest-title,html .mpicker__heading{text-transform:none;letter-spacing:0}html .caption{font-size:12px}html .tab{font-size:13px}html .param-group__header{font-size:13px;font-weight:500}html .param-category__toggle{font-size:13px;font-weight:600}html .tab{border-bottom-color:transparent;border-radius:var(--radius-sm)}html .tab--on{color:var(--text-primary);font-weight:500;background:var(--bg-tertiary);border-bottom-color:transparent}html .params-colors__swatch--on,html .badge-picker__swatch--on,html .badge-picker__swatch:hover{outline-color:var(--accent-primary)}html .param-pin--on{color:var(--accent-primary)}html .room-list__item--on,html .tbtn--on,html .model-toolbar__btn--active{background:var(--accent-soft);color:var(--accent-primary)}html .tbtn--on:hover:not(:disabled),html .model-toolbar__btn--active:hover{background:color-mix(in srgb,var(--accent-primary) 16%,var(--bg-elevated));color:var(--accent-primary)}html .studio-toolbar__seg .tbtn--on,html .studio-toolbar__seg .tbtn--on:hover:not(:disabled){background:var(--ink-fill);color:var(--text-on-ink)}html .tab__count,html .mp-kpi,html .room-list__area,html .plan-room__area,html .num{font-variant-numeric:tabular-nums}@layer app{:root{--font-sans: "Manrope", system-ui, "Helvetica Neue", Arial, sans-serif;--font-serif: var(--font-sans);--font-mono: var(--font-sans);--font-numeric: var(--font-sans);--bg-primary: #f3f3f3;--bg-secondary: #f0f0f0;--bg-tertiary: #e6e6e6;--bg-elevated: #ffffff;--paper-canvas: #f7f7f7;--text-primary: #111111;--text-secondary: #4a4a4a;--text-muted: #737373;--text-inverse: #ffffff;--border-primary: #c9c9c9;--border-secondary: #e4e4e4;--border-muted: #ededed;--ink-line: #a8a8a8;--accent-primary: #1d3fbb;--accent-primary-hover: #16309a;--accent-secondary: #111111;--accent-soft: #e9eefc;--accent-line: rgba(29, 63, 187, .18);--accent-danger: #b32626;--accent-warning: #8a5200;--accent-success: #2a7046;--danger-soft: #fdecec;--warning-soft: #fdf3e3;--success-soft: #e7f4ec;--accent-saved: #ff3b30;--accent-saved-text: #d6281d;--focus-ring: #1d3fbb;--overlay-bg: rgba(0, 0, 0, .32);--ink-fill: #111111;--text-on-ink: #ffffff;--viewport-ground: #ebebeb;--selection-ring: 0 0 0 2px var(--accent-primary);--radius-none: 0;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-pill: 999px;--radius-card: 10px;--radius-thumb: 6px;--radius-control: 8px;--radius-sheet: 12px 12px 0 0;--edge: 0 0 0 1px rgba(0, 0, 0, .07);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-pill: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .06);--shadow-card: 0 1px 2px rgba(0, 0, 0, .05), 0 4px 16px rgba(0, 0, 0, .06);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .1);--shadow-composer: 0 1px 3px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .08);--shadow-menu: 0 2px 6px rgba(0, 0, 0, .08), 0 12px 32px rgba(0, 0, 0, .12);--shadow-sheet: 0 -4px 24px rgba(0, 0, 0, .12);--shadow-md: var(--shadow-sm);--shadow-float: var(--shadow-pill);--shadow-xl: var(--shadow-menu);--type-display: 700 28px/34px var(--font-sans);--type-title: 600 18px/24px var(--font-sans);--type-heading: 600 14px/20px var(--font-sans);--type-body: 400 14px/20px var(--font-sans);--type-body-strong: 600 14px/20px var(--font-sans);--type-ui: 500 13px/18px var(--font-sans);--type-label: 500 12px/16px var(--font-sans);--type-small: 400 12px/16px var(--font-sans);--type-caption: 500 11px/14px var(--font-sans);--type-number: 600 22px/26px var(--font-sans);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-pop: cubic-bezier(.2, .9, .3, 1.05);--dur-fast: .1s;--dur-base: .16s;--dur-exit: .12s;--dur-view: .32s;--dur-sheet: .24s;--dur-page: .2s;--dur-strip: .2s;--transition-fast: .1s ease;--transition-normal: .15s ease;--transition-slow: .25s ease;--control-sm: 28px;--control-md: 32px;--control-lg: 36px;--control-xl: 40px;--icon-sm: 16px;--icon-md: 18px;--icon-lg: 20px;--header-h: 52px;--row-h: 32px}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 80ms;--dur-exit: 80ms;--dur-view: 0ms;--dur-sheet: 80ms;--dur-page: 80ms;--dur-strip: 80ms}}}@layer app{:root{--z-canvas: 0;--z-canvas-ui: 10;--z-cards: 20;--z-composer: 30;--z-header: 35;--z-menu: 40;--z-sheet: 50;--z-dialog: 60;--z-viewer: 70;--z-toast: 80;--z-tooltip: 90}:root{--bg-primary: #f3f3f3;--bg-secondary: #f0f0f0;--bg-tertiary: #e6e6e6;--bg-elevated: #ffffff;--paper-canvas: #f7f7f7;--text-primary: #111111;--text-secondary: #4a4a4a;--text-muted: #737373;--border-primary: #c9c9c9;--border-secondary: #e4e4e4;--border-muted: #ededed;--ink-line: #a8a8a8;--accent-soft: #e9eefc;--accent-line: rgba(29, 63, 187, .18);--overlay-bg: rgba(0, 0, 0, .32);--ink-fill: #111111;--text-on-ink: #ffffff;--viewport-ground: #ebebeb;--selection-ring: 0 0 0 2px var(--accent-primary);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-control: 8px;--radius-card: 10px;--radius-thumb: 6px;--radius-sheet: 12px 12px 0 0;--edge: 0 0 0 1px rgba(0, 0, 0, .07);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-pill: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .06);--shadow-card: 0 1px 2px rgba(0, 0, 0, .05), 0 4px 16px rgba(0, 0, 0, .06);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .06), 0 12px 32px rgba(0, 0, 0, .1);--shadow-composer: 0 1px 3px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .08);--shadow-menu: 0 2px 6px rgba(0, 0, 0, .08), 0 12px 32px rgba(0, 0, 0, .12);--shadow-sheet: 0 -4px 24px rgba(0, 0, 0, .12);--control-sm: 28px;--control-md: 32px;--control-lg: 36px;--control-xl: 40px;--icon-sm: 16px;--icon-md: 18px;--icon-lg: 20px;--header-h: 52px;--panel-kept-w: 360px;--panel-params-w: 320px;--row-h: 32px;--type-display: 700 28px/34px var(--font-sans);--type-title: 600 18px/24px var(--font-sans);--type-heading: 600 14px/20px var(--font-sans);--type-body: 400 14px/20px var(--font-sans);--type-body-strong: 600 14px/20px var(--font-sans);--type-ui: 500 13px/18px var(--font-sans);--type-label: 500 12px/16px var(--font-sans);--type-small: 400 12px/16px var(--font-sans);--type-caption: 500 11px/14px var(--font-sans);--type-number: 600 22px/26px var(--font-sans)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:where(button,input,select,textarea){font-family:inherit}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app-layout{display:flex;height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.char-count{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.char-count--over{color:var(--accent-danger);font-weight:600}.prompt-limit-hint{font-size:12px;color:var(--accent-danger);margin-top:4px}.logo{height:28px;width:auto;margin-bottom:12px;display:block}.logo--clickable{cursor:pointer;transition:opacity var(--transition-normal)}.logo--clickable:hover{opacity:.7}.canvas-main{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.empty-state h2{font:var(--type-display);letter-spacing:-.02em;margin-bottom:8px;color:var(--text-primary)}.empty-state p{font:var(--type-body);color:var(--text-secondary)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-4);background:var(--bg-primary)}.auth-card{width:100%;max-width:400px;padding:var(--space-8) var(--space-7);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card);text-align:center}.auth-logo{display:block;height:40px;width:auto;margin:0 auto var(--space-1)}.auth-tagline{margin-bottom:var(--space-7);font:var(--type-body);color:var(--text-muted)}.auth-form{display:flex;flex-direction:column;gap:var(--space-3)}.auth-error{text-align:left}.auth-hint{font:var(--type-body);color:var(--text-secondary)}.auth-form .auth-consent{align-items:flex-start;text-align:left}.auth-form .auth-consent input{flex:none;margin-top:2px}.auth-terms{font:var(--type-small);color:var(--text-muted)}.auth-terms a{color:var(--text-secondary);text-decoration:underline}.auth-code-inputs{display:flex;justify-content:center;gap:var(--space-2)}.auth-code-digit{width:40px;height:48px;border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-title);text-align:center;font-variant-numeric:tabular-nums;transition:box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.auth-code-digit:hover:not(:focus):not(:disabled){box-shadow:inset 0 0 0 1px var(--border-primary)}.auth-code-digit:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.auth-code-digit:disabled{opacity:.5}.auth-code-actions{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.auth-password{position:relative}.auth-password .ui-field{padding-right:48px}.auth-password-toggle{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%)}.invite-accept{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);gap:16px;padding:24px;text-align:center}.invite-accept--auth{justify-content:flex-start;padding-top:40px}.invite-accept__heading{font-size:16px;color:var(--text-secondary);margin-bottom:8px}.invite-accept__hint{font-size:14px;color:var(--text-muted)}.invite-accept__error{font-size:14px;color:var(--accent-danger);max-width:360px;line-height:1.5}.invite-accept__btn{padding:0 16px;font-size:13px;font-weight:500;font-family:inherit;background:var(--accent-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-control);cursor:pointer;height:var(--control-lg);transition:background var(--transition-normal)}.invite-accept__btn:hover{background:var(--accent-primary-hover)}.author-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-pill);background:var(--bg-tertiary);color:var(--text-primary);border:0;font-family:var(--font-sans);font-style:normal;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.author-avatar--sm{width:18px;height:18px;font-size:12px}.author-avatar--md{width:28px;height:28px;font-size:13px}.toast-container{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);width:max-content;max-width:min(360px,calc(100vw - 32px));min-height:var(--control-lg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);color:var(--text-primary);font:var(--type-ui);pointer-events:auto;animation:toast-in var(--dur-base) var(--ease-pop)}.toast__action{flex:none;min-height:var(--control-sm);margin:0 -6px 0 var(--space-1);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--accent-primary);font:var(--type-ui);cursor:pointer}.toast__action:hover{background:var(--accent-soft)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media(max-width:600px){.app-main{width:100%}}.blocked-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-viewer);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--bg-primary)}.blocked-screen__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%;max-width:440px;padding:var(--space-8) var(--space-7);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);text-align:center}.blocked-screen__icon{color:var(--accent-danger)}.blocked-screen__title{font:var(--type-title);color:var(--text-primary)}.blocked-screen__text{font:var(--type-body);color:var(--text-secondary)}.blocked-screen__text a{color:var(--text-primary);text-decoration:underline}.blocked-screen__reasons{align-self:stretch;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);background:var(--danger-soft);text-align:left}.blocked-screen__reasons-label{display:block;margin-bottom:var(--space-1);font:var(--type-caption);color:var(--text-secondary)}.blocked-screen__reasons ul{padding-left:var(--space-5);font:var(--type-small);color:var(--text-primary)}}.credits-notice{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--warning-soft);font:var(--type-small);color:var(--text-primary)}.credits-notice__link{margin-left:var(--space-2);padding:0;border:0;background:none;font:inherit;font-weight:700;color:var(--accent-primary);text-decoration:underline;cursor:pointer}.prod-api-badge{position:fixed;left:0;bottom:0;z-index:2147483647;padding:2px 6px;background:var(--accent-danger, #b3261e);color:#fff;font:700 10px/1.4 var(--font-numeric, monospace);letter-spacing:.08em;pointer-events:none;-webkit-user-select:none;user-select:none}
