:root{--font-heading: "Sora", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--paper: #eef1f6;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--line: color-mix(in srgb, #0f172a 9%, transparent);--line-strong: color-mix(in srgb, #0f172a 16%, transparent);--brand: #4f46e5;--brand-ink: #4338ca;--brand-soft: #eef2ff;--accent: #d98324;--accent-ink: #b45309;--success: #059669;--success-bg: #dcfce7;--warning: #d97706;--warning-bg: #fef3c7;--danger: #e11d48;--danger-bg: #ffe4e6;--info-bg: #eef2ff;--side: #1b2130;--side-2: #12161f;--side-text: #97a2b6;--side-text-strong: #f1f5f9;--side-line: rgba(255, 255, 255, .08);--side-active: #818cf8;--radius-sm: 6px;--radius-md: 9px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-md: 0 6px 18px rgba(15, 23, 42, .08);--shadow-lg: 0 24px 48px rgba(15, 23, 42, .18);color-scheme:light;font-family:var(--font-body);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;letter-spacing:-.018em;color:var(--ink);margin:0;line-height:1.15}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;font-weight:700;color:var(--accent-ink)}.page-title{font-size:1.9rem;letter-spacing:-.02em}.section-title{font-size:1.25rem}.muted{color:var(--muted)}.mono{font-family:var(--font-mono);font-size:.85em}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}.card__title{font-size:1.05rem;font-weight:700}.card__body{padding:1.1rem 1.25rem}.card__body--flush{padding:0}.btn{--btn-bg: var(--surface);--btn-fg: var(--ink);--btn-bd: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem 1rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:0;color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-bd);border-radius:var(--radius-md);cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .05s ease;white-space:nowrap}.btn:hover{background:color-mix(in srgb,var(--btn-bg) 94%,var(--ink))}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{--btn-bg: var(--brand);--btn-fg: #fff;--btn-bd: var(--brand);box-shadow:0 1px 2px color-mix(in srgb,var(--brand) 40%,transparent)}.btn--primary:hover{background:var(--brand-ink)}.btn--gold{--btn-bg: var(--accent);--btn-fg: #fff;--btn-bd: var(--accent)}.btn--gold:hover{background:var(--accent-ink);color:#fff}.btn--dark{--btn-bg: var(--side);--btn-fg: var(--side-text-strong);--btn-bd: var(--side)}.btn--dark:hover{background:#000}.btn--danger{--btn-fg: var(--danger);--btn-bd: color-mix(in srgb, var(--danger) 40%, transparent)}.btn--danger:hover{--btn-bg: var(--danger-bg)}.btn--ghost{--btn-bg: transparent;--btn-bd: transparent}.btn--ghost:hover{--btn-bg: var(--surface-3)}.btn--sm{padding:.36rem .65rem;font-size:.78rem}.btn--block{width:100%}.field{display:grid;gap:.32rem}.label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.input,.select{width:100%;padding:.55rem .7rem;font-family:var(--font-body);font-size:.9rem;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-md);transition:border-color .14s ease,box-shadow .14s ease}.input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.8rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em;border:1px solid transparent;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9}.badge--success{color:var(--success);background:var(--success-bg)}.badge--danger{color:var(--danger);background:var(--danger-bg)}.badge--warning{color:var(--accent-ink);background:var(--warning-bg)}.badge--neutral{color:var(--muted);background:var(--surface-3)}.badge--gold{color:var(--accent-ink);background:var(--warning-bg)}.badge--plain:before{display:none}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.7rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.table td{padding:.74rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr{transition:background .1s ease}.table tbody tr:hover{background:var(--brand-soft)}.table tbody tr:last-child td{border-bottom:none}.table--clickable tbody tr{cursor:pointer}.table-wrap{overflow-x:auto}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--brand);animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.banner{padding:.7rem .9rem;border-radius:var(--radius-md);font-size:.88rem;border:1px solid var(--line);background:var(--surface-2)}.banner--error{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:color-mix(in srgb,var(--danger) 80%,#000)}.banner--success{background:var(--success-bg);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:color-mix(in srgb,var(--success) 80%,#000)}.banner--warn{background:var(--warning-bg);border-color:color-mix(in srgb,var(--warning) 35%,transparent);color:color-mix(in srgb,var(--warning) 85%,#000)}.divider{height:1px;background:var(--line);border:none;margin:0}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:3px solid var(--paper)}.stack{display:grid;gap:1.1rem}.row{display:flex;align-items:center;gap:.6rem}.row--wrap{flex-wrap:wrap}.grow{flex:1}.right{margin-left:auto}
