:root,:root[data-theme=dark]{color-scheme:dark;--bg-editor: #1e1e1e;--bg-sidebar: #252526;--bg-activity: #333333;--bg-titlebar: #3c3c3c;--bg-tabs: #2d2d2d;--bg-statusbar: #0E0D6A;--bg-statusbar-busy: #cc6633;--bg-statusbar-bad: #c4314b;--bg-modal: #252526;--bg-input: #3c3c3c;--hover: #2a2d2e;--selected: #0E0D6A;--selected-inactive: #37373d;--border: #1e1e1e;--border-soft: #3c3c3c;--fg: #cccccc;--fg-dim: #969696;--fg-strong: #e7e7e7;--link: #6f97c8;--accent: #0E0D6A;--accent-hover: #009DEC;--danger: #f14c4c;--warn: #cca700;--ok: #4ec9b0;--button-secondary-hover: #4c4c4c;--button-danger-hover: #5a1d1d;--badge-warn-bg: #2a2010;--badge-warn-fg: #ffc35f;--badge-warn-border: #5c4220;--badge-success-bg: #112116;--badge-success-border: #1f4d2f;--badge-failed-bg: #20121a;--badge-failed-border: #4a1f29;--surface-page-from: #0b0f1a;--surface-page-to: #0a0d18;--surface-card: #1a1f2b;--surface-input: #131724;--surface-subtle: #131724;--surface-overlay-rgb: 0, 0, 0;--text-primary: #e3e8ef;--text-secondary: #aab2bb;--text-muted: #8a93a0;--text-on-accent: #ffffff;--text-link: #86D6FF;--text-link-hover: #B9E8FF;--border-default: #2a3140;--border-strong: #2f3640;--border-tab: #2a3140;--accent-primary: #0E0D6A;--accent-primary-hover: #009DEC;--accent-primary-press: #15315f;--accent-secondary: #FF0066;--accent-secondary-soft-bg: rgba(255, 0, 102, .14);--accent-secondary-soft-fg: #ff99c2;--accent-secondary-soft-border: rgba(255, 153, 194, .45);--focus-ring: 0 0 0 3px rgba(134, 214, 255, .15);--state-success-bg: rgba(46, 167, 87, .18);--state-success-fg: #5fd087;--state-success-strong: #2ea757;--state-warning-bg: rgba(245, 167, 0, .16);--state-warning-fg: #ffd06a;--state-warning-strong: #f5a700;--state-error-bg: rgba(196, 49, 75, .18);--state-error-fg: #ff8896;--state-error-strong: #c4314b;--state-info-bg: rgba(155, 155, 155, .12);--state-info-fg: #BCBCBC;--state-info-strong: #9B9B9B;--shadow-card: 0 4px 16px -8px rgba(0, 0, 0, .55);--shadow-card-hover: 0 16px 32px -16px rgba(0, 0, 0, .6);--shadow-modal: 0 24px 60px -20px rgba(0, 0, 0, .65);--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 28px;--text-3xl: 36px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px}:root[data-theme=light]{color-scheme:light;--bg-editor: #ffffff;--bg-sidebar: #f3f3f3;--bg-activity: #2c2c2c;--bg-titlebar: #dddddd;--bg-tabs: #ececec;--bg-statusbar: #0E0D6A;--bg-statusbar-busy: #cc6633;--bg-statusbar-bad: #c4314b;--bg-modal: #f8f8f8;--bg-input: #ffffff;--hover: #eef3fa;--selected: #cfdcec;--selected-inactive: #e4e6f1;--border: #d4d4d4;--border-soft: #d4d4d4;--fg: #383a42;--fg-dim: #6c6c6c;--fg-strong: #1f1f1f;--link: #0E0D6A;--accent: #0E0D6A;--accent-hover: #009DEC;--danger: #d73a49;--warn: #b58900;--ok: #28a745;--button-secondary-hover: #c8c8c8;--button-danger-hover: #fbe5e8;--badge-warn-bg: #fff8e1;--badge-warn-fg: #8a6d00;--badge-warn-border: #f0d68f;--badge-success-bg: #e6f4ea;--badge-success-border: #b7dfc4;--badge-failed-bg: #fdecee;--badge-failed-border: #f3c2c8;--surface-page-from: #f5f8fc;--surface-page-to: #eef2f8;--surface-card: #ffffff;--surface-input: #ffffff;--surface-subtle: #f5f8fc;--surface-overlay-rgb: 14, 13, 106;--text-primary: #262626;--text-secondary: #595959;--text-muted: #7A7A7A;--text-on-accent: #ffffff;--text-link: #0E0D6A;--text-link-hover: #009DEC;--border-default: #e3e8ef;--border-strong: #d0d4db;--border-tab: #d8e0ea;--accent-primary: #0E0D6A;--accent-primary-hover: #009DEC;--accent-primary-press: #15315f;--accent-secondary: #FF0066;--accent-secondary-soft-bg: #fff0f6;--accent-secondary-soft-fg: #c4015c;--accent-secondary-soft-border: #FF99C2;--focus-ring: 0 0 0 3px rgba(14, 13, 106, .12);--state-success-bg: #e6f5ec;--state-success-fg: #1f7a3a;--state-success-strong: #2ea757;--state-warning-bg: #fff7e6;--state-warning-fg: #8a6d00;--state-warning-strong: #f5a700;--state-error-bg: #fdecee;--state-error-fg: #c4314b;--state-error-strong: #c4314b;--state-info-bg: #f1f3f6;--state-info-fg: #595959;--state-info-strong: #9B9B9B;--shadow-card: 0 4px 16px -8px rgba(14, 13, 106, .18);--shadow-card-hover: 0 16px 32px -16px rgba(14, 13, 106, .28);--shadow-modal: 0 24px 60px -20px rgba(14, 13, 106, .45)}*{box-sizing:border-box}:root{--font-stack-body: var(--font-body), var(--font-jp), -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;--font-stack-display: var(--font-display), var(--font-jp), -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;--font-stack-mono: var(--font-mono), ui-monospace, "JetBrains Mono", "Cascadia Mono", Consolas, monospace;--noise-bg: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");--dot-grid: radial-gradient(circle at 1px 1px, rgba(14, 13, 106, .18) 1.2px, transparent 1.6px);--dot-grid-on-dark: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .13) 1.2px, transparent 1.6px)}html,body{margin:0;background:var(--bg-editor);color:var(--fg);font-family:var(--font-stack-body);font-size:13px;line-height:1.5;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:transparent;color:var(--text-primary);border:1px solid transparent;border-radius:4px;padding:6px 14px;transition:background-color .12s cubic-bezier(.4,.4,0,1),border-color .12s cubic-bezier(.4,.4,0,1),color .12s cubic-bezier(.4,.4,0,1)}button:hover:not(:disabled){background:var(--surface-subtle)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--accent-primary);color:var(--text-on-accent);border-color:var(--accent-primary);font-weight:600;box-shadow:0 2px 6px -2px #0e0d6a59}button.primary:hover:not(:disabled){background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);box-shadow:0 4px 10px -3px #009dec73}button.secondary{background:var(--surface-card);border-color:var(--border-tab);color:var(--text-primary)}button.secondary:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--accent-primary);color:var(--accent-primary)}button.danger{background:var(--surface-card);border-color:var(--accent-secondary-soft-border);color:var(--accent-secondary-soft-fg)}button.danger:hover:not(:disabled){background:var(--accent-secondary-soft-bg);border-color:var(--accent-secondary);color:var(--accent-secondary)}button.icon{padding:4px 6px;color:var(--fg-dim);border-radius:4px}button.icon:hover:not(:disabled){color:var(--fg);background:var(--hover)}input[type=text]{font:inherit;color:var(--fg);background:var(--bg-input);border:1px solid var(--border-soft);border-radius:2px;padding:4px 8px}input[type=text]:focus{outline:1px solid var(--accent);border-color:var(--accent)}.env-page button:not(.primary):not(.secondary):not(.danger):not(.icon){color:var(--text-primary)}.env-page button:not(.primary):not(.secondary):not(.danger):not(.icon):hover:not(:disabled){background:var(--surface-subtle)}.env-page button.icon{color:var(--text-secondary)}.env-page button.icon:hover:not(:disabled){background:var(--surface-subtle);color:var(--accent-primary)}.env-page input[type=text],.env-page input:not([type]),.env-page textarea{background:var(--surface-input);color:var(--text-primary);border-color:var(--border-strong);border-radius:4px;padding:6px 10px;transition:border-color .12s ease-out,box-shadow .12s ease-out}.env-page input[type=text]:focus,.env-page input:not([type]):focus,.env-page textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.env-page .muted{color:var(--text-muted)}.modal button:not(.primary):not(.secondary):not(.danger){color:var(--text-primary)}.modal input[type=text],.modal input:not([type]){background:var(--surface-input);color:var(--text-primary);border-color:var(--border-strong);border-radius:4px;padding:6px 10px}.modal input[type=text]:focus,.modal input:not([type]):focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.kag-app-header{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:linear-gradient(90deg,#0e0d6a,#384990 55%,#009dec);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px -8px #0a1c3c66;position:sticky;top:0;z-index:5}.kag-app-header__left{display:flex;align-items:center;gap:10px}.kag-app-header__title{margin:0;font-family:var(--font-stack-display);font-size:15px;font-weight:600;letter-spacing:.02em;color:#fff}.kag-app-header__nav{display:flex;align-items:center;gap:10px}.kag-app-header__who{font-size:12px;color:#ffffffd9}.kag-app-header__signout{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:3px;padding:4px 12px;font-size:12px;cursor:pointer;transition:.2s cubic-bezier(.4,.4,0,1)}.kag-app-header__signout:hover{background:#ffffff1f;border-color:#ffffff8c}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:36px;border-bottom:1px solid var(--border);background:var(--bg-titlebar);font-size:13px;position:sticky;top:0;z-index:5}.app-header h1{font-size:13px;font-weight:600;margin:0;letter-spacing:.04em;color:var(--fg-strong)}.app-header .who{color:var(--fg-dim);font-size:12px}.app-header nav{display:flex;gap:8px;align-items:center}.page{padding:24px}.env-page-shell{min-height:100vh;background:var(--noise-bg),radial-gradient(60% 50% at 100% 0%,rgba(0,157,236,.16),transparent 60%),radial-gradient(40% 35% at 0% 100%,rgba(255,0,102,.06),transparent 60%),linear-gradient(180deg,var(--surface-page-from) 0%,var(--surface-page-to) 100%);background-attachment:fixed,fixed,fixed,fixed;color:var(--text-primary)}.env-page{padding:var(--space-5);max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4);color:var(--text-primary)}.env-page-title{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.env-page-title h2{margin:0;font-family:var(--font-stack-mono);font-size:var(--text-xl);font-weight:600;color:var(--text-link);letter-spacing:-.015em}.env-page-title a{color:var(--text-link)}.env-page-title a:hover{color:var(--text-link-hover)}.env-page-title .icon{color:var(--text-secondary);background:transparent;border:1px solid var(--border-tab);border-radius:4px;padding:2px 8px;transition:.2s cubic-bezier(.4,.4,0,1)}.env-page-title .icon:hover:not(:disabled){background:var(--surface-card);border-color:var(--accent-primary);color:var(--accent-primary)}.env-page-title .grow{flex:1}.env-page-title a{color:var(--fg-dim);font-size:12px}.card-block{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-card)}.card-block h3{margin:0 0 var(--space-1) 0;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-link)}.card-block.files-block{padding:var(--space-4) var(--space-5) 0 var(--space-5)}.env-card-clickable{cursor:pointer;transition:background-color 80ms ease,border-color 80ms ease,transform 80ms ease}.env-card-clickable:hover{background:var(--hover);border-color:var(--accent)}.env-card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.creation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.creation-card{background:var(--bg-modal);border:1px solid var(--border-soft);border-radius:6px;padding:28px 36px;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:320px;text-align:center;animation:slideUp .24s ease-out}.creation-title{font-size:14px;font-weight:600;color:var(--fg-strong);font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace}.spinner{width:32px;height:32px;border:3px solid var(--border-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:4px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast-stack{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none;max-width:min(480px,calc(100vw - 40px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:10px 12px 10px 14px;border-radius:4px;border-left:3px solid var(--accent);background:var(--bg-modal);box-shadow:0 4px 16px #0006;font-size:13px;color:var(--fg);animation:slideUp .2s ease-out}.toast.toast-success{border-left-color:var(--ok)}.toast.toast-error{border-left-color:var(--danger)}.toast.toast-info{border-left-color:var(--accent)}.toast-msg{flex:1;line-height:1.4}.toast-close{background:transparent;border:none;color:var(--fg-dim);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;flex-shrink:0}.toast-close:hover{color:var(--fg)}.deploy-header-btn{font-weight:600;padding:6px 18px;margin-left:12px;font-size:var(--text-md);background:linear-gradient(90deg,#0e0d6a,#384990);color:#fff;border:1px solid #0E0D6A;border-radius:6px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease-out,background .2s ease-out;box-shadow:0 4px 12px -4px #0e0d6a59}.deploy-header-btn:hover:not(:disabled){background:linear-gradient(90deg,#0e0d6a,#009dec);border-color:#009dec;transform:translateY(-1px);box-shadow:0 8px 20px -6px #0e0d6a73}.deploy-header-btn:disabled{background:var(--border-strong);border-color:var(--border-strong);color:var(--text-muted);box-shadow:none}.share-toggle-btn{font-weight:600;padding:6px 14px;margin-left:8px;border:1px solid var(--border-tab);border-radius:6px;font-size:var(--text-sm);background:var(--surface-card);color:var(--text-secondary);transition:.2s cubic-bezier(.4,.4,0,1)}.share-toggle-btn.share-on{background:var(--accent-secondary-soft-bg);color:var(--accent-secondary-soft-fg);border-color:var(--accent-secondary-soft-border)}.share-toggle-btn.share-on:hover:not(:disabled){background:var(--accent-secondary-soft-bg);border-color:var(--accent-secondary);filter:brightness(.97)}.share-toggle-btn.share-off:hover:not(:disabled){background:var(--surface-subtle);color:var(--accent-primary);border-color:var(--accent-primary)}details.card-block.collapsible{display:block;padding:0;gap:0}details.card-block.collapsible>summary{list-style:none;cursor:pointer;padding:var(--space-3) var(--space-5);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-link);display:flex;align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none}details.card-block.collapsible>summary::-webkit-details-marker{display:none}details.card-block.collapsible>summary:before{content:"▸";display:inline-block;width:12px;font-size:10px;transition:transform .12s ease;color:var(--fg-dim)}details.card-block.collapsible[open]>summary:before{transform:rotate(90deg)}details.card-block.collapsible>summary:hover{color:var(--text-link-hover)}details.card-block.collapsible[open]>summary{color:var(--text-link);border-bottom:1px solid var(--border-default)}details.card-block.collapsible .collapsible-body{padding:var(--space-3) var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}details.card-block.collapsible.danger-zone[open]{border-color:var(--accent-secondary-soft-border);background:linear-gradient(180deg,var(--accent-secondary-soft-bg) 0%,var(--surface-card) 60px)}details.card-block.collapsible.danger-zone>summary{color:var(--accent-secondary-soft-fg)}details.card-block.collapsible.danger-zone>summary:hover{color:var(--accent-secondary)}details.card-block.collapsible.danger-zone[open]>summary{color:var(--accent-secondary-soft-fg);border-bottom-color:var(--accent-secondary-soft-border)}.setting-row,.action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.setting-row label{min-width:96px;color:var(--text-secondary);font-size:var(--text-base);font-weight:500}.action-row button{min-width:180px;text-align:left}.log-tabs,.env-tabs{display:flex;align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-tab);margin-bottom:var(--space-2)}.log-tab,.env-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;padding:var(--space-2) var(--space-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .12s cubic-bezier(.4,.4,0,1)}.log-tab:hover,.env-tab:hover{color:var(--text-link)}.log-tab.active,.env-tab.active{color:var(--text-link);border-bottom-color:var(--text-link)}.log-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--fg-dim)}.log-tab-dot.building{background:#d19a66;animation:pulse 1.4s ease-in-out infinite}.log-tab-dot.success{background:#98c379}.log-tab-dot.failed{background:#e06c75}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.log-pane-wrap{position:relative}.log-pane{margin:0;background:#1b1f25;border:1px solid #2f3640;border-radius:6px;padding:var(--space-2) var(--space-3);height:280px;overflow:auto;font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);line-height:1.5;color:#e3e8ef;white-space:pre-wrap;word-break:break-word}.log-pane .log-ts{color:#7a8595}.log-jump-bottom{position:absolute;right:14px;bottom:12px;padding:4px 14px;background:linear-gradient(90deg,#0e0d6a,#009dec);color:#fff;border:none;border-radius:999px;font-size:var(--text-xs);font-weight:600;cursor:pointer;box-shadow:0 4px 12px -4px #0e0d6a8c;opacity:.96;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.log-jump-bottom:hover{transform:translateY(-1px);opacity:1}.log-jump-bottom:hover{opacity:1}.log-line{display:flex;gap:10px}.log-ts{color:var(--fg-dim);flex-shrink:0;font-variant-numeric:tabular-nums}.log-msg{flex:1;min-width:0}.cred-value{flex:1;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:4px;padding:var(--space-1) var(--space-2);font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);color:var(--text-primary);-webkit-user-select:all;user-select:all;overflow-x:auto;white-space:nowrap;min-width:0}.embedded-editor{display:grid;grid-template-columns:240px 1fr;grid-template-rows:1fr 22px;grid-template-areas:"side main" "status status";height:min(70vh,640px);min-height:420px;background:var(--bg-editor);margin:var(--space-2) calc(-1 * var(--space-5)) 0 calc(-1 * var(--space-5));border-radius:0 0 8px 8px;overflow:hidden;border-top:1px solid var(--border-default)}.embedded-editor .sidebar{grid-area:side}.embedded-editor .editor-area{grid-area:main}.embedded-editor .embedded-statusbar{grid-area:status;background:var(--bg-statusbar);color:#fff;display:flex;align-items:center;font-size:12px;height:22px;padding:0}.embedded-editor .embedded-statusbar .item{padding:0 8px;height:100%;display:flex;align-items:center}.embedded-editor .embedded-statusbar .grow{flex:1}.env-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:16px}.env-card{background:var(--bg-sidebar);border:1px solid var(--border-soft);border-radius:4px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.env-card:hover{border-color:var(--accent)}.env-card .name{font-weight:600;color:var(--fg-strong)}.env-preview{position:relative;width:100%;aspect-ratio:16 / 10;margin-top:6px;border:1px solid var(--border-soft);border-radius:4px;overflow:hidden;background:var(--bg-input);pointer-events:none}.env-preview iframe{position:absolute;top:0;left:0;border:0;background:#fff}.env-preview-empty{display:flex;align-items:center;justify-content:center;font-size:12px}.env-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.status-pill.draft,.status-pill.hibernated{background:var(--state-info-bg);color:var(--state-info-fg)}.status-pill.building{background:var(--state-warning-bg);color:var(--state-warning-fg)}.status-pill.deployed{background:var(--state-success-bg);color:var(--state-success-fg)}.status-pill.failed{background:var(--state-error-bg);color:var(--state-error-fg)}.runtime-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.runtime-pill-ok{background:var(--state-success-bg);color:var(--state-success-fg)}.runtime-pill-warn{background:var(--state-warning-bg);color:var(--state-warning-fg)}.runtime-pill-bad{background:var(--state-error-bg);color:var(--state-error-fg)}.editor-shell{display:grid;grid-template-rows:36px 1fr 22px;grid-template-columns:48px 1fr;height:100vh;background:var(--bg-editor)}.editor-titlebar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:0 16px;background:var(--bg-titlebar);border-bottom:1px solid var(--border);font-size:13px}.editor-titlebar .grow{flex:1}.editor-titlebar .env-name{font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:12px;color:var(--fg-strong)}.editor-titlebar .env-link{color:var(--fg-dim);font-size:12px}.activity-bar{background:var(--bg-activity);display:flex;flex-direction:column;align-items:center;padding:6px 0;gap:4px;border-right:1px solid var(--border)}.activity-item{width:48px;height:48px;display:flex;align-items:center;justify-content:center;color:#858585;cursor:pointer;position:relative;border-left:2px solid transparent}.activity-item:hover{color:var(--fg-strong)}.activity-item.active{color:var(--fg-strong);border-left-color:var(--fg-strong)}.activity-item.disabled{color:#5a5a5a;cursor:not-allowed}.editor-body{display:grid;grid-template-columns:240px 1fr;min-height:0;border-top:1px solid var(--border)}.sidebar{background:var(--bg-sidebar);display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.sidebar-header{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);padding:8px 16px;display:flex;align-items:center;justify-content:space-between}.sidebar-header .header-actions{display:inline-flex;gap:2px;text-transform:none;letter-spacing:0}.sidebar-header .header-actions button.icon{font-size:13px;padding:2px 6px}.sidebar-section-title{padding:4px 16px;font-size:11px;text-transform:uppercase;font-weight:700;color:var(--fg);background:transparent;display:flex;align-items:center;gap:4px}.tree{flex:1;overflow-y:auto;-webkit-user-select:none;user-select:none;padding-bottom:8px}.tree-row{display:flex;align-items:center;gap:4px;padding:2px 4px 2px 0;font-size:13px;color:var(--fg);cursor:pointer;white-space:nowrap}.tree-row:hover{background:var(--hover)}.tree-row .grow{flex:1}.tree-row .row-action{visibility:hidden;background:transparent;border:0;color:var(--fg-dim);padding:0 4px;font-size:13px;border-radius:3px;line-height:1}.tree-row:hover .row-action{visibility:visible}.tree-row .row-action:hover{background:var(--hover);color:var(--danger)}.tree-row.selected{background:var(--selected)}.tree-row.selected.inactive{background:var(--selected-inactive)}.tree-caret{width:12px;font-size:10px;color:var(--fg-dim);display:inline-block;text-align:center;flex-shrink:0}.tree-icon{width:16px;flex-shrink:0;display:inline-block;text-align:center;font-size:12px}.tree-name{overflow:hidden;text-overflow:ellipsis}.editor-area{display:grid;grid-template-rows:35px 1fr;min-width:0;min-height:0}.tab-strip{display:flex;background:var(--bg-tabs);border-bottom:1px solid var(--border);overflow-x:auto;overflow-y:hidden}.tab-strip::-webkit-scrollbar{height:3px}.tab{display:flex;align-items:center;gap:6px;padding:0 10px 0 12px;height:35px;background:var(--bg-tabs);border-right:1px solid var(--border);color:var(--fg-dim);cursor:pointer;font-size:13px;position:relative;flex-shrink:0;white-space:nowrap;border-top:1px solid transparent}.tab.active{background:var(--bg-editor);color:var(--fg-strong);border-top-color:var(--accent)}.tab:not(.active):hover{background:var(--hover);color:var(--fg)}.tab .close{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:var(--fg-dim)}.tab .close:hover{background:var(--hover);color:var(--fg)}.tab.dirty .close:before{content:"●";color:var(--fg);font-size:12px}.tab.dirty .close:hover:before{content:"×"}.tab:not(.dirty) .close:before{content:"×";font-size:16px;line-height:1}.editor-pane{position:relative;min-height:0;background:var(--bg-editor)}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--fg-dim);font-size:13px}.status-bar{grid-column:1 / -1;background:var(--bg-statusbar);color:#fff;display:flex;align-items:center;font-size:12px;height:22px;padding:0}.status-bar.busy{background:var(--bg-statusbar-busy)}.status-bar.bad{background:var(--bg-statusbar-bad)}.status-bar .item{padding:0 8px;height:100%;display:flex;align-items:center}.status-bar .grow{flex:1}.status-bar .item:hover{background:#ffffff1f}.banner{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-radius:6px;border:1px solid transparent;border-left-width:3px}.banner.building{background:var(--state-warning-bg);color:var(--state-warning-fg);border-color:var(--state-warning-strong);border-left-color:var(--state-warning-strong)}.banner.deployed{background:var(--state-success-bg);color:var(--state-success-fg);border-color:var(--state-success-strong);border-left-color:var(--state-success-strong)}.banner.failed{background:var(--state-error-bg);color:var(--state-error-fg);border-color:var(--state-error-strong);border-left-color:var(--state-error-strong)}.banner.viewer-banner{background:var(--accent-secondary-soft-bg);color:var(--accent-secondary-soft-fg);border-color:var(--accent-secondary-soft-border);border-left-color:var(--accent-secondary)}.banner-text{font-weight:500}.banner-progress{margin-top:6px;height:6px;background:#00000026;border-radius:3px;overflow:hidden}.banner-progress-fill{height:100%;background:linear-gradient(90deg,#f5a700,#ff8c00);transition:width .4s ease-out}.banner-subtext{margin-top:4px;font-size:11px;opacity:.8}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--surface-overlay-rgb),.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;animation:kag-fade-in .2s ease-out}.modal{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:var(--space-5);width:min(420px,92vw);display:flex;flex-direction:column;gap:var(--space-3);border-top:3px solid var(--accent-secondary);box-shadow:var(--shadow-modal);animation:kag-modal-in .28s cubic-bezier(.34,1.56,.64,1)}@keyframes kag-modal-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{margin:0;font-size:var(--text-lg);font-weight:700;color:var(--text-link)}.modal label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-secondary)}.modal .row{display:flex;gap:8px;justify-content:flex-end}.modal.modal-wide{width:min(720px,92vw)}.dropzone{border:2px dashed var(--border-strong);border-radius:8px;padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--text-base);cursor:pointer;background:var(--surface-subtle);transition:border-color .12s ease-out,color .12s ease-out,background .12s ease-out}.dropzone:hover{border-color:var(--accent-primary);color:var(--accent-primary);background:var(--surface-subtle);filter:brightness(.98)}.import-list{max-height:320px;overflow-y:auto;border:1px solid var(--border-default);border-radius:6px;padding:var(--space-1);background:var(--surface-card)}.import-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border-radius:4px}.import-row:hover{background:var(--surface-subtle)}.import-path{flex:1;background:transparent;border:1px solid transparent;color:var(--text-primary);font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;padding:2px 4px;border-radius:3px;min-width:0}.import-row:hover .import-path,.import-path:focus{border-color:var(--border-tab);background:var(--surface-card);outline:none}.import-meta{color:var(--text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.skill-textarea{font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);background:var(--surface-subtle);color:var(--text-primary);border:1px solid var(--border-tab);border-radius:6px;padding:var(--space-2) var(--space-3);height:360px;resize:vertical;white-space:pre}.skill-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.muted{color:var(--fg-dim);font-size:var(--text-sm)}.edit-preview{display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:8px;padding:var(--space-3) var(--space-4);color:var(--text-primary)}.edit-preview-empty{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:8px;padding:var(--space-3) var(--space-4);color:var(--text-muted)}.edit-preview-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.edit-preview-summary{font-size:12px;color:var(--fg)}.edit-preview-actions{display:flex;gap:8px}.edit-preview-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.edit-row{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px}.edit-row-applied{border-color:var(--badge-success-border)}.edit-row-failed{border-color:var(--badge-failed-border)}.edit-row-head{display:flex;align-items:center;gap:8px;padding:6px 10px}.edit-row-toggle{background:transparent;border:none;color:var(--fg-dim);cursor:pointer;font-size:12px;padding:0 4px;width:20px}.edit-row-toggle:hover{color:var(--fg)}.edit-badge{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;border-radius:3px;border:1px solid var(--border-soft);background:var(--bg-sidebar);color:var(--fg-dim)}.edit-badge-write{background:var(--badge-success-bg);border-color:var(--badge-success-border);color:var(--ok)}.edit-badge-write.edit-badge-new{background:var(--badge-warn-bg);border-color:var(--badge-warn-border);color:var(--badge-warn-fg)}.edit-badge-delete{background:var(--badge-failed-bg);border-color:var(--badge-failed-border);color:var(--danger)}.edit-badge-incomplete{background:var(--state-warning-bg);border-color:var(--state-warning-strong);color:var(--state-warning-fg)}.edit-row-path{flex:1;font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:12px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-row-status{font-size:11px;color:var(--fg-dim)}.edit-row-body{border-top:1px solid var(--border-soft);padding:8px}.edit-row-delete-notice{padding:12px;font-size:12px;color:var(--fg-dim);text-align:center}.edit-row-error{margin-top:6px;padding:6px 8px;font-size:11px;color:var(--danger);background:var(--badge-failed-bg);border:1px solid var(--badge-failed-border);border-radius:3px}.ai-panel{display:flex;flex-direction:column;gap:8px}.ai-panel-input-row{display:flex;gap:8px;align-items:stretch}.ai-panel-prompt{flex:1;font-family:inherit;font-size:var(--text-base);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-tab);border-radius:6px;padding:var(--space-2) var(--space-3);resize:vertical;min-height:64px;transition:border-color .12s ease-out,box-shadow .12s ease-out}.ai-panel-prompt:focus{outline:none;border-color:var(--accent-primary);box-shadow:var(--focus-ring)}.ai-panel-buttons{display:flex;flex-direction:column;justify-content:flex-end;gap:6px}.ai-panel-note,.ai-panel-usage{font-size:11px}.ai-panel-transcript-wrap>summary,.ai-panel-parse-errors>summary{cursor:pointer;font-size:11px;color:var(--fg-dim);padding:4px 0;-webkit-user-select:none;user-select:none}.ai-panel-transcript{max-height:240px;overflow:auto;background:var(--surface-subtle);border:1px solid var(--border-default);border-radius:6px;padding:var(--space-2) var(--space-3);font-family:ui-monospace,JetBrains Mono,Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:var(--space-1) 0 0 0}.ai-panel-parse-errors ul{margin:4px 0 0;padding-left:20px;font-size:11px;color:var(--warn)}
