:root{--ink:#111;--text:#232323;--muted:#5f5f5b;--line:#e2e2e0;--line-strong:#8a8a86;--page:#e8e8e6;--band:#d6d6d3;--surface:#fff;--accent:#ee7623;--font:Arial, Helvetica, sans-serif;--mono:"Courier New", Courier, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}a{color:var(--text)}a:hover{color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700;line-height:14px}.caps{letter-spacing:2px;text-transform:uppercase;font-weight:700}.btn{background:var(--accent);color:#fff;min-height:52px;font:bold 14px var(--font);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.btn:hover{color:#fff;filter:brightness(.95)}.btn:disabled{opacity:.6;cursor:default}.btn-secondary{border:1px solid var(--ink);background:var(--surface);min-width:64px;min-height:44px;color:var(--ink);font:bold 12px var(--font);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.link-row{align-items:center;min-height:44px;font-weight:700;display:flex}.input{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:52px;color:var(--text);font:16px var(--font);border-radius:0;padding:0 14px}textarea.input{resize:vertical;min-height:110px;padding:12px 14px}.code-input{height:64px;font:bold 30px var(--mono);letter-spacing:14px;color:var(--ink)}.field{flex-direction:column;gap:8px;display:flex}.check{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:flex}.check input{width:22px;height:22px;accent-color:var(--ink);margin:0}.error{border:2px solid var(--ink);background:var(--surface);margin:0;padding:12px 14px;font-weight:700}.notice{background:var(--band);margin:0;padding:12px 14px}.rule{background:var(--line);border:0;height:1px;margin:0}.portal{flex-direction:column;max-width:560px;min-height:100vh;margin:0 auto;display:flex}.portal-stripe{background:var(--ink);height:8px}.portal-top{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 24px;display:flex}.portal-top.center{justify-content:center}.portal-top img{width:auto;height:40px}.portal-title{background:var(--ink);color:#fff;flex-direction:column;gap:6px;padding:22px 24px;display:flex}.portal-title h1{letter-spacing:2px;text-transform:uppercase;margin:0;font-size:22px;font-weight:700;line-height:28px}.portal-title .sub{font-size:14px;line-height:20px}.portal-body{flex-direction:column;flex:1;gap:12px;margin:12px;display:flex}.card{background:var(--surface);flex-direction:column;gap:20px;padding:24px;display:flex}.lede{margin:0;font-size:17px;line-height:27px}.small{margin:0;font-size:14px;line-height:22px}.portal-foot{background:var(--ink);color:#fff;text-align:center;letter-spacing:2px;text-transform:uppercase;padding:18px 24px;font-size:12px;font-weight:700;line-height:20px}.nav-link{letter-spacing:2px;text-transform:uppercase;cursor:pointer;min-height:44px;color:var(--text);font-size:12px;font-weight:700;font-family:var(--font);background:0 0;border:0;align-items:center;gap:6px;padding:0;text-decoration:none;display:flex}.athlete{background:var(--surface);flex-direction:column;padding-bottom:8px;display:flex}.athlete h2{background:var(--band);letter-spacing:1px;text-transform:uppercase;color:var(--ink);margin:0;padding:12px 24px;font-size:18px;line-height:24px}.gallery-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin:0 24px;padding:14px 0;text-decoration:none;display:flex}.gallery-row:first-of-type{border-top:0}.gallery-row .t{color:var(--ink);font-size:16px;font-weight:700;line-height:22px}.gallery-row .m{color:var(--muted);font-size:13px;line-height:18px}.gallery-row .s{font-size:13px;line-height:18px}.stack{flex-direction:column;gap:4px;display:flex}.badge{letter-spacing:1px;text-transform:uppercase;flex:none;padding:6px 8px;font-size:11px;font-weight:700}.badge-open{background:var(--ink);color:#fff}.badge-closed{background:var(--surface);color:var(--text);border:1px solid var(--muted);padding:5px 7px}.facts{border:1px solid #dcdcda;flex-direction:column;display:flex}.fact{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.fact:first-child{border-top:0}.fact .v{color:var(--ink);overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:24px}.fact .code{font:bold 22px/28px var(--mono);letter-spacing:1px;color:var(--ink);overflow-wrap:anywhere}
