/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@keyframes cm-blink{50%{opacity:0}}@keyframes cm-blink2{50%{opacity:0}}.quap-playground .cm-editor{height:100%}.quap-playground .cm-editor .cm-scroller{height:100%!important}.quap-playground .cm-editor .cm-foldGutter{width:1.1em}.quap-playground .cm-editor .cm-foldGutter .cm-gutterElement{cursor:pointer;color:var(--text);opacity:.65;padding:0 2px}.quap-playground .cm-editor .cm-foldGutter .cm-gutterElement:hover{opacity:1;color:var(--text-h)}.quap-playground .cm-editor .cm-validate-error-gutter{width:.85em;min-width:.85em}.quap-playground .cm-editor .cm-validate-error-dot{background:var(--error,#dc2626);width:7px;height:7px;box-shadow:0 0 0 1px var(--error,#dc2626);border-radius:50%;margin:.45em auto 0;display:block}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-validate-error-dot{box-shadow:0 0 0 1px color-mix(in srgb,var(--error,#dc2626) 35%,transparent)}}.quap-playground .cm-editor .cm-scroller{scrollbar-width:thin}.quap-playground .cm-editor .cm-scroller::-webkit-scrollbar{width:0;height:11px}.quap-playground .cm-editor .cm-minimap-rail{z-index:6;pointer-events:auto;touch-action:none;border-left:1px solid var(--border);background:var(--editor-bg,#1e1e1e);flex-direction:row;width:74px;display:flex;position:absolute;top:0;bottom:11px;right:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-rail{background:color-mix(in srgb,var(--editor-bg,#1e1e1e) 94%,#000)}}.quap-playground .cm-editor .cm-minimap{flex:auto;width:64px;min-width:64px;height:100%;position:relative;overflow:hidden}.quap-playground .cm-editor .cm-minimap-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.quap-playground .cm-editor .cm-minimap-slider{box-sizing:border-box;border:1px solid var(--text-h,#fff);position:absolute;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-slider{border:1px solid color-mix(in srgb,var(--text-h,#fff) 28%,transparent)}}.quap-playground .cm-editor .cm-minimap-slider{background:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-slider{background:color-mix(in srgb,var(--text-h,#fff) 10%,transparent)}}.quap-playground .cm-editor .cm-minimap-slider{cursor:default;pointer-events:auto;border-radius:1px}.quap-playground .cm-editor .cm-minimap-slider.is-dragging,.quap-playground .cm-editor .cm-minimap-slider:hover{background:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-slider.is-dragging,.quap-playground .cm-editor .cm-minimap-slider:hover{background:color-mix(in srgb,var(--text-h,#fff) 16%,transparent)}}.quap-playground .cm-editor .cm-minimap-slider.is-dragging,.quap-playground .cm-editor .cm-minimap-slider:hover{border-color:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-slider.is-dragging,.quap-playground .cm-editor .cm-minimap-slider:hover{border-color:color-mix(in srgb,var(--text-h,#fff) 42%,transparent)}}.quap-playground .cm-editor .cm-minimap-bar{background:var(--editor-bg,#1e1e1e);flex:none;width:10px;height:100%;position:relative}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-bar{background:color-mix(in srgb,var(--editor-bg,#1e1e1e) 88%,#000)}}.quap-playground .cm-editor .cm-minimap-bar{border-left:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.quap-playground .cm-editor .cm-minimap-bar{border-left:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.quap-playground .cm-editor .cm-minimap-bar-thumb{background:var(--border);cursor:default;border-radius:3px;position:absolute;top:0;left:2px;right:2px}.quap-playground .cm-editor .cm-minimap-bar-thumb.is-dragging,.quap-playground .cm-editor .cm-minimap-bar-thumb:hover{background:var(--text-muted,#888)}.quap-playground .cm-editor .cm-content{font-family:var(--mono);font-size:var(--editor-font-size,14px)}.quap-playground .cm-editor .cm-scroller{line-height:1.6}.quap-playground .cm-editor{background-color:var(--editor-bg);color:var(--text-h)}.quap-playground .cm-editor .cm-content{caret-color:var(--text-h)}.quap-playground .cm-editor .cm-cursor,.quap-playground .cm-editor .cm-dropCursor{border-left-color:var(--text-h)}.quap-playground .cm-editor .cm-selectionBackground,.quap-playground .cm-editor.cm-focused .cm-selectionBackground{background-color:var(--accent-selection)!important}.quap-playground .cm-editor .cm-content ::selection{background-color:var(--accent-selection)!important}.quap-playground .cm-editor .cm-gutters{background-color:var(--editor-gutter,var(--editor-bg));color:var(--text);border-right:1px solid var(--border)}.quap-playground .cm-editor .cm-activeLine{background-color:var(--accent-active-line)}.quap-playground .cm-editor .cm-foldGutter span{color:var(--text)}.quap-playground,.quap-playground[data-theme=light]{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--tab-bar-bg:#fafaf8;--tab-inactive-hover-bg:var(--bg)}@supports (color:color-mix(in lab,red,red)){.quap-playground,.quap-playground[data-theme=light]{--tab-inactive-hover-bg:color-mix(in srgb,var(--bg) 22%,var(--tab-bar-bg))}}.quap-playground,.quap-playground[data-theme=light]{--code-bg:#f4f3ec;--editor-bg:#f4f3ec;--editor-gutter:#ebeae3;--editor-scope-guide:#08060d0f;--tree-scope-guide:#6b637538;--json-tree-scope:#6b6375;--accent:#aa3bff;--accent-bg:#aa3bff1a;--tab-dirty:#d97706;--accent-border:#aa3bff80;--editor-json-property:#0072b2;--editor-json-type-object:#56b4e9;--editor-json-type-array:#e69f00;--editor-json-type-string:#009e73;--editor-json-type-number:#d55e00;--editor-json-type-boolean:#cc79a7;--editor-json-type-null:#7f7f7f;--preview-json-property:#0072b2;--preview-json-type-object:#56b4e9;--preview-json-type-array:#e69f00;--preview-json-type-string:#009e73;--preview-json-type-number:#d55e00;--preview-json-type-boolean:#cc79a7;--preview-json-type-null:#7f7f7f;--error:#dc2626;--sans:system-ui,"Segoe UI",Roboto,sans-serif;--heading:system-ui,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,Consolas,monospace;color-scheme:light}.quap-playground[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--tab-bar-bg:#2a2c35;--tab-inactive-hover-bg:var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground[data-theme=dark]{--tab-inactive-hover-bg:color-mix(in srgb,var(--text-h) 7%,var(--tab-bar-bg))}}.quap-playground[data-theme=dark]{--code-bg:#1f2028;--editor-bg:#1f2028;--editor-gutter:#181920;--editor-scope-guide:#f3f4f612;--tree-scope-guide:#9ca3af33;--json-tree-scope:#9ca3af;--accent:#c084fc;--accent-bg:#c084fc26;--tab-dirty:#fbbf24;--accent-border:#c084fc80;--editor-json-property:#8ec8f6;--editor-json-type-object:#7eb8e6;--editor-json-type-array:#f0b429;--editor-json-type-string:#5fd4a4;--editor-json-type-number:#ff9b71;--editor-json-type-boolean:#e39ad0;--editor-json-type-null:#a3a3a3;--preview-json-property:#8ec8f6;--preview-json-type-object:#7eb8e6;--preview-json-type-array:#f0b429;--preview-json-type-string:#5fd4a4;--preview-json-type-number:#ff9b71;--preview-json-type-boolean:#e39ad0;--preview-json-type-null:#a3a3a3;--error:#f87171;color-scheme:dark}.quap-playground .editor-json-property{color:var(--editor-json-property)}.quap-playground .editor-json-type-object{color:var(--editor-json-type-object)}.quap-playground .editor-json-type-array{color:var(--editor-json-type-array)}.quap-playground .editor-json-type-string{color:var(--editor-json-type-string)}.quap-playground .editor-json-type-number{color:var(--editor-json-type-number)}.quap-playground{font:16px/145% var(--sans);font-synthesis-small-caps:none;font-synthesis-style:none;font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--header-pad-y:10px;--header-pad-x:18px;--header-title-size:18px;--header-btn-pad-y:6px;--header-btn-pad-x:11px;--header-btn-font-size:12px;--toolbar-min-height:36px;--toolbar-pad-y:4px;--toolbar-pad-x:10px;--toolbar-btn-size:26px;--toolbar-font-size:11px;--toolbar-gap:5px;--tab-row-height:32px;--footer-pad-y:5px;--footer-pad-x:16px;--footer-font-size:12px;--panel-header-pad-y:6px;--panel-header-pad-x:14px;--chrome-font-size:12px;text-align:left;width:100%;height:100%;color:var(--text);background:0 0;margin:0;overflow:hidden;background:0 0!important}.quap-playground p{margin:0}.quap-playground .workspace-dock{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.quap-playground .workspace-dock--horizontal{flex-direction:row}.quap-playground .workspace-dock-pane{z-index:0;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.quap-playground .workspace-dock-splitter-wrap{z-index:40;isolation:isolate;background:var(--code-bg,var(--bg));flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.quap-playground .workspace-dock--horizontal>.workspace-dock-splitter-wrap{align-self:stretch;width:16px}.quap-playground .workspace-dock-splitter{z-index:0;background:0 0;flex-shrink:0;position:absolute;inset:0}.quap-playground .workspace-dock-splitter--horizontal{cursor:col-resize}.quap-playground .workspace-dock-splitter--horizontal:after{content:"";background:var(--border);pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.quap-playground .workspace-dock-splitter-wrap:hover .workspace-dock-splitter--horizontal:after,.quap-playground .workspace-dock-splitter-wrap:hover .workspace-dock-splitter--vertical:after{background:var(--accent-border)}.quap-playground .workspace-dock-preview-toggle{z-index:2;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:600;line-height:1;display:flex;position:relative;box-shadow:0 1px 4px #00000014}.quap-playground .workspace-dock-preview-toggle--horizontal{border-radius:999px;width:20px;height:44px}.quap-playground .workspace-dock-preview-toggle:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.quap-playground .workspace-dock-preview-toggle:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.quap-playground .workspace-dock-picker{z-index:3;border:1px solid var(--border);background:var(--bg);opacity:0;pointer-events:none;border-radius:999px;gap:2px;padding:3px;transition:opacity .15s;display:flex;position:absolute;box-shadow:0 2px 8px #00000014}.quap-playground .workspace-dock--horizontal .workspace-dock-picker{top:calc(50% + 24px);left:50%;transform:translate(-50%)}.quap-playground .workspace-dock-picker:focus-within,.quap-playground .workspace-dock-picker:hover,.quap-playground .workspace-dock-splitter-wrap:hover .workspace-dock-picker{opacity:1;pointer-events:auto}.quap-playground .workspace-dock-picker-btn{width:26px;height:22px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;font-size:12px;line-height:1}.quap-playground .workspace-dock-picker-btn:hover{background:var(--accent-bg);color:var(--text-h)}.quap-playground .workspace-dock-picker-btn.active{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.quap-playground .preview-view-switcher-wrap{align-items:center;max-width:100%;display:inline-flex;position:relative;overflow:visible}.quap-playground .preview-view-switcher{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;transition:box-shadow .15s;display:inline-flex;overflow:hidden}.quap-playground .preview-view-switcher-wrap:has(.preview-view-switcher.is-compact) .preview-view-switcher{position:absolute;top:50%;right:0;transform:translateY(-50%)}.quap-playground .preview-view-btn{color:var(--text);font-size:var(--chrome-font-size,12px);cursor:pointer;font-weight:500;font-family:var(--sans);white-space:nowrap;opacity:1;background:0 0;border:none;flex:none;max-width:12rem;padding:4px 8px;transition:max-width .18s,padding .18s,opacity .14s;overflow:hidden}.quap-playground .preview-view-btn--active,.quap-playground .preview-view-btn:hover:not(:disabled){background:var(--accent-bg);color:var(--text-h)}.quap-playground .preview-view-btn--active{box-shadow:inset 0 0 0 1px var(--accent-border)}.quap-playground .preview-view-btn:disabled{cursor:not-allowed}@keyframes preview-ai-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}@keyframes tab-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes cm-find-match-fade{0%{background-color:#ffc10773;outline-color:#e6a700bf}to{background-color:#0000;outline-color:#0000}}@keyframes editor-busy-spin{to{transform:rotate(1turn)}}.quap-playground .expanding-toolbar-btn{--expanding-btn-size:var(--toolbar-btn-size,26px);--expanding-btn-max:148px;--expanding-btn-delay:.28s;box-sizing:border-box;height:var(--expanding-btn-size);max-width:var(--expanding-btn-size);min-width:var(--expanding-btn-size);border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;white-space:nowrap;vertical-align:middle;border-radius:6px;align-items:center;gap:0;padding:0;font-size:11px;transition:max-width .22s,gap .18s,padding .18s,background .15s,border-color .15s,color .15s;display:inline-flex;overflow:hidden}.quap-playground .expanding-toolbar-btn.is-expanded:not(:disabled),.quap-playground .expanding-toolbar-btn:focus-visible:not(:disabled){max-width:var(--expanding-btn-max);transition-delay:var(--expanding-btn-delay);gap:6px;padding-right:8px}.quap-playground .expanding-toolbar-btn-icon{flex:0 0 var(--expanding-btn-size);width:var(--expanding-btn-size);height:var(--expanding-btn-size);justify-content:center;align-items:center;display:inline-flex}.quap-playground .expanding-toolbar-btn-label-track{opacity:0;flex:auto;min-width:0;max-width:0;transition:max-width .22s,opacity .16s;overflow:hidden}.quap-playground .expanding-toolbar-btn.is-expanded:not(:disabled) .expanding-toolbar-btn-label-track,.quap-playground .expanding-toolbar-btn:focus-visible:not(:disabled) .expanding-toolbar-btn-label-track{max-width:calc(var(--expanding-btn-max) - var(--expanding-btn-size) - 8px);opacity:1;transition-delay:var(--expanding-btn-delay)}.quap-playground .expanding-toolbar-btn-label{white-space:nowrap;will-change:transform;font-weight:500;line-height:1;display:inline-block}@keyframes expanding-toolbar-marquee{0%{transform:translate(0)}to{transform:translateX(calc(-1 * var(--marquee-distance,0px)))}}.quap-playground .expanding-toolbar-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .expanding-toolbar-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .expanding-toolbar-btn.has-query,.quap-playground .expanding-toolbar-btn.is-active{border-color:var(--accent-border);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .expanding-toolbar-btn.has-query,.quap-playground .expanding-toolbar-btn.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--bg))}}.quap-playground .expanding-toolbar-btn.has-query,.quap-playground .expanding-toolbar-btn.is-active{color:var(--accent)}.quap-playground .expanding-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.quap-playground .editor-toolbar{justify-content:space-between;align-items:center;gap:var(--toolbar-gap,6px);min-height:var(--toolbar-min-height,36px);padding:var(--toolbar-pad-y,4px) var(--toolbar-pad-x,10px);border-bottom:1px solid var(--border);background:var(--editor-bg);box-sizing:border-box;flex-shrink:0;display:flex;position:relative;overflow:visible}.quap-playground .editor-toolbar-primary{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.quap-playground .editor-toolbar-trailing{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.quap-playground .editor-toolbar-group{align-items:center;gap:4px;display:inline-flex}.quap-playground .editor-toolbar-group--stack{flex-direction:column;align-items:stretch;gap:3px}@keyframes editor-toolbar-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.quap-playground .edit-tool-group{--edit-tool-size:var(--toolbar-btn-size,26px);height:var(--edit-tool-size);width:var(--edit-tool-size);border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-shrink:0;transition:border-color .15s,background .15s;display:inline-flex;position:relative;overflow:visible}.quap-playground .edit-tool-group-main{box-sizing:border-box;width:100%;height:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.quap-playground .edit-tool-group-main:disabled{opacity:.36;cursor:default}.quap-playground .edit-tool-group-icon{justify-content:center;align-items:center;display:inline-flex}.quap-playground .edit-tool-group-corner{opacity:.45;pointer-events:none;border-color:#0000 #0000 currentcolor;border-style:solid;border-width:0 0 5px 5px;width:0;height:0;position:absolute;bottom:2px;right:2px}.quap-playground .edit-tool-group.is-open .edit-tool-group-corner,.quap-playground .edit-tool-group:hover .edit-tool-group-corner{opacity:.75}.quap-playground .edit-action-toolbar{background:var(--editor-bg);border-color:var(--border);flex-shrink:0;align-items:center;gap:3px;display:flex}.quap-playground .edit-action-toolbar--top{padding:var(--toolbar-pad-y,4px) var(--toolbar-pad-x,10px);min-height:var(--toolbar-min-height,36px);border-bottom:1px solid var(--border);box-sizing:border-box;flex-flow:wrap;row-gap:4px}.quap-playground .edit-action-toolbar-slot{align-items:center;gap:3px;display:inline-flex}.quap-playground .edit-action-toolbar-sep{background:var(--border);align-self:stretch;width:1px;min-height:16px;margin:0 2px}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-action-toolbar-sep{background:color-mix(in srgb,var(--border) 85%,transparent)}}.quap-playground .edit-action-toolbar-sep{flex-shrink:0}.quap-playground .edit-action-toolbar-chrome{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding-left:4px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-action-toolbar-chrome{border-left:1px solid color-mix(in srgb,var(--border) 80%,transparent)}}.quap-playground .editor-panel{background:var(--editor-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.quap-playground .editor-panel-body{flex:1 1 0;min-height:0;display:flex;overflow:hidden}.quap-playground .editor-panel-body>.editor-panel-cm-host{flex:1 1 0;min-width:0}.quap-playground .editor-panel .cm-editor{min-height:0;font-family:var(--mono);font-size:var(--editor-font-size,14px);background:var(--editor-bg);flex:1}.quap-playground .editor-panel-cm-host{z-index:0;flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative;overflow:hidden}.quap-playground .editor-panel-cm-host>div{flex-direction:column;flex:1;min-height:0;display:flex}.quap-playground .editor-panel-cm-host .cm-editor{flex-direction:column;position:relative;overflow:hidden;flex:1!important;height:100%!important;min-height:0!important;max-height:none!important;display:flex!important}.quap-playground .editor-panel-cm-host .cm-scroller{scrollbar-width:thin;scrollbar-color:var(--text-muted,#888) var(--editor-bg);flex:1;min-height:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-panel-cm-host .cm-scroller{scrollbar-color:color-mix(in srgb,var(--text-muted,#888) 85%,var(--border)) color-mix(in srgb,var(--editor-bg) 70%,transparent)}}.quap-playground .editor-panel-cm-host .cm-scroller{padding-right:74px;overflow:auto!important}.quap-playground .editor-panel-cm-host .cm-scroller::-webkit-scrollbar{width:0;height:11px}.quap-playground .editor-panel-cm-host .cm-minimap-rail{bottom:11px}.quap-playground .editor-panel .cm-content{padding:8px 0}@keyframes editor-panel-loading-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@keyframes tree-node-flash{0%{background:color-mix(in srgb,var(--accent,#7c5cff) 28%,transparent);box-shadow:inset 0 0 0 1px var(--accent-border,var(--border))}35%{background:color-mix(in srgb,var(--accent,#7c5cff) 18%,transparent);box-shadow:inset 0 0 0 1px var(--accent-border,var(--border))}to{box-shadow:none;background:0 0}}.quap-playground .preview-toolbar{justify-content:space-between;align-items:center;gap:var(--toolbar-gap,6px);min-height:var(--toolbar-min-height,36px);padding:var(--toolbar-pad-y,4px) var(--toolbar-pad-x,10px);border-bottom:1px solid var(--border);background:var(--bg);box-sizing:border-box;z-index:5;flex-shrink:0;display:flex;position:relative;overflow:visible}.quap-playground .preview-toolbar-tools{scrollbar-width:none;flex-wrap:nowrap;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:auto visible}.quap-playground .preview-toolbar-tools::-webkit-scrollbar{display:none}.quap-playground .preview-toolbar-primary,.quap-playground .preview-toolbar-secondary{flex-wrap:nowrap;flex:none;align-items:center;gap:6px;display:flex;overflow:visible}.quap-playground .preview-toolbar-switcher{z-index:6;flex:none;max-width:100%;margin-left:auto;position:relative;overflow:visible}.quap-playground .preview-toolbar .preview-view-switcher{margin:0}@keyframes preview-toolbar-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.quap-playground .view-export-toolbar{z-index:2;align-items:center;display:inline-flex;position:relative;overflow:visible}.quap-playground .preview-panel-wrap{background:var(--bg);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.quap-playground .preview-panel-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.quap-playground .preview-panel{text-align:left;background:var(--bg);flex:1;min-height:0;padding:12px 16px;overflow:auto}.quap-playground .preview-panel--fill{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.quap-playground{--ai-ctl-h:26px;--ai-ctl-r:6px;--ai-ctl-fs:12px}.quap-playground .ai-btn{box-sizing:border-box;height:var(--ai-ctl-h);border-radius:var(--ai-ctl-r);border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;font-family:inherit;font-size:var(--ai-ctl-fs);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;line-height:1;transition:background-color .12s,border-color .12s;display:inline-flex}.quap-playground .ai-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}.quap-playground .ai-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quap-playground .ai-btn:disabled{cursor:default;opacity:.5}.quap-playground .ai-btn--primary{color:#fff;font-weight:600}.quap-playground .ai-btn--primary,.quap-playground .ai-btn--primary:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .ai-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,#fff)}}.quap-playground .ai-link-btn{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.quap-playground .ai-chat-panel{border-top:1px solid var(--border);background:var(--bg);min-height:0;color:var(--text-h);font-size:calc(var(--chrome-font-size,12px) + 2px);flex-direction:column;flex-shrink:0;display:flex;position:relative}.quap-playground .ai-chat-head{--ai-ctl-h:22px;min-height:26px;padding:1px var(--panel-header-pad-x,14px);border-bottom:1px solid var(--border);background:var(--tab-bar-bg);align-items:center;gap:6px;display:flex}.quap-playground .ai-chat-panel:not(.is-open) .ai-chat-head{border-bottom:none}.quap-playground .ai-chat-toggle{z-index:3;cursor:pointer;box-sizing:border-box;border:1px solid var(--border);background:var(--bg);height:24px;color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-width:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;font-family:inherit;font-size:var(--chrome-font-size,12px);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 11px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 5px #00000024}.quap-playground .ai-chat-toggle-arrow{font-size:11px;line-height:1}.quap-playground .ai-chat-toggle:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.quap-playground .ai-chat-toggle:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}@keyframes ai-busy-bar{0%{background-position:-40% 0}to{background-position:140% 0}}@keyframes ai-busy-spin{to{transform:rotate(1turn)}}.quap-playground .ai-undo-redo{align-items:stretch;gap:2px;display:inline-flex}.quap-playground .ai-undo-redo-btn{width:var(--ai-ctl-h);height:var(--ai-ctl-h);color:var(--text-h);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-flex;border-radius:var(--ai-ctl-r)!important}.quap-playground .ai-undo-redo-btn:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.quap-playground .ai-undo-redo-btn:active:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .ai-undo-redo-btn:active:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,transparent)}}.quap-playground .ai-undo-redo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.quap-playground .ai-undo-redo-btn:disabled{cursor:default;color:var(--text);opacity:.45}.quap-playground .document-tab-workspace{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.quap-playground .document-tab-workspace>.workspace-dock{flex:1;min-width:0;min-height:0}.quap-playground .tab-pane-stack{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.quap-playground .tab-pane{contain:strict;content-visibility:hidden;flex-direction:column;min-width:0;min-height:0;display:none;position:absolute;inset:0}.quap-playground .tab-pane.is-active{content-visibility:visible;display:flex}.quap-playground .tab-pane .editor-panel,.quap-playground .tab-pane .preview-panel-wrap{flex:1;min-height:0}.quap-playground .panel-body>.tab-pane-stack{height:100%}@keyframes bg-task-spin{to{transform:rotate(1turn)}}@keyframes bg-task-slide{0%{left:-35%}to{left:100%}}.quap-playground .workspace-mode-switcher{pointer-events:auto;background:var(--code-bg);border-bottom-color:#0000;border-radius:14px 14px 0 0;justify-content:center;align-items:center;gap:6px;padding:7px 12px 6px;display:inline-flex}.quap-playground .workspace-mode-switcher-btn{pointer-events:auto;--expanding-btn-size:30px;--expanding-btn-max:136px;background:var(--bg);border-color:var(--border);border-radius:8px}.quap-playground .workspace-mode-switcher-btn.is-active{border-color:var(--accent-border,var(--border));background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .workspace-mode-switcher-btn.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--bg))}}.quap-playground .workspace-mode-switcher-btn.is-active{color:var(--accent)}.quap-playground .workspace-mode-switcher--bar{border:1px solid var(--border);background:0 0;border-radius:7px;gap:2px;padding:2px}.quap-playground .workspace-mode-switcher--bar .workspace-mode-switcher-btn{--expanding-btn-size:24px;background:0 0;border-color:#0000;border-radius:5px}.quap-playground .workspace-mode-switcher--bar .workspace-mode-switcher-btn.is-active{border-color:var(--accent-border,var(--border));background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .workspace-mode-switcher--bar .workspace-mode-switcher-btn.is-active{background:color-mix(in srgb,var(--accent) 14%,var(--bg))}}.quap-playground .app-footer{padding:var(--footer-pad-y,5px) var(--footer-pad-x,16px);border-top:1px solid var(--border);background:var(--code-bg);color:var(--text);font-size:var(--footer-font-size,12px);z-index:2;border-radius:0 0 12px 12px;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;line-height:1.4;display:flex;position:relative;overflow:visible}.quap-playground .app-footer-left{flex:1;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.quap-playground .app-footer-item{white-space:nowrap}.quap-playground .app-footer-name{color:var(--text-h);font-weight:600}.quap-playground .app-footer-format-badge{border:1px solid var(--border);background:var(--bg);letter-spacing:.03em;color:var(--text-h);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:600}.quap-playground .app-footer-encoding{font-variant-numeric:tabular-nums;color:var(--text-h);opacity:.9;flex-shrink:0}.quap-playground .app-footer-separator{background:var(--border);flex-shrink:0;width:1px;height:12px}.quap-playground .app-footer-center{z-index:3;pointer-events:none;text-align:center;flex-direction:column;flex-shrink:0;justify-content:flex-end;align-items:center;gap:4px;max-width:min(420px,40vw);display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.quap-playground .app-footer-right{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.quap-playground .app-footer-select-label{font-size:var(--footer-font-size,12px);color:var(--text);white-space:nowrap;align-items:center;gap:5px;display:flex}.quap-playground .app-footer-select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-size:var(--footer-font-size,12px);border-radius:6px;max-width:120px;padding:2px 6px}.quap-playground .app-footer-select--language{max-width:160px}.quap-playground .app-footer-select:disabled{opacity:.6;cursor:not-allowed}.quap-playground .app-footer-duration{font-variant-numeric:tabular-nums;color:var(--text-h);opacity:.95;white-space:nowrap}.quap-playground .document-sidebar-label,.quap-playground .document-tab-label{align-items:center;min-width:0;display:inline-flex}.quap-playground .document-tab-title{min-width:0}.quap-playground .document-tab-title-inner{text-overflow:ellipsis;white-space:nowrap;vertical-align:top;max-width:100%;display:inline-block;overflow:hidden}@keyframes document-tab-title-marquee{0%,18%{transform:translate(0)}42%,52%{transform:translateX(calc(-1 * var(--tab-title-marquee-offset,0px)))}76%,to{transform:translate(0)}}.quap-playground .document-tab.active .document-tab-label{font-weight:600}.quap-playground .document-sidebar-pin svg,.quap-playground .document-tab-pin svg{display:block}.quap-playground .document-sidebar-pin,.quap-playground .document-tab-pin{color:var(--text);justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:inline-flex}.quap-playground .document-tab-close-btn{z-index:2;justify-content:center;align-items:center;width:24px;height:100%;display:inline-flex;position:relative}.quap-playground .document-tab.active .document-tab-close-btn{background:var(--editor-bg)}.quap-playground .document-tab-close-icon,.quap-playground .document-tab-dirty-dot{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.quap-playground .document-tab-dirty-dot{background:var(--tab-dirty);width:8px;height:8px;box-shadow:0 0 0 2px var(--tab-dirty);border-radius:50%;margin:auto}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-tab-dirty-dot{box-shadow:0 0 0 2px color-mix(in srgb,var(--tab-dirty) 22%,transparent)}}.quap-playground .document-tab-dirty-dot{flex-shrink:0}.quap-playground .document-tab-close-icon{opacity:.5;font-size:14px;line-height:1;transition:opacity .15s}.quap-playground .document-sidebar-item:not(.dirty) .document-tab-close-icon,.quap-playground .document-tab:not(.dirty) .document-tab-close-icon{visibility:visible}.quap-playground .document-sidebar-item:not(.dirty) .document-tab-dirty-dot,.quap-playground .document-tab:not(.dirty) .document-tab-dirty-dot{opacity:0;visibility:hidden}.quap-playground .document-sidebar-item.dirty .document-tab-dirty-dot,.quap-playground .document-tab.dirty .document-tab-dirty-dot{opacity:.85;visibility:visible}.quap-playground .document-sidebar-item.dirty .document-tab-close-icon,.quap-playground .document-tab.dirty .document-tab-close-icon{opacity:0;visibility:hidden}.quap-playground .document-sidebar-item.dirty.active .document-tab-dirty-dot,.quap-playground .document-tab.dirty .document-tab-close-btn,.quap-playground .document-tab.dirty.active .document-tab-dirty-dot{opacity:1}.quap-playground .document-sidebar-close.document-tab-close-btn:focus-visible .document-tab-close-icon,.quap-playground .document-sidebar-close.document-tab-close-btn:hover .document-tab-close-icon,.quap-playground .document-tab-close-btn:focus-visible .document-tab-close-icon,.quap-playground .document-tab-close-btn:hover .document-tab-close-icon{opacity:1;visibility:visible}.quap-playground .document-sidebar-close.document-tab-close-btn:focus-visible .document-tab-dirty-dot,.quap-playground .document-sidebar-close.document-tab-close-btn:hover .document-tab-dirty-dot,.quap-playground .document-tab-close-btn:focus-visible .document-tab-dirty-dot,.quap-playground .document-tab-close-btn:hover .document-tab-dirty-dot{opacity:0;visibility:hidden}.quap-playground .document-tab-bar{--tab-radius:8px;background:var(--tab-bar-bg);min-height:var(--tab-row-height,32px);z-index:1;flex-shrink:0;align-items:flex-end;gap:6px;padding:0 8px;display:flex;position:relative}.quap-playground .document-tab-bar:after{content:"";background:var(--border);pointer-events:none;z-index:0;height:1px;position:absolute;bottom:0;left:0;right:0}.quap-playground .document-tab-list{flex:1;align-items:flex-end;gap:0;min-width:0;display:flex;overflow:hidden}.quap-playground .document-tab-viewport{z-index:1;flex:1;align-items:flex-end;min-width:0;display:flex;position:relative;overflow:hidden}.quap-playground .document-tab-track{flex:1;align-items:flex-end;width:100%;min-width:0;display:flex}.quap-playground .document-tab-slot{z-index:1;flex:none;align-items:flex-end;min-width:0;display:inline-flex;position:relative}.quap-playground .document-tab{height:var(--tab-row-height);border-radius:var(--tab-radius) var(--tab-radius) 0 0;background:var(--tab-bar-bg);color:var(--text);z-index:1;box-sizing:border-box;border-bottom:none;align-items:stretch;gap:0;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:relative}.quap-playground .document-tab.active{background:var(--editor-bg);z-index:3;color:var(--text-h);border-bottom:none;margin-bottom:-1px;padding-bottom:1px}.quap-playground .document-tab-close-btn,.quap-playground .document-tab-pin{width:24px;height:100%;color:inherit;cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;padding:0;font-size:14px;line-height:1;transition:opacity .15s,color .15s}.quap-playground .document-tab-label{color:inherit;cursor:default;min-width:0;font-family:var(--sans);letter-spacing:-.006em;font-variant-numeric:tabular-nums;font-feature-settings:"cv11","ss01";font-size:12.5px;font-weight:450;line-height:var(--tab-row-height);touch-action:none;text-align:left;opacity:.66;background:0 0;border:none;flex:1;padding:0 6px;transition:opacity .15s,color .15s}.quap-playground .document-tab-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.quap-playground .document-tab:not(.active):hover:not(.dragging){background:var(--tab-inactive-hover-bg);border-color:var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-tab:not(.active):hover:not(.dragging){border-color:color-mix(in srgb,var(--text-h) 12%,var(--border))}}.quap-playground .document-tab:hover:not(.dragging) .document-tab-label,.quap-playground .document-tab:hover:not(.dragging) .document-tab-pin{opacity:1;color:var(--text-h)}.quap-playground .document-tab.active .document-tab-label,.quap-playground .document-tab.active .document-tab-pin{opacity:.88}.quap-playground .document-tab.active:hover:not(.dragging) .document-tab-label,.quap-playground .document-tab.active:hover:not(.dragging) .document-tab-pin{opacity:1}.quap-playground .document-tab-close-btn:focus-visible,.quap-playground .document-tab-close-btn:hover{opacity:1;color:var(--text-h)}.quap-playground .document-tab-new{width:44px;height:var(--tab-row-height,36px);border:1px solid var(--border);border-radius:var(--tab-radius,8px) var(--tab-radius,8px) 0 0;background:var(--tab-bar-bg);color:var(--text);opacity:.65;cursor:pointer;z-index:1;flex-shrink:0;margin-bottom:0;font-size:22px;line-height:1;transition:opacity .15s,color .15s;position:relative}.quap-playground .document-tab-new:hover{opacity:1;color:var(--text-h);background:var(--tab-inactive-hover-bg)}@keyframes update-progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.quap-playground .usage-tips-bar{box-sizing:border-box;min-height:var(--usage-tips-band-height,36px);padding:4px var(--footer-pad-x,16px);border-top:1px solid var(--border);background:var(--accent,#3b82f6);flex-shrink:0;grid-template-columns:auto minmax(0,1fr) 200px minmax(0,1fr) auto;align-items:center;column-gap:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.quap-playground .usage-tips-bar{background:color-mix(in srgb,var(--accent,#3b82f6) 8%,var(--bg))}}.quap-playground .usage-tips-bar{color:var(--text);font-size:12px;line-height:1.35}.quap-playground .usage-tips-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-h);opacity:.75;flex-shrink:0;font-size:10px;font-weight:650}.quap-playground .usage-tips-dock-gap{justify-self:center;width:200px}.quap-playground .usage-tips-text{text-overflow:ellipsis;white-space:nowrap;opacity:0;min-width:0;margin:0;transition:opacity .28s,transform .28s;overflow:hidden;transform:translateY(4px)}.quap-playground .usage-tips-text.is-visible{opacity:.92;transform:translateY(0)}.quap-playground .usage-tips-dismiss{width:22px;height:22px;color:var(--text-h);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:6px;flex-shrink:0;grid-column:5;padding:0;font-size:16px;line-height:1}.quap-playground .usage-tips-dismiss:hover{opacity:1;background:var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground .usage-tips-dismiss:hover{background:color-mix(in srgb,var(--text-h) 8%,transparent)}}.quap-playground .app-titlebar{z-index:1400;background:var(--code-bg);flex-shrink:0;grid-template-columns:minmax(max-content,1fr) minmax(160px,480px) minmax(max-content,1fr);align-items:center;gap:8px;height:38px;padding:0 8px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.quap-playground .app-titlebar{background:color-mix(in srgb,var(--code-bg) 88%,var(--bg))}}.quap-playground .app-titlebar{border-bottom:1px solid var(--border);color:var(--text);-webkit-user-select:none;border-radius:12px 12px 0 0}.quap-playground .app-titlebar-center,.quap-playground .app-titlebar-controls{z-index:1;pointer-events:none;align-items:center;min-width:0;height:100%;display:flex;position:relative}.quap-playground .app-titlebar-controls--start{justify-content:flex-start;gap:8px;padding-left:4px}.quap-playground .app-titlebar-controls--mac{gap:8px;padding-left:6px}.quap-playground .app-titlebar-nav{align-items:center;gap:2px;margin-left:4px;display:flex}.quap-playground .app-titlebar-nav-btn{width:26px;height:22px;color:var(--text-h);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;margin:0;padding:0;font-size:13px;line-height:1;display:inline-flex}.quap-playground .app-titlebar-nav-btn svg{width:14px;height:14px;display:block}.quap-playground .app-titlebar-nav-btn:hover:not(:disabled){border-color:var(--border);background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .app-titlebar-nav-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent,#3b82f6) 10%,var(--bg))}}.quap-playground .app-titlebar-nav-btn:disabled{opacity:.35;cursor:default}.quap-playground .app-titlebar-controls--end{justify-content:flex-end;gap:4px}.quap-playground .app-titlebar-center{justify-content:center}.quap-playground .app-titlebar-center>*,.quap-playground .app-titlebar-controls>*,.quap-playground .app-titlebar-traffic-group>*{pointer-events:auto}.quap-playground .app-titlebar-actions{align-items:center;gap:2px;display:flex}.quap-playground .app-titlebar-action-btn{width:28px;height:26px;color:var(--text-h);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.quap-playground .app-titlebar-action-btn svg{width:14px;height:14px;display:block}.quap-playground .app-titlebar-action-btn:hover:not(:disabled){border-color:var(--border);background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .app-titlebar-action-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent,#3b82f6) 10%,var(--bg))}}.quap-playground .app-titlebar-action-btn:disabled{opacity:.35;cursor:default}.quap-playground .app-titlebar-traffic-group{pointer-events:auto;flex-shrink:0;align-items:center;gap:8px;display:flex}.quap-playground .app-titlebar-traffic{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;padding:0;display:inline-flex;position:relative}.quap-playground .app-titlebar-traffic--close{background:#ff5f57}.quap-playground .app-titlebar-traffic--minimize{background:#febc2e}.quap-playground .app-titlebar-traffic--maximize{background:#28c840}.quap-playground .app-titlebar-traffic-glyph{color:#0000008c;opacity:0;pointer-events:none;font-size:9px;font-weight:700;line-height:1;transition:opacity .12s,transform .12s;transform:scale(.85)}.quap-playground .app-titlebar-traffic-group:hover .app-titlebar-traffic-glyph,.quap-playground .app-titlebar-traffic:focus-visible .app-titlebar-traffic-glyph{opacity:1;transform:scale(1)}.quap-playground .app-titlebar-traffic:hover{filter:brightness(.92)}.quap-playground .app-titlebar-palette-trigger{border:1px solid var(--border);background:var(--bg);width:100%;max-width:480px;height:26px;color:var(--text);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;cursor:text;text-align:left;border-radius:5px;align-items:center;gap:8px;margin:0;padding:0 10px;font-family:inherit;display:flex}.quap-playground .app-titlebar-palette-trigger:hover{border-color:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .app-titlebar-palette-trigger:hover{border-color:color-mix(in srgb,var(--accent,#3b82f6) 40%,var(--border))}}.quap-playground .app-titlebar-palette-trigger-label{text-overflow:ellipsis;white-space:nowrap;opacity:.65;flex:1;min-width:0;font-size:12px;overflow:hidden}.quap-playground .app-titlebar-palette-trigger-label--doc{color:var(--text-h);opacity:.9;font-weight:500}.quap-playground .app-titlebar-palette-trigger-chord{border:1px solid var(--border);background:var(--code-bg);font-family:var(--mono);opacity:.7;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;line-height:1.2}.quap-playground .app-titlebar-mode{align-items:center;margin-left:8px;display:flex}.quap-playground .mcp-toggle{align-items:center;gap:2px;margin-right:4px;display:inline-flex}.quap-playground .mcp-toggle-btn{border:1px solid var(--border);height:22px;color:var(--text);letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:600;transition:border-color .12s,background-color .12s,color .12s;display:inline-flex}.quap-playground .mcp-toggle-btn:hover:not(:disabled){border-color:var(--accent-border);color:var(--text-h)}.quap-playground .mcp-toggle-btn.is-on{border-color:#28c840}@supports (color:color-mix(in lab,red,red)){.quap-playground .mcp-toggle-btn.is-on{border-color:color-mix(in srgb,#28c840 55%,var(--border))}}.quap-playground .mcp-toggle-btn.is-on{color:var(--text-h);background:#28c8401f}.quap-playground .mcp-toggle-btn:focus-visible,.quap-playground .mcp-toggle-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quap-playground .mcp-toggle-dot{background:var(--text);opacity:.45;border-radius:50%;width:7px;height:7px}.quap-playground .mcp-toggle-btn.is-on .mcp-toggle-dot{opacity:1;background:#28c840;box-shadow:0 0 0 2px #28c84040}.quap-playground .mcp-toggle-copy{width:22px;height:22px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:12px}.quap-playground .mcp-toggle-copy:hover{background:var(--accent-bg);color:var(--text-h)}.quap-playground.app-layout{background:var(--bg);height:100vh;color:var(--text);flex-direction:column;min-width:400px;display:flex}.quap-playground .app-bottom-chrome{--usage-tips-band-height:36px;--dock-rest-y:-6px;--dock-hover-y:var(--dock-rest-y);flex-shrink:0;position:relative;overflow:hidden}.quap-playground .app-bottom-chrome:has(>.usage-tips-bar){--dock-hover-y:calc(-1 * var(--usage-tips-band-height))}.quap-playground.app-layout .cm-content,.quap-playground.app-layout .cm-content *,.quap-playground.app-layout [contenteditable=true],.quap-playground.app-layout input,.quap-playground.app-layout select,.quap-playground.app-layout textarea{-webkit-user-select:text}.quap-playground.app-layout .cm-gutterElement,.quap-playground.app-layout .cm-gutters,.quap-playground.app-layout .cm-gutters *{-webkit-user-select:none}.quap-playground .app-main,.quap-playground .app-panels{flex:1;min-width:0;min-height:0;display:flex}.quap-playground .panel{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.quap-playground .panel--editor{background:var(--editor-bg)}.quap-playground .panel--editor .panel-body{background:var(--editor-bg);position:relative}.quap-playground .panel-body{background:var(--editor-bg);flex:1;min-height:0;overflow:hidden}.quap-playground .panel:last-child .panel-body{background:var(--bg)}.quap-playground .analysis-select{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;border-radius:6px;padding:3px 6px;font-family:inherit}.quap-playground .analysis-spacer{flex:1}.quap-playground .analysis-panel{background:var(--bg);height:100%;min-height:0;color:var(--text-h);font-size:var(--chrome-font-size,12px);flex-direction:column;display:flex}.quap-playground .analysis-form{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.quap-playground .analysis-form-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.quap-playground .analysis-form-label{min-width:72px;color:var(--text)}.quap-playground .analysis-form-group{background:var(--code-bg);border-radius:6px;align-items:center;gap:4px;padding:2px 4px;display:inline-flex}.quap-playground .analysis-form input{border:1px solid var(--border);background:var(--bg);width:140px;color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;border-radius:6px;padding:3px 6px;font-family:inherit}.quap-playground .analysis-form input.analysis-form-narrow{width:90px}.quap-playground .app-titlebar--palette{z-index:1400}.quap-playground .command-palette-backdrop{z-index:1300;background:var(--bg);justify-content:center;align-items:flex-start;padding:12vh 16px 24px;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .command-palette-backdrop{background:color-mix(in srgb,var(--bg) 35%,#00000073)}}.quap-playground .command-palette-backdrop--embedded{z-index:1390;background:var(--bg);padding:0;display:block;top:38px}@supports (color:color-mix(in lab,red,red)){.quap-playground .command-palette-backdrop--embedded{background:color-mix(in srgb,var(--bg) 45%,#00000052)}}.quap-playground .command-palette{background:var(--code-bg);border:1px solid var(--border);width:min(560px,100%);min-height:0;max-height:min(420px,70vh);color:var(--text);border-radius:6px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 40px #00000047}.quap-playground .command-palette--embedded{z-index:1401;width:100%;max-height:none;box-shadow:none;background:0 0;border:none;border-radius:0;position:relative;overflow:visible}.quap-playground .command-palette-input-row{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.quap-playground .command-palette--embedded .command-palette-input-row{border-bottom:none;padding:0}.quap-playground .command-palette-input{border:1px solid var(--border);background:var(--bg);min-width:0;height:32px;color:var(--text-h);font-family:var(--mono);border-radius:4px;flex:1;padding:0 10px;font-size:13px}.quap-playground .command-palette--embedded .command-palette-input{border-radius:5px;height:26px;font-size:12px}.quap-playground .command-palette-input:focus{border-color:var(--accent,#3b82f6);outline:none}@supports (color:color-mix(in lab,red,red)){.quap-playground .command-palette-input:focus{border-color:color-mix(in srgb,var(--accent,#3b82f6) 55%,var(--border))}}.quap-playground .command-palette-input:focus{box-shadow:0 0 0 1px var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .command-palette-input:focus{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#3b82f6) 25%,transparent)}}.quap-playground .command-palette-chord{border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--mono);opacity:.7;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:10px;line-height:1.2}.quap-playground .command-palette--embedded .command-palette-chord{display:none}.quap-playground .command-palette-list{flex:1;min-height:0;padding:4px;overflow:auto}.quap-playground .command-palette--embedded .command-palette-list{z-index:1402;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;width:min(560px,100vw - 24px);max-height:min(360px,50vh);position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000047}.quap-playground .command-palette-item{width:100%;color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;grid-template-columns:minmax(64px,auto) 1fr auto;align-items:center;gap:10px;margin:0;padding:7px 10px;font-family:inherit;display:grid}.quap-playground .command-palette-item--selected,.quap-playground .command-palette-item:hover{background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .command-palette-item--selected,.quap-playground .command-palette-item:hover{background:color-mix(in srgb,var(--accent,#3b82f6) 14%,var(--bg))}}.quap-playground .command-palette-item--disabled{opacity:.45;cursor:default}.quap-playground .command-palette-item-category{letter-spacing:.02em;text-transform:uppercase;color:var(--text);opacity:.7;white-space:nowrap;font-size:10px;font-weight:600}.quap-playground .command-palette-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.quap-playground .command-palette-item-shortcut{border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--mono);opacity:.75;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;line-height:1.3}.quap-playground .editor-find-bar{border-top:1px solid var(--border);background:var(--code-bg);border-bottom:none;flex-direction:row;align-items:stretch;gap:4px;padding:6px 10px 8px;display:flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-bar{background:color-mix(in srgb,var(--code-bg) 92%,var(--bg))}}.quap-playground .editor-find-bar{z-index:6;box-shadow:0 -1px 0 var(--border);flex:none;position:relative}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-bar{box-shadow:0 -1px 0 color-mix(in srgb,var(--border) 80%,transparent)}}.quap-playground .editor-find-expand{width:22px;min-height:26px;color:var(--text-muted,#888);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:flex-start;padding:6px 0 0;display:inline-flex}.quap-playground .editor-find-expand.is-open,.quap-playground .editor-find-expand:hover{color:var(--text-h);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-expand.is-open,.quap-playground .editor-find-expand:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .editor-find-expand.is-open,.quap-playground .editor-find-expand:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-expand.is-open,.quap-playground .editor-find-expand:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}}.quap-playground .editor-find-expand-icon{font-size:9px;line-height:1;transition:transform .12s;display:inline-block}.quap-playground .editor-find-expand.is-open .editor-find-expand-icon{transform:rotate(180deg)}.quap-playground .editor-find-expand:not(.is-open) .editor-find-expand-icon{transform:none}.quap-playground .editor-find-fields{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.quap-playground .editor-find-row{align-items:center;gap:4px;min-width:0;display:flex}.quap-playground .editor-find-row--replace{padding-left:0}.quap-playground .editor-find-swap{border:1px solid var(--border);background:var(--bg);width:26px;color:var(--text-h);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.quap-playground .editor-find-swap:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-swap:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}}.quap-playground .editor-find-swap:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-swap:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .editor-find-input{border:1px solid var(--border);background:var(--bg);min-width:100px;height:26px;color:var(--text);font-family:var(--mono);border-radius:3px;flex:1;padding:0 8px;font-size:12px}.quap-playground .editor-find-input:focus{border-color:var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}}.quap-playground .editor-find-btn{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text-h);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:11px;line-height:1;display:inline-flex}.quap-playground .editor-find-btn.is-active,.quap-playground .editor-find-btn:hover:not(:disabled){border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-btn.is-active,.quap-playground .editor-find-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}}.quap-playground .editor-find-btn.is-active,.quap-playground .editor-find-btn:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-btn.is-active,.quap-playground .editor-find-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .editor-find-btn:disabled{opacity:.45;cursor:default}.quap-playground .editor-find-btn--close{margin-left:2px;font-size:16px}.quap-playground .editor-find-action{border:1px solid var(--border);background:var(--bg);height:26px;color:var(--text-h);cursor:pointer;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:0 10px;font-size:11px}.quap-playground .editor-find-action:hover:not(:disabled){border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-action:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}}.quap-playground .editor-find-action:hover:not(:disabled){background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .editor-find-action:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .editor-find-action:disabled{opacity:.45;cursor:default}.quap-playground .preview-toolbar-group{flex:none;align-items:center;gap:4px;display:inline-flex}.quap-playground .preview-toolbar-font-size{text-align:center;min-width:38px;color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.quap-playground .preview-toolbar-expand-group{flex-direction:column;align-items:stretch;gap:3px;min-width:28px;display:flex}.quap-playground .preview-panel--graph{overflow:hidden}.quap-playground .react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.quap-playground .react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.quap-playground .react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.quap-playground .react-flow__pane{z-index:1;touch-action:none}.quap-playground .react-flow__pane.draggable{cursor:grab}.quap-playground .react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.quap-playground .react-flow__renderer{z-index:4}.quap-playground .react-flow .react-flow__edges{position:absolute}.quap-playground .react-flow__nodes{pointer-events:none;transform-origin:0 0}.quap-playground .react-flow__node{-webkit-user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.quap-playground .react-flow__node.selectable{cursor:pointer}.quap-playground .react-flow__panel{z-index:5;margin:15px;position:absolute}.quap-playground .react-flow__panel.bottom{bottom:0}.quap-playground .react-flow__panel.left{left:0}.quap-playground .react-flow__panel.right{right:0}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.quap-playground .react-flow__edgelabel-renderer{pointer-events:none}.quap-playground .react-flow__edgelabel-renderer,.quap-playground .react-flow__viewport-portal{-webkit-user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.quap-playground .react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.quap-playground .react-flow__minimap-svg{display:block}.quap-playground .react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.quap-playground .react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.quap-playground .react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.quap-playground .react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.quap-playground .react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.quap-playground .react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.quap-playground .react-flow__node.selectable:focus,.quap-playground .react-flow__node.selectable:focus-visible{outline:none}.quap-playground .react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.quap-playground .react-flow__controls-button:disabled{pointer-events:none}.quap-playground .react-flow__controls-button:disabled svg{fill-opacity:.4}.quap-playground .react-flow__controls-button:last-child{border-bottom:none}.quap-playground .graph-node-shell{background:var(--bg);border:1px solid var(--border);font-family:var(--mono);font-size:var(--tree-font-size,12px);border-radius:10px;transition:border-color .15s,box-shadow .15s;box-shadow:0 2px 12px #00000014}.quap-playground .graph-node-shell:hover{border-color:var(--accent-border);box-shadow:0 4px 16px #0000001f}.quap-playground .graph-array-node{flex-direction:column;display:flex;position:relative}.quap-playground .graph-array-header{background:var(--preview-json-type-array);align-items:center;gap:6px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .graph-array-header{background:color-mix(in srgb,var(--preview-json-type-array) 12%,transparent)}}.quap-playground .graph-array-header{border-bottom:1px solid var(--border)}.quap-playground .graph-array-header--expandable{cursor:pointer}.quap-playground .graph-array-header--expandable:hover{background:var(--preview-json-type-array)}@supports (color:color-mix(in lab,red,red)){.quap-playground .graph-array-header--expandable:hover{background:color-mix(in srgb,var(--preview-json-type-array) 20%,transparent)}}.quap-playground .graph-array-type{text-transform:uppercase;color:var(--preview-json-type-array);flex-shrink:0;font-size:.833em;font-weight:700}.quap-playground .graph-array-title{color:var(--preview-json-property);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:1em;font-weight:600;overflow:hidden}.quap-playground .graph-object-property{border-bottom:1px solid var(--border);align-items:center;min-height:40px;padding:0 12px;display:flex;position:relative}.quap-playground .graph-object-property:last-child{border-bottom:none}.quap-playground .graph-object-property-content{flex:1;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.quap-playground .graph-property-key{color:var(--preview-json-property);font-weight:600}.quap-playground .graph-property-colon{color:var(--text)}.quap-playground .graph-value-container,.quap-playground .graph-value-element,.quap-playground .graph-value-object{color:var(--preview-json-type-object);font-weight:500}.quap-playground .graph-object-node{min-width:200px}.quap-playground .graph-object-header{background:var(--preview-json-type-object);align-items:center;gap:6px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .graph-object-header{background:color-mix(in srgb,var(--preview-json-type-object) 12%,transparent)}}.quap-playground .graph-object-header{border-bottom:1px solid var(--border)}.quap-playground .graph-object-header--expandable{cursor:pointer}.quap-playground .graph-object-header--expandable:hover{background:var(--preview-json-type-object)}@supports (color:color-mix(in lab,red,red)){.quap-playground .graph-object-header--expandable:hover{background:color-mix(in srgb,var(--preview-json-type-object) 20%,transparent)}}.quap-playground .graph-expand-btn{color:var(--text-h);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:18px;padding:0;font-size:.833em}.quap-playground .graph-object-type{text-transform:uppercase;color:var(--preview-json-type-object);flex-shrink:0;font-size:.833em;font-weight:700}.quap-playground .graph-object-title{color:var(--preview-json-property);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.quap-playground .graph-object-body{overflow:hidden}.quap-playground .json-graph-view{background:var(--code-bg);width:100%;height:100%;min-height:320px;font-size:var(--tree-font-size,12px);position:relative}.quap-playground .json-graph-view .react-flow{background:var(--code-bg)}.quap-playground .json-graph-stats{z-index:10;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:4px 8px;font-size:11px;position:absolute;bottom:8px;left:8px}.quap-playground .json-graph-view .react-flow__controls{border:1px solid var(--border);box-shadow:none;border-radius:8px;overflow:hidden}.quap-playground .json-graph-view .react-flow__controls-button{background:var(--bg);border-bottom:1px solid var(--border);fill:var(--text-h)}.quap-playground .json-graph-view .react-flow__minimap{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--code-bg)!important}.quap-playground .json-graph-view .react-flow__minimap-svg{background:var(--code-bg)}.quap-playground .json-graph-view .react-flow__minimap-mask{fill:var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground .json-graph-view .react-flow__minimap-mask{fill:color-mix(in srgb,var(--text-h) 14%,transparent)}}.quap-playground .json-graph-markers{width:0;height:0;position:absolute;overflow:hidden}.quap-playground .preview-panel--table{padding:0;overflow:hidden}.quap-playground .document-table-header{z-index:2;position:sticky;top:0}.quap-playground .document-table-header-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0;position:relative}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-header-cell{border-right:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.quap-playground .document-table-header-cell{background:var(--code-bg);text-align:left}.quap-playground .document-table-col-resizer{z-index:3;cursor:col-resize;touch-action:none;width:7px;height:100%;position:absolute;top:0;right:-3px}.quap-playground .document-table-col-resizer:after{content:"";background:0 0;border-radius:1px;width:2px;position:absolute;top:20%;bottom:20%;left:50%;transform:translate(-50%)}.quap-playground .document-table-col-resizer:hover:after,.quap-playground .document-table-header-cell:hover .document-table-col-resizer:after{background:var(--accent-border)}.quap-playground body.document-table-col-resizing{cursor:col-resize!important}.quap-playground body.document-table-col-resizing iframe{pointer-events:none}.quap-playground .document-table-header-inner{align-items:center;gap:4px;min-width:0;padding:6px 8px;display:flex;overflow:hidden}.quap-playground .document-table-header-sort{text-align:left;cursor:pointer;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;margin:0;padding:0;display:flex}.quap-playground .document-table-header-sort:hover .document-table-header-label{color:var(--accent)}.quap-playground .document-table-header-label{font-size:var(--tree-font-size,12px);color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.quap-playground .document-table-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.quap-playground .document-table-filter-btn,.quap-playground .document-table-search-btn{width:28px;height:28px;color:var(--text);cursor:pointer;opacity:.7;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.quap-playground .document-table-filter-btn{font-size:16px}.quap-playground .document-table-search-btn{font-size:13px}.quap-playground .document-table-filter-btn--active,.quap-playground .document-table-filter-btn:hover,.quap-playground .document-table-search-btn--active,.quap-playground .document-table-search-btn:hover{opacity:1;border-color:var(--border);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-filter-btn--active,.quap-playground .document-table-filter-btn:hover,.quap-playground .document-table-search-btn--active,.quap-playground .document-table-search-btn:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .document-table-cell--row-number,.quap-playground .document-table-header-cell--row-number{text-align:center;width:44px;max-width:44px}.quap-playground .document-table-row-number{color:var(--text);opacity:.55;font-variant-numeric:tabular-nums;padding:6px 4px;font-size:10px;display:block}.quap-playground .document-table-toolbar{border-bottom:1px solid var(--border);background:var(--bg);flex-direction:column;gap:4px;padding:6px 12px;display:flex}.quap-playground .document-table-toolbar-top{align-items:center;gap:8px;min-width:0;display:flex}.quap-playground .document-table-breadcrumb{flex-wrap:wrap;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.quap-playground .document-table-crumb-wrap{align-items:center;gap:2px;min-width:0;display:inline-flex}.quap-playground .document-table-crumb{color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:4px;max-width:180px;padding:2px 4px;font-size:11px;overflow:hidden}.quap-playground .document-table-crumb--active{color:var(--text-h);cursor:default;font-weight:600}.quap-playground .document-table-crumb:not(:disabled):hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-crumb:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}}.quap-playground .document-table-cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-cell{border-right:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.quap-playground .document-table-cell{vertical-align:middle;max-width:0;overflow:hidden}.quap-playground .document-table-badge{border:1px solid var(--border);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:999px;margin:4px 6px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.quap-playground .document-table-badge--composite{color:var(--preview-json-type-object);border-color:var(--preview-json-type-object)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-badge--composite{border-color:color-mix(in srgb,var(--preview-json-type-object) 45%,var(--border))}}.quap-playground .document-table-badge--collection{color:var(--preview-json-type-array);border-color:var(--preview-json-type-array)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-badge--collection{border-color:color-mix(in srgb,var(--preview-json-type-array) 45%,var(--border))}}.quap-playground .document-table-badge:hover{filter:brightness(1.05)}.quap-playground .document-table-body-scroll{flex:1;min-height:0;overflow:auto}.quap-playground .document-table-main{overflow:hidden}.quap-playground .document-table-grid{border-collapse:collapse;table-layout:fixed;width:100%}.quap-playground .document-table-row:nth-child(2n){background:var(--code-bg)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-table-row:nth-child(2n){background:color-mix(in srgb,var(--code-bg) 35%,var(--bg))}}.quap-playground .document-table-view{background:var(--bg);flex-direction:column;height:100%;min-height:0;display:flex}.quap-playground .document-table-main{flex-direction:column;flex:1;min-height:0;display:flex}.quap-playground .document-table-header-scroll{flex-shrink:0;min-width:0;overflow:hidden}.quap-playground .document-table-body-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.quap-playground .document-table-grid--header{border-collapse:collapse;table-layout:fixed;width:100%}.quap-playground .preview-panel--stats{padding:0;overflow:auto}.quap-playground .document-stats-view{height:100%;color:var(--text);padding:12px 16px;overflow:auto}.quap-playground .document-stats-grid{border:1px solid var(--border);background:var(--bg);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0;display:grid;overflow:hidden}.quap-playground .document-stats-row{border-bottom:1px solid var(--border);border-right:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;min-height:34px;padding:8px 12px;display:flex}.quap-playground .document-stats-row:nth-last-child(-n+1){border-bottom:none}.quap-playground .document-stats-label{color:var(--text);opacity:.85;font-size:12px}.quap-playground .document-stats-value{font-variant-numeric:tabular-nums;color:var(--text-h);text-align:right;font-size:12px}.quap-playground .preview-json-property{color:var(--preview-json-property)}.quap-playground .preview-json-type-array{color:var(--preview-json-type-array)}.quap-playground .json-tree-scope{color:var(--json-tree-scope)}.quap-playground .json-tree{font-family:var(--mono);font-size:var(--tree-font-size,13px);text-align:left;line-height:1.6}.quap-playground .json-tree-virtual{box-sizing:border-box;flex:1;height:100%;min-height:0;padding:12px 16px;position:relative;overflow:auto}.quap-playground .json-tree-virtual-spacer{width:100%;position:relative}.quap-playground .json-tree-virtual-window{will-change:transform;position:absolute;top:0;left:0;right:0}.quap-playground .json-tree-virtual-item{overflow:visible}.quap-playground .tree-node,.quap-playground .tree-row-shell,.quap-playground .tree-virtual-row{box-sizing:border-box;height:100%}.quap-playground .tree-node{white-space:nowrap;align-items:center;gap:4px;min-width:0;display:flex}.quap-playground .tree-node--jumpable{cursor:pointer}.quap-playground .tree-node--jumpable:hover>.tree-node{background:var(--accent-bg,#0000000a)}@supports (color:color-mix(in lab,red,red)){.quap-playground .tree-node--jumpable:hover>.tree-node{background:color-mix(in srgb,var(--accent-bg,#0000000a) 55%,transparent)}}.quap-playground .tree-node--jumpable:hover>.tree-node{border-radius:3px}.quap-playground .tree-node-expandable{align-items:center}.quap-playground .tree-toggle{width:18px;height:18px;color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:10px;line-height:1}.quap-playground .tree-toggle:hover{color:var(--text-h)}.quap-playground .tree-key{font-weight:600}.quap-playground .tree-colon{color:var(--text)}.quap-playground .tree-bracket,.quap-playground .tree-value{font-weight:500}.quap-playground .tree-bracket.json-tree-scope{color:var(--json-tree-scope)}.quap-playground .tree-meta{color:var(--text);font-size:12px;font-style:italic}.quap-playground .tree-property-target{align-items:center;gap:0;min-width:0;display:inline-flex}.quap-playground .tree-copy-target,.quap-playground .tree-property-target{border-radius:3px;margin:0 -2px;padding:0 2px;transition:background .12s,box-shadow .12s}.quap-playground .tree-row-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:4px;display:inline-flex}.quap-playground .tree-row-action{width:18px;height:18px;color:var(--text);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .12s,background .12s;display:inline-flex;position:relative}.quap-playground .tree-node:hover .tree-row-action,.quap-playground .tree-row-action--done,.quap-playground .tree-row-action:focus-visible{opacity:1;visibility:visible;pointer-events:auto}.quap-playground .json-tree:has(.tree-node:hover) .tree-row-action{opacity:0;visibility:hidden;pointer-events:none}.quap-playground .json-tree:has(.tree-node:hover) .tree-node:hover .tree-row-action{opacity:1;visibility:visible;pointer-events:auto}.quap-playground .tree-row-action:focus-visible,.quap-playground .tree-row-action:hover{color:var(--text-h);background:var(--accent-bg)}.quap-playground .tree-row-action--danger:focus-visible,.quap-playground .tree-row-action--danger:hover{color:var(--error,#c0392b);background:var(--error,#c0392b)}@supports (color:color-mix(in lab,red,red)){.quap-playground .tree-row-action--danger:focus-visible,.quap-playground .tree-row-action--danger:hover{background:color-mix(in srgb,var(--error,#c0392b) 12%,transparent)}}.quap-playground .tree-row-action[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--border);background:var(--code-bg,var(--bg));color:var(--text-h);font-family:var(--sans,inherit);white-space:nowrap;opacity:0;pointer-events:none;z-index:20;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;line-height:1.2;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.quap-playground .tree-row-action:focus-visible[data-tooltip]:after,.quap-playground .tree-row-action:hover[data-tooltip]:after{opacity:1}.quap-playground .preview-panel--tree{flex-direction:column;padding:0;display:flex;overflow:hidden}.quap-playground h1,.quap-playground h2{font-family:var(--heading);color:var(--text-h);font-weight:500}@keyframes settings-json-pulse{0%{background:color-mix(in srgb,var(--accent) 48%,transparent)}to{background:color-mix(in srgb,var(--accent) 14%,transparent)}}.quap-playground .settings-shortcuts-grid{gap:16px;display:grid}.quap-playground .settings-shortcuts-group h4{color:var(--text-h);margin:0 0 8px;font-size:12px;font-weight:600}.quap-playground .settings-shortcuts-table{border-collapse:collapse;width:100%;font-size:12px}.quap-playground .settings-shortcuts-table td,.quap-playground .settings-shortcuts-table th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 0}.quap-playground .settings-shortcuts-table th{color:var(--text);padding-right:12px;font-weight:500}.quap-playground .settings-shortcuts-table td{white-space:nowrap;text-align:right;width:1%}.quap-playground .settings-shortcuts-table kbd{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);font-family:var(--mono);border-radius:6px;padding:2px 8px;font-size:11px;line-height:1.5;display:inline-block}.quap-playground .settings-overlay{z-index:10000;background:#08060d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.quap-playground .settings-panel{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;width:min(920px,96vw);height:min(88vh,820px);max-height:min(88vh,820px);transition:width .2s;display:flex;overflow:hidden;box-shadow:0 24px 48px #0000002e}.quap-playground .settings-footer,.quap-playground .settings-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.quap-playground .settings-footer{border-bottom:none;border-top:1px solid var(--border)}.quap-playground .settings-header h2{margin:0;font-size:18px}.quap-playground .settings-close{width:32px;height:32px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:22px;line-height:1}.quap-playground .settings-close:hover{background:var(--code-bg)}.quap-playground .settings-main{flex:1;grid-template-columns:168px minmax(0,1fr) 28px;grid-template-areas:"nav body toggle";min-height:0;display:grid;position:relative;overflow:hidden}.quap-playground .settings-nav{border-right:1px solid var(--border);background:var(--code-bg);flex-direction:column;grid-area:nav;gap:2px;padding:12px 10px;display:flex;overflow:auto}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-nav{background:color-mix(in srgb,var(--code-bg) 55%,transparent)}}.quap-playground .settings-nav-item{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 10px;font-size:13px;display:block}.quap-playground .settings-nav-item:hover{background:var(--code-bg);color:var(--text-h)}.quap-playground .settings-nav-item.is-active{background:var(--accent-bg);color:var(--text-h);border:1px solid var(--accent-border)}.quap-playground .settings-body{flex-direction:column;grid-area:body;gap:14px;min-width:0;padding:14px 16px 28px;display:flex;overflow:auto}.quap-playground .settings-section{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;padding:16px 16px 14px}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-section{background:color-mix(in srgb,var(--code-bg) 40%,var(--bg))}}.quap-playground .settings-section{box-shadow:inset 0 1px 0 var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-section{box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text-h) 4%,transparent)}}.quap-playground .settings-section h3{border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--text-h);margin:0 0 14px;padding-bottom:10px;font-size:13px;font-weight:650}.quap-playground .settings-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.quap-playground .settings-section-head h3{border-bottom:none;margin:0;padding-bottom:0}.quap-playground .settings-field{color:var(--text-h);flex-direction:column;gap:6px;margin-bottom:12px;font-size:13px;display:flex}.quap-playground .settings-field input[type=range],.quap-playground .settings-field select{width:100%}.quap-playground .settings-accent-swatches{flex-wrap:wrap;gap:8px;display:flex}.quap-playground .settings-accent-swatch{background:var(--swatch,var(--accent));border:2px solid #0000;border-radius:10px;width:44px;height:44px;margin:0;padding:3px}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-accent-swatch{background:color-mix(in srgb,var(--swatch,var(--accent)) 18%,var(--bg))}}.quap-playground .settings-accent-swatch{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.quap-playground .settings-accent-swatch:hover{border-color:var(--swatch,var(--accent))}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-accent-swatch:hover{border-color:color-mix(in srgb,var(--swatch,var(--accent)) 55%,var(--border))}}.quap-playground .settings-accent-swatch.is-selected{border-color:var(--swatch,var(--accent));box-shadow:0 0 0 1px var(--swatch,var(--accent))}@supports (color:color-mix(in lab,red,red)){.quap-playground .settings-accent-swatch.is-selected{box-shadow:0 0 0 1px color-mix(in srgb,var(--swatch,var(--accent)) 35%,transparent)}}.quap-playground .settings-accent-swatch-icon{pointer-events:none;object-fit:cover;border-radius:8px;width:34px;height:34px;display:block}.quap-playground .settings-field input[type=password],.quap-playground .settings-field input[type=text],.quap-playground .settings-field input[type=url]{box-sizing:border-box;border:1px solid var(--border,#d1d5db);background:var(--bg,#fff);width:100%;min-height:30px;color:inherit;border-radius:6px;padding:4px 8px}.quap-playground .settings-field select{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);border-radius:8px;padding:8px 10px;font-size:13px}.quap-playground .settings-checkbox{flex-direction:row;align-items:center;gap:8px}.quap-playground .settings-checkbox input{width:auto}.quap-playground .settings-hint{color:var(--text-muted,var(--text));opacity:.85;margin:-4px 0 12px;font-size:12px;line-height:1.45}.quap-playground .settings-privacy-note{margin-bottom:8px}.quap-playground .settings-privacy-bullets{color:var(--text-muted,var(--text));opacity:.85;margin:0 0 16px;padding-left:1.2em;font-size:12px;line-height:1.45}.quap-playground .settings-privacy-bullets li{margin-bottom:4px}.quap-playground .settings-done,.quap-playground .settings-link-btn,.quap-playground .settings-reset-all{border:1px solid var(--border);background:var(--code-bg);color:var(--text-h);cursor:pointer;border-radius:8px;font-size:13px}.quap-playground .settings-link-btn{padding:4px 8px}.quap-playground .settings-color-grid{gap:10px;display:grid}.quap-playground .settings-color-item{flex-direction:column;gap:6px;display:flex}.quap-playground .settings-color-label{color:var(--text-h);justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.quap-playground .settings-color-inputs{grid-template-columns:40px 1fr auto;align-items:center;gap:8px;display:grid}.quap-playground .settings-color-hex{border:1px solid var(--border);background:var(--editor-bg);color:var(--text-h);font-family:var(--mono);border-radius:8px;padding:6px 8px;font-size:12px}.quap-playground .settings-color-sample{font-family:var(--mono);text-align:center;width:28px;font-size:18px;font-weight:700}.quap-playground .settings-json-toggle{z-index:2;border:1px solid var(--border);background:var(--bg);width:28px;height:56px;color:var(--text-h);cursor:pointer;border-radius:8px;grid-area:toggle;justify-content:center;place-self:center;align-items:center;padding:0;display:flex;position:relative;box-shadow:0 2px 8px #00000014}.quap-playground .settings-json-toggle:hover{background:var(--accent-bg);border-color:var(--accent-border)}.quap-playground .settings-json-toggle-icon{font-size:18px;font-weight:600;line-height:1}.quap-playground .settings-footer .settings-done{background:var(--accent-bg);border-color:var(--accent-border);padding:8px 14px}.quap-playground .settings-footer .settings-reset-all{padding:8px 12px}.quap-playground .settings-done:hover,.quap-playground .settings-link-btn:hover,.quap-playground .settings-reset-all:hover{background:var(--accent-bg);border-color:var(--accent-border)}.quap-playground .clipboard-history-overlay{z-index:10000;background:#08060d73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.quap-playground .clipboard-history-panel{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;width:min(640px,100%);max-height:min(84vh,760px);display:flex;box-shadow:0 24px 48px #0000002e}.quap-playground .clipboard-history-footer,.quap-playground .clipboard-history-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.quap-playground .clipboard-history-footer{border-bottom:none;border-top:1px solid var(--border)}.quap-playground .clipboard-history-header h2{margin:0;font-size:18px}.quap-playground .clipboard-history-close{width:32px;height:32px;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:22px;line-height:1}.quap-playground .clipboard-history-close:hover{background:var(--code-bg)}.quap-playground .clipboard-history-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:12px 18px;display:flex}.quap-playground .clipboard-history-search{border:1px solid var(--border);background:var(--code-bg);min-width:0;color:var(--text-h);border-radius:8px;flex:1;padding:8px 10px;font-size:13px}.quap-playground .clipboard-history-search:focus{border-color:var(--accent-border);outline:none}.quap-playground .clipboard-history-body{flex-direction:column;gap:8px;min-height:180px;padding:10px 12px 14px;display:flex;overflow:auto}.quap-playground .clipboard-history-item{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.quap-playground .clipboard-history-item.is-selected,.quap-playground .clipboard-history-item:hover{border-color:var(--accent-border);background:var(--accent-bg)}.quap-playground .clipboard-history-item-preview{font-family:var(--mono-font-family,ui-monospace,SFMono-Regular,Menlo,monospace);color:var(--text-h);white-space:pre-wrap;word-break:break-word;margin:0;font-size:12px;line-height:1.45}.quap-playground .clipboard-history-item-meta{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.quap-playground .clipboard-history-item-actions{flex-wrap:wrap;gap:6px;display:flex}.quap-playground .clipboard-history-action{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:12px}.quap-playground .clipboard-history-action:hover{border-color:var(--accent-border);background:var(--accent-bg)}.quap-playground .clipboard-history-action.is-danger:hover{border-color:var(--error);color:var(--error)}.quap-playground .clipboard-history-count,.quap-playground .clipboard-history-hint{color:var(--text);font-size:12px}.quap-playground .preview-view-switcher-sizer{visibility:hidden;pointer-events:none;border:1px solid #0000;border-radius:8px;display:inline-flex;overflow:hidden}.quap-playground .preview-view-switcher-sizer .preview-view-btn{pointer-events:none}.quap-playground .preview-view-switcher.is-compact:not(.is-expanded){max-width:100%;overflow:hidden}.quap-playground .preview-view-switcher.is-compact{cursor:default}.quap-playground .preview-view-btn.is-collapsed{opacity:0;pointer-events:none;min-width:0;padding-left:0;padding-right:0;max-width:0!important}.quap-playground .document-sidebar-close.document-tab-close-btn{width:28px;height:32px}.quap-playground .document-sidebar-item{border-bottom:1px solid var(--border);background:var(--bg)}.quap-playground .document-sidebar-item.active{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-sidebar-item.active{background:color-mix(in srgb,var(--accent) 8%,var(--bg))}}.quap-playground .document-sidebar-item-main{align-items:flex-start;gap:0;min-width:0;display:flex}.quap-playground .document-sidebar-body{text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:stretch;gap:2px;min-width:0;padding:8px 4px 8px 0;display:flex}.quap-playground .document-sidebar-title{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.quap-playground .document-sidebar-item.dirty .document-sidebar-title{font-style:italic}.quap-playground .document-sidebar-preview{flex-direction:column;gap:1px;min-width:0;display:flex}.quap-playground .document-sidebar-preview-line{font-family:var(--mono);color:var(--text);opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;overflow:hidden}.quap-playground .document-sidebar-item .document-sidebar-pin{cursor:pointer;background:0 0;border:none;flex-shrink:0;width:28px;height:32px;margin-top:6px}.quap-playground .document-sidebar-item .document-sidebar-close.document-tab-close-btn{flex-shrink:0;width:28px;height:32px;margin-top:6px}.quap-playground .document-sidebar{border-right:1px solid var(--border);background:var(--code-bg);z-index:1;flex-direction:column;flex-shrink:0;width:280px;min-height:0;display:flex;position:relative}.quap-playground .document-sidebar-header{border-bottom:1px solid var(--border);color:var(--text-h);justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.quap-playground .document-sidebar-new{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;width:24px;height:24px}.quap-playground .document-sidebar-list{scrollbar-width:thin;scrollbar-color:var(--border) transparent;direction:rtl;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.quap-playground .document-sidebar-list::-webkit-scrollbar{width:8px}.quap-playground .document-sidebar-list::-webkit-scrollbar-track{background:0 0}.quap-playground .document-sidebar-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.quap-playground .document-sidebar-list::-webkit-scrollbar-thumb:hover{background:var(--text)}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-sidebar-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text) 35%,var(--border))}}.quap-playground .document-sidebar-list-inner{box-sizing:border-box;direction:ltr;flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex}.quap-playground .document-sidebar-list-inner>*{background:var(--bg)}.quap-playground .ai-panel-note{color:var(--text);margin:16px;line-height:1.5}.quap-playground .ai-chat-resize{cursor:row-resize;z-index:2;height:6px;position:absolute;top:-3px;left:0;right:0}.quap-playground .ai-chat-resize:hover{background:var(--accent-border)}.quap-playground .edit-tool-group.is-open,.quap-playground .edit-tool-group:hover:not(:has(:disabled)){border-color:var(--accent,#4a9eff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-tool-group.is-open,.quap-playground .edit-tool-group:hover:not(:has(:disabled)){border-color:color-mix(in srgb,var(--accent,#4a9eff) 45%,var(--border))}}.quap-playground .edit-tool-group.is-open,.quap-playground .edit-tool-group:hover:not(:has(:disabled)){background:var(--code-bg)}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-tool-group.is-open,.quap-playground .edit-tool-group:hover:not(:has(:disabled)){background:color-mix(in srgb,var(--code-bg) 70%,var(--bg))}}.quap-playground .edit-tool-group-flyout{border:1px solid var(--border);background:var(--bg);min-width:200px;max-height:min(360px,55vh);box-shadow:0 10px 28px var(--text-h);border-radius:8px;margin:0;padding:4px 0;list-style:none;overflow:auto}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-tool-group-flyout{box-shadow:0 10px 28px color-mix(in srgb,var(--text-h) 14%,transparent)}}.quap-playground .edit-tool-group-flyout-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text);opacity:.65;padding:5px 12px 6px;font-size:10px;font-weight:600}.quap-playground .edit-tool-group-flyout-item{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:flex}.quap-playground .edit-tool-group-flyout-item.is-branch-open:not(:disabled),.quap-playground .edit-tool-group-flyout-item:hover:not(:disabled){background:var(--code-bg)}.quap-playground .edit-tool-group-flyout-item.is-active:not(:disabled){background:var(--accent,#4a9eff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .edit-tool-group-flyout-item.is-active:not(:disabled){background:color-mix(in srgb,var(--accent,#4a9eff) 14%,var(--code-bg))}}.quap-playground .edit-tool-group-flyout-item:disabled{opacity:.4;cursor:default}.quap-playground .edit-tool-group-flyout-item-main{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.quap-playground .edit-tool-group-flyout-item-label{font-weight:500;line-height:1.2}.quap-playground .edit-tool-group-flyout-item-desc{color:var(--text);opacity:.78;white-space:normal;max-width:260px;font-size:11px;font-weight:400;line-height:1.35}.quap-playground .edit-tool-group-flyout-caret{opacity:.7;flex-shrink:0;font-size:12px;line-height:1}.quap-playground .app-feature-overlay{z-index:1200;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .app-feature-overlay{background:color-mix(in srgb,var(--bg) 35%,#00000073)}}.quap-playground .app-feature-overlay>*{width:min(960px,100%);height:min(80vh,100%);max-height:90vh;box-shadow:0 12px 40px #00000040}.quap-playground .curl-inspect{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.quap-playground .curl-inspect-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.quap-playground .curl-inspect-heading{color:var(--text-h);font-size:12px;font-weight:600}.quap-playground .curl-inspect-close{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text-h);cursor:pointer;border-radius:3px;flex-shrink:0;font-size:16px;line-height:1}.quap-playground .curl-inspect-close:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-close:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}}.quap-playground .curl-inspect-close:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-close:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground .curl-inspect-body{flex-direction:column;flex:1 1 0;gap:8px;min-height:0;padding:10px;display:flex;overflow:auto}.quap-playground .curl-inspect-label{color:var(--text-h);opacity:.85;font-size:11px;font-weight:600}.quap-playground .curl-inspect-textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);background:var(--bg);width:100%;min-height:100px;color:var(--text);font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace);border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.4}.quap-playground .curl-inspect-actions{gap:8px;display:flex}.quap-playground .curl-inspect-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:3px;padding:5px 12px;font-size:12px}.quap-playground .curl-inspect-btn--primary{border-color:var(--accent);font-weight:600}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-btn--primary{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}}.quap-playground .curl-inspect-btn--primary{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-btn--primary{background:color-mix(in srgb,var(--accent) 12%,var(--bg))}}.quap-playground .curl-inspect-btn:hover{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}}.quap-playground .curl-inspect-btn:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .curl-inspect-btn:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}}.quap-playground code{font-family:var(--mono)}.quap-playground .regex-lab-overlay{z-index:10001;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.quap-playground .regex-lab-dialog{border:1px solid var(--border);background:var(--editor-bg,var(--code-bg));border-radius:12px;flex-direction:column;width:min(560px,100vw - 32px);max-height:min(80vh,640px);display:flex;overflow:hidden;box-shadow:0 12px 32px #0000004d}.quap-playground .regex-lab-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px 8px;display:flex}.quap-playground .regex-lab-title{color:var(--text-h);margin:0;font-size:16px;font-weight:600}.quap-playground .regex-lab-close{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text-h);cursor:pointer;border-radius:3px;flex-shrink:0;font-size:16px;line-height:1}.quap-playground .regex-lab-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:4px;padding:0 14px;display:flex}.quap-playground .regex-lab-tabs button{color:var(--text);cursor:pointer;border:0;border-bottom:2px solid #0000;background:0 0;margin-bottom:-1px;padding:8px 12px;font-size:13px}.quap-playground .regex-lab-tabs button.is-active{border-bottom-color:var(--accent);color:var(--text-h);font-weight:600}.quap-playground .regex-lab-body{flex-direction:column;flex:1 1 0;gap:12px;min-height:0;padding:12px 14px;display:flex;overflow:auto}.quap-playground .regex-lab-section{flex-direction:column;gap:6px;display:flex}.quap-playground .regex-lab-label{color:var(--text-muted,#888);font-size:12px;font-weight:600}.quap-playground .regex-lab-input{box-sizing:border-box;width:100%;color:var(--text);font-size:14px}.quap-playground .regex-lab-input,.quap-playground .regex-lab-pattern-out{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.quap-playground .regex-lab-pattern-out{color:var(--text-h);word-break:break-all;font-size:13px;display:block}.quap-playground .regex-lab-error{background:var(--error);border-radius:4px;padding:8px 10px}@supports (color:color-mix(in lab,red,red)){.quap-playground .regex-lab-error{background:color-mix(in srgb,var(--error) 12%,transparent)}}.quap-playground .regex-lab-error{color:var(--error);font-size:12px}.quap-playground .regex-lab-actions{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.quap-playground .regex-lab-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.quap-playground .macro-recorder{border:1px solid var(--border);background:var(--code-bg);min-width:280px;max-width:420px;color:var(--text);border-radius:8px;flex-direction:column;gap:10px;padding:12px;display:flex}.quap-playground .macro-recorder-header{justify-content:space-between;align-items:center;display:flex}.quap-playground .macro-recorder-close{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:4px;width:26px;height:26px}.quap-playground .macro-recorder-hint{opacity:.85;margin:0;font-size:12px;line-height:1.4}.quap-playground .macro-recorder-actions{flex-wrap:wrap;gap:6px;display:flex}.quap-playground .macro-recorder-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.quap-playground .macro-recorder-steps{max-height:160px;margin:0;padding-left:18px;font-size:12px;overflow:auto}.quap-playground .macro-recorder-empty{opacity:.6;margin-left:-18px;list-style:none}.quap-playground .tab-toast{z-index:30;border:1px solid var(--border);background:var(--bg);position:absolute;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.quap-playground .tab-toast{background:color-mix(in srgb,var(--bg) 94%,var(--text-h))}}.quap-playground .tab-toast{color:var(--text-h);pointer-events:none;will-change:transform,opacity}.quap-playground .tab-toast--docked,.quap-playground .tab-toast--exiting{transform-origin:0 0;border-radius:12px;width:min(300px,100% - 32px);inset:auto 16px 16px auto;transform:none;box-shadow:0 8px 24px #00000024,0 2px 6px #00000014}.quap-playground .tab-toast--interactive{pointer-events:auto}.quap-playground .tab-toast__body{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px 12px;display:flex}.quap-playground .tab-toast__close{appearance:none;z-index:1;width:24px;height:24px;color:var(--text-h);background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:absolute;top:6px;right:6px}@supports (color:color-mix(in lab,red,red)){.quap-playground .tab-toast__close{color:color-mix(in srgb,var(--text-h) 70%,transparent)}}.quap-playground .tab-toast__close{font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;cursor:pointer;font-family:inherit;font-size:18px;line-height:1}.quap-playground .tab-toast__close:hover{background:var(--text-h)}@supports (color:color-mix(in lab,red,red)){.quap-playground .tab-toast__close:hover{background:color-mix(in srgb,var(--text-h) 10%,transparent)}}.quap-playground .tab-toast__close:hover{color:var(--text-h)}.quap-playground .tab-toast--docked .tab-toast__close,.quap-playground .tab-toast--exiting .tab-toast__close{width:22px;height:22px;font-size:16px;top:4px;right:4px}.quap-playground .tab-toast--docked .tab-toast__body,.quap-playground .tab-toast--exiting .tab-toast__body{transition:padding var(--tab-toast-dock-ms,.72s) cubic-bezier(.33,1,.32,1),gap var(--tab-toast-dock-ms,.72s) cubic-bezier(.33,1,.32,1);gap:8px;padding:10px 28px 8px 12px}.quap-playground .tab-toast__message{text-align:center;word-break:break-word;margin:0;font-size:14px;line-height:1.4}.quap-playground .tab-toast--docked .tab-toast__message,.quap-playground .tab-toast--exiting .tab-toast__message{text-align:left;transition:font-size var(--tab-toast-dock-ms,.72s) cubic-bezier(.33,1,.32,1);font-size:12px}.quap-playground .tab-toast__progress{transform-origin:0;background:var(--text-h);width:100%;height:3px;display:block;transform:scaleX(1)}@supports (color:color-mix(in lab,red,red)){.quap-playground .tab-toast__progress{background:color-mix(in srgb,var(--text-h) 45%,transparent)}}.quap-playground .tab-toast__progress{animation:tab-toast-progress var(--tab-toast-progress-ms,5.9s) linear var(--tab-toast-hero-ms,1.1s) forwards}.quap-playground .editor-json-type-boolean{color:var(--editor-json-type-boolean)}.quap-playground .document-tab.has-separator-left:not(.active):before,.quap-playground .document-tab.has-separator-right:not(.active):after{content:"";background:var(--text);width:1px;position:absolute;top:7px;bottom:7px}@supports (color:color-mix(in lab,red,red)){.quap-playground .document-tab.has-separator-left:not(.active):before,.quap-playground .document-tab.has-separator-right:not(.active):after{background:color-mix(in srgb,var(--text) 22%,transparent)}}.quap-playground .document-tab.has-separator-left:not(.active):before,.quap-playground .document-tab.has-separator-right:not(.active):after{pointer-events:none}.quap-playground .document-tab.has-separator-right:not(.active):after{right:0}.quap-playground .editor-json-type-null{color:var(--editor-json-type-null);font-style:italic}.quap-playground .sql-preview-panel{background:var(--code-bg);flex-direction:column;height:100%;min-height:0;display:flex}.quap-playground .sql-preview-summary{border-bottom:1px solid var(--border);color:var(--muted,var(--text-muted,#64748b));flex-shrink:0;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.quap-playground .sql-preview-body{flex:1;min-height:0;overflow:auto}.quap-playground .sql-stmt-list{flex-direction:column;flex:0 auto;gap:6px;min-height:80px;max-height:40%;margin:0;padding:8px;list-style:none;display:flex;overflow:auto}.quap-playground .sql-stmt-layout{flex-direction:column;height:100%;min-height:0;display:flex}.quap-playground .sql-dialect-bar{border-bottom:1px solid var(--border);background:var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .sql-dialect-bar{background:color-mix(in srgb,var(--border) 22%,transparent)}}.quap-playground .sql-dialect-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quap-playground .sql-dialect-label{color:var(--muted,#64748b);align-items:center;gap:8px;font-size:12px;display:inline-flex}.quap-playground .sql-dialect-select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;max-width:220px;padding:4px 8px;font-size:12px}.quap-playground .sql-dialect-confidence{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px}.quap-playground .sql-dialect-confidence--low{opacity:.8}.quap-playground .sql-dialect-scope{gap:4px;display:inline-flex}.quap-playground .sql-dialect-scope-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:11px}.quap-playground .sql-dialect-scope-btn.active{background:#0d9488;border-color:#0d9488}@supports (color:color-mix(in lab,red,red)){.quap-playground .sql-dialect-scope-btn.active{background:color-mix(in srgb,#0d9488 14%,var(--bg))}}.quap-playground .sql-dialect-scope-btn:disabled{opacity:.45;cursor:not-allowed}.quap-playground .sql-dialect-targets{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.quap-playground .sql-dialect-chip-stack{flex-direction:column;align-items:stretch;gap:3px;display:flex}.quap-playground .sql-dialect-chip{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px}@keyframes sql-dialect-chip-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.quap-playground .sql-dialect-chip:hover:not(:disabled){border-color:#0d9488}.quap-playground .sql-dialect-chip--source{opacity:.55}.quap-playground .sql-dialect-chip:disabled{cursor:not-allowed}@keyframes sql-dialect-busy-spin{to{transform:rotate(1turn)}}.quap-playground .sql-stmt-item{text-align:left;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.quap-playground .sql-stmt-item:hover{border-color:#0d9488}@supports (color:color-mix(in lab,red,red)){.quap-playground .sql-stmt-item:hover{border-color:color-mix(in srgb,#0d9488 50%,var(--border))}}.quap-playground .sql-stmt-kind{letter-spacing:.02em;background:var(--border);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:700}@supports (color:color-mix(in lab,red,red)){.quap-playground .sql-stmt-kind{background:color-mix(in srgb,var(--border) 60%,transparent)}}.quap-playground .sql-stmt-kind--select{color:#0f766e;background:#0d948833}.quap-playground .sql-stmt-kind--create{color:#92400e;background:#b4530933}.quap-playground .sql-stmt-preview{font-size:12px;font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.quap-playground .markdown-preview{text-align:left;background:var(--bg);height:100%;min-height:0;color:var(--text);flex-direction:column;padding:16px 20px 24px;display:flex;overflow:auto}.quap-playground .markdown-preview-body{--md-scale:1;width:100%;max-width:52rem;margin:0 auto;font-size:14px;line-height:1.65}.quap-playground .markdown-preview-body .md-mermaid{zoom:var(--md-scale)}.quap-playground .markdown-scale-label{min-width:3.25rem;color:inherit;font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;line-height:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-family:inherit}.quap-playground .markdown-scale-label:hover:not(:disabled){color:var(--text)}.quap-playground .markdown-scale-label:disabled{cursor:default}.quap-playground .markdown-preview-body>:first-child{margin-top:0}.quap-playground .markdown-preview-body>:last-child{margin-bottom:0}.quap-playground .markdown-preview-body h1,.quap-playground .markdown-preview-body h2,.quap-playground .markdown-preview-body h3,.quap-playground .markdown-preview-body h4,.quap-playground .markdown-preview-body h5,.quap-playground .markdown-preview-body h6{color:var(--text);margin:1.25em 0 .5em;font-weight:650;line-height:1.3}.quap-playground .markdown-preview-body h1{border-bottom:1px solid var(--border,#7f7f7f40);padding-bottom:.3em;font-size:1.75em}.quap-playground .markdown-preview-body p{margin:.75em 0}.quap-playground .markdown-preview-body pre{border:1px solid var(--border,#7f7f7f33);background:#7f7f7f1a;border-radius:6px;margin:1em 0;padding:12px 14px;overflow:auto}.quap-playground .md-mermaid{border:1px solid var(--border,#7f7f7f33);text-align:center;background:#7f7f7f0f;border-radius:6px;margin:1em 0;padding:16px;overflow:auto visible}.quap-playground .md-mermaid svg{vertical-align:middle;max-width:none;height:auto;display:inline-block;overflow:visible}.quap-playground .md-mermaid .cluster,.quap-playground .md-mermaid .edgeLabel,.quap-playground .md-mermaid .edgeLabel div,.quap-playground .md-mermaid .label,.quap-playground .md-mermaid .node,.quap-playground .md-mermaid .nodeLabel,.quap-playground .md-mermaid .nodeLabel div,.quap-playground .md-mermaid foreignObject,.quap-playground .md-mermaid foreignObject div{overflow:visible!important}.quap-playground #mermaid-_r_5h_-1791044301935{fill:#ccc;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}@keyframes edge-animation-frame{0%{stroke-dashoffset:0}}@keyframes dash{to{stroke-dashoffset:0}}.quap-playground #mermaid-_r_5h_-1791044301935 .edge-thickness-normal{stroke-width:1px}.quap-playground #mermaid-_r_5h_-1791044301935 .edge-pattern-solid{stroke-dasharray:0}.quap-playground #mermaid-_r_5h_-1791044301935 .marker{fill:#d3d3d3;stroke:#d3d3d3}.quap-playground #mermaid-_r_5h_-1791044301935 .marker.cross{stroke:#d3d3d3}.quap-playground #mermaid-_r_5h_-1791044301935 p{margin:0}.quap-playground #mermaid-_r_5h_-1791044301935 .label{color:#ccc;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.quap-playground #mermaid-_r_5h_-1791044301935 .label text,.quap-playground #mermaid-_r_5h_-1791044301935 span{fill:#ccc;color:#ccc}.quap-playground #mermaid-_r_5h_-1791044301935 .node circle,.quap-playground #mermaid-_r_5h_-1791044301935 .node ellipse,.quap-playground #mermaid-_r_5h_-1791044301935 .node path,.quap-playground #mermaid-_r_5h_-1791044301935 .node polygon,.quap-playground #mermaid-_r_5h_-1791044301935 .node rect{fill:#1f2020;stroke:#ccc;stroke-width:1px}.quap-playground #mermaid-_r_5h_-1791044301935 .icon-shape .label,.quap-playground #mermaid-_r_5h_-1791044301935 .image-shape .label,.quap-playground #mermaid-_r_5h_-1791044301935 .node .label,.quap-playground #mermaid-_r_5h_-1791044301935 .rough-node .label{text-align:center}.quap-playground #mermaid-_r_5h_-1791044301935 .flowchart-link{stroke:#d3d3d3;fill:none}.quap-playground #mermaid-_r_5h_-1791044301935 .edgeLabel{text-align:center;background-color:#585858}.quap-playground #mermaid-_r_5h_-1791044301935 .labelBkg{background-color:#58585880}.quap-playground .preview-json-type-string{color:var(--preview-json-type-string)}.quap-playground .preview-json-type-number{color:var(--preview-json-type-number)}.quap-playground .tree-toggle-spacer{flex-shrink:0;width:18px}.quap-playground .compare-tab-overlay{z-index:10001;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.quap-playground .compare-tab-dialog{border:1px solid var(--border);background:var(--editor-bg,var(--code-bg));border-radius:12px;width:min(420px,100vw - 32px);padding:20px;box-shadow:0 12px 32px #0000004d}.quap-playground .compare-tab-title{color:var(--text-h);margin:0 0 8px;font-size:16px;font-weight:600}.quap-playground .compare-tab-hint{color:var(--text-muted,#888);margin:0 0 14px;font-size:13px}.quap-playground .compare-tab-label{color:var(--text-muted,#888);margin:0 0 6px;font-size:12px;font-weight:600;display:block}.quap-playground .compare-tab-select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;margin-bottom:14px;padding:8px 10px;font-size:14px}.quap-playground .compare-tab-actions{justify-content:flex-end;gap:8px;display:flex}.quap-playground .compare-tab-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.quap-playground .compare-tab-confirm{font-weight:600}.quap-playground .compare-tab-confirm:disabled{opacity:.5;cursor:not-allowed}.quap-playground #mermaid-_r_aj_-1791044469437{fill:#333;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px}.quap-playground #mermaid-_r_aj_-1791044469437 .edge-thickness-normal{stroke-width:1px}.quap-playground #mermaid-_r_aj_-1791044469437 .edge-pattern-solid{stroke-dasharray:0}.quap-playground #mermaid-_r_aj_-1791044469437 .marker{fill:#333;stroke:#333}.quap-playground #mermaid-_r_aj_-1791044469437 .marker.cross{stroke:#333}.quap-playground #mermaid-_r_aj_-1791044469437 p{margin:0}.quap-playground #mermaid-_r_aj_-1791044469437 .label{color:#333;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.quap-playground #mermaid-_r_aj_-1791044469437 .label text,.quap-playground #mermaid-_r_aj_-1791044469437 span{fill:#333;color:#333}.quap-playground #mermaid-_r_aj_-1791044469437 .node circle,.quap-playground #mermaid-_r_aj_-1791044469437 .node ellipse,.quap-playground #mermaid-_r_aj_-1791044469437 .node path,.quap-playground #mermaid-_r_aj_-1791044469437 .node polygon,.quap-playground #mermaid-_r_aj_-1791044469437 .node rect{fill:#ececff;stroke:#9370db;stroke-width:1px}.quap-playground #mermaid-_r_aj_-1791044469437 .icon-shape .label,.quap-playground #mermaid-_r_aj_-1791044469437 .image-shape .label,.quap-playground #mermaid-_r_aj_-1791044469437 .node .label,.quap-playground #mermaid-_r_aj_-1791044469437 .rough-node .label{text-align:center}.quap-playground #mermaid-_r_aj_-1791044469437 .flowchart-link{stroke:#333;fill:none}.quap-playground #mermaid-_r_aj_-1791044469437 .edgeLabel{text-align:center;background-color:#e8e8e8cc}.quap-playground #mermaid-_r_aj_-1791044469437 .labelBkg{background-color:#e8e8e880}@media (prefers-reduced-motion:reduce){.quap-playground .usage-tips-text{opacity:.92;transition:none;transform:none}}@media (max-width:640px){.quap-playground .app-titlebar{grid-template-columns:auto 1fr auto}.quap-playground .app-titlebar-palette-trigger-chord{display:none}}@media (max-width:720px){.quap-playground .settings-main,.quap-playground .settings-panel--json-open .settings-main{grid-template-columns:1fr;grid-template-areas:"nav""body""json"}.quap-playground .settings-nav{border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;max-height:none}.quap-playground .settings-nav-item{width:auto}.quap-playground .settings-json-toggle{border-radius:999px;width:36px;height:36px;margin:0;position:absolute;top:auto;bottom:12px;right:12px}}@supports not (zoom:1){.quap-playground .markdown-preview-body .md-mermaid{transform:scale(var(--md-scale));transform-origin:top}}.quap-playground .mmap-rail{box-sizing:border-box;background:var(--editor-bg,#1e1e1e);flex:0 0 10px;width:10px;height:100%;position:relative}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-rail{background:color-mix(in srgb,var(--editor-bg,#1e1e1e) 88%,#000)}}.quap-playground .mmap-rail{border-left:1px solid var(--border)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-rail{border-left:1px solid color-mix(in srgb,var(--border) 70%,transparent)}}.quap-playground .mmap-rail{cursor:default;-webkit-user-select:none}.quap-playground .mmap-rail-thumb{background:var(--border);border-radius:3px;transition:background-color .12s;position:absolute;left:2px;right:2px}.quap-playground .mmap-rail:hover .mmap-rail-thumb{background:var(--text-muted,#888)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-rail:hover .mmap-rail-thumb{background:color-mix(in srgb,var(--text-muted,#888) 70%,var(--border))}}.quap-playground .mmap-minimap{cursor:default;-webkit-user-select:none;flex:0 0 64px;width:64px;height:100%;position:relative;overflow:hidden}.quap-playground .mmap-minimap-canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.quap-playground .mmap-minimap-slider{box-sizing:border-box;border:1px solid var(--text-h,#fff);position:absolute;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-minimap-slider{border:1px solid color-mix(in srgb,var(--text-h,#fff) 28%,transparent)}}.quap-playground .mmap-minimap-slider{background:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-minimap-slider{background:color-mix(in srgb,var(--text-h,#fff) 10%,transparent)}}.quap-playground .mmap-minimap-slider{border-radius:1px}.quap-playground .mmap-minimap-slider:hover,.quap-playground .mmap-minimap.is-dragging .mmap-minimap-slider{background:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-minimap-slider:hover,.quap-playground .mmap-minimap.is-dragging .mmap-minimap-slider{background:color-mix(in srgb,var(--text-h,#fff) 16%,transparent)}}.quap-playground .mmap-minimap-slider:hover,.quap-playground .mmap-minimap.is-dragging .mmap-minimap-slider{border-color:var(--text-h,#fff)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-minimap-slider:hover,.quap-playground .mmap-minimap.is-dragging .mmap-minimap-slider{border-color:color-mix(in srgb,var(--text-h,#fff) 42%,transparent)}}.quap-playground .mmap-cm-side{border-left:1px solid var(--border);background:var(--editor-bg,#1e1e1e);flex:none;height:100%;display:flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-cm-side{background:color-mix(in srgb,var(--editor-bg,#1e1e1e) 94%,#000)}}.quap-playground .mmap-cm-editor{background:var(--editor-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.quap-playground .mmap-cm-body-row{flex:1 1 0;min-height:0;display:flex;overflow:hidden}.quap-playground .mmap-cm-body-row>.mmap-cm-body{flex:1 1 0;min-width:0}.quap-playground .mmap-cm-body{z-index:0;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.quap-playground .mmap-cm-layout{height:100%;min-height:0;display:flex;position:relative}.quap-playground .mmap-cm-host{flex:1 1 0;min-width:0;min-height:0;overflow:hidden}.quap-playground .mmap-cm-host .cm-editor{height:100%}.quap-playground .mmap-cm-host .cm-scroller{scrollbar-width:auto;scrollbar-color:var(--text-muted,#888) var(--code-bg);overflow:auto}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-cm-host .cm-scroller{scrollbar-color:color-mix(in srgb,var(--text-muted,#888) 85%,var(--border)) color-mix(in srgb,var(--code-bg) 70%,transparent)}}.quap-playground .mmap-cm-host.is-window .cm-scroller{overflow:auto hidden}.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar{width:14px;height:14px}.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-track{background:var(--code-bg)}@supports (color:color-mix(in lab,red,red)){.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-track{background:color-mix(in srgb,var(--code-bg) 80%,var(--border))}}.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-track{border-left:1px solid var(--border)}.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-thumb{background-clip:padding-box;border:3px solid #0000;border-radius:7px;min-height:40px}.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-thumb:active,.quap-playground .mmap-cm-host .cm-scroller::-webkit-scrollbar-thumb:hover{background-clip:padding-box;border:3px solid #0000}.quap-playground .mmap-cm-editor .cm-content{padding-top:0;padding-bottom:0}.quap-playground .ai-log{-webkit-user-select:text;cursor:auto;flex-direction:column;flex:40%;gap:10px;min-height:80px;padding:12px;display:flex;overflow:auto}.quap-playground .ai-composer{padding:8px 12px 10px;display:flex;position:relative}.quap-playground .ai-composer-input{resize:none;border:1px solid var(--border);background:var(--code-bg);min-height:40px;max-height:160px;color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;box-sizing:border-box;border-radius:20px;flex:1;padding:9px 46px 9px 14px;font-family:inherit;line-height:1.45;transition:border-color .12s,box-shadow .12s;overflow-y:auto}.quap-playground .ai-composer-input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent);outline:none}@supports (color:color-mix(in lab,red,red)){.quap-playground .ai-composer-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}}.quap-playground .ai-composer-send{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;width:28px;height:28px;padding:0;font-size:15px;font-weight:700;line-height:28px;position:absolute;bottom:16px;right:18px}.quap-playground .ai-composer-send:disabled{background:var(--border);color:var(--text);cursor:default}.quap-playground .ai-chat-panel .ai-log{flex:auto;min-height:40px}.quap-playground .ai-compose-area{border-top:1px solid var(--border);flex-shrink:0;position:relative}.quap-playground .ai-compose-area .ai-composer{border-top:none;padding-top:6px}.quap-playground .ai-quick{align-items:center;gap:6px;padding:8px 12px 0;display:flex;position:relative}.quap-playground .ai-quick-row{scrollbar-width:none;flex-wrap:nowrap;flex:auto;gap:6px;min-width:0;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.quap-playground .ai-quick-row .ai-quick-chip{flex-shrink:0}.quap-playground .ai-quick-row::-webkit-scrollbar{display:none}.quap-playground .ai-quick-chip{box-sizing:border-box;height:var(--ai-ctl-h);border:1px solid var(--border);color:var(--text-h);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;font-family:inherit;font-size:var(--ai-ctl-fs);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:2px;padding:0 12px;line-height:1;transition:background-color .12s,border-color .12s;display:inline-flex}.quap-playground .ai-quick-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.quap-playground .ai-quick-chip:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent)}}.quap-playground .ai-quick-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quap-playground .ai-quick-chip:disabled{cursor:default;opacity:.5}.quap-playground .ai-quick-toggle{box-sizing:border-box;height:var(--ai-ctl-h);border:1px solid var(--border);background:var(--bg);color:var(--accent);font-style:inherit;font-variant-caps:inherit;font-weight:inherit;font-width:inherit;font-size-adjust:inherit;font-kerning:inherit;font-variant-alternates:inherit;font-variant-ligatures:inherit;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-variant-position:inherit;font-variant-emoji:inherit;font-feature-settings:inherit;font-optical-sizing:inherit;font-variation-settings:inherit;font-family:inherit;font-size:var(--ai-ctl-fs);white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;padding:0 12px;line-height:1}.quap-playground .ai-quick-toggle.is-open,.quap-playground .ai-quick-toggle:hover{border-color:var(--accent);background:var(--accent-bg)}.quap-playground .ai-quick-more{color:var(--text)}.quap-playground .ai-quick-item{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.quap-playground .ai-quick-pin{width:18px;height:18px;color:var(--text);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .12s;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.quap-playground .ai-quick-item .ai-quick-chip{padding-right:26px}.quap-playground .ai-quick-item:hover .ai-quick-pin,.quap-playground .ai-quick-pin:focus-visible{opacity:.8}.quap-playground .ai-quick-pin:hover{color:var(--accent)}.quap-playground .ai-quick-item.is-pinned .ai-quick-pin{opacity:1;color:var(--accent)}.quap-playground .ai-quick-item.is-pinned .ai-quick-chip{border-color:var(--accent-border)}.quap-playground .ai-quick-row .ai-quick-item .ai-quick-chip{padding-left:26px;padding-right:12px}.quap-playground .ai-quick-row .ai-quick-pin{left:6px;right:auto}.quap-playground .document-tab-ext{opacity:.55;letter-spacing:0;font-weight:400}.quap-playground .project-tree{background:var(--code-bg);border-right:1px solid var(--border);min-width:0;height:100%;min-height:0;color:var(--text);flex-direction:column;display:flex}.quap-playground .project-tree-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.quap-playground .project-tree-title{flex:1;min-width:0}.quap-playground .project-tree-folder-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.quap-playground .project-tree-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.quap-playground .project-tree-action{border:1px solid var(--border);background:var(--bg);width:26px;height:26px;color:var(--text-h);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.quap-playground .project-tree-action:hover{border-color:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-action:hover{border-color:color-mix(in srgb,var(--accent,#3b82f6) 40%,var(--border))}}.quap-playground .project-tree-action:hover{background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-action:hover{background:color-mix(in srgb,var(--accent,#3b82f6) 10%,var(--bg))}}.quap-playground .project-tree-body{flex:1 1 0;min-height:0;overflow:auto}.quap-playground .project-tree-children,.quap-playground .project-tree-list{margin:0;padding:0;list-style:none}.quap-playground .project-tree-node{margin:0}.quap-playground .project-tree-row{width:100%;min-height:26px;color:var(--text);font-size:var(--tree-font-size,12px);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:2px 8px;display:flex}.quap-playground .project-tree-row:hover{background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-row:hover{background:color-mix(in srgb,var(--accent,#3b82f6) 10%,var(--bg))}}.quap-playground .project-tree-row:focus-visible{outline:1px solid var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-row:focus-visible{outline:1px solid color-mix(in srgb,var(--accent,#3b82f6) 55%,var(--border))}}.quap-playground .project-tree-row:focus-visible{outline-offset:-1px}.quap-playground .project-tree-row.is-unopenable{cursor:default;opacity:.5}.quap-playground .project-tree-row.is-unopenable:hover{background:0 0}.quap-playground .project-tree-row.is-unopenable:focus-visible{outline:none}.quap-playground .project-tree-row.is-unopenable .project-tree-name{color:var(--text)}.quap-playground .project-tree-twist{width:1.2ch;color:var(--text);opacity:.7;text-align:center;flex-shrink:0;font-size:10px}.quap-playground .project-tree-twist.is-folder{border:1px solid var(--text-h);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-twist.is-folder{border:1px solid color-mix(in srgb,var(--text-h) 28%,var(--border))}}.quap-playground .project-tree-twist.is-folder{background:var(--text-h);border-radius:3px}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-twist.is-folder{background:color-mix(in srgb,var(--text-h) 8%,var(--bg))}}.quap-playground .project-tree-twist.is-folder{opacity:1;color:var(--text-h)}.quap-playground .project-tree-row.is-dir:hover .project-tree-twist.is-folder{border-color:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-row.is-dir:hover .project-tree-twist.is-folder{border-color:color-mix(in srgb,var(--accent,#3b82f6) 50%,var(--border))}}.quap-playground .project-tree-row.is-dir:hover .project-tree-twist.is-folder{background:var(--accent,#3b82f6)}@supports (color:color-mix(in lab,red,red)){.quap-playground .project-tree-row.is-dir:hover .project-tree-twist.is-folder{background:color-mix(in srgb,var(--accent,#3b82f6) 14%,var(--bg))}}.quap-playground .project-tree-row.is-dir:hover .project-tree-twist.is-folder{color:var(--accent,#3b82f6)}.quap-playground .project-tree-chevron{font-size:11px;font-weight:700;line-height:1;display:block}.quap-playground .project-tree-row.is-file .project-tree-twist{opacity:.35}.quap-playground .project-tree-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);flex:1;overflow:hidden}.quap-playground .project-tree-row.is-dir .project-tree-name{font-weight:500}.quap-playground .app-main--project .project-tree{border-right:1px solid var(--border);flex-shrink:0;width:240px}.quap-playground .ai-icon-btn{width:var(--ai-ctl-h);height:var(--ai-ctl-h);border-radius:var(--ai-ctl-r);color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.quap-playground .ai-icon-btn:hover:not(:disabled){background:var(--accent-bg);color:var(--text-h)}.quap-playground .ai-icon-btn:disabled{opacity:.4;cursor:default}.quap-playground .ai-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.quap-playground .ai-log button,.quap-playground .ai-log summary{-webkit-user-select:none}.quap-playground .ai-msg-user{background:var(--accent-bg);border:1px solid var(--accent-border);white-space:pre-wrap;border-radius:12px 12px 2px;align-self:flex-end;max-width:85%;padding:8px 12px}.quap-playground .ai-plan-card{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;padding:10px 12px}.quap-playground .ai-plan-card-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.quap-playground .ai-plan-summary{font-weight:600}.quap-playground .ai-plan-steps{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.quap-playground .ai-plan-step{grid-template-columns:18px auto 1fr auto;align-items:baseline;gap:6px;display:grid}.quap-playground .ai-plan-step-op{font-family:var(--mono);color:var(--text)}.quap-playground .ai-plan-step-count,.quap-playground .ai-plan-step-message{color:var(--text);font-size:.9em}.quap-playground .ai-plan-step-message{grid-column:3/-1}.quap-playground .ai-result-body{border-top:1px solid var(--border);flex:1;min-height:0;overflow:hidden}.quap-playground .ai-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.quap-playground .ai-actions-more{margin-left:auto}.quap-playground .ai-btn--ghost{color:var(--text);background:0 0;border-color:#0000}.quap-playground .ai-btn--ghost:hover:not(:disabled){color:var(--text-h)}.quap-playground .ai-btn--icon{width:var(--ai-ctl-h);color:var(--text);background:0 0;border-color:#0000;padding:0;font-size:13px}.quap-playground .ai-btn--icon:hover:not(:disabled){color:var(--text-h)}.quap-playground .ai-btn-group{gap:2px;display:inline-flex}.quap-playground .ai-chat-clear{margin-left:auto}.quap-playground .ai-plan-actions{align-items:center;gap:4px;margin-top:8px;display:flex}.quap-playground .ai-plan-actions-spacer{flex:1}.quap-playground .ai-output{background:var(--bg);height:100%;min-height:0;color:var(--text-h);font-size:var(--chrome-font-size,12px);flex-direction:column;display:flex}.quap-playground .ai-output .ai-result-body{flex:1}.quap-playground .ai-output-status{color:var(--text);white-space:nowrap;margin-left:auto}.quap-playground .ai-output-bar{box-sizing:border-box;border-bottom:1px solid var(--border);align-items:center;gap:8px;min-height:36px;padding:4px 8px 4px 12px;display:flex}.quap-playground .ai-output-changes{color:var(--text);white-space:nowrap}.quap-playground .ai-sum{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:2px 16px;min-width:0;margin:0;display:flex}.quap-playground .ai-sum-item{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.quap-playground .ai-sum dt{color:var(--text)}.quap-playground .ai-sum dd{align-items:baseline;gap:5px;margin:0;display:inline-flex}.quap-playground .ai-sum-before{color:var(--text)}.quap-playground .ai-sum-arrow{color:var(--text);opacity:.6}.quap-playground .ai-sum-after{color:var(--text-h);font-weight:600}.quap-playground .ai-sum-item[data-trend=same] .ai-sum-arrow,.quap-playground .ai-sum-item[data-trend=same] .ai-sum-before{display:none}.quap-playground .ai-result-body .cm-ai-changed-line{background:#22c55e29}.quap-playground .ai-result-body .cm-ai-changed-gutter{width:4px}.quap-playground .ai-result-body .cm-ai-changed-marker{background:#22c55e;width:3px;height:100%;display:block}.quap-playground .ai-chat-draft{color:var(--accent);white-space:nowrap;cursor:help;font-size:12px}.quap-playground .ai-plan-step-args{color:var(--text);grid-column:3/-1}.quap-playground .ai-plan-step-args pre{background:var(--bg);max-height:200px;font-family:var(--mono);white-space:pre-wrap;border-radius:6px;margin:4px 0 0;padding:6px 8px;font-size:.9em;overflow:auto}.quap-playground .preview-ai-header{border-bottom:1px solid var(--border);background:var(--code-bg);flex-shrink:0;align-items:center;padding:6px 8px;display:flex}.quap-playground .ai-sent-overlay{z-index:9000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.quap-playground .ai-sent-dialog{background:var(--bg);width:min(760px,100%);max-height:80vh;color:var(--text-h);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.quap-playground .ai-sent-dialog header{flex-direction:column;gap:4px;display:flex}.quap-playground .ai-sent-dialog pre{background:var(--code-bg);font-family:var(--mono);white-space:pre-wrap;border-radius:8px;flex:1;margin:0;padding:10px;font-size:.85em;overflow:auto}.quap-playground .ai-sum-delta{color:var(--accent);font-size:11px}.quap-playground .ai-local{margin:4px 0 12px}.quap-playground .ai-local-machine{color:var(--text);margin:0 0 6px;font-size:12px}.quap-playground .ai-local-models{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.quap-playground .ai-local-model{border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:8px 10px;display:grid}.quap-playground .ai-local-model.is-selected{border-color:var(--accent-border);background:var(--accent-bg)}.quap-playground .ai-local-pick{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;display:grid}.quap-playground .ai-local-name{color:var(--text-h);font-weight:600}.quap-playground .ai-local-meta{color:var(--text);grid-column:2;font-size:11px}.quap-playground .ai-local-badge{border:1px solid var(--accent-border);color:var(--accent);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:500}.quap-playground .ai-local-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.quap-playground .ai-local-ok{color:#16a34a;font-size:12px}@media (prefers-reduced-motion:reduce){.quap-playground .mmap-rail-thumb{transition:none}}.quap-playground.app-layout{min-height:0;box-shadow:0 0 0 1px var(--border),0 30px 80px #00000073;-webkit-user-select:none;user-select:none;isolation:isolate;border-radius:12px;position:relative;overflow:hidden;background:var(--bg)!important;height:100%!important}.quap-playground[data-theme=light].app-layout{box-shadow:0 0 0 1px var(--border),0 30px 80px #08060d24}.quap-playground .cm-content,.quap-playground .cm-content *,.quap-playground input,.quap-playground textarea{-webkit-user-select:text;user-select:text}.quap-playground .command-palette-backdrop,.quap-playground .edit-tool-group-flyout,.quap-playground .settings-overlay{position:absolute}.quap-playground .tour-hit{z-index:4;border-radius:6px;box-shadow:0 0 0 1.5px var(--accent)!important;background:var(--accent-bg)!important;border-color:var(--accent-border)!important;color:var(--text-h)!important}.quap-playground .playground-overlay{z-index:30;background:var(--bg);justify-content:center;align-items:flex-start;padding:24px 16px;display:flex;position:absolute;inset:39px 0 0}@supports (color:color-mix(in lab,red,red)){.quap-playground .playground-overlay{background:color-mix(in srgb,var(--bg) 45%,#0006)}}.quap-playground .playground-overlay-panel{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;width:min(640px,100%);max-height:min(70vh,520px);overflow:auto;box-shadow:0 20px 60px #0006}.quap-playground .playground-overlay-head{border-bottom:1px solid var(--border);color:var(--text-h);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.quap-playground .playground-overlay-body{padding:12px 14px 16px;font-size:13px;line-height:1.5}.quap-playground .playground-overlay-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:14px 0 6px;font-size:11px}.quap-playground .playground-overlay-pre{background:var(--bg);font-family:var(--mono);white-space:pre-wrap;border-radius:6px;margin:0 0 12px;padding:10px;font-size:11px}.quap-playground .playground-overlay-tree{font-family:var(--mono);margin:0 0 12px;padding-left:18px;font-size:12px}.quap-playground .playground-overlay-tree .is-nested{margin-left:12px;list-style:outside}.quap-playground .playground-chip-row{flex-wrap:wrap;gap:6px;display:flex}.quap-playground .playground-chip{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-family:var(--mono);border-radius:999px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.quap-playground .playground-graph-viewport{background-image:radial-gradient(var(--text) 1px,transparent 1px);position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.quap-playground .playground-graph-viewport{background-image:radial-gradient(color-mix(in srgb,var(--text) 28%,transparent) 1px,transparent 1px)}}.quap-playground .playground-graph-viewport{background-size:18px 18px}.quap-playground .playground-graph-nodes{transform-origin:0 0;position:absolute;top:0;left:0}.quap-playground .playground-graph-nodes .react-flow__node{position:absolute}.home-assembly-pin{box-sizing:border-box;flex-direction:column;gap:1rem;height:calc(100vh - 3.5rem);padding:1.25rem 1.25rem 5.5rem;display:flex;position:sticky;top:3.5rem}.home-assembly-caption{text-align:center;flex:none;max-width:36rem;min-height:7.5rem;margin:0 auto}.home-assembly-steps{justify-content:center;gap:6px;margin:0 0 .9rem;padding:0;list-style:none;display:flex}.home-assembly-steps li{background:var(--border);border-radius:2px;width:22px;height:3px;transition:background .4s}.home-assembly-steps li.is-done{background:var(--accent)}.home-assembly-shell{flex:1;min-height:0;overflow:hidden}.home-assembly-fit{width:100%;height:100%}.home-assembly-shell .ai-chat-panel,.home-assembly-shell .app-bottom-chrome,.home-assembly-shell .document-sidebar,.home-assembly-shell .document-tabs,.home-assembly-shell .workspace-dock>*{transition:opacity .55s,transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .6s}.home-assembly-shell:not(.has-documents) .document-sidebar{opacity:0;transform:translate(-28px)}.home-assembly-shell:not(.has-editor) .workspace-dock>:first-child{opacity:0;transform:translateY(24px)}.home-assembly-shell:not(.has-preview) .workspace-dock>:not(:first-child){opacity:0;transform:translate(28px)}.home-assembly-shell:not(.has-ai) .ai-chat-panel,.home-assembly-shell:not(.has-memory) .app-bottom-chrome{opacity:0;transform:translateY(16px)}.home-assembly-shell.focus-ai .ai-chat-panel,.home-assembly-shell.focus-documents .document-sidebar,.home-assembly-shell.focus-editor .workspace-dock>:first-child,.home-assembly-shell.focus-memory .app-bottom-chrome,.home-assembly-shell.focus-preview .workspace-dock>:last-child{box-shadow:inset 0 0 0 1px var(--accent)}.home-assembly-shell .quap-playground{transition:box-shadow .6s}.home-assembly-shell.focus-ready .quap-playground{box-shadow:0 0 0 1px var(--accent)}@media (max-width:900px){.home-assembly-pin{justify-content:center;padding-bottom:4.5rem}.home-assembly-shell{aspect-ratio:16/11;flex:none}.home-assembly-caption{min-height:6.5rem}}@media (prefers-reduced-motion:reduce){.home-assembly-pin{height:80vh;position:relative;top:auto}}