.app-shell{min-height:100vh;display:flex;flex-direction:column}.site-header{border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,#162033 0%,var(--color-bg) 100%);padding:1rem 0;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header__brand{display:flex;align-items:center;gap:.85rem}.site-header__mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-accent) 0%,#b8942e 100%);color:#1a1200;font-family:Georgia,serif;font-weight:700;font-size:1.15rem;box-shadow:0 4px 12px #d4af3759}.site-header__title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:600;color:var(--color-text);line-height:1.2}.site-header__subtitle{margin:.15rem 0 0;font-size:.8rem;color:var(--color-secondary)}.layout{width:100%;max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;flex:1}.page{display:flex;flex-direction:column;gap:1rem}.page__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.25rem}.page__header h1,.page__title{margin:0;font-size:1.5rem}.page__actions{display:flex;gap:.5rem;flex-wrap:wrap}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.35rem 1.5rem;transition:border-color .2s ease,box-shadow .2s ease}.card:hover{border-color:#94a3b859}.card--alt{background:var(--color-card-alt)}.card--narrow{max-width:420px;margin:2rem auto 0}.card--login{margin-top:1.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.layout--login{max-width:480px;display:flex;align-items:center;justify-content:center;min-height:100vh}.app-shell--login{background:var(--color-bg)}.card h1,.card h2{margin:0 0 .75rem;color:var(--color-text)}.card h2{font-size:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.card--chat h2:before,.card--analysis h2:before,.card--composition h2:before,.card--variants h2:before{color:var(--color-accent);margin-right:.35rem}.card--chat h2:before{content:"◆"}.card--analysis h2:before{content:"✦"}.card--composition h2:before{content:"◇"}.card--variants h2:before{content:"◈"}.form{display:flex;flex-direction:column;gap:1rem}.form h3{margin:0;font-size:1.05rem;color:var(--color-accent)}.form__field{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;color:var(--color-secondary)}.form__field span{font-weight:500;color:var(--color-text)}.form__field input,.form__field textarea,.form__field select{padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;color:var(--color-text);background:#0f172a;transition:border-color .2s ease,box-shadow .2s ease}.form__field input:focus,.form__field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #d4af3733}.form__field input[type=range]{padding:0;accent-color:var(--color-accent);cursor:pointer}.form__field input[type=file]{padding:.5rem;font-size:.85rem}.form__field textarea{resize:vertical;min-height:5rem}button{padding:.6rem 1.15rem;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-accent) 0%,#b8942e 100%);color:#1a1200;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 2px 8px #d4af3740}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #d4af3759}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.55;cursor:default}button.secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border);box-shadow:none}button.secondary:hover:not(:disabled){background:var(--color-card-hover);border-color:var(--color-secondary);box-shadow:none}button.danger{background:transparent;color:var(--color-danger);border:1px solid rgba(239,68,68,.45);box-shadow:none}button.danger:hover:not(:disabled){background:#ef44441f;border-color:var(--color-danger);color:var(--color-danger-hover);box-shadow:none}button.link{background:none;color:var(--color-accent);padding:0;font-weight:600;text-align:left;border:none;box-shadow:none}button.link:hover:not(:disabled){color:var(--color-accent-hover);transform:none;text-decoration:underline}.project-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.85rem}@media(min-width:640px){.project-grid{grid-template-columns:repeat(2,1fr)}}.project-card{margin:0}.project-card__button{width:100%;text-align:left;padding:1.1rem 1.15rem;background:#0f172a;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);box-shadow:none;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.project-card__button:hover:not(:disabled){background:var(--color-card-hover);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.project-card__title{font-family:Georgia,serif;font-size:1.05rem;font-weight:600;color:var(--color-text)}.project-card__desc{margin:0;font-size:.85rem;color:var(--color-secondary);font-weight:400;line-height:1.4}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.list__item{border-bottom:1px solid var(--color-border);padding-bottom:.85rem}.list__item:last-child{border-bottom:none;padding-bottom:0}.chat-message{padding:.75rem 1rem;background:#0f172a;border-radius:var(--radius-sm);border-left:3px solid var(--color-accent)}.chat-message strong{color:var(--color-accent);text-transform:capitalize}.muted{color:var(--color-secondary);font-size:.85rem;margin:.25rem 0 0}.error{color:#fca5a5;font-weight:600;margin:0;padding:.65rem .85rem;background:#ef44441f;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.3)}.result{margin-top:1rem;padding:.85rem 1rem;background:#d4af3714;border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-sm)}code{background:#0f172a;padding:.15rem .4rem;border-radius:4px;font-size:.82rem;color:var(--color-accent);border:1px solid var(--color-border);word-break:break-all}.image-frame{display:inline-block;max-width:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-image);transition:transform .25s ease,box-shadow .25s ease}.image-frame:hover{transform:translateY(-2px) scale(1.01);box-shadow:0 16px 40px #00000080}.image-preview{display:block;max-width:100%;max-height:360px;width:100%;object-fit:contain;background:var(--color-card-alt)}.image-preview--cover{max-height:220px;min-height:140px;object-fit:cover}.image-preview--panel-source,.image-preview--panel-concept{min-height:280px;max-height:none;object-fit:cover}.image-preview--panel-gallery{min-height:140px;max-height:180px;object-fit:cover}.image-preview--panel-visual{min-height:420px;max-height:none;object-fit:cover}.analysis-block{margin-top:1.15rem;padding:1rem 1.1rem;background:#0f172a;border:1px solid var(--color-border);border-radius:var(--radius-md)}.analysis-block:first-child{margin-top:.5rem}.analysis-block h3{margin:0 0 .5rem;font-size:.95rem;color:var(--color-accent);font-family:system-ui,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.suggestions{margin:0;padding-left:1.25rem;color:var(--color-text)}.suggestions li{margin-bottom:.35rem;color:var(--color-secondary)}.suggestions li::marker{color:var(--color-accent)}.prompt-preview{margin:0;padding:.85rem 1rem;background:#162033;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.55;color:var(--color-secondary);white-space:pre-wrap}.card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.workspace-main .card__actions{margin-top:.45rem;gap:.45rem}.empty-state{margin:.5rem 0 0;padding:.85rem 1rem;background:var(--color-card-alt);border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-secondary);font-size:.875rem}.empty-state-card{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:.5rem;padding:.85rem 1rem;background:linear-gradient(180deg,#1e293ba6,#0f172ad9);border:1px dashed rgba(148,163,184,.3);border-radius:var(--radius-md);gap:.25rem}.empty-state-card__icon{font-size:1.4rem;line-height:1;opacity:.65}.empty-state-card__title{margin:.2rem 0 0;font-size:.87rem;font-weight:600;color:var(--color-text)}.empty-state-card__hint{margin:0;font-size:.77rem;color:var(--color-secondary);line-height:1.4;max-width:22rem}.constructor-source-choice{margin-top:.5rem;padding:1.5rem 1.25rem;background:linear-gradient(180deg,#1e293ba6,#0f172ad9);border:1px dashed rgba(148,163,184,.3);border-radius:var(--radius-md);text-align:center}.constructor-source-choice__title{margin:0 0 1.1rem;font-size:.95rem;font-weight:600;color:var(--color-text)}.constructor-source-choice__options{display:flex;align-items:stretch;justify-content:center;gap:1.25rem;flex-wrap:wrap}.constructor-source-choice__option{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:15rem;padding:1rem;border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-sm);background:#0f172a59}.constructor-source-choice__icon{font-size:1.6rem;line-height:1}.constructor-source-choice__label{margin:0;font-size:.85rem;font-weight:600;color:var(--color-text)}.constructor-source-choice__option .form{width:100%}.constructor-source-choice__divider{align-self:center;color:var(--color-secondary);font-size:.8rem}.constructor-source-choice__template-btn{width:100%;margin-top:auto}.project-status{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.18rem .5rem;border-radius:999px;flex-shrink:0;line-height:1.2}.project-status--new{background:#94a3b82e;color:#94a3b8;border:1px solid rgba(148,163,184,.35)}.project-status--in_progress{background:#fbbf241f;color:#fbbf24;border:1px solid rgba(251,191,36,.35)}.project-status--ready{background:#34d3991f;color:#34d399;border:1px solid rgba(52,211,153,.35)}.workspace-shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;max-height:100vh;overflow:hidden;background:var(--color-bg);position:relative}.workspace-main-column{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.workspace-topbar{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.5rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0}.workspace-topbar__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0}.workspace-topbar__disclaimer{margin:0;padding:.35rem .65rem;font-size:.78rem;line-height:1.35;color:var(--color-secondary);background:color-mix(in srgb,#f59e0b 12%,var(--color-card));border:1px solid color-mix(in srgb,#f59e0b 35%,var(--color-border));border-radius:var(--radius-sm)}.workspace-topbar__title{margin:0;font-family:Georgia,serif;font-size:1rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.workspace-topbar__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;min-width:0;margin-left:auto}.workspace-topbar__cta{flex-shrink:0;white-space:nowrap}.workspace-commercial-status{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.2;border:1px solid var(--color-border);background:var(--color-card-alt);color:var(--color-secondary);white-space:nowrap}.workspace-commercial-status--draft{border-color:color-mix(in srgb,var(--color-secondary) 35%,var(--color-border))}.workspace-commercial-status--ready_for_quote{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));color:var(--color-accent)}.workspace-commercial-status--quote_issued{border-color:color-mix(in srgb,#34d399 45%,var(--color-border));color:#34d399}.workspace-cost-strip{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem 1rem;border-top:1px solid var(--color-border);background:var(--color-card-alt)}.workspace-cost-strip--collapsed{min-height:2.5rem}.workspace-cost-strip__summary{display:flex;align-items:baseline;gap:.5rem;min-width:0}.workspace-cost-strip__label{font-size:.82rem;font-weight:600;color:var(--color-text)}.workspace-cost-strip__total{font-size:.92rem;font-weight:700;font-family:Georgia,serif}.workspace-cost-strip__meta{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.workspace-cost-strip__positions{font-size:.75rem}.workspace-cost-strip__warnings{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.workspace-cost-strip__badge{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.2;border:1px solid var(--color-border);white-space:nowrap}.workspace-cost-strip__badge--pending{border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.workspace-cost-strip__badge--stale{border-color:color-mix(in srgb,#f59e0b 45%,var(--color-border));color:#f59e0b;background:color-mix(in srgb,#f59e0b 8%,transparent)}.workspace-cost-strip__badge--error{border-color:color-mix(in srgb,#f87171 45%,var(--color-border));color:#f87171;background:color-mix(in srgb,#f87171 8%,transparent)}.workspace-cost-strip--expanded{flex-direction:column;align-items:stretch;padding:0}.workspace-cost-strip--expanded .workspace-cost-strip__summary{padding:.45rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid var(--color-border)}.workspace-cost-strip--expanded .workspace-cost-strip__meta{padding:.3rem 1rem .45rem}.workspace-cost-strip__summary[role=button]:hover{background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.workspace-cost-strip__toggle{margin-left:auto;font-size:.65rem;opacity:.55;flex-shrink:0}.workspace-cost-strip__divider{border-top:1px solid var(--color-border)}.workspace-cost-strip__lines{padding:.5rem 0 0}.estimate-table{width:100%;border-collapse:collapse;font-size:.78rem;table-layout:fixed}.estimate-table thead th{padding:.2rem .75rem;text-align:left;font-size:.7rem;font-weight:600;color:var(--color-muted, #888);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border)}.estimate-table__col-name{width:45%}.estimate-table__col-qty{width:10%;text-align:center}.estimate-table__col-price{width:22%;text-align:right}.estimate-table__col-total{width:23%;text-align:right}.estimate-table thead .estimate-table__col-qty,.estimate-table thead .estimate-table__col-price,.estimate-table thead .estimate-table__col-total{text-align:right}.estimate-table__row td{padding:.35rem .75rem;vertical-align:top;line-height:1.3}.estimate-table__row:not(:last-child) td{border-bottom:1px solid color-mix(in srgb,var(--color-border) 50%,transparent)}.estimate-table__col-qty{text-align:center}.estimate-table__col-price{text-align:right;color:var(--color-muted, #888)}.estimate-table__col-total{text-align:right;font-weight:600}.estimate-table__title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.estimate-table__sku{display:block;font-size:.7rem;margin-top:.1rem}@keyframes estimate-row-enter{0%{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}to{background:transparent}}.estimate-table__row--new td{animation:estimate-row-enter .65s ease-out forwards}.workspace-toast{position:absolute;right:1rem;bottom:1rem;z-index:50;max-width:min(420px,calc(100vw - 2rem));padding:.65rem .85rem;border-radius:var(--radius-md);background:var(--color-card);border:1px solid var(--color-border);box-shadow:var(--shadow-md);font-size:.82rem;line-height:1.35}.workspace-ai-analysis .analysis-block h4{margin:0 0 .35rem;font-size:.78rem;font-weight:600;color:var(--color-secondary)}.client-context-drawer__toggle{position:fixed;top:.85rem;right:.85rem;z-index:46;margin:0;padding:.45rem .85rem;border-radius:999px;background:var(--color-card-alt);color:var(--color-text);font-size:.8rem;font-weight:600;box-shadow:var(--shadow-md)}.client-context-drawer__toggle:hover:not(:disabled){background:var(--color-card-hover);transform:none}.client-context-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);z-index:45;background:var(--color-card);border-left:1px solid var(--color-border);box-shadow:var(--shadow-md);transform:translate(100%);transition:transform .18s ease;pointer-events:none}.client-context-drawer--open{transform:translate(0);pointer-events:auto}.client-context-drawer__content{height:100%;overflow-y:auto;padding:3.25rem 1rem 1rem;display:flex;flex-direction:column;gap:.65rem}.workspace-sidebar{display:flex;flex-direction:column;gap:.85rem;padding:1.25rem 1rem;background:var(--color-sidebar);border-right:1px solid var(--color-border);min-height:0;height:100%;max-height:100%;overflow:hidden;position:relative;z-index:30}.workspace-sidebar__rail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.workspace-sidebar__rail-toggle{display:none;flex-shrink:0;width:2rem;min-width:2rem;height:2rem;padding:0;font-size:1rem;line-height:1}.workspace-sidebar__brand{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border);min-width:0;flex:1}.workspace-sidebar__brand-text{min-width:0}.workspace-sidebar__search{margin:0}.workspace-sidebar__new{width:100%}.workspace-sidebar__create{padding:1rem}.workspace-sidebar__projects{flex:1;overflow-y:auto;min-height:0;padding-right:.15rem}.sidebar-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.sidebar-project{width:100%;text-align:left;padding:.75rem .85rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text);box-shadow:none;display:flex;flex-direction:column;gap:.2rem;transition:background .2s ease,border-color .2s ease}.sidebar-project:hover:not(:disabled){background:var(--color-card);border-color:var(--color-border);transform:none;box-shadow:none}.sidebar-project--active{background:var(--color-card);border-color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent)}.sidebar-project--active:hover:not(:disabled){border-color:var(--color-accent)}.sidebar-project__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;width:100%}.sidebar-project__title{font-family:Georgia,serif;font-size:.95rem;font-weight:600;color:var(--color-text)}.sidebar-project__desc{font-size:.78rem;color:var(--color-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workspace-sidebar__footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:.35rem}.workspace-sidebar__manager{margin:0;font-weight:600;color:var(--color-text)}.workspace-sidebar__logout{width:100%;margin-top:.35rem}.workspace-main{flex:1;min-height:0;padding:.65rem 1rem;overflow:hidden;display:flex;flex-direction:column;min-width:0}.workspace-main--scrollable{overflow-y:auto}.workspace-panel{padding:.85rem .85rem 1.25rem;background:var(--color-sidebar);border-left:1px solid var(--color-border);overflow-y:auto;overflow-x:hidden;min-width:0;min-height:0;height:100%;max-height:100%}.workspace-sections{display:flex;flex-direction:column;gap:.65rem;flex:1;min-height:0;overflow:hidden}.workspace-main .card.workspace-section{padding:.85rem 1rem}.workspace-main .card.workspace-section h2{font-size:1.05rem;margin-bottom:.45rem;padding-bottom:.35rem;line-height:1.3}.workspace-section h1.workspace-project-title{margin:0 0 .5rem;font-size:1.65rem}.panel-project-summary{margin-bottom:.65rem}.panel-project-card{padding:.55rem .65rem;background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.panel-project-card__title{margin:0 0 .35rem;font-family:Georgia,serif;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.panel-project-card__meta{margin:0;font-size:.75rem;line-height:1.4;color:var(--color-secondary)}.panel-project-card__meta+.panel-project-card__meta{margin-top:.15rem}.panel-project-card__status-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin:.4rem 0 .5rem}.panel-project-card__gen-status{font-size:.72rem}.panel-project-card__btn{width:100%;margin-top:.15rem}.client-card--compact .form--compact{gap:.55rem}.client-form-grid{display:grid;gap:.55rem}.client-form-grid__full{grid-column:1 / -1}.compact-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.compact-textarea{min-height:2.5rem;resize:vertical}.client-card--compact .form__field input,.client-card--compact .form__field textarea{padding:.45rem .65rem;font-size:.85rem}.client-card--compact .form__field span{font-size:.8rem}.client-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;align-items:start}.client-workspace-grid>.workspace-section{min-width:0}.client-context-drawer .client-workspace-grid{grid-template-columns:1fr}.chat-card--compact .workspace-chat-list--compact{max-height:220px;overflow-y:auto}.chat-card--compact .chat-form-wrap .form{gap:.5rem}.chat-card--compact .chat-form-wrap textarea{min-height:2.5rem;resize:vertical;padding:.45rem .65rem;font-size:.85rem}.chat-card--compact .chat-form-wrap .form__field span{font-size:.8rem}.workspace-chat-list--compact{margin-top:.5rem}.workspace-chat-list--compact .list__item{padding:.35rem 0}.chat-message--compact{padding:.45rem .65rem;font-size:.85rem;line-height:1.45}.chat-message__time{margin:.2rem 0 0;font-size:.75rem}.compact-btn{padding:.45rem .85rem;font-size:.85rem}.workspace-chat-list{margin-top:1rem}.variant-cards{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.55rem}.variant-cards__hint{margin:.35rem 0 0;font-size:.8rem}.variant-card{display:flex;flex-direction:column;gap:.25rem;padding:.45rem;background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s ease,box-shadow .2s ease}.variant-card--compact{max-height:none}.variant-card--expanded{grid-column:1 / -1;border-color:var(--color-accent);box-shadow:0 8px 28px #00000047;background:var(--color-card)}.variant-card--selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.variant-card--expanded.variant-card--selected{box-shadow:inset 0 0 0 1px var(--color-accent),0 8px 28px #00000047}.variant-card--selectable{cursor:pointer}.variant-card--selectable:hover{border-color:#d4af3773}.variant-card__header-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.variant-card__selected-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.65rem;font-weight:600;line-height:1.3;color:var(--color-accent);border:1px solid rgba(212,175,55,.45);background:#d4af371f;flex-shrink:0}.variant-card__label{margin:0;font-weight:600;color:var(--color-accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.variant-card__image-toggle{display:block;width:100%;padding:0;margin:0;border:none;background:transparent;cursor:pointer;box-shadow:none;text-align:left}.variant-card__image-toggle:hover:not(:disabled){transform:none;box-shadow:none}.variant-card__image-toggle .image-frame{width:100%;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0f172a;height:140px;min-height:130px;max-height:150px}.variant-card--expanded .variant-card__image-toggle .image-frame{height:auto;min-height:420px;max-height:520px}.variant-card .image-preview{max-height:none}.variant-card__image{display:block;width:100%;background:#0f172a}.variant-card__image--thumbnail{width:100%;height:100%;max-height:150px;object-fit:contain}.variant-card__image.variant-card__image--thumbnail{max-height:150px;min-height:0;height:100%}.variant-card__meta-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem;flex-wrap:wrap}.variant-card__date{margin:0;font-size:.68rem}.variant-card__badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:600;line-height:1.3;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-secondary)}.variant-card__badge--success{color:#34d399;border-color:#34d39959;background:#34d3991a}.variant-card__badge--failed{color:#fca5a5;border-color:#ef444459;background:#ef44441a}.variant-card__badge--pending{color:#fbbf24;border-color:#fbbf2459;background:#fbbf241a}.variant-card__prompt{margin:.15rem 0 0;font-size:.72rem;color:var(--color-secondary);line-height:1.45}.variant-card__image--expanded{width:100%;max-height:520px;height:auto;object-fit:contain}.variant-card__image.variant-card__image--expanded{max-height:520px;height:auto}.welcome-screen{max-width:560px;margin:3rem auto;padding:2rem 2.25rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.welcome-screen h1{margin:0 0 1rem;font-size:1.5rem}.welcome-screen p{margin:0 0 1.5rem;color:var(--color-secondary);line-height:1.6}.panel-block{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.panel-block h2{margin:0 0 .55rem;font-size:.9rem;font-family:Georgia,serif;color:var(--color-text);padding-bottom:.35rem;border-bottom:1px solid var(--color-border)}.panel-photos-compact .empty-state-card{padding:.5rem .65rem}.panel-photo-thumb{margin-top:.45rem}.panel-photo-thumb .image-frame{width:100%;max-width:120px;height:72px;display:flex;align-items:center;justify-content:center;background:#0f172a;border-radius:var(--radius-sm);overflow:hidden}.panel-thumb-image{width:100%;height:72px;max-height:72px;object-fit:contain;background:#0f172a}.panel-photo-thumb__date{margin:.25rem 0 0;font-size:.72rem}.panel-photo-thumb__hint{margin:.15rem 0 0;font-size:.68rem}.panel-block:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.workspace-panel .panel-block h2{margin:0 0 .55rem;font-size:.9rem;padding-bottom:.35rem}.panel-media-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.panel-media-item{margin:0}.workspace-panel__sheet-btn{width:100%}.visualization-workspace-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:1rem;align-items:start}.visualization-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:1.25rem;align-items:start;min-height:60vh}.visualization-workspace__preview{min-height:360px;display:flex;align-items:center;justify-content:center;background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.5rem}.visualization-workspace__preview .image-frame{width:100%}.visualization-workspace__preview .image-preview,.visualization-workspace__preview-image{display:block;width:100%;min-height:360px;max-height:70vh;object-fit:contain;background:var(--color-card-alt)}.visualization-workspace__preview .image-preview--panel-source{min-height:360px;max-height:70vh;object-fit:contain}.visualization-history-preview{width:100%;display:flex;flex-direction:column;gap:.55rem;align-items:stretch}.visualization-history-preview__hint{margin:0;padding:.45rem .6rem;font-size:.78rem;line-height:1.4;color:var(--color-secondary);background:#facc1514;border:1px solid rgba(250,204,21,.2);border-radius:var(--radius-sm)}.visualization-history-preview__edit{align-self:flex-start}.visualization-workspace__preview .image-frame.workspace-placement-viewport{display:flex;width:100%;max-width:100%;align-self:stretch}.workspace-placement-viewport{width:100%;min-height:360px;max-height:70vh;overflow:hidden;display:flex;align-items:center;justify-content:center;line-height:0}.workspace-placement-stage{position:relative;flex-shrink:0}.workspace-placement-stage__source{display:block;width:100%;height:100%}.workspace-placement-stage__source--loading{width:100%;min-height:360px;max-height:70vh;object-fit:contain}.workspace-placement-stage__overlay-box{position:absolute;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;border:1px solid rgba(56,189,248,.35);border-radius:var(--radius-sm)}.workspace-placement-stage__overlay-box--static{cursor:pointer;border-color:transparent}.workspace-placement-stage__overlay-box--hover{border-color:#38bdf84d;box-shadow:0 0 0 1px #38bdf81f,0 0 8px #38bdf814;transition:border-color .12s,box-shadow .12s}.workspace-placement-stage__overlay-box--active{border-color:#38bdf880;box-shadow:0 0 0 1px #38bdf82e,0 0 10px #38bdf81f}.workspace-placement-stage__overlay-box--dragging{cursor:grabbing;border-color:#38bdf8bf;background:#38bdf80f}.workspace-placement-stage__overlay-shadow{position:absolute;pointer-events:none;border-radius:999px;background:radial-gradient(ellipse at center,#00000073,#00000042 45%,#0000 75%);filter:blur(5px);opacity:.35}.workspace-placement-stage__overlay-image{position:absolute;pointer-events:none;transform-origin:center center;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 10px 12px rgba(0,0,0,.35))}.workspace-placement-stage__overlay-placeholder{position:absolute;pointer-events:none;display:flex;align-items:center;justify-content:center;font-size:clamp(1.5rem,8cqw,4rem);background:#1e293b8c;border:1.5px dashed rgba(148,163,184,.45);border-radius:var(--radius-sm);box-sizing:border-box;-webkit-user-select:none;user-select:none}.placement-drag-hint{margin:0 0 4px;padding:.25rem .65rem;font-size:.73rem;color:var(--color-accent);background:#38bdf80f;border:1px solid rgba(56,189,248,.18);border-radius:var(--radius-sm);text-align:center;animation:placement-hint-autofade 6s ease-out 2s forwards}@keyframes placement-hint-autofade{0%{opacity:1}80%{opacity:1}to{opacity:0}}.placement-scale-presets{display:flex;gap:.3rem}.placement-scale-presets__btn{flex:1;padding:.25rem .35rem;font-size:.68rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#0f172a;color:var(--color-secondary);cursor:pointer;transition:border-color .15s ease,color .15s ease}.placement-scale-presets__btn:hover{border-color:var(--color-accent);color:var(--color-text)}.placement-scale-presets__btn--active{border-color:var(--color-accent);color:var(--color-accent)}.placement-advanced{margin-top:.15rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:.35rem .45rem}.placement-advanced__summary{font-size:.72rem;color:var(--color-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.placement-advanced__body{margin-top:.45rem;display:flex;flex-direction:column;gap:.35rem}.placement-advanced__meta{margin:0;font-size:.68rem}.viz-control--advanced{margin:0}.viz-control__input--wide{width:100%;max-width:none;flex:1;text-align:left}.placement-preview-debug{margin-top:.5rem;padding:.5rem .65rem;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;line-height:1.45}.placement-preview-debug__title{margin:0 0 .2rem;font-weight:600;color:var(--color-text)}.placement-preview-debug p{margin:0}.visualization-workspace__controls--compact{gap:.4rem;padding:.65rem}.viz-control{display:flex;flex-direction:column;gap:.2rem}.viz-control__row{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.viz-control__label{font-size:.75rem;font-weight:600;color:var(--color-secondary);flex-shrink:0}.viz-control__input{width:4.25rem;padding:.2rem .35rem;font-size:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#0f172a;color:var(--color-text);text-align:right}.viz-control__input:focus{outline:none;border-color:var(--color-accent)}.viz-control__input-with-suffix{display:flex;align-items:center;gap:.2rem}.viz-control__input-with-suffix .viz-control__input{width:3.25rem}.viz-control__suffix{font-size:.75rem;color:var(--color-secondary)}.viz-control__range{width:100%;margin:0;padding:0;accent-color:var(--color-accent);cursor:pointer}.visualization-workspace__actions--compact{flex-direction:row;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.visualization-workspace__actions--compact .compact-btn{flex:1 1 auto;min-width:0;padding:.3rem .45rem;font-size:.72rem}.visualization-workspace__controls{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:calc(100vh - 2rem);overflow-y:auto}.visualization-workspace__controls .form__field{margin:0}.visualization-workspace__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.visualization-workspace__actions button{width:100%}.compact-concept-card{display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;background:var(--color-card-alt);border:1px solid var(--color-border);border-radius:var(--radius-md)}.compact-concept-card__label{margin:0;font-size:.72rem;line-height:1.35}.compact-concept-card .image-frame{flex-shrink:0;width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0f172a}.compact-concept-card img,.compact-concept-card .image-preview,.compact-concept-card .panel-thumb-image{width:72px;height:72px;min-height:72px;max-height:72px;object-fit:contain}.image-frame{width:100%}@media(max-width:1599px){.workspace-shell{grid-template-columns:200px minmax(0,1fr)}.workspace-sidebar{padding:.75rem .65rem;gap:.6rem}.workspace-sidebar__brand-text{font-size:.82rem}.workspace-sidebar__search,.sidebar-project__desc,.sidebar-project .project-status{display:none}.workspace-sidebar__new{font-size:.78rem;padding:.45rem .65rem}.sidebar-project{padding:.5rem .65rem;gap:.1rem}.sidebar-project__title{font-size:.84rem}.sidebar-project__info .sidebar-project__client{font-size:.7rem}}@media(max-width:1279px){.workspace-shell{grid-template-columns:64px minmax(0,1fr)}.workspace-sidebar{padding:.65rem .35rem;align-items:center;gap:.5rem}.workspace-sidebar__rail-toggle{display:inline-flex;align-items:center;justify-content:center}.workspace-sidebar__rail-header{flex-direction:column;align-items:center;width:100%;gap:.35rem;padding-bottom:.35rem;border-bottom:1px solid var(--color-border)}.workspace-sidebar__brand{flex-direction:column;align-items:center;padding-bottom:0;border-bottom:none;width:100%}.workspace-sidebar__brand-text,.workspace-sidebar__search,.workspace-sidebar__new,.workspace-sidebar__create,.workspace-sidebar__footer .muted,.workspace-sidebar__manager,.sidebar-project__desc,.sidebar-project .project-status{display:none}.workspace-sidebar__projects{width:100%;padding-right:0}.sidebar-project{padding:.45rem;align-items:center;justify-content:center;min-height:2.25rem}.sidebar-project__header{justify-content:center}.sidebar-project__title{font-size:.85rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:2.5rem}.sidebar-project__info{align-items:center}.sidebar-project__info .sidebar-project__client{display:none}.workspace-sidebar__footer{width:100%;align-items:center;padding-top:.5rem}.workspace-sidebar__logout{width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;font-size:0;overflow:hidden;position:relative}.workspace-sidebar__logout:before{content:"⎋";font-size:.95rem;line-height:1}.workspace-sidebar--overlay-open{position:absolute;top:0;left:0;bottom:0;width:min(280px,88vw);padding:1rem;align-items:stretch;box-shadow:var(--shadow-md);z-index:40}.workspace-sidebar--overlay-open .workspace-sidebar__rail-header{flex-direction:row;align-items:flex-start}.workspace-sidebar--overlay-open .workspace-sidebar__brand{flex-direction:row;align-items:center}.workspace-sidebar--overlay-open .workspace-sidebar__brand-text,.workspace-sidebar--overlay-open .workspace-sidebar__search,.workspace-sidebar--overlay-open .workspace-sidebar__new,.workspace-sidebar--overlay-open .workspace-sidebar__create,.workspace-sidebar--overlay-open .workspace-sidebar__footer .muted,.workspace-sidebar--overlay-open .workspace-sidebar__manager,.workspace-sidebar--overlay-open .sidebar-project__desc,.workspace-sidebar--overlay-open .sidebar-project .project-status{display:block}.workspace-sidebar--overlay-open .sidebar-project .project-status{display:inline-flex}.workspace-sidebar--overlay-open .sidebar-project{padding:.75rem .85rem;align-items:stretch;justify-content:flex-start;min-height:auto}.workspace-sidebar--overlay-open .sidebar-project__header{justify-content:space-between}.workspace-sidebar--overlay-open .sidebar-project__title{max-width:none;text-align:left;font-size:.95rem}.workspace-sidebar--overlay-open .workspace-sidebar__logout{width:100%;font-size:inherit;height:auto;padding:.55rem 1rem}.workspace-sidebar--overlay-open .workspace-sidebar__logout:before{content:none}}@media(max-width:1100px){.workspace-shell{grid-template-columns:1fr;grid-template-areas:"sidebar" "main-column";grid-template-rows:auto minmax(0,1fr)}.workspace-sidebar{grid-area:sidebar;border-right:none;border-bottom:1px solid var(--color-border);height:auto;max-height:none;flex-direction:row;flex-wrap:wrap;padding:.75rem 1rem;align-items:center}.workspace-sidebar__rail-toggle{display:none}.workspace-sidebar__rail-header{flex-direction:row;border-bottom:none;padding-bottom:0;width:auto}.workspace-sidebar__brand-text,.workspace-sidebar__search,.workspace-sidebar__new,.workspace-sidebar__create,.workspace-sidebar__footer .muted,.workspace-sidebar__manager,.sidebar-project__desc{display:block}.workspace-sidebar__projects{max-height:220px;flex:1;min-width:200px}.workspace-main-column{grid-area:main-column;min-height:0}.visualization-workspace-layout{grid-template-columns:1fr}.visualization-workspace{grid-template-columns:1fr;min-height:auto}.visualization-workspace__controls{position:static;max-height:none}.compact-form-row,.client-workspace-grid{grid-template-columns:1fr}}@media(max-width:639px){.workspace-main,.workspace-panel,.workspace-sidebar{padding:1rem}.welcome-screen{margin:1.5rem auto;padding:1.5rem}.layout{padding:1rem 1rem 2rem}.site-header__title{font-size:1rem}.site-header__subtitle{display:none}.page__header{flex-direction:column;align-items:flex-start}.card{padding:1.1rem 1.15rem}button{width:100%}.page__actions button,.card__actions button{width:auto}.card__actions{flex-direction:column}.card__actions button{width:100%}}.visualization-history{margin-top:0;padding-top:0;border-top:none;display:flex;flex-direction:column;min-height:0;max-height:520px}.visualization-history__active{margin:0 0 .35rem;font-size:.75rem}.visualization-history__title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.visualization-history__empty{margin:0;font-size:.8rem}.visualization-history__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;max-height:460px;padding-right:.15rem}.visualization-history__item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card-alt);cursor:pointer;text-align:left;transition:border-color .2s ease}.visualization-history__item:hover:not(:disabled){border-color:#d4af3773}.visualization-history__item--active{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);opacity:1}.visualization-history__item:disabled{cursor:default;opacity:.65}.visualization-history__thumb-wrap{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;background:#00000040;display:flex;align-items:center;justify-content:center}.visualization-history__thumb{width:100%;height:100%;object-fit:contain;display:block}.visualization-history__thumb-fallback{font-size:.85rem}.visualization-history__thumb-fallback--pending,.visualization-history__thumb-fallback--processing{color:var(--color-accent)}.visualization-history__thumb-fallback--failed{color:#f87171}.visualization-history__meta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.visualization-history__date{font-size:.75rem;font-weight:600}.visualization-history__provider{font-size:.7rem}.visualization-history__status{font-size:.7rem;font-weight:600}.visualization-history__status--success{color:#6ee7b7}.visualization-history__status--failed{color:#f87171}.visualization-history__status--pending{color:var(--color-accent)}.visualization-history__status--processing{color:#93c5fd}.visualization-history__error{font-size:.65rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.workspace-mode-tabs{display:flex;gap:.5rem;margin-bottom:0;flex-shrink:0}.workspace-mode-tabs__tab{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:.45rem 1rem;font-size:.85rem;cursor:pointer}.workspace-mode-tabs__tab--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));font-weight:600}.constructor-workspace-layout{display:grid;grid-template-columns:minmax(480px,1fr);grid-template-areas:"center";gap:0;align-items:stretch;height:100%;min-height:0;position:relative}.constructor-catalog,.constructor-composition,.constructor-placement,.constructor-ai-visualization{grid-area:left}.constructor-canvas{grid-area:center;min-width:0}.constructor-properties{grid-area:right}.constructor-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.65rem}.workspace-drawer{display:none;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-sidebar);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.workspace-drawer--open{display:flex}.workspace-drawer--left{border-left:3px solid var(--color-accent)}.workspace-drawer--right{border-right:3px solid var(--color-accent)}.workspace-drawer__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-sidebar);flex-shrink:0}.workspace-drawer__title-group{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.workspace-drawer__title{margin:0;font-family:Georgia,serif;font-size:.92rem;font-weight:600;color:var(--color-text);line-height:1.3}.workspace-drawer__subtitle{margin:0;font-size:.72rem;color:var(--color-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.workspace-drawer__close{flex-shrink:0;width:auto;min-width:auto;padding:.35rem .7rem;font-size:.78rem;font-weight:600}.workspace-drawer__body{flex:1;min-height:0;overflow-y:auto;padding:.65rem .75rem;background:var(--color-card)}.workspace-drawer__body--stacked{display:flex;flex-direction:column;gap:.85rem}.workspace-drawer__section-title{margin:0 0 .5rem;font-size:.82rem;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.constructor-catalog,.constructor-properties,.constructor-composition{min-height:0;overflow:hidden}.constructor-catalog__search,.constructor-catalog__filter{margin-bottom:.55rem}.constructor-catalog__search input,.constructor-catalog__filter select{width:100%;font-size:.85rem}.constructor-catalog__filter span{font-size:.78rem}.constructor-catalog__upload{margin-top:.65rem}.constructor-catalog__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;flex:1;min-height:0;overflow-y:auto}.constructor-catalog__item{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:68px;padding:.55rem 0;border-bottom:1px solid var(--color-border)}.constructor-catalog__item--active{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.constructor-catalog__thumb{width:52px;height:52px;object-fit:contain;border-radius:var(--radius-sm);background:#0f172a;border:1px solid var(--color-border)}.constructor-catalog__thumb--fallback{display:flex;align-items:center;justify-content:center;font-size:1.25rem}.constructor-catalog__meta{display:flex;flex-direction:column;justify-content:center;min-height:52px}.constructor-catalog__name{margin:0;font-size:.78rem;line-height:1.3}.constructor-catalog__material{margin:.15rem 0 0;font-size:.68rem}.constructor-catalog__actions{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end;justify-content:center}.constructor-catalog__actions .compact-btn{min-width:6.5rem;text-align:center}.constructor-canvas{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%}.constructor-canvas__toolbar{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:.5rem;flex-shrink:0}.constructor-canvas__panel-toggles{display:flex;gap:.35rem;flex-shrink:0;flex-wrap:wrap;align-items:center}.compare-queue-chips{display:flex;align-items:center;gap:.35rem;min-width:0;max-width:100%;overflow-x:auto;padding-bottom:.05rem}.compare-queue-chip{display:inline-flex;align-items:center;max-width:15rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card-alt);color:var(--color-text);flex-shrink:0}.compare-queue-chip--active{border-color:#d4af37a6;background:color-mix(in srgb,var(--color-accent) 10%,var(--color-card))}.compare-queue-chip__label{border:none;background:transparent;box-shadow:none;margin:0;padding:.16rem .5rem .16rem .6rem;min-width:0;max-width:11rem;font-size:.7rem;line-height:1.2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:inherit}.compare-queue-chip__label:hover,.compare-queue-chip__label:focus-visible{transform:none;box-shadow:none}.compare-queue-chip__remove{border:none;background:transparent;box-shadow:none;margin:0;padding:.05rem .43rem .08rem .28rem;font-size:.85rem;line-height:1;color:var(--color-secondary)}.compare-queue-chip__remove:hover,.compare-queue-chip__remove:focus-visible{color:var(--color-text);transform:none;box-shadow:none}.compare-queue-chip--add{min-width:1.65rem;justify-content:center;padding:.08rem .46rem;font-size:.9rem;font-weight:600}.compare-queue-hint{font-size:.72rem}.constructor-canvas__layer-title{margin:0;font-size:.85rem;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constructor-canvas__hint{margin:0;font-size:.82rem}.composition-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.composition-panel__item{display:flex;align-items:center;gap:.3rem;border-radius:var(--radius-sm);padding:.1rem .3rem .1rem .1rem;transition:background .15s}.composition-panel__item--active{background:color-mix(in srgb,var(--color-accent) 10%,var(--color-card));box-shadow:inset 2px 0 #38bdf88c,0 0 0 1px #38bdf82e}.composition-panel__item--hover{background:color-mix(in srgb,var(--color-accent) 5%,var(--color-card));box-shadow:inset 2px 0 #38bdf833}.composition-panel__item-select{flex:1;display:flex;align-items:center;gap:.45rem;min-width:0;padding:.38rem .5rem;text-align:left;background:transparent;border:none;box-shadow:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .12s}.composition-panel__item-select:hover,.composition-panel__item-select:focus-visible{background:#38bdf814;transform:none;box-shadow:none}.composition-panel__item-icon{flex-shrink:0;font-size:1rem;line-height:1}.composition-panel__item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.composition-panel__item-delete{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;font-size:1.1rem;line-height:1;background:transparent;border:none;box-shadow:none;border-radius:var(--radius-sm);color:var(--color-secondary);cursor:pointer;opacity:0;transition:opacity .12s,color .12s}.composition-panel__item:hover .composition-panel__item-delete,.composition-panel__item--active .composition-panel__item-delete{opacity:1}.composition-panel__item-delete:hover,.composition-panel__item-delete:focus-visible{color:var(--color-danger, #f87171);background:#f8717114;transform:none;box-shadow:none}.composition-panel__confirm{flex:1;display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;background:#f871710f;border-radius:var(--radius-sm);border:1px solid rgba(248,113,113,.25)}.composition-panel__confirm-text{flex:1;font-size:.8rem;color:var(--color-secondary);white-space:nowrap}.composition-panel__confirm-btn{flex-shrink:0;padding:.22rem .6rem;font-size:.76rem;min-width:auto}.constructor-canvas__preview{flex:1;min-height:0;position:relative}.markup-status-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .75rem;background:#0f172a99;border-top:1px solid rgba(148,163,184,.18);font-size:.8rem;color:#e2e8f0eb}.markup-status-panel__count{flex:1 1 auto;min-width:12rem}.markup-status-panel__actions{display:flex;gap:.5rem}.markup-status-panel__message{flex-basis:100%;font-size:.78rem}.markup-status-panel__message--error{color:#f87171}.markup-status-panel__message--warning{color:#facc15}.markup-status-panel__message--info{color:#e2e8f0bf}.markup-status-panel__message--success{color:#4ade80}.gdx-toast{position:fixed;top:1rem;right:1rem;z-index:200;max-width:22rem;padding:.55rem .9rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;box-shadow:0 6px 18px #00000059;animation:gdx-toast-fade .6s ease-in 3.4s both}.gdx-toast--success{color:#052e13;background:#4ade80}.gdx-toast--warning{color:#422006;background:#facc15}.gdx-toast--info{color:#0f172a;background:#cbd5e1}.gdx-toast--error{color:#fff;background:#ef4444}@keyframes gdx-toast-fade{to{opacity:0}}.left-mode-switcher{display:flex;gap:6px;flex-wrap:wrap}.project-elements-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.generation-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.generation-history-list__item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 10px;background:transparent;border:1px solid rgba(148,163,184,.2);border-radius:6px;color:#e2e8f0;font-size:12px;cursor:pointer;text-align:left}.generation-history-list__item:disabled{opacity:.5;cursor:not-allowed}.generation-history-list__item:hover:not(:disabled){background:#94a3b814}.generation-history-list__item--active{border-color:#facc15;background:#facc1514}.generation-history-list__item{display:flex;align-items:stretch;justify-content:space-between;gap:8px;padding:0;background:transparent;border:1px solid rgba(148,163,184,.2);border-radius:6px}.generation-history-list__item--approved{border-color:#facc15}.generation-history-list__select{flex:1;display:flex;flex-direction:column;gap:2px;padding:6px 10px;background:transparent;border:none;color:#e2e8f0;font-size:11px;text-align:left;cursor:pointer}.generation-history-list__select:disabled{opacity:.5;cursor:not-allowed}.generation-history-list__select:hover:not(:disabled){background:#94a3b814}.generation-history-list__date{color:#94a3b8}.generation-history-list__provider{font-weight:600;color:#e2e8f0}.generation-history-list__scene-status{color:#facc15}.generation-history-list__approve{align-self:center;margin-right:6px;font-size:11px;padding:4px 8px}.lifecycle-next-stage{margin-top:8px;padding-top:12px;border-top:1px solid rgba(148,163,184,.2)}.lifecycle-next-stage__stub{margin-top:8px;padding:10px;background:#94a3b814;border:1px dashed rgba(148,163,184,.3);border-radius:6px;font-size:12px;color:#94a3b8}.project-elements-checklist__item{display:flex;align-items:center;gap:8px;font-size:13px;color:#e2e8f0;cursor:pointer}.project-elements-checklist__detail{display:flex;align-items:center;gap:8px;margin:2px 0 2px 22px;font-size:12px;color:#94a3b8}.project-elements-checklist__confirm{display:flex;align-items:center;gap:8px;margin:2px 0 4px 22px;padding:6px 8px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:6px;font-size:12px;color:#fca5a5}.compact-empty-hint{margin:4px 0 0;font-size:12px}.constructor-drag-hint{position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%);z-index:10;padding:.32rem .9rem;border-radius:1rem;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#e2e8f0e0;font-size:.76rem;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;animation:constructor-hint-fade .8s ease-in 3.2s both}@keyframes constructor-hint-fade{to{opacity:0}}.constructor-properties__layer-name{margin:0 0 .65rem;font-size:.82rem;line-height:1.35}.constructor-properties__controls{flex:1;min-height:0;overflow-y:auto;padding-right:.15rem}.constructor-properties__delete{width:100%;margin-top:.65rem;flex-shrink:0}.inspector__header{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.75rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border)}.inspector__header-icon{font-size:1.5rem;line-height:1;flex-shrink:0;padding-top:.1rem}.inspector__header-meta{flex:1;min-width:0}.inspector__header-name{margin:0 0 .1rem;font-size:.88rem;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector__header-type{margin:0;font-size:.76rem}.inspector__snapshot{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem;padding-bottom:.65rem;border-bottom:1px solid var(--color-border)}.inspector__snapshot-row{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem;margin:0;font-size:.78rem}.inspector__snapshot-label{color:var(--color-secondary);flex-shrink:0}.inspector__snapshot-value{color:var(--color-text);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector__actions{display:flex;gap:.5rem;margin-top:.65rem;flex-shrink:0;padding-top:.65rem;border-top:1px solid var(--color-border)}.inspector__actions-replace{flex:1}.inspector__actions-delete{flex-shrink:0}.workspace-shell--constructor{grid-template-columns:280px minmax(0,1fr)}.workspace-shell--constructor .workspace-panel{display:none}.ai-workspace-layout{display:grid;grid-template-columns:minmax(480px,1fr);grid-template-rows:minmax(0,1fr);gap:0;align-items:stretch;height:100%;min-height:0}.ai-canvas{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;grid-column:1;grid-row:1}.ai-workspace-layout--dock-left-open{grid-template-columns:min(360px,34vw) minmax(420px,1fr)}.ai-workspace-layout--dock-left-open .ai-canvas{grid-column:2}.ai-workspace-layout--dock-left-open .ai-workspace-drawer.workspace-drawer--open{grid-column:1;grid-row:1}.ai-workspace-layout--dock-right-open{grid-template-columns:minmax(480px,1fr) min(300px,30vw)}.ai-workspace-layout--dock-right-open .ai-canvas{grid-column:1}.ai-workspace-layout--dock-right-open .ai-workspace-drawer.workspace-drawer--open{grid-column:2;grid-row:1}.ai-workspace-layout .ai-workspace-drawer.workspace-drawer--open{width:auto;min-width:0;max-height:100%;position:static;z-index:auto}.ai-canvas__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-shrink:0;flex-wrap:wrap}.ai-canvas__primary-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap;margin-left:auto}.ai-canvas__build-btn{font-weight:600}.ai-canvas__panel-toggles{display:flex;flex-wrap:wrap;gap:.35rem}.ai-canvas__panel-toggle--active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));font-weight:600}.ai-canvas__preview{flex:1;min-height:0;min-width:0;position:relative}.ai-workspace-drawer .card--variants{max-height:none;flex-shrink:0;padding:0;background:transparent;border:none;box-shadow:none}.ai-workspace-drawer .card--variants>h2{display:none}.ai-workspace-drawer .card--variants .variant-cards__hint{margin:0 0 .35rem;font-size:.72rem}.ai-workspace-drawer .variant-card__image-toggle .image-frame{min-height:90px}.ai-workspace-drawer .variant-card--expanded{grid-column:1 / -1}.ai-workspace-drawer--properties .visualization-workspace__controls{position:static;max-height:none;padding:0;background:transparent;border:none}@media(min-width:1600px){.ai-workspace-layout--dock-left-open{grid-template-columns:min(440px,32vw) minmax(480px,1fr)}.ai-workspace-layout--dock-right-open{grid-template-columns:minmax(480px,1fr) min(400px,32vw)}.constructor-workspace-layout--left-open:not(.constructor-workspace-layout--right-open){grid-template-columns:minmax(240px,280px) minmax(480px,1fr);grid-template-areas:"left center"}.constructor-workspace-layout--right-open:not(.constructor-workspace-layout--left-open){grid-template-columns:minmax(480px,1fr) minmax(260px,320px);grid-template-areas:"center right"}.constructor-workspace-layout--left-open.constructor-workspace-layout--right-open{grid-template-columns:minmax(240px,280px) minmax(480px,1fr) minmax(260px,320px);grid-template-areas:"left center right"}.constructor-catalog.workspace-drawer--open,.constructor-composition.workspace-drawer--open,.constructor-placement.workspace-drawer--open,.constructor-ai-visualization.workspace-drawer--open,.constructor-properties.workspace-drawer--open{display:flex;padding:0}}@media(min-width:1920px){.constructor-workspace-layout--right-open:not(.constructor-workspace-layout--left-open){grid-template-columns:minmax(480px,1fr) minmax(280px,360px)}}@media(min-width:1200px)and (max-width:1599px){.constructor-workspace-layout--left-open:not(.constructor-workspace-layout--right-open){grid-template-columns:min(260px,24vw) minmax(420px,1fr);grid-template-areas:"left center"}.constructor-workspace-layout--right-open:not(.constructor-workspace-layout--left-open){grid-template-columns:minmax(420px,1fr) min(280px,26vw);grid-template-areas:"center right"}.constructor-workspace-layout--left-open.constructor-workspace-layout--right-open{grid-template-columns:min(260px,24vw) minmax(360px,1fr) min(280px,26vw);grid-template-areas:"left center right"}.constructor-catalog.workspace-drawer--open,.constructor-composition.workspace-drawer--open,.constructor-placement.workspace-drawer--open,.constructor-ai-visualization.workspace-drawer--open,.constructor-properties.workspace-drawer--open{position:static;width:auto;top:auto;bottom:auto;left:auto;right:auto;z-index:auto;box-shadow:var(--shadow-md)}}@media(max-width:1199px){.constructor-catalog.workspace-drawer--open,.constructor-composition.workspace-drawer--open,.constructor-placement.workspace-drawer--open,.constructor-ai-visualization.workspace-drawer--open{position:absolute;top:0;left:0;bottom:0;width:min(320px,88vw);z-index:50;box-shadow:8px 0 24px #0006}.constructor-properties.workspace-drawer--open{position:absolute;top:0;right:0;bottom:0;width:min(320px,88vw);z-index:50;box-shadow:-8px 0 24px #0006}}@media(max-width:900px){.ai-workspace-layout--dock-left-open{grid-template-columns:min(300px,92vw) minmax(480px,1fr)}.ai-workspace-layout--dock-right-open{grid-template-columns:minmax(480px,1fr) min(300px,92vw)}}.workspace-shell .card--composition,.workspace-shell .card--constructor,.workspace-shell .card--ai-hero{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:.55rem .65rem}.workspace-shell .card--variants{flex-shrink:0;max-height:min(28vh,240px);overflow-y:auto}.workspace-shell .card--composition .visualization-workspace-layout{flex:1;min-height:0;height:100%;align-items:stretch}.workspace-shell .visualization-workspace{min-height:0;height:100%;align-items:stretch}.workspace-shell .visualization-workspace__preview{min-height:0;flex:1;height:100%;max-height:none;align-self:stretch}.workspace-shell .visualization-workspace__preview .image-preview,.workspace-shell .visualization-workspace__preview-image{min-height:0;max-height:100%;height:100%}.workspace-shell .workspace-placement-viewport{min-height:0;max-height:none;flex:1;height:100%;align-self:stretch}.workspace-shell .workspace-placement-stage__source--loading{min-height:0;max-height:100%;height:100%}.workspace-shell .visualization-history{max-height:none;height:100%;overflow:hidden}.workspace-shell .visualization-history__list{flex:1;min-height:0;max-height:none;overflow-y:auto}.workspace-shell .constructor-workspace-layout{flex:1;min-height:0;align-items:stretch;height:100%}.workspace-shell .constructor-canvas{display:flex;flex-direction:column;min-height:0;min-width:0;height:100%}.workspace-shell .constructor-canvas .visualization-workspace__preview,.workspace-shell .constructor-canvas__preview,.workspace-shell .ai-canvas__preview{flex:1;min-height:0;max-height:none}.workspace-shell .visualization-workspace__controls{max-height:100%;overflow-y:auto;align-self:stretch}.workspace-shell--presentation-open{overflow:hidden}.presentation-mode{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;overflow:hidden;max-width:100vw;box-sizing:border-box;pointer-events:auto}.presentation-mode__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#05080ed6;opacity:0;animation:presentation-backdrop-in .22s ease-out forwards}.presentation-mode__surface{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;min-height:0;min-width:0;padding:clamp(1.8rem,3vh,2.2rem) clamp(.65rem,2vw,1.25rem) clamp(.4rem,1vh,.65rem);box-sizing:border-box;opacity:0;animation:presentation-surface-in .2s ease-out 60ms forwards}@keyframes presentation-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes presentation-surface-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.presentation-mode__exit{position:absolute;top:clamp(.55rem,1.2vh,.9rem);left:clamp(.55rem,1.2vw,1rem);z-index:2;display:inline-flex;align-items:center;gap:.4rem;margin:0;padding:.45rem .9rem;border:1px solid rgba(255,255,255,.2);border-radius:.45rem;background:#0006;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none;font-size:.84rem;font-weight:500;line-height:1.3;color:#e2e8f0e6;cursor:pointer;animation:pm-exit-idle 1.2s ease-out 5s both}@keyframes pm-exit-idle{0%{opacity:1}to{opacity:.18}}.presentation-mode__exit:hover,.presentation-mode__exit:focus-visible{opacity:1!important;animation-play-state:paused;background:#00000085;border-color:#ffffff4d;color:#e2e8f0f2;transform:none;box-shadow:none;outline:none}.presentation-mode__exit-icon{font-size:.9rem;line-height:1}.presentation-mode__exit-esc{font-family:ui-monospace,monospace;font-size:.68rem;padding:.08rem .28rem;border:1px solid rgba(255,255,255,.22);border-radius:.25rem;background:#ffffff12;color:#e2e8f080;line-height:1.5}.presentation-mode__stage{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;width:100%;max-width:100%;transition:opacity .24s ease,transform .24s ease;transform:scale(1)}.presentation-mode__stage--transitioning{opacity:.55;transform:scale(.984)}.presentation-mode__stage .placement-drag-hint{display:none}.presentation-mode__stage .workspace-placement-stage__overlay-box{pointer-events:none;cursor:default}.presentation-mode__stage .image-frame,.presentation-mode__stage .workspace-placement-viewport{flex:1;min-height:0;min-width:0;height:100%;max-width:100%}.presentation-mode__footer{flex-shrink:0;display:flex;align-items:center;gap:1rem;padding:clamp(.55rem,1.1vh,.85rem) clamp(.5rem,1.5vw,1rem);background:#00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,.07);border-radius:0 0 .25rem .25rem;animation:presentation-surface-in .18s ease-out .13s both}.presentation-mode__meta{flex:1;min-width:0;text-align:center;animation:pm-info-reveal .36s ease-out .1s both}@keyframes pm-info-reveal{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.presentation-mode__title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(.95rem,1.7vw,1.15rem);font-weight:500;line-height:1.35;color:#f8fafcf2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presentation-mode__details{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem .75rem;margin:.25rem 0 0}.presentation-mode__detail{font-size:clamp(.76rem,1.3vw,.84rem);line-height:1.4;color:#cbd5e1b8}.presentation-mode__detail+.presentation-mode__detail:before{content:"·";margin-right:.75rem;color:#cbd5e166}.presentation-mode__counter{margin:.22rem 0 0;font-size:.74rem;letter-spacing:.04em;color:#cbd5e180;text-align:center}.presentation-mode__nav{flex-shrink:0;display:flex;flex-direction:column;gap:.4rem;align-items:stretch}.presentation-mode__nav-btn{padding:.5rem 1rem;border:1px solid rgba(226,232,240,.18);border-radius:6px;background:#e2e8f00d;color:#e2e8f0a6;font-size:clamp(.8rem,1.4vw,.9rem);cursor:pointer;transition:background .14s,border-color .14s,color .14s;white-space:nowrap;min-width:9rem;text-align:center}.presentation-mode__nav-btn:hover:not(:disabled){background:#e2e8f01a;border-color:#e2e8f04d;color:var(--color-text)}.presentation-mode__nav-btn:disabled{opacity:.28;cursor:default}.presentation-mode__variants{flex-shrink:0;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:clamp(.35rem,.7vh,.55rem) 0 0;overflow-x:auto;animation:presentation-surface-in .18s ease-out .18s both}.presentation-mode__variant-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem .5rem;border:1px solid rgba(226,232,240,.1);border-radius:8px;background:#e2e8f00a;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .22s ease,box-shadow .22s ease,opacity .18s ease;min-width:72px;max-width:100px;opacity:.55;transform:translateY(0) scale(1)}.presentation-mode__variant-card:hover{background:#e2e8f014;border-color:#e2e8f038;opacity:.82}.presentation-mode__variant-card--active{border-color:#d4af3799;background:color-mix(in srgb,var(--color-accent) 12%,rgba(10,14,22,.55));transform:translateY(-3px) scale(1.06);box-shadow:0 6px 18px #00000073,0 0 0 1px #d4af3724;opacity:1}.presentation-mode__variant-thumb-wrap{width:52px;height:64px;border-radius:4px;overflow:hidden;background:#e2e8f00f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.presentation-mode__variant-thumb{width:100%;height:100%;object-fit:cover}.presentation-mode__variant-fallback{font-size:1.6rem}.presentation-mode__variant-label{font-size:.65rem;line-height:1.3;color:#e2e8f08c;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presentation-mode__brand{position:absolute;right:clamp(.5rem,1.2vw,.85rem);bottom:clamp(.35rem,.8vh,.55rem);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#e2e8f04d;pointer-events:none;-webkit-user-select:none;user-select:none}.presentation-mode-trigger{font-weight:600;white-space:nowrap}@media(max-width:900px){.presentation-mode__surface{padding-top:2rem;padding-left:.55rem;padding-right:.55rem}.presentation-mode__footer{flex-direction:column-reverse;align-items:stretch;gap:.5rem}.presentation-mode__meta{text-align:center}.presentation-mode__nav{flex-direction:row;justify-content:center}.presentation-mode__nav-btn{min-width:7rem}.presentation-mode__title{font-size:.9rem}}@media(max-height:720px){.presentation-mode__surface{padding-top:1.8rem;padding-bottom:.3rem}.presentation-mode__variant-thumb-wrap{width:40px;height:48px}.presentation-mode__brand{font-size:.58rem}}@media(prefers-reduced-motion:reduce){.presentation-mode__backdrop,.presentation-mode__surface,.presentation-mode__footer,.presentation-mode__variants{animation:none;opacity:1;transform:none}.presentation-mode__stage{transition:none}.presentation-mode__stage--transitioning{opacity:1;transform:none}.presentation-mode__meta{animation:none;opacity:1;transform:none}.presentation-mode__variant-card,.presentation-mode__variant-card--active{transition:none;transform:none;box-shadow:none;opacity:1}.presentation-mode__exit{animation:none;opacity:.65}}.quick-compare-trigger{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-card));border:1px solid rgba(212,175,55,.45);color:var(--color-text)}.quick-compare-trigger:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 30%,var(--color-card))}.quick-compare{position:fixed;top:0;right:0;bottom:0;left:0;z-index:310;display:flex;align-items:stretch;overflow:hidden;animation:quick-compare-in .2s ease-out forwards}@keyframes quick-compare-in{0%{opacity:0}to{opacity:1}}.quick-compare__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#05080ed9;z-index:0}.quick-compare__surface{position:relative;z-index:1;display:flex;flex-direction:row;width:100%;height:100%;overflow:hidden}.quick-compare__main{flex:1 1 0;display:flex;flex-direction:column;min-width:0;overflow:hidden}.quick-compare__main-header{flex:0 0 auto;padding:.75rem 1.25rem .5rem;background:#0a0e16a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quick-compare__variant-title{font-size:clamp(1rem,2vw,1.4rem);font-weight:600;color:var(--color-text);margin:0 0 .2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-compare__variant-meta{font-size:.82rem;color:#e2e8f099;margin:0}.quick-compare__canvas{flex:1 1 0;min-height:0;overflow:hidden}.quick-compare__controls{flex:0 0 auto;display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;background:#0a0e16a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quick-compare__nav-btn{flex:0 0 auto}.quick-compare__counter{flex:1 1 0;text-align:center;font-size:.8rem}.quick-compare__close-btn{flex:0 0 auto;background:transparent;border:1px solid rgba(226,232,240,.25);color:#e2e8f08c;font-size:.8rem;padding:.3rem .8rem;border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s}.quick-compare__close-btn:hover{color:var(--color-text);border-color:#e2e8f08c}.quick-compare__sidebar{flex:0 0 220px;display:flex;flex-direction:column;background:#0a0e16c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:1px solid rgba(226,232,240,.08);overflow-y:auto;padding:.75rem .5rem 1rem}.quick-compare__sidebar-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#e2e8f066;margin:0 0 .6rem .5rem}.quick-compare__variant-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.quick-compare__variant-card{width:100%;display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;color:var(--color-text);transition:background .12s,border-color .12s;position:relative}.quick-compare__variant-card:hover{background:#e2e8f00f;border-color:#e2e8f01f}.quick-compare__variant-card--active{background:color-mix(in srgb,var(--color-accent) 12%,rgba(10,14,22,.7));border-color:#d4af3780}.quick-compare__thumb-wrap{flex:0 0 40px;width:40px;height:48px;border-radius:4px;overflow:hidden;background:#e2e8f00f;display:flex;align-items:center;justify-content:center}.quick-compare__thumb{width:100%;height:100%;object-fit:cover}.quick-compare__thumb-fallback{font-size:1.4rem}.quick-compare__variant-info{flex:1 1 0;min-width:0}.quick-compare__variant-name{font-size:.78rem;font-weight:500;margin:0 0 .15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-compare__variant-detail{font-size:.68rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-compare__active-badge{position:absolute;top:.3rem;right:.4rem;font-size:.5rem;color:var(--color-accent)}.quick-compare__brand{position:fixed;bottom:.8rem;right:1rem;z-index:320}@media(max-width:900px){.quick-compare__sidebar{flex-basis:170px}.quick-compare__variant-title{font-size:.92rem}}@media(max-width:600px){.quick-compare__surface{flex-direction:column-reverse}.quick-compare__sidebar{flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:.5rem;border-left:none;border-top:1px solid rgba(226,232,240,.08);max-height:96px}.quick-compare__variant-list{flex-direction:row;gap:.35rem;flex-wrap:nowrap}.quick-compare__sidebar-title{display:none}}@media(prefers-reduced-motion:reduce){.quick-compare{animation:none;opacity:1}}.scene-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;display:flex;align-items:center;justify-content:center;animation:quick-compare-in .18s ease-out forwards}.scene-picker__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#05080eb8;z-index:0}.scene-picker__surface{position:relative;z-index:1;background:var(--color-surface, #1a1d23);border:1px solid var(--color-border, #2c313b);border-radius:10px;width:min(640px,92vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.scene-picker__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--color-border, #2c313b);flex-shrink:0}.scene-picker__title{font-size:.95rem;font-weight:600;margin:0}.scene-picker__close{background:transparent;border:none;color:var(--color-muted, #6b7280);cursor:pointer;font-size:1.3rem;line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s}.scene-picker__close:hover{color:var(--color-text, #e2e8f0)}.scene-picker__body{padding:16px 18px;overflow-y:auto;flex:1}.scene-picker__empty{text-align:center;padding:32px 0}.scene-picker__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.scene-picker__card{width:100%;background:var(--color-surface-2, #22262e);border:2px solid transparent;border-radius:8px;padding:0;cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:hidden;display:flex;flex-direction:column;position:relative}.scene-picker__card:hover:not(:disabled){border-color:var(--color-accent, #6366f1);box-shadow:0 0 0 3px #6366f12e}.scene-picker__card--loading{opacity:.6;cursor:wait}.scene-picker__thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.scene-picker__name{font-size:.78rem;padding:6px 8px;text-align:center;color:var(--color-text, #e2e8f0);background:var(--color-surface-2, #22262e)}.scene-picker__spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22px;height:22px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--color-accent, #6366f1);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.scene-picker__hint{padding:10px 18px 14px;font-size:.73rem;text-align:center;flex-shrink:0;border-top:1px solid var(--color-border, #2c313b);margin:0}.constructor-catalog__or{display:flex;align-items:center;gap:8px;margin:10px 0;color:var(--color-muted, #6b7280);font-size:.78rem}.constructor-catalog__or:before,.constructor-catalog__or:after{content:"";flex:1;height:1px;background:var(--color-border, #2c313b)}.constructor-catalog__template-btn{width:100%;padding:9px 14px;border-radius:6px;border:1px dashed var(--color-accent, #6366f1);background:transparent;color:var(--color-accent, #6366f1);cursor:pointer;font-size:.82rem;font-weight:500;transition:background .15s}.constructor-catalog__template-btn:hover{background:#6366f11a}.constructor-template-notice{display:flex;align-items:center;gap:7px;background:#6366f114;border:1px solid rgba(99,102,241,.25);border-radius:6px;padding:7px 10px;font-size:.79rem;color:var(--color-text, #e2e8f0);margin-bottom:10px}.constructor-template-notice__icon{font-size:1rem;flex-shrink:0}.link-btn{background:none;border:none;color:var(--color-accent, #6366f1);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;text-underline-offset:2px}.link-btn:hover{opacity:.8}.error-boundary-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg, #0f172a);z-index:9999;padding:1.5rem}.error-boundary-screen__card{max-width:420px;width:100%;background:var(--color-surface, #1a1d23);border:1px solid rgba(239,68,68,.4);border-radius:10px;padding:2rem 1.75rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.error-boundary-screen__icon{font-size:2.5rem;opacity:.85}.error-boundary-screen__title{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-text, #e2e8f0)}.error-boundary-screen__detail{margin:0;font-size:.78rem;color:#ef4444;word-break:break-word;background:#ef444414;border-radius:4px;padding:.4rem .65rem;max-width:100%}.error-boundary-screen__hint{margin:0;font-size:.83rem;color:var(--color-secondary, #94a3b8);line-height:1.5}.error-boundary-screen__actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center;margin-top:.25rem}.error-boundary-screen__retry{min-width:160px}.error-boundary-screen__reload{min-width:140px}.ai-workspace-drawer .variant-card__image-toggle .image-frame{height:110px;min-height:90px;max-height:130px}.ai-workspace-drawer .variant-card--expanded .variant-card__image-toggle .image-frame{height:auto;min-height:320px;max-height:480px}.ai-workspace-drawer .card--variants .card__actions{margin:0 0 .5rem}.ai-workspace-drawer .card--variants .card__actions button{width:100%;font-size:.82rem;padding:.45rem .75rem}.ai-workspace-drawer .variant-cards{margin-top:.25rem}@media(min-width:1920px){.ai-workspace-layout--dock-left-open{grid-template-columns:min(480px,28vw) minmax(540px,1fr)}.ai-workspace-layout--dock-right-open{grid-template-columns:minmax(540px,1fr) min(380px,28vw)}.constructor-workspace-layout--left-open:not(.constructor-workspace-layout--right-open){grid-template-columns:minmax(320px,360px) minmax(540px,1fr)}}@media(max-width:1366px){.workspace-topbar{padding:.35rem .85rem;gap:.25rem}.workspace-topbar__disclaimer{font-size:.72rem;padding:.25rem .55rem}}@media(max-height:768px){.empty-state-card{padding:.6rem .85rem;margin-top:.35rem}.empty-state-card__icon{font-size:1.1rem}}.visualization-history__title{margin-bottom:.3rem}@media(prefers-reduced-motion:reduce){.placement-drag-hint{animation:none}}.ai-constructor-context{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.75rem;color:var(--color-secondary);background:var(--color-surface-2, #22262e);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-width:160px;overflow:hidden}.ai-constructor-context__icon{flex-shrink:0;font-size:.8rem}.ai-constructor-context__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-canvas__preview>.placement-drag-hint{display:none}.ai-canvas__preview:hover>.placement-drag-hint{display:none}.sidebar-project__info{display:flex;flex-direction:column;gap:.05rem;min-width:0;flex:1;overflow:hidden}.sidebar-project__client{font-size:.8rem;font-weight:700;color:var(--color-accent, #6366f1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar-project__info .sidebar-project__title{font-size:.8rem;font-weight:400;font-family:inherit;color:var(--color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sidebar-project__header>.sidebar-project__title{font-family:Georgia,serif;font-size:.9rem;font-weight:600;color:var(--color-text)}@media(max-width:1599px){.sidebar-project__client{display:none}.sidebar-project__info .sidebar-project__title{font-size:.82rem;font-family:Georgia,serif;font-weight:600;color:var(--color-text)}}.panel-gen-context{background:var(--color-surface-elevated, #1e2130);border:1px solid var(--color-border, rgba(255,255,255,.08));border-radius:8px;padding:10px 12px 8px}.panel-gen-context__title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #8b929e);margin:0 0 8px}.panel-gen-context__rows{display:grid;grid-template-columns:auto 1fr;gap:0;margin:0}.panel-gen-context__row{display:contents}.panel-gen-context__row dt,.panel-gen-context__row dd{font-size:12px;line-height:1.5;padding:2px 0}.panel-gen-context__row dt{color:var(--color-text-muted, #8b929e);white-space:nowrap;padding-right:10px}.panel-gen-context__row dd{color:var(--color-text, #e2e5ec);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor-controls-hint{position:fixed;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:2px;padding:5px 9px;background:#0a0f1ce0;border:1px solid rgba(56,189,248,.22);border-radius:6px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:11px;color:var(--color-text-muted, #8b929e);line-height:1.55;white-space:nowrap;animation:cursor-hint-fadein .18s ease}@keyframes cursor-hint-fadein{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.workspace-placement-stage__ground-line{position:absolute;left:0;right:0;height:1px;background:transparent;border-top:1.5px dashed rgba(56,189,248,.6);pointer-events:none;z-index:200;transition:opacity .15s}.workspace-placement-stage__center-dot{position:absolute;width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:50%;background:#38bdf8e6;border:1.5px solid rgba(255,255,255,.7);pointer-events:none;z-index:201;box-shadow:0 0 4px #38bdf899;animation:center-dot-pop .12s ease}@keyframes center-dot-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.generation-step-status{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:7px 10px;background:var(--color-surface-elevated, #1a1f2e);border:1px solid var(--color-border, rgba(255,255,255,.08));border-radius:6px;animation:step-status-fadein .2s ease}@keyframes step-status-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.generation-step-status__item{font-size:11px;line-height:1.5;color:var(--color-text-muted, #55606e);transition:color .25s ease}.generation-step-status__item--active{color:var(--color-text, #e2e5ec);font-weight:500}.generation-step-status__item--done{color:#4ade80;font-weight:600}.generation-step-status__item--pending{opacity:.45}.generation-step-status--failed{border-color:#f871714d}.generation-step-status__item--failed{color:#f87171;font-weight:600}.generation-step-status__job-id{margin-top:4px;font-size:10px;color:#ffffff4d;font-family:monospace;letter-spacing:.02em}.client-intent-card{margin-bottom:8px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.client-intent-card__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:#ffffff0d;border:none;cursor:pointer;color:#e2e8f0;font-size:12px;font-weight:600;text-align:left;letter-spacing:.03em;text-transform:uppercase;transition:background .15s}.client-intent-card__header:hover{background:#ffffff17}.client-intent-card__title{display:flex;align-items:center;gap:6px}.client-intent-card__filled-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399}.client-intent-card__chevron{font-size:9px;color:#fff6}.client-intent-card__body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.ci-row{display:flex;flex-direction:column;gap:6px}.ci-row--2col{flex-direction:row;gap:8px}.ci-row--2col .ci-field{flex:1;min-width:0}.ci-field{display:flex;flex-direction:column;gap:3px}.ci-field--full{flex:1}.ci-field--highlight{border-radius:6px;padding:4px;background:#fbbf2414;outline:1.5px solid rgba(251,191,36,.45);animation:ci-highlight-pulse 1.5s ease 2}@keyframes ci-highlight-pulse{0%,to{outline-color:#fbbf2473}50%{outline-color:#fbbf24e6}}.ci-label{font-size:10px;color:#ffffff73;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.ci-select{width:100%;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#e2e8f0;font-size:12px;padding:5px 8px;outline:none;cursor:pointer;transition:border-color .15s}.ci-select:focus,.ci-select:hover{border-color:#ffffff47}.ci-select option{background:#1e2330;color:#e2e8f0}.ci-textarea{width:100%;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:#e2e8f0;font-size:12px;padding:5px 8px;outline:none;resize:none;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.ci-textarea:focus{border-color:#ffffff47}.ci-textarea::placeholder{color:#ffffff40}.ci-urgency-group{display:flex;gap:4px}.ci-urgency-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#fff9;font-size:10px;padding:4px 2px;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ci-urgency-btn:hover{background:#ffffff1a}.ci-urgency-btn--active{background:#38bdf82e;border-color:#38bdf880;color:#7dd3fc;font-weight:600}.ci-burial-group{display:flex;gap:4px}.ci-burial-btn{width:28px;height:28px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#fff9;font-size:12px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.ci-burial-btn:hover{background:#ffffff1a}.ci-burial-btn--active{background:#34d3992e;border-color:#34d39980;color:#6ee7b7;font-weight:700}.ci-save-indicator{font-size:11px;text-align:right;padding:2px 0}.ci-save-indicator--saving{color:#fff6}.ci-save-indicator--saved{color:#34d399}.ci-save-indicator--error{color:#f87171}.advisor-panel{margin-bottom:8px}.advisor-panel--loading{padding:8px 12px}.advisor-panel__loader{font-size:11px;color:#ffffff59;font-style:italic}.advisor-panel__header{display:flex;align-items:center;gap:6px;padding:7px 12px 5px;border-bottom:1px solid rgba(255,255,255,.07)}.advisor-panel__title{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.06em;flex:1}.advisor-panel__badge{font-size:10px;font-weight:700;border-radius:8px;padding:1px 6px;line-height:1.4}.advisor-panel__badge--warning{background:#fbbf2433;color:#fbbf24}.advisor-panel__list{list-style:none;margin:0;padding:6px 0;display:flex;flex-direction:column;gap:0}.advisor-tip{display:flex;align-items:flex-start;gap:7px;padding:5px 12px;transition:background .1s}.advisor-tip:hover{background:#ffffff0a}.advisor-tip__icon{flex-shrink:0;width:16px;font-size:12px;line-height:1.5;text-align:center;margin-top:1px}.advisor-tip__text{font-size:12px;line-height:1.5;flex:1}.tip--warning .advisor-tip__icon{color:#fbbf24}.tip--warning .advisor-tip__text{color:#fde68a}.tip--suggestion .advisor-tip__icon{color:#34d399}.tip--suggestion .advisor-tip__text{color:#a7f3d0}.tip--info .advisor-tip__icon{color:#60a5fa}.tip--info .advisor-tip__text{color:#bfdbfe}.tip--hint .advisor-tip__icon{color:#ffffff4d}.tip--hint .advisor-tip__text{color:#ffffff73}.action-plan-panel{margin-top:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}.action-plan-panel__header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.action-plan-panel__title{font-size:12px;font-weight:600;color:#ffffffbf;text-transform:uppercase;letter-spacing:.04em}.action-plan-panel__badge{background:#6c63ff;color:#fff;font-size:10px;font-weight:700;border-radius:99px;padding:1px 6px;min-width:18px;text-align:center}.action-plan-panel__loading,.action-plan-panel__empty,.action-plan-panel__error{font-size:11px;color:#ffffff59;padding:4px 0;margin:0}.action-plan-panel__error{color:#f87171}.action-plan-panel__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.action-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:8px;padding:10px 12px;transition:background .15s}.action-card:hover{background:#ffffff12}.action-card--p1{border-left:3px solid #f87171}.action-card--p2{border-left:3px solid #fb923c}.action-card--p3{border-left:3px solid #facc15}.action-card--p4{border-left:3px solid #4ade80}.action-card--p5{border-left:3px solid rgba(255,255,255,.15)}.action-card__top{display:flex;align-items:center;gap:7px;margin-bottom:5px}.action-card__icon{font-size:14px;flex-shrink:0}.action-card__title{font-size:12px;font-weight:600;color:#ffffffe0;line-height:1.3}.action-card__description{font-size:11px;color:#ffffff80;line-height:1.5;margin:0 0 6px}.action-card__effect{font-size:11px;color:#ffffffa6;background:#6c63ff1f;border-radius:5px;padding:4px 8px;margin-bottom:8px;line-height:1.4}.action-card__effect-label{font-weight:600;color:#a78bfa}.action-card__footer{display:flex;align-items:center;gap:8px}.action-card__btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff4d;border-radius:6px;padding:4px 12px;font-size:11px;cursor:not-allowed;font-family:inherit;transition:none}.action-card__soon{font-size:10px;color:#ffffff40;font-style:italic}.action-card--executable{border-left-width:4px;background:#6c63ff14}.action-card--executable:hover{background:#6c63ff24}.action-card__ready-badge{margin-left:auto;font-size:9px;font-weight:600;color:#a78bfa;background:#6c63ff33;border-radius:10px;padding:2px 7px;white-space:nowrap;letter-spacing:.02em}.action-card__btn--active{background:#6c63ff99;border-color:#6c63ffcc;color:#fff;cursor:pointer;transition:background .15s}.action-card__btn--active:hover{background:#6c63ffcc}.executor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.executor-dialog{background:#1e1e2e;border:1px solid rgba(108,99,255,.3);border-radius:14px;padding:28px 32px;min-width:360px;max-width:520px;width:90vw;box-shadow:0 20px 60px #00000080;animation:slideUp .18s ease;display:flex;flex-direction:column;gap:12px}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.executor-dialog__icon{font-size:28px;line-height:1;text-align:center}.executor-dialog__icon--spin{display:inline-block;animation:pulse 1s ease infinite alternate}.executor-dialog__title{margin:0;font-size:16px;font-weight:700;color:#ffffffeb;text-align:center}.executor-dialog__body{margin:0;font-size:13px;color:#fff9;line-height:1.5;text-align:center}.executor-dialog__effect{margin:0;font-size:12px;color:#ffffffa6;background:#6c63ff1f;border-radius:6px;padding:8px 12px;line-height:1.5}.executor-dialog__hint{margin:0;font-size:12px;color:#4ade80;background:#4ade8014;border-radius:6px;padding:6px 10px;text-align:center}.executor-dialog__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.executor-dialog__cancel{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffff8c;border-radius:8px;padding:7px 18px;font-size:13px;cursor:pointer;font-family:inherit;transition:background .15s}.executor-dialog__cancel:hover{background:#ffffff1a}.executor-dialog__confirm{background:#6c63ffb3;border:1px solid rgba(108,99,255,.9);color:#fff;border-radius:8px;padding:7px 22px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.executor-dialog__confirm:hover:not(:disabled){background:#6c63ffe6}.executor-dialog__confirm:disabled{opacity:.45;cursor:not-allowed}.executor-dialog__templates{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.executor-dialog__template-card{background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .15s,background .15s;font-family:inherit}.executor-dialog__template-card:hover{background:#6c63ff1a;border-color:#6c63ff66}.executor-dialog__template-card--selected{border-color:#a78bfa;background:#6c63ff33}.executor-dialog__template-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.executor-dialog__template-name{font-size:10px;color:#ffffffa6;text-align:center;line-height:1.3}.kp-preview-btn{background:#4ade801f!important;border-color:#4ade804d!important;color:#4ade80e6!important}.kp-preview-btn:hover:not(:disabled){background:#4ade8038!important;border-color:#4ade8080!important}.kp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:2100;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.kp-modal{background:#112;border:1px solid rgba(74,222,128,.25);border-radius:14px;width:min(94vw,900px);height:min(90vh,860px);display:flex;flex-direction:column;box-shadow:0 24px 80px #0009;animation:slideUp .18s ease;overflow:hidden}.kp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.kp-modal-title{font-size:14px;font-weight:600;color:#ffffffe0}.kp-modal-close{background:none;border:none;color:#ffffff73;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:6px;font-family:inherit;transition:color .15s,background .15s}.kp-modal-close:hover{color:#fffc;background:#ffffff14}.kp-modal-body{flex:1;overflow:hidden;display:flex}.kp-modal-iframe{width:100%;height:100%;border:none;border-radius:0 0 14px 14px}.kp-modal-loading{display:flex;align-items:center;justify-content:center;width:100%;font-size:14px;color:#ffffff59;animation:pulse 1.5s ease infinite alternate}.share-btn{background:#fbbf241f!important;border-color:#fbbf244d!important;color:#fbbf24e6!important;min-width:34px}.share-btn:hover:not(:disabled){background:#fbbf2438!important;border-color:#fbbf2480!important}.share-dialog{background:#1a1a2e;border:1px solid rgba(251,191,36,.25);border-radius:14px;padding:24px 28px;width:min(92vw,480px);display:flex;flex-direction:column;gap:16px;box-shadow:0 24px 80px #0009;animation:slideUp .18s ease}.share-dialog__header{display:flex;align-items:center;justify-content:space-between}.share-dialog__title{font-size:15px;font-weight:700;color:#ffffffe6}.share-dialog__close{background:none;border:none;color:#fff6;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:6px;font-family:inherit;transition:color .15s,background .15s}.share-dialog__close:hover{color:#fffc;background:#ffffff14}.share-dialog__loading{font-size:13px;color:#ffffff59;padding:12px 0;text-align:center}.share-dialog__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin-bottom:-8px}.share-dialog__url-row{display:flex;gap:8px;align-items:center}.share-dialog__url-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fffc;font-size:12px;padding:8px 12px;font-family:monospace;min-width:0;outline:none}.share-dialog__url-input:focus{border-color:#fbbf2466}.share-dialog__copy-btn{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:8px;color:#fbbf24e6;font-size:12px;font-weight:600;padding:8px 14px;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s;flex-shrink:0}.share-dialog__copy-btn:hover{background:#fbbf2440}.share-dialog__copy-btn--copied{background:#4ade8033!important;border-color:#4ade8066!important;color:#4ade80e6!important}.share-dialog__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#ffffff73}.share-dialog__meta strong{color:#ffffffb3}.share-dialog__options{display:flex;flex-direction:column;gap:10px}.share-dialog__option{display:flex;align-items:center;gap:10px;font-size:13px;color:#ffffffbf;cursor:pointer}.share-dialog__option input[type=checkbox]{width:16px;height:16px;accent-color:#fbbf24;cursor:pointer}.share-dialog__select{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fffc;font-size:12px;padding:4px 8px;font-family:inherit;cursor:pointer;margin-left:auto}.share-dialog__actions{display:flex;gap:8px;flex-wrap:wrap}.share-dialog__btn{padding:9px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:background .15s,opacity .15s}.share-dialog__btn:disabled{opacity:.5;cursor:not-allowed}.share-dialog__btn--create{background:#fbbf242e;border-color:#fbbf2459;color:#fbbf24f2}.share-dialog__btn--create:hover:not(:disabled){background:#fbbf2447}.share-dialog__btn--deactivate{background:#ef44441f;border-color:#ef44444d;color:#ef4444d9}.share-dialog__btn--deactivate:hover:not(:disabled){background:#ef444438}.share-dialog__error{font-size:12px;color:#ef4444d9;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:6px;padding:8px 12px}.workspace-sidebar__director-link{width:100%;padding:8px 12px;background:#6c63ff1a;border:1px solid rgba(108,99,255,.25);border-radius:8px;color:#a78bfae6;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;text-align:left;margin-bottom:6px;transition:background .15s,border-color .15s}.workspace-sidebar__director-link:hover{background:#6c63ff33;border-color:#6c63ff66}.dir-page{min-height:100vh;background:#0b0b18;color:#ffffffe0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding-bottom:60px;overflow-x:hidden}.dir-header{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:#0b0b18f7;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;z-index:100;gap:16px;flex-wrap:wrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dir-header__left{display:flex;align-items:center;gap:16px}.dir-header__right{display:flex;align-items:center;gap:12px}.dir-header__title{font-size:18px;font-weight:700;color:#fff;margin:0 0 2px;letter-spacing:-.01em}.dir-header__sub{font-size:11px;color:#ffffff4d;margin:0}.dir-back-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffff8c;font-size:13px;padding:7px 14px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s,color .15s}.dir-back-btn:hover{background:#ffffff17;color:#fffc}.dir-refresh-btn{background:#6366f124;border:1px solid rgba(99,102,241,.28);border-radius:8px;color:#a5b4fc;font-size:12px;font-weight:600;padding:7px 16px;cursor:pointer;font-family:inherit;transition:background .15s}.dir-refresh-btn:hover:not(:disabled){background:#6366f13d}.dir-refresh-btn:disabled{opacity:.45;cursor:default}.dir-refresh-time{font-size:11px;color:#ffffff47}.dir-loading{padding:80px 32px;text-align:center;font-size:14px;color:#ffffff47}.dir-error{margin:16px 32px;padding:12px 16px;background:#ef444412;border:1px solid rgba(239,68,68,.18);border-radius:10px;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#ef4444cc;gap:12px}.dir-error-retry{background:none;border:1px solid rgba(239,68,68,.25);border-radius:6px;color:#ef4444bf;font-size:12px;padding:4px 12px;cursor:pointer;font-family:inherit;white-space:nowrap}.dir-empty{font-size:13px;color:#ffffff47;margin:0}.dir-section{padding:28px 32px}.dir-section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff6;margin:0 0 20px;display:flex;align-items:center;gap:8px}.dir-section-badge{font-size:11px;font-weight:700;background:#6366f124;color:#a5b4fc;border-radius:20px;padding:2px 9px;text-transform:none;letter-spacing:0}.dir-divider{height:1px;background:#ffffff0e;margin:0 32px}.dir-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dir-metric-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:20px 20px 18px;display:flex;flex-direction:column;min-height:120px;transition:border-color .15s,background .15s;position:relative;overflow:hidden}.dir-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0;background:transparent}.dir-metric-card:hover{background:#ffffff0d;border-color:#ffffff1f}.dir-metric-card--violet{border-color:#6366f138;background:#6366f10f}.dir-metric-card--violet:before{background:#6366f180}.dir-metric-card--violet:hover{background:#6366f11a}.dir-metric-card--cyan{border-color:#22d3ee33;background:#22d3ee0a}.dir-metric-card--cyan:before{background:#22d3ee73}.dir-metric-card--cyan:hover{background:#22d3ee14}.dir-metric-card--green{border-color:#34d39933;background:#34d3990a}.dir-metric-card--green:before{background:#34d39973}.dir-metric-card--green:hover{background:#34d39914}.dir-metric-card--amber{border-color:#fbbf2433;background:#fbbf240a}.dir-metric-card--amber:before{background:#fbbf2473}.dir-metric-card--amber:hover{background:#fbbf2414}.dir-metric-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dir-metric-icon{font-size:20px;line-height:1}.dir-metric-trend{font-size:10px;font-weight:700;background:#34d39926;color:#34d399;border-radius:10px;padding:2px 7px}.dir-metric-value{font-size:32px;font-weight:800;color:#fff;line-height:1;letter-spacing:-.02em}.dir-metric-label{font-size:12px;font-weight:600;color:#ffffff73;margin-top:5px}.dir-metric-sub{font-size:11px;color:#ffffff38;margin-top:3px}.dir-columns{display:grid;grid-template-columns:1fr 1fr}.dir-section--activity{border-right:1px solid rgba(255,255,255,.055)}.dir-activity-list{display:flex;flex-direction:column;gap:1px}.dir-activity-row{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:8px;transition:background .12s;position:relative}.dir-activity-row:hover{background:#ffffff08}.dir-activity-dot{font-size:15px;flex-shrink:0;margin-top:1px;width:22px;text-align:center}.dir-activity-body{flex:1;font-size:13px;line-height:1.4;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px}.dir-activity-label{font-weight:600;color:#ffffffd1}.dir-activity-project{color:#ffffff73;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.dir-activity-desc{font-size:11px;color:#ffffff4d}.dir-activity-time{font-size:11px;color:#ffffff47;white-space:nowrap;flex-shrink:0;margin-top:2px}.dir-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dir-managers-table{width:100%;border-collapse:collapse;font-size:13px}.dir-th{padding:6px 10px;text-align:left;font-size:10px;font-weight:700;color:#ffffff47;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}.dir-th-num{text-align:right}.dir-manager-row{border-bottom:1px solid rgba(255,255,255,.04);transition:background .12s}.dir-manager-row:last-child{border-bottom:none}.dir-manager-row:hover{background:#ffffff06}.dir-td{padding:10px;color:#ffffffb3;vertical-align:middle}.dir-td-name{display:flex;align-items:center;gap:9px}.dir-manager-name{font-weight:600;color:#ffffffe0}.dir-td-num{text-align:right;color:#ffffff8c;font-variant-numeric:tabular-nums}.dir-num-main{font-weight:700;color:#ffffffd9}.dir-td-last{color:#fff6;font-size:12px}.dir-last-active{color:#34d399;font-weight:600}.dir-td-muted{color:#fff3}.dir-manager-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#6366f12e;color:#a5b4fc;font-size:12px;font-weight:700;flex-shrink:0;border:1px solid rgba(99,102,241,.25)}.dir-section--soon{background:#ffffff03}.dir-soon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dir-soon-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:10px;transition:background .15s}.dir-soon-card:hover{background:#ffffff0a}.dir-soon-icon{font-size:18px;margin-bottom:2px;opacity:.55}.dir-soon-label{font-size:13px;font-weight:600;color:#fff6}.dir-soon-desc{font-size:11px;color:#ffffff38}.dir-footer{padding:20px 32px;border-top:1px solid rgba(255,255,255,.055);display:flex;justify-content:space-between;font-size:11px;color:#fff3;flex-wrap:wrap;gap:8px;margin-top:0}.dir-footer-note{color:#6366f159}@media(max-width:1280px){.dir-metrics-grid{grid-template-columns:repeat(4,1fr);gap:10px}.dir-section{padding:24px 28px}.dir-divider{margin:0 28px}}@media(max-width:1024px){.dir-metrics-grid{grid-template-columns:repeat(2,1fr)}.dir-columns{grid-template-columns:1fr}.dir-section--activity{border-right:none;border-bottom:1px solid rgba(255,255,255,.055)}.dir-soon-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dir-header{padding:14px 16px}.dir-section{padding:20px 16px}.dir-divider{margin:0 16px}.dir-footer{padding:16px}.dir-metrics-grid{grid-template-columns:repeat(2,1fr);gap:8px}.dir-metric-value{font-size:26px}.dir-soon-grid{grid-template-columns:1fr 1fr}}.ai-build{display:flex;flex-direction:column;gap:12px}.ai-build__bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ai-build__bar-spacer{flex:1 1 auto}.ai-build__status-hint{font-size:12px;color:var(--color-secondary)}.precise-setup-disclosure{margin-bottom:8px}.precise-setup-disclosure__toggle{font-size:12px}.ai-wishes-composer{border:1px solid color-mix(in srgb,var(--color-accent) 35%,var(--color-border));background:color-mix(in srgb,var(--color-accent) 6%,var(--color-card));border-radius:12px;width:100%;min-width:0}.ai-wishes-composer__eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px}.ai-build__primary{font-weight:600}.ai-build__status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;border:1px solid transparent;white-space:nowrap}.ai-build__status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.9}.ai-build__status--idle{color:#94a3b8;background:#94a3b81f;border-color:#94a3b840}.ai-build__status--busy{color:#fcd34d;background:#fcd34d1f;border-color:#fcd34d4d}.ai-build__status--ready{color:#86efac;background:#86efac1f;border-color:#86efac4d}.ai-build__status--error{color:#fca5a5;background:#fca5a51f;border-color:#fca5a559}.ai-build__hint{margin:0;font-size:12px;color:#94a3b8}.ai-build__errors{background:#450a0a;border:1px solid #7f1d1d;border-radius:8px;padding:8px 10px;font-size:12px}.ai-build__message{background:#14532d;border:1px solid #166534;border-radius:8px;padding:8px 10px;font-size:12px}.ai-build__ribbon{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.ai-build__ribbon-item{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:#94a3b80f;transition:border-color .12s ease,background .12s ease}.ai-build__ribbon-item--active{border-color:#60a5facc;background:#60a5fa1f}.ai-build__ribbon-item--approved{border-color:#facc158c}.ai-build__ribbon-select{display:flex;flex-direction:column;gap:2px;min-width:120px;padding:4px 6px;background:none;border:none;text-align:left;cursor:pointer;color:inherit}.ai-build__ribbon-select:disabled{cursor:default;opacity:.55}.ai-build__ribbon-badge{font-size:11px;font-weight:700;color:#cbd5e1}.ai-build__ribbon-item--approved .ai-build__ribbon-badge{color:#fcd34d}.ai-build__ribbon-date{font-size:12px;color:#e2e8f0}.ai-build__ribbon-provider{font-size:11px;color:#94a3b8}.ai-build__ribbon-approve{align-self:stretch}.ai-build__result{display:flex;align-items:center;justify-content:center;min-height:320px;background:#0b0f17;border:1px solid rgba(148,163,184,.18);border-radius:12px;overflow:hidden}.ai-build__result-img{max-width:100%;max-height:68vh;object-fit:contain;cursor:zoom-in;border-radius:8px}.ai-build__result-empty{padding:24px;font-size:13px;color:#64748b;text-align:center}.portrait-intro{max-width:720px;margin:8px auto 0;display:flex;flex-direction:column;gap:14px}.portrait-intro__eyebrow{font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#94a3b8}.portrait-intro__title{margin:0;font-size:22px;line-height:1.25;color:#f1f5f9}.portrait-intro__lead{margin:0;font-size:14px;line-height:1.6;color:#cbd5e1}.portrait-intro__steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:#94a3b8}.portrait-intro__project{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#cbd5e1;max-width:340px}.portrait-intro__project select{padding:8px 10px;border-radius:8px;background:#0b0f17;border:1px solid rgba(148,163,184,.3);color:#e2e8f0}.portrait-intro__cta{align-self:flex-start;font-weight:600;padding:10px 18px}.scene-debug-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;display:flex;align-items:stretch;justify-content:stretch}.scene-debug-overlay__svg{width:100%;height:100%;display:block}.plot-markup-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:35;display:flex;align-items:stretch;justify-content:stretch}.plot-markup-overlay--readonly{pointer-events:none;z-index:5}.plot-markup-overlay__svg{width:100%;height:100%;display:block}.composition-panel{display:flex;flex-direction:column;gap:8px}.composition-panel--empty{color:#94a3b8;font-size:13px;padding:12px}.composition-panel__card{position:relative;display:flex;align-items:center;gap:10px;background:#1e293b;border:1px solid #334155;border-radius:8px;padding:10px}.composition-panel__remove{position:absolute;top:4px;right:4px;width:18px;height:18px;line-height:1;background:transparent;color:#64748b;border:none;border-radius:4px;cursor:pointer;font-size:14px}.composition-panel__remove:hover{background:#7f1d1d;color:#fecaca}.composition-panel__thumb{width:48px;height:48px;object-fit:contain;background:#0f172a;border-radius:6px;flex-shrink:0}.composition-panel__thumb--empty{background:repeating-linear-gradient(45deg,#1e293b,#1e293b 6px,#0f172a 6px,#0f172a 12px)}.composition-panel__info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.composition-panel__role{font-size:11px;color:#94a3b8;text-transform:uppercase;display:flex;align-items:center;gap:6px}.composition-panel__title{font-size:13px;color:#e2e8f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composition-panel__action{background:#334155;color:#e2e8f0;border:none;border-radius:6px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap;flex-shrink:0}.composition-panel__action:hover{background:#475569}.placement-contour-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:34;display:flex;align-items:stretch;justify-content:stretch;pointer-events:none}.placement-contour-overlay__svg{width:100%;height:100%;display:block;pointer-events:none}.placement-contour-overlay__group{transition:opacity .12s ease}.placement-contour-overlay__group--dimmed{opacity:.5}.placement-contour-overlay__group--active{opacity:1}.placement-contour-overlay__shape{fill:#f0eee81f;stroke:#f0eee8eb;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 2px rgba(15,18,24,.45));pointer-events:none;transition:fill .12s ease,stroke .12s ease,stroke-width .12s ease;vector-effect:non-scaling-stroke}.placement-contour-overlay__group--active .placement-contour-overlay__shape{stroke-width:3;filter:drop-shadow(0 0 6px rgba(255,246,214,.55)) drop-shadow(0 1px 2px rgba(15,18,24,.55))}.placement-contour-overlay__hit-rect{fill:transparent;stroke:none;cursor:grab;pointer-events:auto}.placement-contour-overlay__hit-rect:active{cursor:grabbing}.placement-contour-overlay__hit-rect:hover+.placement-contour-overlay__shape{fill:#f0eee833}.placement-contour-overlay__select-frame{fill:none;stroke:#fff6d6e6;stroke-width:1.5;stroke-dasharray:5 4;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,18,24,.5))}.placement-contour-overlay__move-handle{fill:#fffaecf2;stroke:#0f1218b3;stroke-width:1.5;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,18,24,.55))}.placement-contour-overlay__rotate-stalk{stroke:#fff6d6d9;stroke-width:1.5;pointer-events:none}.placement-contour-overlay__rotate-handle{fill:#8ca8c4f2;stroke:#0f1218b3;stroke-width:1.5;cursor:grab;filter:drop-shadow(0 1px 2px rgba(15,18,24,.55))}.placement-contour-overlay__resize-handle{fill:#fffaecf2;stroke:#0f1218b3;stroke-width:1.5;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,18,24,.55))}.placement-contour-overlay__rotate-handle,.placement-contour-overlay__rotate-stalk{pointer-events:none}.placement-contour-overlay__handle-hit{fill:transparent;stroke:none;pointer-events:all}.placement-contour-overlay__handle-hit--rotate{cursor:grab}.placement-contour-overlay__handle-hit--rotate:active{cursor:grabbing}.placement-contour-overlay__handle-hit--ew{cursor:ew-resize}.placement-contour-overlay__handle-hit--ns{cursor:ns-resize}.placement-contour-overlay__rotate-handle.is-dragging,.placement-contour-overlay__resize-handle.is-dragging{fill:#ffd67a;stroke:#0f1218e6}.placement-contour-overlay__align-btn{cursor:pointer}.placement-contour-overlay__align-btn rect{fill:#141a24d1;stroke:#fff6d68c;stroke-width:1}.placement-contour-overlay__align-btn text{fill:#fffaecf2;font-size:11px;font-weight:600;pointer-events:none}.placement-contour-overlay__align-btn:hover rect{fill:#1e2634f2;stroke:#fff6d6d9}.placement-contour-overlay__shape--monument{stroke:#d6b67af2;fill:#d6b67a21}.placement-contour-overlay__shape--flowerbed{stroke:#96b88cf2;fill:#96b88c1f}.placement-contour-overlay__flowerbed-inner{fill:none;stroke:#96b88cb3;stroke-width:1.25;stroke-dasharray:4 4;opacity:.85;pointer-events:none}.placement-contour-overlay__shape--vase{stroke:#b89ec4f2;fill:#b89ec421}.placement-contour-overlay__shape--table{stroke:#ce9270f2;fill:#ce92701f}.placement-contour-overlay__table-leg{fill:#ce9270b3;pointer-events:none}.placement-contour-overlay__shape--bench{stroke:#8ca8c4f2;fill:#8ca8c41f}.placement-contour-overlay__bench-leg{fill:#8ca8c4a6;pointer-events:none}.placement-contour-overlay__shape--cross{stroke:#e8e6e0f2;fill:#e8e6e021}.placement-contour-overlay__fence-outline{fill:none;stroke:#e2e0d89e;stroke-width:1.75;stroke-dasharray:7 6;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(15,18,24,.4));pointer-events:none}.placement-contour-overlay__border-outline{fill:none;stroke:#aab2be8c;stroke-width:1.5;stroke-dasharray:2 5;stroke-linecap:round;pointer-events:none}.placement-contour-overlay__label-chip{fill:#11151c9e;stroke:#f0eee838;stroke-width:1;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(15,18,24,.45))}.placement-contour-overlay__label-chip--active{fill:#141820db;stroke:#fff6d6b3;stroke-width:1.25}.placement-contour-overlay__label{fill:#e8e8e2e6;font-size:11px;font-weight:500;letter-spacing:.2px;pointer-events:none}.placement-contour-overlay__label--active{fill:#fbf7ec;font-size:12.5px;font-weight:600}.placement-contour-overlay__delete{fill:#f09696f2;font-size:13px;font-weight:600;cursor:pointer;pointer-events:auto;paint-order:stroke;stroke:#0f1218b8;stroke-width:2.5px}.placement-contour-overlay__delete--fence,.placement-contour-overlay__delete--border{fill:#e2e0d8c7;font-size:11px;font-weight:500;paint-order:stroke;stroke:#0f1218b3;stroke-width:2.5px}*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #0f172a;--color-sidebar: #020617;--color-card: #1e293b;--color-card-alt: #111827;--color-card-hover: #243044;--color-accent: #d4af37;--color-accent-hover: #e0c158;--color-text: #f8fafc;--color-secondary: #94a3b8;--color-border: rgba(148, 163, 184, .2);--color-danger: #ef4444;--color-danger-hover: #f87171;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 4px 12px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-image: 0 12px 32px rgba(0, 0, 0, .45)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:600;letter-spacing:.01em}a{color:var(--color-accent)}#root{min-height:100vh;height:100%}html,body{height:100%}
