:root{--bg: oklch(98.7% .004 80);--bg-sunken: oklch(96.5% .005 80);--panel: #ffffff;--panel-hover: oklch(98% .005 80);--panel-active: oklch(96.5% .008 264);--hairline: oklch(91% .006 80);--hairline-2: oklch(86% .008 80);--text: oklch(22% .012 80);--text-2: oklch(40% .012 80);--mute: oklch(56% .01 80);--mute-2: oklch(70% .008 80);--accent: oklch(54% .16 264);--accent-soft: oklch(96% .03 264);--accent-line: oklch(86% .06 264);--ok: oklch(54% .13 155);--ok-soft: oklch(96% .04 155);--ok-line: oklch(86% .08 155);--warn: oklch(60% .13 70);--warn-soft: oklch(96.5% .05 75);--warn-line: oklch(86% .1 75);--error: oklch(54% .18 25);--error-soft: oklch(96% .04 25);--error-line: oklch(86% .08 25);--info: oklch(56% .13 245);--info-soft: oklch(96% .03 245);--info-line: oklch(86% .06 245);--neutral: oklch(55% .01 80);--neutral-soft: oklch(95% .005 80);--f-sans: "IBM Plex Sans", ui-sans-serif, -apple-system, system-ui, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 28px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 48px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 10px;--sh-1: 0 1px 0 oklch(0% 0 0 / .04), 0 1px 2px oklch(0% 0 0 / .04);--sh-2: 0 4px 16px oklch(0% 0 0 / .06), 0 1px 2px oklch(0% 0 0 / .04);--sh-3: 0 24px 48px -16px oklch(0% 0 0 / .18), 0 4px 12px oklch(0% 0 0 / .08);--row-h: 36px}[data-density=comfortable]{--row-h: 44px}[data-density=compact]{--row-h: 30px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--f-sans);font-size:var(--fs-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","ss02","cv11"}button{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--text)}.mono{font-family:var(--f-mono);font-feature-settings:"zero","ss01"}.num{font-variant-numeric:tabular-nums}.muted{color:var(--mute)}.mono-sm{font-family:var(--f-mono);font-size:var(--fs-xs)}.app{display:flex;flex-direction:column;height:100vh;background:var(--bg)}.app>main{flex:1;min-height:0}.topbar{display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-4);border-bottom:1px solid var(--hairline);background:var(--panel);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:var(--s-2);font-weight:600;font-size:var(--fs-md);letter-spacing:-.01em}.brand-dot{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--text) 0%,var(--text) 50%,var(--accent) 50%,var(--accent) 100%);position:relative}.crumbs{display:flex;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);color:var(--mute)}.crumbs a{color:var(--text-2);text-decoration:none;cursor:default}.crumbs a:hover{color:var(--text)}.crumbs .sep{color:var(--mute-2)}.tb-spacer{flex:1}.tb-right-gap{width:8px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border:1px solid var(--hairline-2);border-bottom-width:1.5px;border-radius:4px;background:var(--panel);font-family:var(--f-mono);font-size:10.5px;color:var(--text-2);line-height:1}.search-trigger{display:flex;align-items:center;gap:var(--s-2);padding:5px 8px 5px 10px;background:var(--bg-sunken);border:1px solid var(--hairline);border-radius:var(--r-2);color:var(--mute);font-size:var(--fs-sm);min-width:260px;cursor:text}.search-trigger:hover{border-color:var(--hairline-2);color:var(--text-2)}.search-trigger svg{color:var(--mute-2)}.user-chip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--hairline);border-radius:999px;font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.user-chip:hover{background:var(--bg-sunken)}.user-menu{position:relative}.user-menu-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--r-2);box-shadow:0 8px 24px #00000014,0 2px 6px #0000000a;padding:4px;z-index:30}.user-menu-header{padding:8px 10px 6px}.user-menu-name{font-size:var(--fs-sm);font-weight:500;color:var(--text);line-height:1.2}.user-menu-email{font-size:var(--fs-xs);color:var(--mute);margin-top:2px}.user-menu-divider{height:1px;background:var(--hairline);margin:4px 0}.user-menu-item{display:block;width:100%;padding:7px 10px;border:0;background:transparent;text-align:left;font:inherit;font-size:var(--fs-sm);color:var(--text);border-radius:var(--r-1);cursor:pointer}.user-menu-item:hover{background:var(--bg-sunken)}.avatar{width:22px;height:22px;border-radius:999px;background:#bdceef;color:var(--accent);font-size:10.5px;font-weight:600;display:grid;place-items:center}.conn{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--mute);padding:4px 8px;border-radius:var(--r-2)}.conn .dot{width:6px;height:6px;border-radius:999px;background:var(--ok);box-shadow:0 0 0 3px #0d844c26}.conn.stale .dot{background:var(--warn);box-shadow:0 0 0 3px #b1700026}.conn.down .dot{background:var(--error);box-shadow:0 0 0 3px #c1323426;animation:pulse 1.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px #c1323400}}.spin{animation:spin .7s linear infinite;transform-origin:50% 50%}@keyframes spin{to{transform:rotate(360deg)}}button[aria-busy=true]{cursor:progress}.banner{display:flex;align-items:center;gap:var(--s-2);padding:8px 16px;font-size:var(--fs-sm);border-bottom:1px solid var(--hairline)}.banner.warn{background:var(--warn-soft);color:#5e3900;color:oklch(38% .12 70);border-bottom-color:var(--warn-line)}.banner.error{background:var(--error-soft);color:#8a0012;color:oklch(40% .18 25);border-bottom-color:var(--error-line)}.banner b{font-weight:600}.banner .banner-action{margin-left:auto;font:inherit;color:inherit;font-weight:500;text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:transparent;border:0;padding:0}.banner .banner-action:hover{text-decoration-thickness:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--hairline-2);border-radius:var(--r-2);background:var(--panel);color:var(--text);font-size:var(--fs-sm);font-weight:500;cursor:default;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s}.btn:hover{background:var(--bg-sunken)}.btn.ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn.ghost:hover{background:var(--bg-sunken);color:var(--text)}.btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn.primary:hover{background:#312d27}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:#2653c1}.btn.danger{color:var(--error)}.btn.sm{padding:3px 8px;font-size:var(--fs-xs)}.btn.icon{padding:5px}.btn[disabled]{opacity:.45}.btn.active{background:var(--panel-active);border-color:var(--accent-line);color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 5px;border-radius:4px;font-size:var(--fs-xs);font-weight:500;line-height:16px;letter-spacing:.01em;border:1px solid;white-space:nowrap}.badge.ok{color:#00502b;color:oklch(38% .12 155);background:var(--ok-soft);border-color:var(--ok-line)}.badge.warn{color:#5e3900;color:oklch(38% .12 70);background:var(--warn-soft);border-color:var(--warn-line)}.badge.error{color:#8a0012;color:oklch(40% .18 25);background:var(--error-soft);border-color:var(--error-line)}.badge.info{color:#004b7a;color:oklch(40% .13 245);background:var(--info-soft);border-color:var(--info-line)}.badge.neutral{color:#45423c;background:var(--neutral-soft);border-color:var(--hairline-2)}.badge svg{width:10px;height:10px}.dot-glyph{width:6px;height:6px;border-radius:999px;display:inline-block;flex:none}.dot-glyph.ok{background:var(--ok)}.dot-glyph.warn{background:var(--warn)}.dot-glyph.error{background:var(--error)}.dot-glyph.info{background:var(--info)}.dot-glyph.neutral{background:var(--neutral)}.login-shell{display:grid;place-items:center;height:100vh;background:var(--bg);position:relative;overflow:hidden}.login-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,black 0%,transparent 75%);mask-image:radial-gradient(ellipse 60% 60% at 50% 45%,black 0%,transparent 75%);opacity:.6}.login-card{position:relative;width:380px;background:var(--panel);border:1px solid var(--hairline);border-radius:10px;padding:32px 28px 24px;box-shadow:var(--sh-2)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.login-brand .brand-dot{width:24px;height:24px;border-radius:6px}.login-brand b{font-size:var(--fs-lg);letter-spacing:-.01em}.login-brand span{font-size:var(--fs-sm);color:var(--mute);margin-left:auto;font-family:var(--f-mono)}.login-card h1{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.015em}.login-card p.lead{margin:0 0 24px;color:var(--mute);font-size:var(--fs-md);line-height:1.5}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--hairline-2);border-radius:var(--r-2);background:var(--panel);font-size:var(--fs-md);font-weight:500;cursor:default}.google-btn:hover{background:var(--bg-sunken)}.login-fine{margin-top:20px;padding-top:16px;border-top:1px dashed var(--hairline);display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--mute);font-family:var(--f-mono)}.login-error{margin-top:16px;padding:10px 12px;background:var(--error-soft);border:1px solid var(--error-line);border-radius:var(--r-2);color:#810010;color:oklch(38% .18 25);font-size:var(--fs-sm);display:flex;gap:8px}.login-error b{font-weight:600}.login-error code{background:#ffffffb3;padding:0 4px;border-radius:3px;font-family:var(--f-mono);font-size:11px}.fleet{height:100%;display:grid;grid-template-rows:auto auto 1fr;overflow:hidden}.fleet-header{padding:18px 20px 14px;display:grid;grid-template-columns:1fr auto;gap:var(--s-3);align-items:end}.fleet-header h1{margin:0 0 4px;font-size:var(--fs-xl);font-weight:600;letter-spacing:-.015em}.fleet-header .sub{font-size:var(--fs-sm);color:var(--mute)}.fleet-header .sub b{color:var(--text-2);font-weight:500}.toolbar{display:flex;align-items:center;gap:var(--s-2);padding:0 20px 12px;border-bottom:1px solid var(--hairline)}.chips{display:flex;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 8px;border:1px solid var(--hairline-2);border-radius:999px;font-size:var(--fs-xs);font-weight:500;color:var(--text-2);background:var(--panel);cursor:default}.chip:hover{background:var(--bg-sunken)}.chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.chip.active .count{color:#d1cdc7}.chip .count{font-family:var(--f-mono);font-size:10.5px;color:var(--mute)}.t-wrap{overflow:auto}table.fleet-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.fleet-table thead th{position:sticky;top:0;z-index:2;background:var(--bg);text-align:left;font-weight:500;font-size:var(--fs-xs);color:var(--mute);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;border-bottom:1px solid var(--hairline);cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap}.fleet-table thead th .sort-ind{display:inline-flex;align-items:center;width:10px;margin-left:4px;color:var(--mute-2)}.fleet-table thead th.sorted{color:var(--text)}.fleet-table thead th.sorted .sort-ind{color:var(--accent)}.fleet-table tbody tr{cursor:default}.fleet-table tbody tr:hover{background:var(--panel-hover)}.fleet-table tbody tr.group-header{cursor:pointer;background:var(--bg-sunken);-webkit-user-select:none;user-select:none}.fleet-table tbody tr.group-header:hover{background:var(--panel)}.fleet-table tbody tr.group-header td{font-family:var(--f-mono);font-size:var(--fs-sm);color:var(--text);padding:4px 12px;height:28px;border-bottom:1px solid var(--hairline-2)}.fleet-table tbody tr.errored{background:#fff8f7;background:oklch(98.5% .012 25)}.fleet-table tbody tr.errored:hover{background:#fff1f0;background:oklch(97% .02 25)}.fleet-table tbody td{padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--hairline);vertical-align:middle;white-space:nowrap}.fleet-table tbody td.name{font-family:var(--f-mono);font-size:var(--fs-base);font-weight:500;color:var(--text)}.fleet-table tbody td.dim{color:var(--mute)}.fleet-table tbody td.mono{font-family:var(--f-mono);color:var(--text-2)}.fleet-table tbody td.right{text-align:right}.fleet-table tbody td:first-child{width:12px;padding:0 0 0 16px}.row-marker{width:3px;height:18px;border-radius:0 2px 2px 0;background:transparent}.fleet-table tbody tr:hover .row-marker{background:var(--hairline-2)}.fleet-table tbody tr.errored .row-marker{background:var(--error)}.fleet-table tbody tr.warning .row-marker{background:var(--warn)}.proc-mini{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:var(--fs-xs);padding:1px 6px 1px 5px;border:1px solid var(--hairline-2);border-radius:3px;color:var(--text-2)}.proc-mini+.proc-mini{margin-left:4px}.proc-mini.degraded{color:#8a0012;color:oklch(40% .18 25);border-color:var(--error-line);background:var(--error-soft)}.proc-mini.partial{color:#5e3900;color:oklch(38% .12 70);border-color:var(--warn-line);background:var(--warn-soft)}.fleet-empty{padding:80px 20px;text-align:center;color:var(--mute);font-size:var(--fs-sm)}.detail{display:grid;grid-template-columns:200px 1fr;height:100%;overflow:hidden}.detail-nav{border-right:1px solid var(--hairline);padding:18px 12px;background:var(--bg);overflow-y:auto}.detail-nav-section{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:8px 8px 4px}.detail-nav a{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--r-1);font-size:var(--fs-sm);color:var(--text-2);text-decoration:none;cursor:default;line-height:1.4}.detail-nav a:hover{background:var(--bg-sunken);color:var(--text)}.detail-nav a.active{background:var(--panel);color:var(--text);font-weight:500;box-shadow:inset 0 0 0 1px var(--hairline)}.detail-nav a .badge{margin-left:auto}.detail-body{overflow-y:auto;padding:0 32px 80px}.detail-header{border-bottom:1px solid var(--hairline);display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;position:sticky;top:0;background:var(--bg);z-index:5;margin:0 -32px;padding:22px 32px 18px}.detail-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.detail-title h1{margin:0;font-family:var(--f-mono);font-size:var(--fs-xl);font-weight:500;letter-spacing:-.01em}.detail-meta{margin-top:6px;display:flex;gap:16px;font-size:var(--fs-sm);color:var(--mute)}.detail-meta b{color:var(--text-2);font-weight:500}.detail-meta a{color:var(--accent);text-decoration:none;cursor:default}.detail-meta a:hover{text-decoration:underline;text-underline-offset:2px}.detail-actions{display:flex;gap:6px;align-self:center}.section{padding:22px 0 4px;scroll-margin-top:60px}.section h2{margin:0 0 12px;font-size:var(--fs-md);font-weight:600;letter-spacing:-.005em;display:flex;align-items:center;gap:8px}.section h2 .count{font-family:var(--f-mono);font-size:var(--fs-xs);color:var(--mute);font-weight:400}.section h2 .h-actions{margin-left:auto;display:flex;gap:6px}.card{border:1px solid var(--hairline);border-radius:var(--r-3);background:var(--panel);overflow:hidden}table.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.dt thead th{text-align:left;font-weight:500;font-size:var(--fs-xs);color:var(--mute);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;background:var(--bg-sunken);border-bottom:1px solid var(--hairline)}.dt tbody td{padding:8px 12px;border-bottom:1px solid var(--hairline);vertical-align:middle}.dt tbody tr:last-child td{border-bottom:0}.dt tbody td.mono{font-family:var(--f-mono)}.dt tbody td.dim{color:var(--mute)}.dt tbody td.right{text-align:right}.kv{display:grid;grid-template-columns:minmax(160px,220px) 1fr}.kv .k,.kv .v{padding:7px 12px;border-bottom:1px solid var(--hairline);font-size:var(--fs-sm)}.kv .k{font-family:var(--f-mono);color:var(--text-2);background:var(--bg-sunken);border-right:1px solid var(--hairline);display:flex;align-items:center;gap:6px}.kv .v{font-family:var(--f-mono);display:flex;align-items:center;gap:8px}.kv>div:last-child,.kv>div:nth-last-child(2){border-bottom:0}.kv .v .secret-tag{font-size:9.5px;font-family:var(--f-sans);font-weight:500;color:#8a0012;color:oklch(40% .18 25);background:var(--error-soft);border:1px solid var(--error-line);padding:0 5px;border-radius:3px;letter-spacing:.04em;text-transform:uppercase}.masked-val{flex:1;display:flex;align-items:center;gap:6px;color:var(--text);min-width:0}.masked-val .v-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v-mask{letter-spacing:.12em;color:var(--mute)}.iconbtn{border:0;background:transparent;color:var(--mute);width:22px;height:22px;border-radius:4px;display:grid;place-items:center;cursor:default}.iconbtn:hover{background:var(--bg-sunken);color:var(--text)}.iconbtn.tiny{width:18px;height:18px}.empty-row{padding:32px 16px;text-align:center;color:var(--mute);font-size:var(--fs-sm);font-style:italic}.empty-row b{display:block;color:var(--text-2);font-style:normal;font-weight:500;margin-bottom:4px}.skeleton{display:inline-block;height:12px;border-radius:3px;background:linear-gradient(90deg,#edebe7,#e0deda,#edebe7);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;width:80px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.section-error{margin:0;padding:12px 16px;background:var(--error-soft);border:1px solid var(--error-line);border-radius:var(--r-2);font-size:var(--fs-sm)}.section-error b{color:#810010;color:oklch(38% .18 25);font-weight:600}.section-error pre{margin:6px 0 0;font-family:var(--f-mono);font-size:var(--fs-xs);color:#6c1517;white-space:pre-wrap;background:#ffffff80;padding:6px 8px;border-radius:4px}.logs{display:grid;grid-template-rows:auto auto 1fr auto;height:100%;background:var(--bg)}.logs-toolbar{display:flex;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--hairline)}.logs-toolbar .grp{display:flex;align-items:center;gap:4px;padding:2px;background:var(--bg-sunken);border:1px solid var(--hairline);border-radius:var(--r-2)}.logs-toolbar .grp button{padding:3px 10px;background:transparent;border:0;border-radius:4px;font-size:var(--fs-xs);color:var(--text-2);cursor:default;font-family:var(--f-mono)}.logs-toolbar .grp button.active{background:var(--panel);color:var(--text);box-shadow:var(--sh-1)}.logs-meta{display:flex;align-items:center;gap:16px;padding:6px 20px;font-size:var(--fs-xs);color:var(--mute);border-bottom:1px solid var(--hairline);font-family:var(--f-mono);background:var(--bg-sunken)}.logs-meta .stream{display:flex;align-items:center;gap:5px}.logs-meta .stream .live{width:6px;height:6px;border-radius:999px;background:var(--error);animation:blink 1s infinite}@keyframes blink{50%{opacity:.3}}.logs-meta .paused .live{animation:none;background:var(--mute)}.logs-meta .spacer{flex:1}.log-view{font-family:var(--f-mono);font-size:12px;line-height:1.55;overflow:auto;background:var(--panel);position:relative}.log-line{display:grid;grid-template-columns:60px 80px 64px 1fr;gap:12px;padding:1px 16px;border-bottom:1px solid oklch(96% .005 80);white-space:pre}[data-wrap=on] .log-line{white-space:pre-wrap;word-break:break-word}.log-line.highlight{background:#ffefda;background:oklch(96% .05 75)}.log-line:hover{background:var(--bg-sunken)}.log-line.error{background:#fff8f7;background:oklch(98.5% .012 25)}.log-line.error:hover{background:#fff1f0;background:oklch(97% .018 25)}.log-line .ln{color:var(--mute-2);-webkit-user-select:none;user-select:none;text-align:right}.log-line .ts{color:var(--mute)}.log-line .proc{font-weight:500;font-size:11px;color:var(--info)}.log-line .proc.worker{color:#6453a7}.log-line .proc.deploy{color:#5f4200;color:oklch(40% .12 80)}.log-line .proc.error{color:var(--error)}.log-line .msg{color:var(--text)}.log-line .lvl-err{color:var(--error);font-weight:500}.log-line .lvl-warn{color:#8a5600;color:oklch(50% .13 70)}.log-line .lvl-ok{color:var(--ok)}.log-line .dim{color:var(--mute)}.jump-bottom{position:sticky;bottom:12px;margin-left:auto;margin-right:16px;width:max-content;background:var(--text);color:var(--bg);padding:6px 12px;font-size:var(--fs-xs);border-radius:999px;box-shadow:var(--sh-2);cursor:default}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000026;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:100;display:grid;justify-items:center;align-items:start;padding-top:12vh}.palette{width:560px;max-width:90vw;background:var(--panel);border:1px solid var(--hairline);border-radius:12px;box-shadow:var(--sh-3);overflow:hidden}.palette-input{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline)}.palette-input input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:var(--fs-md);color:var(--text)}.palette-input input::placeholder{color:var(--mute-2)}.palette-list{max-height:380px;overflow-y:auto;padding:6px}.palette-group-h{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:8px 10px 4px}.palette-item{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;padding:7px 10px;border-radius:var(--r-2);cursor:default}.palette-item .name{display:flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:var(--fs-sm)}.palette-item .meta{font-size:var(--fs-xs);color:var(--mute);display:flex;align-items:center;gap:8px}.palette-item.active{background:var(--accent-soft)}.palette-item.active .meta{color:#3c5fad}.palette-foot{display:flex;align-items:center;gap:16px;padding:8px 14px;border-top:1px solid var(--hairline);background:var(--bg-sunken);font-size:10.5px;color:var(--mute)}.palette-foot .grp{display:flex;align-items:center;gap:4px}.divider-v{width:1px;align-self:stretch;background:var(--hairline)}.tag-sha{font-family:var(--f-mono);font-size:var(--fs-xs);padding:1px 5px;border:1px solid var(--hairline-2);border-radius:3px;background:var(--panel);color:var(--text-2)}.fade-in{animation:fade .25s ease-out}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dim-til-hover .iconbtn{opacity:0;transition:opacity .12s}.dim-til-hover:hover .iconbtn{opacity:1}.dim-til-hover:focus-within .iconbtn{opacity:1}
