:root{
  --navy:#1B2F5B; --navy-2:#2A4580; --navy-3:#142449;
  --ink:#131C33; --ink-2:#2B3550; --muted:#56637F; --paper:#F5F7FB; --paper-2:#E9EEF7; --line:#D8DFEC; --white:#fff;
  --gold:#F0B43C; --ok:#047857; --ok-bg:#D1FAE5; --bad:#BE123C; --bad-bg:#FFE4E6; --warn:#A16207; --warn-bg:#FEF9C3;
  --display:"Bricolage Grotesque","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --body:"Figtree","Segoe UI","Helvetica Neue",Arial,sans-serif;
  --rainbow:linear-gradient(90deg,#6D28D9,#1D4ED8,#0E7490,#047857,#4D7C0F,#A16207,#C2410C,#BE123C,#A21CAF);
  --r:14px; color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);letter-spacing:-.015em;margin:0;line-height:1.1;text-wrap:balance}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--navy-2)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.top::after{content:"";display:block;height:4px;background:var(--rainbow)}
.top-in{max-width:1180px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}
.brand img{width:44px;height:38px;object-fit:contain;filter:brightness(0) invert(1)}
.brand b{font:720 19px/1.1 var(--display);white-space:nowrap}
.brand span{display:block;font-size:12.5px;color:#B9C6E4;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.top .sp{flex:1}
.who{font-size:14px;color:#B9C6E4;text-align:right;line-height:1.3}
.who b{color:#fff;display:block;font-weight:650}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 16px;font-weight:650;font-size:15px;cursor:pointer;text-decoration:none;white-space:nowrap;min-height:40px}
.btn:hover{background:var(--paper-2)}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy-2)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy-3)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.1)}
.btn.danger{color:var(--bad);border-color:#F4C2CC}
.btn.danger:hover{background:var(--bad-bg)}
.btn.sm{padding:6px 11px;font-size:14px;min-height:34px;border-radius:8px}
.btn.lg{padding:13px 24px;font-size:17px;min-height:50px;border-radius:12px}

/* forms */
label.f{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:650;color:var(--ink-2)}
label.f small{font-weight:400;color:var(--muted)}
.in{width:100%;border:1px solid #C9D2E3;background:#fff;border-radius:10px;padding:10px 12px;min-height:44px;font-size:16px}
.in:focus{border-color:var(--navy-2);outline:2px solid rgba(42,69,128,.18);outline-offset:0}
textarea.in{min-height:96px;resize:vertical;line-height:1.45}
.err{background:var(--bad-bg);color:#881337;border-radius:10px;padding:10px 14px;font-size:15px}
.note{background:var(--paper-2);border-radius:10px;padding:12px 14px;font-size:14.5px;color:var(--ink-2)}
.check{display:flex;gap:10px;align-items:center;font-size:15px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--navy)}

/* cards & layout */
.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 80px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.eyebrow{font:750 13px/1.2 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:999px;white-space:nowrap}
.b-ok{background:var(--ok-bg);color:#065F46}.b-warn{background:var(--warn-bg);color:#713F12}.b-mute{background:var(--paper-2);color:var(--ink-2)}.b-bad{background:var(--bad-bg);color:#881337}.b-navy{background:var(--navy);color:#fff}

/* toast & dialog */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:12px;font-size:15px;z-index:100;box-shadow:0 12px 30px rgba(0,0,0,.25);max-width:calc(100% - 32px)}
dialog{border:0;border-radius:18px;padding:0;width:min(640px,calc(100% - 24px));max-height:calc(100vh - 40px);box-shadow:0 30px 80px rgba(14,24,48,.35);color:var(--ink)}
dialog::backdrop{background:rgba(13,22,48,.55)}
.dlg-h{padding:20px 24px 0;display:flex;align-items:flex-start;gap:12px}
.dlg-h h3{font-size:24px;flex:1}
.dlg-b{padding:16px 24px;display:flex;flex-direction:column;gap:14px}
.dlg-f{padding:4px 24px 22px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.x{border:0;background:var(--paper);border-radius:999px;width:36px;height:36px;cursor:pointer;font-size:20px;line-height:1;flex:none}
.cred{background:var(--paper);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:15px}
.cred span{color:var(--muted)}
.cred code{font:700 17px/1.3 ui-monospace,Menlo,Consolas,monospace;word-break:break-all}

@media (max-width:640px){
  .brand b{font-size:16px}.brand span{display:none}.who{display:none}
  .wrap{padding:20px 14px 70px}
}

/* Venture Wheel */
.wheel{display:block;width:100%;height:auto;overflow:visible}
.wedge{cursor:pointer;transition:transform .25s ease,opacity .25s ease;outline:none}
.wedge path{fill:var(--d);stroke:#fff;stroke-width:1.6;transition:fill .2s}
.wedge text{fill:#fff;font:750 8.5px/1 var(--body);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.wheel.track .wedge:not(.done) path{fill:var(--m)}
.wheel.track .wedge:not(.done) text{fill:var(--i)}
.wedge:hover path{filter:brightness(1.1)}
.wedge:focus-visible path{stroke:var(--gold);stroke-width:3.5}
.wheel.has-on .wedge:not(.on){opacity:.55}
.wedge.on{transform:translate(var(--dx),var(--dy))}
.hub circle{fill:var(--navy);stroke:#fff;stroke-width:1.6;transition:fill .2s}
.hub text{fill:#fff;font:750 8.5px/1 var(--body);text-anchor:middle;dominant-baseline:central}
.hub.on circle{fill:var(--gold)}
.hub.on text{fill:var(--navy-3)}
.wdlg{width:min(520px,calc(100% - 24px));overflow:hidden}
.wdlg-bar{height:8px}
.wsvc{border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.wsvc span{font:750 12px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.wsvc b{font:720 19px/1.25 var(--display)}
@media (prefers-reduced-motion:reduce){.wedge{transition:none}}
