:root{color-scheme:dark;--ink:#f0e9e1;--muted:#b5a8b0;--line:#44313e;--blue:#ed789f;--light:#241e26;background:#151318;color:var(--ink)}
body{background:radial-gradient(ellipse 85% 400px at 75% 120px,#50203140,transparent 75%),#151318}
header{background:#121015ed;border-bottom:1px solid #473039}.header{min-height:92px}nav a{color:#d9cdd1}a:hover{color:#efb5c8}a:focus-visible,summary:focus-visible{outline-color:#e596b0}.skip{background:#271a24}
.heading{position:relative;padding:48px 0 42px;isolation:isolate}.heading:before{content:'';position:absolute;z-index:-1;inset:-24px 0;background:radial-gradient(ellipse at 76% 48%,#96194e23,transparent 62%);pointer-events:none}.heading h1{font-weight:700;letter-spacing:.01em}.eyebrow{color:#d7b580;letter-spacing:.23em}.edition{color:#b6876159;font-style:italic}.edition span{color:#c3a484;font-style:normal}.heading p{color:#c4b6be;max-width:650px}
.region-nav{border-color:#48313d}.filters label{color:#c4b5be}.filters select{background:#231d26;border-color:#584050;color:#eee5e8}.filters select:focus-visible{outline-color:#d86c99}.status{background:#211a22;border-left:2px solid #985370;color:#c8b9c0;font-size:.8125rem;margin-top:24px}.stats{border-color:#49333f;background:linear-gradient(135deg,#261e27,#1c191f)}.stat+.stat{border-color:#49333f}.stat-label,.stat-note{color:#b9aab2}.value{color:#e0c298;font-size:2.7rem}.value small{color:#c5b7bd}
.content-grid{gap:38px;margin-top:38px}.section-heading h2{font-size:1.35rem;letter-spacing:.06em}.section-heading{border-bottom:1px solid #503542;padding-bottom:15px}.meta{color:#b5a5af}.ranking-list{display:flex;flex-direction:column;gap:12px;margin-top:22px}.ranking-row{position:relative;background:linear-gradient(115deg,#25202a,#1e1a21);border:1px solid #483440;border-radius:10px;padding:24px 18px;box-shadow:0 7px 24px #00000014;gap:18px}.ranking-row.podium{background:linear-gradient(120deg,#30232a,#211b23 76%);border:1px solid #826346;border-left:3px solid #d8b682;margin:0;border-radius:10px}.ranking-position{color:#a78c9b;font-size:2.4rem;line-height:1.1}.ranking-position small{color:#b9a5b0;font-family:inherit}.ranking-row[data-rank="1"]{border-color:#715a3f;border-left-color:#d9bc8e;background:linear-gradient(115deg,#382b29,#221c24 76%)}.ranking-row[data-rank="1"] .ranking-position{color:#e3c797}.ranking-row[data-rank="2"]{border-color:#66606a;border-left-color:#c8c3cd;background:linear-gradient(115deg,#2e2933,#211d26 76%)}.ranking-row[data-rank="2"] .ranking-position{color:#d6d0dc}.ranking-row[data-rank="3"]{border-color:#795347;border-left-color:#bd8669;background:linear-gradient(115deg,#33252a,#221c24 76%)}.ranking-row[data-rank="3"] .ranking-position{color:#d29a79}.ranking-person strong{font-size:1.125rem;font-weight:700;letter-spacing:.035em;color:#f5ede5}.ranking-shop{color:#cbbcc5;margin-top:7px}.ranking-place{color:#a898a4;margin-top:3px}.ranking-count span{letter-spacing:.10em;color:#bea8b6;font-size:.75rem}.ranking-count b{color:#f1d9b8;font-size:2.35rem;line-height:1.35;font-weight:750;letter-spacing:-.025em}.ranking-count small{color:#c2a8b4}.ranking-image{border:1px solid #6d4356;background:#2c202a}.detail-link{background:linear-gradient(120deg,#681c39,#85254d);border:1px solid #9c4264;color:#f6e4eb;border-radius:5px;padding:8px 13px;min-height:38px}.detail-link:hover{background:linear-gradient(120deg,#86284b,#9d315e);color:#fff0f6;border-color:#c36688}.aside{border-top:2px solid #b08760}.aside p{color:#b7a8b3}.aside h2{color:#dec39f}.note-card{background:linear-gradient(145deg,#2a1d28,#211b23);border:1px solid #583447}.note-card h3{color:#e3c4d1}.note-card p{color:#c0aeb9}.area-table th{background:#251e28;color:#c0acba}.area-table td{border-bottom-color:#44313e;color:#d3c5cc}.area-table a:hover{color:#ec9bb8}.method{border-color:#49323f}.method h2{color:#dec4a2}.method p,.method li{color:#bdaeB8}.method details{border-color:#49323f}.method summary{color:#e0d0d8}.text-link{color:#ed96b5}.muted{color:#b5a5b1}footer{background:#100e13;border-color:#46303c}.footer-title{color:#d2b68e}.footer-copy{color:#a695a1}.badge{background:#482039;color:#e7aac2}
.ad-slot{list-style:none;margin:26px 0;padding:0;min-width:0}.ad-slot:empty{display:none}.ad-banner{margin:0;padding:0;min-width:0}.ad-banner+.ad-banner{margin-top:18px}.ad-label{display:block;width:max-content;max-width:100%;font-size:.75rem;line-height:1.5;letter-spacing:.12em;padding:2px 8px;color:#c8b0bb;border:1px solid #67404f;border-radius:3px;margin-bottom:8px;overflow-wrap:anywhere}.ad-banner a{display:block;border-radius:8px;overflow:hidden;border:1px solid #61414f}.ad-banner>a:hover{border-color:#b3728d}.ad-banner img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;border-radius:8px}.ad-banner>img{border:1px solid #61414f}.ranking-list>.ad-slot{margin:12px 0}.ad-slot[data-position="hero"]{max-width:860px;margin:0 auto 28px}.ad-slot[data-position="footer"]{margin:28px 0 36px}
@media(max-width:560px){.header{min-height:76px}.heading{padding:32px 0 28px}.heading h1{font-size:1.7rem}.heading p{font-size:.875rem}.content-grid{margin-top:30px}.stats .value{font-size:2.1rem}.stats .value small{font-size:.7rem}.ranking-row{grid-template-columns:35px minmax(0,1fr) 79px;padding:20px 12px;gap:10px}.ranking-row.has-image{grid-template-columns:32px 42px minmax(0,1fr) 69px;gap:8px}.ranking-image{width:42px;height:62px}.ranking-person strong{font-size:.9375rem}.ranking-position{font-size:1.9rem}.ranking-count b,.ranking-row.has-image .ranking-count b{font-size:1.95rem}.ranking-count span{font-size:.7rem;letter-spacing:.02em}.ranking-shop{font-size:.8125rem}.ranking-place{font-size:.75rem}.detail-link{font-size:.75rem;padding:7px 9px}.section-heading h2{font-size:1.18rem}.ad-slot{margin:22px 0}.ad-label{font-size:.75rem}.ranking-list>.ad-slot{margin:8px 0}.ad-banner+.ad-banner{margin-top:14px}}
@media(max-width:360px){.ranking-row.has-image{grid-template-columns:29px 34px minmax(0,1fr) 59px;gap:6px;padding:17px 8px}.ranking-image{width:34px;height:54px}.ranking-count b,.ranking-row.has-image .ranking-count b{font-size:1.6rem}.ranking-person strong{font-size:.875rem}.ranking-row{gap:7px}.stats .value{font-size:1.85rem}}

/* Compact cards retain full names and reserve a separate score column. */
.stats{margin-top:24px}.heading>div:first-child{min-width:0}.heading h1{overflow-wrap:anywhere}.ranking-count{min-width:0;align-self:start}.ranking-count span{white-space:nowrap;font-size:.65rem;letter-spacing:.025em}.ranking-count b{white-space:nowrap;overflow-wrap:normal}.ranking-person{line-height:1.55}.ranking-shop,.ranking-place{overflow-wrap:anywhere}.ranking-person strong{display:block}.ranking-count small{font-size:.8rem}.ranking-row{align-items:start}.ranking-position{padding-top:3px}
@media(max-width:560px){
 .ranking-row,.ranking-row.has-image{grid-template-columns:30px minmax(0,1fr) 86px;gap:8px;padding:16px 10px;align-items:start}
 .ranking-row.has-image .ranking-image{grid-column:1;grid-row:2;width:30px;height:40px}
 .ranking-position{grid-column:1;grid-row:1;font-size:1.65rem}.ranking-person{grid-column:2;grid-row:1 / span 2;line-height:1.45}.ranking-count{grid-column:3;grid-row:1 / span 2}
 .ranking-person strong{font-size:.95rem;line-height:1.45}.ranking-shop{margin:5px 0 0;font-size:.75rem;line-height:1.45}.ranking-place{margin-top:4px;font-size:.7rem;line-height:1.45}
 .ranking-count b,.ranking-row.has-image .ranking-count b{font-size:1.85rem}.ranking-count span{font-size:.6rem;letter-spacing:0}.ranking-count small{font-size:.75rem;margin-left:2px}.detail-link{margin-top:8px;padding:6px 8px;min-height:34px;font-size:.7rem}
 .stat{padding:15px 8px}.stat-label{font-size:.68rem;line-height:1.6}.stats .value{font-size:1.85rem}.stats .value small{margin-left:3px;font-size:.7rem}
}
@media(max-width:360px){.ranking-row,.ranking-row.has-image{grid-template-columns:26px minmax(0,1fr) 78px;gap:6px;padding:14px 8px}.ranking-count b,.ranking-row.has-image .ranking-count b{font-size:1.65rem}.ranking-person strong{font-size:.875rem}.stats .value{font-size:1.6rem}}

.region-directory{margin-top:28px}.region-directory h2{font-size:1rem;color:#d9bd91}.region-links{display:flex;flex-wrap:wrap;gap:8px}.region-links a{display:block;border:1px solid #583b4a;border-radius:6px;background:#261c25;padding:9px 12px;font-size:.8rem;overflow-wrap:anywhere}.region-links a:hover,.region-links a[aria-current=page]{background:#5c233e;color:#f3e6ee}.breadcrumb{font-size:.78rem;align-items:center}.breadcrumb a{overflow-wrap:anywhere}.breadcrumb a[aria-current=page]{color:#d9bd91}.method time{color:#dcc39f}.heading .edition{flex-shrink:0}@media(max-width:560px){.breadcrumb{gap:6px}.region-links a{font-size:.75rem;padding:8px 10px}}
.breadcrumb a:first-child,.region-links a:first-child{display:block}.breadcrumb{display:flex;flex-wrap:wrap;white-space:normal}.breadcrumb a{padding:4px 0}.breadcrumb span{color:#9f8897}

.ad-widget{width:100%;max-width:640px;margin-left:auto;margin-right:auto}.ad-widget-frame{display:block;width:100%;height:auto;aspect-ratio:640 / 200;border:1px solid #61414f;border-radius:8px;background:#211923}.ad-widget .ad-label{margin-bottom:8px}

/* Responsive iframe ads */
.ad-widget{
  --ad-width:640;
  --ad-height:200;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
}

.ad-widget-frame{
  display:block;
  border:1px solid #61414f;
  border-radius:8px;
  background:#211923;
}

@media(max-width:680px){
  .ad-widget[class*="ad-size-"] .ad-widget-frame{
    width:calc(var(--ad-width) * 1px);
    height:calc(var(--ad-height) * 1px);
    max-width:none;
    aspect-ratio:auto;
    transform-origin:top left;
  }
}

/* Dedicated responsive container for script ads */
.ad-script-widget{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

.ad-script-viewport{
  width:600px;
  height:500px;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
}

.ad-script-frame{
  display:block;
  width:600px;
  height:500px;
  border:0;
  background:transparent;
  transform-origin:top left;
}

/* Keep ad slots inside the ranking viewport */
.ad-slot{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  overflow:hidden;
}

.ad-script-widget .ad-script-viewport{
  margin-left:auto;
  margin-right:auto;
}

/* Allow ranking column to shrink inside the mobile grid */
.content-grid > *,
.block,
.ranking-list{
  min-width:0;
  max-width:100%;
}


/* BEST CAST introduction */
.heading .bestcast-subtitle{
  margin:22px 0 0;
  max-width:720px;
  font-size:1rem;
  line-height:1.7;
  color:#cfc1c8;
}

.heading .bestcast-intro{
  margin-top:8px;
  max-width:680px;
}

.heading .bestcast-intro p{
  margin:0;
  max-width:none;
  font-size:.9rem;
  line-height:1.9;
  color:#b9abb3;
}

.heading .bestcast-intro strong{
  color:#d8cbd1;
  font-weight:700;
}

@media(max-width:560px){
  .heading .bestcast-subtitle{
    margin-top:18px;
    font-size:.9rem;
    line-height:1.7;
  }

  .heading .bestcast-intro{
    margin-top:10px;
  }

  .heading .bestcast-intro p{
    font-size:.78rem;
    line-height:1.85;
  }
}

/* Divider between subtitle and BEST CAST explanation */
.heading .bestcast-intro{
  position:relative;
  margin-top:24px;
  padding-top:22px;
}

.heading .bestcast-intro::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:72px;
  height:1px;
  background:#d7b580;
  opacity:.65;
}

@media(max-width:560px){
  .heading .bestcast-intro{
    margin-top:20px;
    padding-top:18px;
  }

  .heading .bestcast-intro::before{
    width:56px;
  }
}

/* Spacing between BEST CAST explanation paragraphs */
.heading .bestcast-intro p + p{
  margin-top:10px;
}

@media(max-width:560px){
  .heading .bestcast-intro p + p{
    margin-top:8px;
  }
}
