:root{color-scheme:dark;--ink:#11132f;--panel:#202043;--cream:#f5f2ff;--soft:#bdb9d8;--gold:#ffdb68;--purple:#aa91ff;--line:#665889;--coral:#ff926d;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft Yahei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:#090b21;line-height:1.7}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.page{max-width:720px;margin:auto;overflow:hidden;background:radial-gradient(ellipse at 100% 46%,#35236660,transparent 60%),var(--ink)}.hero{position:relative}.hero-art{display:block;width:100%;height:auto}.top-actions{position:absolute;z-index:1;top:14px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px;font-size:10px;font-weight:700;letter-spacing:.7px;text-shadow:0 1px 6px #111}.top-actions button{border:1px solid #ffdb6877;border-radius:30px;background:#131330b8;padding:5px 12px;color:#fff8d5;white-space:nowrap;backdrop-filter:blur(8px)}.top-actions>span{font-size:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}main{padding:0 23px}.identity{position:relative;display:flex;align-items:center;gap:11px;margin:-9px 0 18px;padding:15px 16px;background:#252246;border:1px solid #817198;border-radius:15px;box-shadow:0 8px 40px #0002}.identity-symbol{font-size:32px;line-height:1;color:var(--gold)}.identity-copy{flex:1;min-width:0}.identity-copy strong{font-size:17px;display:block;overflow-wrap:anywhere}.identity-copy p{font-size:11px;color:var(--soft);margin:0}.text-button{border:0;background:none;color:var(--gold);font-size:13px;padding:8px 0;flex-shrink:0}.context-error{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--coral);padding:12px;border-radius:9px;color:#ffb99d;font-size:13px}.context-error button{border:0;background:none;color:inherit;white-space:nowrap;text-decoration:underline}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;border-bottom:1px solid var(--line);margin:12px 0 32px}.tabs button{font-size:14px;border:0;border-bottom:3px solid transparent;background:none;padding:13px 2px;color:var(--soft);white-space:nowrap}.tabs button[aria-selected=true]{color:var(--gold);border-bottom-color:var(--gold);font-weight:700}.panel{scroll-margin-top:16px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--purple);font-weight:700}.intro{position:relative}.intro h2{position:relative;font-size:35px;line-height:1.3;margin:11px 0 18px;letter-spacing:-1px;font-weight:850}.intro h2 i{position:absolute;right:2px;bottom:0;font-style:normal;font-size:48px;color:var(--gold)}.intro p{color:var(--soft);font-size:14px;margin-bottom:27px;max-width:560px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:20px 0;margin-bottom:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats>div{display:flex;flex-direction:column;align-items:center;border-right:1px solid #55496d}.stats>div:last-child{border:0}.stats strong{font-size:34px;line-height:1.2;color:var(--gold);letter-spacing:-1px}.stats small{font-size:11px;margin-left:3px;letter-spacing:0}.stats span{font-size:10px;margin-top:9px;color:var(--soft)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.section-heading h2,.section-heading h3{font-size:21px;line-height:1.4;margin:0}.section-heading>span{font-size:10px;color:var(--soft);white-space:nowrap}.score-block{background:linear-gradient(125deg,#302358,#24213e);border:1px solid #756095;padding:24px 19px;border-radius:17px;margin-bottom:38px}.score-block h3{font-size:19px}.score-block p,.race-note p{font-size:13px;color:var(--soft)}.score-formula{display:flex;align-items:center;gap:22px;margin:22px 0}.score-formula>b{font-size:40px;line-height:1.1;letter-spacing:-1px;color:var(--gold)}.score-formula>b:last-child{color:var(--coral)}.score-formula small{display:block;font-size:12px;letter-spacing:0;margin-top:8px}.score-formula>span{font-size:28px;color:var(--purple)}.secondary-button{width:100%;border:1px solid #aa91ff88;border-radius:9px;background:#161633;color:var(--cream);padding:10px;font-size:13px;margin-top:10px}.how-to h3{font-size:23px;line-height:1.5;margin:10px 0 23px}.how-to ol{list-style:none;counter-reset:step;padding:0}.how-to li{position:relative;padding:0 0 25px 46px;counter-increment:step}.how-to li:before{content:"0" counter(step);position:absolute;left:0;top:0;width:30px;font-size:20px;font-weight:800;color:var(--purple)}.how-to b{font-size:17px}.how-to li span{display:block;color:var(--soft);font-size:13px;margin-top:5px}.race-note{border-left:3px solid var(--gold);padding-left:16px;margin:25px 0 34px}.race-note strong{font-size:18px}.event-meta{border-top:1px solid var(--line);padding-top:14px;margin-top:22px}.event-meta p{display:flex;gap:16px;font-size:12px}.event-meta b{font-weight:500;color:var(--soft);flex-shrink:0}.muted{font-size:13px;color:var(--soft)}footer{text-align:center;margin:40px -23px 0;padding:25px 24px 130px;background:#0d1029;border-top:1px solid #3e345d}footer p{font-size:17px;color:var(--gold);margin:0 0 9px}footer>span{font-size:11px;color:var(--soft)}footer small{display:block;font-size:10px;color:#9e9bb8;margin:16px auto 0;max-width:420px}.map-card{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#252341;margin:20px 0}.map-card img{display:block;width:100%;height:auto;min-height:100px}.map-card>span{position:absolute;right:10px;bottom:10px;padding:5px 10px;border-radius:5px;background:#11132fe8;color:var(--gold);font-size:12px}.point-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}.point{display:flex;flex-direction:column;align-items:center;background:#252141;padding:15px 5px;border:1px solid #665582;border-radius:10px}.point i{font-style:normal;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#21163c;font-weight:800}.point strong{font-size:14px;margin-top:7px;text-align:center;overflow-wrap:anywhere}.point small{font-size:11px;color:var(--soft)}.board-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.rank{font-size:22px;color:var(--gold);font-weight:800}.board-name{font-size:16px;overflow-wrap:anywhere}.board-meta{font-size:11px;color:var(--soft);margin-top:5px}.board-status-tag{color:var(--gold);margin-left:5px}.board-score{font-size:27px;color:var(--gold);font-weight:800}.board-score small{font-size:11px;margin-left:3px}.board-status{font-size:13px;color:var(--gold)}.empty{text-align:center;padding:35px 12px;background:#252141;margin:18px 0;border:1px solid #665582;border-radius:12px}.empty-mark{display:block;color:var(--gold);font-size:34px}.empty b{display:block;font-size:18px}.empty p{font-size:13px;color:var(--soft);margin:8px 0 16px}.sticky-start{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;display:flex;gap:12px;align-items:center;background:#19172ff5;border-top:1px solid #8873a7;padding:13px 18px calc(13px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.sticky-start>div{flex:1;min-width:0}.sticky-start b{display:block;font-size:14px;white-space:nowrap}.sticky-start>div>span{display:block;font-size:11px;color:var(--soft);margin-top:3px}.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;border:0;border-radius:10px;background:var(--gold);color:#21163c;font-size:17px;font-weight:750;padding:11px 21px;text-decoration:none}.sticky-start .primary-button{max-width:54%;font-size:16px;flex-shrink:0}.primary-button span{font-size:21px}dialog{position:fixed;width:calc(100% - 28px);max-width:480px;max-height:85dvh;overflow:auto;background:#24203f;color:var(--cream);border:1px solid var(--purple);border-radius:17px;padding:28px 21px;box-shadow:0 24px 80px #0008}dialog::backdrop{background:#0c0b21c9;backdrop-filter:blur(5px)}.modal-close{position:absolute;top:6px;right:12px;background:transparent;border:0;color:var(--soft);font-size:27px;padding:0 5px}#modal-content h2{font-size:23px;line-height:1.45;margin:6px 0 13px;padding-right:15px}#modal-content p{font-size:14px;color:var(--soft)}#modal-content>.primary-button,#modal-content form>.primary-button{display:flex;width:100%;margin-top:20px}.form-label{display:block;font-size:13px;margin:22px 0 7px}.name-field{width:100%;padding:12px;border:1px solid var(--purple);border-radius:8px;background:#13132f;color:var(--cream);font-size:17px}.form-hint{font-size:12px!important}.agreement{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--soft);margin-top:18px}.agreement input{accent-color:var(--gold);width:18px;height:18px;flex-shrink:0;margin:2px 0}.form-error{font-size:13px;color:#ffbb9e!important}.share-preview img{width:100%;height:auto;border-radius:9px}.share-preview h3{font-size:21px;margin:12px 0 6px}.map-scroll{overflow:auto;max-height:55dvh;border-radius:8px}.modal-map{display:block;width:980px;max-width:none;height:auto}#toast{pointer-events:none;position:fixed;z-index:100;top:20px;left:50%;transform:translate(-50%,-20px);opacity:0;transition:opacity .18s,transform .18s;background:#25203ff5;color:var(--cream);border:1px solid var(--purple);padding:12px 17px;border-radius:10px;font-size:14px;width:max-content;max-width:calc(100% - 32px);box-shadow:0 4px 20px #0005}#toast.visible{opacity:1;transform:translate(-50%,0)}@media(min-width:721px){.page{box-shadow:0 0 90px #2b1c5b}main{padding:0 35px}.intro h2{font-size:45px}.point-list{grid-template-columns:repeat(3,minmax(0,1fr))}footer{margin-left:-35px;margin-right:-35px}}@media(max-width:350px){main{padding:0 16px}.intro h2{font-size:30px}.intro h2 i{font-size:40px}.stats strong{font-size:29px}.stats span{font-size:9px}.section-heading h2,.section-heading h3{font-size:17px}.sticky-start{gap:7px;padding-left:12px;padding-right:12px}.sticky-start b{font-size:12px}.sticky-start .primary-button{font-size:14px;padding:11px 14px}.top-actions{padding:0 10px;top:10px}.top-actions>span{font-size:7px}.score-block{padding:20px 15px}footer{margin-left:-16px;margin-right:-16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Keep navigation clear of the complete poster typography. */
.top-actions{position:relative;top:auto;left:auto;right:auto;padding:11px 17px;background:#11132f}.hero-art{object-fit:contain}

/* Fixed page scale; allow normal vertical and horizontal scrolling. */
html,body{touch-action:pan-x pan-y}
