:root{--charcoal:#1a1a1a;--ash-grey:#8a8a7a;--serengeti-gold:#c4973b;--flash-white:#fff;--charcoal-light:#2a2a2a;--charcoal-dark:#0a0a0a;--gold-dim:#c4973b4d;--gold-glow:#c4973b99}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--charcoal);color:var(--flash-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.serif{font-family:Playfair Display,Georgia,serif}.mono{font-family:JetBrains Mono,Fira Code,SF Mono,monospace}a{color:var(--serengeti-gold);text-decoration:none;transition:opacity .2s}a:hover{opacity:.8}.site-footer{background:#0a0a0a;border-top:1px solid #2a2a2a;margin-top:auto;padding:24px 20px}.footer-content{text-align:center;max-width:720px;margin:0 auto}.footer-links{margin-bottom:12px}.footer-links a{color:#8a8a7a;font-size:12px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#c4973b}.footer-divider{color:#3a3a3a;margin:0 12px;font-size:12px}.footer-copyright{color:#5a5a5a;margin:0;font-size:11px}.gated-entrance{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.gated-entrance.entering{animation:.8s ease-out forwards fadeOut}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.entrance-content{z-index:10;text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex;position:relative}.wordmark{letter-spacing:12px;color:var(--flash-white);text-shadow:0 0 40px #c4973b4d;margin:0;font-size:72px;font-weight:400}.tagline{color:var(--ash-grey);letter-spacing:3px;text-transform:uppercase;opacity:.8;margin:0;font-size:13px}.code-form{flex-direction:column;align-items:center;gap:16px;margin-top:32px;display:flex}.code-form.shake{animation:.5s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.code-input{letter-spacing:3px;text-align:center;text-transform:uppercase;border:1px solid var(--ash-grey);width:240px;color:var(--flash-white);caret-color:var(--serengeti-gold);background:0 0;outline:none;padding:14px 20px;font-size:16px;animation:4s ease-in-out infinite borderPulse}.code-input:focus{border-color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim);animation:none}.code-input::placeholder{color:var(--ash-grey);opacity:.6}@keyframes borderPulse{0%,to{border-color:var(--ash-grey)}50%{border-color:var(--serengeti-gold);box-shadow:0 0 15px var(--gold-dim)}}.enter-btn{letter-spacing:2px;text-transform:uppercase;border:1px solid var(--ash-grey);color:var(--flash-white);cursor:pointer;background:0 0;padding:12px 48px;font-size:14px;transition:all .3s}.enter-btn:hover{border-color:var(--serengeti-gold);color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim)}.track-record-link{color:var(--ash-grey);letter-spacing:3px;text-transform:uppercase;opacity:.8;margin-top:24px;font-size:13px;transition:opacity .3s,color .3s}.track-record-link:hover{opacity:1;color:var(--serengeti-gold)}.auth-buttons{flex-direction:column;gap:12px;width:280px;margin-top:200px;display:flex}.oauth-btn{letter-spacing:1px;border:1px solid var(--ash-grey);color:var(--flash-white);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-family:inherit;font-size:14px;transition:all .3s;display:flex}.oauth-btn:hover:not(:disabled){border-color:var(--serengeti-gold);color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim)}.oauth-btn:disabled{opacity:.4;cursor:not-allowed}.oauth-icon{width:20px;height:20px}.google-btn:hover:not(:disabled) .oauth-icon path:first-child{fill:#4285f4}.google-btn:hover:not(:disabled) .oauth-icon path:nth-child(2){fill:#34a853}.google-btn:hover:not(:disabled) .oauth-icon path:nth-child(3){fill:#fbbc05}.google-btn:hover:not(:disabled) .oauth-icon path:nth-child(4){fill:#ea4335}.auth-divider{align-items:center;gap:16px;width:280px;margin-top:24px;display:flex}.divider-line{background:var(--ash-grey);opacity:.3;flex:1;height:1px}.divider-text{color:var(--ash-grey);letter-spacing:1px;cursor:pointer;white-space:nowrap;background:0 0;border:none;font-size:12px;transition:color .3s}.divider-text:hover{color:var(--serengeti-gold)}.code-error{color:#e57373;text-align:center;margin:0;font-size:12px}.welcome-overlay{z-index:100;background:#000000d9;justify-content:center;align-items:center;animation:.5s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.welcome-modal{text-align:center;max-width:400px;padding:48px;animation:.5s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-modal h2{color:var(--flash-white);margin:0 0 24px;font-size:32px;font-weight:400}.welcome-text{color:var(--serengeti-gold);margin:0 0 16px;font-size:18px}.welcome-subtext{color:var(--ash-grey);margin:0 0 32px;font-size:14px;line-height:1.6}.welcome-btn{letter-spacing:2px;text-transform:uppercase;border:1px solid var(--serengeti-gold);color:var(--serengeti-gold);cursor:pointer;background:0 0;padding:14px 48px;font-size:14px;transition:all .3s}.welcome-btn:hover{background:var(--serengeti-gold);color:var(--obsidian);box-shadow:0 0 30px var(--gold-dim)}.subscription-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.subscription-modal{background:var(--obsidian);border:1px solid var(--ash-grey);width:90%;max-width:900px;max-height:90vh;padding:48px;animation:.3s slideUp;position:relative;overflow-y:auto}.close-modal{color:var(--ash-grey);cursor:pointer;background:0 0;border:none;font-size:24px;transition:color .3s;position:absolute;top:16px;right:16px}.close-modal:hover{color:var(--flash-white)}.modal-header{text-align:center;margin-bottom:40px}.modal-header h2{color:var(--flash-white);margin:0 0 8px;font-size:28px;font-weight:400}.modal-subtitle{color:var(--ash-grey);margin:0;font-size:14px}.tier-cards{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px;display:grid}@media (width<=768px){.tier-cards{grid-template-columns:1fr}}.tier-card{border:1px solid var(--ash-grey);flex-direction:column;padding:32px 24px;transition:all .3s;display:flex;position:relative}.tier-card:hover{border-color:var(--serengeti-gold)}.tier-card.highlighted{border-color:var(--serengeti-gold);box-shadow:0 0 30px var(--gold-dim)}.tier-card.selected{border-color:var(--serengeti-gold);background:#c4973b0d}.tier-badge-popular{background:var(--serengeti-gold);color:var(--obsidian);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:4px 12px;font-size:10px;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.tier-name{color:var(--flash-white);text-align:center;margin:0 0 16px;font-size:18px;font-weight:400}.tier-price{text-align:center;margin-bottom:24px}.price-amount{color:var(--serengeti-gold);font-size:36px;font-weight:300}.price-period{color:var(--ash-grey);font-size:14px}.tier-features{flex:1;margin:0 0 24px;padding:0;list-style:none}.tier-features li{color:var(--flash-white);border-bottom:1px solid #80808033;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.tier-features li:before{content:"✓";color:var(--serengeti-gold);font-size:12px}.subscribe-btn{letter-spacing:2px;text-transform:uppercase;border:1px solid var(--ash-grey);color:var(--flash-white);cursor:pointer;background:0 0;padding:14px 24px;font-size:14px;transition:all .3s}.subscribe-btn:hover{border-color:var(--serengeti-gold);color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim)}.tier-card.highlighted .subscribe-btn{border-color:var(--serengeti-gold);color:var(--serengeti-gold)}.tier-card.highlighted .subscribe-btn:hover{background:var(--serengeti-gold);color:var(--obsidian)}.spots-remaining{text-align:center;color:var(--ash-grey);margin:0;font-size:14px}.spots-number{color:var(--serengeti-gold);font-weight:600}.subscription-error{text-align:center;background:#c832321a;border:1px solid #c8323266;margin-bottom:24px;padding:16px}.subscription-error p{color:#e57373;margin:0;font-size:13px}.subscribe-btn:disabled{opacity:.5;cursor:not-allowed}.subscribe-btn:disabled:hover{border-color:var(--ash-grey);color:var(--flash-white);box-shadow:none}.manage-subscription{text-align:center;margin-top:24px}.manage-btn{letter-spacing:1px;border:1px solid var(--ash-grey);color:var(--ash-grey);cursor:pointer;background:0 0;padding:12px 24px;font-size:13px;transition:all .3s}.manage-btn:hover{border-color:var(--flash-white);color:var(--flash-white)}.manage-btn:disabled{opacity:.5;cursor:not-allowed}.comp-notice{text-align:center;padding:40px 20px}.comp-notice p{color:var(--ash-grey);margin:0 0 24px;font-size:16px}.spots-remaining a{color:var(--serengeti-gold);text-decoration:none}.spots-remaining a:hover{text-decoration:underline}.main-menu{background:var(--charcoal);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:32px;width:100%;height:100%;padding:48px 24px;display:flex;overflow-y:auto}.menu-wordmark{letter-spacing:8px;color:var(--flash-white);margin:0;font-size:48px;font-weight:400}.menu-options{box-sizing:border-box;grid-template-columns:repeat(2,1fr);gap:24px;max-width:90vw;padding:0 16px;display:grid}.menu-option{border:1px solid var(--ash-grey);color:var(--flash-white);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;min-width:140px;padding:32px 48px;font-family:inherit;text-decoration:none;transition:all .3s;display:flex}.menu-option:hover{border-color:var(--serengeti-gold);box-shadow:0 0 30px var(--gold-dim)}.menu-option.logout:hover{border-color:var(--ash-grey);box-shadow:none;opacity:.7}.option-label{letter-spacing:3px;text-transform:uppercase;font-size:20px}.user-info{text-align:center;margin-top:-16px}.user-email{color:var(--ash-grey);letter-spacing:1px;margin:0;font-size:12px}.user-tier{color:var(--serengeti-gold);letter-spacing:2px;text-transform:uppercase;margin:4px 0 0;font-size:11px}.loading-text{color:var(--ash-grey);letter-spacing:2px;font-size:14px}.menu-notification{text-align:center;z-index:100;border-radius:4px;max-width:90vw;padding:16px 32px;animation:.3s slideDown;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.menu-notification.success{background:#4caf5026;border:1px solid #4caf5066}.menu-notification.success p{color:#81c784}.menu-notification.info{background:#64b5f626;border:1px solid #64b5f666}.menu-notification.info p{color:#90caf9}.menu-notification.warning{background:#ffb74d26;border:1px solid #ffb74d66}.menu-notification.warning p{color:#ffcc80}.menu-notification p{margin:0;font-size:14px}.notification-link{color:inherit;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.notification-link:hover{opacity:.8}.menu-option.subscribe{border-color:var(--serengeti-gold);color:var(--serengeti-gold)}.menu-option.subscribe:hover{background:var(--serengeti-gold);color:var(--charcoal)}@media (width<=768px){.menu-options{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:340px;padding:0 24px}.menu-option{min-width:unset;padding:24px 16px}.option-label{letter-spacing:2px;font-size:16px}}.world-map-container{background:#1e2028;flex:1;width:100%;height:100%;position:relative;overflow:hidden}.world-map{width:100%;height:100%;display:block}.country{stroke:none;cursor:default;transition:fill .2s,filter .2s}.country.inactive{fill:#3a3a3a}.country.active{fill:#5c4a1f;cursor:pointer}.country.active:hover,.country.active.hovered{fill:#7a6228;filter:drop-shadow(0 0 12px #c4973b99)}.country-border{fill:none;stroke:#4a4a4a;stroke-width:.5px;pointer-events:none}.tournament-panel{z-index:100;background:#252530;border:1px solid #4a4a4a;width:300px;animation:.2s ease-out panelSlideIn;position:absolute;box-shadow:0 8px 32px #00000080}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.panel-header{border-bottom:1px solid #3a3a3a;justify-content:space-between;align-items:center;padding:16px;display:flex}.panel-header h3{color:var(--flash-white);letter-spacing:1px;margin:0;font-size:16px;font-weight:500}.close-btn{color:var(--ash-grey);cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;line-height:1;transition:color .2s}.close-btn:hover{color:var(--flash-white)}.tournament-list{max-height:300px;overflow-y:auto}.tournament-item{cursor:pointer;border-bottom:1px solid #3a3a3a;padding:14px 16px;transition:background .2s}.tournament-item:last-child{border-bottom:none}.tournament-item:hover{background:#303040}.tournament-info{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.tournament-name{color:var(--flash-white);font-size:14px;font-weight:500}.tournament-meta{color:var(--ash-grey);font-size:12px}.tournament-status{align-items:center;gap:8px;display:flex}.live-indicator{background:var(--serengeti-gold);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.round{color:var(--serengeti-gold);letter-spacing:1px;font-size:12px;font-weight:500}.days-until{color:var(--ash-grey);font-size:12px}.tournament-item.active .tournament-name{color:var(--serengeti-gold)}.map-legend{background:#1e2028f2;border:1px solid #4a4a4a;flex-direction:column;gap:10px;padding:14px 20px;display:flex;position:absolute;bottom:24px;left:24px}.legend-item{color:#b0b0b0;align-items:center;gap:12px;font-size:13px;display:flex}.legend-dot{border-radius:50%;width:14px;height:14px}.legend-dot.active{background:var(--serengeti-gold);border:2px solid #d4a84a;box-shadow:0 0 10px #c4973b99}.tournament-name-row{align-items:center;gap:8px;display:flex}.tour-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:600}.tour-badge.tour-atp{color:#5ba4d4;background:#3b82c433;border:1px solid #3b82c44d}.tour-badge.tour-wta{color:#d45b9a;background:#c43b8233;border:1px solid #c43b824d}.tour-badge.tour-atp-wta{color:var(--serengeti-gold);background:#c4973b33;border:1px solid #c4973b4d}.tournament-item.tour-wta .live-indicator{background:#d45b9a}.tournament-item.tour-wta.active .tournament-name,.tournament-item.tour-wta .round{color:#d45b9a}.tier-gate{position:relative}.tier-gate-content.blurred{filter:blur(4px);-webkit-user-select:none;user-select:none;pointer-events:none}.tier-gate-content.hidden{display:none}.tier-gate-overlay{background:#0000004d;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.tier-lock-icon{font-size:14px}.tier-upgrade-text{color:var(--ash-grey);letter-spacing:.5px;font-size:10px}.tier-gate-inline{align-items:center;gap:4px;display:inline-flex}.tier-gate-inline .tier-gate-content.blurred{filter:blur(3px);-webkit-user-select:none;user-select:none}.tier-gate-inline .tier-lock{opacity:.7;font-size:10px}.draw-sheet{background:#1a1a1a;border:1px solid #3a3a3a;flex-direction:column;width:98%;max-width:1800px;height:95%;max-height:1000px;animation:.3s ease-out slideUp;display:flex;overflow:hidden}.draw-header{background:#1a1a1a;border-bottom:1px solid #2a2a2a;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 24px;display:flex}.draw-title-row{align-items:center;gap:10px;margin-bottom:4px;display:flex}.draw-tour-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:600}.draw-tour-badge.tour-atp{color:#5ba4d4;background:#3b82c433;border:1px solid #3b82c44d}.draw-tour-badge.tour-wta{color:#d45b9a;background:#c43b8233;border:1px solid #c43b824d}.draw-tour-badge.tour-atp-wta{color:var(--serengeti-gold,#c4973b);background:#c4973b33;border:1px solid #c4973b4d}.draw-legend{background:#151515;border-bottom:1px solid #2a2a2a;flex-shrink:0;gap:20px;padding:10px 24px;display:flex}.draw-legend .legend-item{color:#8a8a7a;text-transform:uppercase;letter-spacing:1px;align-items:center;gap:6px;font-size:10px;display:flex}.legend-box{border-radius:2px;width:14px;height:14px}.legend-box.tier-strong{background:var(--serengeti-gold,#c4973b);box-shadow:0 0 6px #c4973b66}.legend-box.tier-confident{background:#9a9a8a}.legend-box.tier-pick{background:0 0;border:1px dotted #6a6a6a}.legend-box.tier-skip{background:#2a2628;border:1px dotted #555}.legend-box.tier-void{background:0 0;border:1px dashed #4a3a3a}.divergence-icon{color:#fbbf24;font-size:14px}.legend-tooltip{cursor:help;position:relative}.legend-tooltip:after{content:attr(data-tooltip);color:#d0d0c0;white-space:nowrap;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;z-index:100;pointer-events:none;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;margin-top:8px;padding:6px 10px;font-size:11px;transition:opacity .2s,visibility .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)}.legend-tooltip:hover:after{opacity:1;visibility:visible}.draw-bracket{flex:1;align-items:flex-start;gap:8px;padding:16px;display:flex;overflow:auto}.round-column{flex-direction:column;flex-shrink:0;width:210px;min-width:210px;display:flex}.round-header{color:#c8c0b0;text-transform:uppercase;letter-spacing:1px;text-align:center;z-index:10;background:#1a1a1a;border-bottom:1px solid #2a2a2a;margin-bottom:12px;padding:6px 8px;font-size:11px;font-weight:500;position:sticky;top:0}.round-matches{flex-direction:column;flex:1;justify-content:space-around;gap:8px;display:flex}.match-wrapper{align-items:center;display:flex;position:relative}.connector{width:8px;height:2px;position:absolute;top:50%;right:-8px}.connector-line{background:#3a3a3a;width:100%;height:1px}.match-card{cursor:pointer;box-sizing:border-box;background:#222;border:1px solid #333;flex-direction:column;justify-content:center;width:190px;height:100px;min-height:100px;max-height:100px;padding:8px 10px;transition:all .2s;display:flex;position:relative;overflow:hidden}.match-card:hover{background:#282828;border-color:#444}.match-card.match-tbd{opacity:.6;cursor:default;border:1px solid #333}.match-card.match-tbd:hover{background:#222;border-color:#333}.match-card.match-void{opacity:.8;background:linear-gradient(90deg,#b450500d 0%,#222 40%);border-style:dashed;border-color:#4a3a3a}.tier-badge.tier-void{color:#b44;background:#b4444426}.void-reason{color:#a55;border-top:1px dashed #3a2a2a;margin-top:4px;padding-top:4px;font-size:9px;font-style:italic}.vs-divider{color:#888;text-align:center;padding:2px 0;font-size:10px}.match-card.match-completed{opacity:.9}.match-card.match-predicted{border-left-width:3px}.match-card.match-known{opacity:.7;border-color:#2a2a2a}.match-card.tier-strong{border-left:3px solid var(--serengeti-gold,#c4973b);background:linear-gradient(90deg,#c4973b14 0%,#222 40%)}.match-card.tier-confident{background:linear-gradient(90deg,#9a9a8a14 0%,#222 40%);border-left:3px solid #9a9a8a}.match-card.tier-pick{opacity:.9;border-left:3px dotted #5a5a5a}.match-card.tier-skip{opacity:.9;background:#2a2628;border-left:2px dotted #444}.match-header{align-items:center;gap:6px;min-height:16px;margin-bottom:4px;display:flex}.tier-badge{letter-spacing:.5px;border-radius:2px;padding:2px 4px;font-size:8px;font-weight:600}.tier-badge.tier-strong{color:var(--serengeti-gold,#c4973b);background:#c4973b26}.tier-badge.tier-confident{color:#c0c0b0;background:#c0c0b01f}.tier-badge.tier-pick{color:#888;background:#8888881a}.tier-badge.tier-skip{color:#fff;background:#64646440}.result-badge{border-radius:2px;padding:1px 5px;font-size:11px;font-weight:600}.result-badge.correct{color:#4ade80;background:#4ade801a}.result-badge.incorrect{color:#f87171;background:#f871711a}.divergence-flag{color:#fbbf24;cursor:help;font-size:11px;position:relative}.divergence-flag:after{content:attr(data-tooltip);color:#d0d0c0;white-space:nowrap;opacity:0;visibility:hidden;z-index:100;pointer-events:none;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;padding:6px 10px;font-size:10px;transition:opacity .2s,visibility .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.divergence-flag:hover:after{opacity:1;visibility:visible}.player-row{color:#fff;align-items:center;gap:6px;padding:2px 0;font-size:12px;display:flex}.player-row.winner{color:#fff;font-weight:600}.player-row.predicted-winner{color:#fff;font-weight:500}.player-row .muted{color:#888}.player-seed{color:#6a6a6a;text-align:right;min-width:14px;font-size:9px}.player-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.player-country{color:#555;text-transform:uppercase;font-size:9px}.confidence-badge{color:var(--serengeti-gold,#c4973b);background:#c4973b33;border-radius:2px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.match-score{color:#8a8a7a;border-top:1px solid #2a2a2a;margin-top:4px;padding-top:4px;font-family:JetBrains Mono,monospace;font-size:10px}.first-set-line{color:#c8c0b0;border-top:1px solid #2a2a2a;gap:8px;margin-top:6px;padding-top:4px;font-family:JetBrains Mono,monospace;font-size:9px;display:flex}.first-set-line span:first-child{color:#c8c0b0}.fs-correct-tree{justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;animation:2s ease-in-out infinite treeGlow;display:inline-flex}.fs-correct-tree svg{filter:drop-shadow(0 0 3px #c4973b99);width:16px;height:16px}@keyframes treeGlow{0%,to{filter:drop-shadow(0 0 2px #c4973b66)}50%{filter:drop-shadow(0 0 6px #c4973bcc)}}.match-details{border-top:1px solid #2a2a2a;margin-top:6px;padding-top:6px}.detail-row{justify-content:space-between;padding:2px 0;font-size:10px;display:flex}.detail-label{color:#555}.detail-value{color:#888;font-family:JetBrains Mono,monospace}.draw-loading,.draw-error,.draw-empty{color:#8a8a7a;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:300px;display:flex}.draw-loading p,.draw-error p,.draw-empty p{letter-spacing:1px;margin:0;font-size:14px}.draw-error-sub{opacity:.7;margin-top:8px!important;font-size:12px!important}.draw-bracket::-webkit-scrollbar{width:8px;height:8px}.draw-bracket::-webkit-scrollbar-track{background:#1a1a1a}.draw-bracket::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px}.draw-bracket::-webkit-scrollbar-thumb:hover{background:#4a4a4a}@media (width<=768px){.draw-sheet{width:100%;max-width:none;height:100%;max-height:none}.round-column{width:170px;min-width:170px}.match-card{width:160px;height:95px;min-height:95px;max-height:95px;padding:6px 8px}.player-row{font-size:11px}}.predict-page{background:var(--charcoal);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.predict-header{border-bottom:1px solid var(--charcoal-light);background:var(--charcoal);z-index:10;align-items:center;gap:16px;padding:16px 24px;display:flex}.back-arrow{color:var(--ash-grey);font-size:24px;text-decoration:none;transition:color .3s}.back-arrow:hover{color:var(--serengeti-gold)}.predict-title{letter-spacing:4px;color:var(--flash-white);margin:0;font-size:24px;font-weight:400;text-decoration:none;transition:color .3s}.predict-title:hover{color:var(--serengeti-gold)}.predict-subtitle{color:var(--ash-grey);letter-spacing:2px;text-transform:uppercase;font-size:14px}.draw-overlay{z-index:1000;background:#0a0a0ae6;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.draw-sheet{background:var(--charcoal);border:1px solid var(--ash-grey);flex-direction:column;width:90%;max-width:1200px;height:80%;max-height:800px;animation:.3s ease-out slideUp;display:flex}.draw-header{border-bottom:1px solid var(--charcoal-light);justify-content:space-between;align-items:flex-start;padding:24px;display:flex}.draw-title h2{color:var(--flash-white);letter-spacing:1px;margin:0 0 8px;font-size:24px;font-weight:500}.draw-meta{color:var(--ash-grey);letter-spacing:1px;font-size:14px}.close-draw{color:var(--ash-grey);cursor:pointer;background:0 0;border:none;padding:0;font-size:32px;line-height:1;transition:color .2s}.close-draw:hover{color:var(--flash-white)}.draw-content{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.draw-placeholder{color:var(--ash-grey);margin:0 0 12px;font-size:18px}.draw-placeholder-sub{color:var(--ash-grey);opacity:.7;margin:0;font-size:14px}.results-page{background:var(--charcoal);box-sizing:border-box;flex-direction:column;align-items:center;width:100%;height:100%;padding:64px 48px;display:flex;overflow-y:auto}.results-header{text-align:center;margin-bottom:48px}.results-wordmark{letter-spacing:6px;color:var(--flash-white);margin:0 0 8px;font-size:36px;font-weight:400;text-decoration:none;transition:color .3s;display:block}.results-wordmark:hover{color:var(--serengeti-gold)}.results-subtitle{color:var(--ash-grey);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:14px}.results-loading{color:var(--ash-grey);text-align:center;letter-spacing:1px;padding:48px}.results-grid{grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:700px;display:grid}.result-box{background:var(--charcoal-light);border:1px solid var(--ash-grey);text-align:center;padding:32px;transition:border-color .3s,box-shadow .3s}.result-box:hover{border-color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim)}.result-label{letter-spacing:2px;color:var(--ash-grey);margin:0 0 16px;font-size:14px;font-weight:400}.result-fraction{color:var(--flash-white);margin-bottom:8px;font-size:20px}.result-percentage{color:var(--serengeti-gold);margin-bottom:16px;font-size:42px;font-weight:600}.progress-bar{background:var(--charcoal);border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--serengeti-gold), var(--gold-glow));border-radius:4px;height:100%;transition:width .5s}.results-note{color:var(--ash-grey);letter-spacing:1px;margin-top:32px;font-size:12px}.results-footer{text-align:center;margin-top:56px;margin-bottom:48px}.back-link{color:var(--ash-grey);letter-spacing:1px;font-size:14px;text-decoration:none;transition:color .3s}.back-link:hover{color:var(--serengeti-gold)}.enter-btn{letter-spacing:3px;text-transform:uppercase;color:var(--charcoal);background:linear-gradient(135deg, var(--serengeti-gold) 0%, #d4a74b 50%, var(--serengeti-gold) 100%);border:2px solid var(--serengeti-gold);box-shadow:0 0 30px var(--gold-dim), inset 0 1px 0 #fff3;padding:18px 48px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.enter-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.enter-btn:hover{box-shadow:0 0 50px var(--gold-glow), 0 0 80px var(--gold-dim);background:linear-gradient(135deg,#d4a74b 0%,#e4b75b 50%,#d4a74b 100%);transform:translateY(-2px)}.enter-btn:hover:before{left:100%}.enter-btn:active{box-shadow:0 0 20px var(--gold-dim);transform:translateY(0)}.faq-section{border-top:1px solid var(--ash-grey);width:100%;max-width:700px;margin-top:64px;padding-top:48px}.faq-title{letter-spacing:3px;text-transform:uppercase;color:var(--ash-grey);text-align:center;margin:0 0 32px;font-size:14px;font-weight:400}.faq-list{background:var(--ash-grey);border:1px solid var(--ash-grey);flex-direction:column;gap:1px;display:flex}.faq-item{background:var(--charcoal)}.faq-question{width:100%;color:var(--serengeti-gold);letter-spacing:.5px;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:20px 24px;font-family:inherit;font-size:14px;transition:background .2s;display:flex}.faq-question:hover{background:var(--charcoal-light)}.faq-icon{color:var(--ash-grey);flex-shrink:0;margin-left:16px;font-size:18px;font-weight:300}.faq-answer{max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:300px;padding:0 24px 20px}.faq-answer p{color:var(--flash-white);letter-spacing:.3px;margin:0;font-size:13px;line-height:1.7}@media (width<=600px){.results-grid{grid-template-columns:1fr;gap:16px}.result-box{padding:24px}.result-percentage{font-size:32px}.results-page{padding:24px}.faq-section{margin-top:48px;padding-top:32px}.faq-question{padding:16px 20px;font-size:13px}.faq-item.open .faq-answer{padding:0 20px 16px}.faq-answer p{font-size:12px}}.pedigree-page{background:var(--charcoal);box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;height:100%;padding:64px 48px;display:flex;overflow-y:auto}.pedigree-header{text-align:center;margin-bottom:48px}.pedigree-wordmark{letter-spacing:6px;color:var(--flash-white);margin:0 0 8px;font-size:36px;font-weight:400;text-decoration:none;transition:color .3s;display:block}.pedigree-wordmark:hover{color:var(--serengeti-gold)}.pedigree-subtitle{color:var(--ash-grey);letter-spacing:2px;text-transform:uppercase;margin:0;font-size:14px}.pedigree-grid{grid-template-columns:repeat(2,1fr);gap:24px;width:100%;max-width:700px;display:grid}.pedigree-box{background:var(--charcoal-light);border:1px solid var(--ash-grey);text-align:center;padding:32px;transition:border-color .3s,box-shadow .3s}.pedigree-box:hover{border-color:var(--serengeti-gold);box-shadow:0 0 20px var(--gold-dim)}.pedigree-label{letter-spacing:2px;color:var(--ash-grey);margin:0 0 4px;font-size:14px;font-weight:400}.pedigree-sublabel{letter-spacing:1px;color:var(--ash-grey);opacity:.7;margin:0 0 16px;font-size:11px}.pedigree-percentage{color:var(--serengeti-gold);margin-bottom:16px;font-size:48px;font-weight:600}.pedigree-bar{background:var(--charcoal);border-radius:4px;width:100%;height:8px;overflow:hidden}.pedigree-fill{background:linear-gradient(90deg, var(--serengeti-gold), var(--gold-glow));border-radius:4px;height:100%;transition:width .5s}.pedigree-note{color:var(--ash-grey);letter-spacing:1px;text-align:center;margin-top:32px;font-size:12px}.pedigree-footer{text-align:center;margin-top:56px;margin-bottom:48px}.menu-btn{letter-spacing:3px;text-transform:uppercase;color:var(--charcoal);background:linear-gradient(135deg, var(--serengeti-gold) 0%, #d4a74b 50%, var(--serengeti-gold) 100%);border:2px solid var(--serengeti-gold);box-shadow:0 0 30px var(--gold-dim), inset 0 1px 0 #fff3;padding:18px 48px;font-size:14px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block;position:relative;overflow:hidden}.menu-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.menu-btn:hover{box-shadow:0 0 50px var(--gold-glow), 0 0 80px var(--gold-dim);background:linear-gradient(135deg,#d4a74b 0%,#e4b75b 50%,#d4a74b 100%);transform:translateY(-2px)}.menu-btn:hover:before{left:100%}.menu-btn:active{box-shadow:0 0 20px var(--gold-dim);transform:translateY(0)}@media (width<=600px){.pedigree-grid{grid-template-columns:1fr;gap:16px}.pedigree-box{padding:24px}.pedigree-percentage{font-size:36px}.pedigree-page{padding:24px}}.admin-page{background:var(--charcoal);height:100%;min-height:100%;color:var(--flash-white);padding:32px 32px 64px;overflow-y:auto}.admin-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.admin-header h1{margin:0;font-size:28px;font-weight:400}.admin-header .back-link{color:var(--ash-grey);font-size:14px}.admin-header .back-link:hover{color:var(--serengeti-gold)}.admin-error{color:#e57373;background:#e5737333;border:1px solid #e57373;margin-bottom:24px;padding:12px}.admin-stats{gap:24px;margin-bottom:32px;display:flex}.stat-box{border:1px solid var(--ash-grey);text-align:center;background:#ffffff0d;padding:20px 32px}.stat-value{color:var(--serengeti-gold);font-size:32px;font-weight:300;display:block}.stat-label{color:var(--ash-grey);text-transform:uppercase;letter-spacing:1px;font-size:12px}.admin-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px;display:grid}@media (width<=768px){.admin-grid{grid-template-columns:1fr}}.admin-section{border:1px solid var(--ash-grey);background:#ffffff05;padding:24px}.admin-section h2{color:var(--flash-white);text-transform:uppercase;letter-spacing:2px;margin:0 0 20px;font-size:16px;font-weight:400}.admin-section form{flex-direction:column;gap:12px;display:flex}.admin-section input,.admin-section select{border:1px solid var(--ash-grey);color:var(--flash-white);background:0 0;padding:12px;font-family:inherit;font-size:14px}.admin-section input::placeholder{color:var(--ash-grey)}.admin-section select{cursor:pointer}.admin-section button{border:1px solid var(--serengeti-gold);color:var(--serengeti-gold);text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;padding:12px 24px;font-family:inherit;font-size:14px;transition:all .3s}.admin-section button:hover:not(:disabled){background:var(--serengeti-gold);color:var(--obsidian)}.admin-section button:disabled{opacity:.5;cursor:not-allowed}.generated-code{border:1px solid var(--serengeti-gold);text-align:center;background:#c4973b1a;margin-top:16px;padding:16px}.code-value{color:var(--serengeti-gold);letter-spacing:2px;margin:0 0 8px;font-size:24px}.code-meta{color:var(--ash-grey);margin:0;font-size:12px}.tier-message{color:var(--serengeti-gold);margin-top:12px;font-size:13px}.users-section{grid-column:1/-1}.users-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.users-header h2{margin:0}.users-search{align-items:center;gap:12px;display:flex}.users-search input{border:1px solid var(--ash-grey);color:var(--flash-white);background:0 0;width:200px;padding:8px 12px;font-family:inherit;font-size:13px}.users-search input::placeholder{color:var(--ash-grey)}.users-search input:focus{border-color:var(--serengeti-gold);outline:none}.users-table-wrapper{max-height:500px;overflow:auto}.users-table thead{background:var(--charcoal);position:sticky;top:0}.users-table{border-collapse:collapse;width:100%;font-size:13px}.users-table th,.users-table td{text-align:left;border-bottom:1px solid #80808033;padding:12px}.users-table th{color:var(--ash-grey);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:400}.users-table td{color:var(--flash-white)}.users-table .admin-row{background:#c4973b0d}.admin-badge{background:var(--serengeti-gold);color:var(--obsidian);text-transform:uppercase;letter-spacing:.5px;margin-left:8px;padding:2px 6px;font-size:9px;display:inline-block}.tier-badge{text-transform:uppercase;letter-spacing:.5px;border:1px solid;padding:4px 8px;font-size:11px;display:inline-block}.tier-badge.tier-tree_top{color:var(--serengeti-gold);border-color:var(--serengeti-gold)}.tier-badge.tier-all_court{color:#81c784;border-color:#81c784}.tier-badge.tier-baseline{color:#64b5f6;border-color:#64b5f6}.tier-badge.tier-trial{color:var(--ash-grey);border-color:var(--ash-grey)}.emergency-section{border-color:#e57373;margin-bottom:32px}.emergency-description{color:var(--ash-grey);margin:0 0 16px;font-size:13px;line-height:1.5}.trigger-btn{color:#e57373;text-transform:uppercase;letter-spacing:1px;cursor:pointer;background:0 0;border:2px solid #e57373;padding:14px 32px;font-family:inherit;font-size:14px;transition:all .3s}.trigger-btn:hover:not(:disabled){color:var(--obsidian);background:#e57373}.trigger-btn:disabled{opacity:.5;cursor:not-allowed}.trigger-result{margin-top:16px;padding:16px}.trigger-result.success{color:#81c784;background:#81c7841a;border:1px solid #81c784}.trigger-result.error{color:#e57373;background:#e573731a;border:1px solid #e57373}.trigger-result p{margin:0}.trigger-stats{opacity:.8;font-size:12px;margin-top:8px!important}.legal-page{color:#e8e0d0;background:#0a0a0a;height:100%;min-height:100vh;padding:40px 20px 80px;overflow-y:auto}.legal-header{text-align:center;border-bottom:1px solid #2a2a2a;margin-bottom:48px;padding-bottom:32px}.legal-wordmark{color:#c4973b;letter-spacing:.15em;margin-bottom:16px;font-size:32px;text-decoration:none;display:block}.legal-wordmark:hover{color:#d4a74b}.legal-header h1{color:#e8e0d0;margin:0 0 8px;font-family:EB Garamond,serif;font-size:28px;font-weight:400}.legal-updated{color:#8a8a7a;margin:0;font-size:13px}.legal-content{max-width:720px;margin:0 auto}.legal-content section{margin-bottom:40px}.legal-content h2{color:#c4973b;border-bottom:1px solid #2a2a2a;margin:0 0 16px;padding-bottom:8px;font-family:EB Garamond,serif;font-size:20px;font-weight:500}.legal-content p{color:#c8c0b0;margin:0 0 12px;font-size:14px;line-height:1.7}.legal-content ul{margin:0 0 16px;padding-left:24px}.legal-content li{color:#c8c0b0;margin-bottom:8px;font-size:14px;line-height:1.7}.legal-content a{color:#c4973b;text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content strong{color:#e8e0d0;font-weight:500}.legal-disclaimer{background:#c4973b14;border:1px solid #c4973b4d;border-radius:8px;margin-bottom:40px;padding:24px}.legal-disclaimer h2{color:#e8e0d0;border-bottom:none;margin-bottom:20px;padding-bottom:0}.disclaimer-box{background:#0000004d;border-radius:6px;padding:20px}.disclaimer-box p{color:#e8e0d0;text-align:center;margin-bottom:16px;font-size:15px}.disclaimer-box p:last-child{margin-bottom:0}@media (width<=600px){.legal-page{padding:24px 16px 60px}.legal-header h1{font-size:24px}.legal-content h2{font-size:18px}.legal-content p,.legal-content li{font-size:13px}.disclaimer-box p{font-size:14px}}
