/* CTL V15 — Unified dark visual system
   Harmonises public pages with the validated CTL Play identity.
   Additive layer only: no JS hooks or data attributes are changed. */
:root{
  --ctl-bg:#06111b;--ctl-bg2:#071621;--ctl-panel:#0b1d2b;--ctl-panel2:#081722;
  --ctl-line:#294f65;--ctl-line-soft:#1d3d50;--ctl-text:#eff8fc;--ctl-muted:#92a9b7;
  --ctl-lime:#d8ff2f;--ctl-cyan:#2ed8ff;--ctl-cream:#f7f3e8;--ctl-ink:#10242b;
  --ctl-warn:#ffd36c;--ctl-danger:#ff8d98;--ctl-radius:18px;--ctl-shadow:0 24px 60px rgba(0,0,0,.28)
}
html{background:var(--ctl-bg);scroll-behavior:smooth}
body:not(.admin-shell){background:radial-gradient(circle at 8% 0%,rgba(46,216,255,.10),transparent 28%),radial-gradient(circle at 100% 15%,rgba(216,255,47,.07),transparent 24%),linear-gradient(180deg,#07131d,var(--ctl-bg))!important;color:var(--ctl-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body:not(.admin-shell) a{transition:.18s ease}
body:not(.admin-shell) ::selection{background:var(--ctl-lime);color:#06111b}

/* Unified public header */
.ctl-v3 .v3-nav,.ctl-ranking-page>header,.ctl-community-home>.community-header{
  max-width:1280px!important;margin:12px auto 0!important;min-height:64px!important;padding:0 18px!important;
  border:1px solid var(--ctl-line)!important;border-radius:18px!important;background:rgba(5,15,25,.86)!important;
  backdrop-filter:blur(16px)!important;box-shadow:0 16px 36px rgba(0,0,0,.22)!important;position:sticky!important;top:10px!important;z-index:80!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important
}
.ctl-v3 .v3-brand,.ctl-ranking-brand,.ctl-community-home .wordmark{color:#fff!important;text-decoration:none!important;font-size:27px!important;font-weight:1000!important;font-style:italic!important;letter-spacing:-.05em!important}
.ctl-v3 .v3-brand img{max-height:34px!important;width:auto!important;filter:brightness(0) invert(1)!important}
.ctl-ranking-brand:before,.ctl-community-home>.community-header .wordmark:before{content:"";display:inline-block;width:22px;height:7px;margin-right:7px;background:var(--ctl-lime);transform:skew(-20deg);vertical-align:middle;border-radius:1px}
.ctl-v3 .v3-nav nav,.ctl-ranking-page>header nav,.ctl-community-home>.community-header nav{display:flex!important;align-items:stretch!important;gap:3px!important}
.ctl-v3 .v3-nav nav a,.ctl-ranking-page>header nav a,.ctl-community-home>.community-header nav a{
  color:#b8c9d3!important;text-decoration:none!important;font-size:10px!important;font-weight:900!important;letter-spacing:.035em!important;padding:22px 11px 19px!important;position:relative!important;background:transparent!important;border:0!important
}
.ctl-v3 .v3-nav nav a:hover,.ctl-ranking-page>header nav a:hover,.ctl-community-home>.community-header nav a:hover{color:#fff!important}
.ctl-v3 .v3-login,.ctl-community-home .community-login,.ctl-ranking-page>header nav a[href*="player/index"]{
  border:1px solid #345a70!important;background:#0b1d2b!important;color:#eef8fc!important;border-radius:999px!important;padding:9px 14px!important;font-size:9px!important;font-weight:950!important;letter-spacing:.08em!important;text-decoration:none!important;white-space:nowrap!important
}

/* Layout */
.ctl-v3 .v3-wrap,.ctl-community-home .wrap{max-width:1280px!important;padding-left:24px!important;padding-right:24px!important}
.ctl-v3 main,.ctl-ranking-page main,.ctl-community-home main{color:var(--ctl-text)}

/* Main public heroes */
.ctl-v3 .v4-page-hero,.ctl-v3 .v3-hero,.ctl-ranking-page .ctl-ranking-commercial-intro{
  max-width:1232px!important;margin:16px auto 0!important;border:1px solid var(--ctl-line)!important;border-radius:24px!important;overflow:hidden!important;
  background:radial-gradient(circle at 90% 10%,rgba(46,216,255,.14),transparent 28%),linear-gradient(120deg,#0c2434,#081622)!important;color:var(--ctl-text)!important;box-shadow:var(--ctl-shadow)!important
}
.ctl-v3 .v4-page-hero>.v3-wrap,.ctl-v3 .v3-hero>.v3-wrap{padding-top:64px!important;padding-bottom:62px!important}
.ctl-v3 .v4-page-hero h1,.ctl-v3 .v3-hero h1,.ctl-ranking-page h1,.ctl-ranking-page h2,.ctl-ranking-page .ctl-ranking-commercial-intro strong{
  color:var(--ctl-text)!important;font-style:italic!important;text-transform:uppercase!important;letter-spacing:-.045em!important;font-weight:1000!important
}
.ctl-v3 .v4-page-hero h1,.ctl-v3 .v3-hero h1{font-size:clamp(42px,6vw,70px)!important;line-height:.9!important;max-width:900px!important;margin:10px 0 18px!important}
.ctl-v3 .v4-page-hero p,.ctl-v3 .v3-hero p,.ctl-ranking-page .ctl-ranking-commercial-intro p{color:#afc2cd!important;line-height:1.65!important}
.v3-kicker,.eyebrow,.ctl-ranking-commercial-intro small{color:var(--ctl-cyan)!important;letter-spacing:.18em!important;font-size:9px!important;font-weight:950!important}
.v3-kicker.dark{color:var(--ctl-cyan)!important}
.v4-subnav{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:22px!important}
.v4-subnav a,.tournament-view-switcher a,.masters-type-tabs button,.masters-category-tabs button{
  border:1px solid var(--ctl-line)!important;background:#091a27!important;color:#b7c8d2!important;border-radius:999px!important;padding:9px 12px!important;text-decoration:none!important;font-size:9px!important;font-weight:900!important
}
.v4-subnav a:hover,.tournament-view-switcher a.active,.masters-type-tabs button.active,.masters-category-tabs button.active{border-color:var(--ctl-lime)!important;color:var(--ctl-lime)!important;background:#132419!important}

/* Cards / panels / dynamic content */
.ctl-v3 .tournament-registration-stage,.ctl-v3 .public-draws-section,.ctl-v3 .masters-planner,.ctl-ranking-page main,[data-ranking-experience],.ctl-public-profile main{
  color:var(--ctl-text)!important
}
.ctl-v3 .tournament-registration-stage{background:transparent!important}
.ctl-v3 .tournament-stage-head,.ctl-v3 .tournament-guide,.ctl-v3 .ctl-faq,.ctl-v3 .v3-story,.ctl-v3 .masters-planner,.ctl-v3 .trophy-story-grid,
.ctl-ranking-page main>[class],.ctl-public-profile .public-profile-shell,.ctl-community-home .feature-card,.ctl-community-home .ranking-board-demo{
  border-color:var(--ctl-line)!important
}
.tournament-premium-grid>*,.v3-tournament-grid>*,.eligibility-grid>article,.masters-eligibility,.v3-proof article,.v3-story-points span,
.masters-dynamic-view>*,.masters-planner article,.ctl-faq details,.rank-demo-row,.ctl-public-profile article,.ctl-public-profile section[class*="card"],
.ctl-ranking-page main article,.ctl-ranking-page main section,.ctl-ranking-page main .card,.ctl-ranking-page main [class*="card"],.ctl-ranking-page main [class*="panel"]{
  background:linear-gradient(180deg,#0c2030,#081722)!important;color:var(--ctl-text)!important;border:1px solid var(--ctl-line)!important;box-shadow:none!important
}
.tournament-premium-grid h2,.tournament-premium-grid h3,.eligibility-grid h3,.masters-eligibility h3,.ctl-faq h2,.ctl-faq summary,.v3-story h2,.trophy-story h2,.masters-planner h2,.ctl-ranking-page main h2,.ctl-ranking-page main h3,.ctl-public-profile h1,.ctl-public-profile h2,.ctl-public-profile h3{color:var(--ctl-text)!important}
.tournament-premium-grid p,.eligibility-grid p,.masters-eligibility p,.ctl-faq p,.v3-story p,.trophy-story p,.masters-planner p,.ctl-ranking-page main p,.ctl-ranking-page main small,.ctl-public-profile p,.ctl-public-profile small{color:var(--ctl-muted)!important}
.registration-open-pill{background:#15271b!important;border-color:#55702f!important;color:var(--ctl-lime)!important}
.registration-open-pill i{background:var(--ctl-lime)!important}

/* Cream editorial bands — same visual rhythm as CTL Play screenshot */
.ctl-v3 .tournament-guide,.ctl-v3 .trophy-story,.ctl-v3 .v3-story,.ctl-v3 .ctl-faq,.ctl-community-home .match-freedom,
.ctl-pricing .pricing-subsidy{
  max-width:1232px!important;margin:22px auto!important;background:var(--ctl-cream)!important;color:var(--ctl-ink)!important;border:1px solid #ded8c7!important;border-radius:20px!important;padding-top:34px!important;padding-bottom:34px!important;overflow:hidden!important
}
.ctl-v3 .tournament-guide h2,.ctl-v3 .tournament-guide h3,.ctl-v3 .trophy-story h2,.ctl-v3 .trophy-story h3,.ctl-v3 .v3-story h2,.ctl-v3 .ctl-faq h2,.ctl-v3 .ctl-faq summary{color:var(--ctl-ink)!important}
.ctl-v3 .tournament-guide p,.ctl-v3 .trophy-story p,.ctl-v3 .v3-story p,.ctl-v3 .ctl-faq p{color:#5b696c!important}
.ctl-v3 .tournament-guide article,.ctl-v3 .masters-eligibility,.ctl-v3 .trophy-story-meaning article,.ctl-v3 .v3-story-points span,.ctl-v3 .ctl-faq details{
  background:#fffdf7!important;color:var(--ctl-ink)!important;border-color:#d6dcd7!important
}
.ctl-v3 .tournament-guide article h3,.ctl-v3 .masters-eligibility h3,.ctl-v3 .trophy-story-meaning b,.ctl-v3 .v3-story-points span,.ctl-v3 .ctl-faq summary{color:var(--ctl-ink)!important}
.ctl-v3 .tournament-guide article p,.ctl-v3 .masters-eligibility p,.ctl-v3 .trophy-story-meaning span,.ctl-v3 .ctl-faq details p{color:#5b696c!important}

/* CTL final CTA */
.ctl-v3 .v3-final,.ctl-community-home .join-section,.ctl-pricing .pricing-final{
  background:radial-gradient(circle at 20% 30%,rgba(216,255,47,.12),transparent 26%),linear-gradient(135deg,#0c2631,#07151f)!important;color:#fff!important;border-top:1px solid var(--ctl-line)!important;border-bottom:1px solid var(--ctl-line)!important
}
.ctl-v3 .v3-final h2,.ctl-community-home .join-section h2{color:#fff!important;font-style:italic!important;text-transform:uppercase!important}
.v3-btn.gold,.button-gold,.button.button-gold,.ctl-btn-lime{background:linear-gradient(90deg,var(--ctl-lime),#baff41)!important;color:#07121b!important;border:0!important;border-radius:9px!important;font-weight:950!important;box-shadow:0 12px 28px rgba(216,255,47,.13)!important}

/* Footer */
.ctl-v3 .v3-footer,.ctl-ranking-page>footer,.ctl-community-home>.community-footer{
  max-width:1280px!important;margin:28px auto 0!important;padding:28px 24px 38px!important;background:transparent!important;color:var(--ctl-muted)!important;border-top:1px solid var(--ctl-line-soft)!important
}
.ctl-v3 .v3-footer a,.ctl-ranking-page>footer a,.ctl-community-home>.community-footer a{color:#b7c8d2!important;text-decoration:none!important}
.ctl-v3 .v3-footer a:hover,.ctl-ranking-page>footer a:hover,.ctl-community-home>.community-footer a:hover{color:var(--ctl-lime)!important}
.ctl-v3 .v3-footer .v3-brand img{filter:brightness(0) invert(1)!important}

/* Forms / tables / data modules */
body:not(.admin-shell) input,body:not(.admin-shell) select,body:not(.admin-shell) textarea{
  background:#081722!important;color:var(--ctl-text)!important;border:1px solid #2b4e62!important;border-radius:9px!important;outline:none!important
}
body:not(.admin-shell) input:focus,body:not(.admin-shell) select:focus,body:not(.admin-shell) textarea:focus{border-color:var(--ctl-cyan)!important;box-shadow:0 0 0 3px rgba(46,216,255,.10)!important}
body:not(.admin-shell) table{background:#091a27!important;color:var(--ctl-text)!important;border-color:var(--ctl-line)!important}
body:not(.admin-shell) th{background:#0d2635!important;color:#bcd0db!important;border-color:var(--ctl-line)!important}
body:not(.admin-shell) td{border-color:#1f4052!important;color:#d7e5ec!important}

/* Ranking-specific */
.ctl-ranking-page .ctl-ranking-commercial-intro{padding:0!important}
.ctl-ranking-page .ctl-ranking-commercial-inner{max-width:1232px!important;margin:auto!important;padding:44px 32px!important}
.ctl-ranking-page .ctl-ranking-commercial-intro strong{font-size:clamp(28px,4vw,52px)!important;line-height:.94!important}
.ctl-ranking-page .ctl-ranking-commercial-intro a{background:var(--ctl-lime)!important;color:#06111b!important;border-radius:9px!important;font-weight:950!important;padding:12px 15px!important;text-decoration:none!important}

/* Home harmonisation */
.ctl-community-home{background:radial-gradient(circle at 8% 0%,rgba(46,216,255,.10),transparent 28%),radial-gradient(circle at 100% 14%,rgba(216,255,47,.07),transparent 24%),linear-gradient(180deg,#07111b,#06101a)!important;color:var(--ctl-text)!important}
.ctl-community-home .community-hero,.ctl-community-home .feature-section,.ctl-community-home .ranking-commercial,.ctl-community-home .how-section,.ctl-community-home .player-network-section,.ctl-community-home .live-opportunity-section{color:var(--ctl-text)!important}
.ctl-community-home .community-hero{border-color:var(--ctl-line)!important;background:linear-gradient(108deg,#0a1c2b,#071622)!important}
.ctl-community-home .community-hero h1,.ctl-community-home .feature-heading h2,.ctl-community-home .ranking-copy h2,.ctl-community-home .how-section h2,.ctl-community-home .player-network-section h2{color:var(--ctl-text)!important}
.ctl-community-home .community-hero p,.ctl-community-home .feature-heading p,.ctl-community-home .ranking-copy p,.ctl-community-home .how-section p,.ctl-community-home .player-network-section p{color:#afc2cd!important}
.ctl-community-home .feature-card,.ctl-community-home .how-grid article,.ctl-community-home .player-network-card,.ctl-community-home .live-opportunity-card{
  background:linear-gradient(180deg,#0c2030,#081722)!important;border-color:var(--ctl-line)!important;color:var(--ctl-text)!important
}
.ctl-community-home .feature-card.is-play{background:linear-gradient(135deg,var(--ctl-lime),#b8e83b)!important;color:#07121b!important;border-color:var(--ctl-lime)!important}
.ctl-community-home .feature-card.is-play h3,.ctl-community-home .feature-card.is-play p,.ctl-community-home .feature-card.is-play a{color:#07121b!important}
.ctl-community-home .commercial-proof-strip{background:#071823!important;border-color:var(--ctl-line)!important}
.ctl-community-home .proof-item{border-color:#1f4053!important}.ctl-community-home .proof-item strong{color:#fff!important}.ctl-community-home .proof-item span{color:var(--ctl-muted)!important}
.ctl-community-home .ranking-commercial{background:transparent!important}.ctl-community-home .ranking-board-demo{background:#091a27!important}
.ctl-community-home .rank-demo-row{background:#0a1d2b!important}.ctl-community-home .rank-demo-row.you{background:#15271b!important;border-color:#547130!important}
.ctl-community-home .how-grid article{border:1px solid var(--ctl-line)!important}

/* Player profile */
.ctl-public-profile{background:linear-gradient(180deg,#07131d,#06111b)!important}
.ctl-public-profile .public-profile-hero,.ctl-public-profile .public-profile-section{background:linear-gradient(180deg,#0c2030,#081722)!important;border:1px solid var(--ctl-line)!important;color:var(--ctl-text)!important}

/* Player portal — bring it into the same palette without changing layout */
.ctl-player-v4{background:radial-gradient(circle at 12% 0%,rgba(46,216,255,.08),transparent 28%),linear-gradient(180deg,#07131d,#06111b)!important;color:var(--ctl-text)!important}
.ctl-player-v4 .topbar{background:rgba(5,15,25,.88)!important;border-color:var(--ctl-line)!important;box-shadow:0 16px 36px rgba(0,0,0,.22)!important}
.ctl-player-v4 .card,.ctl-player-v4 [class*="panel"],.ctl-player-v4 [class*="card"]{border-color:var(--ctl-line)!important}

/* Pricing */
.ctl-pricing main{max-width:1280px;margin:0 auto;padding:16px 24px 60px}
.pricing-hero{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--ctl-line);border-radius:24px;overflow:hidden;background:linear-gradient(110deg,#0b2231,#071622);box-shadow:var(--ctl-shadow)}
.pricing-hero-copy{padding:56px}.pricing-hero-copy small{color:var(--ctl-cyan);font-size:9px;letter-spacing:.18em;font-weight:950}.pricing-hero-copy h1{font-size:clamp(46px,6vw,72px);line-height:.88;margin:12px 0 18px;text-transform:uppercase;font-style:italic;letter-spacing:-.055em}.pricing-hero-copy h1 em{color:var(--ctl-lime);font-style:italic}.pricing-hero-copy p{max-width:620px;color:#afc2cd;line-height:1.65}.pricing-hero-side{display:flex;align-items:center;justify-content:center;padding:34px;background:radial-gradient(circle at 50% 35%,rgba(216,255,47,.18),transparent 30%),linear-gradient(145deg,#13384a,#071622)}
.free-pass-card{width:min(350px,100%);background:rgba(5,17,27,.88);border:1px solid #3a6176;border-radius:18px;padding:28px}.free-pass-card span{color:var(--cyan);font-size:9px;letter-spacing:.16em;font-weight:950}.free-pass-card strong{display:block;font-size:35px;margin:14px 0 5px}.free-pass-card b{color:var(--ctl-lime);font-size:18px}.free-pass-card p{color:#9db1bd;font-size:12px;line-height:1.55}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.price-card{position:relative;border:1px solid var(--ctl-line);border-radius:18px;background:linear-gradient(180deg,#0c2030,#081722);padding:25px;min-height:350px;display:flex;flex-direction:column}.price-card.featured{border-color:var(--ctl-lime);box-shadow:0 20px 48px rgba(216,255,47,.08)}.price-card .best{position:absolute;right:16px;top:14px;background:var(--ctl-lime);color:#07121b;border-radius:999px;padding:6px 8px;font-size:8px;font-weight:950}.price-card small{color:var(--ctl-cyan);letter-spacing:.15em;font-size:8px;font-weight:950}.price-card h2{font-size:27px;margin:12px 0 8px}.price-card .price{font-size:44px;font-weight:1000;letter-spacing:-.05em}.price-card .price span{font-size:12px;color:#8ea5b4;font-weight:700;letter-spacing:0}.price-card p{color:#93a9b7;font-size:11px;line-height:1.55}.price-card ul{padding:0;margin:18px 0 24px;list-style:none;display:grid;gap:9px}.price-card li{font-size:11px;color:#d7e5ec}.price-card li:before{content:"✓";color:var(--ctl-lime);font-weight:1000;margin-right:8px}.price-card .ctl-btn-lime{margin-top:auto;padding:13px 15px;text-decoration:none;text-align:center}.pricing-subsidy{padding:32px!important}.pricing-subsidy-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:center}.pricing-subsidy h2{font-size:40px;line-height:.95;letter-spacing:-.04em;margin:8px 0 14px;color:var(--ctl-ink)}.pricing-subsidy p{color:#5e6969;line-height:1.6}.subsidy-calculator{background:#fffdf8;border:1px solid #d6dcd7;border-radius:15px;padding:20px}.subsidy-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subsidy-fields label{font-size:9px;font-weight:900;letter-spacing:.08em;color:#66716e}.subsidy-fields input{background:#fff!important;color:#14272d!important;border-color:#ccd5d0!important}.subsidy-result{margin-top:14px;border-radius:12px;background:var(--ctl-ink);color:white;padding:18px}.subsidy-result strong{display:block;color:var(--ctl-lime);font-size:30px;margin:3px 0}.subsidy-result small{color:#aabdc4}.pricing-feature-matrix{margin-top:22px;border:1px solid var(--ctl-line);border-radius:18px;overflow:hidden;background:#081722}.pricing-feature-matrix header{padding:22px 24px;background:#0d2635}.pricing-feature-matrix h2{margin:0;font-size:28px}.pricing-feature-matrix p{margin:7px 0 0;color:var(--ctl-muted)}.pricing-feature-list{display:grid;grid-template-columns:repeat(2,1fr)}.pricing-feature-list div{padding:16px 20px;border-top:1px solid #1d3e51;border-right:1px solid #1d3e51}.pricing-feature-list b{display:block;font-size:11px}.pricing-feature-list span{display:block;color:#879eac;font-size:10px;margin-top:5px;line-height:1.5}.pricing-final{margin-top:22px;border-radius:20px;padding:40px;text-align:center}.pricing-final h2{font-size:38px;margin:8px 0}.pricing-final p{color:#9db2bf}.pricing-final a{display:inline-flex;margin-top:12px;padding:13px 17px;text-decoration:none}

@media(max-width:980px){
  .ctl-v3 .v3-nav nav,.ctl-ranking-page>header nav,.ctl-community-home>.community-header nav{display:none!important}
  .pricing-hero,.pricing-subsidy-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr}.pricing-hero-copy{padding:36px 28px}.pricing-hero-side{min-height:260px}.pricing-feature-list{grid-template-columns:1fr}
}
@media(max-width:680px){
  .ctl-v3 .v3-nav,.ctl-ranking-page>header,.ctl-community-home>.community-header{margin:8px 10px 0!important}
  .ctl-v3 .v3-wrap,.ctl-community-home .wrap{padding-left:14px!important;padding-right:14px!important}
  .ctl-pricing main{padding:12px 12px 38px}.pricing-hero-copy h1{font-size:42px}.pricing-hero-copy{padding:30px 22px}.pricing-subsidy{margin:18px 12px!important;padding:22px!important}.subsidy-fields{grid-template-columns:1fr}.pricing-final{padding:28px 18px}
}

/* V16 ranking integrity */
.ctl-score-breakdown{display:block;font-size:.72rem;color:var(--muted,#8fa7af);font-weight:750;margin-top:.35rem}.ctl-zone-list strong small{display:block;font-size:.62rem;font-weight:700;opacity:.62;margin-top:.15rem}.ctl-opponents article>small{display:block;opacity:.7;margin-top:.25rem}

/* Production brand image */
.ctl-community-home .wordmark:before,.ctl-ranking-brand:before{display:none!important}
.ctl-community-home .wordmark img{width:148px;height:44px;object-fit:contain;object-position:left center;display:block}
.ctl-community-home .community-footer .wordmark img{width:142px;height:44px;object-fit:contain;object-position:left center}
.ctl-ranking-brand img{width:118px;height:38px;object-fit:contain;display:block}
@media(max-width:700px){
  .ctl-community-home .wordmark img{width:118px;height:36px}
  .ctl-ranking-brand img{width:100px;height:34px}
}
