:root{--bg:#071713;--panel:rgba(16,42,35,.76);--panel2:rgba(11,31,26,.82);--text:#f7efd7;--muted:#b8c5b8;--gold:#d4af37;--green:#2ecc71;--red:#e74c3c;--pink:#ff2f6d;--border:rgba(212,175,55,.22)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 0%,rgba(255,47,109,.14),transparent 28%),radial-gradient(circle at 80% 10%,rgba(212,175,55,.12),transparent 28%),linear-gradient(135deg,#05110f,#0b1f1a 55%,#050908);color:var(--text);min-height:100vh}body:before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;mask-image:linear-gradient(to bottom,#000,transparent 75%)}a{color:inherit;text-decoration:none}main{width:min(1180px,calc(100% - 32px));margin:0 auto 64px}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;margin:0 auto 10px;width:min(1220px,100%);backdrop-filter:blur(18px);background:rgba(5,17,15,.66);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border:1px solid var(--border);border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(212,175,55,.25),rgba(255,47,109,.15));font-family:Georgia,serif;font-weight:900}.brand small{display:block;color:var(--muted);font-size:12px}.site-header nav{display:flex;gap:14px;color:var(--muted);font-size:14px}.site-header nav a:hover{color:var(--text)}.hero{padding:72px 0 42px;text-align:center}.hero.compact{padding-top:52px}.kicker{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.hero h1,.panel h1{font-family:Georgia,Times,serif;font-size:clamp(36px,7vw,86px);line-height:.92;margin:14px auto;text-transform:uppercase;max-width:920px}.hero p,.panel p{color:var(--muted);font-size:18px;margin:0 auto 24px;max-width:740px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{border:1px solid var(--border);border-radius:999px;padding:13px 20px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:transparent;color:var(--text)}.btn.primary{background:linear-gradient(135deg,var(--gold),#f6df89);color:#10251f;box-shadow:0 18px 42px rgba(212,175,55,.18)}.btn.ghost{background:rgba(255,255,255,.06)}.btn.wide{width:100%}.panel{background:linear-gradient(145deg,var(--panel),rgba(10,28,24,.72));border:1px solid var(--border);border-radius:28px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.25);backdrop-filter:blur(16px);margin:20px 0}.panel.narrow{max-width:620px;margin:34px auto}.panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.panel-head.simple{display:block}.panel h2{font-family:Georgia,serif;font-size:32px;margin:6px 0}.live{font-size:12px;font-weight:900;letter-spacing:.14em;color:var(--muted)}.live span{display:inline-block;width:10px;height:10px;background:#ff334d;border-radius:50%;box-shadow:0 0 0 0 rgba(255,51,77,.8);animation:pulse 1.4s infinite;margin-right:7px}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,51,77,0)}}.mode-form{display:grid;gap:8px;min-width:270px}.mode-form label,label{color:var(--muted);font-size:13px;font-weight:700}select,input{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);border-radius:14px;color:var(--text);padding:12px 13px;font-size:15px}select option{color:#111}table{width:100%;border-collapse:collapse}th{color:var(--gold);text-align:left;text-transform:uppercase;letter-spacing:.12em;font-size:12px}td,th{padding:15px 12px;border-bottom:1px solid rgba(255,255,255,.08)}tbody tr{transition:.2s}tbody tr:hover{background:rgba(255,255,255,.04)}.pos{font-weight:900;color:var(--gold)}.player-name{font-weight:900}.score,.card-score{font-weight:950;font-size:24px}.under{color:var(--green)}.over{color:var(--red)}.even{color:var(--text)}.mobile-cards{display:none}.player-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:16px;margin:10px 0}.player-card h3{margin:0;font-size:20px}.player-card p,.player-card small{margin:0;color:var(--muted)}.rank{color:var(--gold);font-weight:900}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stats{display:flex;gap:12px;flex-wrap:wrap}.stats span{background:rgba(255,255,255,.06);padding:12px 15px;border-radius:16px;color:var(--muted)}.stats strong{color:var(--text);font-size:20px}.feed{color:var(--muted);line-height:1.9}.form-card{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.score-input{text-align:center}.score-stepper{display:flex;align-items:center;justify-content:center;gap:28px;margin:28px 0}.score-stepper button{width:62px;height:62px;border-radius:50%;border:1px solid var(--border);background:rgba(255,255,255,.08);color:var(--text);font-size:34px}.score-stepper strong{font-size:74px;font-family:Georgia,serif}.net-preview{color:var(--muted);margin-bottom:20px}.back-link{display:block;margin-top:18px;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-card{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:20px}.admin-card strong{display:block;color:var(--gold);font-size:18px;margin-bottom:8px}.admin-card span{color:var(--muted)}td input{padding:8px;border-radius:10px}@media(max-width:760px){main{width:min(100% - 22px,680px)}.site-header{padding:12px}.site-header nav{gap:9px;font-size:12px}.brand small{display:none}.hero{text-align:left;padding:38px 4px 20px}.hero h1{font-size:44px}.hero-actions{justify-content:flex-start}.panel{border-radius:22px;padding:18px}.panel-head{display:block}.mode-form{min-width:0}.desktop-table:not(.always){display:none}.mobile-cards{display:block}.grid.two,.admin-grid,.form-grid{grid-template-columns:1fr}.panel h2{font-size:26px}td,th{padding:10px 6px;font-size:13px}.hero p,.panel p{font-size:15px}}

/* v4 adjustments */
.under{color:#5dade2}.even{color:#9aa3ad}.live-feed-panel{margin-top:0}.weather-panel h2{margin-bottom:10px}.weather-main{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.weather-icon{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;font-size:42px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11)}.weather-summary{font-size:16px!important;margin:0 0 12px!important;color:var(--text)!important}.weather-meta{display:flex;gap:10px;flex-wrap:wrap}.weather-meta span,.weather-hours div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:10px 12px;color:var(--muted)}.weather-meta strong{color:var(--text)}.weather-hours{display:grid;gap:9px;margin-top:16px}.weather-hours div{display:flex;justify-content:space-between;gap:12px}.weather-hours strong{color:var(--gold)}.weather-hours span{color:var(--muted);text-align:right}.weather-source{display:block;color:rgba(184,197,184,.72);margin-top:14px;line-height:1.5}@media(max-width:760px){.weather-main{grid-template-columns:1fr}.weather-hours div{display:block}.weather-hours span{display:block;text-align:left;margin-top:4px}}


/* v7 weather card polish */
.weather-panel{position:relative;overflow:hidden;padding-right:118px;min-height:260px}.weather-panel h2{padding-right:80px}.weather-main{display:block}.weather-icon{position:absolute;top:22px;right:24px;width:96px;height:96px;border-radius:30px;font-size:64px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.22)}.weather-summary{font-size:17px!important;line-height:1.45!important;margin-top:12px!important;max-width:460px}.weather-source{display:block;margin-top:14px;color:rgba(184,197,184,.72)}@media(max-width:760px){.weather-panel{padding-right:18px;padding-top:96px}.weather-panel h2{padding-right:0}.weather-icon{top:18px;right:18px;width:76px;height:76px;border-radius:24px;font-size:50px}.weather-main{display:block}}

/* v9 course + weather refinements */
.weather-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  font-size:78px!important;
  line-height:1!important;
  top:24px!important;
  right:28px!important;
}
.weather-source{
  display:block!important;
  text-align:center!important;
  width:100%;
  margin:18px auto 0!important;
  color:rgba(184,197,184,.72)!important;
}
.course-panel{
  position:relative;
  overflow:hidden;
  min-height:300px;
  display:flex;
  align-items:stretch;
}
.course-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 80% 30%, rgba(212,175,55,.16), transparent 28%),
    linear-gradient(90deg, rgba(7,23,19,.94) 0%, rgba(7,23,19,.82) 43%, rgba(7,23,19,.26) 70%, rgba(7,23,19,.1) 100%);
  z-index:1;
  pointer-events:none;
}
.course-content{
  position:relative;
  z-index:2;
  width:58%;
  align-self:center;
}
.course-map-wrap{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:48%;
  z-index:0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  opacity:.92;
  filter:saturate(1.18) contrast(1.08) brightness(.82);
}
.course-map-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,23,19,.95), rgba(7,23,19,.2) 42%, rgba(7,23,19,.08)),
    radial-gradient(circle at 58% 45%, transparent 0%, rgba(7,23,19,.08) 34%, rgba(7,23,19,.58) 100%);
}
.course-map-wrap img{
  height:118%;
  width:auto;
  max-width:none;
  transform:rotate(-2deg) translateX(14px);
  object-fit:contain;
  mix-blend-mode:screen;
}
@media(max-width:760px){
  .weather-icon{font-size:58px!important;top:18px!important;right:18px!important}
  .course-panel{min-height:420px;display:block;padding-bottom:210px}
  .course-panel::before{background:linear-gradient(180deg, rgba(7,23,19,.94) 0%, rgba(7,23,19,.86) 42%, rgba(7,23,19,.18) 100%)}
  .course-content{width:100%;align-self:auto}
  .course-map-wrap{top:auto;left:0;width:100%;height:260px;justify-content:center;opacity:.86}
  .course-map-wrap::after{background:linear-gradient(180deg, rgba(7,23,19,.85), rgba(7,23,19,.08) 45%, rgba(7,23,19,.68))}
  .course-map-wrap img{height:124%;transform:rotate(-2deg) translateY(10px)}
}

/* v10 premium subtle course background */
.course-panel{
  position:relative!important;
  overflow:hidden!important;
  min-height:300px!important;
  display:block!important;
  isolation:isolate!important;
}
.course-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 78% 35%, rgba(212,175,55,.12), transparent 34%),
    radial-gradient(circle at 88% 72%, rgba(93,173,226,.09), transparent 30%),
    linear-gradient(90deg, rgba(7,23,19,.98) 0%, rgba(7,23,19,.94) 40%, rgba(7,23,19,.78) 64%, rgba(7,23,19,.62) 100%)!important;
}
.course-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent 35%, rgba(0,0,0,.12));
}
.course-content{
  position:relative!important;
  z-index:4!important;
  width:min(560px, 100%)!important;
  padding:26px 0 24px!important;
}
.course-map-wrap{
  position:absolute!important;
  inset:-70px -120px -90px auto!important;
  width:72%!important;
  height:auto!important;
  z-index:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  opacity:.26!important;
  filter:blur(1.1px) saturate(1.18) contrast(1.1) brightness(.72)!important;
  transform:scale(1.14) rotate(-3deg)!important;
}
.course-map-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg, rgba(7,23,19,1) 0%, rgba(7,23,19,.82) 26%, rgba(7,23,19,.38) 57%, rgba(7,23,19,.72) 100%),
    radial-gradient(circle at 62% 48%, transparent 0%, rgba(7,23,19,.34) 62%, rgba(7,23,19,.96) 100%)!important;
}
.course-map-wrap img{
  height:122%!important;
  width:auto!important;
  max-width:none!important;
  transform:none!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
}
@media(max-width:760px){
  .course-panel{min-height:360px!important;padding-bottom:130px!important}
  .course-panel::before{background:linear-gradient(180deg, rgba(7,23,19,.98) 0%, rgba(7,23,19,.9) 45%, rgba(7,23,19,.68) 100%)!important}
  .course-content{width:100%!important;padding:8px 0 0!important}
  .course-map-wrap{inset:auto -55px -85px auto!important;width:125%!important;opacity:.22!important;transform:scale(1.02) rotate(-3deg)!important;filter:blur(1.2px) saturate(1.15) contrast(1.08) brightness(.68)!important}
  .course-map-wrap img{height:310px!important}
}


/* v11 course map - transparent map, modern integrated background */
.course-panel{
  position:relative!important;
  overflow:hidden!important;
  min-height:340px!important;
  display:block!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 82% 42%, rgba(49,126,73,.20), transparent 34%),
    linear-gradient(145deg, rgba(10,32,27,.92), rgba(5,19,16,.86))!important;
}
.course-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg, rgba(7,23,19,.98) 0%, rgba(7,23,19,.91) 45%, rgba(7,23,19,.56) 70%, rgba(7,23,19,.70) 100%),
    radial-gradient(circle at 78% 48%, rgba(212,175,55,.08), transparent 34%)!important;
}
.course-panel::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:4!important;
  pointer-events:none!important;
  background:linear-gradient(180deg, rgba(255,255,255,.035), transparent 36%, rgba(0,0,0,.10))!important;
}
.course-content{
  position:relative!important;
  z-index:5!important;
  width:min(570px,100%)!important;
  padding:32px 0 26px!important;
}
.course-map-wrap{
  position:absolute!important;
  z-index:1!important;
  inset:-88px -44px -104px auto!important;
  width:56%!important;
  height:auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  opacity:.44!important;
  filter:saturate(1.18) contrast(1.08) brightness(.82) drop-shadow(0 32px 42px rgba(0,0,0,.45))!important;
  transform:rotate(-2deg) scale(1.08)!important;
}
.course-map-wrap::after{
  content:""!important;
  position:absolute!important;
  inset:-20%!important;
  z-index:-1!important;
  background:radial-gradient(circle at 58% 50%, rgba(58,139,74,.22), transparent 52%)!important;
  filter:blur(18px)!important;
}
.course-map-wrap img{
  height:470px!important;
  width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
  transform:none!important;
}
.weather-source{
  text-align:center!important;
  display:block!important;
  width:100%!important;
}
.weather-icon{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
@media(max-width:760px){
  .course-panel{min-height:430px!important;padding-bottom:170px!important;}
  .course-panel::before{background:linear-gradient(180deg, rgba(7,23,19,.98) 0%, rgba(7,23,19,.90) 46%, rgba(7,23,19,.54) 100%)!important;}
  .course-content{padding:12px 0 0!important;}
  .course-map-wrap{inset:auto -28px -118px auto!important;width:100%!important;opacity:.38!important;transform:rotate(-2deg) scale(1.02)!important;}
  .course-map-wrap img{height:330px!important;}
}
.live{display:inline-flex;align-items:center;gap:7px}.live span{margin-right:0}.live.is-before span{background:#8b949e;box-shadow:none;animation:none}.live.is-before{color:#b7bec7}.live.is-live span{background:#ff334d;box-shadow:0 0 0 0 rgba(255,51,77,.8);animation:pulse 1.4s infinite}.live.is-live{color:#ffccd3}.live.is-finished span{background:#35d07f;box-shadow:none;animation:none}.live.is-finished{color:#baf3d2}.admin-status-card{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:end;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:20px;margin:18px 0 22px}.admin-status-card h2{margin-top:0}.admin-preview{margin-top:12px}.status-form{display:grid;gap:12px}.save-ok{color:#baf3d2;font-weight:800}.save-error{color:#ffb3b3;font-weight:800}@media(max-width:760px){.admin-status-card{grid-template-columns:1fr}}

/* Tournament archive/admin additions */
.site-header nav a[href$="tournaments.php"]{color:var(--text)}
.feed strong{color:var(--gold);font-size:12px;margin-right:8px;letter-spacing:.08em}.tournament-create-card{align-items:start}.current-tournament{display:block;color:var(--muted);line-height:1.5;margin-top:10px}.current-tournament strong{color:var(--text)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkbox-grid label{display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;color:var(--muted)}.checkbox-grid input{width:auto}.tournament-active-box{background:linear-gradient(145deg,rgba(212,175,55,.14),rgba(255,47,109,.06));border:1px solid var(--border);border-radius:22px;padding:20px;margin:18px 0 20px}.tournament-active-box span{display:block;color:var(--gold);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em;margin-bottom:8px}.tournament-active-box strong{font-size:24px;font-family:Georgia,serif}.tournament-active-box p{margin:8px 0 0!important}.tournament-list{display:grid;gap:12px}.tournament-row{display:flex;justify-content:space-between;gap:18px;align-items:center;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px}.tournament-row strong{display:block;color:var(--text);font-size:18px}.tournament-row span,.tournament-row small{display:block;color:var(--muted);margin-top:5px}.tournament-row em{color:var(--gold);font-style:normal;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.12em}.empty-state{padding:20px;border-radius:18px;background:rgba(255,255,255,.045);color:var(--muted)}
@media(max-width:760px){.form-two,.checkbox-grid{grid-template-columns:1fr}.tournament-row{display:block}.tournament-row em{display:block;margin-top:12px}.site-header nav{flex-wrap:wrap}}


/* WOGDI header logo */
.brand-mark,
.logo-mark,
.wogdi-mark {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(212,175,55,.13), rgba(255,255,255,.035));
  border: 1px solid rgba(212,175,55,.28);
  box-shadow: 0 12px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.07);
  flex: 0 0 auto;
}
.brand-mark img,
.logo-mark img,
.wogdi-mark img {
  width: 31px;
  height: 31px;
  display: block;
  filter: drop-shadow(0 0 10px rgba(212,175,55,.22));
}
.brand:hover .brand-mark,
.logo:hover .logo-mark {
  border-color: rgba(212,175,55,.5);
  box-shadow: 0 14px 34px rgba(0,0,0,.32), 0 0 18px rgba(212,175,55,.10);
}
.weather-icon {
  font-size: 52px !important;
  top: 12px !important;
  right: 18px !important;
}
.weather-card footer,
.weather-source {
  text-align: center !important;
}
.archive-intro,
.tournaments-intro {
  margin-left: 0 !important;
  padding-left: 0 !important;
}


/* v16 refinements */
.weather-icon {
  font-size: 46px !important;
  top: 8px !important;
  right: 12px !important;
}
.archive-card p,
.tournaments-intro,
.archive-intro {
  margin-left: 0 !important;
  padding-left: 0 !important;
  text-indent: 0 !important;
}
.course-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.course-stats span {
  white-space: nowrap;
}
.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 12px;
  background: rgba(212,175,55,.12);
  border: 1px solid rgba(212,175,55,.28);
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}


/* v17 fixes */
.panel-head.simple .kicker,
.panel-head.simple h1,
.panel-head.simple p {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.panel-head.simple p {
  transform: translateX(-105px);
  width: fit-content;
  max-width: calc(100% - 32px);
  text-align: left;
}
@media(max-width:760px){
  .panel-head.simple p {
    transform: none;
    width: auto;
  }
}


/* v18 course/weather layout fixes */
.course-stats {
  display: grid !important;
  gap: 12px !important;
  justify-items: start !important;
}
.course-stats .stats-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}
.course-stats .stats-row span {
  white-space: nowrap;
}

.weather-panel {
  position: relative;
}
.weather-hours {
  max-width: 436px !important;
  width: 100% !important;
}
.weather-hours div {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 82px 1fr !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.weather-hours div span {
  text-align: right !important;
}
.weather-source {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 22px auto 0 !important;
  padding: 0 !important;
}
@media(max-width:760px){
  .weather-hours {
    max-width: none !important;
  }
  .weather-hours div {
    grid-template-columns: 70px 1fr !important;
  }
}


/* v19 definitive weather spacing fix */
.weather-panel .weather-hours {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.weather-panel .weather-hours div {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 10px 14px !important;
}

.weather-panel .weather-hours div strong {
  flex: 0 0 auto !important;
}

.weather-panel .weather-hours div span {
  flex: 1 1 auto !important;
  text-align: right !important;
}

.weather-panel .weather-source {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

/* v20 ACTUAL FIX */
.weather-hours {
  padding: 0 !important;
  margin: 0 !important;
}

.weather-hours > div {
  margin: 10px 0 !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  width: 100% !important;
  display: flex !important;
  justify-content: space-between !important;
}

.weather-hours > div:first-child {
  margin-top: 0 !important;
}

.weather-hours > div:last-child {
  margin-bottom: 0 !important;
}

.weather-panel {
  padding-bottom: 30px !important;
}

.weather-source {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  margin-top: 20px !important;
}

/* v21 definitive inline-supported weather fix */
.weather-panel .weather-hours,
.weather-panel > .weather-hours {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.weather-panel .weather-hours > div,
.weather-panel > .weather-hours > div {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.weather-panel .weather-hours > div span {
  margin-left: auto !important;
  text-align: right !important;
}

.weather-panel .weather-source {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* v22 WEATHER FIX - structural override */
.weather-panel {
  overflow: hidden !important;
}

.weather-panel .weather-main {
  display: block !important;
}

.weather-panel .weather-copy {
  width: 100% !important;
  max-width: none !important;
}

.weather-panel .weather-hours {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
}

.weather-panel .weather-hours .weather-hour-row {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 72px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 16px !important;
  padding: 11px 16px !important;
  border-radius: 16px !important;
}

.weather-panel .weather-hours .weather-hour-row strong {
  text-align: left !important;
}

.weather-panel .weather-hours .weather-hour-row span {
  text-align: right !important;
  min-width: 0 !important;
}

.weather-panel .weather-source {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
  transform: none !important;
}


/* v23 final weather layout fix */
.weather-panel {
  position: relative !important;
}

.weather-panel .weather-icon {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 52px !important;
  line-height: 1 !important;
  z-index: 2 !important;
}

.weather-panel .weather-content {
  width: 100% !important;
  max-width: none !important;
  padding-right: 82px !important; /* reserves space for icon only at top, but keeps rows measured predictably */
  box-sizing: border-box !important;
}

.weather-panel .weather-summary,
.weather-panel .weather-meta,
.weather-panel .weather-hours,
.weather-panel .weather-source {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.weather-panel .weather-hours {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
}

.weather-panel .weather-hour-row {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  padding: 11px 16px !important;
  border-radius: 16px !important;
}

.weather-panel .weather-hour-row strong {
  text-align: left !important;
}

.weather-panel .weather-hour-row span {
  text-align: right !important;
  min-width: 0 !important;
}

.weather-panel .weather-source {
  display: block !important;
  text-align: center !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
}

@media(max-width:760px){
  .weather-panel .weather-content {
    padding-right: 0 !important;
  }
  .weather-panel .weather-icon {
    font-size: 44px !important;
    top: 18px !important;
    right: 18px !important;
  }
}


/* v24 WEATHER FIX - rows use full card width */
.weather-panel .weather-content {
  width: 100% !important;
  max-width: none !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.weather-panel .weather-summary {
  max-width: calc(100% - 96px) !important;
  width: auto !important;
}

.weather-panel .weather-meta {
  width: auto !important;
  max-width: calc(100% - 96px) !important;
}

.weather-panel .weather-hours {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.weather-panel .weather-hour-row {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 78px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 14px !important;
  padding: 11px 16px !important;
  border-radius: 16px !important;
}

.weather-panel .weather-hour-row span {
  text-align: right !important;
}

.weather-panel .weather-source {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
}

/* v25 isolated weather component - final */
.weather-panel-fixed {
  position: relative !important;
  overflow: hidden !important;
}

.weather-panel-fixed .weather-icon-fixed {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  font-size: 52px !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 2 !important;
}

.weather-panel-fixed .weather-summary-fixed {
  color: var(--text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  margin: 10px 96px 14px 0 !important;
  max-width: none !important;
}

.weather-panel-fixed .weather-meta-fixed {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 96px 18px 0 !important;
  width: auto !important;
}

.weather-panel-fixed .weather-meta-fixed span {
  display: inline-flex !important;
  gap: 4px !important;
  align-items: center !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  padding: 10px 12px !important;
  color: var(--muted) !important;
}

.weather-panel-fixed .weather-meta-fixed strong {
  color: var(--text) !important;
}

.weather-panel-fixed .weather-hours-fixed {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 18px 0 0 0 !important;
  padding: 0 !important;
}

.weather-panel-fixed .weather-row-fixed {
  width: 100% !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 11px 16px !important;
  margin: 0 !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: var(--muted) !important;
}

.weather-panel-fixed .weather-row-fixed strong {
  color: var(--gold) !important;
  text-align: left !important;
}

.weather-panel-fixed .weather-row-fixed span {
  text-align: right !important;
  min-width: 0 !important;
  color: var(--text) !important;
}

.weather-panel-fixed .weather-source-fixed {
  display: block !important;
  width: 100% !important;
  margin: 24px 0 0 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: var(--muted) !important;
  font-size: 12px !important;
}

@media(max-width:760px){
  .weather-panel-fixed .weather-summary-fixed,
  .weather-panel-fixed .weather-meta-fixed {
    margin-right: 70px !important;
  }
  .weather-panel-fixed .weather-icon-fixed {
    font-size: 44px !important;
    top: 18px !important;
    right: 18px !important;
  }
}

/* v26 FIX: rows must ignore icon spacing */
.weather-panel-fixed .weather-content {
  padding-right: 0 !important;
}

/* only top text respects icon */
.weather-panel-fixed .weather-summary-fixed,
.weather-panel-fixed .weather-meta-fixed {
  margin-right: 96px !important;
}

/* rows go full width */
.weather-panel-fixed .weather-hours-fixed {
  width: 100% !important;
  margin-right: 0 !important;
}

.weather-panel-fixed .weather-row-fixed {
  width: 100% !important;
  max-width: none !important;
}

/* v28 anchor scroll fix */
#leaderboard {
  scroll-margin-top: 85px;
}

/* v31 player avatars and PGA-style scorecard overlay */
.avatar-cell { width: 58px; }
.player-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid rgba(212,175,55,.78);
  box-shadow: 0 0 0 3px rgba(255,255,255,.04), 0 8px 18px rgba(0,0,0,.24);
}
.player-link {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  font-weight: 900;
  padding: 0;
  cursor: pointer;
}
.player-link:hover { color: var(--gold); }
.player-row { cursor: pointer; }
.player-row:hover .player-avatar { border-color: #f7efd7; }

.scorecard-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.scorecard-overlay.is-open { display: flex; }
.scorecard-modal {
  position: relative;
  width: min(1120px, 96vw);
  max-height: 88vh;
  overflow: auto;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(247,239,215,.98), rgba(228,226,218,.98));
  color: #08130f;
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 30px 120px rgba(0,0,0,.55);
  padding: 0;
}
.scorecard-close {
  position: sticky;
  top: 14px;
  margin-left: auto;
  margin-right: 14px;
  margin-top: 14px;
  z-index: 4;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(255,255,255,.86);
  color: #08130f;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.scorecard-sheet {
  display: none;
  padding: 28px 30px 34px;
}
.scorecard-sheet.is-active { display: block; }
.scorecard-player-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 22px;
}
.scorecard-player-head img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #222;
  box-shadow: 0 0 0 4px #d4af37;
}
.scorecard-player-head h2 {
  font-family: Georgia, serif;
  color: #08130f;
  font-size: 28px;
  margin: 0 0 4px;
}
.scorecard-player-head p {
  margin: 0;
  color: rgba(8,19,15,.65);
  font-weight: 800;
}
.scorecard-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 4px solid rgba(0,0,0,.18);
  margin-bottom: 26px;
  font-size: 19px;
  font-weight: 900;
}
.scorecard-tabs span {
  padding: 0 0 14px;
  color: rgba(8,19,15,.45);
}
.scorecard-tabs .active {
  color: #000;
  border-bottom: 4px solid #000;
  margin-bottom: -4px;
}
.scorecard-table-wrap { overflow-x: auto; }
.scorecard-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-family: Inter, system-ui, sans-serif;
}
.scorecard-table th,
.scorecard-table td {
  padding: 12px 10px;
  text-align: center;
  border-bottom: 1px solid rgba(0,0,0,.14);
  color: #08130f;
}
.scorecard-table th {
  text-transform: uppercase;
  font-size: 13px;
  color: rgba(8,19,15,.58);
  background: rgba(8,19,15,.055);
  font-weight: 950;
}
.scorecard-table th:first-child { text-align: left; }
.score-mark {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  color: #08130f;
  font-weight: 900;
  line-height: 1;
  position: relative;
}
.score-birdie {
  border: 2px solid rgba(8,19,15,.65);
  border-radius: 50%;
}
.score-eagle {
  border: 2px solid rgba(8,19,15,.65);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(8,19,15,.20);
}
.score-bogey {
  border: 2px solid rgba(8,19,15,.65);
  border-radius: 0;
}
.score-doublebogey {
  border: 2px solid rgba(8,19,15,.65);
  border-radius: 0;
  box-shadow: 0 0 0 4px rgba(8,19,15,.20);
}
@media(max-width:760px){
  .scorecard-overlay { padding: 12px; }
  .scorecard-sheet { padding: 20px 16px 24px; }
  .scorecard-player-head img { width: 58px; height: 58px; }
  .scorecard-player-head h2 { font-size: 23px; }
}

/* v32 center avatar between POS and SPILLER */
.avatar-cell {
  width: 70px;
  text-align: center;
}

.avatar-cell img {
  margin: 0 auto;
}


/* v33 leaderboard avatar column: fixed table geometry */
.leaderboard-panel table {
  table-layout: fixed !important;
  width: 100% !important;
}

.leaderboard-panel table th:nth-child(1),
.leaderboard-panel table td:nth-child(1) {
  width: 80px !important;
}

.leaderboard-panel table th:nth-child(2),
.leaderboard-panel table td:nth-child(2) {
  width: 92px !important;
  text-align: center !important;
}

.leaderboard-panel table th:nth-child(3),
.leaderboard-panel table td:nth-child(3) {
  width: 260px !important;
  text-align: left !important;
}

.leaderboard-panel .avatar-cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.leaderboard-panel .player-avatar {
  margin-left: auto !important;
  margin-right: auto !important;
}


/* v34 column alignment */
.leaderboard-panel table th,
.leaderboard-panel table td {
  text-align: center;
}

.leaderboard-panel table th:nth-child(3),
.leaderboard-panel table td:nth-child(3) {
  text-align: left !important;
}


/* v35 mobile nav + mobile scorecard click fixes */
@media (max-width: 760px) {
  .site-header {
    position: sticky;
    top: 0;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    width: 100% !important;
  }

  .site-header .brand {
    min-width: 0 !important;
  }

  .site-header nav,
  .site-header .top-nav {
    width: 100% !important;
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    padding: 2px 0 6px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .site-header nav::-webkit-scrollbar,
  .site-header .top-nav::-webkit-scrollbar {
    display: none !important;
  }

  .site-header nav a,
  .site-header .top-nav a {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 10px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.045) !important;
    border: 1px solid rgba(255,255,255,.06) !important;
    font-size: 13px !important;
  }

  .mobile-player-card {
    grid-template-columns: auto auto 1fr auto !important;
    cursor: pointer !important;
  }

  .mobile-player-card .mobile-avatar {
    width: 38px !important;
    height: 38px !important;
  }

  .mobile-player-card small {
    grid-column: 3 / -1 !important;
  }
}


/* v36 scorecard mobile cleanup */
.scorecard-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  margin: 0 !important;
}

.scorecard-sheet {
  padding-top: 22px !important;
}

.scorecard-player-head {
  padding-top: 0 !important;
}

.scorecard-tabs-single {
  gap: 0 !important;
}

@media(max-width:760px){
  .scorecard-modal {
    max-height: 84vh !important;
  }

  .scorecard-sheet {
    padding-top: 18px !important;
  }

  .scorecard-player-head {
    padding-bottom: 18px !important;
  }

  .scorecard-tabs {
    margin-bottom: 20px !important;
  }
}


/* v37 mobile menu as dropdown */
.mobile-nav-select {
  display: none;
}

@media (max-width: 760px) {
  .site-header {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .site-header nav,
  .site-header .top-nav {
    display: none !important;
  }

  .mobile-nav-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border-radius: 18px !important;
    border: 1px solid rgba(212,175,55,.26) !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035)),
      url("data:image/svg+xml,%3Csvg width='14' height='9' viewBox='0 0 14 9' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%23d4af37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 18px center !important;
    color: var(--text) !important;
    padding: 14px 48px 14px 16px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.16) !important;
  }

  .mobile-nav-select option {
    color: #08130f !important;
    background: #f7efd7 !important;
  }
}


/* v38 mobile header: dropdown next to WOGDI */
@media (max-width: 760px) {
  .site-header {
    display: grid !important;
    grid-template-columns: auto minmax(150px, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
  }

  .site-header .brand {
    min-width: 0 !important;
    flex: 0 0 auto !important;
  }

  .site-header .brand small {
    display: none !important;
  }

  .site-header .brand strong {
    font-size: 18px !important;
    white-space: nowrap !important;
  }

  .mobile-nav-select {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 12px 44px 12px 14px !important;
    font-size: 15px !important;
  }
}

/* v39 compact mobile cards */
@media (max-width:760px){
  .mobile-player-card {
    padding: 14px !important;
  }
  .mobile-player-card p {
    font-size: 13px !important;
    margin-top: 4px !important;
    line-height: 1.3 !important;
  }
}

/* v44 show HCP next to player name */
.player-hcp {
  display: block;
  font-size: 12px;
  opacity: 0.7;
  margin-top: 2px;
}

/* v45 clean scorecard header: subtle HCP inline after name */
.scorecard-player-head {
  align-items: center !important;
  gap: 18px !important;
  padding: 6px 0 24px !important;
}

.scorecard-player-info {
  min-width: 0 !important;
}

.scorecard-name {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 0 0 7px 0 !important;
  line-height: 1.05 !important;
}

.player-hcp-inline {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  color: rgba(8,19,15,.46) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.scorecard-meta-line {
  margin: 0 !important;
  color: rgba(8,19,15,.56) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
}

@media(max-width:760px){
  .scorecard-player-head {
    gap: 12px !important;
    align-items: flex-start !important;
  }
  .player-hcp-inline {
    font-size: 11px !important;
  }
  .scorecard-meta-line {
    font-size: 13px !important;
  }
}

/* v46 fix archive text alignment */
.archive-panel h1,
.archive-panel h2 {
  margin-left: 0 !important;
}

.archive-panel p {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* v47 exact archive intro alignment */
.panel-head.simple .archive-intro-lock {
  display: block !important;
  max-width: 920px !important;
  width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 105px !important;
  box-sizing: border-box !important;
  text-align: left !important;
  transform: none !important;
}

@media (max-width: 980px) {
  .panel-head.simple .archive-intro-lock {
    width: 100% !important;
    max-width: 920px !important;
    padding-left: clamp(0px, 11vw, 105px) !important;
  }
}

@media (max-width: 560px) {
  .panel-head.simple .archive-intro-lock {
    padding-left: 0 !important;
  }
}

/* v48 archive intro hard alignment */
.archive-hero-lock {
  text-align: left !important;
}

.archive-hero-lock > div {
  width: fit-content !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.archive-hero-lock h1 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.archive-hero-lock .archive-intro-lock {
  width: 100% !important;
  max-width: none !important;
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  transform: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .archive-hero-lock > div {
    width: 100% !important;
  }
}

/* v49 final archive intro alignment */
.panel-head.simple .archive-intro-final {
  display: block !important;
  width: 720px !important;
  max-width: 100% !important;
  margin: 14px auto 0 auto !important;
  padding-left: 104px !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
  transform: none !important;
}

@media (max-width: 760px) {
  .panel-head.simple .archive-intro-final {
    width: 100% !important;
    padding-left: 0 !important;
  }
}

/* v50 archive intro: align with TURNERINGER left edge */
.panel-head.simple .archive-intro-final {
  width: 720px !important;
  max-width: 100% !important;
  margin: 14px auto 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
  transform: none !important;
}

/* v51 archive intro alignment */
.panel-head.simple .archive-intro-final,
.archive-hero-lock .archive-intro-final {
  display: block !important;
  width: 920px !important;
  max-width: 100% !important;
  margin: 14px auto 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* v52 player login cleanup */
.player-login-panel {
  overflow: hidden;
}

.player-login-head {
  max-width: 100%;
  margin: 0 0 28px 0;
}

.player-login-head h1 {
  margin: 12px 0 18px 0 !important;
  max-width: 100% !important;
  font-size: clamp(48px, 8vw, 86px);
  line-height: .92;
}

.player-login-head p {
  margin: 0 !important;
  max-width: 100% !important;
}

.player-login-form {
  margin-top: 0;
}

.player-login-form input {
  font-size: 16px;
}

@media(max-width:760px){
  .player-login-head h1 {
    font-size: clamp(42px, 13vw, 64px);
  }
}

/* v53 desktop nav active/inactive colors */
.site-header nav a,
.site-header .top-nav a {
  color: var(--muted) !important;
}

.site-header nav a.is-active,
.site-header .top-nav a.is-active {
  color: var(--text) !important;
  font-weight: 900 !important;
}

/* keep mobile behavior, only allow Admin to appear when PHP renders it */
@media(max-width:760px){
  .site-header nav a,
  .site-header .top-nav a {
    color: var(--muted) !important;
  }

  .site-header nav a.is-active,
  .site-header .top-nav a.is-active {
    color: var(--text) !important;
  }
}

/* v54 order of merit */
.order-merit-panel .panel-head.simple p {
  text-align: left;
}

.order-points-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
}

.order-points-summary span {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  color: var(--muted);
  padding: 11px 13px;
  font-weight: 800;
}

.order-points-summary strong {
  color: var(--text);
  font-size: 18px;
}

.order-table th,
.order-table td {
  text-align: center;
}

.order-table th:nth-child(2),
.order-table td:nth-child(2) {
  text-align: left;
}

.order-points {
  color: var(--gold);
  font-weight: 950;
  font-size: 24px;
}

.order-merit-admin-card input[type="number"] {
  text-align: center;
}

/* v56 order of merit layout fix */
.order-merit-header > div {
  text-align: center !important;
  margin: 0 auto !important;
}

.order-merit-header h1 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.order-merit-header p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* v57 align bane and weather headers */
.grid-two {
  align-items: start !important;
}

.grid-two > * {
  display: flex;
  flex-direction: column;
}

.grid-two > * h2,
.grid-two > * h3 {
  margin-top: 0 !important;
}

/* v58 REAL alignment fix */
.grid-two {
  align-items: stretch !important;
}

.grid-two > div {
  display: flex !important;
  flex-direction: column !important;
}

.grid-two > div h2,
.grid-two > div h3 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.grid-two > div:first-child {
  padding-top: 0 !important;
}

.grid-two > div:last-child {
  padding-top: 0 !important;
}

/* v59 CLEAN FIX */

/* Order of merit center */
.order-merit-header.center {
  text-align: center !important;
}
.order-merit-header.center h1,
.order-merit-header.center p,
.order-merit-header.center .kicker {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure both cards align perfectly */
.grid-two {
  align-items: start !important;
}

/* Force equal header positioning */
.panel h2,
.panel h3 {
  margin-top: 0 !important;
}

/* Remove weird offset */
.panel .muted {
  margin-left: 0 !important;
}

/* v60 FIX subtitle centering properly */
.order-merit-header.center p {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  max-width: 800px;
  margin: 0 auto !important;
}

/* v61 force Order of Merit subtitle to center under title */
.order-merit-panel .order-merit-header.center p,
.order-merit-panel .panel-head.simple.order-merit-header.center p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
}

/* v62 HARD ALIGN FIX */
.grid-two {
  display: grid !important;
  align-items: start !important;
}

.grid-two > div {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.grid-two > div:first-child h2,
.grid-two > div:last-child h2 {
  margin-top: 0 !important;
  line-height: 1 !important;
}

.grid-two > div:first-child,
.grid-two > div:last-child {
  display: block !important;
}

/* v63 actual Bane/Vær fix */
.grid.two {
  align-items: stretch !important;
}

.grid.two .course-panel,
.grid.two .wx-card {
  padding-top: 30px !important;
}

.grid.two .course-panel .course-content {
  padding-top: 0 !important;
  align-self: flex-start !important;
}

.grid.two .course-panel h2,
.grid.two .wx-card h2 {
  margin-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1 !important;
}

/* v69 tied positions */
.leaderboard-panel table tbody tr.same-position td {
  border-top-color: transparent !important;
}

.leaderboard-panel table tbody tr.same-position {
  border-top-color: transparent !important;
}

.leaderboard-panel table tbody tr.new-position td {
  border-top-color: rgba(255,255,255,.08) !important;
}

.leaderboard-panel table tbody tr:first-child td {
  border-top-color: transparent !important;
}

.mobile-player-card.same-position {
  border-top-color: transparent !important;
  margin-top: -6px;
}

/* v70 tied group line fix */
.leaderboard-panel table tbody tr.same-position td {
  border-top-color: transparent !important;
}

.leaderboard-panel table tbody tr:has(+ tr.same-position) td {
  border-bottom-color: transparent !important;
}

.leaderboard-panel table tbody tr.same-position td {
  border-bottom-color: rgba(255,255,255,.08) !important;
}

.leaderboard-panel table tbody tr.same-position:has(+ tr.same-position) td {
  border-bottom-color: transparent !important;
}

/* v71 fix leaderboard dropdown width */
.leaderboard-select {
  width: auto !important;
  min-width: 220px;
  max-width: fit-content;
  display: inline-block;
}

.leaderboard-select select {
  width: auto !important;
  padding-right: 32px; /* keep arrow spacing */
}

/* v72 actual leaderboard dropdown width fix */
.mode-form.leaderboard-mode-form {
  width: auto !important;
  min-width: 0 !important;
  justify-self: end !important;
  align-self: start !important;
}

.mode-form.leaderboard-mode-form select,
.leaderboard-mode-select {
  width: auto !important;
  min-width: 210px !important;
  max-width: 240px !important;
  display: inline-block !important;
  padding-left: 18px !important;
  padding-right: 42px !important;
}

@media(max-width:760px){
  .mode-form.leaderboard-mode-form,
  .mode-form.leaderboard-mode-form select,
  .leaderboard-mode-select {
    width: 100% !important;
    max-width: none !important;
  }
}

/* v74 consistent centered page headers + tighter player login form */

/* Tidligere turneringer: center only the header area above active tournament */
.archive-page-head,
.archive-page-head > div,
.archive-hero-lock.archive-page-head,
.archive-hero-lock.archive-page-head > div {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.archive-page-head .kicker,
.archive-page-head h1,
.archive-page-head p,
.archive-page-head .archive-intro-final,
.archive-page-head .archive-intro-lock {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
}

/* Spiller: center heading area */
.player-login-page .player-login-head,
.player-login-page .player-login-head .kicker,
.player-login-page .player-login-head h1,
.player-login-page .player-login-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Spiller: narrower centered login controls */
.player-login-page .player-login-form,
.player-login-page .form-card.player-login-form {
  width: min(100%, 360px) !important;
  max-width: 360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.player-login-page .player-login-form input,
.player-login-page .player-login-form button {
  width: 100% !important;
}

@media(max-width:760px){
  .player-login-page .player-login-form,
  .player-login-page .form-card.player-login-form {
    width: 100% !important;
    max-width: none !important;
  }
}

/* v75 FORCE center archive intro text (this was overridden somewhere…) */
.archive-page-head p,
.archive-page-head .archive-intro-final,
.archive-page-head .archive-intro-lock {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 700px;
}

/* v76 archive intro true visual center */
.archive-page-head,
.archive-page-head > div,
.archive-hero-lock.archive-page-head,
.archive-hero-lock.archive-page-head > div {
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.archive-page-head .archive-intro-center-final {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 18px auto 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* v77 Order of Merit ties + avatars */
.order-table th,
.order-table td {
  text-align: center !important;
}

.order-table th:nth-child(3),
.order-table td:nth-child(3) {
  text-align: left !important;
}

.order-table th:nth-child(2),
.order-table td:nth-child(2) {
  width: 92px !important;
  text-align: center !important;
}

.order-table .avatar-cell {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.order-table .player-avatar {
  margin-left: auto !important;
  margin-right: auto !important;
}

.order-table tbody tr.same-position td {
  border-top-color: transparent !important;
}

.order-table tbody tr:has(+ tr.same-position) td {
  border-bottom-color: transparent !important;
}

.order-table tbody tr.same-position:has(+ tr.same-position) td {
  border-bottom-color: transparent !important;
}

/* v78 remove bottom border on last row */
.leaderboard-panel table tbody tr:last-child td,
.order-table tbody tr:last-child td {
  border-bottom: none !important;
  border-top-color: transparent !important;
}

/* v79 Order of Merit player popup */
.oom-player-row,
.oom-player-link {
  cursor: pointer;
}
.oom-player-link {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  font-weight: 900;
  padding: 0;
}
.oom-player-link:hover {
  color: var(--gold);
}

.oom-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.oom-overlay.is-open {
  display: flex;
}
.oom-modal {
  position: relative;
  width: min(980px, 96vw);
  max-height: 88vh;
  overflow: auto;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(247,239,215,.98), rgba(228,226,218,.98));
  color: #08130f;
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 30px 120px rgba(0,0,0,.55);
}
.oom-close {
  position: sticky;
  top: 14px;
  margin-left: auto;
  margin-right: 14px;
  margin-top: 14px;
  z-index: 4;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(255,255,255,.86);
  color: #08130f;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.oom-sheet {
  display: none;
  padding: 28px 30px 34px;
}
.oom-sheet.is-active {
  display: block;
}
.oom-player-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 22px;
}
.oom-player-head img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #222;
  box-shadow: 0 0 0 4px #d4af37;
}
.oom-player-head h2 {
  font-family: Georgia, serif;
  color: #08130f;
  font-size: 30px;
  margin: 0 0 4px;
}
.oom-player-head p {
  margin: 0;
  color: rgba(8,19,15,.62);
  font-weight: 850;
}
.oom-history-wrap {
  overflow-x: auto;
}
.oom-history-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.oom-history-table th,
.oom-history-table td {
  padding: 14px 12px;
  text-align: center;
  border-bottom: 1px solid rgba(0,0,0,.14);
  color: #08130f;
}
.oom-history-table th {
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(8,19,15,.58);
  background: rgba(8,19,15,.055);
  font-weight: 950;
  letter-spacing: .06em;
}
.oom-history-table th:nth-child(2),
.oom-history-table td:nth-child(2),
.oom-history-table th:nth-child(3),
.oom-history-table td:nth-child(3) {
  text-align: left;
}
@media(max-width:760px){
  .oom-overlay {
    padding: 12px;
  }
  .oom-sheet {
    padding: 20px 16px 24px;
  }
  .oom-player-head img {
    width: 58px;
    height: 58px;
  }
  .oom-player-head h2 {
    font-size: 24px;
  }
}

/* v80 tighten modal top spacing */
.oom-modal {
  padding-top: 0 !important;
}

.oom-sheet {
  padding-top: 10px !important;
}

.oom-player-head {
  padding-top: 10px !important;
  margin-top: 0 !important;
}

.oom-close {
  margin-top: 8px !important;
}

/* v81 REAL fix: remove hidden spacing from modal container */
.oom-modal {
  padding: 0 !important;
}

.oom-sheet {
  padding: 20px 24px 28px !important;
}

.oom-player-head {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* THIS was the real culprit: close button was pushing layout */
.oom-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  margin: 0 !important;
}

/* v82 automatic editorial live feed */
.live-feed-panel .feed {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.live-feed-panel .feed li {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 18px;
  padding: 13px 15px;
  color: var(--text);
  line-height: 1.55;
}

.live-feed-panel .feed li strong {
  color: var(--gold);
  margin-right: 10px;
  font-weight: 950;
}

/* v84 Order of Merit mobile fix */
@media(max-width: 760px){

  .order-table thead {
    display: none;
  }

  .order-table tbody tr {
    display: block;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 14px;
    margin-bottom: 12px;
  }

  .order-table tbody td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    border: none !important;
    text-align: left !important;
  }

  .order-table tbody td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--muted);
  }

  .order-table tbody td.pos {
    font-size: 18px;
    font-weight: 900;
    color: var(--gold);
  }

  .order-table .avatar-cell {
    justify-content: flex-start !important;
  }

  .order-table .player-name {
    font-weight: 900;
    font-size: 18px;
  }

}

/* v85 live feed collapsed/expanded */
.live-feed-panel .feed-extra{display:none}.live-feed-panel.is-expanded .feed{max-height:420px;overflow-y:auto;padding-right:4px}.live-feed-panel.is-expanded .feed-extra{display:list-item}.feed-expand-btn{margin:14px auto 0;width:48px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.07);color:var(--gold);font-weight:950;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer}.feed-expand-btn:hover{background:rgba(255,255,255,.11)}
/* v85 Order of Merit mobile should look like leaderboard cards */
.oom-mobile-cards{display:none}@media(max-width:760px){.order-merit-panel .desktop-table{display:none!important}.oom-mobile-cards{display:grid;gap:10px;margin-top:18px}.oom-mobile-card{display:grid;grid-template-columns:54px 54px minmax(0,1fr) auto;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.085);border-radius:22px;padding:14px 16px;cursor:pointer}.oom-mobile-card .rank{color:var(--gold);font-weight:950;font-size:20px}.oom-mobile-card .mobile-avatar{width:44px!important;height:44px!important}.oom-mobile-name{font-size:21px;font-weight:950;color:var(--text);min-width:0}.oom-mobile-points{font-size:30px;font-weight:950;color:var(--gold)}}

/* v87 live feed expand button cleanup */
.live-feed-panel {
  position: relative;
}

.feed-expand-btn {
  width: auto !important;
  min-width: 42px !important;
  height: 28px !important;
  padding: 0 12px !important;
  margin: 12px auto 0 !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  display: inline-grid !important;
  place-items: center !important;
  align-self: center !important;
}

.live-feed-panel.is-expanded .feed-expand-btn {
  font-size: 12px !important;
  min-width: 54px !important;
  height: 28px !important;
  padding: 0 12px !important;
}

.live-feed-panel.is-expanded .feed {
  max-height: 420px !important;
  overflow-y: auto !important;
  margin-bottom: 0 !important;
}

/* v88 scorecard HCP dots */
.scorecard-table td.scorecell {
  position: relative;
}

.hcp-dots {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  gap: 2px;
  align-items: center;
  justify-content: flex-end;
  pointer-events: none;
}

.hcp-dots i {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #d93636;
  display: block;
  box-shadow: 0 0 0 1px rgba(8,19,15,.18);
}

.hcp-dots.dots-3 i {
  width: 4.5px;
  height: 4.5px;
}

@media(max-width:760px){
  .hcp-dots {
    top: 4px;
    right: 4px;
    gap: 1.5px;
  }
  .hcp-dots i {
    width: 4px;
    height: 4px;
  }
}

/* v89 reliable jump-links */
.jump-anchor {
  display: block;
  position: relative;
  top: -88px;
  height: 0;
  visibility: hidden;
}

#leaderboard,
#leaderboard-anchor {
  scroll-margin-top: 88px !important;
}

@media(max-width:760px){
  .jump-anchor {
    top: -124px;
  }

  #leaderboard,
  #leaderboard-anchor {
    scroll-margin-top: 124px !important;
  }
}

/* v90 scorecard HCP dots belong on Par row, not Score row */
.scorecard-table td.parcell {
  position: relative;
}

.scorecard-table tr:nth-child(3) .hcp-dots {
  display: none !important;
}

.scorecard-table td.parcell .hcp-dots {
  display: flex !important;
}

/* v91 smaller HCP dots */
.hcp-dots i {
  width: 3px !important;
  height: 3px !important;
}

.hcp-dots.dots-3 i {
  width: 2.5px !important;
  height: 2.5px !important;
}

@media(max-width:760px){
  .hcp-dots i {
    width: 2.5px !important;
    height: 2.5px !important;
  }
}

/* v92 fix course image on mobile */
.course-card {
  position: relative;
  overflow: hidden;
}

.course-card img,
.course-map {
  opacity: 0.15;
  filter: blur(1px);
  transform: scale(1.05);
}

@media(max-width:760px){
  .course-card {
    padding-bottom: 20px;
  }

  .course-card img,
  .course-map {
    position: absolute;
    right: -20%;
    bottom: -10%;
    width: 120%;
    height: auto;
    opacity: 0.12;
    filter: blur(2px);
    transform: scale(1.2);
  }
}

/* v93 dynamic course image as right-side background */
.course-panel {
  position: relative !important;
  overflow: hidden !important;
  min-height: 300px !important;
}

.course-panel .course-content {
  position: relative !important;
  z-index: 5 !important;
}

.course-panel .course-map-wrap {
  position: absolute !important;
  inset: 0 0 0 auto !important;
  width: 58% !important;
  height: 100% !important;
  z-index: 0 !important;
  opacity: .42 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  pointer-events: none !important;
  filter: saturate(1.08) contrast(1.05) brightness(.78) !important;
  transform: none !important;
}

.course-panel .course-map-wrap img {
  height: 112% !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain !important;
  transform: translateX(12%) rotate(-2deg) !important;
  opacity: 1 !important;
  filter: none !important;
}

.course-panel .course-map-wrap::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(7,23,19,1) 0%, rgba(7,23,19,.78) 32%, rgba(7,23,19,.18) 66%, rgba(7,23,19,.56) 100%) !important;
  pointer-events: none !important;
}

.course-admin-preview {
  width: min(360px, 100%);
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}

.course-admin-preview img {
  display: block;
  width: 100%;
  height: auto;
}

@media(max-width:760px){
  .course-panel {
    min-height: 360px !important;
    padding-bottom: 24px !important;
  }

  .course-panel .course-map-wrap {
    inset: 0 0 0 auto !important;
    width: 62% !important;
    height: 100% !important;
    opacity: .30 !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    filter: saturate(1.05) contrast(1.05) brightness(.70) !important;
  }

  .course-panel .course-map-wrap img {
    height: 118% !important;
    width: auto !important;
    transform: translateX(24%) translateY(-1%) rotate(-2deg) !important;
    object-fit: contain !important;
  }

  .course-panel .course-map-wrap::after {
    background:
      linear-gradient(90deg, rgba(7,23,19,1) 0%, rgba(7,23,19,.82) 34%, rgba(7,23,19,.22) 68%, rgba(7,23,19,.64) 100%) !important;
  }
}

/* v94 mobile course map placement + desktop nav separators */
@media(max-width:760px){
  .course-panel .course-map-wrap {
    inset: 0 0 0 auto !important;
    width: 58% !important;
    height: 100% !important;
    opacity: .44 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    filter: saturate(1.12) contrast(1.08) brightness(.82) !important;
  }

  .course-panel .course-map-wrap img {
    height: 108% !important;
    width: auto !important;
    max-width: none !important;
    transform: translateX(5%) rotate(-2deg) !important;
    object-fit: contain !important;
  }

  .course-panel .course-map-wrap::after {
    background:
      linear-gradient(90deg, rgba(7,23,19,1) 0%, rgba(7,23,19,.72) 30%, rgba(7,23,19,.16) 66%, rgba(7,23,19,.42) 100%) !important;
  }
}

@media(min-width:761px){
  .site-header .top-nav a:not(:last-child)::after,
  .site-header nav a:not(:last-child)::after {
    content: "•";
    display: inline-block;
    margin-left: 14px;
    color: rgba(212,175,55,.38);
    font-weight: 700;
    pointer-events: none;
  }

  .site-header .top-nav a:not(:last-child),
  .site-header nav a:not(:last-child) {
    margin-right: 14px;
  }
}

/* v96 secure login */
.player-login-form .btn.ghost {
  text-align: center;
}

/* v97 symmetric desktop nav dot spacing */
@media(min-width:761px){
  .site-header .top-nav,
  .site-header nav {
    gap: 0 !important;
  }

  .site-header .top-nav a,
  .site-header nav a {
    margin-right: 0 !important;
  }

  .site-header .top-nav a:not(:last-child)::after,
  .site-header nav a:not(:last-child)::after {
    content: "•" !important;
    display: inline-block !important;
    margin: 0 18px !important;
    color: rgba(212,175,55,.38) !important;
    font-weight: 700 !important;
    pointer-events: none !important;
  }
}

/* v100 player page fix */
.player-name {
  font-size: clamp(28px, 4vw, 48px);
  text-align: center;
  line-height: 1.1;
}

.player-card {
  margin-top: 20px;
  padding: 20px;
  border-radius: 12px;
  background: rgba(255,255,255,0.05);
}

.player-actions {
  margin-top: 20px;
  text-align: center;
}

.edit-btn {
  font-size: 14px;
  padding: 8px 14px;
  border-radius: 8px;
  background: rgba(255,255,255,0.1);
  border: none;
  cursor: pointer;
}

/* v101 player profile layout */
.player-profile-page .player-login-head {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.player-profile-page .player-login-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.player-profile-card {
  margin: 26px auto 0;
  width: min(100%, 560px);
  display: grid;
  gap: 10px;
}

.profile-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.085);
}

.profile-row span {
  color: var(--muted);
  font-weight: 800;
}

.profile-row strong {
  color: var(--text);
  font-weight: 950;
  min-width: 0;
  overflow-wrap: anywhere;
}

.profile-row em {
  font-style: normal;
  opacity: .62;
}

.profile-row-locked {
  background: rgba(255,255,255,.04);
}

.profile-image-row {
  align-items: start;
}

.profile-image-preview {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(212,175,55,.45);
  background: rgba(0,0,0,.18);
  display: grid;
  place-items: center;
}

.profile-image-preview.full {
  width: 110px;
  height: 82px;
  border-radius: 18px;
}

.profile-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.empty-image {
  color: var(--muted);
  font-size: 12px;
  text-align: center;
  padding: 8px;
}

.admin-row strong {
  color: var(--gold);
}

@media(max-width:760px){
  .profile-row {
    grid-template-columns: 1fr auto;
    gap: 8px;
  }

  .profile-row span {
    grid-column: 1 / -1;
  }

  .profile-row em {
    grid-column: 2;
    grid-row: 2;
  }

  .profile-image-preview.full {
    width: 100%;
    max-width: 160px;
  }
}

/* v102 player name + links fix */
.player-name {
  font-size: clamp(22px, 3vw, 36px) !important;
  text-align: center;
}

.back-link {
  display: block;
  text-align: center !important;
  margin-top: 10px;
}

/* v103 player inline edit UI */
.player-actions {
  display: none !important;
}

.profile-edit-icon {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--gold);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-size: 13px;
  padding: 0;
  opacity: .82;
}

.profile-edit-icon:hover {
  opacity: 1;
  background: rgba(255,255,255,.1);
}

.clickable-upload {
  cursor: pointer;
  position: relative;
}

.clickable-upload::after {
  content: "✏️";
  position: absolute;
  right: -7px;
  bottom: -7px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(7,23,19,.96);
  border: 1px solid rgba(212,175,55,.55);
  display: grid;
  place-items: center;
  font-size: 12px;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}

@media(max-width:760px){
  .profile-edit-icon {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
}

/* v104 visual tweaks */

/* Highlight mobile number like admin */
.profile-row-locked strong {
  color: var(--gold);
}

/* Improve visibility of edit icon on image */
.clickable-upload::after {
  background: rgba(0,0,0,0.85) !important;
  border: 1px solid rgba(212,175,55,0.8) !important;
  color: #fff !important;
}

/* Ensure circle preview doesn't clip icon */
.profile-image-preview {
  overflow: visible !important;
}

/* Make empty placeholders more visible */
.empty-image {
  border: 1px solid rgba(212,175,55,0.4);
  border-radius: 50%;
}

.profile-image-preview.full .empty-image {
  border-radius: 12px;
}

/* v105 player inline edit backend */
.inline-edit-form {
  display: none;
  grid-column: 2 / 3;
  align-items: center;
  gap: 8px;
}

.editable-row.is-editing [data-view] {
  display: none;
}

.editable-row.is-editing .inline-edit-form {
  display: flex;
}

.inline-edit-form input,
.inline-edit-form select {
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: var(--text);
  padding: 0 10px;
  font-weight: 850;
  min-width: 0;
}

.inline-edit-form select option {
  color: #111;
}

.inline-edit-form .pin-input {
  width: 82px;
  text-align: center;
  letter-spacing: .18em;
}

.inline-edit-form .name-input {
  width: min(260px, 100%);
}

.hcp-edit-form select {
  width: 70px;
  text-align: center;
}

.hcp-dot {
  color: var(--text);
  font-weight: 950;
  font-size: 18px;
}

.inline-edit-form button {
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(212,175,55,.5);
  background: linear-gradient(135deg, #cda932, #f6df7a);
  color: #071713;
  font-weight: 950;
  padding: 0 13px;
  cursor: pointer;
}

.profile-message {
  width: min(100%, 560px);
  margin: 18px auto 0;
  padding: 12px 14px;
  border-radius: 14px;
  text-align: center;
  font-weight: 850;
}

.profile-message.is-ok {
  background: rgba(92, 184, 92, .12);
  border: 1px solid rgba(92, 184, 92, .25);
  color: #c6f6c6;
}

.profile-message.is-error {
  background: rgba(255, 84, 84, .12);
  border: 1px solid rgba(255, 84, 84, .28);
  color: #ffd0d0;
}

.image-upload-form {
  margin: 0;
}

@media(max-width:760px){
  .inline-edit-form {
    grid-column: 1 / -1;
    grid-row: 3;
    flex-wrap: wrap;
  }

  .inline-edit-form .name-input {
    width: 100%;
  }
}

/* v108 inline score box */
.inline-score-panel {
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.inline-score-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 24px;
}

.inline-score-left h2 {
  margin: 2px 0 4px;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1;
}

.inline-score-left p {
  margin: 0;
  color: var(--muted);
}

.inline-score-control {
  display: grid;
  grid-template-columns: 42px 58px 42px;
  align-items: center;
  gap: 8px;
}

.inline-score-control button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.07);
  color: var(--text);
  font-size: 25px;
  font-weight: 900;
  cursor: pointer;
}

.inline-score-control strong {
  text-align: center;
  font-size: 42px;
  font-family: Georgia, serif;
  color: var(--cream);
  line-height: 1;
}

.inline-score-actions {
  display: grid;
  gap: 8px;
  min-width: 160px;
}

.inline-score-actions .btn {
  width: 100%;
  padding-top: 12px;
  padding-bottom: 12px;
}

.prev-hole-link,
.score-save-message {
  text-align: center;
  color: var(--muted);
  font-weight: 800;
  font-size: 13px;
}

.score-save-message {
  margin-top: 10px;
  color: var(--gold);
}

@media(max-width:760px){
  .inline-score-form {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 14px;
  }

  .inline-score-control {
    justify-content: center;
  }
}

/* v109 restore leaderboard player-name size */
.leaderboard-panel .desktop-table td.player-name,
.leaderboard-panel .desktop-table td.player-name *,
.leaderboard-panel table td.player-name,
.leaderboard-panel table td.player-name * {
  font-size: 16px !important;
  line-height: 1.15 !important;
}

@media(max-width:760px){
  .leaderboard-panel .mobile-player-card h3,
  .leaderboard-panel .mobile-player-card h3 * {
    font-size: 22px !important;
    line-height: 1.1 !important;
  }
}

/* v110 keep player image inside its own row */
.profile-row.profile-image-row {
  min-height: 128px !important;
  align-items: center !important;
}

.profile-image-preview {
  overflow: hidden !important;
}

.profile-image-preview.full {
  width: 110px !important;
  height: 110px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.profile-image-preview.full img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.profile-image-preview:not(.full) {
  width: 74px !important;
  height: 74px !important;
  overflow: hidden !important;
}

.profile-image-preview:not(.full) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

@media(max-width:760px){
  .profile-row.profile-image-row {
    min-height: 118px !important;
  }

  .profile-image-preview.full {
    width: 104px !important;
    height: 104px !important;
  }
}

/* v111 make row grow with image */
.profile-row.profile-image-row {
  display: flex !important;
  align-items: center !important;
  min-height: auto !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.profile-image-preview.full {
  width: 140px !important;
  height: 140px !important;
}

.profile-image-preview:not(.full) {
  width: 90px !important;
  height: 90px !important;
}

@media(max-width:760px){
  .profile-image-preview.full {
    width: 120px !important;
    height: 120px !important;
  }
}

/* v112 fix edit icon visibility + add delete button styling */
.profile-image-preview {
  position: relative !important;
}

.profile-image-preview .edit-icon {
  position: absolute !important;
  bottom: 6px !important;
  right: 6px !important;
  z-index: 5 !important;
  opacity: 1 !important;
}

.profile-image-preview .edit-icon svg,
.profile-image-preview .edit-icon i {
  display: block !important;
}

/* delete button */
.profile-image-preview .delete-image {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  background: rgba(0,0,0,0.6) !important;
  border-radius: 50% !important;
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 14px !important;
  cursor: pointer !important;
  z-index: 6 !important;
}

.profile-image-preview .delete-image:hover {
  background: rgba(200,50,50,0.8) !important;
}

/* v114 image edit/delete controls */
.profile-row.profile-image-row {
  position: relative !important;
}

.profile-image-preview {
  position: relative !important;
  overflow: hidden !important;
}

.clickable-upload::after {
  content: "✎" !important;
  position: absolute !important;
  right: 6px !important;
  bottom: 6px !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 999px !important;
  background: #d4af37 !important;
  border: 2px solid rgba(7,23,19,.9) !important;
  color: #071713 !important;
  display: grid !important;
  place-items: center !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
  z-index: 20 !important;
}

.image-delete-form {
  margin: 0 !important;
  position: absolute !important;
  right: 18px !important;
  top: 18px !important;
  z-index: 25 !important;
}

.delete-image-btn {
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  border: 2px solid rgba(7,23,19,.85) !important;
  background: #b4232c !important;
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}

.delete-image-btn:hover {
  background: #d33 !important;
}

/* v116 admin header design */
.admin-page .kicker,
.admin-panel .kicker,
body:has(.admin-page) .kicker,
body:has(.admin-panel) .kicker {
  text-align: center !important;
}

.admin-page h1,
.admin-panel h1,
body:has(.admin-page) h1,
body:has(.admin-panel) h1 {
  text-align: center !important;
  font-size: clamp(44px, 7vw, 86px) !important;
  line-height: .94 !important;
}

.admin-page .panel-head,
.admin-panel .panel-head,
body:has(.admin-page) .panel-head,
body:has(.admin-panel) .panel-head {
  text-align: center !important;
  justify-content: center !important;
}

.admin-page .panel-head > div,
.admin-panel .panel-head > div,
body:has(.admin-page) .panel-head > div,
body:has(.admin-panel) .panel-head > div {
  width: 100% !important;
  text-align: center !important;
}

.admin-page .panel-head p,
.admin-panel .panel-head p,
body:has(.admin-page) .panel-head p,
body:has(.admin-panel) .panel-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* fallback for admin index if no page-specific class exists */
.admin-hero,
.admin-header {
  text-align: center !important;
}

.admin-hero h1,
.admin-header h1 {
  font-size: clamp(44px, 7vw, 86px) !important;
  line-height: .94 !important;
}

.admin-hero p,
.admin-header p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* v117 admin subheader fix */
.admin-page .admin-subheader,
.admin-page .panel-head p,
.admin-panel .panel-head p,
.admin-hero p,
.admin-header p {
  display: block !important;
  width: 100% !important;
  max-width: 760px !important;
  margin: 18px auto 0 !important;
  text-align: center !important;
  justify-self: center !important;
}

.admin-page .panel-head,
.admin-panel .panel-head {
  display: block !important;
  text-align: center !important;
}

.admin-page .panel-head > div,
.admin-panel .panel-head > div {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* v118 FORCE center admin subheader */
.admin-page .admin-subheader {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* kill any flex/grid override */
.admin-page .panel-head,
.admin-page .panel-head * {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
}

/* v119 isolated admin header — real centered */
.admin-top-hero {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  text-align: center !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
}

.admin-top-hero .kicker {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}

.admin-top-hero h1 {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin: 0 auto !important;
  font-size: clamp(52px, 6.8vw, 86px) !important;
  line-height: .92 !important;
}

.admin-top-hero p {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

/* v126 admin page hard reset: only Spillerlogistikk */
.admin-page {
  overflow: hidden;
}

.admin-card {
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.045);
  border-radius: 24px;
  padding: 28px;
  margin-top: 24px;
}

.admin-playerlogistikk-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  gap: 40px !important;
  align-items: center !important;
}

.admin-playerlogistikk-card h2 {
  margin: 0 0 8px !important;
  font-size: clamp(32px, 3.4vw, 44px) !important;
  line-height: 1.05 !important;
}

.admin-playerlogistikk-card p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 18px !important;
}

.admin-playerlogistikk-control {
  width: 340px !important;
  max-width: 100% !important;
  justify-self: end !important;
}

.admin-control-label-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 8px !important;
}

.admin-control-label-row label {
  color: var(--muted) !important;
  font-weight: 900 !important;
  font-size: 13px !important;
}

.admin-control-label-row a {
  color: var(--muted) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.admin-control-label-row a:hover {
  color: var(--gold) !important;
}

.admin-playerlogistikk-control select {
  width: 100% !important;
  max-width: 340px !important;
}

@media(max-width:760px){
  .admin-playerlogistikk-card {
    grid-template-columns: 1fr !important;
  }

  .admin-playerlogistikk-control {
    width: 100% !important;
    justify-self: stretch !important;
  }
}

/* v127 admin header restored + tight player logistics controls */
.admin-page .admin-top-hero {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto 34px !important;
  display: block !important;
}

.admin-page .admin-top-hero .kicker {
  display: block !important;
  text-align: center !important;
  margin: 0 auto 16px !important;
}

.admin-page .admin-top-hero h1 {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  font-size: clamp(52px, 6.8vw, 86px) !important;
  line-height: .92 !important;
}

.admin-page .admin-top-hero p {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 24px auto 0 !important;
}

.admin-playerlogistikk-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 40px !important;
  align-items: center !important;
}

.admin-playerlogistikk-control {
  width: 280px !important;
  max-width: 280px !important;
  justify-self: end !important;
}

.admin-control-label-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 12px !important;
  margin-bottom: 8px !important;
}

.admin-control-label-row label {
  margin: 0 !important;
  color: var(--muted) !important;
  font-weight: 900 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

.admin-control-label-row a {
  margin: 0 !important;
  color: var(--muted) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-align: right !important;
}

.admin-playerlogistikk-control select {
  width: 280px !important;
  max-width: 280px !important;
}

@media(max-width:760px){
  .admin-playerlogistikk-card {
    grid-template-columns: 1fr !important;
  }

  .admin-playerlogistikk-control,
  .admin-playerlogistikk-control select {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }
}

/* v128: Opprett ny spiller under dropdown, same left edge as Velg spiller */
.admin-control-label-row {
  display: block !important;
  margin-bottom: 8px !important;
}

.admin-control-label-row label {
  display: block !important;
  text-align: left !important;
}

.admin-create-player-link {
  display: block !important;
  width: 280px !important;
  max-width: 280px !important;
  margin: 10px 0 0 0 !important;
  text-align: left !important;
  color: var(--muted) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

.admin-create-player-link:hover {
  color: var(--gold) !important;
}

.admin-control-label-row a {
  display: none !important;
}
