:root{--ink:#08080a;--surface:#0d0d11;--elevated:#131319;--raised:#181820;--border:#1f1f28;--border-soft:#16161e;--border-hi:#2c2c38;--text:#f4f4f6;--text-dim:#91919c;--text-faint:#50505a;--text-ghost:#2a2a33;--accent:#00e48e;--accent-soft:#00e48e22;--accent-glow:#00e48e55;--accent-deep:#008857;--violet:#b794f6;--amber:#ffc069;--rose:#ff7a8a;--blue:#6cceff;--code-bg:#0a0a0f;--selection:#00e48e35;--radius-xs:4px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace}html[data-theme=light]{--ink:#f7f8fa;--surface:#fff;--elevated:#f1f2f5;--raised:#e9eaef;--border:#d8dae0;--border-soft:#e5e6ec;--border-hi:#c4c6ce;--text:#18181c;--text-dim:#4d4d57;--text-faint:#80808a;--text-ghost:#d1d3da;--accent:#00b271;--accent-soft:#00b27122;--accent-glow:#00b27155;--accent-deep:#007a4b;--code-bg:#f1f2f5;--selection:#00b27135}@media (prefers-color-scheme:light){html:not([data-theme=dark]){--ink:#f7f8fa;--surface:#fff;--elevated:#f1f2f5;--raised:#e9eaef;--border:#d8dae0;--border-soft:#e5e6ec;--border-hi:#c4c6ce;--text:#18181c;--text-dim:#4d4d57;--text-faint:#80808a;--text-ghost:#d1d3da;--accent:#00b271;--accent-soft:#00b27122;--accent-glow:#00b27155;--accent-deep:#007a4b;--code-bg:#f1f2f5;--selection:#00b27135}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{background:var(--ink);color:var(--text);font-family:var(--font-display);letter-spacing:-.005em;margin:0;line-height:1.5;overflow-x:hidden}::selection{background:var(--selection)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}button{cursor:pointer;color:inherit;background:0;border:0;padding:0;font-family:inherit}h1,h2,h3,h4{letter-spacing:-.025em;margin:0;font-weight:500;line-height:1.1}p{margin:0}code,pre{font-family:var(--font-mono)}input,textarea,select{font-family:inherit}.doc-bar{z-index:60;-webkit-backdrop-filter:blur(24px)saturate(180%);border-bottom:1px solid var(--border-soft);background:#08080ad9;position:sticky;top:0}.doc-bar-inner{align-items:center;gap:18px;max-width:1480px;margin:0 auto;padding:14px 24px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{border:1px solid var(--border-hi);background:var(--ink);object-fit:contain;filter:hue-rotate(-12deg)saturate(1.15);border-radius:5px;width:24px;height:24px;display:block}.brand-name{font-size:15px;font-weight:500}.brand-name .dot{color:var(--accent)}.doc-meta{font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:14px;margin-left:auto;font-size:11px;display:flex}.doc-meta .live:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);vertical-align:1px;border-radius:50%;margin-right:5px;display:inline-block}.doc-meta .live{color:var(--accent)}.frame{border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:var(--surface);max-width:1480px;margin:24px auto;overflow:hidden;box-shadow:inset 0 1px #ffffff0a,0 24px 48px -24px #0009}.frame-bar{background:var(--elevated);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 14px;display:flex}.frame-dots{gap:6px;display:flex}.frame-dots span{background:var(--text-ghost);border-radius:50%;width:11px;height:11px}.frame-dots span:first-child{background:#ff5f57}.frame-dots span:nth-child(2){background:#febc2e}.frame-dots span:nth-child(3){background:#28c840}.frame-url{max-width:420px;font-family:var(--font-mono);color:var(--text-dim);background:var(--ink);text-align:center;border-radius:100px;flex:1;margin:0 auto;padding:5px 14px;font-size:12px}.frame-url .lock{color:var(--accent);margin-right:6px}.frame-bar-right{width:60px;font-family:var(--font-mono);color:var(--text-faint);justify-content:flex-end;gap:6px;font-size:10px;display:flex}.app{grid-template-columns:240px 1fr;min-height:880px;display:grid}@media (width<=1100px){.app{grid-template-columns:220px 1fr}}@media (width<=880px){.app{grid-template-columns:1fr}.sidebar{display:none}}.sidebar{background:var(--ink);border-right:1px solid var(--border);flex-direction:column;gap:1px;padding:14px 12px;display:flex}.org{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding:8px 8px 14px;display:flex}.org .av{background:linear-gradient(135deg, var(--violet), #6c45ce);color:#fff;width:32px;height:32px;font-family:var(--font-mono);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.org-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.org-name{font-size:13.5px;font-weight:500}.org-env{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:4px;font-size:10px;display:inline-flex}.env-pill{font-family:var(--font-mono);background:var(--elevated);color:var(--text-dim);border:1px solid var(--border-hi);letter-spacing:.02em;border-radius:3px;width:max-content;padding:2px 6px;font-size:10px;line-height:1.2;display:inline-block}.env-pill.prod{color:var(--accent);background:#00e48e14;border-color:#00e48e33}.env-pill.dev{color:var(--blue);background:#6cceff14;border-color:#6cceff33}.env-pill.staging{color:var(--amber);background:#ffc06914;border-color:#ffc06933}.org .switch-hint{color:var(--text-faint);font-size:9.5px;font-family:var(--font-mono)}.nav-section{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;padding:12px 10px 4px;font-size:10px}.nav-item{color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13px;text-decoration:none;transition:all .1s;display:flex}.nav-item:hover{color:var(--text);background:#ffffff08}.nav-item.active{color:var(--text);background:var(--elevated);box-shadow:inset 2px 0 0 var(--accent)}.nav-icon{opacity:.65;flex-shrink:0;width:14px;height:14px}.nav-item.active .nav-icon{opacity:1;color:var(--accent)}.nav-item .badge{font-family:var(--font-mono);background:var(--ink);color:var(--text-faint);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:1px;margin-top:auto;padding-top:12px;display:flex}.upgrade-card{background:linear-gradient(#00e48e0f,#0000);border:1px solid #00e48e26;border-radius:8px;margin-top:12px;padding:12px}.upgrade-card .label{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:10px}.upgrade-card .body{color:var(--text);margin-bottom:10px;font-size:12px;line-height:1.4}.upgrade-card .body strong{color:var(--text);font-weight:500}.upgrade-card .body .dim{color:var(--text-dim)}.upgrade-card .cta{background:var(--accent);width:100%;color:var(--ink);font-family:var(--font-display);cursor:pointer;border:0;border-radius:5px;padding:6px;font-size:11.5px;font-weight:600}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:16px;padding:14px 28px;display:flex}.topbar h1{letter-spacing:-.02em;font-size:19px;font-weight:500}.topbar .breadcrumb{font-family:var(--font-mono);color:var(--text-faint);align-items:center;gap:7px;font-size:11px;display:flex}.topbar .breadcrumb .sep{color:var(--text-ghost)}.topbar .breadcrumb .cur{color:var(--text-dim)}.topbar-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.search{background:var(--ink);border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-faint);border-radius:6px;align-items:center;gap:8px;min-width:180px;padding:6px 10px;font-size:12px;display:flex}.search:hover{border-color:var(--border-hi);color:var(--text-dim)}.search .kbd{font-family:var(--font-mono);background:var(--elevated);border:1px solid var(--border-hi);color:var(--text-dim);border-bottom-width:2px;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10.5px}.icon-btn{border:1px solid var(--border);background:var(--ink);width:32px;height:32px;color:var(--text-dim);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{color:var(--text);border-color:var(--border-hi)}.avatar{color:#fff;width:32px;height:32px;font-family:var(--font-mono);background:linear-gradient(135deg,#ff6b00,#b54900);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.page-body{flex:1;padding:28px 32px;overflow-y:auto}@media (width<=760px){.page-body{padding:20px}}.btn{letter-spacing:-.005em;cursor:pointer;color:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--ink);box-shadow:0 0 0 1px var(--accent-deep) inset;font-weight:600}.btn-primary:hover{background:#28eda0}.btn-secondary{background:var(--elevated);color:var(--text);border:1px solid var(--border-hi)}.btn-secondary:hover{background:var(--raised);border-color:#3a3a48}.btn-ghost{color:var(--text-dim);border:1px solid var(--border);background:0 0}.btn-ghost:hover{color:var(--text);border-color:var(--border-hi)}.btn-danger{color:var(--rose);background:#ff7a8a0f;border:1px solid #ff7a8a33}.btn-danger:hover{background:#ff7a8a1a}.btn-sm{padding:5px 10px;font-size:12px}.btn-upgrade{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:5px 10px;font-size:12px;font-weight:600;transition:filter .1s}.btn-upgrade:disabled{opacity:.5;cursor:not-allowed}.btn-upgrade:hover:not(:disabled){filter:brightness(1.1)}.btn-upgrade[data-variant=control]{background:var(--blue);color:var(--ink);box-shadow:inset 0 0 0 1px #6cceff66}.btn-upgrade[data-variant=urgent]{background:var(--accent);color:var(--ink);box-shadow:0 0 0 1px var(--accent-deep) inset}.btn-upgrade[data-variant=value]{background:var(--violet);color:var(--ink);box-shadow:inset 0 0 0 1px #b794f680}.contract-banner{border-radius:8px;align-items:flex-start;gap:14px;margin-bottom:24px;padding:12px 16px;font-size:13px;line-height:1.5;display:flex}.contract-banner .badge{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:600}.contract-banner.locked{background:#00e48e0a;border:1px solid #00e48e2e}.contract-banner.locked .badge{background:var(--accent);color:var(--ink)}.contract-banner.blocked{background:#ff7a8a0a;border:1px solid #ff7a8a33}.contract-banner.blocked .badge{background:var(--rose);color:var(--ink)}.contract-banner.warning{background:#ffc0690a;border:1px solid #ffc06938}.contract-banner.warning .badge{background:var(--amber);color:var(--ink)}.contract-banner .body{color:var(--text-dim);flex:1}.contract-banner .body strong{color:var(--text);font-weight:500}.contract-banner .body code{font-family:var(--font-mono);color:var(--text);background:var(--ink);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11.5px}.contract-banner.blocked a{color:var(--rose);text-underline-offset:3px;-webkit-text-decoration:underline #ff7a8a66;text-decoration:underline #ff7a8a66}.contract-banner.expiry{background:#ff7a8a0f;border:1px solid #ff7a8a47}.contract-banner.expiry .badge{background:var(--rose);color:var(--ink)}.contract-banner.expiry .body{color:var(--text)}.contract-banner.expiry .body strong{color:var(--text);font-weight:600}.contract-banner.expiry a.pay-now-link{color:var(--rose);text-underline-offset:3px;font-weight:500;-webkit-text-decoration:underline #ff7a8a80;text-decoration:underline #ff7a8a80}.contract-banner.expiry a.pay-now-link:hover{-webkit-text-decoration-color:var(--rose);text-decoration-color:var(--rose)}.expiry-badge{font-family:var(--font-mono);color:var(--rose);letter-spacing:.01em;white-space:nowrap;background:#ff7a8a14;border:1px solid #ff7a8a38;border-radius:3px;align-items:center;gap:4px;padding:2px 7px;font-size:10.5px;line-height:1.4;display:inline-flex}.expiry-badge .warn-ico{opacity:.9;font-size:9.5px}.expiry-badge.urgent{color:var(--rose);background:#ff7a8a24;border-color:#ff7a8a73;animation:1.6s ease-in-out infinite expiryPulse}@keyframes expiryPulse{0%,to{box-shadow:0 0 #ff7a8a00}50%{box-shadow:0 0 0 4px #ff7a8a2e}}@media (prefers-reduced-motion:reduce){.expiry-badge.urgent{animation:none}}.contract-line{background:var(--code-bg);border:1px solid var(--border);font-family:var(--font-mono);border-radius:5px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:6px 12px;font-size:11.5px;display:flex}.contract-line .m{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink);border-radius:3px;padding:2px 6px;font-size:10px;font-weight:700}.contract-line .m.get{background:var(--accent)}.contract-line .m.post{background:var(--blue)}.contract-line .m.patch{background:var(--violet)}.contract-line .m.del{background:var(--rose)}.contract-line .m.put{background:var(--amber)}.contract-line .path{color:var(--text)}.contract-line .meta{color:var(--text-faint);margin-left:auto;font-size:10.5px}.contract-line .meta.ok{color:var(--accent)}.contract-line .meta.gap{color:var(--rose)}.ro-banner{background:linear-gradient(90deg,#b794f60f,#0000 80%);border:1px solid #b794f62e;border-radius:8px;align-items:center;gap:14px;margin-bottom:24px;padding:11px 16px;font-size:13px;display:flex}.ro-banner.write{background:linear-gradient(90deg,#ffc0690f,#0000 80%);border-color:#ffc06933}.ro-banner .badge{font-family:var(--font-mono);background:var(--violet);color:var(--ink);letter-spacing:.06em;border-radius:3px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:600}.ro-banner.write .badge{background:var(--amber)}.ro-banner .body{color:var(--text-dim);flex:1;line-height:1.5}.ro-banner .body strong{color:var(--text);font-weight:500}.ro-banner .body em{color:var(--text);font-style:italic}.ro-banner .body code{font-family:var(--font-mono);color:var(--text);background:var(--ink);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11.5px}.ro-banner .ask{font-family:var(--font-mono);background:var(--ink);color:var(--violet);cursor:pointer;border:1px solid #b794f64d;border-radius:5px;flex-shrink:0;padding:5px 10px;font-size:11.5px}.ro-banner .ask:hover{background:#b794f60f}.prompt-pill{color:var(--violet);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:#b794f60d;border:1px solid #b794f633;border-radius:5px;align-items:center;gap:6px;padding:4px 10px;font-size:10.5px;text-decoration:none;transition:all .15s;display:inline-flex}.prompt-pill:hover{background:#b794f61a;border-color:#b794f659}.prompt-pill:before{content:"→";opacity:.7}.prompt-pill .label{color:var(--text)}.prompt-card{border-radius:var(--radius-lg);background:linear-gradient(#b794f60a,#0000);border:1px solid #b794f633;padding:18px 20px;position:relative}.prompt-card .head{font-family:var(--font-mono);color:var(--violet);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:8px;margin-bottom:12px;font-size:10.5px;display:flex}.prompt-card .head:before{content:"✦";color:var(--violet);font-size:11px}.prompt-card .head strong{color:var(--text);text-transform:none;letter-spacing:-.005em;font-size:13px;font-weight:500;font-family:var(--font-display)}.prompt-card .head .right{font-family:var(--font-mono);color:var(--text-faint);text-transform:lowercase;letter-spacing:0;margin-left:auto;font-size:10px}.prompt-card .prompt{font-family:var(--font-display);color:var(--text);background:var(--ink);letter-spacing:-.005em;border:1px dashed #b794f64d;border-radius:8px;margin-bottom:14px;padding:13px 16px;font-size:15px;line-height:1.4;position:relative}.prompt-card .prompt em{color:var(--text);font-style:italic;font-weight:500}.prompt-card .api{font-family:var(--font-mono);color:var(--text-dim);background:var(--code-bg);border:1px solid var(--border);border-radius:5px;align-items:center;gap:8px;margin-bottom:12px;padding:6px 10px;font-size:11px;display:flex}.prompt-card .api .verb{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink);background:var(--blue);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:700}.prompt-card .api .verb.get{background:var(--accent)}.prompt-card .api .verb.del{background:var(--rose)}.prompt-card .api .verb.patch{background:var(--violet)}.prompt-card .api .verb.put{background:var(--amber)}.prompt-card .api .arrow{color:var(--text-faint);margin-left:auto}.prompt-card .actions{gap:8px;display:flex}.prompt-card .cp{background:var(--surface);border:1px solid var(--border-hi);font-family:var(--font-mono);color:var(--text-dim);cursor:pointer;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:11px;transition:all .15s;display:flex}.prompt-card .cp:hover{color:var(--text);border-color:var(--violet);background:#b794f60f}.ask-agent{color:var(--violet);font-family:var(--font-mono);letter-spacing:-.005em;cursor:pointer;background:linear-gradient(#b794f60d,#b794f605);border:1px solid #b794f640;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.ask-agent:hover{background:#b794f614}.ask-agent .kbd{font-family:var(--font-mono);background:var(--ink);color:var(--violet);border:1px solid #b794f633;border-radius:3px;padding:1px 5px;font-size:10px}.scope-pill{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:100px;padding:3px 8px;font-size:10px;font-weight:500}.scope-pill.read{background:var(--ink);color:var(--text-faint);border:1px solid var(--border)}.scope-pill.write{color:var(--amber);background:#ffc0690f;border:1px solid #ffc06933}.scope-pill.agent{color:var(--violet);background:#b794f60f;border:1px solid #b794f640}.stats{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:28px;display:grid}@media (width<=1100px){.stats{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.stats{grid-template-columns:1fr 1fr}}.stat{background:var(--ink);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.stat .k{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:10px}.stat .v{letter-spacing:-.025em;margin-bottom:4px;font-size:24px;font-weight:400;line-height:1}.stat .v .unit{color:var(--text-dim);margin-left:3px;font-size:12px}.stat .d{font-family:var(--font-mono);color:var(--accent);font-size:11px}.stat .d.dim{color:var(--text-faint)}.stat .d.warn{color:var(--amber)}.stat .d.err{color:var(--rose)}.stat svg{width:100%;height:22px;margin-top:6px;display:block}.section-h{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-h h2{letter-spacing:-.015em;font-size:15px;font-weight:500}.section-h .sub{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.table{border:1px solid var(--border);background:var(--ink);border-radius:8px;overflow:hidden}.table-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;font-size:13px;transition:background .1s;display:grid}.table-row:last-child{border-bottom:0}.table-row:hover{background:var(--elevated)}.table-row.head{background:var(--surface);font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:8px 16px;font-size:10.5px}.table-row.head:hover{background:var(--surface)}.res-name{align-items:center;gap:10px;min-width:0;display:flex}.res-name .ico{border-radius:5px;flex-shrink:0;width:22px;height:22px}.ico-pg{background:linear-gradient(135deg,#336791,#1c3956)}.ico-rd{background:linear-gradient(135deg,#dc382d,#7a1f17)}.ico-mg{background:linear-gradient(135deg,#00684a,#003d2c)}.ico-qu{background:linear-gradient(135deg,#5a4fcf,#322a87)}.ico-st{background:linear-gradient(135deg,#f4a261,#b56b2e)}.ico-wh{background:linear-gradient(135deg,#6cceff,#1a6a9a)}.ico-dp{background:linear-gradient(135deg, var(--accent), #006641)}.res-name .info{flex-direction:column;gap:1px;min-width:0;display:flex}.res-name .n{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.res-name .id{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;font-size:10.5px}.res-tier{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border-hi);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;width:max-content;padding:2px 7px;font-size:10.5px}.res-tier.tier-anonymous{color:var(--text-faint);border-style:dashed}.res-tier.tier-free{color:var(--text-dim)}.usage{align-items:center;gap:8px;display:flex}.usage .bar{background:var(--surface);border-radius:100px;flex:1;height:4px;overflow:hidden}.usage .bar .fill{background:var(--accent);border-radius:100px;height:100%;display:block}.usage .bar .fill.warn{background:var(--amber)}.usage .bar .fill.danger{background:var(--rose)}.usage .num{font-family:var(--font-mono);color:var(--text-dim);text-align:right;min-width:90px;font-size:11px}.res-action{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:flex}.res-action:hover{background:var(--border);color:var(--text)}.status-pill{font-family:var(--font-mono);border-radius:100px;align-items:center;gap:6px;width:max-content;padding:2px 8px;font-size:11px;display:inline-flex}.status-pill:before{content:"";border-radius:50%;width:6px;height:6px}.status-pill.healthy{color:var(--accent);background:#00e48e14;border:1px solid #00e48e33}.status-pill.healthy:before{background:var(--accent);box-shadow:0 0 6px var(--accent)}.status-pill.building{color:var(--blue);background:#6cceff14;border:1px solid #6cceff33}.status-pill.building:before{background:var(--blue);animation:1.4s infinite pulse}.status-pill.failed{color:var(--rose);background:#ff7a8a14;border:1px solid #ff7a8a33}.status-pill.failed:before{background:var(--rose)}.status-pill.stopped{background:var(--ink);color:var(--text-faint);border:1px solid var(--border)}.status-pill.stopped:before{background:var(--text-faint)}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;display:flex}.chip{background:var(--ink);border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:-.005em;cursor:pointer;border-radius:100px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--border-hi)}.chip.on{background:var(--accent-soft);color:var(--accent);border-color:#00e48e40}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:24px;display:flex;overflow-x:auto}.tab{color:var(--text-dim);white-space:nowrap;letter-spacing:-.005em;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px;transition:color .15s}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.tab .tag{font-family:var(--font-mono);background:var(--ink);color:var(--text-faint);border-radius:3px;margin-left:6px;padding:1px 5px;font-size:10px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--ink);padding:18px 20px}.card-h{letter-spacing:-.01em;align-items:center;gap:8px;margin-bottom:14px;font-size:13px;font-weight:500;display:flex}.card-h .right{font-family:var(--font-mono);color:var(--text-faint);margin-left:auto;font-size:11px}.kv{border-bottom:1px dashed var(--border);grid-template-columns:140px 1fr;align-items:center;gap:14px;padding:7px 0;font-size:13px;display:grid}.kv:last-child{border-bottom:0}.kv .k{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.kv .v{color:var(--text);font-family:var(--font-mono);font-size:12px}.kv .v.plain{font-family:var(--font-display);font-size:13px}.kv .v.dim{color:var(--text-dim)}.conn{background:var(--surface);border:1px solid var(--border-hi);font-family:var(--font-mono);color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex;overflow:hidden}.conn .url{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.conn .mask{color:var(--text-faint)}.sparkline{width:100%;height:28px;display:block}.build-frame{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;grid-template-columns:1fr 280px;gap:0;display:grid;overflow:hidden}@media (width<=1100px){.build-frame{grid-template-columns:1fr}}.build-main{flex-direction:column;min-width:0;display:flex}.phases{border-bottom:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:6px;padding:12px 18px;font-size:11px;display:flex}.phase{border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.phase.done{color:var(--accent)}.phase.done:before{content:"✓";font-weight:700}.phase.cur{color:var(--text);background:var(--elevated);box-shadow:inset 0 0 0 1px var(--blue)}.phase.cur:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px;animation:1.4s infinite pulse}.phase.next{color:var(--text-faint)}.phase.next:before{content:"○";color:var(--text-faint);font-size:10px}.phase-sep{color:var(--text-ghost)}.logs{font-family:var(--font-mono);background:var(--code-bg);flex:1;max-height:480px;padding:16px 18px;font-size:12px;line-height:1.7;position:relative;overflow-y:auto}.logs .row{gap:12px;margin-bottom:2px;display:flex}.logs .ts{color:var(--text-faint);flex-shrink:0}.logs .lvl{color:var(--accent);background:#00e48e0f;border:1px solid #00e48e33;border-radius:3px;flex-shrink:0;width:max-content;padding:1px 6px;font-size:10.5px}.logs .lvl.warn{color:var(--amber);background:#ffc0690f;border-color:#ffc06933}.logs .lvl.err{color:var(--rose);background:#ff7a8a0f;border-color:#ff7a8a33}.logs .lvl.info{color:var(--blue);background:#6cceff0f;border-color:#6cceff33}.logs .msg{color:var(--text-dim);word-break:break-word;flex:1}.logs-foot{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-faint);background:var(--surface);align-items:center;gap:8px;padding:10px 18px;font-size:11px;display:flex}.live-pill{color:var(--accent);background:#00e48e0f;border:1px solid #00e48e33;border-radius:100px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.live-pill:before{content:"";background:var(--accent);width:5px;height:5px;box-shadow:0 0 5px var(--accent);border-radius:50%}.build-side{border-left:1px solid var(--border);background:var(--ink);flex-direction:column;gap:18px;padding:18px 16px;display:flex}.vault-tabs{gap:4px;margin-bottom:14px;display:flex}.vault-tab{font-family:var(--font-mono);color:var(--text-dim);background:var(--ink);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:6px 12px;font-size:11px}.vault-tab.active{color:var(--text);border-color:var(--border-hi);background:var(--elevated)}.vault-row{border-bottom:1px solid var(--border);grid-template-columns:18px 2fr 1fr 1fr auto;align-items:center;gap:14px;padding:12px 16px;font-size:13px;transition:background .1s;display:grid}.vault-row:last-child{border-bottom:0}.vault-row:hover{background:var(--elevated)}.vault-row .ico{background:var(--surface);border:1px solid var(--border-hi);width:16px;height:16px;color:var(--accent);border-radius:3px;justify-content:center;align-items:center;font-size:9px;display:flex}.vault-row .name{font-family:var(--font-mono);color:var(--text);font-size:12px}.vault-row .meta{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.team-row{border-bottom:1px solid var(--border);grid-template-columns:36px 1fr 1fr auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.team-row:last-child{border-bottom:0}.team-row:hover{background:var(--elevated)}.team-row .av{color:#fff;width:32px;height:32px;font-family:var(--font-mono);border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.team-row .name{font-size:13.5px;font-weight:500}.team-row .email{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.role-pill{font-family:var(--font-mono);background:var(--ink);border:1px solid var(--border-hi);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;width:max-content;padding:3px 8px;font-size:10.5px}.role-pill.owner{color:var(--violet);background:#b794f60f;border-color:#b794f633}.role-pill.admin{color:var(--blue);background:#6cceff0f;border-color:#6cceff33}.plan-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--ink);grid-template-columns:2fr 3fr;gap:0;display:grid;overflow:hidden}@media (width<=980px){.plan-card{grid-template-columns:1fr}}.plan-summary{border-right:1px solid var(--border);background:linear-gradient(#00e48e0a,#0000);padding:28px}@media (width<=980px){.plan-summary{border-right:0;border-bottom:1px solid var(--border)}}.plan-summary .lbl{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.plan-summary .price{font-family:var(--font-display);align-items:baseline;gap:6px;margin-bottom:14px;display:flex}.plan-summary .price .num{letter-spacing:-.04em;font-size:44px;font-weight:400}.plan-summary .price .freq{color:var(--text-dim);font-size:13px}.plan-summary .desc{color:var(--text-dim);margin-bottom:18px;font-size:13.5px;line-height:1.55}.plan-usage{padding:28px}.plan-usage h4{font-size:13px;font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;font-weight:500}.usage-row{border-bottom:1px dashed var(--border);grid-template-columns:110px 1fr 80px;align-items:center;gap:14px;padding:8px 0;font-size:12.5px;display:grid}.usage-row:last-child{border-bottom:0}.usage-row .k{color:var(--text-dim);font-family:var(--font-mono);font-size:11.5px}.usage-row .num{font-family:var(--font-mono);color:var(--text);text-align:right;font-size:11.5px}.usage-row .num .lim{color:var(--text-faint)}.invoice-row{border-bottom:1px solid var(--border);grid-template-columns:1.4fr 1fr .8fr .6fr .6fr;align-items:center;gap:14px;padding:10px 16px;font-size:12.5px;display:grid}.invoice-row:last-child{border-bottom:0}.invoice-row.head{background:var(--surface);font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:8px 16px;font-size:10.5px}.invoice-row .id{font-family:var(--font-mono);color:var(--text-dim);font-size:11.5px}.invoice-row .amt{font-family:var(--font-mono);color:var(--text);text-align:right}.invoice-row .dl{font-family:var(--font-mono);color:var(--accent);font-size:11px}.form-row{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-row label{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px}.form-row input,.form-row textarea,.form-row select{background:var(--ink);border:1px solid var(--border-hi);font-family:var(--font-mono);color:var(--text);border-radius:6px;outline:0;padding:8px 12px;font-size:12.5px}.form-row input:focus,.form-row textarea:focus{border-color:var(--accent)}.form-row .help{color:var(--text-faint);font-size:11.5px}.env-row{border-bottom:1px solid var(--border);font-family:var(--font-mono);grid-template-columns:1.2fr 1.6fr 100px 28px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:grid}.env-row:last-child{border-bottom:0}.env-row.head{background:var(--surface);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding:8px 16px;font-size:10.5px}.env-row .key{color:var(--text)}.env-row .val{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.env-row .val.vault{color:var(--accent)}.env-row.from-vault{background:#00e48e08}.src-pill{letter-spacing:.02em;border-radius:3px;width:max-content;padding:2px 7px;font-size:10px}.src-pill.inline{background:var(--ink);color:var(--text-faint);border:1px solid var(--border)}.src-pill.vault{color:var(--accent);background:#00e48e0f;border:1px solid #00e48e33}.empty{text-align:center;border:1px dashed var(--border-hi);border-radius:var(--radius);background:var(--surface);padding:48px 32px}.empty .ill{width:56px;height:56px;color:var(--accent);background:linear-gradient(#00e48e0f,#0000);border:1px solid #00e48e26;border-radius:12px;justify-content:center;align-items:center;margin:0 auto 14px;font-size:22px;display:flex}.empty h3{margin-bottom:6px;font-size:16px;font-weight:500}.empty p{color:var(--text-dim);max-width:360px;margin:0 auto 16px;font-size:13px}.empty .curl{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);color:var(--text-dim);border-radius:5px;padding:6px 12px;font-size:11.5px;display:inline-block}.feed{flex-direction:column;display:flex}.feed-row{border-bottom:1px solid var(--border);grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:9px 16px;font-size:12.5px;display:grid}.feed-row:last-child{border-bottom:0}.feed-row .dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.feed-row .dot.ok{background:var(--accent);box-shadow:0 0 0 3px #00e48e1f}.feed-row .dot.warn{background:var(--amber)}.feed-row .dot.info{background:var(--blue)}.feed-row .dot.err{background:var(--rose)}.feed-row .text{color:var(--text-dim)}.feed-row .text strong{color:var(--text);font-weight:500}.feed-row .text code{font-family:var(--font-mono);color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:11.5px}.feed-row .ts{font-family:var(--font-mono);color:var(--text-faint);font-size:11px}.codeblock{background:var(--code-bg);border:1px solid var(--border);font-family:var(--font-mono);white-space:pre;border-radius:8px;padding:14px 18px;font-size:11.5px;line-height:1.7;overflow-x:auto}.codeblock .j-key{color:var(--blue)}.codeblock .j-str{color:var(--accent)}.codeblock .j-num{color:var(--amber)}.codeblock .j-bool{color:var(--violet)}.codeblock .j-null{color:var(--text-faint);font-style:italic}.codeblock .j-punct,.codeblock .dim{color:var(--text-faint)}.lib-row{border-bottom:1px solid var(--border);grid-template-columns:200px 1fr auto;align-items:center;gap:16px;padding:14px 16px;transition:background .1s;display:grid}.lib-row:last-child{border-bottom:0}.lib-row:hover{background:var(--elevated)}.lib-row .lbl{flex-direction:column;gap:3px;display:flex}.lib-row .lbl .name{color:var(--text);font-size:13px;font-weight:500}.lib-row .lbl .api{font-family:var(--font-mono);color:var(--text-faint);font-size:10.5px}.lib-row .ex{font-family:var(--font-display);color:var(--text-dim);letter-spacing:-.005em;font-size:13px;font-style:italic;line-height:1.4}.lib-row .ex em{color:var(--text);font-style:italic;font-weight:500}.lib-row .copy-tiny{font-family:var(--font-mono);background:var(--ink);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:5px;padding:4px 10px;font-size:10.5px;transition:all .15s}.lib-row .copy-tiny:hover{color:var(--violet);border-color:#b794f64d}.row{align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.grow{flex:1;min-width:0}.ml-auto{margin-left:auto}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-24{margin-bottom:24px}.gap-12{gap:12px}.gap-16{gap:16px}.skel{background:linear-gradient(90deg, var(--elevated) 0%, var(--raised) 50%, var(--elevated) 100%);background-size:200% 100%;border-radius:4px;animation:1.4s infinite shimmer;display:inline-block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-shell{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex;position:relative}.auth-shell:before{content:"";pointer-events:none;background:radial-gradient(800px 600px at 80% -10%,#00e48e1a,#0000 60%),radial-gradient(1100px 700px at -10% 5%,#6cceff0f,#0000 55%);position:absolute;inset:0}.auth-card{z-index:1;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:32px;position:relative;box-shadow:0 24px 48px -16px #0009}.auth-card h1{letter-spacing:-.025em;margin-bottom:8px;font-size:26px;font-weight:400}.auth-card p{color:var(--text-dim);margin-bottom:24px;font-size:13.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.code-block{position:relative}.code-block-copy{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);cursor:pointer;opacity:0;background:#ffffff0a;border-radius:4px;padding:4px 10px;font-size:11px;transition:opacity .12s,background .12s,color .12s;position:absolute;top:8px;right:8px}.code-block:hover .code-block-copy,.code-block:focus-within .code-block-copy,.code-block-copy:focus,.code-block-copy:focus-visible{opacity:1}.code-block-copy:hover{color:var(--accent);border-color:var(--accent);background:#00e48e1a}.code-block-copy:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.code-block-lang{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;pointer-events:none;font-size:10px;position:absolute;top:8px;left:12px}.code-block[data-lang=""] .code-block-lang{display:none}.code-block .tok-comment{color:var(--text-faint);font-style:italic}.code-block .tok-string{color:var(--accent)}.code-block .tok-number{color:var(--amber)}.code-block .tok-bool{color:var(--violet)}.code-block .tok-keyword{color:var(--blue);font-weight:600}.code-block .tok-flag{color:var(--violet)}.code-block .tok-key{color:var(--blue)}
