@layer app{.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--overlay-bg);animation:dialog-fade var(--dur-base) ease}.dialog{display:flex;flex-direction:column;gap:var(--space-3);width:min(400px,100%);max-height:calc(100% - 32px);overflow:auto;padding:0 0 var(--space-4);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);animation:dialog-in var(--dur-base) var(--ease-out)}.dialog:focus{outline:none}.dialog[data-size=wide]{width:min(480px,100%)}.dialog[data-size=xl]{width:min(880px,100%)}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-secondary)}.dialog__title{font:var(--type-heading);color:var(--text-primary)}.dialog>:not(.dialog__head):not(.dialog__actions){margin-inline:var(--space-5)}.dialog__body{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.dialog__error{padding:var(--space-3);border-radius:var(--radius-control);background:var(--danger-soft);font:400 13px/18px var(--font-sans);color:var(--text-primary)}.dialog__actions{display:flex;gap:var(--space-2);margin:var(--space-1) 0 calc(-1 * var(--space-4));padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-secondary)}.dialog__actions .ui-btn{flex:1 1 0;min-height:var(--control-lg)}@keyframes dialog-fade{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}}@keyframes dialog-sheet-in{0%{transform:translateY(24px);opacity:0}}@media(max-width:719px){.dialog-backdrop{align-items:flex-end;padding:0}.dialog,.dialog[data-size]{width:100%;max-height:90%;border-radius:var(--radius-sheet);box-shadow:var(--shadow-sheet);animation-name:dialog-sheet-in}.dialog__actions{flex-direction:column-reverse}.dialog__actions .ui-btn{width:100%}}.ui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.ui-btn[data-size=lg]{min-height:var(--control-lg)}.ui-btn[data-size=sm]{min-height:var(--control-sm);padding:0 10px}.ui-btn[data-block=true]{width:100%}.ui-btn:hover:not(:disabled){background:var(--bg-tertiary)}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:default}.ui-btn[aria-busy=true]{pointer-events:none}.ui-btn--primary{background:var(--accent-primary);color:var(--text-inverse)}.ui-btn--primary:hover:not(:disabled){background:var(--accent-primary-hover)}.ui-btn--danger{background:var(--accent-danger);color:var(--text-inverse)}.ui-btn--danger:hover:not(:disabled){background:var(--accent-danger);filter:brightness(.92)}.ui-btn--ghost{background:transparent}.ui-btn--ghost:disabled{background:transparent}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-secondary)}.ui-btn--link{min-height:0;padding:0;background:none;color:var(--accent-primary)}.ui-btn--link:disabled{background:none}.ui-btn--link:hover:not(:disabled){background:none;text-decoration:underline}.ui-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--control-lg);height:var(--control-lg);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.ui-icon-btn[data-size=lg]{width:var(--control-lg);height:var(--control-lg)}.ui-icon-btn[data-size=md]{width:var(--control-md);height:var(--control-md)}.ui-icon-btn[data-size=sm]{width:var(--control-sm);height:var(--control-sm)}.ui-icon-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.ui-icon-btn:disabled{opacity:.5;cursor:default}.ui-icon-btn[data-size=sm]:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.ui-icon-btn[data-tool=true],.ui-icon-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-primary)}.ui-icon-btn[data-tool=true]{background:var(--ink-fill);color:var(--text-on-ink)}.ui-field{display:block;width:100%;min-height:var(--control-md);padding:0 10px;border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}textarea.ui-field{min-height:80px;padding:8px 10px;resize:vertical}.ui-field::placeholder{color:var(--text-muted)}.ui-field:hover:not(:disabled):not(:focus){box-shadow:inset 0 0 0 1px var(--border-primary)}.ui-field:focus,.ui-field:focus-visible{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.ui-field[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--accent-danger)}.ui-field[aria-invalid=true]:focus{box-shadow:inset 0 0 0 2px var(--accent-danger)}.ui-field:disabled{color:var(--text-muted);opacity:.5;cursor:default}.dialog .ui-field{min-height:var(--control-lg)}.dialog textarea.ui-field{min-height:80px}.ui-error{font:var(--type-small);color:var(--accent-danger)}.ui-label{display:block;font:var(--type-label);color:var(--text-secondary)}.ui-label-note,.ui-hint{font:var(--type-small);color:var(--text-muted)}.ui-hint--warning{color:var(--accent-warning)}.ui-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-control);background:var(--bg-secondary);font:var(--type-small);color:var(--text-secondary)}.ui-note svg{flex:none;margin-top:1px}.ui-note--danger{background:var(--danger-soft);color:var(--text-primary)}.ui-note--success{background:var(--success-soft);color:var(--text-primary)}.ui-note--accent{background:var(--accent-soft)}.ui-seg{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-control);background:var(--bg-secondary)}.ui-seg__btn{min-width:var(--control-md);height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.ui-seg__btn:hover:not(:disabled):not([aria-pressed=true]){background:transparent;color:var(--text-primary)}.ui-seg__btn[aria-pressed=true]{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.ui-seg__btn:disabled{opacity:.5;cursor:default}.ui-check{display:inline-flex;align-items:center;gap:var(--space-2);font:var(--type-small);color:var(--text-primary);cursor:pointer}.ui-check input{width:16px;height:16px;accent-color:var(--accent-primary);cursor:pointer}.ui-check:has(input:disabled){color:var(--text-muted);cursor:default}.ui-drop{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-lg);padding:var(--space-4);border:2px solid var(--accent-line);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);font:var(--type-small);cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,color var(--dur-fast) ease}.ui-drop:hover,.ui-drop[data-active=true]{border-color:var(--accent-primary);background:var(--accent-soft);color:var(--text-primary)}.ui-skeleton{height:16px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--bg-secondary),var(--bg-tertiary),var(--bg-secondary));background-size:200% 100%;animation:ui-shimmer 1.4s ease infinite}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-chip{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-sm);padding:0 10px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font:var(--type-ui);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.ui-chip:hover:not(:disabled):not([aria-pressed=true]){background:var(--bg-secondary)}.ui-chip:active:not(:disabled){transform:scale(.98)}.ui-chip[aria-pressed=true]{background:var(--accent-soft);box-shadow:none;color:var(--accent-primary)}.ui-chip:disabled{opacity:.5;cursor:default}}.dlg-field{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;column-gap:var(--space-3);row-gap:var(--space-1)}.dlg-field>.ui-label{grid-column:1;grid-row:1 / span 3;align-self:start;padding-top:9px}.dlg-field>:not(.ui-label){grid-column:2}@media(max-width:719px){.dlg-field{grid-template-columns:minmax(0,1fr)}.dlg-field>.ui-label,.dlg-field>:not(.ui-label){grid-column:1;grid-row:auto;padding-top:0}}.dlg-more{align-self:flex-start;gap:var(--space-1)}.dlg-more__caret{transition:transform var(--dur-base) var(--ease-out)}.dlg-more__caret--open{transform:rotate(180deg)}.dlg-more__body{display:flex;flex-direction:column;gap:var(--space-4)}.dlg-row{display:flex;align-items:center;gap:var(--space-3)}.dlg-lead{font:var(--type-body);color:var(--text-primary)}.dlg-note{font:var(--type-small);color:var(--text-secondary)}.dlg-improve__preview{overflow:hidden;border-radius:var(--radius-control);background:var(--bg-secondary)}.dlg-improve__preview img{display:block;width:100%;max-height:200px;object-fit:contain}.ui-kbd{margin-left:var(--space-1);font:var(--type-caption);opacity:.7}.dlg-settings__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6);align-items:start}.dlg-settings__grid[data-two=true]{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.dlg-settings__col{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.dlg-settings__section{display:flex;flex-direction:column;gap:var(--space-2)}.dlg-settings__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-secondary)}.dlg-settings__share-url{overflow:hidden;padding:0 14px;min-height:var(--control-md);display:flex;align-items:center;border-radius:var(--radius-control);background:var(--bg-secondary);font:var(--type-small);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.dlg-settings__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dlg-settings__stats{display:flex;gap:var(--space-4);font:var(--type-small);color:var(--text-muted)}.dlg-settings__stats span{display:inline-flex;align-items:center;gap:var(--space-1)}.dlg-settings__confirm{display:flex;flex-direction:column;gap:var(--space-2);width:100%}@media(max-width:820px){.dlg-settings__grid[data-two=true]{grid-template-columns:minmax(0,1fr)}}.dlg-camera__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5)}.dlg-camera__plan,.dlg-camera__form{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.dlg-camera__plan-wrap{position:relative;overflow:hidden;border-radius:var(--radius-control);background:var(--bg-secondary)}.dlg-camera__plan-img{display:block;width:100%}.dlg-camera__plan-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.dlg-camera__plan-empty{padding:var(--space-8) var(--space-4);text-align:center;font:var(--type-small);color:var(--text-muted)}.dlg-camera__refs{display:flex;flex-direction:column;gap:var(--space-2)}@media(max-width:719px){.dlg-camera__body{grid-template-columns:minmax(0,1fr)}}.dlg-launch__title{display:inline-flex;align-items:center;gap:var(--space-2)}.dlg-launch__list{padding-left:var(--space-5);font:var(--type-body);color:var(--text-primary)}.dlg-launch__list li+li{margin-top:var(--space-2)}.dlg-delete__done{display:flex;flex-direction:column;gap:var(--space-2)}.dlg-tabs{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}.dlg-tabs::-webkit-scrollbar{display:none}.dlg-tab{flex:none;height:var(--control-md);padding:0 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:var(--type-ui);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.dlg-tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.dlg-tab[aria-selected=true]{background:var(--bg-tertiary);color:var(--text-primary)}.dlg-panel{min-height:280px}.brief-tab{display:flex;flex-direction:column;gap:12px}.brief-tab__draft{display:flex;align-items:center;gap:12px}.dlg-name{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.dlg-name__input{font:var(--type-title)}.dlg-name__btn{display:inline-flex;align-items:center;gap:var(--space-2);max-width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.dlg-name__btn svg{flex:none;color:var(--text-muted)}.dlg-name__btn:hover svg,.dlg-name__btn:focus-visible svg{color:var(--accent-primary)}.dlg-name__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlg-settings__more{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-secondary);align-items:flex-start}.dlg-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.dlg-people__row{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-secondary)}.dlg-people__name{overflow-wrap:anywhere}.dlg-people__email{grid-column:1;overflow-wrap:anywhere}.dlg-people__role{grid-column:2;grid-row:1;align-self:start}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}@layer app{.verb-menu{position:fixed;z-index:var(--z-menu);max-height:min(420px,calc(100vh - 16px));overflow-y:auto;padding:var(--space-1);min-width:200px;border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.verb-menu__item{display:flex;align-items:center;gap:var(--space-2);width:100%;height:var(--row-h);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);text-align:left;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.verb-menu__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.verb-menu__item:hover:not(:disabled),.verb-menu__item:focus-visible{background:var(--bg-secondary);color:var(--text-primary)}.verb-menu__item:disabled{opacity:.4;cursor:not-allowed}.verb-menu__item--danger{color:var(--accent-danger)}.verb-menu__item--nested{padding-left:var(--space-5)}.verb-menu__group{display:flex;flex-direction:column}.verb-menu__trigger--open{background:var(--bg-tertiary);color:var(--text-primary)}}@layer app{.verb-prompt{margin:0;max-height:50vh;overflow-y:auto;color:var(--text-primary);font:var(--type-body);white-space:pre-wrap;overflow-wrap:anywhere}}@layer app{.chat-cell .chat-cell__bar{flex-wrap:wrap}.chat-cell__failed-actions{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}}@layer app{.lightbox__overlay{--viewer-bg: var(--paper-canvas);--glass: var(--bg-elevated);--glass-hover: var(--bg-secondary);position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;--lightbox-top-h: calc(var(--control-lg) + 2 * var(--space-2) + var(--space-3));padding:calc(var(--chrome-top) + var(--lightbox-top-h)) var(--space-4) var(--space-4);box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--viewer-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lightbox-fade-in var(--dur-base) var(--ease-out)}.lightbox__content{position:relative;max-width:90vw;max-height:calc(100vh - var(--chrome-top) - var(--lightbox-top-h) - var(--space-4))}.lightbox__content--annotate{display:flex;flex-direction:column;gap:var(--space-3);max-width:90vw;max-height:calc(100vh - var(--chrome-top) - var(--lightbox-top-h) - var(--space-4))}.image-lightbox__author{position:fixed;top:calc(var(--chrome-top) + var(--lightbox-top-h));left:var(--space-4);display:flex;align-items:center;gap:var(--space-2);height:var(--control-lg);padding:0 var(--space-4) 0 var(--space-2);border-radius:var(--radius-sm);background:var(--glass);box-shadow:var(--edge);color:var(--text-primary);font:var(--type-small)}.lightbox__top{position:fixed;top:var(--chrome-top);left:50%;transform:translate(-50%);z-index:1;width:min(880px,calc(100vw - 2 * var(--space-4)));display:flex;justify-content:flex-start}.lightbox__bar{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2);max-width:100%;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.lightbox__bar--wide{width:100%;overflow-x:auto}.lightbox__bar>.lightbox__toolbar-spacer{flex:1;min-width:var(--space-3)}.lightbox__action-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-lg);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--glass);box-shadow:var(--edge);color:var(--text-primary);font:var(--type-ui);white-space:nowrap;cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.lightbox__action-btn:hover:not(:disabled){background:var(--glass-hover)}.lightbox__action-btn:active:not(:disabled){transform:scale(.98)}.lightbox__action-btn:disabled{opacity:.5;cursor:wait}.lightbox__action-btn--close{width:var(--control-lg);padding:0}.lightbox__img{max-width:90vw;max-height:70vh;object-fit:contain;border-radius:var(--radius-card);display:block}.lightbox__content--annotate .lightbox__img{max-height:min(70vh,calc(100vh - var(--chrome-top) - var(--lightbox-top-h) - var(--space-4) - var(--lightbox-chrome, 0px) - 2 * var(--space-3)))}.lightbox__toolbar-spacer{flex:1}.lightbox__mode-group{display:flex;gap:2px;padding:2px;border-radius:var(--radius-control);background:var(--bg-secondary)}.lightbox__mode-btn{height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);white-space:nowrap;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.lightbox__mode-btn:hover{color:var(--text-primary)}.lightbox__mode-btn--active,.lightbox__mode-btn--active:hover{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.lightbox__tool-group,.lightbox__color-group{display:flex;align-items:center;gap:2px}.lightbox__color-group{gap:var(--space-2);padding:0 var(--space-2)}.lightbox__tool-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.lightbox__tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.lightbox__tool-btn:active{transform:scale(.98)}.lightbox__tool-btn--active,.lightbox__tool-btn--active:hover{background:var(--accent-soft);color:var(--accent-primary)}.lightbox__color-btn{position:relative;width:22px;height:22px;padding:0;border:2px solid var(--bg-elevated);border-radius:var(--radius-pill);box-shadow:0 0 0 1px var(--border-primary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.lightbox__color-btn:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.lightbox__color-btn:hover{transform:scale(1.1)}.lightbox__color-btn--active{box-shadow:0 0 0 2px var(--text-primary)}.lightbox__main-area{display:flex;flex:1;min-height:0;gap:var(--space-3)}.lightbox__canvas-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0}.lightbox__brief-panel{width:220px;flex-shrink:0;align-self:flex-start;max-height:100%;padding:var(--space-4);overflow-y:auto;border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.lightbox__brief-title{font:var(--type-caption);color:var(--text-muted);margin-bottom:var(--space-3)}.lightbox__brief-floor{margin-bottom:var(--space-3)}.lightbox__brief-floor:last-child{margin-bottom:0}.lightbox__brief-floor-title{font:var(--type-caption);color:var(--text-secondary);margin-bottom:var(--space-1)}.lightbox__brief-room{display:flex;align-items:baseline;gap:var(--space-1);padding:2px 0;font:var(--type-small)}.lightbox__brief-room-num{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;width:20px}.lightbox__brief-room-name{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox__brief-room-area{font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.lightbox__draw-canvas{position:absolute;top:0;left:0;cursor:crosshair}.lightbox__annotation-footer{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-composer)}.lightbox__annotation-input{flex:1;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-small);resize:none;transition:box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.lightbox__annotation-input:hover{box-shadow:inset 0 0 0 1px var(--border-primary)}.lightbox__annotation-input:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.lightbox__annotation-input::placeholder{color:var(--text-muted)}.lightbox__annotation-action-row{display:flex;align-items:center;gap:var(--space-2)}.lightbox__count-pills{display:flex;align-items:center;gap:var(--space-1)}.lightbox__count-label{font:var(--type-caption);color:var(--text-muted);margin-right:var(--space-1)}.lightbox__count-pill{min-width:var(--control-md);height:var(--control-md);padding:0 var(--space-3);display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-secondary);font:var(--type-ui);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.lightbox__count-pill:hover{color:var(--text-primary)}.lightbox__count-pill--active,.lightbox__count-pill--active:hover{background:var(--accent-soft);color:var(--accent-primary)}.lightbox__branch-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);white-space:nowrap;cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.lightbox__model-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);white-space:nowrap;cursor:pointer}.lightbox__model-chip:hover:not(:disabled){background:var(--bg-tertiary)}.lightbox__model-chip:disabled{opacity:.5;cursor:not-allowed}.lightbox__action-btn--on{cursor:default;opacity:.8}.lightbox__branch-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.lightbox__branch-btn:active:not(:disabled){transform:scale(.98)}.lightbox__branch-btn:disabled{opacity:.4;cursor:not-allowed}.lightbox__ref-add-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.lightbox__ref-add-btn:hover{background:var(--bg-tertiary)}.lightbox__ref-add-btn:active{transform:scale(.98)}.lightbox__ref-thumbs{display:flex;gap:var(--space-2);padding-top:var(--space-1);overflow-x:auto}.lightbox__ref-thumb-wrap{position:relative;flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-1)}.lightbox__ref-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-thumb)}.lightbox__ref-comment{width:56px;height:24px;padding:0 var(--space-1);border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-caption)}.lightbox__ref-comment:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent-primary);background:var(--bg-elevated)}.lightbox__ref-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--text-primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox__ref-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.lightbox__overlay{animation:none}}@media(max-width:600px){.image-lightbox__author{top:calc(var(--chrome-top) + var(--lightbox-top-h));left:var(--space-2)}.lightbox__brief-panel{width:160px;padding:var(--space-3)}}}@layer app{.chat-view{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--bg-primary)}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-4) var(--space-4);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black var(--space-4));mask-image:linear-gradient(to bottom,transparent 0,black var(--space-4))}.chat-column{width:100%;max-width:760px;margin:0 auto}.chat-dock{flex-shrink:0;padding:var(--space-2) var(--space-4) var(--chrome-inset, 16px);background:var(--bg-primary)}.chat-dock .chat-column{max-width:720px}.chat-status{font:var(--type-small);color:var(--text-muted);padding:var(--space-2) 0}.chat-feed{display:flex;flex-direction:column;gap:var(--space-4)}.chat-msg{max-width:88%;font:var(--type-body)}.chat-msg--user{align-self:flex-end;padding:2px 0 2px var(--space-3);border-left:2px solid var(--accent-primary);color:var(--text-primary)}.chat-msg--assistant{align-self:flex-start;padding:0;font:var(--type-title);color:var(--text-primary)}.chat-msg__text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg--sending{opacity:.6}.chat-msg--failed{box-shadow:0 0 0 2px var(--accent-danger)}.chat-msg__reply{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font:var(--type-caption);color:var(--text-secondary)}.chat-msg__reply-img{width:40px;height:40px;border-radius:var(--radius-thumb);object-fit:cover;display:block}.chat-msg__status{display:flex;align-items:center;gap:6px;margin-top:6px;font:var(--type-caption)}.chat-msg__status--failed{color:var(--accent-danger)}.chat-msg__retry{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-caption);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-msg__retry:hover{background:var(--bg-tertiary)}.chat-msg__retry:active{transform:scale(.98)}.chat-msg__retry:disabled{opacity:.4;cursor:not-allowed}.chat-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:10px}.chat-option,.chat-action{min-height:var(--control-sm);padding:0 10px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-option:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.chat-option:active:not(:disabled),.chat-action:active:not(:disabled){transform:scale(.98)}.chat-option:disabled{cursor:default;box-shadow:none;background:var(--bg-secondary);color:var(--text-muted)}.chat-option--chosen:disabled{background:var(--accent-soft);box-shadow:none;color:var(--accent-primary)}.chat-option--image{display:flex;flex-direction:column;gap:var(--space-1);padding:4px;align-items:stretch;border-radius:var(--radius-sm)}.chat-option__img{width:96px;height:72px;border-radius:var(--radius-thumb);object-fit:cover;display:block}.chat-action{margin-top:10px;min-height:var(--control-md);background:var(--accent-primary);box-shadow:none;color:var(--text-inverse)}.chat-action:hover:not(:disabled){background:var(--accent-primary-hover)}.chat-action:disabled{background:var(--bg-secondary);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.chat-brief__title{font:var(--type-label);color:var(--text-secondary);margin-bottom:6px}.chat-brief__floors{list-style:none;display:grid;gap:var(--space-1);font:var(--type-small)}.chat-brief__floors li{display:flex;gap:var(--space-3)}.chat-brief__floors span{color:var(--text-muted)}.chat-result__grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.chat-result__grid[data-count="1"]{grid-template-columns:minmax(0,1fr);max-width:560px}.chat-cell{margin:0;position:relative;background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--edge);overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:box-shadow var(--dur-base) var(--ease-out)}.chat-cell:hover{box-shadow:var(--edge),var(--shadow-card)}.chat-cell--kept{box-shadow:var(--edge),inset 0 0 0 2px var(--accent-saved)}.chat-cell--kept:hover{box-shadow:var(--edge),inset 0 0 0 2px var(--accent-saved),var(--shadow-card)}.chat-cell--kept:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--accent-saved);pointer-events:none}.chat-cell--branch{overflow:visible;box-shadow:var(--edge),var(--selection-ring);margin-top:var(--space-5)}.chat-cell--branch .chat-cell__open{border-radius:var(--radius-card) var(--radius-card) 0 0;overflow:hidden}.chat-cell__branch{position:absolute;left:0;bottom:calc(100% + 6px);font:var(--type-caption);color:var(--accent-primary);white-space:nowrap}.chat-cell--busy,.chat-cell--failed{min-height:160px;align-items:center;justify-content:center;padding:var(--space-4);text-align:center;font:var(--type-small);color:var(--text-muted)}.chat-cell--busy{box-shadow:var(--edge),0 0 0 1px var(--accent-primary);background:linear-gradient(100deg,var(--bg-secondary) 30%,var(--bg-tertiary) 50%,var(--bg-secondary) 70%);background-size:200% 100%;animation:chat-busy 1.6s linear infinite}.chat-cell--failed{box-shadow:0 0 0 1px var(--accent-danger);background:var(--bg-elevated);color:var(--text-secondary)}@keyframes chat-busy{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.chat-cell--busy{animation:none}}.chat-cell__why{margin-top:var(--space-1);font:var(--type-small)}.chat-cell__open{display:block;padding:0;border:0;background:var(--bg-secondary);cursor:zoom-in;line-height:0}.chat-cell__img{width:100%;height:auto;display:block}.chat-cell__bar{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);min-height:36px;padding:4px 6px}.chat-cell__bar .chat-chip{flex-shrink:0;padding:0 10px}.chat-chip--icon,.chat-cell__bar .chat-chip--icon{width:var(--control-sm);padding:0;justify-content:center}.chat-cell__bar .chat-chip--icon{margin-left:auto}.chat-cell__n{min-width:18px;padding-left:var(--space-1);font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted)}.chat-chip{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-chip:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.chat-chip--solid{background:var(--bg-secondary);color:var(--text-primary)}.chat-chip--solid:hover:not(:disabled){background:var(--bg-tertiary)}.chat-chip:active:not(:disabled){transform:scale(.98)}.chat-chip:disabled{opacity:.4;cursor:default}.chat-chip--on,.chat-chip--on:hover:not(:disabled),.chat-chip--on:disabled{background:transparent;color:var(--accent-saved-text);opacity:1}.chat-chip--on svg{color:var(--accent-saved)}.chat-result__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font:var(--type-small);color:var(--text-muted)}.chat-result__price{font-variant-numeric:tabular-nums}.chat-result--focus{animation:chat-focus 1.6s ease-out}@keyframes chat-focus{0%{box-shadow:0 0 0 6px var(--accent-line)}to{box-shadow:0 0 0 6px transparent}}@media(prefers-reduced-motion:reduce){.chat-result--focus{animation:none;outline:2px solid var(--accent-primary);outline-offset:2px}}.chat-legacy{padding-top:var(--space-3)}.chat-legacy__head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:10px}.chat-legacy__head h3{font:var(--type-label);color:var(--text-secondary)}.chat-legacy__head span{font:var(--type-caption);color:var(--text-muted)}.chat-legacy__grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.chat-legacy__cell{padding:0;border:0;border-radius:var(--radius-sm);box-shadow:var(--edge);background:var(--bg-secondary);aspect-ratio:4 / 3;cursor:zoom-in;overflow:hidden}.chat-legacy__cell img{width:100%;height:100%;object-fit:cover;display:block}.chat-notice{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:10px var(--space-4);border-radius:var(--radius-control);background:var(--danger-soft);color:var(--accent-danger);font:var(--type-small)}.chat-composer{display:flex;flex-direction:column;gap:var(--space-2)}.chat-composer__note{padding:0 var(--space-3);font:var(--type-small);color:var(--text-muted)}.chat-composer__icon{display:inline-flex;align-items:center;justify-content:center;position:relative;width:var(--control-sm);height:var(--control-sm);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-composer__icon:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.chat-composer__icon:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.chat-composer__icon:active:not(:disabled){transform:scale(.98)}.chat-composer__icon:disabled{opacity:.4;cursor:not-allowed}.chat-composer__settings{display:inline-flex;align-items:center;gap:4px;height:var(--control-md);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-composer__settings:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-composer__settings:active{transform:scale(.98)}.chat-composer__settings--on,.chat-composer__settings--on:hover{background:var(--accent-soft);color:var(--accent-primary)}.chat-composer__price{font:var(--type-caption);color:var(--text-muted);white-space:nowrap;margin-right:var(--space-1)}.chat-composer__send-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.chat-composer__send{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-pill);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-composer__send:hover:not(:disabled){background:var(--accent-primary-hover)}.chat-composer__send:active:not(:disabled){transform:scale(.98)}.chat-composer__send:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.chat-reply{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);min-height:var(--control-sm);padding:0 2px 0 6px;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-primary);font:var(--type-ui)}.chat-reply__clear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;padding:0;border:0;border-radius:var(--radius-xs);background:none;color:var(--text-secondary);cursor:pointer}.chat-reply__clear:hover{background:var(--bg-secondary)}.chat-settings{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.chat-settings__row{display:flex;align-items:center;gap:var(--space-3)}.chat-settings__label{width:96px;flex-shrink:0;font:var(--type-label);color:var(--text-secondary)}.chat-settings__hint{margin:0 0 0 108px;font:var(--type-small);color:var(--text-muted)}.chat-settings__pills{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chat-pill{height:var(--control-sm);padding:0 10px;border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.chat-pill:hover:not(.chat-pill--on){background:var(--bg-tertiary);color:var(--text-primary)}.chat-pill:active{transform:scale(.98)}.chat-pill--on,.chat-pill--on:hover{background:var(--accent-soft);color:var(--accent-primary)}.chat-suggestion{margin-top:var(--space-4)}.chat-hint{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-secondary);font:var(--type-small);color:var(--text-secondary)}.chat-attachments{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.chat-brief{min-width:min(440px,100%)}.chat-brief__floor{border:0;padding:var(--space-2) 0 10px;display:grid;gap:6px}.chat-brief__floor-name{display:flex;align-items:center;gap:var(--space-2);padding-right:var(--space-2);font:var(--type-label);font-weight:700}.chat-brief__room{display:flex;align-items:center;gap:6px}.chat-brief__name,.chat-brief__area{height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--bg-secondary);font:var(--type-small);color:var(--text-primary)}.chat-brief__name:hover,.chat-brief__area:hover{box-shadow:inset 0 0 0 1px var(--border-primary)}.chat-brief__name:focus,.chat-brief__area:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.chat-brief__name:disabled,.chat-brief__area:disabled{opacity:.6;cursor:not-allowed}.chat-brief__name{flex:1;min-width:0}.chat-brief__area{width:72px}.chat-brief__icon{display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer}.chat-brief__icon:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-brief__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:10px}.chat-brief__accept{margin-top:0}.chat-brief__done{font:var(--type-caption);color:var(--text-muted)}.chat-brief__error{margin-top:6px;font:var(--type-caption);color:var(--accent-danger)}.chat-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) 0 var(--space-6);text-align:center}.chat-empty__title{font:var(--type-display);letter-spacing:-.02em;color:var(--text-primary)}.chat-empty__line{font:var(--type-body);color:var(--text-secondary)}.chat-empty__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-1)}.chat-empty__chip{min-height:var(--control-md);padding:0 12px;border:0;border-radius:var(--radius-control);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out)}.chat-empty__chip:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-empty__kept{position:relative;margin:var(--space-6) 0 0}.chat-empty__kept img{display:block;width:280px;max-width:100%;border-radius:var(--radius-card);box-shadow:var(--edge)}.chat-empty__kept-caption{display:block;margin-bottom:6px;font:var(--type-caption);color:var(--accent-primary);text-align:left}.chat-cell__frame{display:block;position:relative;width:100%;background:var(--bg-secondary);overflow:hidden}.chat-cell__frame .chat-cell__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;animation:chat-fade-in .25s ease-out}@keyframes chat-fade-in{0%{opacity:0}to{opacity:1}}.chat-cell__skeleton{display:block;width:100%;background:linear-gradient(100deg,var(--bg-secondary) 30%,var(--bg-tertiary) 50%,var(--bg-secondary) 70%);background-size:200% 100%;animation:chat-busy 1.6s linear infinite}@media(prefers-reduced-motion:reduce){.chat-cell__skeleton,.chat-cell__frame .chat-cell__img{animation:none}}.chat-mine__head{display:flex;align-items:center;gap:10px}.chat-mine__preview{width:56px;height:56px;border-radius:var(--radius-thumb);object-fit:cover;display:block}.chat-mine__count{color:var(--text-muted);font:var(--type-caption)}.chat-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--overlay-bg)}.chat-picker{display:flex;flex-direction:column;width:min(760px,100%);max-height:min(680px,100%);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);overflow:hidden}.chat-picker__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--border-secondary)}.chat-picker__head h2{font:var(--type-heading)}.chat-picker__close{display:inline-flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer}.chat-picker__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-picker__tabs{display:flex;gap:var(--space-1);padding:0 var(--space-6);overflow-x:auto}.chat-picker__tab{height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:none;font:var(--type-ui);color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.chat-picker__tab:hover{background:var(--bg-secondary);color:var(--text-primary)}.chat-picker__tab--on,.chat-picker__tab--on:hover{background:var(--accent-soft);color:var(--accent-primary)}.chat-picker__count{font-size:12px;font-variant-numeric:tabular-nums;opacity:.7}.chat-picker__body{flex:1;min-height:160px;overflow-y:auto;padding:var(--space-4) var(--space-6)}.chat-picker__empty{font:var(--type-small);color:var(--text-muted)}.chat-picker__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-2)}.chat-picker__item{display:flex;flex-direction:column;gap:var(--space-1);width:100%;padding:4px;border:0;border-radius:var(--radius-md);background:var(--bg-secondary);font:var(--type-caption);color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.chat-picker__item:hover:not(:disabled){background:var(--bg-tertiary)}.chat-picker__item--on,.chat-picker__item--on:hover:not(:disabled){background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent-primary);color:var(--accent-primary)}.chat-picker__item:disabled{opacity:.45;cursor:not-allowed}.chat-picker__thumb{position:relative;display:block;aspect-ratio:4 / 3;border-radius:var(--radius-thumb);background:var(--bg-tertiary);overflow:hidden}.chat-picker__thumb img{width:100%;height:100%;object-fit:cover;display:block}.chat-picker__order{position:absolute;top:4px;left:4px;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-caption);line-height:20px;font-variant-numeric:tabular-nums;text-align:center}.chat-picker__num{margin-left:6px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.chat-picker__saved{position:absolute;top:4px;right:4px;color:var(--accent-saved)}.chat-picker__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-6);box-shadow:0 -1px 0 var(--border-secondary)}.chat-picker__hint{font:var(--type-caption);color:var(--text-muted)}.chat-picker__confirm{margin-top:0;display:inline-flex;align-items:center;gap:6px}@media(max-width:640px){.chat-picker-overlay{padding:0;align-items:flex-end}.chat-picker{width:100%;height:92dvh;max-height:none;border-radius:var(--radius-sheet)}.chat-picker__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-thinking{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font:var(--type-small);color:var(--text-muted)}.chat-thinking__dots{display:inline-flex;gap:3px}.chat-thinking__dots i{width:5px;height:5px;border-radius:var(--radius-pill);background:var(--text-muted);animation:chat-dot 1.2s ease-in-out infinite}.chat-thinking__dots i:nth-child(2){animation-delay:.15s}.chat-thinking__dots i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,80%,to{opacity:.25}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.chat-thinking__dots i{animation:none;opacity:.6}}.chat-cell--draft{min-height:0;width:100%}.chat-msg__mentions{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:var(--space-2)}.chat-msg__mentions .chat-msg__reply{display:inline-flex;align-items:center;gap:6px;margin:0}.chat-msg__status--outside{align-self:flex-end;margin-top:-8px;color:var(--accent-danger)}.chat-reply__thumb{width:28px;height:28px;border-radius:var(--radius-thumb);object-fit:cover;display:block}.chat-mentions{gap:6px}.chat-mentions__count{align-self:center;font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted)}.chat-mentions__count--over{color:var(--accent-danger);font-weight:700}.chat-mention-picker{position:absolute;left:0;right:0;bottom:calc(100% + var(--space-2));z-index:var(--z-menu);list-style:none;display:flex;gap:6px;max-height:140px;overflow-x:auto;padding:var(--space-2);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.chat-mention-picker__item{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);padding:4px;border:0;border-radius:var(--radius-md);background:var(--bg-secondary);font:var(--type-caption);color:var(--text-secondary);cursor:pointer}.chat-mention-picker__item img{width:84px;height:60px;border-radius:var(--radius-thumb);object-fit:cover;display:block}.chat-mention-picker__item:hover{background:var(--bg-tertiary)}.chat-mention-picker__item--active,.chat-mention-picker__item--active:hover{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent-primary);color:var(--accent-primary)}@media(max-width:640px){.chat-scroll{padding:var(--space-4) var(--space-3) var(--space-2)}.chat-dock{padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.chat-msg{max-width:94%}.chat-result__grid{grid-template-columns:minmax(0,1fr)}}}.chat-gate{margin:0 0 8px;padding:8px 14px;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font-size:14px}@layer app{.cshell{position:relative;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-xl);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-composer);transition:box-shadow var(--dur-base) var(--ease-out)}.cshell:focus-within{box-shadow:0 0 0 1px var(--accent-primary),var(--shadow-composer)}.cshell:has(.cshell__input:disabled){background:var(--bg-secondary);box-shadow:var(--edge)}.cshell--bare,.cshell--bare:focus-within,.cshell--bare:has(.cshell__input:disabled){padding:0;border-radius:0;background:none;box-shadow:none}.cshell__top{display:flex;flex-direction:column;gap:var(--space-1)}.cshell__input{display:block;box-sizing:border-box;width:100%;min-height:54px;max-height:174px;padding:7px var(--space-2);border:0;outline:none;resize:none;overflow-y:auto;background:transparent;color:var(--text-primary);font:var(--type-body);field-sizing:content}.cshell__input:focus-visible{outline:none}.cshell__input::placeholder{color:var(--text-muted)}.cshell__input:disabled{cursor:not-allowed}.cshell__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-1) var(--space-2);min-height:var(--control-md)}.cshell__lead,.cshell__trail{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);min-width:0}.cshell__trail{margin-left:auto;justify-content:flex-end}}@layer app{.canvas-view{position:relative;width:100%;flex:1;min-height:0}.canvas-loading,.canvas-error{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:16px;color:var(--text-muted)}.canvas-loading__card{width:260px;max-width:70vw;border-radius:var(--radius-card);background:var(--bg-secondary);overflow:hidden;box-shadow:var(--edge),var(--shadow-sm)}.canvas-loading__thumb{aspect-ratio:16 / 10}.canvas-loading__bar{height:12px;width:58%;margin:13px 15px 16px;border-radius:var(--radius-pill)}.canvas-loading__thumb,.canvas-loading__bar{background-color:var(--bg-tertiary);background-image:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--bg-elevated) 60%,transparent) 50%,transparent 68%);background-size:200% 100%;background-repeat:no-repeat;animation:canvas-shimmer 1.3s ease-in-out infinite}.canvas-loading__label{font:var(--type-caption);color:var(--text-muted);margin:0}@keyframes canvas-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@media(prefers-reduced-motion:reduce){.canvas-loading__thumb,.canvas-loading__bar{animation:none}}.canvas-error button{min-height:var(--control-md);padding:0 var(--space-4);font:var(--type-ui);background:var(--accent-primary);color:var(--text-inverse);border:0;border-radius:var(--radius-control);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.canvas-error button:hover{background:var(--accent-primary-hover)}.canvas-error button:active{transform:scale(.98)}.canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-muted);cursor:pointer;padding:40px 48px;background:var(--bg-elevated);border-radius:var(--radius-card);pointer-events:auto;z-index:5;box-shadow:var(--edge),var(--shadow-card);transition:box-shadow var(--dur-base) var(--ease-out)}.onboarding-tip{position:relative;background:var(--bg-elevated);border-radius:var(--radius-card);padding:28px 32px;max-width:460px;color:var(--text-primary);pointer-events:auto;box-shadow:var(--edge),var(--shadow-card)}.onboarding-tip--card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5}.onboarding-tip--anchored{position:absolute;top:var(--chrome-top, 68px);right:var(--chrome-inset, 16px);z-index:6;max-width:380px}.onboarding-tip__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.onboarding-tip__close{position:absolute;top:var(--space-2);right:var(--space-2);width:var(--control-md);height:var(--control-md);background:transparent;border:0;padding:0;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.onboarding-tip__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.onboarding-tip__title{font:var(--type-heading);margin:0 var(--space-6) var(--space-3) 0;color:var(--text-primary)}.onboarding-tip__body{font:var(--type-small);line-height:1.55;color:var(--text-secondary);margin-bottom:18px}.onboarding-tip__body p{margin:0 0 10px}.onboarding-tip__body p:last-child{margin-bottom:0}.onboarding-tip__body strong{color:var(--text-primary);font-weight:600}.onboarding-tip__cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);min-height:var(--control-lg);padding:0 var(--space-5);border-radius:var(--radius-control);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.onboarding-tip__cta:hover{background:var(--accent-primary-hover)}.onboarding-tip__cta:active{transform:scale(.98)}.canvas-empty:hover{box-shadow:var(--edge),var(--shadow-lift)}.canvas-empty h2{font:var(--type-title);margin-bottom:var(--space-2);color:var(--text-secondary)}.canvas-empty-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}.canvas-empty-overlay__content{text-align:center;color:var(--text-muted);padding:40px 48px;background:var(--bg-elevated);border-radius:var(--radius-card);max-width:440px;pointer-events:auto;box-shadow:var(--edge),var(--shadow-card)}.canvas-empty-overlay__content h2{font:var(--type-title);margin-bottom:var(--space-2);color:var(--text-secondary)}.canvas-empty-overlay__content .onboarding-tip__cta,.canvas-empty .onboarding-tip__cta{margin-top:var(--space-4)}.canvas-empty-overlay__content p{font:var(--type-small);margin:var(--space-1) 0}.gate-steps{list-style:none;counter-reset:gate;text-align:left;margin:var(--space-5) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.gate-steps li{counter-increment:gate;position:relative;min-height:24px;padding-left:36px;font:var(--type-small);color:var(--text-secondary)}.gate-steps li:before{content:counter(gate);position:absolute;left:0;top:-2px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent-primary);font:var(--type-caption);font-variant-numeric:tabular-nums}.gate-steps strong{color:var(--text-primary);font-weight:700}.canvas-tools{gap:2px}.canvas-tools__btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.canvas-tools__btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.canvas-tools__btn:active{transform:scale(.98)}.canvas-tools__btn--active,.canvas-tools__btn--active:hover{background:var(--accent-soft);color:var(--accent-primary)}.canvas-tools__menu-wrap{position:relative}.canvas-tools__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-menu);min-width:200px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.canvas-tools__menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;height:var(--row-h);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-ui);text-align:left;cursor:pointer}.canvas-tools__menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.canvas-tools__btn--wide{width:auto;gap:var(--space-2);padding:0 var(--space-3);font:var(--type-ui);color:var(--text-primary)}.canvas-tools__zoom{color:var(--text-muted);font-variant-numeric:tabular-nums}.canvas-tools__menu-label{display:inline-flex;align-items:center;gap:var(--space-2)}.canvas-tools__menu-sep{height:1px;margin:var(--space-1) 0;background:var(--border-muted)}.canvas-tools__menu-heading{padding:var(--space-2) var(--space-2) 0;font:var(--type-caption);color:var(--text-muted)}.canvas-toolbar__view-only-badge{padding:0 var(--space-3);font:var(--type-caption);color:var(--text-muted);white-space:nowrap}.react-flow__node-generationCard{width:340px;height:440px}.react-flow__node-generationCard.generation-node--collapsed{height:40px!important;min-height:0}.generation-node--collapsed .generation-card{min-height:0}.generation-node--collapsed .generation-card__header{height:100%;padding-block:0}.generation-card{position:relative;border-radius:var(--radius-card);width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-elevated);box-shadow:var(--edge);transition:box-shadow var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.generation-card--generating,.generation-card--pending{min-height:340px;box-shadow:0 0 0 1px var(--accent-primary)}.generation-card--failed{box-shadow:0 0 0 1px var(--accent-danger)}.generation-card--concept{box-shadow:0 0 0 2px var(--accent-saved),var(--edge)}.generation-card--archived{box-shadow:var(--edge);opacity:.6}.react-flow__node.selected .generation-card:not(.generation-card--failed):not(.generation-card--concept):not(.generation-card--generating):not(.generation-card--pending){box-shadow:var(--selection-ring),var(--shadow-card)}.generation-card__header{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-1) var(--space-1);cursor:pointer}.generation-card__spacer{flex:1;min-width:0}.generation-card__author{display:inline-flex;margin-right:var(--space-1)}.generation-card__collapse-btn,.generation-card__menu-btn{display:flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;background:transparent;color:var(--text-muted);border:0;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.generation-card__collapse-btn:hover,.generation-card__menu-btn:hover,.generation-card__menu-btn--open{background:var(--bg-tertiary);color:var(--text-primary)}.generation-card__collapse-btn:active,.generation-card__menu-btn:active{transform:scale(.98)}.generation-card__tag{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font:var(--type-caption);white-space:nowrap}.generation-card__tag--chat{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm);cursor:pointer;transition:background var(--dur-base) var(--ease-out)}.generation-card__tag--chat:hover{background:var(--bg-secondary)}.generation-card__tag--deleted{background:var(--danger-soft);color:var(--accent-danger)}.generation-card__badge{font:var(--type-caption);color:var(--text-muted)}.generation-card__menu{position:fixed;z-index:var(--z-menu);padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.generation-card__generating-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;overflow:hidden}.generation-card__generating-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--bg-secondary);background-image:linear-gradient(100deg,transparent 32%,color-mix(in srgb,var(--bg-elevated) 70%,transparent) 50%,transparent 68%);background-size:200% 100%;background-repeat:no-repeat;animation:canvas-shimmer 1.6s ease-in-out infinite}.generation-card__generating-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;height:var(--control-md);padding:0 var(--space-4);background:var(--bg-elevated);font:var(--type-caption);color:var(--text-secondary);white-space:nowrap;z-index:1;border-radius:var(--radius-sm);box-shadow:var(--edge),var(--shadow-sm)}.generation-card__cancel-btn{position:absolute;left:50%;top:calc(50% + 28px);transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-3);background:var(--bg-elevated);color:var(--text-primary);font:var(--type-caption);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out);border:0;border-radius:var(--radius-sm);box-shadow:var(--edge),var(--shadow-sm)}.generation-card__cancel-btn:hover{background:var(--accent-primary);color:var(--text-inverse)}@media(prefers-reduced-motion:reduce){.generation-card__generating-gradient{animation:none}}.react-flow__node.canvas-focus-highlight .generation-card{animation:canvas-focus 1.6s ease-out}@keyframes canvas-focus{0%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary) 45%,transparent)}to{box-shadow:var(--shadow-sm)}}@media(prefers-reduced-motion:reduce){.react-flow__node.canvas-focus-highlight .generation-card{animation:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-primary) 45%,transparent)}}.generation-card--flash{animation:card-flash .6s ease-out}@keyframes card-flash{0%{box-shadow:0 0 color-mix(in srgb,var(--accent-primary) 30%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary) 16%,transparent)}to{box-shadow:var(--shadow-sm)}}@keyframes nuit-btn-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary) 22%,transparent)}}.generation-card__footer-btn--pulse,.generation-card__footer-branch-btn--pulse{animation:nuit-btn-pulse 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.generation-card__footer-btn--pulse,.generation-card__footer-branch-btn--pulse{animation:none}}.generation-card__error{margin:0 var(--space-2) var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--danger-soft);font:var(--type-small);color:var(--accent-danger)}.generation-card__actions{display:flex;gap:var(--space-2);padding:0 var(--space-2) var(--space-2)}.generation-card__action-btn,.generation-card__footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-caption);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.generation-card__action-btn:hover:not(:disabled),.generation-card__footer-btn:hover:not(:disabled){background:var(--bg-tertiary)}.generation-card__action-btn:active:not(:disabled),.generation-card__footer-btn:active:not(:disabled),.generation-card__footer-branch-btn:active{transform:scale(.98)}.generation-card__action-btn:disabled,.generation-card__footer-btn:disabled{opacity:.4;cursor:not-allowed}.generation-card__body{flex:1;min-height:0;display:flex;flex-direction:column}.generation-card__image-cell{position:relative;flex:1;min-height:0;padding:0 var(--space-2) var(--space-2)}.generation-card__img-wrap{width:100%;height:100%;overflow:hidden;background:var(--bg-tertiary);border-radius:var(--radius-thumb);cursor:pointer}.generation-card__img{width:100%;height:100%;object-fit:cover;display:block}.generation-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font:var(--type-small)}.generation-card__footer{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding:0 var(--space-2) var(--space-2)}.generation-card__footer-btn--icon-only{width:var(--control-sm);padding:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary)}.generation-card__footer-btn--icon-only:hover:not(:disabled){color:var(--text-primary)}.generation-card__icon-flip{transform:scaleX(-1)}.generation-card__version-nav{display:flex;align-items:center;gap:2px}.generation-card__footer-btn--concept{background:transparent;color:var(--text-secondary)}.generation-card__footer-btn--concept-saved,.generation-card__footer-btn--concept-saved:hover:not(:disabled){background:transparent;color:var(--accent-saved-text)}.generation-card__footer-branch-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-sm);margin-left:auto;padding:0 var(--space-3);font:var(--type-caption);background:var(--accent-primary);color:var(--text-inverse);border:0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.generation-card__footer-branch-btn:hover{background:var(--accent-primary-hover)}.generation-card__resize-line{border-color:var(--accent-primary);border-width:1px}.generation-card__resize-handle{width:8px;height:8px;background:var(--accent-primary);border:1px solid var(--bg-elevated);border-radius:var(--radius-xs)}.prompt-mode{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2);font:var(--type-caption);color:var(--text-muted)}.prompt-mode__value{display:inline-flex;align-items:center;height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-primary)}.prompt-dialog__form{display:flex;flex-direction:column;gap:var(--space-2)}.canvas-kbd{padding:2px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--text-inverse) 20%,transparent);font:var(--type-caption);font-variant-numeric:tabular-nums}.ref-images{display:flex;flex-direction:column;gap:var(--space-2)}.ref-images__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2)}.ref-images__item{display:flex;flex-direction:column;gap:var(--space-1)}.ref-images__thumb-wrap{position:relative;aspect-ratio:1;border-radius:var(--radius-thumb);overflow:hidden;background:var(--bg-tertiary)}.ref-images__thumb{width:100%;height:100%;object-fit:cover;display:block}.ref-images__remove{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:var(--text-primary);color:var(--text-inverse);border:0;border-radius:var(--radius-pill);cursor:pointer;opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.ref-images__thumb-wrap:hover .ref-images__remove,.ref-images__remove:focus-visible{opacity:1}@media(hover:none){.ref-images__remove{opacity:1}}.ref-images__comment{width:100%;height:var(--control-sm);padding:0 var(--space-2);font:var(--type-small);background:var(--bg-secondary);color:var(--text-primary);border:0;border-radius:var(--radius-sm);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.ref-images__comment:hover:not(:focus){box-shadow:inset 0 0 0 1px var(--border-primary)}.ref-images__comment:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.node-handle{width:8px!important;height:8px!important;background:var(--border-secondary)!important;border:2px solid var(--bg-secondary)!important}.node-handle:hover{background:var(--accent-secondary)!important}.react-flow__node{cursor:grab}.react-flow__node:active{cursor:grabbing}.react-flow__edge-path{stroke:var(--ink-line)!important;stroke-width:1.5!important;stroke-opacity:1!important}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path{stroke:var(--accent-primary)!important;stroke-opacity:1!important;stroke-width:2!important}.canvas-view .react-flow{background:var(--paper-canvas)}.react-flow__controls{display:none}.generation-card__tag--meta{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brief-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:flex-start;justify-content:center;padding:var(--chrome-top, 68px) var(--space-4) var(--space-4);background:var(--overlay-bg);animation:dialog-fade var(--dur-base) ease}.brief-editor{display:flex;flex-direction:column;width:min(720px,100%);max-height:100%;overflow:hidden;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);animation:dialog-in var(--dur-base) var(--ease-out)}.brief-editor__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-2) var(--space-6)}.brief-editor__title{margin:0;font:var(--type-title);color:var(--text-primary)}.brief-editor__close{display:flex;align-items:center;justify-content:center;width:var(--control-lg);height:var(--control-lg);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.brief-editor__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.brief-editor__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-6) var(--space-6)}.brief-editor__section{margin-bottom:var(--space-6)}.brief-editor__label{display:block;font:var(--type-label);color:var(--text-primary);margin-bottom:var(--space-1)}.brief-editor__desc-hint{margin:0 0 var(--space-3);font:var(--type-small);color:var(--text-muted)}.brief-editor__textarea,.brief-editor__room-name,.brief-editor__room-area,.brief-editor__room-style{width:100%;border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-body);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.brief-editor__textarea{min-height:88px;padding:var(--space-3) 14px;resize:vertical}.brief-editor__room-name,.brief-editor__room-area,.brief-editor__room-style{height:var(--control-lg);padding:0 14px}.brief-editor__textarea::placeholder,.brief-editor__room-name::placeholder,.brief-editor__room-area::placeholder,.brief-editor__room-style::placeholder{color:var(--text-muted)}.brief-editor__textarea:hover:not(:focus),.brief-editor__room-name:hover:not(:focus),.brief-editor__room-area:hover:not(:focus),.brief-editor__room-style:hover:not(:focus){box-shadow:inset 0 0 0 1px var(--border-primary)}.brief-editor__textarea:focus,.brief-editor__room-name:focus,.brief-editor__room-area:focus,.brief-editor__room-style:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.brief-editor__autofill-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);margin-top:var(--space-2);margin-left:auto;padding:0 var(--space-4);border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.brief-editor__section>.brief-editor__autofill-btn{margin-top:0;margin-left:0}.brief-editor__autofill-btn:hover:not(:disabled){background:var(--bg-tertiary)}.brief-editor__autofill-btn:active:not(:disabled){transform:scale(.98)}.brief-editor__autofill-btn:disabled{opacity:.5;cursor:not-allowed}.brief-editor__floor-section{margin-bottom:var(--space-6)}.brief-editor__floor-title{margin:0 0 var(--space-3);font:var(--type-caption);color:var(--text-muted)}.brief-editor__room-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.brief-editor__room-name{flex:1;width:auto}.brief-editor__room-area{width:88px;text-align:right;font-variant-numeric:tabular-nums}.brief-editor__room-style{width:calc(100% - var(--space-4));margin-left:var(--space-4);height:var(--control-md);font:var(--type-small);color:var(--text-secondary)}.brief-editor__room-style:focus{color:var(--text-primary)}.brief-editor__remove-btn,.brief-editor__plan-delete-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.brief-editor__remove-btn:hover,.brief-editor__plan-delete-btn:hover{color:var(--accent-danger);background:var(--danger-soft)}.brief-editor__add-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-sm);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-secondary);font:var(--type-caption);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.brief-editor__add-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.brief-editor__total{font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted);padding:var(--space-2) 0}.brief-editor__footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);justify-content:flex-end;background:var(--bg-elevated);box-shadow:0 -1px 0 var(--border-muted)}.brief-editor__footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-4);border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.brief-editor__footer-btn:hover:not(:disabled){background:var(--bg-tertiary)}.brief-editor__footer-btn:active:not(:disabled){transform:scale(.98)}.brief-editor__footer-btn:disabled{opacity:.5;color:var(--text-muted);cursor:not-allowed}.brief-editor__footer-btn--primary{background:var(--accent-primary);color:var(--text-inverse)}.brief-editor__footer-btn--primary:hover:not(:disabled){background:var(--accent-primary-hover)}.brief-editor__footer-btn--primary:disabled{color:var(--text-inverse)}.brief-editor__footer-btn--floor{min-width:var(--control-lg);font-variant-numeric:tabular-nums}.brief-editor__plan-upload{margin-bottom:var(--space-3)}.brief-editor__plan-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-5) var(--space-4);border:2px solid var(--accent-line);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);font:var(--type-small);cursor:pointer;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,color var(--dur-fast) ease}.brief-editor__plan-upload-btn:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-soft);color:var(--text-primary)}.brief-editor__plan-upload-btn:disabled{opacity:.5;cursor:default}.brief-editor__plan-preview{display:flex;align-items:flex-start;gap:var(--space-3)}.brief-editor__plan-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-thumb);box-shadow:var(--edge)}.brief-editor__plan-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.brief-panel{position:absolute;z-index:var(--z-canvas-ui);width:280px;display:flex;flex-direction:column;max-height:calc(100% - var(--chrome-top, 68px) - 88px);right:var(--chrome-inset, 16px);top:var(--chrome-top, 68px);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.brief-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-2) var(--space-1) var(--space-4)}.brief-panel__title{font:var(--type-heading);color:var(--text-primary)}.brief-panel__collapse{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.brief-panel__collapse:hover{background:var(--bg-secondary);color:var(--text-primary)}.brief-panel__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-4)}.brief-panel__floor{margin-bottom:var(--space-3)}.brief-panel__floor:last-child{margin-bottom:0}.brief-panel__floor-title{font:var(--type-caption);color:var(--text-muted);margin-bottom:var(--space-1)}.brief-panel__room{display:flex;align-items:baseline;gap:var(--space-1);padding:2px 0;font:var(--type-small)}.brief-panel__room-num{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;width:20px}.brief-panel__room-name{flex:1;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brief-panel__room-area{font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted);flex-shrink:0}.brief-panel__edit{display:flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-md);margin:var(--space-2) var(--space-3) var(--space-3);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.brief-panel__edit:hover{background:var(--bg-tertiary)}.brief-panel__edit:active{transform:scale(.98)}.brief-panel-tab{position:absolute;right:var(--chrome-inset, 16px);top:var(--chrome-top, 68px);z-index:var(--z-canvas-ui);display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font:var(--type-ui);cursor:pointer;box-shadow:var(--edge),var(--shadow-pill);transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.brief-panel-tab:hover{background:var(--bg-secondary)}.brief-panel-tab:active{transform:scale(.98)}.interiors-layout{position:relative;flex:1;display:flex;min-height:0;overflow:hidden}.interiors-rooms-panel{position:absolute;z-index:var(--z-canvas-ui);top:var(--chrome-top, 68px);left:var(--chrome-inset, 16px);width:280px;max-height:calc(100% - var(--chrome-top, 68px) - 88px);display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.interiors-rooms-panel__floors{display:flex;gap:2px;margin:var(--space-3) var(--space-3) 0;padding:2px;border-radius:var(--radius-sm);background:var(--bg-secondary)}.interiors-rooms-panel__floor-tab{flex:1;min-width:0;height:var(--control-sm);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--type-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.interiors-rooms-panel__floor-tab:hover{color:var(--text-primary)}.interiors-rooms-panel__floor-tab--active,.interiors-rooms-panel__floor-tab--active:hover{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.interiors-rooms-panel__plan{margin:var(--space-3);border-radius:var(--radius-thumb);overflow:hidden;background:var(--bg-secondary);cursor:pointer}.interiors-rooms-panel__plan-img{width:100%;display:block;transition:opacity var(--dur-base) var(--ease-out)}.interiors-rooms-panel__plan:hover .interiors-rooms-panel__plan-img{opacity:.85}.interiors-rooms-panel__list{flex:1;min-height:0;overflow-y:auto;padding:0 var(--space-2) var(--space-2)}.interiors-rooms-panel__floor-title{padding:var(--space-2) var(--space-2) var(--space-1);font:var(--type-caption);color:var(--text-muted)}.interiors-rooms-panel__room{padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:var(--radius-control);transition:background var(--dur-fast) ease}.interiors-rooms-panel__room:hover{background:var(--bg-secondary)}.interiors-rooms-panel__room--selected,.interiors-rooms-panel__room--selected:hover{background:var(--accent-soft)}.interiors-rooms-panel__room-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-1)}.interiors-rooms-panel__room-name{font:var(--type-ui);color:var(--text-primary)}.interiors-rooms-panel__room--selected .interiors-rooms-panel__room-name{color:var(--accent-primary)}.interiors-rooms-panel__room-area{font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted)}.interiors-rooms-panel__room-count{font:var(--type-caption);color:var(--text-muted);display:block;margin-top:2px}.interiors-rooms-panel__thumbs{display:flex;gap:var(--space-1);margin-top:var(--space-2);overflow-x:auto}.interiors-rooms-panel__thumb{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.interiors-rooms-panel__thumb-more{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font:var(--type-caption);color:var(--text-muted);flex-shrink:0}.interiors-rooms-panel__generate-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-sm);margin-top:var(--space-2);padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-primary);font:var(--type-caption);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.interiors-rooms-panel__generate-btn:hover{background:var(--accent-primary);color:var(--text-inverse)}.interiors-rooms-panel__generate-btn:active{transform:scale(.98)}.portfolio-view{flex:1;overflow-y:auto;padding:32px 40px 80px}.portfolio-view__loading{text-align:center;padding:80px 0;color:var(--text-muted)}.portfolio-view__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px;padding-bottom:24px;box-shadow:0 1px 0 var(--border-secondary)}.portfolio-view__title{margin:0;font:var(--type-display);color:var(--text-primary)}.portfolio-view__subtitle{margin:4px 0 0;font-size:14px;color:var(--text-muted);font-style:normal}.portfolio-view__download{display:flex;align-items:center;gap:6px;height:var(--control-lg);padding:0 var(--space-5);border:none;border-radius:var(--radius-control);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);cursor:pointer;white-space:nowrap;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);flex-shrink:0}.portfolio-view__download:hover:not(:disabled){background:var(--accent-primary-hover)}.portfolio-view__download:active:not(:disabled){transform:scale(.98)}.portfolio-view__download:disabled{opacity:.5;cursor:not-allowed}.portfolio-view__error{margin:calc(-1 * var(--space-6)) 0 var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--accent-danger);font:var(--type-small)}.portfolio-view__retry{margin:var(--space-4) auto 0}.portfolio-view__empty{text-align:center;padding:80px 0;color:var(--text-muted)}.portfolio-view__empty h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-secondary)}.portfolio-view__section{margin-bottom:40px}.portfolio-view__section-title{margin:0 0 16px;font:var(--type-label);color:var(--text-muted);display:flex;align-items:center;gap:8px}.portfolio-view__section-count{font-size:12px;font-weight:500;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-pill)}.portfolio-view__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.portfolio-view__checkpoint{display:flex;flex-direction:column;gap:6px;margin:0}.portfolio-view__checkpoint-date{flex-shrink:0;color:var(--text-muted)}.portfolio-view__meta{display:flex;flex-direction:column;gap:8px;padding:var(--space-4);background:var(--bg-elevated);border:0;border-radius:var(--radius-card);box-shadow:var(--edge),var(--shadow-sm);margin-bottom:12px}.portfolio-view__meta-row{display:flex;gap:12px;font-size:13px}.portfolio-view__meta-label{min-width:140px;font-weight:600;color:var(--text-muted);flex-shrink:0}@media(max-width:600px){.react-flow__node-generationCard{width:280px;height:auto}.generation-card{width:100%;height:auto;min-height:360px}.canvas-toolbar{overflow-x:auto;padding:4px 8px;gap:4px;max-width:100vw}}.composer-dock{position:absolute;z-index:var(--z-composer);left:50%;bottom:var(--chrome-inset, 16px);transform:translate(-50%);width:min(720px,calc(100% - 2 * var(--chrome-inset, 16px)));container:composer / inline-size;pointer-events:none}.composer{pointer-events:auto}.composer__chip{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:2px 4px 2px 6px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-primary);font:var(--type-ui)}.composer__chip-thumb{width:28px;height:28px;border-radius:var(--radius-thumb);object-fit:cover}.composer__chip-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer__chip-clear{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-sm);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;font:inherit;cursor:pointer}.composer__chip-clear{width:var(--control-sm);justify-content:center;padding:0}.composer__chip-clear:hover{background:var(--bg-elevated)}.composer__markup{display:inline-flex;align-items:center;gap:var(--space-1);height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out)}.composer__markup:hover{background:var(--bg-tertiary)}.composer__hint{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font:var(--type-small)}.composer__hint strong{color:var(--text-primary)}.composer__refs{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0 var(--space-1)}.composer__ref{display:flex;align-items:center;gap:var(--space-2);padding:4px 8px 4px 4px;border-radius:var(--radius-md);background:var(--bg-secondary)}.composer__ref-thumb-wrap{position:relative;width:40px;height:40px}.composer__ref-thumb{width:100%;height:100%;border-radius:var(--radius-thumb);object-fit:cover}.composer__ref-remove{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--text-primary);color:var(--text-inverse);cursor:pointer}.composer__ref-comment{width:150px;height:var(--control-sm);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);font:var(--type-small)}.composer__plus{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.composer__plus:hover:not(:disabled){background:var(--bg-tertiary)}.composer__plus:active:not(:disabled){transform:scale(.98)}.composer__plus:disabled{opacity:.4;cursor:not-allowed}.composer__input{width:100%;min-height:var(--control-md);padding:7px var(--space-2);border:0;outline:none;resize:none;overflow-y:auto;background:transparent;color:var(--text-primary);font:var(--type-body)}.composer__input::placeholder{color:var(--text-muted)}.composer__icon-btn{display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.composer__icon-btn:hover{background:var(--bg-tertiary)}.composer__icon-btn:active{transform:scale(.98)}.composer__send{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-md);padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.composer__send:hover:not(:disabled){background:var(--accent-primary-hover)}.composer__send:active:not(:disabled){transform:scale(.98)}.composer__send:disabled{opacity:.4;cursor:not-allowed}.composer__settings{pointer-events:auto;margin-bottom:var(--space-2)}.composer__error{margin:0;padding:0 var(--space-3);color:var(--accent-danger);font:var(--type-small)}.composer .credits-notice{margin:0;padding:0 var(--space-3)}.composer__meta{display:none;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding:0 var(--space-3) var(--space-1)}.composer:focus-within .composer__meta,.composer__meta[data-keep=true]{display:flex}.composer__meta .prompt-mode,.composer__meta .ref-context{margin:0}.ref-slots{font:var(--type-caption);font-variant-numeric:tabular-nums;color:var(--text-muted)}.ref-slots--full{color:var(--text-primary)}.ref-context{position:relative;font:var(--type-small);color:var(--text-secondary)}.ref-context__toggle{padding:0;font:inherit;color:inherit;background:none;border:0;text-decoration:underline;text-decoration-color:var(--border-primary);text-underline-offset:3px;cursor:pointer}.ref-context__toggle:hover:not(:disabled){color:var(--text-primary)}.ref-context__toggle:disabled{text-decoration:none;cursor:default}.ref-context__pop{position:absolute;z-index:var(--z-menu);left:0;top:calc(100% + var(--space-1));width:320px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:12px;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.composer .ref-context__pop{top:auto;bottom:calc(100% + 4px)}.ref-context__head{margin-bottom:8px;font-weight:600;color:var(--text-primary)}.ref-context__scroll--many{max-height:220px;overflow-y:auto}.ref-context__group+.ref-context__group{margin-top:10px}.ref-context__label{margin:0 0 4px;font:var(--type-caption);color:var(--text-muted)}.ref-context__grid{display:grid;grid-template-columns:repeat(4,64px);gap:8px}.ref-context__thumb{width:64px;height:48px;padding:0;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:6px;cursor:pointer}.ref-context__thumb:hover{border-color:var(--border-primary)}.ref-context__thumb:focus-visible{outline:2px solid var(--text-primary);outline-offset:1px}.ref-context__thumb img{display:block;width:100%;height:100%;object-fit:cover}.ref-context__hint{margin:10px 0 0;font:var(--type-small);color:var(--text-muted)}.ref-images__bar{display:flex;align-items:center;gap:var(--space-3)}.plan-start{display:flex;flex-direction:column;gap:var(--space-3)}.plan-start__lead,.plan-start__heading{margin:0;font:var(--type-heading);color:var(--text-primary)}.plan-start__list,.plan-start__starters{list-style:none;margin:0;padding:0}.plan-start__list{display:flex;flex-direction:column;gap:var(--space-2)}.plan-start__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;padding:var(--space-4);border:0;border-radius:var(--radius-card);background:var(--bg-secondary);color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.plan-start__row:hover:not(:disabled){background:var(--bg-tertiary)}.plan-start__row:active:not(:disabled){transform:scale(.99)}.plan-start__row:disabled{opacity:.5;cursor:default}.plan-start__row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.plan-start__row-title{font:var(--type-body-strong)}.plan-start__row-hint{margin:0;font:var(--type-small);color:var(--text-muted)}.plan-start__quiet,.plan-start__link{display:inline-flex;align-items:center;gap:var(--space-2);width:fit-content;min-height:var(--control-sm);padding:0 var(--space-2);margin-left:calc(-1 * var(--space-2));border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font:var(--type-small);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease}.plan-start__link{color:var(--accent-primary)}.plan-start__quiet:hover,.plan-start__link:hover{background:var(--bg-secondary);color:var(--text-primary)}.plan-start__link:hover{color:var(--accent-primary-hover)}.plan-start__link--top{margin-bottom:var(--space-3)}.plan-start__starters{display:flex;flex-wrap:wrap;gap:var(--space-2)}.plan-start__starter,.plan-start__pill{display:inline-flex;align-items:center;justify-content:center;height:var(--control-md);padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.plan-start__starter:hover,.plan-start__pill:hover:not(:disabled){color:var(--text-primary);background:var(--bg-secondary)}.plan-start__starter:active,.plan-start__pill:active:not(:disabled){transform:scale(.98)}.plan-start__pill{min-width:var(--control-md);padding:0 var(--space-3);font-variant-numeric:tabular-nums}.plan-start__pill--text{padding:0 var(--space-4)}.plan-start__pill--on,.plan-start__pill--on:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-primary)}.plan-start__pill:disabled{opacity:.5;cursor:default}.plan-start__summary{margin:0;font:var(--type-small);line-height:1.5;color:var(--text-secondary);white-space:pre-wrap}.plan-start__status{font:var(--type-caption);color:var(--text-muted)}.plan-start__next{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);box-shadow:0 -1px 0 var(--border-muted)}.plan-start__variants{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;margin:0;padding:var(--space-2) 0 0;border:0}.plan-start__variants legend{padding:0;margin-bottom:var(--space-1)}.plan-start__kind{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}.plan-start__kind input{margin-top:3px;accent-color:var(--accent-primary)}.plan-start__count{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.plan-start__footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-1)}.plan-start__footer--bar{margin:0;padding:var(--space-4) var(--space-6);row-gap:var(--space-3);justify-content:flex-end;background:var(--bg-elevated);box-shadow:0 -1px 0 var(--border-muted)}.plan-start__reason{font:var(--type-small);color:var(--text-muted)}.plan-start__error{margin:0;padding:var(--space-3);border-radius:var(--radius-control);background:var(--danger-soft);font:var(--type-small);color:var(--text-primary)}.plan-start__error p{margin:0 0 var(--space-1)}.plan-start__error-actions{display:flex;gap:var(--space-4)}.plan-start__floors{margin:var(--space-1) 0}.plan-start__area{display:inline-flex;align-items:center;gap:var(--space-1)}.plan-start__unit{font:var(--type-small);color:var(--text-muted)}.plan-start__note-link{font:var(--type-caption)}.plan-start__settings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);flex-basis:100%}@media(max-width:640px){.brief-editor-backdrop{padding:var(--space-2)}.brief-editor__header{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.brief-editor__body{padding:var(--space-2) var(--space-4) var(--space-4)}.brief-editor__footer{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.plan-start__footer--bar{padding:var(--space-3) var(--space-4);justify-content:flex-start}}}@layer app{.plan-editor__spacer{flex:1}.plan-editor__sync{color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-floors{display:flex;gap:2px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.plan-floors__tab{min-height:var(--control-md);padding:0 10px;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font:var(--type-ui)}.plan-floors__tab:hover:not(.is-active){background:var(--bg-secondary);color:var(--text-primary)}.plan-floors__tab.is-active{background:var(--bg-tertiary);color:var(--text-primary)}.plan-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-md);padding:0 12px;background:var(--bg-secondary);border:0;border-radius:var(--radius-control);color:var(--text-primary);font:var(--type-ui);cursor:pointer}.plan-btn:hover:not(:disabled){background:var(--bg-tertiary)}.plan-btn:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:default}.plan-btn:focus-visible,.plan-tools__btn:focus-visible,.plan-floors__tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.plan-btn--icon{width:var(--control-md);padding:0;background:transparent;border-radius:var(--radius-sm)}.plan-btn--icon:hover:not(:disabled){background:var(--bg-secondary)}.plan-btn--icon.is-on{background:var(--accent-soft);color:var(--accent-primary)}.plan-btn--small{min-height:var(--control-sm);padding:0 10px}.plan-btn--zoom{min-width:64px;justify-content:center;background:transparent;font-variant-numeric:tabular-nums}.plan-btn--zoom.is-on{background:var(--accent-soft);color:var(--accent-primary)}.plan-btn--primary{background:var(--accent-primary);color:var(--text-inverse)}.plan-btn--primary:hover:not(:disabled){background:var(--accent-primary-hover)}.plan-btn--primary:disabled{background:var(--bg-secondary);color:var(--text-muted)}.plan-editor__notice{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--danger-soft);color:var(--accent-danger)}.plan-tools__btn{width:var(--control-md);height:var(--control-md);display:grid;place-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.plan-tools__btn:hover:not(:disabled):not(.is-active){background:var(--bg-secondary)}.plan-tools__btn.is-active{background:var(--ink-fill);color:var(--text-on-ink)}.plan-tools__btn:disabled{opacity:.35;cursor:default}.plan-editor__state{margin:auto;text-align:center;color:var(--text-muted);display:grid;gap:12px;justify-items:center}.plan-stage{flex:1;overflow:auto;background:var(--bg-primary)}.plan-stage__sheet{position:relative;margin:0 auto}.plan-stage__drawing{position:absolute;inset:0 auto auto 0;pointer-events:none}.plan-stage__drawing svg{display:block}.plan-stage__overlay{position:absolute;inset:0 auto auto 0;touch-action:none;-webkit-user-select:none;user-select:none}.plan-stage[data-tool=select] .plan-stage__overlay{cursor:default}.plan-stage:not([data-tool=select]):not([data-tool=view]) .plan-stage__overlay{cursor:crosshair}.plan-h{fill:var(--bg-elevated);stroke:var(--accent-primary);stroke-width:1.5}.plan-h--node{fill:var(--accent-primary);stroke:none;opacity:.55}.plan-h--curve{fill:var(--accent-primary);stroke:var(--bg-elevated)}.plan-draft{fill:none;stroke:var(--accent-primary);stroke-width:1.5}.plan-draft__label{font-size:12px;font-variant-numeric:tabular-nums;fill:var(--accent-primary);paint-order:stroke;stroke:var(--bg-primary);stroke-width:3px}.plan-snap{fill:none;stroke:var(--accent-primary);stroke-width:1.5}.plan-snap--grid{opacity:.5}.plan-panel{padding:12px}.plan-panel h3{font:var(--type-heading);margin-bottom:8px;display:flex;align-items:center;gap:8px}.plan-panel__empty{color:var(--text-muted);display:flex;gap:6px;align-items:center}.plan-props{display:grid;gap:4px}.plan-props__readout{color:var(--text-muted);font-variant-numeric:tabular-nums}.plan-field{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;min-height:var(--row-h);font:var(--type-label);color:var(--text-secondary)}.plan-field--check{grid-template-columns:auto 1fr}.plan-field__input{display:flex;align-items:center;gap:4px}.plan-field__input em{font:var(--type-caption);color:var(--text-muted);min-width:20px}.plan-field input[type=text],.plan-field select{width:100%;min-width:0;height:var(--control-md);padding:0 10px;font:var(--type-ui);background:var(--bg-secondary);border:0;border-radius:var(--radius-control);color:var(--text-primary);font-variant-numeric:tabular-nums}.plan-field input:hover:not(:focus),.plan-field select:hover:not(:focus){box-shadow:inset 0 0 0 1px var(--border-primary)}.plan-field input:focus-visible,.plan-field select:focus-visible{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.plan-checks ul{list-style:none;display:grid;gap:4px}.plan-checks__count{background:var(--bg-tertiary);color:var(--text-primary);padding:0 6px;border-radius:var(--radius-pill);font:var(--type-caption);font-variant-numeric:tabular-nums}.plan-checks__count.is-hard{background:var(--accent-danger);color:var(--text-inverse)}.plan-check{display:flex;align-items:flex-start;gap:6px;min-height:var(--row-h);border-radius:var(--radius-sm);background:transparent}.plan-check:hover{background:var(--bg-secondary)}.plan-check__main{flex:1;display:grid;gap:2px;text-align:left;padding:6px 8px;font:var(--type-ui);background:transparent;border:0;font:inherit;color:inherit;cursor:pointer}.plan-check__main small{color:var(--text-muted)}.plan-check__sev{justify-self:start;padding:0 6px;border-radius:var(--radius-xs);background:var(--warning-soft);font:var(--type-caption);color:var(--accent-warning)}.plan-check--hard .plan-check__sev{background:var(--danger-soft);color:var(--accent-danger)}.plan-check .plan-btn{margin:4px}@media(prefers-reduced-motion:reduce){.plan-editor *{transition:none!important;animation:none!important}}.generation-card__tag--plan{background:var(--accent-soft);color:var(--accent-primary)}.generation-card__tag--plan-checks{background:var(--bg-tertiary);color:var(--text-primary)}.generation-card__tag--plan-hard{background:var(--accent-danger);color:var(--text-inverse)}.plan-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:13px}.plan-editor--embedded{position:absolute;z-index:auto}.plan-editor__main{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.plan-chrome{position:absolute;left:var(--chrome-inset);right:var(--chrome-inset);top:var(--chrome-top);display:flex;align-items:flex-start;gap:var(--chrome-gap);pointer-events:none;z-index:2}.plan-chrome>*{pointer-events:auto}.plan-pill{display:inline-flex;align-items:center;gap:2px;min-height:40px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.plan-pill--actions{flex-wrap:wrap}.plan-editor__spacer{flex:1;pointer-events:none}.plan-menu{position:relative}.plan-menu__list{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;max-width:320px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);z-index:var(--z-menu);display:grid}.plan-menu__item{display:flex;align-items:center;gap:8px;min-height:var(--row-h);padding:4px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:var(--type-ui);text-align:left;cursor:pointer}.plan-menu__item:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.plan-menu__list--left{right:auto;left:0}.plan-menu__list--side{top:0;right:auto;left:calc(100% + 8px)}.plan-menu__sep{height:1px;margin:4px 0;background:var(--border-muted)}.plan-menu__check,.plan-menu__item .plan-checks__count{margin-left:auto}.plan-menu__item .plan-checks__count+.plan-menu__check{margin-left:0}.plan-menu__dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--accent-warning)}.plan-menu__dot.is-hard{background:var(--accent-danger)}.plan-btn--icon,.plan-tools__more{position:relative}.plan-menu__item:disabled{opacity:.45;cursor:default}.plan-editor__notice{position:absolute;left:50%;top:calc(var(--chrome-top) + 52px);transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:8px;max-width:min(560px,calc(100% - 32px));padding:8px 12px;border-radius:var(--radius-card);background:var(--danger-soft);box-shadow:var(--edge),var(--shadow-pill);color:var(--accent-danger)}.plan-editor__notice span{flex:1}.plan-tools{position:absolute;left:var(--chrome-inset);top:calc(var(--chrome-top) + 56px);z-index:2;display:flex;flex-direction:column;gap:2px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.plan-editor__hint{position:absolute;left:76px;top:calc(var(--chrome-top) + 64px);z-index:2;max-width:50%;padding:6px 10px;background:var(--bg-elevated);border-radius:var(--radius-control);box-shadow:var(--edge),var(--shadow-pill);color:var(--text-secondary);pointer-events:none}.plan-cards{position:absolute;right:0;top:var(--header-h);bottom:0;z-index:3;width:var(--panel-params-w);display:flex;flex-direction:column;overflow:auto;background:var(--bg-elevated);box-shadow:-1px 0 0 var(--border-secondary)}.plan-cards[hidden]{display:none}.plan-cards__head{flex:none;display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-2) 0 var(--space-4);border-bottom:1px solid var(--border-secondary)}.plan-cards__head h2{font:var(--type-heading)}.plan-cards__reopen{position:absolute;right:var(--chrome-inset);top:calc(var(--header-h) + var(--chrome-gap));z-index:3;background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.plan-card{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-secondary)}.plan-card h3{font:var(--type-heading);margin-bottom:8px;display:flex;align-items:center;gap:8px}.plan-instruction{position:absolute;left:50%;bottom:var(--chrome-inset);transform:translate(-50%);z-index:2;width:min(720px,calc(100% - 32px))}.plan-variants{display:flex;align-items:center;gap:4px}.plan-instruction__note{margin:0;padding:0 var(--space-2);color:var(--text-muted)}.plans-surface:has(.plan-cards:not([hidden])){--ps-side: calc(var(--panel-params-w) + 24px)}.plan-editor:has(.plan-cards:not([hidden])) .plan-chrome{right:calc(var(--panel-params-w) + var(--chrome-inset))}.plan-editor:has(.plan-cards:not([hidden])) .plan-instruction{left:calc(50% - var(--panel-params-w) / 2);width:min(720px,calc(100% - var(--panel-params-w) - 32px))}@media(max-width:900px){.plan-cards{width:260px}}@media(max-width:600px){.plan-cards{position:static;width:auto;box-shadow:none}}}@layer app{.plans-surface{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:var(--bg-primary)}.plans-surface__state,.plans-empty{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;height:fit-content;width:min(520px,calc(100% - 32px));display:grid;gap:12px;justify-items:start;text-align:left}.plans-surface__state{justify-items:center;text-align:center;color:var(--text-muted)}.plans-empty{padding:24px;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.plans-empty h2{font:var(--type-display);letter-spacing:-.02em}.plans-empty p{color:var(--text-secondary)}.plans-empty textarea{width:100%;resize:none;padding:10px 12px;font:inherit;border:0;border-radius:var(--radius-control);background:var(--bg-secondary);color:var(--text-primary)}.plans-empty__actions{display:flex;flex-wrap:wrap;gap:8px}.plans-empty__error{display:flex;gap:6px;align-items:center;color:var(--accent-danger)}.plans-surface{--ps-side: 48px;--ps-left: 48px;--ps-top: calc(var(--chrome-top) + 8px);--ps-composer: 176px;--ps-rail: 96px}.plans-surface--floors{--chrome-top: calc(var(--header-h) + 60px)}.plans-floors{position:absolute;top:calc(var(--header-h) + var(--chrome-gap));left:50%;transform:translate(-50%);max-width:calc(100% - 32px);overflow-x:auto;z-index:3}.plans-floors .plan-floors__tab{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-md);white-space:nowrap}.plans-floors__mark{color:var(--accent-primary)}.plans-floors__dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--text-muted)}.plans-surface--rail{--ps-left: calc(var(--chrome-inset) + var(--ps-rail) + 32px)}.plans-surface--vector{--ps-top: calc(var(--chrome-top) + 56px);--ps-left: 76px}.plans-surface--vector.plans-surface--rail{--ps-left: calc(76px + var(--ps-rail) + 24px)}.plan-picture{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.plan-picture>*{pointer-events:auto}.plan-sheet-area{position:absolute;top:var(--ps-top);bottom:var(--ps-composer);left:var(--ps-left);right:var(--ps-side);display:grid;place-items:center;container-type:size;pointer-events:none}.plan-sheet-wrap{width:min(100cqw,calc((100cqh - 48px) * var(--ratio, 1.4)));display:flex;flex-direction:column;gap:8px;pointer-events:auto}.plan-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.plan-sheet-head__title{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--type-heading)}.plan-sheet-head__floor{font-weight:400;color:var(--text-secondary)}.plan-sheet-head__active{padding:0 6px;border-radius:var(--radius-xs);background:var(--accent-soft);font:var(--type-caption);color:var(--accent-primary)}.plan-sheet-head__tag{margin-left:8px;padding:0 6px;border-radius:var(--radius-xs);background:var(--bg-secondary);color:var(--text-secondary);font:var(--type-caption)}.plan-sheet-head__actions{display:flex;align-items:center;gap:6px}.plan-btn--round{min-height:var(--control-md);border-radius:var(--radius-control)}.plan-btn--round.is-on{background:var(--accent-soft);color:var(--accent-primary)}.plan-sheet{position:relative;display:block;width:100%;aspect-ratio:var(--ratio, 1.4);padding:0;border:0;border-radius:0;background:var(--bg-elevated);box-shadow:var(--edge);overflow:hidden;cursor:zoom-in}.plan-sheet img{display:block;width:100%;height:100%;object-fit:contain;background:var(--bg-elevated)}.plan-paper{filter:url(#plan-paper)}.plan-sheet__status{position:absolute;inset:auto 12px 12px auto;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-secondary);font:var(--type-small)}.plan-menu__list:has(.plan-menu__item--note){width:300px}.plan-menu__item--note{cursor:default;color:var(--text-muted);align-items:flex-start}.plan-menu__item--note>span{display:grid;gap:2px;min-width:0}.plan-menu__item--note small{display:block;font-size:12px;line-height:1.35;white-space:normal}.plans-surface .plan-editor--embedded{background:transparent}.plans-surface .plan-editor--embedded .plan-editor__main{inset:var(--ps-top) var(--ps-side) var(--ps-composer) var(--ps-left);border-radius:0;background:var(--bg-elevated);box-shadow:var(--edge);overflow:hidden}.plan-rail{position:absolute;left:calc(var(--chrome-inset) - 4px);top:var(--ps-top);bottom:var(--ps-composer);width:calc(var(--ps-rail) + 8px);box-sizing:border-box;padding:4px;display:flex;flex-direction:column;overflow-y:auto;z-index:3;scrollbar-width:none}.plans-surface--vector .plan-rail{left:72px}.plan-rail ul{margin:auto 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.plan-rail__item{display:grid;justify-items:center;gap:2px;width:100%;padding:0;border:0;background:none;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer}.plan-rail__thumb{position:relative;display:block;width:var(--ps-rail);height:var(--ps-rail);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);overflow:hidden}.plan-rail__item:focus-visible{outline:none}.plan-rail__item:focus-visible .plan-rail__thumb{box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--accent-primary)}.plan-rail__letter{display:flex;align-items:center;gap:4px}.plan-rail__thumb img{width:100%;height:100%;object-fit:contain}.plan-rail__item.is-active .plan-rail__thumb{box-shadow:0 0 0 2px var(--accent-primary)}.plan-rail__item.is-active{color:var(--text-primary)}.plan-rail__kept{padding:0 6px;border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-primary);font:var(--type-caption);line-height:16px}@media(max-width:600px){.plans-surface{--ps-side: 16px;--ps-left: 16px;--ps-composer: 192px}.plans-surface--vector,.plans-surface--rail,.plans-surface--vector.plans-surface--rail{--ps-left: 16px}.plans-surface--rail .plan-sheet-area,.plans-surface--rail.plans-surface--vector .plan-editor--embedded .plan-editor__main{bottom:calc(var(--ps-composer) + var(--ps-rail) + 28px)}.plan-rail,.plans-surface--vector .plan-rail{top:auto;left:var(--chrome-inset);right:var(--chrome-inset);bottom:calc(var(--ps-composer) + 8px);width:auto;height:calc(var(--ps-rail) + 28px);flex-direction:row;overflow-x:auto;overflow-y:hidden}.plan-rail ul{margin:0 auto 0 0;flex-direction:row}.plan-rail li{flex:none;width:var(--ps-rail)}}}.canvas-tools__btn.send-to-3d__btn{width:auto;gap:var(--space-2);padding:0 var(--space-3);font:var(--type-ui)}.canvas-tools__btn.send-to-3d__btn:disabled{opacity:.45;cursor:not-allowed}@layer app{.kept-card{position:relative;display:flex;flex-direction:column;margin:0;overflow:hidden;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge);transition:box-shadow var(--dur-base) var(--ease-out)}.kept-card:hover{box-shadow:var(--edge),var(--shadow-card)}.kept-card__open{display:block;padding:0;border:0;background:var(--bg-tertiary);cursor:pointer}.kept-card__img{display:block;width:100%;height:auto}.kept-card__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:6px}.kept-card__spacer{flex:1}.kept-card__caption{display:flex;flex:1;min-width:0;justify-content:space-between;gap:var(--space-2);padding-left:var(--space-1);font:var(--type-caption);color:var(--text-secondary)}.kept-card__caption>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kept-card__outdated{font-style:normal;color:var(--text-muted)}.kept-card__more{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:var(--control-md);height:var(--control-md);padding:0;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm);cursor:pointer;opacity:0;transition:opacity var(--dur-base) var(--ease-out)}.kept-card:hover .kept-card__more,.kept-card:focus-within .kept-card__more,.kept-card__more[aria-expanded=true]{opacity:1}@media(pointer:coarse),(hover:none){.kept-card__more{opacity:1}}}@layer app{.kept-side{flex:none;display:flex;flex-direction:column;width:var(--panel-kept-w);margin:var(--header-h) 0 0;overflow:hidden;background:var(--bg-elevated);box-shadow:1px 0 0 var(--border-secondary);color:var(--text-primary)}.kept-side__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);height:44px;flex:none;padding:0 var(--space-2) 0 var(--space-4)}.kept-side__filter{flex:none;padding:0 12px 12px;border-bottom:1px solid var(--border-secondary)}.kept-seg{display:flex;gap:2px;height:var(--control-md);padding:2px;border-radius:var(--radius-md);background:var(--bg-secondary)}.kept-seg__btn{flex:1;min-width:0;padding:0 10px;border:0;border-radius:6px;background:none;color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.kept-seg__btn:hover{color:var(--text-primary)}.kept-seg__btn--active,.kept-seg__btn--active:hover{background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-primary)}.kept-side__title{display:flex;align-items:center;gap:6px;margin:0;font:var(--type-heading)}.kept-side__count{font:var(--type-caption);color:var(--text-secondary);font-variant-numeric:tabular-nums}.kept-side__count--dot:before{content:"· "}.kept-side__count--badge{min-width:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--bg-secondary);text-align:center}.kept-side__close{display:flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer}.kept-side__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.kept-side__body{flex:1;min-height:0;overflow-y:auto;padding:12px;scrollbar-width:thin}.kept-side__foot{flex:none;display:flex;align-items:center;min-height:36px;padding:0 12px;background:var(--bg-secondary);box-shadow:0 -1px 0 var(--border-secondary);font:var(--type-label);color:var(--text-primary)}.kept-side__lead,.kept-side__note{margin:0 0 var(--space-3);font:var(--type-small);color:var(--text-secondary)}.kept-side__section{margin-top:var(--space-4)}.kept-side__section-title{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-2);font:var(--type-label);color:var(--text-secondary)}.kept-side__section-title--current{color:var(--text-primary)}.kept-side__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kept-side__link{margin-top:var(--space-2);padding:4px 0;border:0;background:none;font:var(--type-caption);color:var(--accent-primary);cursor:pointer}.kept-side__link:hover{color:var(--accent-primary-hover);text-decoration:underline}.kept-thumb{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-thumb);background:var(--bg-tertiary);box-shadow:var(--edge)}.kept-thumb--earlier{opacity:.5}.kept-side--has-context .kept-thumb:not(.kept-thumb--context):not(.kept-thumb--earlier){opacity:.65;transition:opacity var(--dur-base) var(--ease-out)}.kept-side--has-context .kept-thumb:not(.kept-thumb--context):hover{opacity:1}.kept-thumb--context{box-shadow:0 0 0 2px var(--accent-primary)}.kept-thumb__open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer}.kept-thumb__img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.kept-thumb__badge,.kept-thumb__context{position:absolute;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 12px);padding:1px 6px;overflow:hidden;border-radius:var(--radius-xs);background:var(--bg-elevated);box-shadow:var(--edge);font:var(--type-caption);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.kept-thumb__badge{left:6px;bottom:6px;color:var(--text-secondary)}.kept-thumb__context{left:6px;top:6px;background:var(--accent-soft);box-shadow:none;color:var(--accent-primary)}.kept-thumb__dot{display:none}.kept-thumb__unkeep{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm);cursor:pointer}.kept-thumb__unkeep:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.kept-thumb__keep:disabled{opacity:.6;cursor:default}.kept-thumb__mark{position:absolute;left:6px;top:6px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-xs);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-primary);pointer-events:none}.kept-thumb--marked .kept-thumb__context{left:34px;max-width:calc(100% - 68px)}.kept-side-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:var(--overlay-bg)}.kept-side--drawer{position:fixed;top:0;bottom:0;left:0;z-index:calc(var(--z-sheet) + 1);width:min(320px,86vw);margin:0;border-radius:0;box-shadow:var(--shadow-menu)}@media(prefers-reduced-motion:no-preference){.kept-side--drawer{animation:kept-side-in var(--dur-sheet, .24s) var(--ease-out, ease-out)}}@keyframes kept-side-in{0%{transform:translate(-100%)}}}@layer app{.subject-chip.subject-chip--icon{justify-content:center;width:var(--control-md);padding:0}}.usage-dashboard{--usage-page-width: 960px;--usage-section-gap: var(--space-8);flex:1;overflow-y:auto;padding:var(--space-7) var(--space-4)}.usage-dashboard__col{width:100%;max-width:var(--usage-page-width);margin:0 auto}.usage-dashboard__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--usage-section-gap)}.usage-dashboard__header h1{font:var(--type-title);color:var(--text-primary)}.usage-dashboard__error{align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.usage-dashboard__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--usage-section-gap)}.usage-card{min-width:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.usage-card h3{margin-bottom:var(--space-1);font:var(--type-caption);color:var(--text-muted)}.usage-card__amount{font:var(--type-number);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;color:var(--text-primary)}.usage-card__details{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font:var(--type-small);color:var(--text-muted)}.usage-card--balance{background:var(--accent-soft);box-shadow:none}.usage-card--balance .usage-card__amount{color:var(--accent-primary)}.usage-section{margin-bottom:var(--usage-section-gap)}.usage-section__title{margin-bottom:var(--space-3);font:var(--type-heading);color:var(--text-primary)}.usage-section__subtitle{margin:calc(-1 * var(--space-2)) 0 var(--space-4);font:var(--type-small);color:var(--text-muted)}.usage-section__current{font:var(--type-body);color:var(--text-secondary)}.usage-section__current-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.usage-table{width:100%;border-collapse:collapse;font:var(--type-small)}.usage-table th{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-secondary);font:var(--type-caption);color:var(--text-muted);text-align:left}.usage-table td{padding:var(--space-3);border-bottom:1px solid var(--border-muted);color:var(--text-primary);font-variant-numeric:tabular-nums}.usage-table .usage-table__num{font-family:var(--font-numeric);text-align:right}.usage-table tr:last-child td{border-bottom:0}.usage-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.usage-plan-card,.usage-topup-card{position:relative;display:flex;flex-direction:column;padding:var(--space-5);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.usage-plan-card--recommended{box-shadow:0 0 0 2px var(--accent-primary),var(--shadow-card)}.usage-plan-card__badge{position:absolute;top:var(--space-3);right:var(--space-3);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--accent-soft);font:var(--type-caption);color:var(--accent-primary)}.usage-plan-card__name,.usage-topup-card__name{font:var(--type-heading);color:var(--text-primary)}.usage-plan-card__price,.usage-topup-card__price{margin-top:var(--space-1);font:var(--type-display);font-family:var(--font-numeric);font-variant-numeric:tabular-nums;color:var(--text-primary)}.usage-plan-card__price span{font:var(--type-body);color:var(--text-muted)}.usage-plan-card__credits,.usage-topup-card__credits{margin-top:var(--space-1);font:var(--type-small);color:var(--text-muted)}.usage-plan-card__credits{margin-bottom:var(--space-3)}.usage-plan-card__features{flex:1;margin:0 0 var(--space-4);padding:0;list-style:none}.usage-plan-card__features li{display:flex;align-items:flex-start;gap:var(--space-2);padding:2px 0;font:var(--type-small);color:var(--text-secondary)}.usage-plan-card__features li svg{flex:none;margin-top:2px;color:var(--accent-primary)}.usage-topup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.usage-topup-card{padding:var(--space-4)}.usage-topup-card__price{margin-bottom:var(--space-3);font:var(--type-number)}.usage-topup-card__credits{margin-top:2px;font:var(--type-ui);color:var(--text-secondary)}.usage-topup-card .ui-btn{margin-top:auto}.usage-skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg,var(--bg-secondary),var(--bg-tertiary),var(--bg-secondary));background-size:200% 100%;animation:usage-shimmer 1.4s ease infinite}.usage-skeleton--card{height:96px}.usage-skeleton--plan{height:300px}@keyframes usage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.usage-skeleton{animation:none}}.usage-pref-toggle{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-control);background:var(--bg-secondary)}.usage-pref-toggle input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:1px}.usage-pref-toggle__text{display:flex;flex-direction:column;gap:2px}.usage-pref-toggle__label{font:var(--type-ui);color:var(--text-primary)}.usage-pref-toggle__hint{font:var(--type-small);color:var(--text-muted)}@media(max-width:900px){.usage-dashboard{padding:var(--space-7) var(--space-4)}.usage-section__current-row{flex-direction:column;align-items:flex-start}}@media(max-width:720px){.usage-plans{grid-template-columns:1fr}.usage-topup{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.usage-dashboard{padding:var(--space-5) var(--space-4)}.usage-dashboard__header{margin-bottom:var(--space-6)}.usage-dashboard{--usage-section-gap: var(--space-7)}.usage-dashboard__cards,.usage-topup{grid-template-columns:1fr}.usage-section:has(.usage-table){overflow-x:auto}}.sharing,.showcase{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.sharing__heading{margin-top:var(--space-3)}.showcase__title{display:flex;align-items:center;gap:var(--space-2)}.showcase__state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.showcase__state>.ui-note{align-self:stretch;align-items:center}.showcase__featured{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--bg-elevated);font:var(--type-caption);color:var(--accent-warning)}.dlg-settings__share{max-width:560px}.sharing{gap:0}.sharing__block{display:flex;flex-direction:column;gap:var(--space-2);min-width:0;padding:var(--space-5) 0;border-top:1px solid var(--border-secondary)}.sharing__block:first-child{padding-top:0;border-top:0}.sharing__block .sharing__heading,.sharing__block .showcase__title{margin-top:0}.sharing__sub{margin-top:var(--space-3)}.sharing__link{display:flex;align-items:center;gap:var(--space-2)}.sharing__link-url{flex:1 1 auto;min-width:0;text-overflow:ellipsis}.sharing__stats{display:flex;gap:var(--space-4);font:var(--type-small);color:var(--text-muted)}.sharing__stats span{display:inline-flex;align-items:center;gap:var(--space-1)}.sharing .showcase{margin-top:var(--space-3)}.sharing__vis{display:flex;flex-direction:column;gap:var(--space-1)}.sharing__vis-btn{display:grid;grid-template-columns:16px auto minmax(0,1fr);align-items:center;column-gap:var(--space-3);min-height:48px;padding:0 var(--space-3);border:0;border-radius:var(--radius-control);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.sharing__vis-btn:hover:not([aria-checked=true]){background:var(--bg-secondary)}.sharing__vis-btn[aria-checked=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-primary)}.sharing__vis-dot{width:16px;height:16px;box-sizing:border-box;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--text-muted)}.sharing__vis-btn[aria-checked=true] .sharing__vis-dot{background:radial-gradient(circle,var(--accent-primary) 0 4px,transparent 5px);box-shadow:inset 0 0 0 1.5px var(--accent-primary)}.sharing__vis-label{font:var(--type-ui);white-space:nowrap}.sharing__vis-desc{font:var(--type-small);color:var(--text-muted)}@media(max-width:560px){.sharing__vis-btn{grid-template-columns:16px minmax(0,1fr);row-gap:2px;padding:var(--space-2) var(--space-3)}.sharing__vis-dot{grid-row:1 / span 2}.sharing__vis-desc{grid-column:2}.sharing__link{flex-wrap:wrap}.sharing__link-url{flex-basis:100%}}.sharing__gate,.sharing__presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.sharing__checks{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.sharing__list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.sharing__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);background:var(--bg-secondary);transition:opacity var(--dur-fast) ease}.sharing__row[aria-busy=true]{opacity:.6}.sharing__email{flex:1 1 160px;min-width:0;overflow:hidden;font:var(--type-ui);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.sharing__info{display:flex;flex:1 1 160px;flex-direction:column;min-width:0}.sharing__actions,.sharing__invite{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.sharing__invite>.ui-field{flex:1 1 200px;min-width:0}.sharing__invite .sharing__gate{display:contents}.sharing__invite .sharing__checks{order:1;flex-basis:100%}.sharing__error{display:flex;align-items:center;gap:var(--space-1);flex-basis:100%;font:var(--type-small);color:var(--accent-danger)}.resume-strip{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:36px;margin-bottom:var(--space-4);padding:var(--space-1) var(--space-9) var(--space-1) var(--space-3);background:var(--bg-elevated);box-shadow:0 1px 0 var(--border-secondary)}.resume-strip__thumb{display:block;width:40px;aspect-ratio:3 / 2;padding:0;border:0;border-radius:var(--radius-xs);background:var(--bg-tertiary);overflow:hidden;cursor:pointer}.resume-strip__thumb img{display:block;width:100%;height:100%;object-fit:cover}.resume-strip__body{display:flex;align-items:baseline;gap:var(--space-2);min-width:0}.resume-strip__label{font:var(--type-caption);color:var(--text-muted)}.resume-strip__name{overflow:hidden;font:600 13px/18px var(--font-sans);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.resume-strip__meta{font:var(--type-small);color:var(--text-secondary)}.resume-strip__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.resume-strip__dismiss{position:absolute;top:50%;right:var(--space-2);transform:translateY(-50%)}@media(max-width:720px){.resume-strip{grid-template-columns:40px minmax(0,1fr);padding:var(--space-2) var(--space-9) var(--space-2) var(--space-3)}.resume-strip__body{flex-wrap:wrap}.resume-strip__actions{grid-column:1 / -1;justify-content:flex-start}}.onboarding-survey__progress{height:4px;width:100%;border-radius:var(--radius-pill);background:var(--bg-tertiary);overflow:hidden}.onboarding-survey__progress-fill{height:100%;border-radius:var(--radius-pill);background:var(--accent-primary);transition:width var(--dur-view) var(--ease-out)}.onboarding-survey__body{min-height:0}.onboarding-survey__step{display:flex;flex-direction:column;gap:var(--space-2)}.onboarding-survey__question{font:var(--type-heading);color:var(--text-primary)}.onboarding-survey__pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.onboarding-survey__input{margin-top:var(--space-1)}.onboarding-survey__checkbox{margin-top:var(--space-2)}.onboarding-survey__spacer{margin-right:auto}.region-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-viewer);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--bg-primary);overflow-y:auto}.region-notice__sheet{width:100%;max-width:480px;padding:var(--space-8) var(--space-7) var(--space-7);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-card)}.region-notice__icon{display:block;margin-bottom:var(--space-5);color:var(--text-primary)}.region-notice__title{margin-bottom:var(--space-3);font:var(--type-title);color:var(--text-primary)}.region-notice__text{margin-bottom:var(--space-3);font:var(--type-body);color:var(--text-secondary)}.region-notice__actions{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-6) 0 var(--space-5)}.region-notice__actions .ui-btn{justify-content:flex-start}.region-notice__contact{font:var(--type-small);color:var(--text-muted)}.region-banner{position:fixed;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);z-index:var(--z-toast);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);max-width:640px;margin:0 auto;padding:var(--space-2) var(--space-4);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);font:var(--type-small);color:var(--text-primary)}.dashboard-view{display:flex;flex-direction:column;width:100%;height:100vh;background:var(--bg-primary);overflow:hidden}.dashboard-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:var(--header-h);padding:0 var(--space-3);background:var(--bg-elevated);box-shadow:0 1px 0 var(--border-secondary)}.dashboard-header__logo{display:block;height:16px;width:auto}.dashboard-header__actions{display:flex;align-items:center;gap:var(--space-3)}.dashboard-header__credits{display:inline-flex;align-items:center;gap:6px;height:var(--control-sm);padding:0 10px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--accent-primary);color:var(--accent-primary);font:var(--type-caption);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) ease}.dashboard-header__credits:hover{background:var(--accent-soft)}.dashboard-header__credits-value,.dashboard-header__credits-label{color:inherit}.dashboard-header__credits--low{background:var(--danger-soft);color:var(--accent-danger)}.dashboard-header__credits--low:hover{background:var(--danger-soft)}.dashboard-header__credits--low .dashboard-header__credits-value{color:var(--accent-danger)}.dashboard-profile{position:relative}.dashboard-profile__trigger{display:inline-flex;align-items:center;gap:4px;height:var(--control-md);padding:0 6px 0 2px;border:0;border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:background var(--dur-fast) ease}.dashboard-profile__trigger:hover,.dashboard-profile__trigger[aria-expanded=true]{background:var(--bg-secondary)}.dashboard-profile__avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--bg-tertiary);color:var(--text-primary);font:var(--type-caption);-webkit-user-select:none;user-select:none}.dashboard-profile__caret{color:var(--text-muted)}.dashboard-profile__dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-menu);min-width:260px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu)}.dashboard-profile__info{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3)}.dashboard-profile__label{font:var(--type-caption);color:var(--text-muted)}.dashboard-profile__email{overflow:hidden;font:var(--type-ui);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap}.dashboard-profile__divider{height:1px;margin:var(--space-1) 0;background:var(--border-secondary)}.dashboard-profile__item{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:var(--row-h);padding:0 var(--space-2);border:0;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:var(--type-ui);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) ease}.dashboard-profile__item svg{color:var(--text-secondary)}.dashboard-profile__item:hover{background:var(--bg-secondary);color:var(--text-primary)}.dashboard-profile__item--danger,.dashboard-profile__item--danger svg{color:var(--accent-danger)}.dashboard-profile__item--danger:hover{background:var(--danger-soft)}.display-name-editor{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.display-name-editor__row{display:flex;gap:var(--space-2)}.display-name-editor__row .ui-field{flex:1;min-width:0;min-height:var(--control-md)}.dashboard-main{flex:1;overflow-y:auto;width:100%;padding:var(--space-6) max(var(--space-6),calc((100% - 1400px)/2)) var(--space-10)}.dashboard-main__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.dashboard-main__hint{margin:calc(-1 * var(--space-3)) 0 var(--space-5);font:var(--type-small);color:var(--text-muted)}.dashboard-main__title{font:var(--type-title);color:var(--text-primary)}.dashboard-main__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.dashboard-project-card{display:flex;flex-direction:column;padding:0;border:0;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge);overflow:hidden;cursor:pointer;text-align:left;transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.dashboard-project-card:hover{box-shadow:var(--edge),var(--shadow-card)}.dashboard-project-card:active{transform:scale(.99)}.dashboard-project-card__thumb{position:relative;aspect-ratio:16 / 10;background:var(--bg-tertiary);overflow:hidden}.dashboard-project-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}.dashboard-project-card__thumb-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font:var(--type-small);color:var(--text-muted)}.dashboard-project-card__body{display:flex;flex-direction:column;gap:var(--space-1);min-height:72px;padding:var(--space-3)}.dashboard-project-card__name{display:-webkit-box;overflow:hidden;font:600 13px/18px var(--font-sans);color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dashboard-project-card__date{margin-top:auto;font:var(--type-small);font-variant-numeric:tabular-nums;color:var(--text-muted)}.dashboard-skeleton-card{display:flex;flex-direction:column;border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);overflow:hidden}.dashboard-skeleton-card__thumb{aspect-ratio:16 / 10}.dashboard-skeleton-card__body{display:flex;flex-direction:column;gap:var(--space-2);min-height:78px;padding:var(--space-4)}.dashboard-skeleton-line{height:14px;border-radius:var(--radius-sm)}.dashboard-skeleton-line--title{width:68%}.dashboard-skeleton-line--date{width:36%;height:10px;margin-top:auto}.dashboard-skeleton-card__thumb,.dashboard-skeleton-line{background:linear-gradient(90deg,var(--bg-secondary),var(--bg-tertiary),var(--bg-secondary));background-size:200% 100%;animation:dashboard-shimmer 1.4s ease infinite}@keyframes dashboard-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-project-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:2px}.dashboard-pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 var(--space-2);border-radius:var(--radius-sm);font:var(--type-caption);white-space:nowrap;-webkit-user-select:none;user-select:none}.dashboard-pill--shared,.dashboard-pill--invite{background:var(--accent-soft);color:var(--accent-primary)}.dashboard-pill--invite{align-self:flex-start}.dashboard-pill--rights{background:var(--bg-secondary);color:var(--text-secondary)}.dashboard-card-subtitle{overflow:hidden;font:var(--type-small);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.dashboard-card-subtitle--caps{color:var(--text-muted)}.dashboard-card-error{font:var(--type-small);color:var(--accent-danger)}.dashboard-main__invites,.dashboard-main__prepare{margin-bottom:var(--space-5)}.dashboard-invite-card,.dashboard-prepare-card{display:flex;flex-direction:column;gap:var(--space-2);min-height:100px;padding:var(--space-5);border-radius:var(--radius-card);text-align:left}.dashboard-invite-card{background:var(--bg-elevated);box-shadow:0 0 0 2px var(--accent-line),var(--shadow-card)}.dashboard-invite-card__actions{display:flex;gap:var(--space-2);margin-top:auto;padding-top:var(--space-1)}.dashboard-invite-card__actions .ui-btn{flex:1}.dashboard-prepare-card{background:var(--bg-secondary);cursor:default;-webkit-user-select:none;user-select:none;animation:dashboard-prepare-pulse 1.8s ease-in-out infinite}.dashboard-prepare-card__spinner{color:var(--accent-primary);animation:dashboard-prepare-spin .9s linear infinite}@keyframes dashboard-prepare-spin{to{transform:rotate(360deg)}}@keyframes dashboard-prepare-pulse{0%,to{opacity:1}50%{opacity:.7}}@media(prefers-reduced-motion:reduce){.dashboard-prepare-card,.dashboard-prepare-card__spinner,.dashboard-skeleton-card__thumb,.dashboard-skeleton-line{animation:none}}.dashboard-survey{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);margin-bottom:var(--space-6)}.dashboard-survey__title{font:var(--type-heading);color:var(--text-primary)}.dashboard-survey__body{margin-top:var(--space-1);font:var(--type-small);color:var(--text-secondary)}.dashboard-survey__actions{display:flex;gap:var(--space-2);flex-shrink:0}@media(max-width:600px){.dashboard-survey{flex-direction:column;align-items:stretch}}.dashboard-main__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-10) var(--space-6);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);font:var(--type-body);color:var(--text-muted);text-align:center}@media(max-width:900px){.dashboard-header{padding:var(--space-4) var(--space-6)}.dashboard-header__credits-label{display:none}.dashboard-main{padding:var(--space-5) var(--space-6) var(--space-9)}.dashboard-main__title{font:var(--type-title)}.dashboard-main__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}}@media(max-width:600px){.dashboard-header{padding:var(--space-3) var(--space-4)}.dashboard-header__actions{gap:var(--space-2)}.dashboard-profile__dropdown{position:fixed;top:auto;right:var(--space-4);bottom:var(--space-4);left:var(--space-4);min-width:0}.dashboard-main{padding:var(--space-4) var(--space-4) var(--space-9)}.dashboard-main__heading{margin-bottom:var(--space-5)}.dashboard-main__grid{grid-template-columns:1fr}}.dashboard-account{display:inline-flex;align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-2);max-width:100%;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.dashboard-account .dashboard-profile__trigger{background:none;box-shadow:none}.dashboard-account .dashboard-profile__trigger:hover,.dashboard-account .dashboard-profile__trigger[aria-expanded=true]{background:var(--bg-secondary)}@layer app{@media(max-width:600px){.app-layout{flex-direction:column}.interiors-layout{position:relative}}.bottom-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center}.bottom-sheet__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);opacity:0;transition:opacity var(--dur-sheet) ease}.bottom-sheet--visible .bottom-sheet__scrim{opacity:1}.bottom-sheet__panel{position:relative;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-elevated);border:0;border-radius:var(--radius-sheet);box-shadow:var(--shadow-sheet);transform:translateY(100%);transition:transform var(--dur-sheet) var(--ease-out);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-sheet--visible .bottom-sheet__panel{transform:translateY(0)}.bottom-sheet__panel--dragging{transition:none}.bottom-sheet__handle-zone{display:flex;justify-content:center;padding:10px 0 6px;cursor:grab;touch-action:none}.bottom-sheet__handle{width:36px;height:4px;border-radius:var(--radius-pill);background:var(--border-primary)}.bottom-sheet__title{margin:0 20px;padding:2px 0 var(--space-3);font:var(--type-heading);color:var(--text-primary)}.bottom-sheet__body{flex:1;overflow-y:auto;padding:0 20px 20px;-webkit-overflow-scrolling:touch}.bottom-sheet__footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -1px 0 var(--border-secondary)}@media(prefers-reduced-motion:reduce){.bottom-sheet__scrim,.bottom-sheet__panel{transition:none}}.mobile-top-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 var(--space-4);background:var(--bg-elevated);box-shadow:0 1px 0 var(--border-secondary);z-index:20}.mobile-top-bar__logo{height:16px;width:auto;cursor:pointer}.mobile-top-bar__avatar{display:grid;place-items:center;width:44px;height:44px;margin-right:-4px;border:none;border-radius:var(--radius-pill);background:transparent;cursor:pointer}.mobile-top-bar__avatar:active{background:var(--bg-tertiary)}.mobile-top-bar__avatar-badge{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-pill);background:var(--bg-tertiary);color:var(--text-primary);font:var(--type-caption)}.mobile-account{display:flex;flex-direction:column;gap:2px}.mobile-account__identity{display:flex;align-items:center;gap:12px;padding:4px 0 16px;margin-bottom:8px;box-shadow:0 1px 0 var(--border-secondary)}.mobile-account__avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-pill);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-heading);flex-shrink:0}.mobile-account__meta{display:flex;flex-direction:column;gap:3px;min-width:0}.mobile-account__email{font:var(--type-ui);font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-account__credits{display:inline-flex;align-items:center;gap:4px;font:var(--type-small);font-variant-numeric:tabular-nums;color:var(--text-muted)}.mobile-account__credits--low{color:var(--accent-warning);font-weight:700}.mobile-account__item{display:flex;text-decoration:none;align-items:center;gap:12px;width:100%;min-height:44px;padding:12px 8px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);font:var(--type-body);text-align:left;cursor:pointer}.mobile-account__item:active{background:var(--bg-secondary)}.mobile-account__item.user-card__menu-item--danger{color:var(--accent-danger)}.mobile-mode-switcher{flex-shrink:0;padding:0 16px var(--space-2)}.mobile-mode-switcher__trigger{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--control-lg);padding:0 var(--space-4);border:none;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill);color:var(--text-primary);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.mobile-mode-switcher__trigger:active{transform:scale(.98)}.mobile-mode-switcher__trigger>svg:first-child{color:var(--accent-primary)}.mobile-mode-switcher__trigger-label{font:var(--type-body-strong)}.mobile-mode-switcher__caret{margin-left:auto;color:var(--text-muted)}.mobile-mode-switcher__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.mobile-mode-switcher__item{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);font:var(--type-body);text-align:left;cursor:pointer}.mobile-mode-switcher__item:active:not(:disabled){background:var(--bg-secondary)}.mobile-mode-switcher__item--active{background:var(--accent-soft);color:var(--accent-primary);font-weight:700}.mobile-mode-switcher__item:disabled{opacity:.5;cursor:not-allowed}.mobile-mode-switcher__item-label{flex:1}.mobile-mode-switcher__item-lock{display:inline-flex;align-items:center;gap:4px;font:var(--type-caption);color:var(--text-muted)}.mobile-mode-switcher__item-check{color:var(--accent-primary)}.mobile-toolbar{position:absolute;top:12px;left:12px;z-index:10;display:flex;align-items:center;gap:8px}.mobile-toolbar__view-only{display:inline-flex;align-items:center;min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill);font:var(--type-caption);color:var(--text-muted)}.mobile-toolbar__primary{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-lg);padding:0 var(--space-4);border:0;border-radius:var(--radius-control);background:var(--accent-primary);color:var(--text-inverse);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.mobile-toolbar__primary:active{background:var(--accent-primary-hover);transform:scale(.98)}.mobile-toolbar__tools{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.mobile-toolbar__tools:active{transform:scale(.98)}.mobile-tools__section{display:flex;flex-direction:column;gap:10px;padding:14px 0;box-shadow:0 1px 0 var(--border-secondary)}.mobile-tools__label{font:var(--type-caption);color:var(--text-muted)}.mobile-tools__pills{display:flex;flex-wrap:wrap;gap:6px}.mobile-tools__pill{display:inline-flex;align-items:center;justify-content:center;position:relative;min-height:var(--control-md);padding:0 12px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.mobile-tools__pill:active:not(:disabled){transform:scale(.98)}.mobile-tools__pill--active{background:var(--accent-soft);box-shadow:none;color:var(--accent-primary)}.mobile-tools__pill:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.mobile-tools__pill:disabled{opacity:.4;cursor:not-allowed}.mobile-tools__hint{font:var(--type-caption);color:var(--text-muted)}.mobile-tools__actions{display:flex;flex-direction:column;gap:2px;padding-top:12px}.mobile-tools__action{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:11px 10px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-primary);font:var(--type-body);text-align:left;cursor:pointer}.mobile-tools__action:active{background:var(--bg-secondary)}.mobile-tools__action--active{background:var(--accent-soft);color:var(--accent-primary);font-weight:700}.mobile-rooms__trigger{position:absolute;top:12px;right:12px;z-index:10;display:inline-flex;align-items:center;gap:6px;max-width:52%;min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out)}.mobile-rooms__trigger:active{transform:scale(.98)}.mobile-rooms__trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-rooms__body .interiors-rooms-panel__list{padding:0}.mobile-rooms__body .interiors-rooms-panel__plan{padding-left:0;padding-right:0}}.mobile-top-bar__end{display:flex;align-items:center;height:40px;padding:0 2px 0 0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-pill)}.mobile-top-bar__end .credits-pill{height:36px}.mobile-top-bar__end .mobile-top-bar__avatar{width:40px;height:40px;margin-right:0}.mobile-top-bar__end .mobile-top-bar__avatar-badge{background:var(--bg-secondary);box-shadow:none}@layer app{:where(.admin__main a){color:var(--accent-primary)}:root{--adm-good: var(--accent-success);--adm-warn: var(--accent-warning);--adm-bad: var(--accent-danger)}.admin{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column}.admin__topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:var(--header-h);padding:0 var(--space-4);background:var(--bg-elevated);box-shadow:0 1px 0 var(--border-secondary)}.admin__brand{font-weight:600;letter-spacing:-.01em;font-size:14px}.admin__topbar-spacer{flex:1}.admin__user{font-size:12px;color:var(--text-muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin__burger,.admin__close,.adm-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.admin__burger:hover,.admin__close:hover,.adm-icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin__sidebar{position:fixed;top:0;bottom:0;left:0;width:240px;background:var(--bg-elevated);box-shadow:1px 0 0 var(--border-secondary);padding:var(--space-3);display:flex;flex-direction:column;gap:12px;transform:translate(-100%);transition:transform .2s ease;z-index:30}.admin__sidebar--open{transform:translate(0)}.admin__sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin__brand--side{font-size:16px}.admin__nav{display:flex;flex-direction:column;gap:2px}.admin__nav-link{display:flex;align-items:center;gap:10px;min-height:var(--row-h);padding:4px 10px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:background var(--transition-normal),color var(--transition-normal)}.admin__nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin__nav-link--active,.admin__nav-link--active:hover{background:var(--bg-tertiary);color:var(--text-primary)}.admin__signout{margin-top:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;min-height:var(--control-md);background:var(--bg-secondary);border:0;border-radius:var(--radius-control);color:var(--text-secondary);font-size:13px;font-family:inherit;cursor:pointer}.admin__signout:hover{background:var(--bg-tertiary);color:var(--text-primary)}.admin__scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);z-index:25}.admin__main{padding:20px 16px 64px;max-width:1200px;width:100%;margin:0 auto}.admin__loading,.admin__fullpage{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-muted);font-size:14px}.adm-page{display:flex;flex-direction:column;gap:24px}.adm-page__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.adm-page__title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0}.adm-section{display:flex;flex-direction:column;gap:10px}.adm-section__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.adm-section__title{font-size:13px;font-weight:600;color:var(--text-muted);margin:0}.adm-attr-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.adm-error{padding:10px 14px;background:color-mix(in srgb,var(--adm-bad) 8%,transparent);color:var(--accent-danger);border:1px solid color-mix(in srgb,var(--adm-bad) 25%,transparent);border-radius:var(--radius-md);font-size:13px}.adm-range{display:inline-flex;background:var(--bg-secondary);border:0;border-radius:var(--radius-sm);padding:2px}.adm-range__btn{background:none;border:none;font-family:var(--font-numeric);font-size:12px;color:var(--text-muted);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer}.adm-range__btn:hover{color:var(--text-primary)}.adm-range__btn--active,.adm-range__btn--active:hover{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.adm-kpis{display:grid;grid-template-columns:1fr;gap:10px}.adm-kpi{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--bg-elevated);border:0;box-shadow:var(--edge);border-radius:var(--radius-card);position:relative;overflow:hidden}.adm-kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--border-secondary)}.adm-kpi--good:before{background:var(--adm-good)}.adm-kpi--warn:before{background:var(--adm-warn)}.adm-kpi--bad:before{background:var(--accent-danger)}.adm-kpi__label{font-size:11px;font-weight:600;color:var(--text-muted)}.adm-kpi__value{font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.adm-kpi__hint{font-size:12px;color:var(--text-muted);font-family:var(--font-numeric)}.adm-chart{background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-card);padding:12px;display:flex;flex-direction:column;gap:8px}.adm-chart__svg{width:100%;height:240px;display:block}.adm-chart__empty{padding:40px;text-align:center;color:var(--text-muted);font-size:13px;background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-md)}.adm-chart__legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;font-family:var(--font-numeric);color:var(--text-muted)}.adm-chart__legend span{display:inline-flex;align-items:center;gap:6px}.adm-chart__dot{width:10px;height:2px;display:inline-block}.adm-chart__dot--signups{background:var(--text-secondary)}.adm-chart__dot--activated{background:var(--accent-secondary);height:3px}.adm-toolbar{display:flex;gap:12px;flex-wrap:wrap}.adm-search{display:inline-flex;align-items:center;gap:6px;padding:0 12px;background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-sm);color:var(--text-muted);flex:1;min-width:0;max-width:360px}.adm-search__input{flex:1;min-width:0;background:none;border:none;outline:none;font:inherit;color:var(--text-primary);padding:8px 0}.adm-table-wrap{display:none;overflow-x:auto;background:var(--bg-elevated);border-radius:var(--radius-card);box-shadow:var(--edge)}.adm-table{width:100%;border-collapse:collapse;font-size:13px;font-weight:400}.adm-table th,.adm-table td{text-align:left;height:36px;padding:0 12px;border-bottom:1px solid var(--border-muted);white-space:nowrap}.adm-table th{font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);position:sticky;top:0}.adm-table tbody tr:hover{background:var(--bg-secondary)}.adm-table__email{font-family:var(--font-numeric);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis}.adm-table__mono{font-family:var(--font-numeric);font-size:12px}.adm-table__empty{text-align:center;color:var(--text-muted);padding:24px}.adm-cards{display:flex;flex-direction:column;gap:10px}.adm-ucard{background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-card);padding:14px;display:flex;flex-direction:column;gap:10px}.adm-ucard__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.adm-ucard__email{font-family:var(--font-numeric);font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.adm-ucard__date{font-family:var(--font-numeric);font-size:11px;color:var(--text-muted)}.adm-ucard__sub{font-size:12px;color:var(--text-muted)}.adm-ucard__note{font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);padding:8px 10px;border-radius:var(--radius-sm)}.adm-ucard__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;font-size:12px}.adm-ucard__grid>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--border-muted);padding-bottom:4px}.adm-ucard__grid span{color:var(--text-muted)}.adm-ucard__grid b{font-family:var(--font-numeric);font-weight:600}.adm-ucard__cta{width:100%}.adm-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0}.adm-pager__label{font-family:var(--font-numeric);font-size:12px;color:var(--text-muted)}.adm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font:inherit;font-size:13px;font-weight:500;min-height:var(--control-md);border-radius:var(--radius-control);border:0;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background var(--dur-fast) ease,opacity var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.adm-btn:hover:not(:disabled){background:var(--bg-tertiary)}.adm-btn:active:not(:disabled){transform:scale(.98)}.adm-btn:disabled{opacity:.45;cursor:not-allowed}.adm-btn--primary{background:var(--accent-primary);color:var(--text-inverse)}.adm-btn--primary:hover:not(:disabled){background:var(--accent-primary-hover)}.adm-btn--ghost{background:transparent;color:var(--text-secondary)}.adm-btn--ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.adm-btn--small{min-height:var(--control-sm);padding:5px 12px;font-size:12px}.adm-input{width:100%;min-height:var(--control-md);padding:8px 14px;font:inherit;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);border:0;border-radius:var(--radius-control);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.adm-input:hover:not(:focus):not(:disabled){box-shadow:inset 0 0 0 1px var(--border-primary)}.adm-input:focus{outline:none;background:var(--bg-elevated);box-shadow:inset 0 0 0 2px var(--accent-primary)}.adm-input--multiline{resize:vertical}.adm-field{display:flex;flex-direction:column;gap:6px}.adm-field__label{font-size:11px;font-weight:600;color:var(--text-muted)}.adm-field__static{font-family:var(--font-numeric);font-size:13px;color:var(--text-secondary)}.adm-modal__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-secondary)}.adm-modal__head h3{margin:0;font:var(--type-heading)}.adm-modal__body{padding:16px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.adm-modal__form{display:flex;flex-direction:column;gap:14px;min-width:0}@media(min-width:600px){.adm-kpis{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.admin__burger,.admin__close{display:none}.admin__sidebar{position:fixed;transform:translate(0)}.admin__sidebar-head{display:none}.admin__topbar{padding-left:256px}.admin__main{padding:32px 32px 64px 256px;max-width:100%}.admin__scrim{display:none}.adm-kpis{grid-template-columns:repeat(4,1fr)}.adm-table-wrap{display:block}.adm-cards:not(.adm-cards--always){display:none}}.adm-tabs{display:inline-flex;background:var(--bg-secondary);border:0;border-radius:var(--radius-sm);padding:2px}.adm-tabs__tab{background:none;border:none;font-family:inherit;font-size:13px;color:var(--text-muted);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.adm-tabs__tab:hover{color:var(--text-primary)}.adm-tabs__tab--active,.adm-tabs__tab--active:hover{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.adm-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500}.adm-chip--active{background:color-mix(in srgb,var(--adm-good) 15%,transparent);color:var(--adm-good)}.adm-chip--paused{background:color-mix(in srgb,var(--adm-warn) 15%,transparent);color:var(--adm-warn)}.adm-chip--archived{background:var(--bg-tertiary);color:var(--text-muted)}.adm-table__code{font-weight:600}.adm-form{display:flex;flex-direction:column;gap:24px;max-width:680px}.adm-form__section{display:flex;flex-direction:column;gap:16px;padding:20px;background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-card)}.adm-form__section-title{font-size:13px;font-weight:600;color:var(--text-muted);margin:0}.adm-form__grid{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:600px){.adm-form__grid{grid-template-columns:1fr 1fr}.adm-field--full{grid-column:1 / -1}}.adm-form__note{font-size:13px;color:var(--text-muted);margin:0}.adm-form__note--danger{color:var(--accent-danger)}.adm-form__danger-zone{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border-secondary)}.adm-form__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.adm-field__error{font-size:12px;color:var(--accent-danger)}.adm-field__required{color:var(--accent-danger)}.adm-input--error{border-color:var(--accent-danger)}.adm-toggle-group{display:inline-flex;background:var(--bg-secondary);border:0;border-radius:var(--radius-sm);padding:2px}.adm-toggle-group__btn{background:none;border:none;font-family:inherit;font-size:13px;color:var(--text-secondary);padding:6px 18px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.adm-toggle-group__btn--active{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--edge),var(--shadow-sm)}.adm-inline-confirm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-secondary)}.adm-btn--danger{background:var(--accent-danger);color:var(--text-inverse);border-color:var(--accent-danger)}.adm-btn--danger:hover:not(:disabled){opacity:.9}.adm-btn--danger-outline{color:var(--accent-danger);border-color:color-mix(in srgb,var(--adm-bad) 40%,transparent)}.adm-btn--danger-outline:hover:not(:disabled){background:color-mix(in srgb,var(--adm-bad) 8%,transparent);color:var(--accent-danger)}.adm-link-preview{display:flex;flex-direction:column;gap:8px}.adm-link-preview__row{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-elevated);border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-md);flex-wrap:wrap}.adm-link-preview__url{font-family:var(--font-numeric);font-size:12px;color:var(--text-secondary);flex:1;word-break:break-all}.adm-banner{padding:10px 14px;border-radius:var(--radius-md);font-size:13px}.adm-banner--success{background:color-mix(in srgb,var(--adm-good) 10%,transparent);color:var(--adm-good);border:1px solid color-mix(in srgb,var(--adm-good) 25%,transparent)}.inspector{display:flex;flex-direction:column;height:calc(100vh - 52px);gap:0;overflow:hidden;margin:-32px -32px -64px 0}@media(max-width:899px){.inspector{margin:-20px -16px -64px 0}}.inspector__header{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--border-secondary);background:var(--bg-secondary);flex-shrink:0}.inspector__title{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0}.inspector__failed-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);border:none;background:color-mix(in srgb,var(--adm-bad) 12%,transparent);color:var(--accent-danger);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--transition-normal)}.inspector__failed-pill:hover{background:color-mix(in srgb,var(--adm-bad) 20%,transparent)}.inspector__panes{display:grid;grid-template-columns:260px 1fr 1fr;grid-template-rows:1fr;flex:1;overflow:hidden}.inspector__pane{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-secondary)}.inspector__pane:last-child{border-right:none}.inspector__pane-head{padding:10px 14px;font-size:11px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.inspector__pane-hint{font-size:11px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}.inspector__search-wrap{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-muted);flex-shrink:0}.inspector__search-icon{color:var(--text-muted);flex-shrink:0}.inspector__search-input{flex:1;background:none;border:none;outline:none;font:inherit;font-size:13px;color:var(--text-primary);padding:2px 0}.inspector__user-list{flex:1;overflow-y:auto}.inspector__user-row{padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-muted);transition:background var(--transition-normal)}.inspector__user-row:hover{background:var(--bg-tertiary)}.inspector__user-row--selected{background:var(--accent-primary)}.inspector__user-row--selected .inspector__user-email,.inspector__user-row--selected .inspector__user-meta{color:var(--text-inverse)}.inspector__user-row--selected .inspector__paid-badge{background:color-mix(in srgb,var(--text-inverse) 20%,transparent);color:var(--text-inverse)}.inspector__user-email{font-family:var(--font-numeric);font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector__user-meta{font-size:11px;color:var(--text-muted);margin-top:2px;display:flex;align-items:center;gap:6px}.inspector__paid-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--adm-good) 15%,transparent);color:var(--adm-good);font-size:10px;font-weight:600}.inspector__project-select{width:100%;font-size:12px;padding:5px 8px;border-radius:var(--radius-sm)}.inspector__filter-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-muted);flex-wrap:wrap;flex-shrink:0}.inspector__filter-select{font-size:12px;padding:4px 8px}.inspector__refresh-btn{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.inspector__refresh-spin{animation:inspector-spin .8s linear infinite}@keyframes inspector-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.inspector__refresh-spin{animation:none}}.inspector__gen-list{flex:1;overflow-y:auto}.inspector__versions{margin-top:16px}.inspector__version-strip{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}.inspector__version-item{display:flex;flex-direction:column;gap:4px;min-width:120px;max-width:160px}.inspector__version-current{outline:2px solid var(--accent-primary);outline-offset:1px}.inspector__version-label{font-size:11px;color:var(--text-muted)}.inspector__version-prompt{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.inspector__gen-row{display:flex;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border-muted);border-left:3px solid transparent;transition:background var(--transition-normal)}.inspector__gen-row:hover{background:var(--bg-secondary)}.inspector__gen-row--selected{background:var(--bg-elevated);border-left-color:var(--accent-primary)}.inspector__gen-row--failed{border-left-color:var(--accent-danger)}.inspector__gen-row--failed.inspector__gen-row--selected{background:color-mix(in srgb,var(--adm-bad) 6%,transparent)}.inspector__gen-thumb-wrap{flex-shrink:0}.inspector__gen-list-thumb{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;display:block}.inspector__gen-list-thumb--placeholder{width:44px;height:44px;background:var(--bg-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.inspector__gen-list-thumb--failed{background:color-mix(in srgb,var(--adm-bad) 8%,transparent);color:var(--accent-danger)}.inspector__gen-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.inspector__gen-row-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inspector__gen-phase{font-size:11px;font-weight:600;color:var(--text-muted)}.inspector__gen-path{font-size:11px;font-family:var(--font-numeric);color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-xs)}.inspector__gen-prompt{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector__gen-meta{display:flex;gap:8px;font-size:11px;font-family:var(--font-numeric);color:var(--text-muted)}.inspector__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;background:var(--bg-tertiary);color:var(--text-muted)}.inspector__chip--succeeded{background:color-mix(in srgb,var(--adm-good) 12%,transparent);color:var(--adm-good)}.inspector__chip--failed{background:color-mix(in srgb,var(--adm-bad) 12%,transparent);color:var(--accent-danger)}.inspector__chip--pending{background:color-mix(in srgb,var(--adm-warn) 12%,transparent);color:var(--adm-warn)}.inspector__legacy-chip{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:500;background:var(--bg-tertiary);color:var(--text-muted);font-family:var(--font-numeric)}.inspector__pane--detail{overflow-y:auto}.inspector__detail{display:flex;flex-direction:column;height:100%}.inspector__detail-id{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-secondary);background:var(--bg-secondary);flex-shrink:0;font-size:12px}.inspector__detail-id-label{font-size:11px;font-weight:600;color:var(--text-muted)}.inspector__detail-id-val{font-family:var(--font-numeric);font-size:12px;color:var(--text-secondary)}.inspector__tabs{display:flex;padding:0 12px;border-bottom:1px solid var(--border-secondary);background:var(--bg-secondary);flex-shrink:0;gap:2px;overflow-x:auto}.inspector__tab{background:none;border:none;border-bottom:2px solid transparent;font:inherit;font-size:12px;font-weight:500;color:var(--text-muted);padding:9px 10px;cursor:pointer;white-space:nowrap;transition:color var(--transition-normal),border-color var(--transition-normal)}.inspector__tab:hover{color:var(--text-primary)}.inspector__tab--active{color:var(--text-primary);border-bottom-color:var(--accent-primary)}.inspector__tab-body{flex:1;overflow-y:auto;padding:16px}.inspector__legacy-banner{padding:10px 14px;background:color-mix(in srgb,var(--adm-warn) 8%,transparent);border:0;border-radius:var(--radius-md);font-size:12px;color:var(--adm-warn);margin-bottom:14px}.inspector__legacy-banner--global{margin:12px 0 0}.inspector__no-data{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.inspector__no-data-sub{font-size:12px;opacity:.8}.inspector__legacy-note{font-size:12px;color:var(--text-muted);margin-top:12px;padding-top:12px;border-top:1px solid var(--border-muted)}.inspector__kv-grid{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.inspector__kv-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:13px}.inspector__kv-label{font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0}.inspector__kv-value{font-family:var(--font-numeric);font-size:12px;color:var(--text-primary);text-align:right;word-break:break-all}.inspector__prompts{display:flex;flex-direction:column;gap:14px}.inspector__prompt-block{display:flex;flex-direction:column;gap:6px}.inspector__prompt-label{font-size:11px;font-weight:600;color:var(--text-muted)}.inspector__prompt-pre{background:var(--bg-secondary);border:0;border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-numeric);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:0;max-height:300px;overflow-y:auto}.inspector__collapsible{border:0;box-shadow:var(--edge),var(--shadow-sm);border-radius:var(--radius-sm);overflow:hidden}.inspector__collapsible summary{padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;list-style:none}.inspector__collapsible summary::-webkit-details-marker{display:none}.inspector__collapsible summary:before{content:"▶ ";font-size:9px;color:var(--text-muted)}.inspector__collapsible[open] summary:before{content:"▼ "}.inspector__collapsible .inspector__prompt-pre{border:none;border-radius:0 0 var(--radius-md) var(--radius-md);border-top:1px solid var(--border-muted)}.inspector__refs{display:flex;flex-direction:column;gap:10px}.inspector__refs-heading{font-size:12px;font-weight:600;color:var(--text-muted);margin:8px 0 4px}.inspector__cap-banner{padding:8px 12px;background:color-mix(in srgb,var(--adm-good) 8%,transparent);border:0;border-radius:var(--radius-sm);font-size:12px;color:var(--adm-good)}.inspector__cap-banner--warn{background:color-mix(in srgb,var(--adm-bad) 6%,transparent);border-color:color-mix(in srgb,var(--adm-bad) 20%,transparent);color:var(--accent-danger)}.inspector__ref-row{display:flex;align-items:flex-start;gap:10px;padding:10px;background:var(--bg-secondary);border-radius:var(--radius-sm);border:0}.inspector__ref-row--dropped{opacity:.6;background:var(--bg-tertiary)}.inspector__ref-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;display:block}.inspector__ref-thumb--missing{width:56px;height:56px;background:var(--bg-tertiary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-muted);text-align:center;padding:4px;flex-shrink:0}.inspector__ref-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.inspector__ref-source{font-size:12px;font-weight:600;color:var(--text-secondary)}.inspector__ref-comment{font-size:12px;color:var(--text-muted);white-space:pre-wrap;word-break:break-word}.inspector__ref-bytes{font-family:var(--font-numeric);font-size:11px;color:var(--text-muted)}.inspector__ref-badge{flex-shrink:0;padding:2px 7px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;align-self:flex-start}.inspector__ref-badge--sent{background:color-mix(in srgb,var(--adm-good) 12%,transparent);color:var(--adm-good)}.inspector__ref-badge--dropped{background:color-mix(in srgb,var(--adm-bad) 10%,transparent);color:var(--accent-danger)}.inspector__optimizer,.inspector__outcome{display:flex;flex-direction:column;gap:14px}.inspector__status-row{display:flex;align-items:center;gap:10px}.inspector__attempt-count{font-size:12px;font-family:var(--font-numeric);color:var(--text-muted)}.inspector__error-block{display:flex;flex-direction:column;gap:10px}.inspector__error-heading{font-size:13px;font-weight:600;color:var(--accent-danger);margin:0}.inspector__error-code{font-family:var(--font-numeric);font-size:13px;font-weight:600;color:var(--accent-danger);background:color-mix(in srgb,var(--adm-bad) 7%,transparent);padding:8px 12px;border-radius:var(--radius-sm);margin:0}.inspector__error-internal summary{color:var(--accent-danger)}.inspector__error-fallback{border-left:3px solid var(--accent-danger)}.inspector__attempts{display:flex;flex-direction:column;gap:6px}.inspector__attempts-heading{font-size:12px;font-weight:600;color:var(--text-muted);margin:4px 0 0}.inspector__attempts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.inspector__attempt-item{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 10px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.inspector__attempt-num{font-family:var(--font-numeric);font-weight:600;color:var(--text-muted)}.inspector__attempt-dur{font-family:var(--font-numeric);color:var(--text-muted)}.inspector__attempt-result{flex:1;font-family:var(--font-numeric);font-size:12px}.inspector__attempt-result--ok{color:var(--adm-good)}.inspector__attempt-result--fail{color:var(--accent-danger)}.inspector__images-section{display:flex;flex-direction:column;gap:10px}.inspector__images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.inspector__gen-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;display:block;transition:opacity var(--transition-normal)}.inspector__gen-thumb:hover{opacity:.85}.inspector__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--text-muted);font-size:13px}.inspector__empty-icon{opacity:.3}.inspector__empty-hint{padding:24px 16px;text-align:center;font-size:12px;color:var(--text-muted)}.inspector__loading-small{padding:12px 14px;font-size:12px;color:var(--text-muted)}.inspector__overview{display:flex;flex-direction:column;gap:10px}.inspector__provider{display:flex;flex-direction:column;gap:14px}.inspector__lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:24px}.inspector__lightbox-close{position:absolute;top:16px;right:16px;background:#ffffff1f;border:none;color:var(--text-inverse);font-size:22px;width:36px;height:36px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.inspector__lightbox-close:hover{background:#ffffff38}.inspector__lightbox-inner{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:90vw;max-height:90vh}.inspector__lightbox-img{max-width:100%;max-height:80vh;border-radius:var(--radius-md);object-fit:contain;display:block}.inspector__lightbox-caption{color:#ffffffb3;font-size:12px;font-family:var(--font-numeric);text-align:center}@media(max-width:899px){.inspector__panes{grid-template-columns:1fr;grid-template-rows:auto;height:auto;overflow:visible}.inspector{height:auto;overflow:visible}.inspector__pane{border-right:none;border-bottom:1px solid var(--border-secondary);max-height:300px}.inspector__pane--detail{max-height:none;min-height:400px}}.adm-chip--success{background:color-mix(in srgb,var(--adm-good) 15%,transparent);color:var(--adm-good)}.adm-chip--warn{background:color-mix(in srgb,var(--adm-warn) 15%,transparent);color:var(--adm-warn)}.adm-chip--danger{background:color-mix(in srgb,var(--adm-bad) 15%,transparent);color:var(--accent-danger)}.adm-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.adm-input--inline{width:auto}.adm-table__row--click{cursor:pointer}.adm-table__trunc{max-width:280px;overflow:hidden;text-overflow:ellipsis}.adm-routing-control{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.adm-routing-saving{font-family:var(--font-numeric);font-size:12px;color:var(--text-muted);padding-bottom:10px}.adm-detail-grid{display:grid;grid-template-columns:1fr;gap:16px}.adm-detail-meta{display:flex;flex-direction:column;gap:14px}.adm-detail-media{background:var(--bg-secondary);border:0;border-radius:var(--radius-md);min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}.adm-detail-media img{width:100%;height:100%;max-height:360px;object-fit:contain;display:block}.adm-detail-media__empty{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.adm-detail-images{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.adm-detail-images a{display:block}.adm-detail-images img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);border:0;display:block}.adm-detail-imgcount{margin-top:8px;font-size:11px;font-weight:600;color:var(--text-muted)}.adm-code{background:var(--bg-secondary);border:0;border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-numeric);font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:0}.adm-code--error{background:color-mix(in srgb,var(--adm-bad) 7%,transparent);border-color:color-mix(in srgb,var(--adm-bad) 30%,transparent);color:var(--accent-danger)}@media(min-width:600px){.adm-detail-grid{grid-template-columns:1fr 1fr}}.adm-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;line-height:1.4;white-space:nowrap}.adm-badge--danger{background:color-mix(in srgb,var(--adm-bad) 12%,transparent);color:var(--accent-danger);border:1px solid color-mix(in srgb,var(--adm-bad) 30%,transparent)}.adm-badge--ok{background:color-mix(in srgb,var(--adm-good) 12%,transparent);color:var(--adm-good);border:1px solid color-mix(in srgb,var(--adm-good) 30%,transparent)}.adm-badge--warn{background:color-mix(in srgb,var(--adm-warn) 12%,transparent);color:var(--adm-warn);border:1px solid color-mix(in srgb,var(--adm-warn) 30%,transparent)}.adm-badge--muted{color:var(--text-muted);border:1px solid var(--border-muted);background:transparent}.adm-badge--btn{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font:inherit;font-size:11px;font-weight:600}.adm-badge--btn:hover{filter:brightness(.92)}.adm-modal__text{font-size:13px;color:var(--text-secondary);margin:4px 0 0;line-height:1.45}.adm-notice{font-size:13px;padding:8px 12px;margin:8px 0;border:1px solid var(--border-muted);background:var(--bg-secondary);color:var(--text-primary)}.adm-table--compact th,.adm-table--compact td{padding:6px 8px;font-size:12px}.adm-table__actions{display:flex;gap:6px;flex-wrap:wrap}.adm-checklist{display:flex;flex-direction:column;gap:8px}.adm-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-primary);cursor:pointer}.adm-check input{margin-top:2px}.adm-check--standalone{margin-top:4px}.adm-ucard__actions{display:flex;flex-direction:column;gap:8px}.adm-showcase__hint{margin:10px 0 4px;font-size:12px;color:var(--text-muted)}.adm-showcase__sections{display:flex;flex-direction:column;gap:12px}.adm-showcase__section-title{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:6px}.adm-showcase__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.adm-showcase__img{padding:0;border:2px solid transparent;border-radius:var(--radius-thumb);background:none;cursor:pointer;overflow:hidden;aspect-ratio:1 / 1}.adm-showcase__img img{width:100%;height:100%;object-fit:cover;display:block}.adm-showcase__img--cover{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-primary)}.adm-page__hint{color:var(--text-muted)}.adm-ucard__bignum{font-size:1.5rem;font-weight:600}.adm-meter{height:6px;border-radius:var(--radius-pill);background:var(--bg-tertiary);overflow:hidden;margin-top:2px}.adm-meter__fill{height:100%;background:var(--accent-primary)}.adm-kind{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;color:var(--text-inverse)}.adm-kind--billing{background:var(--adm-bad)}.adm-kind--rate_limit{background:var(--adm-warn)}.adm-kind--safety{background:var(--accent-primary)}.adm-kind--other{background:var(--bg-tertiary);color:var(--text-muted)}.adm-table--compact th,.adm-table--compact td{padding:6px 10px;font-size:12px}.adm-model-tools{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px;max-width:420px}.adm-model-tools li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-model-tools__fail{color:var(--accent-danger)}.adm-model-detail-row>td{background:var(--bg-secondary);padding:14px 16px 18px}.adm-model-detail{display:flex;flex-direction:column;gap:12px}.adm-model-detail__meta{display:flex;flex-direction:column;gap:10px}.adm-model-detail__k{font-size:11px;color:var(--text-muted)}.adm-model-detail__brief{font-size:13px;line-height:1.45;white-space:pre-wrap;max-width:72ch}.adm-model-detail__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 18px;font-size:12px}.adm-model-detail__grid>div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--border-muted);padding-bottom:4px;min-width:0}.adm-model-detail__grid span{color:var(--text-muted);white-space:nowrap}.adm-model-detail__grid b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-model-detail__message{font-size:12px;white-space:pre-wrap;padding:8px 10px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.adm-model-detail__message--error{color:var(--accent-danger)}.adm-model-detail__links{display:flex;gap:6px;flex-wrap:wrap}.adm-model-detail__h{margin:4px 0 0;font-size:12px;font-weight:600;color:var(--text-muted)}.adm-model-delta,.adm-model-source{margin:6px 0 0;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-family:var(--font-numeric);font-size:11px;line-height:1.5;overflow:auto;max-height:480px;white-space:pre}.adm-model-delta{max-height:240px}.adm-model-tree{list-style:none;margin:0;padding:0}.adm-model-tree--root{display:flex;flex-direction:column;gap:4px}.adm-model-node__row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--border-muted)}.adm-model-node--archived>.adm-model-node__row{opacity:.55}.adm-model-node__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.adm-model-node__head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.adm-model-node__label{font-weight:600;font-size:13px}.adm-model-node__meta{font-size:12px;color:var(--text-secondary);display:flex;flex-wrap:wrap;align-items:center;gap:2px}.adm-model-node__actions{flex-shrink:0}.adm-model-scene__viewport-wrap{position:relative;width:100%;height:min(70vh,720px);min-height:320px;background:var(--bg-secondary);border:0;border-radius:var(--radius-md);overflow:hidden}.adm-model-scene__viewport{position:absolute;top:0;right:0;bottom:0;left:0}.adm-model-scene__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;color:var(--text-muted);font-size:13px;background:var(--bg-secondary)}.adm-model-scene__failed{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:720px}.adm-model-scene__thumb{max-width:100%;max-height:420px;object-fit:contain;border-radius:var(--radius-sm)}@media(max-width:720px){.adm-model-node__row{flex-wrap:wrap}.adm-model-node__actions{width:100%}}}.admin table,.admin [class*=kpi],.admin [class*=__num],.admin .adm-table__mono{font-variant-numeric:tabular-nums}.adm-chip--chat{background:var(--text-primary);color:var(--bg-primary)}.adm-drawer__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--overlay-bg);display:flex;justify-content:flex-end}.adm-drawer{width:min(560px,100%);height:100%;overflow-y:auto;background:var(--bg-elevated);border-radius:var(--radius-card) 0 0 var(--radius-card);box-shadow:var(--edge),var(--shadow-menu)}.adm-section-title{font-size:14px;font-weight:600;margin:16px 0 8px}.adm-table__warn{color:var(--adm-warn);font-weight:600}.adm-geo__row{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}.adm-geo__bars{display:flex;align-items:flex-end;gap:2px;height:72px;border-bottom:1px solid var(--border-secondary)}.adm-geo__bar{flex:1 1 0;height:100%;display:flex;align-items:flex-end;min-width:2px}.adm-geo__bar-fill{display:block;width:100%;background:var(--accent-primary);border-radius:var(--radius-xs) var(--radius-xs) 0 0}@media(min-width:900px){.adm-geo__row{grid-template-columns:2fr 1fr}}.cookie-banner{position:fixed;bottom:var(--space-6);left:50%;z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-5);width:calc(100% - 3rem);max-width:600px;padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);color:var(--text-primary);opacity:0;transform:translate(-50%) translateY(120%);transition:transform var(--dur-view) var(--ease-out),opacity var(--dur-view) var(--ease-out)}.cookie-banner.visible{opacity:1;transform:translate(-50%) translateY(0)}.cookie-text{flex:1;font:var(--type-small);color:var(--text-secondary)}.cookie-text a{color:var(--text-primary);text-decoration:underline}.cookie-actions{display:flex;flex-shrink:0;gap:var(--space-2)}@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;gap:var(--space-3)}.cookie-actions{justify-content:flex-end}}:root{--chrome-inset: 12px;--chrome-gap: 8px;--chrome-top: calc(var(--header-h) + 12px)}.studio-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:var(--chrome-gap);height:var(--header-h);padding:0 var(--chrome-inset);background:var(--bg-elevated);box-shadow:0 1px 0 var(--border-secondary)}.app-main{padding-top:var(--header-h)}.app-main--float{padding-top:0}.ph-group{display:inline-flex;align-items:center;gap:2px;height:36px;color:var(--text-primary);font-size:13px}.ph-left{position:relative;min-width:0}.ph-right{display:flex;align-items:center;justify-content:flex-end;gap:var(--chrome-gap);min-width:0}.ph-right>.ph-group{flex:none}.ph-project{display:inline-flex;align-items:center;gap:6px;max-width:280px;height:var(--control-md);padding:0 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background var(--transition-normal)}.ph-project:hover,.ph-project[aria-expanded=true]{background:var(--bg-secondary);color:var(--text-primary)}.ph-project--rename{width:var(--control-sm);height:var(--control-sm);padding:0;justify-content:center;opacity:.55}.ph-project--rename:hover,.ph-project--rename:focus-visible{opacity:1}.ph-project--sidebar[aria-pressed=true]{opacity:1;background:var(--accent-soft);color:var(--accent-primary)}.ph-brand{display:block;flex:none;height:16px;width:auto}.ph-project__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-nav{display:flex;align-items:center;justify-content:center;gap:var(--chrome-gap);min-width:0}.ph-project--home{padding:0 10px}.ph-nav>.ph-group{height:var(--control-md);padding:2px;border-radius:var(--radius-control);background:var(--bg-secondary)}.ph-nav>.ph-group .ph-seg__btn{height:var(--control-sm);border-radius:var(--radius-sm);color:var(--text-secondary)}.ph-nav>.ph-group .ph-seg__btn:hover{background:transparent;color:var(--text-primary)}.ph-nav>.ph-group .ph-seg__btn--active,.ph-nav>.ph-group .ph-seg__btn--active:hover{background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-primary)}.ph-center{display:flex;justify-content:center;min-width:0}.ph-phase-menu{display:none;position:relative}.ph-phase-menu__list{position:absolute;top:calc(100% + 8px);left:0;min-width:200px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);z-index:var(--z-menu)}.ph-menu-item--active{background:var(--bg-secondary);color:var(--text-primary)}.ph-tools-slot{display:flex;align-items:center;gap:var(--chrome-gap)}.ph-tools-slot:empty{display:none}@media(max-width:1279px){.ph-tabs{display:none}.ph-phase-menu{display:inline-flex}}.ph-tab{height:var(--control-md);padding:0 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font:var(--type-ui);white-space:nowrap;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.ph-tab:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.ph-tab--active,.ph-tab--active:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ph-tab:disabled{opacity:.45;cursor:default}.ph-seg{display:inline-flex;gap:2px}.ph-seg__btn{display:inline-flex;align-items:center;gap:6px;height:var(--control-md);padding:0 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:var(--type-ui);cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.ph-seg__btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.ph-seg__btn--active,.ph-seg__btn--active:hover{background:var(--accent-soft);color:var(--accent-primary)}.ph-end{gap:var(--space-2)}.user-card{position:relative}.user-card__trigger{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--bg-tertiary);color:var(--text-primary);font:inherit;font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.user-card__trigger:hover{background:var(--bg-tertiary)}.user-card__trigger[aria-expanded=true]{background:var(--accent-soft);color:var(--accent-primary)}.user-card__dropdown{position:absolute;top:calc(100% + 8px);right:0;width:248px;padding:var(--space-1);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-menu);z-index:var(--z-menu)}.user-card__email{margin:0;padding:8px 10px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;color:var(--text-primary)}.user-card__credits{display:flex;align-items:center;gap:6px;margin:0;padding:0 10px 6px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-muted)}.user-card__credits--low{color:var(--accent-warning)}.user-card__divider{height:1px;margin:4px 0;background:var(--border-secondary)}.user-card__menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--row-h);padding:4px 8px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);font:inherit;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.user-card__menu-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.user-card__menu-item--danger,.user-card__menu-item--danger:hover{color:var(--accent-danger)}.ph-project:focus-visible,.ph-tab:focus-visible,.ph-seg__btn:focus-visible,.user-card__trigger:focus-visible{outline-offset:0}@media(max-width:1100px){.ph-seg__btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.ph-seg__btn{width:var(--control-md);padding:0;justify-content:center}.ph-tab{padding:0 10px}.studio-header{column-gap:12px}}@media(max-width:600px){.studio-header{display:none}.app-main{padding-top:0}}.tree-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:34;background:var(--bg-primary)}.tree-overlay__body{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.app-layout--kept-docked .tree-overlay,.app-layout--kept-docked .plans-surface{left:var(--panel-kept-w)}.surface-hidden{display:none!important}.subject-bar{display:flex;align-items:center;gap:8px;padding:8px 12px}.subject-bar__chips{display:flex;flex:1;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:none}.subject-bar__chips::-webkit-scrollbar{display:none}.subject-chip{display:inline-flex;align-items:center;gap:6px;flex:none;height:var(--control-md);padding:0 12px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge);color:var(--text-secondary);font:var(--type-ui);cursor:pointer}.subject-chip--active{background:var(--accent-soft);box-shadow:none;color:var(--accent-primary)}.subject-chip:focus-visible{outline-offset:0}.credits-pill{display:inline-flex;align-items:center;gap:6px;height:var(--control-sm);min-width:32px;padding:0 10px;border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--accent-primary);color:var(--accent-primary);font:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:background var(--transition-normal),color var(--transition-normal)}.credits-pill:hover:not(:disabled){background:var(--accent-soft)}.credits-pill__value{color:inherit}.credits-pill--low,.credits-pill--low:hover:not(:disabled){background:var(--warning-soft);box-shadow:inset 0 0 0 1px var(--accent-warning);color:var(--accent-warning)}.credits-pill--low .credits-pill__value{color:var(--accent-warning)}.credits-pill--loading{cursor:default}.credits-pill__skeleton{display:inline-block;width:5ch;height:12px;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.credits-pill:focus-visible{outline-offset:0}@media(max-width:1100px){.credits-pill__label{display:none}}.presentation{min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.presentation__nav{padding:22px 48px}.presentation-logo{font-family:var(--font-sans);font-size:15px;font-weight:700;color:var(--text-primary);text-decoration:none}.presentation__header{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1240px;margin:0 auto;padding:72px 48px 40px}.presentation__title{margin:0;font-family:var(--font-serif);font-size:clamp(40px,6vw,64px);font-weight:800;line-height:1.04;letter-spacing:-.01em;color:var(--text-primary)}.presentation__context{margin:22px 0 0;font-family:var(--font-sans);font-size:17px;line-height:1.6;color:var(--text-secondary);max-width:58ch}.presentation__style{margin:18px 0 0;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-muted)}.presentation__stats{display:flex;align-items:center;gap:24px;flex-shrink:0;padding-bottom:6px}.presentation__stat{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-muted)}.presentation__stat svg{color:var(--text-secondary)}.presentation__stat,.presentation__like-btn{display:flex;align-items:center;gap:8px;height:var(--control-lg);padding:0 var(--space-5);border:0;border-radius:var(--radius-sm);background:var(--bg-elevated);box-shadow:var(--edge),var(--shadow-sm);color:var(--text-primary);font:var(--type-ui);cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.presentation__like-btn:hover{background:var(--accent-soft);color:var(--accent-primary)}.presentation__like-btn:active{transform:scale(.98)}.presentation__like-btn--liked,.presentation__like-btn--liked:hover{background:var(--accent-primary);color:var(--text-inverse)}.presentation__notice{flex-basis:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-primary);font:var(--type-small)}.presentation__section{max-width:1240px;margin:0 auto;padding:56px 48px 0}.presentation__section-title{margin:0 0 28px;padding-top:20px;box-shadow:0 -1px 0 var(--border-secondary);font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-secondary)}.presentation__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}.presentation__image-btn{display:block;padding:0;border:0;border-radius:var(--radius-card);background:none;line-height:0;cursor:zoom-in;box-shadow:var(--edge),var(--shadow-card);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.presentation__image-btn:hover{transform:translateY(-2px);box-shadow:var(--edge),var(--shadow-lift)}.presentation__image{display:block;width:100%;border-radius:var(--radius-card);background:var(--bg-tertiary)}.presentation__empty{max-width:1240px;margin:0 auto;padding:96px 48px;text-align:center;color:var(--text-muted);font-family:var(--font-sans);font-size:15px}.presentation__footer{max-width:1240px;margin:96px auto 0;padding:40px 48px;text-align:center;box-shadow:0 -1px 0 var(--border-secondary)}.presentation__powered{font-family:var(--font-sans);font-size:12px;font-weight:600;color:var(--text-muted)}.presentation__nuit-link{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.presentation__nuit-link:hover{color:var(--text-secondary)}.presentation-loading,.presentation-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;background:var(--bg-primary);color:var(--text-muted);font-family:var(--font-sans);font-size:14px}.presentation-loading .presentation-logo,.presentation-error .presentation-logo{color:var(--text-primary)}@media(max-width:720px){.presentation__nav{padding:18px 24px}.presentation__header{flex-direction:column;align-items:flex-start;gap:28px;padding:48px 24px 32px}.presentation__stats{padding-bottom:0}.presentation__section{padding:44px 24px 0}.presentation__grid{grid-template-columns:1fr;gap:18px}.presentation__footer{margin-top:72px;padding:32px 24px}}@media(prefers-reduced-motion:reduce){.presentation__image-btn,.presentation__like-btn,.presentation__nuit-link{transition:none}.presentation__image-btn:hover{transform:none}}
