:root{--bg: #1e1e22;--panel: #27272c;--panel-alt: #313138;--panel-glass: rgba(39, 39, 44, .92);--border: #3d3d46;--text: #ececf1;--muted: #9898a6;--accent: #3b82f6;--accent-hover: #2563eb;--accent-soft: rgba(59, 130, 246, .22);--stage-bg: #2a2a2e;--danger: #ef4444;--rail-w: 54px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}body.sliders-docked{--rail-w: 68px}body.sidebar-collapsed,body.sliders-docked.sidebar-collapsed{--rail-w: 0px}body.sidebar-collapsed .side-rail{display:none!important}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}input,select,textarea{user-select:auto;-webkit-user-select:auto}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}#app{display:flex;flex-direction:column;width:100%;height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}.topbar{display:flex;align-items:center;gap:4px;height:46px;padding:0 8px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.title-box{display:flex;flex-direction:column;min-width:0;max-width:195px;margin-left:2px;margin-right:4px;flex-shrink:1}@media (max-width: 520px){.title-box{max-width:132px}}.title-row{display:flex;align-items:center;gap:5px;min-width:0}.doc-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.canvas-size-pill{display:inline-flex;align-items:center;height:19px;padding:0 6px;border-radius:999px;border:1px solid var(--border);background:var(--panel-alt);color:var(--accent);font-size:11px;font-weight:600;line-height:1;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .14s ease,border-color .14s ease}.canvas-size-pill:hover{background:var(--accent-soft);border-color:var(--accent)}.canvas-size-pill:active{transform:scale(.95)}.cursor-info{font-size:11px;color:var(--muted);height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;padding:2px 4px}.topbar-actions::-webkit-scrollbar{display:none}.topbar-actions>:first-child{margin-left:auto}.topbar-pinned{display:flex;align-items:center;gap:4px;flex-shrink:0}.topbar-pinned:empty{display:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;padding:0;flex-shrink:0}.icon-btn:hover{background:var(--panel-alt)}.icon-btn:active{transform:scale(.95)}.icon-btn:disabled{opacity:.35;pointer-events:none}.icon-btn.sm{width:30px;height:30px;border-radius:6px}.icon-btn.on{background:var(--accent-soft);color:var(--accent)}.workspace{position:relative;flex:1;display:flex;min-height:0;overflow:hidden}body.left-handed .workspace{flex-direction:row-reverse}.stage{position:relative;flex:1;min-width:0;height:100%;overflow:hidden;background:var(--stage-bg)}.view-canvas{display:block;width:100%;height:100%}.side-rail{display:flex;flex-direction:column;width:var(--rail-w);height:100%;background:var(--panel);border-right:1px solid var(--border);flex-shrink:0;z-index:22;transition:width .15s ease}body.left-handed .side-rail{border-right:none;border-left:1px solid var(--border)}.sidebar-dock{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:6px 3px;background:var(--panel);border-bottom:2px solid var(--border);box-shadow:0 3px 10px #00000038;flex-shrink:0;z-index:2}.sidebar-dock.hidden,.quick-sliders.hidden{display:none!important}.sd-head{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}body.sliders-docked .sidebar-dock .color-btn{width:28px;height:28px}.sd-cfg-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--muted);cursor:pointer;flex-shrink:0}.sd-cfg-btn:hover{color:var(--text);border-color:var(--accent)}.sd-sliders-wrap{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:2px;width:100%}.qs-sliders-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.sd-collapse-btn{width:calc(100% - 4px);min-width:40px;padding:3px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:10px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.sd-collapse-btn:hover{border-color:var(--accent)}.sd-collapse-btn.collapsed{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.side-toolbar{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;flex:1;min-height:0;padding:6px 3px;background:transparent;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.tool-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:calc(100% - 6px);max-width:52px;min-height:44px;padding:3px 2px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;flex-shrink:0}.tool-btn:hover{background:var(--panel-alt);color:var(--text)}.tool-btn.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tool-btn .pack-badge{position:absolute;right:3px;bottom:2px;font-style:normal;font-size:7px;line-height:1;opacity:.78;pointer-events:none}.side-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;height:26px;padding:0 2px;border:none;border-top:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:10px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background .14s ease,color .14s ease}.side-collapse-btn:hover{background:var(--accent-soft);color:var(--accent)}.side-collapse-btn:active{transform:scale(.97)}.sidebar-reveal-tab{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:26;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 5px;border:1px solid var(--border);border-left:none;border-radius:0 10px 10px 0;background:var(--panel-glass);backdrop-filter:blur(8px);color:var(--text);box-shadow:2px 4px 14px #00000061;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.sidebar-reveal-tab:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.sidebar-reveal-tab .srt-arrow{font-size:10px;line-height:1;color:var(--accent);font-weight:700}.sidebar-reveal-tab.hidden{display:none!important}body.left-handed .sidebar-reveal-tab{left:auto;right:0;border-radius:10px 0 0 10px;border-left:1px solid var(--border);border-right:none;box-shadow:-2px 4px 14px #00000061}.tool-popover,.slider-cfg-pop,.tool-pack-pop{position:absolute;left:calc(var(--rail-w) + 8px);top:10px;z-index:30;display:flex;flex-direction:column;gap:8px;min-width:210px;max-width:min(328px,calc(100vw - var(--rail-w) - 20px));max-height:calc(100% - 20px);overflow-y:auto;padding:10px 12px;background:var(--panel-glass);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 26px #00000073;transition:opacity .15s ease,transform .15s ease}.slider-cfg-pop,.tool-pack-pop{z-index:33}.tool-pack-pop{min-width:186px;max-width:min(260px,calc(100vw - var(--rail-w) - 20px))}.tool-popover.slim-vertical{min-width:138px;width:156px;max-width:min(168px,calc(100vw - var(--rail-w) - 20px));padding:8px 9px;gap:6px}.tool-popover.slim-vertical .seg{display:grid;grid-template-columns:1fr 1fr;width:100%}.tool-popover.slim-vertical .seg button{padding:4px 5px;font-size:11.5px}.tool-popover.slim-vertical .toggle{font-size:12px}.tool-popover.slim-vertical .range-row.compact{min-width:0;flex-wrap:wrap;gap:4px}.tool-popover.slim-vertical .range-row.compact .rl{min-width:0;font-size:11.5px}.tool-popover.slim-vertical .range-row.compact .num{width:48px;padding:3px 4px;font-size:12px;margin-left:auto}.tool-popover.slim-vertical .range-row.compact input[type=range]{flex:1 1 100%;order:3}.opt-col{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.opt-col .chip{width:100%;justify-content:center;padding:5px 8px;font-size:12px}body.left-handed .tool-popover,body.left-handed .slider-cfg-pop,body.left-handed .tool-pack-pop{left:auto;right:calc(var(--rail-w) + 8px)}.tool-popover.hidden,.slider-cfg-pop.hidden,.tool-pack-pop.hidden{opacity:0;pointer-events:none;transform:translate(-8px)}.tool-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(78px,1fr));gap:6px}.tool-pack-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 6px 7px;border-radius:9px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.tool-pack-btn:hover{background:var(--panel-alt);border-color:var(--accent)}.tool-pack-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.tpb-label{font-size:12px}.tpb-key{position:absolute;top:4px;right:5px;font-size:9px;color:var(--muted);opacity:.75}.tool-pack-opt-btn{width:100%;justify-content:center}.pop-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text)}.pop-close{border:none;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;padding:0 4px}.color-well{width:30px;height:26px;padding:0;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer}.quick-sliders{position:absolute;left:calc(var(--rail-w) + 8px);top:50%;transform:translateY(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 6px;background:var(--panel-glass);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 16px #00000059}body.left-handed .quick-sliders{left:auto;right:calc(var(--rail-w) + 8px)}body.sidebar-collapsed:not(.sliders-docked) .quick-sliders{left:32px}body.sidebar-collapsed.left-handed:not(.sliders-docked) .quick-sliders{left:auto;right:32px}.color-btn{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #000;cursor:pointer;flex-shrink:0;background:linear-gradient(var(--c, #000),var(--c, #000)),repeating-conic-gradient(#aaa 0 25%,#fff 0 50%) 0 0 / 10px 10px}.vslider{display:flex;flex-direction:column;align-items:center;gap:4px;width:36px}.vs-title{font-size:10px;color:var(--muted);white-space:nowrap}.vs-hit{display:flex;align-items:center;justify-content:center;width:28px;padding:3px 0;cursor:pointer;touch-action:none}.vs-track{position:relative;width:14px;height:112px;border-radius:7px;background:var(--bg);border:1px solid var(--border);cursor:pointer;touch-action:none}.vs-fill{position:absolute;left:0;right:0;bottom:0;background:var(--accent);border-radius:6px;pointer-events:none}.vs-thumb{position:absolute;left:-4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0009;transform:translateY(50%);pointer-events:none}.vs-label{font-size:10px;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.vslider.compact{width:29px;gap:3px}.vslider.compact .vs-title,.vslider.compact .vs-label{font-size:9.5px;line-height:1.1}.vslider.compact .vs-hit{width:26px}.vslider.compact .vs-track{width:11px;height:92px;border-radius:6px}.vslider.compact .vs-thumb{left:-3px;width:15px;height:15px}.vslider.locked{opacity:.55}.vslider.locked .vs-hit,.vslider.locked .vs-track{cursor:not-allowed}.layer-panel{position:absolute;top:0;right:0;bottom:0;width:264px;max-width:82vw;background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:25;transform:translate(102%);transition:transform .2s ease,width .16s ease;box-shadow:-6px 0 20px #00000059}body.left-handed .layer-panel{right:auto;left:0;border-left:none;border-right:1px solid var(--border);transform:translate(-102%);box-shadow:6px 0 20px #00000059}body.layers-open .layer-panel,body.left-handed.layers-open .layer-panel{transform:translate(0)}.layer-panel.compact{width:68px;max-width:68px}@media (min-width: 900px){.layer-panel{display:none;position:relative;transform:none;box-shadow:none;transition:width .16s ease}body.left-handed .layer-panel{transform:none;box-shadow:none}body.layers-open .layer-panel,body.left-handed.layers-open .layer-panel{display:flex;transform:none}}.layer-mode-btn{color:var(--accent)}.compact-head{display:flex;flex-direction:column;gap:4px;padding:5px 5px 6px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.compact-head-btns{display:flex;align-items:center;justify-content:space-between;gap:2px}.compact-name-input{width:100%;height:24px;padding:2px 4px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:11px;font-weight:600;text-align:center;outline:none;text-overflow:ellipsis}.compact-name-input[readonly]{cursor:pointer;caret-color:transparent;-webkit-user-select:none;user-select:none}.compact-name-input.editing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft);text-align:left;caret-color:auto;-webkit-user-select:auto;user-select:auto}.layer-list.compact-list{padding:5px 5px 8px;align-items:center;gap:5px}.layer-row.compact-row{position:relative;width:54px;height:54px;padding:3px;justify-content:center;border-radius:9px;border:1.5px solid var(--border);background:var(--bg);flex-shrink:0}.layer-row.compact-row.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.layer-row.compact-row .layer-thumb{width:44px;height:44px;border-radius:5px}.compact-badge{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#0f172adb;border:1px solid var(--border);color:var(--muted);pointer-events:none}.compact-badge.off{top:2px;right:2px;color:#fca5a5}.compact-badge.lock{bottom:2px;right:2px;color:#fde68a}.compact-badge.alpha-lock{bottom:2px;left:2px;color:var(--accent);font-weight:800;font-size:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.alpha-lock-t{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3.5px;border:1.5px solid currentColor;font-size:11px;font-weight:800;line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:0}.layer-drag-ghost.compact{left:6px;right:6px;justify-content:center;padding:4px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--border)}.panel-head-title{display:flex;flex-direction:column;gap:1px;min-width:0}.layer-drag-tip{font-size:10px;color:var(--muted);font-weight:400;white-space:nowrap}.panel-tools{display:flex;gap:2px}.layer-props{padding:8px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.layer-list{position:relative;flex:1;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:4px}.layer-list.is-reordering{user-select:none}.layer-row{display:flex;align-items:center;gap:4px;padding:5px;border-radius:8px;background:var(--bg);border:1px solid transparent;cursor:pointer;transition:opacity .12s ease,background .12s ease}.layer-row.active{border-color:var(--accent);background:var(--accent-soft)}.layer-row.hidden{opacity:.55}.layer-row.is-drag-source{opacity:.3;border-style:dashed;border-color:var(--accent)}.layer-grip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:32px;border-radius:4px;color:var(--muted);opacity:.72;cursor:grab;touch-action:none;flex-shrink:0}.layer-grip:hover,.layer-grip:active{opacity:1;color:var(--accent);background:var(--panel-alt);cursor:grabbing}.layer-drag-ghost{position:absolute;left:10px;right:10px;z-index:40;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--panel-glass);backdrop-filter:blur(10px);border:1.5px solid var(--accent);box-shadow:0 10px 26px #0000008c;pointer-events:none;transform:scale(1.02)}.layer-drop-indicator{position:absolute;left:8px;right:8px;height:3px;border-radius:999px;background:var(--accent);box-shadow:0 0 8px var(--accent);pointer-events:none;z-index:35}.layer-drop-indicator.noop{opacity:.35;box-shadow:none}.layer-thumb{width:36px;height:36px;border-radius:4px;border:1px solid var(--border);background:repeating-conic-gradient(#ccc 0 25%,#fff 0 50%) 0 0 / 10px 10px;flex-shrink:0;image-rendering:pixelated}.layer-info{flex:1;min-width:0}.layer-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-meta{font-size:11px;color:var(--muted)}.opt-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:12px;white-space:nowrap;cursor:pointer}.chip.primary{background:var(--accent);border-color:var(--accent);color:#fff}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.seg button{border:none;background:var(--bg);color:var(--muted);padding:4px 9px;font-size:12px;cursor:pointer}.seg button.on{background:var(--accent);color:#fff}.palette-strip{display:flex;align-items:center;gap:5px;height:36px;padding:0 8px;background:var(--bg);border-top:1px solid var(--border);overflow-x:auto;flex-shrink:0}.pal-name{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:3px 8px;font-size:11px;white-space:nowrap;cursor:pointer}.swatch{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:var(--c, #000);flex-shrink:0;cursor:pointer;padding:0}.swatch.sel{border:2px solid #fff;box-shadow:0 0 0 1px var(--accent)}.swatch.small{width:22px;height:22px}.swatch.add{background:var(--panel-alt);color:var(--text);font-weight:700;font-size:15px}.sheet-overlay{position:fixed;inset:0;background:#0000008c;z-index:100;display:flex;align-items:center;justify-content:center;padding:12px}.sheet{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:440px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #00000080}.sheet.wide{max-width:640px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.sheet-title{font-weight:600;font-size:15px}.sheet-close{border:none;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.sheet-body{padding:12px 14px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.sheet-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;padding:10px 14px;border-top:1px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:7px 14px;border-radius:8px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:13px;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{background:#ef444433;border-color:var(--danger);color:#fca5a5}.btn.small{padding:4px 10px;font-size:12px}.btn-row,.preset-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.range-row{display:flex;align-items:center;gap:8px}.range-row.compact{min-width:170px}.range-row .rl{min-width:64px;font-size:12px;color:var(--muted)}.range-row input[type=range]{flex:1}.num,.text-input,.select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font-size:13px}.num{width:62px;text-align:center}.num.wide{width:88px}.text-input{flex:1;min-width:0}.select{flex:1}.num-label{font-size:12px;min-width:38px;text-align:right}.num-label.pc-size-val{min-width:68px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.hint{margin:0;font-size:12px;color:var(--muted)}.cp-top{display:flex;flex-wrap:wrap;gap:12px}.cp-left{display:flex;flex-direction:column;gap:8px;align-items:center}.sv-canvas{width:220px;height:220px;border-radius:8px;border:1px solid var(--border);cursor:crosshair}.hue-canvas{width:220px;height:22px;border-radius:6px;border:1px solid var(--border);cursor:pointer}.cp-right{flex:1;min-width:210px;display:flex;flex-direction:column;gap:8px}.swatch-pair{display:flex;height:32px;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.swatch-big{flex:1;background:linear-gradient(var(--c, #000),var(--c, #000)),repeating-conic-gradient(#aaa 0 25%,#fff 0 50%) 0 0 / 12px 12px}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tab{flex:1;min-width:64px;padding:5px 8px;white-space:nowrap;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:12px;cursor:pointer}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.channel-box{display:flex;flex-direction:column;gap:8px}.range-row.ch-row{gap:5px}.range-row.ch-row .rl{min-width:34px;font-weight:600}.ch-step-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0;user-select:none;touch-action:manipulation;transition:background .12s ease,border-color .12s ease,transform .08s ease}.ch-step-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ch-step-btn:active:not(:disabled){transform:scale(.92);background:var(--accent);border-color:var(--accent);color:#fff}.ch-step-btn:disabled{opacity:.35;cursor:default}.cp-copy-btn{flex-shrink:0}.cp-rgba-sub{margin-top:-4px;padding:2px 6px;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--muted);background:var(--bg);border:1px dashed var(--border);cursor:pointer;align-self:flex-start;user-select:none}.cp-rgba-sub:hover{color:var(--text);border-color:var(--accent)}.cp-alpha-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.cp-alpha-title{font-size:12px;color:var(--muted);font-weight:600}.cp-alpha-unit-seg{display:inline-flex;gap:4px}.tab.cp-alpha-unit-btn{flex:0 0 auto;min-width:0;padding:3px 8px;font-size:11px}.ch-range{-webkit-appearance:none;appearance:none;height:14px;border-radius:7px;border:1px solid var(--border);min-width:60px}.ch-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid #000;cursor:pointer}.palette-section{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:10px}.pal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.swatch-grid,.swatch-row{display:flex;flex-wrap:wrap;gap:5px}.brush-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.brush-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:10px;background:var(--bg);border:1px solid var(--border);cursor:pointer}.brush-item.sel{border-color:var(--accent);background:var(--accent-soft)}.brush-prev{background:#18181b;border-radius:6px;border:1px solid var(--border);image-rendering:pixelated}.brush-name{font-size:12px;text-align:center}.brush-actions{display:flex;gap:4px}.mini{border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:11px;padding:2px 6px;border-radius:4px;cursor:pointer}.mini.danger{color:#fca5a5}.be-top{display:flex;gap:12px;align-items:center}.be-fields{flex:1;display:flex;flex-direction:column;gap:6px}.mask-box{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.mask-grid{display:grid;width:224px;height:224px;border:1px solid var(--border);background:#141417}.mask-cell{border:1px solid rgba(255,255,255,.06)}.mask-cell.on{background:#fff}.menu{display:flex;flex-direction:column;gap:6px}.menu-sec{font-size:11px;color:var(--muted);padding:6px 4px 4px;text-transform:uppercase;font-weight:600}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.menu-item{text-align:left;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.menu-lang-card{display:flex;flex-direction:column;gap:8px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg);margin-bottom:6px}.menu-lang-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:600}.menu-lang-sub{font-size:11px;font-weight:400;color:var(--muted)}.menu-lang-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.menu-lang-btn{padding:6px 8px;border-radius:7px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap}.menu-lang-btn.on{background:var(--accent);color:var(--accent-ink, #fff);border-color:var(--accent)}.tool-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item:hover{background:var(--panel-alt);border-color:var(--accent)}.sprite-toolbar{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.anchor-grid{display:grid;grid-template-columns:repeat(3,32px);gap:4px}.anchor{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:13px;cursor:pointer}.anchor.sel{background:var(--accent);border-color:var(--accent);color:#fff}#toast{position:fixed;left:50%;bottom:56px;transform:translate(-50%) translateY(10px);background:#141418eb;color:#fff;padding:8px 16px;border-radius:999px;border:1px solid var(--border);font-size:13px;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:200}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}.pip-win{position:fixed;top:56px;right:14px;z-index:45;background:var(--panel-glass);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 28px #00000080;display:flex;flex-direction:column;overflow:hidden}.pip-win.hidden{display:none}.pip-head{display:flex;align-items:center;gap:3px;padding:4px 6px;background:var(--panel);border-bottom:1px solid var(--border);cursor:move}.pip-drag-handle{color:var(--muted);font-size:13px;padding:0 2px}.pip-tab,.pip-btn{border:none;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;padding:2px 5px;cursor:pointer}.pip-tab.on,.pip-btn.on{background:var(--accent);color:#fff}.pip-btn:hover,.pip-tab:hover{background:var(--panel-alt);color:var(--text)}.pip-body{position:relative;display:flex;align-items:center;justify-content:center}.pip-canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.pip-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%);opacity:.75}.home-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#9b8cff2e,#3b82f624);border:1px solid var(--border)}.home-logo{width:48px;height:48px;border-radius:12px;box-shadow:0 2px 8px #00000059}.home-title-wrap{flex:1;min-width:160px}.home-app-title{font-weight:700;font-size:16px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:4px}.project-card{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:10px;background:var(--bg);border:1px solid var(--border);cursor:pointer;transition:transform .12s ease,border-color .12s ease}.project-card:hover{transform:translateY(-2px);border-color:var(--accent)}.project-card.current{border-color:var(--accent);background:var(--accent-soft)}.project-thumb-wrap{position:relative;width:100%;height:100px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:repeating-conic-gradient(#ccc 0 25%,#fff 0 50%) 0 0 / 12px 12px;overflow:hidden}.project-thumb{max-width:100%;max-height:100%;image-rendering:pixelated}.project-badge{position:absolute;top:4px;right:4px;background:var(--accent);color:#fff;font-size:10px;padding:2px 6px;border-radius:999px}.project-meta{display:flex;flex-direction:column;gap:2px}.project-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-sub{font-size:11px;color:var(--muted)}.project-actions{display:flex;gap:4px;justify-content:flex-end}.doc-title{cursor:pointer}.doc-title:hover{color:var(--accent)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.theme-card{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:10px;border:2px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-align:left;transition:transform .12s ease,border-color .12s ease}.theme-card:hover{transform:translateY(-1px);border-color:var(--accent)}.theme-card.active{border-color:var(--accent);background:var(--accent-soft)}.theme-dots{display:flex;align-items:center;gap:5px}.theme-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(128,128,128,.45)}.theme-title{font-size:12px;font-weight:600}.shear-studio{gap:10px}.shear-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.shear-pane{display:flex;flex-direction:column;border-radius:10px;border:1px solid var(--border);background:var(--bg);overflow:hidden}.shear-pane-head{padding:5px 8px;font-size:11px;font-weight:600;color:var(--muted);background:var(--panel);border-bottom:1px solid var(--border)}.shear-pane-stage{min-height:128px;max-height:220px;overflow:auto;display:flex;align-items:center;justify-content:center;padding:10px;background-color:#16161b;background-image:linear-gradient(45deg,#25252d 25%,transparent 25%),linear-gradient(-45deg,#25252d 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#25252d 75%),linear-gradient(-45deg,transparent 75%,#25252d 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0}.shear-prev-canvas{display:block;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;box-shadow:0 4px 14px #00000073;border:1px solid rgba(255,255,255,.14)}.guide-dialog{gap:12px}.guide-content{display:flex;flex-direction:column;gap:14px}.guide-section{display:flex;flex-direction:column;gap:8px}.guide-sec-title{font-size:13px;font-weight:700;color:var(--text);padding:2px}.guide-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.guide-feature-card{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.guide-feature-head{display:flex;align-items:center;gap:6px}.guide-feature-icon{font-size:16px}.guide-feature-title{font-size:13px;font-weight:600;color:var(--text)}.guide-feature-desc{font-size:12px;line-height:1.5;color:var(--muted)}.guide-tips-box{padding:10px 12px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--border)}.guide-tips-list{margin:4px 0 0;padding-left:18px;font-size:12px;line-height:1.6;color:var(--text)}.guide-changelog-list{display:flex;flex-direction:column;gap:8px}.guide-log-card{padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.guide-log-card.latest{border-color:var(--accent);background:var(--accent-soft)}.guide-log-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.guide-log-ver{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--panel-alt);color:var(--text);border:1px solid var(--border)}.guide-log-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--accent);color:#fff}.guide-log-title{font-size:13px;font-weight:600;color:var(--text);flex:1;min-width:140px}.guide-log-date{font-size:11px;color:var(--muted)}.guide-log-items{margin:0;padding-left:18px;font-size:12px;line-height:1.55;color:var(--muted)}.guide-log-card.latest .guide-log-items{color:var(--text)}.stage-confirm-bar{position:absolute;left:calc(var(--rail-w) + (100% - var(--rail-w)) / 2);bottom:12px;transform:translate(-50%);z-index:28;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;padding:7px 11px;border-radius:18px;background:var(--panel-glass);backdrop-filter:blur(10px);border:1px solid var(--accent);box-shadow:0 8px 24px #00000073;max-width:calc(100vw - var(--rail-w) - 20px)}body.left-handed .stage-confirm-bar{left:calc((100% - var(--rail-w)) / 2)}.stage-confirm-bar.hidden{display:none}.scb-hint{font-size:12px;color:var(--text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}@media (max-width: 600px){.scb-hint{display:none}}.stage-confirm-bar .scb-layer-select,.scb-layer-select{flex:0 1 auto;max-width:136px;height:28px;font-size:12px;padding:0 8px;border-radius:999px;background:var(--panel-alt);border:1px solid var(--border);color:var(--text);cursor:pointer}.stage-confirm-bar .scb-layer-select:hover,.scb-layer-select:hover{border-color:var(--accent)}.align-coord-card{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--accent)}.align-coord-main{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;color:var(--text)}.align-studio{gap:10px}.align-studio-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;cursor:crosshair;touch-action:none}.align-item-list{display:flex;flex-direction:column;gap:6px;max-height:170px;overflow-y:auto}.align-item-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--border);cursor:pointer}.align-item-row.active{border-color:var(--accent);background:var(--accent-soft)}.align-item-title{font-size:13px;font-weight:600}.align-item-coords{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}.align-json-pre{margin:0;padding:10px 12px;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;max-height:160px;overflow:auto}.topbar-cfg-list{display:flex;flex-direction:column;gap:6px;max-height:52vh;overflow-y:auto;padding-right:2px}.topbar-cfg-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;background:var(--bg);border:1px solid var(--border)}.topbar-cfg-row.is-hidden{opacity:.55}.topbar-cfg-check{min-width:56px;padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--muted);font-size:12px;cursor:pointer;flex-shrink:0}.topbar-cfg-check.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.topbar-cfg-info{flex:1;min-width:0}.topbar-cfg-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-cfg-desc{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-cfg-actions{display:flex;gap:4px;flex-shrink:0}.cg-dialog-body{display:flex;flex-direction:column;gap:8px}.cg-stats-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:5px 9px;border-radius:7px;background:var(--bg);border:1px solid var(--border);font-size:11px;color:var(--muted)}.cg-stat-item{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.cg-pane-host{display:flex;flex-direction:column}.cg-pane{display:flex;flex-direction:column;gap:8px}.cg-SubRow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.cg-pills,.cg-chips{display:flex;flex-wrap:wrap;gap:4px}.cg-pill{padding:5px 9px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:12px;cursor:pointer}.cg-pill.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:600}.cg-chip{padding:4px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--muted);font-size:11px;cursor:pointer}.cg-chip.on{border-color:var(--accent);color:var(--accent)}.cg-curve-wrap{width:100%;border-radius:9px;overflow:hidden;border:1px solid var(--border);background:#0d121d}.cg-curve-canvas{display:block;width:100%;height:224px;touch-action:none;cursor:crosshair}.cg-pt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cg-pt-readout{flex:1;min-width:150px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text)}.cg-mini-hist{display:block;width:100%;height:64px;border-radius:8px;background:#0d121d}.cg-balance-row{display:flex;align-items:center;gap:8px}.cg-bal-lbl{min-width:54px;font-size:12px;font-weight:600;color:var(--text);cursor:pointer;user-select:none}.cg-bal-lbl.left{text-align:right}.cg-bal-lbl.right{text-align:left}.cg-dual-range{flex:1;min-width:80px;-webkit-appearance:none;appearance:none;height:12px;border-radius:6px;border:1px solid var(--border);background:var(--cg-track, var(--bg));outline:none}.cg-dual-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #0f172a;box-shadow:0 1px 4px #00000073;cursor:pointer}.cg-compare-btn{user-select:none;touch-action:none}.cg-compare-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}@media (max-width: 520px){.cg-curve-canvas{height:198px}.cg-bal-lbl{min-width:44px;font-size:11px}}.resize-dialog-body{display:flex;flex-direction:column;gap:8px}.resize-status-bar{padding:8px 10px;border-radius:8px;background:var(--panel-alt);border:1px solid var(--border);color:var(--text);font-size:12px;font-weight:600;line-height:1.45}.resize-status-bar.warn{border-color:#f59e0ba6;background:#f59e0b1f;color:#fde68a}.resize-mode-sec{display:flex;flex-direction:column;gap:6px}.resize-anchor-margin-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.resize-anchor-col{display:flex;flex-direction:column;align-items:center;gap:6px}.resize-margin-col{flex:1;min-width:210px;display:flex;flex-direction:column;gap:6px}.pip-win.mat-sphere-win{left:calc(var(--rail-w) + 10px);right:auto;top:56px;width:226px;max-height:calc(100vh - 66px);z-index:46}body.left-handed .pip-win.mat-sphere-win{left:auto;right:calc(var(--rail-w) + 10px)}.ms-head{user-select:none}.ms-title{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap}.ms-stage-wrap{position:relative;display:flex;flex-direction:column;align-items:center;background:#10131c;padding:6px 6px 4px;border-bottom:1px solid var(--border);flex-shrink:0}.ms-canvas{display:block;width:176px;height:176px;border-radius:10px;cursor:crosshair;touch-action:none}.ms-stage-tip{margin-top:3px;font-size:10px;color:var(--muted);white-space:nowrap}.ms-ramp-bar{display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0}.ms-ramp-swatches{flex:1;display:flex;height:18px;border-radius:5px;overflow:hidden;border:1px solid var(--border)}.ms-ramp-cell{flex:1;min-width:0;border:none;padding:0;cursor:pointer}.ms-ramp-cell:hover{filter:brightness(1.12)}.ms-swatch-bar{display:flex;align-items:center;gap:4px;padding:5px 6px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.ms-swatch-btn{flex:1;min-width:0;display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-align:left}.ms-swatch-btn:not(.readonly):hover{border-color:var(--accent)}.ms-swatch-btn.readonly{cursor:default;background:var(--panel-alt)}.ms-color-dot{width:18px;height:18px;border-radius:5px;border:1px solid rgba(255,255,255,.32);flex-shrink:0}.ms-swatch-meta{display:flex;flex-direction:column;min-width:0;line-height:1.15}.ms-swatch-cap{font-size:9px;color:var(--muted)}.ms-hex{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-mini-btn{padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:10px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0}.ms-mini-btn:hover{border-color:var(--accent);color:var(--accent)}.ms-controls{display:flex;flex-direction:column;gap:5px;padding:6px 7px 8px;overflow-y:auto;min-height:0}.ms-preset-dots{display:flex;align-items:center;justify-content:space-between;gap:3px;flex-wrap:wrap}.ms-preset-dot{width:15px;height:15px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.38);cursor:pointer;flex-shrink:0}.ms-preset-dot:hover{transform:scale(1.15);border-color:#fff}.ms-row{display:flex;align-items:center;gap:5px;min-width:0}.ms-lbl{width:38px;font-size:11px;color:var(--muted);flex-shrink:0}.ms-row select{flex:1;min-width:0;height:25px;padding:2px 5px;font-size:11px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.ms-row input[type=range]{flex:1;min-width:0;height:16px}.ms-num{width:36px;text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:var(--text);flex-shrink:0}.ms-chips-row{display:flex;flex-wrap:wrap;gap:3px}.ms-chip{padding:2px 5px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:10px;cursor:pointer;white-space:nowrap}.ms-chip:hover{border-color:var(--accent);color:var(--text)}.ms-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.perf-status-pill{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;height:34px;padding:2px 7px;border-radius:7px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:border-color .14s ease,background .14s ease}.perf-status-pill:hover{border-color:var(--accent);background:var(--accent-soft)}.perf-status-pill:active{transform:scale(.96)}.perf-row-top{font-size:10px;font-weight:700;color:var(--text);letter-spacing:-.2px}.perf-ram.is-warn{color:#fbbf24}.perf-row-bot{display:inline-flex;align-items:center;gap:3px;font-size:9.5px;color:var(--muted);letter-spacing:-.2px}.perf-bat.is-charging{color:#4ade80;font-weight:700}.perf-bat.is-low{color:#f87171;font-weight:700}.perf-dot{opacity:.55}.perf-time{color:var(--text);opacity:.9}.perf-dialog-body{display:flex;flex-direction:column;gap:10px}.perf-detail-list{display:flex;flex-direction:column;gap:8px}.perf-detail-card{display:flex;flex-direction:column;gap:4px;padding:9px 11px;border-radius:9px;background:var(--bg);border:1px solid var(--border)}.perf-detail-head{font-size:12px;font-weight:600;color:var(--muted)}.perf-detail-val{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:700;color:var(--text)}.perf-detail-sub{font-size:11px;color:var(--muted)}.perf-meter{width:100%;height:6px;border-radius:999px;background:var(--panel-alt);overflow:hidden;margin:2px 0}.perf-meter-fill{height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.perf-meter-fill.warn{background:#f59e0b}.pxc-dialog{display:flex;flex-direction:column;gap:8px;max-height:calc(86vh - 134px);min-height:0;overflow:hidden}.pxc-stage-card{display:flex;flex-direction:column;border-radius:10px;border:1px solid var(--border);background:var(--bg);overflow:hidden;flex-shrink:0}.pxc-stage-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px;padding:6px 9px;background:var(--panel);border-bottom:1px solid var(--border)}.pxc-stat-col{display:flex;flex-direction:column;gap:1px;min-width:0}.pxc-stat-main{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700;color:var(--text);white-space:nowrap}.pxc-stat-sub{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.pxc-zoom-bar{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.pxc-mini-pill{padding:3px 7px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.pxc-mini-pill:hover{border-color:var(--accent);color:var(--text)}.pxc-mini-pill.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pxc-stage-viewport{height:184px;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;padding:8px;background-color:#15161c;background-image:linear-gradient(45deg,#242631 25%,transparent 25%),linear-gradient(-45deg,#242631 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#242631 75%),linear-gradient(-45deg,transparent 75%,#242631 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0}.pxc-preview-canvas{display:block;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;box-shadow:0 4px 16px #00000085;border:1px solid rgba(255,255,255,.16);cursor:default;margin:auto;flex-shrink:0}.pxc-preview-canvas.eyedropper{cursor:crosshair;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 4px 16px #00000085}.pxc-pick-banner{padding:5px 10px;background:var(--accent-soft);border-top:1px solid var(--accent);color:var(--accent);font-size:11.5px;font-weight:600;text-align:center}.pxc-pick-banner.hidden,.pxc-subbox.hidden{display:none!important}.pxc-tabs{flex-shrink:0}.pxc-tabs .tab{padding:6px 5px;font-size:11.5px;font-weight:600;white-space:nowrap}.pxc-pane-host{flex:1;min-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:3px;padding-bottom:4px}.pxc-sec-head{font-size:11.5px;font-weight:700;color:var(--text);padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}.pxc-sec-head:first-child{padding-top:0;border-top:none}.pxc-subbox{display:flex;flex-direction:column;gap:7px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--border)}.pxc-mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));gap:6px}.pxc-mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:7px 9px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.pxc-mode-card:hover{border-color:var(--accent)}.pxc-mode-card.active{border-color:var(--accent);background:var(--accent-soft)}.pxc-mode-title{font-size:12px;font-weight:600;color:var(--text)}.pxc-mode-desc{font-size:10.5px;line-height:1.35;color:var(--muted)}.pxc-pal-card{display:flex;flex-direction:column;gap:7px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--border)}.pxc-pal-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.pxc-pal-swatches{display:flex;flex-wrap:wrap;gap:4px;max-height:92px;overflow-y:auto}@media (max-width: 520px){.pxc-stage-viewport{height:152px}.pxc-mode-grid{grid-template-columns:1fr}.pxc-tabs .tab{min-width:calc(50% - 4px)}}@media (max-height: 540px) and (min-width: 640px){.pxc-stage-viewport{height:126px}}.heavy-switch-pill{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:28;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:#18140ee6;backdrop-filter:blur(8px);border:1.5px solid #f59e0b;color:#fef3c7;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 4px 16px #00000073,0 0 12px #f59e0b40;pointer-events:none;transition:opacity .12s ease,transform .12s ease}.heavy-switch-pill.hidden{opacity:0;transform:translate(-50%) translateY(-6px)}.tool-btn.heavy-temp{background:#f59e0b38;color:#fbbf24;box-shadow:inset 0 0 0 1.5px #f59e0b}.pressure-panel-wrap{display:flex;flex-direction:column;gap:8px}.pressure-subcard{display:flex;flex-direction:column;gap:8px;padding:9px 11px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.pressure-subhead{font-size:12px;font-weight:700;color:var(--text)}.pressure-curve-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px;border-radius:9px;background:var(--panel);border:1px solid var(--border)}.pressure-curve-canvas{display:block;max-width:100%;border-radius:7px;background:#0c0d128c;border:1px solid var(--border);cursor:crosshair;touch-action:none}.pressure-live-bar{width:100%;padding:6px 9px;border-radius:7px;background:var(--bg);border:1px solid var(--border);color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;text-align:center;line-height:1.35}.pressure-live-bar.is-active{border-color:var(--accent);color:var(--text);font-weight:600}.pressure-live-bar.is-heavy{background:#f59e0b29;border-color:#f59e0b;color:#fde68a;font-weight:700}.ai-modal-overlay{position:fixed;inset:0;z-index:112;background:#080a108f;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:10px}.ai-modal-overlay.hidden{display:none!important}.ai-studio-win{width:min(94vw,680px);max-width:680px;height:min(86vh,660px);max-height:92vh;background:var(--panel-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 56px #00000085;display:flex;flex-direction:column;overflow:hidden;color:var(--text)}.ai-studio-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.ai-studio-brand{display:flex;align-items:center;gap:7px;min-width:0;flex:1}.ai-studio-title{font-size:15px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-status-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);white-space:nowrap;flex-shrink:0}.ai-status-pill.hidden{display:none}.ai-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ai-mode-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease}.ai-mode-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ai-close-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:16px;cursor:pointer;transition:background .14s ease,color .14s ease}.ai-close-btn:hover{background:#ef444429;color:var(--danger)}.ai-tabs-bar{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--bg);border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto}.ai-tab-btn{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 10px;border-radius:9px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.ai-tab-btn:hover{background:var(--panel-alt);color:var(--text)}.ai-tab-btn.on{background:var(--accent);border-color:var(--accent);color:#fff}.ai-key-dot{width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 6px #f59e0bcc;flex-shrink:0}.ai-tab-btn.on .ai-key-dot{background:#fde68a}.ai-tab-pane{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-tab-pane.hidden{display:none!important}.ai-scroll-pane{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 18px;display:flex;flex-direction:column;gap:14px}.ai-snap-bar{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}.ai-snap-thumb-box{position:relative;width:54px;height:54px;border-radius:8px;border:1px solid var(--border);background:repeating-conic-gradient(#9ca3af 0 25%,#cfd4dc 0 50%) 0 0 / 10px 10px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;cursor:zoom-in;transition:border-color .14s ease,transform .12s ease}.ai-snap-thumb-box:hover{border-color:var(--accent);transform:scale(1.03)}.ai-snap-thumb-img{max-width:100%;max-height:100%;width:auto;height:auto;image-rendering:pixelated;display:block}.ai-snap-empty-tag{font-size:10px;color:#374151;background:#ffffffdb;padding:1px 4px;border-radius:4px;font-weight:600}.ai-snap-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ai-snap-top-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.ai-snap-meta{font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-snap-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.ai-snap-toggle{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text);cursor:pointer;white-space:nowrap}.ai-snap-select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:2px 6px;font-size:11.5px;height:24px;cursor:pointer}.ai-mini-action-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:11.5px;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.ai-mini-action-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.ai-chat-feed{flex:1;min-height:0;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;background:var(--bg);user-select:text;-webkit-user-select:text}.ai-welcome-card{margin:auto 0;padding:16px;border-radius:14px;background:var(--panel);border:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.ai-welcome-head{display:flex;align-items:center;gap:10px}.ai-welcome-avatar{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.ai-welcome-title{font-size:15px;font-weight:700;color:var(--text)}.ai-welcome-sub{font-size:12px;color:var(--muted);margin-top:2px}.ai-welcome-steps{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px dashed var(--border);font-size:12.5px;line-height:1.5;color:var(--text)}.ai-welcome-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11.5px;color:var(--muted)}.ai-msg{display:flex;flex-direction:column;gap:6px;max-width:90%;padding:9px 12px;border-radius:12px;font-size:13px;line-height:1.56;word-break:break-word}.ai-msg.user{align-self:flex-end;background:var(--accent-soft);border:1px solid var(--accent);color:var(--text);border-bottom-right-radius:4px}.ai-msg.assistant{align-self:flex-start;width:100%;max-width:94%;background:var(--panel);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.ai-msg.assistant.error{border-color:var(--danger);background:#ef44441a}.ai-msg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.ai-msg-role{font-weight:700;color:var(--text);display:inline-flex;align-items:center;gap:5px}.ai-preset-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:600}.ai-msg-attach{display:flex;align-items:center;gap:8px;padding:5px;border-radius:8px;background:var(--panel);border:1px solid var(--border);align-self:flex-start}.ai-msg-thumb{width:64px;height:64px;object-fit:contain;image-rendering:pixelated;border-radius:5px;background:repeating-conic-gradient(#9ca3af 0 25%,#cfd4dc 0 50%) 0 0 / 8px 8px;border:1px solid var(--border);cursor:zoom-in;flex-shrink:0}.ai-msg-attach-meta{font-size:11px;color:var(--muted);line-height:1.4;max-width:220px}.ai-user-text{white-space:pre-wrap;user-select:text;-webkit-user-select:text}.ai-md-body{display:flex;flex-direction:column;gap:6px;user-select:text;-webkit-user-select:text}.ai-md-p{margin:0}.ai-md-h{font-weight:700;color:var(--text);margin:4px 0 1px;line-height:1.35}.ai-md-h1{font-size:15.5px}.ai-md-h2{font-size:14.5px}.ai-md-h3{font-size:13.5px;color:var(--accent)}.ai-md-h4{font-size:13px}.ai-md-ul,.ai-md-ol{margin:0;padding-left:19px;display:flex;flex-direction:column;gap:3px}.ai-md-quote{margin:2px 0;padding:5px 10px;border-left:3px solid var(--accent);background:var(--bg);border-radius:0 6px 6px 0;color:var(--muted);font-size:12.5px}.ai-md-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;padding:1px 5px;border-radius:4px;background:var(--bg);border:1px solid var(--border);color:var(--accent)}.ai-md-pre{margin:2px 0;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px solid var(--border);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45}.ai-md-pre code{font-family:inherit;color:var(--text);white-space:pre}.ai-md-hr{border:none;border-top:1px solid var(--border);margin:4px 0}.ai-stream-cursor{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--accent);font-weight:600;animation:aiPulse 1s ease-in-out infinite}@keyframes aiPulse{0%,to{opacity:1}50%{opacity:.35}}.ai-msg-actions{display:flex;align-items:center;gap:6px;padding-top:4px;border-top:1px dashed var(--border)}.ai-msg-act-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:11px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.ai-msg-act-btn:hover{color:var(--text);border-color:var(--accent);background:var(--panel-alt)}.ai-preset-bar{display:flex;align-items:center;gap:6px;padding:7px 12px;background:var(--panel);border-top:1px solid var(--border);overflow-x:auto;flex-shrink:0}.ai-preset-capsule{display:inline-flex;align-items:center;gap:4px;padding:5px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel-alt);color:var(--text);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:transform .1s ease,background .14s ease,border-color .14s ease}.ai-preset-capsule:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.ai-preset-capsule:active{transform:scale(.96)}.ai-composer{display:flex;align-items:flex-end;gap:8px;padding:8px 12px 10px;background:var(--panel);border-top:1px solid var(--border);flex-shrink:0}.ai-composer-input{flex:1;min-height:42px;max-height:110px;resize:vertical;padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;line-height:1.45;outline:none}.ai-composer-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ai-composer-btns{display:flex;align-items:center;gap:6px;flex-shrink:0}.ai-card{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--border)}.ai-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ai-card-title{font-size:13.5px;font-weight:700;color:var(--text)}.ai-card-desc{font-size:12px;color:var(--muted);line-height:1.45;margin:0}.ai-textarea{width:100%;min-height:88px;resize:vertical;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:12.5px;line-height:1.5;outline:none}.ai-textarea:focus,.ai-field-input:focus,.ai-field-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ai-preset-list{display:flex;flex-direction:column;gap:8px}.ai-preset-item{display:flex;flex-direction:column;gap:5px;padding:9px 11px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}.ai-preset-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ai-preset-item-name{font-size:13px;font-weight:700;color:var(--text)}.ai-preset-item-desc{font-size:11.5px;color:var(--muted)}.ai-preset-item-prompt{font-size:11.5px;color:var(--text);opacity:.85;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:5px 8px;max-height:68px;overflow-y:auto;white-space:pre-wrap}.ai-form-grid{display:flex;flex-direction:column;gap:8px}.ai-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-field-label{min-width:82px;font-size:12px;font-weight:600;color:var(--muted);flex-shrink:0}.ai-field-input{flex:1;min-width:140px;padding:6px 9px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12.5px;outline:none}.ai-field-input.emoji-in{width:58px;min-width:58px;flex:0 0 58px;text-align:center;font-size:15px}.ai-field-select{flex:1;min-width:160px;padding:6px 8px;border-radius:7px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12.5px;outline:none}.ai-tpl-chips{display:flex;flex-wrap:wrap;gap:6px}.ai-tpl-chip{padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ai-tpl-chip:hover{background:var(--panel-alt);border-color:var(--accent)}.ai-tpl-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.ai-model-drawer{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:8px;background:var(--bg);border:1px dashed var(--border)}.ai-model-drawer.hidden{display:none}.ai-model-chips{display:flex;flex-wrap:wrap;gap:5px;max-height:124px;overflow-y:auto}.ai-conn-banner{padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.45;border:1px solid var(--border);background:var(--bg);color:var(--text)}.ai-conn-banner.hidden{display:none}.ai-conn-banner.ok{border-color:#10b981;background:#10b9811f}.ai-conn-banner.fail{border-color:var(--danger);background:#ef44441f}.ai-mini-win{position:absolute;top:12px;right:12px;width:300px;height:360px;min-width:240px;min-height:220px;z-index:46;background:var(--panel-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 32px #0000007a;display:flex;flex-direction:column;overflow:hidden;color:var(--text)}.ai-mini-win.hidden{display:none!important}.ai-mini-head{display:flex;align-items:center;gap:4px;padding:5px 7px;background:var(--panel);border-bottom:1px solid var(--border);cursor:move;touch-action:none;flex-shrink:0}.ai-mini-drag-title{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ai-mini-head-btn{border:1px solid var(--border);border-radius:6px;background:var(--panel-alt);color:var(--text);font-size:11px;font-weight:600;padding:2px 6px;cursor:pointer;white-space:nowrap;flex-shrink:0}.ai-mini-head-btn:hover{background:var(--accent-soft);border-color:var(--accent)}.ai-mini-head-btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.ai-mini-head-btn.close{border-color:transparent;background:transparent;color:var(--muted);padding:2px 5px}.ai-mini-head-btn.close:hover{background:#ef444429;color:var(--danger)}.ai-mini-feed{flex:1;min-height:0;overflow-y:auto;padding:7px 8px;display:flex;flex-direction:column;gap:7px;background:var(--bg);user-select:text;-webkit-user-select:text}.ai-mini-feed .ai-msg{padding:7px 9px;font-size:12px;line-height:1.48;max-width:96%}.ai-mini-feed .ai-msg-thumb{width:44px;height:44px}.ai-mini-presets{display:flex;align-items:center;gap:4px;padding:4px 7px;background:var(--panel);border-top:1px solid var(--border);overflow-x:auto;flex-shrink:0}.ai-mini-preset-chip{border:1px solid var(--border);border-radius:999px;background:var(--panel-alt);color:var(--text);font-size:11px;padding:2px 8px;white-space:nowrap;cursor:pointer;flex-shrink:0}.ai-mini-preset-chip:hover{background:var(--accent-soft);border-color:var(--accent)}.ai-mini-composer{position:relative;display:flex;align-items:center;gap:5px;padding:5px 18px 5px 7px;background:var(--panel);border-top:1px solid var(--border);flex-shrink:0}.ai-mini-attach-btn{border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--muted);font-size:12px;padding:3px 6px;cursor:pointer;flex-shrink:0}.ai-mini-attach-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ai-mini-input{flex:1;min-width:0;height:28px;padding:3px 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;outline:none}.ai-mini-input:focus{border-color:var(--accent)}.ai-mini-send-btn{height:28px;padding:0 9px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.ai-mini-send-btn.stop{background:#ef444433;border-color:var(--danger);color:var(--danger)}.ai-mini-resize{position:absolute;right:0;bottom:0;width:16px;height:16px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--accent) 50%);opacity:.8;z-index:2}.ai-lightbox-overlay{position:fixed;inset:0;z-index:140;background:#080a10d1;backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px}.ai-lightbox-frame{max-width:90vw;max-height:76vh;padding:10px;border-radius:12px;background:var(--panel);border:1px solid var(--border);box-shadow:0 16px 48px #0009;display:flex;align-items:center;justify-content:center;overflow:auto}.ai-lightbox-img{max-width:84vw;max-height:70vh;width:auto;height:auto;min-width:min(240px,70vw);object-fit:contain;image-rendering:pixelated;border-radius:6px;background:repeating-conic-gradient(#9ca3af 0 25%,#cfd4dc 0 50%) 0 0 / 14px 14px}.ai-lightbox-caption{font-size:12px;color:#e5e7eb;text-align:center}@media (max-width: 560px){.ai-modal-overlay{padding:6px}.ai-studio-win{width:96vw;height:min(90vh,680px);border-radius:14px}.ai-studio-title{font-size:13.5px}.ai-tab-btn{padding:5px 6px;font-size:11.5px}.ai-snap-bar{padding:7px 9px;gap:8px}.ai-snap-thumb-box{width:46px;height:46px}.ai-composer{padding:7px 9px;gap:6px}.ai-field-label{min-width:72px}}
