:root{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 26px;--text-3xl: 34px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--z-sidebar: 20;--z-overlay: 40;--z-modal: 50;--z-toast: 60;--sidebar-width: 236px;--sidebar-width-collapsed: 64px;--titlebar-height: 52px}:root,[data-theme=dark]{color-scheme:dark;--bg-base: #0b0d10;--bg-sunken: #07080a;--bg-surface: #14171c;--bg-raised: #1b1f26;--bg-overlay: #232832;--bg-hover: rgba(255, 255, 255, .05);--bg-active: rgba(255, 255, 255, .09);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--text-primary: #e9edf2;--text-secondary: #9aa4b2;--text-tertiary: #6b7482;--text-inverse: #0b0d10;--accent: #4c8dff;--accent-hover: #639cff;--accent-subtle: rgba(76, 141, 255, .14);--accent-text: #8ab4ff;--success: #3ecf8e;--success-subtle: rgba(62, 207, 142, .13);--warning: #f5a524;--warning-subtle: rgba(245, 165, 36, .13);--danger: #f65a5a;--danger-subtle: rgba(246, 90, 90, .13);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--terminal-bg: #06070a;--terminal-text: #cdd6e3;--terminal-command: #6ba3ff;--terminal-stderr: #f07070;--terminal-info: #7d8798;--terminal-success: #4ade9e}[data-theme=light]{color-scheme:light;--bg-base: #f5f6f8;--bg-sunken: #ebedf0;--bg-surface: #ffffff;--bg-raised: #ffffff;--bg-overlay: #f0f2f5;--bg-hover: rgba(0, 0, 0, .04);--bg-active: rgba(0, 0, 0, .07);--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .16);--text-primary: #14171c;--text-secondary: #5c6472;--text-tertiary: #8b939f;--text-inverse: #ffffff;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-subtle: rgba(37, 99, 235, .09);--accent-text: #1d4ed8;--success: #0f9d58;--success-subtle: rgba(15, 157, 88, .1);--warning: #c77700;--warning-subtle: rgba(199, 119, 0, .1);--danger: #d93b3b;--danger-subtle: rgba(217, 59, 59, .09);--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 4px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 40px rgba(16, 24, 40, .12);--terminal-bg: #fbfcfd;--terminal-text: #1f2937;--terminal-command: #2563eb;--terminal-stderr: #d93b3b;--terminal-info: #8b939f;--terminal-success: #0f9d58}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow:hidden}h1,h2,h3,h4,p,figure{margin:0}h1{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;line-height:var(--leading-tight)}h2{font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;line-height:var(--leading-tight)}h3{font-size:var(--text-lg);font-weight:600;line-height:var(--leading-tight)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}button:disabled{cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}code,kbd,pre{font-family:var(--font-mono)}::selection{background:var(--accent-subtle);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary);background-clip:content-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);border:1px solid transparent}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.4}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--bg-raised);border-color:var(--border-default);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--bg-overlay);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn--danger{background:var(--danger-subtle);color:var(--danger);border-color:transparent}.btn--danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn--sm{height:26px;padding:0 var(--space-2);font-size:var(--text-sm)}.btn--lg{height:40px;padding:0 var(--space-5);font-size:var(--text-md)}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field__label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.field__hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-normal)}.input,.select{height:32px;padding:0 var(--space-3);background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out);width:100%}.input:hover:not(:disabled),.select:hover:not(:disabled){border-color:var(--border-strong)}.input:focus,.select:focus{border-color:var(--accent);outline:none;background:var(--bg-base)}.select--compact{width:auto;height:28px;font-size:var(--text-sm)}.input::placeholder{color:var(--text-tertiary)}.input--mono{font-family:var(--font-mono);font-size:var(--text-sm)}textarea.input{height:auto;min-height:72px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:var(--leading-normal)}.checkbox{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;user-select:none}.checkbox input{flex-shrink:0;width:15px;height:15px;margin:2px 0 0;accent-color:var(--accent);cursor:pointer}.checkbox__text{font-size:var(--text-base);line-height:var(--leading-normal)}.switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0;width:38px;height:22px;border-radius:var(--radius-full);background:var(--border-strong);transition:background var(--duration-normal) var(--ease-out);cursor:pointer}.switch[data-on=true]{background:var(--accent)}.switch:after{content:"";position:absolute;left:2px;width:18px;height:18px;border-radius:var(--radius-full);background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--duration-normal) var(--ease-out)}.switch[data-on=true]:after{transform:translate(16px)}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.card--flush{padding:0;overflow:hidden}.card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.card__title{font-size:var(--text-md);font-weight:600}.card__subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:2px}.tag{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:500;white-space:nowrap}.tag--neutral{background:var(--bg-overlay);color:var(--text-secondary)}.tag--accent{background:var(--accent-subtle);color:var(--accent-text)}.tag--success{background:var(--success-subtle);color:var(--success)}.tag--warning{background:var(--warning-subtle);color:var(--warning)}.tag--danger{background:var(--danger-subtle);color:var(--danger)}.risk{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:500}.risk[data-level="0"]{color:var(--text-tertiary)}.risk[data-level="1"]{color:var(--success)}.risk[data-level="2"]{color:var(--warning)}.risk[data-level="3"]{color:var(--danger)}.table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.table th{text-align:left;font-size:var(--text-xs);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--bg-surface);z-index:1}.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr:last-child td{border-bottom:none}.table__mono{font-family:var(--font-mono);font-size:var(--text-sm)}.divider{height:1px;background:var(--border-subtle);margin:var(--space-4) 0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-base)}.spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:var(--radius-full);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:4px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--ease-out)}.kv{display:grid;grid-template-columns:minmax(88px,auto) 1fr;gap:var(--space-2) var(--space-4);font-size:var(--text-base)}.kv__key{color:var(--text-tertiary)}.kv__value{color:var(--text-primary);word-break:break-all}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;height:100vh;overflow:hidden;transition:grid-template-columns var(--duration-normal) var(--ease-out)}.app[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-width-collapsed) 1fr}.sidebar{display:flex;flex-direction:column;background:var(--bg-sunken);border-right:1px solid var(--border-subtle);overflow:hidden}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);height:var(--titlebar-height);padding:0 var(--space-4);flex-shrink:0}.sidebar__logo{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--accent-subtle);color:var(--accent-text)}.sidebar__title{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar__name{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.sidebar__version{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.sidebar__nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-2);overflow-y:auto}.nav-item{display:flex;align-items:center;gap:var(--space-3);height:34px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-base);font-weight:500;text-align:left;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.nav-item:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.nav-item[data-active=true]{background:var(--accent-subtle);color:var(--accent-text)}.nav-item:disabled{opacity:.35}.nav-item__icon{display:flex;align-items:center;justify-content:center;width:16px;flex-shrink:0}.nav-item__text{overflow:hidden;text-overflow:ellipsis}.app[data-sidebar=collapsed] .nav-item__text,.app[data-sidebar=collapsed] .sidebar__title{display:none}.app[data-sidebar=collapsed] .nav-item,.app[data-sidebar=collapsed] .sidebar__brand{justify-content:center;padding:0}.sidebar__footer{flex-shrink:0;padding:var(--space-3);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar__hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-normal)}.app[data-sidebar=collapsed] .sidebar__hint,.app[data-sidebar=collapsed] .brand-badge{display:none}.brand-badge{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-subtle)}.brand-badge__name{font-size:var(--text-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-badge__rom{font-size:var(--text-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-badge__android{font-size:var(--text-xs);color:var(--text-tertiary)}.main{display:grid;grid-template-rows:var(--titlebar-height) 1fr auto;min-width:0;overflow:hidden;background:var(--bg-base)}.titlebar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.titlebar__left{display:flex;align-items:center;gap:var(--space-2);min-width:0}.titlebar__menu{display:none}.titlebar__title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.titlebar__right{display:flex;align-items:center;gap:var(--space-2)}.content{overflow-y:auto;overflow-x:hidden;padding:var(--space-5)}.terminal-panel{display:flex;flex-direction:column;height:168px;border-top:1px solid var(--border-subtle);background:var(--terminal-bg);flex-shrink:0}.terminal-panel[data-collapsed=true]{display:none}.terminal-panel__header{display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.terminal-panel__label{font-size:var(--text-xs);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.terminal-panel__body{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-4)}.term{font-family:var(--font-mono);line-height:1.6}.term-line{white-space:pre-wrap;word-break:break-all}.term-line--command{color:var(--terminal-command);font-weight:500}.term-line--result{color:var(--terminal-text)}.term-line--stderr{color:var(--terminal-stderr)}.term-line--info{color:var(--terminal-info);font-style:italic}.term-empty{padding:var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary);text-align:center}@media(max-width:860px){.app,.app[data-sidebar=collapsed]{grid-template-columns:var(--sidebar-width) 1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-sidebar);width:var(--sidebar-width);transform:translate(-100%);transition:transform var(--duration-normal) var(--ease-out);box-shadow:var(--shadow-lg)}.sidebar[data-open=true]{transform:translate(0)}.app[data-sidebar=collapsed] .nav-item__text,.app[data-sidebar=collapsed] .sidebar__title{display:block}.app[data-sidebar=collapsed] .nav-item{justify-content:flex-start;padding:0 var(--space-3)}.titlebar__menu{display:inline-flex}.content{padding:var(--space-4)}}.stack{display:flex;flex-direction:column;gap:var(--space-4);max-width:1180px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:var(--space-3)}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-base);line-height:var(--leading-normal)}.notice strong{display:block;font-weight:600;margin-bottom:var(--space-1)}.notice p{color:inherit;opacity:.85}.notice code{padding:1px 5px;border-radius:var(--radius-xs);background:#7f7f7f2e;font-size:var(--text-xs)}.notice--danger{background:var(--danger-subtle);border-color:#f65a5a3d;color:var(--danger)}.notice--warning{background:var(--warning-subtle);border-color:#f5a5243d;color:var(--warning)}.notice--info{background:var(--accent-subtle);border-color:#4c8dff38;color:var(--accent-text)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.metric{padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.metric__label{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-1)}.metric__value{font-size:var(--text-xl);font-weight:600;letter-spacing:-.02em;line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.metric__hint{font-size:var(--text-xs);color:var(--text-secondary);margin-top:2px}.tool{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--duration-fast) var(--ease-out)}.tool:hover:not([data-disabled=true]){border-color:var(--border-default)}.tool[data-expanded=true]{border-color:var(--border-strong)}.tool[data-disabled=true]{opacity:.5}.tool__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer}.tool__head:disabled{cursor:not-allowed}.tool__head-main{min-width:0}.tool__title-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:2px}.tool__title{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.tool__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-normal)}.tool__chevron{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-top:2px;color:var(--text-tertiary);transition:transform var(--duration-normal) var(--ease-out)}.tool[data-expanded=true] .tool__chevron{transform:rotate(90deg)}.tool__body{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-top:1px solid var(--border-subtle);padding-top:var(--space-3)}.tool__form{display:flex;flex-direction:column;gap:var(--space-3)}.tool__actions{display:flex;gap:var(--space-2)}.confirm{padding:var(--space-3);background:var(--warning-subtle);border:1px solid rgba(245,165,36,.22);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--space-2)}.confirm__text{font-size:var(--text-sm);color:var(--warning);line-height:var(--leading-normal)}.confirm__input{max-width:180px}.result{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-sunken);border-radius:var(--radius-sm)}.result__summary{font-size:var(--text-base);font-weight:500;color:var(--success);line-height:var(--leading-normal)}.result__summary[data-destructive=true]{color:var(--warning)}.result__raw{margin:0;padding:var(--space-3);background:var(--bg-base);border-radius:var(--radius-xs);font-size:var(--text-xs);line-height:1.6;overflow-x:auto;max-height:320px;overflow-y:auto;color:var(--text-secondary)}.result__toggle{align-self:flex-start}.table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.table-wrap .table th{background:var(--bg-sunken)}.table__note{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);border-top:1px solid var(--border-subtle)}.kv-list{display:flex;flex-direction:column;gap:var(--space-2)}.kv-group{padding:var(--space-2) 0}.kv-group__title{font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1)}.kv--inline{grid-template-columns:minmax(72px,auto) 1fr}.kv__value--mono{font-family:var(--font-mono);font-size:var(--text-sm)}.kv__sub{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:1px}.chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.overview{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-3);align-items:start}.overview__actions{display:flex;align-items:center;gap:var(--space-3)}.cores{display:flex;flex-direction:column;gap:var(--space-2)}.core{display:grid;grid-template-columns:64px 1fr 48px;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.core__id{color:var(--text-tertiary)}.core__bar{height:6px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden}.core__fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-out)}.core__value{text-align:right;color:var(--text-secondary);font-variant-numeric:tabular-nums}.apps__toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:1px solid var(--border-subtle)}.apps__search{flex:1;min-width:140px}.segmented{display:inline-flex;padding:2px;background:var(--bg-sunken);border-radius:var(--radius-sm);gap:2px}.segmented__item{height:26px;padding:0 var(--space-3);border-radius:var(--radius-xs);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.segmented__item:hover{color:var(--text-primary)}.segmented__item[data-active=true]{background:var(--bg-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.apps__batch{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--accent-subtle);border-bottom:1px solid var(--border-subtle)}.apps__batch-count{font-size:var(--text-sm);font-weight:500;color:var(--accent-text);margin-right:var(--space-2)}.apps__list{max-height:calc(100vh - 340px);min-height:240px;overflow-y:auto}.apps__list tr[data-selected=true]{background:var(--accent-subtle)}.apps__row-actions{display:flex;gap:var(--space-1)}.apps__footer{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);border-top:1px solid var(--border-subtle)}.chart{display:flex;flex-direction:column;gap:var(--space-2)}.chart__svg{width:100%;display:block}.chart__footer{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-tertiary)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.stat__label{font-size:var(--text-xs);color:var(--text-tertiary)}.stat__value{font-size:var(--text-md);font-weight:600;font-variant-numeric:tabular-nums}.vendor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.vendor-head__title{margin-bottom:var(--space-1)}.vendor-head__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:640px}.vendor-head__stats{display:flex;gap:var(--space-5);flex-shrink:0}.vendor-head__stat{display:flex;flex-direction:column;align-items:center}.vendor-head__num{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.vendor-head__label{font-size:var(--text-xs);color:var(--text-tertiary)}.vendor-bar,.vendor-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--accent-subtle);border-radius:var(--radius-md)}.vendor-toolbar{background:var(--bg-surface);border:1px solid var(--border-subtle)}.vendor-toolbar__tip{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:auto}.vendor-group__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.vendor-group__title{font-size:var(--text-base);font-weight:600}.vendor-group__count{font-size:var(--text-xs);color:var(--text-tertiary)}.vendor-list{display:flex;flex-direction:column}.vendor-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.vendor-item:last-child{border-bottom:none}.vendor-item:hover{background:var(--bg-hover)}.vendor-item[data-disabled=true],.vendor-item[data-missing=true]{opacity:.5;cursor:default}.vendor-item input{margin-top:2px;width:15px;height:15px;accent-color:var(--accent);flex-shrink:0}.vendor-item__body{min-width:0;flex:1}.vendor-item__title-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.vendor-item__title{font-size:var(--text-base);font-weight:500}.vendor-item__package{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);margin-top:1px;word-break:break-all}.vendor-item__impact{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-1);line-height:var(--leading-normal)}.connect{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:var(--space-8);max-width:1080px;margin:0 auto;padding:var(--space-6) 0 var(--space-10);align-items:start}.connect__hero{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding-top:var(--space-4)}.connect__logo{display:flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:var(--radius-xl);background:var(--accent-subtle);color:var(--accent-text)}.connect__title{font-size:var(--text-2xl);line-height:1.2}.connect__subtitle{font-size:var(--text-md);color:var(--text-secondary);line-height:var(--leading-relaxed)}.connect__button{width:100%;margin-top:var(--space-2)}.connect__privacy{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-relaxed)}.connect__steps{padding:var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.connect__steps-title{font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-4)}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4)}.step{display:flex;gap:var(--space-3)}.step__index{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:var(--radius-full);background:var(--accent-subtle);color:var(--accent-text);font-size:var(--text-xs);font-weight:600}.step__title{font-size:var(--text-base);font-weight:600;margin-bottom:2px}.step__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.connect__tips{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.connect__tips-title{font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3)}.faq{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.faq dt{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.faq dd{margin:2px 0 0;font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed)}.faq code{padding:1px 5px;border-radius:var(--radius-xs);background:var(--bg-sunken);font-size:var(--text-xs)}.terminal-view{display:flex;flex-direction:column;height:calc(100vh - var(--titlebar-height) - 200px);min-height:380px;background:var(--terminal-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.terminal-view__bar{display:flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.terminal-view__path{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.terminal-view__quick{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;flex-shrink:0}.terminal-view__body{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65}.tv-line{white-space:pre-wrap;word-break:break-all;display:flex;align-items:center;gap:var(--space-2)}.tv-line--command{color:var(--terminal-command);margin-top:var(--space-2)}.tv-line--output{color:var(--terminal-text)}.tv-line--error{color:var(--terminal-stderr)}.tv-line--info{color:var(--terminal-info)}.terminal-view__input{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);flex-shrink:0}.terminal-view__prompt{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent-text);flex-shrink:0}.terminal-view__field{flex:1;height:28px;padding:0 var(--space-2);background:transparent;border:none;outline:none;color:var(--terminal-text);font-family:var(--font-mono);font-size:var(--text-sm)}.terminal-view__field::placeholder{color:var(--text-tertiary)}.audit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.audit__item{padding:10px 0;border-bottom:1px solid var(--border-subtle)}.audit__item:last-child{border-bottom:none}.audit__head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.audit__time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.audit__label{font-size:var(--text-sm);color:var(--text-primary)}.audit__module{margin-left:auto;padding:1px 6px;font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-raised);border-radius:4px}.audit__error{margin-top:6px;padding:6px 8px;font-size:var(--text-xs);line-height:1.6;color:var(--danger);background:var(--danger-subtle);border-radius:4px;word-break:break-all}.audit__commands{display:flex;flex-direction:column;gap:3px;margin-top:6px}.audit__commands code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);word-break:break-all}.emergency{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;box-sizing:border-box;background:var(--bg-base)}.emergency__card{width:100%;max-width:520px;padding:32px 28px 24px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px}.emergency__title{margin:0 0 12px;font-size:22px;font-weight:600;color:var(--text-primary);line-height:1.3}.emergency__desc{margin:0 0 24px;font-size:14px;line-height:1.7;color:var(--text-secondary)}.emergency__button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:64px;padding:0 20px;font-family:inherit;font-size:18px;font-weight:600;color:#fff;background:var(--danger);border:none;border-radius:10px;cursor:pointer;touch-action:manipulation}.emergency__button:hover:not(:disabled){filter:brightness(1.08)}.emergency__button:disabled{opacity:.6;cursor:not-allowed}.emergency__button .spinner{border-color:#ffffff59;border-top-color:#fff}.emergency .notice{margin-top:16px}.emergency__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px;color:var(--text-tertiary)}.emergency__hint{font-size:12px}.emergency .link{color:var(--accent-text);text-decoration:none;font-size:13px}.emergency .link:hover{text-decoration:underline}.emergency__manual{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle);font-size:13px;color:var(--text-secondary)}.emergency__manual summary{cursor:pointer;color:var(--text-secondary);font-size:13px}.emergency__manual ol{margin:12px 0 8px;padding-left:20px;line-height:1.9}.emergency__manual code{padding:2px 6px;font-family:var(--font-mono);font-size:12px;color:var(--accent-text);background:var(--bg-raised);border-radius:4px}.emergency__manual p{margin:8px 0 0;font-size:12px;color:var(--text-tertiary)}@media(max-width:1080px){.overview{grid-template-columns:1fr}.connect{grid-template-columns:1fr;gap:var(--space-5)}.connect__hero{padding-top:0}}@media(max-width:720px){.vendor-head{flex-direction:column}.vendor-head__stats{align-self:flex-start}.apps__toolbar{flex-wrap:wrap}.apps__search{flex-basis:100%}}.update-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid rgba(76,141,255,.28);border-radius:var(--radius-md);background:var(--accent-subtle);color:var(--accent-text);font-size:var(--text-base);max-width:1180px}.update-banner__text{line-height:var(--leading-normal)}
