@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap";:root{--pitch-navy:#0b1e2d;--pitch-navy-deep:#071420;--turf-green:#1c5638;--turf-green-light:#2c7a4f;--chalk:#f2efe6;--chalk-dim:#f2efe69e;--floodlight:#f2b705;--card-red:#c1272d;--line:#f2efe624;--font-display:"Anton", "Arial Narrow", sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--pitch-navy);color:var(--chalk);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 15% 0,#1c563859,#0000 45%),radial-gradient(circle at 85% 100%,#f2b7050f,#0000 40%);margin:0}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--floodlight);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.app-shell{max-width:880px;margin:0 auto;padding:32px 20px 80px}.scoreboard{border:1px solid var(--line);background:var(--pitch-navy-deep);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.scoreboard-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--chalk);margin:0;font-size:clamp(28px,5vw,40px);line-height:1}.scoreboard-title span{color:var(--floodlight)}.scoreboard-tagline{color:var(--chalk-dim);letter-spacing:.03em;text-transform:uppercase;margin:6px 0 0;font-size:13px}.wallet-btn{background:var(--floodlight);cursor:pointer;border:none;border-radius:3px;color:var(--pitch-navy-deep)!important;font-weight:700!important;font-family:var(--font-body)!important;height:auto!important;padding:10px 18px!important;font-size:14px!important}.section-eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--floodlight);margin:0 0 10px;font-size:11px}.section{margin-top:36px}.sport-tabs{flex-wrap:wrap;gap:8px;display:flex}.sport-tab{border:1px solid var(--line);min-width:140px;color:var(--chalk);cursor:pointer;text-align:left;background:0 0;border-radius:4px;flex:auto;padding:12px 14px;transition:border-color .15s,background .15s}.sport-tab:hover{border-color:var(--turf-green-light)}.sport-tab.active{border-color:var(--turf-green-light);background:#1c563859}.sport-tab-label{font-size:14px;font-weight:600;display:block}.sport-tab-status{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);font-size:10px}.sport-tab.active .sport-tab-status.live{color:var(--floodlight)}.team-select{background:var(--pitch-navy-deep);border:1px solid var(--line);width:100%;color:var(--chalk);border-radius:4px;margin-top:14px;padding:12px 14px;font-size:15px}.stub-note{color:var(--chalk-dim);border-left:2px solid var(--card-red);margin-top:10px;padding-left:10px;font-size:12px}.checkin-panel{border:1px solid var(--line);background:#0b1e2d99;border-radius:4px;padding:24px}.checkin-btn{background:var(--turf-green);width:100%;color:var(--chalk);cursor:pointer;border:none;border-radius:4px;padding:16px;font-size:16px;font-weight:700;transition:background .15s,transform .1s}.checkin-btn:hover:not(:disabled){background:var(--turf-green-light)}.checkin-btn:active:not(:disabled){transform:scale(.99)}.checkin-btn:disabled{opacity:.55;cursor:not-allowed}.checkin-status{font-family:var(--font-mono);color:var(--chalk-dim);word-break:break-all;margin-top:14px;font-size:13px}.checkin-status a{color:var(--floodlight);text-decoration:underline}.connect-hint{text-align:center;color:var(--chalk-dim);padding:20px 0;font-size:14px}.ticket{border:1px solid var(--line);background:linear-gradient(135deg, var(--turf-green) 0%, var(--pitch-navy-deep) 100%);border-radius:6px;display:flex;position:relative;overflow:hidden}.ticket-main{flex:1;min-width:0;padding:26px 24px}.ticket-eyebrow{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);margin:0 0 4px;font-size:11px}.ticket-team{font-family:var(--font-display);letter-spacing:.02em;margin:0 0 14px;font-size:clamp(24px,4vw,30px)}.ticket-badge{letter-spacing:.05em;text-transform:uppercase;background:var(--floodlight);color:var(--pitch-navy-deep);border-radius:3px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.ticket-meta{color:var(--chalk-dim);font-size:12px;font-family:var(--font-mono);margin-top:16px}.ticket-stub{border-left:2px dashed #f2efe659;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:130px;padding:20px 10px;display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";background:var(--pitch-navy);border-radius:50%;width:18px;height:18px;position:absolute;left:-9px}.ticket-stub:before{top:-9px}.ticket-stub:after{bottom:-9px}.streak-number{font-family:var(--font-display);color:var(--floodlight);font-size:46px;line-height:1}.streak-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);text-align:center;margin-top:6px;font-size:10px}.share-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.share-btn{border:1px solid var(--line);color:var(--chalk);cursor:pointer;background:0 0;border-radius:4px;padding:10px 16px;font-size:13px;font-weight:600}.share-btn:hover{border-color:var(--floodlight);color:var(--floodlight)}.badge-claim{margin-top:14px}.badge-claim-note{font-family:var(--font-mono);color:var(--chalk-dim);font-size:12px}.badge-claim-note a{color:var(--floodlight);text-decoration:underline}.fan-passport{border:1px solid var(--line);background:linear-gradient(160deg, #1c563847 0%, var(--pitch-navy-deep) 100%);border-radius:6px;padding:24px}.fan-passport-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.fan-passport-name{font-family:var(--font-display);letter-spacing:.02em;margin:4px 0 0;font-size:clamp(22px,3.4vw,28px)}.fan-passport-sub{color:var(--chalk-dim);margin:4px 0 0;font-size:13px}.fan-passport-stars{letter-spacing:2px;white-space:nowrap;font-size:20px}.star{color:#f2efe633}.star.filled{color:var(--floodlight)}.fan-passport-stats{border-top:1px solid var(--line);flex-wrap:wrap;gap:24px;margin-top:22px;padding-top:18px;display:flex}.fan-stat{flex-direction:column;display:flex}.fan-stat-value{font-family:var(--font-display);color:var(--floodlight);font-size:26px;line-height:1}.fan-stat-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);margin-top:4px;font-size:10px}.fan-progress{margin-top:20px}.fan-progress-labels{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);justify-content:space-between;margin-bottom:6px;font-size:10px;display:flex}.fan-progress-track{background:#f2efe61a;border-radius:4px;height:8px;overflow:hidden}.fan-progress-fill{background:linear-gradient(90deg, var(--turf-green-light), var(--floodlight));border-radius:4px;height:100%;transition:width .5s}.fan-progress-note{color:var(--chalk-dim);margin:8px 0 0;font-size:12px}.checkin-btn.just-checked-in{animation:.5s checkin-pulse}@keyframes checkin-pulse{0%{transform:scale(1)}40%{transform:scale(1.02);box-shadow:0 0 0 4px #f2b70540}to{transform:scale(1)}}.reward-toast{flex-direction:column;gap:4px;margin-top:14px;animation:.35s reward-in;display:flex}@keyframes reward-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.reward-line{font-family:var(--font-mono);color:var(--floodlight);font-size:13px}.reward-badge{color:var(--chalk);font-weight:700}.confetti-layer{pointer-events:none;z-index:60;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.95;width:8px;height:14px;animation:1.2s ease-out forwards confetti-fall;position:absolute;top:38%}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx), 340px) rotate(var(--rot));opacity:0}}.leaderboard{border:1px solid var(--line);background:#0b1e2d99;border-radius:4px;padding:8px 20px}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-row{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 0;font-size:14px;display:flex}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.me{color:var(--floodlight);font-weight:700}.leaderboard-rank{font-family:var(--font-mono);color:var(--chalk-dim);width:32px}.leaderboard-wallet{font-family:var(--font-mono);flex:1}.leaderboard-streak{font-family:var(--font-display);color:var(--floodlight)}.leaderboard-row.me .leaderboard-streak{color:inherit}.header-actions{align-items:center;gap:12px;display:flex}.demo-toggle{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);color:var(--chalk-dim);cursor:pointer;background:0 0;border-radius:4px;padding:8px 14px;font-size:11px;transition:border-color .15s,color .15s}.demo-toggle:hover{border-color:var(--floodlight);color:var(--floodlight)}.demo-banner{border:1px solid var(--floodlight);color:var(--floodlight);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;text-align:center;background:#f2b70526;border-radius:4px;margin-bottom:16px;padding:8px;font-size:11px}.fan-passport-id-row{background:#0000002e;border-radius:4px;flex-wrap:wrap;gap:20px;margin-top:18px;padding:14px 16px;display:flex}.fan-id-field{flex-direction:column;gap:3px;min-width:110px;display:flex}.fan-id-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);font-size:9px}.fan-id-value{color:var(--chalk);font-size:14px}.fan-achievements{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.achievements-grid{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.achievement-chip{border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.achievement-chip.unlocked{border-color:var(--floodlight);color:var(--floodlight);background:#f2b70514}.achievement-chip.locked{color:var(--chalk-dim);opacity:.6}.achievement-icon{font-size:14px}.fan-passport-explainer{border-top:1px solid var(--line);color:var(--chalk-dim);margin-top:20px;padding-top:16px;font-size:12px;line-height:1.6}.upcoming-match{border:1px dashed var(--line);border-radius:6px;padding:18px 20px}.upcoming-match-head{justify-content:space-between;align-items:baseline;display:flex}.upcoming-match-when{font-family:var(--font-mono);color:var(--chalk-dim);text-transform:uppercase;font-size:11px}.upcoming-match-title{font-family:var(--font-display);margin:8px 0 4px;font-size:20px}.upcoming-match-countdown{font-family:var(--font-mono);color:var(--chalk-dim);font-size:13px}.upcoming-match-countdown span{color:var(--floodlight);font-weight:700}.fan-count-note{color:var(--chalk-dim);margin-top:8px;font-size:12px}.activity-list{border:1px solid var(--line);background:#0b1e2d99;border-radius:4px;margin:0;padding:0;list-style:none}.activity-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 18px;font-size:13px;display:flex}.activity-row:last-child{border-bottom:none}.activity-check{color:var(--turf-green-light)}.activity-label{flex:1}.activity-time{color:var(--chalk-dim);font-family:var(--font-mono);font-size:11px}.activity-link{font-family:var(--font-mono);color:var(--floodlight);font-size:11px}.footer-note{border-top:1px solid var(--line);color:var(--chalk-dim);margin-top:48px;padding-top:20px;font-size:12px;line-height:1.6}@media (width<=480px){.ticket{flex-direction:column}.ticket-stub{border-top:2px dashed #f2efe659;border-left:none;flex-direction:row;gap:12px;width:auto}.ticket-stub:before,.ticket-stub:after{top:-9px;left:50%;transform:translate(-50%)}.ticket-stub:after{top:auto;bottom:-9px}}.wallet-adapter-button{color:#fff;cursor:pointer;background-color:#0000;border:none;border-radius:4px;align-items:center;height:48px;padding:0 24px;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;font-weight:600;line-height:48px;display:flex}.wallet-adapter-button-trigger{background-color:#512da8}.wallet-adapter-button:not([disabled]):focus-visible{outline-color:#fff}.wallet-adapter-button:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-button[disabled]{color:#999;cursor:not-allowed;background:#404144}.wallet-adapter-button-end-icon,.wallet-adapter-button-start-icon,.wallet-adapter-button-end-icon img,.wallet-adapter-button-start-icon img{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.wallet-adapter-button-end-icon{margin-left:12px}.wallet-adapter-button-start-icon{margin-right:12px}.wallet-adapter-collapse{width:100%}.wallet-adapter-dropdown{display:inline-block;position:relative}.wallet-adapter-dropdown-list{z-index:99;grid-row-gap:10px;opacity:0;visibility:hidden;background:#2c2d30;border-radius:10px;grid-template-rows:1fr;margin:0;padding:10px;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;list-style:none;transition:opacity .2s,transform .2s,visibility .2s;display:grid;position:absolute;top:100%;right:0;box-shadow:0 8px 20px #0009}.wallet-adapter-dropdown-list-active{opacity:1;visibility:visible;transform:translateY(10px)}.wallet-adapter-dropdown-list-item{cursor:pointer;white-space:nowrap;box-sizing:border-box;color:#fff;border:none;border-radius:6px;outline:none;flex-direction:row;justify-content:center;align-items:center;width:100%;height:37px;padding:0 20px;font-size:14px;font-weight:600;display:flex}.wallet-adapter-dropdown-list-item:not([disabled]):hover{background-color:#1a1f2e}.wallet-adapter-modal-collapse-button svg{fill:#999;align-self:center}.wallet-adapter-modal-collapse-button.wallet-adapter-modal-collapse-button-active svg{transition:transform .15s ease-in;transform:rotate(180deg)}.wallet-adapter-modal{opacity:0;z-index:1040;background:#00000080;transition:opacity .15s linear;position:fixed;inset:0;overflow-y:auto}.wallet-adapter-modal.wallet-adapter-modal-fade-in{opacity:1}.wallet-adapter-modal-button-close{cursor:pointer;background:#1a1f2e;border:none;border-radius:50%;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;top:18px;right:18px}.wallet-adapter-modal-button-close:focus-visible{outline-color:#fff}.wallet-adapter-modal-button-close svg{fill:#777;transition:fill .2s}.wallet-adapter-modal-button-close:hover svg{fill:#fff}.wallet-adapter-modal-overlay{background:#00000080;position:fixed;inset:0}.wallet-adapter-modal-container{justify-content:center;align-items:center;min-height:calc(100vh - 6rem);margin:3rem;display:flex}@media (width<=480px){.wallet-adapter-modal-container{min-height:calc(100vh - 2rem);margin:1rem}}.wallet-adapter-modal-wrapper{box-sizing:border-box;z-index:1050;background:#10141f;border-radius:10px;flex-direction:column;flex:1;align-items:center;max-width:400px;font-family:DM Sans,Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;position:relative;box-shadow:0 8px 20px #0009}.wallet-adapter-modal-wrapper .wallet-adapter-button{width:100%}.wallet-adapter-modal-title{text-align:center;color:#fff;margin:0;padding:64px 48px 48px;font-size:24px;font-weight:500;line-height:36px}@media (width<=374px){.wallet-adapter-modal-title{font-size:18px}}.wallet-adapter-modal-list{width:100%;margin:0 0 12px;padding:0;list-style:none}.wallet-adapter-modal-list .wallet-adapter-button{border-radius:0;font-size:18px;font-weight:400}.wallet-adapter-modal-list .wallet-adapter-button-end-icon,.wallet-adapter-modal-list .wallet-adapter-button-start-icon,.wallet-adapter-modal-list .wallet-adapter-button-end-icon img,.wallet-adapter-modal-list .wallet-adapter-button-start-icon img{width:28px;height:28px}.wallet-adapter-modal-list .wallet-adapter-button span{opacity:.6;margin-left:auto;font-size:14px}.wallet-adapter-modal-list-more{cursor:pointer;color:#fff;background-color:#0000;border:none;align-self:flex-end;align-items:center;padding:12px 24px 24px 12px;display:flex}.wallet-adapter-modal-list-more svg{fill:#fff;margin-left:.5rem;transition:all .1s}.wallet-adapter-modal-list-more-icon-rotate{transform:rotate(180deg)}.wallet-adapter-modal-middle{box-sizing:border-box;flex-direction:column;align-items:center;width:100%;padding:0 24px 24px;display:flex}.wallet-adapter-modal-middle-button{cursor:pointer;color:#fff;background-color:#512da8;border:none;border-radius:8px;width:100%;margin-top:48px;padding:12px;font-size:18px;display:block}
