:root{--vm-ink: #0b1f2a;--vm-ink-soft: #163445;--vm-mist: #e8f1f4;--vm-mist-deep: #d2e4ea;--vm-accent: #2a9b8f;--vm-accent-strong: #1f7a71;--vm-sand: #f4f7f8;--vm-danger: #b42318;--vm-ok: #1b7a4a;--vm-radius: 12px;--vm-space: 1rem;--vm-font-display: "Fraunces", Georgia, serif;--vm-font-body: "Source Sans 3", "Segoe UI", sans-serif;color:var(--vm-ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(42,155,143,.16),transparent 55%),radial-gradient(900px 500px at 90% 0%,rgba(22,52,69,.1),transparent 50%),linear-gradient(180deg,var(--vm-mist) 0%,var(--vm-sand) 45%,#f7fafb 100%);font-family:var(--vm-font-body);line-height:1.5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:1px solid rgba(11,31,42,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#e8f1f4c7;position:sticky;top:0;z-index:10}.brand{font-family:var(--vm-font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.nav{display:flex;gap:1.1rem;flex-wrap:wrap}.nav a{padding:.25rem 0;color:var(--vm-ink-soft);border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}.nav a:hover,.nav a.active{color:var(--vm-ink);border-bottom-color:var(--vm-accent)}.hero-bleed{position:relative;min-height:min(88vh,720px);width:100%;display:grid;align-content:end;gap:1rem;padding:clamp(2rem,6vw,4.5rem);color:#f7fbfc;isolation:isolate;overflow:hidden;animation:rise .7s ease both;background:linear-gradient(180deg,#0b1f2a2e 10%,#0b1f2ab8),url(https://images.unsplash.com/photo-1505118380757-91f5f5632de0?auto=format&fit=crop&w=2000&q=80) center/cover no-repeat}.hero-bleed:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(42,155,143,.12));pointer-events:none;z-index:-1;animation:wash 8s ease-in-out infinite alternate}.hero-bleed .brand-hero{font-family:var(--vm-font-display);font-size:clamp(2.6rem,7vw,4.4rem);line-height:1.05;margin:0}.hero-bleed .hero-copy{max-width:34rem;margin:0;font-size:1.15rem;opacity:.94}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.btn{border:0;border-radius:10px;padding:.75rem 1.25rem;cursor:pointer;transition:transform .16s ease,background .16s ease,opacity .16s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--vm-accent);color:#fff}.btn-primary:hover{background:var(--vm-accent-strong)}.btn-ghost{background:#ffffff1f;color:inherit;border:1px solid rgba(255,255,255,.35)}.main{width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem;flex:1}.panel{animation:rise .5s ease both}.section-title{font-family:var(--vm-font-display);font-size:1.8rem;margin:0 0 .35rem}.muted{color:#0b1f2aad}.choice-list{display:grid;gap:.75rem;margin-top:1.25rem}.choice{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:var(--vm-radius);background:#ffffffa6;border:1px solid rgba(11,31,42,.08);cursor:pointer;transition:border-color .16s ease,transform .18s ease,opacity .18s ease;animation:rise .45s ease both}.choice:hover{border-color:#2a9b8f8c;transform:translateY(-1px)}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:1.25rem 0}.field{display:grid;gap:.35rem}.field input,.field select{min-width:9rem;padding:.55rem .7rem;border-radius:10px;border:1px solid rgba(11,31,42,.15);background:#fff}.table-wrap{overflow:auto;border-radius:var(--vm-radius);border:1px solid rgba(11,31,42,.08);background:#ffffffbf}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:left;padding:.7rem .85rem;border-bottom:1px solid rgba(11,31,42,.06);white-space:nowrap}th{font-weight:600;background:#e8f1f4cc}.status-ok{color:var(--vm-ok)}.status-bad{color:var(--vm-danger)}.run-pulse{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--vm-accent);margin-right:.4rem;animation:pulse 1.2s ease-in-out infinite}.error{color:var(--vm-danger)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes wash{0%{opacity:.35}to{opacity:.9}}@keyframes pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@media(max-width:720px){.topbar{flex-direction:column;align-items:flex-start}.hero-bleed{min-height:72vh}}
