@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg: #0e1117;--bg-accent: #131720;--bg-elevated: #1a1f2e;--bg-hover: #242b3d;--bg-muted: #242b3d;--card: #161b28;--card-foreground: #eef0f6;--card-highlight: rgba(255, 255, 255, .04);--popover: #161b28;--popover-foreground: #eef0f6;--panel: #0e1117;--panel-strong: #1a1f2e;--panel-hover: #242b3d;--chrome: rgba(14, 17, 23, .96);--chrome-strong: rgba(14, 17, 23, .98);--text: #c8cdd8;--text-strong: #eef0f6;--chat-text: #c8cdd8;--muted: #5e6578;--muted-strong: #464d5e;--muted-foreground: #5e6578;--border: #1e2433;--border-strong: #2e3650;--border-hover: #3d4766;--border-subtle: rgba(255, 255, 255, .05);--input: #1e2433;--ring: #3d4766;--accent: #f25f4c;--accent-hover: #ff7a6a;--accent-muted: #f25f4c;--accent-subtle: rgba(242, 95, 76, .12);--accent-foreground: #fafafa;--accent-glow: rgba(242, 95, 76, .2);--primary: #f25f4c;--primary-foreground: #ffffff;--secondary: #1a1f2e;--secondary-foreground: #eef0f6;--accent-2: #0abab5;--accent-2-muted: rgba(10, 186, 181, .7);--accent-2-subtle: rgba(10, 186, 181, .12);--ok: #2dd4a8;--ok-muted: rgba(45, 212, 168, .75);--ok-subtle: rgba(45, 212, 168, .1);--destructive: #f25f4c;--destructive-foreground: #fafafa;--warn: #f0b429;--warn-muted: rgba(240, 180, 41, .75);--warn-subtle: rgba(240, 180, 41, .1);--danger: #e5484d;--danger-muted: rgba(229, 72, 77, .75);--danger-subtle: rgba(229, 72, 77, .1);--info: #4c9aff;--focus: rgba(242, 95, 76, .15);--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px rgba(242, 95, 76, .5);--focus-glow: 0 0 0 2px var(--bg), 0 0 0 4px rgba(242, 95, 76, .5);--grid-line: rgba(255, 255, 255, .03);--theme-switch-x: 50%;--theme-switch-y: 50%;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, monospace;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35), 0 0 0 1px rgba(255, 255, 255, .03);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-glow: 0 0 40px var(--accent-glow);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--radius: 10px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-instant: 60ms;--duration-fast: .1s;--duration-normal: .18s;--duration-slow: .3s;--duration-slower: .42s;--shadow-accent: 0 4px 20px rgba(242, 95, 76, .2), 0 0 0 1px rgba(242, 95, 76, .1);--shadow-ok: 0 4px 20px rgba(45, 212, 168, .2), 0 0 0 1px rgba(45, 212, 168, .1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--z-toast: 700;--z-max: 9999;--sidebar-width: 180px;--sidebar-collapsed: 52px;--header-height: 48px;--content-max-width: 1200px;--chat-max-width: 768px;color-scheme:dark}:root[data-theme=light]{--bg: #f8f7f4;--bg-accent: #f0eeeb;--bg-elevated: #ffffff;--bg-hover: #eae8e4;--bg-muted: #eae8e4;--bg-content: #f0eeeb;--card: #ffffff;--card-foreground: #1a1a2e;--card-highlight: rgba(0, 0, 0, .02);--popover: #ffffff;--popover-foreground: #1a1a2e;--panel: #f8f7f4;--panel-strong: #f0eeeb;--panel-hover: #e3e0dc;--chrome: rgba(248, 247, 244, .96);--chrome-strong: rgba(248, 247, 244, .98);--text: #3d3d4e;--text-strong: #1a1a2e;--chat-text: #3d3d4e;--muted: #8a8a9a;--muted-strong: #6b6b7e;--muted-foreground: #8a8a9a;--border: #dddbd7;--border-strong: #c8c5c0;--border-hover: #a8a4a0;--border-subtle: rgba(0, 0, 0, .05);--input: #eae8e4;--ring: #a8a4a0;--accent: #d63031;--accent-hover: #e74c3c;--accent-muted: #d63031;--accent-subtle: rgba(214, 48, 49, .08);--accent-foreground: #ffffff;--accent-glow: rgba(214, 48, 49, .12);--primary: #d63031;--primary-foreground: #ffffff;--secondary: #f0eeeb;--secondary-foreground: #3d3d4e;--accent-2: #0abab5;--accent-2-muted: rgba(10, 186, 181, .75);--accent-2-subtle: rgba(10, 186, 181, .08);--ok: #1ea97c;--ok-muted: rgba(30, 169, 124, .75);--ok-subtle: rgba(30, 169, 124, .08);--destructive: #d63031;--destructive-foreground: #fafafa;--warn: #e2a308;--warn-muted: rgba(226, 163, 8, .75);--warn-subtle: rgba(226, 163, 8, .08);--danger: #d63031;--danger-muted: rgba(214, 48, 49, .75);--danger-subtle: rgba(214, 48, 49, .08);--info: #3b82f6;--focus: rgba(214, 48, 49, .1);--focus-glow: 0 0 0 2px var(--bg), 0 0 0 4px rgba(214, 48, 49, .3);--grid-line: rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-glow: 0 0 30px var(--accent-glow);color-scheme:light}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:400 14px/1.55 var(--font-body);letter-spacing:-.01em;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes theme-circle-transition{0%{clip-path:circle(0% at var(--theme-switch-x, 50%) var(--theme-switch-y, 50%))}to{clip-path:circle(150% at var(--theme-switch-x, 50%) var(--theme-switch-y, 50%))}}html.theme-transition{view-transition-name:theme}html.theme-transition::view-transition-old(theme){mix-blend-mode:normal;animation:none;z-index:1}html.theme-transition::view-transition-new(theme){mix-blend-mode:normal;z-index:2;animation:theme-circle-transition .4s var(--ease-out) forwards}@media(prefers-reduced-motion:reduce){html.theme-transition::view-transition-old(theme),html.theme-transition::view-transition-new(theme){animation:none!important}}openclaw-app{display:block;position:relative;z-index:1;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}body:before{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--border-hover);background-clip:padding-box}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dashboard-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 0 #ff5c5c00}50%{box-shadow:0 0 20px var(--accent-glow)}}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:50ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.15s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.25s}:focus-visible{outline:none}:root{--duration-instant: 50ms;--duration-fast: .1s;--duration-normal: .15s;--duration-medium: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(16px)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-16px)}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}@keyframes statusPulse{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes statusPulseError{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes errorPulse{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes warningPulse{0%{box-shadow:0 0 #eab30866}70%{box-shadow:0 0 0 6px #eab30800}to{box-shadow:0 0 #eab30800}}@keyframes borderGlow{0%,to{border-color:var(--accent);box-shadow:0 0 0 0 var(--accent-subtle)}50%{border-color:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes shimmerPremium{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}@keyframes breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) both}.animate-fade-in-up{animation:fadeInUp var(--duration-medium) var(--ease-out-expo) both}.animate-fade-in-down{animation:fadeInDown var(--duration-medium) var(--ease-out-expo) both}.animate-fade-in-left{animation:fadeInLeft var(--duration-medium) var(--ease-out-expo) both}.animate-fade-in-right{animation:fadeInRight var(--duration-medium) var(--ease-out-expo) both}.animate-scale-in{animation:scaleIn var(--duration-medium) var(--ease-out-expo) both}.animate-pop-in{animation:popIn var(--duration-slow) var(--ease-spring) both}.animate-slide-in-right{animation:slideInRight var(--duration-medium) var(--ease-out-expo) both}.animate-slide-in-left{animation:slideInLeft var(--duration-medium) var(--ease-out-expo) both}.animate-fade-out{animation:fadeOut var(--duration-fast) var(--ease-out-quart) both}.animate-fade-out-up{animation:fadeOutUp var(--duration-normal) var(--ease-out-quart) both}.animate-scale-out{animation:scaleOut var(--duration-normal) var(--ease-out-quart) both}.animate-slide-out-right{animation:slideOutRight var(--duration-medium) var(--ease-out-quart) both}.animate-slide-out-left{animation:slideOutLeft var(--duration-medium) var(--ease-out-quart) both}.animate-pulse{animation:pulse 2s var(--ease-in-out-quart) infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s var(--ease-out-expo) infinite}.animate-breathe{animation:breathe 2s var(--ease-in-out-quart) infinite}.animate-shake{animation:shake .5s var(--ease-out-expo)}.animate-wiggle{animation:wiggle .5s var(--ease-out-expo)}.animate-status-online{animation:statusPulse 2s infinite}.animate-status-error{animation:errorPulse 2s infinite}.animate-status-warning{animation:warningPulse 2s infinite}.transition-none{transition:none!important}.transition-colors{transition:color var(--duration-fast) var(--ease-out-quart),background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),fill var(--duration-fast) var(--ease-out-quart),stroke var(--duration-fast) var(--ease-out-quart)}.transition-opacity{transition:opacity var(--duration-fast) var(--ease-out-quart)}.transition-transform{transition:transform var(--duration-normal) var(--ease-out-expo)}.transition-shadow{transition:box-shadow var(--duration-normal) var(--ease-out-quart)}.transition-all{transition:all var(--duration-normal) var(--ease-out-expo)}.transition-hover{transition:background-color var(--duration-fast) var(--ease-out-quart),border-color var(--duration-fast) var(--ease-out-quart),transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-quart)}.transition-active{transition:transform var(--duration-instant) var(--ease-out-quart),box-shadow var(--duration-instant) var(--ease-out-quart)}.stagger-children>*{animation:fadeInUp var(--duration-medium) var(--ease-out-expo) both}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:30ms}.stagger-children>*:nth-child(3){animation-delay:60ms}.stagger-children>*:nth-child(4){animation-delay:90ms}.stagger-children>*:nth-child(5){animation-delay:.12s}.stagger-children>*:nth-child(6){animation-delay:.15s}.stagger-children>*:nth-child(7){animation-delay:.18s}.stagger-children>*:nth-child(8){animation-delay:.21s}.stagger-children>*:nth-child(9){animation-delay:.24s}.stagger-children>*:nth-child(10){animation-delay:.27s}.stagger-fast>*{animation:fadeInUp var(--duration-normal) var(--ease-out-expo) both}.stagger-fast>*:nth-child(1){animation-delay:0ms}.stagger-fast>*:nth-child(2){animation-delay:25ms}.stagger-fast>*:nth-child(3){animation-delay:50ms}.stagger-fast>*:nth-child(4){animation-delay:75ms}.stagger-fast>*:nth-child(5){animation-delay:.1s}.stagger-fast>*:nth-child(6){animation-delay:125ms}.stagger-cards>*{animation:fadeInUp var(--duration-slow) var(--ease-out-expo) both}.stagger-cards>*:nth-child(1){animation-delay:0ms}.stagger-cards>*:nth-child(2){animation-delay:50ms}.stagger-cards>*:nth-child(3){animation-delay:.1s}.stagger-cards>*:nth-child(4){animation-delay:.15s}.stagger-cards>*:nth-child(5){animation-delay:.2s}.stagger-cards>*:nth-child(6){animation-delay:.25s}.hover-lift{transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-quart)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-lift:active{transform:translateY(0)}.hover-scale{transition:transform var(--duration-fast) var(--ease-spring)}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}.press-effect{transition:transform var(--duration-instant) var(--ease-out-quart)}.press-effect:active{transform:scale(.97)}.focus-glow:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.skeleton{background:linear-gradient(90deg,var(--bg-accent) 0%,var(--bg-hover) 50%,var(--bg-accent) 100%);background-size:200% 100%;animation:shimmerPremium 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1em;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-card{border-radius:var(--radius-lg)}.typing-indicator{display:flex;gap:4px;align-items:center;padding:8px 12px}.typing-indicator__dot{width:6px;height:6px;background:var(--muted);border-radius:50%;animation:typingDot 1.4s infinite}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}.page-enter{animation:fadeInUp var(--duration-slow) var(--ease-out-expo)}.page-exit{animation:fadeOut var(--duration-fast) var(--ease-out-quart)}.content-reveal{animation:rise var(--duration-slow) var(--ease-out-expo)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.stagger-children>*,.stagger-fast>*,.stagger-cards>*{animation:none!important;opacity:1!important}}:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-7{gap:var(--space-7)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-full{grid-column:1 / -1}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-7{padding:var(--space-7)}.p-8{padding:var(--space-8)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-auto{margin-top:auto}.mb-auto{margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.text-xs{font-size:11px;line-height:1.45}.text-sm{font-size:12px;line-height:1.5}.text-base{font-size:14px;line-height:1.55}.text-lg{font-size:16px;line-height:1.5}.text-xl{font-size:18px;line-height:1.4}.text-2xl{font-size:22px;line-height:1.3}.text-3xl{font-size:26px;line-height:1.2}.text-4xl{font-size:32px;line-height:1.15}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tracking-tight{letter-spacing:-.02em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.03em}.tracking-wider{letter-spacing:.05em}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.55}.leading-relaxed{line-height:1.7}.font-mono{font-family:var(--mono)}.font-body{font-family:var(--font-body)}.text-primary{color:var(--text)}.text-strong{color:var(--text-strong)}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-wrap:break-word;overflow-wrap:break-word}.break-all{word-break:break-all}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-glow{box-shadow:var(--shadow-glow)}.border{border:1px solid var(--border)}.border-0{border:none}.border-strong{border-color:var(--border-strong)}.border-subtle{border-color:var(--border-subtle)}.border-accent{border-color:var(--accent)}.border-t{border-top:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.border-r{border-right:1px solid var(--border)}.bg-base{background:var(--bg)}.bg-accent{background:var(--bg-accent)}.bg-elevated{background:var(--bg-elevated)}.bg-hover{background:var(--bg-hover)}.bg-card{background:var(--card)}.bg-panel{background:var(--panel)}.bg-transparent{background:transparent}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.outline-none{outline:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100,.hover\:opacity-100:hover{opacity:1}.hover\:opacity-75:hover{opacity:.75}.hover\:opacity-50:hover{opacity:.5}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-max{z-index:9999}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.w-fit{width:fit-content}.min-w-0{min-width:0}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.h-fit{height:fit-content}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.max-h-full{max-height:100%}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.glass{background:rgba(var(--card),.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}.elevated{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.elevated:hover{border-color:var(--border);box-shadow:var(--shadow-lg)}.elevated.interactive:hover{transform:translateY(-2px)}.divider{height:1px;background:var(--border);border:none;margin:var(--space-4) 0}.divider-vertical{width:1px;height:100%;background:var(--border);margin:0 var(--space-3)}.ring-focus:focus-visible{outline:none;box-shadow:var(--focus-ring)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;min-width:20px;height:20px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);background:var(--bg-accent);border:1px solid var(--border);border-radius:4px;box-shadow:0 1px 0 var(--border-strong)}.kbd-group{display:inline-flex;gap:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8, 32px) var(--space-6, 24px);text-align:center;animation:fadeInUp var(--duration-slow) var(--ease-out-expo)}.empty-state-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-2xl, 16px);margin-bottom:var(--space-5, 20px)}.empty-state-icon svg{width:32px;height:32px;color:var(--color-text-muted, var(--muted));opacity:.7}.empty-state-title{font-size:16px;font-weight:600;color:var(--color-text-primary, var(--fg));margin-bottom:var(--space-2, 8px)}.empty-state-description{font-size:14px;color:var(--color-text-muted, var(--muted));max-width:320px;line-height:1.5;margin-bottom:var(--space-5, 20px)}.empty-state-action{display:inline-flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-accent-primary, var(--accent));color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quart)}.empty-state-action:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:var(--shadow-md)}.empty-state-action:active{transform:translateY(0)}.empty-state-action svg{width:16px;height:16px}.empty-state-link{margin-top:var(--space-3, 12px);font-size:13px;color:var(--color-text-secondary, var(--muted));cursor:pointer;transition:color var(--duration-fast) var(--ease-out-quart)}.empty-state-link:hover{color:var(--color-accent-primary, var(--accent))}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8, 32px) var(--space-6, 24px);text-align:center;animation:fadeInUp var(--duration-slow) var(--ease-out-expo)}.error-state-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-xl, 12px);margin-bottom:var(--space-4, 16px);animation:shake .5s var(--ease-out-expo)}.error-state-icon svg{width:28px;height:28px;color:var(--color-accent-error, #ef4444)}.error-state-title{font-size:16px;font-weight:600;color:var(--color-text-primary, var(--fg));margin-bottom:var(--space-2, 8px)}.error-state-message{font-size:14px;color:var(--color-text-muted, var(--muted));max-width:360px;line-height:1.5;margin-bottom:var(--space-5, 20px)}.error-state-code{font-size:12px;font-family:var(--font-mono, monospace);color:var(--color-text-muted, var(--muted));background:#ffffff0a;padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius-sm, 4px);margin-bottom:var(--space-4, 16px)}.error-state-actions{display:flex;gap:var(--space-3, 12px)}.error-state-retry{display:inline-flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-accent-primary, var(--accent));color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quart)}.error-state-retry:hover{filter:brightness(1.1)}.error-state-retry svg{width:16px;height:16px}.error-state-secondary{padding:var(--space-3, 12px) var(--space-4, 16px);background:transparent;color:var(--color-text-secondary, var(--muted));border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md, 8px);font-size:14px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-quart)}.error-state-secondary:hover{background:#ffffff0a;border-color:#ffffff26}.inline-error{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md, 8px);font-size:13px;color:var(--color-accent-error, #ef4444);animation:fadeInUp var(--duration-medium) var(--ease-out-expo)}.inline-error svg{width:16px;height:16px;flex-shrink:0}.skeleton-enhanced{background:linear-gradient(90deg,#ffffff0a,#ffffff14,#ffffff0a);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm, 4px)}.skeleton-text-short{width:60%}.skeleton-text-medium{width:80%}.skeleton-text-long{width:100%}.skeleton-card-wrapper{padding:var(--space-4, 16px);background:var(--color-bg-card, var(--bg-accent));border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg, 12px)}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--color-accent-primary, var(--accent));border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}.spinner-md{width:24px;height:24px;border-width:2px}.spinner-lg{width:32px;height:32px;border-width:3px}.loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-overlay, 100);animation:fadeIn var(--duration-fast) var(--ease-out-quart)}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-4, 16px)}.loading-overlay-text{font-size:14px;color:var(--color-text-muted, var(--muted))}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.offline-banner{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-accent-warning, #eab308);color:#000;font-size:13px;font-weight:500;z-index:var(--z-toast, 1000);animation:fadeInDown var(--duration-medium) var(--ease-out-expo)}.offline-banner svg{width:16px;height:16px}.reconnecting{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);background:#eab3081a;border:1px solid rgba(234,179,8,.2);border-radius:var(--radius-md, 8px);font-size:12px;color:var(--color-accent-warning, #eab308)}.reconnecting .spinner{width:14px;height:14px;border-width:2px;border-top-color:var(--color-accent-warning, #eab308)}.connection-status{display:flex;align-items:center;gap:var(--space-2, 8px);font-size:12px}.connection-status-dot{width:8px;height:8px;border-radius:50%}.connection-status-dot.online{background:var(--color-accent-success, #22c55e);animation:statusPulse 2s infinite}.connection-status-dot.offline{background:var(--color-text-muted, var(--muted))}.connection-status-dot.connecting{background:var(--color-accent-warning, #eab308);animation:pulse 1s infinite}.connection-status-dot.error{background:var(--color-accent-error, #ef4444);animation:errorPulse 2s infinite}.toast-container{position:fixed;bottom:var(--space-5, 20px);right:var(--space-5, 20px);display:flex;flex-direction:column;gap:var(--space-3, 12px);z-index:var(--z-toast, 1000);pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--space-3, 12px);padding:var(--space-4, 16px);background:var(--color-bg-card, var(--bg-accent));border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl);min-width:320px;max-width:420px;pointer-events:auto;animation:slideInLeft var(--duration-slow) var(--ease-out-expo)}.toast-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}.toast-content{flex:1}.toast-title{font-size:14px;font-weight:500;color:var(--color-text-primary, var(--fg));margin-bottom:2px}.toast-message{font-size:13px;color:var(--color-text-muted, var(--muted));line-height:1.4}.toast-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted, var(--muted));cursor:pointer;border-radius:var(--radius-sm, 4px);transition:all var(--duration-fast) var(--ease-out-quart)}.toast-close:hover{background:#ffffff0f;color:var(--color-text-primary, var(--fg))}.toast-success .toast-icon{color:var(--color-accent-success, #22c55e)}.toast-error .toast-icon{color:var(--color-accent-error, #ef4444)}.toast-warning .toast-icon{color:var(--color-accent-warning, #eab308)}.toast-info .toast-icon{color:var(--color-accent-primary, var(--accent))}.toast-exit{animation:slideOutRight var(--duration-medium) var(--ease-out-quart) forwards}.connection-banner{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:8px 20px;z-index:9999;animation:fadeInDown var(--duration-medium, .2s) var(--ease-out-expo, ease-out);font-size:13px;font-weight:500;gap:12px}.connection-banner.warning{background:#fef3c7;border-bottom:1px solid #fcd34d;color:#92400e}.connection-banner.error{background:#fef2f2;border-bottom:1px solid #fecaca;color:#991b1b}:root[data-theme=dark] .connection-banner.warning,.dark .connection-banner.warning{background:#422006;border-color:#854d0e;color:#fef3c7}:root[data-theme=dark] .connection-banner.error,.dark .connection-banner.error{background:#450a0a;border-color:#991b1b;color:#fef2f2}.connection-banner-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.connection-banner-content svg{width:16px;height:16px;flex-shrink:0}.connection-banner-content .spinner{width:14px;height:14px;border-width:2px;flex-shrink:0}.connection-banner.warning .spinner{border-color:#92400e33;border-top-color:#92400e}.connection-banner.error .spinner{border-color:#991b1b33;border-top-color:#991b1b}:root[data-theme=dark] .connection-banner.warning .spinner,.dark .connection-banner.warning .spinner{border-color:#fef3c733;border-top-color:#fef3c7}:root[data-theme=dark] .connection-banner.error .spinner,.dark .connection-banner.error .spinner{border-color:#fef2f233;border-top-color:#fef2f2}.connection-error-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection-retry-info{opacity:.7;font-size:12px}.connection-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.connection-btn-retry,.connection-btn-guide{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid currentColor;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;color:inherit;opacity:.9}.connection-btn-retry:hover,.connection-btn-guide:hover{opacity:1;background:#0000000d}:root[data-theme=dark] .connection-btn-retry:hover,:root[data-theme=dark] .connection-btn-guide:hover,.dark .connection-btn-retry:hover,.dark .connection-btn-guide:hover{background:#ffffff1a}.connection-btn-retry svg,.connection-btn-guide svg{width:12px;height:12px}.connection-countdown{font-size:12px;opacity:.7}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease}.setup-guide-modal{width:480px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);background:var(--bg, #ffffff);border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:12px;box-shadow:0 20px 40px #00000026;overflow:hidden;animation:scaleIn .2s ease}:root[data-theme=dark] .setup-guide-modal,.dark .setup-guide-modal{background:#1a1a1a;border-color:#ffffff1a}.setup-guide-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}:root[data-theme=dark] .setup-guide-header,.dark .setup-guide-header{border-color:#ffffff14}.setup-guide-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--fg, #1a1a1a)}:root[data-theme=dark] .setup-guide-title,.dark .setup-guide-title{color:#f5f5f5}.setup-guide-title svg{width:20px;height:20px;color:var(--accent, #ff5c5c)}.setup-guide-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--muted, #666);cursor:pointer;transition:all .15s ease}.setup-guide-close:hover{background:#0000000d;color:var(--fg, #1a1a1a)}:root[data-theme=dark] .setup-guide-close:hover,.dark .setup-guide-close:hover{background:#ffffff1a;color:#f5f5f5}.setup-guide-close svg{width:16px;height:16px}.setup-guide-progress{display:flex;align-items:center;justify-content:center;padding:16px 20px;gap:8px;background:var(--bg-subtle, #fafafa);border-bottom:1px solid var(--border, rgba(0, 0, 0, .08))}:root[data-theme=dark] .setup-guide-progress,.dark .setup-guide-progress{background:#ffffff05;border-color:#ffffff14}.progress-step{display:flex;flex-direction:column;align-items:center;gap:6px}.progress-step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg, #ffffff);border:2px solid var(--border, rgba(0, 0, 0, .15));border-radius:50%;font-size:12px;font-weight:600;color:var(--muted, #666);transition:all .2s ease}:root[data-theme=dark] .progress-step-number,.dark .progress-step-number{background:#252525;border-color:#ffffff26;color:#888}.progress-step.active .progress-step-number{background:var(--accent, #ff5c5c);border-color:var(--accent, #ff5c5c);color:#fff}.progress-step.completed .progress-step-number{background:#22c55e;border-color:#22c55e;color:#fff}.progress-step.completed .progress-step-number svg{width:14px;height:14px}.progress-step-label{font-size:11px;color:var(--muted, #666);white-space:nowrap}:root[data-theme=dark] .progress-step-label,.dark .progress-step-label{color:#888}.progress-step.active .progress-step-label{color:var(--fg, #1a1a1a);font-weight:500}:root[data-theme=dark] .progress-step.active .progress-step-label,.dark .progress-step.active .progress-step-label{color:#f5f5f5}.progress-line{width:40px;height:2px;background:var(--border, rgba(0, 0, 0, .15));margin-bottom:20px;transition:background .2s ease}:root[data-theme=dark] .progress-line,.dark .progress-line{background:#ffffff26}.progress-line.completed{background:#22c55e}.setup-guide-content{padding:24px 20px;min-height:240px}.step-content{display:flex;flex-direction:column;align-items:center;text-align:center}.step-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:#ff5c5c1a;border-radius:12px;margin-bottom:16px}.step-icon svg{width:24px;height:24px;color:var(--accent, #ff5c5c)}.step-icon.success{background:#22c55e1a}.step-icon.success svg{color:#22c55e}.step-title{font-size:16px;font-weight:600;color:var(--fg, #1a1a1a);margin-bottom:8px}:root[data-theme=dark] .step-title,.dark .step-title{color:#f5f5f5}.step-description{font-size:13px;color:var(--muted, #666);line-height:1.5;max-width:360px;margin-bottom:20px}:root[data-theme=dark] .step-description,.dark .step-description{color:#888}.check-gateway-box{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:340px;padding:12px 16px;background:var(--bg-subtle, #f5f5f5);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:8px;margin-bottom:16px}:root[data-theme=dark] .check-gateway-box,.dark .check-gateway-box{background:#ffffff0a;border-color:#ffffff14}.check-gateway-status{display:flex;align-items:center;gap:8px;font-size:13px}.check-gateway-status .spinner{width:16px;height:16px}.status-success{display:flex;align-items:center;gap:6px;color:#22c55e;font-weight:500}.status-success svg{width:16px;height:16px}.status-error{display:flex;align-items:center;gap:6px;color:#ef4444;font-weight:500}.status-error svg{width:16px;height:16px}.status-warning{display:flex;align-items:center;gap:6px;color:#f59e0b;font-weight:500}.status-warning svg{width:16px;height:16px}.check-gateway-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid var(--border, rgba(0, 0, 0, .15));border-radius:6px;color:var(--muted, #666);font-size:12px;cursor:pointer;transition:all .15s ease}:root[data-theme=dark] .check-gateway-btn,.dark .check-gateway-btn{border-color:#ffffff26;color:#888}.check-gateway-btn:hover:not(:disabled){background:#0000000d;border-color:var(--border, rgba(0, 0, 0, .2))}:root[data-theme=dark] .check-gateway-btn:hover:not(:disabled),.dark .check-gateway-btn:hover:not(:disabled){background:#ffffff0d;border-color:#fff3}.check-gateway-btn:disabled{opacity:.5;cursor:not-allowed}.check-gateway-btn svg{width:12px;height:12px}.step-info{display:flex;align-items:flex-start;gap:10px;width:100%;max-width:340px;padding:10px 12px;background:#3b82f614;border:1px solid rgba(59,130,246,.15);border-radius:6px;text-align:left}.step-info.success{background:#22c55e14;border-color:#22c55e26}.step-info .info-icon{flex-shrink:0;color:#3b82f6;margin-top:1px}.step-info.success .info-icon{color:#22c55e}.step-info .info-icon svg{width:14px;height:14px}.step-info p{font-size:12px;color:var(--muted, #666);line-height:1.4;margin:0}:root[data-theme=dark] .step-info p,.dark .step-info p{color:#888}.step-info code{background:#0000000f;padding:1px 4px;border-radius:3px;font-family:var(--font-mono, monospace);font-size:11px}:root[data-theme=dark] .step-info code,.dark .step-info code{background:#ffffff1a}.command-list{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.command-item{display:flex;flex-direction:column;gap:4px}.command-label{font-size:11px;font-weight:500;color:var(--muted, #666);text-align:left}:root[data-theme=dark] .command-label,.dark .command-label{color:#888}.command-box{display:flex;align-items:center;background:var(--bg-subtle, #f5f5f5);border:1px solid var(--border, rgba(0, 0, 0, .1));border-radius:6px;overflow:hidden}:root[data-theme=dark] .command-box,.dark .command-box{background:#0000004d;border-color:#ffffff1a}.command-text{flex:1;padding:10px 12px;font-family:var(--font-mono, monospace);font-size:12px;color:#16a34a;text-align:left;overflow-x:auto}.command-copy{padding:10px 12px;background:transparent;border:none;border-left:1px solid var(--border, rgba(0, 0, 0, .1));color:var(--muted, #666);cursor:pointer;transition:all .15s ease}:root[data-theme=dark] .command-copy,.dark .command-copy{border-color:#ffffff1a;color:#888}.command-copy:hover{background:#0000000d;color:var(--fg, #1a1a1a)}:root[data-theme=dark] .command-copy:hover,.dark .command-copy:hover{background:#ffffff0d;color:#f5f5f5}.command-copy.copied{color:#22c55e}.command-copy svg{width:14px;height:14px}.connect-box{width:100%;max-width:340px;padding:16px;background:var(--bg-subtle, #f5f5f5);border:1px solid var(--border, rgba(0, 0, 0, .08));border-radius:8px;margin-bottom:16px}:root[data-theme=dark] .connect-box,.dark .connect-box{background:#ffffff0a;border-color:#ffffff14}.connect-status{display:flex;align-items:center;justify-content:center;gap:12px}.recheck-btn{padding:6px 10px;background:transparent;border:1px solid var(--border, rgba(0, 0, 0, .15));border-radius:6px;color:var(--muted, #666);font-size:11px;cursor:pointer;transition:all .15s ease}:root[data-theme=dark] .recheck-btn,.dark .recheck-btn{border-color:#ffffff26;color:#888}.recheck-btn:hover{background:#0000000d}:root[data-theme=dark] .recheck-btn:hover,.dark .recheck-btn:hover{background:#ffffff0d}.setup-guide-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border, rgba(0, 0, 0, .08));background:var(--bg-subtle, #fafafa)}:root[data-theme=dark] .setup-guide-footer,.dark .setup-guide-footer{background:#ffffff05;border-color:#ffffff14}.setup-btn-primary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent, #ff5c5c);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.setup-btn-primary:hover{filter:brightness(1.1)}.setup-btn-primary svg{width:14px;height:14px}.setup-btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:transparent;border:1px solid var(--border, rgba(0, 0, 0, .15));border-radius:6px;color:var(--muted, #666);font-size:13px;cursor:pointer;transition:all .15s ease}:root[data-theme=dark] .setup-btn-secondary,.dark .setup-btn-secondary{border-color:#ffffff26;color:#888}.setup-btn-secondary:hover{background:#0000000d}:root[data-theme=dark] .setup-btn-secondary:hover,.dark .setup-btn-secondary:hover{background:#ffffff0d}.setup-btn-secondary svg{width:14px;height:14px}.sidebar-connection-status{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:8px;background:#0000000a;border-radius:6px;font-size:11px;cursor:pointer;transition:all .15s ease}:root[data-theme=dark] .sidebar-connection-status,.dark .sidebar-connection-status{background:#ffffff0a}.sidebar-connection-status:hover{background:#0000000f}:root[data-theme=dark] .sidebar-connection-status:hover,.dark .sidebar-connection-status:hover{background:#ffffff0f}.sidebar-connection-status.connected{color:#22c55e}.sidebar-connection-status.disconnected{color:#ef4444}.sidebar-connection-status.connecting{color:#f59e0b}.sidebar-connection-status.error{color:#ef4444}.sidebar-connection-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sidebar-connection-status.connected .sidebar-connection-dot{background:#22c55e;animation:statusPulse 2s infinite}.sidebar-connection-status.disconnected .sidebar-connection-dot,.sidebar-connection-status.error .sidebar-connection-dot{background:#ef4444}.sidebar-connection-status.connecting .sidebar-connection-dot{background:#f59e0b;animation:pulse 1s infinite}.sidebar-connection-text{flex:1}.sidebar-connection-action{padding:2px 6px;background:#00000014;border-radius:4px;font-size:10px;font-weight:500;opacity:0;transition:opacity .15s ease}:root[data-theme=dark] .sidebar-connection-action,.dark .sidebar-connection-action{background:#ffffff1a}.sidebar-connection-status:hover .sidebar-connection-action{opacity:1}.shell{--shell-pad: 16px;--shell-gap: 16px;--shell-nav-width: 180px;--shell-topbar-height: 48px;--shell-focus-duration: .2s;--shell-focus-ease: var(--ease-out);height:100vh;display:grid;grid-template-columns:var(--shell-nav-width) minmax(0,1fr);grid-template-rows:var(--shell-topbar-height) 1fr;grid-template-areas:"topbar topbar" "nav content";gap:0;animation:dashboard-enter .3s var(--ease-out);transition:grid-template-columns var(--shell-focus-duration) var(--shell-focus-ease);overflow:hidden}@supports (height: 100dvh){.shell{height:100dvh}}.shell--chat{min-height:100vh;height:100vh;overflow:hidden}@supports (height: 100dvh){.shell--chat{height:100dvh}}.shell--nav-collapsed{grid-template-columns:52px minmax(0,1fr)}.shell--chat-focus{grid-template-columns:0px minmax(0,1fr)}.shell--onboarding{grid-template-rows:0 1fr}.shell--split-panel{grid-template-columns:52px minmax(0,1fr)}.shell--split-panel .nav{width:52px;min-width:52px;padding:10px 8px;overflow:hidden}.shell--split-panel .nav .nav-label,.shell--split-panel .nav .nav-group--links,.shell--split-panel .nav .nav-item__text{display:none}.shell--split-panel .nav .nav-item{justify-content:center;padding:10px;border-radius:var(--radius-md)}.shell--split-panel .nav .nav-item__icon{margin-right:0}.shell--onboarding .topbar{display:none}.shell--onboarding .content{padding-top:0}.shell--chat-focus .content{padding-top:0;gap:0}.topbar{grid-area:topbar;position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 20px 0 10px;height:var(--shell-topbar-height);border-bottom:1px solid var(--border);background:var(--bg)}.topbar-left{display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px}.brand-icon{width:32px;height:32px;object-fit:contain}.brand-text{display:flex;flex-direction:column;gap:1px}.brand-title{font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.04em;line-height:1.1;color:var(--text-strong)}.brand-sub .brand-claw{color:var(--accent)}.brand-sub{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;line-height:1}.topbar-status{display:flex;align-items:center;gap:8px}.ui-version-badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated, var(--secondary));color:var(--text-strong);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}.topbar-status .pill{padding:6px 10px;gap:6px;font-size:12px;font-weight:500;height:32px;box-sizing:border-box}.topbar-status .pill .mono{display:flex;align-items:center;line-height:1;margin-top:0}.topbar-status .statusDot{width:6px;height:6px}.settings-toggle{--toggle-item: 24px;--toggle-gap: 2px;--toggle-pad: 3px}.settings-toggle__track{display:flex;align-items:center;gap:0;padding:var(--toggle-pad);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--secondary)}.settings-toggle__group{position:relative;display:flex;gap:var(--toggle-gap)}.settings-toggle__separator{width:1px;height:16px;background:var(--border);margin:0 6px}.settings-toggle__indicator{position:absolute;top:50%;width:var(--toggle-item);height:var(--toggle-item);border-radius:var(--radius-full);background:var(--accent);transform:translateY(-50%);transition:transform var(--duration-normal) var(--ease-out);z-index:0}.settings-toggle__indicator--lang{left:0;transform:translateY(-50%) translate(calc(var(--lang-index, 0) * (var(--toggle-item) + var(--toggle-gap))))}.settings-toggle__indicator--theme{left:0;transform:translateY(-50%) translate(calc(var(--theme-index, 0) * (var(--toggle-item) + var(--toggle-gap))))}.settings-toggle__button{height:var(--toggle-item);min-width:var(--toggle-item);display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--muted);cursor:pointer;position:relative;z-index:1;transition:color var(--duration-fast) ease}.settings-toggle__button--lang{padding:0 6px;font-size:10px;font-weight:600;letter-spacing:.02em}.settings-toggle__button:hover{color:var(--text)}.settings-toggle__button.active{color:var(--accent-foreground)}.settings-toggle .theme-icon{width:12px;height:12px}.nav{grid-area:nav;overflow-y:auto;overflow-x:hidden;padding:16px 12px;background:var(--bg);scrollbar-width:none;transition:width var(--shell-focus-duration) var(--shell-focus-ease),padding var(--shell-focus-duration) var(--shell-focus-ease),opacity var(--shell-focus-duration) var(--shell-focus-ease);min-height:0}.nav::-webkit-scrollbar{display:none}.shell--chat-focus .nav{width:0;padding:0;border-width:0;overflow:hidden;pointer-events:none;opacity:0}.nav--collapsed{width:52px;min-width:52px;padding:10px 8px;overflow:hidden}.nav--collapsed .nav-label,.nav--collapsed .nav-group--links,.nav--collapsed .nav-item__text{display:none}.nav--collapsed .nav-item{justify-content:center;padding:10px;border-radius:var(--radius-md)}.nav--collapsed .nav-item__icon{margin-right:0}.nav--collapsed .nav-collapse-toggle{width:40px;height:40px;margin:0 auto 12px;border-bottom:1px solid var(--border);padding-bottom:12px;border-radius:0}.nav--collapsed .nav-group{margin-bottom:8px}.nav-label-row{display:flex;align-items:center;gap:4px}.nav-label-row .nav-label{flex:1;min-width:0}.nav-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);flex-shrink:0;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.nav-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text)}.nav-sidebar-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.nav--collapsed .nav-label-row{justify-content:center}.nav--collapsed .nav-label-row .nav-label{display:none}.nav--collapsed .nav-sidebar-toggle{width:36px;height:36px}.nav--collapsed .nav-sidebar-toggle svg{width:18px;height:18px}.nav-group{margin-bottom:16px;display:grid;gap:0}.nav-group:last-child{margin-bottom:0}.nav-group__items{display:grid;gap:0}.nav-group--collapsed .nav-group__items{display:none}.nav-label{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:2px;background:transparent;border:none;cursor:pointer;text-align:left;border-radius:var(--radius-sm);text-transform:none;letter-spacing:.04em;transition:color var(--duration-fast) ease,background var(--duration-fast) ease}.nav-label:hover{color:var(--text-strong);background:var(--bg-hover)}.nav-label--static{cursor:default}.nav-label--static:hover{color:var(--text-strong);background:transparent}.nav-label__text{flex:1}.nav-label__chevron{font-size:12px;opacity:.6;transition:transform var(--duration-fast) ease}.nav-group--collapsed .nav-label__chevron{transform:rotate(-90deg)}.nav-item{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:7px 10px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text);cursor:pointer;text-decoration:none;transition:background var(--duration-fast) ease,color var(--duration-fast) ease}.nav-item__icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.7;transition:opacity var(--duration-fast) ease}.nav-item__icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.nav-item__text{font-size:13px;font-weight:500;white-space:nowrap}.nav-item:hover{color:var(--text);background:var(--bg-hover);text-decoration:none;padding-left:16px}.nav-item:hover:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:2px;height:16px;border-radius:1px;background:var(--muted)}.nav-item:hover .nav-item__icon{opacity:1}.nav-item.active{color:var(--text-strong);background:var(--accent-subtle);padding-left:16px}.nav-item.active:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:2.5px;height:18px;border-radius:2px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.nav-item.active .nav-item__icon{opacity:1;color:var(--text-strong)}.nav-item__shortcut{font-size:10px;font-family:var(--mono);color:var(--muted);opacity:0;padding:2px 5px;background:var(--bg-accent);border:1px solid var(--border);border-radius:4px;margin-left:auto;transition:opacity var(--duration-fast) var(--ease-out)}.nav-item:hover .nav-item__shortcut{opacity:1}.nav--collapsed .nav-item__shortcut{display:none}.nav-item__badge{min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;background:var(--accent);border-radius:var(--radius-full);margin-left:auto}.nav--collapsed .nav-item__badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;font-size:9px}.nav-status{margin-top:auto;padding:var(--space-3);display:flex;align-items:center;gap:var(--space-2);font-size:12px;color:var(--muted);border-top:1px solid var(--border-subtle)}.nav-status__dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0}.nav-status__dot.ok{animation:statusPulse 2s infinite}.nav-status__dot.offline{background:var(--muted);animation:none}.nav-status__text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav--collapsed .nav-status__text{display:none}.content{grid-area:content;padding:20px 28px 36px;display:flex;flex-direction:column;gap:20px;min-height:0;overflow-y:auto;overflow-x:hidden}:root[data-theme=dark] .topbar,:root:not([data-theme=light]) .topbar{background:var(--bg);border-bottom-color:var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=dark] .nav,:root:not([data-theme=light]) .nav{background:var(--bg);border-right:1px solid var(--border)}:root[data-theme=dark] .content,:root:not([data-theme=light]) .content{background:var(--bg)}:root[data-theme=light] .topbar{background:var(--bg);border-bottom-color:var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=light] .nav{background:var(--bg);border-right:1px solid var(--border)}:root[data-theme=light] .content{background:var(--bg)}.content--chat{overflow:hidden;padding:0 16px;gap:0}.content-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0;overflow:hidden;transform-origin:top center;transition:opacity var(--shell-focus-duration) var(--shell-focus-ease),transform var(--shell-focus-duration) var(--shell-focus-ease),max-height var(--shell-focus-duration) var(--shell-focus-ease),padding var(--shell-focus-duration) var(--shell-focus-ease);max-height:80px}.shell--chat-focus .content-header{opacity:0;transform:translateY(-8px);max-height:0px;padding:0;pointer-events:none}.page-title{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:-.04em;line-height:1.15;color:var(--text-strong)}.page-sub{color:var(--muted);font-size:14px;font-weight:400;margin-top:6px;letter-spacing:-.01em}.page-meta{display:flex;gap:8px}.content--chat .content-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding:8px 0;margin:0;max-height:none;height:auto;overflow:visible}.content--chat .page-title{font-size:13px;font-weight:600;line-height:32px}.content--chat .content-header>div:first-child{display:flex;align-items:center;height:26px}.content--chat .page-meta{display:flex;align-items:center;height:32px}.grid{display:grid;gap:20px}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.note-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.row{display:flex;gap:12px;align-items:center}.stack{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}@media(max-width:1100px){.shell{--shell-pad: 12px;--shell-gap: 12px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"topbar" "nav" "content"}.nav{position:static;max-height:none;display:flex;gap:6px;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border);padding:10px 14px;background:var(--bg)}.nav-group{grid-auto-flow:column;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-bottom:0}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.topbar{position:static;padding:12px 14px;gap:10px}.topbar-status{flex-wrap:wrap}.table-head,.table-row,.list-item{grid-template-columns:1fr}}@media(max-width:1100px){.nav{display:flex;flex-direction:row;flex-wrap:nowrap;gap:4px;padding:10px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-group,.nav-group__items{display:contents}.nav-label{display:none}.nav-group--collapsed .nav-group__items{display:contents}.nav-item{padding:8px 14px;font-size:13px;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0}}@media(max-width:600px){.shell{--shell-pad: 8px;--shell-gap: 8px}.topbar{padding:10px 12px;gap:8px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center}.brand{flex:1;min-width:0}.brand-title{font-size:14px}.brand-sub{display:none}.topbar-status{gap:6px;width:auto;flex-wrap:nowrap;min-width:0}.ui-version-badge{max-width:46vw;overflow:hidden;text-overflow:ellipsis;padding:0 8px;font-size:10px;height:24px}.topbar-status .pill{padding:4px 8px;font-size:11px;gap:4px}.topbar-status .pill .mono{display:none}.topbar-status .pill span:nth-child(2){display:none}.nav{width:100%;max-width:100%;padding:8px 10px;gap:4px;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-group{display:contents}.nav-label{display:none}.nav-item{padding:10px 14px;min-height:44px;font-size:12px;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;box-sizing:border-box}.content-header{display:none}.content--chat .content-header{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:4px 0 8px;position:relative;z-index:2}.content--chat .content-header>div:first-child{display:none}.content--chat .page-title{display:none}.content--chat .page-meta{display:flex;align-items:stretch;justify-content:center;gap:8px;width:100%;height:auto;flex-wrap:wrap;min-width:0;margin:0 auto}.content--chat .page-meta>*{min-width:0;max-width:100%}.content--chat .page-meta .pill{max-width:100%;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.content{padding:4px 4px 16px;gap:12px;min-width:0;max-width:100%;overflow-x:clip}.content--chat{width:100%;max-width:100%;min-width:0;padding-left:0;padding-right:0;box-sizing:border-box;gap:0!important}.content--chat .content-header,.content--chat .chat-controls{width:100%;max-width:100%;box-sizing:border-box}.content--chat .content-header{margin:0!important;padding:0!important;min-height:34px}.content--chat .chat{margin-top:0!important}.content--chat .chat-controls{margin:0;justify-content:flex-start;align-items:center}.content--chat .chat-controls .chat-controls__session,.content--chat .chat-controls label.field.chat-controls__session{flex:1 1 auto;min-width:0}.card{padding:12px;border-radius:var(--radius-md)}.card-title{font-size:13px}.stat-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.stat{padding:10px;border-radius:var(--radius-md)}.stat-label{font-size:11px}.stat-value{font-size:18px}.note-grid{grid-template-columns:1fr;gap:8px}.form-grid{grid-template-columns:1fr;gap:10px}.field input,.field textarea,.field select{padding:10px 12px;border-radius:var(--radius-md);font-size:16px;min-height:44px;box-sizing:border-box}.btn{padding:10px 16px;font-size:13px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn--sm{padding:8px 12px;min-height:44px}.pill{padding:4px 10px;font-size:12px}.content--chat{padding:0 8px}.content--chat .content-header{margin:0;padding:0;min-height:0}.chat-header{flex-direction:column;align-items:stretch;gap:8px}.chat-header__left{flex-direction:column;align-items:stretch}.chat-header__right{justify-content:space-between}.chat-session{min-width:unset;width:100%}.chat-thread{margin-top:0!important;padding:0 8px 12px!important}.chat-thread>*:first-child,.chat-thread>.chat-group:first-child{margin-top:0!important}.chat-msg{max-width:90%}.chat-bubble{padding:8px 12px;border-radius:var(--radius-md)}.chat-compose{gap:8px}.composer-input{font-size:16px}.log-stream{border-radius:var(--radius-md);max-height:380px}.log-row{grid-template-columns:1fr;gap:4px;padding:8px}.log-time{font-size:10px}.log-level{font-size:9px}.log-subsystem{font-size:11px}.log-message{font-size:12px}.list-item{padding:10px;border-radius:var(--radius-md)}.list-title{font-size:13px}.list-sub{font-size:11px}.code-block{padding:8px;border-radius:var(--radius-md);font-size:11px}.theme-toggle{--theme-item: 24px;--theme-gap: 2px;--theme-pad: 3px}.theme-icon{width:12px;height:12px}}@media(max-width:900px){.content--chat .content-header{align-items:center;gap:10px;margin-bottom:6px}.content--chat .content-header>div:first-child,.content--chat .page-title{display:none!important}.content--chat .page-meta{width:100%;justify-content:center;flex-wrap:wrap;min-width:0;margin:0 auto}}@media(max-width:768px){.content--chat .content-header{padding:6px 0 10px}}@media(max-width:430px){.content--chat .page-title{font-size:12px}.content--chat .page-meta{gap:6px}.content--chat .content-header{gap:6px;padding:2px 0 8px}.content{padding:4px 2px 16px}.pill{padding:5px 10px;line-height:1.35}}@media(max-width:400px){.shell{--shell-pad: 4px}.topbar{padding:8px 10px}.brand-title{font-size:13px}.nav{padding:6px 8px}.nav-item{padding:6px 8px;font-size:11px}.content{padding:4px 4px 12px;gap:10px}.card{padding:10px}.stat{padding:8px}.stat-value{font-size:16px}.chat-bubble{padding:8px 10px}.chat-compose__field textarea{min-height:52px;padding:8px 10px;font-size:16px}.btn{padding:8px 12px;font-size:12px;min-height:44px}.topbar-status .pill{padding:3px 6px;font-size:10px}.theme-toggle{--theme-item: 22px;--theme-gap: 2px;--theme-pad: 2px}.theme-icon{width:11px;height:11px}}.chat{position:relative;display:flex;flex-direction:column;flex:1 1 0;height:100%;min-height:0;overflow:hidden;background:transparent!important;border:none!important;box-shadow:none!important;padding-top:0!important;--chat-fab-size: 36px;--chat-fab-right: calc(12px + env(safe-area-inset-right, 0px)) }.chat-header__left{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.chat-session{min-width:180px}.chat-thread{flex:1 1 0;overflow-y:auto;overflow-x:hidden;padding:0 16px;margin:0 auto;min-height:0;min-width:0;max-width:100%;border-radius:12px;background:transparent;box-sizing:border-box;contain:layout paint}.chat-main{position:relative}.chat-scroll-to-bottom{position:absolute;right:var(--chat-fab-right);left:auto;z-index:210;width:var(--chat-fab-size);height:var(--chat-fab-size);box-sizing:border-box;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #00000038}.chat-scroll-to-bottom--above-composer,.chat-scroll-to-bottom--compact{right:var(--chat-fab-right)}.chat-scroll-to-bottom:hover{background:var(--panel-strong)}.chat-scroll-to-bottom__stack{position:relative;width:18px;height:18px;display:inline-block}.chat-scroll-to-bottom__chev{position:absolute;left:0;width:18px;height:18px;display:inline-flex}.chat-scroll-to-bottom__chev svg{width:18px;height:18px}.chat-scroll-to-bottom__chev--top{top:-4px;opacity:.9}.chat-scroll-to-bottom__chev--bottom{top:2px}.chat-collapse-toggle{position:absolute;right:var(--chat-fab-right);left:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:200;width:var(--chat-fab-size);height:var(--chat-fab-size);box-sizing:border-box;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;box-shadow:0 6px 18px #00000038}.chat-collapse-toggle:hover{background:var(--panel-strong);color:var(--text);border-color:var(--accent)}.chat-collapse-toggle svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chat.chat--compact .chat-thread{padding-bottom:12px}.chat-focus-exit{position:absolute;top:12px;right:52px;z-index:100;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out;box-shadow:0 4px 12px #0003}.chat-focus-exit:hover{background:var(--panel-strong);color:var(--text);border-color:var(--accent)}.chat-focus-exit svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chat-compose{position:sticky;bottom:0;flex-shrink:0;display:flex;flex-direction:column;gap:12px;margin-top:auto;padding:12px 4px 4px;background:linear-gradient(to bottom,transparent,var(--bg) 20%);z-index:10}.chat-attachments{display:inline-flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--panel);border-radius:8px;border:1px solid var(--border);width:fit-content;max-width:100%;align-self:flex-start}.chat-attachment{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.chat-attachment__img{width:100%;height:100%;object-fit:contain}.chat-attachment__remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#000000b3;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease-out}.chat-attachment:hover .chat-attachment__remove{opacity:1}.chat-attachment__remove:hover{background:#dc2626e6}.chat-attachment__remove svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2px}.chat-attachment--file{width:auto;min-width:120px;max-width:200px;height:auto;min-height:64px;padding:8px;display:flex;align-items:center}.chat-attachment__file-info{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;overflow:hidden}.chat-attachment__file-icon{color:var(--muted);flex-shrink:0}.chat-attachment__file-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-attachment__file-name{font-size:11px;font-family:var(--font-body);color:var(--text);line-height:1.3;text-align:center;word-break:break-all;max-width:100%}.chat-attachment__file-size{font-size:10px;color:var(--muted);font-family:var(--font-body)}.chat-composer--dragover{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-subtle, rgba(99, 102, 241, .06))}:root[data-theme=light] .chat-attachments{background:#f8fafc;border-color:#1018281a}:root[data-theme=light] .chat-attachment{border-color:#10182826;background:#fff}:root[data-theme=light] .chat-attachment__remove{background:#0009}.chat-message-images{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chat-message-image{max-width:300px;max-height:200px;border-radius:8px;object-fit:contain;cursor:pointer;transition:transform .15s ease-out}.chat-message-image:hover{transform:scale(1.02)}.chat-group.user .chat-message-images{justify-content:flex-end}.chat-compose__row{display:flex;align-items:stretch;gap:12px;flex:1}:root[data-theme=light] .chat-compose{background:linear-gradient(to bottom,transparent,var(--bg-content) 20%)}.chat-compose__field{flex:1 1 auto;min-width:0;display:flex;align-items:stretch}.chat-compose__field>span{display:none}.chat-compose .chat-compose__field textarea{width:100%;height:32px;min-height:32px;max-height:120px;padding:6px 12px;border-radius:8px;overflow-y:auto;resize:none;white-space:pre-wrap;font-family:var(--font-body);font-size:14px;line-height:1.45}.chat-compose__field textarea:disabled{opacity:.7;cursor:not-allowed}.chat-compose__actions{flex-shrink:0;display:flex;align-items:stretch;gap:8px}.chat-compose .chat-compose__actions .btn{padding:0 14px;font-size:13px;height:32px;min-height:32px;max-height:32px;line-height:1;white-space:nowrap;box-sizing:border-box}.chat-controls{display:flex;align-items:center;gap:2px;background:var(--panel-strong);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;height:34px;box-sizing:border-box}:root[data-theme=light] .chat-controls{background:var(--panel-strong);border-color:var(--border);box-shadow:0 1px 2px #0000000a}.chat-controls .chat-controls__session,.chat-controls label.field.chat-controls__session{display:flex!important;align-items:center!important;min-width:100px;height:26px;gap:0;margin:0;padding:0}.chat-controls .chat-controls__session>span{display:none}.chat-controls .btn.btn--sm.btn--icon{padding:0!important;margin:0!important;width:26px!important;height:26px!important;display:flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--muted);box-sizing:border-box!important;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.chat-controls .btn.btn--sm.btn--icon:hover{background:var(--bg-hover);color:var(--text)}.chat-controls .btn.btn--sm.btn--icon.active{background:var(--accent-subtle);color:var(--accent)}.chat-controls__separator{width:1px;height:16px;background:var(--border);margin:0 2px;flex-shrink:0;font-size:0;overflow:hidden}:root[data-theme=light] .chat-controls__separator{background:var(--border)}.btn--icon:hover{background:var(--bg-hover);color:var(--text)}:root[data-theme=light] .btn--icon{color:var(--muted)}:root[data-theme=light] .btn--icon:hover{color:var(--text)}.btn--icon svg{display:block;width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-controls .chat-controls__session select{padding:0 8px;margin:0;font-size:11px;font-family:var(--font-body);height:26px;line-height:26px;box-sizing:border-box;vertical-align:middle;align-self:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.chat-controls .chat-controls__session select:hover{background:var(--bg-hover)}.chat-controls .chat-controls__session select:focus{outline:none;background:var(--bg-hover)}.chat-controls__thinking{display:flex;align-items:center;gap:4px;font-size:11px;font-family:var(--font-body);padding:4px 8px;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--muted)}:root[data-theme=light] .chat-controls__thinking{background:var(--bg-hover)}@media(max-width:640px){.chat-session{min-width:140px}.chat-compose{grid-template-columns:1fr}.chat-controls{flex-wrap:wrap;gap:2px;height:auto;padding:4px}.chat-controls__session{min-width:120px;min-height:44px;font-size:16px}.chat-controls .btn.btn--sm.btn--icon{width:44px!important;height:44px!important}.chat-controls__separator{height:24px}.chat-controls select{min-height:44px;font-size:16px}}@media(max-width:900px){.chat-controls{flex-wrap:wrap;justify-content:flex-start;width:100%;max-width:100%;height:auto;padding:4px;gap:4px}.chat-controls .chat-controls__session,.chat-controls label.field.chat-controls__session{flex:1 1 220px;min-width:0}.chat-controls .chat-controls__session select{width:100%}.chat-controls__separator{display:none}.chat-controls .memory-indicator,.chat-controls .session-switcher{flex-shrink:0}}@media(max-width:768px){.chat{width:100%;max-width:100%;min-width:0}.chat-thread{width:100%;max-width:100%;padding-left:10px;padding-right:10px;margin-top:4px;box-sizing:border-box}.chat-scroll-to-bottom{right:var(--chat-fab-right)}.chat-composer.claude-style,.chat-compose{width:100%;max-width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box}.chat-compose{padding:10px 0 calc(8px + env(safe-area-inset-bottom,0px));gap:10px}}@media(max-width:430px){.chat-thread{padding-left:6px;padding-right:6px;margin-top:0!important}.chat-controls{align-items:center;flex-wrap:nowrap;gap:4px;padding:4px;border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.chat-controls .chat-controls__session,.chat-controls label.field.chat-controls__session{flex:1 1 auto;min-width:160px;min-height:40px}.chat-controls .chat-controls__session select{min-height:40px;padding:0 12px;font-size:13px}.chat-controls .btn.btn--sm.btn--icon,.chat-controls .session-switcher__trigger{width:40px!important;height:40px!important;min-height:40px}.chat-controls .memory-indicator{display:inline-flex;align-items:center;min-width:0;max-width:100%}.chat-controls .memory-indicator__label-btn{max-width:min(44vw,180px);min-height:40px;padding:0 10px;overflow:hidden;text-overflow:ellipsis}.chat-controls .memory-indicator__badge{min-width:22px;height:22px}.chat-controls .session-switcher{flex:0 0 auto}}.chat-thinking{margin-bottom:10px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(255,255,255,.18);background:#ffffff0a;color:var(--muted);font-size:12px;line-height:1.4}:root[data-theme=light] .chat-thinking{border-color:#10182840;background:#1018280a}.chat-text{font-size:14px;line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.chat-text :where(p+p,p+ul,p+ol,p+pre,p+blockquote){margin-top:.75em}.chat-text :where(ul,ol){padding-left:1.5em}.chat-text :where(p,li,blockquote){min-width:0;overflow-wrap:anywhere}.chat-text :where(a){color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-text :where(a:hover){opacity:.8}.chat-text :where(:not(pre)>code){background:#00000026;padding:.15em .4em;border-radius:4px;white-space:break-spaces;overflow-wrap:anywhere;word-break:break-word}.chat-text :where(pre){background:#00000026;border-radius:6px;padding:10px 12px;overflow-x:auto}.chat-text :where(.md-code-wrap){position:relative}.chat-text :where(.md-code-wrap pre){margin:0;padding-top:34px}.chat-text :where(.md-code-copy-btn){position:absolute;top:8px;right:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:var(--radius-md);padding:4px 6px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease-out,background .12s ease-out}.chat-text :where(.md-code-wrap:hover .md-code-copy-btn),.chat-text :where(.md-code-copy-btn:focus-visible),.chat-text :where(.md-code-copy-btn[data-copied="1"]),.chat-text :where(.md-code-copy-btn[data-error="1"]){opacity:1;pointer-events:auto}.chat-text :where(.md-code-copy-btn:hover){background:var(--bg-hover)}.chat-text :where(.md-code-copy-btn:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.chat-text :where(.md-code-copy-btn[data-copying="1"]){opacity:0;pointer-events:none}.chat-text :where(.md-code-copy-btn[data-error="1"]){border-color:var(--danger-subtle);background:var(--danger-subtle);color:var(--danger)}.chat-text :where(.md-code-copy-btn[data-copied="1"]){border-color:var(--ok-subtle);background:var(--ok-subtle);color:var(--ok)}.chat-text :where(.md-code-copy-btn__icon){display:inline-flex;width:14px;height:14px;position:relative}.chat-text :where(.md-code-copy-btn__icon svg){width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-text :where(.md-code-copy-btn__icon-copy),.chat-text :where(.md-code-copy-btn__icon-check){position:absolute;top:0;left:0;transition:opacity .15s ease}.chat-text :where(.md-code-copy-btn__icon-check),.chat-text :where(.md-code-copy-btn[data-copied="1"] .md-code-copy-btn__icon-copy){opacity:0}.chat-text :where(.md-code-copy-btn[data-copied="1"] .md-code-copy-btn__icon-check){opacity:1}@media(hover:none){.chat-text :where(.md-code-copy-btn){opacity:1;pointer-events:auto}}.chat-text :where(pre code){background:none;padding:0}.chat-text :where(blockquote){border-left:3px solid var(--border-strong);margin-left:0;color:var(--muted);background:#ffffff05;padding:8px 12px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.chat-text :where(blockquote blockquote){margin-top:8px;border-left-color:var(--border-hover);background:#ffffff08}.chat-text :where(blockquote blockquote blockquote){border-left-color:var(--muted-strong);background:#ffffff0a}:root[data-theme=light] .chat-text :where(blockquote){background:#00000008}:root[data-theme=light] .chat-text :where(blockquote blockquote){background:#0000000d}:root[data-theme=light] .chat-text :where(blockquote blockquote blockquote){background:#0000000a}:root[data-theme=light] .chat-text :where(:not(pre)>code){background:#00000014;border:1px solid rgba(0,0,0,.1)}:root[data-theme=light] .chat-text :where(pre){background:#0000000d;border:1px solid rgba(0,0,0,.1)}.chat-text :where(hr){border:none;border-top:1px solid var(--border);margin:1em 0}@media(max-width:430px){.chat-text{font-size:15px;line-height:1.62}.chat-text :where(p+p,p+ul,p+ol,p+pre,p+blockquote){margin-top:.85em}.chat-text :where(ul,ol){padding-left:1.25em}.chat-text :where(pre){padding:10px;border-radius:10px}.chat-text :where(.md-code-wrap pre){padding-top:38px}}.chat-group{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;margin-left:4px;margin-right:16px;max-width:100%;box-sizing:border-box}.chat-group.user{flex-direction:row-reverse;justify-content:flex-start}.chat-group-messages{display:flex;flex-direction:column;gap:2px;max-width:min(640px,calc(100% - 60px));min-width:0;overflow:hidden}.chat-group.user .chat-group-messages{align-items:flex-end}.chat-group.user .chat-group-footer{justify-content:flex-end}.chat-group-footer{display:flex;gap:8px;align-items:baseline;margin-top:6px;min-width:0}.chat-sender-name{font-weight:500;font-size:12px;color:var(--muted)}.chat-group-timestamp{font-size:11px;color:var(--muted);opacity:.7}.chat-avatar{width:36px;height:36px;border-radius:10px;background:var(--panel-strong);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:13px;flex-shrink:0;align-self:flex-end;margin-bottom:4px;border:1px solid var(--border-subtle)}.chat-avatar.user{background:var(--accent-subtle);color:var(--accent);border-color:#f25f4c26}.chat-avatar.assistant,.chat-avatar.other,.chat-avatar.tool{background:var(--secondary);color:var(--muted)}img.chat-avatar{display:block;object-fit:cover;object-position:center}.chat-bubble{position:relative;display:inline-block;border:1px solid transparent;background:var(--card);border-radius:var(--radius-lg);padding:10px 14px;box-shadow:none;transition:background .15s ease-out,border-color .15s ease-out;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;overflow:visible}.chat-bubble.has-copy{padding-right:36px}.chat-copy-btn{position:absolute;top:6px;right:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:var(--radius-md);padding:4px 6px;font-size:14px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease-out,background .12s ease-out}.chat-copy-btn__icon{display:inline-flex;width:14px;height:14px;position:relative}.chat-copy-btn__icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-copy-btn__icon-copy,.chat-copy-btn__icon-check{position:absolute;top:0;left:0;transition:opacity .15s ease}.chat-copy-btn__icon-check,.chat-copy-btn[data-copied="1"] .chat-copy-btn__icon-copy{opacity:0}.chat-copy-btn[data-copied="1"] .chat-copy-btn__icon-check{opacity:1}.chat-bubble:hover .chat-copy-btn{opacity:1;pointer-events:auto}.chat-copy-btn:hover{background:var(--bg-hover)}.chat-copy-btn[data-copying="1"]{opacity:0;pointer-events:none}.chat-copy-btn[data-error="1"]{opacity:1;pointer-events:auto;border-color:var(--danger-subtle);background:var(--danger-subtle);color:var(--danger)}.chat-copy-btn[data-copied="1"]{opacity:1;pointer-events:auto;border-color:var(--ok-subtle);background:var(--ok-subtle);color:var(--ok)}.chat-copy-btn:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--accent);outline-offset:2px}@media(hover:none){.chat-copy-btn{opacity:1;pointer-events:auto}}:root[data-theme=light] .chat-bubble{border-color:var(--border);box-shadow:inset 0 1px 0 var(--card-highlight)}.chat-bubble:hover{background:var(--bg-hover)}.chat-group.user .chat-bubble{background:var(--accent-subtle);border-color:transparent}:root[data-theme=light] .chat-group.user .chat-bubble{border-color:#ea580c33;background:#fb923c1f}.chat-group.user .chat-bubble:hover{background:#ff4d4d26}.chat-bubble.streaming{animation:pulsing-border 1.5s ease-out infinite}@keyframes pulsing-border{0%,to{border-color:var(--border)}50%{border-color:var(--accent)}}.chat-bubble.fade-in{animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.chat-group{gap:10px;margin-left:0;margin-right:0;margin-bottom:14px}.chat-group-messages{max-width:calc(100% - 46px)}.chat-avatar{width:32px;height:32px;border-radius:9px;font-size:12px}.chat-bubble{padding:11px 13px;max-width:100%}}@media(max-width:430px){.chat-group{gap:6px}.chat-group-messages{max-width:calc(100% - 32px)}.chat-avatar{width:26px;height:26px;border-radius:7px;font-size:11px}.chat-bubble{width:100%;padding:11px 12px;border-radius:14px}.chat-bubble.has-copy{padding-right:42px}.chat-group-footer{gap:6px;flex-wrap:wrap;line-height:1.35}.chat-copy-btn{top:8px;right:8px;min-width:28px;min-height:28px}}.chat-tool-card{border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:8px;background:var(--card);box-shadow:inset 0 1px 0 var(--card-highlight);transition:border-color .15s ease-out,background .15s ease-out;max-height:120px;overflow:hidden}.chat-tool-card:hover{border-color:var(--border-strong);background:var(--bg-hover)}.chat-tool-card:first-child{margin-top:0}.chat-tool-card--clickable{cursor:pointer}.chat-tool-card--clickable:focus{outline:2px solid var(--accent);outline-offset:2px}.chat-tool-card__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.chat-tool-card__title{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;line-height:1.2}.chat-tool-card__icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.chat-tool-card__icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-tool-card__action{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--accent);opacity:.8;transition:opacity .15s ease-out}.chat-tool-card__action svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.chat-tool-card--clickable:hover .chat-tool-card__action{opacity:1}.chat-tool-card__status{display:inline-flex;align-items:center;color:var(--ok)}.chat-tool-card__status svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chat-tool-card__status-text{font-size:11px;margin-top:4px}.chat-tool-card__detail{font-size:12px;color:var(--muted);margin-top:4px}.chat-tool-card__preview{font-size:11px;color:var(--muted);margin-top:8px;padding:8px 10px;background:var(--secondary);border-radius:var(--radius-md);white-space:pre-wrap;overflow:hidden;max-height:44px;line-height:1.4;border:1px solid var(--border)}.chat-tool-card--clickable:hover .chat-tool-card__preview{background:var(--bg-hover);border-color:var(--border-strong)}.chat-tool-card__inline{font-size:11px;color:var(--text);margin-top:6px;padding:6px 8px;background:var(--secondary);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word}.chat-reading-indicator{background:transparent;border:1px solid var(--border);padding:12px;display:inline-flex}.chat-reading-indicator__dots{display:flex;gap:6px;align-items:center}.chat-reading-indicator__dots span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:reading-pulse 1.4s ease-in-out infinite}.chat-reading-indicator__dots span:nth-child(1){animation-delay:0s}.chat-reading-indicator__dots span:nth-child(2){animation-delay:.2s}.chat-reading-indicator__dots span:nth-child(3){animation-delay:.4s}@keyframes reading-pulse{0%,60%,to{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1)}}.chat-split-container{display:flex;gap:0;flex:1;min-height:0;height:100%}.chat-main{min-width:400px;display:flex;flex-direction:column;overflow:hidden;transition:flex .25s ease-out;max-width:68%;margin:0 auto}.chat-split-container--open .chat-main{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:0;overflow:hidden}.chat-split-container--open .chat-main .chat-thread{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}.chat-split-container--open .chat-main .chat-thread .chat-group{width:68%;max-width:68%;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}.chat-split-container--open .chat-main .chat-composer.claude-style{width:68%!important;max-width:68%!important;margin-left:auto!important;margin-right:auto!important;flex-shrink:0;box-sizing:border-box}.chat-split-container--open .chat-main .chat-queue{width:68%!important;max-width:68%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}.chat-sidebar{flex:1 1 45%;min-width:350px;max-width:55%;border-left:none;display:flex;flex-direction:column;overflow:hidden;animation:slide-in .2s ease-out;position:relative;background:var(--bg)}.chat-sidebar:before{content:"";position:absolute;top:0;left:0;bottom:0;width:1px;background:var(--border-subtle);pointer-events:none;z-index:1}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.sidebar-panel{display:flex;flex-direction:column;height:100%;background:var(--bg)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:sticky;top:0;z-index:10;background:var(--bg)}.sidebar-header .btn{padding:4px 8px;font-size:14px;min-width:auto;line-height:1}.sidebar-title{font-weight:600;font-size:14px}.sidebar-content{flex:1;overflow:auto;padding:16px}.sidebar-markdown{font-size:14px;line-height:1.5}.sidebar-markdown pre{background:#0000001f;border-radius:4px;padding:12px;overflow-x:auto}.sidebar-markdown .md-code-wrap{position:relative}.sidebar-markdown .md-code-wrap pre{margin:0;padding-top:34px}.sidebar-markdown .md-code-copy-btn{position:absolute;top:8px;right:8px;border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:var(--radius-md);padding:4px 6px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease-out,background .12s ease-out}.sidebar-markdown .md-code-wrap:hover .md-code-copy-btn,.sidebar-markdown .md-code-copy-btn:focus-visible,.sidebar-markdown .md-code-copy-btn[data-copied="1"],.sidebar-markdown .md-code-copy-btn[data-error="1"]{opacity:1;pointer-events:auto}.sidebar-markdown .md-code-copy-btn:hover{background:var(--bg-hover)}.sidebar-markdown .md-code-copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-markdown .md-code-copy-btn[data-copying="1"]{opacity:0;pointer-events:none}.sidebar-markdown .md-code-copy-btn[data-copied="1"]{border-color:var(--ok-subtle);background:var(--ok-subtle);color:var(--ok)}.sidebar-markdown .md-code-copy-btn[data-error="1"]{border-color:var(--danger-subtle);background:var(--danger-subtle);color:var(--danger)}.sidebar-markdown .md-code-copy-btn__icon{display:inline-flex;width:14px;height:14px;position:relative}.sidebar-markdown .md-code-copy-btn__icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.sidebar-markdown .md-code-copy-btn__icon-copy,.sidebar-markdown .md-code-copy-btn__icon-check{position:absolute;top:0;left:0;transition:opacity .15s ease}.sidebar-markdown .md-code-copy-btn__icon-check,.sidebar-markdown .md-code-copy-btn[data-copied="1"] .md-code-copy-btn__icon-copy{opacity:0}.sidebar-markdown .md-code-copy-btn[data-copied="1"] .md-code-copy-btn__icon-check{opacity:1}@media(hover:none){.sidebar-markdown .md-code-copy-btn{opacity:1;pointer-events:auto}}.sidebar-markdown code{font-family:var(--mono);font-size:13px}@media(max-width:768px){.chat-split-container{width:100%;max-width:100%;min-width:0;overflow-x:hidden}.chat-main{flex:1 1 auto;width:100%;min-width:0;max-width:100%;margin:0;align-items:center}.chat-main .chat-thread,.chat-main .chat-composer.claude-style,.chat-main .chat-queue{width:100%;max-width:min(100%,760px);min-width:0;margin-left:auto;margin-right:auto;box-sizing:border-box}.chat-split-container--open .chat-main .chat-thread .chat-group,.chat-split-container--open .chat-main .chat-composer.claude-style,.chat-split-container--open .chat-main .chat-queue{width:100%!important;max-width:100%!important}.chat-split-container--open{position:fixed;inset:0;z-index:1000}.chat-split-container--open .chat-main{display:none}.chat-split-container--open .chat-sidebar{width:100%;min-width:0;max-width:none;border-left:none}}.split-view{display:flex;flex:1;min-height:0;overflow:hidden}.split-view__pane{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-top:2px solid transparent;transition:border-color .2s}.split-view__pane--focused{border-top-color:var(--accent)}@media(max-width:768px){.split-view__pane:not(.split-view__pane--focused){display:none}.split-view__pane--focused{flex:1 1 100%!important}.split-view resizable-divider{display:none}}.chat-composer.claude-style{background:var(--bg-elevated, #1a1d25);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:18px;padding:0;margin:0 auto 8px;width:calc(100% - 52px);max-width:640px;position:relative;box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .22));box-sizing:border-box;contain:layout style;transform:translateZ(0);overflow:visible}.chat-composer.claude-style:focus-within{border-color:var(--border-strong);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .22))}:root[data-theme=light] .chat-composer.claude-style{background:var(--bg-elevated, #ffffff);border-color:var(--border, rgba(0, 0, 0, .1));box-shadow:var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .06))}.composer-main{display:flex;flex-direction:column;padding:10px 12px 4px}.composer-input{width:100%;min-height:16px;max-height:80px;padding:0;border:none;background:transparent;color:var(--text, #e4e4e7);font-size:13px;line-height:1.4;resize:none;outline:none;font-family:inherit}:root[data-theme=light] .composer-input{color:var(--text, #3f3f46)}.composer-input::placeholder{color:var(--muted, rgba(255, 255, 255, .5))}:root[data-theme=light] .composer-input::placeholder{color:var(--muted, rgba(0, 0, 0, .4))}.composer-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:2px;gap:8px}.composer-toolbar__left,.composer-toolbar__right{display:flex;align-items:center;gap:4px;min-width:0}.composer-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:var(--muted, rgba(255, 255, 255, .7));border-radius:50%;cursor:pointer;transition:all .15s ease}:root[data-theme=light] .composer-icon-btn{color:var(--muted, rgba(0, 0, 0, .5))}.composer-icon-btn:hover:not(:disabled){background:var(--bg-hover, rgba(255, 255, 255, .1));color:var(--text-strong, #fff)}:root[data-theme=light] .composer-icon-btn:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .06));color:var(--text-strong, #1a1a1a)}.composer-icon-btn:disabled{opacity:.4;cursor:not-allowed}.composer-icon-btn.recording{background:var(--danger, #ef4444);color:#fff;animation:pulse 1.5s infinite}.composer-icon-btn.speaking{background:var(--accent, #ff5c5c);color:#fff;animation:speakWave 1.2s ease-in-out infinite}@keyframes speakWave{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.composer-icon-btn.tts-active{color:var(--accent, #ff5c5c)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.voice-transcript{padding:6px 12px;font-size:13px;color:var(--text-secondary, #666);font-style:italic;border-bottom:1px solid var(--border-color, #e5e7eb);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.composer-icon-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none}.composer-model-selector{display:flex;align-items:center;gap:3px;padding:4px 8px;border:1px solid var(--border, rgba(255, 255, 255, .15));background:transparent;color:var(--text, rgba(255, 255, 255, .8));border-radius:12px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s ease}:root[data-theme=light] .composer-model-selector{border-color:var(--border, rgba(0, 0, 0, .12));color:var(--text, rgba(0, 0, 0, .7))}.composer-model-selector:hover:not(:disabled){background:var(--bg-hover, rgba(255, 255, 255, .08));border-color:var(--border-hover, rgba(255, 255, 255, .25))}:root[data-theme=light] .composer-model-selector:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .04));border-color:var(--border-hover, rgba(0, 0, 0, .2))}.composer-model-selector:disabled{opacity:.4;cursor:not-allowed}.composer-model-selector svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}.model-name{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-send-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--accent, #ff5c5c);color:#fff;border-radius:50%;cursor:pointer;transition:all .15s ease}.composer-send-btn:hover:not(:disabled){background:var(--accent-hover, #ff7070);transform:scale(1.05)}.composer-send-btn:disabled{background:var(--bg-muted, rgba(255, 255, 255, .1));color:var(--muted, rgba(255, 255, 255, .3));cursor:not-allowed;transform:none}:root[data-theme=light] .composer-send-btn:disabled{background:var(--bg-muted, rgba(0, 0, 0, .08));color:var(--muted, rgba(0, 0, 0, .25))}.composer-send-btn.busy{background:var(--danger, #ef4444)}.composer-send-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.5;fill:none}.composer-quick-actions{display:none}:root[data-theme=light] .composer-quick-actions{border-top-color:var(--border, rgba(0, 0, 0, .06))}.quick-action-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border, rgba(255, 255, 255, .15));background:transparent;color:var(--text, rgba(255, 255, 255, .8));border-radius:12px;cursor:pointer;font-size:11px;font-weight:500;transition:all .15s ease}:root[data-theme=light] .quick-action-btn{border-color:var(--border, rgba(0, 0, 0, .1));color:var(--text, rgba(0, 0, 0, .6))}.quick-action-btn:hover:not(:disabled){background:var(--bg-hover, rgba(255, 255, 255, .08));border-color:var(--border-hover, rgba(255, 255, 255, .25));color:var(--text-strong, #fff)}:root[data-theme=light] .quick-action-btn:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .04));border-color:var(--border-hover, rgba(0, 0, 0, .18));color:var(--text-strong, #1a1a1a)}.quick-action-btn:disabled{opacity:.4;cursor:not-allowed}.quick-action-icon{display:flex;align-items:center;justify-content:center}.quick-action-icon svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}.quick-action-label{font-weight:500}.model-selector-dropdown{position:absolute;bottom:100%;right:12px;margin-bottom:6px;width:300px;background:var(--card, #181b22);border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:14px;box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .4));overflow:hidden;z-index:100}:root[data-theme=light] .model-selector-dropdown{background:var(--card, #fff);border-color:var(--border, rgba(0, 0, 0, .1));box-shadow:var(--shadow-md, 0 4px 20px rgba(0, 0, 0, .12))}.model-selector-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));font-weight:600;font-size:13px;color:var(--text-strong, #fff)}:root[data-theme=light] .model-selector-header{border-bottom-color:var(--border, rgba(0, 0, 0, .06));color:var(--text-strong, #1a1a1a)}.model-selector-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--muted, rgba(255, 255, 255, .6));border-radius:50%;cursor:pointer;transition:all .15s ease}:root[data-theme=light] .model-selector-close{color:var(--muted, rgba(0, 0, 0, .5))}.model-selector-close:hover{background:var(--bg-hover, rgba(255, 255, 255, .1));color:var(--text-strong, #fff)}:root[data-theme=light] .model-selector-close:hover{background:var(--bg-hover, rgba(0, 0, 0, .06));color:var(--text-strong, #1a1a1a)}.model-selector-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.model-provider-tabs{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}:root[data-theme=light] .model-provider-tabs{border-bottom-color:var(--border, rgba(0, 0, 0, .06))}.model-provider-tab{flex:1;padding:6px 8px;border:none;background:transparent;color:var(--muted, rgba(255, 255, 255, .6));border-radius:6px;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;transition:all .15s ease}:root[data-theme=light] .model-provider-tab{color:var(--muted, rgba(0, 0, 0, .5))}.model-provider-tab:hover{background:var(--bg-hover, rgba(255, 255, 255, .08));color:var(--text, #fff)}:root[data-theme=light] .model-provider-tab:hover{background:var(--bg-hover, rgba(0, 0, 0, .04));color:var(--text, #1a1a1a)}.model-provider-tab.active{background:var(--accent-subtle, rgba(255, 92, 92, .2));color:var(--accent, #ff5c5c)}.api-key-banner{width:640px;max-width:calc(100% - 32px);margin:0 auto 8px;background:var(--bg-elevated, #1a1d25);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:14px;padding:14px 16px;box-shadow:var(--shadow-sm, 0 1px 4px rgba(0, 0, 0, .15));animation:api-key-slide-down .2s ease-out;box-sizing:border-box}:root[data-theme=light] .api-key-banner{background:var(--bg-elevated, #ffffff);border-color:var(--border, rgba(0, 0, 0, .1));box-shadow:var(--shadow-sm, 0 1px 4px rgba(0, 0, 0, .08))}@keyframes api-key-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.api-key-banner__title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-strong, #fff);margin-bottom:10px}:root[data-theme=light] .api-key-banner__title{color:var(--text-strong, #1a1a1a)}.api-key-banner__title svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}.api-key-banner__row{display:flex;align-items:center;gap:8px}.api-key-banner__input{flex:1;padding:8px 10px;border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:8px;background:var(--bg-muted, rgba(255, 255, 255, .05));color:var(--text, #fff);font-size:12px;font-family:var(--mono, monospace);outline:none;transition:all .15s ease}:root[data-theme=light] .api-key-banner__input{background:var(--bg-muted, #f5f5f5);border-color:var(--border, rgba(0, 0, 0, .12));color:var(--text, #1a1a1a)}.api-key-banner__input:focus{border-color:var(--accent, #ff5c5c)}.api-key-banner__input::placeholder{color:var(--muted, rgba(255, 255, 255, .35))}:root[data-theme=light] .api-key-banner__input::placeholder{color:var(--muted, rgba(0, 0, 0, .35))}.api-key-banner__save-btn{display:flex;align-items:center;gap:4px;padding:8px 14px;border:none;background:var(--accent, #ff5c5c);color:#fff;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;white-space:nowrap;transition:all .15s ease}.api-key-banner__save-btn:hover:not(:disabled){background:var(--accent-hover, #ff7070)}.api-key-banner__save-btn:disabled{opacity:.5;cursor:not-allowed}.api-key-banner__save-btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.api-key-banner__save-btn.saving{opacity:.7}.api-key-banner__save-btn.saved{background:#22c55e}.api-key-banner__save-btn.error{background:#ef4444}.api-key-banner__hint{margin-top:6px;font-size:10px;color:var(--muted, rgba(255, 255, 255, .4))}:root[data-theme=light] .api-key-banner__hint{color:var(--muted, rgba(0, 0, 0, .4))}.api-key-banner__hint.hint--success{color:#4ade80}.api-key-banner__hint.hint--error{color:#f87171}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.model-selector-list{max-height:200px;overflow-y:auto;padding:4px 6px}.model-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text, #fff);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease}:root[data-theme=light] .model-option{color:var(--text, #1a1a1a)}.model-option:hover{background:var(--bg-hover, rgba(255, 255, 255, .08))}:root[data-theme=light] .model-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.model-option.selected{background:var(--accent-subtle, rgba(255, 92, 92, .2))}.model-option-label{font-weight:500;font-size:13px}.model-option-check{width:16px;height:16px;color:var(--accent, #ff5c5c)}.model-option-check svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.5;fill:none}.vibecode-progress{display:flex;align-items:center;gap:0;padding:10px 16px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));background:var(--bg-elevated, #1a1d25);overflow-x:auto}:root[data-theme=light] .vibecode-progress{background:var(--bg-elevated, #ffffff);border-bottom-color:var(--border, rgba(0, 0, 0, .06))}.vibecode-progress-label{font-size:10px;font-weight:600;color:var(--muted, rgba(255, 255, 255, .4));text-transform:uppercase;letter-spacing:.5px;margin-right:12px;white-space:nowrap}:root[data-theme=light] .vibecode-progress-label{color:var(--muted, rgba(0, 0, 0, .4))}.vibecode-step{display:flex;align-items:center;gap:0;font-size:10px;font-weight:600;letter-spacing:.5px;white-space:nowrap}.vibecode-step__label{padding:3px 8px;border-radius:4px;transition:all .2s ease}.vibecode-step--pending .vibecode-step__label{color:var(--muted, rgba(255, 255, 255, .3));opacity:.5}:root[data-theme=light] .vibecode-step--pending .vibecode-step__label{color:var(--muted, rgba(0, 0, 0, .25))}.vibecode-step--completed .vibecode-step__label{color:var(--success, #22c55e);opacity:.7}.vibecode-step--active .vibecode-step__label{color:var(--accent, #ff5c5c);background:var(--accent-subtle, rgba(255, 92, 92, .15))}.vibecode-step__arrow{color:var(--muted, rgba(255, 255, 255, .2));font-size:10px;margin:0 2px}:root[data-theme=light] .vibecode-step__arrow{color:var(--muted, rgba(0, 0, 0, .15))}.vibecode-templates{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 4px;justify-content:center;width:640px;max-width:calc(100% - 32px);margin:0 auto}.vibecode-templates-label{width:100%;text-align:center;font-size:11px;font-weight:500;color:var(--muted, rgba(255, 255, 255, .5));margin-bottom:2px}:root[data-theme=light] .vibecode-templates-label{color:var(--muted, rgba(0, 0, 0, .4))}.vibecode-template-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border, rgba(255, 255, 255, .15));background:transparent;color:var(--text, rgba(255, 255, 255, .8));border-radius:12px;cursor:pointer;font-size:11px;font-weight:500;transition:all .15s ease}:root[data-theme=light] .vibecode-template-btn{border-color:var(--border, rgba(0, 0, 0, .1));color:var(--text, rgba(0, 0, 0, .6))}.vibecode-template-btn:hover:not(:disabled){background:var(--accent-subtle, rgba(255, 92, 92, .1));border-color:var(--accent, #ff5c5c);color:var(--accent, #ff5c5c)}:root[data-theme=light] .vibecode-template-btn:hover:not(:disabled){background:var(--accent-subtle, rgba(255, 92, 92, .08));border-color:var(--accent, #ff5c5c);color:var(--accent, #ff5c5c)}.vibecode-template-btn:disabled{opacity:.4;cursor:not-allowed}.vibecode-template-btn__icon{display:flex;align-items:center;justify-content:center}.vibecode-template-btn__icon svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none}.vibecode-blueprint-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:5px 10px;border:1px solid var(--accent, #ff5c5c);background:var(--accent-subtle, rgba(255, 92, 92, .1));color:var(--accent, #ff5c5c);border-radius:8px;cursor:pointer;font-size:11px;font-weight:600;transition:all .15s ease}.vibecode-blueprint-btn:hover{background:var(--accent, #ff5c5c);color:#fff}.vibecode-blueprint-btn svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none}@media(max-width:640px){.chat-composer.claude-style{max-width:calc(100% - 16px)}.composer-input{font-size:16px}.composer-icon-btn{width:44px;height:44px}.composer-send-btn{width:36px;height:36px}.vibecode-templates{width:100%;max-width:100%;padding:8px 16px 4px}.vibecode-progress{padding:8px 12px}.vibecode-step__label{padding:2px 6px;font-size:9px}}@media(max-width:768px){.chat-composer.claude-style{width:calc(100% - 8px);margin-bottom:0;border-radius:20px;box-shadow:none;transform:none;contain:layout style;overflow:visible}.composer-main{padding:12px 14px 8px}.composer-input{min-height:24px;max-height:120px;font-size:16px;line-height:1.5}.composer-toolbar{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:8px;padding-top:6px}.composer-toolbar__left{flex:1 1 auto;flex-wrap:wrap}.composer-toolbar__right{flex:1 1 100%;justify-content:space-between;gap:10px}.composer-icon-btn,.composer-send-btn,.model-selector-close{width:40px;height:40px}.composer-icon-btn svg{width:20px;height:20px}.composer-send-btn svg{width:16px;height:16px}.composer-model-selector{min-height:40px;max-width:calc(100% - 50px);padding:0 12px;font-size:13px;border-radius:14px}.model-selector-dropdown{right:8px;width:min(320px,calc(100vw - 24px))}.api-key-banner{max-width:calc(100% - 20px);padding:12px 14px}.api-key-banner__row{flex-wrap:wrap}.api-key-banner__input,.api-key-banner__save-btn{min-height:44px;font-size:14px}.api-key-banner__save-btn{justify-content:center}.vibecode-templates{max-width:calc(100% - 20px)}.model-name{max-width:100%}}@media(max-width:430px){.chat-composer.claude-style{width:100%;border-radius:18px}.chat-attachments{width:100%}.composer-main{padding:12px 12px 10px}.composer-toolbar{gap:10px}.composer-toolbar__left{gap:6px}.composer-toolbar__right{width:100%;justify-content:space-between}.composer-icon-btn,.composer-send-btn,.model-selector-close{width:42px;height:42px}.composer-model-selector{flex:1 1 auto;max-width:none;min-width:0;justify-content:space-between}.model-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-selector-dropdown{left:6px;right:6px;width:auto}.api-key-banner{max-width:calc(100% - 12px);padding:12px}.api-key-banner__input,.api-key-banner__save-btn{width:100%}.vibecode-templates{max-width:calc(100% - 12px);justify-content:flex-start}}.chat-compose{display:none}.chat-composer.claude-style~.chat-compose{display:none}.card{position:relative;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:16px;animation:rise .25s var(--ease-out) backwards;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--interactive:active{transform:translateY(0)}.card--elevated{background:linear-gradient(180deg,#ffffff0a,#ffffff03),var(--card);box-shadow:var(--shadow-md);border-color:#ffffff0f}.card--selected{border-color:var(--accent);box-shadow:var(--shadow-accent)}.card--glow:hover{border-color:#f25f4c40;box-shadow:var(--shadow-md),0 0 30px var(--accent-glow)}.card-title{font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.02em;color:var(--text-strong)}.card-sub{color:var(--muted);font-size:12px;margin-top:4px;line-height:1.5}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-subtle)}.stat{background:var(--card);border-radius:var(--radius-lg);padding:16px;border:1px solid var(--border);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.stat:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-accent);border-radius:var(--radius-md);font-size:18px}.stat-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2px;color:var(--muted)}.stat-trend{font-size:11px;font-weight:600;padding:2px 6px;border-radius:var(--radius-sm)}.stat-trend.up{color:var(--ok);background:var(--ok-subtle)}.stat-trend.down{color:var(--danger);background:var(--danger-subtle)}.stat-label{color:var(--muted);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-family:var(--font-display);font-size:30px;font-weight:700;margin-top:4px;letter-spacing:-.04em;line-height:1.1;color:var(--text-strong)}.stat-value.ok{color:var(--ok)}.stat-value.warn{color:var(--warn)}.stat-value.danger{color:var(--danger)}.stat-card{display:grid;gap:8px}.note-title{font-weight:600;letter-spacing:-.01em}.status-badge{display:inline-flex;align-items:center;gap:6px}.status-badge__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-badge__dot.online{background:var(--ok);animation:statusPulse 2s infinite}.status-badge__dot.offline{background:var(--muted)}.status-badge__dot.connecting{background:var(--warn);animation:pulse-subtle 1s infinite}.status-badge__dot.error{background:var(--danger)}.status-badge__label{font-size:12px;color:var(--muted)}.status-badge--ok{color:var(--ok);font-weight:500}.status-badge--warn{color:var(--warn);font-weight:500}.status-badge--danger{color:var(--danger);font-weight:500}.device-status{display:inline-flex;align-items:center;gap:5px;font-size:12px}.device-status__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.device-status__label{font-weight:500}.device-status--active .device-status__dot{background:var(--ok)}.device-status--active .device-status__label{color:var(--ok)}.device-status--expiring .device-status__dot{background:var(--warn)}.device-status--expiring .device-status__label{color:var(--warn)}.device-status--expired .device-status__dot{background:var(--danger)}.device-status--expired .device-status__label{color:var(--danger)}.device-status--revoked .device-status__dot{background:var(--muted)}.device-status--revoked .device-status__label{color:var(--muted)}.device-status--pending .device-status__dot{background:var(--border);border:1px solid var(--muted)}.device-status--pending .device-status__label{color:var(--muted)}.audit-timeline__entry{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px}.audit-timeline__icon{flex-shrink:0;width:18px;text-align:center}.audit-timeline__label{flex:1}.audit-timeline__time{font-size:12px;white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffffff0a,#ffffff05);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);margin-bottom:20px}.empty-state__icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.5px;color:var(--muted)}.empty-state__title{font-size:16px;font-weight:600;color:var(--text-strong);margin-bottom:8px}.empty-state__description{font-size:14px;color:var(--muted);max-width:300px;line-height:1.5;margin-bottom:20px}.empty-state__action{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.empty-state__action:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-accent)}.skeleton{background:linear-gradient(90deg,var(--bg-accent) 0%,var(--bg-hover) 50%,var(--bg-accent) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.skeleton--text{height:1em;width:100%}.skeleton--text-sm{height:.8em;width:60%}.skeleton--avatar{width:40px;height:40px;border-radius:var(--radius-full)}.skeleton--card{height:100px;border-radius:var(--radius-lg)}.skeleton--button{height:36px;width:100px;border-radius:var(--radius-md)}.status-list{display:grid;gap:8px}.status-list div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.status-list div:last-child{border-bottom:none}.account-count{margin-top:10px;font-size:12px;font-weight:500;color:var(--muted)}.account-card-list{margin-top:16px;display:grid;gap:12px}.account-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--bg-elevated);transition:border-color var(--duration-fast) ease}.account-card:hover{border-color:var(--border-strong)}.account-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.account-card-title{font-weight:500}.account-card-id{font-family:var(--mono);font-size:12px;color:var(--muted)}.account-card-status{margin-top:10px;font-size:13px}.account-card-status div{padding:4px 0}.account-card-error{margin-top:8px;color:var(--danger);font-size:12px}.label{color:var(--muted);font-size:12px;font-weight:500}.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);padding:4px 10px;border-radius:var(--radius-full);background:var(--secondary);font-size:11px;font-weight:500;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.pill:hover{border-color:var(--border-strong)}.pill.ok,.pill.success{border-color:var(--ok-subtle);background:var(--ok-subtle);color:var(--ok)}.pill.warn,.pill.warning{border-color:var(--warn-subtle);background:var(--warn-subtle);color:var(--warn)}.pill.danger,.pill.error{border-color:var(--danger-subtle);background:var(--danger-subtle);color:var(--danger)}.pill.info{border-color:#3b82f626;background:#3b82f626;color:var(--info)}.pill.accent{border-color:var(--accent-subtle);background:var(--accent-subtle);color:var(--accent)}.pill--interactive{cursor:pointer}.pill--interactive:hover{transform:translateY(-1px)}.pill--interactive:active{transform:translateY(0)}.pill__icon{width:14px;height:14px;flex-shrink:0}.pill__icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2px}.statusDot{width:6px;height:6px;border-radius:50%;background:var(--muted);flex-shrink:0}.statusDot.ok{background:var(--ok);animation:statusPulse 2s infinite}.statusDot.warn{background:var(--warn)}.statusDot.danger{background:var(--danger)}.theme-toggle{--theme-item: 28px;--theme-gap: 2px;--theme-pad: 4px;position:relative}.theme-toggle__track{position:relative;display:grid;grid-template-columns:repeat(3,var(--theme-item));gap:var(--theme-gap);padding:var(--theme-pad);border-radius:var(--radius-full);border:1px solid var(--border);background:var(--secondary)}.theme-toggle__indicator{position:absolute;top:50%;left:var(--theme-pad);width:var(--theme-item);height:var(--theme-item);border-radius:var(--radius-full);transform:translateY(-50%) translate(calc(var(--theme-index, 0) * (var(--theme-item) + var(--theme-gap))));background:var(--accent);transition:transform var(--duration-normal) var(--ease-out);z-index:0}.theme-toggle__button{height:var(--theme-item);width:var(--theme-item);display:grid;place-items:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--muted);cursor:pointer;position:relative;z-index:1;transition:color var(--duration-fast) ease}.theme-toggle__button:hover{color:var(--text)}.theme-toggle__button.active{color:var(--accent-foreground)}.theme-toggle__button.active .theme-icon{stroke:var(--accent-foreground)}.theme-icon{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.statusDot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--danger);box-shadow:0 0 8px #ef444480;animation:pulse-subtle 2s ease-in-out infinite}.statusDot.ok{background:var(--ok);box-shadow:0 0 8px #22c55e80;animation:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:1px solid var(--border);background:var(--bg-elevated);padding:5px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{background:var(--secondary)}.btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn.primary{border-color:var(--accent);background:var(--accent);color:var(--primary-foreground);box-shadow:0 1px 2px #0003}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-md),0 0 20px var(--accent-glow)}.btn-kbd{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:2px 5px;font-family:var(--mono);font-size:11px;font-weight:500;line-height:1;border-radius:4px;background:#ffffff26;color:inherit;opacity:.8}.btn.primary .btn-kbd{background:#fff3}:root[data-theme=light] .btn-kbd{background:#00000014}:root[data-theme=light] .btn.primary .btn-kbd{background:#ffffff40}.btn.active{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.btn.danger{border-color:transparent;background:var(--danger-subtle);color:var(--danger)}.btn.danger:hover{background:#ef444426}.btn--sm{padding:3px 6px;font-size:10px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:grid;gap:4px}.field.full{grid-column:1 / -1}.field span{color:var(--muted);font-size:11px;font-weight:500}.field input,.field textarea,.field select{border:1px solid var(--input);background:var(--card);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;outline:none;transition:border-color var(--duration-fast) ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--border-hover)}.field select{appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.field textarea{font-family:var(--mono);min-height:100px;resize:vertical;white-space:pre;line-height:1.4;font-size:11px}.field.checkbox{grid-template-columns:auto 1fr;align-items:center}.config-form .field.checkbox{grid-template-columns:18px minmax(0,1fr);column-gap:10px}.config-form .field.checkbox input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:var(--accent)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}:root[data-theme=light] .field input,:root[data-theme=light] .field textarea,:root[data-theme=light] .field select{background:var(--card);border-color:var(--input)}:root[data-theme=light] .btn{background:var(--bg);border-color:var(--input)}:root[data-theme=light] .btn:hover{background:var(--bg-hover)}:root[data-theme=light] .btn.primary{background:var(--accent);border-color:var(--accent)}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.callout{padding:8px 12px;border-radius:var(--radius-sm);background:var(--secondary);border:1px solid var(--border);font-size:11px;line-height:1.4;position:relative}.callout.danger{border-color:#ef444440;background:linear-gradient(135deg,#ef444414,#ef44440a);color:var(--danger)}.callout.info{border-color:#3b82f640;background:linear-gradient(135deg,#3b82f614,#3b82f60a);color:var(--info)}.callout.success{border-color:#22c55e40;background:linear-gradient(135deg,#22c55e14,#22c55e0a);color:var(--ok)}.compaction-indicator{position:absolute;top:12px;right:calc(12px + env(safe-area-inset-right,0px));z-index:120;display:inline-flex;align-items:center;gap:6px;width:auto;max-width:min(320px,calc(100% - 24px));font-size:12px;line-height:1.3;padding:7px 10px;margin:0;border-radius:999px;box-shadow:0 4px 14px #0000002e;pointer-events:none;animation:fade-in .2s var(--ease-out)}.compaction-indicator__icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.compaction-indicator__icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.compaction-indicator__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compaction-indicator--active .compaction-indicator__icon svg{animation:compaction-spin 1s linear infinite}.compaction-indicator--active{animation:compaction-pulse 1.5s ease-in-out infinite}.compaction-indicator--complete{animation:fade-in .2s var(--ease-out)}@keyframes compaction-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes compaction-pulse{0%,to{opacity:.8}50%{opacity:1}}@media(max-width:640px){.compaction-indicator{top:8px;right:calc(8px + env(safe-area-inset-right,0px));max-width:min(260px,calc(100% - 16px));padding:6px 9px;font-size:11px}.compaction-indicator__icon,.compaction-indicator__icon svg{width:12px;height:12px}}.code-block{font-family:var(--mono);font-size:11px;line-height:1.4;background:var(--secondary);padding:8px;border-radius:var(--radius-sm);border:1px solid var(--border);max-height:280px;overflow:auto;max-width:100%}:root[data-theme=light] .code-block,:root[data-theme=light] .list-item,:root[data-theme=light] .table-row,:root[data-theme=light] .chip{background:var(--bg)}.list{display:grid;gap:6px;container-type:inline-size}.list-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:10px;align-items:start;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--card);transition:border-color var(--duration-fast) ease}.list-item-clickable{cursor:pointer}.list-item-clickable:hover{border-color:var(--border-strong)}.list-item-selected{border-color:var(--accent)}.list-main{display:grid;gap:2px;min-width:0}.list-title{font-size:12px;font-weight:500;display:flex;align-items:center;gap:4px}.skill-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.skill-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.list-sub{color:var(--muted);font-size:11px}.list-meta{text-align:right;color:var(--muted);font-size:11px;display:grid;gap:3px;min-width:160px}.list-meta .btn{padding:4px 8px}.list-meta .field input,.list-meta .field textarea,.list-meta .field select{width:100%}@container (max-width: 560px){.list-item{grid-template-columns:1fr}.list-meta{min-width:0;text-align:left}}.devices-panel .device-list-item{align-items:center}.devices-panel .device-list-title,.devices-panel .device-list-sub,.devices-panel .list-sub,.devices-panel .muted{overflow-wrap:anywhere;word-break:break-word}.devices-panel .device-token-row{align-items:flex-start}.devices-panel .device-token-main{min-width:0}@media(max-width:700px){.devices-panel .device-title-row,.devices-panel .device-token-row,.devices-panel .device-actions-row{justify-content:center!important;text-align:center}.devices-panel .device-list-item{grid-template-columns:1fr;gap:8px;padding:10px}.devices-panel .device-list-meta{min-width:0;width:100%;text-align:center;justify-items:center}.devices-panel .device-list-meta .btn{min-width:110px}}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:10px;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 8px;color:var(--muted);background:var(--secondary);transition:border-color var(--duration-fast) var(--ease-out)}.chip:hover{border-color:var(--border-strong)}.chip input{margin-right:4px}.chip-ok{color:var(--ok);border-color:#22c55e4d;background:var(--ok-subtle)}.chip-warn{color:var(--warn);border-color:#f59e0b4d;background:var(--warn-subtle)}.table{display:grid;gap:4px}.table-head,.table-row{display:grid;grid-template-columns:1.4fr 1fr .8fr .7fr .8fr .8fr .8fr .8fr .6fr;gap:8px;align-items:center}.table-head{font-size:10px;font-weight:500;color:var(--muted);padding:0 8px}.table-row{border:1px solid var(--border);padding:6px 8px;border-radius:var(--radius-sm);background:var(--card);font-size:11px;transition:border-color var(--duration-fast) ease}.table-row:hover{border-color:var(--border-strong)}.session-link{text-decoration:none;color:var(--accent);font-weight:500}.session-link:hover{text-decoration:underline}.log-stream{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);max-height:500px;overflow:auto;container-type:inline-size}.log-row{display:grid;grid-template-columns:90px 70px minmax(140px,200px) minmax(0,1fr);gap:12px;align-items:start;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;transition:background var(--duration-fast) ease}.log-row:hover{background:var(--bg-hover)}.log-row:last-child{border-bottom:none}.log-time{color:var(--muted);font-family:var(--mono)}.log-level{font-size:11px;font-weight:500;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;width:fit-content}.log-level.trace,.log-level.debug{color:var(--muted)}.log-level.info{color:var(--info);border-color:#3b82f64d}.log-level.warn{color:var(--warn);border-color:var(--warn-subtle)}.log-level.error,.log-level.fatal{color:var(--danger);border-color:var(--danger-subtle)}.log-chip.trace,.log-chip.debug{color:var(--muted)}.log-chip.info{color:var(--info);border-color:#3b82f64d}.log-chip.warn{color:var(--warn);border-color:var(--warn-subtle)}.log-chip.error,.log-chip.fatal{color:var(--danger);border-color:var(--danger-subtle)}.log-chip input[type=checkbox],.field.checkbox input[type=checkbox]{accent-color:var(--accent)}.log-subsystem{color:var(--muted);font-family:var(--mono)}.log-message{white-space:pre-wrap;word-break:break-word;font-family:var(--mono)}@container (max-width: 620px){.log-row{grid-template-columns:70px 60px minmax(0,1fr)}.log-subsystem{display:none}}.chat{display:flex;flex-direction:column;min-height:0}.shell--chat .chat{flex:1}.chat-header{display:none}.chat-header__left{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;min-width:0}.chat-header__right{display:flex;align-items:center;gap:8px}.chat-session{min-width:240px}.chat-thread{margin-top:0;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 12px;min-width:0;border-radius:0;border:none;background:transparent}.chat-queue{margin-top:12px;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);display:grid;gap:8px}.chat-queue__title{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--muted)}.chat-queue__list{display:grid;gap:8px}.chat-queue__item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px 12px;border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:var(--secondary)}.chat-queue__text{color:var(--chat-text);font-size:13px;line-height:1.45;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.chat-queue__remove{align-self:start;padding:4px 10px;font-size:12px;line-height:1}.chat-line{display:flex}.chat-line.user{justify-content:flex-end}.chat-line.assistant,.chat-line.other{justify-content:flex-start}.chat-msg{display:grid;gap:6px;max-width:min(700px,82%)}.chat-line.user .chat-msg{justify-items:end}.chat-bubble{border:1px solid transparent;background:var(--card);border-radius:var(--radius-lg);padding:10px 14px;min-width:0}:root[data-theme=light] .chat-bubble{border-color:var(--border);background:var(--bg)}.chat-line.user .chat-bubble{border-color:transparent;background:var(--accent-subtle)}:root[data-theme=light] .chat-line.user .chat-bubble{border-color:#ea580c33;background:#fb923c1f}.chat-line.assistant .chat-bubble{border-color:transparent;background:var(--secondary)}:root[data-theme=light] .chat-line.assistant .chat-bubble{border-color:var(--border);background:var(--bg-muted)}@keyframes chatStreamPulse{0%,to{border-color:var(--border)}50%{border-color:var(--accent)}}.chat-bubble.streaming{animation:chatStreamPulse 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.chat-bubble.streaming{animation:none;border-color:var(--accent)}}.chat-bubble.chat-reading-indicator{width:fit-content;padding:10px 16px}.chat-reading-indicator__dots{display:inline-flex;align-items:center;gap:4px;height:12px}.chat-reading-indicator__dots>span{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--muted);opacity:.6;transform:translateY(0);animation:chatReadingDot 1.2s ease-in-out infinite;will-change:transform,opacity}.chat-reading-indicator__dots>span:nth-child(2){animation-delay:.15s}.chat-reading-indicator__dots>span:nth-child(3){animation-delay:.3s}@keyframes chatReadingDot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.chat-reading-indicator__dots>span{animation:none;opacity:.6}}.chat-text{overflow-wrap:anywhere;word-break:break-word;color:var(--chat-text);line-height:1.5}.chat-text :where(p,ul,ol,pre,blockquote,table){margin:0}.chat-text :where(p+p,p+ul,p+ol,p+pre,p+blockquote,p+table){margin-top:.75em}.chat-text :where(ul,ol){padding-left:1.2em}.chat-text :where(li+li){margin-top:.25em}.chat-text :where(a){color:var(--accent)}.chat-text :where(a:hover){text-decoration:underline}.chat-text :where(blockquote){border-left:2px solid var(--border-strong);padding-left:12px;color:var(--muted)}.chat-text :where(hr){border:0;border-top:1px solid var(--border);margin:1em 0}.chat-text :where(code){font-family:var(--mono);font-size:.9em}.chat-text :where(:not(pre)>code){padding:.15em .35em;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--secondary)}:root[data-theme=light] .chat-text :where(:not(pre)>code){background:var(--bg-muted)}.chat-text :where(pre){margin-top:.75em;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--secondary);overflow:auto}:root[data-theme=light] .chat-text :where(pre){background:var(--bg-muted)}.chat-text :where(pre code){font-size:12px;white-space:pre}.chat-text :where(table){margin-top:.75em;border-collapse:collapse;width:100%;font-size:13px}.chat-text :where(th,td){border:1px solid var(--border);padding:6px 10px;vertical-align:top}.chat-text :where(th){font-family:var(--mono);font-weight:500;color:var(--muted);background:var(--secondary)}.chat-tool-card{margin-top:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--secondary);display:grid;gap:4px}:root[data-theme=light] .chat-tool-card{background:var(--bg-muted)}.chat-tool-card__title{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--text)}.chat-tool-card__detail{font-family:var(--mono);font-size:11px;color:var(--muted)}.chat-tool-card__details{margin-top:6px}.chat-tool-card__summary{font-family:var(--mono);font-size:11px;color:var(--muted);cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px}.chat-tool-card__summary::-webkit-details-marker{display:none}.chat-tool-card__summary-meta{color:var(--muted);opacity:.7}.chat-tool-card__details[open] .chat-tool-card__summary{color:var(--text)}.chat-tool-card__output{margin-top:8px;font-family:var(--mono);font-size:11px;line-height:1.5;white-space:pre-wrap;color:var(--chat-text);padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card)}:root[data-theme=light] .chat-tool-card__output{background:var(--bg)}.chat-stamp{font-size:11px;color:var(--muted)}.chat-line.user .chat-stamp{text-align:right}.chat-compose{margin-top:12px;display:flex;flex-direction:column;gap:10px}.shell--chat .chat-compose{position:sticky;bottom:0;z-index:5;margin-top:0;padding-top:12px;background:linear-gradient(180deg,transparent 0%,var(--bg) 40%)}.shell--chat-focus .chat-compose{bottom:calc(var(--shell-pad) + 8px);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.chat-compose__field{gap:4px}.chat-compose__field textarea{min-height:72px;padding:10px 14px;border-radius:var(--radius-lg);resize:vertical;white-space:pre-wrap;font-family:var(--font-body);line-height:1.5;border:1px solid var(--input);background:var(--card);box-shadow:inset 0 1px 0 var(--card-highlight);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.chat-compose__field textarea:focus{border-color:var(--border-hover);box-shadow:none}.chat-compose__field textarea:disabled{opacity:.5;cursor:not-allowed}.chat-compose__actions{justify-content:flex-end;align-self:end}@media(max-width:900px){.chat-session{min-width:180px}.chat-compose{grid-template-columns:1fr}}.qr-wrap{margin-top:16px;border-radius:var(--radius-md);background:var(--card);border:1px dashed var(--border-strong);padding:16px;display:inline-flex}.qr-wrap img{width:160px;height:160px;border-radius:var(--radius-sm);image-rendering:pixelated}.exec-approval-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:200}.exec-approval-card{width:min(540px,100%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;animation:scale-in .2s var(--ease-out)}.exec-approval-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.exec-approval-title{font-size:14px;font-weight:600}.exec-approval-sub{color:var(--muted);font-size:13px;margin-top:4px}.exec-approval-queue{font-size:11px;font-weight:500;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-full);padding:4px 10px}.exec-approval-command{margin-top:12px;padding:10px 12px;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);word-break:break-word;white-space:pre-wrap;font-family:var(--mono);font-size:13px}.exec-approval-meta{margin-top:12px;display:grid;gap:6px;font-size:13px;color:var(--muted)}.exec-approval-meta-row{display:flex;justify-content:space-between;gap:12px}.exec-approval-meta-row span:last-child{color:var(--text);font-family:var(--mono)}.exec-approval-error{margin-top:10px;font-size:13px;color:var(--danger)}.exec-approval-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.command-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal, 400);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:fade-in var(--duration-fast) var(--ease-out)}.command-palette{width:560px;max-width:90vw;max-height:70vh;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:scale-in var(--duration-normal) var(--ease-spring)}.command-search{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.command-search__icon{width:18px;height:18px;color:var(--muted);flex-shrink:0}.command-search__icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2px}.command-search__input{flex:1;background:transparent;border:none;outline:none;font-size:16px;color:var(--text-strong);font-family:inherit}.command-search__input::placeholder{color:var(--muted)}.command-search__hint{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.command-search__hint kbd{padding:2px 6px;background:var(--bg-accent);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:10px}.command-results{flex:1;overflow-y:auto;padding:8px}.command-category{padding:8px 10px 6px;font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.command-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);cursor:pointer;text-align:left;font-family:inherit;font-size:14px;transition:background var(--duration-instant) var(--ease-out)}.command-item:hover,.command-item.selected{background:var(--bg-hover)}.command-item.selected{background:var(--accent-subtle)}.command-item__icon{width:18px;height:18px;color:var(--muted);flex-shrink:0}.command-item__icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2px}.command-item__label{flex:1;font-weight:500}.command-item__shortcut{display:flex;gap:3px}.command-item__shortcut kbd{padding:2px 5px;background:var(--bg-accent);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:10px;color:var(--muted);min-width:18px;text-align:center}.command-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--muted);font-size:14px}.command-empty__icon{width:32px;height:32px;opacity:.4}.command-empty__icon svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:1.5px}.command-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--muted);background:var(--bg-accent)}.command-footer__hints{display:flex;align-items:center;gap:16px}.command-footer__hints span{display:flex;align-items:center;gap:4px}.command-footer__hints kbd{padding:1px 4px;background:var(--secondary);border:1px solid var(--border);border-radius:3px;font-family:var(--mono);font-size:10px}.session-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.session-card{position:relative;border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:14px 16px;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm)}.session-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.session-card--current{border-color:var(--accent);box-shadow:var(--shadow-accent)}.session-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}.session-card__title{font-size:14px;font-weight:600;color:var(--text-strong);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;outline:none;border-radius:var(--radius-sm)}.session-card__title[contenteditable=true]{background:var(--bg-accent);padding:2px 6px;margin:-2px -6px;white-space:pre;border:1px solid var(--accent)}.session-card__time{font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:0}.session-card__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:11px}.session-card__model,.session-card__kind,.session-card__tokens{padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-accent);color:var(--muted-strong)}.session-card__key{font-size:11px;color:var(--muted);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px}.session-card__actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.session-card__resume{font-size:12px}.session-card__current-badge{font-size:11px;color:var(--accent);font-weight:500}.session-card__menu{position:relative;margin-left:auto}.session-card__menu-trigger{padding:2px}.session-card__dropdown{display:none;position:absolute;right:0;bottom:100%;margin-bottom:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:120px;overflow:hidden}.session-card__dropdown.open{display:block}.session-card__dropdown-item{display:block;width:100%;padding:8px 12px;font-size:12px;color:var(--text);background:none;border:none;text-align:left;cursor:pointer}.session-card__dropdown-item:hover{background:var(--bg-hover)}.session-card__dropdown-item--danger{color:var(--destructive)}.session-card__dropdown-item--danger:hover{background:#ef44441a}.sessions-view-toggle{display:flex;gap:2px;background:var(--bg-accent);border-radius:var(--radius-md);padding:2px}.sessions-view-toggle__btn{padding:4px 10px;font-size:12px;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out)}.sessions-view-toggle__btn--active{background:var(--card);color:var(--text-strong);box-shadow:var(--shadow-sm)}.agent-tabs{display:flex;align-items:stretch;gap:2px;padding:0 8px;border-bottom:1px solid var(--border);background:var(--bg-secondary, var(--card));overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.agent-tabs::-webkit-scrollbar{display:none}.agent-tab{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;flex-shrink:0;cursor:pointer;border-bottom:2px solid transparent;transition:background var(--duration-fast, .1s) ease,border-color var(--duration-fast, .1s) ease;-webkit-user-select:none;user-select:none;font-size:.85rem;color:var(--text-secondary, var(--fg-muted))}.agent-tab:hover{background:var(--bg-hover, rgba(128, 128, 128, .08))}.agent-tab--active{border-bottom-color:var(--accent, var(--primary));color:var(--text-primary, var(--fg));font-weight:500}.agent-tab__icon{display:flex;width:16px;height:16px;flex-shrink:0}.agent-tab__icon svg{width:100%;height:100%}.agent-tab__label{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-tab__label[contenteditable=true]{outline:1px solid var(--accent, var(--primary));border-radius:2px;padding:0 2px;min-width:40px}.agent-tab__unread{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:.7rem;font-weight:600;line-height:1;border-radius:9px;background:var(--accent, var(--primary));color:var(--bg, #fff);flex-shrink:0}.agent-tab__pin{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--text-secondary, var(--fg-muted));opacity:0;transition:opacity var(--duration-fast, .1s) ease,background var(--duration-fast, .1s) ease;flex-shrink:0}.agent-tab__pin svg{width:14px;height:14px}.agent-tab:hover .agent-tab__pin{opacity:.6}.agent-tab__pin:hover{opacity:1!important;background:var(--bg-hover, rgba(128, 128, 128, .12))}.agent-tab--pinned .agent-tab__pin{opacity:.8;color:var(--accent, var(--primary))}@media(max-width:768px){.agent-tab__pin{display:none}}.agent-tab__close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--text-secondary, var(--fg-muted));opacity:0;transition:opacity var(--duration-fast, .1s) ease,background var(--duration-fast, .1s) ease;flex-shrink:0}.agent-tab__close svg{width:14px;height:14px}.agent-tab:hover .agent-tab__close{opacity:.6}.agent-tab__close:hover{opacity:1!important;background:var(--bg-hover, rgba(128, 128, 128, .12))}.agent-tab__add-wrapper{position:relative;display:flex;align-items:center;flex-shrink:0}.agent-tab__add{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:none;background:none;cursor:pointer;color:var(--text-secondary, var(--fg-muted));transition:color var(--duration-fast, .1s) ease}.agent-tab__add:hover:not(:disabled){color:var(--text-primary, var(--fg))}.agent-tab__add:disabled{opacity:.4;cursor:not-allowed}.agent-tab__add svg{width:18px;height:18px}.agent-preset-picker{position:absolute;top:100%;left:0;z-index:100;min-width:180px;background:var(--card, var(--bg));border:1px solid var(--border);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .15));padding:6px;animation:rise .15s ease-out}.agent-preset-picker__header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;font-size:.78rem;font-weight:500;color:var(--text-secondary, var(--fg-muted))}.agent-preset-picker__close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;color:var(--text-secondary, var(--fg-muted));border-radius:4px}.agent-preset-picker__close:hover{background:var(--bg-hover, rgba(128, 128, 128, .08))}.agent-preset-picker__close svg{width:14px;height:14px}.agent-preset-picker__list{display:flex;flex-direction:column;gap:2px}.agent-preset-picker__item{display:flex;align-items:center;gap:8px;padding:8px 10px;min-height:36px;border:none;background:none;cursor:pointer;font-size:.85rem;color:var(--text-primary, var(--fg));border-radius:var(--radius-sm, 4px);transition:background var(--duration-fast, .1s) ease;width:100%;text-align:left}.agent-preset-picker__item:hover{background:var(--bg-hover, rgba(128, 128, 128, .08))}.agent-preset-picker__icon{display:flex;width:16px;height:16px;flex-shrink:0}.agent-preset-picker__icon svg{width:100%;height:100%}.session-switcher{position:relative;display:inline-flex}.session-switcher__trigger{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border:none;background:transparent;border-radius:var(--radius-sm);padding:0 6px;height:26px;color:var(--muted);transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.session-switcher__trigger:hover{background:var(--bg-hover);color:var(--text)}.session-switcher__panel{position:absolute;top:100%;right:0;margin-top:6px;min-width:260px;width:max-content;max-width:320px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);overflow:hidden;animation:rise .15s var(--ease-out)}.session-switcher__header{padding:8px 14px;font-size:11px;font-weight:500;color:var(--muted);border-bottom:1px solid var(--border-subtle)}.session-switcher__list{max-height:260px;overflow-y:auto}.session-switcher__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:8px 14px;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background var(--duration-fast) var(--ease-out)}.session-switcher__item:hover{background:var(--bg-hover)}.session-switcher__item--current{background:var(--bg-accent)}.session-switcher__item-title{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-switcher__item--current .session-switcher__item-title{font-weight:500;color:var(--text-strong)}.session-switcher__item-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.session-switcher__current-badge{font-size:10px;color:var(--accent);font-weight:500}.session-switcher__footer{display:flex;border-top:1px solid var(--border-subtle)}.session-switcher__action{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;padding:8px 12px;font-size:12px;font-family:inherit;color:var(--muted-strong);background:none;border:none;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.session-switcher__action:hover{background:var(--bg-hover);color:var(--text)}.session-switcher__action:first-child{color:var(--accent);font-weight:500;border-right:1px solid var(--border-subtle)}.session-switcher__action svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2px}.session-switcher__empty{padding:20px 14px;text-align:center;font-size:12px;color:var(--muted)}.session-switcher__backdrop{position:fixed;inset:0;z-index:calc(var(--z-dropdown) - 1)}.memory-search__input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:13px}.memory-search__input:focus{outline:none;border-color:var(--accent)}.memory-filters{display:flex;flex-wrap:wrap;gap:6px}.memory-filter-tab{padding:4px 10px;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg);color:var(--muted);font-size:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.memory-filter-tab:hover{border-color:var(--border-strong);color:var(--text)}.memory-filter-tab--active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.memory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.memory-dashboard{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card);padding:12px}.memory-dashboard__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:10px}.memory-dashboard__metric{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:8px 10px}.memory-dashboard__metric-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.memory-dashboard__metric-value{margin-top:4px;font-size:15px;font-weight:600;color:var(--text)}.memory-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.memory-dashboard__item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;background:var(--bg);display:flex;flex-direction:column;gap:4px}.memory-dashboard__badge{width:fit-content;font-size:11px;padding:2px 8px;border-radius:var(--radius-full)}.memory-dashboard__badge--ok{background:#22c55e26;color:#15803d}.memory-dashboard__badge--warn{background:#f59e0b2e;color:#b45309}.memory-chip{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:12px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.memory-chip:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.memory-chip--editing{border-color:var(--accent)}.memory-chip__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.memory-chip__category{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.memory-chip__emoji{font-size:14px}.memory-chip__confidence{font-size:12px;letter-spacing:1px;color:var(--accent)}.memory-chip__body{margin-bottom:8px}.memory-chip__content{font-size:13px;color:var(--text);line-height:1.5}.memory-chip__textarea{width:100%;min-height:60px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;resize:vertical}.memory-chip__textarea:focus{outline:none;border-color:var(--accent)}.memory-chip__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.memory-chip__meta{display:flex;align-items:center;gap:6px}.memory-chip__badge{font-size:10px;padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-accent);color:var(--muted)}.memory-chip__badge--verified{background:#22c55e26;color:#22c55e}.memory-chip__time{font-size:11px;color:var(--muted)}.memory-chip__actions{display:flex;align-items:center;gap:4px}.memory-privacy{font-size:11px;color:var(--muted);text-align:center}.memory-indicator{display:inline-flex;align-items:center;gap:2px;position:relative}.memory-indicator__brain svg,.memory-indicator__toggle svg{width:16px;height:16px}.memory-indicator__label-btn{font-size:10px;font-family:var(--font-body);color:var(--muted);white-space:nowrap;padding:2px 6px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.memory-indicator__label-btn:hover{color:var(--text);background:var(--bg-hover)}.memory-indicator__label-btn:disabled{cursor:default;opacity:.5}.memory-indicator--off .memory-indicator__label-btn{opacity:.5}.memory-indicator--off .memory-indicator__label-btn:hover{opacity:.8}.memory-indicator__badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;font-family:var(--font-body);color:var(--accent);background:var(--accent-subtle);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.memory-indicator__badge:hover{background:#f25f4c33}.memory-indicator__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown);min-width:280px;max-width:360px;max-height:320px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:rise .15s var(--ease-out)}.memory-indicator__panel-header{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;font-weight:600;font-family:var(--font-display);color:var(--text-strong);border-bottom:1px solid var(--border)}.memory-indicator__panel-header svg{width:14px;height:14px}.memory-indicator__panel-list{list-style:none;margin:0;padding:4px 0}.memory-indicator__panel-item{display:flex;gap:8px;padding:6px 12px;font-size:12px;line-height:1.4}.memory-indicator__panel-item:hover{background:var(--hover)}.memory-indicator__panel-category{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--muted);min-width:60px}.memory-indicator__panel-content{color:var(--fg)}.skill-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.skill-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.skill-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.skill-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.skill-card__title{display:flex;align-items:center;gap:6px;min-width:0}.skill-card__kind-icon{font-size:16px;flex-shrink:0}.skill-card__name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-card__desc{font-size:12px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.skill-card__actions{display:flex;gap:6px;margin-top:auto;padding-top:4px}.skill-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:9999px;white-space:nowrap}.skill-status__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.skill-status--active .skill-status__dot{background:var(--success-color, #0a7f5a)}.skill-status--active{color:var(--success-color, #0a7f5a)}.skill-status--disabled .skill-status__dot{background:var(--muted)}.skill-status--disabled{color:var(--muted)}.skill-status--needs-config .skill-status__dot{background:var(--warning-color, #d4a017)}.skill-status--needs-config{color:var(--warning-color, #d4a017)}.skill-status--error .skill-status__dot{background:var(--danger-color, #d14343)}.skill-status--error{color:var(--danger-color, #d14343)}.skill-status--not-installed .skill-status__dot{background:var(--border-strong)}.skill-status--not-installed{color:var(--muted)}.skill-filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.skill-filter-tab{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);padding:4px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.skill-filter-tab:hover{border-color:var(--border-strong);color:var(--fg)}.skill-filter-tab--active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.panel-overlay{position:fixed;inset:0;z-index:1000;background:#0006;display:flex;justify-content:flex-end;animation:fadeIn .15s var(--ease-out)}.panel-slide{width:min(480px,90vw);height:100%;background:var(--bg);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:slideInRight .2s var(--ease-out);box-shadow:var(--shadow-lg)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.panel-slide__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.panel-slide__title{font-weight:600;font-size:15px}.panel-slide__meta{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}.panel-slide__body{flex:1;overflow-y:auto;padding:20px}.panel-slide__section{margin-bottom:16px}.panel-slide__section-title{font-weight:600;font-size:13px;margin-bottom:10px;color:var(--fg)}.panel-slide__footer{display:flex;gap:8px;padding:16px 20px;border-top:1px solid var(--border)}.schema-form{display:flex;flex-direction:column;gap:14px}.schema-form__field{display:flex;flex-direction:column;gap:4px}.schema-form__label{font-size:12px;font-weight:600;color:var(--fg)}.schema-form__help{font-size:11px;color:var(--muted);line-height:1.4}.schema-form__input,.schema-form__select,.schema-form__textarea{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg);color:var(--fg);font-size:13px;font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out)}.schema-form__input:focus,.schema-form__select:focus,.schema-form__textarea:focus{outline:none;border-color:var(--accent)}.schema-form__toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.env-vars-editor{display:flex;flex-direction:column;gap:8px}.env-vars-editor__row{display:flex;gap:6px;align-items:center}.env-vars-editor__key{flex:0 0 140px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg);color:var(--fg);font-size:12px;font-family:var(--font-mono, monospace)}.env-vars-editor__value{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg);color:var(--fg);font-size:12px}.env-vars-editor__key:focus,.env-vars-editor__value:focus{outline:none;border-color:var(--accent)}@media(max-width:600px){.session-switcher__panel,.memory-indicator__panel{right:0;max-width:min(320px,calc(100vw - 20px))}.session-switcher__trigger{min-width:44px;height:44px;padding:0 10px}.memory-indicator__label-btn,.memory-indicator__badge{min-height:44px;padding-left:10px;padding-right:10px}.session-cards-grid{grid-template-columns:1fr;gap:8px}.session-card{padding:12px}.session-card__actions .btn{min-height:44px}.memory-grid{grid-template-columns:1fr;gap:8px}.memory-chip{padding:10px}.memory-chip__content{-webkit-line-clamp:3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.memory-chip__actions .btn{min-height:44px}.skill-catalog-grid{grid-template-columns:1fr;gap:8px}.skill-card{overflow:hidden}.skill-card__header{align-items:flex-start;flex-wrap:wrap;gap:6px}.skill-card__title{flex:1 1 100%;flex-wrap:wrap;row-gap:4px}.skill-card__name{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.skill-status{max-width:100%;white-space:normal;overflow-wrap:anywhere}.skill-card__actions{flex-wrap:wrap}.skill-settings-panel{width:100%!important;max-width:100%!important}.env-vars-editor__row{flex-wrap:wrap}.env-vars-editor__key,.env-vars-editor__value{min-width:0;flex:1 1 100%;font-size:16px;min-height:44px}.filter-tabs,.memory-filters,.session-filters{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.filter-tabs::-webkit-scrollbar,.memory-filters::-webkit-scrollbar,.session-filters::-webkit-scrollbar{display:none}.filter-tabs .btn,.memory-filters .btn,.catalog-filters .btn{min-height:44px;white-space:nowrap;flex-shrink:0}.device-status-badge{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px}.audit-timeline__entry{padding:8px}.schema-form input,.schema-form select,.schema-form textarea{font-size:16px;min-height:44px}}.config-layout{display:flex;flex-direction:column;height:calc(100vh - 140px);margin:-16px -20px;border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}.config-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border)}.config-header__left,.config-header__right{display:flex;align-items:center;gap:6px}.config-search{position:relative;display:flex;align-items:center}.config-search__icon{position:absolute;left:8px;width:12px;height:12px;color:var(--muted);pointer-events:none}.config-search__input{width:140px;padding:5px 8px 5px 26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover);font-size:12px;outline:none;transition:all .15s ease}.config-search__input::placeholder{color:var(--muted)}.config-search__input:focus{border-color:var(--border-hover);background:var(--bg);width:180px}:root[data-theme=light] .config-header{background:#fafafa}:root[data-theme=light] .config-tabs{background:#fafafa}:root[data-theme=light] .config-subtabs{background:#fafafa}:root[data-theme=light] .config-content{background:#f0f0f0}:root[data-theme=light] .config-search__input{background:#0000000a}:root[data-theme=light] .config-search__input:focus{background:#fff}.config-search__clear{position:absolute;right:4px;width:16px;height:16px;border:none;border-radius:50%;background:var(--muted);color:var(--bg);font-size:10px;line-height:1;cursor:pointer;opacity:.6}.config-search__clear:hover{opacity:1}.config-status-pill{padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.config-status-pill.ok{background:#22c55e26;color:var(--ok)}.config-status-pill.danger{background:#ef444426;color:var(--danger)}.config-changes-pill{padding:2px 6px;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent);font-size:10px;font-weight:600}.config-mode-toggle{display:flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.config-mode-toggle__btn{padding:3px 8px;border:none;border-radius:3px;background:transparent;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;transition:all .1s ease}.config-mode-toggle__btn:hover:not(:disabled):not(.active){color:var(--text)}.config-mode-toggle__btn.active{background:var(--text-strong);color:var(--bg)}:root[data-theme=light] .config-mode-toggle__btn.active{color:#fff}.config-mode-toggle__btn:disabled{opacity:.4;cursor:not-allowed}.config-btn{padding:4px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:11px;font-weight:500;cursor:pointer;transition:all .1s ease}.config-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-hover)}.config-btn:disabled{opacity:.4;cursor:not-allowed}.config-btn.primary{border-color:var(--border-hover);background:var(--accent);color:#fff}.config-btn.primary:hover:not(:disabled){opacity:.9}.config-tabs{display:flex;gap:0;padding:0 8px;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.config-tabs::-webkit-scrollbar{display:none}.config-tab{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .1s ease}.config-tab:hover{color:var(--text)}.config-tab.active{color:var(--text-strong);border-bottom-color:var(--accent)}.config-tab__icon{width:14px;height:14px;opacity:.5}.config-tab:hover .config-tab__icon,.config-tab.active .config-tab__icon{opacity:1}.config-tab__icon svg{width:100%;height:100%}.config-tab__label{display:inline}.config-subtabs{display:flex;gap:4px;padding:6px 12px;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.config-subtabs::-webkit-scrollbar{display:none}.config-subtab{padding:4px 10px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .1s ease}.config-subtab:hover{background:var(--bg-hover);color:var(--text)}.config-subtab.active{background:var(--text-strong);color:var(--bg)}:root[data-theme=light] .config-subtab.active{color:#fff}.config-diff{margin:8px 12px 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.config-diff__summary{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;font-size:11px;font-weight:500;color:var(--accent);background:var(--accent-subtle);list-style:none}.config-diff__summary::-webkit-details-marker{display:none}.config-diff__chevron{width:12px;height:12px;transition:transform .15s ease}.config-diff[open] .config-diff__chevron{transform:rotate(180deg)}.config-diff__content{padding:6px;display:grid;gap:4px;background:var(--bg)}.config-diff__item{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:3px;background:var(--bg-hover);font-size:10px;font-family:var(--mono)}.config-diff__path{font-weight:600;color:var(--text)}.config-diff__from{text-decoration:line-through;opacity:.5}.config-diff__arrow{color:var(--muted)}.config-diff__to{color:var(--ok)}.config-content{flex:1;overflow-y:auto;padding:12px}.config-form--modern{display:grid;gap:10px}.config-section-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.config-section-card:hover{border-color:var(--border-strong)}.config-section-card__header{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg);border-bottom:1px solid var(--border)}.config-section-card__icon{width:16px;height:16px;color:var(--accent)}.config-section-card__icon svg{width:100%;height:100%}.config-section-card__titles{flex:1}.config-section-card__title{margin:0;font-size:12px;font-weight:600;color:var(--text-strong)}.config-section-card__desc{margin-top:1px;font-size:10px;color:var(--muted)}.config-section-card__content{padding:10px}.cfg-fields{display:grid;gap:8px}.cfg-field{display:grid;grid-template-columns:120px 1fr;grid-template-areas:"label input" ".     help";gap:2px 10px;align-items:start}.cfg-field--error{padding:8px;border-radius:3px;background:var(--danger-subtle);border:1px solid rgba(239,68,68,.2)}.cfg-field__label{grid-area:label;font-size:12px;font-weight:500;color:var(--text);padding-top:6px}.cfg-field__help{grid-area:help;font-size:10px;color:var(--muted);line-height:1.4}.cfg-field__error{grid-column:2;grid-row:3;font-size:10px;color:var(--danger)}.cfg-field>.cfg-input-wrap,.cfg-field>.cfg-input,.cfg-field>.cfg-number,.cfg-field>.cfg-textarea,.cfg-field>.cfg-select,.cfg-field>.cfg-segmented,.cfg-field>.cfg-toggle-row{grid-area:input}.cfg-input-wrap{display:flex;gap:4px}.cfg-input{flex:1;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);font-size:12px;outline:none;transition:all .1s ease}.cfg-input::placeholder{color:var(--muted)}.cfg-input:focus{border-color:var(--border-hover)}:root[data-theme=light] .cfg-input{background:#fff}.cfg-input--sm{padding:4px 8px;font-size:11px}.cfg-input__reset{padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--muted);font-size:11px;cursor:pointer}.cfg-input__reset:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.cfg-number{display:inline-flex;width:80px}.cfg-number__btn{display:none}.cfg-number__input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);font-size:12px;text-align:left;outline:none;-moz-appearance:textfield}.cfg-number__input::-webkit-outer-spin-button,.cfg-number__input::-webkit-inner-spin-button{-webkit-appearance:none}.cfg-number__input:focus{border-color:var(--border-hover)}:root[data-theme=light] .cfg-number__input{background:#fff}.cfg-textarea{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);font-family:var(--mono);font-size:11px;line-height:1.4;resize:vertical;min-height:60px;outline:none}.cfg-textarea:focus{border-color:var(--border-hover)}:root[data-theme=light] .cfg-textarea{background:#fff}.cfg-textarea--sm{padding:4px 8px;font-size:10px;min-height:40px}.cfg-select{padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:3px;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;font-size:12px;cursor:pointer;outline:none;appearance:none}.cfg-select:focus{border-color:var(--border-hover)}:root[data-theme=light] .cfg-select{background-color:#fff}.cfg-segmented{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:3px;background:var(--bg)}.cfg-segmented__btn{padding:4px 10px;border:none;border-radius:2px;background:transparent;color:var(--muted);font-size:11px;font-weight:500;cursor:pointer;transition:all .1s ease}.cfg-segmented__btn:hover:not(:disabled):not(.active){color:var(--text)}.cfg-segmented__btn.active{background:var(--text-strong);color:var(--bg)}:root[data-theme=light] .cfg-segmented__btn.active{color:#fff}.cfg-segmented__btn:disabled{opacity:.4;cursor:not-allowed}.cfg-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--border);border-radius:3px;background:var(--bg);cursor:pointer}.cfg-toggle-row:hover:not(.disabled){border-color:var(--border-strong)}.cfg-toggle-row.disabled{opacity:.5;cursor:not-allowed}:root[data-theme=light] .cfg-toggle-row{background:#fff}.cfg-toggle-row__content{flex:1}.cfg-toggle-row__label{font-size:12px;font-weight:500;color:var(--text)}.cfg-toggle-row__help{margin-top:1px;font-size:10px;color:var(--muted)}.cfg-toggle{position:relative;flex-shrink:0}.cfg-toggle input{position:absolute;opacity:0;width:0;height:0}.cfg-toggle__track{display:block;width:32px;height:18px;background:var(--border-strong);border-radius:9px;position:relative;transition:background .15s ease}.cfg-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;transition:transform .15s ease}.cfg-toggle input:checked+.cfg-toggle__track{background:var(--ok)}.cfg-toggle input:checked+.cfg-toggle__track:after{transform:translate(14px)}.cfg-toggle input:focus+.cfg-toggle__track{box-shadow:0 0 0 2px var(--border)}.cfg-object{grid-column:1 / -1;border:1px solid var(--border);border-radius:3px;overflow:hidden}.cfg-object__header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;list-style:none;background:var(--bg)}.cfg-object__header:hover{background:var(--bg-hover)}.cfg-object__header::-webkit-details-marker{display:none}.cfg-object__title{font-size:12px;font-weight:500;color:var(--text)}.cfg-object__chevron{width:12px;height:12px;color:var(--muted);transition:transform .15s ease}.cfg-object__chevron svg{width:100%;height:100%}.cfg-object[open] .cfg-object__chevron{transform:rotate(180deg)}.cfg-object__help{padding:4px 10px;font-size:10px;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--border)}.cfg-object__content{padding:8px;display:grid;gap:8px;background:var(--panel)}.cfg-array{grid-column:1 / -1;border:1px solid var(--border);border-radius:3px;overflow:hidden}.cfg-array__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg);border-bottom:1px solid var(--border)}.cfg-array__label{font-size:12px;font-weight:500;color:var(--text)}.cfg-array__count{font-size:10px;color:var(--muted);padding:1px 6px;background:var(--bg-hover);border-radius:var(--radius-full)}.cfg-array__add{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:none;border-radius:3px;background:var(--accent);color:#fff;font-size:11px;font-weight:500;cursor:pointer}.cfg-array__add:hover:not(:disabled){opacity:.9}.cfg-array__add:disabled{opacity:.4;cursor:not-allowed}.cfg-array__add-icon{width:10px;height:10px}.cfg-array__help{padding:4px 10px;font-size:10px;color:var(--muted);background:var(--bg)}.cfg-array__empty{padding:16px 10px;text-align:center;color:var(--muted);font-size:11px}.cfg-array__items{display:grid;gap:1px;background:var(--border)}.cfg-array__item{background:var(--panel)}.cfg-array__item-header{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;background:var(--bg)}.cfg-array__item-index{font-size:9px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.cfg-array__item-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:3px;background:transparent;color:var(--muted);cursor:pointer}.cfg-array__item-remove svg{width:12px;height:12px}.cfg-array__item-remove:hover:not(:disabled){background:var(--danger-subtle);color:var(--danger)}.cfg-array__item-remove:disabled{opacity:.4;cursor:not-allowed}.cfg-array__item-content{padding:8px}.cfg-map{grid-column:1 / -1;border:1px solid var(--border);border-radius:3px;overflow:hidden}.cfg-map__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg);border-bottom:1px solid var(--border)}.cfg-map__label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.cfg-map__add{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:none;border-radius:3px;background:var(--accent);color:#fff;font-size:11px;font-weight:500;cursor:pointer}.cfg-map__add:hover:not(:disabled){opacity:.9}.cfg-map__add-icon{width:10px;height:10px}.cfg-map__empty{padding:16px 10px;text-align:center;color:var(--muted);font-size:11px}.cfg-map__items{display:grid;gap:1px;background:var(--border)}.cfg-map__item{display:grid;grid-template-columns:100px 1fr auto;gap:1px;background:var(--border)}.cfg-map__item-key,.cfg-map__item-value{background:var(--panel)}.cfg-map__item-key .cfg-input,.cfg-map__item-value .cfg-input{border:none;border-radius:0;background:transparent;padding:6px 8px}.cfg-map__item-key .cfg-input{font-family:var(--mono);font-size:11px;color:var(--muted)}.cfg-map__item-key .cfg-input:focus,.cfg-map__item-value .cfg-input:focus{box-shadow:inset 0 0 0 2px var(--border-hover)}.cfg-map__item-remove{width:32px;display:flex;align-items:center;justify-content:center;background:var(--panel);border:none;color:var(--muted);cursor:pointer}.cfg-map__item-remove svg{width:12px;height:12px}.cfg-map__item-remove:hover:not(:disabled){background:var(--danger-subtle);color:var(--danger)}.cfg-map__item-value .cfg-object{border:none;border-radius:0}.cfg-map__item-value .cfg-object__header{padding:6px 8px}.cfg-map__item-value .cfg-object__content{padding:8px;border-top:1px solid var(--border)}.cfg-map__item-value .cfg-textarea{border:none;border-radius:0;padding:6px 8px;min-height:40px}.config-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;color:var(--muted);font-size:12px}.config-loading__spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.config-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 16px;text-align:center}.config-empty__icon{font-size:28px;opacity:.3}.config-empty__text{color:var(--muted);font-size:12px}.config-raw-field textarea{min-height:300px;font-family:var(--mono);font-size:11px;line-height:1.4}@media(max-width:768px){.config-header{flex-wrap:wrap;gap:6px;padding:6px 8px}.config-header__left,.config-header__right{flex-wrap:wrap;gap:4px}.config-search__input{width:120px}.config-tabs{padding:0 8px}.config-tab{padding:5px 8px;font-size:11px}.config-tab__label{display:none}.config-tab__icon{width:16px;height:16px}.config-subtabs{padding:4px 8px}.config-content{padding:8px}.cfg-field{grid-template-columns:1fr;grid-template-areas:"label" "input" "help";gap:4px}.cfg-field__label{padding-top:0}.cfg-map__item{grid-template-columns:1fr}.cfg-map__item-key{border-bottom:1px solid var(--border)}.cfg-map__item-remove{width:100%;padding:6px}}@media(max-width:480px){.config-btn,.config-mode-toggle__btn{padding:3px 6px;font-size:10px}.cfg-segmented{flex-wrap:wrap}.cfg-segmented__btn{flex:1;min-width:50px;text-align:center;padding:3px 6px;font-size:10px}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4, 16px)}.project-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:var(--space-4, 16px);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm)}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.project-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.project-card__title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-strong)}.project-card__body{display:flex;flex-direction:column;gap:8px}.project-card__row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.project-card__env-warning{display:flex;align-items:center;gap:6px;color:var(--warn);font-size:12px;margin-top:4px}.project-card__env-warning svg{width:14px;height:14px}.project-card__env-ok{display:flex;align-items:center;gap:6px;color:var(--ok);font-size:12px;margin-top:4px}.project-card__env-ok svg{width:14px;height:14px}.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.health-dot--ok{background:var(--ok);box-shadow:0 0 6px var(--ok-subtle)}.health-dot--warn{background:var(--warn);box-shadow:0 0 6px var(--warn-subtle)}.health-dot--error{background:var(--destructive);box-shadow:0 0 6px #ef444433}.health-dot--unknown{background:var(--muted)}.terminal-output{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg)}.terminal-output__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-accent)}.terminal-output__title{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.terminal-output__actions{display:flex;gap:6px}.terminal-output__body{padding:12px;max-height:400px;overflow-y:auto;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text)}.terminal-output__line{white-space:pre-wrap;word-break:break-all}.terminal-output__line--loading{display:flex;align-items:center;gap:8px;color:var(--muted)}.terminal-output__empty{padding:16px;text-align:center;font-size:13px}.deploy-form{display:flex;flex-direction:column;gap:14px}.deploy-form__field{display:flex;flex-direction:column;gap:4px}.deploy-form__label{font-size:12px;font-weight:600;color:var(--muted)}.deploy-form__select,.deploy-form__input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out)}.deploy-form__select:focus,.deploy-form__input:focus{outline:none;border-color:var(--accent)}.deploy-form__targets{display:flex;gap:6px}.deploy-status{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.deploy-status--pending{background:var(--bg-accent);color:var(--muted)}.deploy-status--building,.deploy-status--deploying{background:var(--accent-subtle);color:var(--accent)}.deploy-status--success{background:var(--ok-subtle);color:var(--ok)}.deploy-status--failed{background:var(--destructive-subtle, rgba(239, 68, 68, .12));color:var(--destructive)}.deploy-status--cancelled{background:var(--bg-accent);color:var(--muted)}.deploy-history{display:flex;flex-direction:column}.deploy-history__item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.deploy-history__item:last-child{border-bottom:none}.deploy-history__meta{display:flex;align-items:center;gap:10px;font-size:13px}.deploy-history__project{font-weight:600;color:var(--text-strong)}.deploy-history__time{font-size:12px;white-space:nowrap}.deploy-history__empty{padding:16px 0;text-align:center;font-size:13px}.diff-viewer{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.diff-viewer__header{padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-accent);font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text-strong)}.diff-viewer__body{font-family:var(--mono);font-size:12px;line-height:1.6;overflow-x:auto}.diff-viewer__empty{padding:16px;text-align:center;font-size:13px}.diff-line{display:flex;padding:0 12px}.diff-line--add{background:var(--ok-subtle)}.diff-line--remove{background:var(--destructive-subtle, rgba(239, 68, 68, .08))}.diff-line__gutter{width:40px;flex-shrink:0;text-align:right;padding-right:8px;color:var(--muted);-webkit-user-select:none;user-select:none}.diff-line__marker{width:16px;flex-shrink:0;text-align:center;color:var(--muted);-webkit-user-select:none;user-select:none}.diff-line--add .diff-line__marker{color:var(--ok)}.diff-line--remove .diff-line__marker{color:var(--destructive)}.diff-line__content{flex:1;white-space:pre}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4, 16px)}.preview-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:var(--space-4, 16px);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm)}.preview-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.preview-card--inactive{opacity:.6}.preview-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.preview-card__project{font-weight:600;font-size:14px;color:var(--text-strong)}.preview-card__status{display:inline-flex;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.preview-card__status--active{background:var(--ok-subtle);color:var(--ok)}.preview-card__status--expired{background:var(--bg-accent);color:var(--muted)}.preview-card__status--promoting{background:var(--accent-subtle);color:var(--accent)}.preview-card__status--deleted{background:#ef44441f;color:var(--destructive)}.preview-card__body{display:flex;flex-direction:column;gap:6px;font-size:13px}.preview-card__row{display:flex;justify-content:space-between;align-items:center}.preview-card__url{margin-top:6px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.preview-card__link{font-family:var(--mono);font-size:12px;color:var(--accent);text-decoration:none;word-break:break-all}.preview-card__link:hover{text-decoration:underline}.preview-card__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.preview-form{display:flex;flex-direction:column;gap:14px}.preview-form__field{display:flex;flex-direction:column;gap:4px}.preview-form__label{font-size:12px;font-weight:600;color:var(--muted)}.preview-form__select,.preview-form__input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;transition:border-color var(--duration-fast) var(--ease-out)}.preview-form__select:focus,.preview-form__input:focus{outline:none;border-color:var(--accent)}.preview-iframe-container{position:relative;width:100%;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg)}.preview-iframe{width:100%;height:500px;border:none;display:block}.ec-dashboard{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.ec-actions{display:flex;align-items:center;gap:12px}.ec-error{color:var(--danger);font-size:13px}.ec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4, 16px)}.ec-card{border:1px solid var(--border);background:var(--card);border-radius:var(--radius-lg);padding:var(--space-4, 16px);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-sm)}.ec-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ec-card--danger{border-color:var(--danger);box-shadow:0 0 12px var(--danger-subtle)}.ec-card__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ec-card__icon{font-size:18px;line-height:1}.ec-card__title{font-weight:600;font-size:14px;color:var(--text-strong);flex:1}.ec-card__body{display:flex;flex-direction:column;gap:8px}.ec-stat-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}.ec-stat-row+.ec-stat-row{border-top:1px solid var(--border-subtle)}.ec-stat-label{color:var(--muted)}.ec-stat-value{color:var(--text-strong);font-weight:500}.ec-level-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.ec-level--normal{background:var(--ok-subtle);color:var(--ok)}.ec-level--attention{background:var(--warn-subtle);color:var(--warn)}.ec-level--warning{background:#e5484d1a;color:var(--danger)}.ec-level--emergency{background:var(--danger);color:#fff;animation:ec-pulse 1.5s infinite}@keyframes ec-pulse{0%,to{opacity:1}50%{opacity:.7}}.ec-sensor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center}.ec-sensor__value{font-size:22px;font-weight:700;color:var(--text-strong);font-family:var(--font-display);letter-spacing:-.02em}.ec-sensor__label{font-size:11px;color:var(--muted);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.ec-env-warn{display:flex;align-items:center;gap:6px;color:var(--warn);font-size:12px;margin-top:4px;padding:6px 8px;background:var(--warn-subtle);border-radius:6px}.ec-calls-list{display:flex;flex-direction:column;gap:4px}.ec-call-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.ec-call-item+.ec-call-item{border-top:1px solid var(--border-subtle)}.ec-call-caller{color:var(--text-strong);font-weight:500}.ec-call-time{color:var(--muted);font-size:12px}.ec-empty-state{text-align:center;padding:16px 8px}.ec-empty-state__text{color:var(--muted);font-size:13px}.ec-sos-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--danger);border-radius:var(--radius-lg);color:#fff;font-weight:600;animation:ec-pulse 1.5s infinite}.ec-sos-banner__icon{font-size:24px}.ec-sos-banner__text{font-size:15px}.ec-sos-list{display:flex;flex-direction:column;gap:8px}.ec-sos-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);font-size:13px}.ec-sos-item--active{border-color:var(--danger);background:var(--danger-subtle)}.ec-sos-item__time{color:var(--muted);font-size:12px;font-family:var(--font-mono, monospace)}.ec-sos-item__source{color:var(--text-strong);font-weight:500}.ec-sos-item__level{color:var(--warn);font-weight:600;font-size:12px}.ec-section{margin-top:8px}.ec-section__title{font-size:15px;font-weight:600;color:var(--text-strong);margin-bottom:12px}.ec-report-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.ec-report-text{font-family:inherit;font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-wrap:break-word;margin:0}.ec-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.ec-badge--offline{background:var(--danger-subtle);color:var(--danger)}.ec-badge--warn{background:var(--warn-subtle);color:var(--warn)}.ec-badge--ok{background:var(--ok-subtle);color:var(--ok)}.ec-text--ok{color:var(--ok)}.ec-text--warn{color:var(--warn)}.ec-text--danger{color:var(--danger)}.ec-text--muted{color:var(--muted)}.ec-config{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.ec-config-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:0}.ec-config-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.ec-config-tab:hover{color:var(--text)}.ec-config-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.ec-config-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4, 16px)}.ec-config-section__title{font-size:14px;font-weight:600;color:var(--text-strong);margin-bottom:12px}.ec-config-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ec-config-field__label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ec-config-field__input{padding:8px 10px;font-size:13px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none;transition:border-color var(--duration-normal) var(--ease-out)}.ec-config-field__input:focus{border-color:var(--accent)}.ec-config-field__hint{font-size:11px;color:var(--muted)}.ec-config-actions{display:flex;gap:8px;margin-top:8px}.ec-contact-list{display:flex;flex-direction:column;gap:8px}.ec-contact-item{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center;padding:8px;background:var(--bg);border-radius:6px}.ec-contact-item__name{font-size:13px;font-weight:500;color:var(--text-strong)}.ec-contact-item__phone{font-size:13px;color:var(--muted);font-family:var(--font-mono, monospace)}.ec-contact-item__role{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--accent-subtle);color:var(--accent)}@media(max-width:768px){.ec-grid{grid-template-columns:1fr}.ec-sensor-grid{grid-template-columns:repeat(3,1fr)}.ec-sos-item{grid-template-columns:1fr 1fr;gap:6px}.ec-contact-item{grid-template-columns:1fr 1fr}}
