:root,:root[data-theme=light],[data-theme=light]{--surface-bg: #fafafa;--surface-card: #ffffff;--surface-elevated: #ffffff;--surface-overlay: rgba(0, 0, 0, 0.04);--surface-hover: rgba(0, 0, 0, 0.05);--surface-active: rgba(0, 0, 0, 0.08);--surface-inset: rgba(0, 0, 0, 0.03);--text-primary: #111110;--text-secondary: rgba(17, 17, 16, 0.75);--text-muted: rgba(17, 17, 16, 0.55);--text-disabled: rgba(17, 17, 16, 0.35);--border-default: rgba(17, 17, 16, 0.12);--border-strong: rgba(17, 17, 16, 0.2);--shadow-xs: 0 1px 2px rgba(17, 17, 16, 0.05);--shadow-sm: 0 2px 4px rgba(17, 17, 16, 0.06), 0 1px 2px rgba(17, 17, 16, 0.04);--shadow-md: 0 4px 12px rgba(17, 17, 16, 0.08), 0 2px 4px rgba(17, 17, 16, 0.04);--shadow-lg: 0 8px 24px rgba(17, 17, 16, 0.1), 0 4px 8px rgba(17, 17, 16, 0.05);--primary: #8fd600;--primary-hover: #5a9e00;--primary-contrast: #111110;--primary-glow: rgba(143, 214, 0, 0.15);--accent: #ff6200;--accent-hover: #cc4e00;--status-ok: #16a34a;--status-warn: #d97706;--status-error: #d92534;--status-info: #2563eb;--status-online: #16a34a;--status-offline: #999;--event-register: #2563eb;--event-heartbeat: #16a34a;--event-run: #7c3aed;--event-iteration: #8fd600;--event-tool: #d97706;--event-error: #d92534;--event-chat: #0891b2;--event-model: #db2777;--event-usage: #65a30d;--event-data: #6366f1;--event-thinking: #8b5cf6;--code-bg: #1a1a2e;--code-fg: #e2e8f0;--code-header-bg: #313244;--code-header-fg: #a6adc8;--code-terminal-bg: #181825;--code-terminal-fg: #a6e3a1;--code-inline-bg: rgba(17, 17, 16, 0.06);--code-inline-fg: #7c3aed;--highlight: #fde047;--scrim: rgba(0, 0, 0, 0.4);--scrollbar: rgba(17, 17, 16, 0.18);--border-focus: rgba(143, 214, 0, 0.25);--primary-glow: rgba(143, 214, 0, 0.15)}:root[data-theme=dark],[data-theme=dark]{--surface-bg: #0e0e0d;--surface-card: #1a1a18;--surface-elevated: #222220;--surface-overlay: rgba(255, 255, 255, 0.05);--surface-hover: rgba(255, 255, 255, 0.06);--surface-active: rgba(255, 255, 255, 0.1);--surface-inset: rgba(255, 255, 255, 0.03);--text-primary: #e8e8e6;--text-secondary: rgba(232, 232, 230, 0.65);--text-muted: rgba(232, 232, 230, 0.45);--text-disabled: rgba(232, 232, 230, 0.3);--border-default: rgba(232, 232, 230, 0.12);--border-strong: rgba(232, 232, 230, 0.2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.15);--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4), 0 4px 8px rgba(0, 0, 0, 0.25);--primary: #8fd600;--primary-hover: #5a9e00;--primary-contrast: #111110;--primary-glow: rgba(143, 214, 0, 0.15);--accent: #ff6200;--accent-hover: #cc4e00;--status-ok: #16a34a;--status-warn: #d97706;--status-error: #d92534;--status-info: #2563eb;--status-online: #16a34a;--status-offline: #999;--event-register: #2563eb;--event-heartbeat: #16a34a;--event-run: #7c3aed;--event-iteration: #8fd600;--event-tool: #d97706;--event-error: #d92534;--event-chat: #0891b2;--event-model: #db2777;--event-usage: #65a30d;--event-data: #6366f1;--event-thinking: #8b5cf6;--code-bg: #1a1a2e;--code-fg: #e2e8f0;--code-header-bg: #313244;--code-header-fg: #a6adc8;--code-terminal-bg: #181825;--code-terminal-fg: #a6e3a1;--code-inline-bg: rgba(17, 17, 16, 0.06);--code-inline-fg: #7c3aed;--highlight: #fde047;--scrim: rgba(0, 0, 0, 0.4);--scrollbar: rgba(17, 17, 16, 0.18);--border-focus: rgba(143, 214, 0, 0.30);--primary-glow: rgba(143, 214, 0, 0.15);--scrim: rgba(0, 0, 0, 0.60);--scrollbar: rgba(232, 232, 230, 0.15)}@media(prefers-color-scheme: dark){:root:not([data-theme]):not([data-theme=light]){--surface-bg: #0e0e0d;--surface-card: #1a1a18;--surface-elevated: #222220;--surface-overlay: rgba(255, 255, 255, 0.05);--surface-hover: rgba(255, 255, 255, 0.06);--surface-active: rgba(255, 255, 255, 0.1);--surface-inset: rgba(255, 255, 255, 0.03);--text-primary: #e8e8e6;--text-secondary: rgba(232, 232, 230, 0.65);--text-muted: rgba(232, 232, 230, 0.45);--text-disabled: rgba(232, 232, 230, 0.3);--border-default: rgba(232, 232, 230, 0.12);--border-strong: rgba(232, 232, 230, 0.2);--shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.25), 0 1px 2px rgba(0, 0, 0, 0.15);--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.4), 0 4px 8px rgba(0, 0, 0, 0.25);--primary: #8fd600;--primary-hover: #5a9e00;--primary-contrast: #111110;--primary-glow: rgba(143, 214, 0, 0.15);--accent: #ff6200;--accent-hover: #cc4e00;--status-ok: #16a34a;--status-warn: #d97706;--status-error: #d92534;--status-info: #2563eb;--status-online: #16a34a;--status-offline: #999;--event-register: #2563eb;--event-heartbeat: #16a34a;--event-run: #7c3aed;--event-iteration: #8fd600;--event-tool: #d97706;--event-error: #d92534;--event-chat: #0891b2;--event-model: #db2777;--event-usage: #65a30d;--event-data: #6366f1;--event-thinking: #8b5cf6;--code-bg: #1a1a2e;--code-fg: #e2e8f0;--code-header-bg: #313244;--code-header-fg: #a6adc8;--code-terminal-bg: #181825;--code-terminal-fg: #a6e3a1;--code-inline-bg: rgba(17, 17, 16, 0.06);--code-inline-fg: #7c3aed;--highlight: #fde047;--scrim: rgba(0, 0, 0, 0.4);--scrollbar: rgba(17, 17, 16, 0.18);--border-focus: rgba(143, 214, 0, 0.30);--primary-glow: rgba(143, 214, 0, 0.15);--scrim: rgba(0, 0, 0, 0.60);--scrollbar: rgba(232, 232, 230, 0.15)}}:root{--font-body: DM Mono, ui-monospace, monospace;--font-head: Syne, system-ui, sans-serif;--font-mono: DM Mono, ui-monospace, monospace;--font-display: Syne, system-ui, sans-serif;--fs-xs: clamp(9px, 0.7vw, 10px);--fs-sm: clamp(10px, 0.8vw, 12px);--fs-base: clamp(12px, 0.95vw, 14px);--fs-md: 16px;--fs-lg: clamp(14px, 1.1vw, 16px);--fs-xl: clamp(16px, 1.3vw, 19px);--fs-2xl: 22px;--fs-3xl: 28px;--fs-hero: clamp(3rem, 7vw, 5.5rem);--lh-tight: 1.15;--lh-normal: 1.6;--lh-relaxed: 1.65;--lh-code: 1.55;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-24: 96px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 12px;--radius-full: 9999px;--ease: cubic-bezier(0.25, 0.1, 0.25, 1);--ease-out: cubic-bezier(0, 0, 0.2, 1);--ease-in: cubic-bezier(0.4, 0, 1, 1);--dur-fast: 120ms;--dur-normal: 200ms;--dur-slow: 350ms;--topbar-h: 52px;--sidebar-w: 240px;--content-max: 960px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--dash-sidebar-width: 240px;--dash-topbar-height: 36px;--dash-footer-height: 28px;--dash-touch-min: 44px}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;padding:0;background:var(--surface-bg);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-normal);min-height:100vh;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;background-image:linear-gradient(var(--surface-overlay) 1px, transparent 1px),linear-gradient(90deg, var(--surface-overlay) 1px, transparent 1px);background-size:40px 40px;pointer-events:none;z-index:-1}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none;transition:color var(--dur-fast) var(--ease)}a:hover{color:var(--primary)}ul,ol{padding-left:var(--sp-5)}::selection{background:var(--border-focus);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:rgba(0,0,0,0)}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}body:has(>.app-shell){font-family:var(--font-head);font-size:var(--fs-base);color:var(--text-primary);background:var(--surface-bg);overflow:hidden;height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:800;line-height:var(--lh-tight);margin:0;letter-spacing:-0.01em}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl);font-weight:700}h4{font-size:var(--fs-lg);font-weight:700}p{margin:0 0 var(--sp-4)}.text-accent{color:var(--primary)}.text-muted{color:var(--text-muted)}.text-error{color:var(--status-error)}.text-ok{color:var(--status-ok)}.text-warn{color:var(--status-warn)}.text-info{color:var(--status-info)}.text-outline{color:rgba(0,0,0,0);-webkit-text-stroke:1.5px var(--border-strong)}small,.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-lg{font-size:var(--fs-lg)}.font-head{font-family:var(--font-head)}.font-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.j-container{width:100%;margin:0 auto;padding:0 var(--sp-5)}.j-content{max-width:var(--content-max);margin:0 auto;padding:var(--sp-6)}.j-flex{display:flex}.j-flex-col{display:flex;flex-direction:column}.j-flex-wrap{flex-wrap:wrap}.j-items-center{align-items:center}.j-items-start{align-items:flex-start}.j-justify-between{justify-content:space-between}.j-justify-center{justify-content:center}.j-gap-1{gap:var(--sp-1)}.j-gap-2{gap:var(--sp-2)}.j-gap-3{gap:var(--sp-3)}.j-gap-4{gap:var(--sp-4)}.j-gap-6{gap:var(--sp-6)}.j-gap-8{gap:var(--sp-8)}.j-flex-1{flex:1}.j-shrink-0{flex-shrink:0}.j-grid{display:grid;gap:var(--sp-4)}.j-grid-2{grid-template-columns:repeat(2, 1fr)}.j-grid-3{grid-template-columns:repeat(3, 1fr)}.j-grid-4{grid-template-columns:repeat(4, 1fr)}.j-m-0{margin:0}.j-mt-1{margin-top:var(--sp-1)}.j-mt-2{margin-top:var(--sp-2)}.j-mt-3{margin-top:var(--sp-3)}.j-mt-4{margin-top:var(--sp-4)}.j-mt-6{margin-top:var(--sp-6)}.j-mt-8{margin-top:var(--sp-8)}.j-mb-1{margin-bottom:var(--sp-1)}.j-mb-2{margin-bottom:var(--sp-2)}.j-mb-3{margin-bottom:var(--sp-3)}.j-mb-4{margin-bottom:var(--sp-4)}.j-mb-6{margin-bottom:var(--sp-6)}.j-p-2{padding:var(--sp-2)}.j-p-3{padding:var(--sp-3)}.j-p-4{padding:var(--sp-4)}.j-p-6{padding:var(--sp-6)}.j-px-4{padding-left:var(--sp-4);padding-right:var(--sp-4)}.j-py-4{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.j-hidden{display:none}.j-block{display:block}.j-inline{display:inline}.j-relative{position:relative}.j-absolute{position:absolute}.j-sticky{position:sticky}.j-w-full{width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.no-scroll{overflow:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.rounded{border-radius:var(--radius-md)}.border{border:1px solid var(--border-default)}@keyframes j-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes j-fade-out{from{opacity:1}to{opacity:0}}@keyframes j-pulse{0%,100%{opacity:1}50%{opacity:.4}}@keyframes j-spin{to{transform:rotate(360deg)}}@keyframes rdPulse{0%,100%{box-shadow:0 0 4px var(--status-online)}50%{box-shadow:0 0 16px var(--status-online),0 0 32px var(--primary-glow)}}@keyframes think-spin{to{transform:rotate(360deg)}}.j-animate-fade{animation:j-fade-in .3s var(--ease) both}.j-animate-pulse{animation:j-pulse 2s ease-in-out infinite}.j-animate-spin{animation:j-spin .8s linear infinite}.hamburger{display:none;background:none;border:none;cursor:pointer;padding:var(--sp-2);z-index:200;-webkit-tap-highlight-color:rgba(0,0,0,0)}.hamburger-icon{display:block;width:20px;height:2px;background:var(--text-primary);border-radius:2px;position:relative;transition:background var(--dur-normal) var(--ease)}.hamburger-icon::before,.hamburger-icon::after{content:"";position:absolute;width:100%;height:2px;background:var(--text-primary);border-radius:2px;left:0;transition:transform var(--dur-normal) var(--ease),top var(--dur-normal) var(--ease)}.hamburger-icon::before{top:-6px}.hamburger-icon::after{top:6px}.hamburger.open .hamburger-icon{background:rgba(0,0,0,0)}.hamburger.open .hamburger-icon::before{top:0;transform:rotate(45deg)}.hamburger.open .hamburger-icon::after{top:0;transform:rotate(-45deg)}.nav-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:149;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;transition:opacity var(--dur-normal) var(--ease)}.nav-overlay.visible,.nav-overlay.active{opacity:1}.sidebar-backdrop{display:none;position:fixed;inset:0;background:var(--scrim);z-index:149}@media(max-width: 767px){.hamburger{display:block}.docs-layout{flex-direction:column}.docs-sidebar{width:100%;min-width:0}.docs-sidebar.hidden{display:none}.topbar-nav{position:fixed;top:var(--topbar-h);left:0;right:0;background:var(--surface-card);border-bottom:1px solid var(--border-default);flex-direction:column;padding:var(--sp-3);gap:var(--sp-1);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform var(--dur-normal) var(--ease),opacity var(--dur-normal) var(--ease);z-index:150}.topbar-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.j-grid-2,.j-grid-3,.j-grid-4{grid-template-columns:1fr}.j-status-grid{grid-template-columns:1fr 1fr}.chat-sidebar{position:fixed;top:var(--topbar-h);left:0;bottom:0;z-index:160;transform:translateX(-100%);transition:transform var(--dur-normal) var(--ease);box-shadow:var(--shadow-lg)}.chat-sidebar.open{transform:translateX(0)}.chat-sidebar-handle{display:block;padding:var(--sp-2) var(--sp-3);cursor:pointer;color:var(--text-muted);font-size:var(--fs-sm)}.chat-sidebar-close{display:block;position:absolute;top:var(--sp-2);right:var(--sp-2);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--sp-1)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}}@media(min-width: 768px){.j-grid-2{grid-template-columns:repeat(2, 1fr)}h1{font-size:var(--fs-hero)}}@media(min-width: 1024px){.j-grid-3{grid-template-columns:repeat(3, 1fr)}.j-grid-4{grid-template-columns:repeat(4, 1fr)}.j-status-grid{grid-template-columns:repeat(auto-fit, minmax(220px, 1fr))}}@media(min-width: 1280px){.j-container{padding:0 var(--sp-8)}}@media(max-width: 1024px){:root{--dash-sidebar-width: 200px}.app-inspector{width:340px}.task-board{grid-template-columns:repeat(2, 1fr)}}@media(max-width: 768px){:root{--dash-sidebar-width: 0;--dash-topbar-height: 44px;--dash-footer-height: 36px}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;min-width:var(--dash-touch-min);min-height:var(--dash-touch-min)}.sidebar-overlay{display:block}.sidebar-overlay.active{opacity:1;pointer-events:auto}.app-shell{grid-template-columns:1fr}.resource-browser{position:fixed;top:0;left:0;width:280px;height:100vh;height:100dvh;z-index:95;transform:translateX(-100%);transition:transform .25s ease;box-shadow:4px 0 24px rgba(0,0,0,.15);border-right:1px solid var(--border-default)}.resource-browser.open{transform:translateX(0)}.app-content{grid-column:1}.app-topbar-left{width:auto;flex:0}.app-topbar-right{flex:1;justify-content:flex-end}.tab-bar{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:0 var(--sp-2);gap:2px}.tab-btn{padding:var(--sp-2) var(--sp-2);font-size:10px;min-height:36px;display:flex;align-items:center}.tab-content{padding:var(--sp-2)}.app-inspector{width:100%;max-width:100vw}.inspector-body{padding:var(--sp-2)}.app-footer{flex-wrap:wrap;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-2);font-size:9px}.app-footer-left,.app-footer-center,.app-footer-right{font-size:9px;gap:var(--sp-1)}.dashboard-v3>div:first-child{font-size:9px !important;padding:4px 8px !important}.stats-bar{grid-template-columns:repeat(2, 1fr);gap:var(--sp-2)}.stat-card{padding:var(--sp-2) var(--sp-3)}.stat-card-value{font-size:22px}.resource-grid{grid-template-columns:1fr;gap:var(--sp-3)}.resource-card-head{flex-direction:column;gap:var(--sp-2);padding:var(--sp-3)}.resource-host-ips{align-items:flex-start;max-width:100%}.resource-card-foot{flex-direction:column;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3)}.resource-foot-left,.resource-foot-right{width:100%;justify-content:space-between}.resource-foot-left span,.resource-foot-right span{max-width:140px}.resource-instances{overflow-x:auto;-webkit-overflow-scrolling:touch}.instance-table{min-width:600px}.task-board{grid-template-columns:1fr;gap:var(--sp-2)}.chat-context-panel{width:100%;max-width:100vw}.chat-message{max-width:92%}.chat-input-area{flex-wrap:wrap;padding:var(--sp-2);gap:var(--sp-1)}.chat-input-area select{width:100%;min-height:var(--dash-touch-min)}.chat-input{min-height:40px;font-size:16px}.chat-send-btn{min-height:var(--dash-touch-min);padding:var(--sp-2) var(--sp-4)}.event-row{padding:var(--sp-2)}.event-row-line1{gap:var(--sp-1);font-size:11px}.event-row-line2{font-size:11px}.event-time{font-size:11px}.event-stream-body{max-height:280px}.event-stream-header{flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-2)}.kv-label{width:100px}.memory-pre{max-height:200px;font-size:10px;padding:8px}.history-entry{flex-direction:column;gap:2px;padding:8px 12px}.history-ts{min-width:auto}.id-tab{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}.id-tab-bar{padding:0 var(--sp-2);overflow-x:auto}.id-chat-wrap{max-height:50vh}.id-chat-messages{padding:var(--sp-2)}.id-chat-input-row{padding:var(--sp-2);flex-wrap:wrap}.id-chat-input{font-size:var(--fs-xs)}.chat-message-bubble{max-width:90vw;font-size:var(--fs-xs)}.id-context-panel{font-size:var(--fs-xs)}.wb-detail{flex-direction:column}.wb-grid{grid-template-columns:1fr}}@media(max-width: 640px){:root{--dash-topbar-height: 44px;--dash-footer-height: 40px}.app-topbar{padding:0 var(--sp-2);gap:var(--sp-1)}.app-brand{font-size:11px}.app-topbar-user{display:none}.app-topbar-btn{padding:4px 10px;font-size:10px;min-height:var(--dash-touch-min)}.resource-browser{width:100vw}.app-footer{flex-direction:column;gap:2px}.stats-bar{grid-template-columns:repeat(2, 1fr);gap:var(--sp-1)}.stat-card{padding:var(--sp-2);border-radius:var(--radius-md)}.stat-card-label{font-size:9px}.stat-card-value{font-size:20px}.resource-card-head{padding:var(--sp-2)}.resource-hostname{font-size:var(--fs-base)}.instance-table th,.instance-table td{padding:var(--sp-1) var(--sp-1);font-size:10px}.instance-name{max-width:120px}.instance-model{max-width:100px}.instance-provider{max-width:80px}.event-row{padding:var(--sp-1) var(--sp-2)}.event-row-line1{gap:3px;font-size:10px}.event-row-line2{font-size:10px}.event-time{font-size:10px}.event-instance{font-size:10px}.event-type-badge{font-size:10px;padding:1px 4px}.event-summary{font-size:10px}.chat-messages{padding:var(--sp-2);gap:var(--sp-2)}.chat-message-bubble{padding:var(--sp-2) var(--sp-3)}.btn-push,.btn-delete--danger{min-height:var(--dash-touch-min);padding:8px 16px}.btn-delete{padding:4px 8px;font-size:14px}.inspector-action-btn{min-height:36px;padding:6px 14px;font-size:11px}}@media(max-width: 480px){:root{--dash-topbar-height: 48px;--dash-footer-height: 44px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 14px;--fs-lg: 16px;--sp-3: 10px;--sp-4: 12px}body{font-size:var(--fs-base)}.app-topbar{padding:0 var(--sp-2)}.app-brand{font-size:13px}.brand-accent{font-size:14px}.app-breadcrumb{display:none}.tab-btn{font-size:10px;padding:var(--sp-2) 10px;min-height:40px}.inspector-close{font-size:24px;padding:8px 14px;min-width:var(--dash-touch-min);min-height:var(--dash-touch-min)}.tab-section-title{font-size:var(--fs-sm);padding-bottom:var(--sp-2)}.stats-bar{grid-template-columns:1fr 1fr;gap:6px}.stat-card-value{font-size:24px}.resource-grid{gap:var(--sp-2)}.resource-card{border-radius:var(--radius-md)}.resource-hostname{font-size:var(--fs-base)}.resource-meta-badge{font-size:10px;max-width:120px}.instance-table{min-width:520px}.instance-table th,.instance-table td{padding:4px 4px;font-size:10px}.event-row{padding:4px 6px;gap:1px}.event-row-line1{gap:2px;font-size:10px}.event-time{font-size:10px}.event-row-line2{font-size:10px}.event-instance{max-width:80px}.event-stream-header{font-size:9px}.event-stream-body{max-height:240px}.chat-input{font-size:16px;min-height:44px}.chat-send-btn{font-size:14px;padding:10px 16px}.kv-table tr{display:flex;flex-direction:column;border-bottom:1px solid var(--border-default);padding:4px 0}.kv-label{width:100%;padding:2px 8px;color:var(--text-muted);font-size:10px}.kv-value{width:100%;padding:2px 8px 6px}.cfg-input{font-size:16px;padding:6px 8px;min-height:40px}.btn-push{width:100%;text-align:center;min-height:44px;font-size:13px}.cap-badge{width:24px;height:24px;font-size:13px}.instance-role-icon{width:24px;height:24px;font-size:14px}.json-viewer{max-height:240px;font-size:10px}.modal-dialog{max-width:95%;max-height:90vh}.modal-row{flex-direction:column}}.btn,.j-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:500;padding:var(--sp-2) var(--sp-4);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease)}.btn:hover,.j-btn:hover{border-color:var(--border-strong);background:var(--surface-hover)}.btn:active,.j-btn:active{transform:scale(0.97)}.btn--primary,.btn--green,.j-btn--primary,.j-btn--green{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary)}.btn--primary:hover,.btn--green:hover,.j-btn--primary:hover,.j-btn--green:hover{filter:brightness(1.1)}.btn--danger,.j-btn--danger{background:var(--status-error);color:var(--primary-contrast);border-color:var(--status-error)}.btn--ghost,.j-btn--ghost{background:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.btn--ghost:hover,.j-btn--ghost:hover{background:var(--surface-hover)}.btn--outline,.j-btn--outline{background:rgba(0,0,0,0)}.btn--sm,.j-btn--sm{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs)}.btn--lg,.j-btn--lg{padding:var(--sp-3) var(--sp-6);font-size:var(--fs-md)}.btn--icon,.j-btn--icon{padding:var(--sp-2);aspect-ratio:1}.btn--disabled,.j-btn--disabled{opacity:.4;pointer-events:none}.btn-push{padding:6px 16px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--primary-contrast);background:var(--primary);border:none;border-radius:4px;cursor:pointer;transition:opacity .15s}.btn-push:hover{opacity:.85}.btn-delete{padding:2px 6px;font-size:12px;background:none;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);cursor:pointer;opacity:.4;transition:opacity .15s,border-color .15s,background .15s;color:var(--status-error)}.btn-delete:hover{opacity:1;border-color:var(--status-error);background:var(--surface-overlay)}.btn-delete--danger{padding:6px 14px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;opacity:.7;border:1px solid var(--status-error);border-radius:var(--radius-md)}.btn-delete--danger:hover{opacity:1;background:var(--surface-overlay)}.id-btn{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:600;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-overlay);color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.id-btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.id-btn--primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.id-btn--primary:hover{background:var(--primary-hover)}.inspector-action-btn{float:right;padding:1px 8px;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.05em;color:var(--primary);background:rgba(0,0,0,0);border:1px solid var(--primary);border-radius:3px;cursor:pointer;transition:background .15s,color .15s}.inspector-action-btn:hover{background:var(--primary);color:var(--primary-contrast)}.app-topbar-btn{padding:2px 8px;font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:rgba(0,0,0,0);cursor:pointer;color:var(--text-secondary)}.app-topbar-btn:hover{background:var(--surface-hover)}.app-topbar-btn--danger{color:var(--status-error);border-color:var(--status-error)}.id-refresh-btn{margin-left:auto;font-family:var(--font-mono);font-size:10px;background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px 8px;color:var(--text-muted);cursor:pointer;transition:all .15s}.id-refresh-btn:hover{color:var(--primary);border-color:var(--primary)}.instance-action-btn{background:none;border:1px solid rgba(0,0,0,0);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px;opacity:.5;transition:opacity .15s,border-color .15s}.instance-action-btn:hover{opacity:1;border-color:var(--border-default)}.rb-add-btn{background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:1px 5px;margin-left:auto;transition:all .15s}.rb-add-btn:hover{color:var(--primary);border-color:var(--primary)}.chat-send-btn{padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--primary-contrast);font-size:var(--fs-sm);font-weight:600;border-radius:var(--radius-md);transition:opacity .15s;flex-shrink:0;border:none;cursor:pointer}.chat-send-btn:hover{opacity:.85}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.j-input,.j-textarea,.j-select{font-family:var(--font-body);font-size:var(--fs-base);padding:var(--sp-2) var(--sp-3);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);outline:none;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);width:100%}.j-input:focus,.j-textarea:focus,.j-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}.j-textarea{resize:vertical;min-height:80px;line-height:var(--lh-normal)}.j-label{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--sp-1)}.j-field{display:flex;flex-direction:column;gap:var(--sp-1)}.widget-search{width:100%;padding:var(--sp-2) var(--sp-3);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-primary);outline:none;transition:border-color .15s}.widget-search::placeholder{color:var(--text-muted)}.widget-search:focus{border-color:var(--accent)}.conv-input{flex:1;font-family:var(--font-head);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);resize:none;outline:none;line-height:1.4;background:var(--surface-card);color:var(--text-primary)}.conv-input:focus{border-color:var(--primary)}.conv-select{font-family:var(--font-head);outline:none}.id-chat-input{flex:1;font-family:var(--font-head);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);resize:none;outline:none;line-height:1.4;background:var(--surface-bg);color:var(--text-primary)}.id-chat-input:focus{border-color:var(--primary)}.ctx-editor{width:100%;min-height:300px;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5;color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--sp-3);resize:vertical;outline:none}.ctx-editor:focus{border-color:var(--primary)}.ctx-editor-bar{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-2)}.ctx-editor-info{font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono)}.cfg-input{width:100%;padding:3px 6px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:4px;outline:none}.cfg-input:focus{border-color:var(--primary);background:var(--surface-card)}.modal-input{padding:6px 10px;font-size:var(--fs-sm);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-bg);color:var(--text-primary);outline:none;font-family:var(--font-head)}.modal-input:focus{border-color:var(--primary)}textarea.modal-input{resize:vertical}.inspector-input{width:100%;max-width:180px;padding:2px 6px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:4px;outline:none;text-align:right}.inspector-input:focus{border-color:var(--primary);background:var(--surface-card)}.resource-browser-search input{width:100%;padding:4px 8px;font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-bg);color:var(--text-primary);outline:none}.resource-browser-search input:focus{border-color:var(--primary)}.chat-input{flex:1;padding:var(--sp-2) var(--sp-3);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--fs-base);color:var(--text-primary);resize:none;outline:none;min-height:clamp(32px,3vw,38px);max-height:clamp(100px,10vw,130px);font-family:var(--font-head)}.chat-input::placeholder{color:var(--text-muted)}.chat-input:focus{border-color:var(--accent)}.cp-input{width:100%;padding:12px 16px;font-size:16px;border:none;border-bottom:1px solid var(--border-default);outline:none;background:var(--surface-bg);color:var(--text-primary);font-family:var(--font-head)}.j-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-xs);transition:box-shadow var(--dur-normal) var(--ease),border-color var(--dur-normal) var(--ease)}.j-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.j-card--flat{box-shadow:none;border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5)}.j-card--code{background:var(--code-bg);color:var(--code-fg);border:none;border-radius:var(--radius-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}.j-card-header{margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-default)}.j-card-title{font-family:var(--font-head);font-size:var(--fs-lg);font-weight:700;color:var(--text-primary)}.j-aside{background:var(--surface-card);border-left:3px solid var(--primary);padding:var(--sp-4) var(--sp-5);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.resource-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .15s;min-width:0;max-width:100%}.resource-card:hover{border-color:var(--border-strong)}.resource-card--online{border-left:clamp(2px,.18vw,3px) solid var(--status-online)}.resource-card--offline{border-left:clamp(2px,.18vw,3px) solid var(--status-offline)}.resource-card-head{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-default);gap:var(--sp-3);cursor:pointer;user-select:none}.resource-card.collapsed .resource-instances,.resource-card.collapsed .resource-card-foot{display:none}.resource-card-collapse-icon{display:inline-block;transition:transform .2s;font-size:10px;margin-right:4px;color:var(--text-muted)}.resource-card.collapsed .resource-card-collapse-icon{transform:rotate(-90deg)}.resource-card-foot{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border-default);font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--text-muted);overflow:hidden}.resource-foot-left,.resource-foot-right{display:flex;align-items:center;gap:var(--sp-3);overflow:hidden;min-width:0}.resource-foot-left span,.resource-foot-right span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.stat-card{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg)}.stat-card-label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.stat-card-value{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:600;color:var(--text-primary);line-height:1}.stat-card-sub{font-size:var(--fs-xs);color:var(--text-muted)}.stat-card--online .stat-card-value{color:var(--status-online)}.stat-card--offline .stat-card-value{color:var(--text-muted)}.stat-card--warning .stat-card-value{color:var(--status-warn)}.rd-card-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--sp-2)}.rd-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-1);transition:border-color .15s,box-shadow .15s}.rd-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-xs)}.rd-card--wide{grid-column:span 2}.rd-card-icon{font-size:16px}.rd-card-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.rd-card-value{font-size:var(--fs-sm);color:var(--text-primary);word-break:break-all;display:flex;flex-wrap:wrap;gap:var(--sp-1)}.rd-card-value.monospace{font-family:var(--font-mono);font-size:var(--fs-xs)}.id-top-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--sp-3);margin-bottom:var(--sp-6)}.id-top-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s,box-shadow .15s}.id-top-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.id-top-card--identity{border-top:3px solid var(--status-info)}.id-top-card--model{border-top:3px solid var(--accent)}.id-top-card--status{border-top:3px solid var(--status-online)}.id-top-card-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);background:var(--surface-overlay);border-bottom:1px solid var(--border-default)}.id-top-card-icon{font-size:14px}.id-top-card-title{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.id-top-card-body{padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.id-top-kv{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.id-top-kv>span:first-child{color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.id-top-kv>span:last-child{color:var(--text-primary);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.id-top-kv .monospace{font-family:var(--font-mono);font-size:var(--fs-xs)}.wb-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--sp-3)}.wb-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3);cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:var(--sp-2)}.wb-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.wb-card-top{display:flex;justify-content:space-between;align-items:center}.wb-card-role{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.wb-card-role.gateway{color:var(--primary)}.wb-card-name{font-size:var(--fs-sm);font-weight:600}.wb-card-status{font-size:9px;padding:1px 6px;border-radius:var(--radius-sm);font-weight:600}.wb-card-status.active{color:var(--primary)}.wb-card-task{font-size:var(--fs-xs)}.wb-card-progress{display:flex;align-items:center;gap:var(--sp-2)}.wb-card-thinking{font-size:10px;color:var(--text-muted);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono)}.wb-card-meta{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted)}.wb-block{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3)}.wb-block-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-default)}.wb-block-icon{font-size:14px}.wb-block-title{font-weight:600;font-size:var(--fs-sm)}.wb-block-count{margin-left:auto;font-size:var(--fs-xs);color:var(--text-muted);font-family:var(--font-mono)}.wb-badge{font-size:9px;padding:1px 6px;border-radius:var(--radius-sm);margin-left:auto;font-weight:600;text-transform:uppercase}.wb-badge--active{background:var(--primary);color:var(--primary-contrast)}.wb-badge--done{background:var(--accent);color:var(--primary-contrast)}.wb-badge--failed{background:var(--status-error);color:var(--primary-contrast)}.id-mini-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);min-height:100px}.j-badge{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background:var(--surface-overlay);color:var(--text-secondary)}.j-badge--green{background:var(--surface-active);color:var(--primary)}.j-badge--orange{background:var(--surface-overlay);color:var(--accent)}.j-badge--error{background:var(--surface-overlay);color:var(--status-error)}.j-badge--info{background:var(--surface-overlay);color:var(--status-info)}.j-badge--ok{background:var(--surface-overlay);color:var(--status-ok)}.j-badge--warn{background:var(--surface-overlay);color:var(--status-warn)}.j-badge--gray{background:var(--surface-overlay);color:var(--text-secondary)}.j-tag{display:inline-flex;align-items:center;font-size:var(--fs-xs);padding:2px 6px;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-mono);background:var(--surface-card)}.badge--online{background:var(--surface-active);color:var(--status-online)}.badge--offline{background:var(--surface-overlay);color:var(--status-offline)}.resource-meta-badge{display:inline-flex;align-items:center;padding:clamp(1px,.1vw,2px) var(--sp-2);font-size:var(--fs-xs);font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-overlay);border-radius:var(--radius-sm);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-meta-badge--online{color:var(--status-online);background:var(--surface-active)}.resource-meta-badge--offline{color:var(--text-muted);background:var(--surface-overlay)}.event-type-badge{display:inline-flex;align-items:center;padding:clamp(1px,.1vw,2px) var(--sp-2);font-size:var(--fs-xs);font-weight:500;border-radius:var(--radius-sm);width:fit-content;flex-shrink:0}.event-type-badge--register{color:var(--event-register);background:var(--surface-overlay)}.event-type-badge--heartbeat{color:var(--event-heartbeat);background:var(--surface-active)}.event-type-badge--run{color:var(--event-run);background:var(--surface-overlay)}.event-type-badge--iteration{color:var(--event-iteration);background:var(--surface-active)}.event-type-badge--tool{color:var(--event-tool);background:var(--surface-overlay)}.event-type-badge--error{color:var(--event-error);background:var(--surface-overlay)}.event-type-badge--chat{color:var(--event-chat);background:var(--surface-overlay)}.event-type-badge--model{color:var(--event-model);background:var(--surface-overlay)}.event-type-badge--usage{color:var(--event-usage);background:var(--surface-overlay)}.event-type-badge--data{color:var(--event-data);background:var(--surface-overlay)}.event-type-badge--thinking{color:var(--event-thinking);background:var(--surface-overlay)}.rd-chip{font-family:var(--font-mono);font-size:10px;background:var(--surface-overlay);border:1px solid var(--border-default);padding:1px 6px;border-radius:var(--radius-sm);white-space:nowrap}.rd-chip--accent{background:var(--surface-active);border-color:var(--border-strong);color:var(--accent)}.rd-chip--dim{font-size:10px;color:var(--text-muted);background:var(--surface-overlay);padding:1px 6px;border-radius:var(--radius-sm);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.id-caps-row{display:flex;align-items:center;gap:var(--sp-3)}.id-caps-label{font-size:var(--fs-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.id-caps-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.id-cap-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:500;padding:2px 8px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary)}.id-cap-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.instance-caps{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}.cap-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;background:var(--surface-overlay);font-size:11px;opacity:.75;transition:opacity .15s,background .15s}.cap-badge:hover{opacity:1;background:var(--surface-hover)}.cap-more{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);padding-left:2px}.inspector-badge-row{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:var(--sp-1)}.inspector-badge{padding:clamp(1px,.1vw,2px) var(--sp-2);font-size:var(--fs-xs);font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--surface-overlay);color:var(--text-secondary)}.instance-role-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:13px;border-radius:4px;background:var(--surface-overlay)}.instance-role-icon--gateway{color:var(--status-online)}.instance-role-icon--agent{color:var(--primary)}.instance-role-icon--sdk{color:var(--accent)}.instance-role-icon--api{color:var(--status-warn)}.j-alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--fs-sm);border:1px solid rgba(0,0,0,0);line-height:var(--lh-normal);background:var(--surface-card)}.j-alert--ok{background:var(--surface-overlay);border-color:var(--status-ok);color:var(--status-ok)}.j-alert--warn{background:var(--surface-overlay);border-color:var(--status-warn);color:var(--status-warn)}.j-alert--error{background:var(--surface-overlay);border-color:var(--status-error);color:var(--status-error)}.j-alert--info{background:var(--surface-overlay);border-color:var(--status-info);color:var(--status-info)}.j-table-wrap{overflow-x:auto}.j-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);background:var(--surface-card)}.j-table th,.j-table td{text-align:left;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default)}.j-table th{font-weight:600;color:var(--text-secondary);white-space:nowrap}.j-table tbody tr:hover{background:var(--surface-hover)}.kv-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);flex-shrink:0;background:var(--surface-card)}.kv-table tr{border-bottom:1px solid var(--border-default)}.kv-table tr:last-child{border-bottom:none}.kv-label{padding:8px 12px;color:var(--text-secondary);width:140px;font-weight:500;vertical-align:top}.kv-value{padding:8px 12px;color:var(--text-primary);font-family:var(--font-mono);font-size:var(--fs-xs);word-break:break-all}.instance-table{min-width:600px;background:var(--surface-card)}.instance-table th,.instance-table td{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}.instance-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-model{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-provider{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);max-width:clamp(100px,10vw,160px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr--sub td:first-child{padding-left:var(--sp-8) !important}.tab-bar{display:flex;gap:0;padding:0 var(--sp-3);background:var(--surface-bg);border-bottom:1px solid var(--border-default);overflow-x:auto}.tab-btn{padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:500;letter-spacing:.03em;color:var(--text-muted);background:rgba(0,0,0,0);border:none;border-bottom:2px solid rgba(0,0,0,0);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text-secondary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-content{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.tab-panel{display:none}.tab-panel.active{display:flex;flex-direction:column;flex:1;min-height:0}.tab-panel[data-tab=overview].active{overflow-y:auto;padding:var(--sp-3)}.tab-section{margin-bottom:var(--sp-4)}.tab-section-title{font-size:var(--fs-sm);font-weight:600;letter-spacing:.05em;color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--border-default);flex-shrink:0}.tab-panel[data-tab=chat].active .tab-section,.tab-panel[data-tab=logs].active .tab-section,.tab-panel[data-tab=config].active .tab-section,.tab-panel[data-tab=system].active .tab-section,.tab-panel[data-tab=skills].active .tab-section,.tab-panel[data-tab=cron].active .tab-section,.tab-panel[data-tab=memory].active .tab-section{flex:1;display:flex;flex-direction:column;min-height:0;margin-bottom:0}.tab-panel[data-tab=chat].active .tab-section-body,.tab-panel[data-tab=logs].active .tab-section-body,.tab-panel[data-tab=config].active .tab-section-body,.tab-panel[data-tab=system].active .tab-section-body,.tab-panel[data-tab=skills].active .tab-section-body,.tab-panel[data-tab=cron].active .tab-section-body,.tab-panel[data-tab=memory].active .tab-section-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.id-tab-bar{display:flex;gap:0;background:var(--surface-card);border-bottom:1px solid var(--border-default);padding:0 var(--sp-3)}.id-tab{font-family:var(--font-head);font-size:var(--fs-sm);font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);padding:var(--sp-2) var(--sp-4);cursor:pointer;transition:all .15s;outline:none;margin-bottom:-1px}.id-tab:hover{color:var(--text-primary)}.id-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.id-tab-panel{display:none}.id-tab-panel.active{display:block}.id-context-tabs{display:flex;border-bottom:1px solid var(--border-default);background:var(--surface-overlay)}.id-ctx-tab{padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);cursor:pointer;border-bottom:2px solid rgba(0,0,0,0);transition:all .15s}.id-ctx-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.id-ctx-tab:hover{color:var(--text-primary)}.id-chat-sessions{display:flex;gap:2px;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);background:var(--surface-bg);overflow-x:auto}.id-chat-session{font-size:10px;padding:3px 10px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);background:var(--surface-overlay);white-space:nowrap;border:1px solid rgba(0,0,0,0);transition:all .15s}.id-chat-session:hover{color:var(--text-primary);border-color:var(--border-default)}.id-chat-session.active{color:var(--primary);border-color:var(--primary);background:var(--surface-active)}.id-chat-session.readonly{font-style:italic;opacity:.7}.topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;height:var(--topbar-h);padding:0 var(--sp-5);background:var(--surface-card);border-bottom:1px solid var(--border-default);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{font-family:var(--font-head);font-weight:800;font-size:var(--fs-md);letter-spacing:.02em;color:var(--text-primary)}.topbar-nav{display:flex;align-items:center;gap:var(--sp-1)}.j-nav-item{font-size:var(--fs-sm);font-weight:500;padding:var(--sp-2) var(--sp-3);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--dur-fast) var(--ease);white-space:nowrap}.j-nav-item:hover{color:var(--text-primary);background:var(--surface-hover)}.j-nav-item.active{color:var(--primary)}.j-sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface-card);border-right:1px solid var(--border-default);display:flex;flex-direction:column;padding:var(--sp-3);overflow-y:auto;height:100%}.j-sidebar-toggle{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--sp-2)}.j-footer{padding:var(--sp-4) var(--sp-5);text-align:center;font-size:var(--fs-xs);color:var(--text-secondary);border-top:1px solid var(--border-default);background:var(--surface-card)}.j-breadcrumb{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--sp-4);flex-wrap:wrap}.j-breadcrumb a{color:var(--text-secondary)}.j-breadcrumb a:hover{color:var(--primary)}.j-breadcrumb .sep{color:var(--border-strong)}.app-shell{display:grid;grid-template-rows:var(--dash-topbar-height) 1fr var(--dash-footer-height);grid-template-columns:var(--dash-sidebar-width) 1fr;height:100vh}.app-topbar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;padding:0 var(--sp-3);background:var(--surface-card);border-bottom:1px solid var(--border-default);gap:var(--sp-3)}.app-topbar-left{display:flex;align-items:center;gap:var(--sp-2);width:var(--dash-sidebar-width)}.app-brand{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:.03em}.brand-accent{color:var(--accent)}.app-breadcrumb{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.app-breadcrumb a{color:var(--text-secondary);text-decoration:none}.app-breadcrumb a:hover{color:var(--text-primary)}.crumb-sep{margin:0 2px}.app-topbar-center{flex:1;text-align:center}.app-topbar-right{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.app-topbar-user{color:var(--text-secondary)}.resource-browser{grid-column:1;grid-row:2;background:var(--surface-card);border-right:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden}.resource-browser-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-muted)}.resource-browser-title{font-weight:600}.resource-browser-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary)}.resource-browser-search{padding:var(--sp-2);border-bottom:1px solid var(--border-default)}.resource-tree{flex:1;overflow-y:auto;padding:var(--sp-1) 0}.resource-tree-empty{padding:var(--sp-6) var(--sp-3);text-align:center;font-size:var(--fs-xs);color:var(--text-muted)}.resource-browser-footer{display:flex;justify-content:space-around;padding:var(--sp-1) var(--sp-2);border-top:1px solid var(--border-default);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.rb-stat--online{color:var(--status-online)}.rb-stat--offline{color:var(--status-offline)}.resource-node{user-select:none}.resource-node-header{display:flex;align-items:center;padding:var(--sp-2) var(--sp-3);cursor:pointer;gap:var(--sp-2);transition:background .1s;font-size:var(--fs-sm);font-weight:550}.resource-node-header:hover{background:var(--surface-hover)}.resource-node-header.active{background:var(--surface-active);color:var(--primary)}.resource-node--root .resource-node-header{font-weight:600}.resource-node--root .resource-node-icon{font-size:14px}.resource-node-icon{font-size:8px;flex-shrink:0}.resource-node-icon .online{color:var(--status-online)}.resource-node-icon .offline{color:var(--status-offline)}.resource-node-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-node-badge{font-family:var(--font-mono);font-size:var(--fs-xs);padding:1px 5px;border-radius:var(--radius-sm);flex-shrink:0}.resource-node-children{padding-left:var(--sp-4)}.resource-node-child{display:flex;align-items:center;padding:3px var(--sp-3) 3px var(--sp-4);cursor:pointer;gap:var(--sp-2);font-size:var(--fs-sm);transition:background .1s}.resource-node-child:hover{background:var(--surface-hover)}.child-icon{font-size:10px;flex-shrink:0}.child-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot--online{background:var(--status-online)}.dot--offline{background:var(--status-offline)}.child--online .child-icon{color:var(--status-online)}.child--offline .child-icon{color:var(--text-muted)}.app-content{grid-column:2;grid-row:2;overflow:hidden;display:flex;flex-direction:column}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.app-footer{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-3);background:var(--surface-card);border-top:1px solid var(--border-default);font-size:var(--fs-xs)}.app-footer-left,.app-footer-center,.app-footer-right{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-mono)}.mobile-menu-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-primary);padding:var(--sp-1) var(--sp-2);line-height:1}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--scrim);z-index:90;opacity:0;transition:opacity .25s ease;pointer-events:none}.sidebar-overlay.active{opacity:1;pointer-events:auto}.slide-panel{position:fixed;top:0;right:0;height:100vh;background:var(--surface-card);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .25s ease;z-index:90;display:flex;flex-direction:column;overflow-y:auto}.slide-panel.open{transform:translateX(0)}.app-inspector{width:380px;z-index:100}.inspector-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs);letter-spacing:.08em}.inspector-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:2px 6px}.inspector-body{flex:1;overflow-y:auto;padding:var(--sp-3)}.inspector-empty{text-align:center;padding:var(--sp-8) var(--sp-3);color:var(--text-muted)}.inspector-empty-icon{font-size:32px;margin-bottom:var(--sp-3);opacity:.3}.dashboard-v3{height:100%;display:flex;flex-direction:column}.chat-layout{display:flex;height:calc(100vh - var(--topbar-h) - 40px);overflow:hidden}.chat-sidebar{width:260px;min-width:260px;background:var(--surface-card);border-right:1px solid var(--border-default);display:flex;flex-direction:column;padding:var(--sp-3);overflow-y:auto}.chat-sidebar-handle,.chat-sidebar-close{display:none}.chat-conv-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-fast) var(--ease);font-size:var(--fs-sm);display:flex;align-items:center;justify-content:space-between}.chat-conv-item:hover{background:var(--surface-hover)}.chat-conv-item.active{background:var(--surface-active);color:var(--primary)}.chat-conv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-conv-delete,.chat-conv-rename{opacity:0;transition:opacity var(--dur-fast) var(--ease);background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;font-size:var(--fs-xs)}.chat-conv-item:hover .chat-conv-delete,.chat-conv-item:hover .chat-conv-rename{opacity:1}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.chat-form{display:flex;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-default);background:var(--surface-card)}.chat-input-area{flex:1;display:flex;gap:var(--sp-2);align-items:flex-end}.chat-textarea{flex:1;font-family:var(--font-body);font-size:var(--fs-base);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-bg);color:var(--text-primary);resize:none;outline:none;min-height:40px;max-height:150px;line-height:var(--lh-normal)}.chat-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}.j-bubble{max-width:85%;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);font-size:var(--fs-base);line-height:var(--lh-normal);word-wrap:break-word}.j-bubble--user{align-self:flex-end;background:var(--primary);color:var(--primary-contrast)}.j-bubble--assistant{align-self:flex-start;background:var(--surface-card);border:1px solid var(--border-default)}.j-bubble--system{align-self:center;background:var(--surface-overlay);color:var(--text-secondary);font-size:var(--fs-sm)}.j-bubble--streaming{border-left:2px solid var(--primary)}.j-thinking{background:var(--surface-active);border-left:3px solid var(--status-info);padding:var(--sp-3) var(--sp-4);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--fs-sm);color:var(--text-secondary);font-style:italic}.j-tool-event{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs);font-family:var(--font-mono)}.j-tool-event--error{border-color:var(--status-error);background:var(--surface-overlay)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;gap:var(--sp-3)}.chat-empty-icon{font-size:48px;opacity:.3}.chat-empty-sub{font-size:var(--fs-sm)}.chat-message{display:flex;flex-direction:column;gap:var(--sp-2);max-width:85%;margin-bottom:var(--sp-4)}.chat-message:last-child{margin-bottom:0}.chat-message--user{align-self:flex-end}.chat-message--assistant{align-self:flex-start}.chat-message--system{align-self:center;opacity:.6}.chat-message-role{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.chat-message--user .chat-message-role{text-align:right;color:var(--primary)}.chat-message-bubble{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);font-size:var(--fs-base);line-height:1.6}.chat-message--user .chat-message-bubble{background:var(--surface-active);border:1px solid var(--border-strong);color:var(--text-primary)}.chat-message--assistant .chat-message-bubble{background:var(--surface-overlay);border:1px solid var(--border-default);color:var(--text-primary)}.chat-message--system .chat-message-bubble{background:none;color:var(--text-muted);font-style:italic;font-size:var(--fs-xs)}.chat-message-bubble p{margin-bottom:var(--sp-2)}.chat-message-bubble p:last-child{margin-bottom:0}.chat-message-bubble pre{background:var(--code-bg);padding:var(--sp-3);border-radius:var(--radius-md);overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-xs);margin:var(--sp-2) 0}.chat-message-bubble pre code{background:none;padding:0;font-size:inherit}.chat-message-bubble code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--code-inline-bg);padding:clamp(1px,.1vw,2px) clamp(3px,.35vw,5px);border-radius:2px}.chat-message-bubble ul,.chat-message-bubble ol{padding-left:var(--sp-6);margin:var(--sp-2) 0}.chat-message-bubble li{margin-bottom:var(--sp-1)}.chat-message-bubble blockquote{border-left:3px solid var(--border-default);padding-left:var(--sp-3);margin:var(--sp-2) 0;color:var(--text-secondary)}.chat-search-mark{background:var(--highlight);color:var(--text-primary);border-radius:2px;padding:0 2px}.thinking-block{margin:var(--sp-2) 0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:var(--fs-xs)}.thinking-block-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-overlay);cursor:pointer;user-select:none;font-weight:500;color:var(--text-secondary)}.thinking-block-header:hover{background:var(--surface-hover)}.thinking-block-body{padding:var(--sp-3);background:var(--surface-inset);border-top:1px solid var(--border-default);max-height:clamp(240px,25vw,360px);overflow-y:auto;display:none;white-space:pre-wrap;font-family:var(--font-mono);color:var(--text-secondary);line-height:1.5}.thinking-block.open .thinking-block-body{display:block}.thinking-block-toggle{font-size:10px;transition:transform .2s;display:inline-block}.thinking-block.open .thinking-block-toggle{transform:rotate(90deg)}.thinking-block.collapsed .thinking-block-body{display:none}.thinking-block.collapsed .thinking-block-toggle{transform:rotate(0deg)}.thinking-block:not(.collapsed) .thinking-block-body{display:block}.thinking-block:not(.collapsed) .thinking-block-toggle{transform:rotate(90deg)}.thinking-live{margin-bottom:var(--sp-3)}.thinking-live-body{display:flex;align-items:flex-start;gap:8px;padding:var(--sp-2) var(--sp-3);background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--fs-sm)}.thinking-live-spinner{width:14px;height:14px;border:2px solid var(--surface-overlay);border-top-color:var(--event-thinking);border-radius:50%;animation:think-spin .8s linear infinite;flex-shrink:0;margin-top:2px}.thinking-live-content{color:var(--event-thinking);font-style:italic;font-family:var(--font-head);line-height:1.6;white-space:pre-wrap;word-break:break-word;flex:1;min-width:0}.code-block{margin:var(--sp-2) 0;border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:var(--fs-sm)}.code-block pre{margin:0 !important;padding:var(--sp-3);background:var(--code-bg);color:var(--code-fg);border-radius:0;overflow-x:auto;font-family:var(--font-mono);font-size:.8rem;line-height:1.55;border:none}.code-block pre code{background:none !important;padding:0 !important;font-size:inherit !important;color:inherit !important;border-radius:0 !important}.cb-header{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:var(--code-header-bg);border-bottom:1px solid var(--border-default)}.cb-header--terminal{background:var(--code-terminal-bg)}.cb-lang{font-family:var(--font-mono);font-size:.65rem;font-weight:600;color:var(--code-header-fg);text-transform:uppercase;letter-spacing:.05em}.cb-header--terminal .cb-lang{color:var(--code-terminal-fg)}.inline-code{font-family:var(--font-mono);font-size:.85em;background:var(--code-inline-bg);color:var(--code-inline-fg);padding:.15em .35em;border-radius:3px;border:1px solid var(--border-default)}.tool-call-card{margin-top:var(--sp-2);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden;font-size:var(--fs-xs)}.tool-call-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3);background:var(--surface-overlay);cursor:pointer;font-weight:500;color:var(--status-warn)}.tool-call-body{padding:var(--sp-3);background:var(--surface-overlay);font-family:var(--font-mono);font-size:var(--fs-xs);white-space:pre-wrap;max-height:clamp(160px,16vw,220px);overflow-y:auto}.chat-context-panel{position:fixed;top:0;right:0;width:clamp(280px,26vw,340px);height:100vh;background:var(--surface-overlay);border-left:1px solid var(--border-default);z-index:95;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column}.chat-context-panel.open{transform:translateX(0)}.chat-context-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs);letter-spacing:.08em;flex-shrink:0}.chat-context-title{font-weight:600;color:var(--text-muted)}.chat-context-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:2px 6px}.chat-context-close:hover{color:var(--text-primary)}.chat-context-body{flex:1;overflow-y:auto;padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.chat-context-toggle{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font-size:14px;padding:6px 8px;flex-shrink:0;transition:background .15s,color .15s;line-height:1}.chat-context-toggle:hover,.chat-context-toggle.active{background:var(--surface-active);color:var(--primary)}.context-section{display:flex;flex-direction:column;gap:var(--sp-2)}.context-section-title{font-size:var(--fs-xs);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.context-field{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm)}.context-field-label{color:var(--text-secondary)}.context-field-value{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary)}.conv-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) 0;max-height:55vh;min-height:200px}.conv-msg{display:flex;flex-direction:column;gap:2px;max-width:85%}.conv-msg--user{align-self:flex-end}.conv-msg--assistant{align-self:flex-start}.conv-msg--system{align-self:center;opacity:.6}.conv-msg-role{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 var(--sp-2)}.conv-msg--user .conv-msg-role{text-align:right;color:var(--primary)}.conv-msg-bubble{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:1.5;word-break:break-word}.conv-msg--user .conv-msg-bubble{background:var(--primary);color:var(--primary-contrast)}.conv-msg--assistant .conv-msg-bubble{background:var(--surface-overlay);border:1px solid var(--border-default);color:var(--text-primary)}.conv-msg--system .conv-msg-bubble{background:none;color:var(--text-muted);font-style:italic;font-size:var(--fs-xs)}.conv-msg-time{font-size:9px;color:var(--text-muted);padding:0 var(--sp-2)}.conv-msg--user .conv-msg-time{text-align:right}.conv-input-row{display:flex;gap:var(--sp-2);align-items:flex-end;margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--border-default)}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-dialog{background:var(--surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:420px;max-height:80vh;overflow-y:auto;padding:var(--sp-4)}.modal-title{font-size:var(--fs-lg);font-weight:600;margin-bottom:var(--sp-3)}.modal-row{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.modal-row label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-xs);color:var(--text-muted)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4)}.modal-actions .btn-push{min-width:80px}.modal-actions .btn-delete--danger{min-width:80px}.modal-error{color:var(--status-error);font-size:var(--fs-xs);margin-top:var(--sp-2)}pre{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:var(--lh-code);background:var(--code-bg);color:var(--code-fg);padding:var(--sp-4);border-radius:var(--radius-lg);overflow-x:auto;margin:var(--sp-4) 0}code{font-family:var(--font-mono);font-size:.9em;background:var(--code-inline-bg);color:var(--code-inline-fg);padding:2px 5px;border-radius:3px}pre code{background:none;padding:0;font-size:inherit;color:inherit}.json-viewer{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.5;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.memory-pre{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.5;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;margin:0}.j-tree{list-style:none;margin:0;padding:0}.j-tree ul{list-style:none;margin:0;padding-left:var(--sp-4)}.j-tree li{margin:0}.j-tree-item{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease)}.j-tree-item:hover{background:var(--surface-hover)}.j-tree-item.active{background:var(--surface-active);color:var(--primary)}.j-tree-toggle{width:16px;text-align:center;color:var(--text-muted);font-size:var(--fs-xs);flex-shrink:0}.j-tree-icon{flex-shrink:0}.j-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.j-progress{width:100%;height:6px;background:var(--surface-overlay);border-radius:var(--radius-full);overflow:hidden}.j-progress-bar{height:100%;background:var(--primary);border-radius:var(--radius-full);transition:width var(--dur-normal) var(--ease)}.j-progress-bar--orange{background:var(--accent)}.j-progress-bar--error{background:var(--status-error)}.wb-progress{flex:1;height:4px;background:var(--surface-overlay);border-radius:2px;overflow:hidden}.wb-progress-fill{height:100%;background:var(--primary);border-radius:2px;transition:width .3s}.j-spinner{width:24px;height:24px;border:3px solid var(--surface-overlay);border-top-color:var(--primary);border-radius:50%;animation:j-spin .8s linear infinite}.j-spinner--sm{width:16px;height:16px;border-width:2px}.j-spinner--lg{width:40px;height:40px;border-width:4px}.j-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-8);color:var(--text-secondary);font-size:var(--fs-sm)}.loading-spinner{width:24px;height:24px;border:3px solid var(--border-default);border-top-color:var(--primary);border-radius:50%;animation:j-spin .8s linear infinite}.loading-text{font-size:var(--fs-sm);color:var(--text-muted)}.j-status-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:var(--sp-4)}.j-status-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);transition:border-color var(--dur-normal) var(--ease),box-shadow var(--dur-normal) var(--ease)}.j-status-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.j-status-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.j-status-value{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:600}.j-status-value--ok{color:var(--status-ok)}.j-status-value--warn{color:var(--status-warn)}.j-status-value--error{color:var(--status-error)}.j-status-sub{font-size:var(--fs-xs);color:var(--text-secondary)}.stats-bar{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:var(--sp-3);padding:var(--sp-3)}.resource-instances{padding:var(--sp-2) var(--sp-4)}.resource-instances table{width:100%;border-collapse:collapse}.resource-instances th{text-align:left;font-size:var(--fs-xs);color:var(--text-muted);font-weight:500;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--border-default)}.resource-instances td{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);border-bottom:1px solid var(--border-default)}.resource-hostname{font-size:var(--fs-base);font-weight:600;color:var(--text-primary)}.resource-host-ips{display:flex;flex-direction:column;gap:2px;max-width:200px}.resource-host-ip{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary)}.resource-host-ip--primary{color:var(--text-primary);font-weight:500}.resource-status{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:500}.resource-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.resource-status-dot--online{background:var(--status-online);animation:rdPulse 2s ease-in-out infinite}.resource-status-dot--offline{background:var(--status-offline)}.resource-status--online{color:var(--status-online)}.resource-status--offline{color:var(--text-muted)}.resource-actions{display:flex;align-items:center;gap:var(--sp-1)}.task-board{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--sp-3);padding:var(--sp-3)}.task-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);transition:border-color .15s,box-shadow .15s}.task-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.task-card-header{display:flex;justify-content:space-between;align-items:center}.task-card-title{font-size:var(--fs-sm);font-weight:600}.task-card-status{font-size:9px;padding:1px 6px;border-radius:var(--radius-sm);font-weight:600}.task-card-status--active{background:var(--primary);color:var(--primary-contrast)}.task-card-status--done{background:var(--accent);color:var(--primary-contrast)}.task-card-status--failed{background:var(--status-error);color:var(--primary-contrast)}.task-card-desc{font-size:var(--fs-xs);color:var(--text-secondary)}.task-card-meta{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted);font-family:var(--font-mono)}.dashboard-v3{height:100%;display:flex;flex-direction:column}.dashboard-v3>div:first-child{font-size:var(--fs-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default)}.widget{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.widget-header{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs);letter-spacing:.08em;color:var(--text-muted)}.widget-title{font-weight:600}.widget-body{padding:var(--sp-3)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:var(--sp-3);padding:var(--sp-3)}.event-stream{display:flex;flex-direction:column;height:100%}.event-stream-header{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs);color:var(--text-muted)}.event-stream-body{flex:1;overflow-y:auto;padding:var(--sp-2) 0}.event-row{display:flex;flex-direction:column;gap:2px;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default)}.event-row:hover{background:var(--surface-hover)}.event-row-line1{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs)}.event-time{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);flex-shrink:0}.event-instance{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row-line2{font-size:var(--fs-xs);color:var(--text-secondary);padding-left:var(--sp-2)}.event-summary{font-size:var(--fs-xs);color:var(--text-secondary)}.history-entry{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);font-size:var(--fs-xs)}.history-ts{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted);min-width:80px}.history-type{font-weight:500}.history-detail{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:var(--sp-4)}.launcher-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);cursor:pointer;transition:all var(--dur-normal) var(--ease)}.launcher-card:hover{border-color:var(--primary);box-shadow:var(--primary-glow);transform:translateY(-2px)}.launcher-icon{font-size:24px}.launcher-title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}.launcher-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:var(--sp-4)}.profile-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);transition:all var(--dur-normal) var(--ease)}.profile-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.profile-card--active{border-color:var(--primary);box-shadow:var(--primary-glow)}.profile-name{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}.profile-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.profile-meta{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono)}.profile-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.j-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--sp-6);margin-bottom:var(--sp-8);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-normal) var(--ease),border-color var(--dur-normal) var(--ease)}.j-section:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.j-section>h2{font-size:var(--fs-2xl);font-weight:800;margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:2px solid var(--border-default);letter-spacing:-0.01em}.j-section>h2::after{content:"";display:block;width:60px;height:3px;background:var(--primary);border-radius:var(--radius-full);margin-top:var(--sp-2)}.j-section>p{margin-bottom:var(--sp-5)}.j-section--accent{border-left:4px solid var(--primary);background:var(--surface-card)}.j-section--accent>h2::after{background:var(--primary)}.j-section--blue{border-left:4px solid var(--status-info)}.j-section--blue>h2::after{background:var(--status-info)}.j-section--orange{border-left:4px solid var(--accent)}.j-section--orange>h2::after{background:var(--accent)}.j-section--red{border-left:4px solid var(--status-error)}.j-section--red>h2::after{background:var(--status-error)}.j-section--info{border-left:4px solid var(--status-info)}.j-section--info>h2::after{background:var(--status-info)}.j-section--ok{border-left:4px solid var(--status-ok)}.j-section--ok>h2::after{background:var(--status-ok)}.j-section--warn{border-left:4px solid var(--status-warn)}.j-section--warn>h2::after{background:var(--status-warn)}.j-section--dash{border-left:4px solid var(--primary)}.j-section--dash>h2::after{background:var(--primary)}.j-section--dash-accent{border-left:4px solid var(--accent)}.j-section--dash-accent>h2::after{background:var(--accent)}.j-section--dash-online{border-left:4px solid var(--status-online)}.j-section--dash-online>h2::after{background:var(--status-online)}.j-section--dash-warning{border-left:4px solid var(--status-warn)}.j-section--dash-warning>h2::after{background:var(--status-warn)}.j-section--dash-info{border-left:4px solid var(--status-info)}.j-section--dash-info>h2::after{background:var(--status-info)}.j-section--amber{border-left:4px solid var(--accent)}.j-section--amber>h2::after{background:var(--accent)}.j-section--green-dim{border-left:4px solid var(--primary-hover)}.j-section--green-dim>h2::after{background:var(--primary-hover)}.docs-layout{display:flex;gap:var(--sp-6)}.docs-sidebar{width:240px;min-width:240px}.docs-content{flex:1;min-width:0}.docs-nav{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.docs-nav-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--dur-fast) var(--ease)}.docs-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.docs-nav-item.active{background:var(--surface-active);color:var(--primary)}.docs-nav-group{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:var(--sp-3) var(--sp-3) var(--sp-1)}.docs-prose{max-width:65ch;line-height:var(--lh-relaxed)}.docs-prose h2{margin-top:var(--sp-8);margin-bottom:var(--sp-3)}.docs-prose h3{margin-top:var(--sp-6);margin-bottom:var(--sp-2)}.docs-prose p{margin-bottom:var(--sp-4)}.docs-prose ul,.docs-prose ol{margin-bottom:var(--sp-4)}.docs-prose li{margin-bottom:var(--sp-1)}.monitor-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--sp-4)}.monitor-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.monitor-card--ok{border-left:3px solid var(--status-ok)}.monitor-card--warn{border-left:3px solid var(--status-warn)}.monitor-card--error{border-left:3px solid var(--status-error)}.monitor-name{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}.monitor-status{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.monitor-status--ok{color:var(--status-ok)}.monitor-status--warn{color:var(--status-warn)}.monitor-status--error{color:var(--status-error)}.monitor-meta{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono)}.logview{display:flex;flex-direction:column;height:100%}.logview-toolbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border-default);background:var(--surface-card)}.logview-toolbar select,.logview-toolbar input{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--surface-bg);color:var(--text-primary)}.logview-body{flex:1;overflow-y:auto;padding:var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:var(--lh-code)}.log-line{display:flex;gap:var(--sp-2);padding:1px 0;white-space:pre-wrap;word-break:break-all}.log-line:hover{background:var(--surface-hover)}.log-ts{color:var(--text-secondary);flex-shrink:0}.log-level{font-weight:600;flex-shrink:0}.log-level--debug{color:var(--text-secondary)}.log-level--info{color:var(--status-info)}.log-level--warn{color:var(--status-warn)}.log-level--error{color:var(--status-error)}.log-msg{flex:1}.logview-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--fs-sm)}.config-section{margin-bottom:var(--sp-6)}.config-section-title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-lg);margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-default)}.config-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:var(--sp-4)}.config-item{display:flex;flex-direction:column;gap:var(--sp-1)}.config-item-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary)}.config-item-desc{font-size:var(--fs-xs);color:var(--text-secondary)}.config-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-4)}.work-layout{display:flex;gap:var(--sp-6);height:100%}.work-sidebar{width:240px;min-width:240px;border-right:1px solid var(--border-default);padding-right:var(--sp-4);overflow-y:auto}.work-content{flex:1;min-width:0;overflow-y:auto}.work-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);transition:all var(--dur-fast) var(--ease)}.work-item:hover{background:var(--surface-hover)}.work-item.active{background:var(--surface-active);color:var(--primary)}.work-item-title{font-weight:500}.work-item-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.work-detail{max-width:65ch}.work-detail h2{margin-bottom:var(--sp-3)}.work-detail p{margin-bottom:var(--sp-3)}.rag-layout{display:flex;gap:var(--sp-6);height:100%}.rag-sidebar{width:240px;min-width:240px;border-right:1px solid var(--border-default);padding-right:var(--sp-4);overflow-y:auto}.rag-content{flex:1;min-width:0;overflow-y:auto}.rag-doc{padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--sp-3);background:var(--surface-card)}.rag-doc-title{font-weight:600;font-size:var(--fs-sm);margin-bottom:var(--sp-1)}.rag-doc-meta{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono)}.rag-doc-snippet{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--sp-2)}.rag-search{margin-bottom:var(--sp-4)}.context-layout{display:flex;gap:var(--sp-6);height:100%}.context-sidebar{width:240px;min-width:240px;border-right:1px solid var(--border-default);padding-right:var(--sp-4);overflow-y:auto}.context-content{flex:1;min-width:0;overflow-y:auto}.context-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--fs-sm);transition:all var(--dur-fast) var(--ease)}.context-item:hover{background:var(--surface-hover)}.context-item.active{background:var(--surface-active);color:var(--primary)}.context-item-title{font-weight:500}.context-item-meta{font-size:var(--fs-xs);color:var(--text-secondary);font-family:var(--font-mono)}.context-detail{max-width:65ch}.context-detail h2{margin-bottom:var(--sp-3)}.context-detail p{margin-bottom:var(--sp-3)}.workspace{display:flex;flex-direction:column;height:100%}.workspace-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-default);background:var(--surface-card)}.workspace-title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}.workspace-body{flex:1;display:flex;min-height:0}.workspace-panel{flex:1;min-width:0;overflow-y:auto;padding:var(--sp-4)}.workspace-panel--sidebar{flex:0 0 280px;border-right:1px solid var(--border-default)}.panel-resizer{width:4px;cursor:col-resize;background:var(--border-default);transition:background var(--dur-fast) var(--ease)}.panel-resizer:hover,.panel-resizer.active{background:var(--primary)}.panel-resizer--horizontal{width:auto;height:4px;cursor:row-resize}.view-stack{display:flex;flex-direction:column;gap:var(--sp-3)}.view-item{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3)}.view-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-2)}.view-item-title{font-weight:600;font-size:var(--fs-sm)}.view-item-meta{font-size:var(--fs-xs);color:var(--text-secondary)}.previewbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-card);border-top:1px solid var(--border-default);overflow-x:auto}.previewbar-item{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--dur-fast) var(--ease)}.previewbar-item:hover{border-color:var(--primary);color:var(--primary)}.previewbar-item.active{background:var(--surface-active);border-color:var(--primary);color:var(--primary)}.previewbar-item-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:var(--fs-xs);padding:0 2px}.previewbar-item-close:hover{color:var(--status-error)}.mobile-app{display:flex;flex-direction:column;height:100vh}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);background:var(--surface-card);border-bottom:1px solid var(--border-default)}.mobile-title{font-family:var(--font-head);font-weight:700;font-size:var(--fs-md)}.mobile-body{flex:1;overflow-y:auto;padding:var(--sp-4)}.mobile-nav{display:flex;border-top:1px solid var(--border-default);background:var(--surface-card)}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-2);font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.mobile-nav-item:hover{color:var(--text-primary)}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-icon{font-size:18px}
