@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"tnum" 1,"ss01" 1,"cv01" 1}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--lh-tight:1.2;--lh-snug:1.4;--lh-base:1.55;--lh-loose:1.75;--r-xs:2px;--r-sm:4px;--r-md:6px;--r-lg:8px;--r-xl:10px;--r-2xl:14px;--r-3xl:18px;--r-pill:9999px;--bg:#0e0e0e;--bg-raised:#121212;--bg-overlay:#0a0a0a;--canvas:#0e0e0e;--surface-0:#141414;--surface-1:#1a1a1a;--surface-2:#1f1f1f;--surface-3:#252525;--surface-4:#2c2c2c;--surface-5:#333;--ink-1:#f0ede4;--ink-2:#ccc9bc;--ink-3:#9a9790;--ink-4:#6e6b63;--ink-5:#4e4b44;--ink-6:#2e2c28;--line-1:rgba(255,252,240,.08);--line-2:rgba(255,252,240,.12);--line-3:rgba(255,252,240,.18);--line-4:rgba(255,252,240,.28);--accent:#d4714a;--accent-light:#e08560;--accent-dark:#b85a34;--accent-dim:rgba(212,113,74,.08);--accent-muted:rgba(212,113,74,.05);--accent-border:rgba(212,113,74,.2);--ok-bg:rgba(52,211,153,.1);--ok-text:#6ee7b7;--ok-dot:#34d399;--ok-line:rgba(52,211,153,.25);--warn-bg:rgba(251,191,36,.1);--warn-text:#fcd34d;--warn-dot:#f59e0b;--warn-line:rgba(251,191,36,.25);--bad-bg:hsla(0,91%,71%,.1);--bad-text:#fca5a5;--bad-dot:#f87171;--bad-line:hsla(0,91%,71%,.25);--info-bg:rgba(96,165,250,.1);--info-text:#93c5fd;--info-dot:#60a5fa;--info-line:rgba(96,165,250,.25);--feat-bg-orange:rgba(212,113,74,.08);--feat-bg-green:rgba(52,211,153,.08);--feat-bg-blue:rgba(96,165,250,.08);--feat-bg-purple:rgba(167,139,250,.08);--feat-bg-amber:rgba(251,191,36,.08);--sage:#34d399;--sage-dim:rgba(52,211,153,.08);--blue:#60a5fa;--blue-dim:rgba(96,165,250,.08);--shadow-xs:0 1px 2px rgba(0,0,0,.6);--shadow-sm:0 1px 3px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.6);--shadow-md:0 2px 8px rgba(0,0,0,.8),0 4px 16px rgba(0,0,0,.5);--shadow-lg:0 4px 16px rgba(0,0,0,.9),0 16px 48px rgba(0,0,0,.6);--shadow-xl:0 8px 32px #000,0 32px 96px rgba(0,0,0,.7);--shadow-accent:0 4px 24px rgba(212,113,74,.15);--font-sans:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono","JetBrains Mono",monospace;--m-quick:90ms;--m-fast:140ms;--m-base:200ms;--m-slow:320ms;--m-slower:480ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-emph:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--glow-accent-sm:0 0 0 1px rgba(212,113,74,.2),0 0 12px rgba(212,113,74,.18);--glow-accent-md:0 0 0 1px rgba(212,113,74,.28),0 0 24px rgba(212,113,74,.24);--glow-accent-lg:0 0 0 1px rgba(212,113,74,.35),0 0 48px rgba(212,113,74,.3);--glow-ok:0 0 0 1px rgba(52,211,153,.25),0 0 18px rgba(52,211,153,.22);--glow-bad:0 0 0 1px hsla(0,91%,71%,.3),0 0 18px hsla(0,91%,71%,.25);--glow-info:0 0 0 1px rgba(96,165,250,.25),0 0 18px rgba(96,165,250,.22)}[data-theme=dark-v2]{--bg:#0a0a0a;--bg-raised:#0f0f0f;--bg-overlay:#050505;--canvas:#0a0a0a;--surface-0:#111;--surface-1:#161616;--surface-2:#1c1c1c;--surface-3:#222;--surface-4:#292929;--surface-5:#303030;--ink-1:#f5f1e6;--ink-2:#d2cebf;--ink-3:#a09c92;--ink-4:#74716a;--ink-5:#504d47;--ink-6:#2f2d29;--line-1:rgba(255,252,240,.07);--line-2:rgba(255,252,240,.11);--line-3:rgba(255,252,240,.17);--shadow-xs:0 1px 2px rgba(0,0,0,.7);--shadow-sm:0 1px 3px rgba(0,0,0,.8),0 1px 2px rgba(0,0,0,.7);--shadow-md:0 2px 8px rgba(0,0,0,.9),0 4px 16px rgba(0,0,0,.6);--shadow-lg:0 4px 16px #000,0 16px 48px rgba(0,0,0,.7);--shadow-xl:0 8px 32px #000,0 32px 96px rgba(0,0,0,.8)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{background:var(--bg);color:var(--ink-1);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-base);letter-spacing:-.006em}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--line-3)}::-moz-selection{background:rgba(212,113,74,.2);color:var(--ink-1)}::selection{background:rgba(212,113,74,.2);color:var(--ink-1)}:focus-visible{outline:1.5px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}input,select,textarea{font-family:var(--font-sans);background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-md);color:var(--ink-1);font-size:var(--text-sm);line-height:1;outline:none;transition:border-color .12s,box-shadow .12s;letter-spacing:-.005em}input:focus,select:focus,textarea:focus{border-color:var(--line-3);box-shadow:0 0 0 3px rgba(212,113,74,.06)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--ink-5);letter-spacing:0}input::placeholder,textarea::placeholder{color:var(--ink-5);letter-spacing:0}input.mono,textarea.mono{font-family:var(--font-mono);letter-spacing:.01em}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:22px;background-image:url("data:image/svg+xml,%3Csvg width='10' height='5' viewBox='0 0 10 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 3 4-3' stroke='%23555248' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}button{font-family:var(--font-sans)}.skeleton{background:linear-gradient(90deg,var(--surface-1) 0,var(--surface-3) 50%,var(--surface-1) 100%);background-size:600px 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--r-md)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(212,113,74,0)}50%{box-shadow:0 0 12px 2px rgba(212,113,74,.12)}}@keyframes toastIn{0%{opacity:0;transform:translateX(16px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0) scale(1)}to{opacity:0;transform:translateX(16px) scale(.96)}}@keyframes toastBar{0%{width:100%}to{width:0}}@keyframes countUp{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ripple{to{transform:scale(2.5);opacity:0}}.fade-up{animation:fadeUp .2s cubic-bezier(.16,1,.3,1) both}.fade-in{animation:fadeIn .15s ease-out both}.scale-in{animation:scaleIn .18s cubic-bezier(.34,1.3,.64,1) both}.slide-in{animation:slideIn .18s cubic-bezier(.16,1,.3,1) both}.app-shell{overflow:hidden;background:var(--bg);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased}.app-shell,.app-sidebar{display:flex;height:100vh}.app-sidebar{width:220px;flex-shrink:0;flex-direction:column;background:var(--surface-0);border-right:1px solid var(--line-1);position:sticky;top:0}.nav-item{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;margin:1px 6px;border-radius:var(--r-md);font-size:var(--text-sm);font-weight:400;color:var(--ink-4);cursor:pointer;text-decoration:none;transition:background .08s,color .08s;border:none;background:none;width:calc(100% - 12px);text-align:left;font-family:var(--font-sans);letter-spacing:-.008em}.nav-item:hover{background:var(--surface-2);color:var(--ink-2)}.nav-item.active{background:rgba(212,113,74,.07);color:var(--ink-1);font-weight:500}.nav-item.active .nav-dot{opacity:1}.nav-item.accent{color:var(--accent)}.nav-item.accent:hover{background:var(--accent-dim)}.nav-section{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-5);padding:14px 14px 3px;font-family:var(--font-sans)}.nav-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);flex-shrink:0;opacity:0;margin-left:auto;transition:opacity .1s}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column;height:100vh;background:var(--bg)}.app-topbar{height:44px;display:flex;align-items:center;padding:0 20px;flex-shrink:0;gap:8px}.app-topbar,.page-header{border-bottom:1px solid var(--line-1);background:var(--surface-0)}.page-header{padding:20px 24px 16px;position:sticky;top:0;z-index:10}.page-label{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-5);margin-bottom:4px}.page-label,.page-title{font-weight:600;font-family:var(--font-sans)}.page-title{font-size:var(--text-lg);color:var(--ink-1);letter-spacing:-.03em;line-height:1.2}.page-desc{font-size:var(--text-sm);color:var(--ink-4);margin-top:4px;line-height:var(--lh-snug)}.card{background:var(--surface-0);border:1px solid var(--line-1);border-radius:var(--r-xl);overflow:hidden;transition:border-color .1s,box-shadow .1s}.card:hover{border-color:var(--line-2)}.card-header{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--line-1);background:var(--surface-1);flex-shrink:0}.card-title{font-weight:600;color:var(--ink-2);letter-spacing:-.01em}.btn,.card-title{font-size:var(--text-sm)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:var(--r-md);font-family:var(--font-sans);font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .1s;white-space:nowrap;letter-spacing:-.008em}.btn-primary{background:var(--ink-1);color:var(--bg);border-color:transparent}.btn-primary:hover{background:var(--ink-2)}.btn-accent{background:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.btn-accent:hover{background:var(--accent-light)}.btn-ghost{background:transparent;color:var(--ink-3);border-color:var(--line-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink-2);border-color:var(--line-3)}.btn-danger{background:var(--bad-bg);color:var(--bad-text);border-color:var(--bad-line)}.btn-danger:hover{background:hsla(0,91%,71%,.12)}.btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.stat-card{background:var(--surface-0);border:1px solid var(--line-1);border-radius:var(--r-xl);padding:14px 16px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(90deg,var(--accent-color,var(--accent)) 0,transparent 70%);opacity:.6}.stat-value{font-size:22px;font-weight:700;color:var(--ink-1);letter-spacing:-.05em;line-height:1;margin-bottom:4px;font-family:var(--font-mono)}.stat-label{font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.tab-bar{display:flex;border-bottom:1px solid var(--line-1);padding:0 20px;overflow-x:auto;background:var(--surface-0);gap:0}.tab-bar::-webkit-scrollbar{display:none}.tab{height:38px;padding:0 12px;font-size:var(--text-sm);font-weight:400;color:var(--ink-4);background:none;border:none;border-bottom:1.5px solid transparent;cursor:pointer;white-space:nowrap;margin-bottom:-1px;transition:color .1s,border-color .1s;font-family:var(--font-sans);letter-spacing:-.008em}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--ink-1);font-weight:500;border-bottom-color:var(--accent)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--r-pill);font-size:10px;font-weight:600;letter-spacing:.01em;line-height:1;font-family:var(--font-sans)}.badge-ok{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-line)}.badge-warn{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-line)}.badge-bad{background:var(--bad-bg);color:var(--bad-text);border:1px solid var(--bad-line)}.badge-info{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-line)}.badge-accent{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border)}.badge-muted{background:var(--surface-3);color:var(--ink-4);border:1px solid var(--line-2)}.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot-ok{background:var(--ok-dot);animation:glowPulse 3s ease-in-out infinite}.dot-warn{background:var(--warn-dot);animation:pulse 1.5s ease-in-out infinite}.dot-bad{background:var(--bad-dot)}.dot-info{background:var(--info-dot);animation:pulse 1.2s ease-in-out infinite}.breadcrumb{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--ink-4);font-family:var(--font-sans)}.breadcrumb a{color:var(--ink-4);text-decoration:none;transition:color .1s}.breadcrumb a:hover{color:var(--ink-2)}.breadcrumb-sep{color:var(--ink-6);font-size:9px}table{border-collapse:collapse;width:100%}th{text-align:left;padding:7px 14px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-4);background:var(--surface-1)}td,th{border-bottom:1px solid var(--line-1);font-family:var(--font-sans)}td{padding:8px 14px;font-size:var(--text-sm);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:rgba(255,252,240,.015)}code,pre{font-size:var(--text-xs)}.code-block,code,pre{font-family:var(--font-mono)}.code-block{background:#0c0c0c;border:1px solid var(--line-1);border-radius:var(--r-md);padding:14px 18px;font-size:11px;line-height:1.75;overflow-x:auto;color:#d4d0c8}.divider{height:1px;background:var(--line-1);margin:var(--sp-4) 0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;color:var(--ink-4)}.empty-icon{font-size:24px;margin-bottom:14px;opacity:.6}.empty-title{font-size:var(--text-md);font-weight:600;color:var(--ink-3);margin-bottom:6px;letter-spacing:-.02em}.empty-desc{font-size:var(--text-sm);line-height:1.65;max-width:320px}.empty-desc,kbd{color:var(--ink-4)}kbd{display:inline-flex;align-items:center;padding:1px 5px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--line-2);font-size:10px;font-family:var(--font-mono);line-height:1.4}.loading-ring{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--line-2);border-top-color:var(--accent);animation:spin .7s linear infinite;flex-shrink:0}.progress{height:3px;background:var(--line-1);overflow:hidden}.progress,.progress-bar{border-radius:var(--r-pill)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent));transition:width .5s cubic-bezier(.16,1,.3,1)}.progress-bar.ok{background:linear-gradient(90deg,#059669,#34d399)}.progress-bar.bad{background:linear-gradient(90deg,#dc2626,#f87171)}.log-cmd{color:#93c5fd}.log-success{color:#6ee7b7}.log-warn{color:#fcd34d}.log-error{color:#fca5a5}.log-info{color:#8a877a}.noise:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");background-size:200px;pointer-events:none;z-index:0;border-radius:inherit}.nav-count{margin-left:auto;font-size:9px;font-weight:600;padding:1px 5px;border-radius:var(--r-pill);background:var(--surface-4);color:var(--ink-4);font-family:var(--font-mono);letter-spacing:0;min-width:16px;text-align:center;line-height:1.6}.timeline{position:relative;padding-left:32px}.timeline:before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:1px;background:var(--line-2)}.timeline-item{position:relative;margin-bottom:var(--sp-3)}.timeline-dot{position:absolute;left:-25px;top:4px;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--bg);box-shadow:0 0 0 1px var(--line-2);background:var(--surface-4)}.lift{transition:transform .15s,box-shadow .15s}.lift:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mono{font-family:var(--font-mono);font-size:.9em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-zone{border:.5px solid var(--bad-line);border-radius:var(--r-xl);overflow:hidden}.danger-zone-header{padding:8px 16px;background:hsla(0,91%,71%,.04);border-bottom:.5px solid var(--bad-line);font-size:var(--text-xs);font-weight:600;color:var(--bad-text);text-transform:uppercase;letter-spacing:.1em}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface-5);border:.5px solid var(--line-2);color:var(--ink-2);font-size:11px;padding:4px 8px;border-radius:var(--r-md);white-space:nowrap;box-shadow:var(--shadow-md);z-index:100;pointer-events:none;animation:fadeIn .1s ease-out}