@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#fafaf7;--surface:#fff;--surface-2:#f4f3ee;--surface-3:#eceae2;--hover:#f7f6f1;--ink:#15140f;--ink-2:#3a3833;--ink-3:#6e6b62;--ink-4:#a6a299;--ink-5:#c9c5ba;--border:#e5e2d7;--border-2:#d8d4c5;--border-strong:#c1bca8;--accent:oklch(0.48 0.18 270);--accent-hover:oklch(0.42 0.19 270);--accent-soft:oklch(0.95 0.04 270);--accent-ink:oklch(0.32 0.16 270);--ok:oklch(0.62 0.16 145);--ok-soft:oklch(0.95 0.06 145);--warn:oklch(0.74 0.16 75);--warn-soft:oklch(0.96 0.07 80);--err:oklch(0.60 0.20 25);--err-soft:oklch(0.95 0.06 25);--info:oklch(0.62 0.15 240);--info-soft:oklch(0.95 0.05 240);--offering:oklch(0.55 0.17 295);--offering-soft:oklch(0.95 0.05 295);--font-sans:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;--r-sm:4px;--r:6px;--r-md:8px;--r-lg:12px;--shadow-sm:0 1px 0 rgba(21,20,15,.04),0 1px 2px rgba(21,20,15,.04);--shadow:0 1px 2px rgba(21,20,15,.05),0 4px 12px rgba(21,20,15,.06);--shadow-lg:0 8px 24px rgba(21,20,15,.1),0 2px 6px rgba(21,20,15,.06);--palette-0:#1f6feb;--palette-1:#9333ea;--palette-2:#ea580c;--palette-3:#0891b2;--palette-4:#16a34a;--palette-5:#dc2626;--palette-6:#0d9488;--palette-7:#7c3aed;--palette-8:#c026d3;--palette-9:#475569}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}#root{min-height:100vh}button{background:none;border:none;padding:0;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono);font-feature-settings:"ss03"}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}::-webkit-scrollbar-track{background:transparent}[data-theme=dark]{--bg:#1a1a1f;--surface:#242429;--surface-2:#2c2c33;--surface-3:#35353d;--hover:#2f2f36;--ink:#ededef;--ink-2:#c8c8cc;--ink-3:#9a9a9f;--ink-4:#6b6b72;--ink-5:#4a4a52;--border:#3a3a42;--border-2:#454550;--border-strong:#5a5a65;--accent:oklch(0.65 0.18 270);--accent-hover:oklch(0.58 0.19 270);--accent-soft:oklch(0.25 0.06 270);--accent-ink:oklch(0.80 0.12 270);--ok:oklch(0.70 0.16 145);--ok-soft:oklch(0.22 0.06 145);--warn:oklch(0.78 0.14 75);--warn-soft:oklch(0.25 0.06 80);--err:oklch(0.68 0.18 25);--err-soft:oklch(0.22 0.06 25);--info:oklch(0.70 0.14 240);--info-soft:oklch(0.22 0.05 240);--offering:oklch(0.65 0.15 295);--offering-soft:oklch(0.22 0.05 295);--shadow-sm:0 1px 0 rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);--shadow:0 1px 2px rgba(0,0,0,.25),0 4px 12px rgba(0,0,0,.2);--shadow-lg:0 8px 24px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.2);color-scheme:dark}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border-2);border-color:var(--bg)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:52px 1fr;grid-template-areas:"logo topbar" "sidebar main";min-height:100vh}.topbar{grid-area:topbar;padding:0 20px 0 0;gap:16px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.logo-cell,.topbar{border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center}.logo-cell{grid-area:logo;border-right:1px solid var(--border);gap:10px;padding:0 16px;font-weight:600;letter-spacing:-.01em;font-size:14px}.logo-mark{width:22px;height:22px;border-radius:5px;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:600;position:relative}.logo-mark:after{content:"";position:absolute;inset:4px;border-radius:2px;border:1.5px solid var(--bg);border-bottom:none;border-right:none}.sidebar{grid-area:sidebar;border-right:1px solid var(--border);background:var(--surface);padding:16px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.portal-switch{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:3px;display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:2px;gap:2px;margin-bottom:14px}.portal-switch button{padding:6px 4px;border-radius:5px;font-size:11px;font-weight:500;color:var(--ink-3);display:flex;align-items:center;justify-content:center;gap:4px;transition:all .12s}.portal-switch button.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.portal-switch button:hover:not(.active){color:var(--ink)}.nav-section{font-size:10.5px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:14px 10px 4px}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--r);color:var(--ink-2);font-size:13px;font-weight:450;cursor:pointer;transition:background .1s;position:relative}.nav-item:hover{background:var(--hover);color:var(--ink)}.nav-item.active{background:var(--surface-2);color:var(--ink);font-weight:500}.nav-item .badge{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;background:var(--ink);color:var(--bg);padding:1px 5px;border-radius:3px;line-height:1.4}.nav-item.active .badge{background:var(--accent);color:#fff}.nav-icon{width:16px;height:16px;color:var(--ink-3);flex-shrink:0}.nav-item.active .nav-icon,.nav-item:hover .nav-icon{color:var(--ink)}.main{grid-area:main;overflow-y:auto;background:var(--bg)}.search{flex:1 1;max-width:520px;display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-md);color:var(--ink-3);font-size:12.5px;margin-left:20px;transition:all .12s}.search:hover{background:var(--surface-3)}.search:focus-within{background:var(--surface);border-color:var(--accent)}.search input{flex:1 1;background:none;border:none;outline:none;color:var(--ink)}.search input::placeholder{color:var(--ink-4)}.search-kbd{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);background:var(--surface);border:1px solid var(--border);padding:0 5px;border-radius:3px}.topbar-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.icon-btn{width:32px;height:32px;border-radius:var(--r);display:grid;place-items:center;color:var(--ink-3);position:relative;transition:background .1s}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn .dot{position:absolute;top:7px;right:8px;width:6px;height:6px;background:var(--err);border-radius:50%;border:1.5px solid var(--surface)}.device-chip{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;cursor:pointer;transition:all .12s}.device-chip:hover{background:var(--surface-3);border-color:var(--border-2)}.device-chip .name{font-weight:500}.device-chip .meta{color:var(--ink-3);font-family:var(--font-mono);font-size:10.5px}.device-chip .status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px color-mix(in oklab,var(--ok),transparent 80%)}.avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,oklch(.55 .15 270),oklch(.45 .18 290));color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600;margin-left:4px;cursor:pointer}.page{padding:28px 36px 64px;max-width:1440px;margin:0 auto}.page.wide{max-width:none;padding:24px 32px 64px}.page-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.page-header h1{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0}.page-header .crumbs{font-size:12px;color:var(--ink-3);margin-bottom:4px}.page-header .crumbs a{color:var(--ink-3)}.page-header .crumbs a:hover{color:var(--ink)}.page-header .sub{color:var(--ink-3);font-size:13px;margin-top:4px}.page-header .right{margin-left:auto;display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:var(--r);font-size:12.5px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--ink);transition:all .1s;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--hover);border-color:var(--border-2)}.btn.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn.primary:hover{background:#000}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--hover)}.btn.danger{color:var(--err)}.btn.danger:hover{background:var(--err-soft);border-color:color-mix(in oklab,var(--err),transparent 70%)}.btn.sm{padding:4px 8px;font-size:11.5px}.btn.lg{padding:9px 14px;font-size:13.5px}.btn.block{width:100%;justify-content:center}.btn .icon{width:14px;height:14px}.btn[disabled]{opacity:.5;cursor:not-allowed}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border-radius:4px;font-size:11px;font-family:var(--font-mono);font-weight:500;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border);line-height:1.5}.chip.ok{background:var(--ok-soft);color:oklch(.38 .12 145);border-color:color-mix(in oklab,var(--ok),transparent 75%)}.chip.warn{background:var(--warn-soft);color:oklch(.42 .13 60);border-color:color-mix(in oklab,var(--warn),transparent 75%)}.chip.err{background:var(--err-soft);color:oklch(.4 .16 25);border-color:color-mix(in oklab,var(--err),transparent 75%)}.chip.info{background:var(--info-soft);color:oklch(.38 .13 240);border-color:color-mix(in oklab,var(--info),transparent 75%)}.chip.offering{background:var(--offering-soft);color:oklch(.38 .14 295);border-color:color-mix(in oklab,var(--offering),transparent 75%)}.chip.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:color-mix(in oklab,var(--accent),transparent 75%)}.chip.ink{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.lg{padding:3px 9px;font-size:11.5px}.type-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px 2px 5px;border-radius:4px;font-size:11px;font-weight:500;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border)}.type-chip .swatch{width:8px;height:8px;border-radius:2px}.type-app .swatch{background:oklch(.55 .17 270)}.type-bundle .swatch{background:oklch(.65 .16 50)}.type-library .swatch{background:oklch(.55 .17 320)}.type-infra .swatch{background:oklch(.55 .04 250)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.card-header{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.card-header h3{margin:0;font-size:13px;font-weight:600}.card-header .right{margin-left:auto;display:flex;gap:6px;align-items:center}.card-body{padding:16px}.progress{width:100%;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden;position:relative}.progress .fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.progress.installing .fill{background:var(--info)}.progress.downloading .fill{background:var(--info);background-image:linear-gradient(45deg,color-mix(in oklab,#fff,transparent 70%) 25%,transparent 0,transparent 50%,color-mix(in oklab,#fff,transparent 70%) 0,color-mix(in oklab,#fff,transparent 70%) 75%,transparent 0,transparent);background-size:12px 12px;animation:barber .8s linear infinite}@keyframes barber{0%{background-position:0 0}to{background-position:12px 0}}.progress-row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);margin-top:5px}.progress-row .pct{color:var(--ink);font-weight:500}.action-row{display:flex;gap:4px;align-items:center}.icon-mini{width:24px;height:24px;border-radius:4px;display:grid;place-items:center;color:var(--ink-3);background:var(--surface-2)}.icon-mini:hover{background:var(--surface-3);color:var(--ink)}.spinner{border:1.5px solid;border-right:1.5px solid transparent;border-radius:50%;animation:spin .7s linear infinite}.inline-spinner,.spinner{width:12px;height:12px;display:inline-block}.inline-spinner{margin-left:8px}@keyframes spin{to{transform:rotate(1turn)}}.field{display:grid;grid-template-columns:120px 1fr;align-items:center;grid-gap:12px;gap:12px;font-size:13px}.field .label{font-size:12px;font-weight:500;color:var(--ink-2);white-space:nowrap}.field input,.field select,.field textarea{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:13px;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-4)}label.field{display:flex;flex-direction:column;gap:6px;text-align:left}label.field .label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);text-align:left}.rule-form{display:flex;flex-direction:column;gap:18px}.rule-form .field{display:grid;grid-template-columns:110px 1fr;align-items:start;grid-gap:12px;gap:12px}.rule-form .field .label{font-size:12px;font-weight:500;color:var(--ink-2);padding-top:8px;text-transform:none;letter-spacing:normal}.rule-form .field input,.rule-form .field select,.rule-form .field textarea{padding:8px 12px;font-size:13px;border-radius:var(--r-md)}.close{background:none;border:none;cursor:pointer;color:var(--ink-4);padding:0;display:inline-flex;align-items:center}.close:hover{color:var(--ink-2)}.featured-strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:32px}.featured-card{border-radius:var(--r-lg);padding:20px;position:relative;overflow:hidden;border:1px solid var(--border);min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;transition:transform .15s}.featured-card:hover{transform:translateY(-1px)}.featured-card.hero{background:radial-gradient(circle at 80% 20%,oklch(.55 .16 270/.25),transparent 50%),radial-gradient(circle at 20% 80%,oklch(.5 .18 290/.2),transparent 50%),linear-gradient(135deg,#1a1830,#0e0c1e);color:#fff;border-color:transparent}.featured-card.hero .tagline{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;opacity:.7;text-transform:uppercase;margin-bottom:8px}.featured-card.hero h2{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;max-width:70%}.featured-card.hero p{font-size:13px;opacity:.75;margin:0 0 16px;max-width:60%}.featured-card.hero .grid-overlay{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.04) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.04) 1px,transparent 0);background-size:32px 32px;pointer-events:none;-webkit-mask:radial-gradient(ellipse at top right,#000 30%,transparent 70%);mask:radial-gradient(ellipse at top right,#000 30%,transparent 70%)}.featured-card.compact{background:var(--surface);display:flex;flex-direction:row;align-items:center;gap:14px;min-height:auto;padding:16px}.featured-card.compact .ico{width:44px;height:44px;border-radius:9px;flex-shrink:0;display:grid;place-items:center;font-family:var(--font-mono);font-weight:600;color:#fff;font-size:16px}.featured-card.compact .meta{font-size:11px;color:var(--ink-3);font-family:var(--font-mono);margin-top:2px}.featured-card.compact .name{font-weight:600;font-size:14px}.featured-card.compact .desc{font-size:12px;color:var(--ink-3);margin-top:4px;line-height:1.45}.filter-bar{display:flex;align-items:center;gap:6px;padding:8px 0;margin-bottom:16px;border-bottom:1px solid var(--border)}.filter-chip{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--ink-2);cursor:pointer;transition:all .1s;display:inline-flex;align-items:center;gap:5px}.filter-chip:hover{background:var(--hover)}.filter-chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-divider{width:1px;height:16px;background:var(--border);margin:0 4px}.section-row{margin-bottom:32px}.section-row-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-row-header h2{font-size:14px;font-weight:600;margin:0;letter-spacing:-.005em}.section-row-header .see-all{font-size:12px;color:var(--ink-3)}.section-row-header .see-all:hover{color:var(--ink)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px}.app-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:all .12s;position:relative}.app-card:hover{border-color:var(--border-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-card.is-installing{border-color:color-mix(in oklab,var(--info),transparent 60%)}.app-card.is-error{border-color:color-mix(in oklab,var(--err),transparent 60%)}.app-icon{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;color:#fff;font-family:var(--font-mono);font-weight:600;font-size:15px;letter-spacing:-.02em;flex-shrink:0}.app-card .header{display:flex;gap:10px;align-items:flex-start}.app-card .info{flex:1 1;min-width:0}.app-card .name{font-weight:600;font-size:13.5px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.app-card .ver{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3);margin-top:2px}.app-card .desc{color:var(--ink-3);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:33px}.app-card .tags{display:flex;flex-wrap:wrap;gap:4px}.app-card .action{margin-top:auto}.app-card .fav{position:absolute;top:10px;right:10px;color:var(--ink-4)}.app-card .fav:hover{color:var(--ink)}.app-card .fav.on{color:oklch(.72 .16 75)}.app-card .ribbon{position:absolute;top:0;left:14px;background:var(--accent);color:#fff;font-size:9.5px;font-family:var(--font-mono);padding:2px 6px;border-radius:0 0 4px 4px;font-weight:600;letter-spacing:.04em}.detail{display:grid;grid-template-columns:1fr 360px;grid-gap:32px;gap:32px;align-items:start}.detail-hero{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}.detail-hero .app-icon{width:64px;height:64px;border-radius:14px;font-size:22px}.detail-hero h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}.detail-hero .sub{color:var(--ink-3);font-size:13px;margin-top:4px}.detail-hero .meta-row{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.detail-desc{color:var(--ink-2);font-size:14px;line-height:1.6;margin:20px 0;max-width:65ch}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}.tabs button{padding:10px 14px;font-size:13px;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500;position:relative}.tabs button:hover{color:var(--ink)}.tabs button.active{color:var(--ink);border-color:var(--ink)}.tabs button .count{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);margin-left:4px}.ver-list{display:flex;flex-direction:column}.ver-row{padding:14px 0;border-top:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center}.ver-row:first-child{border-top:none}.ver-row.locked{opacity:.55}.ver-row .v{font-size:14px;font-weight:600}.ver-row .date,.ver-row .v{font-family:var(--font-mono)}.ver-row .date{font-size:11.5px;color:var(--ink-3);margin-top:2px}.ver-row .notes{font-size:12.5px;color:var(--ink-2);line-height:1.5;max-width:56ch;margin-top:6px}.ver-row .lock-tip{font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.install-card{position:-webkit-sticky;position:sticky;top:72px}.kv{display:grid;grid-template-columns:100px 1fr;grid-gap:6px 12px;gap:6px 12px;font-size:12.5px}.kv dt{color:var(--ink-3);font-weight:400}.kv dd,.kv dt{font-size:12px}.kv dd{margin:0;font-weight:500}.kv dd.mono{font-family:var(--font-mono);font-size:11.5px}.install-status{background:var(--info-soft);border:1px solid color-mix(in oklab,var(--info),transparent 75%);padding:12px;border-radius:var(--r-md);margin-top:14px}.install-status .phase{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12px;color:oklch(.4 .14 240)}.install-status .stats{display:flex;gap:14px;margin-top:8px;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.phase-track{margin-top:12px;display:flex;gap:4px}.phase-step{flex:1 1;height:3px;border-radius:2px;background:var(--border);transition:background .3s}.phase-step.active{background:var(--info)}.phase-step.done{background:var(--ok)}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:24px}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px}.metric .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.metric .value{font-size:22px;font-weight:600;font-family:var(--font-mono);margin-top:6px;letter-spacing:-.02em}.metric .delta{font-size:11px;font-family:var(--font-mono);color:var(--ok);margin-top:2px}.metric .delta.down{color:var(--err)}.metric .spark{margin-top:8px;height:28px}.two-col{grid-template-columns:2fr 1fr;grid-gap:16px}.three-col,.two-col{display:grid;gap:16px}.three-col{grid-template-columns:1fr 1fr 1fr;grid-gap:16px}.release-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:0;gap:0;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.release-list{border-right:1px solid var(--border);background:var(--surface)}.release-list-header{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.release-list-header h3{margin:0;font-size:13px;font-weight:600}.release-item{padding:12px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}.release-item:hover{background:var(--hover)}.release-item.selected{background:var(--surface-2);position:relative}.release-item.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ink)}.release-item .top{display:flex;align-items:center;gap:8px}.release-item .v{font-family:var(--font-mono);font-size:13px;font-weight:600}.release-item .nm{font-size:12.5px;color:var(--ink-2);margin-top:3px}.release-item .date{margin-top:6px}.release-item .date,.release-item .dl{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-3)}.release-item .dl{margin-left:auto}.release-detail{padding:20px 24px;min-height:540px}.release-detail h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.release-detail .sub-tabs{display:flex;gap:4px;margin:16px 0 18px;border-bottom:1px solid var(--border)}.release-detail .sub-tabs button{padding:8px 10px;font-size:12.5px;color:var(--ink-3);border-bottom:2px solid transparent;margin-bottom:-1px;font-weight:500}.release-detail .sub-tabs button.active{color:var(--ink);border-color:var(--ink)}.artifact-row{display:grid;grid-template-columns:28px 1fr auto auto auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);margin-bottom:6px;font-size:12.5px}.artifact-row .file-ico{width:28px;height:28px;border-radius:5px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3)}.artifact-row .nm{font-family:var(--font-mono);font-size:12px}.artifact-row .hash{font-size:10.5px;margin-top:2px}.artifact-row .hash,.artifact-row .sz{font-family:var(--font-mono);color:var(--ink-3)}.artifact-row .sz{font-size:11px}.project-detail-header{display:flex;gap:14px;align-items:flex-start}.project-detail-icon{width:48px;height:48px;border-radius:11px;font-size:18px}.project-detail-crumb-sep{margin:0 6px;color:var(--ink-4)}.project-detail-crumb-current{color:var(--ink-2)}.project-detail-title-row{gap:10px}.project-detail-live{font-size:10px}.project-loading{padding:48px 0;text-align:center}.project-loading .spinner{width:20px;height:20px;display:inline-block}.events-toolbar{justify-content:space-between;margin-bottom:16px;gap:10px}.events-toolbar .search{width:260px}.events-severity-filter{width:140px;padding:6px 8px;font-size:12.5px}.events-empty{padding:48px 0;text-align:center;color:var(--ink-3);font-size:13px}.project-events-feed{max-height:600px}.project-event-row{display:grid;grid-template-columns:auto 1fr;grid-gap:10px;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:12.5px}.project-event-row .lvl{font-family:var(--font-mono);font-size:10px;padding:2px 6px;border-radius:3px;font-weight:600;height:-moz-fit-content;height:fit-content;text-transform:uppercase;white-space:nowrap}.project-event-row .lvl.critical{background:var(--err-soft);color:oklch(.4 .16 25)}.project-event-row .lvl.warning{background:var(--warn-soft);color:oklch(.42 .13 60)}.project-event-row .lvl.info{background:color-mix(in oklab,var(--accent),transparent 85%);color:var(--accent)}.project-event-body{min-width:0}.project-event-header{display:flex;align-items:center;gap:8px;margin-bottom:3px}.project-event-type{font-size:10.5px}.project-event-time{font-size:11px;margin-left:auto;flex-shrink:0}.project-event-message{color:var(--ink-2);line-height:1.5;margin-bottom:2px}.project-event-meta{display:flex;gap:12px;font-size:11px}.project-event-meta span{display:inline-flex;align-items:center;gap:4px}.docs-toolbar{justify-content:space-between;margin-bottom:16px}.docs-toolbar .search{width:260px}.docs-empty{padding:48px 0;text-align:center;color:var(--ink-3);font-size:13px}.docs-table th.col-updated{width:120px}.docs-table th.col-actions{width:60px}.docs-table .doc-row{cursor:pointer}.docs-table .doc-title{display:flex;align-items:center;gap:8px}.docs-table .doc-icon{color:var(--ink-4);flex-shrink:0}.docs-table .doc-name{font-weight:500;font-size:13px}.docs-table .doc-date{font-size:12px}.members-toolbar{justify-content:space-between;margin-bottom:16px}.members-count,.members-empty{font-size:13px;color:var(--ink-3)}.members-empty{padding:48px 0;text-align:center}.members-table th.col-avatar{width:36px}.members-table th.col-role{width:120px}.members-table th.col-actions{width:60px}.member-avatar{width:28px;height:28px;border-radius:6px;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600}.member-name{font-weight:500;font-size:13px}.member-email{font-size:11.5px;color:var(--ink-3)}.member-role{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500}.member-role-dot{width:6px;height:6px;border-radius:2px}.invite-card{margin-bottom:16px}.invite-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.invite-field{flex-direction:column;flex:1 1;min-width:200px}.invite-field,.invite-field-sm{display:flex;gap:4px;font-size:13px}.invite-field-sm{flex-direction:column}.invite-field-label{font-weight:500}.invite-error{padding:0 16px 12px;color:var(--err);font-size:12px}.settings-container{max-width:640px}.settings-msg{margin-bottom:12px;padding:8px 12px;border-radius:var(--r-md);font-size:12.5px}.settings-msg.success{background:color-mix(in oklab,var(--accent),transparent 85%)}.settings-msg.error{background:color-mix(in oklab,var(--err),transparent 85%)}.settings-card{margin-bottom:16px}.settings-card-body{display:flex;flex-direction:column;gap:16px}.settings-field{display:flex;flex-direction:column;gap:6px;font-size:13px}.settings-field-label{font-weight:500}.settings-field-hint{font-size:12px;color:var(--ink-4)}.settings-input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;background:var(--bg);width:100%}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-input.mono-input{font-family:var(--font-mono)}.settings-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.settings-save{align-self:flex-start}.danger-card{border-color:color-mix(in oklab,var(--err),transparent 70%)}.danger-card .card-header h3{color:var(--err)}.danger-card .card-body{display:flex;justify-content:space-between;align-items:center}.danger-title{font-weight:500;font-size:13px}.danger-desc{font-size:12.5px;color:var(--ink-3);margin-top:2px}.danger-card .gitops-icon{margin-right:6px}.account-page{max-width:640px}.account-avatar{width:52px;height:52px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:18px;font-weight:600;flex-shrink:0}.account-profile{display:flex;gap:16px;align-items:center}.account-profile-info{flex:1 1}.account-name{font-weight:600;font-size:15px}.account-email{font-size:13px;color:var(--ink-3);margin-top:2px}.account-role-row{margin-top:6px}.account-role-chip{font-size:11px;text-transform:capitalize}.account-desc{font-size:13px;color:var(--ink-3);margin:0 0 12px}.option-btn,.option-group{display:flex;gap:8px}.option-btn{flex:1 1;flex-direction:column;align-items:center;padding:14px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:all .15s ease}.option-btn.active{border:2px solid var(--accent);background:var(--accent-soft)}.option-btn .option-icon{color:var(--ink-3)}.option-btn.active .option-icon{color:var(--accent)}.option-btn .option-label{font-size:12.5px;font-weight:400;color:var(--ink-2)}.option-btn.active .option-label{font-weight:600;color:var(--accent-ink)}.option-btn.horizontal{flex-direction:row;justify-content:center;padding:12px 16px;font-size:13px}.option-btn.horizontal .option-label{font-size:13px}.card-error{justify-content:center;min-height:80px;color:var(--err,oklch(.55 .22 25));font-size:.85rem;opacity:.85}.card-error,.toolbar{display:flex;align-items:center}.toolbar{gap:8px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:var(--r-md) var(--r-md) 0 0;padding:8px 10px}.toolbar .grow{flex:1 1}.grid-table{border:1px solid var(--border);border-radius:0 0 var(--r-md) var(--r-md);overflow-x:auto}.action-menu,.grid-table{background:var(--surface)}.action-menu{position:fixed;z-index:9999;border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 8px 24px rgba(0,0,0,.13);min-width:160px;overflow:hidden}.action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--ink);text-align:left}.action-menu button:hover{background:var(--surface-2)}.action-menu button .action-icon{color:var(--ink-4)}.action-menu button.danger,.action-menu button.danger .action-icon{color:var(--err)}.grid-table table{width:100%;border-collapse:collapse;font-size:12.5px}.grid-table thead th{text-align:left;font-weight:500;font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;padding:8px 12px;background:var(--surface-2);border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;position:relative}.grid-table thead th:last-child{border-right:none}.grid-table thead th .sort-arrow{color:var(--ink-4);margin-left:4px}.grid-table thead th.sorted .sort-arrow{color:var(--ink)}.grid-table thead th .resize{position:absolute;right:0;top:0;bottom:0;width:4px;cursor:col-resize}.grid-table thead th .resize:hover{background:var(--border-strong)}.grid-table tbody td{padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.grid-table tbody tr:hover{background:var(--hover);cursor:pointer}.grid-table tbody tr.selected{background:var(--accent-soft)}.grid-table tbody td.mono{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2)}.grid-table tbody td.dim{color:var(--ink-3)}.row-expand{background:color-mix(in oklab,var(--accent),transparent 97%)}.row-expand:hover{background:color-mix(in oklab,var(--accent),transparent 97%)!important;cursor:default}.row-expand-grid{padding:14px 52px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px 24px;gap:12px 24px}.row-expand-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;margin-bottom:3px}.row-expand-value{font-size:12.5px;font-weight:500;display:flex;align-items:center;gap:5px}.row-expand-tags{display:flex;gap:6px;flex-wrap:wrap}.row-expand-tag{display:inline-flex;gap:4px;padding:2px 8px;border-radius:6px;background:var(--surface);border:1px solid var(--border);font-size:11.5px}.row-expand-tag-key{color:var(--ink-4);font-family:var(--font-mono)}.row-expand-tag-sep{color:var(--ink-3)}.row-expand-tag-val{font-family:var(--font-mono);color:var(--ink)}.row-expand-children{border-top:1px solid var(--border);margin-top:4px;padding:12px 52px 16px}.row-expand-child{padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:6px}.row-expand-child:last-child{margin-bottom:0}.row-expand-child-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checkbox{width:14px;height:14px;border:1.5px solid var(--border-strong);border-radius:3px;display:inline-grid;place-items:center;cursor:pointer;background:var(--surface);vertical-align:middle;flex-shrink:0}.checkbox.checked,.checkbox.indeterminate{background:var(--ink);border-color:var(--ink);color:#fff}.battery{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11.5px}.battery .cell{width:22px;height:11px;border:1.2px solid var(--ink-3);border-radius:2px;position:relative;padding:1px}.battery .cell:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:5px;background:var(--ink-3);border-radius:0 1px 1px 0}.battery .fill{height:100%;background:var(--ok);border-radius:1px}.battery .fill.warn{background:var(--warn)}.battery .fill.err{background:var(--err)}.bandwidth{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2)}.bandwidth .up{color:var(--ok)}.bandwidth .down{color:var(--info)}.platform-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px}.platform-chip .os-ico{width:14px;height:14px;display:grid;place-items:center;color:var(--ink-3)}.os-state{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}.os-state.online{background:var(--ok);box-shadow:0 0 0 2px color-mix(in oklab,var(--ok),transparent 80%)}.os-state.offline{background:var(--ink-4)}.os-state.error{background:var(--err);box-shadow:0 0 0 2px color-mix(in oklab,var(--err),transparent 80%)}.bulk-bar{display:flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:var(--r-md);font-size:12.5px;margin-bottom:10px;animation:slideDown .2s}@keyframes slideDown{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.bulk-bar .count{font-family:var(--font-mono);font-weight:600}.bulk-bar .sep{width:1px;height:16px;background:var(--ink-3)}.bulk-bar button{padding:5px 9px;border-radius:4px;font-size:12px;color:var(--bg);font-weight:500}.bulk-bar button:hover{background:hsla(0,0%,100%,.1)}.bulk-bar button.danger{color:oklch(.78 .16 25)}.bulk-bar .spacer{margin-left:auto}.bulk-bar .x{padding:2px 6px;border-radius:4px}:root{--dash-chart-area:oklch(0.48 0.18 270);--dash-chart-spark:oklch(0.62 0.16 145);--dash-donut-online:oklch(0.62 0.16 145);--dash-donut-offline:oklch(0.7 0.02 240);--dash-donut-error:oklch(0.60 0.20 25);--dash-color-1:oklch(0.55 0.17 270);--dash-color-2:oklch(0.55 0.17 320);--dash-color-3:oklch(0.55 0.04 250);--dash-color-4:oklch(0.55 0.16 200)}.dash-grid-6{grid-template-columns:repeat(6,1fr)}.dash-range-wrapper{position:relative}.dash-range-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 4px 12px oklch(0 0 0/.1);z-index:20;min-width:130px;padding:4px}.dash-range-option{display:block;width:100%;text-align:left;padding:6px 12px;border:none;background:none;font-size:12.5px;border-radius:var(--r-sm);cursor:pointer}.dash-range-option:hover{background:var(--hover)}.dash-range-option.active{font-weight:600;color:var(--accent)}.dash-sub-spinner{width:12px;height:12px;display:inline-block;margin-left:8px}.dash-live-chip{font-size:10px;margin-left:8px}.throughput-subtitle{font-size:11px}.throughput-stats{gap:24px;font-size:12px}.throughput-stats .mono{font-weight:600}.deploy-range{justify-content:space-between;font-size:11.5px;font-family:var(--font-mono);color:var(--ink-3)}.sw-state-body{padding:14px 16px}.sw-state-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:12px}.sw-state-row{justify-content:space-between;font-size:12px;padding:4px 0}.sw-state-row span:first-child{display:flex;align-items:center;gap:8px}.sw-state-dot{width:8px;height:8px;border-radius:2px}.sw-state-bar .ok,.sw-state-dot.ok{background:var(--ok)}.sw-state-bar .pending,.sw-state-dot.pending{background:oklch(.74 .16 75)}.sw-state-bar .error,.sw-state-dot.error{background:var(--err)}.sw-state-bar .unknown,.sw-state-dot.unknown{background:var(--ink-4)}.top-installed-subtitle{font-size:10.5px}.top-installed-body{padding:0}.top-installed-row{padding:10px 16px;border-bottom:1px solid var(--border);position:relative}.top-installed-row:last-child{border-bottom:none}.top-installed-bg{position:absolute;left:0;top:0;bottom:0}.top-installed-content{position:relative;display:flex;justify-content:space-between;align-items:center}.top-installed-name{font-size:12.5px;font-weight:500}.top-installed-type{font-size:10.5px;color:var(--ink-4)}.top-installed-version{font-weight:600;font-size:14px}.top-installed-status{font-size:10px}.top-installed-right{text-align:right}.alerts-stream-label{gap:6px;font-size:11.5px}.alerts-pulse-dot{background:var(--err);width:6px;height:6px;animation:pulse 1.6s infinite}.alert-ts{margin-right:8px}.alert-dev{font-size:11px}.alert-body{margin-top:2px}.recent-activity-body{padding:0;max-height:380px;overflow-y:auto}.recent-activity-row{padding:9px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:12px}.recent-activity-row .chip-dot.online{background:var(--ok)}.recent-activity-row .chip-dot.offline{background:var(--ink-4)}.recent-activity-id{color:var(--ink-2)}.recent-activity-group{color:var(--ink-3)}.recent-activity-time{margin-left:auto;font-size:11px}.recent-activity-empty{padding:16px;color:var(--ink-4);font-size:12px}.rb-title{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:10px}.rb-hint{font-size:11px;margin-top:6px}.rb-group{padding-left:14px;margin-bottom:10px;border-left:2px solid var(--border)}.rb-group[data-depth="0"]{border-left:none;padding-left:0}.rb-group[data-depth="1"]{border-left-color:var(--accent)}.rb-group[data-depth="2"]{border-left-color:oklch(.55 .16 270)}.rb-group[data-depth="3"]{border-left-color:oklch(.55 .16 145)}.rb-group[data-depth="4"]{border-left-color:oklch(.55 .16 75)}.rb-group-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.rb-group-toolbar .btn{font-size:11px}.rb-logic-btn{min-width:40px;padding:3px 10px!important;font-size:11px!important;font-weight:600}.rb-remove-group{margin-left:auto;color:var(--err)}.rb-condition{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2,var(--bg));border:1px solid var(--border)}.rb-condition-row{display:flex;gap:8px;align-items:center}.rb-condition input,.rb-condition select,.rb-condition textarea{font-size:12.5px;padding:7px 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--ink)}.rb-condition input:focus,.rb-condition select:focus,.rb-condition textarea:focus{outline:none;border-color:var(--accent)}.rb-field-select{flex:2 1;min-width:0}.rb-operator-select{flex:1.5 1;min-width:0}.rb-value-input{flex:2 1;min-width:0}.rb-remove-btn{padding:4px 7px!important;color:var(--err);flex-shrink:0}.rb-condition-extras{display:flex;gap:8px;align-items:center;padding-top:4px;border-top:1px dashed var(--border)}.rb-message-input{flex:1 1;font-size:11.5px;padding:5px 8px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--ink-2)}.rb-message-input::placeholder{color:var(--ink-4)}.rb-more-btn{font-size:10.5px!important;white-space:nowrap;color:var(--ink-3)}.rb-more-btn:hover{color:var(--ink)}.rb-array-editor{flex:2 1;display:flex;flex-direction:column;gap:6px}.rb-array-item{display:flex;gap:6px;align-items:center}.rb-array-item input{flex:1 1;font-size:12.5px;padding:6px 10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--ink)}.rb-array-item input:focus{outline:none;border-color:var(--accent)}.rb-preview{margin-top:10px;padding:12px 14px;font-family:var(--font-mono);font-size:11px;background:var(--surface-2,var(--bg));border:1px solid var(--border);border-radius:var(--r-md);overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;color:var(--ink-2);line-height:1.5}.rules-toolbar{display:flex;gap:10px;margin-bottom:14px;align-items:center;flex-wrap:wrap}.rules-toolbar .filter-group{display:flex;gap:4px}.rules-toolbar .refresh{margin-left:auto}.rules-toolbar .search{width:260px}.rules-live-chip{font-size:10px;margin-left:8px}.rules-layout{display:grid;grid-gap:16px;gap:16px}.rules-layout.has-detail{grid-template-columns:1fr 380px}.rules-table th.col-idx{width:36px}.rules-table th.col-type{width:90px}.rules-table th.col-target{width:200px}.rules-table th.col-status{width:70px}.rules-table th.col-push{width:60px}.rules-table th.col-actions{width:150px}.rules-table .rules-idx{font-size:12px;text-align:center}.rule-name{font-weight:500;font-size:13px}.rule-desc{font-size:11px}.rule-target-chip{font-size:10.5px;max-width:180px;overflow:hidden;text-overflow:ellipsis;display:block}.rule-row-faded{opacity:.55}.rule-actions{display:flex;gap:4px}.rule-type-chip{font-size:10px}.rules-status-chip{font-size:10.5px}.rules-push-chip{font-size:10px}.rule-detail-body{display:flex;flex-direction:column;gap:14px}.rule-section-label{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-bottom:4px}.rule-assoc-list{display:flex;gap:4px;flex-wrap:wrap}.rule-detail-actions{display:flex;gap:8px}.rule-detail-actions .danger{margin-left:auto}.rule-detail-chip{font-size:11px}.rule-detail-release{font-size:12px}.rule-detail-assoc-chip{font-size:10.5px}.eval-error-banner{padding:16px;border-radius:8px;background:var(--err-soft,#fef2f2);border:1px solid var(--err,#dc2626);color:var(--err,#dc2626);font-size:13px}.eval-table th.col-os{width:100px}.eval-table th.col-group,.eval-table th.col-platform{width:120px}.eval-cell-mono{font-size:11px}.eval-group-chip{font-size:9.5px}.eval-no-group{font-size:11px}.eval-context-cell{padding:8px 12px}.eval-context-loading{font-size:12px}.eval-clickable{cursor:pointer}.rule-form-type-group{display:flex;gap:6px}.rule-form-toggles{display:flex;gap:20px;padding:4px 0}.rule-form-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.rule-form-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.rule-form-tags-input{display:flex;gap:6px}.rule-form-tags-input input{flex:1 1;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.rule-form-tags-input input:focus{outline:none;border-color:var(--accent)}.rule-form-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.rule-form-tag{font-size:11px;display:inline-flex;align-items:center;gap:4px}.rule-form-tag .remove,.ss-tag .remove{background:none;border:none;cursor:pointer;margin-left:2px;color:var(--ink-4);padding:0;display:inline-flex}.rule-form-tag .remove:hover,.ss-tag .remove:hover{color:var(--err)}.eval-loading{text-align:center;padding:32px 0}.eval-loading .spinner{width:20px;height:20px;display:inline-block}.eval-loading .label{margin-top:8px;font-size:12px}.eval-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.eval-stat{padding:12px 14px;background:var(--surface-2);border-radius:var(--r-md)}.eval-stat .stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.eval-stat .stat-val{font-weight:700;font-size:22px}.eval-stat .stat-val.accent{color:var(--accent)}.eval-results{display:flex;flex-direction:column;gap:16px}.eval-more{text-align:center;padding:8px 0;font-size:11px}.delete-msg{font-size:13px;color:var(--ink-2)}.delete-msg strong{color:var(--ink)}.eval-context-row td{background:var(--hover,#f8f8f6)}.eval-context-pre{margin:0;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:11px;line-height:1.5;overflow:auto;max-height:220px;font-family:var(--font-mono,monospace);white-space:pre-wrap;word-break:break-all}.table-empty{text-align:center;padding:32px 0;color:var(--ink-3);font-size:13px}.searchable-select{position:relative;display:flex;flex-direction:column;gap:6px}.ss-label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.ss-input-wrap{position:relative;display:flex;align-items:center}.ss-input{width:100%;padding:8px 30px 8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink)}.ss-input:focus{outline:none;border-color:var(--accent)}.ss-input::placeholder{color:var(--ink-4)}.ss-chevron{position:absolute;right:10px;color:var(--ink-4);pointer-events:none}.ss-dropdown{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 6px 20px rgba(0,0,0,.1);max-height:200px;overflow-y:auto}.ss-option{display:block;width:100%;text-align:left;padding:8px 12px;font-size:12.5px;background:none;border:none;cursor:pointer;color:var(--ink)}.ss-option:hover{background:var(--hover)}.ss-option.ss-custom{color:var(--accent);font-weight:500}.ss-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.ss-tag{font-size:11px}.add-release-fieldset{border:1px solid var(--border);border-radius:var(--r-md);padding:16px;margin:8px 0 0}.add-release-fieldset legend{font-size:12px;font-weight:600;padding:0 6px;color:var(--ink-2)}.add-release-row{display:flex;gap:8px;align-items:flex-start}.add-release-row .searchable-select{flex:1 1}.add-release-row .btn{margin-top:4px;flex-shrink:0}.groups-layout{display:grid;grid-gap:16px;gap:16px}.groups-layout.has-detail{grid-template-columns:340px 1fr}.group-list{display:flex;flex-direction:column;gap:10px}.group-card{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;text-align:left}.group-card.active{background:var(--surface-2)}.group-avatar{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.group-info{flex:1 1;min-width:0}.group-info .name{font-weight:600;font-size:13px;margin-bottom:2px}.group-info .desc{font-size:12px;color:var(--ink-3);margin-bottom:8px}.group-info .tags{display:flex;gap:6px;flex-wrap:wrap}.group-arrow{transform:rotate(-90deg);color:var(--ink-4);margin-top:4px;flex-shrink:0}.group-empty{padding:32px 0;text-align:center;color:var(--ink-3);font-size:13px}.group-count{font-size:11px;padding-left:2px}.group-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:16px}.group-stat{padding:10px 12px;background:var(--surface-2);border-radius:var(--r-md)}.group-stat .stat-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.group-stat .stat-val{font-weight:700;font-size:18px}.group-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:8px}.group-subgroups{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.group-device-empty{color:var(--ink-3);font-size:13px;text-align:center;padding:24px 0}.group-detail-actions{display:flex;gap:8px;margin-top:8px}.group-detail-actions .danger{margin-left:auto}.device-add-row{display:flex;gap:6px}.device-add-row input{flex:1 1}.device-count{font-size:11px;color:var(--ink-3)}.device-list{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.device-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--surface-2);border-radius:var(--r-md);font-size:12px}.device-item .id{flex:1 1}.device-item .remove{background:none;border:none;cursor:pointer;color:var(--err);padding:0}.device-list-empty{text-align:center;padding:16px 0;font-size:12px}.error-banner{padding:8px 12px;margin-bottom:12px;background:color-mix(in oklab,var(--err),transparent 92%);border:1px solid color-mix(in oklab,var(--err),transparent 70%);border-radius:var(--r-md);font-size:12px;color:var(--err);display:flex;align-items:center;gap:8px}.error-banner .msg{flex:1 1}.error-banner .close{background:none;border:none;cursor:pointer;color:var(--err);padding:0}.release-empty{padding:48px 0;text-align:center}.release-empty .msg{color:var(--ink-3);font-size:13px;margin-bottom:16px}.new-release-form{margin-top:16px;max-width:500px;margin-inline:auto;text-align:left}.new-release-form .field-group{display:flex;flex-direction:column;gap:12px}.new-release-form label.field{display:flex;flex-direction:column;gap:4px;font-size:13px}.new-release-form label.field-inline{display:flex;align-items:center;gap:8px;font-size:13px}.new-release-form .field-label{font-weight:500}.new-release-form .actions{display:flex;gap:8px}.release-detail-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.release-detail-header .status-group{display:flex;align-items:center;gap:8px}.release-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.release-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 10px}.release-notes-body{font-size:13px;line-height:1.6;color:var(--ink-2);white-space:pre-wrap}.upload-zone{border:2px dashed var(--border);border-radius:var(--r-md);padding:16px 14px;text-align:center;cursor:pointer;transition:border-color .15s}.upload-zone:hover{border-color:var(--ink-3)}.upload-zone.disabled{opacity:.5;pointer-events:none}.upload-zone.lg{padding:24px 16px}.upload-zone .label{font-size:12.5px;font-weight:500}.upload-zone .hint{font-size:11.5px;color:var(--ink-3);margin-top:4px}.config-section{max-width:560px}.config-section .section-title{font-size:12px;font-weight:600;margin:0 0 12px}.config-section .info-banner{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;margin-bottom:20px}.config-field{margin-bottom:20px}.config-field .field-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.config-field .field-label{font-size:13px;font-weight:500}.config-field .field-desc{font-size:11.5px;color:var(--ink-3);margin-bottom:8px}.config-field .field-error{font-size:11.5px;color:var(--err);margin-top:4px}.config-radio-group{display:flex;flex-direction:column;gap:8px}.config-radio-option{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;transition:background .1s,border-color .1s}.config-radio-option:hover{background:var(--hover)}.config-radio-option.selected{border-color:var(--accent);background:oklch(.97 .01 270)}.config-radio-option .opt-label{font-size:13px;font-weight:500}.config-radio-option .opt-desc{font-size:11.5px;color:var(--ink-3);margin-top:2px}.config-radio-conditional{margin-left:30px;margin-top:8px}.config-switch{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer}.config-switch:hover{background:var(--hover)}.config-switch .switch-text .field-label{margin-bottom:0}.config-switch .switch-text .field-desc{margin-bottom:0;margin-top:2px}.metadata-editor{max-width:560px}.metadata-editor .info{font-size:13px;color:var(--ink-3);margin-bottom:14px}.metadata-kv-row{display:flex;gap:6px;margin-bottom:6px;align-items:center}.metadata-kv-row .kv-key{width:35%}.metadata-kv-row .kv-value{flex:1 1}.metadata-actions{display:flex;gap:8px;margin-top:12px}.notes-editor-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.notes-editor-grid .edit-pane{padding:14px;border-right:1px solid var(--border);background:var(--bg)}.notes-editor-grid .preview-pane{padding:14px}.notes-editor-grid .pane-label{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:8px}.notes-editor-grid textarea{width:100%;min-height:200px;border:none;background:transparent;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--ink-2);resize:vertical;outline:none}.notes-editor-grid .preview-body{font-size:12.5px;line-height:1.6;color:var(--ink-2);white-space:pre-wrap}.config-input{padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-md);font-size:13px;background:var(--bg);width:100%}.config-input:focus{outline:none;border-color:var(--accent)}.config-input.sm{padding:6px 8px;font-size:12px}.status-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--r-md);font-size:12px;background:var(--bg);cursor:pointer}.status-select.full{padding:8px 10px;font-size:13px;width:100%}.type-table-card{margin-bottom:16px}.type-table-card .card-header h3{display:flex;align-items:center;gap:8px}.type-table-sub{font-size:12.5px;color:var(--ink-3);margin-bottom:10px}.type-table-search{width:240px;margin-bottom:10px;margin-left:0;max-width:240px}.type-table th.col-units{width:140px}.type-table th.col-actions{width:48px}.type-table td.type-name{font-weight:600}.type-table .chip-units{font-size:10px}.type-table-empty{text-align:center;padding:18px;color:var(--ink-3)}.menu-backdrop{position:fixed;inset:0;z-index:99}.type-count{font-size:11px}.types-live-chip{font-size:10px;margin-left:8px}.type-form-error{color:var(--err,#dc2626);font-size:12px;margin-top:4px}.modal-backdrop{position:fixed;inset:0;background:rgba(21,20,15,.45);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,12px);box-shadow:var(--shadow-lg);width:90%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;animation:modalIn .2s cubic-bezier(.3,0,0,1);overflow:hidden}@keyframes modalIn{0%{transform:scale(.95) translateY(8px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{margin:0;font-size:16px;font-weight:600}.modal-body{padding:20px 24px;overflow-y:auto;flex:1 1;text-align:left}.modal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px}.drawer-backdrop{position:fixed;inset:0;background:rgba(21,20,15,.4);z-index:100;animation:fadeIn .15s}.drawer{position:fixed;right:0;top:0;bottom:0;width:520px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:101;display:flex;flex-direction:column;animation:slideIn .2s cubic-bezier(.3,0,0,1);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateX(40px);opacity:0}to{transform:translateX(0);opacity:1}}.drawer-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:12px;position:-webkit-sticky;position:sticky;top:0;background:var(--surface);z-index:1}.drawer-header h2{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.drawer-header .header-content{flex:1 1;min-width:0}.drawer-header .id{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);margin-top:4px}.drawer-header .close{margin-left:auto}.drawer-body{padding:18px 20px;flex:1 1}.drawer-section{margin-bottom:24px}.drawer-section h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600;margin:0 0 10px}.drawer-footer{padding:12px 20px;border-top:1px solid var(--border);display:flex;gap:8px;position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface)}.drawer-footer .btn.danger{margin-left:auto}.drawer-header .os-state{margin-top:8px}.drawer-header .row.mt-8{gap:6px;flex-wrap:wrap}.drawer-apps-list{border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.drawer-apps-list .app-row{display:grid;grid-template-columns:1fr auto auto auto;grid-gap:10px;gap:10px;padding:10px 12px;align-items:center;font-size:12.5px}.drawer-apps-list .app-row:not(:last-child){border-bottom:1px solid var(--border)}.drawer-apps-list .app-row .app-name{font-weight:500}.drawer-apps-list .app-row .app-ver{margin-left:6px;font-size:11px}.drawer-apps-list .app-row .app-size{font-size:11px}.drawer-apps-list .app-row .app-date{font-size:10.5px}.drawer-apps-list .app-row .app-state{display:flex;align-items:center;gap:4px}.drawer-msg{padding:16px;text-align:center;font-size:12.5px}.drawer-msg.muted{color:var(--ink-3)}.drawer-msg.err{color:var(--err)}.drawer-error-card{padding:10px 12px;background:color-mix(in oklab,var(--err),transparent 94%);border:1px solid color-mix(in oklab,var(--err),transparent 70%);border-radius:var(--r-md);font-size:12px}.drawer-error-card .error-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.drawer-error-card .error-head .icon{color:var(--err);flex-shrink:0}.drawer-error-card .error-head .label{font-weight:600}.drawer-error-card .error-head .device-id{font-size:10px}.drawer-error-card .error-body{color:var(--ink-2);line-height:1.4;padding-left:19px}.drawer-section h3.err-title{color:var(--err)}.drawer-errors{gap:6px}.drawer-errors,.drawer-meta{display:flex;flex-direction:column}.drawer-meta{gap:1px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border)}.drawer-meta .meta-row{display:flex;flex-direction:column;gap:2px;padding:7px 12px}.drawer-meta .meta-row:not(:last-child){border-bottom:1px solid var(--border)}.drawer-meta .meta-row:nth-child(odd){background:var(--surface)}.drawer-meta .meta-row:nth-child(2n){background:var(--bg)}.drawer-meta .meta-key{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-meta .meta-val{font-size:12px;color:var(--ink);word-break:break-all;line-height:1.4}.dash-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:16px}.dash-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px}.dash-tile .label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.dash-tile .num{font-family:var(--font-mono);font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:6px}.dash-tile.alert .num{color:var(--err)}.dash-tile.warn .num{color:oklch(.55 .16 75)}.dash-tile .delta{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:4px}.dash-tile .bar-mini{margin-top:8px;height:24px}.alerts-feed{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);max-height:380px;overflow-y:auto}.alerts-feed .row{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:auto 1fr auto;grid-gap:10px;gap:10px;font-size:12.5px}.alerts-feed .row .lvl{font-family:var(--font-mono);font-size:10px;padding:2px 5px;border-radius:3px;font-weight:600}.alerts-feed .row .lvl.err{background:var(--err-soft);color:oklch(.4 .16 25)}.alerts-feed .row .lvl.warn{background:var(--warn-soft);color:oklch(.42 .13 60)}.alerts-feed .row .ts{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.alerts-feed .row .body{color:var(--ink-2)}.alerts-feed .row .body .dev{font-family:var(--font-mono);color:var(--ink)}.area-chart{position:relative;height:200px;padding:8px 0}.donut-wrap{display:flex;gap:18px;align-items:center}.donut{position:relative;width:120px;height:120px}.donut svg{transform:rotate(-90deg)}.donut .center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut .center .n{font-family:var(--font-mono);font-size:22px;font-weight:600}.donut .center .l{font-size:10px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.legend{display:flex;flex-direction:column;gap:8px}.legend .item{display:flex;align-items:center;gap:8px;font-size:12.5px}.legend .sw{width:10px;height:10px;border-radius:3px}.legend .item .n{font-family:var(--font-mono);color:var(--ink-3);margin-left:auto}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:var(--r-md);display:flex;align-items:center;gap:10px;font-size:13px;z-index:200;box-shadow:var(--shadow-lg);animation:slideUp .2s}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.notif-panel{position:absolute;top:44px;right:56px;width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:50;animation:fadeIn .15s;overflow:hidden}.notif-panel .head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.notif-panel .head h3{margin:0;font-size:13px;font-weight:600}.notif-panel .row{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:24px 1fr auto;grid-gap:10px;gap:10px;align-items:flex-start;cursor:pointer}.notif-panel .row:hover{background:var(--hover)}.notif-panel .row.unread{background:var(--accent-soft)}.notif-panel .row:hover.unread{background:color-mix(in oklab,var(--accent-soft),var(--hover))}.notif-panel .row .ico{width:22px;height:22px;border-radius:5px;display:grid;place-items:center}.notif-panel .row .ico.ok{background:var(--ok-soft);color:oklch(.38 .12 145)}.notif-panel .row .ico.err{background:var(--err-soft);color:oklch(.4 .16 25)}.notif-panel .row .ico.info{background:var(--info-soft);color:oklch(.38 .13 240)}.notif-panel .row .body{font-size:12.5px}.notif-panel .row .body .title{font-weight:500;color:var(--ink)}.notif-panel .row .body .desc{color:var(--ink-3);margin-top:2px}.notif-panel .row .ts{color:var(--ink-4);white-space:nowrap}.kbd,.notif-panel .row .ts{font-family:var(--font-mono);font-size:10.5px}.kbd{background:var(--surface-2);border:1px solid var(--border);padding:0 5px;border-radius:3px;color:var(--ink-3)}.rule-search-container{position:relative;width:100%}.rule-search-bar{display:flex;align-items:center;gap:8px}.rule-search-bar .search{flex:1 1;position:relative}.rule-search-bar input{font-family:var(--font-mono,monospace);font-size:12px}.rule-search-error{font-size:11px;color:var(--err);margin-top:4px;padding-left:4px}.rule-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md,8px);box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:1000;overflow:hidden}.rule-dropdown-header{padding:6px 12px;background:var(--surface-2,#f8f8f8);border-bottom:1px solid var(--border);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.rule-dropdown-list{max-height:200px;overflow-y:auto}.rule-dropdown-item{padding:7px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:12.5px;background:transparent}.rule-dropdown-item.highlighted{background:var(--surface-2,#f0f0f0)}.rule-dropdown-item-label{font-family:var(--font-mono);font-weight:500}.rule-dropdown-item-secondary{font-size:11px;color:var(--ink-4)}.rule-dropdown-footer{padding:5px 12px;border-top:1px solid var(--border);background:var(--surface-2,#f8f8f8);display:flex;justify-content:space-between;font-size:10px;color:var(--ink-4)}.cmd-palette-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:start center;padding-top:15vh}.cmd-palette{width:600px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 24px 64px rgba(0,0,0,.24);overflow:hidden}.cmd-palette-search{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.cmd-palette-search .search-icon{color:var(--ink-3);flex-shrink:0}.cmd-palette-search input{flex:1 1;border:none;background:none;outline:none;font-size:14px;color:var(--ink);font-family:var(--font-sans)}.cmd-palette-search .clear-btn{background:none;border:none;cursor:pointer;color:var(--ink-4);padding:0}.cmd-palette-search kbd{font-size:11px;padding:2px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--ink-4);flex-shrink:0}.cmd-palette-results{max-height:420px;overflow-y:auto}.cmd-palette-empty{padding:32px 16px;text-align:center;color:var(--ink-4);font-size:13px}.cmd-palette-group-label{padding:10px 16px 4px;font-size:10.5px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.07em}.cmd-palette-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 16px;background:none;border:none;cursor:pointer;text-align:left}.cmd-palette-item.active{background:var(--surface-2)}.cmd-palette-item .item-icon{width:22px;height:22px;display:grid;place-items:center;color:var(--ink-3);flex-shrink:0}.cmd-palette-item.active .item-icon{color:var(--ink)}.cmd-palette-item .item-text{flex:1 1}.cmd-palette-item .item-label{display:block;font-size:13px;font-weight:500;color:var(--ink)}.cmd-palette-item .item-desc{display:block;font-size:11.5px;color:var(--ink-3);margin-top:1px}.cmd-palette-item .item-arrow{color:var(--ink-4);transform:rotate(-90deg);flex-shrink:0}.cmd-palette-item .app-icon{width:20px;height:20px;border-radius:5px;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:700;flex-shrink:0}.cmd-palette-footer{display:flex;gap:16px;padding:8px 16px;border-top:1px solid var(--border);font-size:11px;color:var(--ink-4)}.cmd-palette-footer kbd{margin-right:4px;padding:1px 5px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px}.cmd-palette-footer .count{margin-left:auto}.cmd-palette-emoji{font-size:12px}.row,.spread{display:flex;align-items:center;gap:8px}.spread{justify-content:space-between}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-12{margin-bottom:12px}.muted{color:var(--ink-3)}.dim{color:var(--ink-4)}.center{text-align:center}.divider{height:1px;background:var(--border);margin:16px 0}[dir=rtl] .topbar{padding:0 0 0 20px}[dir=rtl] .logo-cell,[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--border)}[dir=rtl] .card-header .right,[dir=rtl] .page-header .right,[dir=rtl] .topbar-actions{margin-left:0;margin-right:auto}[dir=rtl] .grid-table thead th{border-right:none;border-left:1px solid var(--border)}[dir=rtl] .grid-table thead th:last-child{border-left:none}[dir=rtl] .icon-btn .dot{right:auto;left:8px}[dir=rtl] .app-card .fav{right:auto;left:10px}[dir=rtl] .app-card .ribbon{left:auto;right:14px;border-radius:0 0 4px 4px}[dir=rtl] .release-item .dl{margin-left:0;margin-right:auto}