:root{--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.145 0 0);--card-foreground: oklch(.985 0 0);--primary: oklch(.985 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.269 0 0);--accent-foreground: oklch(.985 0 0);--border: oklch(.269 0 0);--destructive: oklch(.396 .141 25.723);--destructive-foreground: oklch(.637 .237 25.331);--accent-blue: oklch(.6 .15 200);--accent-green: oklch(.65 .15 120);--accent-orange: oklch(.7 .15 60);--accent-red: oklch(.65 .2 15);--text-secondary: oklch(.6 .005 240);--bg-primary: var(--background);--bg-secondary: var(--secondary);--bg-hover: var(--accent);--text-primary: var(--foreground);--border-color: var(--border);--card-bg: var(--card);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--background);color:var(--foreground)}*{box-sizing:border-box}button{font-family:inherit}:root{color-scheme:dark}body{margin:0;background:var(--bg-primary)}.app-shell{min-height:100vh}.page{max-width:1200px;margin:0 auto;padding:12px 16px;min-height:calc(100vh - 60px)}.app-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border-color);background:rgba(var(--background),.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-container{max-width:1200px;margin:0 auto;padding:8px 16px;display:flex;align-items:center;justify-content:space-between}.header-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:8px}.header-time{font-size:12px;color:var(--text-secondary);font-family:SF Mono,Monaco,monospace}.refresh-btn{padding:4px 8px;font-size:12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:background .2s}.refresh-btn:hover{background:var(--bg-hover)}.page-header{display:none}.actions{display:flex;align-items:center;gap:16px;font-size:15px}.actions button{padding:10px 24px;border-radius:24px;border:none;background:var(--accent-blue);color:var(--text-primary);cursor:pointer;font-weight:700;font-size:15px;transition:all .2s}.actions button:hover{background:#1a8cd8;transform:translateY(-1px)}.actions button:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}.hint{color:var(--text-secondary);font-size:14px;margin:0;line-height:1.6}.error{color:var(--accent-red);background:#f4212e1a;padding:12px 16px;border-radius:8px;border-left:3px solid var(--accent-red)}.table-wrap{overflow-x:auto;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}table{width:100%;border-collapse:collapse}thead{background:var(--bg-hover);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}th,td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--border-color);transition:background-color .2s}th{font-weight:700;font-size:14px;color:var(--text-primary);letter-spacing:.5px;text-transform:uppercase}td{font-size:15px;color:var(--text-primary)}tbody tr:hover{background:var(--bg-hover)}.subtle{color:var(--text-secondary);font-size:13px;font-weight:400}.empty{text-align:center;color:var(--text-secondary);padding:48px 24px;font-size:16px}.page a{color:var(--accent-blue);text-decoration:none;font-weight:500;transition:color .2s}.page a:hover{color:#1a8cd8;text-decoration:underline}.bifa-cell{min-width:280px;white-space:nowrap;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:13px}.meta{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:var(--text-secondary)}.bifa-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-top:24px}.bifa-section h2{margin-top:0;color:var(--text-primary);font-size:24px;font-weight:800;margin-bottom:20px}.source-link{font-size:13px;color:var(--text-secondary);margin-top:16px}.matches-list{display:flex;flex-direction:column;gap:8px;margin-top:16px}.match-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;transition:all .2s ease;cursor:pointer}.match-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.match-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.match-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.match-time{font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text-secondary);white-space:nowrap}.match-separator{color:var(--text-secondary);font-size:12px}.match-league{font-size:14px;font-weight:600;color:var(--text-primary);truncate:true;min-width:0}.match-alerts{display:flex;gap:4px;flex-shrink:0}.expand-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;font-size:12px;border-radius:4px;transition:background .2s;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.match-main{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.match-teams-info{flex:1;display:flex;flex-direction:column;gap:4px}.team-names{display:flex;align-items:center;gap:8px}.team-name{font-size:15px;font-weight:500;color:var(--text-primary);transition:all .15s ease}.team-leading{font-size:16px;font-weight:700;color:#10b981}.vs-separator{color:var(--text-secondary);font-size:12px;font-weight:400}.score{font-family:SF Mono,Monaco,monospace;font-size:18px;font-weight:700;color:var(--text-primary);padding:0 10px}.match-time-main{font-family:SF Mono,Monaco,monospace;font-size:13px;color:var(--text-secondary);font-weight:500}.match-volume{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.volume-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.volume-value{font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:700;color:var(--accent-green)}.match-expanded{padding-top:12px;border-top:1px solid var(--border-color);margin-top:8px}.trades-grid{display:flex;flex-direction:column;gap:8px}.trade-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;transition:all .2s ease}.trade-card:hover{background:var(--bg-hover)}.trade-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.trade-outcome{font-size:13px;font-weight:600;color:var(--text-primary)}.trade-price{font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:700;color:var(--accent-blue)}.trade-details{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 12px;font-size:11px}.trade-item{display:flex;justify-content:space-between;align-items:center}.trade-label{color:var(--text-secondary);font-size:10px;font-weight:500}.trade-value{font-family:SF Mono,Monaco,monospace;font-size:11px;font-weight:600;color:var(--text-primary)}.match-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.stat-value{font-size:18px;font-weight:700;color:var(--accent-green);font-family:SF Mono,Monaco,monospace}.bifa-summary{background:var(--bg-hover);border-radius:12px;padding:16px;margin:16px 0}.bifa-title{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:12px}.bifa-items{display:flex;flex-wrap:wrap;gap:8px}.bifa-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:13px;font-family:SF Mono,monospace;color:var(--text-primary)}.match-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.detail-link{background:var(--accent-blue);color:var(--text-primary);padding:10px 20px;border-radius:12px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.detail-link:hover{background:#1a8cd8;transform:translateY(-1px)}.data-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;height:20px;border-radius:4px;font-size:12px;font-weight:600;margin-left:8px}.badge-live{background:var(--accent-red);color:var(--foreground);animation:pulse 2s infinite}.badge-halftime{background:var(--accent-color);color:var(--foreground)}.badge-up-alert{background:var(--primary);color:var(--primary-foreground)}.badge-down-alert{background:var(--destructive);color:var(--destructive-foreground)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.volume-cell{font-weight:600;color:var(--accent-green);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.alert-box{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;margin-bottom:12px;font-size:11px;font-weight:500;border-left:3px solid}.alert-box strong{font-weight:600;margin-right:4px}.alert-up{background:#f4212e14;border-left-color:var(--accent-red);color:var(--text-primary)}.alert-down{background:#ffd40014;border-left-color:var(--accent-yellow);color:var(--text-primary)}@media (max-width: 768px){.page{padding:12px}.page-header{padding:16px;border-radius:12px}.page-header h1{font-size:20px}.actions{flex-direction:column;align-items:flex-start;gap:8px}.match-card{padding:12px}.match-info{gap:6px}.match-time{font-size:11px}.match-league{font-size:13px}.team-home,.team-away{font-size:14px}.match-time-main,.volume-value{font-size:12px}.data-badge{padding:2px 4px;height:16px;font-size:10px;margin-left:4px}.expand-btn{width:20px;height:20px;font-size:11px}.trade-details{grid-template-columns:repeat(2,1fr);gap:4px 8px}.trade-card{padding:6px 10px}.trade-outcome{font-size:12px}.trade-price{font-size:13px}}@media (max-width: 480px){.page{padding:8px}.match-header{gap:8px}.match-info{gap:4px}.team-home,.team-away{font-size:13px}.match-time-main{font-size:11px}.volume-label{font-size:10px}.volume-value{font-size:11px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
