:root{--so-color-primary:var(--so-color-accent);--so-color-accent:#9b2c3a;--so-color-background:var(--so-color-bg);--so-color-surface:#1d1f24;--so-color-text:var(--so-color-ink);--so-color-muted:var(--so-color-ink-muted);--so-font-sans:var(--so-font-body);--so-font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--so-text-xs:12px;--so-text-sm:14px;--so-text-md:1rem;--so-text-lg:19px;--so-text-xl:26px;--so-space-xs:.25rem;--so-space-sm:.5rem;--so-space-md:1rem;--so-space-lg:1.5rem;--so-space-xl:3rem;--so-radius-sm:calc(var(--so-radius) / 2);--so-radius-md:8px;--so-radius-lg:16px;--so-color-bg:#15161a;--so-color-ink:#ece8e2;--so-color-ink-muted:#9aa1a9;--so-color-accent-ink:#fff;--so-color-border:#2e3238;--so-font-display:"Hoefler Text", "Baskerville Old Face", Baskerville, Didot, Georgia, serif;--so-font-body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--so-radius:10px;--so-space:12px;--so-space-half:calc(var(--so-space) / 2);--so-space-2:calc(var(--so-space) * 2);--so-space-3:calc(var(--so-space) * 3);--so-space-4:calc(var(--so-space) * 4);--so-space-6:calc(var(--so-space) * 6);--so-space-8:calc(var(--so-space) * 8);--so-radius-pill:999px;--so-text-base:16px;--so-text-2xl:34px;--so-text-3xl:46px;--so-text-target:68px;--so-text-target-sm:38px;--so-text-winner:58px;--so-text-key:30px;--so-color-accent-soft:color-mix(in srgb, var(--so-color-accent) 20%, var(--so-color-surface));--so-color-surface-raised:color-mix(in srgb, var(--so-color-ink) 4%, var(--so-color-surface));--so-color-ink-faint:color-mix(in srgb, var(--so-color-ink-muted) 60%, var(--so-color-bg));--so-color-danger:var(--so-color-accent);--so-measure:62ch}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{height:100%}body{background:var(--so-color-bg);color:var(--so-color-ink);font-family:var(--so-font-body);font-size:var(--so-text-base);margin:0;line-height:1.65}img,svg{max-width:100%}.site-shell{flex-direction:column;min-height:100%;display:flex}.site-main{flex:1}.wrap{width:100%;max-width:1080px;padding:0 var(--so-space-2);margin:0 auto}.wrap.narrow{max-width:760px}.site-header{border-bottom:1px solid var(--so-color-border)}.site-header .wrap{align-items:center;gap:var(--so-space-2);padding-top:var(--so-space-2);padding-bottom:var(--so-space-2);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--so-space);color:var(--so-color-ink);font-family:var(--so-font-display);font-size:var(--so-text-xl);letter-spacing:.01em;margin-right:auto;text-decoration:none;display:flex}.brand .mark{color:var(--so-color-accent);flex:none}.site-nav{gap:var(--so-space-2);flex-wrap:wrap;display:flex}.site-nav a{color:var(--so-color-ink-muted);font-size:var(--so-text-sm);border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.site-nav a.router-link-active,.site-nav a.active{border-bottom-color:var(--so-color-accent);color:var(--so-color-ink)}.lang{border:1px solid var(--so-color-border);border-radius:var(--so-radius-pill);flex:none;display:flex;overflow:hidden}.lang button{padding:4px var(--so-space);color:var(--so-color-ink-muted);font-family:inherit;font-size:var(--so-text-xs);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0}.lang button.on{background:var(--so-color-surface-raised);color:var(--so-color-ink)}.hero{padding:var(--so-space-6) 0 var(--so-space-4)}.hero.centred{text-align:center}.hero h1{max-width:18ch;margin:0 0 var(--so-space-2);font-family:var(--so-font-display);font-size:var(--so-text-3xl);font-weight:400;line-height:1.12}.hero.centred h1{max-width:none;font-size:var(--so-text-winner);overflow-wrap:break-word;line-height:1.06}.hero p{max-width:var(--so-measure);margin:0 0 var(--so-space-3);color:var(--so-color-ink-muted);font-size:var(--so-text-lg)}.hero.centred p{max-width:50ch;margin-left:auto;margin-right:auto}.hero .crown{margin-bottom:var(--so-space);color:var(--so-color-ink-muted);font-size:var(--so-text-sm);letter-spacing:.16em;text-transform:uppercase;display:block}section{padding:var(--so-space-4) 0}.section-head{margin-bottom:var(--so-space-3)}.section-head h2{margin:0 0 var(--so-space-half);font-family:var(--so-font-display);font-size:var(--so-text-2xl);font-weight:400;line-height:1.2}.section-head p{max-width:var(--so-measure);color:var(--so-color-ink-muted);margin:0}.eyebrow,.step-label{margin-bottom:var(--so-space-half);color:var(--so-color-ink-faint);font-size:var(--so-text-xs);letter-spacing:.16em;text-transform:uppercase;display:inline-block}.rule{border:0;border-top:1px solid var(--so-color-border);margin:0}.updated{margin:0 0 var(--so-space-2);color:var(--so-color-ink-faint);font-size:var(--so-text-sm)}.cta-row{align-items:center;gap:var(--so-space-2);flex-wrap:wrap;display:flex}.hero.centred .cta-row{justify-content:center}.button{padding:var(--so-space) var(--so-space-3);border-radius:var(--so-radius);background:var(--so-color-accent);color:var(--so-color-accent-ink);font-family:inherit;font-size:var(--so-text-base);justify-content:center;align-items:center;gap:var(--so-space-half);cursor:pointer;border:0;font-weight:600;text-decoration:none;display:inline-flex}.button.wide{width:100%}.button.big{padding:var(--so-space-2) var(--so-space-4);font-size:var(--so-text-lg)}.button.quiet{border:1px solid var(--so-color-border);color:var(--so-color-ink);background:0 0;font-weight:500}.button.danger{border:1px solid var(--so-color-accent);color:var(--so-color-ink);background:0 0}.button[disabled],.button.off{border:1px solid var(--so-color-border);color:var(--so-color-ink-faint);cursor:not-allowed;background:0 0}.link-quiet{color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.link-quiet a,a{color:var(--so-color-ink)}.card{padding:var(--so-space-3);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-surface)}.cards{gap:var(--so-space-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.two{gap:var(--so-space-2);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.three{gap:var(--so-space-2);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.card h3,.cards h3{margin:0 0 var(--so-space-half);font-family:var(--so-font-display);font-size:var(--so-text-lg);font-weight:400}.card p,.cards p{margin:0 0 var(--so-space);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.card p:last-child,.cards p:last-child{margin-bottom:0}.card .lede{margin-bottom:var(--so-space-half);color:var(--so-color-ink);font-family:var(--so-font-display);font-size:var(--so-text-xl)}.card .provider{margin-bottom:var(--so-space);color:var(--so-color-ink);font-family:var(--so-font-mono);font-size:var(--so-text-sm);display:inline-block}.form-grid{gap:var(--so-space-2) var(--so-space-3);grid-template-columns:1fr 1fr;display:grid}.f{margin-bottom:var(--so-space-2);display:block}.f.full{grid-column:1/-1}.f>label,.fieldset>legend{margin-bottom:var(--so-space-half);color:var(--so-color-ink);font-size:var(--so-text-sm);padding:0;font-weight:600;display:block}.f .why{margin:var(--so-space-half) 0 0;color:var(--so-color-ink-muted);font-size:var(--so-text-xs);line-height:1.55}.control{width:100%;min-height:52px;padding:0 var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-bg);color:var(--so-color-ink);font-family:inherit;font-size:var(--so-text-base);align-items:center;display:flex}.control::placeholder{color:var(--so-color-ink-faint)}.control.mono{font-family:var(--so-font-mono)}.control.key-in{font-family:var(--so-font-mono);letter-spacing:.1em;text-transform:uppercase}.fieldset{border:0;margin:0;padding:0}.choices{gap:var(--so-space);flex-wrap:wrap;display:flex}.choice{padding:var(--so-space) var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius);color:var(--so-color-ink);font-family:inherit;font-size:var(--so-text-sm);align-items:center;gap:var(--so-space-half);cursor:pointer;background:0 0;flex:auto;display:flex}.choice.on{border-color:var(--so-color-accent);background:var(--so-color-accent-soft)}.dot{border:1px solid var(--so-color-ink-muted);border-radius:var(--so-radius-pill);flex:none;width:14px;height:14px}.choice.on .dot{border-color:var(--so-color-accent);background:var(--so-color-accent)}.consent{padding:var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-surface-raised);align-items:flex-start;gap:var(--so-space);text-align:left;cursor:pointer;display:flex}.box{border:1px solid var(--so-color-ink-muted);border-radius:var(--so-radius-sm);flex:none;width:20px;height:20px;margin-top:2px}.box.on{border-color:var(--so-color-accent);background:var(--so-color-accent);color:var(--so-color-accent-ink);font-size:var(--so-text-xs);text-align:center;line-height:18px}.consent .t{font-size:var(--so-text-sm)}.consent .t .req{color:var(--so-color-ink-muted);font-size:var(--so-text-xs);margin-top:4px;display:block}.fineprint{max-width:var(--so-measure);margin:var(--so-space-2) 0 0;color:var(--so-color-ink-muted);font-size:var(--so-text-xs)}.codes{gap:var(--so-space-2);grid-template-columns:1fr 1fr;display:grid}.code-card{padding:var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-surface)}.code-card.waiting{border-color:var(--so-color-accent)}.code-card h3{font-family:var(--so-font-body);font-size:var(--so-text-sm);margin:0 0 2px;font-weight:600}.code-card .sent-to{margin:0 0 var(--so-space);color:var(--so-color-ink-muted);font-size:var(--so-text-xs);overflow-wrap:break-word}.digits{width:100%;min-height:52px;padding:0 var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius-sm);background:var(--so-color-bg);color:var(--so-color-ink);font-family:var(--so-font-mono);font-size:var(--so-text-lg);letter-spacing:.4em;text-align:center}.digits:focus{border-color:var(--so-color-accent);outline:none}.code-foot{margin-top:var(--so-space);font-size:var(--so-text-xs);gap:var(--so-space);flex-wrap:wrap;display:flex}.code-foot .done{color:var(--so-color-ink-muted)}.tick{color:var(--so-color-accent)}.linkish{color:var(--so-color-ink);font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.notice{max-width:var(--so-measure);padding:var(--so-space-2);border-left:3px solid var(--so-color-accent);border-radius:var(--so-radius-sm);background:var(--so-color-surface);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.notice+.notice,.notice.topflush{margin-top:var(--so-space-2)}.notice.quiet{border-left-color:var(--so-color-border)}.notice strong{color:var(--so-color-ink)}.notice .key-inline{color:var(--so-color-ink);font-family:var(--so-font-mono)}.hint{margin:var(--so-space) 0 0;color:var(--so-color-ink-muted);font-size:var(--so-text-xs)}.split{align-items:start;gap:var(--so-space-4);grid-template-columns:1fr 1fr;display:grid}.keyblock{padding:var(--so-space-3) var(--so-space-2);border:1px dashed var(--so-color-border);border-radius:var(--so-radius);margin-bottom:var(--so-space-3);background:var(--so-color-bg);text-align:center}.keyblock .cap{margin-bottom:var(--so-space);color:var(--so-color-ink-faint);font-size:var(--so-text-xs);letter-spacing:.16em;text-transform:uppercase;display:block}.keyblock .key{margin-bottom:var(--so-space-2);color:var(--so-color-ink);font-family:var(--so-font-mono);font-size:var(--so-text-key);letter-spacing:.12em;overflow-wrap:break-word;display:block}.joined-cap{margin-bottom:var(--so-space);color:var(--so-color-ink-faint);font-size:var(--so-text-xs);justify-content:space-between;gap:var(--so-space-half) var(--so-space);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;display:flex}.names{margin:0 0 var(--so-space-2);gap:var(--so-space-half);flex-wrap:wrap;padding:0;list-style:none;display:flex}.names li{padding:var(--so-space-half) var(--so-space);border:1px solid var(--so-color-border);border-radius:var(--so-radius-pill);font-size:var(--so-text-sm)}.names li.host{border-color:var(--so-color-ink-muted)}.names li .tag{color:var(--so-color-ink-faint);font-size:var(--so-text-xs)}.target-hero{padding:var(--so-space-8) 0 var(--so-space-6);text-align:center}.game-name{margin-bottom:var(--so-space-3);color:var(--so-color-ink-faint);font-size:var(--so-text-sm);letter-spacing:.22em;text-transform:uppercase;display:block}.target-label{margin-bottom:var(--so-space);color:var(--so-color-ink-muted);font-size:var(--so-text-sm);letter-spacing:.16em;text-transform:uppercase;display:block}.target-hero h1{margin:0 0 var(--so-space-3);font-family:var(--so-font-display);font-size:var(--so-text-target);letter-spacing:.01em;overflow-wrap:break-word;font-weight:400;line-height:1.05}.target-hero .how{max-width:44ch;margin:0 auto var(--so-space-4);color:var(--so-color-ink-muted);font-size:var(--so-text-lg)}.target-hero .cta-row{justify-content:center}.nothing-else{max-width:50ch;margin:var(--so-space-3) auto 0;color:var(--so-color-ink-faint);font-size:var(--so-text-sm)}.state{padding:var(--so-space-4) var(--so-space-3);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-surface);text-align:center}.state.act{border-color:var(--so-color-accent)}.state h3{margin:0 0 var(--so-space);font-family:var(--so-font-display);font-size:var(--so-text-2xl);font-weight:400;line-height:1.2}.state p{max-width:46ch;margin:0 auto var(--so-space-2);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.state .pair{justify-content:center;gap:var(--so-space);flex-wrap:wrap;display:flex}.state .stamp{padding:var(--so-space-half) var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius-pill);margin-bottom:var(--so-space-2);color:var(--so-color-ink-muted);font-family:var(--so-font-mono);font-size:var(--so-text-xs);display:inline-block}.warn{padding:var(--so-space-2);border-left:3px solid var(--so-color-accent);border-radius:var(--so-radius-sm);margin-top:var(--so-space-2);background:var(--so-color-bg);color:var(--so-color-ink-muted);font-size:var(--so-text-sm);text-align:left}.warn strong{color:var(--so-color-ink)}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}thead th{padding:var(--so-space);border-bottom:1px solid var(--so-color-border);color:var(--so-color-ink-faint);font-size:var(--so-text-xs);letter-spacing:.12em;text-align:left;text-transform:uppercase;white-space:nowrap;font-weight:600}tbody td{padding:var(--so-space);border-bottom:1px solid var(--so-color-border);vertical-align:top}tbody tr.longest td{background:var(--so-color-surface)}.ord{color:var(--so-color-ink-faint);font-family:var(--so-font-mono)}.who{color:var(--so-color-ink);font-family:var(--so-font-display);font-size:var(--so-text-lg)}.by{color:var(--so-color-ink-muted)}.when{color:var(--so-color-ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.lived,.thing{color:var(--so-color-ink)}.howlong{color:var(--so-color-ink-muted)}.badge{padding:2px var(--so-space);border:1px solid var(--so-color-accent);border-radius:var(--so-radius-pill);margin-top:var(--so-space-half);background:var(--so-color-accent-soft);color:var(--so-color-ink);font-size:var(--so-text-xs);display:inline-block}.facts{gap:var(--so-space-2);margin-top:var(--so-space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.fact{padding:var(--so-space-2);border:1px solid var(--so-color-border);border-radius:var(--so-radius);text-align:center}.fact .k{color:var(--so-color-ink-faint);font-size:var(--so-text-xs);letter-spacing:.14em;text-transform:uppercase;display:block}.fact .v{margin-top:var(--so-space-half);font-family:var(--so-font-display);font-size:var(--so-text-xl);display:block}.keepnote{max-width:var(--so-measure);margin-top:var(--so-space-3);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.account-box{padding:var(--so-space-3);border:1px solid var(--so-color-border);border-radius:var(--so-radius);background:var(--so-color-surface-raised)}.account-box .who-am-i{margin:0 0 var(--so-space-2);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.account-box .who-am-i strong{color:var(--so-color-ink)}.site-footer{padding:var(--so-space-4) 0 var(--so-space-3);border-top:1px solid var(--so-color-border);margin-top:var(--so-space-4);color:var(--so-color-ink-muted);font-size:var(--so-text-sm)}.footer-cols{gap:var(--so-space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.site-footer h4{margin:0 0 var(--so-space);color:var(--so-color-ink);font-family:var(--so-font-display);font-size:var(--so-text-base);font-weight:400}.site-footer a{color:var(--so-color-ink-muted);text-decoration:none}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer .flush{margin:0}.site-footer li{margin-bottom:var(--so-space-half)}.copyright{padding-top:var(--so-space-2);border-top:1px solid var(--so-color-border);margin-top:var(--so-space-3);font-size:var(--so-text-xs);justify-content:space-between;gap:var(--so-space);flex-wrap:wrap;display:flex}@media (width<=600px){.hero{padding:var(--so-space-4) 0 var(--so-space-3)}.hero h1{max-width:none;font-size:var(--so-text-2xl)}.hero.centred h1{font-size:var(--so-text-2xl)}.hero p{font-size:var(--so-text-base)}.cta-row{flex-direction:column;align-items:stretch}.cta-row .button{width:100%}.site-header .wrap{align-items:flex-start;gap:var(--so-space);flex-direction:column}.brand{margin-right:0}.form-grid,.codes,.split{grid-template-columns:1fr}.split{gap:var(--so-space-3)}.section-head h2{font-size:var(--so-text-xl)}.choices{flex-direction:column}.target-hero{padding:var(--so-space-4) 0 var(--so-space-3)}.target-hero h1{font-size:var(--so-text-target-sm)}.target-hero .how{font-size:var(--so-text-base)}.table-wrap{overflow-x:visible}table,tbody,tbody tr,tbody td{width:100%;display:block}thead{display:none}tbody tr{padding:var(--so-space) 0;border-bottom:1px solid var(--so-color-border)}tbody tr.longest{padding-left:var(--so-space);border-left:3px solid var(--so-color-accent)}tbody tr.longest td{background:0 0}tbody td{border:0;padding:2px 0}tbody td:before{color:var(--so-color-ink-faint);content:attr(data-label);font-size:var(--so-text-xs);letter-spacing:.12em;text-transform:uppercase;display:block}.when{white-space:normal}.account-box .button{width:100%}}
