@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0a;--surface:#111;--surface2:#1a1a1a;--border:#222;--border-hover:#333;--text:#e8e8e8;--text-dim:#888;--accent:#00e676;--accent2:#00b0ff;--red:#ff4444;--orange:#ff9100;--radius:10px;--shadow:0 2px 12px rgba(0,0,0,.4)}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent2)}

/* NAV */
nav{background:rgba(17,17,17,.9);border-bottom:1px solid var(--border);padding:0 2rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:80px}
.nav-brand{display:flex;align-items:center}
.nav-logo{height:60px;width:auto;max-width:400px;padding:4px 0}
.nav-links{display:flex;gap:1.5rem;list-style:none}
.nav-links a{color:var(--text-dim);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.menu-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer}

/* LAYOUT */
.container{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 2rem}
.grid{display:grid;grid-template-columns:1fr 320px;gap:2rem;margin-top:2rem}

/* HERO */
.hero{text-align:center;padding:2.5rem 0 1rem}
.hero h1{font-size:3.5rem;font-weight:900;letter-spacing:-2px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero .tagline{color:var(--text-dim);text-transform:uppercase;letter-spacing:5px;font-size:.8rem;margin-top:.5rem;font-weight:500}

/* HERO CARDS */
.hero-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:.5rem}
.hero-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:all .25s;position:relative;overflow:hidden;text-decoration:none}
.hero-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.hero-card h2{font-size:1.2rem;font-weight:800;letter-spacing:1px;color:var(--text);margin:.75rem 0 .5rem}
.hero-card__badge{display:flex}
.hero-card__stat{font-size:1.5rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:.25rem 0}
.hero-card__sub{font-size:.8rem;color:var(--text-dim);margin-top:.5rem;font-weight:500}
.hero-card__countdown{margin:.5rem 0}
.hero-card__countdown .countdown-timer{justify-content:flex-start;gap:.75rem}
.hero-card__countdown .countdown-unit .num{font-size:1.4rem}
.hero-card--trades{border-left:3px solid var(--red)}
.hero-card--ppa{border-left:3px solid var(--accent)}
.hero-card--ppa .hero-card__stat.live{color:var(--red);-webkit-text-fill-color:var(--red)}

/* SECTION */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.section-header h2{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim)}
.section-header a{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}
.badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.badge-live{background:var(--red);color:#fff;animation:pulse 2s infinite}
.badge-this-week{background:var(--accent);color:#000}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}

/* TRADE CARD */
.trade-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:.75rem;transition:all .2s}
.trade-card:hover{border-color:var(--border-hover);box-shadow:0 1px 8px rgba(0,0,0,.3)}
.trade-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}
.trade-card .date{font-size:.7rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:1px}
.trade-card .trade-num{font-size:.65rem;color:var(--text-dim);font-weight:600}
.trade-card .headline{font-size:.95rem;font-weight:700;margin-bottom:.75rem}
.trade-detail{display:flex;align-items:flex-start;gap:.5rem;padding:.3rem 0;font-size:.85rem}
.trade-detail .team-name{color:var(--accent);font-weight:600;min-width:140px;flex-shrink:0}
.trade-detail .gets{color:var(--text-dim)}
.trade-detail .arrow{color:var(--accent);flex-shrink:0}

.section-footer{text-align:center;margin-top:1rem}
.btn-outline{display:inline-block;border:1px solid var(--accent);color:var(--accent);padding:.6rem 1.5rem;border-radius:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;transition:all .2s}
.btn-outline:hover{background:var(--accent);color:#000}

/* NEWS WIRE */
.news-wire-placeholder{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--text-dim);font-size:.9rem;line-height:1.8}

/* SIDEBAR */
.sidebar .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.sidebar .card h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:1rem}
.event-item{padding:.65rem 0;border-bottom:1px solid var(--border)}
.event-item:last-child{border:none;padding-bottom:0}
.event-item .event-name{font-weight:600;font-size:.85rem}
.event-item .event-date{font-size:.75rem;color:var(--text-dim);margin-top:.15rem}
.event-item .event-type{display:inline-block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.1rem .4rem;border-radius:3px;margin-top:.25rem}
.event-type.deadline{background:rgba(255,68,68,.15);color:var(--red)}
.event-type.tournament{background:rgba(0,230,118,.1);color:var(--accent)}
.event-type.event{background:rgba(0,176,255,.1);color:var(--accent2)}

.card--follow{text-align:center}
.follow-link{display:inline-block;font-size:1.1rem;font-weight:700;margin-top:.25rem}

/* COUNTDOWN */
.countdown{text-align:center;padding:1.5rem;background:linear-gradient(135deg,rgba(0,230,118,.05),rgba(0,176,255,.05));border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}
.countdown h3{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:.75rem}
.countdown-timer{display:flex;justify-content:center;gap:1rem}
.countdown-unit{text-align:center}
.countdown-unit .num{font-size:1.8rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.countdown-unit .label{font-size:.55rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}
.countdown-expired{font-size:1.4rem;font-weight:900;color:var(--red)}

/* TRADES PAGE */
.trades-header{text-align:center;padding:2rem 0}
.trades-header h1{font-size:2rem;font-weight:900}
.trades-header p{color:var(--text-dim);margin-top:.25rem}

/* FOOTER */
footer{border-top:1px solid var(--border);margin-top:3rem}
.footer-inner{max-width:1200px;margin:0 auto;padding:2rem;display:flex;align-items:center;justify-content:space-between}
footer p{color:var(--text-dim);font-size:.8rem}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{color:var(--text-dim);font-size:.8rem;transition:color .2s}
.footer-links a:hover{color:var(--accent)}

/* PLACEHOLDER */
.placeholder-page{text-align:center;padding:4rem 0}
.placeholder-page h1{font-size:2rem;font-weight:900;margin-bottom:.5rem}
.placeholder-page p{color:var(--text-dim)}

/* TOURNAMENT PAGE */
.tournament-hero{text-align:center;padding:3rem 0 2rem;background:linear-gradient(135deg,rgba(0,230,118,.05),rgba(0,176,255,.05));border-bottom:1px solid var(--border)}
.tournament-title{font-size:2.5rem;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}
.tournament-meta{color:var(--text-dim);font-size:1rem;font-weight:500}
.tournament-venue{color:var(--text-dim);font-size:.85rem;margin-top:.25rem}
.schedule-table{width:100%;border-collapse:collapse;font-size:.9rem}
.schedule-table th{text-align:left;color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:1px;padding:.75rem .5rem;border-bottom:1px solid var(--border)}
.schedule-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border)}
.schedule-table .finals-row td{color:var(--accent);font-weight:600}
.players-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}
.player-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;transition:border-color .2s}
.player-card:hover{border-color:var(--accent)}
.player-name{font-weight:700;font-size:.95rem}
.player-rank{font-size:.7rem;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.25rem}
.events-grid{display:flex;flex-wrap:wrap;gap:.75rem}
.event-badge{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1.25rem;font-weight:600;font-size:.9rem}
.featured-event{background:linear-gradient(135deg,rgba(0,230,118,.08),rgba(0,176,255,.08));border:1px solid var(--accent);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;display:block;transition:border-color .2s}
.featured-event:hover{border-color:var(--accent2)}
.featured-event h3{font-size:1.1rem;font-weight:800;margin-bottom:.25rem}
.featured-event p{color:var(--text-dim);font-size:.85rem;margin:0}

/* MOBILE */
@media(max-width:768px){
  .grid{grid-template-columns:1fr}
  .hero-cards{grid-template-columns:1fr}
  .hero h1{font-size:2.5rem}
  .hero .tagline{letter-spacing:3px;font-size:.7rem}
  .container{padding:1rem}
  .nav-inner{padding:0}
  nav{padding:0 1rem}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(17,17,17,.98);flex-direction:column;padding:1rem 2rem;border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  .trade-detail{flex-direction:column;gap:.15rem}
  .trade-detail .team-name{min-width:auto}
  .footer-inner{flex-direction:column;gap:.75rem;text-align:center}
  .tournament-title{font-size:1.75rem}
  .players-grid{grid-template-columns:repeat(2,1fr)}
  .schedule-table{font-size:.8rem}
}
@media(max-width:480px){
  .hero h1{font-size:2rem}
  .hero-card{padding:1.25rem}
  .hero-card h2{font-size:1rem}
}

/* ROSTERS */
.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;margin-top:1rem}
.roster-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .2s}
.roster-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}
.roster-card__header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.25rem .75rem}
.roster-card__header h2{font-size:1rem;font-weight:800;letter-spacing:.5px}
.team-logo-img{width:48px;height:48px;border-radius:8px;object-fit:contain;background:var(--surface2)}
.team-city{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}
.roster-card__socials{padding:0 1.25rem .5rem;display:flex;gap:.75rem}
.roster-card__socials a{font-size:.9rem;color:var(--text-dim);transition:color .2s}
.roster-card__socials a:hover{color:var(--accent)}
.roster-card__players{padding:0 1.25rem}
.player-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}
.player-row:last-child{border:none}
.player-thumb{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}
.player-thumb--empty{background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:.9rem}
.player-info{flex:1;min-width:0}
.player-name{font-weight:600;font-size:.85rem;display:block}
.player-dupr{font-size:.7rem;color:var(--text-dim)}
.player-league{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .4rem;border-radius:3px;flex-shrink:0}
.player-league--premier{background:rgba(0,230,118,.1);color:var(--accent)}
.player-league--challenger{background:rgba(0,176,255,.1);color:var(--accent2)}
.roster-card__count{padding:.75rem 1.25rem;font-size:.7rem;color:var(--text-dim);text-align:right;font-weight:600}
.note{font-size:.8rem;color:var(--orange);margin-top:.5rem}

@media(max-width:768px){.roster-grid{grid-template-columns:1fr}}

/* QUICK LINKS */
.quick-links{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;justify-content:center}
.quick-link{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:600;color:var(--text-dim);transition:all .2s}
.quick-link:hover{border-color:var(--accent);color:var(--accent)}

/* OVERVIEW GRID */
.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-top:.75rem}
.overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}
.overview-label{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);font-weight:600;margin-bottom:.25rem}
.overview-value{font-size:.95rem;font-weight:700}

/* STORYLINES */
.storylines{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}
.storyline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.storyline-card:hover{border-color:var(--border-hover)}
.storyline-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:.5rem}
.storyline-card h3{font-size:1rem;font-weight:800;margin-bottom:.5rem}
.storyline-card p{font-size:.85rem;color:var(--text-dim);line-height:1.6}

/* PLAYER NOTE */
.player-note{font-size:.7rem;color:var(--text-dim);margin-top:.25rem}

/* DOUBLES */
.doubles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;margin-top:.75rem}
.doubles-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.doubles-card:hover{border-color:var(--border-hover)}
.doubles-event{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:.35rem}
.doubles-team{font-size:.95rem;font-weight:700;margin-bottom:.35rem}
.doubles-note{font-size:.8rem;color:var(--text-dim);line-height:1.5}

@media(max-width:768px){.overview-grid{grid-template-columns:repeat(2,1fr)}.doubles-grid{grid-template-columns:1fr}}

/* NEWS ITEMS */
.news-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:.75rem;transition:all .2s}
.news-item:hover{border-color:var(--border-hover);box-shadow:0 1px 8px rgba(0,0,0,.3)}
.news-item--featured{border-left:3px solid var(--accent);background:linear-gradient(135deg,rgba(0,230,118,.03),transparent)}
.news-item h3{font-size:.95rem;font-weight:700;margin:.35rem 0;line-height:1.4}
.news-item h3 a{color:var(--text);transition:color .2s}
.news-item h3 a:hover{color:var(--accent)}
.news-item p{font-size:.82rem;color:var(--text-dim);line-height:1.55;margin:0}
.news-tag{display:inline-block;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .4rem;border-radius:3px;margin-right:.5rem;vertical-align:middle}
.news-tag--ppa{background:rgba(0,230,118,.12);color:var(--accent)}
.news-tag--mlp{background:rgba(255,68,68,.12);color:var(--red)}
.news-tag--roster{background:rgba(0,176,255,.12);color:var(--accent2)}
.news-time{font-size:.7rem;color:var(--text-dim);vertical-align:middle}

/* HERO CARD DETAIL */
.hero-card__detail{font-size:.75rem;color:var(--text-dim);margin-top:.35rem;font-style:italic}

/* SIDEBAR LINKS */
.sidebar-links{display:flex;flex-direction:column;gap:.6rem}
.sidebar-links a{font-size:.85rem;font-weight:500;color:var(--text-dim);transition:color .2s}
.sidebar-links a:hover{color:var(--accent)}

/* RESULTS SECTION */
.results-section{background:linear-gradient(135deg,rgba(0,230,118,.03),transparent);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-top:1.5rem}
.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.results-header h2{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim)}
.results-day{font-size:.8rem;color:var(--accent);font-weight:600}
.results-notable{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.notable-item{font-size:.8rem;padding:.4rem .75rem;border-radius:6px;background:var(--surface);border:1px solid var(--border)}
.notable-item--withdrawal{border-color:var(--orange);color:var(--orange)}
.notable-item--skip{border-color:var(--text-dim);color:var(--text-dim)}
.notable-item--upset{border-color:var(--red);color:var(--red)}
.notable-item--result{border-color:var(--accent);color:var(--accent)}
.results-list{display:flex;flex-direction:column;gap:.75rem}
.result-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:border-color .2s}
.result-card:hover{border-color:var(--border-hover)}
.result-card--upset{border-left:3px solid var(--red)}
.result-event{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:600;margin-bottom:.5rem}
.result-match{display:flex;flex-direction:column;gap:.25rem}
.result-player{display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;border-radius:4px}
.result-winner{background:rgba(0,230,118,.08);font-weight:700}
.result-winner .result-name{color:var(--accent)}
.result-name{font-size:.9rem}
.result-score{font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}
.result-note{font-size:.75rem;color:var(--text-dim);margin-top:.35rem;font-style:italic}
.results-empty{text-align:center;padding:1.5rem;color:var(--text-dim);font-size:.9rem}
.results-updated{font-size:.65rem;color:var(--text-dim);text-align:right;margin-top:.75rem}

@media(max-width:768px){.results-notable{flex-direction:column}}

/* PREDICTIONS */
.prediction-intro{max-width:720px;font-size:.95rem;line-height:1.7;color:var(--text-dim);margin:1.5rem 0 2rem}
.prediction-intro p{margin-bottom:.75rem}
.prediction-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}
.prediction-event{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:.35rem}
.prediction-headline{font-size:1.2rem;font-weight:800;margin-bottom:.35rem}
.prediction-note{font-size:.85rem;color:var(--text-dim);line-height:1.5;margin-bottom:1.25rem}
.picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}
.pick{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}
.pick-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.35rem}
.pick--gold .pick-label{color:#ffd700}
.pick--silver .pick-label{color:#c0c0c0}
.pick--bronze .pick-label{color:#cd7f32}
.pick--dark .pick-label{color:var(--red)}
.pick-name{font-size:1.05rem;font-weight:800;margin-bottom:.35rem}
.pick--gold{border-color:rgba(255,215,0,.3)}
.pick--silver{border-color:rgba(192,192,192,.2)}
.pick--dark{border-color:rgba(255,68,68,.2)}
.pick-reason{font-size:.8rem;color:var(--text-dim);line-height:1.5}
.bold-takes{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}
.bold-take{padding:1rem;background:var(--bg);border-radius:8px;border:1px solid var(--border)}
.bold-take strong{display:block;margin-bottom:.25rem;font-size:.9rem}
.bold-take span{font-size:.82rem;color:var(--text-dim);line-height:1.5}
.prediction-cta{text-align:center;margin-top:2rem;padding:1.5rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}

@media(max-width:768px){.picks-grid{grid-template-columns:1fr}}

/* PLAYERS DIRECTORY */
.players-hero{text-align:center;padding:2.5rem 0 1rem}
.players-hero h1{font-size:2.5rem;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.players-subtitle{color:var(--text-dim);margin-top:.25rem;font-size:.9rem}
.players-controls{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;flex-wrap:wrap}
.player-search{flex:1;min-width:200px;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}
.player-search:focus{border-color:var(--accent)}
.sort-options{display:flex;gap:.5rem}
.sort-btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;color:var(--text-dim);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}
.sort-btn:hover,.sort-btn.active{border-color:var(--accent);color:var(--accent)}
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}
.player-card-link{text-decoration:none;color:inherit}
.p-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:all .25s}
.p-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}
.p-card__img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.p-card__img--empty{background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:900;color:var(--text-dim)}
.p-card__body{padding:1rem}
.p-card__name{font-weight:700;font-size:.9rem;margin-bottom:.2rem}
.p-card__team{font-size:.75rem;color:var(--text-dim)}
.p-card__dupr{font-size:.7rem;color:var(--accent);font-weight:700;margin-top:.25rem}

/* PLAYER PROFILE */
.player-back{padding:1rem 0;font-size:.85rem}
.player-hero{display:flex;gap:2.5rem;align-items:flex-start;padding:1rem 0 2rem}
.player-hero__img{width:320px;height:320px;border-radius:var(--radius);object-fit:cover;display:block}
.player-hero__img--empty{background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:5rem;font-weight:900;color:var(--text-dim);border:1px solid var(--border)}
.player-hero__info{flex:1}
.player-hero__name{font-size:2.5rem;font-weight:900;letter-spacing:-1px;margin-bottom:.5rem}
.player-hero__team{display:flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-dim);margin-bottom:.75rem}
.player-hero__team-logo{width:32px;height:32px;border-radius:6px;object-fit:contain}
.player-hero__dupr{margin-bottom:1rem}
.dupr-badge{display:inline-block;background:var(--accent);color:#000;font-weight:800;font-size:1.2rem;padding:.3rem .8rem;border-radius:6px}
.player-hero__socials{display:flex;gap:.75rem;margin-top:.5rem}
.social-icon{font-size:1.5rem;transition:opacity .2s}
.social-icon:hover{opacity:.7}
.player-content{display:grid;grid-template-columns:1fr 300px;gap:2rem;padding-bottom:2rem}
.player-section{margin-bottom:2rem}
.player-section h2{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.player-bio{font-size:.9rem;line-height:1.7;color:var(--text-dim)}
.player-stats{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.stat-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}
.stat-label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:600;margin-bottom:.25rem}
.stat-value{font-size:1rem;font-weight:700}
.player-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.gallery-img{width:100%;border-radius:8px;object-fit:cover;aspect-ratio:1;cursor:pointer;transition:opacity .2s}
.gallery-img:hover{opacity:.8}
.player-sidebar .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}
.player-sidebar .card h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-bottom:1rem}
.teammate-list{display:flex;flex-direction:column;gap:.5rem}
.teammate{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;transition:background .2s;text-decoration:none;color:inherit}
.teammate:hover{background:var(--surface2)}
.teammate__img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.teammate__img--empty{background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--text-dim);border:1px solid var(--border)}
.teammate__name{font-weight:600;font-size:.85rem}
.teammate__dupr{font-size:.7rem;color:var(--text-dim)}

@media(max-width:768px){
  .player-hero{flex-direction:column;align-items:center;text-align:center}
  .player-hero__img{width:240px;height:240px}
  .player-hero__team{justify-content:center}
  .player-hero__socials{justify-content:center}
  .player-content{grid-template-columns:1fr}
  .player-stats{grid-template-columns:1fr}
  .player-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .players-controls{flex-direction:column}
  .player-search{width:100%}
}

/* NAV DRAFT BADGE */
.nav-draft{color:var(--accent)!important;position:relative}
.nav-new-badge{background:var(--red);color:#fff;font-size:.55rem;padding:1px 5px;border-radius:8px;position:relative;top:-6px;font-weight:700;letter-spacing:.5px}

/* DRAFT PAGE */
.draft-hero{text-align:center;padding:3rem 0 2rem}
.draft-hero__badge{margin-bottom:1rem}
.draft-hero h1{font-size:2.8rem;font-weight:900;letter-spacing:-1px;color:var(--text)}
.draft-year{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.draft-hero__sub{color:var(--text-dim);font-size:1rem;margin-top:.5rem;max-width:600px;margin-left:auto;margin-right:auto}
.draft-countdown{margin:2rem 0}
.draft-countdown__label{font-size:.75rem;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);font-weight:600;margin-bottom:.75rem}
#draft-timer{display:flex;justify-content:center;gap:1rem}
#draft-timer .countdown-unit{text-align:center}
#draft-timer .num{font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
#draft-timer .label{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);font-weight:600}

.draft-key-dates{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}
.key-date{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;text-align:center;min-width:140px}
.key-date--active{border-color:var(--accent);box-shadow:0 0 20px rgba(0,230,118,.15)}
.key-date__icon{font-size:1.5rem;margin-bottom:.25rem}
.key-date__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim)}
.key-date__date{font-size:.85rem;font-weight:700;color:var(--text);margin-top:.25rem}
.key-date__arrow{color:var(--text-dim);font-size:1.2rem;font-weight:700}

/* DRAFT SECTIONS */
.draft-section{margin:3rem 0;padding-top:1.5rem;border-top:1px solid var(--border)}
.draft-section__title{font-size:1.5rem;font-weight:800;margin-bottom:.5rem}
.draft-section__sub{color:var(--text-dim);font-size:.85rem;margin-bottom:1.5rem}
.draft-section__note{color:var(--text-dim);font-size:.8rem;margin-top:1rem;font-style:italic}

/* TIMELINE */
.draft-timeline{margin-top:1.5rem}
.timeline-track{display:flex;gap:4px;height:40px;border-radius:8px;overflow:hidden}
.timeline-phase{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:0}
.timeline-phase__bar{width:100%;height:8px;background:var(--surface2);border-radius:4px;position:relative}
.timeline-phase--active .timeline-phase__bar{background:var(--accent);animation:pulse-bar 2s infinite}
.timeline-phase__bar--lock{background:var(--orange)}
.timeline-phase__bar--fa{background:var(--surface2)}
.timeline-phase__bar--draft{background:var(--accent2)}
.timeline-phase__label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-top:.75rem;color:var(--text-dim)}
.timeline-phase__dates{font-size:.65rem;color:var(--text-dim);margin-top:.15rem}
.timeline-phase__pulse{position:absolute;top:-2px;right:-4px;width:12px;height:12px;background:var(--accent);border-radius:50%;animation:pulse-dot 2s infinite}
@keyframes pulse-bar{0%,100%{opacity:1}50%{opacity:.7}}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.timeline-now{margin-top:1.25rem;font-size:.8rem;color:var(--text-dim)}
.timeline-now__dot{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse-dot 2s infinite}

/* EXPLAINER */
.draft-explainer{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.explainer-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:relative}
.explainer-card__num{position:absolute;top:1rem;right:1rem;font-size:2rem;font-weight:900;color:var(--border);line-height:1}
.explainer-card h3{font-size:.9rem;font-weight:700;margin-bottom:.5rem}
.explainer-card p{font-size:.8rem;color:var(--text-dim);line-height:1.6}

/* FILTERS */
.draft-filters{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.draft-filter{background:var(--surface);border:1px solid var(--border);color:var(--text-dim);padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}
.draft-filter:hover{border-color:var(--accent);color:var(--text)}
.draft-filter.active{background:var(--accent);color:#000;border-color:var(--accent)}

/* TEAM NEED CARDS */
.team-needs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}
.team-need-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all .2s}
.team-need-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}
.team-need-card__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}
.team-need-card__logo{width:40px;height:40px;border-radius:8px;object-fit:contain;flex-shrink:0}
.team-need-card__logo--empty{background:var(--surface2);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;color:var(--text-dim);border:1px solid var(--border)}
.team-need-card__name{font-weight:700;font-size:.85rem}
.team-need-card__roster{font-size:.7rem;color:var(--text-dim)}
.team-need-badge{margin-left:auto;font-size:.6rem;font-weight:700;padding:.2rem .6rem;border-radius:12px;white-space:nowrap;flex-shrink:0}
.team-need-badge--buyer{background:rgba(255,68,68,.15);color:var(--red)}
.team-need-badge--seller{background:rgba(255,145,0,.15);color:var(--orange)}
.team-need-badge--set{background:rgba(0,230,118,.12);color:var(--accent)}
.team-need-badge--rebuilding{background:rgba(0,176,255,.12);color:var(--accent2)}
.team-need-card__needs{font-size:.8rem;color:var(--text-dim);line-height:1.5;margin-bottom:.5rem}
.team-need-card__outlook{font-size:.75rem;color:var(--text-dim);font-style:italic;opacity:.8}

/* PLACEHOLDER */
.draft-placeholder{text-align:center;padding:3rem 2rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius)}
.draft-placeholder__icon{font-size:3rem;margin-bottom:1rem}
.draft-placeholder h3{font-size:1.1rem;margin-bottom:.5rem}
.draft-placeholder p{color:var(--text-dim);font-size:.85rem;max-width:500px;margin:0 auto}
.draft-placeholder__countdown{margin-top:1.5rem}
.draft-placeholder__countdown .countdown-timer{justify-content:center}

/* MOCK DRAFT */
.mock-draft-list{display:flex;flex-direction:column;gap:1rem}
.mock-pick{display:flex;gap:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;align-items:flex-start}
.mock-pick__num{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#000;font-weight:900;font-size:.75rem;padding:.5rem .75rem;border-radius:8px;white-space:nowrap;flex-shrink:0}
.mock-pick__team{font-weight:700;font-size:.85rem;margin-bottom:.25rem}
.mock-pick__player{font-size:1rem;font-weight:800;color:var(--accent);margin-bottom:.25rem}
.mock-pick__reasoning{font-size:.8rem;color:var(--text-dim);line-height:1.5}

/* PROJECTION BADGE */
.badge-projection{background:rgba(255,145,0,.15);color:var(--orange);font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px}

/* STORYLINES */
.storylines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}
.storyline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color .2s}
.storyline-card:hover{border-color:var(--accent)}
.storyline-card h3{font-size:.95rem;font-weight:700;margin-bottom:.5rem}
.storyline-card p{font-size:.8rem;color:var(--text-dim);line-height:1.6}

/* DRAFT HERO CARD (HOMEPAGE) */
.hero-card--draft{border-left:3px solid var(--accent2)}

@media(max-width:768px){
  .draft-hero h1{font-size:1.8rem}
  #draft-timer .num{font-size:1.8rem}
  .draft-key-dates{flex-direction:column;gap:.5rem}
  .key-date__arrow{transform:rotate(90deg)}
  .draft-explainer{grid-template-columns:1fr 1fr}
  .team-needs-grid{grid-template-columns:1fr}
  .storylines-grid{grid-template-columns:1fr}
  .draft-filters{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
}
@media(max-width:480px){
  .draft-explainer{grid-template-columns:1fr}
}

/* Text Logo */
.logo-text{font-family:'Inter',system-ui,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:3px;color:#fff;text-transform:uppercase;white-space:nowrap}
.logo-accent{color:#00ff88;font-style:italic}

/* PPA Ranking Badges */
.player-hero__ppa-rankings {
  display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 8px;
}
.ppa-rank-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: #1a1a2e; border: 1px solid #333; border-radius: 8px;
  padding: 6px 12px; font-size: 13px; color: #ccc;
}
.ppa-rank-badge--top3 {
  background: linear-gradient(135deg, #1a1a2e, #2d1f4e);
  border-color: #f0c040; box-shadow: 0 0 8px rgba(240,192,64,0.3);
}
.ppa-rank-badge--top10 {
  border-color: #4a9eff; box-shadow: 0 0 6px rgba(74,158,255,0.2);
}
.ppa-rank-badge__rank {
  font-weight: 800; font-size: 16px; color: #fff;
}
.ppa-rank-badge--top3 .ppa-rank-badge__rank { color: #f0c040; }
.ppa-rank-badge--top10 .ppa-rank-badge__rank { color: #4a9eff; }
.ppa-rank-badge__div { color: #aaa; font-size: 12px; }
.ppa-rank-badge__pts { color: #888; font-size: 11px; }

/* Compare PPA Rankings */
.compare-rankings { margin-top: 8px; }
.compare-rank-item {
  display: inline-flex; align-items: center; gap: 4px;
  background: #1a1a2e; border: 1px solid #333; border-radius: 6px;
  padding: 3px 8px; font-size: 12px; margin: 2px;
}
.compare-rank-item--top3 { border-color: #f0c040; }
.compare-rank-item--top10 { border-color: #4a9eff; }
.compare-rank-num { font-weight: 700; color: #fff; }
.compare-rank-item--top3 .compare-rank-num { color: #f0c040; }
.compare-rank-item--top10 .compare-rank-num { color: #4a9eff; }
.compare-rank-div { color: #999; font-size: 11px; }

/* === Player Intel Badges === */
.player-intel-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  margin-top: 8px;
}
.player-intel-badge--questionable { background: #fff3cd; color: #856404; border: 1px solid #ffc107; }
.player-intel-badge--limited { background: #fff3cd; color: #856404; border: 1px solid #ffa500; }
.player-intel-badge--out { background: #f8d7da; color: #721c24; border: 1px solid #dc3545; }
.player-intel-badge--partner { background: #d1ecf1; color: #0c5460; border: 1px solid #17a2b8; }
.player-intel-badge--active { background: #d4edda; color: #155724; border: 1px solid #28a745; }
.player-intel-badge__icon { font-size: 1.1rem; }
.player-intel-badge__reason { font-weight: 400; font-size: 0.8rem; opacity: 0.8; }

.player-intel-notes {
  margin-top: 16px;
  padding: 12px;
  background: #1a1a2e;
  border-radius: 8px;
  border: 1px solid #2a2a4a;
}
.player-intel-notes h4 { margin: 0 0 8px; font-size: 0.9rem; color: #e0e0e0; }
.player-intel-note {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 4px 0;
  font-size: 0.82rem;
  border-bottom: 1px solid #2a2a4a;
}
.player-intel-note:last-child { border-bottom: none; }
.player-intel-note__date { color: #888; white-space: nowrap; min-width: 80px; }
.player-intel-note__summary { color: #ccc; flex: 1; }
.player-intel-note__source a { color: #6c9bd2; text-decoration: none; white-space: nowrap; }
.player-intel-note__source a:hover { text-decoration: underline; }
