:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;font-weight:400;color:var(--text);background:var(--bg);--bg: oklch(.075 0 0);--panel: oklch(.115 .014 270);--panel-strong: oklch(.15 .018 270);--panel-soft: oklch(.105 .01 250);--line: oklch(.27 .028 265);--line-soft: oklch(.2 .022 265);--text: oklch(.93 .012 260);--muted: oklch(.68 .02 255);--quiet: oklch(.5 .02 255);--primary: oklch(.58 .19 270);--primary-strong: oklch(.64 .2 268);--cyan: oklch(.72 .16 212);--warm: oklch(.79 .13 74);--danger: oklch(.62 .16 28);--success: oklch(.74 .14 154);--radius: 8px;--radius-small: 6px;--topbar: 58px;--left: 326px;--right: 356px}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{min-width:320px;overflow:hidden;background:radial-gradient(circle at 52% 8%,oklch(.16 .06 268 / .22),transparent 32rem),linear-gradient(180deg,oklch(.082 .002 260),var(--bg) 32rem)}button,input,select,textarea{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.64}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}h1,h2,p{margin:0}.app-shell{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:var(--topbar);display:grid;grid-template-columns:minmax(236px,1fr) auto;gap:16px;align-items:center;padding:0 18px;border-bottom:1px solid var(--line-soft);background:#020305f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand-block,.project-name,.top-actions,.scene-tabs,.canvas-meta,.dock-actions,.export-bar,.prompt-actions,.lock-title,.section-title.with-icon{display:flex;align-items:center}.brand-block{gap:11px;min-width:0}.brand-mark{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),oklch(.46 .16 292)),var(--primary)}.brand-name{font-size:.96rem;font-weight:750;color:var(--text)}.project-name{gap:5px;margin-top:1px;color:var(--muted);font-size:.76rem;white-space:nowrap}.scene-tabs{min-width:0;gap:4px;padding:3px;border:1px solid var(--line-soft);border-radius:8px;background:#020203;overflow-x:auto}.tab,.ghost-button,.icon-button,.tool-button,.view-fit-button,.lock-chip,.fixture-pill,.version-card,.export-button,.recent-row{color:var(--muted);background:transparent;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.tab{flex:1 0 auto;min-height:31px;padding:0 13px;border-radius:6px;font-size:.82rem;white-space:nowrap}.tab.is-active,.tab:hover{color:var(--text);background:var(--panel-strong)}.top-actions{gap:7px;justify-content:flex-end;min-width:0}.ghost-button,.primary-button,.icon-button,.export-button{min-height:32px;border-radius:7px;align-items:center;justify-content:center}.ghost-button,.primary-button,.export-button{display:inline-flex;gap:7px;padding:0 10px;font-size:.82rem}.ghost-button{border:1px solid var(--line-soft);background:#06070b}.ghost-button:hover,.ghost-button:focus-visible{color:var(--text);border-color:var(--line);background:#0c0f16}.ghost-button.wide{flex:1 1 auto}.primary-button{color:#fff;border:1px solid oklch(.68 .18 270);background:linear-gradient(180deg,var(--primary-strong),var(--primary))}.primary-button:hover{background:linear-gradient(180deg,oklch(.68 .19 268),var(--primary))}.icon-button{width:34px;display:inline-grid;place-items:center;border:1px solid var(--line-soft);color:var(--muted);background:#06070b}.icon-button:hover{color:var(--text);border-color:var(--line)}.icon-button.compact{width:30px;min-height:30px}.workspace{flex:1;display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);grid-template-rows:minmax(0,1fr);grid-template-areas:"left canvas inspector";gap:12px;min-height:0;padding:12px}.panel,.canvas-shell,.version-dock{border:1px solid var(--line-soft);border-radius:var(--radius);background:linear-gradient(180deg,#06070cfa,#020304fa),var(--panel)}.left-panel{grid-area:left;min-height:0;overflow:hidden auto;padding:14px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.panel-head h2,.version-head h2{color:var(--text);font-size:.95rem;line-height:1.2}.panel-head p,.version-head p,.canvas-head p{color:var(--muted);font-size:.78rem}.upload-list{display:grid;gap:10px;margin-top:14px}.upload-card{min-height:86px;display:grid;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#020203}.upload-card label{cursor:pointer}.upload-card:hover{border-color:#2e4362;background:#03050a}.upload-card.is-drop-target{border-color:var(--cyan);background:#000b14}.upload-preview{width:78px;height:58px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line-soft);border-radius:7px;color:var(--cyan);background:linear-gradient(135deg,#02060d,#010101),var(--panel-soft)}.upload-preview img{width:100%;height:100%;object-fit:cover}.preview-fixturePlan,.preview-floorPlan{background:linear-gradient(oklch(.62 .11 214 / .18) 1px,transparent 1px),linear-gradient(90deg,oklch(.62 .11 214 / .16) 1px,transparent 1px),radial-gradient(circle at 70% 35%,oklch(.78 .12 75 / .2),transparent 18px),#010202;background-size:16px 16px,16px 16px,auto,auto}.upload-copy{display:grid;gap:2px;min-width:0}.upload-copy strong{color:var(--text);font-size:.86rem;font-weight:650}.upload-copy span{color:var(--muted);font-size:.73rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-actions{display:grid;justify-items:end;gap:6px}.upload-action{min-width:48px;min-height:26px;display:inline-grid;place-items:center;border:1px solid var(--line-soft);border-radius:6px;color:var(--muted);font-size:.7rem;background:#040609}.upload-remove-button{width:28px;min-height:28px;display:inline-grid;place-items:center;border:1px solid oklch(.32 .06 34);border-radius:6px;color:#ffac98;color:oklch(.82 .11 34);background:#100403c2}.upload-remove-button:hover{color:#fff;border-color:#9c4535;background:#340904}.status-ready .upload-action{color:#96dead;border-color:#104929;background:#02110694}.style-reference-panel,.project-brief,.control-section{margin-top:16px}.section-title{margin-bottom:8px;color:var(--muted);font-size:.74rem;font-weight:650}.section-title.with-icon{gap:6px}.style-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.style-reference-card{min-width:0;display:grid;gap:7px;padding:8px;border:1px solid var(--line-soft);border-radius:8px;text-align:left;color:var(--muted);background:#020203;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.style-reference-card:hover,.style-reference-card.is-active{color:var(--text);border-color:#3e5092;background:#040711}.style-reference-card.is-active{box-shadow:inset 0 0 0 1px #516bd18c}.style-thumb{position:relative;height:58px;overflow:hidden;border-radius:7px;isolation:isolate;background:var(--panel-soft)}.style-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scene-thumb span{position:absolute;display:block}.scene-sky{top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(circle at 78% 18%,oklch(.72 .14 78 / .18),transparent 18%),linear-gradient(180deg,#001534,#010918,#010102 78%)}.scene-ground{left:0;right:0;bottom:0;z-index:2;height:18px;background:linear-gradient(90deg,transparent,oklch(.72 .14 212 / .18),transparent),#010203eb}.scene-mass{z-index:1;border:1px solid oklch(.58 .08 232 / .28);background:#03060be0}.scene-light{z-index:3;border-radius:999px;background:var(--warm);box-shadow:0 0 10px #ecad52a3}.scene-outdoor .scene-mass-a{width:42px;height:32px;left:14px;bottom:13px;clip-path:polygon(0 36%,52% 0,100% 34%,100% 100%,0 100%)}.scene-outdoor .scene-mass-b{width:76px;height:14px;right:12px;bottom:16px;border-radius:999px 999px 2px 2px;background:#000d04c7;background:oklch(.14 .04 155 / .78)}.scene-outdoor .scene-light-a{width:5px;height:5px;left:24px;bottom:19px}.scene-outdoor .scene-light-b{width:44px;height:3px;right:28px;bottom:23px}.scene-indoor .scene-sky{background:linear-gradient(90deg,#010304,#080d1a,#010304)}.scene-indoor .scene-mass-a{left:12px;right:12px;top:9px;height:36px;border-radius:2px;background:linear-gradient(90deg,transparent 0 18%,oklch(.76 .1 74 / .3) 18% 20%,transparent 20% 36%,oklch(.76 .1 74 / .26) 36% 38%,transparent 38% 58%,oklch(.76 .1 74 / .3) 58% 60%,transparent 60%),#04060af0}.scene-indoor .scene-mass-b{left:24px;right:24px;bottom:16px;height:6px;border-radius:999px;background:#ecad5280}.scene-indoor .scene-light-a,.scene-indoor .scene-light-b{top:16px;width:20px;height:3px}.scene-indoor .scene-light-a{left:28px}.scene-indoor .scene-light-b{right:28px}.scene-facade .scene-mass-a{left:18px;bottom:12px;width:72px;height:38px;background:linear-gradient(90deg,transparent 0 22%,oklch(.68 .1 212 / .28) 22% 24%,transparent 24% 48%,oklch(.68 .1 212 / .24) 48% 50%,transparent 50% 74%,oklch(.68 .1 212 / .24) 74% 76%,transparent 76%),linear-gradient(180deg,#0e111a,#020305)}.scene-facade .scene-mass-b{left:10px;bottom:44px;width:94px;height:6px;transform:skew(-18deg);background:#0f1622}.scene-facade .scene-light-a{left:18px;bottom:14px;width:72px;height:3px}.scene-facade .scene-light-b{right:22px;bottom:24px;width:4px;height:18px}.scene-commercial .scene-sky{background:radial-gradient(circle at 18% 28%,oklch(.72 .18 318 / .28),transparent 20%),radial-gradient(circle at 80% 20%,oklch(.72 .16 212 / .22),transparent 18%),linear-gradient(180deg,#05091c,#010102)}.scene-commercial .scene-mass-a{left:9px;bottom:13px;width:54px;height:34px}.scene-commercial .scene-mass-b{right:12px;bottom:13px;width:42px;height:29px}.scene-commercial .scene-light-a{left:17px;bottom:34px;width:36px;height:7px;border-radius:3px;background:#01b9d2;background:oklch(.72 .16 212)}.scene-commercial .scene-light-b{right:18px;bottom:25px;width:26px;height:18px;border-radius:3px;background:#ecad52db}.scene-commercial .style-thumb:after{background:linear-gradient(135deg,oklch(.64 .18 270 / .18),transparent 58%),linear-gradient(180deg,transparent 65%,oklch(.72 .16 212 / .12))}.style-copy{display:grid;gap:2px}.style-copy strong{color:var(--text);font-size:.78rem}.style-copy small{color:var(--muted);font-size:.66rem;line-height:1.35}.brief-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.74rem}.brief-row strong{color:var(--text);font-size:.74rem;font-weight:620}.recent-row{width:100%;min-height:34px;display:flex;align-items:center;gap:8px;padding:0 9px;border-radius:6px;color:var(--muted);text-align:left}.recent-row:hover{color:var(--text);background:var(--panel-strong)}.recent-row{justify-content:space-between;gap:12px}.recent-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-row small{flex:0 0 auto;color:var(--quiet)}.canvas-shell{grid-area:canvas;display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px;overflow:hidden}.canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:3px 3px 11px}.canvas-head h1{color:var(--text);font-size:1.24rem;line-height:1.22;font-weight:740;text-wrap:balance}.canvas-board{position:relative;flex:1;min-height:360px;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:linear-gradient(180deg,#040508,#010101),var(--bg)}.canvas-control-row{position:relative;z-index:6;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.canvas-control-cluster,.canvas-zoom-controls{display:flex;align-items:center;gap:7px}.canvas-control-cluster{flex:0 0 auto;justify-content:flex-end}.canvas-zoom-controls{min-height:42px;padding:5px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted);background:#020204e0}.zoom-value{min-width:42px;color:var(--text);font-size:.74rem;font-variant-numeric:tabular-nums;text-align:center}.view-fit-button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border-radius:6px;color:var(--muted);font-size:.74rem}.view-fit-button:hover:not(:disabled){color:var(--text);background:#0f1526}.canvas-toolbar{display:flex;gap:4px;flex-wrap:wrap;max-width:min(100%,620px);padding:4px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#020204e0}.tool-button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border-radius:6px;font-size:.74rem}.tool-button.is-active,.tool-button:hover{color:#fff;background:#162455}.tool-button.danger:not(:disabled){color:#ffc0ac;color:oklch(.86 .1 38)}.tool-button.danger:not(:disabled):hover{background:#3a0f08}.canvas-time-control{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted);background:#020204e0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.canvas-time-control select{width:144px;height:30px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:6px;padding:0 8px;color:var(--text);font-size:.76rem;background:#05070c}.image-frame{position:relative;flex:1 1 auto;min-height:260px;overflow:hidden;touch-action:none;border:1px solid oklch(.19 .02 260);border-radius:var(--radius);background:radial-gradient(circle at 50% 42%,oklch(.14 .026 256 / .72),transparent 32rem),#000}.canvas-viewport-content{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center center;transition:transform .12s ease-out;will-change:transform}.image-frame.is-empty{display:grid;place-items:center;padding:28px;background:linear-gradient(oklch(.3 .03 250 / .16) 1px,transparent 1px),linear-gradient(90deg,oklch(.3 .03 250 / .14) 1px,transparent 1px),radial-gradient(circle at 52% 38%,oklch(.24 .08 270 / .45),transparent 24rem),#010101;background-size:32px 32px,32px 32px,auto,auto}.empty-canvas-state{width:min(520px,86%);display:grid;justify-items:center;gap:12px;padding:26px;border:1px solid oklch(.31 .04 260);border-radius:10px;color:inherit;text-align:center;background:#020204e6}.empty-canvas-state:hover{border-color:#485996;background:#04060cf0}.empty-canvas-mark{width:52px;height:52px;display:grid;place-items:center;border:1px solid oklch(.42 .08 270);border-radius:10px;color:var(--cyan);background:#021224cc}.empty-canvas-state h2{color:var(--text);font-size:1rem;line-height:1.2}.empty-canvas-state p{max-width:44ch;color:var(--muted);font-size:.78rem}.empty-canvas-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.empty-canvas-steps span{min-height:27px;display:inline-flex;align-items:center;padding:0 9px;border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:.72rem;background:#040609}.render-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center center}.source-image{z-index:1;filter:saturate(.92) contrast(.98)}.generated{z-index:2;filter:none}.before-layer{z-index:3;filter:none}.compare-line{position:absolute;top:0;bottom:0;z-index:4;width:2px;background:#fff}.compare-line:before{content:"";position:absolute;top:50%;left:50%;width:36px;height:36px;border:1px solid white;border-radius:999px;transform:translate(-50%,-50%);background:#030407eb}.result-pending{position:relative;z-index:6;align-self:flex-end;min-height:31px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid oklch(.4 .06 220);border-radius:7px;color:#86e2f2;font-size:.75rem;background:#010203db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;width:100%;height:100%;pointer-events:auto;touch-action:none}.annotation-layer.is-marking,.annotation-layer.is-box-selecting{cursor:crosshair}.annotation-node{cursor:grab;pointer-events:auto}.annotation-node:active{cursor:grabbing}.annotation-area-rect{fill:#01b9d221;fill:oklch(.72 .16 212 / .13);stroke:#01b9d2;stroke:oklch(.72 .16 212);stroke-width:2;pointer-events:all}.area-repaint .annotation-area-rect{fill:#ecad522e;stroke:var(--warm)}.area-mask .annotation-area-rect{fill:#01b9d224;fill:oklch(.72 .16 212 / .14);stroke:var(--cyan)}.area-avoid .annotation-area-rect{fill:#d5584d29;stroke:#fe9979}.annotation-draft .annotation-area-rect{stroke-dasharray:10 8;opacity:.92}.fixture-point{fill:var(--warm);stroke:#fff;stroke-width:2.5;pointer-events:all}.fixture-point-pulse{fill:#ecad522e;stroke:#ecad526b;stroke-width:1;pointer-events:all}.fixture-line-hit,.fixture-direction-hit{stroke:transparent;stroke-width:22;pointer-events:stroke}.fixture-line-path{fill:none;stroke:var(--warm);stroke-linecap:round;stroke-width:6;pointer-events:none}.fixture-line-wash .fixture-line-path{stroke:var(--warm);stroke-dasharray:18 12}.fixture-line-linear .fixture-line-path{stroke:var(--cyan);stroke-width:5}.fixture-direction-line{fill:none;stroke:var(--warm);stroke-linecap:round;stroke-width:3;pointer-events:none}.fixture-arrow-head{fill:var(--warm)}.fixture-direction-target{fill:#010203;stroke:var(--warm);stroke-width:1.5;pointer-events:none}.annotation-node.is-selected .fixture-point{stroke:var(--cyan);stroke-width:3}.annotation-node.is-selected .annotation-area-rect,.annotation-node.is-selected .fixture-line-path,.annotation-node.is-selected .fixture-direction-line{filter:drop-shadow(0 0 8px oklch(.72 .16 212 / .45))}.annotation-fixture-line.is-selected .fixture-line-path,.annotation-fixture-direction.is-selected .fixture-direction-line{stroke-width:5}.annotation-fixture-area .annotation-area-rect{fill:#ecad5224;stroke:#ecad52}.annotation-fixture-point .fixture-point{fill:#01b9d2;fill:oklch(.72 .16 212)}.annotation-fixture-area .annotation-text-bg,.annotation-fixture-point .annotation-text-bg{stroke:#01b9d2b8;stroke:oklch(.72 .16 212 / .72)}.annotation-selection-outline{fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-dasharray:8 8;pointer-events:none}.annotation-handle{fill:var(--cyan);stroke:#010203;stroke-width:2;pointer-events:none}.annotation-text-bg{fill:#010203db;stroke:#e9aa4eb8;stroke-width:1}.area-mask .annotation-text-bg{stroke:#01b9d2b8;stroke:oklch(.72 .16 212 / .72)}.area-avoid .annotation-text-bg{stroke:#fe9979b8}.annotation-node.is-selected .annotation-text-bg{stroke:var(--cyan)}.fixture-line-linear .annotation-text-bg{stroke:#01b9d2b8;stroke:oklch(.72 .16 212 / .72)}.annotation-draft .fixture-line-path,.annotation-draft .fixture-direction-line{opacity:.82;stroke-dasharray:10 8}.annotation-svg-label{fill:#fff;font-size:11px;font-weight:620;pointer-events:none;-webkit-user-select:none;user-select:none}.compare-control{position:relative;z-index:6;display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--muted);font-size:.76rem;background:#010203db}.compare-control.is-disabled{opacity:.58;pointer-events:none}input[type=range]{width:100%;accent-color:var(--primary-strong)}.canvas-locks{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 3px 0}.lock-title{gap:5px;margin-right:4px;color:var(--muted);font-size:.76rem}.lock-chip{min-height:29px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--line-soft);border-radius:999px;font-size:.73rem;background:var(--panel-soft)}.lock-chip.is-active{color:var(--text);border-color:#41507f;background:#101836ad}.lock-chip.accent{color:#86e2f2;border-color:#004554;border-color:oklch(.36 .08 218);background:#00151cb8;background:oklch(.18 .045 220 / .72)}.inspector{grid-area:inspector;min-height:0;overflow:hidden auto;padding:14px}.setup-section,.fixture-section,.prompt-section,.output-section,.negative-section{display:grid;gap:10px}.fixture-section,.output-section,.negative-section{padding-top:14px;border-top:1px solid var(--line-soft)}.prompt-section{padding:12px;border:1px solid oklch(.28 .045 268);border-radius:8px;background:linear-gradient(180deg,#05070fc7,#020203e6),var(--panel-soft)}.select-field{position:relative;display:grid;gap:6px;color:var(--muted);font-size:.75rem}.select-field select{width:100%;height:38px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line-soft);border-radius:7px;padding:0 34px 0 10px;color:var(--text);background:var(--panel-soft)}.select-field svg{position:absolute;right:10px;bottom:10px;color:var(--muted)}.selected-style-summary{display:grid;gap:4px;margin-top:0;padding:11px 12px;border:1px solid oklch(.32 .06 270);border-radius:8px;background:linear-gradient(135deg,oklch(.2 .06 270 / .52),transparent 72%),#020204}.selected-style-summary span,.selected-style-summary small{color:var(--muted);font-size:.72rem}.selected-style-summary strong{color:var(--text);font-size:.86rem;font-weight:690}.fixture-pill{min-height:30px;border:1px solid var(--line-soft);border-radius:6px;padding:0 9px;font-size:.75rem;background:var(--panel-soft)}.fixture-pill:hover,.fixture-pill.is-active{color:var(--text);border-color:#3f4d7c;background:#0f1630b8}.fixture-group{display:grid;gap:7px}.fixture-group+.fixture-group{padding-top:10px;border-top:1px solid var(--line-soft)}.fixture-group>span{display:block;color:var(--quiet);font-size:.72rem}.fixture-list{display:flex;flex-wrap:wrap;gap:6px}.prompt-box{width:100%;resize:vertical;min-height:132px;border:1px solid var(--line-soft);border-radius:8px;padding:10px;color:var(--text);background:var(--panel-soft)}.prompt-actions{gap:8px;margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) auto}.inspector-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.inspector-export-grid .export-button{width:100%;min-height:36px;padding:0 8px;justify-content:center}.negative-list{display:grid;grid-template-columns:1fr;gap:6px}.check-row{min-height:27px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem}.check-row input{accent-color:var(--primary-strong)}.api-status{display:flex;align-items:flex-start;gap:7px;margin-top:12px;padding:9px;border:1px solid var(--line-soft);border-radius:8px;color:var(--muted);font-size:.75rem;background:var(--panel-soft)}.api-status.state-error{color:#ffb299;color:oklch(.83 .1 38);border-color:#8d4636;background:#200a06ad}.api-status.state-success{color:#96e7b0;border-color:#0d5c33;background:#011407ad}.version-dock{grid-area:dock;min-width:0;display:grid;grid-template-columns:minmax(170px,.56fr) minmax(0,1fr) minmax(190px,.54fr);gap:12px;padding:12px;overflow:hidden}.version-head{min-width:0}.dock-actions{flex-wrap:wrap;gap:6px;margin-top:10px}.version-strip{min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(154px,1fr);gap:8px;overflow-x:auto;padding-bottom:4px}.version-card{min-width:0;min-height:112px;display:grid;grid-template-rows:34px minmax(0,1fr) auto;gap:6px;padding:9px;border:1px solid var(--line-soft);border-radius:8px;text-align:left;background:var(--panel-soft)}.version-card:hover,.version-card.is-active{color:var(--text);border-color:#3f4d7c;background:var(--panel-strong)}.version-thumb{display:flex;align-items:center;justify-content:space-between;color:var(--cyan)}.version-thumb i{width:23px;height:23px;display:grid;place-items:center;border-radius:999px;color:#fff;font-style:normal;font-size:.72rem;background:var(--primary)}.version-card strong,.version-card small,.version-card em{display:block}.version-card strong{color:var(--text);font-size:.78rem}.version-card small{margin-top:2px;color:var(--muted);font-size:.7rem}.version-card em{color:var(--quiet);font-size:.68rem;font-style:normal}.export-bar{flex-wrap:wrap;align-content:flex-start;gap:7px}.export-bar>span{flex:1 0 100%;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.76rem}.export-button{border:1px solid var(--line-soft);color:var(--text);background:#0a0d15}.export-button:hover{border-color:#475585;background:#121932}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1240px){:root{--left: 250px;--right: 320px}.topbar{grid-template-columns:minmax(210px,1fr) auto}.top-actions .ghost-button span,.tool-button span{display:none}.tool-button{width:31px;justify-content:center;padding:0}}@media (min-width: 761px){.canvas-board{flex:1 1 auto;aspect-ratio:auto;min-height:0}}@media (max-width: 1060px){.topbar{height:auto;min-height:var(--topbar);grid-template-columns:1fr;align-items:stretch;padding:10px 12px}.top-actions{justify-content:flex-start;overflow-x:auto}.workspace{grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto minmax(520px,1fr);grid-template-areas:"left canvas" "inspector canvas"}.left-panel,.inspector{max-height:none}}@media (max-width: 760px){body{overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.workspace{display:flex;flex-direction:column;height:auto;min-height:calc(100vh - var(--topbar));padding:8px}.canvas-shell{order:2}.left-panel{order:1}.inspector{order:3}.canvas-head{flex-direction:column}.canvas-board{min-height:410px}.negative-list{grid-template-columns:1fr}.canvas-toolbar{max-width:100%}.canvas-control-row{flex-direction:column}.canvas-time-control select{width:158px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
