*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--ob-color-bg);color:var(--ob-color-ink);font:var(--ob-type-style-body);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--ob-color-ink);text-underline-offset:2px}a:hover{color:var(--ob-color-primary-hover)}h1,h2,h3,h4{color:var(--ob-color-ink)}code,pre{font-family:var(--ob-type-mono-family)}::placeholder{color:var(--ob-color-ink-subtle)}.wrap{max-width:72rem;margin:0 auto;padding:48px 24px}.num,.tnum{font-variant-numeric:tabular-nums}:where(a,button,[role=button],summary,select,input[type=checkbox],input[type=radio],[tabindex]):focus-visible{outline:2px solid var(--ob-color-focus-ring);outline-offset:2px}.sg-aside{width:var(--ob-size-sidebar);background:var(--ob-color-bg-sidebar);border-right:1px solid var(--ob-color-border);flex-direction:column;flex:none;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sg-nav{border-radius:var(--ob-radius-md);height:32px;color:var(--ob-color-ink-muted);font:var(--ob-type-style-body);align-items:center;gap:10px;margin:1px 12px;padding:0 8px;text-decoration:none;display:flex}.sg-nav:hover{background:var(--ob-color-surface-muted);color:var(--ob-color-ink)}.sg-nav.active{background:var(--ob-color-surface);color:var(--ob-color-ink);box-shadow:inset 0 0 0 1px var(--ob-color-border);font-weight:500}.sg-nav svg{flex:none;width:16px;height:16px}.sg-badge{font:var(--ob-type-style-caption);color:var(--ob-color-ink-subtle);font-variant-numeric:tabular-nums;margin-left:auto}.sg-badge-strong{color:var(--ob-color-ink);font-weight:600}.sg-group{font:var(--ob-type-style-overline);text-transform:uppercase;letter-spacing:var(--ob-type-tracking-wide);color:var(--ob-color-ink-subtle);margin:0;padding:16px 20px 4px}.ob-lockup{align-items:flex-start;text-decoration:none;display:inline-flex}.ob-lockup img{width:auto;height:20px;display:block}.ob-ai-sup{font:600 10px/12px var(--ob-type-font-family);letter-spacing:.02em;color:var(--ob-color-ink);margin:-1px 0 0 2px}.ob-classic-link{border-radius:var(--ob-radius-md);color:var(--ob-color-ink-muted);font:var(--ob-type-style-small);border:1px dashed var(--ob-color-border-strong);align-items:center;gap:10px;margin:8px 12px 0;padding:8px;text-decoration:none;display:flex}.ob-classic-link:hover{background:var(--ob-color-surface-muted);color:var(--ob-color-ink)}.ob-classic-link .ob-mark{flex:none;width:16px;height:16px}.ob-menu{background:var(--ob-color-surface-raised);border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-lg);box-shadow:var(--ob-shadow-overlay);padding:6px}.ob-menu-item{text-align:left;width:100%;color:var(--ob-color-ink);cursor:pointer;border-radius:var(--ob-radius-md);font:var(--ob-type-style-body);background:0 0;border:0;align-items:center;gap:10px;padding:7px 8px;text-decoration:none;display:flex}.ob-menu-item:hover:not(:disabled){background:var(--ob-color-surface-muted);color:var(--ob-color-ink)}.ob-ws-menu .ob-menu-item:focus-visible{outline-offset:-2px;background:var(--ob-color-surface-muted)}.ob-ws-menu{animation:ob-menu-in var(--ob-motion-fast) var(--ob-motion-easing)}@keyframes ob-menu-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.mono{font-family:var(--ob-type-mono-family)}.muted{color:var(--ob-color-ink-muted);font:var(--ob-type-style-small)}.subtle{color:var(--ob-color-ink-subtle)}.kicker{font:var(--ob-type-style-overline);letter-spacing:var(--ob-type-tracking-wide);color:var(--ob-color-ink-subtle);text-transform:uppercase}.ob-title{font:var(--ob-type-style-title);margin:0}.ob-heading{font:var(--ob-type-style-heading);margin:0}.panel{background:var(--ob-color-surface);border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-lg);padding:20px}.step{border-bottom:1px solid var(--ob-color-border);align-items:flex-start;gap:14px;padding:16px 0;display:flex}.step:last-child{border-bottom:0}.dot{border:1px solid var(--ob-color-border-strong);width:26px;height:26px;font:var(--ob-type-style-caption);color:var(--ob-color-ink-muted);background:var(--ob-color-surface);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.dot.done{background:var(--ob-color-primary);color:var(--ob-color-on-primary);border-color:var(--ob-color-primary)}.btn{height:var(--ob-size-control);border-radius:var(--ob-radius-md);font:var(--ob-type-style-body-strong);white-space:nowrap;cursor:pointer;background:var(--ob-color-primary);color:var(--ob-color-on-primary);box-shadow:var(--ob-shadow-xs);transition:background var(--ob-motion-fast) ease, border-color var(--ob-motion-fast) ease, color var(--ob-motion-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--ob-color-primary-hover);color:var(--ob-color-on-primary)}.btn svg{flex:none;width:16px;height:16px}.btn.ghost,.btn.secondary{background:var(--ob-color-surface);color:var(--ob-color-ink);border-color:var(--ob-color-border-strong)}.btn.ghost:hover:not(:disabled),.btn.secondary:hover:not(:disabled){background:var(--ob-color-surface-muted);color:var(--ob-color-ink)}.btn.quiet{color:var(--ob-color-ink-muted);box-shadow:none;background:0 0}.btn.quiet:hover:not(:disabled){background:var(--ob-color-surface-muted);color:var(--ob-color-ink)}.btn.danger{background:var(--ob-color-surface);color:var(--ob-color-danger);border-color:var(--ob-color-danger-border)}.btn.danger:hover:not(:disabled){background:var(--ob-color-danger-bg);color:var(--ob-color-danger)}.btn.sm{height:var(--ob-size-control-compact);padding:0 10px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.field{width:100%;min-height:var(--ob-size-control);background:var(--ob-color-surface);border:1px solid var(--ob-color-border-strong);border-radius:var(--ob-radius-md);color:var(--ob-color-ink);font:var(--ob-type-style-body);margin-top:6px;padding:7px 12px}textarea.field{line-height:20px}.field:focus,.field:focus-visible{border-color:var(--ob-color-focus-ring);box-shadow:var(--ob-shadow-focus);outline:none}.field:disabled,input[data-slot=input]:disabled{opacity:.5;cursor:not-allowed;background:var(--ob-color-surface-muted)}.field[aria-invalid=true],.field.error{border-color:var(--ob-color-danger-fill)}.ob-help{font:var(--ob-type-style-small);color:var(--ob-color-ink-subtle)}.ob-help.err{color:var(--ob-color-danger)}input[type=checkbox],input[type=radio]{accent-color:var(--ob-color-primary)}.ob-chip{border-radius:var(--ob-radius-sm);height:24px;font:var(--ob-type-style-caption);border:1px solid var(--ob-color-border);background:var(--ob-color-surface);color:var(--ob-color-ink-muted);white-space:nowrap;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.ob-chip svg{flex:none;width:12px;height:12px}.ob-chip .ob-dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.ob-chip.running{color:var(--ob-color-ink)}.ob-chip.verified{color:var(--ob-color-verified);background:var(--ob-color-verified-bg);border-color:var(--ob-color-verified-border)}.ob-chip.paused,.ob-chip.warning{color:var(--ob-color-warning);background:var(--ob-color-warning-bg);border-color:var(--ob-color-warning-border)}.ob-chip.failed,.ob-chip.danger{color:var(--ob-color-danger);background:var(--ob-color-danger-bg);border-color:var(--ob-color-danger-border)}.ob-chip.info{color:var(--ob-color-info);background:var(--ob-color-info-bg);border-color:#0000}.ob-live-dot{background:var(--ob-color-brand);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #ff55012e}.ob-chip.running .ob-dot{background:var(--ob-color-brand);box-shadow:0 0 0 3px #ff55012e}.ob-chip.ai{background:linear-gradient(#fff, #fff) padding-box, var(--ob-ai-gradient) border-box;color:var(--ob-color-ink);border:1px solid #0000}.ob-ai-label{font:var(--ob-type-style-caption);color:var(--ob-color-ink-muted);align-items:center;gap:6px;display:inline-flex}.ob-ai-label svg,.ob-spark{flex:none;width:14px;height:14px}.ob-ai-working{background:var(--ob-ai-gradient);border-radius:3px;height:3px;position:relative;overflow:hidden}.ob-ai-working:after{content:"";background:linear-gradient(90deg,#0000,#ffffffbf,#0000);width:40%;animation:1.4s ease-in-out infinite ob-ai-flow;position:absolute;inset:0}@keyframes ob-ai-flow{0%{transform:translate(-100%)}to{transform:translate(250%)}}.ob-table-wrap{border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-lg);background:var(--ob-color-surface);overflow-x:auto}.ob-table{border-collapse:collapse;width:100%}.ob-table th{text-align:left;font:var(--ob-type-style-caption);color:var(--ob-color-ink-subtle);border-bottom:1px solid var(--ob-color-border);background:var(--ob-color-bg-sidebar);white-space:nowrap;padding:10px 16px}.ob-table td{border-bottom:1px solid var(--ob-color-border);vertical-align:middle;padding:12px 16px}.ob-table tr:last-child td{border-bottom:0}.ob-table tbody tr:hover td{background:var(--ob-color-bg-sidebar)}.ob-table .num,.ob-table th.num{text-align:right;font-variant-numeric:tabular-nums}.ob-table .mono,.ob-table code{white-space:nowrap}.ob-lift{font-variant-numeric:tabular-nums;color:var(--ob-color-ink)}.ob-lift.verified{color:var(--ob-color-verified)}.ob-stat{background:var(--ob-color-surface);border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-lg);padding:20px}.ob-stat-k{font:var(--ob-type-style-small);color:var(--ob-color-ink-muted)}.ob-stat-v{font:600 24px/32px var(--ob-type-font-family);font-variant-numeric:tabular-nums;color:var(--ob-color-ink);margin-top:8px}.ob-stat-s{font:var(--ob-type-style-small);color:var(--ob-color-ink-subtle);margin-top:2px}.ob-tabs{border-bottom:1px solid var(--ob-color-border);gap:20px;display:flex}.ob-tab{font:var(--ob-type-style-body-strong);color:var(--ob-color-ink-subtle);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 0;text-decoration:none}.ob-tab:hover{color:var(--ob-color-ink)}.ob-tab.active,.ob-tab[aria-selected=true]{color:var(--ob-color-ink);border-bottom-color:var(--ob-color-ink)}.ob-seg{border-radius:var(--ob-radius-md);background:var(--ob-color-surface-muted);flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.ob-seg button{height:26px;font:var(--ob-type-style-caption);color:var(--ob-color-ink-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.ob-seg button:hover:not([aria-pressed=true],[data-state=on]):not(:disabled){color:var(--ob-color-ink)}.ob-seg button:is([aria-pressed=true],[data-state=on]){background:var(--ob-color-surface);color:var(--ob-color-ink);box-shadow:var(--ob-shadow-xs);font-weight:500}.ob-seg button:disabled{opacity:.5;cursor:default}.ob-seg button:focus-visible{outline-offset:0}.ob-toggle{border-radius:var(--ob-radius-pill);background:var(--ob-color-border-strong);cursor:pointer;border:0;flex:none;width:36px;height:20px;padding:0;position:relative}.ob-toggle:after{content:"";width:16px;height:16px;box-shadow:var(--ob-shadow-xs);transition:left var(--ob-motion-fast) ease;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.ob-toggle.on,.ob-toggle[aria-checked=true]{background:var(--ob-color-primary)}.ob-toggle.on:after,.ob-toggle[aria-checked=true]:after{left:18px}.ob-empty{text-align:center;padding:48px 24px}.ob-empty-tile{border-radius:var(--ob-radius-lg);border:1px solid var(--ob-color-border);width:48px;height:48px;box-shadow:var(--ob-shadow-xs);background:var(--ob-color-surface);color:var(--ob-color-ink-muted);place-items:center;margin:0 auto 16px;display:grid}.ob-empty-tile svg{width:22px;height:22px}.ob-code{background:var(--ob-color-surface-muted);border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-md);color:var(--ob-color-ink);font:12px/18px var(--ob-type-mono-family)}.sg-disclosure{margin-top:16px}.sg-disclosure>summary{cursor:pointer;background:var(--ob-color-surface);border:1px solid var(--ob-color-border);border-radius:var(--ob-radius-lg);color:var(--ob-color-ink);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;list-style:none;display:flex}.sg-disclosure>summary::-webkit-details-marker{display:none}.sg-disclosure>summary::marker{content:""}.sg-disclosure>summary:hover{background:var(--ob-color-bg-sidebar)}.sg-disclosure>summary .sg-chev{color:var(--ob-color-ink-subtle);flex:none;transition:transform .15s}.sg-disclosure[open]>summary .sg-chev{transform:rotate(90deg)}.sg-disc>summary{list-style:none}.sg-disc>summary::-webkit-details-marker{display:none}.sg-disc>summary::marker{content:""}.sg-disc[open]>summary .sg-chev{transform:rotate(90deg)}.sg-chev{color:var(--ob-color-ink-subtle);flex:none;transition:transform .15s}summary:focus-visible{outline:2px solid var(--ob-color-focus-ring);outline-offset:2px;border-radius:6px}.spinner{border:2px solid var(--ob-color-border);border-top-color:var(--ob-color-ink);border-radius:50%;flex:none;width:18px;height:18px;animation:.7s linear infinite sg-spin}@keyframes sg-spin{to{transform:rotate(360deg)}}.sg-bar{background:var(--ob-color-surface-muted);border-radius:999px;height:3px;overflow:hidden}.sg-bar-fill{background:var(--ob-ai-gradient);border-radius:999px;width:8%;height:100%;transition:width 60s cubic-bezier(.1,.7,.1,1)}.sg-bar-fill.go{width:90%}.sg-bar-fill.done{width:100%;transition:width .35s;animation:.5s sg-flash}@keyframes sg-flash{0%{filter:brightness()}40%{filter:brightness(1.15)}to{filter:brightness()}}.sg-pop{animation:.2s ease-out sg-pop}@keyframes sg-pop{0%{opacity:.4;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.sg-reveal-item{opacity:0;animation:.4s both sg-reveal;transform:translateY(8px)}@keyframes sg-reveal{to{opacity:1;transform:translateY(0)}}@media (width<=767px){.ob-shell{flex-direction:column}.sg-aside{border-right:0;border-bottom:1px solid var(--ob-color-border);width:100%;height:auto;max-height:none;position:static}.sg-aside nav,.sg-aside .sg-foot{flex-wrap:nowrap;flex:none;gap:2px;padding:4px 8px;display:flex;overflow-x:auto}.sg-aside .sg-group{display:none}.sg-aside .sg-nav,.sg-aside .ob-classic-link{white-space:nowrap;flex:none;margin:1px 0}.wrap{padding:24px 16px}}@media (prefers-reduced-motion:reduce){.spinner,.ob-ai-working:after,.ob-ws-menu{animation:none}.sg-bar-fill{transition:none}.sg-bar-fill.go{width:90%}.sg-pop,.sg-reveal-item,.sg-bar-fill.done{opacity:1;animation:none;transform:none}}
