@font-face{font-family:Sora;src:url("/assets/fonts/sora-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url("/assets/fonts/inter-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#171b22;--teal:#08727a;--paper:#f7f3e9;--paper-2:#fffdf8;--sun:#efc54b;--tomato:#ef6b45;--muted:#5c6165;--line:rgba(23,27,34,.14);--display:Sora,"Arial Black",sans-serif;--body:Inter,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none;touch-action:manipulation}
a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.bio{max-width:460px;margin:auto;padding:calc(40px + env(safe-area-inset-top)) 20px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;min-height:100dvh}
.bio-head{text-align:center}
.bio-logo{display:block;width:96px;height:96px;margin:0 auto 16px}
.bio-head h1{margin:0;font:700 34px/1 var(--display);letter-spacing:-.06em;text-transform:uppercase}
.bio-sub{margin:6px 0 0;color:var(--muted);font-size:13px}
.bio-tag{margin:14px 0 0;font:600 17px/1.2 var(--display);letter-spacing:-.03em}
.bio-tag strong{color:var(--teal)}
.bio-links{display:grid;gap:12px;margin-top:30px}
.bio-link{position:relative;display:grid;min-height:68px;padding:14px 52px 14px 20px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);transition:transform .16s ease-out,background-color .16s}
.bio-link b{font:700 16px/1.2 var(--display);letter-spacing:-.03em}
.bio-link span{color:var(--muted);font-size:12px}
.bio-link .ico{position:absolute;right:18px;top:50%;width:22px;height:22px;margin-top:-11px;color:var(--teal)}
.bio-link:active{transform:scale(.98)}
@media(hover:hover){.bio-link:hover{background:#fff}}
.bio-link.primary{border-color:var(--ink);background:var(--ink);color:#fff}
.bio-link.primary span{color:#c5ccce}
.bio-link.primary .ico{color:var(--sun)}
.bio-link.accent{border-color:var(--sun);background:var(--sun)}
.bio-link.accent span{color:#5a4a1c}
.bio-link.accent .ico{color:var(--ink)}
@media(hover:hover){.bio-link.primary:hover{background:var(--teal);border-color:var(--teal)}.bio-link.accent:hover{background:#f5d66f}}
.bio-foot{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:auto;padding-top:36px;color:var(--muted);font-size:12px}
.bio-foot strong{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.bio-link{transition:none}}
.club{margin-top:26px;padding:20px;border-radius:22px;background:#b8432a;color:#fff}
.club[hidden],.club-form[hidden],.club-done[hidden]{display:none}
.club h2{margin:0 0 8px;text-wrap:balance;font:700 22px/1.08 var(--display);letter-spacing:-.045em}
.club p{margin:0 0 12px;font-size:13px;color:#fff0eb}
.club-field{display:grid;gap:5px;margin-top:10px;font-size:12px;font-weight:700}
.club-field input{width:100%;height:46px;padding:0 13px;border:0;border-radius:12px;background:#fff;color:var(--ink);font:16px var(--body)}
.club-check{display:flex;gap:9px;align-items:flex-start;margin-top:12px;font-size:12px;color:#fff0eb}
.club-check input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink);flex:0 0 auto}
.club-error{min-height:0;margin:8px 0 0!important;color:#fff!important;font-weight:700}
.club-error:empty{display:none}
.club-btn,.club-swap{font:inherit;cursor:pointer;touch-action:manipulation}
.club-btn{width:100%;min-height:50px;margin-top:12px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:700;font-size:15px;transition:transform .14s ease-out}
.club-btn:active{transform:scale(.97)}
.club-note{display:block;margin-top:10px;font-size:12px;color:#fff0eb;text-align:center}
.club-code{display:inline-flex;align-items:baseline;gap:8px;padding:10px 16px;border-radius:12px;background:var(--sun);color:var(--ink);font:700 22px var(--display);letter-spacing:.04em}
.club-code small{font:600 10px var(--body);letter-spacing:0;color:#5a4a1c}
.club-swap{display:block;min-height:44px;margin-top:6px;padding:0;border:0;background:none;color:#fff;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.club :focus-visible{outline-color:var(--ink)}
.ico{display:inline-block;flex:0 0 auto;width:1em;height:1em;vertical-align:-.125em}
.club h2 .ico{display:block;width:30px;height:30px;margin-bottom:10px;color:var(--sun)}
::selection{background:var(--sun);color:var(--ink)}
input{caret-color:var(--teal)}
.club-btn:disabled{opacity:.75;cursor:progress}
