:root{--c-brand-50: #f2f6ff;--c-brand-100: #e6eeff;--c-brand-200: #ccdcff;--c-brand-300: #9ab9fb;--c-brand-400: #6b93f7;--c-brand-500: #3b6ef5;--c-brand-600: #2f5ade;--c-brand-700: #2547b6;--c-brand-soft: rgba(59, 110, 245, .1);--c-bg: #f4f6fa;--c-surface: #ffffff;--c-surface-2: #f8f9fc;--c-surface-3: #f1f3f8;--c-overlay: rgba(16, 24, 40, .45);--c-border: #e4e8f0;--c-border-strong: #d3d9e6;--c-divider: #edf0f6;--c-text: #161a22;--c-text-2: #4c5567;--c-text-3: #6f7889;--c-text-4: #98a0b0;--c-text-inverse: #ffffff;--c-success: #13854a;--c-success-bg: #e8f6ee;--c-success-line: #bfe6d0;--c-warning: #a35b00;--c-warning-bg: #fff3e0;--c-warning-line: #ffd9a8;--c-danger: #c62828;--c-danger-bg: #fdecec;--c-danger-line: #f6c9c9;--c-info: #1f5fd1;--c-info-bg: #eaf1ff;--c-info-line: #c8daff;--c-neutral: #4c5567;--c-neutral-bg: #f1f3f8;--c-neutral-line: #dfe4ee;--c-term-bg: #0b1021;--c-term-bar: #10162e;--c-term-border: #1f2a44;--c-term-text: #d6e4ff;--c-term-dim: #8fa3c8;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-11: 11px;--fs-12: 12px;--fs-13: 13px;--fs-14: 14px;--fs-16: 16px;--fs-20: 20px;--fs-24: 24px;--lh-tight: 1.3;--lh-normal: 1.6;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-pill: 999px;--sh-xs: 0 1px 2px rgba(16, 24, 40, .05);--sh-sm: 0 1px 3px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04);--sh-md: 0 4px 12px rgba(16, 24, 40, .08);--sh-lg: 0 12px 32px rgba(16, 24, 40, .12);--header-h: 60px;--content-max: 1180px;--dur: .16s;--ease: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:var(--fs-14);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--c-brand-600);text-decoration:none}a:hover{color:var(--c-brand-700)}::selection{background:var(--c-brand-200)}:focus-visible{outline:2px solid var(--c-brand-500);outline-offset:2px;border-radius:var(--r-xs)}*{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--c-border-strong);border:3px solid transparent;border-radius:var(--r-pill);background-clip:content-box}.app-header{position:sticky;top:0;z-index:20;height:var(--header-h);background:#ffffffdb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--c-border)}.app-header__inner{display:flex;align-items:center;gap:var(--sp-6);height:100%;max-width:var(--content-max);margin:0 auto;padding:0 var(--sp-6)}.brand{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;color:var(--c-text)}.brand:hover{color:var(--c-text)}.brand__mark{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--c-brand-500),var(--c-brand-700));color:var(--c-text-inverse);font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:0;box-shadow:var(--sh-xs)}.brand__text{display:flex;flex-direction:column;line-height:1.25}.brand__text strong{font-size:var(--fs-14);font-weight:var(--fw-semibold);letter-spacing:.01em}.brand__text small{color:var(--c-text-3);font-size:var(--fs-11)}.app-nav{display:flex;align-items:center;gap:var(--sp-1);flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.nav-link{position:relative;flex:0 0 auto;padding:6px 10px;border-radius:var(--r-sm);color:var(--c-text-2);font-size:var(--fs-13);font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-link:hover{background:var(--c-surface-3);color:var(--c-text)}.nav-link.is-active{background:var(--c-brand-50);color:var(--c-brand-700)}.app-user{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.app-user__meta{display:flex;flex-direction:column;line-height:1.25;margin-right:var(--sp-1);text-align:right}.app-user__meta strong{font-size:var(--fs-13);font-weight:var(--fw-medium)}.app-user__meta small{color:var(--c-text-3);font-size:var(--fs-11)}.avatar{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:var(--r-pill);background:var(--c-brand-100);color:var(--c-brand-700);font-size:var(--fs-12);font-weight:var(--fw-semibold);-webkit-user-select:none;user-select:none}.avatar--sm{width:26px;height:26px;font-size:var(--fs-11)}.avatar--muted{background:var(--c-surface-3);color:var(--c-text-3)}.app-content{max-width:var(--content-max);margin:0 auto;padding:var(--sp-6) var(--sp-6) var(--sp-12)}.app-content--bare{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--sp-6)}.page{animation:page-in var(--dur) var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5)}.page-head__main{min-width:0}.page-back{display:inline-flex;align-items:center;gap:4px;margin-bottom:var(--sp-2);color:var(--c-text-3);font-size:var(--fs-12);font-weight:var(--fw-medium)}.page-back:hover{color:var(--c-brand-600)}.page-title{margin:0;font-size:var(--fs-20);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:-.01em}.page-desc{max-width:76ch;margin:6px 0 0;color:var(--c-text-3);font-size:var(--fs-13);line-height:var(--lh-normal);text-wrap:pretty}.page-head__actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;padding-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.stat{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px var(--sp-4) 13px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-xs)}.stat--brand:before,.stat--success:before,.stat--warning:before,.stat--danger:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--c-border-strong)}.stat--brand:before{background:var(--c-brand-500)}.stat--success:before{background:var(--c-success)}.stat--warning:before{background:var(--c-warning)}.stat--danger:before{background:var(--c-danger)}.stat-label{color:var(--c-text-3);font-size:var(--fs-12);font-weight:var(--fw-medium)}.stat-value{color:var(--c-text);font-size:var(--fs-24);font-weight:var(--fw-semibold);line-height:1.25;font-variant-numeric:tabular-nums}.stat-hint{color:var(--c-text-3);font-size:var(--fs-11)}.panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--sh-xs);overflow:hidden}.panel__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-divider);background:var(--c-surface)}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-divider)}.panel__title{margin:0;color:var(--c-text);font-size:var(--fs-14);font-weight:var(--fw-semibold)}.panel__title-count{margin-left:6px;color:var(--c-text-3);font-size:var(--fs-12);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums}.panel__body{padding:var(--sp-4)}.toolbar-group{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.result-count{color:var(--c-text-3);font-size:var(--fs-12);font-variant-numeric:tabular-nums;white-space:nowrap}.panel__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--c-divider)}.cell-user{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.cell-stack{display:flex;flex-direction:column;min-width:0;line-height:1.35}.cell-strong{color:var(--c-text);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-sub{color:var(--c-text-3);font-size:var(--fs-12);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-time{display:flex;flex-direction:column;line-height:1.35;font-variant-numeric:tabular-nums}.cell-time .cell-strong{font-size:var(--fs-13);font-weight:var(--fw-regular)}.mono{font-family:var(--font-mono);font-size:var(--fs-12);letter-spacing:-.01em}.num{font-variant-numeric:tabular-nums}.row-actions{display:flex;align-items:center;gap:var(--sp-1);flex-wrap:nowrap}.row-actions__sep{width:1px;height:12px;background:var(--c-border)}.pill{display:inline-flex;align-items:center;gap:5px;padding:1px 9px;border:1px solid transparent;border-radius:var(--r-pill);font-size:var(--fs-12);font-weight:var(--fw-medium);line-height:20px;white-space:nowrap}.pill__dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.pill--success{color:var(--c-success);background:var(--c-success-bg);border-color:var(--c-success-line)}.pill--warning{color:var(--c-warning);background:var(--c-warning-bg);border-color:var(--c-warning-line)}.pill--danger{color:var(--c-danger);background:var(--c-danger-bg);border-color:var(--c-danger-line)}.pill--info{color:var(--c-info);background:var(--c-info-bg);border-color:var(--c-info-line)}.pill--brand{color:var(--c-brand-700);background:var(--c-brand-50);border-color:var(--c-brand-200)}.pill--neutral{color:var(--c-neutral);background:var(--c-neutral-bg);border-color:var(--c-neutral-line)}.badge{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-text-2);font-size:var(--fs-12);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.badge--warning{background:var(--c-warning-bg);color:var(--c-warning)}.tag{display:inline-block;padding:0 8px;border:1px solid var(--c-border);border-radius:var(--r-pill);background:var(--c-surface-2);color:var(--c-text-3);font-size:var(--fs-12);line-height:20px;white-space:nowrap}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);text-align:center}.empty__glyph{display:grid;place-items:center;width:44px;height:44px;margin-bottom:var(--sp-1);border-radius:var(--r-pill);background:var(--c-surface-3);color:var(--c-text-4)}.empty__title{color:var(--c-text-2);font-size:var(--fs-13);font-weight:var(--fw-medium)}.empty__hint{max-width:48ch;color:var(--c-text-3);font-size:var(--fs-12);text-wrap:pretty}.empty__actions{margin-top:var(--sp-2)}.kv{display:grid;grid-template-columns:84px 1fr;gap:6px var(--sp-3);margin:0;font-size:var(--fs-13)}.kv dt{color:var(--c-text-3)}.kv dd{margin:0;color:var(--c-text);word-break:break-all}.seg{display:inline-flex;padding:2px;gap:2px;background:var(--c-surface-3);border-radius:var(--r-md)}.seg__btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--c-text-2);font-family:inherit;font-size:var(--fs-12);font-weight:var(--fw-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.seg__btn:hover{color:var(--c-text)}.seg__btn.is-on{background:var(--c-surface);color:var(--c-brand-700);box-shadow:var(--sh-xs)}.seg__num{color:var(--c-text-3);font-variant-numeric:tabular-nums}.seg__btn.is-on .seg__num{color:var(--c-brand-600)}.link-btn{padding:0;border:0;background:none;color:var(--c-brand-600);font-family:inherit;font-size:var(--fs-13);cursor:pointer;transition:color var(--dur) var(--ease)}.link-btn:hover{color:var(--c-brand-700);text-decoration:underline}.code-pill{display:inline-block;padding:0 7px;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);color:var(--c-text-2);font-family:var(--font-mono);font-size:var(--fs-12);line-height:20px}.act{display:inline-flex;align-items:center;gap:7px;min-width:0}.act__dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--c-text-4)}.act__dot--auth{background:var(--c-info)}.act__dot--user{background:var(--c-brand-500)}.act__dot--device{background:var(--c-warning)}.act__dot--skill,.act__dot--version{background:var(--c-success)}.act__dot--admin{background:var(--c-danger)}.act__dot--proposal{background:var(--c-warning)}.act__dot--package{background:var(--c-info)}.chips{display:flex;flex-wrap:nowrap;gap:4px;overflow:hidden}.chip{max-width:240px;padding:0 6px;border:1px solid var(--c-border);border-radius:var(--r-xs);background:var(--c-surface-2);color:var(--c-text-2);font-family:var(--font-mono);font-size:var(--fs-12);line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip--more{flex-shrink:0;color:var(--c-text-3);cursor:default}.modal-hint{margin:0 0 var(--sp-4);color:var(--c-text-3);font-size:var(--fs-13);line-height:1.7}.modal-hint strong{color:var(--c-text);font-weight:var(--fw-medium)}.field-label{display:block;margin-bottom:6px;color:var(--c-text-2);font-size:var(--fs-12);font-weight:var(--fw-medium)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-5)}@media (max-width: 720px){.app-header__inner{gap:var(--sp-3);padding:0 var(--sp-4)}.brand__text,.app-user__meta{display:none}.app-content{padding:var(--sp-4) var(--sp-4) var(--sp-8)}.page-head{flex-direction:column;align-items:stretch}.page-head__actions{padding-top:0}.panel__toolbar,.toolbar-group{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
