:root { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1d2430; background:#eef1f5; }
* { box-sizing: border-box; }
body { margin:0; }
a { color:#1557a0; }
.site-header { min-height:64px; display:flex; gap:24px; align-items:center; padding:12px 24px; background:#172238; color:white; flex-wrap:wrap; }
.site-header a { color:white; text-decoration:none; }
.brand { font-size:1.35rem; font-weight:800; }
.site-header nav { display:flex; gap:16px; flex:1; flex-wrap:wrap; }
.userbox { display:flex; gap:10px; align-items:center; }
.link-button { padding:0; border:0; background:none; color:white; text-decoration:underline; }
.container { max-width:1150px; margin:24px auto; padding:0 16px; }
.site-footer { text-align:center; padding:30px; color:#687386; }
.card { background:white; border:1px solid #dce1e8; border-radius:10px; padding:20px; margin-bottom:18px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.narrow { max-width:460px; margin:50px auto; }
.dashboard-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:18px; }
.stack { display:flex; flex-direction:column; gap:14px; }
.compact { gap:9px; }
label { display:flex; flex-direction:column; gap:5px; font-weight:600; }
input,select,textarea,button { font:inherit; }
input,select,textarea { padding:9px; border:1px solid #bbc3cf; border-radius:5px; background:white; }
button,.button { display:inline-block; border:0; border-radius:5px; padding:9px 14px; background:#1557a0; color:white; text-decoration:none; cursor:pointer; font-weight:700; }
button:hover,.button:hover { filter:brightness(.94); }
.error { color:#a11b1b; font-weight:700; }
.success { color:#187336; font-weight:700; }
.muted { color:#687386; font-weight:400; }
.stat-large { font-size:2.5rem; font-weight:800; }
.title-row,.list-row { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.list-row { padding:9px 0; border-bottom:1px solid #e6e9ee; }
.status { padding:7px 10px; border-radius:999px; background:#dff3e6; color:#176130; font-weight:800; }.status.locked{background:#f5dddd;color:#8b1d1d}
.games { display:flex; flex-direction:column; gap:10px; }
.game-row { display:grid; grid-template-columns:150px 1fr 30px 1fr; gap:10px; align-items:center; border:1px solid #e0e4ea; padding:12px; border-radius:7px; }
.team-choice { flex-direction:row; align-items:center; font-weight:600; }.at{text-align:center}.kickoff{font-size:.88rem;color:#687386}
.ranking { max-width:600px; margin-bottom:20px; }.rank-item{display:grid;grid-template-columns:45px 1fr 30px;align-items:center;padding:11px;border:1px solid #cfd5dd;background:#fafbfc;margin:5px 0;border-radius:6px;cursor:grab}.rank-item.dragging{opacity:.45}.rank-number{font-weight:800}.drag-handle{color:#687386;font-size:1.2rem}
.inline-field { max-width:260px; margin-bottom:20px; }.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px;border-bottom:1px solid #e1e5eb}th{background:#f5f7fa}
.inline-form { display:flex; gap:8px; align-items:end; flex-wrap:wrap; }.small-input{width:100px}.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}.game-admin{display:grid;grid-template-columns:minmax(180px,1fr) minmax(420px,2fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e2e6eb}.result-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.score-input{width:70px}.badge{font-size:.72rem;padding:3px 6px;border-radius:4px;background:#ffe6a8;font-weight:800}.danger-zone{border-color:#d7a9a9}.smack-form{display:flex;gap:10px;margin-bottom:20px}.smack-form textarea{flex:1;min-height:80px}.message{padding:12px 0;border-bottom:1px solid #e2e6eb}.message p{white-space:pre-wrap}
@media (max-width:760px){.game-row{grid-template-columns:1fr}.kickoff{grid-column:1}.at{display:none}.game-admin{grid-template-columns:1fr}.smack-form{flex-direction:column}.site-header{padding:12px 16px}}

/* Gridiron Glory home treatment */
.brand { display:flex; align-items:center; gap:8px; letter-spacing:.02em; }
.brand-ball { font-size:1.15em; }

/*
 * The hero artwork is the actual stadium artwork shown in the approved mockup.
 * Do not replace this with the old gridiron-stadium.svg; that was the source of
 * the previous visual mismatch.
 */
.gridiron-hero {
  position:relative;
  margin:-24px -16px 26px;
  overflow:hidden;
  border-radius:0 0 14px 14px;
  background:#071b2b;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  line-height:0;
}

.gridiron-hero-art {
  display:block;
  width:100%;
  height:auto;
}

/*
 * The artwork already contains the rendered title/tagline/button treatment.
 * This live button sits directly over the rendered button so the destination
 * and label remain real application state rather than a dead image.
 */
.hero-live-button {
  position:absolute;
  left:50%;
  top:63.2%;
  transform:translate(-50%,-50%);
  width:23.1%;
  min-width:210px;
  height:14.7%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 22px;
  border-radius:8px;
  background:linear-gradient(180deg,#12a85f,#07904e);
  color:#fff;
  text-decoration:none;
  font-size:clamp(1rem,1.55vw,1.45rem);
  font-weight:800;
  line-height:1;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.hero-live-button:hover { filter:brightness(1.05); }
.hero-live-button span { font-size:1.55em; line-height:.7; }

.home-dashboard { margin-top:0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-stat-card {
  min-height:290px;
  margin-bottom:0;
  padding:24px 26px;
  border-top:4px solid #17804a;
  border-radius:10px;
  box-shadow:0 3px 14px rgba(23,34,56,.07);
}
.home-stat-card h2 { margin:18px 0 20px; font-size:1.75rem; color:#142238; }
.eyebrow { color:#0b7a47; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.home-winnings { color:#087e49; font-size:3rem; line-height:1; margin-bottom:7px; }
.home-facts { margin-top:24px; border-top:1px solid #dfe5eb; }
.home-facts > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid #e5e9ee; }
.home-facts > div:last-child { border-bottom:0; }
.home-facts span { color:#29384d; }
.home-facts strong { color:#132136; }
.week-facts { margin-top:6px; }
.week-facts p { display:flex; align-items:center; gap:10px; margin:15px 0; }
.fact-icon { width:24px; color:#0d2238; font-size:1.25rem; text-align:center; }
.home-card-action { margin-top:18px; padding-top:14px; border-top:1px solid #dfe5eb; }
.home-card-action .button { padding:11px 18px; font-size:1.02rem; }
.home-card-action .button span { margin-left:7px; font-size:1.35em; line-height:.7; }

.field-help { display:inline; margin-left:5px; color:#687386; font-size:.76rem; font-weight:400; }
.odds-display,.game-odds { color:#925b00; font-weight:800; }
.game-odds { margin-top:4px; font-size:.82rem; }
.result-odds { width:150px; font-size:.8rem; }
.result-odds input { width:150px; }

@media (max-width:900px){
  .home-dashboard{grid-template-columns:1fr}
  .hero-live-button{min-width:190px;min-height:50px}
}

@media (max-width:760px){
  .gridiron-hero{margin-top:-24px}
  .hero-live-button{
    width:31%;
    min-width:150px;
    min-height:40px;
    padding:0 14px;
    font-size:.9rem;
  }
  .home-stat-card{min-height:0;padding:20px}
  .result-odds,.result-odds input{width:100%}
}

/* Commissioner / week administration */
.admin-week-page {
  margin:-24px -16px 0;
  padding:28px 20px 36px;
  min-height:680px;
  background:
    radial-gradient(circle at 15% 0%, rgba(32,139,89,.28), transparent 30%),
    radial-gradient(circle at 85% 8%, rgba(37,99,235,.18), transparent 27%),
    linear-gradient(145deg,#0c1d2d 0%,#122c34 48%,#153e2d 100%);
  border-radius:0 0 18px 18px;
}
.admin-week-banner {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  max-width:1110px;
  margin:0 auto 20px;
  padding:4px 4px 0;
  color:#fff;
}
.admin-week-banner h1 { margin:3px 0 6px; font-size:2.25rem; color:#fff; }
.admin-week-banner p { margin:0; color:#cdd9dd; }
.admin-kicker { color:#79d8a5; font-size:.78rem; text-transform:uppercase; letter-spacing:.15em; font-weight:900; }
.admin-week-status {
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  font-weight:800;
}
.status-dot { width:9px; height:9px; border-radius:50%; background:#4ade80; box-shadow:0 0 0 4px rgba(74,222,128,.13); }
.admin-week-status.is-finalized .status-dot { background:#fbbf24; box-shadow:0 0 0 4px rgba(251,191,36,.13); }

.admin-week-page .admin-card {
  max-width:1110px;
  margin:0 auto 18px;
  padding:22px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
  background:rgba(247,250,252,.97);
}
.admin-card-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
  padding-bottom:14px;
  border-bottom:1px solid #dfe7e5;
}
.admin-card-heading > div { display:flex; align-items:center; gap:12px; }
.admin-card-heading h2 { margin:0; color:#142238; }
.admin-card-heading p { margin:4px 0 0; color:#687386; font-weight:400; }
.admin-section-icon {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:11px;
  background:#e6f4ec;
  font-size:1.3rem;
}
.game-count { padding:6px 10px; border-radius:999px; background:#e7eef7; color:#26415f; font-size:.82rem; font-weight:800; }

.add-game-form {
  display:grid;
  grid-template-columns:minmax(190px,1fr) 34px minmax(190px,1fr) minmax(310px,1.35fr) minmax(190px,.9fr) auto;
  gap:12px;
  align-items:end;
}
.add-game-form select,
.add-game-form input {
  min-height:44px;
  border:1px solid #aebdc2;
  border-radius:8px;
  background:#fff;
}
.add-game-form select:focus,
.add-game-form input:focus,
.result-form select:focus,
.result-form input:focus {
  outline:none;
  border-color:#13824b;
  box-shadow:0 0 0 3px rgba(19,130,75,.13);
}
.matchup-at {
  align-self:end;
  display:grid;
  place-items:center;
  height:44px;
  color:#687386;
  font-size:1.15rem;
  font-weight:900;
}
.kickoff-picker {
  min-width:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0;
  padding:10px 12px 12px;
  border:1px solid #c7d3d6;
  border-radius:10px;
  background:#eef6f2;
}
.kickoff-picker legend {
  padding:0 6px;
  color:#193c2b;
  font-size:.84rem;
  font-weight:900;
}
.picker-field { min-width:0; gap:6px; font-size:.82rem; color:#344f47; }
.picker-field > span { display:flex; align-items:center; gap:5px; }
.picker-field input { width:100%; min-width:0; }
.odds-field input { min-width:0; }
.add-game-action { display:flex; align-items:end; }
.admin-primary-button {
  min-height:44px;
  padding:10px 18px;
  border-radius:8px;
  background:linear-gradient(180deg,#149052,#0c7a43);
  box-shadow:0 5px 12px rgba(11,114,62,.2);
}

.admin-game-list { display:flex; flex-direction:column; gap:10px; }
.admin-week-page .game-admin {
  display:grid;
  grid-template-columns:minmax(175px,.8fr) minmax(540px,2fr) auto;
  gap:16px;
  align-items:center;
  padding:16px;
  border:1px solid #dce5e4;
  border-radius:11px;
  background:#fff;
}
.game-admin-matchup { line-height:1.35; }
.matchup-line { display:flex; align-items:center; gap:9px; margin-bottom:5px; font-size:1.12rem; }
.matchup-line span { color:#75818a; font-size:.82rem; }
.admin-week-page .result-form { display:grid; grid-template-columns:1.2fr 1.05fr 1fr .7fr .7fr auto; gap:8px; align-items:end; }
.admin-week-page .result-form label { min-width:0; font-size:.78rem; }
.admin-week-page .result-form input,
.admin-week-page .result-form select { width:100%; min-width:0; min-height:40px; padding:7px 8px; }
.admin-week-page .result-form button { min-height:40px; }
.admin-week-page .result-odds { width:auto; }
.admin-week-page .result-odds input { width:100%; }
.admin-week-page .score-input { width:100%; }
.secondary-admin-button {
  min-height:40px;
  white-space:nowrap;
  background:#334c68;
}
.admin-empty-state {
  padding:28px;
  border:1px dashed #aebdb8;
  border-radius:10px;
  text-align:center;
  color:#60706c;
  background:#f6faf8;
}
.finalize-card { display:flex; justify-content:space-between; align-items:center; gap:22px; border-left:5px solid #b54646 !important; }
.finalize-card h2 { margin-top:0; }
.finalize-card p { margin-bottom:0; color:#687386; }
.finalize-button { background:#a93232; min-width:150px; }

@media (max-width:1080px) {
  .add-game-form { grid-template-columns:1fr 34px 1fr; }
  .kickoff-picker { grid-column:1 / span 2; }
  .odds-field { grid-column:3; }
  .add-game-action { grid-column:3; justify-content:flex-end; }
  .admin-week-page .game-admin { grid-template-columns:1fr; }
  .admin-week-page .result-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tiebreak-form { justify-self:start; }
}

@media (max-width:700px) {
  .admin-week-page { padding:22px 12px 28px; }
  .admin-week-banner { align-items:flex-start; flex-direction:column; }
  .admin-week-banner h1 { font-size:1.85rem; }
  .admin-card-heading { align-items:flex-start; }
  .add-game-form { grid-template-columns:1fr; }
  .matchup-at { display:none; }
  .kickoff-picker,.odds-field,.add-game-action { grid-column:auto; }
  .kickoff-picker { grid-template-columns:1fr; }
  .add-game-action { justify-content:stretch; }
  .admin-primary-button { width:100%; }
  .admin-week-page .result-form { grid-template-columns:1fr 1fr; }
  .admin-week-page .result-form button { width:100%; }
  .finalize-card { align-items:stretch; flex-direction:column; }
  .finalize-card form,.finalize-button { width:100%; }
}

/* Gridiron Glory login / pregame entrance */
.login-page {
  position:relative;
  margin:-24px -16px 0;
  min-height:690px;
  overflow:hidden;
  border-radius:0 0 18px 18px;
  background:
    linear-gradient(90deg, rgba(4,18,30,.95) 0%, rgba(7,28,44,.88) 43%, rgba(7,26,39,.64) 68%, rgba(4,18,30,.82) 100%),
    linear-gradient(0deg, rgba(4,28,22,.32), rgba(4,28,22,.32)),
    url('/images/gridiron-glory-hero.png') center center / cover no-repeat;
}
.login-page::after {
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:150px;
  pointer-events:none;
  background:linear-gradient(0deg, rgba(3,16,26,.65), transparent);
}
.login-stage {
  position:relative;
  z-index:1;
  max-width:1110px;
  min-height:690px;
  margin:0 auto;
  padding:64px 34px 70px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.75fr);
  align-items:center;
  gap:72px;
}
.login-copy { color:#fff; min-width:0; }
.login-kicker {
  margin-bottom:12px;
  color:#7ee2ab;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.18em;
}
.login-copy h1 {
  margin:0;
  color:#fff;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(4rem,8vw,7.3rem);
  line-height:.82;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-shadow:0 4px 22px rgba(0,0,0,.4);
}
.login-slogan {
  margin:28px 0 30px;
  color:#eaf1f2;
  font-size:clamp(1.35rem,2.2vw,2rem);
  line-height:1.34;
  font-weight:650;
  letter-spacing:.01em;
}
.login-slogan strong { color:#79dca4; font-weight:900; }
.motd-card {
  max-width:610px;
  padding:18px 20px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-left:4px solid #46c77f;
  border-radius:12px;
  background:rgba(6,24,36,.69);
  box-shadow:0 12px 35px rgba(0,0,0,.2);
  backdrop-filter:blur(4px);
}
.motd-heading {
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
  color:#7ee2ab;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.motd-ball { font-size:1.15rem; }
.motd-card p {
  margin:0;
  color:#fff;
  font-size:1.08rem;
  line-height:1.55;
  font-weight:600;
}
.login-panel-wrap { min-width:0; }
.login-panel {
  position:relative;
  padding:34px 34px 28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(248,250,252,.96);
  box-shadow:0 22px 65px rgba(0,0,0,.34);
}
.login-panel::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,#0b7a47,#24a866,#0b7a47);
}
.login-panel-mark {
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:19px;
  border-radius:50%;
  background:#e7f3ec;
  font-size:1.65rem;
}
.login-panel-kicker {
  color:#0b7a47;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
}
.login-panel h2 {
  margin:5px 0 7px;
  color:#132136;
  font-size:2rem;
}
.login-panel-intro {
  margin:0 0 24px;
  color:#687386;
  line-height:1.45;
}
.login-form { display:flex; flex-direction:column; gap:16px; }
.login-form label { color:#243548; }
.login-form input {
  min-height:48px;
  padding:11px 12px;
  border:1px solid #afbac5;
  border-radius:8px;
  background:#fff;
}
.login-form input:focus {
  outline:none;
  border-color:#13824b;
  box-shadow:0 0 0 3px rgba(19,130,75,.13);
}
.login-submit {
  min-height:50px;
  margin-top:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:8px;
  background:linear-gradient(180deg,#149052,#0b7842);
  box-shadow:0 6px 14px rgba(11,120,66,.2);
  font-size:1.04rem;
}
.login-submit span { font-size:1.25rem; line-height:1; }
.login-error {
  margin-top:-3px;
  padding:10px 12px;
  border-radius:7px;
  background:#fce8e8;
  color:#982828;
  font-size:.9rem;
}
.login-fine-print {
  margin-top:21px;
  padding-top:18px;
  border-top:1px solid #dfe4e8;
  color:#74808d;
  text-align:center;
  font-size:.82rem;
  font-weight:650;
}

@media (max-width:900px) {
  .login-stage {
    grid-template-columns:1fr;
    gap:34px;
    padding:48px 26px 58px;
  }
  .login-copy { max-width:700px; }
  .login-panel-wrap { width:100%; max-width:560px; }
  .login-copy h1 { font-size:clamp(4.2rem,13vw,6.5rem); }
}

@media (max-width:560px) {
  .login-page { min-height:0; }
  .login-stage { min-height:0; padding:38px 16px 44px; }
  .login-copy h1 { font-size:clamp(3.4rem,18vw,5.4rem); }
  .login-slogan { font-size:1.3rem; }
  .motd-card { padding:16px; }
  .login-panel { padding:28px 22px 24px; }
}

/* Gridiron Glory picks */
.picks-page {
  margin:-24px -16px 0;
  padding:28px 20px 38px;
  min-height:720px;
  background:
    radial-gradient(circle at 12% 0%, rgba(28,137,81,.24), transparent 28%),
    radial-gradient(circle at 88% 5%, rgba(35,77,127,.25), transparent 26%),
    linear-gradient(150deg,#091926 0%,#102a31 52%,#123927 100%);
  border-radius:0 0 18px 18px;
}
.picks-banner {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}
.picks-kicker { color:#7ed5a4; font-size:.78rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.picks-banner h1 { margin:4px 0 5px; font-size:2.35rem; line-height:1.04; color:#fff; }
.picks-lockline { margin:0; color:#c8d5d8; }
.picks-lockline strong { color:#fff; }
.picks-banner-meta { display:flex; align-items:center; gap:12px; }
.picks-status {
  display:flex; align-items:center; gap:8px; padding:9px 13px; border-radius:999px;
  border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.08); font-size:.82rem; font-weight:900;
}
.picks-status.is-locked .status-dot { background:#fb7185; box-shadow:0 0 0 4px rgba(251,113,133,.13); }
.picks-progress { min-width:105px; padding:8px 12px; border-left:1px solid rgba(255,255,255,.22); }
.picks-progress strong { display:block; font-size:1.18rem; color:#fff; }
.picks-progress span { display:block; font-size:.72rem; color:#b8c8cc; }
.picks-saved-note {
  max-width:1110px; margin:0 auto 14px; padding:10px 14px; border:1px solid rgba(101,214,147,.3);
  border-radius:9px; color:#d8f7e5; background:rgba(11,103,59,.24); font-weight:700;
}
.picks-panel {
  max-width:1110px; margin:0 auto 18px; padding:22px;
  border:1px solid rgba(255,255,255,.1); border-radius:14px; background:#f7faf9;
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.picks-section-heading { display:flex; align-items:flex-start; gap:13px; margin-bottom:18px; }
.picks-section-heading h2 { margin:0 0 4px; color:#102735; font-size:1.42rem; }
.picks-section-heading p { margin:0; color:#64737a; }
.section-step {
  flex:0 0 34px; width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; background:#117a49; color:#fff; font-weight:900; box-shadow:0 3px 8px rgba(17,122,73,.25);
}
.matchup-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.matchup-card {
  display:block; padding:0; overflow:hidden; border:1px solid #d8e0df; border-radius:12px; background:#fff;
  box-shadow:0 3px 10px rgba(17,41,48,.055);
}
.matchup-topline {
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px;
  min-height:37px; padding:7px 11px; background:#edf3f1; border-bottom:1px solid #dbe4e1;
}
.matchup-number { font-size:.7rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; color:#53716a; }
.matchup-topline .kickoff { text-align:center; font-size:.79rem; color:#586a70; }
.matchup-topline .game-odds {
  margin:0; padding:3px 7px; border-radius:999px; background:#fff4d8; color:#8a5900; font-size:.72rem; line-height:1.2;
}
.team-versus-row { display:grid; grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr); align-items:stretch; padding:12px; gap:7px; }
.team-pick { display:block; position:relative; min-width:0; cursor:pointer; font-weight:400; }
.team-pick input { position:absolute; opacity:0; pointer-events:none; }
.team-pick-surface {
  position:relative; min-height:108px; height:100%; display:grid; grid-template-columns:54px minmax(0,1fr); grid-template-rows:auto auto;
  align-items:center; column-gap:10px; padding:11px; border:2px solid #e1e7e5; border-radius:10px; background:#fbfcfc;
  transition:border-color .12s ease, background .12s ease, box-shadow .12s ease, transform .12s ease;
}
.team-pick:hover .team-pick-surface { border-color:#a9bdb7; background:#fff; transform:translateY(-1px); }
.team-pick.is-selected .team-pick-surface {
  border-color:#15804d; background:#edf8f2; box-shadow:0 0 0 3px rgba(21,128,77,.09);
}
.team-pick input:focus-visible + .team-pick-surface { outline:3px solid rgba(21,87,160,.35); outline-offset:2px; }
.team-logo-shell, .rank-team-logo-shell {
  position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; border:1px solid #e4e9e7; border-radius:50%;
}
.team-logo-shell { grid-row:1 / span 2; width:54px; height:54px; }
.team-logo { width:46px; height:46px; object-fit:contain; position:relative; z-index:2; }
.team-logo-fallback, .rank-logo-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:900; color:#29443d; }
.team-logo.logo-missing, .rank-team-logo.logo-missing { display:none; }
.team-copy { min-width:0; display:flex; flex-direction:column; line-height:1.08; }
.team-copy strong { color:#162b35; font-size:.86rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-copy span { color:#41565e; font-size:1.01rem; font-weight:850; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.team-abbr { align-self:start; width:max-content; padding:2px 6px; border-radius:5px; background:#e8eeec; color:#576a70; font-size:.67rem; font-weight:900; }
.pick-check {
  position:absolute; right:8px; top:8px; width:22px; height:22px; display:none; align-items:center; justify-content:center;
  border-radius:50%; background:#16834f; color:#fff; font-size:.78rem; font-weight:900;
}
.team-pick.is-selected .pick-check { display:flex; }
.versus-mark { display:flex; flex-direction:column; align-items:center; justify-content:center; color:#84928f; }
.versus-mark span { font-size:1.05rem; font-weight:900; }
.versus-mark small { font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; }
.confidence-scale { display:flex; color:#5f716d; font-size:.76rem; font-weight:800; }
.confidence-scale-top { justify-content:flex-start; margin:0 2px 8px; }
.confidence-scale-bottom { justify-content:flex-end; margin:8px 2px 0; }
.ranking { max-width:none; margin:0; display:flex; flex-direction:column; gap:8px; }
.rank-item {
  display:grid; grid-template-columns:62px 48px minmax(0,1fr) 76px 28px; align-items:center; gap:12px;
  min-height:72px; margin:0; padding:9px 12px; border:1px solid #d9e1df; border-radius:10px; background:#fff;
  box-shadow:0 2px 7px rgba(20,51,45,.045); cursor:grab;
}
.rank-item.rank-top { border-color:#88c9a5; background:linear-gradient(90deg,#eff9f3,#fff 34%); }
.rank-item.dragging { opacity:.48; box-shadow:0 8px 22px rgba(0,0,0,.18); }
.rank-score { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:50px; border-right:1px solid #e0e6e4; }
.rank-number { font-size:1.45rem; line-height:1; font-weight:950; color:#0e7847; }
.rank-score small { margin-top:3px; color:#72827e; font-size:.59rem; font-weight:900; letter-spacing:.1em; }
.rank-team-logo-shell { width:44px; height:44px; }
.rank-team-logo { width:38px; height:38px; object-fit:contain; position:relative; z-index:2; }
.rank-team-copy { min-width:0; display:flex; flex-direction:column; }
.rank-team-copy strong { color:#183039; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rank-team-copy span { margin-top:3px; color:#6a797d; font-size:.78rem; }
.rank-controls { display:flex; gap:4px; justify-content:flex-end; }
.rank-arrow {
  width:34px; height:34px; padding:0; display:flex; align-items:center; justify-content:center;
  border:1px solid #d5dfdc; border-radius:7px; background:#f3f7f5; color:#38554d; font-size:.69rem;
}
.rank-arrow:hover { background:#e7f1ed; filter:none; }
.rank-arrow:disabled { opacity:.25; cursor:default; }
.drag-handle { display:flex; flex-direction:column; gap:4px; align-items:center; justify-content:center; color:#8a9995; }
.drag-handle span { display:block; width:18px; height:2px; border-radius:2px; background:currentColor; }
.ranking-empty { padding:24px 14px; border:1px dashed #bdcbc7; border-radius:10px; text-align:center; color:#70817c; background:#fbfcfc; }
.tiebreak-panel { display:grid; grid-template-columns:minmax(0,1fr) 210px; align-items:center; gap:22px; }
.tiebreak-panel .picks-section-heading { margin:0; }
.tiebreak-input { gap:7px; color:#344c45; }
.tiebreak-input input { min-height:46px; font-size:1.25rem; font-weight:850; text-align:center; border-color:#aebdb8; }
.picks-submit-bar {
  position:sticky; bottom:10px; z-index:10; max-width:1110px; margin:22px auto 0; padding:14px 16px;
  display:flex; align-items:center; justify-content:space-between; gap:20px; border:1px solid rgba(255,255,255,.18);
  border-radius:12px; background:rgba(7,25,31,.94); color:#fff; box-shadow:0 10px 28px rgba(0,0,0,.28); backdrop-filter:blur(9px);
}
.picks-submit-bar strong { display:block; }
.picks-submit-bar div span { display:block; margin-top:3px; color:#aebfc1; font-size:.78rem; }
.picks-submit-button { min-width:175px; padding:12px 18px; border-radius:8px; background:#119054; font-size:1rem; }
.picks-submit-button span { margin-left:8px; font-size:1.35em; }

@media (max-width:920px) {
  .matchup-grid { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .picks-page { padding:22px 12px 28px; }
  .picks-banner { align-items:flex-start; flex-direction:column; gap:13px; }
  .picks-banner h1 { font-size:1.9rem; }
  .picks-banner-meta { width:100%; justify-content:space-between; }
  .picks-panel { padding:16px; }
  .team-versus-row { grid-template-columns:1fr; gap:6px; }
  .versus-mark { flex-direction:row; gap:5px; min-height:22px; }
  .team-pick-surface { min-height:84px; }
  .rank-item { grid-template-columns:52px 42px minmax(0,1fr) 68px; gap:8px; padding:8px; }
  .drag-handle { display:none; }
  .rank-team-logo-shell { width:40px; height:40px; }
  .rank-team-logo { width:34px; height:34px; }
  .tiebreak-panel { grid-template-columns:1fr; }
  .picks-submit-bar { position:static; flex-direction:column; align-items:stretch; }
  .picks-submit-button { width:100%; }
}

/* Weekly results / postgame */
.results-page {
  margin:-24px -16px 0;
  padding:28px 20px 38px;
  min-height:680px;
  background:
    radial-gradient(circle at 12% 0%, rgba(31,143,88,.30), transparent 30%),
    radial-gradient(circle at 90% 5%, rgba(35,86,145,.25), transparent 27%),
    linear-gradient(145deg,#091b2c 0%,#102b33 48%,#123c2b 100%);
  border-radius:0 0 18px 18px;
}
.results-banner {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}
.results-banner h1 { margin:3px 0 5px; font-size:2.35rem; color:#fff; }
.results-banner p { margin:0; color:#c9d7da; }
.results-kicker { color:#78d8a4; font-size:.78rem; text-transform:uppercase; letter-spacing:.15em; font-weight:900; }
.results-season-badge {
  min-width:92px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  text-align:center;
  line-height:1.05;
}
.results-season-badge span { display:block; font-size:1.35rem; font-weight:900; }
.results-season-badge small { color:#a9bec4; text-transform:uppercase; letter-spacing:.12em; }
.results-quote {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  gap:15px;
  align-items:center;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.14);
  border-left:4px solid #68ce91;
  border-radius:12px;
  background:rgba(5,18,28,.58);
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.results-quote-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.09); font-size:1.4rem; }
.results-quote-label { margin-bottom:3px; color:#79d8a5; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.results-quote blockquote { margin:0; color:#e9f0f1; font-size:1.08rem; font-weight:700; font-style:italic; }
.results-weeks { max-width:1110px; margin:0 auto; display:flex; flex-direction:column; gap:18px; }
.results-panel {
  max-width:1110px;
  margin:0 auto 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(248,251,252,.98);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.results-weeks .results-panel { width:100%; margin:0; }
.week-results-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px 15px;
  border-bottom:1px solid #dfe7e6;
}
.week-results-header h2 { margin:1px 0 0; color:#152538; font-size:1.45rem; }
.week-results-eyebrow { color:#16804d; font-size:.75rem; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.week-final-badge { display:flex; align-items:center; gap:8px; padding:7px 11px; border-radius:999px; font-size:.76rem; font-weight:900; letter-spacing:.08em; }
.week-final-badge.is-final { background:#e6f5ec; color:#12653d; }
.week-final-badge.is-pending { background:#fff2d5; color:#8a5a00; }
.week-final-badge.is-pending .status-dot { background:#f3b11c; box-shadow:0 0 0 4px rgba(243,177,28,.13); }
.results-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:16px 20px 8px; }
.podium-card { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:11px; min-width:0; padding:14px; border:1px solid #d8e2e0; border-radius:11px; background:#fff; }
.podium-card.place-1 { border-color:#d8bb5f; background:linear-gradient(135deg,#fffdf4,#fff8d8); }
.podium-card.place-2 { background:linear-gradient(135deg,#fff,#f0f4f7); }
.podium-card.place-3 { background:linear-gradient(135deg,#fffaf7,#f5e8de); }
.podium-card.is-you { box-shadow:inset 0 0 0 2px #16804d; }
.podium-place { width:44px; height:44px; display:flex; align-items:flex-start; justify-content:center; padding-top:4px; border-radius:50%; background:#1d3447; color:#fff; line-height:1; }
.place-1 .podium-place { background:#a77b00; }
.place-2 .podium-place { background:#657480; }
.place-3 .podium-place { background:#8d5d3b; }
.podium-place span { font-size:1.28rem; font-weight:900; }
.podium-place small { margin-top:3px; font-size:.52rem; font-weight:900; }
.podium-copy { min-width:0; }
.podium-copy strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#17283a; }
.podium-copy span { display:block; margin-top:3px; color:#6c7883; font-size:.78rem; }
.podium-payout { color:#107043; font-size:1.05rem; font-weight:900; white-space:nowrap; }
.results-table-wrap { overflow-x:auto; padding:8px 20px 20px; }
.results-table { width:100%; border-collapse:collapse; }
.results-table th { padding:9px 12px; border-bottom:2px solid #cdd9d6; color:#61706e; font-size:.73rem; text-align:left; text-transform:uppercase; letter-spacing:.08em; }
.results-table td { padding:11px 12px; border-bottom:1px solid #e3e9e7; color:#253647; }
.results-table tbody tr:last-child td { border-bottom:0; }
.results-table tbody tr.is-you td { background:#eaf7ef; }
.results-table tbody tr.is-you td:first-child { box-shadow:inset 4px 0 0 #16804d; }
.result-place { display:inline-grid; min-width:30px; height:30px; place-items:center; border-radius:7px; background:#edf1f3; color:#34495a; font-weight:900; }
.you-chip { display:inline-block; margin-left:7px; padding:2px 6px; border-radius:999px; background:#16804d; color:#fff; font-size:.62rem; font-weight:900; vertical-align:middle; letter-spacing:.06em; }
.result-payout { color:#71807e; }
.result-payout.has-payout { color:#0f7746; }
.results-empty-week, .results-empty { padding:32px 22px; text-align:center; }
.results-empty-week { display:flex; flex-direction:column; align-items:center; gap:4px; color:#63706f; }
.results-empty-week > div { margin-bottom:4px; font-size:1.8rem; }
.results-empty-week strong { color:#253746; }
.results-empty-week span { font-size:.88rem; }
.results-empty h2 { margin-top:0; }

@media (max-width:820px) {
  .results-podium { grid-template-columns:1fr; }
  .results-banner { align-items:flex-start; }
}
@media (max-width:620px) {
  .results-page { padding:22px 12px 30px; }
  .results-banner { display:block; }
  .results-banner h1 { font-size:2rem; }
  .results-season-badge { display:none; }
  .results-quote { align-items:flex-start; padding:14px; }
  .results-quote blockquote { font-size:.98rem; }
  .week-results-header { padding:16px; }
  .results-podium { padding:14px 14px 5px; }
  .results-table-wrap { padding:6px 14px 14px; overflow:visible; }
  .results-table thead { display:none; }
  .results-table, .results-table tbody, .results-table tr, .results-table td { display:block; width:100%; }
  .results-table tr { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 0 10px; overflow:hidden; border:1px solid #dfe7e5; border-radius:10px; background:#fff; }
  .results-table td { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-bottom:1px solid #edf1f0; }
  .results-table td::before { content:attr(data-label); color:#75817f; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
  .results-table td:nth-child(2) { grid-column:1 / -1; grid-row:1; }
  .results-table td:nth-child(5) { grid-column:1 / -1; }
  .results-table tbody tr.is-you td:first-child { box-shadow:none; }
  .results-table tbody tr.is-you { box-shadow:inset 4px 0 0 #16804d; }
}

/* Season standings / championship chase */
.standings-page {
  margin:-24px -16px 0;
  padding:28px 20px 40px;
  min-height:680px;
  background:
    radial-gradient(circle at 13% 1%, rgba(34,151,91,.34), transparent 30%),
    radial-gradient(circle at 89% 3%, rgba(29,86,145,.30), transparent 28%),
    linear-gradient(145deg,#081b2b 0%,#102d36 47%,#16442f 100%);
  border-radius:0 0 18px 18px;
}
.standings-banner {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}
.standings-banner h1 { margin:3px 0 5px; color:#fff; font-size:2.35rem; }
.standings-banner p { margin:0; color:#c8d8da; }
.standings-kicker { color:#7bdda7; font-size:.78rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.standings-season-badge {
  min-width:92px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  text-align:center;
  line-height:1.05;
}
.standings-season-badge span { display:block; font-size:1.35rem; font-weight:900; }
.standings-season-badge small { color:#a9bec4; text-transform:uppercase; letter-spacing:.12em; }
.standings-quote {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.14);
  border-left:4px solid #6fd49a;
  border-radius:12px;
  background:rgba(5,18,28,.58);
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}
.standings-quote-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.09); font-size:1.4rem; }
.standings-quote-label { margin-bottom:3px; color:#80dda9; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.standings-quote blockquote { margin:0; color:#edf3f2; font-size:1.08rem; font-weight:700; font-style:italic; }
.standings-panel {
  max-width:1110px;
  margin:0 auto 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(249,251,252,.99);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}
.standings-empty { padding:34px 22px; text-align:center; }
.standings-empty h2 { margin-top:0; }
.standings-leader {
  max-width:1110px;
  margin:0 auto 16px;
  display:grid;
  grid-template-columns:70px minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:19px 22px;
  border:1px solid rgba(229,199,99,.62);
  border-radius:14px;
  background:linear-gradient(120deg,rgba(255,251,228,.99),rgba(255,245,197,.96));
  box-shadow:0 14px 34px rgba(0,0,0,.17);
}
.leader-crown { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#a77b00; color:#fff5c5; font-size:2rem; box-shadow:inset 0 0 0 5px rgba(255,255,255,.18); }
.leader-eyebrow { color:#8b6900; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.leader-copy h2 { margin:2px 0 3px; color:#17283a; font-size:1.75rem; }
.leader-copy p { margin:0; color:#5d625e; }
.leader-copy p strong { color:#126b42; }
.leader-record { display:flex; gap:10px; }
.leader-record div { min-width:78px; padding:9px 12px; border-left:1px solid rgba(135,104,13,.22); text-align:center; }
.leader-record strong { display:block; color:#17283a; font-size:1.35rem; }
.leader-record span { display:block; margin-top:1px; color:#776d4c; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.standings-summary-grid { max-width:1110px; margin:0 auto 16px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.standings-summary-card { padding:15px 17px; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(5,22,30,.60); color:#fff; box-shadow:0 10px 25px rgba(0,0,0,.11); }
.standings-summary-card > span { display:block; color:#a8c2c2; font-size:.7rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.standings-summary-card > strong { display:block; margin:3px 0 2px; color:#fff; font-size:1.55rem; }
.standings-summary-card small { color:#bfd0cf; }
.standings-summary-card.money-card > strong { color:#7ee0a9; }
.standings-board-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px 15px; border-bottom:1px solid #dfe7e6; }
.standings-board-header h2 { margin:1px 0 0; color:#152538; font-size:1.45rem; }
.standings-board-eyebrow { color:#16804d; font-size:.75rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.standings-player-count { min-width:66px; padding:7px 10px; border-radius:9px; background:#edf5f1; text-align:center; }
.standings-player-count strong { display:block; color:#126a41; font-size:1.2rem; line-height:1; }
.standings-player-count span { display:block; margin-top:3px; color:#71807b; font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.standings-table-wrap { overflow-x:auto; padding:8px 20px 20px; }
.standings-table { width:100%; border-collapse:collapse; }
.standings-table th { padding:9px 11px; border-bottom:2px solid #ccd9d5; color:#64726e; font-size:.7rem; text-align:left; letter-spacing:.07em; text-transform:uppercase; }
.standings-table td { padding:11px; border-bottom:1px solid #e3e9e7; color:#263747; }
.standings-table tbody tr:last-child td { border-bottom:0; }
.standings-table tbody tr.is-you td { background:#e9f7ef; }
.standings-table tbody tr.is-you td:first-child { box-shadow:inset 4px 0 0 #16804d; }
.standings-table tbody tr.top-1 td { background-color:#fffdf3; }
.standings-table tbody tr.top-1.is-you td { background:#e9f7ef; }
.standings-rank { display:inline-grid; width:32px; height:32px; place-items:center; border-radius:50%; background:#edf1f3; color:#384b59; font-weight:900; }
.standings-rank.rank-1 { background:#a77b00; color:#fff; }
.standings-rank.rank-2 { background:#687781; color:#fff; }
.standings-rank.rank-3 { background:#8d5d3b; color:#fff; }
.standings-player-name { color:#17293a; }
.standings-money { color:#77827f; }
.standings-money.has-money { color:#0f7746; }

@media (max-width:780px) {
  .standings-leader { grid-template-columns:58px minmax(0,1fr); }
  .leader-crown { width:52px; height:52px; }
  .leader-record { grid-column:1 / -1; justify-content:center; border-top:1px solid rgba(135,104,13,.18); padding-top:10px; }
  .leader-record div { border-left:0; }
  .standings-summary-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .standings-page { padding:22px 12px 30px; }
  .standings-banner { display:block; }
  .standings-banner h1 { font-size:2rem; }
  .standings-season-badge { display:none; }
  .standings-quote { align-items:flex-start; padding:14px; }
  .standings-quote blockquote { font-size:.98rem; }
  .standings-leader { padding:16px; gap:12px; }
  .leader-copy h2 { font-size:1.45rem; }
  .standings-board-header { padding:16px; }
  .standings-table-wrap { padding:7px 14px 14px; overflow:visible; }
  .standings-table thead { display:none; }
  .standings-table, .standings-table tbody, .standings-table tr, .standings-table td { display:block; width:100%; }
  .standings-table tr { display:grid; grid-template-columns:1fr 1fr; margin:0 0 10px; overflow:hidden; border:1px solid #dfe7e5; border-radius:10px; background:#fff; }
  .standings-table td { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-bottom:1px solid #edf1f0; }
  .standings-table td::before { content:attr(data-label); color:#75817f; font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
  .standings-table td:nth-child(2) { grid-column:1 / -1; grid-row:1; }
  .standings-table td:nth-child(3), .standings-table td:nth-child(8) { grid-column:1 / -1; }
  .standings-table tbody tr.is-you td:first-child { box-shadow:none; }
  .standings-table tbody tr.is-you { box-shadow:inset 4px 0 0 #16804d; }
}

/* Smack Talk / locker room */
.smack-page {
  margin:-24px -16px 0;
  padding:28px 20px 42px;
  min-height:680px;
  background:
    radial-gradient(circle at 10% 0%, rgba(37,154,92,.34), transparent 29%),
    radial-gradient(circle at 92% 8%, rgba(32,90,147,.29), transparent 27%),
    linear-gradient(145deg,#071a2b 0%,#102d38 48%,#17422f 100%);
  border-radius:0 0 18px 18px;
}
.smack-banner {
  max-width:980px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}
.smack-banner h1 { margin:3px 0 5px; color:#fff; font-size:2.35rem; }
.smack-banner p { margin:0; color:#c7d8dc; }
.smack-kicker { color:#79dba5; font-size:.78rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.smack-season-badge { min-width:92px; padding:12px 18px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(255,255,255,.08); text-align:center; line-height:1.05; }
.smack-season-badge span { display:block; font-size:1.35rem; font-weight:900; }
.smack-season-badge small { color:#a9bec4; text-transform:uppercase; letter-spacing:.12em; }
.smack-quote { max-width:980px; margin:0 auto 18px; display:flex; align-items:center; gap:15px; padding:16px 20px; border:1px solid rgba(255,255,255,.14); border-left:4px solid #70d49b; border-radius:12px; background:rgba(5,18,28,.58); color:#fff; box-shadow:0 12px 30px rgba(0,0,0,.14); }
.smack-quote-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.09); font-size:1.4rem; }
.smack-quote-label { margin-bottom:3px; color:#80dda9; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.smack-quote blockquote { margin:0; color:#edf3f2; font-size:1.08rem; font-weight:700; font-style:italic; }
.smack-panel { max-width:980px; margin:0 auto 18px; overflow:hidden; border:1px solid rgba(255,255,255,.10); border-radius:14px; background:rgba(249,251,252,.99); box-shadow:0 16px 38px rgba(0,0,0,.18); }
.smack-panel-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 20px 14px; border-bottom:1px solid #dde7e5; }
.smack-panel-header h2, .smack-feed-heading h2 { margin:1px 0 0; color:#152538; font-size:1.45rem; }
.smack-panel-eyebrow { color:#16804d; font-size:.72rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.smack-compose-ball { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#e7f4ec; font-size:1.35rem; }
.smack-form {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:0;
  padding:18px 20px 20px;
}
.smack-form > * { min-width:0; }

.smack-template-label { display:block; margin-bottom:6px; color:#526563; font-size:.76rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.smack-template-select { display:block; width:100%; min-height:44px; margin-bottom:12px; box-sizing:border-box; padding:10px 12px; border:1px solid #cad8d4; border-radius:9px; background:#f8fbfa; color:#223745; font-size:.96rem; }
.smack-form textarea { display:block; width:100%; min-height:118px; resize:vertical; padding:13px 14px; border:1px solid #c8d6d2; border-radius:10px; background:#fff; color:#1f3340; font:inherit; line-height:1.45; box-sizing:border-box; }
.smack-form textarea:focus, .smack-template-select:focus { outline:3px solid rgba(22,128,77,.17); border-color:#16804d; }
.smack-form-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.smack-char-count { color:#788783; font-size:.78rem; }
.smack-post-button { min-width:132px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:11px 18px; border:0; border-radius:9px; background:linear-gradient(180deg,#18a45f,#0d8449); color:#fff; font-weight:900; cursor:pointer; }
.smack-post-button:hover { filter:brightness(1.05); }
.smack-feed { max-width:980px; margin:0 auto; }
.smack-feed-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:25px 2px 12px; }
.smack-feed-heading h2 { color:#fff; }
.smack-feed-heading .smack-panel-eyebrow { color:#78d8a4; }
.smack-feed-heading > span { color:#b8cbca; font-size:.78rem; }
.smack-feed-heading > span strong { color:#fff; }
.smack-message { display:grid; grid-template-columns:48px minmax(0,1fr); gap:13px; margin-bottom:11px; padding:16px 18px; border:1px solid rgba(255,255,255,.11); border-radius:13px; background:rgba(249,251,252,.98); box-shadow:0 10px 26px rgba(0,0,0,.13); }
.smack-avatar { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(145deg,#1c834f,#174c61); color:#fff; font-size:1.15rem; font-weight:900; box-shadow:inset 0 0 0 3px rgba(255,255,255,.16); }
.smack-message-body { min-width:0; }
.smack-message-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.smack-message-meta strong { color:#172b3a; }
.smack-message-meta time { margin-left:auto; color:#798683; font-size:.75rem; }
.smack-you-chip { display:inline-block; padding:2px 6px; border-radius:999px; background:#16804d; color:#fff; font-size:.58rem; font-weight:900; letter-spacing:.07em; }
.smack-message-text { margin:7px 0 12px; color:#263a48; font-size:1rem; line-height:1.48; white-space:pre-wrap; overflow-wrap:anywhere; }
.smack-reactions { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.smack-reaction-form { margin:0; }
.smack-reaction-button { min-height:34px; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border:1px solid #d4dfdc; border-radius:999px; background:#f5f8f7; color:#53625f; cursor:pointer; font:inherit; font-size:.74rem; font-weight:800; transition:background .12s,border-color .12s,transform .12s; }
.smack-reaction-button:hover { border-color:#9ebcaf; background:#edf6f1; transform:translateY(-1px); }
.smack-reaction-button.is-mine { border-color:#16804d; background:#e3f4ea; color:#106a3e; box-shadow:inset 0 0 0 1px rgba(22,128,77,.08); }
.smack-reaction-button:disabled { opacity:.55; cursor:wait; transform:none; }
.smack-reaction-emoji { font-size:1rem; line-height:1; }
.smack-reaction-count { min-width:13px; color:#74827e; text-align:center; }
.smack-reaction-button.is-mine .smack-reaction-count { color:#106a3e; }
.smack-empty { padding:34px 22px; text-align:center; }
.smack-empty h2 { margin:4px 0; }
.smack-empty p { margin-bottom:0; color:#677572; }
.smack-empty-icon { font-size:2rem; }

@media (max-width:620px) {
  .smack-page { padding:22px 12px 30px; }
  .smack-banner { display:block; }
  .smack-banner h1 { font-size:2rem; }
  .smack-season-badge { display:none; }
  .smack-quote { align-items:flex-start; padding:14px; }
  .smack-quote blockquote { font-size:.98rem; }
  .smack-panel-header, .smack-form { padding-left:15px; padding-right:15px; }
  .smack-message { grid-template-columns:38px minmax(0,1fr); gap:10px; padding:14px; }
  .smack-avatar { width:36px; height:36px; font-size:.95rem; }
  .smack-message-meta time { width:100%; margin-left:0; }
  .smack-reaction-label { display:none; }
  .smack-reaction-button { min-width:43px; justify-content:center; }
  .smack-feed-heading { align-items:flex-end; }
}

/* Commissioner console family */
.commissioner-page {
  background:
    radial-gradient(circle at 12% 0%, rgba(35,143,91,.30), transparent 29%),
    radial-gradient(circle at 88% 2%, rgba(35,91,142,.22), transparent 28%),
    linear-gradient(145deg,#0a1b2b 0%,#102b34 47%,#133b2d 100%);
}
.commissioner-banner { align-items:center; }
.commissioner-banner-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.commissioner-back { background:#334c68; border:1px solid rgba(255,255,255,.16); }
.commissioner-grid {
  max-width:1110px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.commissioner-page .commissioner-card { max-width:none; margin:0 0 18px; }
.commissioner-form {
  display:grid;
  grid-template-columns:minmax(120px,.7fr) minmax(150px,1fr) auto;
  gap:10px;
  align-items:end;
  margin-bottom:18px;
}
.player-create-form { grid-template-columns:1fr 1.25fr 1fr auto; }
.commissioner-form input,.commissioner-form select,
.season-enroll-form input,.season-enroll-form select,
.create-week-form input,.create-week-form select,
.season-payment-form input {
  min-height:44px;
  border:1px solid #aebdc2;
  border-radius:8px;
}
.commissioner-form input:focus,.commissioner-form select:focus,
.season-enroll-form select:focus,.create-week-form input:focus,
.season-payment-form input:focus {
  outline:none;
  border-color:#13824b;
  box-shadow:0 0 0 3px rgba(19,130,75,.13);
}
.commissioner-list,.player-admin-list,.season-player-list,.week-admin-list { display:flex; flex-direction:column; gap:9px; }
.commissioner-row,.player-admin-row,.season-player-row,.week-admin-row {
  border:1px solid #dbe5e3;
  border-radius:11px;
  background:#fff;
}
.commissioner-row {
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:13px 14px;
}
.commissioner-row-title { color:#132b42; font-weight:900; font-size:1.05rem; text-decoration:none; }
.commissioner-row-title:hover { text-decoration:underline; }
.commissioner-row-actions,.player-admin-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.commissioner-row-actions form,.player-admin-actions form { margin:0; }
.admin-pill {
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.06em;
}
.active-pill { background:#dcf5e7; color:#12633b; }
.inactive-pill { background:#eceff3; color:#67717f; }
.commissioner-pill { background:#e5edf8; color:#244a72; }
.you-pill { background:#fff1bd; color:#7c5900; margin-left:5px; }
.final-pill { background:#fff0c7; color:#805d00; }

.player-roster-card { max-width:1110px !important; margin:0 auto 18px !important; }
.player-admin-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
}
.player-admin-row.is-inactive { background:#f3f5f6; opacity:.86; }
.player-admin-identity { display:flex; align-items:center; gap:12px; min-width:0; }
.player-admin-avatar {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:linear-gradient(145deg,#183d54,#167448);
  color:#fff;
  font-weight:900;
  font-size:1.08rem;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);
}
.player-admin-name { color:#142238; font-weight:900; }
.player-admin-meta { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-top:6px; }
.history-note { color:#7b8790; font-size:.73rem; font-weight:700; }
.deactivate-button { background:#9a6a22; }
.reactivate-button { background:#147a48; }
.delete-player-button { background:#a63b3b; }
.disabled-action { opacity:.38; cursor:not-allowed; filter:none !important; }

.season-admin-grid { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
.season-enroll-form {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:10px;
  margin-bottom:16px;
}
.compact-empty { padding:16px; margin-bottom:16px; }
.season-player-row {
  display:grid;
  grid-template-columns:minmax(150px,1fr) 90px 90px minmax(185px,.9fr);
  align-items:end;
  gap:12px;
  padding:13px 14px;
}
.season-player-row.is-inactive { background:#f3f5f6; }
.season-money { display:flex; flex-direction:column; gap:3px; }
.season-money span { color:#6c7882; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.season-money strong { color:#17334c; }
.season-payment-form { display:grid; grid-template-columns:1fr auto; gap:7px; align-items:end; }
.season-payment-form label { font-size:.76rem; }
.season-payment-form button { min-height:44px; }
.season-player-actions { display:grid; gap:7px; min-width:0; }
.season-unenroll-form { margin:0; }
.season-unenroll-form button { width:100%; min-height:36px; }
.unenroll-button { background:#a63b3b; }
.season-unenrolled-note { color:#7b8790; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.create-week-form {
  display:grid;
  grid-template-columns:110px minmax(280px,1fr) auto;
  align-items:end;
  gap:12px;
  margin-bottom:8px;
}
.season-lock-picker { margin:0; }
.admin-helper { margin:8px 0 17px; font-size:.84rem; }
.week-admin-row {
  display:grid;
  grid-template-columns:58px 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px 13px;
}
.week-number-box {
  width:52px;
  min-height:52px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#e8f3ed;
  color:#1a5538;
  line-height:1;
}
.week-number-box span { font-size:.58rem; font-weight:900; letter-spacing:.1em; }
.week-number-box strong { margin-top:4px; font-size:1.35rem; }
.week-admin-info a { color:#143b5b; text-decoration:none; }
.week-admin-info a:hover { text-decoration:underline; }

@media (max-width:1000px) {
  .commissioner-grid,.season-admin-grid { grid-template-columns:1fr; }
  .player-create-form { grid-template-columns:1fr 1fr; }
  .commissioner-form { grid-template-columns:1fr 1fr; }
  .commissioner-form button { width:100%; }
  .season-player-row { grid-template-columns:1fr 90px 90px; }
  .season-player-actions { grid-column:1 / -1; }
}
@media (max-width:700px) {
  .commissioner-banner { align-items:flex-start; }
  .commissioner-banner-actions { width:100%; }
  .commissioner-back { width:100%; text-align:center; }
  .commissioner-form,.player-create-form,.season-enroll-form,.create-week-form { grid-template-columns:1fr; }
  .season-lock-picker { grid-template-columns:1fr; }
  .player-admin-row { align-items:flex-start; flex-direction:column; }
  .player-admin-actions { width:100%; }
  .player-admin-actions form { flex:1; }
  .player-admin-actions button { width:100%; }
  .season-player-row { grid-template-columns:1fr 1fr; }
  .season-player-row > div:first-child { grid-column:1 / -1; }
  .season-player-actions { grid-column:1 / -1; }
  .week-admin-row { grid-template-columns:52px 1fr; }
  .week-admin-row .commissioner-row-actions { grid-column:1 / -1; justify-content:flex-end; }
}


/* Commissioner layout corrections: use the desktop instead of fighting it. */
.admin-week-page {
  width:min(calc(100vw - 32px), 1560px);
  position:relative;
  left:50%;
  transform:translateX(-50%);
}
.admin-week-banner,
.admin-week-page .admin-card,
.commissioner-grid,
.player-roster-card {
  max-width:1480px;
}
.commissioner-grid {
  grid-template-columns:minmax(390px,.82fr) minmax(650px,1.18fr);
  gap:20px;
}
.season-admin-grid {
  grid-template-columns:minmax(610px,1.08fr) minmax(560px,.92fr);
}
.player-create-form {
  grid-template-columns:minmax(135px,.9fr) minmax(220px,1.35fr) minmax(170px,1fr) auto;
}
.commissioner-form > *,
.player-create-form > *,
.season-player-row > *,
.create-week-form > * {
  min-width:0;
}
.player-create-form input,
.season-payment-form input,
.create-week-form input {
  width:100%;
  min-width:0;
}
.season-player-row {
  grid-template-columns:minmax(190px,1.25fr) 82px 82px minmax(210px,1fr);
  align-items:end;
}
.season-player-row > div:first-child {
  min-width:0;
}
.season-player-row > div:first-child .muted {
  overflow-wrap:anywhere;
}
.season-payment-form {
  min-width:0;
  grid-template-columns:minmax(110px,1fr) auto;
}
.create-week-form {
  grid-template-columns:105px minmax(330px,1fr) auto;
}
.create-week-form .admin-primary-button {
  white-space:nowrap;
}

@media (max-width:1250px) {
  .commissioner-grid,
  .season-admin-grid { grid-template-columns:1fr; }
  .player-create-form { grid-template-columns:1fr 1.25fr 1fr auto; }
  .season-player-row { grid-template-columns:minmax(200px,1fr) 90px 90px minmax(220px,1fr); }
}
@media (max-width:900px) {
  .player-create-form { grid-template-columns:1fr 1fr; }
  .player-create-form .admin-primary-button { width:100%; }
  .season-player-row { grid-template-columns:minmax(180px,1fr) 90px 90px; }
  .season-payment-form { grid-column:1 / -1; }
  .create-week-form { grid-template-columns:105px 1fr; }
  .create-week-form .admin-primary-button { grid-column:1 / -1; width:100%; }
}
@media (max-width:700px) {
  .admin-week-page { width:100vw; }
  .player-create-form,
  .create-week-form { grid-template-columns:1fr; }
  .create-week-form .admin-primary-button { grid-column:auto; }
}

/* Rules / how-it-works */
.rules-page {
  margin:-24px -16px 0;
  padding:30px 20px 42px;
  min-height:680px;
  background:
    radial-gradient(circle at 12% 0%, rgba(36,147,91,.34), transparent 29%),
    radial-gradient(circle at 88% 3%, rgba(31,90,151,.28), transparent 29%),
    linear-gradient(145deg,#081a2a 0%,#102d36 48%,#15422f 100%);
  border-radius:0 0 18px 18px;
}
.rules-banner {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  color:#fff;
}
.rules-banner h1 { margin:3px 0 5px; color:#fff; font-size:2.35rem; }
.rules-banner p { margin:0; color:#c8d8da; }
.rules-kicker { color:#7bdda7; font-size:.78rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.rules-badge {
  min-width:92px;
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  background:rgba(255,255,255,.08);
  text-align:center;
  line-height:1.05;
}
.rules-badge span { display:block; font-size:1.55rem; font-weight:900; }
.rules-badge small { color:#a9bec4; text-transform:uppercase; letter-spacing:.12em; }
.rules-callout {
  max-width:1110px;
  margin:0 auto 18px;
  display:flex;
  gap:15px;
  align-items:center;
  padding:16px 20px;
  border:1px solid rgba(255,255,255,.14);
  border-left:4px solid #68ce91;
  border-radius:12px;
  background:rgba(5,18,28,.58);
  color:#eef7f2;
}
.rules-callout-icon { width:46px; height:46px; flex:0 0 46px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.09); font-size:1.45rem; }
.rules-callout-label { margin-bottom:3px; color:#79d8a5; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.rules-grid { max-width:1110px; margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rules-card {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  padding:20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(248,251,252,.98);
  box-shadow:0 15px 34px rgba(0,0,0,.16);
}
.rules-card-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:11px; background:#e6f4ec; font-size:1.35rem; }
.rules-card h2 { margin:1px 0 8px; color:#16283a; font-size:1.25rem; }
.rules-card p { margin:0 0 10px; color:#53636e; line-height:1.5; }
.rules-card p:last-child { margin-bottom:0; }
.rules-card-fun { border-color:#d9c66f; background:linear-gradient(135deg,#fffef8,#fff8d9); }
.payout-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:13px 0; }
.payout-strip span { padding:10px; border-radius:9px; background:#eaf5ef; text-align:center; }
.payout-strip strong { display:block; color:#117445; font-size:1.25rem; }
.payout-strip small { color:#61716e; font-size:.7rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
@media (max-width:760px) {
  .rules-page { padding:22px 12px 30px; }
  .rules-banner { align-items:flex-start; }
  .rules-banner h1 { font-size:2rem; }
  .rules-badge { display:none; }
  .rules-grid { grid-template-columns:1fr; }
  .rules-card { grid-template-columns:40px minmax(0,1fr); padding:16px; }
  .rules-card-icon { width:38px; height:38px; font-size:1.1rem; }
}

/* Commissioner game odds editor */
.game-odds-editor {
  display:flex;
  align-items:end;
  gap:10px;
  margin-top:10px;
}
.game-odds-editor label {
  flex:1 1 240px;
  margin:0;
  font-size:.82rem;
}
.game-odds-editor input {
  width:100%;
  margin-top:4px;
}
.game-odds-editor .secondary-admin-button {
  flex:0 0 auto;
  white-space:nowrap;
  min-height:42px;
}
@media (max-width: 760px) {
  .game-odds-editor {
    align-items:stretch;
    flex-direction:column;
  }
  .game-odds-editor .secondary-admin-button {
    width:100%;
  }
}

/* Player account */
.account-page { max-width:1050px; margin:0 auto; }
.account-banner { margin-bottom:18px; padding:26px 28px; border-radius:14px; background:linear-gradient(135deg,#0b2438,#18513a); color:#fff; }
.account-banner h1 { margin:3px 0 6px; color:#fff; }
.account-banner p { margin:0; color:#c8d8da; }
.account-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.account-card { padding:22px; }
.account-card h2 { margin-top:0; }
.account-form { display:grid; gap:14px; margin-top:18px; }
.account-form input { width:100%; }
.account-success { margin:12px 0; padding:10px 12px; border-radius:8px; background:#e7f6ed; color:#17633c; font-weight:800; }
.account-link { color:inherit; text-decoration:none; }
.account-link:hover { text-decoration:underline; }
.admin-reset-form { display:flex; gap:7px; align-items:center; }
.admin-reset-form input { width:150px; min-width:0; }
.game-structure-editor { display:grid; grid-template-columns:1fr 1fr minmax(245px,1.2fr) auto; gap:9px; align-items:end; margin-top:12px; padding-top:12px; border-top:1px solid #dce4e8; }
.game-structure-editor label { margin:0; font-size:.78rem; }
.game-structure-editor select,.game-structure-editor input { width:100%; }
.game-delete-form { margin-top:8px; }
.smack-moderation { margin-top:10px; }
.smack-delete-button { border:0; background:transparent; color:#a62b2b; font-size:.78rem; font-weight:800; cursor:pointer; padding:2px 0; }
@media (max-width:900px) { .account-grid { grid-template-columns:1fr; } .game-structure-editor { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .game-structure-editor { grid-template-columns:1fr; } .admin-reset-form { width:100%; } .admin-reset-form input { flex:1; width:auto; } }
.game-edit-time-fields { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.game-structure-note { margin-top:10px; font-size:.78rem; }
