:root {
  --bg:#0b0f0d;--bg2:#111811;--bg3:#162019;--card:#1a2620;--border:#243328;
  --lime:#b8f535;--lime2:#d4f96a;--lime-dim:#7aaa1e;
  --chalk:#eef5e8;--chalk2:#a8bfa0;--chalk3:#607560;
  --danger:#ff5252;--gold:#f5c542;--blue:#5ab4f5;
  --r:14px;--rs:8px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--chalk);font-family:'Outfit',sans-serif;min-height:100vh}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

/* NAV */
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:rgba(11,15,13,0.93);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.logo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.06em;color:var(--lime)}
.logo sup{font-family:'Outfit',sans-serif;font-size:.5rem;font-weight:500;color:var(--chalk3);letter-spacing:.1em;vertical-align:super;margin-left:3px}
.nav-right{display:flex;align-items:center;gap:12px}
.nav-date{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--chalk3)}
.nav-live{display:flex;align-items:center;gap:5px;background:rgba(184,245,53,.1);border:1px solid rgba(184,245,53,.2);border-radius:100px;padding:.3rem .8rem;font-size:.7rem;font-family:'DM Mono',monospace;color:var(--lime)}
.nav-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--lime);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

/* API KEY SETUP */
.setup-banner{background:var(--card);border:1px solid rgba(245,197,66,.3);border-radius:var(--r);padding:1.4rem 1.6rem;margin:1.5rem 2rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.setup-banner.hidden{display:none}
.setup-icon{font-size:1.4rem;flex-shrink:0}
.setup-text{flex:1}
.setup-title{font-weight:600;font-size:.92rem;color:var(--gold);margin-bottom:3px}
.setup-desc{font-size:.78rem;color:var(--chalk2);line-height:1.5}
.setup-desc a{color:var(--lime);text-decoration:none}
.setup-input-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.key-input{flex:1;min-width:220px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--rs);color:var(--chalk);font-family:'DM Mono',monospace;font-size:.82rem;padding:.5rem .9rem;outline:none}
.key-input:focus{border-color:var(--lime)}
.key-btn{background:var(--lime);color:var(--bg);border:none;border-radius:var(--rs);padding:.5rem 1.2rem;font-family:'Outfit',sans-serif;font-weight:600;font-size:.82rem;cursor:pointer;white-space:nowrap}
.key-btn:hover{opacity:.88}
.demo-btn{background:transparent;color:var(--chalk2);border:1px solid var(--border);border-radius:var(--rs);padding:.5rem 1.2rem;font-family:'Outfit',sans-serif;font-size:.82rem;cursor:pointer;white-space:nowrap}
.demo-btn:hover{border-color:var(--chalk2)}

/* MAIN */
.main{max-width:1020px;margin:0 auto;padding:0 2rem 4rem}

/* HEADER ROW */
.page-header{padding:2rem 0 1.2rem;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.page-title{font-family:'Bebas Neue',sans-serif;font-size:2.6rem;letter-spacing:.04em;line-height:1;color:var(--chalk)}
.page-title span{color:var(--lime)}
.page-meta{font-size:.78rem;color:var(--chalk3);font-family:'DM Mono',monospace;margin-top:4px}
.tour-tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:100px;padding:4px}
.tour-tab{padding:.4rem 1.1rem;border-radius:100px;font-size:.78rem;font-weight:500;cursor:pointer;color:var(--chalk3);border:none;background:transparent;font-family:'Outfit',sans-serif;transition:all .2s}
.tour-tab.active{background:var(--lime);color:var(--bg);font-weight:600}

/* LOADING */
.loading-state{text-align:center;padding:4rem 2rem}
.spinner{width:36px;height:36px;border:2px solid var(--border);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-family:'DM Mono',monospace;font-size:.82rem;color:var(--chalk3)}

/* ERROR / EMPTY */
.empty-state{text-align:center;padding:4rem 2rem;background:var(--card);border:1px solid var(--border);border-radius:var(--r)}
.empty-icon{font-size:2.5rem;margin-bottom:.8rem}
.empty-title{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:.04em;color:var(--chalk);margin-bottom:.4rem}
.empty-desc{font-size:.85rem;color:var(--chalk3);line-height:1.6;max-width:400px;margin:0 auto}

/* SUMMARY BAR */
.summary-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:1.5rem}
.sum-card{background:var(--card);border:1px solid var(--border);border-radius:var(--rs);padding:.9rem 1rem}
.sum-num{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;letter-spacing:.04em;color:var(--lime)}
.sum-label{font-size:.65rem;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--chalk3);margin-top:1px}

/* MATCH CARDS */
.matches-grid{display:flex;flex-direction:column;gap:12px}
.match-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .2s}
.match-card:hover{border-color:rgba(184,245,53,.25)}

.mc-top{padding:1rem 1.4rem .8rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px}
.mc-tourn{display:flex;align-items:center;gap:8px}
.mc-tourn-name{font-size:.82rem;font-weight:500;color:var(--chalk)}
.surface-pill{font-size:.65rem;font-family:'DM Mono',monospace;border-radius:100px;padding:.2rem .6rem;text-transform:uppercase;letter-spacing:.08em}
.surface-clay{background:rgba(210,105,30,.15);color:#d2691e;border:1px solid rgba(210,105,30,.25)}
.surface-grass{background:rgba(184,245,53,.1);color:var(--lime);border:1px solid rgba(184,245,53,.2)}
.surface-hard{background:rgba(90,180,245,.1);color:var(--blue);border:1px solid rgba(90,180,245,.2)}
.surface-indoor{background:rgba(168,191,160,.1);color:var(--chalk2);border:1px solid var(--border)}
.mc-round{font-size:.7rem;font-family:'DM Mono',monospace;color:var(--chalk3)}

.mc-body{padding:1.2rem 1.4rem}
.mc-players{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:1rem}

.mc-player{display:flex;align-items:center;gap:10px}
.mc-player.p2{flex-direction:row-reverse;text-align:right}
.mc-flag{width:28px;height:20px;border-radius:3px;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.mc-pinfo{}
.mc-pname{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:.03em;line-height:1}
.mc-prank{font-size:.68rem;font-family:'DM Mono',monospace;color:var(--chalk3);margin-top:2px}
.mc-prank .rank-tier{padding:.15rem .45rem;border-radius:100px;font-size:.6rem;margin-left:4px}
.tier-elite{background:rgba(184,245,53,.12);color:var(--lime)}
.tier-good{background:rgba(90,180,245,.1);color:var(--blue)}
.tier-mid{background:rgba(168,191,160,.08);color:var(--chalk2)}
.tier-out{background:rgba(255,82,82,.08);color:var(--danger)}

.mc-vs{text-align:center}
.mc-vs-txt{font-family:'DM Mono',monospace;font-size:.75rem;color:var(--chalk3)}
.mc-h2h{font-size:.7rem;font-family:'DM Mono',monospace;color:var(--chalk3);text-align:center;margin-top:2px;white-space:nowrap}

/* PROBABILITY DISPLAY */
.mc-prob{background:var(--bg3);border-radius:var(--rs);padding:.9rem 1rem}
.mc-prob-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.mc-prob-p1{font-size:.85rem;font-weight:600;color:var(--lime);font-family:'DM Mono',monospace}
.mc-prob-p2{font-size:.85rem;font-weight:500;color:var(--chalk2);font-family:'DM Mono',monospace}
.mc-prob-winner{font-size:.72rem;font-family:'DM Mono',monospace;color:var(--chalk3)}
.mc-prob-winner span{color:var(--lime)}
.prob-track{height:10px;background:var(--bg);border-radius:100px;overflow:hidden;display:flex;margin-bottom:4px}
.prob-p1-fill{background:var(--lime);height:100%;border-radius:100px 0 0 100px;transition:width 1.2s cubic-bezier(.4,0,.2,1)}
.prob-p2-fill{background:var(--chalk3);height:100%;border-radius:0 100px 100px 0;transition:width 1.2s cubic-bezier(.4,0,.2,1)}

/* FACTOR MINI BARS */
.mc-factors{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:.7rem}
.mc-factor{background:var(--bg);border-radius:6px;padding:.5rem .6rem}
.mcf-label{font-size:.6rem;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--chalk3);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcf-bar{height:4px;background:var(--border);border-radius:100px;overflow:hidden;display:flex;margin-bottom:3px}
.mcf-p1{background:var(--lime);height:100%}
.mcf-p2{background:var(--chalk3);height:100%}
.mcf-vals{display:flex;justify-content:space-between;font-size:.6rem;font-family:'DM Mono',monospace}
.mcf-v1{color:var(--lime)}
.mcf-v2{color:var(--chalk3)}

/* RANK EDGE BADGE */
.rank-edge-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(184,245,53,.07);border:1px solid rgba(184,245,53,.2);border-radius:100px;padding:.2rem .7rem;font-size:.65rem;font-family:'DM Mono',monospace;color:var(--lime);margin-top:.6rem}

/* MARKET ACTION */
.mc-market{display:flex;align-items:center;justify-content:space-between;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:6px}
.mc-market-label{font-size:.65rem;font-family:'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--chalk3)}
.mc-market-action{font-size:.78rem;font-weight:500;color:var(--lime);font-family:'DM Mono',monospace}
.mc-confidence{font-size:.68rem;font-family:'DM Mono',monospace;padding:.2rem .6rem;border-radius:100px}
.conf-strong{background:rgba(184,245,53,.12);color:var(--lime);border:1px solid rgba(184,245,53,.2)}
.conf-mod{background:rgba(90,180,245,.1);color:var(--blue);border:1px solid rgba(90,180,245,.2)}
.conf-low{background:rgba(168,191,160,.08);color:var(--chalk2);border:1px solid var(--border)}

/* COLLAPSIBLE TOURNAMENTS */
.tourn-group{margin-bottom:1.2rem}
.tourn-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1.2rem;cursor:pointer;transition:border-color .2s;font-family:'Outfit',sans-serif}
.tourn-header:hover{border-color:var(--lime)}
.tourn-header-left{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.tourn-header-name{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:.04em;color:var(--chalk)}
.tourn-header-count{font-family:'DM Mono',monospace;font-size:.7rem;color:var(--chalk3)}
.tourn-chevron{color:var(--lime);font-size:1rem;transition:transform .2s;flex-shrink:0}
.tourn-body{overflow:hidden}
.mc-round-pill{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--chalk3);background:var(--bg3);border:1px solid var(--border);border-radius:100px;padding:.15rem .6rem}
.demo-notice{background:rgba(245,197,66,.07);border:1px solid rgba(245,197,66,.2);border-radius:var(--rs);padding:.7rem 1rem;margin-bottom:1.2rem;font-size:.75rem;color:var(--gold);font-family:'DM Mono',monospace;line-height:1.5}

@media(max-width:680px){
  .main{padding:0 1rem 3rem}
  .setup-banner{margin:1rem}
  .mc-players{grid-template-columns:1fr auto 1fr}
  .mc-factors{grid-template-columns:1fr 1fr}
  .summary-bar{grid-template-columns:1fr 1fr}
  .page-header{flex-direction:column;align-items:flex-start}
}