.header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--bg-primary);border-bottom:1px solid var(--border-primary);transition:background var(--transition-normal),box-shadow var(--transition-normal)}.header.scrolled{background:var(--bg-primary);box-shadow:0 4px 24px #00000059}.header .container{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);max-width:1200px;margin:0 auto}.logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--font-size-xl);transition:color var(--transition-fast);font-family:var(--font-family)}.logo:hover{color:var(--accent-primary)}.logo svg{font-size:var(--font-size-2xl);color:var(--accent-primary)}.logo h1{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-bold);color:var(--text-primary);background:none;-webkit-text-fill-color:var(--text-primary)}.nav{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-lg);transition:color var(--transition-fast);position:relative;font-family:var(--font-family)}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:transparent}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--accent-primary);transition:width var(--transition-fast);transform:translate(-50%)}.nav-link:hover:after,.nav-link.active:after{width:80%}.auth-buttons{display:flex;align-items:center;gap:var(--space-sm)}.auth-buttons .btn{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);transition:all var(--transition-normal);font-family:var(--font-family)}.auth-buttons .btn-secondary{background:transparent;border:1px solid var(--border-primary);color:var(--text-primary)}.auth-buttons .btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-accent);color:var(--text-primary)}.auth-buttons .btn-primary{background:var(--accent-primary);border:none;color:var(--text-primary);box-shadow:none}.auth-buttons .btn-primary:hover{background:var(--accent-primary-dark)}.header-light,.header-dark{background:var(--bg-primary);border-bottom-color:var(--border-primary)}.mobile-menu-toggle{display:none;background:none;border:none;color:var(--text-primary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.mobile-menu-toggle:hover{background:var(--bg-card-hover);color:var(--accent-primary)}@media (max-width: 768px){.nav{position:fixed;top:100%;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-primary);flex-direction:column;padding:var(--space-lg);gap:var(--space-md);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal);box-shadow:0 8px 32px #00000073}.nav.nav-open{transform:translateY(0);opacity:1;visibility:visible}.nav-link{width:100%;text-align:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-xl)}.mobile-menu-toggle{display:block}.auth-buttons{gap:var(--space-xs)}.auth-buttons .btn{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}}@media (max-width: 480px){.header .container{padding:var(--space-xs) var(--space-sm)}.logo h1{font-size:var(--font-size-lg)}.logo svg{font-size:var(--font-size-xl)}.auth-buttons{flex-direction:column;gap:var(--space-xs)}.auth-buttons .btn{width:100%;min-width:80px}}.footer{padding:var(--space-3xl) var(--space-md);border-top:1px solid var(--border-primary)}.footer-light,.footer-dark{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-muted)}.footer .container{max-width:1400px;margin:0 auto}.footer-main{display:flex;justify-content:space-between;gap:var(--space-3xl);margin-bottom:var(--space-xl);flex-wrap:wrap}.footer-about .logo{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;margin-bottom:var(--space-md);color:var(--text-primary);font-weight:var(--font-bold);font-size:var(--font-size-xl)}.footer-light .footer-about .logo,.footer-light .footer-about p,.footer-dark .footer-about .logo,.footer-dark .footer-about p{color:var(--text-primary)}.footer-about h3{font-size:var(--font-size-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-sm)}.footer-about svg{font-size:var(--font-size-2xl);color:var(--accent-primary)}.footer-about p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-md)}.footer-links-grid{display:flex;gap:var(--space-3xl);flex-wrap:wrap}.footer-column h4{font-weight:var(--font-semibold);margin-bottom:var(--space-lg);font-size:var(--font-size-base);color:var(--text-primary)}.footer-light .footer-column h4,.footer-dark .footer-column h4{color:var(--text-primary)}.footer-column a{display:block;text-decoration:none;margin-bottom:var(--space-md);transition:color var(--transition-fast);color:var(--text-muted);font-size:var(--font-size-sm)}.footer-light .footer-column a,.footer-dark .footer-column a{color:var(--text-muted)}.footer-column a:hover{color:var(--accent-primary)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-lg);border-top:1px solid var(--border-primary);font-size:var(--font-size-sm);flex-wrap:wrap;gap:var(--space-md);color:var(--text-muted)}.footer-light .footer-bottom,.footer-dark .footer-bottom{border-color:var(--border-primary)}.footer-socials{display:flex;gap:var(--space-lg)}.footer-socials a{font-size:var(--font-size-xl);transition:color var(--transition-fast);color:var(--text-muted)}.footer-light .footer-socials a,.footer-dark .footer-socials a{color:var(--text-muted)}.footer-socials a:hover{color:var(--accent-primary)}.footer-legal{display:flex;gap:var(--space-lg)}.footer-legal a{text-decoration:none;transition:color var(--transition-fast);color:var(--text-muted);font-size:var(--font-size-sm)}.footer-light .footer-legal a,.footer-dark .footer-legal a{color:var(--text-muted)}.footer-legal a:hover{color:var(--accent-primary)}@media (max-width: 768px){.footer{padding:var(--space-2xl) var(--space-sm)}.footer-main{flex-direction:column;gap:var(--space-xl)}.footer-links-grid{gap:var(--space-xl)}.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-sm)}.footer-socials,.footer-legal{justify-content:center}}.authenticated-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.main-content{flex:1 0 auto;padding:var(--space-lg) var(--space-3xl);overflow-y:auto;color:var(--text-primary);background:var(--bg-secondary)}@media (max-width: 1024px){.main-content{padding:var(--space-md) var(--space-lg)}}@media (max-width: 768px){.main-content{padding:var(--space-sm) var(--space-md)}}.lp{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family)}.lp section{width:100%}.lp-hero{padding:var(--space-3xl) 0 var(--space-2xl);border-bottom:1px solid var(--border-primary)}.lp-hero-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl);align-items:start}@media (min-width: 1024px){.lp-hero-grid{grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}}.lp-hero-title{font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 var(--space-md);color:var(--text-primary);background:none;-webkit-text-fill-color:var(--text-primary)}.lp-hero-sub{margin:0 0 var(--space-lg);color:var(--text-secondary);max-width:42ch}.lp-hero-ctas{display:flex;gap:var(--space-sm);flex-wrap:wrap}.lp-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-decoration:none;line-height:1}.lp-btn-primary{background:var(--accent-primary);color:var(--text-primary);border:1px solid var(--border-accent)}.lp-btn-primary:hover{background:var(--accent-primary-dark)}.lp-btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border-primary)}.lp-btn-outline:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.lp-hero-right{display:flex;justify-content:flex-end}.lp-product-mock{width:min(520px,100%);border-radius:var(--radius-xl);border:1px solid var(--border-primary);background:var(--bg-card);overflow:hidden}.lp-product-top{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.lp-product-dotrow{display:inline-flex;gap:6px}.lp-product-dotrow span{width:7px;height:7px;border-radius:999px;background:var(--confidence-medium);border:1px solid var(--border-primary)}.lp-product-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.lp-product-body{padding:14px;display:grid;gap:10px}.lp-mini-card{border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-secondary);padding:12px}.lp-mini-card-muted{background:transparent}.lp-mini-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.lp-mini-name{color:var(--text-primary);font-weight:600}.lp-mini-pct{color:var(--text-muted);font-weight:700}.lp-accent{color:var(--accent-primary)}.lp-mini-meta{display:flex;align-items:center;gap:10px;margin-top:10px}.lp-mini-muted{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--confidence-high);border:1px solid var(--border-accent);color:var(--text-primary)}.lp-pill-subtle{background:var(--confidence-medium);border-color:var(--border-primary);color:var(--text-secondary)}.lp-mini-kicker{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.lp-mini-track{position:relative;height:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:999px}.lp-mini-band{position:absolute;top:0;height:100%;background:var(--confidence-high);border-radius:999px}.lp-mini-point{position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;margin-left:-5px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 1px var(--border-accent)}.lp-showcase{padding:var(--space-2xl) 0}.lp-two-col{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}@media (min-width: 1024px){.lp-two-col{grid-template-columns:1fr 1fr;gap:var(--space-3xl)}}.lp-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.lp-h2{margin:0 0 10px;font-size:clamp(1.25rem,2vw,1.5rem);color:var(--text-primary)}.lp-p{margin:0 0 var(--space-md);color:var(--text-secondary);max-width:52ch}.lp-mock-card{border-radius:var(--radius-xl);border:1px solid var(--border-primary);background:var(--bg-card);padding:14px;min-height:170px}.lp-mock-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border-primary);margin-bottom:12px}.lp-mock-title{color:var(--text-primary);font-size:13px;font-weight:700}.lp-mock-rows{display:grid;gap:10px}.lp-mock-row{display:grid;grid-template-columns:7.5rem 1fr;gap:10px;align-items:center}.lp-mock-label{color:var(--text-secondary);font-size:12px;font-weight:600}.lp-mock-track{position:relative;height:8px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-primary);overflow:hidden}.lp-mock-fill{display:block;height:100%;background:var(--accent-primary);border-radius:999px}.lp-usecases{padding:var(--space-2xl) 0;border-top:1px solid var(--border-primary);border-bottom:1px solid var(--border-primary)}.lp-usecases-grid{display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}@media (min-width: 1024px){.lp-usecases-grid{grid-template-columns:1fr 1.2fr;gap:var(--space-3xl);align-items:start}}.lp-muted{color:var(--text-secondary)}.lp-inline-link{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--text-secondary);text-decoration:none;font-weight:600}.lp-inline-link:hover{color:var(--text-primary)}.lp-cards-2x2{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 640px){.lp-cards-2x2{grid-template-columns:1fr 1fr}}.lp-uc-card{position:relative;border-radius:var(--radius-xl);border:1px solid var(--border-primary);background:var(--bg-card);padding:16px;transition:border-color var(--transition-fast),background-color var(--transition-fast);min-height:220px;display:flex;flex-direction:column}.lp-uc-card:hover{background:var(--bg-card-hover);border-color:var(--border-accent)}.lp-uc-illus{height:120px;border-radius:var(--radius-lg);border:1px solid var(--border-primary);background:var(--bg-secondary);display:grid;place-items:center;margin-bottom:14px;overflow:hidden}.lp-illus{width:100%;height:100%}.lp-illus rect,.lp-illus path,.lp-illus circle{stroke:var(--text-muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lp-illus rect[fill]:not([fill=none]){fill:var(--confidence-medium);stroke:transparent}.lp-illus rect[fill=none],.lp-illus path[fill=none]{fill:none}.lp-illus circle{fill:var(--accent-primary);stroke:var(--accent-primary);opacity:.9}.lp-uc-title{font-weight:700;color:var(--text-primary);margin-bottom:6px}.lp-uc-desc{color:var(--text-secondary);font-size:13px}.lp-uc-expand{display:none}.lp-cta-band{padding:14px 0;border-top:1px solid var(--border-primary)}.lp-cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.lp-cta-text{color:var(--text-primary);font-weight:700}.lp-cta-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.lp-footer{padding:var(--space-2xl) 0 var(--space-lg);background:var(--bg-primary);border-top:1px solid var(--border-primary)}.lp-footer-top{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:start}@media (min-width: 1024px){.lp-footer-top{grid-template-columns:1.2fr 1.8fr}}.lp-footer-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--text-primary);text-decoration:none}.lp-footer-logo svg{color:var(--accent-primary)}.lp-footer-tag{margin:10px 0 0;color:var(--text-secondary)}.lp-footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}@media (min-width: 640px){.lp-footer-cols{grid-template-columns:1fr 1fr 1fr}}.lp-footer-head{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.lp-footer-col a{display:block;color:var(--text-secondary);text-decoration:none;margin-bottom:10px;font-size:13px}.lp-footer-col a:hover{color:var(--text-primary)}.lp-footer-social{display:flex;justify-content:center;gap:14px;padding:var(--space-xl) 0 var(--space-lg)}.lp-social{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border-primary);background:var(--bg-card);color:var(--text-secondary);text-decoration:none}.lp-social:hover{border-color:var(--border-accent);background:var(--bg-card-hover);color:var(--text-primary)}.lp-footer-bottom{padding-top:var(--space-md);border-top:1px solid var(--border-primary)}.lp-footer-copy{color:var(--text-muted);font-size:12px}.forgot-password{display:block;margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.auth-page{display:flex;min-height:100vh;background:var(--bg-primary)}.auth-container{display:flex;width:100%;max-width:1400px;margin:auto;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #3461ff0d;overflow:hidden;backdrop-filter:blur(10px)}.auth-branding{flex:1;padding:var(--space-3xl);background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(52,97,255,.05) 100%);color:var(--text-primary);display:flex;flex-direction:column;border-right:1px solid var(--border-primary);position:relative;overflow:hidden}.auth-branding:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(52,97,255,.1) 0%,transparent 70%);border-radius:50%;transform:translate(50%,-50%)}.auth-branding .logo{display:flex;align-items:center;color:var(--text-primary);text-decoration:none;gap:var(--space-sm);margin-bottom:var(--space-3xl);font-weight:var(--font-bold);font-size:var(--font-size-xl)}.auth-branding .logo svg{font-size:var(--font-size-4xl);color:var(--accent-primary)}.auth-branding .logo h1{font-size:var(--font-size-2xl);font-weight:var(--font-semibold);margin:0}.branding-content h2{font-size:var(--font-size-5xl);font-weight:var(--font-bold);margin-bottom:var(--space-lg);color:var(--text-primary);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:var(--leading-tight)}.branding-content p{font-size:var(--font-size-xl);color:var(--text-secondary);margin-bottom:var(--space-xl);line-height:var(--leading-relaxed);font-weight:var(--font-medium)}.branding-content ul{list-style:none;padding:0}.branding-content ul li{margin-bottom:var(--space-lg);color:var(--text-primary);padding:var(--space-md);display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-lg);font-weight:var(--font-medium);background:#3461ff0d;border-radius:var(--radius-lg);border-left:3px solid var(--accent-primary);transition:all var(--transition-fast)}.branding-content ul li:hover{background:#3461ff1a;transform:translate(4px)}.branding-content ul li:before{content:"✓";color:var(--accent-primary);font-weight:var(--font-bold);font-size:var(--font-size-xl);flex-shrink:0}.auth-form-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-3xl);background:var(--bg-card)}@media (max-width: 992px){.auth-branding{display:none}.auth-form-wrapper{padding:var(--space-lg)}.auth-container{margin:var(--space-md);border-radius:var(--radius-lg)}}@media (max-width: 768px){.auth-page{padding:var(--space-sm)}.auth-container{margin:0;border-radius:var(--radius-md)}.auth-form-wrapper{padding:var(--space-md)}}.auth-form-container{width:100%;max-width:400px}.auth-form-card{background:var(--bg-card);padding:var(--space-2xl);border-radius:var(--radius-xl);border:1px solid var(--border-primary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #3461ff0d;backdrop-filter:blur(10px)}.auth-form-card h2{font-size:var(--font-size-4xl);font-weight:var(--font-bold);text-align:center;margin-bottom:var(--space-xs);color:var(--text-primary);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{text-align:center;color:var(--text-muted);margin-bottom:var(--space-xl);font-size:var(--font-size-lg)}.social-login-buttons{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.social-button{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--bg-input);color:var(--text-primary);box-shadow:0 1px 2px #0000000d}.social-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border-color:var(--accent-primary)}.social-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.social-button-google{background:#fff;color:#1f2937}.social-button-google:hover:not(:disabled){background:#f9fafb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.social-button-apple{background:#000;color:#fff;border-color:#000}.social-button-apple:hover:not(:disabled){background:#1a1a1a;box-shadow:0 4px 6px -1px #0003,0 2px 4px -1px #0000001a}.social-button svg{font-size:var(--font-size-lg)}.divider{display:flex;align-items:center;text-align:center;margin:var(--space-xl) 0;color:var(--text-muted);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid var(--border-secondary)}.divider span{padding:0 var(--space-md)}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:flex;align-items:center;gap:var(--space-xs);font-weight:var(--font-medium);margin-bottom:var(--space-xs);color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);font-size:var(--font-size-base);background:var(--bg-input);color:var(--text-primary);transition:all var(--transition-fast);box-shadow:0 1px 2px #0000000d}.form-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3461ff1a}.form-group input::placeholder{color:var(--text-muted)}.error-message{background:#ef44441a;color:var(--error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-md);text-align:center;border:1px solid rgba(239,68,68,.2);font-size:var(--font-size-sm)}.submit-button{width:100%;padding:var(--space-md) var(--space-lg);background:var(--accent-gradient);color:var(--text-primary);border:none;border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:0 4px 6px -1px #3461ff33,0 2px 4px -1px #3461ff1a;margin-top:var(--space-md)}.submit-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-button:disabled{background:var(--text-disabled);cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.auth-links{text-align:center;margin-top:var(--space-lg)}.auth-links a{color:var(--accent-primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}.auth-links a:hover{color:var(--accent-secondary)}@media (max-width: 480px){.auth-form-card{padding:var(--space-lg)}.auth-form-card h2{font-size:var(--font-size-2xl)}}.page-wrapper{background:var(--bg-primary)}.about-page{color:var(--text-primary)}.about-hero-section{background:var(--bg-secondary);padding:var(--space-3xl) var(--space-md);text-align:center;border-bottom:1px solid var(--border-primary)}.about-hero-section .container{max-width:800px;margin:0 auto}.about-title{font-size:var(--font-size-6xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-lg);color:var(--text-primary)}.about-subtitle{font-size:var(--font-size-xl);color:var(--text-muted);line-height:var(--leading-relaxed)}.about-content-section{padding:var(--space-3xl) var(--space-md);background:var(--bg-primary)}.about-content-section .container{max-width:900px;margin:0 auto}.about-content-section h2{font-size:var(--font-size-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-lg);border-bottom:2px solid var(--accent-primary);padding-bottom:var(--space-md);color:var(--text-primary)}.about-story p,.about-built p,.about-transparency p{font-size:var(--font-size-lg);line-height:var(--leading-relaxed);color:var(--text-secondary)}.about-story p{margin-bottom:var(--space-lg)}.about-built{margin-top:var(--space-3xl)}.about-built p{margin-bottom:0}.about-transparency{margin-top:var(--space-3xl)}.about-transparency p{margin-bottom:0}.about-approach{margin-top:var(--space-3xl)}.about-approach p{margin-bottom:0}.about-cta-section{background:var(--bg-secondary);padding:var(--space-3xl) var(--space-md);text-align:center;border-top:1px solid var(--border-primary)}.about-cta-section h2{font-size:var(--font-size-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-lg);color:var(--text-primary)}.about-hero{background:linear-gradient(#060a1ce6,#060a1ce6),url(/assets/images/nba-court.jpg);background-size:cover;background-position:center;padding:var(--space-3xl) var(--space-md);text-align:center;border-bottom:1px solid var(--border-primary)}.about-hero h1{font-size:var(--font-size-6xl);color:var(--accent-primary);margin-bottom:var(--space-md);font-weight:var(--font-bold)}.about-hero p{font-size:var(--font-size-2xl);color:var(--text-secondary);line-height:var(--leading-relaxed)}.about-content{max-width:1400px;margin:var(--space-3xl) auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);padding:0 var(--space-md)}.edge-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);border:1px solid var(--border-accent);transition:all var(--transition-normal);box-shadow:var(--shadow-card)}.edge-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--accent-primary)}.edge-card h3{font-size:var(--font-size-2xl);margin-bottom:var(--space-md);color:var(--text-primary);font-weight:var(--font-semibold)}.edge-card p{color:var(--text-secondary);line-height:var(--leading-relaxed)}.about-cta{text-align:center;margin:var(--space-3xl) 0}.cta-button{background:var(--accent-gradient);color:var(--text-primary);border:none;border-radius:var(--radius-xl);padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-lg)}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}@media (max-width: 768px){.about-title,.about-hero h1{font-size:var(--font-size-4xl)}.about-subtitle{font-size:var(--font-size-lg)}.about-content-section h2,.about-cta-section h2{font-size:var(--font-size-3xl)}.about-hero p{font-size:var(--font-size-xl)}.about-content{grid-template-columns:1fr;gap:var(--space-md)}.edge-card{padding:var(--space-md)}}.loading-spinner-container,.loading-container{display:flex;justify-content:center;align-items:center;height:100%;width:100%;min-height:100vh;background:#f4f3ee}.loading-spinner{border:4px solid #E8E6DC;border-left-color:#c15f3c;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dashboard{min-height:100vh;display:flex;flex-direction:column;background:#f4f3ee}.dashboard-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-lg) var(--space-md) var(--space-lg);background:#fff;border-bottom:1px solid #E8E6DC}.dashboard-header:before{display:none}.user-welcome h1{color:#141413;background:none;-webkit-text-fill-color:#141413;font-size:var(--font-size-3xl);margin:0 0 var(--space-xs) 0;font-weight:600;font-family:var(--font-family-sans);letter-spacing:-.02em}.logout-btn{background:#141413;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-weight:500;font-family:var(--font-family-sans);cursor:pointer;margin-top:var(--space-xs);transition:all var(--transition-normal);font-size:14px}.logout-btn:hover{background:#2d2d2c;color:#fff}.search-bar input{padding:10px 16px;border-radius:8px;border:1px solid #E8E6DC;background:#fff;color:#141413;font-size:14px;font-family:var(--font-family);width:260px;transition:border-color .2s ease}.search-bar input:focus{outline:none;border-color:#c15f3c}.search-bar input::placeholder{color:#b0aea5}.dashboard-content{flex:1 1 auto;display:grid;grid-template-columns:1fr 2fr;gap:var(--space-xl);padding:var(--space-xl) var(--space-lg) var(--space-lg) var(--space-lg);max-width:1400px;margin:0 auto;width:100%}@media (max-width: 1000px){.dashboard-content{grid-template-columns:1fr;gap:var(--space-lg);padding:var(--space-lg) var(--space-md) var(--space-md) var(--space-md)}}.betting-interface,.players-section{background:#fff;border:1px solid #E8E6DC;border-radius:12px;padding:var(--space-lg) var(--space-md);margin-bottom:var(--space-lg);transition:border-color .2s ease}.betting-interface:before,.players-section:before{display:none}.betting-interface:hover,.players-section:hover{border-color:#b0aea5}.betting-interface:hover:before,.players-section:hover:before{display:none}.betting-interface h2,.players-section h2{color:#141413;font-family:var(--font-family-sans);font-size:var(--font-size-xl);margin-bottom:var(--space-lg);font-weight:var(--font-semibold)}.games-list{display:flex;flex-direction:column;gap:var(--space-md)}.game-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-input);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.game-item:hover{border-color:var(--border-accent);background:var(--bg-secondary)}.view-props-btn{background:var(--accent-gradient);color:var(--text-primary);border:none;border-radius:var(--radius-xl);padding:var(--space-xs) var(--space-md);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-sm);box-shadow:var(--shadow-md)}.view-props-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.players-section{margin-top:0}.players-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg)}@media (max-width: 700px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-md) var(--space-sm) var(--space-md)}.dashboard-content{padding:var(--space-md) var(--space-xs) var(--space-md) var(--space-xs)}.betting-interface,.players-section{padding:var(--space-md) var(--space-sm) var(--space-md) var(--space-sm)}.user-welcome h1{font-size:var(--font-size-3xl)}}.dashboard-container{padding:2rem}.dashboard-header{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-text-primary)}.dashboard-welcome{font-size:1.2rem;margin-bottom:2rem;color:var(--color-text-secondary)}.dashboard-content{background-color:var(--color-background-light);padding:2rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md)}.dashboard-verification-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;background-color:var(--color-background-dark);color:var(--color-text-primary)}.verification-status{margin-top:1.5rem;font-size:1.2rem;font-weight:500;color:var(--color-text-secondary)}.betting-dashboard{min-height:100vh;background:#f4f3ee;color:#141413;font-family:var(--font-family)}.filter-bar{background:#fff;border:1px solid #E8E6DC;border-radius:var(--radius-xl);padding:var(--space-lg);margin-bottom:var(--space-xl);display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.filter-group{display:flex;gap:var(--space-lg);align-items:center;flex-wrap:wrap;justify-content:center}.filter-label{font-size:.9375rem;font-weight:600;color:#141413;text-transform:uppercase;letter-spacing:.05em}.filter-bar:before{display:none}.filter-button-group{display:flex;gap:var(--space-sm);background:#e8e6dc;padding:.25rem;border-radius:var(--radius-xl);border:1px solid #E8E6DC;box-shadow:none}.filter-button{background:transparent;border:none;color:#141413;padding:.625rem 1.25rem;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative}.filter-button:hover{color:#c15f3c;background:#c15f3c14}.filter-button.active{background:#c15f3c;color:#fff;box-shadow:none;border:none;font-weight:var(--font-bold)}.filter-button.active:before{display:none}.filter-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.5px}.filter-select{background:#fff;border:1px solid #E8E6DC;border-radius:var(--radius-lg);color:#141413;padding:.625rem 1.25rem;font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .3s ease;min-width:160px;box-shadow:none}.filter-select{background:var(--bg-input);backdrop-filter:blur(8px);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-size:var(--font-size-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300d4ff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;padding-right:var(--space-2xl)}.filter-select:hover{border-color:#3461ff66;background:linear-gradient(135deg,#21253bfa,#14182dfa);box-shadow:0 4px 8px -2px #0000004d,0 0 0 1px #3461ff4d,inset 0 1px #ffffff14;transform:translateY(-1px)}.filter-select:hover{background:var(--card-gradient-hover);border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.filter-select:focus{outline:none;border-color:#3461ff80;box-shadow:0 0 0 3px #3461ff26,0 4px 8px -2px #0000004d,0 0 0 1px #3461ff4d}.advanced-filters{display:flex;align-items:center;gap:1rem}.filter-toggle{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.filter-toggle:hover{background:#3b82f633;border-color:#3b82f6}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{display:flex;align-items:center;gap:.5rem;background:#1e293b99;border:1px solid rgba(148,163,184,.2);border-radius:20px;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:#94a3b8;cursor:pointer;transition:all .2s ease}.filter-chip:hover{background:#1e293bcc;border-color:#3b82f6;color:#e2e8f0}.filter-chip input[type=checkbox]{display:none}.filter-chip input[type=checkbox]:checked+*{color:#3b82f6}.dashboard-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;padding:2rem;max-width:1600px;margin:0 auto}.main-content{display:flex;flex-direction:column;gap:1.5rem}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.content-header h2{font-size:1.5rem;font-weight:700;color:#141413;margin:0}.dashboard-main-heading{font-size:clamp(1.75rem,4vw,2.5rem)!important;font-weight:800!important;margin:0!important;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary-light) 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-md)}.dashboard-main-heading:before{content:"🎾";font-size:2rem;filter:drop-shadow(0 0 20px rgba(0,212,255,.4));animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 20px rgba(0,212,255,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 30px rgba(0,212,255,.6));transform:scale(1.1)}}.view-controls{display:flex;gap:var(--space-sm);position:relative;z-index:1}.view-btn{background:var(--card-gradient);backdrop-filter:blur(8px);border:1px solid var(--border-primary);color:var(--text-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.view-btn:hover{background:var(--card-gradient-hover);border-color:var(--border-accent);color:var(--text-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.view-btn.active{background:var(--accent-gradient);border-color:#00d4ff66;color:#fff;box-shadow:var(--glow-primary)}.view-btn.active:hover{background:var(--accent-gradient-hover);box-shadow:var(--glow-primary-hover)}.opportunities-feed{display:flex;flex-direction:column;gap:1.5rem}.opportunity-card{background:#fff;border:1px solid #E8E6DC;border-radius:var(--radius-2xl);overflow:hidden;transition:all .3s ease;box-shadow:none;position:relative}.opportunity-card:after{display:none}.opportunity-card:hover{box-shadow:0 4px 12px #00000014;border-color:#c15f3c;transform:translateY(-4px)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #E8E6DC}.sport-info{display:flex;align-items:center;gap:.75rem}.sport-info svg{color:#141413;font-size:1.25rem}.league{font-weight:600;color:#141413;font-size:.875rem}.bet-type{background:#e5f3f1;color:#141413;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase}.edge-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.card-body{padding:1.5rem}.matchup{font-size:1.25rem;font-weight:700;color:#141413;margin:0 0 1rem;line-height:1.4}.line-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:#f4f3ee;border-radius:8px;border:1px solid #E8E6DC}.current-line{font-size:1.125rem;font-weight:600;color:#141413}.expected-value{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#10b981}.trend-up{color:#10b981}.trend-down{color:#ef4444}.historical-performance{margin-bottom:1.5rem}.historical-performance h4{font-size:.875rem;font-weight:600;color:#94a3b8;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.historical-bars{display:flex;align-items:end;gap:.25rem;height:60px;padding:.5rem 0}.bar{flex:1;min-width:8px;border-radius:2px 2px 0 0;transition:all .2s ease;cursor:pointer}.bar.over{background:linear-gradient(to top,#10b981,#34d399)}.bar.under{background:linear-gradient(to top,#ef4444,#f87171)}.bar:hover{opacity:.8;transform:scaleY(1.1)}.context-filter{display:flex;align-items:center;gap:.5rem;background:#3b82f61a;color:#3b82f6;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;margin-bottom:1rem}.recent-games{margin-bottom:1.5rem}.recent-games h4{font-size:.875rem;font-weight:600;color:#94a3b8;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.games-list{display:flex;flex-direction:column;gap:.5rem}.game-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fafaf8;border-radius:6px;font-size:.875rem;border:1px solid #E8E6DC}.game-item span:first-child{color:#94a3b8}.game-item .over{color:#10b981;font-weight:600}.game-item .under{color:#ef4444;font-weight:600}.card-footer{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#f4f3ee;border-top:1px solid #E8E6DC}.analyze-btn,.track-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.analyze-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.analyze-btn:hover{background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-1px)}.track-btn{background:#fff;color:#141413;border:1px solid #E8E6DC}.track-btn:hover{background:#fff;border-color:#c15f3c;color:#c15f3c}.sidebar{display:flex;flex-direction:column;gap:1.5rem}.sidebar-section{background:#fff;border:1px solid #E8E6DC;border-radius:12px;padding:var(--space-lg);transition:border-color .2s ease}.sidebar-section:after{display:none}.sidebar-section:hover{border-color:#b0aea5}.sidebar-section h3{font-size:1rem;font-weight:600;color:#141413;font-family:var(--font-family-sans);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.sidebar-section-title{font-size:1rem!important;font-weight:600!important;color:#141413!important;font-family:var(--font-family-sans)!important;margin:0 0 var(--space-md) 0!important;display:flex!important;align-items:center!important;gap:var(--space-sm)!important}.sidebar-title-icon{font-size:1rem;color:#c15f3c}.edge-opportunities .edge-categories{display:flex;flex-direction:column;gap:12px}.edge-category{padding:14px 16px;border-radius:8px;border:1px solid #E8E6DC;background:#fafaf8;transition:all .2s ease}.edge-category:hover{border-color:#b0aea5}.edge-category-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.edge-label{font-size:11px;font-weight:700;letter-spacing:.5px}.edge-count{font-size:28px;font-weight:800;display:block;line-height:1.1}.edge-description{font-size:11px;color:#8892ab;display:block;margin-top:2px}.edge-category.strong-picks{background:#e5f3f1;border-color:#d0e8e5}.edge-category.strong-picks .edge-label,.edge-category.strong-picks .edge-count{color:#141413}.edge-category.value-picks{background:#efeef7;border-color:#e0def0}.edge-category.value-picks .edge-label,.edge-category.value-picks .edge-count{color:#141413}.edge-category.all-matches{background:#fafaf8;border-color:#e8e6dc}.edge-category.all-matches .edge-label{color:#b0aea5}.edge-category.all-matches .edge-count{color:#141413}.model-info-footer{margin-top:16px;padding-top:12px;border-top:1px solid #E8E6DC}.model-version{font-size:11px;color:#b0aea5;font-family:var(--font-family)}.odds-tracker{display:flex;flex-direction:column;gap:1rem}.odds-item{background:#fafaf8;border-radius:8px;padding:1rem;border:1px solid #E8E6DC}.odds-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.odds-header h4{font-size:.875rem;font-weight:600;color:#141413;font-family:var(--font-family-sans);margin:0}.odds-header .bet-type{background:#e5f3f1;color:#141413;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.sportsbooks{display:flex;flex-direction:column;gap:.5rem}.sportsbook-line{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#1e293b4d;border-radius:6px}.book-name{font-size:.875rem;font-weight:500;color:#94a3b8}.line{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#e2e8f0}.movement{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.movement.up{color:#10b981}.movement.down{color:#ef4444}.edge-alerts{display:flex;flex-direction:column;gap:.75rem}.edge-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;border:1px solid rgba(148,163,184,.1);transition:all .2s ease}.edge-alert.high{background:#10b9811a;border-color:#10b9814d}.edge-alert.high svg{color:#10b981}.edge-alert.medium{background:#f59e0b1a;border-color:#f59e0b4d}.edge-alert.medium svg{color:#f59e0b}.edge-alert:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.edge-alert strong{display:block;font-size:.875rem;font-weight:600;color:#f8fafc;margin-bottom:.25rem}.edge-alert p{font-size:.75rem;color:#94a3b8;margin:0;line-height:1.4}.historical-indicator{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:.5rem;gap:.25rem}.offseason-badge{background:#f59e0b;color:#fff;font-weight:600;padding:.25rem .75rem;border-radius:999px;font-size:.95rem;margin-bottom:.1rem;letter-spacing:.02em;box-shadow:0 1px 4px #00000012}.analyzed-date{color:#374151;font-size:.98rem;font-weight:500;margin-left:.1rem}@media (max-width: 1200px){.dashboard-layout{grid-template-columns:1fr;gap:1.5rem}.sidebar{order:-1}}@media (max-width: 768px){.filter-bar{flex-direction:column;align-items:stretch;padding:var(--space-md)}.filter-group{flex-direction:column;align-items:stretch;gap:var(--space-md)}.filter-label{text-align:center}.filter-button-group{flex-wrap:wrap;justify-content:center}.filter-button{flex:1;min-width:100px}.dashboard-layout{padding:1rem}.content-header{flex-direction:column;align-items:flex-start;gap:1rem}.line-info{flex-direction:column;align-items:flex-start;gap:.5rem}.card-footer{flex-direction:column}}.dashboard-verification-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f4f3ee;color:#141413;text-align:center;padding:2rem}.verification-status{margin-top:1rem;font-size:1.125rem;color:#94a3b8;max-width:400px}.tennis-matches-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;margin-bottom:20px}.tennis-predictions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px;margin-top:20px}.all-predictions-section{margin-top:30px;padding-top:20px;border-top:1px solid var(--border-secondary)}.all-predictions-section h3{color:var(--text-primary);margin-bottom:16px;font-size:18px;font-weight:600}.selected-match-details{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-top:20px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.match-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.match-details-header h3{margin:0;font-size:20px;font-weight:700;color:#1e293b}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f1f5f9;color:#374151}.match-details-content{display:flex;flex-direction:column;gap:20px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-text{margin-top:16px;color:var(--text-secondary);font-size:16px;font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#ef44440d;border:2px dashed rgba(239,68,68,.2);border-radius:16px;margin:20px 0}.error-icon{font-size:48px;margin-bottom:16px}.error-state h3{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 8px}.error-state p{color:var(--text-secondary);font-size:14px;margin:0 0 20px;max-width:400px}.retry-button{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.retry-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4f46e54d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-xl);text-align:center;background:var(--card-gradient);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);margin:var(--space-xl) 0;position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.empty-state:before{content:"";position:absolute;inset:0;background:var(--bg-gradient-card);opacity:.4;z-index:0}.empty-state>*{position:relative;z-index:1}.empty-icon{font-size:5rem;margin-bottom:var(--space-xl);opacity:.7;filter:drop-shadow(0 0 20px rgba(0,212,255,.3));animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1);filter:drop-shadow(0 0 20px rgba(0,212,255,.3))}50%{opacity:1;transform:scale(1.1);filter:drop-shadow(0 0 30px rgba(0,212,255,.5))}}.empty-state h3{background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;margin:0 0 var(--space-md) 0;letter-spacing:-.02em}.empty-state p{color:var(--text-secondary);font-size:clamp(1rem,2.5vw,1.25rem);margin:0;max-width:500px;line-height:1.7;font-weight:400}.active-tournaments{display:flex;flex-direction:column;gap:12px}.tournament-item{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:#fff;border-radius:var(--radius-lg);border:1px solid #E8E6DC;border-left:3px solid;transition:all .3s ease;position:relative;overflow:hidden}.tournament-item:before{display:none}.tournament-item:hover{background:#fff;border-color:#c15f3c;transform:translate(4px);box-shadow:0 2px 8px #00000014}.tournament-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm);margin-bottom:.25rem}.tournament-name{color:var(--text-primary);font-size:.9375rem;font-weight:700;line-height:1.3;flex:1}.tournament-level-badge{color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 4px #0003}.tournament-surface{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.empty-tournaments{padding:var(--space-xl) var(--space-md);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.empty-tournaments-icon{font-size:3rem;opacity:.5;margin-bottom:var(--space-sm)}.empty-tournaments-text{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.empty-tournaments-hint{color:var(--text-muted);font-size:.875rem;margin:0;line-height:1.5}.model-stats{display:flex;flex-direction:column;gap:12px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);background:#fff;border-radius:var(--radius-lg);border:1px solid #E8E6DC;transition:all .3s ease;position:relative;overflow:hidden}.stat-item:before{display:none}.stat-item:hover{background:#fff;border-color:#c15f3c;transform:translate(4px);box-shadow:0 2px 8px #0000000f}.stat-item:hover:before{display:none}.stat-item-model{border-top:2px solid rgba(148,163,184,.1);margin-top:var(--space-sm);padding-top:var(--space-lg)}.stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-value{color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}.stat-value-primary{color:var(--accent-primary)}.stat-value-success{color:#10b981;text-shadow:0 2px 8px rgba(16,185,129,.3)}.stat-value-warning{color:#c15f3c}.stat-value-error{color:#ef4444;text-shadow:0 2px 8px rgba(239,68,68,.3)}.stat-value-model{font-size:1rem;font-weight:700;color:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none}@media (max-width: 768px){.tennis-matches-grid{grid-template-columns:1fr;gap:16px}.tennis-predictions-grid{grid-template-columns:1fr}.selected-match-details{padding:16px}.match-details-header h3{font-size:18px}.loading-state,.error-state,.empty-state{padding:40px 16px}}.tennis-match-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.tennis-match-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:#3b82f6}.tennis-match-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#06b6d4);border-radius:16px 16px 0 0}.match-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.tournament-section{flex:1}.tournament-info{display:flex;flex-direction:column;gap:4px}.tournament-level{display:inline-block;padding:4px 8px;border-radius:6px;color:#fff;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start}.tournament-name{font-size:18px;font-weight:700;color:#1e293b;margin:0;line-height:1.2}.round{font-size:14px;color:#64748b;font-weight:500}.surface-info{margin-top:8px}.surface-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-transform:capitalize}.status-section{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;background:#f1f5f9;font-size:12px;font-weight:600}.status-icon{font-size:12px}.status-icon.live{color:#dc2626;animation:pulse 2s infinite}.status-icon.completed{color:#059669}.status-icon.cancelled{color:#dc2626}.status-icon.scheduled{color:#d97706}.status-text{color:#374151}.match-date{font-size:12px;color:#6b7280;font-weight:500}.players-section{display:flex;align-items:center;gap:20px;margin-bottom:20px;padding:20px 0}.player{flex:1;display:flex;flex-direction:column;gap:8px}.player-info{display:flex;flex-direction:column;gap:6px}.player-header{display:flex;align-items:center;gap:8px}.player-name{font-size:16px;font-weight:700;color:#1e293b;margin:0;line-height:1.2}.winner-icon{color:#fbbf24;font-size:16px;animation:bounce 1s infinite}.player-details{display:flex;gap:12px;font-size:12px;color:#64748b}.player-ranking,.player-country{display:flex;align-items:center;gap:4px;font-weight:500}.player-score{font-size:24px;font-weight:800;color:#1e293b;text-align:center;padding:8px;background:#f8fafc;border-radius:8px;border:2px solid #e2e8f0}.match-divider{display:flex;flex-direction:column;align-items:center;gap:8px}.vs-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.match-details{display:flex;gap:20px;margin-bottom:16px;padding:12px;background:#f8fafc;border-radius:8px;font-size:14px}.court-info,.set-scores{display:flex;align-items:center;gap:6px}.court-label,.scores-label{font-weight:600;color:#64748b}.court-name,.scores{color:#1e293b;font-weight:500}.betting-markets{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;border:1px solid #bae6fd}.market-header h5{margin:0 0 12px;font-size:14px;font-weight:700;color:#0c4a6e}.odds-row{display:flex;gap:16px}.odds-item{flex:1;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e0f2fe}.odds-item .player-name{font-size:13px;font-weight:600;color:#1e293b}.odds-item .odds{font-size:16px;font-weight:800;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px;border:1px solid #a7f3d0}.live-score-data{margin-top:16px;padding:16px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:12px;border:1px solid #fecaca}.current-set{font-size:14px;font-weight:700;color:#dc2626;margin-bottom:8px;text-align:center}.live-scores{display:flex;justify-content:center;align-items:center;gap:12px;font-size:20px;font-weight:800;color:#1e293b;margin-bottom:8px}.match-progress{font-size:12px;color:#dc2626;text-align:center;font-weight:600}.betting-status{margin-top:12px;text-align:center}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.open{background:#ecfdf5;color:#059669;border:1px solid #a7f3d0}.status-badge.suspended{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.status-badge.closed{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.tennis-match-card.compact{padding:16px}.tennis-match-card.compact .match-header{margin-bottom:12px}.tennis-match-card.compact .tournament-name{font-size:14px}.tennis-match-card.compact .round{font-size:12px}.tennis-match-card.compact .players-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tennis-match-card.compact .player{flex:1;text-align:center}.tennis-match-card.compact .player-name{font-size:14px;font-weight:600}.tennis-match-card.compact .vs{font-size:12px;font-weight:700;color:#6b7280}.tennis-match-card.compact .match-footer{display:flex;justify-content:space-between;align-items:center}.tennis-match-card.compact .surface-badge{padding:4px 8px;font-size:10px}.tennis-match-card.compact .match-date{font-size:11px}@media (max-width: 768px){.tennis-match-card{padding:16px}.match-header{flex-direction:column;gap:12px}.status-section{align-items:flex-start}.players-section{flex-direction:column;gap:16px}.match-divider{transform:rotate(90deg)}.match-details,.odds-row{flex-direction:column;gap:8px}.live-scores{font-size:18px}}@media (max-width: 480px){.tennis-match-card{padding:12px}.tournament-name{font-size:16px}.player-name{font-size:14px}.player-score{font-size:20px}.vs-circle{width:32px;height:32px;font-size:10px}}.tennis-stats-widget{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.tennis-stats-widget:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669,#047857);border-radius:16px 16px 0 0}.tennis-stats-widget.no-stats{text-align:center;padding:40px 24px}.no-stats-message{display:flex;flex-direction:column;align-items:center;gap:12px;color:#6b7280}.no-stats-message svg{font-size:32px;color:#9ca3af}.no-stats-message p{margin:0;font-size:16px;font-weight:500}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.stats-header h3{margin:0;font-size:20px;font-weight:700;color:#1e293b}.set-info{background:#f0f9ff;color:#0369a1;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.stats-content{display:flex;flex-direction:column;gap:20px}.stat-row{display:flex;align-items:center;gap:16px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.stat-row:hover{background:#f1f5f9;border-color:#cbd5e1}.stat-label{display:flex;align-items:center;gap:8px;min-width:140px;font-weight:600;color:#374151}.stat-label svg{color:#6b7280;font-size:14px}.stat-values{flex:1;display:flex;align-items:center;gap:16px}.stat-value{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border-radius:8px;border:2px solid #e2e8f0;transition:all .2s ease}.stat-value.winner{border-color:#10b981;background:#f0fdf4;box-shadow:0 2px 4px #10b9811a}.stat-value .value{font-size:18px;font-weight:800;color:#1e293b;text-align:center}.progress-bar{width:100%;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width .3s ease}.stat-value.winner .progress-fill{background:linear-gradient(90deg,#10b981,#059669)}.stat-divider{font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.stat-winner{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fbbf24;color:#fff;border-radius:50%;font-size:12px;animation:bounce 1s infinite}.stats-summary{display:flex;gap:20px;margin-top:24px;padding-top:20px;border-top:2px solid #f1f5f9}.player-summary{flex:1;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.player-summary h4{margin:0 0 12px;font-size:16px;font-weight:700;color:#1e293b}.summary-stats{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#64748b}.summary-stats span{font-weight:500}.tennis-stats-widget.compact{padding:16px}.tennis-stats-widget.compact .stats-header{margin-bottom:16px;padding-bottom:12px}.tennis-stats-widget.compact .stats-header h4{margin:0;font-size:16px;font-weight:700;color:#1e293b}.compact-stats{display:flex;flex-direction:column;gap:12px}.compact-stat{display:flex;align-items:center;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.stat-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:8px;font-size:14px}.stat-info{flex:1;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.stat-comparison{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.stat-comparison .player1{color:#3b82f6}.stat-comparison .vs{color:#6b7280;font-size:12px;font-weight:700}.stat-comparison .player2{color:#8b5cf6}@media (max-width: 768px){.tennis-stats-widget{padding:16px}.stats-header{flex-direction:column;gap:12px;align-items:flex-start}.stat-row{flex-direction:column;gap:12px}.stat-label{min-width:auto;justify-content:center}.stat-values{flex-direction:column;gap:12px}.stat-divider{transform:rotate(90deg)}.stats-summary{flex-direction:column;gap:12px}.compact-stats{gap:8px}.compact-stat{padding:10px}}@media (max-width: 480px){.tennis-stats-widget{padding:12px}.stats-header h3{font-size:18px}.stat-value .value{font-size:16px}.stat-icon{width:28px;height:28px;font-size:12px}.stat-label{font-size:11px}.stat-comparison{font-size:13px}}.tennis-live-score{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;position:relative;overflow:hidden}.tennis-live-score:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#dc2626,#ef4444,#f87171);border-radius:16px 16px 0 0}.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.match-status{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.match-status svg{font-size:16px}.current-set-info{display:flex;align-items:center;gap:8px;background:#f0f9ff;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.current-set-label{color:#0369a1}.current-set-number{color:#0c4a6e;font-weight:700}.server-indicator{display:flex;align-items:center;gap:6px;background:#fef2f2;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#dc2626}.serving-dot{color:#dc2626;animation:pulse 2s infinite}.serving-text{color:#dc2626}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.set-scores{margin-bottom:24px}.sets-header{margin-bottom:16px}.sets-header h4{margin:0;font-size:18px;font-weight:700;color:#1e293b}.sets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.set-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .2s ease}.set-card.current{border-color:#dc2626;background:#fef2f2;box-shadow:0 2px 4px #dc26261a}.set-card.completed{border-color:#10b981;background:#f0fdf4}.set-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.set-number{font-size:14px;font-weight:700;color:#374151}.current-indicator{color:#dc2626;font-size:12px;animation:pulse 2s infinite}.winner-indicator{color:#fbbf24;font-size:12px}.set-scores{display:flex;flex-direction:column;gap:8px}.player-score{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.player-score.winner{border-color:#10b981;background:#ecfdf5}.player-name{font-size:13px;font-weight:600;color:#374151}.score{font-size:16px;font-weight:800;color:#1e293b}.player-score.winner .score{color:#059669}.score-divider{text-align:center;font-size:12px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:1px;margin:4px 0}.set-winner{margin-top:8px;text-align:center;font-size:12px;font-weight:600;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px}.live-current-score-section{margin-bottom:20px;padding:20px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:12px;border:1px solid #fecaca}.live-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.live-score-header h4{margin:0;font-size:16px;font-weight:700;color:#dc2626}.server-info{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#dc2626}.live-score-display{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:12px}.player-current-score{display:flex;flex-direction:column;align-items:center;gap:4px}.player-current-score .player-name{font-size:12px;font-weight:600;color:#64748b}.current-score{font-size:32px;font-weight:900;color:#1e293b}.score-separator{font-size:24px;font-weight:700;color:#6b7280}.match-progress{text-align:center;font-size:12px;color:#dc2626;font-weight:600}.match-summary{text-align:center;padding:20px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:12px;border:1px solid #bbf7d0}.winner-announcement{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.winner-trophy{color:#fbbf24;font-size:20px;animation:bounce 1s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.winner-text{font-size:18px;font-weight:700;color:#059669}.final-score{font-size:14px;color:#047857;font-weight:600}.no-scores-state{text-align:center;padding:40px 20px}.no-scores-message{display:flex;flex-direction:column;align-items:center;gap:12px;color:#6b7280}.no-scores-message svg{font-size:32px;color:#9ca3af}.no-scores-message p{margin:0;font-size:16px;font-weight:500}.tennis-live-score.compact{padding:16px}.tennis-live-score.compact .score-header{margin-bottom:12px;padding-bottom:12px}.tennis-live-score.compact .match-status{font-size:12px}.tennis-live-score.compact .current-set{font-size:11px;background:#f0f9ff;padding:4px 8px;border-radius:12px;color:#0369a1;font-weight:600}.compact-scores{margin-bottom:12px}.set-scores-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.set-score{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.set-number{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.score-pair{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:700}.score-pair .score{color:#1e293b}.score-pair .score.winner{color:#059669}.score-pair .separator{color:#6b7280;font-size:12px}.no-scores{text-align:center;color:#6b7280;font-size:12px;font-style:italic}.live-current-score{display:flex;align-items:center;justify-content:center;gap:12px;font-size:18px;font-weight:800;color:#1e293b;padding:8px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.live-current-score .separator{color:#6b7280;font-size:16px}@media (max-width: 768px){.tennis-live-score{padding:16px}.score-header{flex-direction:column;gap:12px;align-items:flex-start}.sets-grid{grid-template-columns:1fr;gap:12px}.live-score-display{flex-direction:column;gap:12px}.current-score{font-size:28px}.set-scores-row{gap:6px}.set-score{min-width:50px;padding:6px}.score-pair{font-size:12px}.live-current-score{font-size:16px}}@media (max-width: 480px){.tennis-live-score{padding:12px}.sets-header h4{font-size:16px}.set-card{padding:12px}.current-score{font-size:24px}.winner-text{font-size:16px}.set-score{min-width:45px;padding:4px}.score-pair{font-size:11px}}.shap-explanation-simple{background:#1a1f3a99;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:14px 18px;margin-top:14px}.shap-simple-header{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.shap-title{color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px}.shap-factors{display:flex;flex-direction:column;gap:10px}.shap-factor{display:flex;align-items:flex-start;gap:10px;padding:6px 0}.shap-factor:last-child{padding-bottom:0}.factor-icon{color:#141413;font-size:14px;font-weight:600;flex-shrink:0;margin-top:1px}.factor-content{flex:1;display:flex;flex-direction:column;gap:2px}.factor-label{color:#fff;font-size:13px;font-weight:600;line-height:1.3}.factor-magnitude{color:#c15f3c;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.factor-context{color:#8892ab;font-size:11px;font-weight:400}.factor-impact{display:none}@media (max-width: 768px){.shap-explanation-simple{padding:12px 14px}.shap-title,.factor-label{font-size:12px}.factor-magnitude{font-size:10px}}.shap-explanation-chart{background:#1a1f3a99;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;margin-top:16px}.shap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.shap-header h4{color:#fff;font-size:14px;font-weight:600;margin:0}.info-icon{color:#8892ab;font-size:14px;cursor:help}.shap-no-data{text-align:center;padding:16px;color:#8892ab}.shap-bars{display:flex;flex-direction:column;gap:12px}.shap-bar-container{display:flex;flex-direction:column;gap:6px}.shap-bar-label{display:flex;justify-content:space-between;align-items:center}.explanation-text{color:#fff;font-weight:500;font-size:13px}.impact-percentage{color:#fff;font-weight:700;font-size:13px;padding:3px 8px;border-radius:4px;min-width:50px;text-align:center}.shap-bar-wrapper{height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.shap-bar{height:100%;border-radius:4px;transition:width .3s ease}.shap-bar.positive{background:#e5f3f1}.shap-bar.negative{background:#ff4757}.shap-legend{display:none}.tennis-prediction-card{background:#fff;border:1px solid #E8E6DC;border-radius:12px;padding:var(--space-lg);margin-bottom:var(--space-md);cursor:pointer;transition:border-color .2s ease;position:relative}.tennis-prediction-card:hover{border-color:#c15f3c}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sport-info{display:flex;align-items:center;gap:8px}.sport-icon{color:#c15f3c;font-size:16px}.league{background:#c15f3c;color:#fff;padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-family-sans)}.surface{color:#b0aea5;font-size:12px;font-weight:500;font-family:var(--font-family)}.confidence-badge{padding:6px 12px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-family-sans)}.confidence-badge.high{background:#c15f3c;color:#fff}.confidence-badge.medium{background:#e5f3f1;color:#141413}.confidence-badge.low{background:#efeef7;color:#141413}.card-body{display:flex;flex-direction:column;gap:16px}.matchup{color:#141413;font-size:18px;font-weight:600;font-family:var(--font-family-sans);margin:0;line-height:1.4}.tournament-info{display:flex;justify-content:space-between;align-items:center;color:#b0aea5;font-size:12px;text-transform:uppercase;letter-spacing:.3px;font-family:var(--font-family-sans)}.tournament{font-weight:500;color:#b0aea5}.date{display:flex;align-items:center;gap:4px;color:#b0aea5}.prediction-details{display:flex;flex-direction:column;gap:16px}.win-probabilities{display:flex;align-items:center;justify-content:space-between;gap:16px}.player-probability{display:flex;flex-direction:column;align-items:center;flex:1;padding:20px 16px;background:#fafaf8;border-radius:10px;border:1px solid #E8E6DC;transition:border-color .2s ease}.player-probability:hover{border-color:#b0aea5}.player-name{color:#141413;font-size:15px;font-weight:500;font-family:var(--font-family);text-align:center;margin-bottom:10px}.probability{color:#b0aea5;font-size:42px;font-weight:700;font-family:var(--font-family-sans);margin-bottom:8px;line-height:1;letter-spacing:-1px}.player-probability.favored .probability{color:#141413}.rank{color:#b0aea5;font-size:14px;font-weight:400;font-family:var(--font-family)}.vs-separator{display:flex;align-items:center;justify-content:center;padding:.25rem}.vs-separator svg{opacity:.7}.recommendation{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;font-family:var(--font-family);padding:10px 12px;background:#fafaf8;border-radius:6px;border-left:3px solid #C15F3C;color:#141413}.model-info{display:flex;justify-content:space-between;align-items:center;color:#b0aea5;font-size:12px;font-family:var(--font-family);padding-top:12px;border-top:1px solid #E8E6DC}.model-version{display:flex;align-items:center;gap:4px}.edge-indicator{background:#c15f3c;color:#fff;padding:4px 10px;border-radius:4px;font-size:10px;font-weight:600;font-family:var(--font-family-sans);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.tennis-prediction-card{padding:16px}.matchup{font-size:16px}.player-name{font-size:14px}.probability{font-size:32px}.rank{font-size:12px}.win-probabilities{flex-direction:column;gap:12px}.vs-separator{order:-1}.tournament-info{flex-direction:column;align-items:flex-start;gap:4px;font-size:11px}.model-info{flex-direction:column;align-items:flex-start;gap:8px}}.tennis-h2h-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.tennis-h2h-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;border:1px solid #333}.tennis-h2h-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #333;background:linear-gradient(90deg,#2d3748,#4a5568);border-radius:16px 16px 0 0}.tennis-h2h-modal-header h2{color:#fff;margin:0;font-size:24px;font-weight:600}.tennis-h2h-modal-close{background:none;border:none;color:#fff;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.tennis-h2h-modal-close:hover{background-color:#ffffff1a}.tennis-h2h-modal-content{padding:32px}.tennis-h2h-loading,.tennis-h2h-error{text-align:center;padding:40px;color:#fff;font-size:16px}.tennis-h2h-error{color:#ff6b6b}.tennis-h2h-match-info{text-align:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:12px;border:1px solid #4a5568}.tennis-h2h-match-info h3{color:#fff;margin:0 0 8px;font-size:28px;font-weight:600}.tennis-h2h-match-info p{color:#a0aec0;margin:0;font-size:16px}.tennis-h2h-record{background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid #4a5568}.tennis-h2h-record h4{color:#fff;margin:0 0 16px;font-size:20px;font-weight:600}.tennis-h2h-record-stats{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:12px}.tennis-h2h-player{display:flex;flex-direction:column;align-items:center;gap:8px}.tennis-h2h-player-name{color:#fff;font-weight:600;font-size:16px}.tennis-h2h-wins{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-weight:600;font-size:18px;min-width:40px;text-align:center}.tennis-h2h-vs{color:#a0aec0;font-weight:600;font-size:16px}.tennis-h2h-total-matches{text-align:center;color:#a0aec0;margin:0;font-size:14px}.tennis-h2h-stats-comparison{background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid #4a5568}.tennis-h2h-stats-comparison h4{color:#fff;margin:0 0 20px;font-size:20px;font-weight:600}.tennis-h2h-stats-grid{display:flex;flex-direction:column;gap:24px}.tennis-h2h-stat-category{background:#0003;border-radius:8px;padding:16px;border:1px solid #4a5568}.tennis-h2h-stat-category h5{color:#fff;margin:0 0 12px;font-size:16px;font-weight:600}.tennis-h2h-stat-row{display:flex;justify-content:space-between;gap:16px}.tennis-h2h-stat-player{flex:1;display:flex;flex-direction:column;gap:4px}.tennis-h2h-stat-name{color:#fff;font-weight:600;font-size:14px}.tennis-h2h-stat-value{color:#a0aec0;font-size:14px}.tennis-h2h-advantage{color:#48bb78;font-size:12px;font-weight:600;margin-top:4px}.tennis-h2h-surfaces-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:12px}.tennis-h2h-surface{background:#0000004d;border-radius:8px;padding:12px;border:1px solid #4a5568}.tennis-h2h-surface h6{color:#fff;margin:0 0 8px;font-size:14px;font-weight:600}.tennis-h2h-surface-stats{display:flex;flex-direction:column;gap:4px}.tennis-h2h-surface-stats span{color:#a0aec0;font-size:12px}.tennis-h2h-no-data{text-align:center;padding:40px;color:#a0aec0}.tennis-h2h-no-data p{margin:0 0 16px}.tennis-h2h-no-data ul{text-align:left;max-width:400px;margin:0 auto}.tennis-h2h-no-data li{margin-bottom:8px}.tennis-h2h-betting-insights{background:linear-gradient(135deg,#2d3748,#4a5568);border-radius:12px;padding:24px;border:1px solid #4a5568}.tennis-h2h-betting-insights h4{color:#fff;margin:0 0 16px;font-size:20px;font-weight:600}.tennis-h2h-insights{display:flex;flex-direction:column;gap:12px}.tennis-h2h-insight{background:#0003;border-radius:8px;padding:12px;border:1px solid #4a5568;color:#a0aec0;font-size:14px;line-height:1.5}.tennis-h2h-insight strong{color:#fff}@media (max-width: 768px){.tennis-h2h-modal{margin:10px;max-height:95vh}.tennis-h2h-modal-header{padding:16px 20px}.tennis-h2h-modal-header h2{font-size:20px}.tennis-h2h-modal-content{padding:20px}.tennis-h2h-match-info h3{font-size:24px}.tennis-h2h-record-stats{flex-direction:column;gap:16px}.tennis-h2h-stat-row{flex-direction:column;gap:12px}.tennis-h2h-surfaces-grid{grid-template-columns:1fr}}.upcoming-tournaments-section{width:100%;padding:var(--space-xl) 0}.upcoming-tournaments-header{text-align:center;margin-bottom:var(--space-2xl)}.upcoming-tournaments-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;margin:0 0 var(--space-md) 0;letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upcoming-tournaments-subtitle{font-size:clamp(1rem,2vw,1.25rem);font-weight:400;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.upcoming-tournaments-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl);max-width:1400px;margin:0 auto}.upcoming-tournament-card{background:#fff;border:1px solid #E8E6DC;border-radius:var(--radius-2xl);padding:var(--space-xl);position:relative;overflow:hidden;transition:all .3s ease;box-shadow:none}.upcoming-tournament-card:before{display:none}.upcoming-tournament-card:after{display:none}.upcoming-tournament-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000014;border-color:#c15f3c;background:#fff}.upcoming-tournament-card:hover:before{display:none}.upcoming-tournament-card:hover:after{display:none}.upcoming-tournament-card.grand-slam{border:2px solid #C15F3C;box-shadow:none}.upcoming-tournament-card.grand-slam:before{display:none}.tournament-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg);gap:var(--space-md)}.tournament-name-row{display:flex;align-items:center;gap:var(--space-sm);flex:1}.tournament-icon{font-size:1.5rem;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.tournament-name{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:700;color:var(--text-primary);margin:0;line-height:1.3;letter-spacing:-.01em}.tournament-level-badge{color:#fff;padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;box-shadow:0 2px 8px #0003}.tournament-details{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.tournament-detail-item{display:flex;align-items:center;gap:var(--space-sm)}.detail-icon{color:var(--text-muted);font-size:1rem;flex-shrink:0}.surface-icon{font-size:1.25rem;flex-shrink:0;width:1rem;text-align:center}.detail-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.detail-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-value{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.tournament-countdown{display:flex;flex-direction:column;gap:.5rem;padding-top:var(--space-md);border-top:1px solid rgba(148,163,184,.1)}.countdown-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.countdown-value{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media (max-width: 768px){.upcoming-tournaments-grid{grid-template-columns:1fr;gap:var(--space-lg)}.upcoming-tournament-card{padding:var(--space-lg)}.tournament-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.tournament-level-badge{align-self:flex-start}}.filter-bar{display:flex;gap:var(--space-xs);padding:var(--space-md);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);margin-bottom:var(--space-lg);position:relative;z-index:10;box-shadow:var(--shadow-card)}.filter-category{position:relative}.category-button{display:flex;align-items:center;gap:var(--space-xs);background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-secondary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);cursor:pointer;font-weight:var(--font-medium);transition:all var(--transition-fast);font-size:var(--font-size-sm)}.category-button:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-primary)}.filter-dropdown{position:absolute;top:100%;left:0;margin-top:var(--space-xs);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-sm);box-shadow:var(--shadow-xl);width:250px;z-index:20}.filter-dropdown ul{list-style:none;padding:0;margin:0}.filter-dropdown li{padding:var(--space-sm) var(--space-md);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.filter-dropdown li:hover{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.filter-bar{flex-direction:column;gap:var(--space-sm)}.category-button{justify-content:space-between}}:root{--hub-bg: #1a1d21;--sidebar-bg: #23272c;--panel-bg: #2a2e34;--header-color: #e6e6e6;--text-color: #b0b8c4;--border-color: #3a4048;--accent-color: #00aaff;--accent-hover: #0088cc;--input-bg: #333840;--danger-color: #ff4d4d}.intelligence-hub{padding:var(--space-md) 0;background:var(--bg-primary);min-height:100vh}.page-title{font-size:var(--font-size-4xl);font-weight:var(--font-semibold);margin-bottom:var(--space-lg);color:var(--text-primary)}.query-builder{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media (min-width: 1024px){.query-builder{grid-template-columns:1fr 2fr}}.active-query-panel,.results-panel{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:all var(--transition-normal)}.active-query-panel:hover,.results-panel:hover{border-color:var(--border-accent);box-shadow:var(--shadow-lg)}.panel-title{font-size:var(--font-size-xl);font-weight:var(--font-medium);margin-bottom:var(--space-lg);display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary)}.empty-state{color:var(--text-muted);text-align:center;padding:var(--space-lg);font-size:var(--font-size-base)}.active-filters-list{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.active-filter{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-input);border:1px solid var(--border-secondary);padding:var(--space-sm);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.active-filter:hover{border-color:var(--border-accent);background:var(--bg-secondary)}.filter-name{font-weight:var(--font-medium);flex-shrink:0;color:var(--text-primary);font-size:var(--font-size-sm)}.filter-input{flex-grow:1;background:var(--bg-primary);border:1px solid var(--border-secondary);color:var(--text-primary);padding:var(--space-xs);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast)}.filter-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3461ff1a}.remove-filter-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.remove-filter-btn:hover{color:var(--error);background:#ef44441a}.query-actions{display:flex;gap:var(--space-md)}.query-actions button{background:var(--accent-gradient);color:var(--text-primary);border:none;border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-md);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);font-size:var(--font-size-sm);box-shadow:var(--shadow-md)}.query-actions button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.query-actions button:disabled{background:var(--text-disabled);cursor:not-allowed;transform:none;box-shadow:var(--shadow-sm)}.results-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.results-table th,.results-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--border-primary)}.results-table th{font-weight:var(--font-semibold);color:var(--text-primary);background:var(--bg-secondary);font-size:var(--font-size-sm)}.results-table td{color:var(--text-secondary);font-size:var(--font-size-sm)}.results-table tr:hover{background:var(--bg-secondary)}.loading-spinner{border:4px solid var(--border-secondary);border-top:4px solid var(--accent-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:var(--space-lg) auto}@media (max-width: 768px){.intelligence-hub{padding:var(--space-sm) 0}.page-title{font-size:var(--font-size-3xl)}.active-query-panel,.results-panel{padding:var(--space-md)}.query-actions{flex-direction:column}}.nba-analytics-dashboard{max-width:1400px;margin:0 auto;padding:2rem;font-family:var(--font-family);background:#f4f3ee;min-height:100vh;color:#141413}.dashboard-header{text-align:center;margin-bottom:3rem;padding:2rem;background:#ffffff0d;border-radius:16px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.dashboard-header h1{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.dashboard-header p{font-size:1.1rem;color:#94a3b8;margin:0}.player-selector{margin-bottom:2rem;text-align:center}.search-container{margin-bottom:1rem}.player-search{width:100%;max-width:400px;padding:.75rem 1rem;font-size:1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#e2e8f0;backdrop-filter:blur(10px);transition:all .3s ease}.player-search::placeholder{color:#94a3b8}.player-search:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.player-selector label{display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:#e2e8f0}.player-selector select{width:100%;max-width:400px;padding:1rem 1.5rem;font-size:1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#e2e8f0;backdrop-filter:blur(10px);transition:all .3s ease}.player-selector select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.player-selector select:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center}.player-info{text-align:center;margin-bottom:2rem;padding:2rem;background:#ffffff0d;border-radius:16px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.player-info h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#f1f5f9}.player-meta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.team-badge,.position-badge,.games-badge{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.team-badge{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.position-badge{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.games-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap}.tab{padding:1rem 2rem;font-size:1rem;font-weight:600;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#e2e8f0;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px)}.tab:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.tab.active{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-color:#60a5fa;color:#fff;box-shadow:0 8px 25px #60a5fa4d}.tab-content{min-height:400px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#94a3b8}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left:4px solid #60a5fa;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.empty-state{text-align:center;padding:4rem 2rem;color:#94a3b8}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:#e2e8f0}.empty-state p{font-size:1.1rem;max-width:500px;margin:0 auto}.overview-section{animation:fadeIn .5s ease-in-out}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#ffffff0d;border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease}.stat-card:hover{transform:translateY(-4px)}.stat-card h3{font-size:1.2rem;font-weight:700;margin-bottom:1rem;color:#f1f5f9;text-align:center}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat-row:last-child{border-bottom:none}.stat-row span:first-child{color:#e2e8f0;font-weight:600}.stat-value{font-weight:700;color:#60a5fa;font-size:1.1rem}.recent-games{background:#ffffff0d;border-radius:16px;padding:2rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.recent-games h3{font-size:1.3rem;font-weight:700;margin-bottom:1.5rem;color:#f1f5f9;text-align:center}.games-chart{display:flex;justify-content:center;align-items:end;gap:1rem;height:200px;padding:1rem}.game-bar{display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar-label{font-size:.9rem;font-weight:600;color:#e2e8f0}.bar{width:40px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:8px 8px 0 0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;min-height:30px;transition:all .3s ease}.bar:hover{transform:scale(1.05);box-shadow:0 4px 15px #60a5fa66}.splits-section{animation:fadeIn .5s ease-in-out}.splits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.split-card{background:#ffffff0d;border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease}.split-card:hover{transform:translateY(-4px)}.split-card h3{font-size:1.2rem;font-weight:700;margin-bottom:1rem;color:#f1f5f9;text-align:center}.split-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.split-row:last-child{border-bottom:none}.split-row span:first-child{color:#e2e8f0;font-weight:600}.split-value{font-weight:700;color:#60a5fa;font-size:1.1rem}.split-difference{margin-top:1rem;padding:.75rem;background:#ffffff1a;border-radius:8px;text-align:center;font-weight:600;color:#f1f5f9}.props-section{animation:fadeIn .5s ease-in-out}.props-section h3{font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:#f1f5f9;text-align:center}.props-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.prop-card{background:#ffffff0d;border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease}.prop-card:hover{transform:translateY(-4px)}.prop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.prop-header h4{font-size:1.1rem;font-weight:700;color:#f1f5f9;margin:0}.prop-confidence{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:700;color:#fff}.prop-details{margin-bottom:1rem}.prop-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.prop-row:last-child{border-bottom:none}.prop-row span:first-child{color:#e2e8f0;font-weight:600}.prop-value{font-weight:700;color:#60a5fa}.prop-reasoning{margin-bottom:1rem}.prop-reasoning h5{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:#f1f5f9}.prop-reasoning ul{list-style:none;padding:0;margin:0}.prop-reasoning li{color:#e2e8f0;font-size:.9rem;position:relative;padding:.25rem 0 .25rem 1rem}.prop-reasoning li:before{content:"•";color:#60a5fa;font-weight:700;position:absolute;left:0}.prop-risk-factors{display:flex;flex-wrap:wrap;gap:.5rem}.risk-badge{padding:.25rem .75rem;background:#ef444433;border:1px solid rgba(239,68,68,.3);border-radius:12px;font-size:.8rem;font-weight:600;color:#fca5a5;text-transform:uppercase;letter-spacing:.5px}.matchups-section{animation:fadeIn .5s ease-in-out}.matchups-section h3{font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:#f1f5f9;text-align:center}.matchups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.matchup-card{background:#ffffff0d;border-radius:16px;padding:1.5rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .3s ease}.matchup-card:hover{transform:translateY(-4px)}.matchup-card h4{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:#f1f5f9;text-align:center}.matchup-stats{display:flex;flex-direction:column;gap:.5rem}.matchups-context{margin-bottom:1.5rem;padding:1rem;background:#3b82f61a;border-radius:8px;border-left:4px solid #3b82f6}.matchups-context p{color:#e2e8f0;font-size:.9rem;margin:0;font-style:italic}.matchup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.matchup-header h4{margin:0;color:#f1f5f9;font-size:1.1rem}.difficulty-rating{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:#ffffff0d;border-radius:6px}.difficulty-stars{font-size:.8rem;color:#fbbf24}.difficulty-text{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.matchup-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.matchup-row:last-child{border-bottom:none}.matchup-row span:first-child{color:#e2e8f0;font-weight:600}.matchup-value{font-weight:700;color:#60a5fa}.matchup-stat-with-indicator{display:flex;align-items:center;gap:.5rem}.performance-indicator{font-size:1rem;cursor:help;transition:transform .2s ease}.performance-indicator:hover{transform:scale(1.2)}.matchup-insights{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.insight-item{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.insight-label{color:#94a3b8;font-weight:500}.insight-value{color:#cbd5e1;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.nba-analytics-dashboard{padding:1rem}.dashboard-header h1{font-size:2rem}.player-info h2{font-size:1.8rem}.stats-grid,.splits-grid,.props-grid,.matchups-grid{grid-template-columns:1fr}.tabs{flex-direction:column;align-items:center}.tab{width:100%;max-width:300px}.player-meta{flex-direction:column;align-items:center}.games-chart{height:150px}.bar{width:30px;font-size:.8rem}}@media (max-width: 480px){.dashboard-header{padding:1rem}.dashboard-header h1{font-size:1.5rem}.player-info{padding:1rem}.player-info h2{font-size:1.5rem}.stat-card,.split-card,.prop-card,.matchup-card{padding:1rem}}.trust-building-section{width:100%;margin-bottom:var(--space-3xl);padding:var(--space-2xl) 0}.trust-section-header{text-align:center;margin-bottom:var(--space-2xl)}.trust-section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;color:var(--text-primary);margin:0 0 var(--space-md) 0;letter-spacing:-.02em;background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:var(--text-primary)}.trust-section-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.trust-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}.trust-feature-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);transition:border-color var(--transition-normal),background-color var(--transition-normal);position:relative;overflow:hidden;box-shadow:none}.trust-feature-card:before{display:none}.trust-feature-card:hover{transform:none;box-shadow:none;border-color:var(--border-accent);background:var(--bg-card-hover)}.trust-feature-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-lg);background:var(--confidence-high);border:1px solid var(--border-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-md);box-shadow:none}.trust-feature-icon{font-size:1.5rem;color:var(--accent-primary)}.trust-feature-title{font-size:var(--font-size-lg);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--space-sm) 0}.trust-feature-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.6}.trust-stats-section{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-xl);box-shadow:none;position:relative;overflow:hidden}.trust-stats-section:before{display:none}.trust-stats-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg)}.trust-stats-icon{color:var(--accent-primary);font-size:1.5rem;filter:none}.trust-stats-title{font-size:var(--font-size-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.trust-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.trust-stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color var(--transition-normal),background-color var(--transition-normal)}.trust-stat-card:hover{background:var(--bg-card-hover);border-color:var(--border-accent);transform:none;box-shadow:none}.trust-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-xs);text-shadow:none}.trust-stat-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.trust-features-grid,.trust-stats-grid{grid-template-columns:1fr}}.conformal-tier-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-family:var(--font-family);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.conformal-tier-badge.tier-high{background:var(--confidence-high);color:var(--accent-primary);border-color:var(--border-accent)}.conformal-tier-badge.tier-medium{background:var(--confidence-medium);color:var(--text-secondary);border-color:var(--border-primary)}.conformal-tier-badge.tier-low{background:var(--confidence-low);color:var(--text-muted);border-color:var(--border-primary)}.conformal-tier-badge.tier-legacy{border-style:dashed;opacity:.92}.sharp-picks-tab{width:100%;font-family:var(--font-family)}.sharp-picks-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.sharp-picks-header h2{font-family:var(--font-family);font-size:1.5rem;margin:0}.sharp-picks-sub{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.sharp-picks-actions{display:flex;align-items:center;gap:.75rem}.sharp-picks-updated{font-size:.8rem;color:var(--text-muted);font-family:var(--font-family)}.btn-refresh{padding:8px 14px;background:var(--accent-primary);color:var(--text-primary);border:1px solid var(--border-accent);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;font-family:var(--font-family)}.btn-refresh:disabled{opacity:.5}.sharp-picks-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 640px){.sharp-picks-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.sharp-picks-grid{grid-template-columns:repeat(3,1fr)}}.sharp-pick-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:1rem;border-left-width:4px}.sharp-pick-card.edge-strong{border-left-color:var(--success)}.sharp-pick-card.edge-moderate{border-left-color:var(--warning)}.sharp-pick-card.edge-weak{border-left-color:var(--text-muted)}.sharp-pick-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.sharp-pick-platform{font-family:var(--font-family);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sharp-pick-match{font-family:var(--font-family);font-size:1rem;margin:0 0 .25rem}.sharp-pick-market{font-size:.9rem;color:var(--text-muted);margin:0 0 .75rem}.sharp-pick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;font-family:var(--font-family)}.sharp-pick-stats>div{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:10px;min-width:0}.sharp-pick-stats .stat-label{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.sharp-pick-stats .stat-value{font-size:1rem;font-weight:600}.edge-value{color:var(--success)}.sharp-picks-empty,.sharp-picks-status{text-align:center;padding:2rem;color:var(--text-muted)}.sharp-picks-error{color:var(--error);padding:1rem}.sharp-picks-empty .muted{font-size:.85rem;color:var(--text-muted)}.model-performance-tab{font-family:var(--font-family)}.model-performance-tab h2{font-family:var(--font-family);font-size:1.5rem;margin:0 0 .25rem}.perf-sub{color:var(--text-muted);margin:0 0 1.5rem;font-size:.9rem}.perf-muted{color:var(--text-muted);font-size:.85rem}.perf-hero-stats{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}@media (min-width: 640px){.perf-hero-stats{grid-template-columns:repeat(3,1fr)}}.perf-stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:1.25rem}.perf-stat-label{display:block;font-family:var(--font-family);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.perf-stat-big{display:block;font-family:var(--font-family);font-size:1.75rem;font-weight:700;margin:.25rem 0}.perf-stat-hint{font-size:.75rem;color:var(--text-muted)}.perf-section{margin-bottom:2rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px}.perf-section h3{font-family:var(--font-family);font-size:1.1rem;margin:0 0 .35rem}.calibration-explainer{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.45;max-width:52ch}.calibration-table-wrap{margin-bottom:.75rem;overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--radius-sm);background:var(--bg-secondary)}.calibration-table{width:100%;border-collapse:collapse;font-size:.95rem;font-family:var(--font-family)}.calibration-table th,.calibration-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border-primary)}.calibration-table th{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-card)}.calibration-table tbody tr:last-child td{border-bottom:none}.calibration-table td{font-variant-numeric:tabular-nums;color:var(--text-primary)}.calibration-table .pos{color:var(--success);font-weight:700}.calibration-table .neg{color:var(--error);font-weight:700}.calibration-chart-details{margin-top:.5rem}.calibration-chart-summary{cursor:pointer;color:var(--text-secondary);font-weight:600;font-size:.85rem;list-style:none}.calibration-chart-summary::-webkit-details-marker{display:none}.calibration-chart-summary:hover{color:var(--text-primary)}.calibration-svg{width:100%;max-width:280px;height:auto;display:block;margin:.75rem 0 0;opacity:.9}.calibration-legend{display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-muted);margin:.5rem 0 0}.legend-dash:before{content:"—";margin-right:.35rem;color:var(--text-muted)}.legend-solid:before{content:"—";margin-right:.35rem;color:var(--accent-primary);font-weight:700}.tier-bars{margin-top:1rem}.tier-bar-row{display:grid;grid-template-columns:56px 1fr 48px 48px;gap:.5rem;align-items:center;margin-bottom:.65rem;font-family:var(--font-family);font-size:.85rem}.tier-bar-track{height:12px;background:var(--border-primary);border-radius:6px;overflow:hidden}.tier-bar-fill{height:100%;border-radius:6px;background:var(--accent-primary)}.tier-bar-pct{font-weight:700;text-align:right}.tier-bar-n{color:var(--text-muted);font-size:.75rem}.clv-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;margin-top:1rem}.clv-tier-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;padding:.75rem;text-align:center;font-family:var(--font-family)}.clv-tier-name{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase}.clv-tier-val{display:block;font-size:1.25rem;font-weight:700;margin:.25rem 0}.clv-tier-n{font-size:.7rem;color:var(--text-muted)}.clv-trend h4{font-size:.9rem;margin:1.25rem 0 .5rem;font-family:var(--font-family)}.clv-trend-bars{display:flex;align-items:flex-end;gap:4px;height:80px;overflow-x:auto}.clv-trend-day{flex:1;min-width:28px;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.clv-trend-fill{width:100%;max-width:24px;background:var(--accent-primary);border-radius:4px 4px 0 0;min-height:4px}.clv-trend-day span{font-size:.6rem;color:var(--text-muted);margin-top:4px}.tennis-dashboard{padding:48px 24px;width:100%;max-width:1200px;margin:0 auto;background:transparent;min-height:100vh;color:var(--text-primary);font-family:var(--font-family);box-sizing:border-box;min-width:0}.tennis-dashboard h1,.tennis-dashboard h2,.tennis-dashboard h3,.tennis-dashboard .tournament-group-name,.tennis-dashboard .win-probability,.tennis-dashboard .stat-value,.tennis-dashboard .confidence-badge,.tennis-dashboard .expand-details-btn,.tennis-dashboard .filter-group label,.tennis-dashboard .filter-select{font-family:var(--font-family-sans)}.dashboard-header{text-align:left;margin-bottom:32px;padding:12px 0 28px;border-bottom:1px solid var(--border-primary)}.tennis-dashboard .dashboard-header h1{font-size:48px;font-weight:700;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.03em;line-height:var(--leading-tight);background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:var(--text-primary)}.dashboard-header .header-subtitle{font-size:16px;font-weight:400;color:var(--text-secondary);margin:0}.tennis-dashboard-tabs{display:flex;gap:.5rem;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--border-primary);padding-bottom:0}.tennis-tab{font-family:var(--font-family-sans);font-size:14px;font-weight:500;padding:12px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;margin-bottom:-1px;transition:color .2s,border-color .2s}.tennis-tab:hover{color:var(--text-primary)}.tennis-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-primary);font-weight:600}.tennis-tab-panel{width:100%;min-width:0}.confidence-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.high-tier-toggle{display:flex;align-items:center;gap:.5rem;font-family:var(--font-family);font-size:.85rem;cursor:pointer;color:var(--text-secondary);margin-top:1.25rem}.filter-group-checkbox{justify-content:flex-end}.filter-hint{font-size:.75rem;color:var(--text-muted);font-weight:400}.filters-section{display:flex;gap:1.5rem;margin-bottom:2rem;padding:1rem 0;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:500;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.tennis-dashboard .filters-section{padding:1rem;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:1.5rem}.tennis-dashboard .filters-section select,.tennis-dashboard .filters-section .filter-select{-webkit-appearance:none;appearance:none;background-color:var(--bg-input)!important;color:var(--text-primary)!important;border:1px solid var(--border-primary)!important;border-radius:var(--radius-sm)!important}.tennis-dashboard .high-tier-toggle input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent-primary);cursor:pointer;flex-shrink:0}.tennis-dashboard .filter-hint{color:var(--text-muted)}.tennis-dashboard .filter-select{padding:10px 36px 10px 14px;background-color:var(--bg-input);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:400;min-width:160px;min-height:42px;transition:border-color var(--transition-fast),background-color var(--transition-fast);-webkit-appearance:none;appearance:none;background-image:none;background-repeat:no-repeat;background-position:right 12px center;cursor:pointer;color-scheme:dark}.filter-select:hover{border-color:var(--border-accent);background-color:var(--bg-card-hover)}.filter-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--border-accent)}.tennis-dashboard .filter-select option{background-color:var(--bg-card);color:var(--text-primary)}.trust-signals-bar{display:flex;justify-content:center;align-items:center;padding:12px 20px;margin-bottom:2rem}.trust-tagline{font-size:14px;font-weight:400;color:var(--text-muted);text-align:center}@media (max-width: 768px){.trust-signals-bar{padding:10px 16px}.trust-tagline{font-size:13px}}.loading-state,.error-state{text-align:center;padding:3rem;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-primary)}.spinner{width:40px;height:40px;border:3px solid var(--border-primary);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state p{color:var(--error);margin-bottom:1rem}.section{margin-bottom:3rem;width:100%}.section h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;letter-spacing:-.01em}.tournament-groups{display:flex;flex-direction:column;gap:1.5rem;width:100%}.tournament-group{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;overflow:visible;width:100%}.tournament-group-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-secondary);cursor:pointer;transition:background .2s ease;border-bottom:1px solid var(--border-primary)}.tournament-group-header:hover{background:var(--bg-card-hover)}.tournament-header-left{display:flex;align-items:center;gap:12px}.collapse-icon{font-size:12px;color:var(--text-muted);transition:transform .3s ease}.collapse-icon.collapsed{transform:rotate(-90deg)}.tournament-group-name{font-size:16px;font-weight:600;color:var(--text-primary)}.tournament-group-level{font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);padding:4px 10px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em}.tournament-match-count{font-size:13px;font-weight:500;color:var(--text-muted)}.tournament-group>.matches-grid{padding:16px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}@media (max-width: 768px){.matches-grid{grid-template-columns:1fr}}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.match-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:1.5rem;transition:border-color var(--transition-normal),background-color var(--transition-normal);width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}.match-card.match-row{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.pred-row{width:100%;min-width:0}.pred-row-names{line-height:1.3}.pred-names{font-weight:700;font-size:15px;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pred-row-stats{display:flex;flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}.pred-probs{display:inline-flex;align-items:baseline;gap:2px;font-variant-numeric:tabular-nums;flex-shrink:0}.pred-prob{font-size:16px;font-weight:800;color:var(--text-muted)}.pred-prob.favored{color:var(--accent-primary)}.pred-prob-sep{color:var(--text-disabled);font-weight:700}.pred-row-meta{font-size:12px;color:var(--text-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-card.match-row .view-analysis-link{margin-left:auto}.view-analysis-link{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-primary);color:var(--text-primary);text-decoration:none;font-weight:600;font-size:13px;background:transparent;transition:border-color var(--transition-fast),background-color var(--transition-fast);white-space:nowrap}.view-analysis-link:hover,.match-card:hover{border-color:var(--border-accent);background:var(--bg-card-hover)}.match-card.upcoming,.match-card.result{border-left:none}.match-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary)}.tournament-info{display:flex;flex-direction:column;gap:.25rem}.tournament-name{font-weight:500;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.tournament-info .tournament-name{color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tournament-info .tournament-meta{font-size:12px;color:var(--text-muted);font-weight:400;text-transform:capitalize}.match-header-result{justify-content:flex-start}.match-header-result .tournament-info{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.tournament-level{font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);padding:4px 8px;border-radius:var(--radius-sm);width:fit-content;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.match-meta-chips,.match-details{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.match-details{flex-direction:column;align-items:flex-end}.match-meta-chips .surface,.match-meta-chips .round,.match-card .match-details .surface,.match-card .match-details .round{display:inline;padding:0;border:none;background:none;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:capitalize;line-height:1.4;color:var(--text-muted)}.match-meta-chips .surface:after,.match-card .match-details .surface:not(:last-child):after{content:" · ";color:var(--text-disabled)}.match-meta-chips .surface:empty,.match-meta-chips .round:empty,.match-details .surface:empty,.match-details .round:empty{display:none}.players{display:flex;align-items:stretch;gap:1rem;margin-bottom:1.5rem;min-width:0;padding:.75rem 0;background:transparent;border:none;border-radius:var(--radius-md)}.player{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem;background:transparent}.tennis-dashboard .player .player-name,.tennis-dashboard .player .player-rank,.tennis-dashboard .player-info{background:transparent}.player-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.player-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.match-card .player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.player-rank{font-size:.85rem;color:var(--text-muted)}.vs{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-primary)}.vs-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.prediction{display:flex;flex-direction:column;align-items:center;gap:.25rem}.win-probability{font-weight:700;font-size:var(--font-size-3xl);color:var(--text-muted);line-height:1;letter-spacing:-.03em}.player .player-info{display:flex;flex-direction:column;align-items:center;gap:4px}.player .player-name{font-size:17px;font-weight:600;color:var(--text-primary)}.player .player-rank{font-size:14px;font-weight:400;color:var(--text-muted)}.player.favored .win-probability{color:var(--accent-primary)}.player:not(.favored) .win-probability{color:var(--text-muted)}.player.favored .player-name{color:var(--text-primary)}.prediction-details{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.prediction-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.prediction-summary.prediction-summary-simple{justify-content:flex-start;gap:10px;margin-bottom:10px}.favored-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-primary);background:var(--bg-secondary);min-width:0}.favored-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.favored-name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px}.expand-details-btn{width:100%;padding:10px 16px;background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background-color var(--transition-fast);margin-bottom:12px}.expand-details-btn:hover{background:var(--bg-card-hover);border-color:var(--border-accent);color:var(--text-primary)}.expanded-analysis{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:12px;animation:slideDown .2s ease;color:var(--text-primary)}.tennis-dashboard .expanded-analysis .mc-breakdown{background:transparent}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.analysis-header{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-primary)}.analysis-factors,.analysis-factors .factor,.analysis-factors .factor-icon,.analysis-factors .factor-text,.analysis-factors .factor-magnitude{display:none}.shap-panel{margin:0 0 12px;padding:10px;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:transparent}.shap-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.shap-bars{display:grid;gap:8px}.shap-row{display:grid;grid-template-columns:1fr;gap:6px;align-items:stretch}.shap-label{font-size:12px;font-weight:600;color:var(--text-secondary);overflow:visible;text-overflow:clip;white-space:normal;line-height:1.25}.shap-track{height:6px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-primary);overflow:hidden}.shap-fill{height:100%;border-radius:999px;min-width:10px}.shap-fill.major{background:var(--accent-primary)}.shap-fill.slight{background:var(--confidence-high)}.expanded-analysis .model-info{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-primary);font-size:11px;color:var(--text-muted)}.confidence{margin-bottom:.5rem}.confidence-badge{padding:6px 12px;border-radius:999px;font-size:11px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.confidence-badge.confidence-high{background:var(--accent-primary);color:var(--text-primary);border-color:var(--border-accent)}.confidence-badge.confidence-medium{background:var(--confidence-high);color:var(--text-primary);border-color:var(--border-accent)}.confidence-badge.confidence-low{background:var(--confidence-low);color:var(--text-secondary);border-color:var(--border-primary)}.recommendation p{margin:0;font-size:.9rem;color:var(--text-primary);font-style:italic}.winner-badge{font-size:11px;font-weight:600;color:var(--text-primary);background:var(--confidence-high);padding:4px 8px;border-radius:4px;margin-left:.5rem}.tennis-dashboard .match-card.result .result-details{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.tennis-dashboard .match-card.result .score{text-align:center;margin-bottom:.5rem;padding:0;background:transparent;border:none;border-radius:0}.final-score{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.winner{text-align:center;margin-bottom:.5rem}.winner-name{font-weight:500;color:var(--text-primary)}.prediction-accuracy{text-align:center}.accuracy-badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.accuracy-badge.correct{background:var(--confidence-high);color:var(--text-primary)}.accuracy-badge.incorrect{background:var(--error-bg);color:var(--error)}.match-time{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text-muted);padding-top:1rem;border-top:1px solid var(--border-primary);margin-top:1rem}.no-data{text-align:center;padding:3rem;color:var(--text-muted);grid-column:1 / -1}.no-data-subtitle{margin-top:.5rem;font-size:14px;color:var(--text-muted)}.empty-state-enhanced{display:flex;flex-direction:column;gap:2rem;grid-column:1 / -1}.no-matches-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:3rem;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-state-illustration{margin-bottom:1.5rem;opacity:.5;color:var(--text-muted)}.no-matches-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.no-matches-message{font-size:14px;color:var(--text-muted);line-height:1.6;max-width:500px;margin:0 auto}.performance-stats-section{grid-column:1 / -1;margin-top:1rem}.performance-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.performance-stat-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:24px;text-align:center}.performance-stat-card:hover{border-color:var(--text-muted)}.performance-stat-card .stat-content{width:100%}.performance-stat-card .stat-label{font-size:12px;color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-weight:500}.performance-stat-card .stat-value{font-size:36px;font-weight:600;color:var(--text-primary);margin-bottom:8px;line-height:1}.performance-stat-card .stat-description{font-size:13px;color:var(--text-muted);line-height:1.4}.methodology-section{margin-top:2rem}.methodology-section h2{font-size:1.25rem;margin-bottom:1rem}.methodology-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.methodology-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px}.methodology-icon{color:var(--text-primary);font-size:14px;font-weight:600;flex-shrink:0;margin-top:2px}.methodology-text{display:flex;flex-direction:column;gap:4px}.methodology-text strong{color:var(--text-primary);font-size:14px;font-weight:600}.methodology-text span{color:var(--text-muted);font-size:13px;line-height:1.4}@media (max-width: 768px){.tennis-dashboard{padding:1rem}.dashboard-header h1{font-size:1.5rem}.dashboard-header .header-subtitle{font-size:14px}.filters-section{flex-direction:column;gap:1rem}.matches-grid,.results-grid{grid-template-columns:1fr;gap:1rem}.tournament-group-header{padding:14px 16px}.tournament-group-name{font-size:14px}.tournament-group-level{font-size:10px;padding:3px 8px}.tournament-group>.matches-grid{padding:12px}.match-card{padding:16px}.players{flex-direction:column;gap:.5rem}.player .player-name{font-size:15px}.win-probability{font-size:30px}.player .player-rank{font-size:12px}.vs{transform:rotate(90deg)}.expand-details-btn{font-size:12px;padding:8px 12px}.expanded-analysis{padding:12px}.analysis-factors .factor-text{font-size:12px}.prediction-summary{flex-direction:column;align-items:flex-start;gap:8px}.recommendation-brief{font-size:13px}.section h2{font-size:1.25rem}.methodology-content{grid-template-columns:1fr}.methodology-item{padding:14px}}@media (max-width: 480px){.tennis-dashboard{padding:.75rem}.dashboard-header{padding:1rem}.dashboard-header h1{font-size:1.5rem;flex-direction:column;gap:.5rem}.win-probability{font-size:32px}.trust-signals-bar{flex-direction:column;gap:8px}.trust-item{justify-content:flex-start}}.btn{padding:10px 20px;border-radius:8px;font-weight:500;text-decoration:none;display:inline-block;transition:all .2s ease;border:none;cursor:pointer;font-size:14px}.btn-primary{background:var(--text-primary);color:var(--bg-card)}.btn-primary:hover{background:var(--accent-primary-dark)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{border-color:var(--text-muted)}.tennis-layout{display:grid;grid-template-columns:minmax(520px,1fr) 260px;grid-template-areas:"main sidebar";gap:2rem;align-items:start;width:100%;max-width:100%;box-sizing:border-box;min-width:0}.tennis-main{grid-column:1;grid-area:main;min-width:0;width:100%;max-width:100%;overflow-x:auto;box-sizing:border-box;position:relative}.tennis-main .section,.tennis-main .tournament-groups,.tennis-main .tournament-group{max-width:100%;min-width:0;box-sizing:border-box}.tennis-sidebar{grid-column:2;grid-area:sidebar;position:sticky;top:2rem;display:flex;flex-direction:column;gap:1.5rem;width:260px;min-width:260px;max-width:260px;flex-shrink:0;box-sizing:border-box;overflow-x:hidden}.tennis-sidebar .summary-card,.tennis-sidebar .tournament-item,.tennis-sidebar .tournament-name{min-width:0;overflow-wrap:break-word;word-break:break-word}.summary-cards-section{display:flex;flex-direction:column;gap:1.5rem}.summary-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;padding:1.5rem}.summary-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.tournaments-card .active-tournaments-list{display:flex;flex-direction:column;gap:12px}.tournament-item{padding:12px;background:var(--bg-secondary);border-left:3px solid var(--border-primary);border-radius:var(--radius-sm)}.tournament-item.level-grand-slam{border-left-color:var(--accent-primary)}.tournament-item.level-masters-1000{border-left-color:var(--text-primary)}.tournament-item.level-atp-500{border-left-color:var(--text-muted)}.tournament-item.level-atp-250{border-left-color:var(--border-accent)}.tournament-level-badge.level-grand-slam{background:var(--accent-primary);color:var(--text-primary)}.tournament-level-badge.level-masters-1000{background:var(--text-primary);color:var(--bg-primary)}.tournament-level-badge.level-atp-500{background:var(--bg-secondary);color:var(--text-secondary)}.tournament-level-badge.level-atp-250{background:var(--confidence-low);color:var(--text-secondary)}.tournament-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.tournament-item .tournament-name{font-size:14px;font-weight:600;color:var(--text-primary)}.tournament-level-badge{font-size:10px;font-weight:600;padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.tournament-surface{font-size:12px;color:var(--text-muted)}.no-tournaments{font-size:13px;color:var(--text-muted);text-align:center;padding:1rem 0}.picks-card .picks-grid{display:grid;grid-template-columns:1fr;gap:14px;min-width:0}.picks-card .pick-stat{min-width:0}.pick-stat .pick-label{white-space:normal}@media (min-width: 480px){.picks-card .picks-grid{grid-template-columns:1fr 1fr;gap:14px}}.picks-card .pick-stat{min-width:100px}.pick-stat{display:flex;flex-direction:column;align-items:center;padding:16px;background:var(--bg-secondary);border-radius:8px;text-align:center}.pick-stat .pick-label{white-space:nowrap}.pick-stat.high-conviction{background:var(--confidence-high);border:1px solid var(--border-accent)}.pick-stat.all-matches{background:var(--bg-secondary);border:1px solid var(--border-primary)}.pick-count{font-size:32px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:8px}.pick-label{font-size:11px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.pick-description{font-size:12px;color:var(--text-muted);line-height:1.3}@media (max-width: 1024px){.tennis-layout{grid-template-columns:1fr}.tennis-sidebar{position:static;width:100%;min-width:0;max-width:100%}}.conformal-interval-wrap{margin:.75rem 0 .5rem;padding:.65rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-sm)}.conformal-interval-label{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-family);font-size:.75rem;color:var(--text-muted);margin-bottom:.4rem}.conformal-interval-range{font-weight:600;color:var(--text-primary)}.conformal-interval-track{position:relative;height:10px;background:var(--confidence-medium);border-radius:999px;overflow:visible}.conformal-interval-band{position:absolute;top:0;height:100%;background:linear-gradient(90deg,var(--confidence-high),var(--border-accent));border-radius:999px;opacity:.85}.conformal-interval-point{position:absolute;top:50%;width:10px;height:10px;margin-left:-5px;margin-top:-5px;background:var(--accent-primary);border:2px solid var(--bg-card);border-radius:50%;box-shadow:0 0 0 1px var(--border-accent)}.conformal-interval-legend{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);margin-top:.35rem}.conformal-interval-wrap.compact{margin:0 0 .75rem;padding:.45rem .6rem;background:transparent;border-color:transparent}.conformal-interval-wrap.compact .conformal-interval-label{font-size:.7rem;margin-bottom:.3rem;color:var(--text-muted)}.conformal-interval-wrap.compact .conformal-interval-range{color:var(--text-muted);font-weight:600}.conformal-interval-wrap.compact .conformal-interval-track{height:7px;border-radius:999px;border:1px solid var(--border-primary);background:var(--bg-secondary)}.conformal-interval-wrap.compact .conformal-interval-point{width:9px;height:9px;margin-left:-4.5px;margin-top:-4.5px}.conformal-interval-wrap.compact .conformal-interval-legend{display:none}.match-detail.container{max-width:1200px;padding-top:18px;padding-bottom:40px;font-family:var(--font-family)}.md-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.md-back,.md-prev,.md-next{color:var(--text-primary);text-decoration:none;font-weight:600}.md-back:hover,.md-prev:hover,.md-next:hover{color:var(--accent-primary)}.md-prevnext{display:flex;align-items:center;gap:14px}.md-disabled{color:var(--text-disabled);cursor:default}.md-top{display:grid;grid-template-columns:1fr minmax(0,520px) 1fr;gap:18px;padding:18px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md)}@media (max-width: 900px){.md-top{grid-template-columns:1fr}}.md-player-name{font-size:18px;font-weight:800;color:var(--text-primary)}.md-player-rank{margin-top:6px;font-size:13px;color:var(--text-muted);font-weight:600}.md-player-sub{margin-top:10px;font-size:12px;color:var(--text-muted)}.md-player-right{text-align:right}@media (max-width: 900px){.md-player-right{text-align:left}}.md-center{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.md-probs{display:flex;align-items:baseline;justify-content:center;gap:14px;font-variant-numeric:tabular-nums}.md-prob{font-size:34px;font-weight:900;letter-spacing:-.02em;color:var(--text-muted)}.md-prob.favored{color:var(--accent-primary)}.md-prob-sep{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.md-meta{margin-top:10px;margin-bottom:18px;font-size:12px;color:var(--text-muted)}.md-analysis-block{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.md-card-summary{max-width:600px;width:100%}.md-card-actionable{max-width:700px;width:100%}.md-mid{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.md-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:16px;align-items:start;margin-bottom:16px}.md-lower-side{display:flex;flex-direction:column;gap:12px}.md-card-compact{padding:12px 14px}.md-card-compact .md-card-head{margin-bottom:8px;font-size:13px}.md-lower-details{grid-column:1 / -1}@media (max-width: 900px){.md-lower{grid-template-columns:1fr}}.md-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:16px;min-width:0}.md-card-head{font-weight:800;color:var(--text-primary);margin-bottom:12px}.md-summary{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.65;font-weight:400}.md-summary-probs{font-size:17px;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.md-ev-table{display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary)}.md-ev-line{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,max-content);column-gap:14px;align-items:center;padding:8px 12px;min-height:36px;border-bottom:1px solid var(--border-primary);background:var(--bg-card)}.md-ev-line:last-child{border-bottom:none}.md-ev-market{min-width:0;font-weight:600;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-ev-line-stats{display:contents}.md-ev-line-stat{font-size:11px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.md-ev-line-stat .lbl{font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-right:4px;font-size:10px}.md-ev-line-stat .val{font-weight:600;font-size:12px;color:var(--text-primary)}.md-ev-line-stat.edge-pos .val,.md-ev-line-stat.edge-neg .val{font-size:14px;font-weight:800}.md-ev-line-stat.edge-pos .val{color:var(--success)}.md-ev-line-stat.edge-neg .val{color:var(--error)}.md-ev-details{margin-top:10px}@media (max-width: 720px){.md-ev-line{grid-template-columns:1fr;gap:6px 8px;padding:10px 12px}.md-ev-line-stats{display:flex;flex-wrap:wrap;gap:10px 14px}.md-ev-line-stat.edge-pos .val,.md-ev-line-stat.edge-neg .val{font-size:13px}}.md-mc-details{margin-top:10px}.md-mc-details-summary{cursor:pointer;color:var(--text-secondary);font-weight:700;font-size:13px;list-style:none}.md-mc-details-summary::-webkit-details-marker{display:none}.md-mc-details-summary:hover{color:var(--text-primary)}.md-mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}@media (max-width: 900px){.md-mc-grid{grid-template-columns:1fr}}.md-mc-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.md-mc-block{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);margin-bottom:12px}.md-mc-title{font-weight:800;color:var(--text-primary);margin-bottom:10px}.md-mc-row{display:grid;grid-template-columns:90px 1fr 48px;gap:10px;align-items:center;margin:8px 0}.md-mc-left{color:var(--text-secondary);font-weight:700;font-size:12px;white-space:nowrap}.md-mc-track{height:8px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:999px;overflow:hidden}.md-mc-fill{height:100%;background:var(--accent-primary);border-radius:999px}.md-mc-right{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:800;font-size:12px}.md-mc-inline{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.md-mc-inline-label{color:var(--text-secondary);font-weight:700}.md-mc-inline-value{color:var(--text-primary);font-weight:900;font-variant-numeric:tabular-nums}.md-mc-set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.md-mc-set-cell{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:10px;min-width:0}.md-mc-set-score{color:var(--text-secondary);font-weight:800;font-variant-numeric:tabular-nums}.md-mc-set-pct{margin-top:6px;color:var(--text-primary);font-weight:900;font-variant-numeric:tabular-nums}.md-mc-subhead{margin-top:10px;margin-bottom:6px;font-size:12px;font-weight:800;color:var(--text-muted)}.md-shap{display:flex;flex-direction:column;gap:10px}.md-shap-row{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:center;min-width:0}@media (max-width: 1100px){.md-shap-row{grid-template-columns:180px 1fr}}.md-shap-label{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.25}.md-shap-track{height:8px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:999px;overflow:hidden}.md-shap-fill{height:100%;background:var(--accent-primary);border-radius:999px}.md-muted{color:var(--text-muted)}.md-error{margin-top:12px;color:var(--text-primary)}:root{--player-news-bg: rgba(26, 26, 42, .5);--player-news-border: rgba(255, 255, 255, .1);--player-news-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--player-news-backdrop-blur: 10px;--text-color: #E0E0E0;--text-color-muted: #A0A0A0;--accent-gradient: linear-gradient(90deg, #4F46E5 0%, #A642ED 100%);--icon-color: #8A8A9E;--sport-nba-color: #F56565;--sport-nfl-color: #4299E1;--sport-mlb-color: #68D391;--sport-nhl-color: #ECC94B}.player-news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-lg);padding:var(--space-lg)}.news-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-normal);box-shadow:var(--shadow-card);position:relative}.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);border-color:var(--border-accent)}.news-card-image-link{position:relative;display:block;overflow:hidden;aspect-ratio:16/9}.news-card-image{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.news-card:hover .news-card-image{transform:scale(1.05)}.news-card-category-badge{position:absolute;top:var(--space-sm);left:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-xl);color:var(--text-primary);font-size:var(--font-size-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.news-card-content{padding:var(--space-lg)}.news-card-headline{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-lg);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.news-card-headline a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast)}.news-card-headline a:hover{color:var(--accent-primary)}.news-card-summary{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-md) 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-card-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap}.news-card-source{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-medium)}.news-card-time{color:var(--text-muted);font-size:var(--font-size-xs);display:flex;align-items:center;gap:var(--space-xs)}.news-card-time:before{content:"•";color:var(--text-disabled)}.news-card-read-more{color:var(--accent-primary);font-size:var(--font-size-xs);font-weight:var(--font-medium);text-decoration:none;display:flex;align-items:center;gap:var(--space-xs);transition:all var(--transition-fast);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-lg)}.news-card-read-more:hover{color:var(--accent-secondary);background:#3461ff1a;transform:translate(2px)}.skeleton-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.skeleton-image{width:100%;height:200px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-input) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-content{padding:var(--space-lg)}.skeleton-line{height:16px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-input) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.news-error,.news-empty{grid-column:1 / -1;text-align:center;padding:var(--space-3xl);color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);border-style:dashed}.news-error{color:var(--error);border-color:var(--error)}.news-card[data-sport=NBA] .news-card-category-badge{background:linear-gradient(135deg,#ff6b35,#f7931e)}.news-card[data-sport=NFL] .news-card-category-badge{background:linear-gradient(135deg,#013369,#d50a0a)}.news-card[data-sport=MLB] .news-card-category-badge{background:linear-gradient(135deg,#002d72,#d50032)}.news-card[data-sport=NHL] .news-card-category-badge{background:linear-gradient(135deg,#000,#ffb81c)}@media (max-width: 1024px){.player-news-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md);padding:var(--space-md)}}@media (max-width: 768px){.player-news-grid{grid-template-columns:1fr;gap:var(--space-md);padding:var(--space-sm)}.news-card-content{padding:var(--space-md)}.news-card-footer{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.news-card-time:before{display:none}}@media (max-width: 480px){.news-card-headline{font-size:var(--font-size-base)}.news-card-summary{font-size:var(--font-size-xs)}.news-card-content{padding:var(--space-sm)}}.news-card.loading{opacity:.7;pointer-events:none}.news-card.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border:2px solid var(--accent-primary);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.news-card:before{content:"";position:absolute;inset:0;background:var(--accent-gradient);opacity:0;transition:opacity var(--transition-fast);z-index:-1;border-radius:var(--radius-xl)}.news-card:hover:before{opacity:.02}.news-card:focus-within{outline:2px solid var(--accent-primary);outline-offset:2px}.news-card-headline a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.news-card-read-more:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.tennis-news-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-lg);text-align:center;min-height:500px;background:var(--card-gradient);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);backdrop-filter:blur(12px);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.tennis-news-empty-state:before{content:"";position:absolute;inset:0;background:var(--bg-gradient-card);opacity:.5;z-index:0}.tennis-news-empty-state>*{position:relative;z-index:1}.tennis-news-empty-icon{color:var(--accent-primary);margin-bottom:var(--space-lg);opacity:.7;filter:drop-shadow(0 0 20px rgba(0,212,255,.3));animation:pulse-glow 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.7;transform:scale(1);filter:drop-shadow(0 0 20px rgba(0,212,255,.3))}50%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 30px rgba(0,212,255,.5))}}.tennis-news-empty-title{font-size:var(--font-size-3xl);font-weight:var(--font-bold);background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-md);letter-spacing:-.02em}.tennis-news-empty-message{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:600px;line-height:1.7;margin-bottom:var(--space-xl);font-weight:var(--font-normal)}.tennis-news-empty-features{display:flex;gap:var(--space-xl);flex-wrap:wrap;justify-content:center;margin-top:var(--space-lg)}.tennis-news-feature{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-lg);background:var(--card-gradient);backdrop-filter:blur(8px);border:1px solid var(--border-primary);border-radius:var(--radius-xl);min-width:140px;transition:all var(--transition-normal);position:relative;overflow:hidden}.tennis-news-feature:before{content:"";position:absolute;inset:0;background:var(--bg-gradient-card);opacity:0;transition:opacity var(--transition-normal)}.tennis-news-feature:hover{border-color:var(--border-accent);transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.tennis-news-feature:hover:before{opacity:1}.tennis-news-feature-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-xs)}.tennis-news-feature span:last-child{font-size:var(--font-size-sm);color:var(--text-muted);font-weight:var(--font-medium)}@media (max-width: 768px){.tennis-news-empty-state{padding:var(--space-2xl) var(--space-md);min-height:400px}.tennis-news-empty-title{font-size:var(--font-size-2xl)}.tennis-news-empty-message{font-size:var(--font-size-sm)}.tennis-news-empty-features{gap:var(--space-md)}.tennis-news-feature{min-width:100px;padding:var(--space-sm)}}.player-news-page .container{max-width:1400px;margin:0 auto;padding:0 var(--space-md)}.player-news-page .page-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) 0;border-bottom:1px solid var(--border-primary);margin-bottom:var(--space-md)}.player-news-page .page-title{font-size:var(--font-size-4xl);font-weight:var(--font-bold);color:var(--text-primary)}.sport-tabs{display:flex;gap:var(--space-xs)}.sport-tab{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--border-secondary);color:var(--text-muted);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.sport-tab:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-accent)}.sport-tab.active{background:var(--accent-gradient);color:var(--text-primary);border-color:var(--accent-primary);box-shadow:var(--shadow-md)}.sport-tab.coming-soon{opacity:.5;cursor:not-allowed;position:relative}.sport-tab .sport-icon{font-size:var(--font-size-base)}@media (max-width: 768px){.player-news-page .page-header{flex-direction:column;gap:var(--space-md);align-items:flex-start}.player-news-page .page-title{font-size:var(--font-size-3xl)}.sport-tabs{flex-wrap:wrap;gap:var(--space-sm)}.sport-tab{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs)}}.props-spreads-page{padding:2rem;max-width:800px;margin:0 auto;min-height:60vh;display:flex;align-items:center;justify-content:center}.props-spreads-content{text-align:center}.props-spreads-title{font-size:1.75rem;font-weight:600;color:#141413;margin-bottom:1rem;letter-spacing:-.02em}.props-spreads-placeholder{font-size:1rem;color:#b0aea5;line-height:1.6;margin:0}.quant-page{padding:var(--space-xl) 0;font-family:var(--font-family)}.quant-container{max-width:1200px}.quant-header{margin-bottom:var(--space-xl)}.quant-title{font-family:var(--font-family);font-weight:600;letter-spacing:-.02em;font-size:clamp(2.25rem,4vw,3rem)}.quant-subtitle{margin-top:var(--space-xs);color:var(--text-muted);max-width:60ch}.quant-hero{margin-top:var(--space-lg)}.quant-hero-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card)}.quant-hero-topline{font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.quant-hero-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.quant-hero-value{display:inline-flex;align-items:center;gap:var(--space-sm);padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.quant-hero-value:disabled{cursor:default;opacity:.75}.quant-hero-number{font-family:var(--font-family);font-weight:650;letter-spacing:-.03em;font-size:clamp(2.5rem,6vw,4rem);color:var(--text-primary);line-height:1.05}.quant-hero-edit-icon{width:18px;height:18px;color:var(--text-muted);transform:translateY(2px)}.quant-hero-input{font-family:var(--font-family);font-weight:650;letter-spacing:-.03em;font-size:clamp(2.25rem,6vw,3.75rem);color:var(--text-primary);background:transparent;border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);outline:none;min-width:min(420px,100%)}.quant-hero-input:focus{border-color:#ffffff40}.quant-hero-status{font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--text-muted);min-height:1.25em}.quant-hero-error{margin-top:var(--space-sm);color:#ff6b6b;font-size:var(--font-size-sm)}.quant-hero-hint{margin-top:var(--space-sm);color:var(--text-muted);font-size:var(--font-size-sm)}.quant-scaffold-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card)}.quant-scaffold-label{font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-sm)}.quant-scaffold-placeholder{color:var(--text-secondary);line-height:var(--leading-relaxed)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;gap:var(--space-sm)}.btn-primary{background:var(--accent-primary);color:var(--text-primary);box-shadow:none}.btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-primary-dark)}.btn-outline{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.btn-outline:hover{background:var(--bg-card-hover);border-color:var(--accent-secondary)}.text-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;font-size:inherit;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.debug-outline *{border:1px solid rgba(255,0,0,.1)!important}:root{--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #141414;--bg-card: #141414;--bg-card-hover: #1a1a1a;--bg-input: #141414;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .35);--text-disabled: rgba(255, 255, 255, .25);--border-primary: rgba(255, 255, 255, .08);--border-secondary: rgba(255, 255, 255, .08);--border-gradient: rgba(255, 255, 255, .08);--card-gradient: var(--bg-card);--card-gradient-hover: var(--bg-card-hover);--bg-gradient-primary: var(--bg-primary);--bg-gradient-card: var(--bg-card);--accent-gradient: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-primary-dark) 100%);--accent-gradient-hover: linear-gradient(135deg, var(--accent-primary-light) 0%, var(--accent-primary) 100%);--glow-primary: none;--accent-primary: #c75b2a;--accent-primary-dark: #a84a22;--accent-primary-light: #e06b36;--accent-secondary: #c75b2a;--accent-secondary-dark: #a84a22;--accent-secondary-light: #e06b36;--border-accent: rgba(199, 91, 42, .6);--border-accent-hover: rgba(199, 91, 42, .9);--success: #2fbf71;--warning: #f59e0b;--error: #ef4444;--info: #c75b2a;--color-success: #2fbf71;--color-danger: #ef4444;--color-warning: #f59e0b;--color-muted: rgba(255, 255, 255, .35);--color-text-secondary: rgba(255, 255, 255, .5);--error-bg: rgba(239, 68, 68, .12);--success-bg: rgba(47, 191, 113, .12);--confidence-high: rgba(199, 91, 42, .18);--confidence-medium: rgba(255, 255, 255, .08);--confidence-low: rgba(255, 255, 255, .06);--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--shadow-2xl: none;--shadow-card: none;--shadow-card-hover: none;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem;--space-3xl: 6rem;--font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-family-sans: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.15;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.6;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-light)}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-family-sans);font-weight:600;line-height:var(--leading-tight);color:var(--text-primary)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:8px;font-family:var(--font-family-sans);font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;border:none;gap:8px}.btn-primary{background-color:var(--accent-primary);color:var(--text-primary)}.btn-primary:hover{background-color:var(--accent-primary-dark)}.btn-primary:focus-visible{box-shadow:0 0 0 3px var(--border-accent)}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover{background-color:var(--bg-card-hover)}.btn-outline{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-primary)}.btn-outline:hover{background-color:var(--bg-card-hover);border-color:var(--border-accent)}.btn-outline:focus-visible{box-shadow:0 0 0 3px var(--border-accent)}.text-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;font-size:inherit;font-family:var(--font-family);transition:color var(--transition-fast)}.text-link:hover{color:var(--accent-primary-light);text-decoration:underline}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-color-scheme: dark){body{background-color:var(--bg-primary);color:var(--text-primary)}}html{scroll-behavior:smooth}body{margin:0;padding:0;min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast),outline var(--transition-fast)}a:hover{color:var(--accent-secondary)}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin:0 0 var(--space-md) 0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.login-container,.signup-container{max-width:400px;margin:2rem auto;padding:2rem;border:1px solid #ddd;border-radius:8px}.error{color:red;margin-bottom:1rem}input,textarea,select{background-color:var(--bg-input);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-sm) var(--space-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3461ff1a}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{background:#06c;color:#fff;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer}.dashboard{padding:2rem}.games-list{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.game-card{border:1px solid #ddd;padding:1rem;border-radius:8px}.odds{display:flex;gap:1rem;margin:1rem 0}.bet-form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-xl);font-weight:var(--font-semibold);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;gap:var(--space-sm);text-decoration:none;font-family:var(--font-family)}.btn-primary{background:var(--accent-gradient);color:var(--text-primary);box-shadow:var(--shadow-md),var(--glow-primary);border:1px solid rgba(0,212,255,.2);font-weight:var(--font-semibold);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--glow-primary-hover);background:var(--accent-gradient-hover);border-color:#00d4ff66}.btn-primary:hover:before{left:100%}.btn-primary:focus-visible{box-shadow:0 0 0 3px #3461ff80}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-secondary)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--accent-primary);transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.btn-outline:hover{background-color:#3461ff1a;transform:translateY(-1px)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg);border-radius:var(--radius-2xl)}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.text-link{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:0;font-family:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.text-link:hover{color:var(--accent-secondary)}.text-link:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.card{background:var(--card-gradient);backdrop-filter:blur(12px);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-card);transition:all var(--transition-normal);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--border-gradient);opacity:0;transition:opacity var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);border-color:var(--border-accent);background:var(--card-gradient-hover)}.card:hover:before{opacity:1}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-primary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-card{background-color:var(--bg-card)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 768px){.container{padding:0 var(--space-sm)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}.btn-lg{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base)}}@media (max-width: 480px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}}
