:root{color-scheme:dark;--pao:#00e5ff;--bg:#171717;--panel:#20282b;--border:rgba(255,255,255,.16);--muted:#bdd0d5;--race:#00e5ff}
body[data-race-theme="berlin"]{--race:#f1c65a}
body[data-race-theme="sf"]{--race:#a83e24;--pao:#a83e24;--bg:#eef3f4;--panel:#fff;--border:#cbd6d9;--muted:#425b63;color:#20343b;color-scheme:light}
body[data-race-theme="sf"] .page-shell{background:#f9fbfb}
body[data-race-theme="sf"] .site-header{min-height:90px}
body[data-race-theme="sf"] .sf-wordmark{font-size:30px;font-weight:750;color:#b7472c}
body[data-race-theme="sf"] .utility-link{background:#fff;color:#334e57;border-color:#91a5ac}
body[data-race-theme="sf"] .race-location{color:#425b63}
body[data-race-theme="sf"] .claim-section{background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:20px 0}
body[data-race-theme="sf"] .claim-button{background:#a83e24;color:#fff}
body[data-race-theme="sf"] .certificate-dialog{--pao:#e97958}
.context-nav{flex-wrap:wrap}
*{box-sizing:border-box}
html{overflow-y:scroll}
body{margin:0;min-height:100vh;padding:20px;background:var(--bg);color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:inherit}
.page-shell{width:min(940px,100%);margin:0 auto;padding:1px 20px 20px;border-radius:8px;background:rgba(18,18,18,.92)}
.site-header{position:relative;min-height:98px;padding-top:15px;text-align:center}
.logo-link{display:inline-flex;gap:10px;color:#fff;text-decoration:none}
.logo-char{text-align:center}
body[data-race-theme="tw"] .sf-wordmark{font-size:30px;font-weight:750;color:var(--pao);padding:8px 0}
.char-zh{display:block;font-size:2.8rem;font-weight:700;line-height:1.1}
.char-en{display:block;color:#ccc;font-size:.8rem;font-weight:600}
.pao{color:var(--pao)}
.header-actions{position:absolute;top:18px;left:0;display:flex;gap:8px}
.header-actions-right{left:auto;right:0}
.utility-link{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0;border:1px solid #555;border-radius:50%;background:#222;color:#e6e6e6;text-decoration:none;font-size:.9rem;font-weight:600}
.utility-link:hover,.utility-link:focus-visible{border-color:var(--pao);color:var(--pao)}
.language-link{padding:0 9px;border-radius:999px}
.account-header-link svg{width:20px;height:20px}
.context-nav{display:flex;align-items:center;gap:9px;margin:4px 0 16px;color:var(--muted);font-size:.9rem}
.context-nav a{text-decoration:none}
.context-nav a:hover{text-decoration:underline}
main{width:min(760px,100%);margin:0 auto}
.result-hero{border:1px solid var(--border);border-top:4px solid var(--race);border-radius:8px;padding:26px 28px 22px;background:var(--panel)}
.race-context{margin:0 0 10px;color:var(--race);font-size:.9rem;font-weight:750}
h1{margin:0;font-size:2.25rem;line-height:1.22;overflow-wrap:anywhere}
.race-location{margin:10px 0 0;color:#dce9eb;line-height:1.5}
.time-block{display:grid;gap:5px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.time-block span{color:var(--muted);font-size:.92rem}
.time-block strong{color:var(--pao);font-size:3.7rem;font-variant-numeric:tabular-nums;line-height:1.15}
.result-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;margin:20px 0 0;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.result-facts div{min-width:0;padding-right:12px}
.result-facts div+div{padding-left:16px;border-left:1px solid var(--border)}
.result-facts dt{color:var(--muted);font-size:.86rem}
.result-facts dd{margin:5px 0 0;font-size:1.2rem;font-weight:750;font-variant-numeric:tabular-nums}
.share-open-button{margin-top:18px;padding:10px 15px;border:1px solid var(--race);border-radius:6px;background:transparent;color:var(--race);font:inherit;font-weight:700;cursor:pointer}
.share-open-button:hover,.share-open-button:focus-visible{background:rgba(255,255,255,.08)}
.splits-section{padding:18px 0}
.splits-section h2{font-size:1.15rem}
.splits-list{display:grid;gap:8px}
.splits-list div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}
.splits-list dd{margin:0;font-variant-numeric:tabular-nums}
.claim-section{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:16px;padding:20px 24px;border:1px solid var(--border);border-radius:8px;background:#263136}
.claim-section h2{margin:0;font-size:1.2rem}
.claim-section p{margin:6px 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}
.claim-button{flex:0 0 auto;padding:11px 15px;border-radius:6px;background:var(--pao);color:#05272c;text-decoration:none;font-weight:750;text-align:center}
.claim-button:hover{background:#7af3ff}
.result-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:25px 0 8px;color:var(--muted);font-size:.9rem}
.result-links a{text-underline-offset:3px}
footer{padding-top:18px;text-align:center;color:var(--muted);font-size:.85rem}
footer a{text-underline-offset:3px}
.certificate-dialog{width:min(440px,calc(100vw - 20px));max-height:94vh;max-height:94dvh;padding:18px;border:1px solid #57666b;border-radius:8px;background:#1d282b;color:#fff;overflow:auto}
.certificate-dialog::backdrop{background:rgba(0,0,0,.8)}
.certificate-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.certificate-dialog h2{margin:0;font-size:1.15rem}
.certificate-close{width:32px;height:32px;border:1px solid #657477;border-radius:50%;background:transparent;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.certificate-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:14px;border:1px solid #657477;border-radius:6px;overflow:hidden}
.certificate-modes button{min-height:42px;padding:6px 8px;border:0;background:transparent;color:#e1edef;font:inherit;font-size:.9rem;cursor:pointer}
.certificate-modes button+button{border-left:1px solid #657477}
.certificate-modes button[aria-pressed="true"]{background:var(--pao);color:#05272c;font-weight:750}
.certificate-name-label{display:block;margin:0 0 5px;color:#bdd0d5;font-size:.85rem}
.certificate-name{display:block;width:100%;min-height:42px;margin:0 0 14px;padding:8px 10px;font:inherit;font-size:16px;background:#121a1d;color:#fff;border:1px solid #657477;border-radius:4px}
.certificate-name:focus-visible{outline:2px solid var(--pao);outline-offset:2px}
.share-open-button{max-width:100%;overflow-wrap:anywhere}
.certificate-render-canvas{display:none}
.certificate-preview{display:block;width:auto;height:auto;max-width:100%;max-height:55vh;max-height:55dvh;margin:0 auto;border:1px solid #647175;border-radius:3px}
.certificate-preview[hidden]{display:none}
.certificate-actions{display:grid;gap:8px;margin-top:14px}
.certificate-actions button{width:100%;min-height:44px;padding:8px 12px;border:0;border-radius:6px;background:var(--pao);color:#05272c;font:inherit;font-weight:750;cursor:pointer}
.certificate-actions button[hidden]{display:none}
.certificate-actions button:disabled{opacity:.6;cursor:wait}
.certificate-dialog[data-native-share="true"] .certificate-download{border:1px solid #647175;background:transparent;color:#fff}
.certificate-error{margin:10px 0 0;color:#ffd1cb;font-size:.9rem}
@media(max-width:620px){body{padding:10px}.page-shell{padding:1px 10px 18px}.site-header{min-height:86px}.char-zh{font-size:2.35rem}.char-en{font-size:.7rem}.context-nav{margin:3px 4px 11px}.result-hero{padding:20px 17px}h1{font-size:1.7rem}.time-block strong{font-size:2.6rem}.result-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:15px}.result-facts div:nth-child(odd){padding-left:0;border-left:0}.claim-section{align-items:stretch;flex-direction:column;gap:12px;padding:17px}.claim-button{width:100%}}
@media(max-width:620px) and (max-height:740px){.certificate-preview{max-height:47dvh}}
@media(max-width:360px){.logo-link{gap:6px}.char-zh{font-size:1.9rem}.char-en{font-size:.64rem}.header-actions-right{gap:4px}.utility-link{min-width:28px;height:28px}}
@media(max-width:620px){body[data-race-theme="sf"] .time-block strong{font-size:2rem}body[data-race-theme="sf"] .sf-wordmark{font-size:27px}}
