:root{--surface: oklch(.99 .005 80);--surface-raised: oklch(.985 .008 80);--surface-sunken: oklch(.97 .012 80);--surface-elev: oklch(1 0 0);--ink: oklch(.22 .02 250);--ink-secondary: oklch(.44 .02 250);--ink-tertiary: oklch(.6 .018 250);--ink-quaternary: oklch(.72 .015 250);--line: oklch(.92 .012 250);--line-strong: oklch(.85 .015 250);--accent: oklch(.58 .16 38);--accent-strong: oklch(.52 .18 35);--accent-soft: oklch(.94 .04 40);--accent-line: oklch(.84 .08 40);--status-ready: oklch(.5 .12 150);--status-ready-soft: oklch(.94 .04 150);--status-warn: oklch(.65 .13 75);--status-warn-soft: oklch(.95 .06 80);--status-fail: oklch(.55 .17 25);--status-fail-soft: oklch(.95 .05 25);--vp-radius: 14px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--surface);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;font-feature-settings:"cv11","ss01","ss03";font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}h1,h2,h3{margin:0;font-weight:600;color:var(--ink);letter-spacing:-.01em}h1{font-size:30px;letter-spacing:-.02em;line-height:1.15}h2{font-size:20px;line-height:1.25}h3{font-size:16px;line-height:1.3}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-strong)}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-moz-selection{background:var(--accent-soft);color:var(--ink)}::selection{background:var(--accent-soft);color:var(--ink)}.mono{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:"zero","ss02"}.vp-dim{color:var(--ink-tertiary)}.vp-card{background:var(--surface-elev);border:1px solid var(--line);border-radius:var(--vp-radius);padding:20px}.vp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:12px;font-weight:500;font-size:15px;transition:background .14s cubic-bezier(.22,1,.36,1)}.vp-btn:hover,.vp-btn:active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.vp-btn-ghost{background:var(--surface-elev);color:var(--ink);border-color:var(--line)}.vp-btn-ghost:hover,.vp-btn-ghost:active{background:var(--surface-raised);border-color:var(--line-strong);color:var(--ink)}.vp-btn:disabled{opacity:.4;pointer-events:none}.vp-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:var(--surface-sunken);color:var(--ink-secondary);border:1px solid var(--line)}.vp-pill-ready{background:var(--status-ready-soft);color:var(--status-ready);border-color:#aedbb6}.vp-pill-warn{background:var(--status-warn-soft);color:var(--status-warn);border-color:#f1c68b}.vp-pill-accent{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.vp-topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}.vp-topbar-inner{display:flex;align-items:center;gap:12px;height:56px;max-width:880px;margin:0 auto;padding:0 20px}.vp-brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.vp-brand img{height:24px;width:auto}.vp-wordmark{font-weight:700;font-size:15px;letter-spacing:-.015em;color:var(--ink)}.vp-badge{font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px;border-radius:4px;background:var(--accent-soft);color:var(--accent-strong);border:1px solid var(--accent-line)}.vp-topbar-right{margin-left:auto;display:flex;align-items:center;gap:12px}.vp-topbar-biz{font-size:13px;color:var(--ink-tertiary)}.vp-signout{font-size:13px;color:var(--ink-secondary);padding:8px 10px;border-radius:8px}.vp-signout:hover{background:var(--surface-sunken);color:var(--ink)}@media (prefers-reduced-motion: reduce){*{transition-duration:0ms!important;animation-duration:0ms!important}}
