@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;600;700&display=swap";:root{--bg-primary:#0a0f1d;--bg-secondary:#121829;--bg-tertiary:#1b233d;--card-bg:#121829bf;--card-border:#ffffff14;--card-hover-border:#f59e0b66;--accent-gold:#f59e0b;--accent-gold-hover:#d97706;--accent-green:#10b981;--accent-red:#ef4444;--accent-blue:#3b82f6;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 10px 30px #00000080;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;margin:0;padding:0;font-family:Inter,sans-serif}body{background-color:var(--bg-primary);background-image:radial-gradient(at 0 0,#3b82f61a 0,#0000 50%),radial-gradient(at 100% 100%,#f59e0b14 0,#0000 50%);min-height:100vh;margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-gold)}.app-container{flex-direction:column;min-height:100vh;display:flex}.header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--card-border);z-index:100;background:#0a0f1dd9;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.logo-section{cursor:pointer;border-radius:8px;align-items:center;gap:.85rem;padding:4px 8px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.logo-section:hover{background:#ffffff05}.logo-mark-container{justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.logo-mark-svg{filter:drop-shadow(0 0 6px #ff7e6759);width:100%;height:100%;transition:all .4s cubic-bezier(.16,1,.3,1)}.logo-hexagon{stroke-dasharray:100;stroke-dashoffset:0;transition:all .6s cubic-bezier(.16,1,.3,1)}.logo-horse-path{filter:drop-shadow(0 0 2px #fff27566);transition:all .4s}.logo-net-line{animation:3s ease-in-out infinite stroke-pulse}.logo-node{transform-origin:50%;animation:2s ease-in-out infinite pulse-node}.logo-node.eye{filter:drop-shadow(0 0 3px #fff);animation-delay:0s}.logo-node.node-a{filter:drop-shadow(0 0 2px #fff275);animation-delay:.4s}.logo-node.node-b{filter:drop-shadow(0 0 2px #ff7e67);animation-delay:.8s}.logo-node.node-c,.logo-node.node-d{filter:drop-shadow(0 0 2px #c850c0);animation-delay:1.2s}@keyframes pulse-node{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes stroke-pulse{0%,to{opacity:.3}50%{opacity:.85}}.logo-section:hover .logo-mark-svg{filter:drop-shadow(0 0 12px #ff7e67b3);transform:translateY(-1px)scale(1.08)}.logo-section:hover .logo-hexagon{stroke-dasharray:50 10;stroke-dashoffset:20px}.logo-text-wrapper{flex-direction:column;justify-content:center;line-height:1.1;display:flex}.logo-title{letter-spacing:-.02em;align-items:baseline;margin:0;font-family:Outfit,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.logo-title-sub{color:#e2e8f0;letter-spacing:-.03em;text-shadow:0 2px 10px #0000004d;margin-right:.15rem;font-size:1.3rem;font-weight:300}.logo-title-main{background:linear-gradient(135deg,#fff59d 0%,#ff8a65 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px #ff8a6540);-webkit-background-clip:text;margin-right:.05rem;font-size:1.5rem;font-style:italic;font-weight:900}.logo-title-accent{background:linear-gradient(135deg,#ff8a65 0%,#e040fb 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;filter:drop-shadow(0 2px 8px #e040fb40);-webkit-background-clip:text;font-size:1.3rem;font-weight:700}.logo-subtitle{color:var(--text-secondary);opacity:.45;letter-spacing:.25em;text-transform:uppercase;margin-top:2px;font-family:Outfit,sans-serif;font-size:.55rem;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1)}.logo-section:hover .logo-subtitle{opacity:.8;color:var(--accent-gold);letter-spacing:.3em}.nav-tabs{gap:.5rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;display:flex}.tab-btn:hover{color:var(--text-primary);background:#ffffff0a}.tab-btn.active{color:var(--bg-primary);background:var(--accent-gold);font-weight:600;box-shadow:0 4px 12px #f59e0b4d}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1600px;margin:0 auto;padding:2rem}.grid-2{grid-template-columns:1fr 2fr;gap:1.5rem;display:grid}@media (width<=1024px){.grid-2{grid-template-columns:1fr}}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);transition:var(--transition-smooth);border-radius:12px;padding:1.5rem;position:relative;overflow:hidden}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:#ffffff26}.glass-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-gold), transparent);width:100%;height:2px;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-100%)}.glass-card:hover:before{transform:translate(100%)}.card-title{border-bottom:1px solid var(--card-border);align-items:center;gap:.5rem;margin-top:0;margin-bottom:1.25rem;padding-bottom:.75rem;font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:600;display:flex}.table-container{margin-top:.5rem;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.custom-table th{color:var(--text-secondary);border-bottom:1px solid var(--card-border);background:#ffffff08;padding:.85rem 1rem;font-weight:600}.custom-table td{color:var(--text-primary);transition:var(--transition-smooth);border-bottom:1px solid #ffffff0a;padding:.85rem 1rem}.custom-table tr:hover td{background:#ffffff05}.custom-table tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;border-radius:4px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-gold{color:var(--accent-gold);background:#f59e0b26;border:1px solid #f59e0b4d}.badge-green{color:var(--accent-green);background:#10b98126;border:1px solid #10b9814d}.badge-red{color:var(--accent-red);background:#ef444426;border:1px solid #ef44444d}.badge-blue{color:var(--accent-blue);background:#3b82f626;border:1px solid #3b82f64d}.input-group{flex-direction:column;gap:.5rem;display:flex}.custom-input{background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-primary);transition:var(--transition-smooth);border-radius:6px;outline:none;padding:.6rem .9rem;font-size:.9rem}.custom-input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 2px #f59e0b33}.custom-select{background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-primary);cursor:pointer;transition:var(--transition-smooth);border-radius:6px;outline:none;padding:.6rem .9rem;font-size:.9rem}.custom-select:focus{border-color:var(--accent-gold)}select option{background-color:#121829!important;background:var(--bg-secondary)!important;color:var(--text-primary)!important}.btn-primary{background:var(--accent-gold);color:var(--bg-primary);cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:var(--accent-gold-hover);box-shadow:0 4px 12px #f59e0b33}.btn-secondary{color:var(--text-primary);border:1px solid var(--card-border);cursor:pointer;transition:var(--transition-smooth);background:#ffffff0d;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-weight:500;display:inline-flex}.btn-secondary:hover{background:#ffffff14}.alert-box{color:#fca5a5;background:#ef444414;border:1px dashed #ef44444d;border-radius:8px;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.alert-icon{color:var(--accent-red);flex-shrink:0;margin-top:.1rem}.dashboard-grid{grid-template-columns:300px 1fr;gap:1.5rem;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.baba-list{flex-direction:column;gap:.5rem;display:flex}.baba-card{border:1px solid var(--card-border);cursor:pointer;transition:var(--transition-smooth);background:#ffffff05;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.baba-card:hover{border-color:var(--accent-gold);background:#ffffff0d}.baba-card.active{border-color:var(--accent-gold);background:#f59e0b0f}.race-btn-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem;margin-bottom:1.5rem;display:grid}.race-btn{background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;text-align:center;transition:var(--transition-smooth);border-radius:6px;padding:.5rem;font-weight:600}.race-btn:hover{border-color:var(--accent-gold);color:var(--text-primary)}.race-btn.active{background:var(--accent-gold);color:var(--bg-primary);border-color:var(--accent-gold)}.race-btn.has-results{border-left:3px solid var(--accent-green)}.filter-bar{border:1px solid var(--card-border);background:#ffffff05;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.analysis-container{flex-direction:column;gap:1.5rem;display:flex}.detail-tabs{border-bottom:1px solid var(--card-border);margin-bottom:1rem;display:flex}.detail-tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-weight:500}.detail-tab:hover{color:var(--text-primary)}.detail-tab.active{color:var(--accent-gold);border-bottom-color:var(--accent-gold);font-weight:600}.chart-container{width:100%;height:350px;margin-top:1rem}.spinner{border:4px solid #ffffff1a;border-left-color:var(--accent-gold);border-radius:50%;width:36px;height:36px;margin:2rem auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-center{text-align:center}.crown-badge{justify-content:center;align-items:center;margin-right:.35rem;font-size:1rem;display:inline-flex}.crown-badge.gold{filter:drop-shadow(0 0 3px #f59e0bb3)}.crown-badge.silver{filter:drop-shadow(0 0 3px #ffffffb3)}.crown-badge.bronze{filter:drop-shadow(0 0 3px #d97706b3)}.time-badge-cell{flex-direction:column;gap:.15rem;display:flex}.same-cond-time{color:var(--text-primary);align-items:center;font-weight:600;display:flex}.time-val{font-family:monospace}.odds-alerts-container{scrollbar-width:thin;scrollbar-color:#ef44444d transparent;padding-bottom:6px;overflow:auto hidden}.odds-alerts-container::-webkit-scrollbar{height:6px}.odds-alerts-container::-webkit-scrollbar-track{background:0 0}.odds-alerts-container::-webkit-scrollbar-thumb{background-color:#ef44444d;border-radius:3px}.odds-alerts-grid{flex-direction:row;gap:.75rem;padding:.1rem 0;display:flex}.odds-alert-card{box-sizing:border-box;transition:var(--transition-smooth);box-shadow:var(--shadow-sm);background:#ef44440a;border:1px solid #ef444426;border-radius:6px;flex:0 0 190px;padding:.4rem .6rem;position:relative}.odds-alert-card:hover{background:#ef444414;border-color:#ef444480;transform:translateY(-1px);box-shadow:0 4px 10px #ef44441a}.odds-alert-card .alert-header{justify-content:space-between;align-items:center;margin-bottom:.15rem;display:flex}.odds-alert-card .alert-title{color:#fca5a5;align-items:center;gap:.25rem;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;display:flex}.odds-alert-card .alert-pct{background:var(--accent-red);color:#fff;border-radius:3px;padding:.05rem .25rem;font-size:.65rem;font-weight:700}.odds-alert-card .alert-details{color:var(--text-secondary);flex-direction:column;gap:.1rem;font-size:.75rem;display:flex}.odds-alert-card .alert-odds-flow{align-items:center;gap:.35rem;margin-top:.2rem;font-weight:700;display:flex}.odds-alert-card .alert-odds-flow .prev-odds{color:var(--text-muted);font-size:.8rem;text-decoration:line-through}.odds-alert-card .alert-odds-flow .arrow{color:var(--accent-red)}.odds-alert-card .alert-odds-flow .curr-odds{color:#f87171;font-family:monospace;font-size:1rem}.hot-ranking-list{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.hot-ranking-item{border:1px solid var(--card-border);transition:var(--transition-smooth);background:#ffffff05;border-radius:6px;justify-content:space-between;align-items:center;padding:.6rem .8rem;font-size:.85rem;display:flex}.hot-ranking-item:hover{border-color:var(--accent-gold);background:#ffffff0d}.hot-ranking-item .rank-name{color:var(--text-primary);font-weight:600}.hot-ranking-item .rank-stats{color:var(--accent-gold);align-items:center;font-family:monospace;font-weight:700;display:flex}.hot-ranking-item .rank-runs{color:var(--text-secondary);margin-left:.35rem;font-size:.75rem;font-weight:400}.ai-mark-badge{text-align:center;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.85rem;font-weight:800;display:inline-flex;box-shadow:0 2px 6px #0006}.ai-mark-badge.mark-fav{color:#0a0f1d;background:radial-gradient(circle,#ffe066 0%,#f59e0b 100%);border:1.5px solid #ffe066}.ai-mark-badge.mark-opp{color:#0a0f1d;background:radial-gradient(circle,#f3f4f6 0%,#9ca3af 100%);border:1.5px solid #fff}.ai-mark-badge.mark-dark{color:#fff;background:radial-gradient(circle,#fca5a5 0%,#ef4444 100%);border:1.5px solid #fca5a5}.ai-mark-badge.mark-runner{color:#fff;background:radial-gradient(circle,#818cf8 0%,#4f46e5 100%);border:1.5px solid #818cf8}.ai-predictions-card{box-shadow:0 4px 20px #f59e0b0d!important}.ai-predictions-card:hover{border-color:#f59e0b80!important;box-shadow:0 10px 30px #f59e0b1f!important}.ai-focus-item{transition:var(--transition-smooth)}.ai-focus-item:hover{background:#ffffff0a!important;border-color:#f59e0b33!important}.floating-log-btn{background:var(--bg-tertiary);border:2px solid var(--accent-green);width:56px;height:56px;color:var(--accent-green);cursor:pointer;z-index:1000;transition:var(--transition-smooth);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 20px #10b98140}.floating-log-btn:hover{background:var(--accent-green);color:var(--bg-primary);transform:scale(1.08);box-shadow:0 6px 25px #10b98173}.floating-log-btn:hover .pulse-icon{animation:none}.pulse-icon{animation:1.5s infinite pulse-green}@keyframes pulse-green{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.log-drawer{background:var(--bg-secondary);border-left:1px solid var(--card-border);z-index:1010;flex-direction:column;width:480px;max-width:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-5px 0 30px #0009}.log-drawer.open{transform:translate(0)}.log-drawer-header{border-bottom:1px solid var(--card-border);background:#00000026;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.log-drawer-header .close-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;padding:0;font-size:1.8rem;line-height:1}.log-drawer-header .close-btn:hover{color:var(--accent-red)}.log-drawer-content{box-sizing:border-box;flex-direction:column;flex:1;padding:1.5rem;display:flex;overflow-y:auto}.toggle-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider{cursor:pointer;background-color:#ffffff0d;border:1px solid #ffffff26;transition:all .3s;position:absolute;inset:0}.toggle-switch .slider:before{content:"";background-color:var(--text-secondary);width:12px;height:12px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.slider{border-color:var(--accent-green);background-color:#10b9811a}.toggle-switch input:checked+.slider:before{background-color:var(--accent-green);transform:translate(16px)}.toggle-switch .slider.round{border-radius:20px}.toggle-switch .slider.round:before{border-radius:50%}.log-console-text::-webkit-scrollbar{width:6px}.log-console-text::-webkit-scrollbar-track{background:#05070f}.log-console-text::-webkit-scrollbar-thumb{background:#10b98140;border-radius:3px}.log-console-text::-webkit-scrollbar-thumb:hover{background:var(--accent-green)}.premium-predictions-card{background:linear-gradient(135deg,#581c8726 0%,#eab3080d 100%)!important;border:1px solid #eab30866!important;box-shadow:0 8px 32px #9333ea26,inset 0 0 20px #eab3080d!important}.premium-predictions-card:hover{border-color:#eab308cc!important;box-shadow:0 12px 40px #9333ea40,inset 0 0 30px #eab3081a!important}.premium-title{background:linear-gradient(90deg,#f59e0b,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-weight:700!important}.premium-locked-overlay{z-index:10;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#12182973;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.premium-locked-container{border-radius:8px;position:relative;overflow:hidden}.blurred-text{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none;opacity:.6}.premium-unlock-btn{cursor:pointer;border-radius:9999px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 15px #a855f766;color:#0a0f1d!important;background:linear-gradient(135deg,#f59e0b 0%,#a855f7 100%)!important;border:none!important;font-weight:700!important}.premium-unlock-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.premium-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#05070fd9;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.premium-modal-card{box-sizing:border-box;background:#121829;border:1px solid #a855f766;border-radius:16px;flex-direction:column;gap:1.5rem;width:90%;max-width:480px;padding:2rem;animation:.3s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;box-shadow:0 20px 50px #9333ea4d}.premium-modal-header{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.premium-modal-icon-container{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33 0%,#a855f733 100%);border:2px dashed #f59e0b99;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.premium-modal-title{background:linear-gradient(90deg,#f59e0b,#a855f7);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:700}.premium-modal-body{color:var(--text-secondary);text-align:center;font-size:.9rem;line-height:1.6}.premium-modal-footer{justify-content:center;gap:1rem;display:flex}.premium-modal-btn-confirm{cursor:pointer;background:linear-gradient(135deg,#f59e0b 0%,#a855f7 100%);border:none;border-radius:8px;padding:.75rem 2rem;font-weight:700;transition:all .2s;color:#0a0f1d!important}.premium-modal-btn-confirm:hover{filter:brightness(1.1);transform:translateY(-1px)}.premium-modal-btn-cancel{color:var(--text-primary);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;padding:.75rem 2rem;font-weight:600;transition:all .2s}.premium-modal-btn-cancel:hover{color:#fff;background:#ffffff1a}.premium-badge-mini{color:#f59e0b;background:linear-gradient(135deg,#f59e0b33 0%,#a855f733 100%);border:1px solid #f59e0b80;border-radius:4px;align-items:center;gap:.1rem;padding:.1rem .3rem;font-size:.7rem;font-weight:600;display:inline-flex;box-shadow:0 0 8px #f59e0b1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.roughness-dot{border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px;box-shadow:0 0 2px #00000080}.roughness-dot.flat{background-color:#10b981;box-shadow:0 0 4px #10b981}.roughness-dot.mid{background-color:#f59e0b;box-shadow:0 0 4px #f59e0b}.roughness-dot.rough{background-color:#ef4444;box-shadow:0 0 4px #ef4444}.badge-roughness-flat{color:#10b981!important;background-color:#10b98126!important;border:1px solid #10b9814d!important}.badge-roughness-mid{color:#f59e0b!important;background-color:#f59e0b26!important;border:1px solid #f59e0b4d!important}.badge-roughness-rough{color:#ef4444!important;background-color:#ef444426!important;border:1px solid #ef44444d!important}
