/**
 Creater: Benjamin Spargur
 Author: Benjamin Spargur
 Purpose: Phil's Fantasy Football League
 Date: 8/12/2026
 Updated: 8/12/2026
 Log of changes:
 - Added Most Recent Questions visibility styling.
 - Standardized front-page button/nav typography and upper-right navigation spacing.
 - Added visible success/error feedback inside the Weekly Questions Manager.
 - Added clearer login recovery/error presentation.
 - Added saved-question highlighting, question counts, and clearer save feedback.
 - Added inline Weekly Questions manager styles inside the Admin Console.
 - Added styling for separate Published and Unpublished Weekly Questions sections.
 - Stabilization release; Admin Console cleanup preserved and upgrade card removed from markup.
 - Added scoped Admin Console cleanup styles for desktop and mobile readability.
 - Added styling for unlimited weekly questions and individual question controls.
 - Added admin Season Settings layout and responsive styles.
 - Added standardized creator/author documentation header.
 */
:root{--bg:#03120b;--panel:#071d13;--panel2:#0a2b1b;--line:#24563b;--green:#69dc32;--green2:#2d8d2d;--gold:#f0b928;--text:#f4f7f3;--muted:#a6b7aa;--danger:#ff6e68}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,#153a25 0,#06180f 35%,#020b07 100%);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.topbar,.adminbar{height:76px;padding:0 4vw;display:flex;align-items:center;gap:28px;background:rgba(2,12,7,.95);border-bottom:1px solid #285b3e;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px}.brand-p{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:linear-gradient(145deg,var(--green),#1d7726);color:#06160d;font-size:26px;font-weight:900}.brand b{display:block;font-size:22px;font-style:italic;line-height:19px}.brand small{color:var(--green);font-weight:800;letter-spacing:1.5px}.topbar nav,.adminbar nav{margin-left:auto;display:flex;gap:22px;align-items:center;font-weight:700}.topbar nav a:hover,.adminbar nav a:hover{color:var(--green)}.admin-link{border:1px solid var(--green);padding:10px 14px;border-radius:10px;color:var(--green)}.hero{height:620px;min-height:560px;position:relative;overflow:hidden;border-bottom:1px solid #296344}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,10,6,.96) 0,rgba(2,12,7,.78) 35%,rgba(2,12,7,.18) 70%),linear-gradient(0deg,rgba(1,10,6,.7),transparent 45%)}.hero-copy{position:relative;z-index:2;width:min(640px,87vw);padding-top:120px;margin-left:6vw}.kicker{display:inline-block;color:var(--green);font-weight:900;letter-spacing:2px;font-size:12px}.hero h1,.section-title h2,.commissioner h2,.admin-hero h1,.login-card h1{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.4px}.hero h1{font-size:clamp(58px,7vw,108px);line-height:.87;margin:12px 0 20px;text-shadow:0 8px 24px #000}.hero h1 em{color:var(--green);font-style:italic}.hero-copy p{font-size:18px;line-height:1.55;color:#d7e0d9;max-width:560px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:13px 18px;font-weight:900;cursor:pointer}.green{background:linear-gradient(#77e83d,#3aa72f);color:#041208}.gold{background:linear-gradient(#f4c94b,#c58a09);color:#161004}.outline{background:#092017;border:1px solid #4d9368;color:#e6f4e9}.wrap{width:min(1200px,92vw);margin:0 auto}.section-title{display:flex;align-items:end;justify-content:space-between;margin:55px 0 18px}.section-title h2{font-size:38px;margin:5px 0 0}.pill{border:1px solid #38694b;border-radius:99px;padding:8px 12px;color:#b6c8bb;font-size:12px}.panel{background:linear-gradient(180deg,rgba(10,41,26,.96),rgba(4,21,13,.98));border:1px solid #275f40;border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.22)}.table-panel{overflow:hidden}.stand-row{display:grid;grid-template-columns:65px 1.7fr 120px 120px 105px 120px;align-items:center;min-height:62px;padding:0 18px;border-bottom:1px solid rgba(102,166,121,.13)}.stand-head{min-height:44px;background:#061a10;color:#87a692;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:800}.stand-row small{display:block;color:#799183;margin-top:3px}.rank{font-weight:900;color:var(--gold)}.bonus{color:var(--green);font-weight:900}.question-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:20px;align-items:start}.question-card{padding:24px}.question-meta{display:flex;justify-content:space-between;color:#9cb3a2;font-size:12px;font-weight:800}.question-meta strong{color:var(--gold)}.question-card h3{font-size:28px;margin:18px 0 8px}.muted{color:var(--muted);line-height:1.5}.question-card label,.compact-form label,.stack-form label,.results-form label,.login-card label{display:grid;gap:7px;color:#b9c9bc;font-size:12px;font-weight:700}.question-card select,.compact-form input,.stack-form input,.stack-form select,.stack-form textarea,.results-form input,.results-form select,.login-card input{width:100%;background:#03150c;border:1px solid #32664a;border-radius:9px;padding:11px;color:white}.answers{display:grid;gap:9px;margin:16px 0}.answer{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;background:#08251a;border:1px solid #275e42;border-radius:10px;padding:12px}.commissioner{padding:28px;margin-top:96px}.commissioner blockquote{font-size:26px;line-height:1.25;margin:18px 0;color:#fff}.commissioner p{color:#a9baad;line-height:1.55}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:60px}.feature{padding:20px}.feature b{font-size:18px}.feature p{color:#9db0a1;line-height:1.5}.flash{width:min(900px,92vw);margin:18px auto 0;background:#0a2d1e;border:1px solid #3b8b5a;padding:12px 16px;border-radius:10px}.error{background:#391714;border:1px solid #914038;color:#ffd0cd;padding:10px 12px;border-radius:9px;margin:12px 0}.admin-wrap{width:min(1280px,94vw);margin:0 auto 60px}.admin-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:42px 0 20px}.admin-hero h1{font-size:46px;margin:6px 0}.admin-hero p{color:#9eb0a2}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-panel{padding:22px}.wide{grid-column:1/-1}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-title h2{margin:0;font-size:24px}.panel-title span{font-size:12px;color:#87a592}.compact-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}.stack-form{display:grid;gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-table{margin-top:18px;border-top:1px solid #2b5a40}.admin-row{display:grid;grid-template-columns:1fr 1.4fr 90px 105px;align-items:center;gap:10px;padding:11px 4px;border-bottom:1px solid rgba(99,153,113,.13);font-size:13px}.admin-head{color:#7f9c88;text-transform:uppercase;font-size:10px;letter-spacing:1px}.status{font-weight:800}.status.on{color:var(--green)}.status.off{color:#dd8b84}.mini-btn{background:#092419;border:1px solid #366e4d;color:#cfe0d3;border-radius:7px;padding:6px 8px;cursor:pointer}.question-list{display:grid;gap:8px;margin-top:16px}.question-list>div{display:grid;grid-template-columns:75px 1fr 95px;gap:10px;background:#06190f;border:1px solid #214d35;border-radius:9px;padding:10px}.question-list span{color:#b4c4b7}.question-list em{color:var(--gold);font-size:12px}.results-form{display:grid;grid-template-columns:1.5fr .55fr .8fr .45fr .45fr .45fr .65fr auto;gap:10px;align-items:end}.tip{margin-top:16px;padding:11px;border-left:3px solid var(--green);color:#a5b7a9;background:#061910}.login-bg{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 20%,#1f5032,#05130c 50%,#010604)}.login-card{width:min(440px,94vw);background:#061c12;border:1px solid #2b6443;border-radius:18px;padding:32px;box-shadow:0 24px 70px #000}.login-card h1{font-size:36px;margin:10px 0}.login-card form{display:grid;gap:14px}.back{display:inline-block;margin-bottom:22px;color:#9fb2a4}.demo-note{font-size:12px;color:#839789;border-top:1px solid #28543b;margin-top:20px;padding-top:14px}footer{text-align:center;padding:35px;border-top:1px solid #214d35;color:#779183;font-size:12px}@media(max-width:950px){.topbar nav a:not(.admin-link){display:none}.hero{height:620px}.hero>img{object-position:58% top}.hero-shade{background:linear-gradient(0deg,rgba(1,10,6,.96),rgba(2,12,7,.32) 75%)}.hero-copy{padding-top:310px}.question-grid,.admin-grid{grid-template-columns:1fr}.commissioner{margin-top:0}.feature-grid{grid-template-columns:1fr 1fr}.compact-form,.results-form{grid-template-columns:1fr 1fr}.wide{grid-column:auto}.stand-row{grid-template-columns:45px 1fr 80px 90px 80px}.stand-row span:nth-child(4){display:none}}@media(max-width:600px){.topbar,.adminbar{padding:0 16px}.topbar nav{gap:8px}.admin-link{font-size:0}.admin-link:after{content:'⚙';font-size:20px}.hero-copy{margin-left:5vw}.hero h1{font-size:54px}.feature-grid,.two,.compact-form,.results-form{grid-template-columns:1fr}.stand-row{grid-template-columns:35px 1fr 68px 70px}.stand-row span:nth-child(5){display:none}.admin-row{grid-template-columns:1fr 1fr}.admin-row span:nth-child(3),.admin-row span:nth-child(4){justify-self:start}.question-list>div{grid-template-columns:60px 1fr}.question-list em{grid-column:2}.admin-hero{align-items:flex-start;flex-direction:column}}

/* v5 hero: uses an exact crop of Phil from the user-supplied reference image. */
.hero.hero-art{
  height:auto;
  min-height:0;
  aspect-ratio:1536/505;
  background:#03120b;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #296344;
}
.hero.hero-art>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:fill;
  object-position:center center;
  display:block;
}
.hero.hero-art .hero-hotspots{position:absolute;inset:0;z-index:3}
.hero.hero-art .hotspot{position:absolute;display:block;border-radius:12px}
/* Button positions match the supplied reference artwork. */
.hero.hero-art .standings-hotspot{left:54.7%;top:79.2%;width:13.2%;height:17.2%}
.hero.hero-art .question-hotspot{left:69.0%;top:79.2%;width:13.4%;height:17.2%}
.hero.hero-art .admin-hotspot{display:block;left:83.2%;top:79.2%;width:14.1%;height:17.2%}
@media(max-width:950px){
  .hero.hero-art{height:auto;min-height:0;aspect-ratio:1536/505}
  .hero.hero-art>img{object-position:center center}
  .hero.hero-art .hero-hotspots{display:none}
}
@media(max-width:600px){
  .hero.hero-art{aspect-ratio:1536/650;background:#020b07}
  .hero.hero-art>img{object-fit:cover;object-position:50% 50%}
}

/* v7 large-screen correction: keep the supplied 1536px design at its intended visual size.
   On 2K/4K/ultrawide displays it is centered instead of being enlarged to the full monitor width. */
.hero.hero-art{
  width:min(1536px,100%);
  max-width:1536px;
  margin:0 auto;
  aspect-ratio:1536/505;
}
.hero.hero-art>img{
  object-fit:contain;
  object-position:center center;
}
@media (min-width:1537px){
  body{background-color:#020b07;}
}
@media(max-width:600px){
  .hero.hero-art{
    width:100%;
    aspect-ratio:1536/505;
  }
  .hero.hero-art>img{
    object-fit:contain;
    object-position:center center;
  }
}

/* v8 viewport-fit correction.
   Keep the complete Phil artwork visible at every desktop resolution.
   The hero is sized from the viewport instead of the image's natural width,
   so high-DPI/4K screens never make the artwork oversized. */
.hero.hero-art{
  width:100%;
  max-width:none;
  height:min(505px, calc(100vh - 76px), 32.88vw);
  min-height:0;
  aspect-ratio:auto;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#020b07;
}
.hero.hero-art>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
}
/* Hotspots are based on the actual contained image. Hide them when the image
   is letterboxed so clicks cannot drift away from the visible buttons. */
@media (min-width:1537px){
  .hero.hero-art .hero-hotspots{display:none;}
}
@media (max-width:950px){
  .hero.hero-art{
    width:100%;
    height:min(505px, calc(100vh - 76px), 32.88vw);
    aspect-ratio:auto;
  }
}
@media (max-width:600px){
  .hero.hero-art{
    height:min(360px, calc(100vh - 76px), 32.88vw);
  }
  .hero.hero-art>img{
    object-fit:contain;
    object-position:center center;
  }
}

/* Player Console */
.player-link{font-weight:800}
.preview-answer{cursor:default}
.player-console-note{margin:.8rem 0 0}
.player-login-bg{min-height:100vh}
.player-login-wrap{width:min(760px,calc(100% - 32px));margin:70px auto}
.player-login-card{padding:36px}
.player-login-card h1{font-size:clamp(2rem,5vw,3.2rem);margin:.25rem 0 .5rem}
.player-login-card form{margin:24px 0}
.player-access-note{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin:18px 0;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.player-access-note span{color:var(--muted);font-size:.92rem}
.playerbar nav{display:flex;gap:20px;align-items:center}
.player-wrap{width:min(1320px,calc(100% - 40px));margin:32px auto 60px}
.player-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;margin-bottom:28px}
.player-hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:.15rem 0}
.player-hero p{margin:0;color:var(--muted)}
.player-score{min-width:170px;padding:18px 22px;text-align:center;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.player-score span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--muted);font-weight:800}
.player-score strong{display:block;font-size:2.8rem;line-height:1.05;margin-top:6px}
.player-question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.player-question-card{padding:26px}
.player-question-card h3{font-size:1.3rem;line-height:1.35;margin:16px 0 8px}
.player-question-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.week-badge,.points-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.week-badge{background:rgba(255,255,255,.08)}
.points-badge{background:rgba(255,184,28,.13);color:#ffd36b;margin-left:6px}
.question-status{font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-radius:999px}
.question-status.open{background:rgba(46,204,113,.13);color:#65e99c}.question-status.answered{background:rgba(52,152,219,.13);color:#77c8ff}.question-status.closed{background:rgba(255,255,255,.08);color:var(--muted)}.question-status.correct{background:rgba(46,204,113,.13);color:#65e99c}.question-status.incorrect{background:rgba(231,76,60,.13);color:#ff8e83}
.player-answers{margin:18px 0}
.saved-answer-note{display:inline-block;margin-left:12px;color:var(--muted);font-size:.85rem}
.answer-review{display:grid;gap:9px;margin-top:18px}
.review-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.025)}
.review-option em,.review-option strong{white-space:nowrap;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.review-option.player-selected{border-color:rgba(52,152,219,.6)}
.review-option.player-selected em{color:#77c8ff}
.review-option.correct-option{border-color:rgba(46,204,113,.65);background:rgba(46,204,113,.06)}
.review-option.correct-option strong{color:#65e99c}
.no-answer{margin-bottom:0}
.closed-question{opacity:.94}
.empty-state{padding:30px;text-align:center}
.player-footer-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;margin-top:28px}
.player-footer-panel h2{margin:.2rem 0}.player-footer-panel p{margin:.2rem 0 0}
@media (max-width:850px){.player-question-list{grid-template-columns:1fr}.player-hero,.player-footer-panel{align-items:flex-start;flex-direction:column}.player-score{width:100%}.playerbar nav{gap:10px;font-size:.86rem}}
@media (max-width:560px){.player-wrap{width:min(100% - 22px,1320px);margin-top:18px}.player-login-wrap{width:calc(100% - 22px);margin:28px auto}.player-login-card,.player-question-card,.player-hero{padding:20px}.review-option{align-items:flex-start;flex-direction:column}.saved-answer-note{display:block;margin:10px 0 0}}

/* ============================================================
   Player Console readability / large-screen formatting fix v10
   ============================================================ */
body:not(.player-login-bg) .player-wrap{
  width:min(1040px,calc(100% - 48px));
  margin:36px auto 72px;
}
.playerbar{
  min-height:76px;
  height:auto;
  padding-top:10px;
  padding-bottom:10px;
}
.playerbar nav a{
  padding:9px 12px;
  border-radius:8px;
}
.playerbar nav a:hover{
  background:#0b281b;
}
.player-hero{
  padding:28px 32px;
  margin-bottom:34px;
  background:linear-gradient(135deg,#0b2b1c 0%,#061b11 100%);
  border-color:#34734d;
}
.player-hero h1{
  color:#fff;
  line-height:1.05;
}
.player-score{
  background:#04170e;
  border:1px solid #3e8057;
}
#questions .section-title{
  margin:40px 0 18px;
  align-items:center;
}
#questions .section-title h2{
  font-size:clamp(30px,4vw,42px);
  line-height:1.05;
}
.player-question-list{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.player-question-card{
  padding:30px 32px;
  background:linear-gradient(180deg,#0a2a1b 0%,#05180f 100%);
  border:1px solid #367553;
  box-shadow:0 16px 38px rgba(0,0,0,.28);
}
.player-question-card h3{
  margin:18px 0 8px;
  max-width:900px;
  color:#fff;
  font-size:clamp(21px,2vw,27px);
  line-height:1.38;
  font-weight:800;
}
.player-question-card .muted{
  color:#c0cec4;
  font-size:14px;
}
.player-question-head{
  padding-bottom:4px;
}
.week-badge,.points-badge,.question-status{
  font-size:12px;
}
.player-answers{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:22px 0 20px;
}
.player-answers .answer{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:100%;
  min-height:58px;
  padding:15px 16px;
  margin:0;
  background:#061d13;
  border:1px solid #3b7554;
  border-radius:11px;
  color:#f4f7f3;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.player-answers .answer:hover{
  background:#0b2d1e;
  border-color:#69b47e;
  transform:translateY(-1px);
}
.player-answers .answer:has(input:checked){
  background:#123a24;
  border-color:#79df4b;
  box-shadow:0 0 0 1px rgba(121,223,75,.18) inset;
}
.player-answers .answer input[type="radio"]{
  appearance:auto;
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin:0;
  accent-color:#69dc32;
}
.player-answers .answer span{
  display:block;
  color:#f4f7f3;
  font-size:16px;
  line-height:1.45;
  font-weight:600;
}
.player-answers .answer span b{
  display:inline-block;
  min-width:24px;
  color:#93ef62;
  font-size:16px;
}
.player-question-card .btn.green{
  min-width:160px;
  min-height:46px;
  font-size:15px;
}
.saved-answer-note{
  color:#c2d1c7;
}
.answer-review{
  gap:11px;
  margin-top:22px;
}
.review-option{
  min-height:56px;
  padding:14px 16px;
  background:#061c12;
  border-color:#315f46;
  color:#f1f6f2;
  font-size:15px;
  line-height:1.4;
}
.review-option span{
  min-width:0;
}
.review-option em,.review-option strong{
  flex:0 0 auto;
}
.player-footer-panel{
  padding:28px 30px;
  margin-top:34px;
  background:linear-gradient(135deg,#0a281a,#05170e);
}
.player-login-wrap{
  width:min(640px,calc(100% - 32px));
  margin:52px auto;
}
.player-login-card{
  padding:34px;
  background:linear-gradient(180deg,#09291a,#05170f);
  border-color:#34734d;
}
.player-login-card .stack-form select{
  min-height:48px;
  font-size:16px;
}
@media (min-width:1400px){
  body:not(.player-login-bg) .player-wrap{width:1080px}
  .player-question-card{padding:32px 36px}
}
@media (max-width:850px){
  body:not(.player-login-bg) .player-wrap{width:min(100% - 28px,1040px)}
  .playerbar{align-items:flex-start;flex-wrap:wrap;gap:8px}
  .playerbar nav{width:100%;margin-left:0;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}
  .playerbar nav a{white-space:nowrap}
  .player-hero{padding:24px}
  .player-question-card{padding:24px}
  #questions .section-title{align-items:flex-start;gap:12px}
}
@media (max-width:560px){
  body:not(.player-login-bg) .player-wrap{width:calc(100% - 20px);margin-top:16px}
  .playerbar .brand small{font-size:10px;letter-spacing:1px}
  .player-question-head{align-items:flex-start;flex-direction:column}
  .player-question-card{padding:20px 16px}
  .player-question-card h3{font-size:20px}
  .player-answers .answer{padding:14px 12px}
  .player-answers .answer span{font-size:15px}
  .player-footer-panel{padding:22px 18px}
}

/* v11 Player Console: compact centered desktop dashboard */
body.player-console-page{min-height:100vh;background:#03120b}
body.player-console-page .playerbar{position:sticky;top:0;width:100%;height:72px;min-height:72px;padding:0 32px}
body.player-console-page .player-wrap{width:88vw!important;max-width:900px!important;margin:32px auto 64px!important;padding:0!important}
body.player-console-page .player-hero{width:100%;box-sizing:border-box;padding:26px 30px;margin:0 0 28px;border-radius:16px}
body.player-console-page #questions{width:100%}
body.player-console-page #questions .section-title{width:100%;margin:0 0 16px}
body.player-console-page .player-question-list{width:100%;display:block}
body.player-console-page .player-question-card{width:100%;box-sizing:border-box;margin:0 0 20px;padding:28px 30px;border-radius:16px}
body.player-console-page .player-answers{width:100%}
body.player-console-page .player-answers .answer{width:100%;box-sizing:border-box}
body.player-console-page .player-footer-panel{width:100%;box-sizing:border-box;margin:28px 0 0;border-radius:16px}
body.player-console-page footer{margin-top:0}
@media(min-width:1500px){body.player-console-page .player-wrap{max-width:960px!important}}
@media(max-width:900px){body.player-console-page .player-wrap{width:calc(100% - 32px)!important;max-width:none!important}body.player-console-page .playerbar{padding:8px 16px;height:auto;min-height:72px}}
@media(max-width:600px){body.player-console-page .player-wrap{width:calc(100% - 20px)!important;margin:18px auto 42px!important}body.player-console-page .player-hero,body.player-console-page .player-question-card{padding:20px 16px}}

/* v12 admin console updates */
.player-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.player-actions form{margin:0}.danger-btn{border-color:#8b3a35;color:#ffaaa4;background:#2a1110}.danger-btn:hover{background:#481b18;border-color:#cf5c55;color:#fff}.weekly-question-link{display:grid;grid-template-columns:58px 1fr auto;gap:16px;align-items:center;padding:18px 22px;border-radius:16px;border:1px solid #4f9e61;background:linear-gradient(135deg,#0e3822,#071d13);box-shadow:0 16px 38px rgba(0,0,0,.18);transition:transform .15s ease,border-color .15s ease,background .15s ease}.weekly-question-link:hover{transform:translateY(-2px);border-color:var(--green);background:linear-gradient(135deg,#124a2b,#082319)}.weekly-question-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,var(--green),#2d8d2d);color:#06140b;font-family:Impact,'Arial Narrow',sans-serif;font-size:31px}.weekly-question-link strong{display:block;font-size:21px;margin-bottom:4px}.weekly-question-link small{display:block;color:#a9bcad;line-height:1.4}.weekly-question-arrow{font-weight:900;color:var(--green);white-space:nowrap}.question-manager{max-width:980px;margin:0 auto 18px}.question-history{margin-top:18px}.detailed-question-list>div{grid-template-columns:85px 1fr 100px}.admin-row{grid-template-columns:1fr 1.4fr 90px 190px}
@media(max-width:700px){.weekly-question-link{grid-template-columns:48px 1fr}.weekly-question-arrow{grid-column:2}.admin-row{grid-template-columns:1fr 1fr}.player-actions{grid-column:1/-1}.weekly-question-link strong{font-size:18px}}


/* v13 weekly question week links, editing, and lock controls */
.week-selector-panel{margin-bottom:18px}.week-links{display:flex;flex-wrap:wrap;gap:9px}.week-link{padding:9px 14px;border:1px solid #32664a;border-radius:9px;background:#06190f;color:#c9d8cc;font-size:13px;font-weight:800;transition:.15s ease}.week-link:hover,.week-link.active{background:#173d24;border-color:var(--green);color:#fff}.edit-banner{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid #866819;border-radius:10px;background:#2b2308}.edit-banner strong{color:var(--gold)}.edit-banner span{color:#d3c89d}.edit-banner a{color:#fff;text-decoration:underline}.admin-question-cards{display:grid;gap:14px}.admin-question-card{padding:18px;border:1px solid #28583d;border-radius:13px;background:#061a10}.admin-question-card.is-locked{border-color:#705546;background:#18140f}.admin-question-card-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.admin-question-card-head>div:first-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.question-admin-actions{display:flex;align-items:center;gap:8px}.question-admin-actions form{margin:0}.lock-state{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}.lock-state.unlocked{background:#103822;color:#76e39d}.lock-state.locked{background:#3a2118;color:#ffc1aa}.lock-btn{border-color:#905640;color:#ffb39b}.unlock-btn{border-color:#3b8052;color:#83eca8}.admin-question-card h3{font-size:20px;margin:15px 0 12px}.admin-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-option-grid>div{padding:10px 12px;background:#082219;border:1px solid #264e39;border-radius:8px;color:#c3d2c6}.admin-option-grid .correct-admin-option{border-color:#6bbd52;background:#12321d;color:#fff}.question-detail-row{display:flex;justify-content:space-between;gap:15px;margin-top:13px;padding-top:12px;border-top:1px solid #254734;color:#92a697;font-size:12px}.player-question-card.closed-question .question-status.closed{background:rgba(240,185,40,.12);color:#f0c85c}@media(max-width:700px){.edit-banner{grid-template-columns:1fr}.admin-question-card-head,.question-detail-row{align-items:flex-start;flex-direction:column}.admin-option-grid{grid-template-columns:1fr}.question-admin-actions{width:100%}}

/* ===== v14 database/account UI ===== */
.account-add-form { grid-template-columns: repeat(5,minmax(150px,1fr)) auto; align-items:end; }
.player-account-table .admin-row { grid-template-columns: 1.05fr 1.15fr 1fr .6fr 1.5fr; }
.player-account-table small { display:block; margin-top:4px; opacity:.7; font-size:12px; }
.narrow-admin { max-width: 980px; }
.check-row { display:flex!important; flex-direction:row!important; align-items:center; gap:10px; }
.check-row input { width:auto!important; }
code { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:6px; padding:2px 6px; }
@media (max-width:1200px){ .account-add-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .player-account-table .admin-row { grid-template-columns:1fr 1fr 1fr; } .player-account-table .admin-head span:nth-child(4), .player-account-table .admin-head span:nth-child(5){display:none;} }
@media (max-width:700px){ .account-add-form { grid-template-columns:1fr; } .player-account-table .admin-row { grid-template-columns:1fr; gap:6px; } }

/* v15 home hero enlargement — make the center artwork easier to see on desktop. */
.hero.hero-art{
  height:clamp(560px,42.3vw,700px);
  max-height:calc(100vh - 76px);
  width:100%;
  max-width:none;
  aspect-ratio:auto;
  background:#020b07;
}
.hero.hero-art>img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media (max-width:950px){
  .hero.hero-art{height:clamp(430px,55vw,600px);max-height:none;}
}
@media (max-width:600px){
  .hero.hero-art{height:360px;}
  .hero.hero-art>img{object-fit:cover;object-position:center center;}
}







/* v22 — show the COMPLETE hero artwork; never crop any edge */
body .hero.hero-art{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:3840 / 1263 !important;
  margin:0 !important;
  overflow:visible !important;
  background:#020b07 !important;
}
body .hero.hero-art > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}


/* ================================================================
   V23 CLEAN HERO RESET
   One source image, one aspect ratio, no crop, no stretch, no spacer.
   ================================================================ */
html body .hero.hero-art {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1536 / 575 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #02110b !important;
}

html body .hero.hero-art > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

html body .hero.hero-art .hero-hotspots {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    z-index: 20 !important;
    pointer-events: none !important;
}

html body .hero.hero-art .hotspot {
    position: absolute !important;
    display: block !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: transparent !important;
    border: 0 !important;
    z-index: 21 !important;
}

/* Exact button coordinates from the 1536 x 575 source artwork */
html body .hero.hero-art .standings-hotspot {
    left: 54.75% !important;
    top: 82.05% !important;
    width: 13.15% !important;
    height: 15.00% !important;
}
html body .hero.hero-art .question-hotspot {
    left: 69.10% !important;
    top: 82.05% !important;
    width: 13.20% !important;
    height: 15.00% !important;
}
html body .hero.hero-art .admin-hotspot {
    left: 83.30% !important;
    top: 82.05% !important;
    width: 14.10% !important;
    height: 15.00% !important;
}

@media (max-width: 700px) {
    html body .hero.hero-art {
        aspect-ratio: 1536 / 575 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }
    html body .hero.hero-art .hero-hotspots {
        display: block !important;
    }
}


/* ================================================================
   V24 PLAYER CONSOLE — CURRENT WEEK + LOCKED WEEK HISTORY
   ================================================================ */
body.player-console-page .player-week-title{
  align-items:center;
}
body.player-console-page .current-week-pill{
  border-color:#4e9d55;
  color:#9cf08c;
  background:#0c2c18;
}
body.player-console-page .locked-history-pill{
  border-color:#785d43;
  color:#ffd3a4;
  background:#25180f;
}
.history-lock-notice{
  display:flex;
  gap:16px;
  align-items:center;
  margin:0 0 18px;
  padding:18px 22px;
  border-color:#705546;
  background:linear-gradient(135deg,#21180f,#10120d);
}
.history-lock-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#392516;
  font-size:23px;
}
.history-lock-notice strong{
  display:block;
  margin-bottom:4px;
  color:#fff1df;
}
.history-lock-notice p{
  margin:0;
  color:#bba995;
  line-height:1.45;
}
.weekly-result-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  padding:0;
  margin:0 0 18px;
  overflow:hidden;
  background:#234432;
}
.weekly-result-summary>div{
  padding:18px 20px;
  text-align:center;
  background:#071a10;
}
.weekly-result-summary span{
  display:block;
  margin-bottom:6px;
  color:#8da595;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.weekly-result-summary strong{
  font-size:22px;
  color:#fff;
}
.question-result-box{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-top:16px;
  padding:14px 16px;
  border:1px solid #365943;
  border-radius:10px;
  background:#091b11;
}
.question-result-box strong{
  font-size:15px;
}
.question-result-box span{
  color:#9eb1a2;
  font-size:13px;
}
.question-result-box.result-win{
  border-color:#4f9a55;
  background:#0d2916;
}
.question-result-box.result-win strong{
  color:#8ff07e;
}
.question-result-box.result-loss{
  border-color:#80504d;
  background:#241312;
}
.question-result-box.result-loss strong{
  color:#ffaaa4;
}
.previous-weeks-panel{
  margin-top:28px;
  padding:26px 28px;
}
.previous-weeks-heading{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin-bottom:18px;
}
.previous-weeks-heading h2{
  margin:4px 0 4px;
}
.previous-weeks-heading p{
  margin:0;
}
.small-btn{
  padding:10px 14px;
  white-space:nowrap;
}
.player-week-links{
  display:grid;
  gap:9px;
}
.player-week-link{
  display:grid;
  grid-template-columns:110px 1fr 34px;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #28543b;
  border-radius:11px;
  background:#071a10;
  color:#e8f1ea;
  text-decoration:none;
  transition:.15s ease;
}
.player-week-link:hover,
.player-week-link.active{
  border-color:#5caa5d;
  background:#0d2918;
  transform:translateY(-1px);
}
.week-number{
  font-weight:900;
  color:#fff;
}
.week-result-state{
  color:#98ab9d;
  font-size:13px;
}
.week-lock{
  text-align:right;
  opacity:.75;
}
.empty-history{
  padding:16px;
  border:1px dashed #31523d;
  border-radius:10px;
  color:#8ca091;
  text-align:center;
}
@media(max-width:700px){
  .weekly-result-summary{
    grid-template-columns:1fr;
  }
  .question-result-box,
  .previous-weeks-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .player-week-link{
    grid-template-columns:86px 1fr 24px;
    gap:9px;
    padding:13px 12px;
  }
  .week-result-state{
    font-size:12px;
  }
}


/* v26 — Admin season start/end settings */
.season-settings-panel .muted{margin-top:-4px;margin-bottom:18px}
.season-settings-form{
  display:grid;
  grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;
  gap:14px;
  align-items:end;
}
.season-settings-form label{
  display:grid;
  gap:7px;
  font-size:12px;
  font-weight:800;
  color:#b7c9bc;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.season-settings-form input[type=date]{
  width:100%;
  box-sizing:border-box;
}
.season-date-summary{
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  margin-top:16px;
  padding:12px 15px;
  border:1px solid #29563b;
  border-radius:9px;
  background:#071b10;
  color:#dce8df;
}
@media(max-width:760px){
  .season-settings-form{grid-template-columns:1fr}
}


/* v29 — multiple questions per week admin controls */
.week-link small{
  display:inline-grid;
  place-items:center;
  min-width:20px;
  height:20px;
  margin-left:5px;
  padding:0 5px;
  border-radius:999px;
  background:#173522;
  color:#9bd891;
  font-size:10px;
  font-weight:900;
}
.question-number-badge{
  display:inline-block;
  margin-right:6px;
  padding:4px 8px;
  border:1px solid #405949;
  border-radius:999px;
  background:#101b14;
  color:#becbc1;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.question-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.question-admin-actions form{
  margin:0;
}


/* ================================================================
   V31 ADMIN CONSOLE CLEANUP
   Scoped to admin-dashboard-page so the home/player pages are untouched.
   ================================================================ */
body.admin-dashboard-page{
  background:#03100a;
  color:#eef7f0;
}

body.admin-dashboard-page .adminbar{
  position:sticky;
  top:0;
  z-index:100;
  min-height:64px;
  padding:0 28px;
  border-bottom:1px solid #1f5d36;
  background:#02100a;
}

body.admin-dashboard-page .adminbar .brand{
  min-width:235px;
}

body.admin-dashboard-page .adminbar nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}

body.admin-dashboard-page .adminbar nav a{
  padding:9px 12px;
  border-radius:8px;
  white-space:nowrap;
}

body.admin-dashboard-page .admin-wrap{
  width:min(1180px, calc(100% - 40px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:28px 0 48px !important;
}

body.admin-dashboard-page .admin-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 0 22px;
  padding:24px 26px;
  border:1px solid #28633d;
  border-radius:14px;
  background:linear-gradient(135deg,#0b2616,#06180e);
}

body.admin-dashboard-page .admin-hero h1{
  margin:4px 0 8px;
  font-size:clamp(28px,3vw,42px);
  line-height:1;
}

body.admin-dashboard-page .admin-hero p{
  margin:0;
  color:#a9b9ad;
}

body.admin-dashboard-page .admin-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
  align-items:start !important;
}

body.admin-dashboard-page .admin-card,
body.admin-dashboard-page .weekly-question-link{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

body.admin-dashboard-page .admin-panel{
  padding:22px !important;
  border:1px solid #245c38 !important;
  border-radius:14px !important;
  background:#061a0f !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}

body.admin-dashboard-page .panel-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:0 0 18px !important;
  padding-bottom:12px !important;
  border-bottom:1px solid #1d4d30 !important;
}

body.admin-dashboard-page .panel-title h2{
  margin:0 !important;
  font-size:21px !important;
  line-height:1.2 !important;
}

body.admin-dashboard-page .panel-title span{
  color:#8fa799 !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

body.admin-dashboard-page .season-settings-form{
  display:grid !important;
  grid-template-columns:1fr 1fr auto !important;
  gap:14px !important;
  align-items:end !important;
}

body.admin-dashboard-page .compact-form.account-add-form{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) auto !important;
  gap:12px !important;
  align-items:end !important;
  margin-bottom:20px !important;
}

body.admin-dashboard-page .results-form{
  display:grid !important;
  grid-template-columns:1.4fr .7fr 1fr .6fr .6fr .6fr .8fr auto !important;
  gap:10px !important;
  align-items:end !important;
}

body.admin-dashboard-page label{
  display:grid !important;
  gap:6px !important;
  min-width:0 !important;
  color:#b6c9bc !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

body.admin-dashboard-page input,
body.admin-dashboard-page select,
body.admin-dashboard-page textarea{
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:10px 11px !important;
  border:1px solid #315f44 !important;
  border-radius:8px !important;
  background:#081b11 !important;
  color:#f3f7f4 !important;
  font-size:14px !important;
}

body.admin-dashboard-page .btn{
  min-height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 15px !important;
  border-radius:8px !important;
  white-space:nowrap !important;
}

body.admin-dashboard-page .admin-table{
  width:100% !important;
  overflow-x:auto !important;
}

body.admin-dashboard-page .admin-row{
  display:grid !important;
  grid-template-columns:1.15fr 1.15fr .95fr .7fr 1.6fr !important;
  gap:12px !important;
  align-items:center !important;
  min-width:850px !important;
  padding:12px 10px !important;
  border-bottom:1px solid #153c26 !important;
}

body.admin-dashboard-page .admin-row.admin-head{
  background:#0a2415 !important;
  color:#8fb49d !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}

body.admin-dashboard-page .admin-row small{
  display:block !important;
  margin-top:3px !important;
  color:#819486 !important;
  font-size:11px !important;
}

body.admin-dashboard-page .player-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  align-items:center !important;
}

body.admin-dashboard-page .player-actions form{
  margin:0 !important;
}

body.admin-dashboard-page .mini-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:30px !important;
  padding:6px 9px !important;
  border-radius:7px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

body.admin-dashboard-page .weekly-question-link{
  display:grid !important;
  grid-template-columns:46px 1fr auto !important;
  gap:15px !important;
  align-items:center !important;
  padding:18px 20px !important;
  border:1px solid #2b7044 !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,#0b2b18,#071c11) !important;
  color:#eef7f0 !important;
  text-decoration:none !important;
}

body.admin-dashboard-page .weekly-question-link:hover{
  border-color:#65b86c !important;
  background:linear-gradient(135deg,#103821,#092717) !important;
}

body.admin-dashboard-page .weekly-question-icon{
  width:42px !important;
  height:42px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:10px !important;
  background:#173b22 !important;
  color:#8ff07e !important;
  font-weight:900 !important;
}

body.admin-dashboard-page .weekly-question-link strong{
  display:block !important;
  margin-bottom:4px !important;
  font-size:17px !important;
}

body.admin-dashboard-page .weekly-question-link small{
  color:#9fb2a5 !important;
}

body.admin-dashboard-page .weekly-question-arrow{
  color:#9df48a !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

body.admin-dashboard-page .tip{
  margin-top:16px !important;
  padding:12px 14px !important;
  border:1px solid #214e32 !important;
  border-radius:9px !important;
  background:#081d11 !important;
  color:#9eb1a3 !important;
  line-height:1.45 !important;
}

body.admin-dashboard-page .season-date-summary{
  margin-top:15px !important;
}

@media(max-width:1080px){
  body.admin-dashboard-page .compact-form.account-add-form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.admin-dashboard-page .results-form{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  body.admin-dashboard-page .adminbar{
    position:static !important;
    padding:12px 16px !important;
  }

  body.admin-dashboard-page .adminbar,
  body.admin-dashboard-page .adminbar nav{
    align-items:flex-start !important;
  }

  body.admin-dashboard-page .admin-wrap{
    width:min(100% - 22px,1180px) !important;
    padding-top:14px !important;
  }

  body.admin-dashboard-page .admin-hero{
    align-items:flex-start !important;
    flex-direction:column !important;
    padding:18px !important;
  }

  body.admin-dashboard-page .season-settings-form,
  body.admin-dashboard-page .compact-form.account-add-form,
  body.admin-dashboard-page .results-form{
    grid-template-columns:1fr !important;
  }

  body.admin-dashboard-page .weekly-question-link{
    grid-template-columns:42px 1fr !important;
  }

  body.admin-dashboard-page .weekly-question-arrow{
    grid-column:2 !important;
  }

  body.admin-dashboard-page .admin-panel{
    padding:16px !important;
  }
}


/* ================================================================
   V33 PUBLISHED / UNPUBLISHED WEEKLY QUESTIONS
   ================================================================ */
.weekly-questions-admin-page .admin-wrap{
  width:min(1180px,calc(100% - 40px));
  max-width:1180px;
  margin:0 auto;
  padding:28px 0 48px;
}
.publish-choice{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:14px 16px;
  border:1px solid #326443;
  border-radius:10px;
  background:#091d12;
  text-transform:none!important;
  letter-spacing:0!important;
}
.publish-choice input{
  width:auto!important;
  margin-top:3px;
  transform:scale(1.2);
}
.publish-choice span{
  display:block;
}
.publish-choice strong{
  display:block;
  color:#eef8f0;
  font-size:14px;
}
.publish-choice small{
  display:block;
  margin-top:3px;
  color:#93a99a;
  font-size:12px;
  line-height:1.4;
}
.published-section{
  border-color:#2d7042!important;
}
.unpublished-section{
  border-color:#6b5a32!important;
  background:#15150c!important;
}
.section-explainer{
  margin:-4px 0 16px;
  color:#93a69a;
  font-size:13px;
}
.publish-state{
  display:inline-block;
  margin-right:6px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.publish-state.published{
  border:1px solid #3d814e;
  background:#0c2c17;
  color:#84ed83;
}
.publish-state.unpublished{
  border:1px solid #806d3d;
  background:#2c250e;
  color:#f0cf72;
}
.admin-question-card.is-unpublished{
  border-color:#6e6038!important;
  background:#12150d!important;
}
.publish-btn{
  border-color:#3d864e!important;
  color:#94f18f!important;
}
.unpublish-btn{
  border-color:#846d35!important;
  color:#f0cf72!important;
}
.question-empty-state{
  padding:18px;
  border:1px dashed #3a5745;
  border-radius:10px;
  color:#8fa095;
  text-align:center;
  background:#07150d;
}
.question-card-badges{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
}
@media(max-width:700px){
  .weekly-questions-admin-page .admin-wrap{
    width:calc(100% - 22px);
    padding-top:14px;
  }
}


/* v36 — Weekly Questions lives directly inside Admin Console */
.inline-question-manager{scroll-margin-top:82px}
.inline-week-links{margin:0 0 20px}
.inline-question-editor{
  margin:18px 0 24px;
  padding:20px;
  border:1px solid #2b603d;
  border-radius:12px;
  background:#07170e;
}
.inline-question-editor h3{margin:0 0 14px}
.inline-question-columns{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.inline-question-section{
  padding:18px;
  border:1px solid #2a593a;
  border-radius:12px;
  background:#07170e;
}
.inline-question-section.unpublished-section{
  border-color:#6a5934;
  background:#15140d;
}
.inline-question-section .panel-title{margin-bottom:12px!important}
.inline-question-section .panel-title h3{margin:0}
.inline-question-manager .admin-question-card{margin-bottom:12px}
.inline-question-manager .admin-question-card:last-child{margin-bottom:0}


/* v37 — make newly added questions immediately visible */
.question-count-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 18px;
}
.question-count-summary>div{
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 14px;
  border:1px solid #285a3a;
  border-radius:10px;
  background:#071a10;
}
.question-count-summary strong{
  font-size:21px;
  color:#8df37f;
}
.question-count-summary span{
  color:#a3b5a8;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.question-save-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.question-save-help{
  color:#8ea395;
  font-size:12px;
}
.just-saved-question{
  outline:3px solid #76dd63!important;
  outline-offset:2px;
  box-shadow:0 0 0 5px rgba(118,221,99,.12),0 12px 32px rgba(0,0,0,.28)!important;
  animation:questionSavedGlow 2.8s ease-out 1;
}
@keyframes questionSavedGlow{
  0%{background:#143923}
  100%{}
}
.admin-question-card{
  scroll-margin-top:90px;
}
@media(max-width:700px){
  .question-count-summary{grid-template-columns:1fr}
}


/* v38 — login recovery */
.login-card .error{
  margin:12px 0;
  padding:12px 14px;
  border:1px solid #8a4545;
  border-radius:8px;
  background:#291111;
  color:#ffb6b6;
}
.login-card .demo-note{
  line-height:1.45;
}


/* v39 — question save confirmation where the administrator is working */
.question-local-flash{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:14px 0 18px;
  padding:13px 15px;
  border-radius:9px;
  line-height:1.4;
}
.question-local-flash strong{
  font-size:14px;
}
.question-local-flash span{
  font-size:13px;
}
.question-local-success{
  border:1px solid #3f8b50;
  background:#0c2b16;
  color:#bdf7b5;
}
.question-local-error{
  border:1px solid #965050;
  background:#2a1111;
  color:#ffc0c0;
}


/* ================================================================
   V41 HOME PAGE NAVIGATION + BUTTON CONSISTENCY
   ================================================================ */

/* Keep all normal front-page buttons on one consistent typeface/weight. */
body .btn,
body .topbar nav a,
body .hero-hotspots a {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 800;
}

/* Hero artwork contains the three visible button faces. These transparent
   hotspots are intentionally identical in behavior and do not add competing
   text/font rendering over the artwork. */
.hero-hotspots .hotspot {
  display:block;
  position:absolute;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  text-decoration:none;
  font-size:0;
  line-height:0;
  cursor:pointer;
}

/* Consistent upper-right navigation spacing after Weekly Question removal. */
.topbar nav {
  display:flex;
  align-items:center;
  gap:22px;
}
.topbar nav a {
  white-space:nowrap;
}


/* v42 — persistent recent-question visibility */
.recent-questions-strip{
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid #315e42;
  border-radius:10px;
  background:#07180f;
}
.recent-questions-strip>strong{
  display:block;
  margin-bottom:9px;
  color:#eef7f0;
}
.recent-question-links{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.recent-question-links a{
  display:inline-block;
  padding:7px 9px;
  border:1px solid #315f43;
  border-radius:7px;
  background:#0a2114;
  color:#bce6c4;
  text-decoration:none;
  font-size:12px;
}
.recent-question-links a:hover{
  border-color:#6fb978;
  color:#fff;
}

/* ============================================================
   V46 home navigation + matching hero login buttons
   ============================================================ */
.hero.hero-art .hero-hotspots{display:none!important}
.hero.hero-art .hero-action-buttons{
  position:absolute;
  z-index:4;
  left:54.7%;
  top:79.2%;
  width:42.6%;
  height:17.2%;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1.35%;
  align-items:stretch;
}
.hero.hero-art .hero-art-btn{
  min-width:0;
  height:100%;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid #b7ef71;
  background:linear-gradient(180deg,rgba(31,139,28,.96),rgba(13,90,23,.98));
  color:#fff;
  font-family:Inter,Segoe UI,Arial,sans-serif;
  font-size:clamp(10px,1.35vw,22px);
  font-weight:900;
  line-height:1.03;
  text-transform:uppercase;
  text-shadow:0 2px 3px rgba(0,0,0,.65);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 4px 12px rgba(0,0,0,.28);
  transition:transform .14s ease,filter .14s ease,border-color .14s ease;
}
.hero.hero-art .hero-art-btn:hover{transform:translateY(-2px);filter:brightness(1.12);border-color:#e4ffc5}
.hero.hero-art .hero-art-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.hero.hero-art .hero-art-icon{font-size:clamp(14px,1.65vw,28px);line-height:1}
.hero.hero-art .hero-art-btn b{font-size:clamp(20px,2vw,34px);font-family:Arial,sans-serif;line-height:1}
@media(min-width:1537px){.hero.hero-art .hero-action-buttons{display:none}}
@media(max-width:950px){.hero.hero-art .hero-action-buttons{display:none}}

/* Admin promotion controls */
.promote-btn{border-color:#d1a82f;color:#ffe38a;background:#302509}
.promote-btn:hover{background:#4a390d;border-color:#f0c84c;color:#fff5c7}
.admin-badge{display:inline-flex;align-items:center;border-color:#66c83c;color:#9ef170;background:#102b13;cursor:default}

/* ============================================================
   V47 — restore working home hero buttons and make all three
   visually match the green View Standings button.
   Buttons stay on the exact V23 artwork coordinates.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons{
  position:absolute !important;
  z-index:30 !important;
  left:54.75% !important;
  top:82.05% !important;
  width:42.65% !important;
  height:15% !important;
  display:grid !important;
  grid-template-columns:13.15fr 13.20fr 14.10fr !important;
  column-gap:1.2% !important;
  align-items:stretch !important;
  pointer-events:auto !important;
}
html body .hero.hero-art .hero-art-btn{
  position:relative !important;
  min-width:0 !important;
  width:100% !important;
  height:100% !important;
  display:grid !important;
  grid-template-columns:minmax(20px,.62fr) 1.5fr auto !important;
  align-items:center !important;
  gap:clamp(2px,.45vw,9px) !important;
  padding:0 clamp(5px,.75vw,13px) !important;
  border:2px solid #8eea4c !important;
  border-radius:clamp(6px,.8vw,13px) !important;
  background:linear-gradient(180deg,#218d1d 0%,#126f1b 55%,#0d5718 100%) !important;
  color:#fff !important;
  font-family:Impact,'Arial Narrow','Segoe UI Condensed',Arial,sans-serif !important;
  font-size:clamp(7px,1.15vw,18px) !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  line-height:1.02 !important;
  text-transform:uppercase !important;
  text-shadow:0 2px 3px rgba(0,0,0,.72) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -2px 6px rgba(0,0,0,.25), 0 0 13px rgba(111,224,56,.32) !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  overflow:hidden !important;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease !important;
}
html body .hero.hero-art .hero-art-btn::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 42%);
  pointer-events:none;
}
html body .hero.hero-art .hero-art-btn:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.12) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 17px rgba(111,224,56,.5) !important;
}
html body .hero.hero-art .hero-art-btn:focus-visible{
  outline:3px solid #fff !important;
  outline-offset:2px !important;
}
html body .hero.hero-art .hero-art-icon{
  width:100% !important;
  max-width:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
}
html body .hero.hero-art .hero-art-icon svg{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:42px !important;
  fill:currentColor !important;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.45)) !important;
}
html body .hero.hero-art .hero-art-label{
  display:block !important;
  white-space:nowrap !important;
}
html body .hero.hero-art .hero-art-btn b{
  font-family:Arial,sans-serif !important;
  font-size:clamp(15px,1.75vw,29px) !important;
  font-weight:400 !important;
  line-height:1 !important;
}
/* Previous V46 rules hid the links on some screen widths. Keep the
   overlays active at every width so the visible buttons always click. */
@media(min-width:1537px){html body .hero.hero-art .hero-action-buttons{display:grid !important}}
@media(max-width:950px){html body .hero.hero-art .hero-action-buttons{display:grid !important}}
/* V47 exact placement correction: each overlay uses the original button box. */
html body .hero.hero-art .hero-action-buttons{
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  pointer-events:none !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  position:absolute !important;
  top:82.05% !important;
  height:15% !important;
  pointer-events:auto !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(1){left:54.75% !important;width:13.15% !important}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(2){left:69.10% !important;width:13.20% !important}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(3){left:83.30% !important;width:14.10% !important}
@media(min-width:1537px){html body .hero.hero-art .hero-action-buttons{display:block !important}}
@media(max-width:950px){html body .hero.hero-art .hero-action-buttons{display:block !important}}
\n\n/* V49: consistent Return to Home control on every non-home page */
.return-home-fixed{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:10000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border:2px solid rgba(155,255,83,.92);
  border-radius:10px;
  background:linear-gradient(180deg,#21851b,#0d5f16);
  box-shadow:0 0 16px rgba(113,255,62,.34),0 5px 16px rgba(0,0,0,.35);
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none !important;
  text-transform:uppercase;
}
.return-home-fixed:hover,.return-home-fixed:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 0 22px rgba(113,255,62,.52),0 7px 18px rgba(0,0,0,.4);
  outline:none;
}
@media (max-width:640px){
  .return-home-fixed{left:10px;bottom:10px;min-height:38px;padding:8px 11px;font-size:12px}
}

/* V50: final-answer grading and weekly email controls */
.weekly-email-center{
  margin:16px 0 18px;
  padding:16px;
  border:1px solid rgba(116,218,66,.45);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(21,91,28,.28),rgba(8,28,14,.42));
  display:grid;
  gap:12px;
}
.weekly-email-center>div:first-child{display:flex;flex-direction:column;gap:3px}
.weekly-email-center>div:first-child strong{font-size:18px;color:#fff}
.weekly-email-center>div:first-child span,.weekly-email-center>small{color:#b9c5bb}
.weekly-email-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.weekly-email-actions form{margin:0}
.weekly-email-actions .btn{min-width:220px}
.final-answer-form{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(244,193,61,.4);
  border-radius:10px;
  background:rgba(244,193,61,.07);
  display:flex;
  gap:10px;
  align-items:flex-end;
  flex-wrap:wrap;
}
.final-answer-form label{display:flex;flex-direction:column;gap:6px;flex:1 1 300px;margin:0}
.final-answer-form select{width:100%;min-height:40px}
.final-answer-btn{min-height:40px;background:linear-gradient(180deg,#2d8d24,#17651b)!important;border-color:#75d94a!important;color:#fff!important}
@media(max-width:700px){.weekly-email-actions,.final-answer-form{flex-direction:column;align-items:stretch}.weekly-email-actions .btn,.final-answer-btn{width:100%}}

/* ================================================================
   V52 - ADMIN CONSOLE: LARGE-TEXT / OLDER-ADULT READABILITY MODE
   Keeps backend behavior unchanged; simplifies visual hierarchy.
   ================================================================ */
body.admin-dashboard-page{
  font-size:18px;
  line-height:1.55;
  background:#031109;
  color:#f5f8f5;
}
body.admin-dashboard-page .adminbar{
  min-height:82px;
  padding:12px 28px;
  border-bottom:2px solid #2f6f46;
}
body.admin-dashboard-page .adminbar .brand b{font-size:21px}
body.admin-dashboard-page .adminbar .brand small{font-size:14px;color:#c2d0c5}
body.admin-dashboard-page .adminbar nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}
body.admin-dashboard-page .adminbar nav a{
  padding:10px 13px;
  border-radius:9px;
  font-size:15px;
  font-weight:800;
  color:#eef5ef;
}
body.admin-dashboard-page .adminbar nav a:hover,
body.admin-dashboard-page .adminbar nav a:focus-visible{background:#123823;outline:2px solid #78d85c;outline-offset:1px}
body.admin-dashboard-page .admin-wrap{width:min(1160px,calc(100% - 42px));padding-top:28px;padding-bottom:70px}
body.admin-dashboard-page .admin-hero{
  padding:30px 32px;
  border:2px solid #36784c;
  border-radius:18px;
  background:linear-gradient(135deg,#103822,#071b11);
}
body.admin-dashboard-page .admin-hero h1{font-size:clamp(34px,4vw,52px)!important;line-height:1.08!important;margin:6px 0 10px!important}
body.admin-dashboard-page .admin-hero p{font-size:18px!important;line-height:1.5;max-width:760px;color:#d0dbd2!important}
body.admin-dashboard-page .kicker{font-size:14px;letter-spacing:.1em}

body.admin-dashboard-page .admin-quick-start{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:22px 0;
}
body.admin-dashboard-page .quick-task{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:126px;
  padding:24px;
  border:2px solid #3f8052;
  border-radius:16px;
  background:#0a2818;
  text-decoration:none;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.2);
}
body.admin-dashboard-page .quick-task:hover,
body.admin-dashboard-page .quick-task:focus-visible{background:#123a22;border-color:#8de16a;transform:translateY(-1px);outline:none}
body.admin-dashboard-page .quick-task strong{font-size:25px;line-height:1.2;color:#fff}
body.admin-dashboard-page .quick-task span{font-size:17px;color:#c9d6cc;line-height:1.45}

body.admin-dashboard-page .admin-notice{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:0 0 22px;
  padding:18px 20px;
  border:2px solid #3b704a;
  border-radius:13px;
  background:#0b2416;
}
body.admin-dashboard-page .admin-notice strong{font-size:19px;color:#fff}
body.admin-dashboard-page .admin-notice span{font-size:16px;color:#c7d4c9}
body.admin-dashboard-page .admin-notice.small{margin:18px 0 0}

body.admin-dashboard-page .admin-grid{gap:24px!important}
body.admin-dashboard-page .admin-panel{
  padding:28px!important;
  border:2px solid #326f49!important;
  border-radius:17px!important;
  background:#071c11!important;
}
body.admin-dashboard-page .panel-title{align-items:flex-start!important;margin-bottom:22px!important;padding-bottom:16px!important}
body.admin-dashboard-page .panel-title h2{font-size:30px!important;line-height:1.15!important}
body.admin-dashboard-page .panel-title h3{font-size:24px!important;margin:0}
body.admin-dashboard-page .panel-title span{font-size:15px!important;color:#c0cec3!important}
body.admin-dashboard-page .section-explainer{margin:7px 0 0;font-size:17px;line-height:1.5;color:#c5d1c7;max-width:820px}
body.admin-dashboard-page .muted{font-size:17px!important;line-height:1.55;color:#c3d0c6!important}
body.admin-dashboard-page .plain-help{font-size:17px;color:#c5d1c7;margin:0 0 18px}

/* Large, plain-language forms */
body.admin-dashboard-page label{
  gap:8px!important;
  font-size:16px!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:0!important;
  color:#f0f5f1!important;
}
body.admin-dashboard-page input,
body.admin-dashboard-page select,
body.admin-dashboard-page textarea{
  min-height:52px!important;
  padding:13px 14px!important;
  border:2px solid #437254!important;
  border-radius:10px!important;
  background:#05160d!important;
  color:#fff!important;
  font-size:18px!important;
}
body.admin-dashboard-page textarea{min-height:110px!important;line-height:1.5}
body.admin-dashboard-page input:focus,
body.admin-dashboard-page select:focus,
body.admin-dashboard-page textarea:focus{outline:3px solid rgba(132,221,95,.35)!important;border-color:#8adf69!important}
body.admin-dashboard-page .btn{
  min-height:52px!important;
  padding:12px 20px!important;
  border-radius:10px!important;
  font-size:17px!important;
  font-weight:900!important;
}
body.admin-dashboard-page .mini-btn{
  min-height:44px!important;
  padding:10px 14px!important;
  border-radius:9px!important;
  font-size:15px!important;
  font-weight:800!important;
}
body.admin-dashboard-page .field-help{font-size:15px;color:#d2bd83;font-weight:600;line-height:1.35}

/* Disclosure boxes hide uncommon controls until requested. */
body.admin-dashboard-page .admin-disclosure,
body.admin-dashboard-page .admin-section-details{
  border:2px solid #365f45;
  border-radius:13px;
  background:#07180f;
  overflow:hidden;
}
body.admin-dashboard-page .admin-disclosure>summary,
body.admin-dashboard-page .admin-section-details>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 19px;
  color:#fff;
  font-size:18px;
  font-weight:900;
}
body.admin-dashboard-page .admin-disclosure>summary::-webkit-details-marker,
body.admin-dashboard-page .admin-section-details>summary::-webkit-details-marker{display:none}
body.admin-dashboard-page .admin-disclosure>summary:after,
body.admin-dashboard-page .admin-section-details>summary:after{content:'＋';font-size:24px;color:#9aea72;margin-left:auto}
body.admin-dashboard-page .admin-disclosure[open]>summary:after,
body.admin-dashboard-page .admin-section-details[open]>summary:after{content:'−'}
body.admin-dashboard-page .admin-disclosure>summary:hover,
body.admin-dashboard-page .admin-disclosure>summary:focus-visible,
body.admin-dashboard-page .admin-section-details>summary:hover,
body.admin-dashboard-page .admin-section-details>summary:focus-visible{background:#11331f;outline:none}
body.admin-dashboard-page .admin-section-details>summary>span:first-child{display:flex;flex-direction:column;gap:4px}
body.admin-dashboard-page .admin-section-details>summary strong{font-size:24px}
body.admin-dashboard-page .admin-section-details>summary small{font-size:16px;color:#c0cec3;font-weight:600}
body.admin-dashboard-page .summary-action{font-size:15px!important;color:#a9ef88!important}
body.admin-dashboard-page .disclosure-body,
body.admin-dashboard-page .admin-details-body{padding:20px;border-top:1px solid #31563e}
body.admin-dashboard-page .add-player-disclosure{margin:0 0 20px}
body.admin-dashboard-page .compact-form.account-add-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;margin:0!important}
body.admin-dashboard-page .compact-form.account-add-form .btn{align-self:end}

/* Player list is card-based instead of a dense table. */
body.admin-dashboard-page .elder-player-list{display:grid;gap:14px}
body.admin-dashboard-page .elder-player-card{padding:20px;border:2px solid #2e5e40;border-radius:14px;background:#06170e}
body.admin-dashboard-page .elder-player-main{display:flex;align-items:center;justify-content:space-between;gap:22px}
body.admin-dashboard-page .elder-player-card h3{margin:0 0 4px;font-size:24px;line-height:1.2}
body.admin-dashboard-page .elder-player-card p{margin:0 0 11px;font-size:17px;color:#c4d0c6}
body.admin-dashboard-page .player-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:15px;color:#c5d1c7}
body.admin-dashboard-page .player-meta>span{padding:7px 10px;border:1px solid #385d45;border-radius:8px;background:#0b2416}
body.admin-dashboard-page .player-meta .status.on{color:#b7f698;border-color:#4e8a55}
body.admin-dashboard-page .player-meta .status.off{color:#ffc0ba;border-color:#7b4540}
body.admin-dashboard-page .admin-role-label{color:#f7dc7c!important;border-color:#8b7431!important}
body.admin-dashboard-page .player-edit-primary{min-width:160px}
body.admin-dashboard-page .player-more{margin-top:16px;border-width:1px}
body.admin-dashboard-page .player-more>summary{padding:12px 14px;font-size:15px}
body.admin-dashboard-page .player-actions{padding:14px;gap:10px!important;border-top:1px solid #31563e}

/* Weekly questions */
body.admin-dashboard-page .weekly-question-link{padding:22px 24px!important;border-width:2px!important}
body.admin-dashboard-page .weekly-question-link strong{font-size:24px!important}
body.admin-dashboard-page .weekly-question-link small{font-size:16px!important;line-height:1.5}
body.admin-dashboard-page .weekly-question-arrow{font-size:16px}
body.admin-dashboard-page .week-links{gap:11px}
body.admin-dashboard-page .week-link{padding:11px 16px;font-size:16px;border-width:2px}
body.admin-dashboard-page .weekly-email-center{
  padding:22px;
  border:2px solid #57904a;
  border-radius:14px;
  background:linear-gradient(180deg,#15331b,#0a2112);
}
body.admin-dashboard-page .weekly-email-center>div:first-child strong{font-size:25px}
body.admin-dashboard-page .weekly-email-center>div:first-child span,
body.admin-dashboard-page .weekly-email-center>small{font-size:16px;line-height:1.5;color:#d0d9d2}
body.admin-dashboard-page .weekly-email-actions{gap:14px}
body.admin-dashboard-page .weekly-email-actions .btn{min-width:300px}
body.admin-dashboard-page .question-editor-disclosure{margin:20px 0}
body.admin-dashboard-page .inline-question-editor{padding:0!important}
body.admin-dashboard-page .inline-question-editor .disclosure-body{padding:22px}
body.admin-dashboard-page .inline-question-editor h3{font-size:24px;margin-top:0}
body.admin-dashboard-page .question-save-help{font-size:15px;color:#c4d0c6}
body.admin-dashboard-page .recent-questions-strip{font-size:16px}
body.admin-dashboard-page .question-count-summary strong{font-size:30px}
body.admin-dashboard-page .question-count-summary span{font-size:14px}
body.admin-dashboard-page .inline-question-columns{display:grid!important;grid-template-columns:1fr!important;gap:26px!important}
body.admin-dashboard-page .admin-question-cards{gap:20px}
body.admin-dashboard-page .admin-question-card{
  padding:24px!important;
  border:2px solid #3a6a49!important;
  border-radius:15px!important;
  background:#06180f!important;
}
body.admin-dashboard-page .admin-question-card h3{font-size:25px!important;line-height:1.42;margin:18px 0!important;color:#fff}
body.admin-dashboard-page .question-card-badges{gap:9px!important}
body.admin-dashboard-page .week-badge,
body.admin-dashboard-page .points-badge,
body.admin-dashboard-page .publish-state,
body.admin-dashboard-page .lock-state{font-size:14px!important;padding:8px 11px!important;line-height:1.2}
body.admin-dashboard-page .admin-option-grid{grid-template-columns:1fr!important;gap:10px!important}
body.admin-dashboard-page .admin-option-grid>div{padding:14px 16px!important;font-size:17px;line-height:1.45;border-width:2px!important}
body.admin-dashboard-page .final-answer-form{
  margin-top:20px;
  padding:18px;
  border:2px solid #9b7c2d;
  border-radius:12px;
  background:#29210b;
}
body.admin-dashboard-page .final-answer-form label strong{font-size:21px;color:#fff}
body.admin-dashboard-page .final-answer-btn{min-height:52px!important;font-size:16px!important}
body.admin-dashboard-page .question-more-actions{margin-top:16px;border-width:1px}
body.admin-dashboard-page .question-more-actions>summary{padding:12px 14px;font-size:15px}
body.admin-dashboard-page .question-admin-actions{padding:14px;flex-wrap:wrap!important;border-top:1px solid #31563e}
body.admin-dashboard-page .question-detail-row{font-size:15px!important;color:#c2cec4!important;line-height:1.45}
body.admin-dashboard-page .question-empty-state{font-size:17px;padding:22px}

/* Results form: fewer fields per visual row. */
body.admin-dashboard-page .results-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
body.admin-dashboard-page .results-form .btn{align-self:end}

/* Login readability */
body.login-bg .login-card{max-width:620px;padding:38px}
body.login-bg .login-card h1{font-size:38px;line-height:1.15}
body.login-bg .login-card p{font-size:17px;line-height:1.5}
body.login-bg .login-card label{font-size:17px;font-weight:800}
body.login-bg .login-card input{min-height:52px;font-size:18px}
body.login-bg .login-card .btn{min-height:52px;font-size:18px}

@media(max-width:820px){
  body.admin-dashboard-page .admin-quick-start{grid-template-columns:1fr}
  body.admin-dashboard-page .adminbar{position:static!important}
  body.admin-dashboard-page .adminbar nav{justify-content:flex-start}
  body.admin-dashboard-page .admin-wrap{width:calc(100% - 24px)!important}
  body.admin-dashboard-page .admin-hero{align-items:flex-start!important;flex-direction:column!important;padding:22px!important}
  body.admin-dashboard-page .compact-form.account-add-form,
  body.admin-dashboard-page .season-settings-form,
  body.admin-dashboard-page .results-form{grid-template-columns:1fr!important}
  body.admin-dashboard-page .elder-player-main{align-items:flex-start;flex-direction:column}
  body.admin-dashboard-page .player-edit-primary{width:100%}
  body.admin-dashboard-page .weekly-email-actions{flex-direction:column;align-items:stretch}
  body.admin-dashboard-page .weekly-email-actions .btn{width:100%;min-width:0}
  body.admin-dashboard-page .admin-panel{padding:20px!important}
}

/* ============================================================
   V53 — Professional front-page hero buttons
   Keep the original button positions but use a clean, readable,
   matching visual treatment across all three actions.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  pointer-events:none !important;
  z-index:40 !important;
}

html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  position:absolute !important;
  top:82.05% !important;
  height:14.75% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:clamp(7px,.72vw,12px) !important;
  padding:0 clamp(10px,.95vw,16px) !important;
  border:2px solid #7fe047 !important;
  border-radius:clamp(8px,.75vw,12px) !important;
  background:linear-gradient(180deg,#249322 0%,#14701b 56%,#0c5916 100%) !important;
  color:#fff !important;
  font-family:"Segoe UI Semibold","Arial Narrow",Arial,sans-serif !important;
  font-size:clamp(13px,1.22vw,19px) !important;
  font-weight:700 !important;
  letter-spacing:.015em !important;
  line-height:1.04 !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 2px rgba(0,0,0,.7) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -2px 7px rgba(0,0,0,.24),
    0 4px 12px rgba(0,0,0,.30),
    0 0 9px rgba(94,221,52,.22) !important;
  overflow:hidden !important;
  cursor:pointer !important;
  pointer-events:auto !important;
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease,border-color .15s ease !important;
}

html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(1){left:54.72% !important;width:13.15% !important}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(2){left:69.08% !important;width:13.18% !important}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(3){left:83.33% !important;width:14.03% !important}

html body .hero.hero-art .hero-art-btn::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 43%) !important;
  pointer-events:none !important;
}

html body .hero.hero-art .hero-art-icon{
  width:clamp(22px,2.3vw,38px) !important;
  height:clamp(22px,2.3vw,38px) !important;
  max-width:none !important;
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
}
html body .hero.hero-art .hero-art-icon svg{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  fill:currentColor !important;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.45)) !important;
}
html body .hero.hero-art .hero-art-label{
  min-width:0 !important;
  display:block !important;
  white-space:nowrap !important;
  text-align:left !important;
}
html body .hero.hero-art .hero-art-btn b{
  font-family:Arial,sans-serif !important;
  font-size:clamp(20px,1.7vw,29px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  margin-left:auto !important;
}
html body .hero.hero-art .hero-art-btn:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.12) !important;
  border-color:#b8ff86 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    0 7px 16px rgba(0,0,0,.35),
    0 0 15px rgba(103,226,57,.38) !important;
}
html body .hero.hero-art .hero-art-btn:active{
  transform:translateY(0) !important;
  filter:brightness(1.02) !important;
}
html body .hero.hero-art .hero-art-btn:focus-visible{
  outline:3px solid #fff !important;
  outline-offset:3px !important;
}

/* Keep labels readable on narrower displays without moving the buttons. */
@media(max-width:1000px){
  html body .hero.hero-art .hero-action-buttons .hero-art-btn{
    font-size:13px !important;
    column-gap:6px !important;
    padding-left:9px !important;
    padding-right:9px !important;
  }
  html body .hero.hero-art .hero-art-icon{
    width:24px !important;
    height:24px !important;
  }
  html body .hero.hero-art .hero-art-btn b{font-size:20px !important}
}


/* ============================================================
   V54 — Smaller professional front-page buttons
   Keeps the three button slots in the same locations while
   reducing the visible/clickable button size within each slot.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  width:88% !important;
  height:78% !important;
  min-height:0 !important;
  justify-self:center !important;
  align-self:center !important;
  padding-left:16px !important;
  padding-right:14px !important;
  column-gap:10px !important;
  border-radius:11px !important;
  font-size:clamp(14px,1.15vw,19px) !important;
}
html body .hero.hero-art .hero-art-icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
}
html body .hero.hero-art .hero-art-btn b{
  font-size:clamp(18px,1.35vw,24px) !important;
}
@media(max-width:1000px){
  html body .hero.hero-art .hero-action-buttons .hero-art-btn{
    width:90% !important;
    height:76% !important;
    padding-left:9px !important;
    padding-right:8px !important;
    column-gap:6px !important;
    font-size:12px !important;
  }
  html body .hero.hero-art .hero-art-icon{
    width:21px !important;
    height:21px !important;
    flex-basis:21px !important;
  }
  html body .hero.hero-art .hero-art-btn b{
    font-size:17px !important;
  }
}


/* ============================================================
   V55 — Correct smaller hero buttons
   V54's percentage sizing clipped the contents. Restore the
   original button box/content and scale the complete button
   uniformly from its center, preserving its existing position.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  justify-self:stretch !important;
  align-self:stretch !important;
  padding-left:18px !important;
  padding-right:16px !important;
  column-gap:12px !important;
  border-radius:12px !important;
  font-size:clamp(15px,1.3vw,21px) !important;
  transform:scale(.88) !important;
  transform-origin:center center !important;
}
html body .hero.hero-art .hero-art-icon{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
}
html body .hero.hero-art .hero-art-btn b{
  font-size:clamp(20px,1.5vw,26px) !important;
}
html body .hero.hero-art .hero-art-btn:hover{
  transform:scale(.88) translateY(-2px) !important;
}
html body .hero.hero-art .hero-art-btn:active{
  transform:scale(.88) translateY(0) !important;
}
@media(max-width:1000px){
  html body .hero.hero-art .hero-action-buttons .hero-art-btn{
    width:100% !important;
    height:100% !important;
    padding-left:10px !important;
    padding-right:9px !important;
    column-gap:7px !important;
    font-size:13px !important;
    transform:scale(.88) !important;
  }
  html body .hero.hero-art .hero-art-icon{
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
  }
  html body .hero.hero-art .hero-art-btn b{
    font-size:19px !important;
  }
  html body .hero.hero-art .hero-art-btn:hover{
    transform:scale(.88) translateY(-2px) !important;
  }
}


/* ============================================================
   V56 — Hero button fix
   The finished buttons are already part of the hero artwork.
   Keep the anchors as invisible click targets in the exact same
   locations instead of drawing a second set of buttons over them.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons .hero-art-btn,
html body .hero.hero-art .hero-action-buttons .hero-art-btn:hover,
html body .hero.hero-art .hero-action-buttons .hero-art-btn:active {
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  color:transparent !important;
  font-size:0 !important;
  text-shadow:none !important;
  overflow:hidden !important;
  opacity:1 !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn .hero-art-icon,
html body .hero.hero-art .hero-action-buttons .hero-art-btn .hero-art-label,
html body .hero.hero-art .hero-action-buttons .hero-art-btn b {
  visibility:hidden !important;
  opacity:0 !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:focus-visible {
  outline:3px solid #ffffff !important;
  outline-offset:-4px !important;
  border-radius:12px !important;
}


/* ============================================================
   V57 — Home page week-by-week questions & answers accordion
   ============================================================ */
.weekly-archive{
  margin-top:34px;
  margin-bottom:40px;
}
.week-archive-intro{
  margin:8px 0 0;
  color:#cbd5cf;
  font-size:16px;
  line-height:1.55;
}
.week-accordion-list{
  display:grid;
  gap:12px;
}
.week-accordion{
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;
  background:rgba(9,25,18,.92);
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.week-accordion.current-week{
  border-color:rgba(125,225,77,.8);
  box-shadow:0 0 0 1px rgba(125,225,77,.2),0 8px 22px rgba(0,0,0,.2);
}
.week-accordion summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:14px 18px;
  user-select:none;
  background:linear-gradient(180deg,rgba(31,87,48,.95),rgba(17,56,31,.95));
}
.week-accordion summary::-webkit-details-marker{display:none}
.week-accordion summary:hover{
  filter:brightness(1.08);
}
.week-toggle{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  background:rgba(0,0,0,.18);
  color:#fff;
  font-size:29px;
  font-weight:700;
  line-height:1;
}
.week-toggle::before{content:"+"}
.week-accordion[open] .week-toggle::before{content:"−"}
.week-summary-text{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 12px;
  color:#fff;
}
.week-summary-text strong{
  font-size:21px;
  letter-spacing:.01em;
}
.week-summary-text small{
  width:100%;
  color:#d7e4db;
  font-size:14px;
}
.current-week-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:4px 9px;
  background:#d9f99d;
  color:#16351e;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.week-accordion-content{
  padding:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.week-empty{
  margin:0;
  padding:8px 4px;
  color:#c9d3cd;
  font-size:16px;
}
.archive-question-card{
  padding:18px;
  border-radius:12px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.11);
}
.archive-question-card + .archive-question-card{margin-top:14px}
.archive-question-card h3{
  margin:10px 0 14px;
  color:#fff;
  font-size:19px;
  line-height:1.42;
}
.archive-question-topline{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 14px;
  color:#b9c6be;
  font-size:13px;
}
.archive-points{
  font-weight:800;
  color:#9deb6e;
  text-transform:uppercase;
}
.archive-answer-options{
  display:grid;
  gap:8px;
}
.archive-answer-option{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:10px 12px;
  border-radius:9px;
  background:rgba(0,0,0,.16);
  color:#e8efeb;
  line-height:1.4;
}
.archive-answer-option strong{color:#a8d990}
.archive-answer-option.correct-answer{
  border:1px solid rgba(140,232,92,.65);
  background:rgba(74,142,43,.24);
}
.archive-final-answer{
  margin-top:14px;
  padding:11px 13px;
  border-radius:9px;
  font-size:15px;
}
.archive-final-answer.answer-posted{
  background:rgba(84,166,48,.22);
  border:1px solid rgba(140,232,92,.55);
  color:#efffe8;
}
.archive-final-answer.answer-pending{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#cbd5cf;
}
@media(max-width:700px){
  .week-accordion summary{min-height:64px;padding:12px 14px}
  .week-toggle{width:34px;height:34px;flex-basis:34px;font-size:25px}
  .week-summary-text strong{font-size:18px}
  .week-accordion-content{padding:12px}
  .archive-question-card{padding:14px}
  .archive-question-topline{display:block}
  .archive-question-topline span{display:block;margin-bottom:5px}
}


/* ============================================================
   V59 — Phil's League Message Center
   ============================================================ */
.league-message-home .league-message-card{
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px;
}
.league-message-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 16px;
  margin-bottom:14px;
  color:#a9c6b2;
  font-size:14px;
}
.league-message-meta span{
  color:#70e34d;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.league-message-card h3{
  margin:0 0 16px;
  color:#fff;
  font-size:clamp(24px,2vw,34px);
  line-height:1.2;
}
.league-message-body{
  color:#edf6f0;
  font-size:18px;
  line-height:1.65;
}
.league-message-admin .panel-title{margin-bottom:18px}
.current-league-message-preview{
  margin-bottom:22px;
  padding:20px 22px;
  border:1px solid rgba(116,224,74,.45);
  border-radius:14px;
  background:rgba(34,91,48,.18);
}
.current-league-message-preview h3{
  margin:7px 0 10px;
  font-size:24px;
  color:#fff;
}
.current-league-message-preview p{
  margin:0 0 12px;
  font-size:17px;
  line-height:1.6;
  color:#e7f1ea;
}
.current-league-message-preview small{
  color:#b8c9bc;
  font-size:14px;
}
.league-message-editor{
  display:grid;
  gap:18px;
}
.league-message-editor label{
  display:grid;
  gap:8px;
  font-size:18px;
  font-weight:800;
}
.league-message-editor input,
.league-message-editor textarea{
  width:100%;
  box-sizing:border-box;
  font:inherit;
  font-weight:500;
}
.league-message-editor textarea{
  min-height:190px;
  resize:vertical;
  line-height:1.55;
}
.league-message-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.league-message-actions .btn{
  min-height:52px;
  font-size:17px;
}
.recent-message-list{
  display:grid;
  gap:8px;
}
.recent-message-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:12px 4px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.recent-message-row:last-child{border-bottom:0}
.recent-message-row div{display:grid;gap:3px}
.recent-message-row strong{font-size:16px}
.recent-message-row small{color:#b7c5bb}
@media(max-width:700px){
  .league-message-home .league-message-card{padding:20px;min-height:220px}
  .league-message-body{font-size:16px}
  .league-message-actions{display:grid}
  .league-message-actions .btn{width:100%}
}


/* V60 — Admin Console accordions and private player messaging */
.admin-accordion-section{padding:0!important;overflow:hidden}
.admin-main-accordion{width:100%}
.admin-main-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:78px;padding:18px 22px;background:linear-gradient(180deg,rgba(31,91,48,.96),rgba(17,58,31,.96));color:#fff;user-select:none}
.admin-main-accordion>summary::-webkit-details-marker{display:none}
.admin-main-accordion>summary:hover{filter:brightness(1.08)}
.admin-main-accordion>summary>span:nth-child(2){display:grid;gap:4px}
.admin-main-accordion>summary strong{font-size:24px;line-height:1.15}
.admin-main-accordion>summary small{font-size:15px;color:#d7e7dc;line-height:1.4}
.admin-main-toggle{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(0,0,0,.16);font-size:31px;font-weight:800;line-height:1}
.admin-main-toggle::before{content:"+"}
.admin-main-accordion[open]>summary .admin-main-toggle::before{content:"−"}
.admin-main-body{padding:24px;border-top:1px solid rgba(255,255,255,.12)}
.player-accordion-list{display:grid;gap:12px;margin-top:20px}
.player-accordion{overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(7,29,18,.75)}
.player-accordion>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;min-height:70px;padding:14px 16px;color:#fff;background:rgba(24,72,38,.78)}
.player-accordion>summary::-webkit-details-marker{display:none}
.player-accordion>summary:hover{filter:brightness(1.09)}
.player-toggle{width:36px;height:36px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);border-radius:50%;font-size:27px;font-weight:800;line-height:1}
.player-toggle::before{content:"+"}
.player-accordion[open] .player-toggle::before{content:"−"}
.player-summary-copy{min-width:0;display:grid;gap:3px}
.player-summary-copy strong{font-size:20px;line-height:1.2}
.player-summary-copy small{color:#d2e0d6;font-size:14px}
.player-accordion-body{display:grid;gap:20px;padding:20px;border-top:1px solid rgba(255,255,255,.12)}
.player-open-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.player-open-header h3{margin:0 0 4px;font-size:24px}
.player-open-header p{margin:0 0 10px}
.private-player-message{padding:18px;border:1px solid rgba(112,227,77,.35);border-radius:12px;background:rgba(39,100,51,.15)}
.private-player-message h4{margin:0 0 7px;font-size:20px;color:#fff}
.private-player-message>p{margin:0 0 15px;color:#cbd9cf;line-height:1.5}
.private-player-message form{display:grid;gap:14px}
.private-player-message label{display:grid;gap:7px;font-size:17px;font-weight:800}
.private-player-message input,.private-player-message textarea{width:100%;box-sizing:border-box;font:inherit}
.private-player-message textarea{min-height:120px;resize:vertical;line-height:1.5}
.private-player-message .btn{justify-self:start;min-height:48px}
@media(max-width:760px){
  .admin-main-accordion>summary{padding:15px;min-height:70px}
  .admin-main-accordion>summary strong{font-size:21px}
  .admin-main-accordion>summary small{font-size:14px}
  .admin-main-toggle{width:38px;height:38px;flex-basis:38px;font-size:28px}
  .admin-main-body{padding:14px}
  .player-accordion>summary{grid-template-columns:auto minmax(0,1fr);padding:12px}
  .player-accordion>summary .status{grid-column:2}
  .player-open-header{display:grid}
  .player-edit-primary{justify-self:start}
}


/* ============================================================
   V61 — Individual player profiles, selections and private messaging
   ============================================================ */
.player-profile-section{margin-bottom:26px}
.player-profile-accordion,.player-message-accordion{
  border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;background:rgba(7,28,18,.78);margin-bottom:12px
}
.player-profile-accordion>summary,.player-message-accordion>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:68px;background:linear-gradient(180deg,rgba(29,83,45,.95),rgba(17,56,31,.95));color:#fff
}
.player-profile-accordion>summary::-webkit-details-marker,.player-message-accordion>summary::-webkit-details-marker{display:none}
.player-profile-accordion>summary>span:nth-child(2),.player-message-accordion>summary>span:nth-child(2){display:grid;gap:3px}
.player-profile-accordion>summary strong,.player-message-accordion>summary strong{font-size:21px}
.player-profile-accordion>summary small,.player-message-accordion>summary small{font-size:14px;color:#d2e0d6}
.profile-toggle{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;font-size:27px;font-weight:800;line-height:1}
.profile-toggle::before{content:"+"}
.player-profile-accordion[open] .profile-toggle::before,.player-message-accordion[open] .profile-toggle::before{content:"−"}
.profile-accordion-body,.message-accordion-body{padding:18px;border-top:1px solid rgba(255,255,255,.12)}
.personal-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.personal-profile-card,.personal-season-card{padding:22px}
.personal-profile-form{display:grid;gap:14px;margin:18px 0}
.personal-profile-form label,.player-compose-form label,.private-reply-form label{display:grid;gap:7px;font-weight:800}
.personal-profile-form input,.player-compose-form input,.player-compose-form select,.player-compose-form textarea,.private-reply-form input,.private-reply-form textarea{width:100%;box-sizing:border-box;font:inherit}
.profile-password-link{display:inline-flex}
.personal-season-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.personal-season-stats>div{padding:14px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;gap:4px}
.personal-season-stats span{color:#b8c8bd;font-size:13px}
.personal-season-stats strong{font-size:24px;color:#fff}
.profile-scope-note{padding:14px;border-left:4px solid #6bdc48;background:rgba(107,220,72,.08);line-height:1.5}
.player-message-center{margin:34px 0}
.player-compose-form{display:grid;gap:15px;padding:20px}
.player-compose-form textarea,.private-reply-form textarea{min-height:130px;resize:vertical;line-height:1.5}
.private-message-list,.admin-private-message-list{display:grid;gap:12px}
.private-message-card,.admin-private-message{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.045)}
.unread-message{border-color:rgba(111,230,77,.8)!important;box-shadow:0 0 0 1px rgba(111,230,77,.15)}
.private-message-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.private-message-head>div{display:grid;gap:4px}
.private-message-head strong{font-size:18px;color:#fff}
.private-message-head small{color:#b9c8bd;font-size:13px}
.private-message-card p,.admin-private-message p{white-space:normal;line-height:1.6;color:#e5eee8}
.new-message-badge{padding:5px 9px;border-radius:999px;background:#7ce84e;color:#0b2b14;font-size:12px;font-weight:900}
.private-reply-form{display:grid;gap:14px}
@media(max-width:760px){
  .personal-profile-grid{grid-template-columns:1fr}
  .personal-season-stats{grid-template-columns:1fr 1fr}
  .private-message-head{display:grid}
}


/* ============================================================
   V62 — Simplified elderly-friendly Admin Console
   ============================================================ */
.admin-dashboard-page{
  font-size:18px;
}
.admin-wrap{
  max-width:1320px;
}
.admin-hero{
  margin-bottom:20px;
}
.admin-hero h1{
  font-size:clamp(32px,3vw,46px);
}
.admin-hero p{
  font-size:18px;
  line-height:1.55;
}
.this-week-dashboard{
  margin:0 0 24px;
  padding:24px;
  border:2px solid rgba(113,225,76,.48);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(17,55,31,.96),rgba(7,29,18,.96));
}
.this-week-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
}
.this-week-heading h2{
  margin:5px 0 0;
  font-size:30px;
  color:#fff;
}
.week-big-badge{
  flex:0 0 auto;
  padding:10px 16px;
  border-radius:999px;
  background:#78df4d;
  color:#0b2c14;
  font-size:18px;
  font-weight:900;
}
.this-week-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.simple-stat{
  min-height:98px;
  padding:16px;
  border-radius:12px;
  background:rgba(255,255,255,.065);
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.simple-stat span{
  font-size:16px;
  color:#cbd9cf;
}
.simple-stat strong{
  font-size:30px;
  color:#fff;
}
.attention-stat{
  border:2px solid rgba(247,193,53,.68);
}
.this-week-help{
  margin:16px 0 0;
  color:#d7e3da;
  font-size:17px;
  line-height:1.5;
}
.admin-grid{
  gap:16px !important;
}
.admin-main-accordion>summary{
  min-height:84px;
  padding:19px 24px;
}
.admin-main-accordion>summary strong{
  font-size:26px;
}
.admin-main-accordion>summary small{
  font-size:16px;
}
.admin-main-toggle{
  width:46px;
  height:46px;
  flex-basis:46px;
  font-size:34px;
}
.admin-main-body{
  padding:26px;
}
.section-explainer,
.admin-main-body .muted,
.field-help,
.plain-help{
  font-size:17px !important;
  line-height:1.55;
}
.admin-main-body label{
  font-size:18px;
}
.admin-main-body input,
.admin-main-body select,
.admin-main-body textarea{
  min-height:48px;
  font-size:18px;
}
.admin-main-body textarea{
  min-height:130px;
}
.admin-main-body .btn{
  min-height:52px;
  font-size:17px;
}
.player-accordion>summary{
  min-height:76px;
}
.player-summary-copy strong{
  font-size:22px;
}
.player-summary-copy small{
  font-size:15px;
}
.results-email-box{
  margin:20px 0;
  padding:20px;
  border:2px solid rgba(236,182,44,.5);
  border-radius:14px;
  background:rgba(120,82,9,.13);
  display:grid;
  gap:12px;
}
.results-email-box>div{
  display:grid;
  gap:4px;
}
.results-email-box>div strong{
  font-size:21px;
  color:#fff;
}
.results-email-box>div span,
.results-email-box small{
  color:#d8dfda;
  font-size:16px;
  line-height:1.45;
}
.danger-options{
  margin-top:18px;
  border:1px solid rgba(231,97,97,.45);
  border-radius:12px;
  overflow:hidden;
}
.danger-options>summary{
  cursor:pointer;
  padding:14px 16px;
  background:rgba(126,25,25,.18);
  color:#ffdede;
  font-weight:800;
}
.danger-options-body{
  padding:16px;
  background:rgba(80,14,14,.12);
}
.danger-options-body p{
  margin:0 0 14px;
  color:#f0caca;
  line-height:1.5;
}
@media(max-width:900px){
  .this-week-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .this-week-heading{display:grid}
  .week-big-badge{justify-self:start}
  .this-week-stats{grid-template-columns:1fr}
  .admin-main-accordion>summary strong{font-size:22px}
  .admin-main-accordion>summary small{font-size:15px}
  .admin-main-body{padding:16px}
}


/* ============================================================
   V63 — Clickable dashboard bubbles & question accordions
   ============================================================ */
.simple-stat.stat-link{
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.08);
  transition:transform .12s ease,filter .12s ease,border-color .12s ease;
}
.simple-stat.stat-link:hover,
.simple-stat.stat-link:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.1);
  border-color:rgba(121,229,80,.72);
  outline:none;
}
.simple-stat.stat-link small{
  margin-top:4px;
  color:#9ee77e;
  font-size:14px;
  font-weight:800;
}
.question-accordion{
  padding:0 !important;
  overflow:hidden;
}
.question-accordion-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  min-height:76px;
  background:rgba(23,67,37,.9);
  color:#fff;
}
.question-accordion-summary::-webkit-details-marker{display:none}
.question-accordion-summary:hover{filter:brightness(1.08)}
.question-toggle{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  font-size:28px;
  font-weight:900;
  line-height:1;
}
.question-toggle::before{content:"+"}
.question-accordion[open] .question-toggle::before{content:"−"}
.question-summary-main{
  min-width:0;
  display:grid;
  gap:9px;
}
.question-summary-main>strong{
  font-size:20px;
  line-height:1.35;
  color:#fff;
}
.question-summary-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.question-summary-status{
  justify-self:end;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#dce9df;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

/* V178 — Make final-answer selection obvious directly from the question row. */
.question-summary-status.final-answer-quick-action{
  background:#269f24;
  border:1px solid #63df47;
  color:#fff;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(99,223,71,.08) inset;
}
.question-summary-status.final-answer-quick-action:hover,
.question-summary-status.final-answer-quick-action:focus{
  filter:brightness(1.08);
}

.question-accordion-body{
  padding:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
.question-accordion.just-saved-question{
  border-color:rgba(126,231,82,.85) !important;
  box-shadow:0 0 0 2px rgba(126,231,82,.13);
}
@media(max-width:760px){
  .question-accordion-summary{
    grid-template-columns:auto minmax(0,1fr);
  }
  .question-summary-status{
    grid-column:2;
    justify-self:start;
  }
}


/* ============================================================
   V64 — Clickable week selector and custom week dates
   ============================================================ */
.dashboard-date-line{
  margin:8px 0 0;
  color:#d7e5db;
  font-size:16px;
}
.dashboard-date-line span{
  display:inline-block;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#aee993;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.dashboard-week-selector{
  position:relative;
  flex:0 0 auto;
}
.dashboard-week-selector>summary{
  list-style:none;
}
.dashboard-week-selector>summary::-webkit-details-marker{display:none}
.dashboard-week-selector .week-big-badge{
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  border:2px solid transparent;
  user-select:none;
}
.dashboard-week-selector .week-big-badge:hover,
.dashboard-week-selector .week-big-badge:focus-visible{
  filter:brightness(1.08);
  border-color:#fff;
  outline:none;
}
.dashboard-week-selector[open] .week-big-badge{
  border-color:#fff;
}
.dashboard-week-menu{
  position:absolute;
  z-index:40;
  top:calc(100% + 10px);
  right:0;
  width:min(430px,88vw);
  padding:20px;
  border:2px solid rgba(117,226,78,.58);
  border-radius:14px;
  background:#0b2918;
  box-shadow:0 18px 45px rgba(0,0,0,.45);
}
.dashboard-week-form,
.dashboard-date-form{
  display:grid;
  gap:13px;
}
.dashboard-week-form label,
.dashboard-date-form label{
  display:grid;
  gap:7px;
  color:#fff;
  font-size:17px;
  font-weight:800;
}
.dashboard-week-form select,
.dashboard-date-form input{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  font:inherit;
}
.dashboard-week-form p,
.dashboard-date-form p{
  margin:0;
  color:#c8d7cc;
  font-size:14px;
  line-height:1.5;
}
.dashboard-date-form>strong{
  font-size:20px;
  color:#fff;
}
.week-date-divider{
  height:1px;
  margin:18px 0;
  background:rgba(255,255,255,.14);
}
.week-date-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.week-date-actions .btn{
  min-height:46px;
}
@media(max-width:700px){
  .this-week-heading{
    align-items:start;
  }
  .dashboard-week-selector{
    width:100%;
  }
  .dashboard-week-selector .week-big-badge{
    width:max-content;
  }
  .dashboard-week-menu{
    position:relative;
    top:8px;
    right:auto;
    width:100%;
    box-sizing:border-box;
  }
  .week-date-actions{
    display:grid;
  }
  .week-date-actions .btn{
    width:100%;
  }
}


/* V66 — Current-week final answer remains hidden from players */
.player-hidden-result-note{
  margin:12px 0 0;
  padding:10px 12px;
  border-left:4px solid rgba(121,225,80,.75);
  background:rgba(121,225,80,.07);
  color:#cbd8cf !important;
  line-height:1.45;
}


/* ============================================================
   V68 — Player submitted-question collapse
   ============================================================ */
.player-question-accordion{
  padding:0 !important;
  overflow:hidden;
}
.player-question-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:78px;
  padding:16px 18px;
  background:rgba(18,58,32,.92);
  color:#fff;
}
.player-question-summary::-webkit-details-marker{display:none}
.player-question-summary:hover{filter:brightness(1.08)}
.player-question-toggle{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.88);
  border-radius:50%;
  font-size:28px;
  font-weight:900;
  line-height:1;
}
.player-question-toggle::before{content:"+"}
.player-question-accordion[open] .player-question-toggle::before{content:"−"}
.player-question-summary-copy{
  min-width:0;
  display:grid;
  gap:7px;
}
.player-question-summary-copy>strong{
  font-size:19px;
  line-height:1.4;
  color:#fff;
}
.player-question-summary-copy small{
  color:#d7e3da;
  font-size:15px;
  line-height:1.4;
}
.player-question-summary-copy small b{
  color:#9ee77d;
}
.player-question-accordion-body{
  padding:18px;
  border-top:1px solid rgba(255,255,255,.12);
}
@media(max-width:760px){
  .player-question-summary{
    grid-template-columns:auto minmax(0,1fr);
  }
  .player-question-summary .question-status{
    grid-column:2;
    justify-self:start;
  }
}


/* ============================================================
   V69 — Compact completed-week accordion
   ============================================================ */
.completed-week-accordion{
  margin:0 0 22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:13px;
  overflow:hidden;
  background:rgba(8,28,18,.86);
}
.completed-week-summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:60px;
  padding:10px 14px;
  background:linear-gradient(180deg,rgba(25,74,40,.96),rgba(14,50,28,.96));
  color:#fff;
}
.completed-week-summary::-webkit-details-marker{display:none}
.completed-week-summary:hover{filter:brightness(1.08)}
.completed-week-toggle{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:2px solid rgba(255,255,255,.88);
  border-radius:50%;
  font-size:22px;
  font-weight:900;
  line-height:1;
}
.completed-week-toggle::before{content:"+"}
.completed-week-accordion[open] .completed-week-toggle::before{content:"−"}
.completed-week-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.completed-week-copy strong{
  font-size:17px;
  line-height:1.25;
}
.completed-week-copy small{
  color:#c8d6cc;
  font-size:12px;
}
.completed-week-body{
  padding:14px;
  border-top:1px solid rgba(255,255,255,.1);
}
.completed-week-mini-heading{
  margin:0 0 12px;
}
.completed-week-mini-heading h2{
  margin:4px 0 0;
  font-size:21px;
}
.completed-week-accordion .history-lock-notice{
  margin-top:0;
}
.completed-week-accordion .player-question-list{
  margin-top:12px;
}
@media(max-width:700px){
  .completed-week-summary{
    grid-template-columns:auto minmax(0,1fr);
  }
  .completed-week-summary .locked-history-pill{
    grid-column:2;
    justify-self:start;
  }
  .completed-week-body{
    padding:11px;
  }
}


/* ============================================================
   V70 — One-step Finalize Week button
   ============================================================ */
.week-question-navigation{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:18px 0;
}
.week-question-navigation .inline-week-links{
  flex:1 1 auto;
  margin:0;
}
.finalize-week-form{
  flex:0 0 auto;
}
.finalize-week-btn{
  min-width:270px;
  min-height:58px !important;
  padding:10px 18px !important;
  border:2px solid #baf58f !important;
  border-radius:12px !important;
  background:linear-gradient(180deg,#4fae35,#2e7e25) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(0,0,0,.24);
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.2;
  text-align:left;
  display:grid !important;
  gap:3px;
}
.finalize-week-btn small{
  color:#e8f8df;
  font-size:12px;
  font-weight:700;
}
.finalize-week-btn:hover{
  filter:brightness(1.1);
}
.finalize-week-help{
  margin:14px 0 18px;
  padding:14px 16px;
  border-left:5px solid #79e150;
  border-radius:8px;
  background:rgba(72,145,48,.13);
  display:grid;
  gap:5px;
}
.finalize-week-help strong{
  color:#fff;
  font-size:17px;
}
.finalize-week-help span{
  color:#d4e2d8;
  font-size:15px;
  line-height:1.5;
}
@media(max-width:900px){
  .week-question-navigation{
    display:grid;
  }
  .finalize-week-form,
  .finalize-week-btn{
    width:100%;
  }
  .finalize-week-btn{
    min-width:0;
  }
}


/* ============================================================
   V73 — Finalize / UNFinalize toggle button
   ============================================================ */
.finalize-week-form{
  margin:0;
  flex:0 0 auto;
}
.finalize-week-btn{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  width:300px;
  min-height:72px;
  box-sizing:border-box;
  border-radius:12px;
  padding:11px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  font-family:inherit;
  line-height:1.15;
  text-align:left;
  white-space:normal;
  transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;
}
.finalize-week-btn:hover,
.finalize-week-btn:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.08);
  outline:3px solid rgba(255,255,255,.3);
  outline-offset:2px;
}
.finalize-week-btn.is-ready{
  border:2px solid #9cf06e !important;
  background:linear-gradient(180deg,#248d2d,#176c23) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.12);
}
.finalize-week-btn.is-finalized{
  border:2px solid #ffd26a !important;
  background:linear-gradient(180deg,#b47708,#815000) !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.13);
}
.finalize-week-main{
  display:block;
  font-size:18px;
  font-weight:900;
  letter-spacing:.01em;
}
.finalize-week-sub{
  display:block;
  font-size:12px;
  font-weight:700;
  opacity:.92;
}
.finalize-week-help.week-is-finalized{
  border-left-color:#e6a92d;
  background:rgba(185,120,13,.14);
}
@media(max-width:900px){
  .finalize-week-form,
  .finalize-week-btn{
    width:100%;
  }
}


/* ============================================================
   V74 — Finalize button placement and visual fix
   ============================================================ */
.finalize-week-top{
  margin:0 0 16px;
}
.finalize-week-form{
  margin:0 !important;
  display:block !important;
}
button.finalize-week-btn,
.finalize-week-form button.finalize-week-btn{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:220px !important;
  min-height:50px !important;
  height:auto !important;
  margin:0 !important;
  padding:12px 22px !important;
  border-radius:10px !important;
  font-family:inherit !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  box-shadow:0 6px 16px rgba(0,0,0,.28) !important;
}
button.finalize-week-btn.is-ready,
.finalize-week-form button.finalize-week-btn.is-ready{
  border:2px solid #9df06e !important;
  background:#23862c !important;
  background-image:linear-gradient(180deg,#36a53d,#1b7127) !important;
  color:#ffffff !important;
}
button.finalize-week-btn.is-finalized,
.finalize-week-form button.finalize-week-btn.is-finalized{
  border:2px solid #ffd36d !important;
  background:#a86d06 !important;
  background-image:linear-gradient(180deg,#bd810c,#845300) !important;
  color:#ffffff !important;
}
button.finalize-week-btn:hover,
button.finalize-week-btn:focus-visible{
  filter:brightness(1.1) !important;
  transform:translateY(-1px);
  outline:3px solid rgba(255,255,255,.22) !important;
  outline-offset:2px !important;
}
.week-question-navigation{
  display:block !important;
}
.week-question-navigation .inline-week-links{
  margin:16px 0 0 !important;
}
@media(max-width:700px){
  button.finalize-week-btn,
  .finalize-week-form button.finalize-week-btn{
    width:100% !important;
    min-width:0 !important;
  }
}


/* ============================================================
   V75 — Match Finalize to Email Week Questions button
   ============================================================ */
.weekly-email-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:14px !important;
}
.weekly-email-actions form{
  margin:0 !important;
  display:block !important;
}
.weekly-email-actions button.weekly-action-button,
.weekly-email-actions button.finalize-week-btn{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:auto !important;
  min-width:270px !important;
  min-height:47px !important;
  height:auto !important;
  margin:0 !important;
  padding:11px 20px !important;
  border:0 !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#67e82e,#35b928) !important;
  color:#071506 !important;
  box-shadow:none !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-align:center !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.weekly-email-actions button.weekly-action-button:hover,
.weekly-email-actions button.finalize-week-btn:hover{
  filter:brightness(1.07) !important;
  transform:none !important;
}
.weekly-email-actions button.finalize-week-btn.is-finalized{
  background:linear-gradient(180deg,#f2bd3c,#d89409) !important;
  color:#171000 !important;
}
@media(max-width:760px){
  .weekly-email-actions{
    display:grid !important;
  }
  .weekly-email-actions form,
  .weekly-email-actions button.weekly-action-button,
  .weekly-email-actions button.finalize-week-btn{
    width:100% !important;
    min-width:0 !important;
  }
}


/* ============================================================
   V77 — Current week first; previous weeks collapsed below
   ============================================================ */
#questions{
  margin-top:0;
  margin-bottom:24px;
}
.player-history-accordion-list{
  display:grid;
  gap:10px;
}
.player-history-week{
  margin:0;
}
.compact-history-result{
  margin:0 0 12px !important;
}
.history-question-list{
  display:grid;
  gap:10px;
}
.history-question-row{
  display:grid;
  gap:6px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:rgba(255,255,255,.04);
}
.history-question-row>strong{
  color:#fff;
  font-size:16px;
  line-height:1.4;
}
.history-question-row>span{
  color:#d2dfd6;
  font-size:14px;
  line-height:1.4;
}
.history-question-row em{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.history-correct{
  background:rgba(104,221,75,.18);
  color:#a7ef8e;
}
.history-incorrect{
  background:rgba(226,87,87,.15);
  color:#ffb2b2;
}
.previous-weeks-panel{
  margin-top:24px;
}


/* ============================================================
   V78 — Manual Current Week + calendar selectors
   ============================================================ */
.make-current-week-form,
.automatic-week-form{
  display:grid;
  margin-top:10px;
}
.make-current-week-btn,
.current-week-selected{
  width:100% !important;
  min-height:48px !important;
  justify-content:center !important;
  font-size:16px !important;
  font-weight:900 !important;
}
.current-week-selected{
  border:2px solid #8ee968 !important;
  background:rgba(77,177,48,.22) !important;
  color:#b9f5a1 !important;
  opacity:1 !important;
  cursor:default !important;
}
.automatic-week-form .btn{
  width:100%;
}
.week-calendar-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.calendar-input-wrap{
  display:flex;
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:9px;
  background:rgba(255,255,255,.055);
}
.calendar-input-wrap input[type="date"]{
  display:block;
  width:100%;
  min-width:0;
  height:28px;
  padding:0 !important;
  border:0 !important;
  outline:0;
  background:transparent !important;
  color:#fff;
  font:inherit;
  color-scheme:dark;
}
.selected-week-date-preview{
  padding:12px 14px;
  border-radius:9px;
  background:rgba(255,255,255,.055);
  display:flex;
  flex-wrap:wrap;
  gap:5px 8px;
  color:#cbd8cf;
  font-size:14px;
  line-height:1.45;
}
.selected-week-date-preview strong{
  color:#fff;
}
@media(max-width:600px){
  .week-calendar-grid{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   V79 — Player hero stats & standings
   ============================================================ */
.player-hero-with-stats{
  display:grid !important;
  grid-template-columns:minmax(280px,1fr) minmax(520px,1.7fr);
  align-items:center;
  gap:24px;
  padding:24px 28px !important;
}
.player-hero-identity{
  min-width:0;
}
.player-hero-identity h1{
  margin:4px 0 2px;
}
.player-hero-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(105px,1fr));
  gap:10px;
}
.hero-stat-card{
  min-height:92px;
  padding:12px 10px;
  border:1px solid rgba(123,224,94,.45);
  border-radius:13px;
  background:rgba(4,30,16,.48);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero-stat-card span{
  color:#c7d6cb;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.hero-stat-card strong{
  margin-top:5px;
  color:#fff;
  font-size:28px;
  line-height:1;
}
.hero-stat-card small{
  margin-top:5px;
  color:#9eb0a4;
  font-size:11px;
}
.hero-standing-card{
  border-color:rgba(246,194,59,.58);
  background:rgba(115,75,8,.12);
}
.hero-standing-card strong{
  color:#ffd45b;
}
.player-hero-stats .player-score{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
@media(max-width:1100px){
  .player-hero-with-stats{
    grid-template-columns:1fr;
  }
  .player-hero-stats{
    grid-template-columns:repeat(5,1fr);
  }
}
@media(max-width:760px){
  .player-hero-stats{
    grid-template-columns:repeat(2,1fr);
  }
  .hero-stat-card{
    min-height:82px;
  }
}
@media(max-width:460px){
  .player-hero-stats{
    grid-template-columns:1fr;
  }
}


/* ============================================================
   V80 — Smaller, better-fitting Player Console typography
   ============================================================ */
.player-page{
  font-size:14px;
}
.player-page .player-hero-identity h1{
  font-size:clamp(30px,3.2vw,44px) !important;
  line-height:1.02 !important;
}
.player-page .player-hero-identity p{
  font-size:14px !important;
}
.player-page .kicker{
  font-size:11px !important;
}
.player-page h2{
  font-size:clamp(20px,2vw,27px) !important;
  line-height:1.15 !important;
}
.player-page h3{
  font-size:17px !important;
  line-height:1.25 !important;
}
.player-page p,
.player-page label,
.player-page input,
.player-page select,
.player-page textarea,
.player-page button,
.player-page .btn,
.player-page a{
  font-size:14px;
}
.player-page .hero-stat-card{
  min-height:78px !important;
  padding:9px 7px !important;
}
.player-page .hero-stat-card span{
  font-size:10px !important;
  line-height:1.15 !important;
  letter-spacing:.035em !important;
}
.player-page .hero-stat-card strong{
  font-size:22px !important;
  line-height:1 !important;
  white-space:nowrap;
}
.player-page .hero-stat-card small{
  font-size:10px !important;
  line-height:1.15 !important;
}
.player-page .question-card,
.player-page .player-question-card{
  font-size:14px;
}
.player-page .question-card strong,
.player-page .player-question-card strong{
  font-size:15px;
  line-height:1.3;
}
.player-page .option-row,
.player-page .answer-option{
  font-size:14px !important;
}
.player-page .completed-week-copy strong{
  font-size:15px !important;
}
.player-page .completed-week-copy small,
.player-page .muted,
.player-page .history-question-row>span{
  font-size:12px !important;
}
.player-page .history-question-row>strong{
  font-size:14px !important;
}
.player-page .weekly-result-summary span{
  font-size:11px !important;
}
.player-page .weekly-result-summary strong{
  font-size:20px !important;
}
@media(max-width:760px){
  .player-page .player-hero-identity h1{
    font-size:30px !important;
  }
  .player-page .hero-stat-card strong{
    font-size:20px !important;
  }
}


/* ============================================================
   V81 — Finalization operation feedback
   ============================================================ */
.finalize-operation-note{
  flex:1 0 100%;
  width:100%;
  margin-top:12px;
  padding:12px 14px;
  border-radius:9px;
  border-left:4px solid #70df4d;
  background:rgba(80,153,54,.11);
  display:grid;
  gap:4px;
}
.finalize-operation-note strong{
  color:#fff;
  font-size:15px;
}
.finalize-operation-note span{
  color:#d2ddd5;
  font-size:13px;
  line-height:1.45;
}

/* ============================================================
   V82 — one unified login button on the home hero.
   The Player Login uses the unified login area so
   the old Admin/Player split is completely covered by one access point.
   ============================================================ */
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(2){
  left:69.10% !important;
  width:28.30% !important;
}

/* V83: one Player Login. Keep Phil's original hero artwork while covering the retired embedded login buttons. */
html body .hero.hero-art::after{
  content:"";
  position:absolute;
  z-index:2;
  left:52.8%;
  right:1.5%;
  bottom:1.8%;
  height:20.5%;
  border-radius:16px;
  background:linear-gradient(90deg,rgba(2,14,8,.94),rgba(3,22,12,.96));
  border:1px solid rgba(91,151,94,.22);
  box-shadow:0 8px 28px rgba(0,0,0,.35);
}
html body .hero.hero-art .hero-action-buttons{
  z-index:4 !important;
  left:54.7% !important;
  right:2.7% !important;
  top:79.2% !important;
  height:17.2% !important;
  display:flex !important;
  gap:1.2% !important;
  align-items:stretch !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  position:relative !important;
  inset:auto !important;
  width:auto !important;
  height:100% !important;
  flex:1 1 0 !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(1),
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(2){
  left:auto !important;
  width:auto !important;
}
@media(max-width:950px){
  html body .hero.hero-art::after{left:51.5%;right:1%;}
  html body .hero.hero-art .hero-action-buttons{left:53.5% !important;right:2% !important;}
}
@media(max-width:700px){
  html body .hero.hero-art::after{left:48%;right:1%;}
  html body .hero.hero-art .hero-action-buttons{left:49.5% !important;right:2% !important;gap:6px !important;}
  html body .hero.hero-art .hero-action-buttons .hero-art-btn{font-size:clamp(9px,2.2vw,14px) !important;padding:4px 6px !important;}
}

/* ============================================================
   V84 — single Player Login homepage
   The legacy buttons are part of the original hero artwork itself.
   This opaque access panel completely masks that baked-in button strip
   while preserving Phil and the rest of the original artwork unchanged.
   ============================================================ */
html body .hero.hero-art::after{
  content:"" !important;
  position:absolute !important;
  z-index:30 !important;
  left:52.55% !important;
  right:1.15% !important;
  bottom:1.1% !important;
  height:19.4% !important;
  border-radius:14px !important;
  background:#03150d !important;
  border:1px solid rgba(104,177,93,.45) !important;
  box-shadow:0 8px 26px rgba(0,0,0,.55) !important;
  opacity:1 !important;
}
html body .hero.hero-art .hero-action-buttons{
  z-index:50 !important;
  left:54.15% !important;
  right:2.2% !important;
  top:81.0% !important;
  height:14.7% !important;
  display:flex !important;
  gap:1.3% !important;
  align-items:stretch !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  width:auto !important;
  height:100% !important;
  flex:1 1 0 !important;
  pointer-events:auto !important;
}
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(1),
html body .hero.hero-art .hero-action-buttons .hero-art-btn:nth-child(2){
  left:auto !important;
  width:auto !important;
}
@media(max-width:950px){
  html body .hero.hero-art::after{left:50.5% !important;right:.8% !important;}
  html body .hero.hero-art .hero-action-buttons{left:52% !important;right:1.8% !important;}
}
@media(max-width:700px){
  html body .hero.hero-art::after{left:47% !important;right:.5% !important;}
  html body .hero.hero-art .hero-action-buttons{left:48.5% !important;right:1.2% !important;gap:6px !important;}
}


/* ============================================================
   V85 — clean homepage hero.
   The legacy three-button strip is baked into the source artwork.
   Instead of covering it with an overlay, crop the artwork immediately
   above that strip and place the two real site actions beneath it.
   This preserves Phil's original photo pixel-for-pixel.
   ============================================================ */
html body .hero.hero-art.hero-clean-crop{
  width:min(1536px,100%) !important;
  max-width:1536px !important;
  aspect-ratio:1536/400 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto !important;
  position:relative !important;
  overflow:hidden !important;
  background:#03120b !important;
  border-bottom:0 !important;
}
html body .hero.hero-art.hero-clean-crop::after{display:none !important;content:none !important;}
html body .hero.hero-art.hero-clean-crop>img{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  object-fit:initial !important;
  object-position:initial !important;
  display:block !important;
}
html body .hero.hero-art.hero-clean-crop .hero-action-buttons{display:none !important;}

.home-access-bar{
  width:min(1536px,100%);
  margin:0 auto;
  padding:14px clamp(16px,4vw,64px);
  display:flex;
  justify-content:flex-end;
  gap:14px;
  box-sizing:border-box;
  background:linear-gradient(180deg,#061b10,#03120b);
  border-top:1px solid #2b6844;
  border-bottom:1px solid #2b6844;
}
.home-access-btn{
  width:min(310px,42vw);
  min-height:66px;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px 18px;
  border:2px solid #77d63d;
  border-radius:12px;
  background:linear-gradient(180deg,#218d1d,#0d5c18);
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 5px 16px rgba(0,0,0,.35);
  font-family:Impact,'Arial Narrow',Arial,sans-serif;
  font-size:clamp(16px,1.35vw,22px);
  letter-spacing:.02em;
}
.home-access-btn:hover,.home-access-btn:focus-visible{
  filter:brightness(1.12);
  transform:translateY(-1px);
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:2px;
}
.home-access-btn>span{font-size:28px}
.home-access-btn>b{font-family:Arial,sans-serif;font-size:32px;font-weight:400}
@media(max-width:700px){
  html body .hero.hero-art.hero-clean-crop{aspect-ratio:1536/400 !important;}
  .home-access-bar{justify-content:center;padding:10px;gap:8px}
  .home-access-btn{width:50%;min-height:54px;padding:8px 10px;gap:7px;font-size:clamp(11px,3vw,16px)}
  .home-access-btn>span{font-size:20px}
  .home-access-btn>b{font-size:22px}
}

/* ============================================================
   V86 — show substantially more of Phil's hero artwork.
   The source image is 1536x505 and its old three-button strip begins
   near y=400. We show through y=470 so Phil's shirt, football and trophy
   are visible, then cover ONLY the bottom legacy-button area with the
   real two-button access bar. The bar overlaps the image instead of
   creating a large empty band.
   ============================================================ */
html body .hero.hero-art.hero-clean-crop{
  aspect-ratio:1536/470 !important;
  border-bottom:1px solid #2b6844 !important;
}
html body .hero.hero-art.hero-clean-crop>img{
  width:100% !important;
  height:auto !important;
}
.home-access-bar{
  position:relative;
  z-index:60;
  margin:-72px auto 0 !important;
  min-height:72px;
  padding:8px clamp(16px,4vw,64px) !important;
  background:linear-gradient(90deg,rgba(3,18,11,.94),rgba(3,25,14,.98)) !important;
  border-top:1px solid rgba(75,145,78,.7) !important;
  border-bottom:1px solid #2b6844 !important;
}
.home-access-btn{
  min-height:54px !important;
}
@media(max-width:900px){
  html body .hero.hero-art.hero-clean-crop{aspect-ratio:1536/455 !important;}
  .home-access-bar{margin:-58px auto 0 !important;min-height:58px;padding:6px 12px !important;}
  .home-access-btn{min-height:46px !important;}
}
@media(max-width:700px){
  html body .hero.hero-art.hero-clean-crop{aspect-ratio:1536/445 !important;}
  .home-access-bar{margin:-50px auto 0 !important;min-height:50px;}
}

/* ============================================================
   V87 — FULL PHIL HERO
   Source artwork is 1536x575. Show the full source image instead
   of cropping Phil at y=445/470. Only the obsolete baked-in login
   strip in the lower-right corner is masked. The site's real two
   buttons sit BELOW the artwork and do not cover Phil.
   ============================================================ */
html body .hero.hero-art.hero-clean-crop{
  width:min(1536px,100%) !important;
  max-width:1536px !important;
  aspect-ratio:1536/575 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto !important;
  position:relative !important;
  overflow:hidden !important;
  background:#03120b !important;
  border-bottom:1px solid #2b6844 !important;
}
html body .hero.hero-art.hero-clean-crop>img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
  object-position:center !important;
  display:block !important;
}
/* Cover ONLY the obsolete button artwork (x≈54.6%–100%, y≈81.5%–100%).
   Phil, his shirt, trophy, chair and football remain fully visible elsewhere. */
html body .hero.hero-art.hero-clean-crop::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:20 !important;
  left:54.45% !important;
  right:0 !important;
  top:81.0% !important;
  bottom:0 !important;
  background:
    linear-gradient(180deg,rgba(5,20,13,.97),rgba(2,13,8,.99)) !important;
  border-left:1px solid rgba(66,119,72,.22) !important;
  opacity:1 !important;
  pointer-events:none !important;
}
html body .hero.hero-art.hero-clean-crop .hero-action-buttons{
  display:none !important;
}

/* Real site actions are entirely below the picture. */
.home-access-bar{
  position:relative !important;
  z-index:60 !important;
  width:min(1536px,100%) !important;
  margin:0 auto !important;
  min-height:78px !important;
  padding:10px clamp(18px,4vw,64px) !important;
  display:flex !important;
  justify-content:flex-end !important;
  gap:14px !important;
  box-sizing:border-box !important;
  background:linear-gradient(180deg,#061b10,#03120b) !important;
  border-top:0 !important;
  border-bottom:1px solid #2b6844 !important;
}
.home-access-btn{
  width:min(310px,42vw) !important;
  min-height:56px !important;
}
@media(max-width:900px){
  html body .hero.hero-art.hero-clean-crop{
    aspect-ratio:1536/575 !important;
  }
  .home-access-bar{
    margin:0 auto !important;
    min-height:66px !important;
    padding:7px 12px !important;
  }
}
@media(max-width:700px){
  html body .hero.hero-art.hero-clean-crop{
    aspect-ratio:1536/575 !important;
  }
  html body .hero.hero-art.hero-clean-crop::after{
    left:54% !important;
    top:80.5% !important;
  }
  .home-access-bar{
    margin:0 auto !important;
    justify-content:center !important;
    min-height:58px !important;
    padding:6px 8px !important;
  }
  .home-access-btn{
    width:50% !important;
    min-height:46px !important;
  }
}

/* ============================================================
   V94 — optional 30-day remembered login
   ============================================================ */
.remember-login-option{
  display:flex !important;
  flex-direction:row !important;
  align-items:flex-start !important;
  gap:11px !important;
  padding:12px 13px !important;
  border:1px solid #356b49 !important;
  border-radius:9px !important;
  background:#071d12 !important;
  cursor:pointer;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.remember-login-option input[type="checkbox"]{
  width:19px !important;
  height:19px !important;
  min-height:0 !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  flex:0 0 auto;
  accent-color:#55d72f;
}
.remember-login-option span{
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.25;
}
.remember-login-option strong{
  color:#f5fff4;
  font-size:14px;
}
.remember-login-option small{
  color:#9db7a3;
  font-size:12px;
  font-weight:400;
}

/* ============================================================
   V95 — simplified weekly-question workflow
   ============================================================ */
.v95-release-center{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:16px 18px !important;
}
.v95-release-copy{display:flex;flex-direction:column;gap:4px;max-width:680px}
.v95-release-copy strong{font-size:20px !important}
.v95-release-copy span{font-size:15px;color:#c7d4c9}
.v95-primary-week-button{min-width:320px !important}
.sent-week-button{opacity:.8;cursor:default !important}
.v95-reopen-disclosure{margin-top:8px;font-size:13px;color:#b8c8ba}
.v95-reopen-disclosure summary{cursor:pointer;color:#9fc8a4}
.v95-reopen-disclosure form{margin-top:8px}
.week-released{border-color:#4d8d50 !important;background:#0b2c18 !important}
.v95-results-box{
  border:2px solid #547d35 !important;
  padding:18px !important;
}
@media(max-width:800px){
  .v95-release-center{flex-direction:column !important;align-items:stretch !important}
  .v95-primary-week-button{width:100% !important;min-width:0 !important}
}

/* V96 — make the active-week control impossible to miss */
.v96-make-current-prominent{margin-left:auto;margin-right:14px}
.v96-make-current-prominent .btn{white-space:nowrap;font-weight:900}
.v96-current-week-confirm{
  margin-left:auto;margin-right:14px;padding:10px 14px;border:1px solid #3c9d52;
  border-radius:999px;color:#8df36b;background:#092718;font-weight:800;white-space:nowrap
}
@media(max-width:900px){
  .v96-make-current-prominent,.v96-current-week-confirm{margin:10px 0;width:100%}
  .v96-make-current-prominent .btn{width:100%}
}

/* ============================================================
   V99 — simplified Manage Players card layout
   ============================================================ */
.v99-player-manager .admin-main-body{padding-top:20px}
.v99-player-manager-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  margin-bottom:18px;
}
.v99-player-manager-head h2{margin:3px 0 5px}
.v99-add-player{position:relative;flex:0 0 auto}
.v99-add-player>summary{list-style:none;cursor:pointer;min-width:150px;text-align:center}
.v99-add-player>summary::-webkit-details-marker{display:none}
.v99-add-player-panel{
  position:absolute;right:0;top:54px;z-index:80;width:min(680px,86vw);
  padding:20px;border:1px solid #39764a;border-radius:14px;background:#071d12;
  box-shadow:0 18px 45px rgba(0,0,0,.5);
}
.v99-add-player-panel h3{margin-top:0}
.v99-add-player-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.v99-add-player-form button{align-self:end}

.v99-player-summary-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 18px;
}
.v99-player-summary-strip>div{
  border:1px solid #275d39;border-radius:10px;background:#071c11;padding:12px 14px;
  display:flex;align-items:baseline;gap:8px;
}
.v99-player-summary-strip strong{font-size:24px;color:#83ef5a}
.v99-player-summary-strip span{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#a8bcae}

.v99-player-card-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
.v99-player-card{
  border:1px solid #2d6740;border-radius:14px;background:#092317;
  padding:17px;box-shadow:0 7px 20px rgba(0,0,0,.18);
}
.v99-player-card.is-inactive{opacity:.72;background:#111d17}
.v99-player-card-top{
  display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding-bottom:13px;border-bottom:1px solid #214f33;
}
.v99-player-avatar{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:#1d6d32;border:2px solid #7ee952;color:white;font-size:22px;font-weight:900;
}
.v99-player-card.is-inactive .v99-player-avatar{background:#34433a;border-color:#75847a}
.v99-player-identity h3{margin:0;font-size:20px;line-height:1.1}
.v99-player-identity p{margin:4px 0 0;color:#b9cbbb;font-size:14px}
.v99-status{
  border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;
}
.v99-status.active{background:#173d1d;color:#8cf068;border:1px solid #488b49}
.v99-status.inactive{background:#302b22;color:#d5c39e;border:1px solid #6a5d43}

.v99-player-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 0;
}
.v99-player-facts>div{
  min-width:0;display:flex;flex-direction:column;gap:3px;
}
.v99-player-facts span{
  color:#7f9e87;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
}
.v99-player-facts strong{
  font-size:13px;color:#f2fff4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.v99-email-fact{grid-column:1/-1}

.v99-player-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:relative}
.v99-player-card-actions>.btn,.v99-manage-player>summary{width:100%;box-sizing:border-box;text-align:center}
.v99-manage-player{position:relative}
.v99-manage-player>summary{list-style:none;cursor:pointer}
.v99-manage-player>summary::-webkit-details-marker{display:none}
.v99-manage-menu{
  position:absolute;right:0;bottom:52px;z-index:70;width:min(430px,82vw);
  border:1px solid #3c754b;border-radius:13px;background:#06190f;
  box-shadow:0 18px 45px rgba(0,0,0,.55);padding:14px;
}
.v99-manage-heading{padding:2px 3px 12px;border-bottom:1px solid #214a30;display:flex;flex-direction:column}
.v99-manage-heading strong{font-size:16px}
.v99-manage-heading small{color:#96ab9a;margin-top:2px}
.v99-manage-action-list{display:grid;gap:8px;padding-top:10px}
.v99-menu-button,.v99-action-disclosure>summary,.v99-danger-disclosure>summary{
  width:100%;box-sizing:border-box;border:1px solid #315f40;border-radius:8px;background:#0b2819;
  color:#eefcf1;padding:10px 12px;text-align:left;font:inherit;font-weight:700;cursor:pointer;
}
.v99-menu-button:hover,.v99-action-disclosure>summary:hover{background:#123821}
.v99-menu-info{
  border:1px solid #446e3f;border-radius:8px;padding:10px 12px;background:#132d18;color:#97ed78;font-weight:800;
}
.v99-action-disclosure>summary,.v99-danger-disclosure>summary{list-style:none}
.v99-action-disclosure>summary::-webkit-details-marker,.v99-danger-disclosure>summary::-webkit-details-marker{display:none}
.v99-action-body{padding:11px 2px 3px}
.v99-action-body form{display:grid;gap:8px}
.v99-danger-disclosure>summary{color:#d7c7ad;background:#211e17;border-color:#5c503e}
.v99-danger-body{margin-top:8px;padding:12px;border:1px solid #6e3933;border-radius:8px;background:#241311}
.v99-danger-body p{margin-top:0;color:#e4c4bf}

@media(max-width:850px){
  .v99-player-card-grid{grid-template-columns:1fr}
  .v99-player-summary-strip{grid-template-columns:repeat(2,1fr)}
  .v99-player-manager-head{flex-direction:column}
  .v99-add-player{width:100%}
  .v99-add-player>summary{width:100%;box-sizing:border-box}
  .v99-add-player-panel{position:relative;top:8px;right:auto;width:auto}
}
@media(max-width:560px){
  .v99-add-player-form{grid-template-columns:1fr}
  .v99-player-facts{grid-template-columns:1fr}
  .v99-email-fact{grid-column:auto}
  .v99-player-card-actions{grid-template-columns:1fr}
  .v99-manage-menu{left:0;right:auto;width:min(390px,84vw)}
}

/* ============================================================
   V100 — weekly completion tracking and reminder status
   ============================================================ */
.v100-completion-panel{
  margin-top:16px;border:1px solid #2c6940;border-radius:13px;background:#061b10;padding:14px;
}
.v100-completion-heading{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px
}
.v100-completion-heading>div{display:flex;flex-direction:column;gap:2px}
.v100-completion-heading strong{font-size:16px}
.v100-completion-heading span{font-size:12px;color:#a7bbaa}
.v100-email-warning{
  border:1px solid #8b6741;border-radius:999px;padding:5px 8px;color:#f4ca84 !important;background:#30210f
}
.v100-completion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.v100-completion-row{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:8px;
  border:1px solid #235437;border-radius:8px;padding:8px 10px;background:#092216
}
.v100-completion-row.complete{border-color:#488b49;background:#102e18}
.v100-completion-icon{font-size:18px;font-weight:900;color:#77e957}
.v100-completion-row.waiting .v100-completion-icon{color:#91a596}
.v100-completion-player{display:flex;flex-direction:column;min-width:0}
.v100-completion-player strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v100-completion-player small{font-size:11px;color:#91a596;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v100-completion-count{font-size:12px;font-weight:800;color:#d2e3d5}
.v100-completion-status{font-size:9px;font-weight:900;letter-spacing:.05em;color:#9dac9f}
.v100-completion-row.complete .v100-completion-status{color:#8df36b}
.v100-phil-email-setting{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px;margin:12px 0 18px;border:1px solid #346847;border-radius:10px;background:#082116
}
.v100-phil-email-setting>div{display:flex;flex-direction:column;gap:3px}
.v100-phil-email-setting>div span{font-size:12px;color:#9fb0a2}
.v100-phil-email-setting form{display:flex;gap:8px;align-items:center;min-width:min(520px,55%)}
.v100-phil-email-setting input{min-width:0;flex:1}
@media(max-width:800px){
 .v100-completion-list{grid-template-columns:1fr}
 .v100-phil-email-setting{flex-direction:column;align-items:stretch}
 .v100-phil-email-setting form{min-width:0;width:100%}
}

/* ============================================================
   V101 — persistent live-data safety indicator
   ============================================================ */
.v101-data-safety-note{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:8px 11px;
  border:1px solid #285c39;
  border-radius:8px;
  background:#061a0f;
  font-size:11px;
  color:#9db0a1;
}
.v101-data-safety-note>span{
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.06em;
  color:#75d85b;
}
.v101-data-safety-note>strong{color:#e7f7ea}
.v101-data-safety-note>small{margin-left:auto;color:#7e9784}

/* V102 — restricted non-admin player email policy */
.v102-email-policy-card{
  border-color:#3e6948 !important;
  background:#071c11 !important;
}
.v102-email-policy-card .panel-title{margin-bottom:0 !important}
.v102-email-policy-card .panel-title>span{
  color:#9fe77d;border:1px solid #49784f;border-radius:999px;padding:5px 9px
}

/* ============================================================
   V103 — flexible 2–26 answer choices + click-anywhere selection
   ============================================================ */
.v103-answer-builder{
  border:1px solid #315f40;border-radius:12px;background:#071d12;padding:14px;
}
.v103-answer-builder-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;
}
.v103-answer-builder-head>div:first-child{display:flex;flex-direction:column;gap:2px}
.v103-answer-builder-head small{color:#98ad9c;font-size:12px}
.v103-answer-count-controls{display:flex;align-items:center;gap:9px}
.v103-answer-count-controls>span{
  min-width:32px;text-align:center;font-weight:900;font-size:18px;color:#eaffea
}
.v103-answer-count-btn{
  width:38px;height:38px;border-radius:9px;border:1px solid #4d9858;background:#12391f;
  color:#fff;font-size:27px;font-weight:800;line-height:1;cursor:pointer
}
.v103-answer-count-btn:disabled{opacity:.35;cursor:not-allowed}
.v103-answer-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v103-answer-field{
  display:grid !important;grid-template-columns:36px auto 1fr;align-items:center;gap:8px;
  padding:8px !important;border:1px solid #29583b;border-radius:9px;background:#092317
}
.v103-answer-field>span:nth-child(2){font-size:12px;color:#a8bcae;font-weight:800}
.v103-answer-letter{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:#1d6b32;color:white;font-weight:900
}
.v103-answer-field input{min-width:0}

.v103-final-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}
.v103-final-option{
  display:grid !important;grid-template-columns:24px 34px 1fr;align-items:center;gap:8px;
  border:1px solid #315f40;border-radius:10px;padding:10px 12px;background:#092317;
  cursor:pointer;color:#eef8f0
}
.v103-final-option:hover{background:#0f3120;border-color:#55a865}
.v103-final-option.is-selected{
  border-color:#79dc55 !important;background:#153a20 !important;box-shadow:inset 0 0 0 1px #79dc55
}
.v103-final-radio{width:17px;height:17px;accent-color:#64d641}
.v103-final-option>b{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#1d6b32;color:#fff
}
.v103-final-dropdown{margin-top:4px !important}

.v103-player-answers{display:grid;gap:9px}
.v103-player-answer{
  display:grid !important;grid-template-columns:22px 38px 1fr;align-items:center;gap:10px;
  padding:13px 14px !important;border:2px solid #2e6340 !important;border-radius:11px !important;
  background:#082217 !important;cursor:pointer;transition:.12s ease
}
.v103-player-answer:hover{border-color:#58a965 !important;background:#0d2e1e !important}
.v103-player-answer.is-selected{
  border-color:#7ce154 !important;background:#123b20 !important;
  box-shadow:0 0 0 1px rgba(124,225,84,.35) inset
}
.v103-player-answer input[type="radio"]{width:18px;height:18px;accent-color:#64d641}
.v103-player-answer-letter{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1e7237;
  color:#fff;font-weight:900;font-size:16px
}
.v103-player-answer-text{font-size:15px;line-height:1.3;color:#f3fff5}
.v103-player-answer-dropdown{
  display:flex !important;flex-direction:column;gap:6px;margin:12px 0 !important;
  padding:11px 12px !important;border:1px solid #315f40;border-radius:9px;background:#071c12
}
.v103-player-answer-dropdown>span{font-size:12px;font-weight:800;color:#a7b9aa}
.v103-player-answer-dropdown select{width:100%}

@media(max-width:760px){
  .v103-answer-fields,.v103-final-option-grid{grid-template-columns:1fr}
  .v103-answer-builder-head{align-items:flex-start}
}


/* ============================================================
   V108 — SAFE HOME HERO FIX
   Do not repaint, blur, duplicate, or mask the artwork.
   Show the original hero only through the clean portion above the
   obsolete baked-in buttons, then place the two real buttons below.
   ============================================================ */
body.home-page .hero.hero-art.hero-clean-crop{
  width:min(1536px,100%) !important;
  max-width:1536px !important;
  height:auto !important;
  aspect-ratio:1536/455 !important;
  margin:0 auto !important;
  position:relative !important;
  overflow:hidden !important;
  background:#03120b !important;
  border-bottom:1px solid #275c3a !important;
}
body.home-page .hero.hero-art.hero-clean-crop>img{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:top center !important;
  display:block !important;
}
body.home-page .hero.hero-art.hero-clean-crop::before,
body.home-page .hero.hero-art.hero-clean-crop::after{
  display:none !important;
  content:none !important;
}
body.home-page .home-access-bar{
  width:min(1536px,100%) !important;
  max-width:1536px !important;
  min-height:72px !important;
  margin:0 auto !important;
  padding:8px clamp(18px,4vw,64px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:14px !important;
  box-sizing:border-box !important;
  background:#03150d !important;
  border-top:0 !important;
  border-bottom:1px solid #275c3a !important;
}
body.home-page .home-access-btn{
  width:min(310px,42vw) !important;
  min-height:54px !important;
  margin:0 !important;
}
body.home-page main.container{
  padding-top:34px !important;
}
@media(max-width:700px){
  body.home-page .home-access-bar{
    justify-content:center !important;
    min-height:58px !important;
    padding:6px 8px !important;
    gap:8px !important;
  }
  body.home-page .home-access-btn{
    width:50% !important;
    min-height:46px !important;
  }
}

/* ============================================================
   V109 — standings-style Manage Players table
   ============================================================ */
.v109-player-manager-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px
}
.v109-player-manager-head h2{margin:4px 0 5px}
.v109-add-player{position:relative}
.v109-add-player>summary{list-style:none;cursor:pointer}
.v109-add-player>summary::-webkit-details-marker{display:none}
.v109-add-player-panel{
  position:absolute;right:0;top:50px;z-index:90;width:min(680px,88vw);
  padding:18px;border:1px solid #347048;border-radius:12px;background:#071c11;
  box-shadow:0 18px 45px rgba(0,0,0,.5)
}
.v109-add-player-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.v109-player-table-wrap{
  border:1px solid #2e6841;border-radius:14px;overflow:visible;background:#05170e
}
.v109-player-table-head,
.v109-player-row-summary{
  display:grid;
  grid-template-columns:110px minmax(220px,1.5fr) 95px 145px minmax(180px,1fr) 110px;
  align-items:center;
  gap:12px;
}
.v109-player-table-head{
  padding:11px 16px;background:#082417;border-radius:14px 14px 0 0;
  color:#7fb18a;font-size:10px;font-weight:900;letter-spacing:.06em
}
.v109-player-table-body{display:block}
.v109-player-row{
  border-top:1px solid #173d27;background:#04190f
}
.v109-player-row:first-child{border-top:0}
.v109-player-row.is-inactive{background:#111a15;opacity:.72}
.v109-player-row>summary{list-style:none}
.v109-player-row>summary::-webkit-details-marker{display:none}
.v109-player-row-summary{
  min-height:62px;padding:9px 16px;cursor:pointer;color:#f5fff7
}
.v109-player-row-summary:hover{background:#0b2618}
.v109-player-row[open]>.v109-player-row-summary{background:#0e2e1d}

.v109-player-status{display:flex;align-items:center;gap:7px;font-size:10px}
.v109-status-dot{width:10px;height:10px;border-radius:50%;display:inline-block}
.v109-status-dot.active{background:#62dc3f;box-shadow:0 0 0 3px rgba(98,220,63,.13)}
.v109-status-dot.inactive{background:#867760}
.v109-player-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.v109-player-name strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v109-player-name small{font-size:12px;color:#7bb08a}
.v109-player-role{
  display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900
}
.v109-player-role.admin-role{color:#ffe38f;background:#3b3011;border:1px solid #725e25}
.v109-player-role.player-role{color:#9be881;background:#14321b;border:1px solid #366e3e}
.v109-player-username,.v109-player-email{
  font-size:12px;color:#d7e6da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.v109-player-action-label{
  display:flex;justify-content:flex-end;align-items:center;gap:8px;color:#9fe67d;font-size:12px;font-weight:800
}
.v109-player-action-label b{
  width:24px;height:24px;border:1px solid #5dbf55;border-radius:50%;display:grid;place-items:center;font-size:17px
}
.v109-player-row[open] .v109-player-action-label b{transform:rotate(45deg)}

.v109-player-row-details{
  padding:16px;border-top:1px solid #265838;background:#082116
}
.v109-player-detail-intro{
  display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px
}
.v109-player-detail-intro h3{margin:3px 0 0}
.v109-player-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v109-action-box{
  border:1px solid #2e6540;border-radius:10px;background:#071b11;padding:12px
}
.v109-action-box>summary{list-style:none;cursor:pointer;font-weight:800;color:#f3fff5}
.v109-action-box>summary::-webkit-details-marker{display:none}
.v109-action-content{padding-top:10px}
.v109-action-content form{display:grid;gap:8px}
.v109-simple-action{display:flex;flex-direction:column;gap:7px}
.v109-simple-action>span{font-size:12px;color:#a7b9aa}
.v109-danger-action{border-color:#6d3e37;background:#1e1210}

@media(max-width:1050px){
  .v109-player-table-head{display:none}
  .v109-player-row-summary{
    grid-template-columns:90px minmax(180px,1fr) 90px 100px;
  }
  .v109-player-email{display:none}
  .v109-player-action-label{grid-column:auto}
}
@media(max-width:760px){
  .v109-player-manager-head{flex-direction:column}
  .v109-add-player{width:100%}
  .v109-add-player>summary{width:100%;box-sizing:border-box;text-align:center}
  .v109-add-player-panel{position:relative;right:auto;top:8px;width:auto}
  .v109-add-player-form{grid-template-columns:1fr}
  .v109-player-row-summary{
    grid-template-columns:70px 1fr 80px;
  }
  .v109-player-username{display:none}
  .v109-player-action-label span{display:none}
  .v109-player-actions-grid{grid-template-columns:1fr}
}

/* ============================================================
   V110 — PLAYER ANSWER FORMATTING REPAIR
   One clean clickable answer row. Hide the browser radio control and
   use the A/B/C/D badge as the visible selection indicator.
   ============================================================ */
body.player-console-page .v103-player-answers{
  display:grid !important;
  gap:10px !important;
  margin:14px 0 12px !important;
}

body.player-console-page .v103-player-answer{
  position:relative !important;
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  min-height:56px !important;
  padding:8px 14px !important;
  border:1px solid #2e6841 !important;
  border-radius:11px !important;
  background:#082218 !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  transition:background .12s ease,border-color .12s ease,box-shadow .12s ease !important;
}

body.player-console-page .v103-player-answer:hover{
  border-color:#6bd650 !important;
  background:#0c2d1d !important;
}

body.player-console-page .v103-player-answer input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  pointer-events:none !important;
}

body.player-console-page .v103-player-answer-letter{
  width:38px !important;
  height:38px !important;
  margin:0 !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  background:#176b35 !important;
  border:2px solid transparent !important;
  color:#fff !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

body.player-console-page .v103-player-answer-text{
  display:block !important;
  min-width:0 !important;
  color:#f2fff4 !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
}

body.player-console-page .v103-player-answer.is-selected{
  border:2px solid #70df4b !important;
  background:#123c21 !important;
  box-shadow:0 0 0 1px rgba(112,223,75,.18) inset !important;
}

body.player-console-page .v103-player-answer.is-selected .v103-player-answer-letter{
  background:#65d43f !important;
  border-color:#b8ff9e !important;
  color:#071508 !important;
  box-shadow:0 0 0 3px rgba(101,212,63,.15) !important;
}

body.player-console-page .v103-player-answer-dropdown{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  margin:14px 0 12px !important;
  padding:12px 14px !important;
  border:1px solid #315f40 !important;
  border-radius:10px !important;
  background:#071c12 !important;
}

body.player-console-page .v103-player-answer-dropdown>span{
  color:#a8bcae !important;
  font-size:12px !important;
  font-weight:800 !important;
}

body.player-console-page .v103-player-answer-dropdown select{
  width:100% !important;
  min-height:42px !important;
  padding:8px 10px !important;
  border:1px solid #427753 !important;
  border-radius:8px !important;
  background:#0c2a1b !important;
  color:#f4fff5 !important;
  font-size:14px !important;
  font-weight:700 !important;
}

body.player-console-page .v103-player-answer-dropdown select:focus{
  outline:2px solid #65d43f !important;
  outline-offset:1px !important;
}

body.player-console-page .player-question-accordion-body form>.btn.green{
  min-width:160px !important;
  min-height:46px !important;
  padding:10px 18px !important;
  font-size:15px !important;
  font-weight:900 !important;
}

body.player-console-page .player-hidden-result-note{
  margin:12px 0 0 !important;
  padding:10px 12px !important;
  border-left:3px solid #65d43f !important;
  background:#0c2a17 !important;
  color:#d0e7d3 !important;
}

@media(max-width:600px){
  body.player-console-page .v103-player-answer{
    grid-template-columns:42px minmax(0,1fr) !important;
    min-height:52px !important;
    padding:7px 11px !important;
  }
  body.player-console-page .v103-player-answer-letter{
    width:34px !important;
    height:34px !important;
    font-size:15px !important;
  }
  body.player-console-page .v103-player-answer-text{
    font-size:15px !important;
  }
}

/* ============================================================
   V111 — one week-level final-answer submission / grading action
   ============================================================ */
.v111-final-submit-panel{
  margin-top:18px;
  padding:18px;
  border:2px solid #4b7443;
  border-radius:13px;
  background:#0a2316;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px 22px;
}
.v111-final-submit-panel h3{margin:3px 0 5px;font-size:21px}
.v111-final-submit-panel p{margin:0;color:#c0d0c3;line-height:1.45}
.v111-final-submit-panel>small{
  grid-column:1/-1;
  color:#94aa99;
  border-top:1px solid #2b5639;
  padding-top:10px;
}
.v111-final-submit-panel.is-ready{border-color:#70be4d;background:#102c18}
.v111-final-submit-panel.is-finalized{border-color:#4d9854;background:#102a18}
.v111-submit-finals-btn{min-width:310px;font-weight:900}
.v111-submit-finals-btn:disabled{opacity:.4;cursor:not-allowed}
.v111-finalized-badge{
  padding:11px 15px;
  border:1px solid #60af55;
  border-radius:999px;
  background:#163b1d;
  color:#9ff17e;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:800px){
  .v111-final-submit-panel{grid-template-columns:1fr}
  .v111-submit-finals-btn{width:100%;min-width:0}
}

/* ============================================================
   V113 — simplified admin grading workflow
   ============================================================ */
.v113-week-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}
.v113-step-card{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:66px;
  padding:10px 12px;
  border:1px solid #315f40;
  border-radius:10px;
  background:#081d12;
  color:#fff;
  text-decoration:none;
}
.v113-step-card:hover{background:#0d2a1a;border-color:#64bb58}
.v113-step-card.done{border-color:#4b9b4e;background:#102d18}
.v113-step-card.ready{border-color:#d3a83c;background:#30270f}
.v113-step-card.attention{border-color:#a96b3f}
.v113-step-number{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  background:#1a6332;color:#fff;font-weight:900;flex:0 0 auto
}
.v113-step-card.ready .v113-step-number{background:#c79925;color:#171006}
.v113-step-card>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.v113-step-card strong{font-size:13px}
.v113-step-card small{font-size:11px;color:#98ad9c}

.v113-submission-panel{margin-top:12px}
.v113-submission-panel .v100-completion-row.graded{
  border-color:#6fae4f;background:#16331a
}
.v113-submission-panel .v100-completion-row.graded .v100-completion-icon,
.v113-submission-panel .v100-completion-row.graded .v100-completion-status{color:#b9f17c}
.v113-submission-panel .v100-completion-count{
  display:flex;align-items:center;gap:8px
}
.v113-submission-panel .v100-completion-count b{color:#83ef5a}
.v113-email-ok{
  max-width:360px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid #39754a;
  border-radius:999px;
  padding:5px 9px;
  color:#9ee97e !important;
  background:#0c2916
}
.v113-email-setup{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin:0 0 12px;padding:11px 12px;border:1px solid #8a6636;border-radius:9px;background:#2a1e0c
}
.v113-email-setup>div{display:flex;flex-direction:column;gap:2px}
.v113-email-setup>div span{font-size:12px;color:#dcc79f}
.v113-email-setup form{display:flex;gap:7px;min-width:min(480px,55%)}
.v113-email-setup input{flex:1;min-width:0}

.v113-workflow-banner{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px
}
.v113-workflow-banner>div{
  display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #2f6541;
  border-radius:10px;background:#081e13
}
.v113-workflow-banner b{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#1e6b36;color:#fff
}
.v113-workflow-banner span{display:flex;flex-direction:column}
.v113-workflow-banner strong{font-size:13px}
.v113-workflow-banner small{font-size:11px;color:#95aa99}
.v113-workflow-banner .v113-final-step{border-color:#a8812b;background:#2c240f}
.v113-workflow-banner .v113-final-step b{background:#c69a2c;color:#171005}

.v111-final-submit-panel{
  border:3px solid #c59b32 !important;
  background:#241e0c !important;
  box-shadow:0 0 0 3px rgba(197,155,50,.10) inset;
}
.v111-final-submit-panel.is-ready{
  border-color:#8cdc59 !important;
  background:#12351c !important;
}
.v111-submit-finals-btn{
  min-width:360px !important;
  min-height:58px !important;
  font-size:16px !important;
  letter-spacing:.02em;
  box-shadow:0 5px 16px rgba(0,0,0,.25);
}
.v113-results-note{margin-top:14px !important}

@media(max-width:900px){
  .v113-week-steps{grid-template-columns:repeat(2,1fr)}
  .v113-workflow-banner{grid-template-columns:1fr}
}
@media(max-width:700px){
  .v113-email-setup{flex-direction:column;align-items:stretch}
  .v113-email-setup form{min-width:0;width:100%}
  .v113-week-steps{grid-template-columns:1fr}
  .v111-submit-finals-btn{min-width:0 !important;width:100% !important}
}

/* V115 authoritative status + live question results */
.v115-grade-state{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.v115-grade-state.pending{border:1px solid #7c6941;background:#2b230f;color:#efcf81}
.v115-grade-state.graded{border:1px solid #519e4d;background:#14351a;color:#9df07b}
.v115-email-status{margin:10px 0 14px;padding:9px 11px;border:1px solid #315f40;border-radius:8px;background:#071c11;color:#b9cbbb;font-size:12px}
.v115-email-status b{color:#ffae8e}
.v115-live-table-wrap{overflow:auto;border:1px solid #2a603d;border-radius:12px}
.v115-live-table{width:100%;border-collapse:collapse;min-width:760px;background:#061a10}
.v115-live-table th,.v115-live-table td{padding:11px 12px;border-bottom:1px solid #1f4930;text-align:center}
.v115-live-table th{background:#092518;color:#8fc49a;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.v115-live-table th:first-child,.v115-live-table td:first-child{text-align:left;min-width:180px}
.v115-live-table th small{display:block;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none;letter-spacing:0;color:#6f9a79;margin-top:3px}
.v115-live-table td:first-child strong,.v115-live-table td:first-child small{display:block}
.v115-live-table td:first-child small{color:#7fb08a;margin-top:2px}
.v115-question-cell{min-width:110px}
.v115-question-cell .v115-answer-letter{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#1d6333;color:#fff;font-weight:900;margin-bottom:3px}
.v115-question-cell small{display:block;color:#8da592;font-size:10px;margin-top:3px}
.v115-question-cell.right{background:#102f19}
.v115-question-cell.right .v115-answer-letter{background:#58bf3e}
.v115-question-cell.right b{display:block;color:#8df36b;font-size:11px}
.v115-question-cell.wrong{background:#281613}
.v115-question-cell.wrong .v115-answer-letter{background:#8b4235}
.v115-question-cell.wrong b{display:block;color:#ffad9f;font-size:11px}
.v115-no-answer{display:block;font-size:20px;color:#7b8d80}
.v115-week-points strong{display:block;font-size:17px;color:#8df36b}
.v115-week-points small{display:block;color:#8ca091;font-size:10px;margin-top:2px}
.v115-live-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding:9px 11px;border:1px solid #285538;border-radius:8px;background:#071b11;color:#9fb1a2;font-size:11px}
.v115-live-legend b{color:#89e768}

/* V116 email delivery diagnostics */
.v116-transport{border:1px solid #4b844f;border-radius:999px;padding:6px 9px;color:#a2ef81}
.v116-mail-warning,.v116-mail-ok{
  display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:9px;margin:10px 0 14px
}
.v116-mail-warning{border:1px solid #9a6c2f;background:#2c1f0c;color:#f0d18b}
.v116-mail-warning span,.v116-mail-ok span{font-size:12px;line-height:1.45}
.v116-mail-ok{border:1px solid #4f914d;background:#11301a;color:#a8ef88}
.v116-email-events{border:1px solid #2d603e;border-radius:10px;overflow:hidden}
.v116-email-events-head,.v116-email-event-row{
  display:grid;grid-template-columns:minmax(180px,1.4fr) 70px 70px 70px 80px minmax(120px,1fr);
  gap:8px;align-items:center;padding:9px 11px
}
.v116-email-events-head{background:#092518;color:#83b68d;font-size:10px;font-weight:900}
.v116-email-event-row{border-top:1px solid #204b31;font-size:12px}
.v116-email-event-row>span:first-child{display:flex;flex-direction:column}
.v116-email-event-row small{color:#78917e;font-size:10px;margin-top:2px}
.v116-email-event-row .ok{color:#8df36b;font-weight:900}
.v116-email-event-row .bad{color:#ff9d8d;font-weight:900}
@media(max-width:800px){
 .v116-email-events-head{display:none}
 .v116-email-event-row{grid-template-columns:1fr repeat(3,55px)}
 .v116-email-event-row span:nth-child(2),.v116-email-event-row span:nth-child(6){display:none}
}

/* V118 — keep manual grading available even after a week was finalized */
.v118-regrade-btn{
  min-width:300px !important;
  min-height:52px !important;
  font-weight:900 !important;
  border-color:#78c75b !important;
  color:#b9f59d !important;
  background:#0e2b18 !important;
}
.v118-regrade-btn:hover{
  background:#173d21 !important;
}

/* V119 — finalized week is a hard player-answer lock */
.v119-finalized-lock-notice{
  border-color:#70b954 !important;
  background:#102f18 !important;
}
.v119-finalized-lock-notice strong{color:#a6f083 !important}
.player-question-card.closed-question .v103-player-answer{
  cursor:default !important;
}

/* ============================================================
   V120 — current-week status accuracy + side-by-side controls
   ============================================================ */
.v120-player-week-heading{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:16px !important;
}
.v120-week-heading-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex:0 0 auto !important;
}
.v120-week-heading-actions .current-week-pill{
  margin:0 !important;
}

.v120-week-control-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  flex-wrap:nowrap !important;
}
.v120-week-control-row .v96-current-week-confirm,
.v120-week-control-row .v96-make-current-prominent,
.v120-week-control-row .dashboard-week-selector{
  margin:0 !important;
}
.v120-week-control-row .dashboard-week-selector{
  flex:0 0 auto !important;
}

@media(max-width:760px){
  .v120-player-week-heading{
    align-items:flex-start !important;
  }
  .v120-week-control-row{
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
  }
}


/* ============================================================
   V121 — clearer homepage button type + finish-current-week control
   ============================================================ */
body.home-page .home-access-btn{
  font-family:'Arial Narrow','Segoe UI Condensed',Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.025em !important;
}
body.home-page .home-access-btn>strong{
  font-family:'Arial Narrow','Segoe UI Condensed',Arial,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.025em !important;
  text-shadow:none !important;
}

.v121-finish-week-form{margin:0 !important}
.v121-finish-week-btn{
  min-height:46px !important;
  padding:10px 16px !important;
  white-space:nowrap !important;
  font-size:13px !important;
  font-weight:800 !important;
}
.v121-finish-week-btn.is-disabled{
  opacity:.5 !important;
  cursor:not-allowed !important;
}
.v120-week-control-row{
  gap:10px !important;
}
@media(max-width:1050px){
  .v120-week-control-row{
    flex-wrap:wrap !important;
  }
}

/* ============================================================
   V122 — neutral email delivery status
   ============================================================ */
.v122-mail-normal{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid #3f7a4a;
  border-radius:9px;
  background:#0d2917;
  color:#b7e8bd;
}
.v122-mail-normal span{
  color:#9fc8a5;
  font-size:12px;
  line-height:1.45;
}
.v122-mail-problem{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid #b86a4e;
  border-radius:9px;
  background:#321711;
  color:#ffc0ac;
}
.v122-mail-problem span{
  font-size:12px;
  line-height:1.45;
}
.v122-transport{
  color:#a7d9ad !important;
  border-color:#3c7447 !important;
  background:#0b2515 !important;
}

/* V123 — selected-week Archive / Restore */
.v123-week-archive{border-color:#536b3d !important}
.v123-archive-badge{
  display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #7a9e50;
  border-radius:999px;background:#172b11;color:#c7ef92;font-size:11px;font-weight:900
}
.v123-archive-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 12px
}
.v123-archive-actions form{margin:0}
.v123-archive-actions button{width:100%;min-height:58px;font-weight:900}
.v123-archive-btn{background:#8c681a !important;border-color:#d2a332 !important;color:#fff9df !important}
.v123-restore-btn{background:#0b2a16 !important;border-color:#5f9d54 !important;color:#b7ed9e !important}
.v123-archive-actions button:disabled{opacity:.35 !important;cursor:not-allowed !important}
.v123-archive-status{
  padding:10px 12px;border:1px solid #31583b;border-radius:8px;background:#071b10;
  color:#9eb2a2;font-size:12px
}
.v123-archive-status strong{color:#e4eee5}
.v123-archive-note{display:block;margin-top:9px;color:#849889;line-height:1.45}
@media(max-width:760px){.v123-archive-actions{grid-template-columns:1fr}}

/* V124 — Finish Week grading-state consistency */
.v124-finish-week-disabled-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.v124-finish-week-disabled-wrap small{
  color:#75907c;
  font-size:9px;
  white-space:nowrap;
}

/* V125 — Finalize & Grade safety warning */
.v125-finalize-warning{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:2px 0 0;
  padding:12px 14px;
  border:2px solid #d2a12f;
  border-radius:9px;
  background:#34270b;
  color:#ffe6a1;
}
.v125-finalize-warning strong{
  color:#ffd25e;
  font-size:13px;
  font-weight:900;
}
.v125-finalize-warning span{
  color:#e7d7a8;
  font-size:12px;
  line-height:1.45;
}

/* V126 — dedicated administrator messaging */
.v126-admin-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.v126-messaging-btn{display:inline-flex!important;align-items:center;gap:8px;border-color:#5eaa51!important;color:#bff0ad!important}
.v126-nav-message-link{display:inline-flex!important;align-items:center;gap:6px}
.v126-nav-message-link.has-unread,.v126-messaging-btn.has-unread{border-color:#dfa929!important;background:#2c220b!important;color:#ffe28b!important}
.v126-unread-badge{display:inline-flex;align-items:center;justify-content:center;height:20px;min-width:25px;padding:0 6px;border-radius:999px;background:#e0aa29;color:#191105;font-size:9px;font-weight:900;white-space:nowrap}
.v126-messaging-page .admin-wrap{max-width:1180px}
.v126-message-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #315d3e;border-radius:10px;background:#071b11}
.v126-message-summary.has-unread{border-color:#b88726;background:#241d0b}
.v126-message-summary>div{display:flex;flex-direction:column;gap:2px}
.v126-message-summary span{font-size:10px;color:#82a98a;font-weight:900}
.v126-message-summary strong{color:#f4fff5}
.v126-message-summary>a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;border:1px solid #487a4e;border-radius:999px;padding:7px 10px;color:#bce8bf;font-weight:800}
.v126-message-summary>a b{padding:3px 6px;border-radius:999px;background:#e0aa29;color:#191105;font-size:9px}
@media(max-width:700px){.v126-admin-hero-actions{width:100%;justify-content:flex-start}.v126-admin-hero-actions .btn{width:100%;box-sizing:border-box;justify-content:center}}

/* V127 — cleaner Admin Console hero */
.admin-dashboard-page .admin-hero h1{
  font-family: Arial, Helvetica, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -1.2px !important;
  text-transform: uppercase;
  line-height: 1.02;
}
.admin-dashboard-page .admin-hero .v126-admin-hero-actions{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
}
.admin-dashboard-page .admin-hero .v126-admin-hero-actions .btn{
  width:auto !important;
  min-width:0 !important;
  white-space:nowrap;
  justify-content:center;
}
@media(max-width:700px){
  .admin-dashboard-page .admin-hero .v126-admin-hero-actions{
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
  }
}

/* V128 — simplified Admin Console hero and navigation */
.admin-dashboard-page .v128-admin-hero h1{
  font-family:inherit!important;
  font-size:34px!important;
  line-height:1.05!important;
  font-weight:700!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  margin:5px 0 7px!important;
}
.admin-dashboard-page .v128-admin-hero .kicker{
  font-size:11px;
  letter-spacing:.8px;
}
.admin-dashboard-page .v128-admin-hero p{
  max-width:620px;
  margin:0;
}
.v128-weekly-questions-btn{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
}
#players,#weekly-questions{
  scroll-margin-top:78px;
}
@media(max-width:760px){
  .admin-dashboard-page .v128-admin-hero h1{font-size:29px!important}
  .admin-dashboard-page .v128-admin-hero .v126-admin-hero-actions{flex-wrap:wrap!important}
}

/* V132 — Weekly Questions corrected workflow order */
#weekly-questions .inline-question-columns{
  margin-bottom:18px;
}
#weekly-questions .weekly-email-center{
  margin-top:18px;
  margin-bottom:18px;
}
#weekly-questions .v111-final-submit-panel{
  margin-top:18px;
}

/* ============================================================
   V133 — phase-aware Weekly Questions workflow
   ============================================================ */
.v133-workflow-banner{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.v133-phase-card{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #2d5a3a;
  border-radius:10px;
  background:#081c12;
  transition:opacity .2s ease,background .2s ease,border-color .2s ease;
}
.v133-phase-card>b{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:#215f38;
  color:#fff;
  font-weight:900;
}
.v133-phase-card>span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v133-phase-card strong{
  color:#eefaf0;
  font-size:13px;
}
.v133-phase-card small{
  color:#8fac95;
  font-size:10px;
  line-height:1.35;
}
.v133-phase-card.pending{
  opacity:.45;
  filter:saturate(.65);
}
.v133-phase-card.complete{
  opacity:.58;
  background:#0b2115;
  border-color:#315b3c;
}
.v133-phase-card.complete>b{
  background:#2d6a3b;
}
.v133-phase-card.active{
  opacity:1;
  border-color:#d1a52f;
  background:#34270b;
  box-shadow:0 0 0 1px rgba(209,165,47,.15) inset;
}
.v133-phase-card.active>b{
  background:#d3a329;
  color:#171006;
}
.v133-phase-card.active strong{
  color:#fff3c0;
}
.v133-phase-card.active small{
  color:#dec889;
}
.v133-week-complete-message{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:0 0 16px;
  padding:13px 15px;
  border:2px solid #65b94f;
  border-radius:10px;
  background:#10341a;
}
.v133-week-complete-message strong{
  color:#9df276;
  font-size:15px;
}
.v133-week-complete-message span{
  color:#b5d8ba;
  font-size:12px;
}
.v133-week-email-warning{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:-6px 0 16px;
  padding:10px 12px;
  border:1px solid #b5664c;
  border-radius:8px;
  background:#30150f;
  color:#ffb6a2;
  font-size:12px;
}
@media(max-width:850px){
  .v133-workflow-banner{grid-template-columns:1fr}
}

/* ============================================================
   V134 — Week at a Glance real workflow dashboard
   ============================================================ */
.v134-this-week-heading{
  display:grid !important;
  grid-template-columns:minmax(300px,1fr) auto !important;
  align-items:start !important;
  gap:20px !important;
}
.v134-week-control-row{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:nowrap !important;
  min-width:0;
}
.v134-week-control-row .v96-current-week-confirm,
.v134-week-control-row .v121-finish-week-form,
.v134-week-control-row .v124-finish-week-disabled-wrap,
.v134-week-control-row .dashboard-week-selector{
  flex:0 0 auto !important;
  margin:0 !important;
}
.v134-week-control-row .v96-current-week-confirm{
  white-space:nowrap;
}
.v134-week-control-row .v121-finish-week-btn{
  min-height:44px !important;
  padding:0 18px !important;
  white-space:nowrap;
}
.v134-week-control-row .week-big-badge{
  min-height:44px !important;
  display:flex !important;
  align-items:center !important;
  white-space:nowrap;
}

.v134-week-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.v134-progress-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:10px;
  text-decoration:none;
  transition:background .18s ease,border-color .18s ease,opacity .18s ease;
}
.v134-progress-number{
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  font-size:15px;
  font-weight:900;
}
.v134-progress-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v134-progress-copy strong{
  font-size:12px;
  line-height:1.2;
}
.v134-progress-copy small{
  font-size:10px;
  line-height:1.3;
}

/* Not started = light red */
.v134-progress-card.not-started{
  background:#3b1818;
  border-color:#995656;
}
.v134-progress-card.not-started .v134-progress-number{
  background:#b96060;
  color:#fff;
}
.v134-progress-card.not-started strong{color:#ffd5d5}
.v134-progress-card.not-started small{color:#dbaaaa}

/* In progress = yellow */
.v134-progress-card.working{
  background:#3a2d0c;
  border-color:#c6962b;
}
.v134-progress-card.working .v134-progress-number{
  background:#d6a52a;
  color:#181006;
}
.v134-progress-card.working strong{color:#fff1b4}
.v134-progress-card.working small{color:#d9c37e}

/* Completed = green */
.v134-progress-card.complete{
  background:#11351b;
  border-color:#4d9e55;
}
.v134-progress-card.complete .v134-progress-number{
  background:#2a8a48;
  color:#fff;
}
.v134-progress-card.complete strong{color:#d8f8d8}
.v134-progress-card.complete small{color:#9fd0a5}

.v134-progress-card:hover{
  filter:brightness(1.08);
}
.v134-progress-card.message-card .v126-unread-badge{
  margin-left:auto;
  flex:0 0 auto;
}

@media(max-width:1050px){
  .v134-this-week-heading{
    grid-template-columns:1fr !important;
  }
  .v134-week-control-row{
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
  .v134-week-progress{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:650px){
  .v134-week-progress{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   V135 — cleaner Week at a Glance + closed-by-default accordions
   ============================================================ */
.v135-week-control-row{
  display:grid !important;
  grid-template-columns:auto auto auto !important;
  align-items:center !important;
  justify-content:end !important;
  gap:10px !important;
}
.v135-week-control-row > *{
  margin:0 !important;
  align-self:center !important;
}
.v135-week-control-row .v96-current-week-confirm,
.v135-week-control-row .v121-finish-week-btn,
.v135-week-control-row .week-big-badge{
  min-height:46px !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.v135-week-control-row .v124-finish-week-disabled-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
}
.v135-week-control-row .v124-finish-week-disabled-wrap small{
  line-height:1.1 !important;
  margin:0 !important;
}

.v135-week-progress{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
}
.v135-week-progress .v134-progress-card{
  min-height:66px !important;
  height:100% !important;
  box-sizing:border-box !important;
}

.v135-signout-btn{
  border-color:#7f8f83 !important;
  color:#e4e8e5 !important;
}

@media(max-width:1100px){
  .v135-week-control-row{
    grid-template-columns:1fr !important;
    justify-content:stretch !important;
  }
  .v135-week-control-row > *{
    width:100% !important;
  }
  .v135-week-control-row .v96-current-week-confirm,
  .v135-week-control-row .v121-finish-week-form,
  .v135-week-control-row .v124-finish-week-disabled-wrap,
  .v135-week-control-row .dashboard-week-selector{
    width:100% !important;
  }
}
@media(max-width:760px){
  .v135-week-progress{
    grid-template-columns:1fr !important;
  }
}

/* ============================================================
   V136 — Admin Console header: smaller title, buttons underneath
   ============================================================ */
.v136-admin-hero{
  display:block !important;
}
.v136-admin-hero h1,
.v136-admin-hero .admin-title,
.v136-admin-hero .v128-admin-title{
  font-size:34px !important;
  line-height:1.08 !important;
  margin:6px 0 10px !important;
  max-width:none !important;
}
.v136-admin-hero .admin-hero-actions,
.v136-admin-hero .admin-header-actions,
.v136-admin-hero .v128-admin-actions,
.v136-admin-hero .hero-actions{
  width:100% !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
  position:static !important;
  transform:none !important;
}

/* Catch the actual button wrapper even if it does not carry one of the
   historical action class names. */
.v136-admin-hero:has(.v128-weekly-questions-btn) > div:last-child{
  width:100% !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:14px !important;
  position:static !important;
  transform:none !important;
}

@media(max-width:700px){
  .v136-admin-hero h1,
  .v136-admin-hero .admin-title,
  .v136-admin-hero .v128-admin-title{
    font-size:29px !important;
  }
}

/* ============================================================
   V137 — exact Admin Console vertical stack
   Title -> buttons -> description
   ============================================================ */
.v137-admin-hero{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:0 !important;
}
.v137-admin-hero h1{
  font-size:30px !important;
  line-height:1.08 !important;
  margin:7px 0 14px !important;
  width:100% !important;
}
.v137-admin-hero-actions{
  display:flex !important;
  width:100% !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:0 0 14px !important;
  position:static !important;
  transform:none !important;
}
.v137-admin-description{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  max-width:none !important;
  font-size:16px !important;
  line-height:1.45 !important;
}
@media(max-width:700px){
  .v137-admin-hero h1{font-size:27px !important}
}

/* ============================================================
   V138 — Manage Players repair and visual cleanup
   ============================================================ */
.v138-player-manager .v109-player-manager-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:16px !important;
}
.v138-player-manager .v109-player-manager-head h2{
  margin:4px 0 6px !important;
}
.v138-player-manager .v109-add-player{
  flex:0 0 auto !important;
  margin:0 !important;
}
.v138-player-manager .v109-add-player > summary{
  list-style:none !important;
}
.v138-player-manager .v109-add-player > summary::-webkit-details-marker{
  display:none !important;
}

.v138-player-table-wrap{
  width:100% !important;
  overflow-x:auto !important;
  border:1px solid #2c6440 !important;
  border-radius:12px !important;
  background:#061a10 !important;
}
.v138-player-table-head,
.v138-player-row-summary{
  display:grid !important;
  grid-template-columns:100px minmax(190px,1.5fr) 100px 130px minmax(180px,1.2fr) 185px !important;
  align-items:center !important;
  column-gap:12px !important;
}
.v138-player-table-head{
  min-width:920px !important;
  padding:11px 14px !important;
  background:#092518 !important;
  border-bottom:1px solid #2b5f3d !important;
}
.v138-player-table-head span{
  color:#7eae89 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

.v138-player-row{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.v138-player-row + .v138-player-row{
  border-top:1px solid #1f4930 !important;
}
.v138-player-row-summary{
  list-style:none !important;
  min-width:840px !important;
  padding:12px 14px !important;
  margin:0 !important;
  background:#071d12 !important;
  color:#edf8ef !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
}
.v138-player-row-summary::-webkit-details-marker{display:none !important}
.v138-player-row-summary::marker{content:"" !important}
.v138-player-row:hover > .v138-player-row-summary{
  background:#0b2818 !important;
}
.v138-player-row[open] > .v138-player-row-summary{
  background:#10351f !important;
  border-bottom:1px solid #2e6741 !important;
}

.v138-player-row .v109-player-status,
.v138-player-row .v109-player-name,
.v138-player-row .v109-player-role,
.v138-player-row .v109-player-username,
.v138-player-row .v109-player-email,
.v138-player-row .v109-player-action-label{
  min-width:0 !important;
}
.v138-player-row .v109-player-status{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
}
.v138-player-row .v109-status-dot{
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  flex:0 0 auto !important;
}
.v138-player-row .v109-status-dot.active{background:#65d64b !important}
.v138-player-row .v109-status-dot.inactive{background:#777 !important}
.v138-player-row .v109-player-status strong{
  font-size:10px !important;
  color:#cce8d2 !important;
}

.v138-player-row .v109-player-name{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
}
.v138-player-row .v109-player-name strong{
  color:#f5fff6 !important;
  font-size:13px !important;
}
.v138-player-row .v109-player-name small{
  color:#7fae89 !important;
  font-size:11px !important;
}

.v138-player-row .v109-player-role{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  font-size:9px !important;
  font-weight:900 !important;
}
.v138-player-row .v109-player-role.admin-role{
  border:1px solid #b28e2d !important;
  background:#30270e !important;
  color:#f1d475 !important;
}
.v138-player-row .v109-player-role.player-role{
  border:1px solid #427d50 !important;
  background:#0e301b !important;
  color:#a8e5b0 !important;
}

.v138-player-row .v109-player-username,
.v138-player-row .v109-player-email{
  color:#c5d5c8 !important;
  font-size:11px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.v138-player-row .v109-player-action-label{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:7px !important;
  color:#9be87e !important;
  font-size:11px !important;
  font-weight:900 !important;
}
.v138-player-row .v109-player-action-label b{
  display:grid !important;
  place-items:center !important;
  width:24px !important;
  height:24px !important;
  border:1px solid #5ca35e !important;
  border-radius:50% !important;
  line-height:1 !important;
}
.v138-player-row[open] .v109-player-action-label b{
  transform:rotate(45deg) !important;
}

.v138-player-row .v109-player-row-details{
  min-width:840px !important;
  padding:16px !important;
  background:#081f13 !important;
}
.v138-player-row .v109-player-detail-intro{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:14px !important;
  margin-bottom:14px !important;
}
.v138-player-row .v109-player-actions-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:12px !important;
}
.v138-player-row .v109-action-box{
  border:1px solid #2c5b3b !important;
  border-radius:9px !important;
  background:#071a10 !important;
  padding:11px !important;
}

@media(max-width:900px){
  .v138-player-manager .v109-player-manager-head{
    flex-direction:column !important;
  }
  .v138-player-row .v109-player-actions-grid{
    grid-template-columns:1fr !important;
  }
}


/* ============================================================
   V139 — iOS / Android responsive layout
   Desktop remains unchanged; these rules target tablets/phones.
   ============================================================ */

/* iOS safe areas + prevent accidental horizontal overflow */
html{
  -webkit-text-size-adjust:100%;
}
body{
  max-width:100%;
  overflow-x:hidden;
}
button,input,select,textarea{
  font:inherit;
}
button,.btn,summary,a{
  -webkit-tap-highlight-color:transparent;
}
input,select,textarea{
  max-width:100%;
  box-sizing:border-box;
}
img,svg,video{
  max-width:100%;
  height:auto;
}

/* Better touch targets */
@media (pointer:coarse){
  button,
  .btn,
  .mini-btn,
  summary,
  select,
  input[type="checkbox"],
  input[type="radio"]{
    min-height:44px;
  }
}

/* -------- Tablet / narrow desktop -------- */
@media(max-width:980px){

  .admin-wrap,
  main,
  .wrap,
  .container{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .admin-wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  /* Top bars */
  .adminbar{
    padding-left:14px !important;
    padding-right:14px !important;
    gap:12px !important;
  }
  .adminbar nav{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:7px !important;
  }
  .adminbar nav a{
    white-space:nowrap !important;
  }

  /* Admin header */
  .v137-admin-hero{
    padding:18px !important;
  }
  .v137-admin-hero-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
  }
  .v137-admin-hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    text-align:center !important;
    justify-content:center !important;
  }

  /* Week at a glance */
  .v134-this-week-heading{
    display:block !important;
  }
  .v135-week-control-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
    margin-top:14px !important;
    justify-content:stretch !important;
  }
  .v135-week-control-row > *{
    width:100% !important;
    min-width:0 !important;
  }
  .v135-week-control-row .v96-current-week-confirm{
    grid-column:1 / -1 !important;
  }
  .v135-week-control-row .btn,
  .v135-week-control-row .week-big-badge{
    width:100% !important;
  }
  .v135-week-progress{
    grid-template-columns:1fr !important;
  }

  /* Main accordions */
  .admin-main-accordion > summary{
    min-height:62px !important;
    padding:13px 15px !important;
  }
  .admin-main-body{
    padding:14px !important;
  }

  /* Weekly Questions workflow */
  .v133-workflow-banner{
    grid-template-columns:1fr !important;
  }
  .week-links,
  .inline-week-links{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
  }
  .week-link{
    flex:1 1 110px !important;
    text-align:center !important;
  }
  .question-count-summary{
    grid-template-columns:1fr !important;
  }
  .inline-question-columns{
    grid-template-columns:1fr !important;
  }
  .weekly-email-center,
  .v111-final-submit-panel{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .weekly-email-actions,
  .v111-final-submit-panel form{
    width:100% !important;
  }
  .weekly-email-actions .btn,
  .v111-final-submit-panel .btn{
    width:100% !important;
  }

  /* Forms */
  .two,
  .three,
  .compact-form,
  .stack-form .two,
  .week-calendar-grid{
    grid-template-columns:1fr !important;
  }
  .question-save-row{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }
  .question-save-row .btn{
    width:100% !important;
  }

  /* Possible answers */
  .v103-answer-builder-head{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
  }
  .v103-answer-count-controls{
    justify-content:center !important;
  }
  .v103-answer-field{
    grid-template-columns:38px 1fr !important;
    gap:8px !important;
  }
  .v103-answer-field > span:nth-child(2){
    display:none !important;
  }
  .v103-answer-field input{
    width:100% !important;
  }

  /* Player completion rows */
  .v100-completion-list{
    grid-template-columns:1fr !important;
  }

  /* Manage Players: convert table rows into readable mobile cards */
  .v138-player-manager .v109-player-manager-head{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .v138-player-manager .v109-add-player{
    width:100% !important;
  }
  .v138-player-manager .v109-add-player > summary{
    width:100% !important;
    justify-content:center !important;
    box-sizing:border-box !important;
  }

  .v138-player-table-wrap{
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
  }
  .v138-player-table-head{
    display:none !important;
  }
  .v138-player-table-body{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .v138-player-row{
    border:1px solid #2c6440 !important;
    border-radius:12px !important;
    overflow:hidden !important;
    background:#071d12 !important;
  }
  .v138-player-row + .v138-player-row{
    border-top:1px solid #2c6440 !important;
  }
  .v138-player-row-summary{
    min-width:0 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:8px 12px !important;
    padding:14px !important;
  }
  .v138-player-row .v109-player-status{
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .v138-player-row .v109-player-action-label{
    grid-column:2 !important;
    grid-row:1 !important;
  }
  .v138-player-row .v109-player-name{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    padding-top:3px !important;
  }
  .v138-player-row .v109-player-name strong{
    font-size:16px !important;
  }
  .v138-player-row .v109-player-role{
    grid-column:1 !important;
    grid-row:3 !important;
  }
  .v138-player-row .v109-player-username{
    grid-column:1 / -1 !important;
    grid-row:4 !important;
  }
  .v138-player-row .v109-player-username::before{
    content:"Username: ";
    color:#72927a;
    font-weight:700;
  }
  .v138-player-row .v109-player-email{
    grid-column:1 / -1 !important;
    grid-row:5 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .v138-player-row .v109-player-email::before{
    content:"Email: ";
    color:#72927a;
    font-weight:700;
  }
  .v138-player-row .v109-player-row-details{
    min-width:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:14px !important;
  }
  .v138-player-row .v109-player-detail-intro{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .v138-player-row .v109-player-detail-intro .btn{
    width:100% !important;
  }
  .v138-player-row .v109-player-actions-grid{
    grid-template-columns:1fr !important;
  }

  /* Archive / restore */
  .v123-archive-actions{
    grid-template-columns:1fr !important;
  }

  /* Email event history */
  .v116-email-events{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  /* Messaging */
  .v126-message-summary{
    flex-direction:column !important;
    align-items:stretch !important;
  }
  .v126-message-summary > a{
    justify-content:center !important;
  }

  /* Player answer cards */
  .player-question-card,
  .question-card{
    width:100% !important;
    box-sizing:border-box !important;
  }
  .player-answer-options,
  .answer-options{
    grid-template-columns:1fr !important;
  }
}

/* -------- Phone -------- */
@media(max-width:640px){

  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
    padding-bottom:env(safe-area-inset-bottom);
  }

  .admin-wrap{
    padding-left:9px !important;
    padding-right:9px !important;
  }

  /* Header/nav becomes compact and wraps */
  .adminbar{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    padding:10px !important;
  }
  .adminbar .brand{
    align-self:flex-start !important;
  }
  .adminbar nav{
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-top:7px !important;
  }
  .adminbar nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-height:42px !important;
    padding:6px 8px !important;
    border:1px solid #295638 !important;
    border-radius:8px !important;
    box-sizing:border-box !important;
  }

  .return-home-fixed{
    display:none !important;
  }

  /* Admin hero */
  .v137-admin-hero{
    padding:15px !important;
    border-radius:12px !important;
  }
  .v137-admin-hero h1{
    font-size:26px !important;
    margin-bottom:12px !important;
  }
  .v137-admin-description{
    font-size:14px !important;
  }
  .v137-admin-hero-actions{
    grid-template-columns:1fr !important;
  }

  /* Week at a glance controls all full width */
  .this-week-dashboard{
    padding:14px !important;
  }
  .this-week-heading h2{
    font-size:25px !important;
  }
  .v135-week-control-row{
    grid-template-columns:1fr !important;
  }
  .v135-week-control-row .v96-current-week-confirm{
    grid-column:auto !important;
    white-space:normal !important;
    text-align:center !important;
  }
  .v124-finish-week-disabled-wrap small{
    white-space:normal !important;
    text-align:center !important;
  }

  /* Week progress cards */
  .v134-progress-card{
    min-height:72px !important;
  }
  .v134-progress-copy strong{
    font-size:13px !important;
  }
  .v134-progress-copy small{
    font-size:11px !important;
  }

  /* Accordion headings */
  .admin-main-accordion > summary{
    min-height:58px !important;
    padding:11px 12px !important;
  }
  .admin-main-accordion > summary strong{
    font-size:18px !important;
  }

  /* Weekly questions */
  .v133-phase-card{
    padding:11px !important;
  }
  .inline-question-editor > summary,
  .admin-disclosure > summary{
    padding:12px !important;
  }
  .disclosure-body{
    padding:12px !important;
  }
  .week-link{
    flex:1 1 calc(50% - 7px) !important;
  }

  /* Form fields are thumb-friendly */
  label{
    min-width:0 !important;
  }
  input,
  select,
  textarea{
    width:100% !important;
    min-height:44px !important;
    font-size:16px !important; /* prevents iOS zoom-on-focus */
  }
  textarea{
    min-height:100px !important;
  }

  /* Buttons */
  .btn,
  button,
  .mini-btn{
    max-width:100% !important;
  }
  .weekly-action-button,
  .v111-submit-finals-btn,
  .v118-regrade-btn,
  .v123-archive-btn,
  .v123-restore-btn{
    width:100% !important;
    min-width:0 !important;
  }

  /* Answer builder */
  .v103-answer-count-controls{
    width:100% !important;
    display:grid !important;
    grid-template-columns:50px 1fr 50px !important;
  }
  .v103-answer-count-btn{
    width:50px !important;
    height:46px !important;
  }
  .v103-answer-count-controls > span{
    min-height:46px !important;
    display:grid !important;
    place-items:center !important;
  }

  /* Player profile/week title */
  .v120-player-week-heading{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .v120-week-heading-actions{
    width:100% !important;
  }

  /* Tables not converted elsewhere can scroll */
  table{
    max-width:none;
  }
  .table-wrap,
  .standings-wrap,
  .v115-live-table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  /* Home hero/buttons */
  .hero-actions,
  .home-actions,
  .home-access-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hero-actions .btn,
  .home-actions .btn,
  .home-access-actions .btn{
    width:100% !important;
  }
}

/* Very small devices */
@media(max-width:380px){
  .adminbar nav{
    grid-template-columns:1fr !important;
  }
  .this-week-heading h2{
    font-size:22px !important;
  }
  .v137-admin-hero h1{
    font-size:23px !important;
  }
}

/* ============================================================
   V140 — Administrator Player View switch
   ============================================================ */
.v140-view-switch{
  white-space:nowrap;
}
.v137-admin-hero-actions{
  align-items:stretch !important;
}
.v137-admin-hero-actions .v140-view-switch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
@media(max-width:980px){
  .v137-admin-hero-actions .v140-view-switch{
    grid-column:1 / -1 !important;
  }
}
@media(max-width:640px){
  .v137-admin-hero-actions .v140-view-switch{
    grid-column:auto !important;
  }
  .playerbar nav .v140-view-switch{
    border-color:#65d64b !important;
    color:#a9f48d !important;
  }
}

/* ============================================================
   V141 — obvious return path from Admin Player View
   ============================================================ */
.v141-admin-preview-bar{
  width:min(1180px,calc(100% - 28px));
  margin:12px auto 0;
  padding:10px 12px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid #70b95a;
  border-radius:10px;
  background:#10351b;
}
.v141-admin-preview-bar > div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.v141-admin-preview-bar strong{
  color:#a6f083;
  font-size:13px;
}
.v141-admin-preview-bar span{
  color:#a9c9ae;
  font-size:11px;
}
.v141-switch-back-btn{
  flex:0 0 auto;
  white-space:nowrap;
}
.v141-admin-return-link{
  border-color:#6fb45b !important;
  color:#b9f29f !important;
}
.v141-player-hero-admin-action{
  width:100%;
  display:flex;
  justify-content:flex-end;
  margin-bottom:10px;
}
.v141-player-hero-admin-action .btn{
  white-space:nowrap;
}

@media(max-width:640px){
  .v141-admin-preview-bar{
    width:calc(100% - 18px);
    margin-top:9px;
    flex-direction:column;
    align-items:stretch;
  }
  .v141-switch-back-btn,
  .v141-player-hero-admin-action .btn{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .v141-player-hero-admin-action{
    justify-content:stretch;
  }
}

/* ============================================================
   V142 — Android/iPhone Admin Console layout correction
   Fixes legacy absolute/fixed desktop navigation leaking into mobile.
   ============================================================ */

@media(max-width:700px){

  /* Remove desktop/floating navigation geometry on phones. */
  body.v139-mobile-ready.admin-dashboard-page{
    min-width:0 !important;
    width:100% !important;
    overflow-x:hidden !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .adminbar{
    position:static !important;
    inset:auto !important;
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:12px 14px !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .adminbar .brand{
    position:static !important;
    inset:auto !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    transform:none !important;
  }

  /* The desktop adminbar menu duplicates the large in-page admin controls.
     Hide it on phones so there is one clear navigation set. */
  body.v139-mobile-ready.admin-dashboard-page .adminbar nav{
    display:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .admin-wrap{
    position:static !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px !important;
    box-sizing:border-box !important;
    transform:none !important;
  }

  /* Completely reset the Admin Console hero from desktop positioning. */
  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 0 12px !important;
    padding:16px !important;
    box-sizing:border-box !important;
    display:block !important;
    overflow:visible !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero > *{
    position:static !important;
    inset:auto !important;
    float:none !important;
    width:auto !important;
    max-width:100% !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero .eyebrow{
    display:block !important;
    margin:0 0 5px !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero h1{
    display:block !important;
    width:100% !important;
    margin:0 0 14px !important;
    font-size:28px !important;
    line-height:1.05 !important;
    letter-spacing:-.02em !important;
    white-space:normal !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero .v137-admin-hero-actions{
    position:static !important;
    inset:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 15px !important;
    padding:0 !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero .v137-admin-hero-actions > *{
    position:static !important;
    inset:auto !important;
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero .v137-admin-description{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.45 !important;
    transform:none !important;
  }

  /* All main admin sections must flow below the header rather than overlay it. */
  body.v139-mobile-ready.admin-dashboard-page .admin-main-accordion,
  body.v139-mobile-ready.admin-dashboard-page .this-week-dashboard,
  body.v139-mobile-ready.admin-dashboard-page .panel{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .admin-main-accordion{
    position:relative !important;
    inset:auto !important;
    clear:both !important;
    width:100% !important;
    margin:0 0 10px !important;
    transform:none !important;
  }

  body.v139-mobile-ready.admin-dashboard-page .admin-main-accordion > summary{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    box-sizing:border-box !important;
    transform:none !important;
  }

  /* No fixed-position section jump buttons on mobile. */
  body.v139-mobile-ready.admin-dashboard-page a[href^="#"],
  body.v139-mobile-ready.admin-dashboard-page button{
    touch-action:manipulation;
  }
}

@media(max-width:390px){
  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero h1{
    font-size:25px !important;
  }
  body.v139-mobile-ready.admin-dashboard-page .v142-admin-hero{
    padding:14px !important;
  }
}

/* ============================================================
   V143 — answer the whole week, then submit once
   ============================================================ */
.v143-week-answer-question{display:flex;flex-direction:column;gap:12px}
.v143-answer-help{display:block;color:#88aa90;font-size:11px;line-height:1.4}
.v143-submit-all-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:16px;
  padding:18px;
  border:2px solid #66b84e !important;
  background:#0d3018 !important;
}
.v143-submit-all-panel h3{margin:4px 0 5px;color:#f3fff4}
.v143-submit-all-panel p{margin:0;color:#acd0b2}
.v143-submit-all-btn{flex:0 0 auto;min-width:280px}
.v143-submitted-week-notice{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border-color:#61b64d !important;
  background:#10351a !important;
}
.v143-submitted-week-notice strong{color:#a7f287}
.v143-submitted-week-notice p{margin:3px 0 0;color:#b3d3b8}
@media(max-width:700px){
  .v143-submit-all-panel{flex-direction:column;align-items:stretch}
  .v143-submit-all-btn{width:100% !important;min-width:0 !important}
}

/* ============================================================
   V144 — Reset an active player's current/future week
   ============================================================ */
.v144-reset-week-box{
  border-color:#826d33 !important;
  background:#161d0e !important;
}
.v144-reset-week-box > strong{
  color:#f2dc87 !important;
}
.v144-reset-week-box form{
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  margin-top:10px !important;
}
.v144-reset-week-box label{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
}
.v144-reset-week-box select{
  width:100% !important;
}
.v144-reset-week-box small{
  color:#a9aa86 !important;
  line-height:1.4 !important;
}
.v144-reset-week-btn{
  border-color:#c8a547 !important;
  color:#f5dc8c !important;
  width:100% !important;
}
@media(max-width:700px){
  .v144-reset-week-box .v144-reset-week-btn{
    min-height:46px !important;
  }
}

/* V145 cumulative standings and weekly podium */
.season-points-table .stand-row{grid-template-columns:80px minmax(0,1fr) 150px}.season-total{font-size:18px;color:var(--green);font-weight:900;text-align:right}.season-leader-callout{display:flex;align-items:center;gap:18px;padding:18px 22px;margin-bottom:14px}.season-leader-callout>span{color:var(--gold);font-weight:900}.season-leader-callout strong{font-size:22px}.season-leader-callout small{margin-left:auto;color:var(--muted)}.weekly-podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.weekly-podium-card{padding:22px;display:grid;gap:7px;text-align:center}.weekly-podium-card>span{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:1px}.weekly-podium-card>strong{font-size:24px}.weekly-podium-card>small{color:var(--muted)}.weekly-podium-card>b{font-size:20px;color:var(--green)}
@media(max-width:700px){.weekly-podium-grid{grid-template-columns:1fr}.season-leader-callout{align-items:flex-start;flex-direction:column}.season-leader-callout small{margin-left:0}.season-points-table .stand-row{grid-template-columns:48px minmax(0,1fr) 90px}.season-total{font-size:15px}}
.v145-admin-results-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:24px}.v145-admin-results-grid h3{margin:0 0 12px}.v145-admin-standings,.v145-admin-podium{display:grid;gap:8px}.v145-admin-standings>div,.v145-admin-podium>div{display:grid;grid-template-columns:52px 1fr 90px;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(99,153,113,.2);border-radius:9px;background:#06190f}.v145-admin-standings span small{display:block;color:var(--muted);margin-top:2px}.v145-admin-standings strong,.v145-admin-podium strong{text-align:right;color:var(--green)}.v145-admin-podium b{color:var(--gold)}
@media(max-width:800px){.v145-admin-results-grid{grid-template-columns:1fr}}


/* ============================================================
   V169 — SAFE CANCEL / CLOSE CONTROLS
   Gives every expandable data-entry workflow an obvious escape.
   ============================================================ */
.v169-disclosure-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.v169-disclosure-heading h3{margin:0}
.v169-close-x{width:38px;height:38px;min-width:38px;padding:0;display:grid;place-items:center;border:1px solid #4f8b60;border-radius:50%;background:#0a2618;color:#dff7e4;font-size:26px;line-height:1;font-weight:500;cursor:pointer}
.v169-close-x:hover,.v169-close-x:focus-visible{border-color:#77dc5b;background:#123820;outline:none}
.v169-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.v169-form-actions-wide{grid-column:1 / -1;justify-content:flex-end;margin-top:4px}
.v169-form-actions .btn,.v169-form-actions-wide .btn{min-width:130px}
.v109-add-player-form>.v169-form-actions-wide .btn{flex:1 1 180px}
@media(max-width:760px){.v169-form-actions,.v169-form-actions-wide{display:grid;grid-template-columns:1fr;width:100%}.v169-form-actions .btn,.v169-form-actions-wide .btn{width:100%;min-width:0;box-sizing:border-box;text-align:center;justify-content:center}}


/* V170 - obvious, safe player password reset control */
.v170-password-reset-box{
  border:2px solid rgba(104,238,77,.7)!important;
  background:linear-gradient(180deg,rgba(42,107,48,.22),rgba(0,0,0,.08));
}
.v170-password-reset-box>strong{font-size:1.05rem;color:#fff;}
.v170-password-reset-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;}
.v170-password-reset-form label{display:flex;flex-direction:column;gap:5px;font-weight:700;}
.v170-password-reset-form small,.v170-password-reset-form .v170-reset-password-btn{grid-column:1/-1;}
.v170-reset-password-btn{justify-self:start;min-width:220px;}
.v170-password-warning{display:block;margin-top:8px;color:#ffd86b;font-weight:700;}
@media(max-width:760px){
  .v170-password-reset-form{grid-template-columns:1fr;}
  .v170-password-reset-form small,.v170-password-reset-form .v170-reset-password-btn{grid-column:1;}
  .v170-reset-password-btn{width:100%;}
}


/* V174 — one-click player activation/deactivation from the Manage Players table. */
.v174-player-status-form{display:none !important}
.v138-player-row .v174-player-status-btn{
  appearance:none !important;
  border:1px solid currentColor !important;
  border-radius:999px !important;
  padding:5px 9px !important;
  font:inherit !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  background:transparent !important;
}
.v138-player-row .v174-player-status-btn.deactivate{color:#ff9b8c !important}
.v138-player-row .v174-player-status-btn.activate{color:#79ec78 !important;background:rgba(83,217,76,.08) !important}
.v138-player-row .v174-player-status-btn:hover,
.v138-player-row .v174-player-status-btn:focus-visible{
  background:rgba(255,255,255,.09) !important;
  outline:2px solid rgba(255,255,255,.28) !important;
  outline-offset:2px !important;
}
@media(max-width:760px){
  .v138-player-row .v109-player-action-label{gap:6px !important}
  .v138-player-row .v109-player-action-label .v174-manage-label{display:none !important}
  .v138-player-row .v174-player-status-btn{padding:5px 8px !important;font-size:9px !important}
}

/* V179 — explicit final-answer action and commissioner publish-message modal */
.final-answer-quick-action{appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;border:1px solid rgba(103,245,91,.55);background:#173f29;color:#dfffdc;border-radius:999px;padding:8px 13px;font-weight:800;white-space:nowrap}
.final-answer-quick-action:hover,.final-answer-quick-action:focus-visible{background:#215b39;outline:2px solid #67f55b;outline-offset:2px}
.commissioner-modal-open{overflow:hidden}
.commissioner-message-modal[hidden]{display:none!important}
.commissioner-message-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px}
.commissioner-message-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}
.commissioner-message-dialog{position:relative;z-index:1;width:min(680px,100%);background:#082416;border:2px solid #5be85a;border-radius:16px;padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.55);color:#fff}
.commissioner-message-dialog h3{margin:0 42px 10px 0;font-size:1.35rem}
.commissioner-message-dialog p{margin:0 0 16px;line-height:1.5;color:#e4f3e9}
.commissioner-message-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.commissioner-message-label{display:block;font-weight:800}
.commissioner-message-label textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;min-height:125px;resize:vertical;background:#03180f;color:#fff;border:1px solid #39734b;border-radius:10px;padding:12px;font:inherit}
.commissioner-message-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
@media(max-width:680px){.commissioner-message-actions>*{width:100%}.question-accordion-summary{align-items:flex-start}.final-answer-quick-action{margin-left:auto}}

/* V184 question editing/order controls */
.question-primary-edit-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 10px;padding:12px;border:1px solid rgba(112,255,137,.28);border-radius:10px;background:rgba(17,73,38,.18)}
.question-primary-edit-action .edit-question-btn{font-weight:800}
.question-primary-edit-action .field-help{opacity:.82;font-size:.88rem}
.question-display-number{color:#9ef36a;font-weight:900}

/* V192: compact Manage Players selection controls. Override global/touch input sizing. */
#bulk-player-form input[type="checkbox"],
.v109-player-table input.bulk-player-checkbox[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 18px !important;
  transform: none !important;
}
#bulk-player-form .v192-bulk-toolbar {display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}
#bulk-player-form .v192-select-all {display:inline-flex;gap:8px;align-items:center;font-weight:700;margin:0;white-space:nowrap}
#bulk-player-form select {width:auto;min-width:280px;max-width:430px;min-height:42px}
#bulk-player-form .btn {min-height:42px}

/* V193 — truly compact, aligned Manage Players controls. */
.v138-player-manager input[type="checkbox"],
.v138-player-manager #select-all-players,
.v138-player-manager .bulk-player-checkbox {
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #86a68f !important;
  border-radius:3px !important;
  background:#f5f5f5 !important;
  box-shadow:none !important;
  flex:0 0 18px !important;
  vertical-align:middle !important;
  cursor:pointer !important;
}
.v138-player-manager input[type="checkbox"]:checked {
  background:#5ed438 !important;
  border-color:#5ed438 !important;
  box-shadow:inset 0 0 0 4px #082016 !important;
}
.v138-player-manager #bulk-player-form {margin-top:10px !important;}
.v138-player-manager #bulk-player-form .v192-bulk-toolbar {
  display:grid !important;
  grid-template-columns:max-content minmax(230px,380px) max-content max-content !important;
  gap:8px 10px !important;
  align-items:center !important;
  justify-content:start !important;
  margin-top:8px !important;
}
.v138-player-manager #bulk-player-form .v192-select-all {
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:7px !important;
  width:auto !important;
  min-height:34px !important;
  margin:0 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
}
.v138-player-manager #bulk-player-form select {
  width:100% !important;
  min-width:230px !important;
  max-width:380px !important;
  min-height:34px !important;
  height:34px !important;
  padding:4px 30px 4px 10px !important;
  border-radius:7px !important;
  font-size:14px !important;
}
.v138-player-manager #bulk-player-form .btn {
  width:auto !important;
  min-width:0 !important;
  min-height:34px !important;
  height:34px !important;
  padding:5px 13px !important;
  border-radius:7px !important;
  font-size:14px !important;
  line-height:1 !important;
}
.v138-player-manager #bulk-player-count {font-size:13px !important;white-space:nowrap !important;}
.v138-player-manager .v109-add-player > summary.btn {
  min-height:36px !important;
  height:36px !important;
  padding:6px 14px !important;
  border-radius:8px !important;
  font-size:15px !important;
  line-height:1 !important;
}
.v138-player-manager .v109-player-row-summary {
  min-height:54px !important;
  padding-top:7px !important;
  padding-bottom:7px !important;
}
.v138-player-manager .v109-player-status {gap:6px !important;}
.v138-player-manager .v109-player-action-label {gap:6px !important;}
.v138-player-manager .v174-quick-status-form .mini-btn,
.v138-player-manager .v109-player-action-label .mini-btn,
.v138-player-manager .v109-player-action-label button,
.v138-player-manager .v109-player-action-label .btn {
  min-height:28px !important;
  height:28px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1 !important;
}
@media(max-width:850px){
  .v138-player-manager #bulk-player-form .v192-bulk-toolbar{grid-template-columns:1fr auto !important;}
  .v138-player-manager #bulk-player-form .v192-select-all{grid-column:1/-1 !important;}
  .v138-player-manager #bulk-player-count{grid-column:1/-1 !important;}
}

/* ============================================================
   V198 — compact, aligned primary navigation and home controls
   ============================================================ */
body.admin-dashboard-page .v137-admin-hero{
  padding:28px 32px !important;
}
body.admin-dashboard-page .v137-admin-hero .kicker{
  font-size:12px !important;
  letter-spacing:.12em !important;
}
body.admin-dashboard-page .v137-admin-hero h1{
  font-size:clamp(30px,3.2vw,44px) !important;
  line-height:1.05 !important;
  margin:6px 0 12px !important;
}
body.admin-dashboard-page .v137-admin-hero-actions{
  display:grid !important;
  grid-template-columns:repeat(6,max-content) !important;
  align-items:center !important;
  justify-content:start !important;
  gap:8px !important;
  margin:0 0 12px !important;
}
body.admin-dashboard-page .v137-admin-hero-actions .btn{
  width:auto !important;
  min-width:0 !important;
  min-height:38px !important;
  height:38px !important;
  padding:7px 14px !important;
  border-radius:8px !important;
  font-size:14px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
body.admin-dashboard-page .v137-admin-description{
  font-size:14px !important;
  line-height:1.4 !important;
}
body.admin-dashboard-page .this-week-dashboard .btn,
body.admin-dashboard-page .this-week-dashboard button,
body.admin-dashboard-page .dashboard-week-selector select{
  min-height:38px !important;
  height:38px !important;
  padding-top:6px !important;
  padding-bottom:6px !important;
  font-size:14px !important;
}

body.home-page .topbar nav a{
  font-size:14px !important;
  padding:8px 12px !important;
}
body.home-page .home-access-bar{
  gap:10px !important;
  padding:8px 12px !important;
}
body.home-page .home-access-btn{
  width:auto !important;
  min-width:210px !important;
  max-width:300px !important;
  min-height:42px !important;
  height:42px !important;
  padding:6px 14px !important;
  gap:8px !important;
  border-radius:8px !important;
  font-size:14px !important;
  justify-content:center !important;
}
body.home-page .home-access-btn>span{font-size:18px !important;}
body.home-page .home-access-btn>b{font-size:20px !important;}
body.home-page .section-title h2{font-size:clamp(24px,2.6vw,34px) !important;}
body.home-page .btn{min-height:38px !important;padding:7px 14px !important;font-size:14px !important;border-radius:8px !important;}

@media(max-width:1150px){
 body.admin-dashboard-page .v137-admin-hero-actions{grid-template-columns:repeat(3,max-content) !important;}
}
@media(max-width:700px){
 body.admin-dashboard-page .v137-admin-hero{padding:20px !important;}
 body.admin-dashboard-page .v137-admin-hero-actions{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:7px !important;}
 body.admin-dashboard-page .v137-admin-hero-actions .btn{width:100% !important;}
 body.home-page .home-access-bar{display:flex !important;align-items:center !important;justify-content:center !important;}
 body.home-page .home-access-btn{min-width:0 !important;width:50% !important;font-size:12px !important;padding:5px 8px !important;}
}
\n\n/* V211 — compact weekly submission status between player hero and challenges */\n.v211-weekly-submission-strip{\n  display:flex;align-items:center;gap:14px;flex-wrap:wrap;\n  margin:12px 0 24px;padding:10px 16px;\n  border:1px solid rgba(71,190,102,.22);border-radius:18px;\n  background:rgba(7,39,24,.46);\n}\n.v211-submission-title{font-size:12px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#d9e5dc;white-space:nowrap}\n.v211-submission-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n.v211-week-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:800;line-height:1;border:1px solid transparent;white-space:nowrap}\n.v211-week-badge b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:12px;font-weight:1000}\n.v211-week-badge.v211-complete{background:#159447;color:#fff;border-color:#28bc62;box-shadow:0 0 12px rgba(35,190,91,.16)}\n.v211-week-badge.v211-complete b{background:#effff4;color:#147a3c}\n.v211-week-badge.v211-current{background:#f2c335;color:#1e210d;border-color:#ffd75a;box-shadow:0 0 12px rgba(242,195,53,.12)}\n.v211-week-badge.v211-current b{background:#25270f;color:#ffd84e}\n.v211-week-badge.v211-missed{background:#7e2428;color:#fff;border-color:#b74248}\n.v211-week-badge.v211-missed b{background:#fff0f0;color:#a5272d}\n@media(max-width:700px){\n .v211-weekly-submission-strip{margin:10px 0 18px;padding:9px 11px;gap:9px;border-radius:14px}\n .v211-submission-title{width:100%;font-size:11px}\n .v211-submission-badges{gap:6px}\n .v211-week-badge{padding:6px 9px;font-size:12px}\n}\n
/* V212 — compact weekly submission status bar */
.v211-weekly-submission-strip{
  display:flex;
  align-items:center;
  gap:18px;
  margin:18px 0 28px;
  padding:14px 18px;
  border:1px solid rgba(65,190,105,.28);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(10,48,31,.72),rgba(5,30,20,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.v211-submission-title{
  flex:0 0 auto;
  color:#f3f6f4;
  font-size:14px;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.v211-submission-badges{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.v211-week-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:6px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  border:1px solid transparent;
}
.v211-week-badge b{font-size:16px;line-height:1}
.v211-week-badge.v211-complete{
  color:#f6fff8;
  background:#158746;
  border-color:#28b961;
  box-shadow:0 0 14px rgba(32,181,91,.16);
}
.v211-week-badge.v211-current{
  color:#1e1b08;
  background:#f3c63f;
  border-color:#ffd95d;
  box-shadow:0 0 14px rgba(243,198,63,.13);
}
.v211-week-badge.v211-missed{
  color:#fff;
  background:#a92f35;
  border-color:#dc4c52;
  box-shadow:0 0 14px rgba(220,76,82,.12);
}
@media (max-width:720px){
  .v211-weekly-submission-strip{align-items:flex-start;gap:10px;flex-direction:column;padding:12px 14px;margin:14px 0 22px}
  .v211-submission-badges{gap:7px}
  .v211-week-badge{min-height:31px;padding:5px 11px;font-size:13px}
}
\n\n/* V213 — private collapsed home-page player directory and standings */
.home-private-section{border:1px solid rgba(77,194,104,.35);border-radius:16px;background:rgba(7,39,23,.72);overflow:hidden;margin:0 0 18px}
.home-private-section>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;user-select:none}
.home-private-section>summary::-webkit-details-marker{display:none}
.home-private-section>summary>span:first-child{display:flex;flex-direction:column;gap:4px}
.home-private-section>summary strong{font-family:inherit;font-size:24px;color:#fff;line-height:1.1}
.home-private-section>summary:after{content:'＋';font-size:24px;font-weight:900;color:var(--green);margin-left:4px}
.home-private-section[open]>summary:after{content:'−'}
.home-private-section>summary:hover,.home-private-section>summary:focus-visible{background:rgba(35,103,55,.22);outline:none}
.home-private-body{margin:0 14px 14px}
.home-private-section .home-private-body.panel{padding:0}
@media(max-width:700px){.home-private-section>summary{padding:15px;gap:10px}.home-private-section>summary strong{font-size:19px}.home-private-section>summary .pill{display:none}.home-private-body{margin:0 8px 8px}}


/* V214 — full-width collapsed private league sections */
#players,#standings{margin:18px 0 0;}
.home-private-section{display:block;width:100%;box-sizing:border-box;border:1px solid rgba(77,194,104,.42);border-radius:16px;background:linear-gradient(180deg,rgba(9,48,29,.94),rgba(5,34,20,.94));overflow:hidden;margin:0 0 14px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.home-private-section>summary{box-sizing:border-box;width:100%;min-height:74px;list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:18px;padding:16px 22px;user-select:none}
.home-private-section>summary::-webkit-details-marker{display:none}
.home-private-section>summary>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.home-private-section>summary .kicker{display:block;margin:0;font-size:12px;line-height:1.2;letter-spacing:2px}
.home-private-section>summary strong{display:block;font-family:inherit;font-size:22px;font-weight:800;color:#fff;line-height:1.15}
.home-private-section>summary .pill{justify-self:end}
.home-private-section>summary:after{content:'＋';display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(83,226,94,.55);border-radius:50%;font-size:21px;font-weight:900;color:var(--green);line-height:1}
.home-private-section[open]>summary:after{content:'−'}
.home-private-section>summary:hover,.home-private-section>summary:focus-visible{background:rgba(35,103,55,.24);outline:none}
.home-private-body{margin:0 14px 14px}
.home-private-section .home-private-body.panel{padding:0}
@media(max-width:700px){.home-private-section>summary{grid-template-columns:minmax(0,1fr) 32px;min-height:64px;padding:13px 15px;gap:10px}.home-private-section>summary strong{font-size:18px}.home-private-section>summary .pill{display:none}.home-private-body{margin:0 8px 8px}}

/* V217 unified private messaging console */
.v217-message-console{overflow:hidden}.v217-console-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px}.v217-conversations{border:1px solid #245f3b;border-radius:14px;background:#061d12;overflow:hidden}.v217-console-heading{padding:16px;border-bottom:1px solid #245f3b;display:flex;justify-content:space-between;gap:10px}.v217-console-heading span,.v217-conversation-link small{color:#91a99b;font-size:12px}.v217-conversation-link{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-bottom:1px solid #173d29;color:#fff;text-decoration:none}.v217-conversation-link:hover{background:#103b25}.v217-empty{padding:20px;color:#91a99b;line-height:1.5}.v217-message-workspace{min-width:0}.v217-new-message{border:1px solid #2d7547;border-radius:14px;background:#0a2a19;margin-bottom:18px}.v217-new-message>summary{cursor:pointer;padding:15px 18px;font-weight:800;color:#9cff63}.v217-new-message form{padding:0 18px 18px}.v217-thread-list{display:flex;flex-direction:column;gap:12px}.v217-bubble{max-width:78%;padding:14px 16px;border-radius:16px;border:1px solid #2b6541;background:#0c2d1b}.v217-bubble.outgoing{align-self:flex-end;background:#164f2c;border-color:#3c8c52}.v217-bubble.incoming{align-self:flex-start}.v217-bubble small{display:block;color:#a4b8aa;margin-top:3px}.v217-bubble p{margin:10px 0 0;line-height:1.5}.v217-inline-reply{margin-top:12px}.v217-inline-reply summary{cursor:pointer;color:#9cff63;font-weight:700}.v217-inline-reply form{display:grid;gap:8px;margin-top:8px}.v217-inline-reply input,.v217-inline-reply textarea{width:100%;box-sizing:border-box}.v217-message-console select,.v217-message-console input,.v217-message-console textarea{max-width:100%}@media(max-width:760px){.v217-console-grid{grid-template-columns:1fr}.v217-conversations{max-height:260px;overflow:auto}.v217-bubble{max-width:92%}}

/* V218 — Outlook-style private messaging for Phil and all players */
.v218-message-console .v218-new-mail-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin:0 0 12px;border:1px solid #75d94c;border-radius:12px;background:linear-gradient(90deg,rgba(91,225,43,.22),rgba(17,75,37,.28));color:#fff}
.v218-new-mail-strip strong{color:#9cff63;font-size:18px}.v218-new-mail-strip span{color:#cce3d3;font-size:13px}.v218-unread-count,.v218-unread-pill{background:#8cff4f!important;color:#06220f!important;border-color:#8cff4f!important;font-weight:900}.v218-admin-inbox,.v218-player-message-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.v218-mail-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:14px 16px;border:1px solid #245f3b;border-radius:12px;background:#092418;transition:.15s ease}.v218-mail-row:hover{background:#0d301f;border-color:#3c8c52}.v218-mail-unread{order:-1;background:linear-gradient(90deg,rgba(93,226,48,.22),#0d321f 48%);border:2px solid #74e44a;box-shadow:0 0 0 1px rgba(116,228,74,.08)}.v218-mail-icon{padding-top:2px;color:#a8b9ad;font-size:15px}.v218-mail-unread .v218-mail-icon{color:#8cff4f}.v218-mail-content{min-width:0}.v218-mail-topline{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.v218-mail-topline strong{font-size:15px;color:#fff}.v218-mail-topline time{white-space:nowrap;color:#9bb0a1;font-size:12px}.v218-mail-content h3{margin:4px 0 5px;font-size:18px;color:#fff}.v218-mail-unread h3,.v218-mail-unread .v218-mail-topline strong{font-weight:900}.v218-mail-content p{margin:0;color:#d1ded5;line-height:1.45}.v218-new-badge{align-self:start;padding:5px 9px;border-radius:999px;background:#8cff4f;color:#06220f;font-size:11px;font-weight:1000;letter-spacing:.08em}.v218-inline-action,.v218-message-actions{margin-top:10px}.v218-message-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.v218-conversation-unread{background:rgba(91,225,43,.16);border-left:4px solid #8cff4f!important}.v218-conversation-unread strong{color:#9cff63}.v218-conversation-unread small{color:#8cff4f!important;font-weight:900}.v218-compose-bottom,.v218-player-compose{margin-top:16px!important}.v218-player-compose form{padding:0 18px 18px}.v218-player-compose select,.v218-player-compose input,.v218-player-compose textarea{background:#041b10;color:#fff;border:1px solid #3d7650;border-radius:10px;padding:12px}.v218-player-compose label{display:grid;gap:7px;margin-bottom:12px;font-weight:800}
@media(max-width:760px){.v218-mail-row{grid-template-columns:22px minmax(0,1fr)}.v218-new-badge{grid-column:2;justify-self:start}.v218-mail-topline{display:grid;gap:2px}.v218-new-mail-strip{align-items:flex-start;flex-direction:column}.v218-mail-content h3{font-size:16px}}

/* V219 unified administrator messaging */
.v219-admin-unified-message-link .section-title{align-items:center;gap:24px}
.v219-admin-unified-message-link .section-title .btn{flex:0 0 auto}
@media(max-width:760px){.v219-admin-unified-message-link .section-title{align-items:flex-start}.v219-admin-unified-message-link .section-title .btn{width:100%;text-align:center}}

/* V220 selectable Outlook-style conversation threads */
.v220-console-grid{align-items:stretch}.v220-conversations{min-width:285px}.v220-conversation-link{display:block;text-decoration:none;cursor:pointer;transition:.15s ease}.v220-conversation-link:hover,.v220-conversation-link.v220-selected{background:#123f29;box-shadow:inset 4px 0 0 #75ff32}.v220-message-workspace{min-height:420px}.v220-empty-workspace{padding:55px 30px;text-align:center;border:1px dashed #2b6846;border-radius:16px;color:#a9b9af}.v220-empty-workspace h3{color:#fff;margin:0 0 8px}.v220-thread-header{display:flex;justify-content:space-between;align-items:center;padding:10px 4px 18px;border-bottom:1px solid #24583b}.v220-thread-header h3{margin:4px 0 0;font-size:28px}.v220-thread{display:flex;flex-direction:column;gap:12px;padding:20px 0}.v220-bubble{max-width:82%;padding:15px 18px;border-radius:16px;border:1px solid #286c46}.v220-incoming{align-self:flex-start;background:#0a2c1d}.v220-outgoing{align-self:flex-end;background:#174d31;border-color:#4ea735}.v220-bubble-meta{display:flex;gap:20px;justify-content:space-between;color:#a9b9af;font-size:13px}.v220-bubble h4{margin:8px 0 5px;color:#fff}.v220-bubble p{margin:0;white-space:normal}.v220-reply-box{margin-top:8px;padding:18px;border:1px solid #2c7049;border-radius:14px;background:#082619}.v220-player-console .v220-reply-box{display:grid;gap:12px}.v220-player-console .v220-reply-box label{display:grid;gap:6px}@media(max-width:800px){.v220-console-grid{grid-template-columns:1fr!important}.v220-conversations{min-width:0}.v220-bubble{max-width:94%}}


/* V221 — Expand/Collapse All control beside My Selections */
.v221-week-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.v221-toggle-all-btn{appearance:none;border:1px solid rgba(102,255,87,.58);background:rgba(8,46,27,.72);color:#a8ff82;border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:900;letter-spacing:.25px;line-height:1.1;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.v221-toggle-all-btn:hover,.v221-toggle-all-btn:focus-visible{background:rgba(38,105,50,.72);border-color:#79ff55;outline:none}
.v221-toggle-all-btn:active{transform:translateY(1px)}
@media(max-width:700px){.v120-player-week-heading{align-items:flex-start}.v221-week-heading-actions{width:100%;justify-content:flex-start}.v221-toggle-all-btn{padding:7px 12px;font-size:12px}}
