@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--bg:#080d09;--panel:#131c15;--pink:#19cf4d;--yellow:#39e565;--mint:#8df3a3;--text:#ffffff;--muted:#b6c7b9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px max(5%,calc((100vw - 1200px)/2));background:#080d09ed;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff24}.brand{display:flex;align-items:center;gap:12px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;font-weight:900;line-height:.9;letter-spacing:.4px}.brand b{color:var(--yellow)}.brand small{display:block;font:700 10px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:7px}.brand-mark{font-size:38px}.site-header nav{display:flex;gap:26px}.site-header nav a{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.site-header nav a:hover{color:var(--yellow)}.menu-toggle{display:none;border:0;background:transparent;color:white;font-size:26px}.hero{min-height:560px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;padding:75px max(6%,calc((100vw - 1160px)/2));background:radial-gradient(circle at 78% 36%,#175d2c 0,transparent 52%),linear-gradient(135deg,#102417,#060c08)}.hero-content{position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:900;letter-spacing:3px;color:var(--mint)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}h1{font-size:clamp(95px,13vw,175px);letter-spacing:-3px;line-height:.72;margin:27px 0 30px;transform:rotate(-2deg)}h1 em,h2 em{font-style:normal;color:var(--yellow)}.hero p{font-size:18px;max-width:430px;line-height:1.6;color:#e1efe4}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:16px 23px;background:var(--pink);color:#080e0a;font-weight:900;text-transform:uppercase;font-size:13px;border-radius:8px;box-shadow:5px 5px 0 var(--yellow)}.button.ghost{background:transparent;color:white;border:2px solid white;box-shadow:none}.hero-art{position:relative;width:380px;height:380px;flex-shrink:0;transform:rotate(12deg)}.dartboard{height:100%;width:100%;border-radius:50%;border:15px solid #09120b;background:repeating-conic-gradient(from -9deg,#fff0d0 0deg 9deg,#222 9deg 18deg);box-shadow:0 0 0 10px #24d34d,18px 20px 0 #0006;display:grid;place-items:center}.bull{height:45%;width:45%;background:var(--pink);border:16px solid #0d1d11;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:900 67px 'Barlow Condensed',sans-serif;color:white;line-height:.8}.bull span{font-size:35px;color:var(--yellow)}.flying-dart{position:absolute;top:-70px;right:-40px;font-size:150px;color:var(--yellow)}.ticker{background:var(--yellow);color:#071009;overflow:hidden;padding:14px 0;font-weight:900;letter-spacing:2px;white-space:nowrap;text-align:center;transform:rotate(-1deg);margin-top:-5px;position:relative;z-index:2}.ticker span{margin:0 22px;color:#006e27}.section{padding:95px max(6%,calc((100vw - 1160px)/2))}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.section-heading h2{font-size:clamp(54px,7vw,85px);line-height:.9;margin:12px 0 0}.section-heading p{max-width:280px;color:var(--muted);font-size:14px;line-height:1.6}.player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.player-card{background:#121b15;border:1px solid #ffffff1a;border-radius:16px;overflow:hidden;padding:22px;transition:transform .2s}.player-card:hover{transform:translateY(-5px)}.player-avatar{height:175px;background:radial-gradient(circle at 50% 70%,var(--accent),#243c2a 72%);border-radius:11px;display:grid;place-items:center;font-size:90px;margin-bottom:17px}.player-meta,.player-record{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:900;letter-spacing:1.3px;color:var(--accent)}.player-card h3{font-size:39px;margin:17px 0 0;line-height:1}.player-card p{color:var(--muted);font-size:13px;margin:7px 0 20px}.player-record{padding-top:15px;border-top:1px solid #ffffff23;color:white}.dark-panel{background:#0c140e}.fixture-tools{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.filter{border:1px solid #ffffff45;border-radius:30px;padding:10px 18px;color:white;background:transparent;font-size:12px;font-weight:800}.filter.active{background:var(--yellow);border-color:var(--yellow);color:#061009}.fixture-list{display:grid;gap:12px}.fixture{display:flex;align-items:center;gap:24px;background:#17231a;border:1px solid #ffffff17;padding:24px;border-radius:13px}.fixture-date{width:130px;flex-shrink:0}.fixture-date strong,.fixture-date small{display:block}.fixture-date strong{font-size:15px}.fixture-date small{color:var(--muted);margin-top:6px}.fixture-match{flex:1}.fixture-match strong{display:block;font-size:18px;margin-top:8px}.venue{color:var(--mint);font-size:11px;letter-spacing:1.5px;font-weight:800;text-transform:uppercase}.versus{font-size:11px;color:var(--pink);padding:0 8px}.fixture-score{font:900 34px 'Barlow Condensed',sans-serif;color:var(--yellow);min-width:65px;text-align:right}.rankings-header{display:flex;justify-content:space-between;padding:18px 24px;background:var(--pink);color:#061009;font-weight:900;font-size:13px;letter-spacing:2px;border-radius:12px 12px 0 0}.rank-row{display:flex;align-items:center;gap:20px;padding:16px 22px;border-bottom:1px solid #ffffff1c;background:#17251a}.rank-row:last-child{border-radius:0 0 12px 12px}.rank-number{font:900 37px 'Barlow Condensed',sans-serif;color:var(--yellow);width:48px}.rank-emoji{font-size:37px}.rank-name{flex:1}.rank-name strong,.rank-name small{display:block}.rank-name strong{font:800 27px 'Barlow Condensed',sans-serif;text-transform:uppercase}.rank-name small{color:var(--muted);font-size:12px}.rank-tag{font-size:11px;font-weight:900;color:var(--mint);text-align:right}.stat-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.stat-card{background:#17231a;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:10px}.stat-card span{font-size:27px}.stat-card strong{font:900 55px 'Barlow Condensed',sans-serif;color:var(--yellow)}.stat-card small{font-size:10px;letter-spacing:1.5px;font-weight:900;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:620px}th{color:var(--mint);font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:18px 14px;border-bottom:2px solid #ffffff40}td{padding:17px 14px;border-bottom:1px solid #ffffff1c;font-size:14px}tr:hover td{background:#ffffff09}footer{padding:55px 6%;text-align:center;background:#050a06}footer .footer-brand{font:900 35px 'Barlow Condensed',sans-serif;color:var(--yellow)}footer p{color:var(--muted);margin:10px 0 24px}footer small{color:#91a594}.empty{padding:25px;color:var(--muted)}@media(max-width:850px){.hero-art{width:260px;height:260px}.bull{font-size:48px}.player-grid{grid-template-columns:repeat(2,1fr)}.stat-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.site-header{padding:14px 5%}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#101d14;flex-direction:column;gap:0}.site-header nav.open{display:flex}.site-header nav a{padding:15px 6%;border-bottom:1px solid #ffffff1c}.hero{padding:80px 6% 70px;min-height:510px}.hero-art{position:absolute;opacity:.17;right:-70px;top:60px;width:310px;height:310px}h1{font-size:clamp(83px,20vw,125px)}.section{padding:65px 6%}.section-heading{display:block}.section-heading p{margin-top:18px}.player-grid{grid-template-columns:1fr 1fr;gap:11px}.player-card{padding:12px}.player-avatar{height:120px;font-size:64px}.player-card h3{font-size:29px}.player-meta{font-size:8px}.player-record{font-size:9px}.fixture{gap:10px;padding:15px;flex-wrap:wrap}.fixture-date{width:100%;display:flex;gap:12px;align-items:center}.fixture-date small{margin:0}.fixture-match strong{font-size:14px}.fixture-score{font-size:28px}.rank-row{gap:10px;padding:14px 12px}.rank-number{font-size:30px;width:34px}.rank-emoji{font-size:29px}.rank-tag{font-size:9px}.rankings-header{font-size:10px;padding:15px}.stat-card{padding:16px}.stat-card strong{font-size:45px}}@media(max-width:370px){.player-grid{grid-template-columns:1fr}}

/* Add these rules to the bottom of style.css */
.player-avatar { overflow: hidden; }
.player-photo { display: block; width: 100%; height: 100%; object-fit: contain; }
.ranking-photo { display: inline-block; width: 48px; height: 48px; object-fit: cover; border-radius: 50%; vertical-align: middle; }
.stats-photo { display: inline-block; width: 32px; height: 32px; object-fit: cover; border-radius: 50%; vertical-align: middle; margin-right: 8px; }

/* Homepage logo replaces the old 180 dartboard illustration */
.hero-art { transform:none; width:min(40vw,440px); height:auto; aspect-ratio:1; }
.hero-logo { display:block; width:100%; height:100%; object-fit:contain; }
@media(max-width:850px) { .hero-art { width:260px; height:auto; } }
@media(max-width:650px) { .hero-art { width:310px; height:310px; } }

/* Sutton Sports black, green and white finishing touches */
:root { color-scheme: dark; }
::selection { background:#39e565; color:#061009; }
.site-header { box-shadow:0 2px 18px #0005; }
.brand b, h1 em, h2 em, .footer-brand { color:#39e565; }
.button { background:#39e565; color:#061009; box-shadow:5px 5px 0 #fff; }
.button.ghost { color:#fff; border-color:#39e565; box-shadow:none; }
.button:hover, .filter:hover { filter:brightness(1.12); }
.ticker { background:#39e565; color:#061009; }
.ticker span { color:#ffffff; }
.player-card { border-color:#255d32; }
.player-avatar { background:radial-gradient(circle at 50% 65%,#285d35,#0d1710 78%); }
.player-meta, .player-record { color:#79ec94; }
.player-record { border-top-color:#2b5434; }
.filter.active { background:#39e565; color:#061009; border-color:#39e565; }
.rankings-header { background:#39e565; color:#061009; }
.rank-number, .fixture-score, .stat-card strong { color:#39e565; }
.rank-tag, .venue, th, .eyebrow { color:#8df3a3; }
.hero-logo { filter:drop-shadow(0 16px 22px #0009); }
/* Larger, uncropped profile images */
.player-avatar { height:300px; min-height:300px; padding:8px; overflow:hidden; }
.player-photo { width:100%; height:100%; object-fit:contain; object-position:center; }
@media(max-width:650px) { .player-avatar { height:230px; min-height:230px; } }
@media(max-width:420px) { .player-avatar { height:195px; min-height:195px; } }

/* Custom squad descriptions */
.player-bio {border-top:1px solid #2b5434;padding-top:14px;margin-top:15px;color:#e9f8ec;font-size:14px;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere;min-height:55px;}
/* Facebook link in Sutton Sports header */
.site-header .facebook-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; color: #ffffff; text-decoration: none; }
.site-header .facebook-link:hover, .site-header .facebook-link:focus-visible { color: #39e565; }
.site-header .facebook-link svg { flex: none; }

