@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700&display=swap";:root{--bg-app:#0b0913;--bg-canvas:#0b0913;--bg-panel:#141416;--bg-panel-2:#1c1c1f;--bg-elevated:#1c1c1f;--bg-input:transparent;--bg-input-hover:#232326;--bg-hover:#212124;--bg-active:#2b2b30;--border:#2a2a2f;--border-soft:#202024;--text:#f7f6f2;--text-secondary:#a8a6a0;--text-muted:#8a8880;--text-dim:#6b6963;--accent:#d45535;--accent-hover:#bd4628;--selection:#d45535;--accent-soft:#d4553524;--accent-text:#eda58e;--row-selected:#d4553524;--row-selected-hover:#d4553538;--guide:#c04a2c;--guide-soft:#c04a2c24;--green:#14ae5c;--danger:#f24822;--warning:#ffcd29;--component:#6e2382;--scrollbar-thumb:#f7f6f229;--scrollbar-thumb-hover:#f7f6f24d;--radius:5px;--radius-lg:13px;--radius-xl:16px;--font:Inter, "Inter var", -apple-system, "Segoe UI", system-ui, sans-serif;--mono:"SF Mono", "Cascadia Code", ui-monospace, monospace;--shadow-float:0 2px 14px #00000026, 0 0 0 .5px #0003;--shadow-menu:0 10px 32px #00000080, 0 0 0 .5px #ffffff0f;--shadow-cmd:0 0 0 1px #ffffff0f, 0 24px 80px #000000a6;--color-scheme:dark;--topbar-h:38px;--rail-w:58px;--panel-w:240px;--panel-right-w:240px;--field-h:24px;--row-h:32px;--statusbar-h:24px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg-app:#eae8e3;--bg-canvas:#e5e3de;--bg-panel:#f7f6f2;--bg-panel-2:#efeee9;--bg-elevated:#fdfdfb;--bg-input:transparent;--bg-input-hover:#e7e5df;--bg-hover:#e7e5df;--bg-active:#dcdad3;--border:#d6d4cc;--border-soft:#e3e1da;--text:#111;--text-secondary:#56544e;--text-muted:#6f6d66;--text-dim:#8a8880;--accent-soft:#d455351f;--accent-text:#a8401f;--row-selected:#d4553524;--row-selected-hover:#d4553538;--guide-soft:#c04a2c1f;--scrollbar-thumb:#1113;--scrollbar-thumb-hover:#11111157;--shadow-float:0 2px 14px #1410201a, 0 0 0 .5px #1410201f;--shadow-menu:0 10px 32px #14102029, 0 0 0 .5px #1410201a;--shadow-cmd:0 0 0 1px #14102014, 0 24px 80px #14102038;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light] .statusbar{border-top:1px solid var(--border)}*{box-sizing:border-box}html,body,#root{background:var(--bg-app);width:100%;height:100%;color:var(--text);font-family:var(--font);letter-spacing:0;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;margin:0;font-size:11px;overflow:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{opacity:.32;cursor:not-allowed}.app-shell{grid-template-rows:var(--topbar-h) 1fr;background:var(--bg-app);width:100%;height:100%;display:grid}.presentation-shell,.presentation-canvas{background:#111113;width:100vw;height:100vh;overflow:hidden}.presentation-canvas{position:relative}.presentation-exit{z-index:50;color:#f4f4f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#18181be6;border:1px solid #ffffff24;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex;position:fixed;top:16px;right:16px}.presentation-exit span{color:#a1a1aa;background:#ffffff1a;border-radius:4px;padding:2px 5px;font-size:10px}.menubar{background:var(--bg-panel);-webkit-app-region:drag;app-region:drag;border-bottom:1px solid #00000073;align-items:center;gap:8px;padding:0 12px 0 14px;display:flex}.menubar button,.menubar input,.menubar .no-drag{-webkit-app-region:no-drag;app-region:no-drag}.menubar-brand{align-items:center;gap:10px;min-width:200px;display:flex}.logo-mark{width:22px;height:22px;color:var(--accent);background:0 0;border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.brand-text{align-items:center;gap:8px;line-height:1;display:flex}.desktop-only{background:var(--bg-app);width:100vw;height:100vh;color:var(--text);font-family:var(--font);place-items:center;display:grid}.desktop-only-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:340px;padding:32px;display:flex}.desktop-only-card .logo-mark{border-radius:10px;width:40px;height:40px;font-size:20px}.desktop-only-card h1{margin:0;font-size:17px;font-weight:600}.desktop-only-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.55}.brand-name{color:var(--text);letter-spacing:-.01em;font-size:12px;font-weight:600}.doc-name-input{color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:4px;min-width:120px;max-width:220px;padding:3px 6px;font-size:12px;font-weight:400}.doc-name-input:hover,.doc-name-input:focus{border-color:var(--border);background:var(--bg-input);color:var(--text);outline:none}.menubar-actions{align-items:center;gap:1px;display:flex}.menu-btn{height:26px;color:var(--text-muted);border-radius:5px;align-items:center;gap:5px;padding:0 8px;transition:background .12s,color .12s;display:inline-flex}.menu-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.menu-btn:active:not(:disabled){background:var(--bg-active)}.menu-btn.active{background:var(--accent-soft);color:var(--accent-text)}.menu-sep{background:var(--border-soft);width:1px;height:14px;margin:0 6px}.menubar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.agent-pill{background:var(--bg-input);border:1px solid var(--border-soft);height:24px;color:var(--text-muted);font-size:11px;font-family:var(--mono);font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.agent-pill:hover{border-color:var(--border);color:var(--text)}.agent-pill.on{color:#7ddea4;border-color:#14ae5c66}.agent-pill.off{opacity:.55}.agent-dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px}.agent-pill.on .agent-dot{background:var(--green);box-shadow:0 0 0 3px #14ae5c26}.collab-control{position:relative}.collab-dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px}.collab-dot.connecting{background:#f5a524}.collab-dot.connected{background:var(--green);box-shadow:0 0 0 3px #14ae5c26}.collab-popover{background:var(--bg-panel);border:1px solid var(--border);width:220px;box-shadow:var(--shadow-float);z-index:50;border-radius:10px;padding:12px;position:absolute;top:calc(100% + 8px);right:0}.collab-popover-title{align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.collab-row{align-items:center;gap:6px;display:flex}.collab-swatch{border-radius:50%;flex-shrink:0;width:10px;height:10px}.agent-toggle{background:var(--bg-elevated);border:1px solid var(--border);font-weight:500;color:var(--text-secondary)!important}.agent-toggle:hover{border-color:var(--text-dim)}.agent-toggle.active{border-color:#c04a2c66;background:var(--guide-soft)!important;color:var(--accent-text)!important}.topbar{background:var(--bg-app);border-bottom:1px solid var(--border);-webkit-app-region:drag;app-region:drag;align-items:stretch;gap:0;padding-right:8px;display:flex}.topbar .no-drag,.topbar button,.topbar input{-webkit-app-region:no-drag;app-region:no-drag}.topbar-home{width:var(--rail-w);color:var(--text-secondary);border-right:1px solid var(--border);place-items:center;display:grid}.topbar-home:hover{color:var(--text);background:var(--bg-panel)}.topbar-tabs{flex:1;align-items:stretch;min-width:0;display:flex}.topbar-tab{min-width:0;max-width:230px;color:var(--text-secondary);border-right:1px solid var(--border);align-items:center;gap:7px;padding:0 12px;display:flex}.topbar-tab.active{background:var(--bg-panel);color:var(--text)}.topbar-tab-name{min-width:0;color:inherit;text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:1;font-size:11px;font-weight:500}.topbar-tab-name:focus{background:var(--bg-panel-2);border-radius:3px;padding:0 3px}.topbar-actions{align-items:center;gap:2px;padding-left:8px;display:flex}.topbar-sep{background:var(--border);width:1px;height:18px;margin:0 5px}.icon-btn{border-radius:var(--radius);width:26px;height:26px;color:var(--text-secondary);place-items:center;transition:background 80ms,color 80ms;display:grid}.icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.icon-btn.active{background:var(--accent);color:#fff}.rail{width:var(--rail-w);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:2px;padding:8px 0;display:flex;overflow:hidden}.rail-brand{border-radius:var(--radius);width:30px;height:30px;color:var(--text);place-items:center;display:grid}.rail-brand:hover{background:var(--bg-hover)}.rail-sep{background:var(--border);width:22px;height:1px;margin:6px 0}.rail-slot{display:contents}.rail-btn{border-radius:var(--radius);width:30px;height:26px;color:var(--text-secondary);place-items:center;transition:background 80ms,color 80ms;display:grid}.rail-btn:hover{background:var(--bg-hover);color:var(--text)}.rail-btn.active{background:var(--accent);color:#fff}.rail-label{color:var(--text-dim);letter-spacing:.01em;margin-bottom:6px;font-size:9px;line-height:1}.toolbar-dock{left:50%;bottom:calc(16px + var(--statusbar-h));z-index:20;pointer-events:none;position:absolute;transform:translate(-50%)}.toolbar{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);pointer-events:auto;align-items:center;gap:0;padding:5px 6px;display:flex}.tool-slot{align-items:center;display:flex;position:relative}.tool-btn{border-radius:var(--radius);width:32px;height:32px;color:var(--text);place-items:center;transition:background 80ms,color 80ms;display:grid}.tool-btn.small{width:28px;height:28px;color:var(--text-secondary)}.tool-btn:hover:not(:disabled){background:var(--bg-hover)}.tool-btn.active{background:var(--accent);color:#fff}.tool-caret{border-radius:var(--radius);width:14px;height:32px;color:var(--text-secondary);place-items:center;display:grid}.tool-caret:hover,.tool-caret.open{color:var(--text)}.toolbar-divider{background:var(--border);width:1px;height:22px;margin:0 7px}.tool-menu{background:var(--bg-panel);border-radius:var(--radius);min-width:196px;box-shadow:var(--shadow-menu);z-index:30;padding:6px 0;position:absolute;bottom:calc(100% + 10px);left:-6px}.tool-menu-item{width:100%;height:24px;color:var(--text);text-align:left;align-items:center;gap:8px;padding:0 10px 0 4px;font-size:11px;display:flex}.tool-menu-item:hover{background:var(--accent)}.tool-menu-check{color:currentColor;place-items:center;width:16px;display:grid}.tool-menu-label{white-space:nowrap;flex:1}.tool-menu-key{color:var(--text-secondary);font-size:11px}.tool-menu-item:hover .tool-menu-key{color:#fffc}.zoom-label{text-align:center;min-width:40px;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.workspace{background:var(--bg-canvas);grid-template-columns:auto auto 1fr auto;min-height:0;display:grid;overflow:hidden}.side{width:var(--panel-w);background:var(--bg-panel);flex-direction:column;display:flex;overflow:hidden}.side.left{border-right:1px solid var(--border)}.side.right{border-left:1px solid var(--border);width:var(--panel-right-w)}.canvas-wrap{background:var(--bg-canvas);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-root{flex:auto;width:100%;min-height:0}.panel-top{border-bottom:1px solid var(--border);flex:none}.panel-top-row{justify-content:flex-end;align-items:center;gap:6px;height:40px;padding:0 8px;display:flex}.panel-present{border-radius:var(--radius);width:26px;height:26px;color:var(--text);place-items:center;display:grid}.panel-present:hover{background:var(--bg-hover)}.panel-share{border-radius:var(--radius);background:var(--accent);color:#fff;height:26px;padding:0 12px;font-size:11px;font-weight:550}.panel-share:hover{background:var(--accent-hover)}.panel-tabs{align-items:center;gap:2px;height:32px;padding:0 8px 6px;display:flex}.panel-tab{border-radius:var(--radius);height:24px;color:var(--text-secondary);padding:0 8px;font-size:11px;font-weight:550}.panel-tab:hover{color:var(--text)}.panel-tab.active{background:var(--bg-panel-2);color:var(--text)}.panel-zoom{margin-left:auto;position:relative}.panel-zoom-btn{border-radius:var(--radius);height:24px;color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:3px;padding:0 6px;font-size:11px;display:flex}.panel-zoom-btn:hover{background:var(--bg-hover);color:var(--text)}.dropdown-menu{background:var(--bg-panel);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-menu);z-index:60;padding:6px 0;position:absolute;top:calc(100% + 4px);left:0}.dropdown-menu.right{left:auto;right:0}.dropdown-item{width:100%;height:24px;color:var(--text);text-align:left;align-items:center;gap:8px;padding:0 10px 0 4px;font-size:11px;display:flex}.dropdown-item:hover{background:var(--accent)}.dropdown-check{place-items:center;width:16px;display:grid}.dropdown-label{white-space:nowrap;flex:1}.dropdown-key{color:var(--text-secondary);font-size:11px}.dropdown-item:hover .dropdown-key{color:#fffc}.selection-badge{background:var(--selection);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;z-index:10;border-radius:2px;padding:2px 6px;font-size:11px;font-weight:450;line-height:14px;position:absolute;transform:translate(-50%)}.panel{flex-direction:column;height:100%;min-height:0;display:flex}.panel-header{letter-spacing:0;height:40px;color:var(--text);border-bottom:none;justify-content:space-between;align-items:center;padding:0 8px 0 16px;font-size:11px;font-weight:600;display:flex}.panel-header-name-input{min-width:0;max-width:120px;font-family:var(--font);color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;margin:-3px 6px -3px -5px;padding:3px 5px;font-size:12px;font-weight:600}.panel-header-name-input:hover{border-color:var(--border-soft)}.panel-header-name-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:var(--bg-app)}.panel-section{flex-direction:column;min-height:0;display:flex}.panel-section.grow{flex:1;min-height:0}.ghost-btn{width:22px;height:22px;color:var(--text-muted);background:0 0;border-radius:5px}.ghost-btn:hover{background:var(--bg-hover);color:var(--text)}.muted{color:var(--text-muted);font-weight:400}.page-list,.layer-list{padding:0 8px 8px;overflow:auto}.page-row,.layer-row{min-height:var(--row-h);border-radius:var(--radius);color:var(--text);align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.page-row{cursor:pointer;justify-content:space-between}.page-row:hover,.layer-row:hover{background:var(--bg-hover);color:var(--text)}.page-row.active,.layer-row.selected{background:var(--row-selected);color:var(--text)}.page-row.active:hover,.layer-row.selected:hover{background:var(--row-selected-hover)}.layer-row{cursor:pointer;position:relative}.layer-row.drop-before:before,.layer-row.drop-after:after{content:"";background:var(--accent);pointer-events:none;border-radius:999px;height:2px;position:absolute;left:6px;right:6px}.layer-row.drop-before:before{top:-1px}.layer-row.drop-after:after{bottom:-1px}.layer-row.drop-inside{outline:1px solid var(--accent);outline-offset:-1px;background:var(--accent-soft)}.layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.layer-name-input{background:var(--bg-panel-2);border:1px solid var(--accent);min-width:0;color:var(--text);font-size:12px;font-family:var(--font);border-radius:4px;outline:none;flex:1;padding:1px 4px}.layer-type{color:var(--text-dim);place-items:center;display:grid}.layer-chevron{width:14px;height:14px;color:var(--text-dim);place-items:center;padding:0;display:grid}.chevron-spacer{width:12px;display:inline-block}.layer-icon-btn{width:18px;height:18px;color:var(--text-dim);opacity:0;border-radius:4px;place-items:center;display:grid}.layer-icon-btn.pinned{opacity:1;color:var(--text-secondary)}.layer-row:hover .layer-icon-btn,.page-row:hover .layer-icon-btn,.layer-row:focus-within .layer-icon-btn{opacity:1}.layer-icon-btn:hover{background:var(--bg-active);color:var(--text)}.empty-hint{color:var(--text-muted);padding:14px 12px;font-size:12px;line-height:1.5}.doc-meta{gap:6px;margin-top:14px;display:grid}.doc-meta>div{background:var(--bg-app);border-radius:var(--radius);border:1px solid var(--border-soft);justify-content:space-between;gap:12px;padding:8px 10px;display:flex}.properties-panel{overflow:auto}.prop-section{border-bottom:1px solid var(--border-soft);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.prop-section-title{color:var(--text);letter-spacing:0;text-transform:none;font-size:11px;font-weight:600}.prop-grid-2{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.prop-field{flex-direction:column;gap:4px;min-width:0;display:flex}.prop-label{color:var(--text-muted);text-transform:none;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.2;overflow:hidden}.prop-input,.prop-textarea,select.prop-input{width:100%;height:var(--field-h);background:var(--bg-panel-2);border-radius:var(--radius);-webkit-user-select:text;user-select:text;color:var(--text);font-variant-numeric:tabular-nums;border:1px solid #0000;outline:none;padding:0 8px;font-size:11px;transition:background 90ms,border-color 90ms}.prop-textarea{height:auto;padding:6px 8px}.prop-input:hover:not(:focus),select.prop-input:hover:not(:focus){background:var(--bg-input-hover)}.prop-input:focus,.prop-textarea:focus,select.prop-input:focus{border-color:var(--selection);background:var(--bg-input-hover);box-shadow:none}.prop-textarea{resize:vertical;min-height:56px;line-height:1.4}.prop-textarea.mono,.mono{font-family:var(--mono);font-size:11px}.prop-row{align-items:center;gap:8px;display:flex}.prop-row .grow,.grow{flex:1}.color-input{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:5px;width:28px;height:28px;padding:0}.recent-colors{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.recent-color-swatch{border:1px solid var(--border-soft);cursor:pointer;border-radius:4px;width:16px;height:16px;padding:0}.recent-color-swatch:hover{border-color:var(--accent)}.eyedropper-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.eyedropper-btn:hover{background:var(--bg-hover);color:var(--text)}.gradient-ramp{border-radius:var(--radius);border:1px solid var(--border-soft);cursor:crosshair;height:20px;margin-top:4px;position:relative}.gradient-ramp-stop{cursor:pointer;border:2px solid #fff;border-radius:50%;width:12px;height:12px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0006}.gradient-ramp-stop.active{box-shadow:0 0 0 2px var(--accent)}.align-row{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.align-btn{height:var(--field-h);border-radius:var(--radius);color:var(--text-secondary);background:0 0;border:none;place-items:center;font-size:11px;display:grid}.align-btn:hover{background:var(--bg-hover);color:var(--text)}.align-btn.active{background:var(--bg-active);color:var(--text)}.type-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:10px}.prop-id{font-family:var(--mono);word-break:break-all;color:var(--text-dim);font-size:10px}.prop-section-footer{opacity:.7;padding-top:8px;padding-bottom:8px}.agent-panel{z-index:40;-webkit-backdrop-filter:blur(8px);background:#0a0a0a8c;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:absolute;inset:0}.agent-panel-card{border-radius:var(--radius-xl);width:min(640px,92vw);max-height:min(72vh,640px);box-shadow:var(--shadow-cmd);background:#252525;border:1px solid #ffffff14;flex-direction:column;animation:.16s cubic-bezier(.16,1,.3,1) cmd-in;display:flex;overflow:hidden}@keyframes cmd-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.agent-panel .panel-header{border-bottom:1px solid #ffffff0f;padding:12px 16px}.agent-body{flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex;overflow:auto}.agent-search-row{border-bottom:1px solid #ffffff0f;align-items:center;gap:10px;padding:14px 16px;display:flex}.agent-search-row svg{color:var(--text-dim);flex-shrink:0}.agent-search-input{color:var(--text);-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1;font-size:16px;font-weight:400}.agent-search-input::placeholder{color:var(--text-dim)}.agent-endpoint{display:none}.agent-desc{color:var(--text-dim);font-size:11px;font-family:var(--mono);margin:0;padding:8px 16px 0}.agent-examples{flex-direction:column;gap:0;padding:8px;display:flex}.example-chip{width:100%;height:40px;color:var(--text-secondary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:13px;transition:background .1s,color .1s;display:flex}.example-chip:hover,.example-chip:focus{background:var(--accent-soft);color:var(--text);outline:none}.example-chip kbd{font-family:var(--mono);color:var(--text-dim);background:var(--bg-app);border:1px solid var(--border-soft);border-radius:4px;margin-left:auto;padding:2px 6px;font-size:11px}.agent-actions-row{background:#0003;border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.check-label{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.primary-btn{background:var(--accent);color:#fff;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12px;font-weight:600;transition:filter .12s,transform 80ms;display:inline-flex}.primary-btn:hover{filter:brightness(1.08)}.primary-btn:active{transform:scale(.98)}.agent-result{border:1px solid var(--border-soft);max-height:160px;font-family:var(--mono);color:#c8c8c8;-webkit-user-select:text;user-select:text;white-space:pre-wrap;word-break:break-word;background:#1a1a1a;border-radius:8px;margin:0 12px 12px;padding:10px;font-size:10.5px;line-height:1.45;overflow:auto}.api-ref{display:none}.agent-log{font-family:var(--mono);color:var(--text-dim);max-height:72px;margin:0;padding:0 16px 12px;font-size:10px;list-style:none;overflow:auto}.agent-log li{padding:2px 0}.agent-payload-block{padding:8px 12px 0}.agent-status{letter-spacing:.06em;font-size:10px;font-weight:700}.agent-status.on{color:var(--green)}.agent-status.off{color:var(--text-dim)}.statusbar{height:var(--statusbar-h);background:var(--bg-panel);color:var(--text-muted);border-top:1px solid #0006;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.status-sep{background:var(--border-soft);width:1px;height:10px}.status-shortcuts-btn{background:var(--bg-hover);width:16px;height:16px;color:var(--text-dim);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:10px;line-height:1;display:inline-flex}.status-shortcuts-btn:hover{color:var(--text);background:var(--accent)}.status-grow{flex:1}.assets-search{background:var(--bg-panel-2);border:1px solid var(--border-soft);border-radius:var(--radius);height:26px;color:var(--text-dim);align-items:center;gap:6px;margin:0 8px 6px;padding:0 8px;display:flex}.assets-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:11px}.asset-list{flex-direction:column;gap:1px;padding:0 4px;display:flex;overflow-y:auto}.asset-row{border-radius:var(--radius);align-items:center;gap:2px;display:flex}.asset-row:hover{background:var(--bg-hover)}.asset-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:7px;padding:5px 6px;font-size:11px;display:flex}.asset-icon{color:var(--component);flex:none}.asset-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.asset-badge{background:var(--accent-soft);color:var(--accent-text);border-radius:999px;flex:none;padding:1px 5px;font-size:9px}.asset-locate{opacity:0;flex:none}.asset-row:hover .asset-locate{opacity:1}.var-collection{border-bottom:1px solid var(--border-soft);padding:6px 8px 10px}.var-collection-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.var-collection-name{color:var(--text);font-size:11px;font-weight:600}.var-modes{background:var(--bg-panel-2);border-radius:var(--radius);gap:2px;margin-bottom:8px;padding:2px;display:flex}.var-mode{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:1;padding:4px 6px;font-size:10px}.var-mode.active{background:var(--accent);color:#fff}.var-add{gap:4px;margin-bottom:6px;display:flex}.var-add input,.var-add select,.var-value{background:var(--bg-panel-2);border:1px solid var(--border-soft);border-radius:var(--radius);min-width:0;height:24px;color:var(--text);font:inherit;outline:none;padding:0 6px;font-size:11px}.var-add input{flex:1}.var-list{flex-direction:column;gap:2px;display:flex}.var-row{align-items:center;gap:8px;padding:2px 0;display:flex}.var-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;font-size:11px;overflow:hidden}.var-value{flex:none;width:84px}.var-color{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex:none;width:24px;height:20px;padding:0}.var-alias{color:var(--accent-text);font-size:10px}.zoom-control{align-items:center;gap:1px;display:inline-flex;position:relative}.zoom-step,.zoom-value{height:18px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.zoom-step{width:18px}.zoom-value{font-variant-numeric:tabular-nums;min-width:42px}.zoom-step:hover:not(:disabled),.zoom-value:hover,.zoom-value[aria-expanded=true]{background:var(--bg-hover);color:var(--text)}.zoom-step:disabled{opacity:.35;cursor:default}.zoom-menu{z-index:40;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:184px;box-shadow:var(--shadow-menu);flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0}.zoom-menu button{border-radius:var(--radius);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:6px 8px;display:flex}.zoom-menu button span{color:var(--text-dim)}.zoom-menu button:hover:not(:disabled){background:var(--accent);color:#fff}.zoom-menu button:hover:not(:disabled) span{color:#ffffffb3}.zoom-menu button:disabled{opacity:.4;cursor:default}.zoom-menu-sep{background:var(--border-soft);height:1px;margin:4px 2px}.text-editor-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.rich-text-toolbar{background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:8px;align-items:center;gap:4px;padding:6px;display:flex}.rich-text-toolbar button{min-width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.rich-text-toolbar button:hover{background:var(--bg-hover)}.toolbar-colors{border-left:1px solid var(--border);gap:4px;margin-left:2px;padding-left:6px;display:flex}.color-swatch{cursor:pointer;border:1px solid #ffffff40;border-radius:50%;width:16px;height:16px;padding:0}.inline-text-editor{background:var(--bg-panel);border:1px solid var(--accent);width:min(480px,80%);min-height:100px;color:var(--text);resize:vertical;box-shadow:var(--shadow-float);-webkit-user-select:text;user-select:text;font-size:15px;line-height:1.4;font-family:var(--font);border-radius:10px;outline:none;padding:14px}.cursor-chat-input{z-index:25;color:#fff;width:180px;box-shadow:var(--shadow-float);background:#0a84ff;border:none;border-radius:6px;outline:none;padding:5px 9px;font-size:12px;position:absolute}.cursor-chat-input::placeholder{color:#ffffffbf}.stamp-picker{z-index:25;background:var(--bg-panel);border:1px solid var(--border);box-shadow:var(--shadow-float);border-radius:20px;gap:2px;padding:4px;display:flex;position:absolute}.stamp-picker button{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:inline-flex}.stamp-picker button:hover{background:var(--bg-hover,#ffffff14)}.dialog-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#00000080;place-items:center;display:grid;position:fixed;inset:0}.dialog-box{background:var(--bg-panel);border:1px solid var(--border);width:min(360px,86vw);box-shadow:var(--shadow-float);border-radius:10px;flex-direction:column;gap:12px;padding:18px;animation:.12s ease-out dialog-in;display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.dialog-message{color:var(--text);margin:0;font-size:13px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.toast-stack{z-index:70;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--bg-panel-2);border:1px solid var(--border);box-shadow:var(--shadow-float);color:var(--text);border-radius:8px;align-items:center;gap:8px;max-width:360px;padding:9px 12px;font-size:12.5px;animation:.15s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.toast-error{border-color:#ef444466}.toast-error svg{color:#ef4444;flex-shrink:0}.toast-success svg{color:#22c55e;flex-shrink:0}.toast-info svg{color:var(--accent);flex-shrink:0}.toast-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:4px;padding:2px;display:inline-flex}.toast-dismiss:hover{background:var(--bg-hover);color:var(--text)}.shortcuts-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.shortcuts-box{background:var(--bg-panel);border:1px solid var(--border);width:min(640px,90vw);max-height:80vh;box-shadow:var(--shadow-float);border-radius:12px;padding:20px;animation:.12s ease-out dialog-in;overflow:auto}.shortcuts-header{justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.shortcuts-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.shortcuts-group-title{letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:10px}.shortcuts-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.shortcuts-label{color:var(--text);font-size:12px}.shortcuts-keys{flex-shrink:0;gap:3px;display:flex}.shortcuts-keys kbd{font-family:var(--font);color:var(--text-dim);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:10px}@media (width<=560px){.shortcuts-grid{grid-template-columns:1fr}}.context-menu{z-index:55;background:var(--bg-panel);border:1px solid var(--border);min-width:190px;box-shadow:var(--shadow-float);border-radius:8px;flex-direction:column;padding:4px;animation:.1s ease-out dialog-in;display:flex;position:fixed}.context-menu button{color:var(--text);font-size:12.5px;font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;display:flex}.context-menu button:hover{background:var(--bg-hover)}.context-menu button kbd{font-family:var(--font);color:var(--text-dim);font-size:10px}.context-menu-danger{color:#f87171}.context-menu-sep{background:var(--border-soft);height:1px;margin:4px 2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}:where(button,a,input,select,textarea,[role=button],[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:1px}.properties-panel .example-chip{background:var(--bg-panel-2);border:1px solid #0000;gap:8px;width:auto;height:28px;margin-bottom:4px;padding:0 8px;font-size:11px;transition:background 90ms,border-color 90ms;display:flex}.properties-panel .example-chip:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text)}.properties-panel button.example-chip{cursor:pointer}.chip-swatch{border-radius:3px;flex:0 0 16px;width:16px;height:16px;overflow:hidden}.chip-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.chip-meta{color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:10px}.projects-screen,.create-project-screen{background:var(--bg-app);width:100vw;height:100vh;color:var(--text);font-family:var(--font);flex-direction:column;display:flex}.projects-header{border-bottom:1px solid var(--border-soft);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 28px;display:flex}.projects-brand{flex:1;align-items:center;gap:8px;min-width:0;height:156px;display:flex;overflow:hidden}.projects-lockup{flex-direction:column;flex:none;gap:11px;display:flex}.projects-kicker{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;align-items:center;gap:9px;font-size:10px;display:flex}.projects-wordmark{letter-spacing:-.03em;color:var(--text);font-size:40px;font-weight:650;line-height:1}.projects-banner{pointer-events:none;flex:0 297px;min-width:0;height:156px}:root{--banner-disc-0:#fff;--banner-disc-1:#f7f6f2;--banner-disc-2:#dcd7cc;--banner-ray-opacity:1;--banner-ray-blend:normal;--banner-glow-opacity:1;--banner-bloom-opacity:1}:root[data-theme=light]{--banner-disc-0:#34303c;--banner-disc-1:#1f1c27;--banner-disc-2:#100e18;--banner-ray-opacity:1;--banner-ray-blend:multiply;--banner-glow-opacity:.55;--banner-bloom-opacity:.3}.logo-banner-rays{opacity:var(--banner-ray-opacity);mix-blend-mode:var(--banner-ray-blend)}.logo-banner-glow{opacity:var(--banner-glow-opacity)}.logo-banner-bloom{opacity:var(--banner-bloom-opacity)}.projects-body{flex:1;padding:32px 28px 60px;overflow-y:auto}.projects-empty{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.projects-empty h2{color:var(--text);margin:6px 0 0;font-size:16px}.projects-empty p{margin:0 0 10px;font-size:13px}.logo-mark.large{border-radius:12px;width:48px;height:48px;font-size:22px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;max-width:1400px;display:grid}.project-card{background:var(--bg-panel);border:1px solid var(--border-soft);cursor:pointer;border-radius:10px;transition:border-color .12s,transform 80ms;overflow:hidden}.project-card:hover,.project-card:focus-visible{border-color:var(--accent)}.project-card:active{transform:scale(.99)}.project-thumb{aspect-ratio:4/3;background:var(--bg-canvas);border-bottom:1px solid var(--border-soft);place-items:center;display:grid;overflow:hidden}.project-thumb img{object-fit:contain;background:#fff;width:100%;height:100%}.project-thumb-empty{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px}.project-card-footer{justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.project-card-info{min-width:0}.project-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.project-card-meta{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px}.project-card-actions{flex-shrink:0;gap:4px;display:flex}.project-card-actions .icon-btn{width:24px;height:24px;color:var(--text-muted);border-radius:6px;place-items:center;display:grid}.project-card-actions .icon-btn:hover{background:var(--bg-hover);color:var(--text)}.project-card-actions .icon-btn.danger:hover{color:#ef4444;background:#ef444424}.back-btn{gap:6px;width:auto;padding:0 10px}.create-project-body{box-sizing:border-box;flex-direction:column;flex:1;align-items:stretch;width:100%;max-width:640px;margin:0 auto;padding:40px 24px 60px;display:flex;overflow-y:auto}.create-project-body h1{margin:0 0 20px;font-size:20px}.create-project-name{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;height:40px;color:var(--text);border-radius:8px;margin-bottom:24px;padding:0 14px;font-size:14px}.dimension-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.dimension-card{border:1px solid var(--border-soft);background:var(--bg-panel);border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;transition:border-color .12s;display:flex}.dimension-card:hover{border-color:var(--border)}.dimension-card.active{border-color:var(--accent);background:var(--accent-soft)}.dimension-swatch{background:var(--bg-elevated);border:1.5px solid var(--text-dim);border-radius:4px;width:40px;height:30px}.dimension-swatch.portrait{width:24px;height:36px}.dimension-swatch.custom{color:var(--text-dim);place-items:center;font-size:14px;font-weight:600;display:grid}.dimension-label{font-size:12px;font-weight:600}.dimension-size{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.custom-dims-row{gap:16px;margin-top:16px;display:flex}.custom-dims-row label{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.custom-dims-row input{border:1px solid var(--border);background:var(--bg-input);width:90px;height:34px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:7px;padding:0 10px;font-size:13px}.create-project-cta{justify-content:center;height:40px;margin-top:28px;font-size:13px}.create-project-cta:disabled{opacity:.5;cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(button,[role=button],input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.radius-control{border-top:1px solid var(--border-soft);margin-top:10px;padding-top:10px}.radius-control-header{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:11px;display:flex}.radius-number{border:1px solid var(--border);background:var(--bg-input);border-radius:6px;align-items:center;width:70px;height:28px;display:flex;overflow:hidden}.radius-number:focus-within{border-color:var(--accent)}.radius-number input{width:100%;min-width:0;height:100%;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0 2px 0 9px}.radius-number span{color:var(--text-muted);padding-right:8px}.radius-slider{width:100%;height:18px;accent-color:var(--accent);cursor:ew-resize;margin:0}.radius-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:6px;display:grid}.radius-presets button{border:1px solid var(--border-soft);height:25px;color:var(--text-muted);background:var(--bg-panel);border-radius:5px;font-size:10px}.radius-presets button:hover,.radius-presets button.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.prop-section-head{justify-content:space-between;align-items:center;min-height:24px;margin-bottom:2px;display:flex}.prop-section-actions{align-items:center;gap:2px;display:flex}.fx-icon-btn{border-radius:var(--radius);width:24px;height:24px;color:var(--text-secondary);background:0 0;place-items:center;transition:background 80ms,color 80ms;display:grid}.fx-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.fx-icon-btn.active{background:var(--accent);color:#fff}.fx-icon-btn:disabled{opacity:.35;cursor:default}.fx-field{height:var(--field-h);border-radius:var(--radius);background:var(--bg-panel-2);border:1px solid #0000;align-items:center;gap:2px;min-width:0;padding:0 6px 0 4px;transition:background 90ms,border-color 90ms;display:flex}.fx-field:hover:not(.disabled){background:var(--bg-input-hover)}.fx-field:focus-within{background:var(--bg-input-hover);border-color:var(--selection)}.fx-field-icon{width:16px;height:100%;color:var(--text-secondary);cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;flex:0 0 16px;place-items:center;font-size:11px;display:grid}.fx-field-input{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1;padding:0;font-size:11px}.fx-field-suffix{color:var(--text-secondary);flex:none;font-size:11px}.fx-field.disabled{opacity:.4}.fx-split{align-items:center;gap:8px;display:flex}.fx-split>.prop-grid-2,.fx-split>.fx-field{flex:1;min-width:0}.fx-split.tight{gap:2px}.fx-inline-btns{flex:none;align-items:center;gap:2px;display:flex}.fx-labeled{flex-direction:column;gap:3px;min-width:0;display:flex}.fx-align-row{align-items:center;gap:0;display:flex}.fx-align-gap{width:8px}.fx-align-spacer{flex:1}.fx-segmented{border-radius:var(--radius);background:var(--bg-panel-2);align-items:center;gap:0;padding:2px;display:flex}.fx-segment{height:20px;color:var(--text-secondary);border-radius:3px;flex:1;place-items:center;display:grid}.fx-segment:hover{color:var(--text)}.fx-segment.active{background:var(--bg-active);color:var(--text)}.fx-select{height:var(--field-h);border-radius:var(--radius);background:var(--bg-panel-2);color:var(--text-secondary);flex:1;align-items:center;min-width:0;transition:background 90ms;display:flex;position:relative}.fx-select:hover:not(.disabled){background:var(--bg-input-hover)}.fx-select select{appearance:none;width:100%;height:100%;color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;padding:0 20px 0 8px;font-size:11px}.fx-select svg{pointer-events:none;position:absolute;right:7px}.fx-swatch{border-radius:var(--radius);background:0 0;flex:0 0 24px;width:24px;height:24px;padding:3px}.fx-swatch:hover{background:var(--bg-hover)}.fx-swatch-fill{background-image:linear-gradient(45deg,#666 25%,#0000 25%),linear-gradient(-45deg,#666 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#666 75%),linear-gradient(-45deg,#0000 75%,#666 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;border-radius:2px;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #ffffff1f}.fx-checkbox{height:var(--field-h);color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:11px;display:flex}.fx-checkbox input{width:12px;height:12px;accent-color:var(--accent);cursor:pointer}.fx-paint-row{height:var(--field-h);border-radius:var(--radius);background:var(--bg-panel-2);align-items:center;gap:2px;padding-right:4px;transition:background 90ms;display:flex;position:relative}.fx-paint-row:hover{background:var(--bg-input-hover)}.fx-paint-row.hidden .fx-paint-label,.fx-paint-row.hidden .fx-swatch{opacity:.4}.fx-paint-label{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.fx-paint-opacity{width:30px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;font-size:11px}.fx-paint-suffix{color:var(--text-secondary);margin-right:2px;font-size:11px}.fx-empty{color:var(--text-dim);padding:2px 0;font-size:11px}.fx-inline-menu{border-radius:var(--radius);background:var(--bg-panel-2);padding:4px 0}.fx-effect{flex-direction:column;gap:6px;padding:6px 0;display:flex}.fx-effect+.fx-effect{border-top:1px solid var(--border)}.fx-effect-head{align-items:center;gap:2px;display:flex}.fx-effect-name{color:var(--text);flex:1;font-size:11px}.fx-popover-anchor{z-index:200;position:fixed}.fx-picker{border-radius:var(--radius);background:var(--bg-panel);width:240px;box-shadow:var(--shadow-menu);flex-direction:column;gap:8px;padding:8px;display:flex}.fx-picker-head{align-items:center;gap:4px;display:flex}.fx-picker-tabs{flex:1;align-items:center;gap:2px;display:flex}.fx-picker-tab{height:22px;color:var(--text-secondary);border-radius:3px;padding:0 7px;font-size:11px}.fx-picker-tab:hover{color:var(--text)}.fx-picker-tab.active{background:var(--bg-panel-2);color:var(--text)}.fx-sv{cursor:crosshair;touch-action:none;background-blend-mode:normal;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);border-radius:2px;height:160px;position:relative}.fx-sv:after{content:"";pointer-events:none;background-image:linear-gradient(#0000,#000),linear-gradient(90deg,#fff,#0000);border-radius:2px;position:absolute;inset:0}.fx-sv-dot,.fx-ramp-dot{pointer-events:none;z-index:2;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0006}.fx-ramp-dot{top:50%}.fx-picker-ramps{align-items:center;gap:6px;display:flex}.fx-picker-sliders{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.fx-ramp{cursor:pointer;touch-action:none;border-radius:6px;height:11px;position:relative}.fx-hue{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.fx-alpha{background-image:linear-gradient(90deg, transparent, var(--alpha-to,#fff)), repeating-conic-gradient(#888 0% 25%, #ccc 0% 50%);background-size:100% 100%,8px 8px}.fx-picker-row{height:var(--field-h);border-radius:var(--radius);background:var(--bg-panel-2);align-items:center;gap:4px;padding:0 6px;display:flex}.fx-picker-format{color:var(--text-secondary);font-size:11px}.fx-picker-hex{min-width:0;color:var(--text);text-transform:uppercase;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:1;font-size:11px}.fx-picker-opacity{width:26px;color:var(--text);text-align:right;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;font-size:11px}.fx-picker-suffix{color:var(--text-secondary);font-size:11px}.fx-picker-recents{flex-wrap:wrap;gap:4px;display:flex}.fx-recent{border-radius:2px;width:18px;height:18px;box-shadow:inset 0 0 0 1px #ffffff24}.fx-gradient-ramp{cursor:copy;border-radius:3px;height:20px;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f}.fx-gradient-stop{cursor:grab;border:2px solid #fff;border-radius:50%;width:12px;height:12px;padding:0;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000080}.fx-gradient-stop.active{box-shadow:0 0 0 2px var(--selection)}.fx-align-grid{border-radius:var(--radius);background:var(--bg-panel-2);flex:0 0 72px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:1px;width:72px;height:72px;padding:4px;display:grid}.fx-align-cell{background:0 0;border-radius:2px;position:relative}.fx-align-cell:after{content:"";background:var(--text-dim);border-radius:50%;width:3px;height:3px;margin:auto;position:absolute;inset:0}.fx-align-cell:hover:after{background:var(--text-secondary)}.fx-align-cell.active{background:var(--accent)}.fx-align-cell.active:after{background:#fff;width:4px;height:4px}.fx-link-btn{color:var(--text-secondary);text-underline-offset:2px;align-self:flex-start;padding:0;font-size:11px;text-decoration:underline}.fx-link-btn:hover{color:var(--text)}.panel-file{flex:none;padding:10px 16px 8px}.panel-file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.panel-file-meta{color:var(--text-secondary);align-items:center;gap:6px;margin-top:3px;font-size:11px;display:flex}.panel-file-badge{background:var(--accent-soft);color:var(--accent-text);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:550}.fx-field-input.mixed,.fx-select.mixed select{color:var(--text-secondary);font-style:italic}.fx-export-row{align-items:center;gap:4px;display:flex}.fx-export-row .fx-select{flex:0 0 62px}.fx-export-row .fx-select:last-of-type{flex:0 0 64px}.fx-export-suffix{min-width:0;height:var(--field-h);border-radius:var(--radius);background:var(--bg-input);color:var(--text);-webkit-user-select:text;user-select:text;border:1px solid #0000;outline:none;flex:1;padding:0 8px;font-size:11px}.fx-export-suffix:hover{background:var(--bg-input-hover)}.fx-export-suffix:focus{background:var(--bg-input-hover);border-color:var(--selection)}.fx-export-preview{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.fx-export-btn{border-radius:var(--radius);background:var(--bg-panel-2);height:28px;color:var(--text);justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:550;display:flex}.fx-export-btn:hover:not(:disabled){background:var(--bg-active)}.canvas-root.with-rulers .konvajs-content{margin-top:20px;margin-left:20px}.rulers{pointer-events:none;z-index:12;font-variant-numeric:tabular-nums;position:absolute;inset:0}.ruler-corner{background:var(--bg-panel);border-right:1px solid var(--border);border-bottom:1px solid var(--border);pointer-events:auto;position:absolute;top:0;left:0}.ruler{background:var(--bg-panel);pointer-events:auto;position:absolute;overflow:hidden}.ruler-h{border-bottom:1px solid var(--border);cursor:ns-resize;top:0;right:0}.ruler-v{border-right:1px solid var(--border);cursor:ew-resize;bottom:0;left:0}.ruler-tick{background:var(--text-dim);position:absolute}.ruler-h .ruler-tick{width:1px;height:6px;top:14px}.ruler-h .ruler-tick.major{height:10px;top:10px}.ruler-v .ruler-tick{width:6px;height:1px;left:14px}.ruler-v .ruler-tick.major{width:10px;left:10px}.ruler-label{color:var(--text-secondary);white-space:nowrap;font-size:9px;line-height:1;position:absolute}.ruler-h .ruler-label{top:-8px;left:3px}.ruler-v .ruler-label{transform-origin:0 0;top:3px;left:-8px;transform:rotate(-90deg)}.guide-layer{pointer-events:none;position:absolute;bottom:0;right:0;overflow:hidden}.guide{background:var(--guide);pointer-events:auto;position:absolute}.guide-x{box-sizing:content-box;cursor:ew-resize;background-clip:content-box;width:1px;margin-left:-3px;padding:0 3px;top:0;bottom:0}.guide-y{box-sizing:content-box;cursor:ns-resize;background-clip:content-box;height:1px;margin-top:-3px;padding:3px 0;left:0;right:0}.guide.active{background-color:#ff9a9a}.ruler-readout{background:var(--selection);color:#fff;pointer-events:none;border-radius:2px;padding:1px 4px;font-size:9px;line-height:12px;position:absolute}.guest-gate{background:var(--canvas-bg,#171717);min-height:100vh;color:var(--text-primary,#f4f4f5);place-items:center;padding:32px;display:grid}.guest-gate-card{border:1px solid var(--border,#333);background:var(--panel-bg,#202020);text-align:center;border-radius:12px;width:min(420px,100%);padding:32px}.guest-gate-card h1{margin:18px 0 8px;font-size:19px;font-weight:600}.guest-gate-card p{color:var(--text-secondary,#aaa);margin:0;font-size:13px;line-height:1.55}.guest-gate-status{background:#7c3aed;border-radius:50%;width:7px;height:7px;margin:20px auto 0;animation:1.4s ease-in-out infinite guest-gate-pulse}.guest-gate-status.error,.guest-gate-status.ended{background:#71717a;animation:none}.guest-live-label{color:var(--text-secondary,#aaa);align-items:center;gap:5px;font-size:11px;display:inline-flex}.guest-mobile-dock,.guest-mobile-zoom,.guest-mobile-scrim{display:none}@keyframes guest-gate-pulse{50%{opacity:.35;transform:scale(.8)}}@media (width<=1024px){.guest-app-shell{--topbar-h:48px;--statusbar-h:0px;height:100dvh;min-height:100dvh}.guest-app-shell .topbar{min-width:0;padding-right:max(4px, env(safe-area-inset-right))}.guest-app-shell .topbar-tab{max-width:none}.guest-app-shell .icon-btn{flex:0 0 40px;width:40px;height:40px}.guest-app-shell .workspace{min-width:0;display:block;position:relative}.guest-app-shell .canvas-wrap{position:absolute;inset:0}.guest-app-shell .canvas-root,.guest-app-shell .konvajs-content,.guest-app-shell canvas{touch-action:none}.guest-app-shell .rail,.guest-app-shell .statusbar{display:none}.guest-app-shell .side{z-index:45;top:8px;bottom:calc(72px + env(safe-area-inset-bottom));border:1px solid var(--border);border-radius:12px;width:min(320px,100% - 16px);max-width:calc(100% - 16px);animation:.12s ease-out guest-panel-in;position:absolute;box-shadow:0 18px 48px #0000006b}.guest-app-shell .side.left{left:max(8px, env(safe-area-inset-left));border-right:1px solid var(--border)}.guest-app-shell .side.right{right:max(8px, env(safe-area-inset-right));border-left:1px solid var(--border);width:min(320px,100% - 16px)}.guest-mobile-scrim{z-index:35;cursor:default;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#05050885;width:100%;height:100%;display:block;position:absolute;inset:0}.guest-mobile-dock{z-index:55;left:50%;bottom:max(8px, env(safe-area-inset-bottom));border:1px solid var(--border);background:var(--bg-panel);background:color-mix(in srgb, var(--bg-panel) 94%, transparent);min-height:54px;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:15px;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;transform:translate(-50%)}.guest-mobile-dock button{min-width:58px;min-height:44px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:3px 7px;display:flex}.guest-mobile-dock button span{font-size:9px;line-height:1}.guest-mobile-dock button.active{background:var(--accent-soft);color:var(--accent-text)}.guest-mobile-zoom{z-index:25;top:8px;right:max(8px, env(safe-area-inset-right));border:1px solid var(--border);background:var(--bg-panel);background:color-mix(in srgb, var(--bg-panel) 94%, transparent);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;align-items:center;padding:2px;display:flex;position:absolute}.guest-mobile-zoom button{min-width:40px;height:40px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;border-radius:8px;place-items:center;display:grid}.guest-mobile-zoom button:active{background:var(--bg-hover);color:var(--text)}.guest-mobile-zoom .guest-mobile-zoom-value{min-width:54px;color:var(--text);font-variant-numeric:tabular-nums;padding:0 7px;font-size:10px}.guest-mobile-zoom-value span{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-left:4px;font-size:8px;display:block}.guest-app-shell .toolbar-dock{bottom:calc(72px + env(safe-area-inset-bottom))}.guest-app-shell .tool-btn{width:40px;height:40px}.guest-app-shell .tool-btn.small{width:38px;height:38px}.guest-app-shell .tool-caret{width:14px;height:40px}.guest-app-shell .tool-menu-item{min-height:38px}.guest-app-shell .inline-text-editor{max-width:calc(100vw - 24px);min-height:44px;font-size:16px}.guest-gate{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}}@media (width<=700px){.guest-app-shell .topbar-tab{padding:0 7px}.guest-app-shell .topbar-actions{gap:0;padding-left:2px}.guest-app-shell .guest-live-label,.guest-app-shell .topbar-sep{display:none}.guest-app-shell .collab-dot{margin:0 4px}.guest-app-shell .side,.guest-app-shell .side.right{top:6px;bottom:calc(66px + env(safe-area-inset-bottom));width:calc(100% - 12px);max-width:calc(100% - 12px)}.guest-app-shell .side.left{left:6px}.guest-app-shell .side.right{right:6px}.guest-app-shell .toolbar-dock{width:max-content;max-width:calc(100vw - 16px)}.guest-app-shell .toolbar{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 16px)}.guest-app-shell .tool-btn{width:36px;height:36px}.guest-app-shell .tool-btn.small{width:34px;height:34px}.guest-app-shell .tool-caret{width:11px;height:36px}.guest-app-shell .toolbar-divider{margin:0 4px}.guest-mobile-zoom{top:6px;right:6px}.guest-mobile-dock{width:calc(100% - 12px);bottom:max(6px, env(safe-area-inset-bottom));justify-content:space-around}.guest-mobile-dock button{width:25%;min-width:0;padding-inline:4px}.guest-gate-card{padding:26px 22px}}@media (prefers-reduced-motion:reduce){.guest-app-shell .side{animation:none}}@keyframes guest-panel-in{0%{opacity:0;transform:translateY(5px)scale(.985)}}
