/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.ide-page{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.ide-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px}.ide-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);flex-shrink:0;z-index:10}.ide-header-left{display:flex;align-items:center;gap:12px}.ide-header-right{display:flex;align-items:center;gap:10px}.ide-title{display:flex;align-items:baseline;gap:8px}.ide-name{font-weight:800;font-size:15px;letter-spacing:.02em}.ide-workspace{font-size:12px;font-weight:500;color:var(--text-secondary);opacity:.7;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-machine-label{font-size:9px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);padding:2px 8px;border-radius:10px;letter-spacing:.03em;white-space:nowrap}.ide-badge{font-size:9px;font-weight:800;letter-spacing:.08em;color:var(--accent-primary);background:#6366f11a;padding:2px 8px;border-radius:6px}.ide-status-pill{display:flex;align-items:center;gap:5px;padding:3px 10px;background:var(--bg-secondary);border-radius:20px;border:1px solid var(--border-subtle)}.ide-dot{width:6px;height:6px;border-radius:50%;transition:background .3s}.ide-dot.online{background:var(--status-online);box-shadow:0 0 8px var(--status-online)}.ide-dot.connecting{background:#fbbf24;animation:pulse-dot 1.5s ease-in-out infinite}.ide-status-text{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.ide-view-toggle{display:flex;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden}.ide-view-btn{padding:6px 12px;background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;transition:all .15s}.ide-view-btn.active{background:var(--surface-primary);color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.ide-view-btn:hover:not(.active){background:var(--bg-glass-hover)}.ide-back-btn{padding:6px 14px;font-size:12px;font-weight:700;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:opacity .15s}.ide-back-btn:hover{opacity:.85}.ide-content{flex:1;display:flex;min-height:0;overflow:hidden}.ide-chat-panel{width:420px;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);background:var(--surface-secondary);transition:flex .3s ease,width .3s ease,opacity .25s ease,min-width .3s ease;opacity:1;overflow:hidden}.ide-chat-panel.hidden{flex:0!important;width:0!important;min-width:0!important;opacity:0;border-right:none;pointer-events:none;overflow:hidden}.ide-chat-panel.full{width:100%;max-width:720px;margin:0 auto;border-right:none}.ide-chat-tabs{display:flex;border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0}.ide-chat-tab{flex:1;padding:10px 16px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:11px;font-weight:700;cursor:pointer;letter-spacing:.04em;transition:all .15s}.ide-chat-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary);background:var(--surface-primary)}.ide-chat-tab.ext.active{border-bottom-color:#22d3ee}.ide-ext-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#22d3ee26;color:#22d3ee;font-size:10px;font-weight:700;margin-left:6px}.ide-chat-header{padding:14px 18px 10px;border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);flex-shrink:0}.ide-chat-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.ide-chat-header-info{display:flex;align-items:center;gap:10px}.ide-chat-label{font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--text-muted)}.ide-chat-status{font-size:10px;font-weight:600;color:var(--status-online)}.ide-chat-header-actions{display:flex;gap:6px;align-items:center}.ide-btn-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s}.ide-btn-icon:hover{background:var(--bg-glass-hover)}.ide-btn-primary-sm{padding:4px 10px;font-size:11px;font-weight:700;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:opacity .15s}.ide-btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.ide-chat-title{font-size:13px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ide-history{border-bottom:1px solid var(--border-subtle);flex-shrink:0}.ide-history-header{display:flex;justify-content:space-between;align-items:center;padding:8px 18px;font-size:10px;font-weight:700;color:var(--text-muted);cursor:pointer;background:var(--surface-tertiary);transition:background .15s}.ide-history-header:hover{background:var(--bg-glass-hover)}.ide-history-toggle{font-size:8px;opacity:.6}.ide-history-list{max-height:120px;overflow:hidden;transition:max-height .25s ease}.ide-history-list.expanded{max-height:300px;overflow-y:auto}.ide-history-item{padding:8px 18px;font-size:12px;font-weight:500;cursor:pointer;border-bottom:1px solid var(--border-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background .1s}.ide-history-item:hover{background:var(--bg-glass-hover)}.ide-history-item.active{color:var(--accent-primary-light);border-left:3px solid var(--accent-primary);background:#6366f10f}.ide-approval{padding:14px 18px;background:linear-gradient(135deg,#f59e0b1f,#d9770614);border-bottom:1px solid rgba(245,158,11,.2);flex-shrink:0;animation:slide-down .2s ease-out}.ide-approval-label{font-size:11px;font-weight:800;color:#f59e0b;margin-bottom:8px;letter-spacing:.03em}.ide-approval-msg{font-size:12px;line-height:1.5;color:var(--text-primary);margin-bottom:10px;white-space:pre-wrap;word-break:break-word;max-height:80px;overflow:hidden}.ide-approval-buttons{display:flex;gap:8px;flex-wrap:wrap}.ide-approval-btn{flex:1;min-width:80px;padding:8px 14px;border:none;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer;background:var(--surface-tertiary);color:var(--text-primary);transition:all .15s}.ide-approval-btn:hover{filter:brightness(1.1)}.ide-approval-btn.primary{background:var(--status-online);color:#fff}.ide-chat-messages{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ide-chat-empty{text-align:center;margin-top:80px;display:flex;flex-direction:column;align-items:center;gap:12px}.ide-chat-empty-icon{font-size:36px;opacity:.12}.ide-chat-empty-text{opacity:.2;font-size:12px;font-weight:600}.ide-chat-empty-bar{width:32px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);animation:shimmer 2s ease-in-out infinite}.ide-chat-input-wrap{border-top:1px solid var(--border-subtle);background:var(--surface-primary);flex-shrink:0}.ide-chat-input-row{display:flex;gap:10px;align-items:center;padding:10px 18px 16px}.ide-chat-input{flex:1;height:40px;padding:0 16px;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:20px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .2s}.ide-chat-input:focus{border-color:var(--accent-primary)}.ide-btn-send{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);color:var(--text-muted);border:none;cursor:default;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.ide-btn-send:not(:disabled){background:var(--accent-primary);color:#fff;cursor:pointer}.ide-btn-send:disabled{opacity:1}.ide-btn-send:hover:not(:disabled){opacity:.9}.ide-model-bar{display:flex;align-items:center;gap:6px;padding:8px 18px 0;flex-wrap:wrap}.ide-model-agent{font-size:9px;font-weight:700;text-transform:uppercase;color:var(--accent-primary);opacity:.7;letter-spacing:.03em}.ide-model-sep{color:var(--border-subtle);font-size:10px}.ide-chip-wrap{position:relative}.ide-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:500;cursor:pointer;border:1px solid transparent;background:var(--surface-tertiary);color:var(--text-secondary);white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis;transition:all .15s}.ide-chip.open{border-color:#6366f159}.ide-chip:hover{background:var(--bg-glass-hover)}.ide-chip-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59}.ide-chip-dropdown{position:absolute;bottom:100%;left:0;z-index:60;background:var(--surface-primary);border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:4px;max-height:220px;overflow-y:auto;min-width:160px;box-shadow:0 -4px 20px #00000059;animation:slide-up .12s ease-out}.ide-chip-dropdown-title{padding:6px 12px;font-size:9px;font-weight:700;color:var(--text-muted);letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.ide-chip-option{padding:7px 12px;font-size:11px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);border-left:2px solid transparent;transition:background .1s}.ide-chip-option:hover{background:#6366f114}.ide-chip-option.selected{color:var(--accent-primary);font-weight:600;background:#6366f11a;border-left-color:var(--accent-primary)}.ide-remote-panel{flex:1;display:flex;flex-direction:column;background:#000;min-width:0;transition:flex .3s ease,opacity .25s ease;opacity:1;overflow:hidden}.ide-remote-panel.hidden{flex:0!important;opacity:0;pointer-events:none;overflow:hidden}.ide-remote-panel.full{flex:1}.ide-toasts{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.ide-toast{padding:10px 18px;border-radius:12px;font-size:13px;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000004d;pointer-events:auto;cursor:pointer;animation:toast-in .25s ease-out;max-width:360px}.ide-toast.success{background:#10b981eb;color:#fff}.ide-toast.warning{background:#f59e0beb;color:#fff}.ide-toast.info{background:#6366f1eb;color:#fff}@keyframes shimmer{0%,to{opacity:.2}50%{opacity:.6}}@keyframes pulse-dot{0%,to{opacity:.6}50%{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.ide-page{height:100%;height:100dvh}.ide-header{padding:8px 12px 8px 56px;min-height:48px;gap:8px}.ide-header-left{gap:8px;min-width:0;flex:1}.ide-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.ide-workspace,.ide-machine-label,.ide-badge{display:none}.ide-status-pill{padding:2px 8px}.ide-header-right{gap:6px;flex-shrink:0}.ide-view-btn{padding:5px 10px;font-size:13px}.ide-back-btn{padding:5px 10px;font-size:11px}.ide-content{flex-direction:column}.ide-chat-panel{width:100%;border-right:none;flex:1;min-height:0;order:2}.ide-chat-panel.full{max-width:100%}.ide-remote-panel{flex:1;min-height:0;order:1}.ide-remote-panel.full{flex:1}.ide-chat-input-row{padding:8px 12px 12px}.ide-chat-input{height:36px;font-size:13px}.ide-toasts{top:auto;bottom:16px;right:12px;left:12px}.ide-toast{max-width:100%}}@media (min-width: 769px){.ide-content{flex-direction:row}}:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-card: rgba(17, 24, 39, .7);--bg-glass: rgba(255, 255, 255, .04);--bg-glass-hover: rgba(255, 255, 255, .08);--surface-primary: #0f1419;--surface-secondary: #151b24;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-accent: rgba(99, 102, 241, .4);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-primary: #6366f1;--accent-primary-light: #818cf8;--accent-secondary: #06b6d4;--accent-gradient: linear-gradient(135deg, #6366f1, #06b6d4);--status-online: #22c55e;--status-idle: #eab308;--status-busy: #f97316;--status-error: #ef4444;--status-offline: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 24px rgba(99, 102, 241, .15);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition: .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}a{color:var(--accent-primary-light);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-secondary)}.chat-markdown{font-size:inherit;line-height:1.6;white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-width:0}.chat-markdown p{margin:0 0 .6em}.chat-markdown p:first-child{margin-top:0}.chat-markdown p:last-child{margin-bottom:0}.chat-markdown strong{font-weight:700}.chat-markdown em{font-style:italic}.chat-markdown code{font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.9em;padding:.15em .35em;border-radius:4px;background:#ffffff14;color:var(--accent-primary-light)}.chat-markdown pre{margin:.5em 0;padding:12px 14px;border-radius:8px;background:#00000059;overflow-x:auto;font-size:.88em}.chat-markdown pre code{padding:0;background:none;color:inherit}.chat-markdown ul,.chat-markdown ol{margin:.4em 0;padding-left:1.4em}.chat-markdown li{margin:.2em 0}.chat-markdown h1,.chat-markdown h2,.chat-markdown h3{margin:.75em 0 .35em;font-weight:700}.chat-markdown h1{font-size:1.25em}.chat-markdown h2{font-size:1.1em}.chat-markdown h3{font-size:1em}.chat-markdown blockquote{margin:.5em 0;padding-left:1em;border-left:3px solid var(--border-default);color:var(--text-secondary)}.chat-markdown .markdown-alert{border-left:.25em solid var(--color-border-default, var(--border-default));color:inherit;margin:.5em 0 1em;padding:.5rem 1em}.chat-markdown .markdown-alert>:last-child{margin-bottom:0!important}.chat-markdown .markdown-alert .markdown-alert-title{align-items:center;display:flex;font-size:14px;font-weight:500;line-height:1}.chat-markdown .markdown-alert .markdown-alert-title svg.octicon{margin-right:8px;fill:currentColor}.chat-markdown .markdown-alert-note{border-left-color:var(--accent-primary)}.chat-markdown .markdown-alert-note .markdown-alert-title{color:var(--accent-primary-light)}.chat-markdown .markdown-alert-tip{border-left-color:var(--status-online)}.chat-markdown .markdown-alert-tip .markdown-alert-title{color:var(--status-online)}.chat-markdown .markdown-alert-important{border-left-color:#a371f7}.chat-markdown .markdown-alert-important .markdown-alert-title{color:#a371f7}.chat-markdown .markdown-alert-warning{border-left-color:var(--status-idle)}.chat-markdown .markdown-alert-warning .markdown-alert-title{color:var(--status-idle)}.chat-markdown .markdown-alert-caution{border-left-color:var(--status-error)}.chat-markdown .markdown-alert-caution .markdown-alert-title{color:var(--status-error)}.chat-markdown table{border-collapse:collapse;margin:.5em 0;width:100%;font-size:.95em}.chat-markdown th,.chat-markdown td{border:1px solid var(--border-subtle);padding:.35em .6em;text-align:left}.chat-markdown th{background:#ffffff0f;font-weight:600}.app-layout{display:flex;height:100%;min-height:0;overflow:hidden}.sidebar{width:260px;background:var(--bg-secondary);border-right:1px solid var(--border-subtle);padding:24px 16px;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:30;overflow-y:auto;overflow-x:hidden}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 8px 24px;border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.sidebar-logo span{font-size:20px;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);border:1px solid transparent}.nav-item:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.nav-item.active{background:#6366f11a;color:var(--accent-primary-light);border-color:var(--border-accent)}.nav-icon{font-size:18px;width:22px;text-align:center}.sidebar{transition:width .2s ease,padding .2s ease}.main-content{transition:margin-left .2s ease}.sidebar-collapsed .sidebar{width:56px!important;padding:16px 8px!important;overflow:hidden}.sidebar-collapsed .main-content{margin-left:56px}@media (max-width: 768px){.sidebar-collapsed .main-content{margin-left:0}}.dashboard-header{padding:16px 24px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:var(--surface-primary);animation:fadeIn .3s ease-out forwards}.header-title{font-size:18px;font-weight:700;margin:0;color:var(--text-primary);display:flex;align-items:center;gap:10px;letter-spacing:-.02em}.header-count-mobile{display:none}.header-subtitle{display:flex;font-size:13px;color:var(--text-muted);margin:4px 0 0}.page-content{flex:1;overflow-y:auto;padding:20px 24px;animation:fadeIn .4s ease-out forwards}.main-content{flex:1;min-height:0;margin-left:260px;padding:0;display:flex;flex-direction:column;overflow:hidden}.main-content:has(.page-dashboard) .main-content-inner,.main-content:has(.page-ide) .main-content-inner{overflow:hidden}.main-content-inner{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}.page-header{margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.page-header p{color:var(--text-secondary);font-size:15px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all var(--transition)}.card:hover{border-color:var(--border-default);box-shadow:var(--shadow-glow)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:16px;font-weight:600;letter-spacing:-.01em}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px;transition:all var(--transition)}.stat-card:hover{background:var(--bg-glass-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-value{font-size:32px;font-weight:800;letter-spacing:-.02em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:13px;color:var(--text-muted);margin-top:4px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.ide-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;transition:all var(--transition);cursor:pointer}.ide-card:hover{background:var(--bg-glass-hover);border-color:var(--border-accent);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.ide-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.ide-icon{font-size:28px}.ide-name{font-size:16px;font-weight:600}.ide-version{font-size:12px;color:var(--text-muted)}.ide-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px}.ide-status .dot{width:8px;height:8px;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}.ide-status.online{color:var(--status-online);background:#22c55e1a}.ide-status.online .dot{background:var(--status-online)}.ide-status.idle{color:var(--status-idle);background:#eab3081a}.ide-status.idle .dot{background:var(--status-idle)}.ide-status.offline{color:var(--status-offline);background:#64748b1a}.ide-status.offline .dot{background:var(--status-offline)}.agent-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.agent-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;background:var(--bg-glass);border:1px solid var(--border-subtle);transition:all var(--transition)}.agent-badge:hover{background:var(--bg-glass-hover)}.agent-badge.active{border-color:var(--status-online);color:var(--status-online)}.agent-badge.waiting{border-color:var(--status-idle);color:var(--status-idle)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition);border:1px solid transparent;letter-spacing:-.01em}.btn-primary{background:var(--accent-gradient);color:#fff;border:none;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:var(--bg-glass-hover);border-color:var(--border-accent)}.btn-sm{padding:6px 14px;font-size:13px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:14px;margin-bottom:24px;max-width:400px;margin-inline:auto}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.15),transparent 60%);top:-200px;right:-100px;pointer-events:none}.login-page:after{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(6,182,212,.1),transparent 60%);bottom:-150px;left:-100px;pointer-events:none}.login-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:48px;width:100%;max-width:420px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);position:relative;z-index:1}.login-card h1{font-size:28px;font-weight:800;text-align:center;margin-bottom:8px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card p{text-align:center;color:var(--text-secondary);font-size:15px;margin-bottom:32px}.login-btn{width:100%;padding:14px;border-radius:var(--radius-md);font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;border:1px solid var(--border-default);background:var(--bg-glass);color:var(--text-primary)}.login-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-btn svg{width:20px;height:20px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}.input-field{flex:1;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:#0000004d;color:var(--text-primary);font-family:var(--font);font-size:13px;transition:all var(--transition);outline:none}.input-field:focus{border-color:var(--border-accent);box-shadow:0 0 0 2px #6366f126}.input-field::placeholder{color:var(--text-muted)}.ws-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;transition:all var(--transition)}.ws-indicator .dot{width:8px;height:8px;border-radius:50%}.ws-indicator.connected{color:var(--status-online);background:#22c55e1a}.ws-indicator.connected .dot{background:var(--status-online);animation:pulse-dot 2s ease-in-out infinite}.ws-indicator.connecting{color:var(--status-idle);background:#eab3081a}.ws-indicator.connecting .dot{background:var(--status-idle);animation:pulse-dot 1s ease-in-out infinite}.ws-indicator.disconnected{color:var(--status-error);background:#ef44441a}.ws-indicator.disconnected .dot{background:var(--status-error)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}.mobile-menu-btn{display:none;position:fixed;top:6px;left:12px;z-index:100;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;box-shadow:var(--shadow-sm)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:25}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 24px;border-bottom:1px solid var(--border-subtle);margin-bottom:24px}.sidebar .sidebar-logo{padding:0;margin-bottom:0;border-bottom:none}.sidebar-close-btn{display:none;width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-glass);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:18px;cursor:pointer;align-items:center;justify-content:center}.mobile-menu-icon{display:block;width:20px;height:2px;background:currentColor;border-radius:1px}@media (max-width: 768px){.mobile-menu-btn{display:flex}.sidebar{transform:translate(-100%);transition:transform .25s ease-out}.sidebar.sidebar-open{transform:translate(0)}.sidebar-close-btn{display:flex}.sidebar-collapsed .sidebar-close-btn{display:none}.sidebar-overlay{display:block}.app-layout.mobile-menu-open .mobile-menu-btn{visibility:hidden}.main-content{margin-left:0;padding:0}.desktop-only{display:none!important}.page-dashboard{padding-top:0}.dashboard-header{padding:8px 12px 8px 56px;min-height:48px;box-sizing:border-box}.header-title{font-size:14px;margin:0}.header-subtitle{display:none!important}.header-count-mobile{display:inline!important}.dashboard-header .btn-sm{padding:4px 8px!important;font-size:11px!important;min-width:32px!important;min-height:32px!important}.page-content{padding:16px 12px}.page-header{margin-bottom:16px;padding-left:44px}.page-header h1{font-size:20px}.page-header p{font-size:13px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.dashboard-agent-tabs{flex-shrink:0;min-height:72px}.dashboard-agent-tabs::-webkit-scrollbar{height:4px}.dashboard-agent-tabs::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:4px}.agent-chat-bubble{box-shadow:0 4px 12px #0000001a;transition:transform .2s}.agent-chat-bubble:hover{transform:scale(1.01)}.file-explorer-item:hover{background:var(--bg-glass-hover);color:var(--accent-primary-light)}.editor-tab-active{background:var(--bg-primary);border-bottom:2px solid var(--accent-primary)}.glow-text{text-shadow:0 0 10px rgba(99,102,241,.4)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.agent-tab-working{border-image:linear-gradient(135deg,#10b981,#06b6d4) 1!important;animation:tab-pulse 2s ease-in-out infinite}@keyframes tab-pulse{0%,to{box-shadow:0 0 #10b9814d}50%{box-shadow:0 0 20px 2px #10b98126}}.agent-tab-waiting{border-image:linear-gradient(135deg,#f59e0b,#ef4444) 1!important;animation:tab-pulse-warn 1.5s ease-in-out infinite}@keyframes tab-pulse-warn{0%,to{box-shadow:0 0 #f59e0b4d}50%{box-shadow:0 0 20px 2px #f59e0b26}}.typing-indicator{display:flex;align-items:center;gap:6px;padding:14px 20px}.typing-indicator .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary-light);animation:typing-bounce 1.4s ease-in-out infinite}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-8px);opacity:1}}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill.idle{background:#94a3b81a;color:#94a3b8}.status-pill.working{background:#10b98126;color:#10b981}.tab-spinner{width:12px;height:12px;border:2px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}.status-pill.waiting{background:#f59e0b26;color:#f59e0b}.status-bar{display:flex;align-items:center;gap:8px;padding:6px 20px;font-size:11px;font-weight:600;border-top:1px solid var(--border-subtle);background:var(--bg-secondary);transition:all .3s ease}.status-bar.generating{background:#10b9810f;border-top-color:#10b98133;color:#10b981}.status-bar.waiting_approval{background:#f59e0b0f;border-top-color:#f59e0b33;color:#f59e0b}.status-bar.idle{color:var(--text-muted)}.status-bar .status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-bar.generating .status-dot{background:#10b981;animation:pulse-dot 1.5s ease-in-out infinite}.status-bar.waiting_approval .status-dot{background:#f59e0b;animation:pulse-dot 1s ease-in-out infinite}.status-bar.idle .status-dot{background:#64748b}.desktop-only{display:none}@media (min-width: 769px){.desktop-only{display:inline}}.empty-dashboard{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;opacity:.6;padding:40px}.empty-dashboard .glow-orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.2),transparent 70%);display:flex;align-items:center;justify-content:center;font-size:48px;animation:orb-float 3s ease-in-out infinite}@keyframes orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.page-dashboard{flex:1;min-height:0}.dashboard-header{padding:8px 12px 8px 56px;min-height:48px}.dashboard-agent-tabs{padding:8px;gap:6px;min-height:60px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.dashboard-agent-tabs>div{scroll-snap-align:start;min-width:140px;max-width:180px;padding:10px 12px}.page-dashboard .chat-markdown{font-size:13px}.dashboard-input-area{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.status-bar{padding:4px 12px;font-size:10px}.page-dashboard .card.fade-in{width:100%;max-width:100%;max-height:100%;border-radius:0;height:100%}.page-dashboard [style*=aspectRatio]{aspect-ratio:3 / 1!important;max-height:100px}.dashboard-header button,.dashboard-header a{min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}}@media (max-width: 375px){.dashboard-header{padding:8px 8px 8px 52px}.dashboard-agent-tabs>div{min-width:120px;max-width:150px}}@media (display-mode: standalone){.landing-nav{display:none}body{-webkit-user-select:none;user-select:none;padding-top:env(safe-area-inset-top,0px)}.sidebar{padding-top:calc(24px + env(safe-area-inset-top,0px))}.mobile-menu-btn{top:calc(6px + env(safe-area-inset-top,0px))}.chat-markdown,.agent-chat-bubble{-webkit-user-select:text;user-select:text}}@media (hover: none){.feature-card:hover,.step:hover,.pricing-card:hover,.supported-item:hover{transform:none!important;box-shadow:none!important}.agent-chat-bubble:hover{transform:none!important}}@media (max-height: 500px) and (max-width: 900px){.dashboard-agent-tabs{min-height:52px!important}.status-bar{padding:2px 12px!important}}.machine-card{background:#0f172a99;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(139,92,246,.12);border-radius:14px;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;position:relative}.machine-card.offline{border-color:#ffffff0a}.machine-card:hover{border-color:#8b5cf640;box-shadow:0 4px 20px #8b5cf614}.machine-accent{height:2px;background:linear-gradient(90deg,#8b5cf6,#6366f1 40%,#3b82f6)}.machine-accent.offline{background:#64748b33}.section-panel{padding:16px 20px;border-radius:12px;background:#0f172a80;border:1px solid rgba(255,255,255,.06)}.section-label{font-size:11px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.section-label-sm{font-size:9px;color:#475569;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.status-dot-sm{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dot-md{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-sm.online,.status-dot-md.online{background:#22c55e;box-shadow:0 0 8px #22c55e66;animation:pulse-dot 2s infinite}.status-dot-sm.active,.status-dot-md.active{background:#f97316;box-shadow:0 0 6px #f9731666;animation:pulse-dot 1.5s infinite}.status-dot-sm.offline,.status-dot-md.offline{background:#64748b}.agent-card-inner{padding:8px 12px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);transition:all .2s}.agent-card-inner.active{background:#f973160d;border-color:#f973161f}.machine-btn{background:#ffffff0a;color:#94a3b8;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 10px;cursor:pointer;font-size:11px;transition:all .2s;font-family:var(--font)}.machine-btn:hover{background:#ffffff14;border-color:#ffffff26}.machine-btn-primary{background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;border:none;border-radius:8px;padding:8px 16px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s;box-shadow:0 2px 8px #7c3aed33;font-family:var(--font)}.machine-btn-primary:hover{box-shadow:0 4px 16px #7c3aed4d;transform:translateY(-1px)}.machine-btn-back{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#94a3b8;padding:6px 12px;cursor:pointer;font-size:14px;transition:all .2s;font-family:var(--font)}.machine-btn-back:hover{background:#ffffff14}.machine-input{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.08);background:#0f172a99;color:#e2e8f0;font-size:12px;font-family:var(--font);outline:none;transition:border-color .2s}.machine-input:focus{border-color:#8b5cf666}.p2p-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#080c16d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;animation:fadeIn .3s ease-out}.active-feed{background:#0f172a66;border:1px solid rgba(249,115,22,.1);border-radius:12px;padding:12px 16px;margin-bottom:16px}.machine-empty{padding:80px 40px;text-align:center;background:#0f172a66;border:2px dashed rgba(255,255,255,.06);border-radius:20px}.machine-empty-inline{padding:30px 20px;text-align:center;border-radius:12px;background:#0f172a66;border:1px dashed rgba(255,255,255,.06);color:#475569;font-size:13px}.machine-tabs{display:flex;gap:2px;margin-top:14px}.machine-tab{padding:8px 16px;border:none;border-radius:8px 8px 0 0;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background:transparent;color:#64748b;border-bottom:2px solid transparent;font-family:var(--font)}.machine-tab.active{background:#8b5cf61f;color:#a78bfa;border-bottom-color:#8b5cf6}.machine-tab:hover:not(.active){color:#94a3b8;background:#ffffff08}.machine-tab .tab-count{margin-left:6px;padding:1px 6px;border-radius:10px;font-size:10px}.machine-tab.active .tab-count{background:#8b5cf633;color:#c4b5fd}.machine-tab:not(.active) .tab-count{background:#ffffff0a;color:#64748b}.machine-log-viewer{background:#0f172a99;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:12px;min-height:200px;max-height:500px;overflow-y:auto;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.6}@media (max-width: 768px){.machine-card{border-radius:10px}.section-panel{padding:12px 14px}.machine-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.machine-tab{padding:6px 12px;font-size:12px;white-space:nowrap}.machine-empty{padding:40px 20px}}.playground-panel{background:var(--bg-card);border:1px solid var(--border-accent);border-radius:var(--radius-lg);overflow:hidden;animation:fadeIn .3s ease-out}.playground-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);background:#6366f10a}.playground-header h3{margin:0;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}.playground-body{padding:20px}.playground-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.preset-btn{padding:5px 12px;border-radius:6px;cursor:pointer;font-size:12px;border:1px solid var(--border-subtle);background:#ffffff08;color:var(--text-secondary);font-weight:500;transition:all .15s;font-family:var(--font)}.preset-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f10f}.preset-btn.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#6366f11a}.preset-method{font-weight:700;margin-right:4px;font-size:10px;opacity:.7}.playground-url-bar{display:flex;gap:8px;margin-bottom:12px}.playground-method-select{padding:10px 12px;border-radius:8px;border:1px solid var(--border-subtle);background:#0000004d;font-weight:700;font-size:13px;width:100px;cursor:pointer;font-family:var(--font);outline:none;transition:border-color .2s}.playground-method-select:focus{border-color:var(--accent-primary)}.playground-method-select.method-get{color:#22c55e}.playground-method-select.method-post{color:#3b82f6}.playground-method-select.method-patch{color:#f59e0b}.playground-method-select.method-delete{color:#ef4444}.playground-path-input{flex:1;padding:10px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:#0000004d;color:var(--text-primary);font-size:13px;font-family:ui-monospace,monospace;box-sizing:border-box;outline:none;transition:border-color .2s}.playground-path-input:focus{border-color:var(--accent-primary)}.playground-send-btn{padding:10px 20px;border-radius:8px;cursor:pointer;border:none;font-weight:700;font-size:13px;background:var(--accent-gradient);color:#fff;min-width:80px;transition:all .2s;font-family:var(--font)}.playground-send-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.playground-send-btn:disabled{background:#64748b33;color:var(--text-muted);cursor:wait}.playground-body-editor{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--border-subtle);background:#0000004d;color:var(--text-primary);font-size:13px;resize:vertical;font-family:ui-monospace,monospace;box-sizing:border-box;line-height:1.5;outline:none;transition:border-color .2s;min-height:100px}.playground-body-editor:focus{border-color:var(--accent-primary)}.playground-response{border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle);margin-top:16px;animation:fadeIn .25s ease-out}.playground-response-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#0003;border-bottom:1px solid var(--border-subtle)}.playground-response-status{display:flex;align-items:center;gap:10px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%}.playground-response-body{margin:0;padding:14px;background:#00000026;font-size:12px;color:var(--text-secondary);font-family:ui-monospace,monospace;max-height:400px;overflow:auto;line-height:1.6;white-space:pre-wrap;word-break:break-all}.json-key{color:#818cf8}.json-string{color:#22c55e}.json-number{color:#f59e0b}.json-bool{color:#06b6d4}.json-null{color:#64748b;font-style:italic}.playground-toolbar{display:flex;gap:6px;margin-top:8px}.playground-tool-btn{padding:4px 10px;border-radius:6px;cursor:pointer;font-size:11px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-family:var(--font);transition:all .15s}.playground-tool-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary-light);background:#6366f10f}.apikey-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;padding:18px 20px;transition:all .2s}.apikey-card:hover{border-color:var(--border-default);background:var(--bg-glass-hover)}.apikey-scope-tag{font-size:11px;padding:3px 10px;border-radius:6px;font-weight:500;display:inline-block}.apikey-created-banner{background:#22c55e14;border:1px solid rgba(34,197,94,.3);border-radius:14px;padding:20px;margin-bottom:20px;animation:fadeIn .3s ease-out}.history-panel{border-top:1px solid var(--border-subtle);margin-top:16px;padding-top:12px}.history-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-muted);transition:all .15s}.history-item:hover{background:var(--bg-glass-hover);color:var(--text-secondary)}.history-method{font-weight:700;font-size:10px;padding:2px 6px;border-radius:4px;min-width:36px;text-align:center}.history-method.get{background:#22c55e26;color:#22c55e}.history-method.post{background:#3b82f626;color:#3b82f6}.history-method.patch{background:#f59e0b26;color:#f59e0b}.history-method.delete{background:#ef444426;color:#ef4444}@media (max-width: 768px){.playground-url-bar{flex-direction:column}.playground-method-select{width:100%}.playground-presets{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}}
