:root{
  --buffet:#f4b942;
  --buffet-hover:#ffc958;
  --page:#111522;
  --header:#171b2a;
  --panel:#202538;
  --panel-raised:#272d43;
  --field:#171b2a;
  --soft:#2d344c;
  --line:#39415d;
  --text:#f7f8fc;
  --muted:#aeb7d1;
  --green:#87d89a;
  --red:#ffaaa8;
  --shadow:0 14px 35px rgba(0,0,0,.25);
}

*{
  box-sizing:border-box;
}

.buffet-body{
  background:var(--page);
  color:var(--text);
  min-height:100vh;
}

.buffet-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px clamp(18px,4vw,52px);
  background:var(--header);
  color:var(--text);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:10;
}

.buffet-header nav{
  display:flex;
  gap:16px;
  align-items:center;
}

.buffet-header a{
  color:inherit;
  text-decoration:none;
}

.buffet-brand{
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-.03em;
}

.buffet-shell{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:36px 0 72px;
}

.buffet-shell.narrow{
  width:min(760px,calc(100% - 32px));
}

.buffet-hero{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  background:linear-gradient(135deg,#20263a,#303a58);
  color:var(--text);
  padding:clamp(28px,5vw,58px);
  border:1px solid var(--line);
  border-radius:24px;
  margin-bottom:24px;
  box-shadow:var(--shadow);
}

.buffet-hero h1,
.page-heading h1{
  color:var(--text);
  font-size:clamp(2rem,5vw,4.2rem);
  line-height:.98;
  margin:.2em 0;
}

.buffet-hero p,
.page-heading p{
  max-width:700px;
  color:var(--muted);
}

.eyebrow{
  font-weight:900;
  letter-spacing:.16em;
  font-size:.76rem;
  color:var(--buffet);
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:12px;
  padding:13px 18px;
  background:var(--buffet);
  color:#141827!important;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  transition:transform .15s ease,background .15s ease;
}

.button:hover{
  background:var(--buffet-hover);
  transform:translateY(-1px);
}

.button.secondary{
  background:var(--soft);
  color:var(--text)!important;
  border:1px solid var(--line);
}

.button.compact{
  padding:9px 13px;
}

.button.full{
  width:100%;
}

.buffet-tabs{
  display:flex;
  gap:8px;
  overflow:auto;
  margin:20px 0;
  padding-bottom:4px;
}

.buffet-tabs button{
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--muted);
  border-radius:999px;
  padding:9px 14px;
  white-space:nowrap;
  cursor:pointer;
}

.buffet-tabs button.active{
  background:var(--buffet);
  border-color:var(--buffet);
  color:#141827;
  font-weight:800;
}

.challenge-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
}

.challenge-card,
.buffet-panel,
.empty-card{
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  box-shadow:var(--shadow);
}

.challenge-card h2,
.buffet-panel h2,
.empty-card h2{
  color:var(--text);
}

.challenge-card h2{
  margin:.6rem 0 .2rem;
}

.challenge-card-top,
.challenge-detail-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:.9rem;
}

.status-pill{
  display:inline-block;
  padding:4px 9px;
  border-radius:999px;
  background:var(--soft);
  color:var(--text);
  font-weight:800;
  font-size:.75rem;
}

.status-pill.open{
  background:#55461d;
  color:#ffe18a;
}

.status-pill.accepted{
  background:#1e4a31;
  color:#a9edbc;
}

.challenge-call{
  font-size:1.1rem;
  color:var(--text);
}

.challenge-meta,
.sides{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:16px 0;
}

.challenge-meta span,
.sides>div{
  background:var(--panel-raised);
  color:var(--text);
  border:1px solid var(--line);
  padding:12px;
  border-radius:12px;
}

.sides span,
.metric-grid span{
  display:block;
  color:var(--muted);
  font-size:.8rem;
}

.muted,
.fine-print{
  color:var(--muted);
}

.fine-print{
  font-size:.78rem;
  line-height:1.5;
}

.builder-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);
  gap:22px;
  align-items:start;
}

.builder-form{
  display:grid;
  gap:15px;
}

.builder-form label,
.counter-form label{
  display:grid;
  gap:7px;
  color:var(--text);
  font-weight:750;
}

.builder-form input,
.builder-form select,
.builder-form textarea,
.counter-form input,
.counter-form select,
.counter-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:10px;
  padding:12px;
  font:inherit;
  background:var(--field);
  color:var(--text);
}

.builder-form input::placeholder,
.builder-form textarea::placeholder,
.counter-form input::placeholder,
.counter-form textarea::placeholder{
  color:#7f89a4;
}

.builder-form input:focus,
.builder-form select:focus,
.builder-form textarea:focus,
.counter-form input:focus,
.counter-form select:focus,
.counter-form textarea:focus{
  outline:2px solid rgba(244,185,66,.45);
  border-color:var(--buffet);
}

.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.button-row,
.response-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.research-panel{
  position:sticky;
  top:92px;
}

.research-call{
  color:var(--muted);
}

.metric-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}

.metric-grid>div{
  background:var(--panel-raised);
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px;
}

.metric-grid strong{
  color:var(--text);
  font-size:1.25rem;
}

.research-copy{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.research-copy h3{
  color:var(--text);
  margin:0 0 10px;
}

.explanation-list{
  display:grid;
  gap:9px;
}

.explanation-item{
  display:block;
  background:var(--panel-raised);
  color:var(--muted);
  border-left:3px solid var(--buffet);
  border-radius:8px;
  padding:10px 12px;
  line-height:1.45;
}

.challenge-detail h1{
  color:var(--text);
  font-size:clamp(2rem,6vw,3.5rem);
  line-height:1.04;
}

.challenge-invite{
  font-weight:800;
  color:var(--muted);
  margin-top:28px;
}

.big-stake{
  display:inline-block;
  background:var(--buffet);
  color:#141827;
  font-size:1.4rem;
  font-weight:900;
  padding:10px 16px;
  border-radius:12px;
  margin:10px 0;
}

.challenge-detail blockquote{
  border-left:4px solid var(--buffet);
  margin:18px 0;
  padding:10px 18px;
  background:var(--panel-raised);
  color:var(--text);
  border-radius:0 10px 10px 0;
}

.push-note{
  background:var(--panel-raised);
  color:var(--muted);
  border:1px solid var(--line);
  padding:12px;
  border-radius:10px;
}

.research-snapshot{
  margin:24px 0;
}

.counter-form{
  margin-top:20px;
  border-top:1px solid var(--line);
  padding-top:20px;
  display:grid;
  gap:12px;
}

.hidden{
  display:none!important;
}

.link-button{
  border:0;
  background:none;
  color:#b9c8f4;
  text-decoration:underline;
  cursor:pointer;
}

.danger{
  color:var(--red);
}

.page-heading{
  margin-bottom:24px;
}

.message{
  margin:0 0 16px;
}

.message.show{
  padding:12px;
  border:1px solid #376549;
  border-radius:10px;
  background:#203d2b;
  color:#b8edc6;
}

.message.show.error{
  border-color:#723f42;
  background:#44272a;
  color:#ffc1bf;
}

@media(max-width:760px){
  .buffet-header{
    align-items:center;
    padding:13px 16px;
  }

  .buffet-header nav{
    gap:10px;
    font-size:.9rem;
  }

  .buffet-shell{
    width:min(100% - 22px,1180px);
    padding-top:22px;
  }

  .buffet-hero{
    align-items:flex-start;
    flex-direction:column;
    border-radius:18px;
  }

  .builder-layout{
    grid-template-columns:1fr;
  }

  .research-panel{
    position:static;
  }

  .two-col,
  .sides{
    grid-template-columns:1fr;
  }

  .button-row .button,
  .response-actions .button{
    width:100%;
  }

  .challenge-detail{
    padding:18px;
  }

  .metric-grid{
    grid-template-columns:1fr 1fr;
  }

  .challenge-meta{
    grid-template-columns:1fr;
  }
}

@media(max-width:430px){
  .buffet-brand{
    font-size:1.05rem;
  }

  .buffet-header nav>a:not(.button){
    display:none;
  }

  .metric-grid{
    grid-template-columns:1fr;
  }

  .buffet-hero h1,
  .page-heading h1{
    font-size:2.25rem;
  }
}


.challenge-scope{
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  display:grid;
  gap:10px;
  margin:0;
}

.challenge-scope legend{
  padding:0 6px;
  font-weight:850;
  color:var(--text);
}

.choice-row{
  grid-template-columns:auto 1fr!important;
  align-items:start;
  gap:11px!important;
  background:var(--panel-raised);
  border:1px solid var(--line);
  border-radius:11px;
  padding:12px;
  cursor:pointer;
}

.choice-row input{
  width:auto!important;
  margin-top:4px;
}

.choice-row strong,
.choice-row small{
  display:block;
}

.choice-row small{
  color:var(--muted);
  font-weight:400;
  margin-top:3px;
}

.open-challenge-note{
  display:grid;
  gap:4px;
  background:#223c31;
  border:1px solid #376549;
  border-radius:11px;
  padding:13px;
  color:#c6f2d1;
}

.open-challenge-note span{
  color:#a8d8b5;
  font-size:.86rem;
}

.scope-pill{
  display:inline-block;
  width:max-content;
  margin-top:12px;
  padding:5px 9px;
  border-radius:999px;
  background:#243a63;
  color:#bed2ff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}

.detail-scope{
  margin-top:20px;
}


.logout-link{color:var(--muted);font-weight:750;text-decoration:none}.logout-link:hover{color:var(--text)}
.lifecycle-note{margin:16px 0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel-raised);color:var(--muted)}

.odds-warning{color:#f3a8a8!important;font-weight:700}.odds-summary{margin:12px 0 18px;color:var(--muted);line-height:1.55}.odds-summary strong{color:var(--text)}

.payout-summary{margin:.55rem 0 1rem;color:var(--muted);font-size:.92rem;line-height:1.45}

.result-panel,.result-summary{margin:16px 0;padding:14px;border-radius:12px;background:rgba(28,92,65,.09);border:1px solid rgba(28,92,65,.2)}.result-panel h2{margin:0 0 6px}.result-summary{font-size:15px}

/* Compatibility aliases for features added after the original Buffet theme */
:root{
  --rust:var(--buffet);
  --rust-dark:var(--buffet-hover);
  --rust-soft:rgba(244,185,66,.20);
  --slate:var(--header);
  --slate-2:var(--panel);
  --slate-3:var(--muted);
  --sand:var(--soft);
  --cream:var(--page);
  --paper:var(--panel);
  --green:#56c596;
  --red:#ef6b73;
  --shadow:0 16px 40px rgba(0,0,0,.28);
  --shadow-soft:0 8px 24px rgba(0,0,0,.18);
}

/* Buffet player records */
.record-summary-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;padding:18px 22px;border:1px solid rgba(154,76,45,.24);border-radius:18px;background:linear-gradient(135deg,#fffaf0,#f3e6d1);box-shadow:0 12px 28px rgba(38,45,51,.08)}
.record-summary-card>div{display:grid;gap:3px}.record-summary-card strong{font-size:30px;color:#29333a}.record-summary-card small{color:#667078}.record-summary-card>a{font-weight:800;color:#9a4c2d;text-decoration:none}
.profile-hero{margin:28px 0 22px;padding:34px;border-radius:24px;background:linear-gradient(135deg,#263139,#3c4b53);color:#fff;box-shadow:0 20px 45px rgba(31,39,44,.18)}.profile-hero h1{margin:.25rem 0;font-size:clamp(2.2rem,6vw,4rem);color:#fff}.profile-hero p{margin:0;color:#e7ddcd}
.record-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:34px}.record-stat{padding:18px;border:1px solid #d8cbb9;border-radius:16px;background:#fffaf2;display:grid;gap:7px}.record-stat span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7479}.record-stat strong{font-size:28px;color:#29333a}
.history-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 16px}.history-head h2{margin:.2rem 0 0}.history-head select{width:auto;min-width:160px}.result-pill{padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.06em}.result-pill.win{background:#dfeee3;color:#24623a}.result-pill.loss{background:#f5dfd9;color:#8c3523}.result-pill.push{background:#e8e5dc;color:#5b5b54}.result-pill.void{background:#e6e9eb;color:#566069}.history-card .button.secondary{background:#35434b;color:#fff}
@media(max-width:900px){.record-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.record-summary-card,.history-head{align-items:flex-start;flex-direction:column}.record-grid{grid-template-columns:repeat(2,1fr)}.profile-hero{padding:24px}.history-head select{width:100%}}


/* Buffet social layer */
.social-panel{margin:28px 0 8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fffaf2,#f1e4d0);box-shadow:var(--shadow-soft)}
.social-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.social-heading h2{margin:.2rem 0 0;color:var(--slate);font-size:1.35rem}.spice-summary{color:var(--rust-dark);font-size:.95rem}
.spice-buttons{display:flex;gap:8px;flex-wrap:wrap}.spice-button,.reaction-button{border:1px solid #d7c6ae;background:#fffdf8;color:var(--ink);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.spice-button{min-height:42px;padding:7px 10px;border-radius:12px;font-size:.9rem}.spice-button:hover:not(:disabled),.reaction-button:hover{transform:translateY(-1px);border-color:var(--rust)}.spice-button.selected,.reaction-button.selected{border-color:var(--rust);background:#f0d8c8;box-shadow:0 0 0 2px rgba(154,76,45,.12)}
.spice-button:disabled{opacity:.56;cursor:not-allowed}.reaction-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.reaction-label{font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.reaction-button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;font-weight:800}.reaction-button strong{color:var(--rust-dark)}
.card-social-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.card-social-summary span{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;background:#f1e7d8;color:var(--slate);font-size:.82rem;font-weight:800}.card-social-summary small{font-size:.72rem;color:var(--muted)}
@media(max-width:600px){.social-heading{align-items:flex-start;flex-direction:column}.spice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.spice-button{width:100%}}


/* Buffet comments */
.comments-panel{margin:22px 0 8px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)}
.comments-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.comments-heading h2{margin:.2rem 0 0;color:var(--slate)}.comments-heading h2 small{color:var(--muted);font-size:.8rem}
.comment-list{display:grid;gap:12px}.comment-item{padding:15px 16px;border:1px solid #ddcfbd;border-radius:14px;background:#fffdf8}.comment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-meta strong{color:var(--slate)}.comment-meta span{color:var(--muted);font-size:.78rem}.comment-item p{margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.comment-actions{display:flex;gap:10px;margin-top:10px}
.comment-form{display:grid;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.comment-form textarea{resize:vertical}.comment-form-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.comment-form-foot span{color:var(--muted);font-size:.8rem}.comments-disabled{margin-top:18px;padding:12px;border-radius:10px;background:#f1e7d8;color:var(--muted)}
@media(max-width:600px){.comments-heading,.comment-meta,.comment-form-foot{align-items:flex-start;flex-direction:column}.comment-form-foot .button{width:100%}}


/* Polished challenge type selector */
.challenge-scope{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:2px 0;
  padding:0;
  border:0;
  min-width:0;
}
.challenge-scope legend{
  grid-column:1/-1;
  margin:0 0 2px;
  padding:0;
  color:var(--slate);
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.builder-form .choice-row{
  position:relative;
  display:flex!important;
  align-items:flex-start;
  min-height:86px;
  margin:0;
  padding:16px 16px 16px 52px;
  border:1px solid #d6c8b2;
  border-radius:14px;
  background:#fffdf8;
  cursor:pointer;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.builder-form .choice-row:hover{
  transform:translateY(-1px);
  border-color:#b99b7c;
  box-shadow:0 8px 20px rgba(38,45,51,.08);
}
.builder-form .choice-row:has(input:checked){
  border-color:var(--rust);
  background:linear-gradient(135deg,#fffaf2,#f3dfcf);
  box-shadow:0 0 0 3px rgba(154,76,45,.12);
}
.builder-form .choice-row input[type="radio"]{
  position:absolute;
  width:1px!important;
  height:1px!important;
  margin:0;
  opacity:0;
  pointer-events:none;
}
.builder-form .choice-row span{
  display:grid;
  gap:5px;
  min-width:0;
}
.builder-form .choice-row span::before{
  content:"";
  position:absolute;
  left:17px;
  top:18px;
  width:20px;
  height:20px;
  border:2px solid #aa9b87;
  border-radius:50%;
  background:#fff;
  box-sizing:border-box;
}
.builder-form .choice-row input:checked + span::before{
  border:6px solid var(--rust);
}
.builder-form .choice-row strong{
  color:var(--slate);
  font-size:1rem;
  line-height:1.25;
}
.builder-form .choice-row small{
  color:var(--muted);
  font-size:.82rem;
  font-weight:600;
  line-height:1.4;
}
@media(max-width:620px){
  .challenge-scope{grid-template-columns:1fr}
  .builder-form .choice-row{min-height:0}
}


/* Phase 3.3 notification center */
.notification-nav-link{position:relative;display:inline-flex!important;align-items:center;gap:6px}
.notification-bell{font-size:1rem}
.notification-badge{display:grid;place-items:center;position:absolute;right:-10px;top:-10px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--rust);color:#fff;font-size:.7rem;font-weight:900;line-height:1}
.notification-badge[hidden]{display:none}
.notifications-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:22px 0}
.notifications-head h1{margin:.2rem 0}
.notification-filters{display:flex;gap:8px;margin:0 0 16px}
.notification-filters button{border:1px solid #d6c8b2;border-radius:999px;background:#fffdf8;color:var(--slate);font-weight:800;padding:9px 16px;cursor:pointer}
.notification-filters button.active{background:var(--slate);border-color:var(--slate);color:#fff}
.notification-list{display:grid;gap:10px}
.notification-card{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:16px 18px;border:1px solid #d9cdbb;border-radius:16px;background:#fffdf8;box-shadow:0 6px 18px rgba(38,45,51,.05)}
.notification-card.unread{border-color:#c58262;background:linear-gradient(135deg,#fffaf2,#f6e8db);box-shadow:0 8px 22px rgba(154,76,45,.11)}
.notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#efe5d7;font-size:1.25rem}
.notification-copy p{margin:4px 0;color:var(--muted);line-height:1.45}
.notification-copy small{color:var(--muted)}
.notification-title-row{display:flex;align-items:center;gap:8px}
.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--rust);flex:0 0 auto}
@media(max-width:620px){
  .notifications-head{align-items:flex-start;flex-direction:column}
  .notification-card{grid-template-columns:40px 1fr}
  .notification-card .notification-open{grid-column:2;justify-self:start}
  .notification-label{display:none}
}

/* Notification preference settings */
.settings-head{margin-bottom:20px}.settings-head h1{margin:.25rem 0 .4rem}
.notification-settings{padding:0;overflow:hidden}
.preference-grid{display:grid;grid-template-columns:minmax(240px,1fr) 110px 110px 130px;gap:16px;align-items:center}
.preference-grid-head{padding:14px 20px;background:var(--slate);color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.preference-row{padding:18px 20px;border-bottom:1px solid #e7dccb}
.preference-row>div{display:grid;gap:4px}.preference-row small{color:var(--muted);line-height:1.35}
.switch{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;margin:0;cursor:pointer}
.switch input{position:absolute;opacity:0;pointer-events:none}
.switch span{position:relative;width:38px;height:22px;border-radius:999px;background:#c9c1b5;transition:.18s}
.switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.18s}
.switch input:checked+span{background:var(--rust)}
.switch input:checked+span:after{transform:translateX(16px)}
.switch em{font-style:normal;font-size:.82rem;color:var(--muted)}
.switch.disabled{opacity:.55;cursor:not-allowed}
.settings-actions{padding:18px 20px;background:#fbf6ee}
@media(max-width:720px){
 .preference-grid-head{display:none}
 .preference-grid{grid-template-columns:1fr;gap:12px}
 .preference-row{padding:18px}
 .switch{grid-template-columns:38px 1fr}
}


/* Phase 3.5 friends and activity feed */
.social-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:22px 0}.social-page-head h1{margin:.2rem 0}.friend-search-panel{padding:20px;margin-bottom:26px}.friend-search-panel label{display:grid;gap:4px;margin-bottom:12px}.friend-search-panel label span{color:var(--muted);font-size:.9rem}.friend-search-row{display:grid;grid-template-columns:1fr auto;gap:10px}.friend-search-row input{min-width:0;border:1px solid #d6c8b2;border-radius:12px;background:#fffdf8;color:var(--ink);padding:12px 14px;font:inherit}.friend-search-row input::placeholder{color:#7b8794;opacity:1}.people-list{display:grid;gap:10px;margin-top:14px}.friend-sections{display:grid;grid-template-columns:1fr 1fr;gap:24px}.friend-sections>div:last-child{grid-column:1/-1}.section-heading h2{margin:0}.person-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid #ddd0bd;border-radius:15px;background:#fffdf8}.person-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#efe5d7;color:var(--rust);font-weight:900;font-size:1.05rem}.person-copy{display:grid;gap:3px;min-width:0}.person-copy strong,.person-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-copy span{color:var(--muted);font-size:.84rem}.person-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#efe5d7;color:var(--slate);padding:7px 10px;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.status-pill.accepted{background:#e4eee7;color:#315c42}.text-button{border:0;background:transparent;color:var(--rust);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}.text-button.danger{color:#9b3f32}.activity-feed{display:grid;gap:12px}.activity-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid #ddd0bd;border-radius:16px;background:#fffdf8;box-shadow:0 6px 18px rgba(38,45,51,.05)}.activity-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#efe5d7;font-size:1.3rem}.activity-copy{display:grid;gap:5px}.activity-copy>div{display:flex;gap:5px;flex-wrap:wrap}.activity-copy span{color:var(--slate)}.activity-copy small{color:var(--muted)}.feed-privacy-head{margin-top:34px}.feed-privacy-panel{overflow:hidden}.feed-privacy-panel>label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin:0;padding:17px 20px;border-bottom:1px solid #e7dccb}.feed-privacy-panel>label span{display:grid;gap:4px}.feed-privacy-panel small{color:var(--muted)}.feed-privacy-panel input{width:20px;height:20px;accent-color:var(--rust)}
@media(max-width:760px){.social-page-head{align-items:flex-start;flex-direction:column}.friend-sections{grid-template-columns:1fr}.friend-sections>div:last-child{grid-column:auto}.person-card{grid-template-columns:42px 1fr}.person-actions{grid-column:2;justify-content:flex-start}.activity-card{grid-template-columns:42px 1fr}.activity-card>a{grid-column:2;justify-self:start}.friend-search-row{grid-template-columns:1fr}}


/* Phase 3.6 public profiles */
.public-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px}.profile-avatar{display:grid;place-items:center;width:88px;height:88px;border-radius:24px;background:var(--rust);color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:2.5rem;font-weight:900}.profile-identity h1{margin:.15rem 0}.profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.profile-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(185,95,59,.35)}.profile-link:hover{color:var(--rust-dark);border-color:var(--rust)}.notification-actor{display:inline-block;margin-top:2px;font-size:.82rem;font-weight:800}.profile-privacy-panel{overflow:hidden}.profile-privacy-panel>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:20px;align-items:center;margin:0;padding:18px 20px;border-bottom:1px solid #e7dccb}.profile-privacy-panel>label span{display:grid;gap:4px}.profile-privacy-panel small{color:var(--muted)}.profile-privacy-panel select{width:100%;padding:11px 12px;border:1px solid #d6c8b2;border-radius:10px;background:#fffdf8;color:var(--ink);font:inherit}
@media(max-width:720px){.public-profile-hero{grid-template-columns:auto 1fr}.profile-actions{grid-column:1/-1;justify-content:flex-start}.profile-avatar{width:68px;height:68px;border-radius:18px;font-size:2rem}.profile-privacy-panel>label{grid-template-columns:1fr}}


/* Dark-theme harmonization for newer Buffet features */
.record-summary-card,.record-stat,.social-panel,.comments-panel,.notification-card,
.notification-settings,.person-card,.activity-card,.feed-privacy-panel,
.friend-search-panel,.comment-item,.public-profile-card,.profile-section{
  color:var(--ink);
  background:var(--panel);
  border-color:var(--line);
}
.profile-hero{background:linear-gradient(135deg,var(--header),var(--panel-raised))}
.record-summary-card{background:linear-gradient(135deg,var(--panel),var(--panel-raised))}
.record-summary-card strong,.record-stat strong,.social-heading h2,.comments-heading h2,
.notification-copy strong,.person-copy strong,.activity-copy strong,
.public-profile-card h2,.profile-section h2{color:var(--ink)}
.record-summary-card small,.record-stat span,.person-copy span,.activity-copy small,
.notification-copy p,.notification-copy small{color:var(--muted)}
.spice-button,.reaction-button,.notification-filters button{
  color:var(--ink);
  background:var(--field);
  border-color:var(--line);
}
.spice-button.selected,.reaction-button.selected,.notification-card.unread{
  background:rgba(244,185,66,.12);
  border-color:var(--buffet);
}
.comment-form textarea,.friend-search-row input{
  color:var(--ink);
  background:var(--field);
  border-color:var(--line);
}
.friend-search-row input::placeholder{color:var(--muted);opacity:1}
.preference-grid-head{background:var(--header)}
.preference-row,.feed-privacy-panel>label{border-color:var(--line)}
.settings-actions{background:var(--panel-raised)}
.person-avatar,.activity-icon,.notification-icon{background:var(--soft);color:var(--buffet)}
.status-pill{background:var(--soft);color:var(--ink)}
.text-button,.link-button,.record-summary-card>a,.profile-link{color:var(--buffet)}


/* Official Buffet logo integration */
.buffet-brand{
  display:block;
  width:190px;
  height:54px;
  flex:0 0 auto;
  overflow:hidden;
  background:url("/assets/buffet/buffet-wordmark.png") center/contain no-repeat;
  color:transparent!important;
  font-size:0!important;
  letter-spacing:0;
  text-indent:-9999px;
}
.buffet-brand::before{display:none!important;content:none!important}

.buffet-hero{
  background:
    linear-gradient(112deg,rgba(7,24,38,.95),rgba(52,68,84,.91)),
    url("/assets/buffet/buffet-primary-logo.png") right 34px center/430px auto no-repeat;
}
.buffet-hero>div{max-width:610px}
.buffet-hero::before{opacity:.45}
.buffet-hero::after{display:none}

@media(max-width:980px){
  .buffet-hero{
    background:
      linear-gradient(112deg,rgba(7,24,38,.97),rgba(52,68,84,.94)),
      url("/assets/buffet/buffet-primary-logo.png") right -70px center/360px auto no-repeat;
  }
}
@media(max-width:760px){
  .buffet-brand{width:142px;height:42px}
  .buffet-hero{
    background:
      linear-gradient(112deg,rgba(7,24,38,.98),rgba(52,68,84,.96));
  }
}

/* Phase 3.8 reliability ratings */
.reliability-panel{margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:var(--shadow-soft)}
.reliability-panel h2{margin:.25rem 0;color:var(--ink)}
.reliability-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.reliability-form label{display:grid;gap:7px;color:var(--ink);font-weight:800}
.reliability-form select,.reliability-form textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--field);color:var(--ink);font:inherit}
.reliability-feedback{grid-column:1/-1}.reliability-form .button{grid-column:1/-1;justify-self:start}
.reliability-summary-card{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;margin-bottom:24px}
.reliability-score{display:grid;gap:5px}.reliability-score span,.reliability-score small{color:var(--muted)}.reliability-score strong{font-size:2.5rem;color:var(--buffet)}
.reliability-bars{display:grid;gap:10px}.reliability-bars>div{display:grid;grid-template-columns:minmax(150px,1fr) 50px 2fr;gap:12px;align-items:center}.reliability-bars progress{width:100%;accent-color:var(--buffet)}
/* Mobile navigation */
.mobile-menu-button,.mobile-menu{display:none}
@media(max-width:760px){
  .buffet-header{gap:10px}
  .buffet-header nav>a:not(.button){display:none!important}
  .buffet-header nav{margin-left:auto;gap:8px}
  .mobile-menu-button{display:inline-flex!important;min-height:38px;padding:8px 11px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:transparent;color:#fff;font:inherit;font-weight:800;cursor:pointer}
  .mobile-menu{display:none;position:absolute;right:14px;top:60px;width:min(280px,calc(100vw - 28px));padding:8px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 18px 40px rgba(0,0,0,.35)}
  .mobile-menu.open{display:grid}
  .mobile-menu a{display:flex!important;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:9px;color:var(--ink)!important;font-weight:750;text-decoration:none}
  .mobile-menu a:hover{background:var(--soft)}
  .reliability-form,.reliability-summary-card{grid-template-columns:1fr}
  .reliability-bars>div{grid-template-columns:1fr 45px}
  .reliability-bars progress{grid-column:1/-1}
}


/* Simplified reliability rating controls */
.reliability-rating-field,.reliability-tags-field{margin:0;padding:0;border:0}
.reliability-rating-field legend,.reliability-tags-field legend{margin-bottom:10px;color:var(--ink);font-weight:850}
.reliability-tags-field legend small{color:var(--muted);font-size:.78rem;font-weight:650}
.reliability-rating-scale{display:grid;grid-template-columns:repeat(5,minmax(48px,1fr));gap:9px;max-width:520px}
.reliability-rating-choice,.reliability-tag-choice{position:relative;margin:0;cursor:pointer}
.reliability-rating-choice input,.reliability-tag-choice input{position:absolute;opacity:0;pointer-events:none}
.reliability-rating-choice span{display:grid;place-items:center;min-height:52px;border:1px solid var(--line);border-radius:12px;background:var(--field);color:var(--ink);font-size:1.05rem;font-weight:900;transition:.15s}
.reliability-rating-choice:hover span,.reliability-tag-choice:hover span{border-color:var(--buffet);transform:translateY(-1px)}
.reliability-rating-choice input:checked+span{border-color:var(--buffet);background:var(--buffet);color:#101826;box-shadow:0 0 0 3px rgba(230,178,60,.16)}
.reliability-rating-choice input:focus-visible+span,.reliability-tag-choice input:focus-visible+span{outline:3px solid rgba(230,178,60,.28);outline-offset:2px}
.reliability-rating-labels{display:flex;justify-content:space-between;max-width:520px;margin-top:6px;color:var(--muted);font-size:.76rem}
.reliability-tags{display:flex;gap:9px;flex-wrap:wrap}
.reliability-tag-choice span{display:inline-flex;align-items:center;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--ink);font-weight:800;transition:.15s}
.reliability-tag-choice input:checked+span{border-color:var(--buffet);background:rgba(230,178,60,.16);color:var(--buffet)}
.reliability-tag-choice input:checked+span::before{content:"✓";margin-right:7px;font-weight:900}
@media(max-width:520px){
  .reliability-rating-scale{gap:6px}
  .reliability-rating-choice span{min-height:48px}
  .reliability-tags{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .reliability-tag-choice{min-width:0}
  .reliability-tag-choice span{display:flex;width:100%;min-width:0;box-sizing:border-box;justify-content:center;text-align:center;line-height:1.2;padding:9px 10px}
}


/* Activity contrast and My Reviews */
.activity-copy,.activity-copy span,.activity-copy strong,.activity-copy a{color:var(--ink)!important}
.activity-copy small{color:var(--muted)!important}
.my-reviews-section{margin:34px 0}
.review-tabs{display:flex;gap:8px;margin:0 0 16px}
.review-tabs button{padding:9px 16px;border:1px solid var(--line);border-radius:999px;background:var(--field);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
.review-tabs button.active{background:var(--buffet);border-color:var(--buffet);color:#071826}
.review-history-list{display:grid;gap:12px}
.review-history-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink)}
.review-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.review-history-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review-history-head small{color:var(--muted)}
.review-history-card p{color:var(--ink)}
.review-score{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(230,178,60,.16);color:var(--buffet);font-weight:900}
.review-tag-list{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.review-tag-list span{padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:.82rem;font-weight:800}
#odds{font-variant-numeric:tabular-nums}
@media(max-width:620px){.review-history-head{flex-direction:column}.review-history-card .button-row{align-items:flex-start;flex-direction:column}}


/* Phase 3.9 reliability trust labels */
.user-trust-line,.profile-trust-badges,.challenge-participant-trust,.notification-actor-line{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.user-trust-line{margin-top:7px}
.profile-trust-badges{margin-top:10px}
.challenge-participant-trust{
  width:max-content;
  max-width:100%;
  margin:12px 0;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel-raised);
  color:var(--ink);
}
.challenge-participant-trust>span:first-child{font-weight:850}
.reliability-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.reliability-new{
  color:var(--muted);
  background:var(--soft);
}
.reliability-score-badge{
  color:var(--ink);
  background:var(--panel-raised);
}
.reliability-trusted{
  color:#071826;
  background:#f4b942;
  border-color:#f4b942;
  box-shadow:0 3px 10px rgba(244,185,66,.20);
}
.notification-actor-line{margin:6px 0}
.activity-copy .reliability-badge{vertical-align:middle}
@media(max-width:600px){
  .challenge-participant-trust{width:100%;border-radius:14px}
}


/* Feedback submitted confirmation */
.feedback-success-card{
  display:grid;
  justify-items:center;
  gap:15px;
  margin:clamp(38px,8vw,90px) auto 0;
  padding:clamp(32px,7vw,62px);
  text-align:center;
  color:var(--ink);
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
}
.feedback-success-card h1{
  margin:0;
  color:var(--ink);
  font-size:clamp(2.25rem,7vw,4.25rem);
  line-height:.98;
}
.feedback-success-card p{
  max-width:580px;
  margin:0;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
}
.feedback-success-icon{
  display:grid;
  place-items:center;
  width:82px;
  height:82px;
  margin-bottom:4px;
  border-radius:50%;
  color:#071826;
  background:var(--buffet);
  font-size:2.7rem;
  font-weight:950;
  box-shadow:0 10px 28px rgba(244,185,66,.22);
}
.feedback-privacy-note{
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-raised);
  font-size:.9rem!important;
}
.feedback-success-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:10px;
}
.feedback-success-actions .text-button{
  padding:10px 12px;
  text-decoration:none;
}
@media(max-width:600px){
  .feedback-success-card{padding:30px 20px}
  .feedback-success-actions{width:100%}
  .feedback-success-actions .button{width:100%}
}


/* Buffet usernames */
.username-link{font-weight:900;text-decoration:none}
.username-link:hover{text-decoration:underline}
.user-display-name{margin-left:6px;color:var(--muted);font-weight:650;font-size:.86em}
.profile-username{color:var(--buffet);font-size:1.05rem}
.username-settings-head{margin-top:12px}
.username-settings-panel{display:grid;gap:16px}
.username-settings-panel label{display:grid;gap:8px}
.username-input-wrap{
  display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);
  border-radius:12px;background:var(--panel-raised);font-size:1.05rem;font-weight:900
}
.username-input-wrap input{
  width:100%;padding:14px 0;border:0!important;outline:0;background:transparent!important;
  color:var(--ink);font:inherit
}
.username-status{min-height:1.3em;color:var(--muted);font-weight:750}
.username-claim-banner{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;
  padding:18px 20px;border:1px solid rgba(244,185,66,.45);border-radius:16px;
  background:linear-gradient(135deg,rgba(244,185,66,.14),var(--panel))
}
.username-claim-banner div{display:grid;gap:4px}
.username-claim-banner strong{font-size:1.05rem}
@media(max-width:600px){
  .username-claim-banner{align-items:stretch;flex-direction:column}
  .username-claim-banner .button{width:100%}
}


/* Accepted challenge confirmation */
.accept-success-card .eyebrow{color:var(--buffet)}
.accept-success-icon{
  background:var(--buffet);
  color:#071826;
}
.accepted-summary{
  display:grid;
  gap:5px;
  width:min(100%,540px);
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel-raised);
  color:var(--ink);
}
.accepted-summary strong{
  font-size:1rem;
}
.accepted-summary span{
  color:var(--muted);
  font-size:.92rem;
}

/* Private groups */
.compact-hero{min-height:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px}.notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(38,49,58,.12)}.notification-row:last-child{border-bottom:0}.notification-row p{margin:4px 0 0;color:var(--muted,#687078)}.invite-accept-shell{max-width:720px;margin:0 auto;padding:40px 20px}.invite-accept-card{margin-top:30px;padding:34px;border-radius:24px;background:#fff;border:1px solid rgba(38,49,58,.12);box-shadow:0 24px 60px rgba(38,49,58,.12)}.invite-accept-card h1{font-size:38px;margin:12px 0}.invite-details{display:grid;gap:7px;margin:22px 0;padding:18px;border-radius:16px;background:rgba(243,198,63,.18)}.text-link{display:inline-block;margin-top:22px;color:inherit;font-weight:800}@media(max-width:800px){.dashboard-layout{grid-template-columns:1fr}.section-heading{align-items:flex-start}.invite-accept-card{padding:24px}.invite-accept-card h1{font-size:30px}}

/* Public legal and SMS compliance pages */
.public-header nav{display:flex;gap:18px;align-items:center}.legal-shell{max-width:920px}.legal-copy{display:grid;gap:10px;line-height:1.7}.legal-copy h2{margin:22px 0 0}.legal-copy p{margin:0;color:var(--muted,#b8c1d8)}.legal-copy a,.sms-public-card a{color:#f7bd3f}.public-footer{display:flex;justify-content:center;gap:24px;padding:32px;color:#b8c1d8}.public-footer a{color:inherit}.sms-public-card{line-height:1.65}.legal-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.legal-facts div{display:flex;flex-direction:column;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:14px}.legal-facts span{color:#b8c1d8}.consent-preview{padding:18px;border:1px solid rgba(247,189,63,.55);border-radius:14px;background:rgba(247,189,63,.07);margin:18px 0}.consent-preview label{display:flex;gap:12px;align-items:flex-start}.consent-preview input{width:auto;margin-top:5px}.sms-consent-panel{display:grid;gap:18px}.sms-consent-panel .consent-check{display:flex;gap:12px;align-items:flex-start}.sms-consent-panel .consent-check input{width:auto;margin-top:5px}.sms-status{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06)}@media(max-width:700px){.public-header{align-items:flex-start}.public-header nav{flex-wrap:wrap}.legal-facts{grid-template-columns:1fr}}
.buffet-sms-banner{display:flex;justify-content:center;gap:12px;align-items:center;padding:9px 16px;background:#f4be3d;color:#20293a;font-size:14px;border-bottom:1px solid rgba(32,41,58,.22);position:relative;z-index:30}.buffet-sms-banner strong{text-transform:uppercase;letter-spacing:.08em;font-size:12px}.buffet-sms-banner a{color:inherit;font-weight:850;text-decoration:underline;text-underline-offset:2px}.buffet-sms-banner a:hover{text-decoration-thickness:2px}.button.disabled,[aria-disabled="true"]{opacity:.52;cursor:not-allowed}@media(max-width:650px){.buffet-sms-banner{display:block;text-align:center}.buffet-sms-banner span{display:block;margin-top:3px}}

/* Build 2.3.6: challenge search and filters */
.challenge-search-panel{margin:20px 0 24px;padding:18px;border:1px solid var(--buffet-border,#41465d);border-radius:18px;background:var(--buffet-panel,#26293a)}
.challenge-search-primary{display:grid;grid-template-columns:minmax(260px,1fr) 180px 150px auto;gap:12px;align-items:center}.challenge-search-primary input,.challenge-search-primary select,.challenge-search-advanced input,.challenge-search-advanced select{width:100%;box-sizing:border-box;margin:0}.challenge-search-box{margin:0}.challenge-search-advanced{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid var(--buffet-border,#41465d)}.challenge-search-advanced label{margin:0}.challenge-search-footer{display:flex;align-items:center;gap:12px;min-height:34px;margin-top:14px}.challenge-search-footer #resultCount{margin-left:auto}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chips button{border:1px solid rgba(231,188,77,.45);background:rgba(231,188,77,.12);color:inherit;border-radius:999px;padding:7px 10px;font:inherit;font-size:13px;cursor:pointer}.text-button{border:0;background:transparent;color:var(--buffet-yellow,#e7bc4d);font:inherit;font-weight:700;cursor:pointer}.challenge-pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin:26px 0}.challenge-pagination button:disabled{opacity:.45;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.challenge-search-primary{grid-template-columns:1fr 1fr}.challenge-search-box{grid-column:1/-1}.challenge-search-advanced{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.challenge-search-primary,.challenge-search-advanced{grid-template-columns:1fr}.challenge-search-footer{align-items:flex-start;flex-direction:column}.challenge-search-footer #resultCount{margin-left:0}.challenge-search-primary .button{width:100%}}

/* Build 2.3.8 — private group invitation dark-theme repair */
.invite-accept-shell{
  width:min(760px,calc(100% - 32px));
  max-width:none;
  margin:0 auto;
  padding:40px 0 72px;
}

.invite-accept-shell>.buffet-brand{
  display:inline-block;
  color:var(--text);
  text-decoration:none;
}

.invite-accept-card{
  margin-top:24px;
  padding:clamp(24px,5vw,38px);
  border-radius:24px;
  background:linear-gradient(145deg,var(--panel-raised),var(--panel));
  color:var(--text);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.invite-accept-card h1{
  color:var(--text);
  font-size:clamp(2rem,6vw,2.8rem);
  line-height:1.05;
  margin:14px 0 20px;
}

.invite-accept-card .muted{
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.6;
}

.invite-details{
  display:grid;
  gap:9px;
  margin:24px 0;
  padding:18px 20px;
  border-radius:16px;
  background:rgba(244,185,66,.10);
  border:1px solid rgba(244,185,66,.30);
  color:var(--text);
}

.invite-details strong{
  color:var(--text);
}

.invite-details span{
  color:var(--muted);
}

.invite-accept-card .button-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
}

.invite-accept-card .button.secondary{
  background:var(--soft);
  color:var(--text)!important;
  border:1px solid var(--line);
}

.invite-accept-card .button.secondary:hover{
  background:var(--panel-raised);
}

.invite-accept-card .text-link{
  color:var(--muted);
  text-decoration:none;
}

.invite-accept-card .text-link:hover{
  color:var(--text);
}

.invite-accept-card .message:not(:empty){
  margin:18px 0;
}

@media(max-width:600px){
  .invite-accept-shell{width:min(100% - 24px,760px);padding-top:22px}
  .invite-accept-card{border-radius:20px}
  .invite-accept-card .button-row{display:grid;grid-template-columns:1fr 1fr}
  .invite-accept-card .button{width:100%}
}

/* Build 3.1: challenge review and confirmation */
.challenge-review-backdrop{position:fixed;inset:0;background:rgba(13,18,24,.72);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}
.challenge-review-backdrop.hidden{display:none}
.challenge-review-modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:var(--panel,#fff);color:var(--ink,#18202a);border-radius:20px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.32)}
.challenge-review-modal h2{margin:4px 0 6px}.challenge-review-modal>.muted{margin-top:0}
.challenge-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.challenge-review-item{border:1px solid rgba(111,119,129,.25);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}
.challenge-review-item.wide{grid-column:1/-1}.challenge-review-item span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:4px}.challenge-review-item strong{display:block;overflow-wrap:anywhere}
.challenge-review-warning{border-left:4px solid #e0a52b;padding:10px 12px;background:rgba(224,165,43,.12);border-radius:8px;margin:12px 0}
.challenge-review-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}
@media(max-width:600px){.challenge-review-modal{padding:18px;border-radius:16px}.challenge-review-grid{grid-template-columns:1fr}.challenge-review-item.wide{grid-column:auto}.challenge-review-actions .button{width:100%}}

/* Build 3.1.1: compact challenge confirmation */
.challenge-review-backdrop{background:rgba(7,12,20,.78);padding:24px 16px;align-items:center}
.challenge-review-modal{width:min(560px,100%);max-height:min(760px,calc(100vh - 32px));display:flex;flex-direction:column;overflow:hidden;padding:0;background:#171d2b;color:#f5f7fb;border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.48)}
.challenge-review-header{padding:22px 24px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.challenge-review-header .eyebrow{color:#e9b949;font-weight:900;letter-spacing:.12em}
.challenge-review-header h2{margin:5px 0 3px;color:#fff;font-size:1.45rem}
.challenge-review-header p{margin:0;color:#aeb8cb;font-size:.95rem}
.challenge-review-content{padding:18px 24px;overflow:auto;display:grid;gap:14px}
.challenge-review-pick{padding:18px;border-radius:16px;background:linear-gradient(145deg,rgba(233,185,73,.16),rgba(255,255,255,.035));border:1px solid rgba(233,185,73,.42)}
.challenge-review-pick-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.challenge-review-type{color:#c8d0df;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.challenge-review-featured{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e9b949;color:#17130a;font-size:.74rem;font-weight:950}
.challenge-review-pick h3{margin:0;color:#fff;font-size:1.28rem;line-height:1.25}
.challenge-review-pick p{margin:4px 0 14px;color:#c7cfdd}
.challenge-review-pick>strong{display:inline-block;color:#f5c95f;font-size:1.15rem}
.challenge-review-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.025)}
.challenge-review-detail{padding:13px 14px;min-width:0;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.025)}
.challenge-review-detail.review-expires{grid-column:1/-1}
.challenge-review-detail span,.challenge-review-message span{display:block;margin-bottom:5px;color:#9ca8bd;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.challenge-review-detail strong{display:block;color:#f5f7fb;font-size:.96rem;line-height:1.35;overflow-wrap:anywhere}
.challenge-review-detail.review-matchup strong{font-size:1rem}
.challenge-review-message{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.045)}
.challenge-review-message p{margin:0;color:#eef2f8;line-height:1.45}
.challenge-review-warning{margin:0 24px 16px;padding:11px 13px;background:rgba(233,185,73,.1);border:1px solid rgba(233,185,73,.28);border-left:3px solid #e9b949;color:#f1d88f;border-radius:11px;font-size:.9rem}
.challenge-review-warning>div+div{margin-top:6px}
.challenge-review-actions{position:sticky;bottom:0;margin:0;padding:16px 24px 20px;background:#171d2b;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1fr 1fr;gap:12px}
.challenge-review-actions .button{width:100%;min-height:50px;margin:0}
@media(max-width:600px){.challenge-review-backdrop{padding:12px;align-items:flex-end}.challenge-review-modal{max-height:calc(100vh - 20px);border-radius:20px 20px 14px 14px}.challenge-review-header{padding:18px 18px 14px}.challenge-review-content{padding:14px 18px}.challenge-review-details{grid-template-columns:1fr;padding:8px;gap:8px}.challenge-review-detail,.challenge-review-detail.review-expires{grid-column:auto}.challenge-review-warning{margin:0 18px 12px}.challenge-review-actions{padding:14px 18px 16px}.challenge-review-actions .button{width:100%}}

/* Build 3.2: navigation, unread indicators, and activity cleanup */
.buffet-header nav a.nav-active:not(.button){color:var(--gold,#edbf54);position:relative}
.buffet-header nav a.nav-active:not(.button)::after{content:"";position:absolute;left:8px;right:8px;bottom:-8px;height:3px;border-radius:999px;background:currentColor}
.notification-nav-link{position:relative;display:inline-flex!important;align-items:center;gap:6px}
.notification-nav-link .notification-bell{font-size:.9em}
.notification-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#edbf54;color:#1d2430;font-size:.68rem;font-weight:950;line-height:1}
.notification-badge[hidden]{display:none!important}
.notification-nav-link.has-unread{font-weight:900}
.mobile-menu-button{align-items:center;gap:6px}
.mobile-menu a.nav-active{background:var(--soft);color:var(--rust)!important}
.mobile-menu a.nav-active::before{content:"";width:4px;align-self:stretch;border-radius:999px;background:#edbf54;margin-right:4px}
.mobile-notification-link.has-unread{font-weight:900}
.activity-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}
.activity-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}
.activity-filter-tabs button{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);padding:9px 13px;font:inherit;font-size:.82rem;font-weight:850;cursor:pointer}
.activity-filter-tabs button.active{background:var(--slate);border-color:var(--slate);color:#fff}
.activity-day{display:grid;gap:10px}
.activity-day+.activity-day{margin-top:10px}
.activity-day>h2{margin:0;padding:2px 4px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
.activity-day-list{display:grid;gap:10px}
.activity-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.activity-card:hover{transform:translateY(-1px);border-color:#cbbda8;box-shadow:0 10px 24px rgba(38,45,51,.08)}
@media(max-width:760px){
  .buffet-header nav a.nav-active:not(.button)::after{display:none}
  .activity-toolbar{align-items:stretch;flex-direction:column}
  .activity-filter-tabs{display:grid;grid-template-columns:1fr 1fr}
  .activity-filter-tabs button{width:100%;padding:10px 8px}
  .activity-toolbar>.button{align-self:flex-start}
}


/* Build 3.2.2: keep the home hero CTA clear of the watermark */
.buffet-hero-cta{
  margin-top:22px;
  position:relative;
  z-index:1;
}

/* Build 3.2.3: canonical navigation and active underline */
.buffet-brand-stack{display:grid;gap:8px;flex:0 0 190px}
.buffet-brand-stack .buffet-brand{display:inline-flex;width:max-content;align-items:center;line-height:1}
.buffet-header-create{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:38px;padding:9px 13px;border:1px solid rgba(244,185,66,.62);border-radius:10px;background:var(--buffet);color:#171b2a!important;font-size:.82rem;font-weight:950;line-height:1;box-shadow:0 7px 18px rgba(244,185,66,.13);transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
.buffet-header-create:hover{background:var(--buffet-hover);transform:translateY(-1px);box-shadow:0 10px 22px rgba(244,185,66,.2)}
.buffet-header-create.nav-active{outline:2px solid rgba(255,255,255,.88);outline-offset:2px}
.buffet-header nav a:not(.button){position:relative}
.buffet-header nav a.nav-active:not(.button){color:var(--gold,#edbf54)!important}
.buffet-header nav a.nav-active:not(.button)::after{content:"";position:absolute;left:8px;right:8px;bottom:-8px;height:3px;border-radius:999px;background:var(--gold,#edbf54)}
.buffet-header .logout-link{opacity:.72;font-weight:700}
.buffet-header .logout-link:hover{opacity:1}
.mobile-menu .mobile-create-link{margin-bottom:5px;background:var(--buffet);color:#171b2a!important;font-weight:950}
.mobile-menu .mobile-create-link:hover,.mobile-menu .mobile-create-link.nav-active{background:var(--buffet-hover);color:#171b2a!important}
.mobile-menu .mobile-logout-link{margin-top:6px;opacity:.78;border-top:1px solid var(--line)}
@media(max-width:760px){
  .buffet-brand-stack{display:block;flex:0 0 auto}
  .buffet-header-create{display:none}
  .buffet-header nav a.nav-active:not(.button)::after{display:none}
}

/* Build 3.3: mobile cleanup */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px}
  .buffet-header{min-height:64px;padding:10px 14px;gap:10px}
  .buffet-header .buffet-brand{max-width:150px}
  .buffet-header nav{display:none!important}
  .mobile-menu-button{display:inline-flex;min-width:44px;min-height:44px;justify-content:center}
  .mobile-menu{inset:64px 12px auto 12px;max-height:calc(100dvh - 82px);overflow:auto;padding:10px;border-radius:16px}
  .mobile-menu a{min-height:46px;padding:12px 14px;border-radius:11px;white-space:normal}
  .buffet-sms-banner{padding:8px 12px;font-size:.82rem;line-height:1.35}
  main,.page-shell,.shell,.content-shell,.dashboard-shell{width:100%;max-width:100%;padding-left:14px!important;padding-right:14px!important;box-sizing:border-box}
  .hero,.buffet-hero,.compact-hero{min-height:auto;padding:24px 18px;border-radius:20px}
  .hero h1,.buffet-hero h1{font-size:clamp(2rem,10vw,3.1rem);line-height:1.02;overflow-wrap:anywhere}
  .hero p,.buffet-hero p{font-size:1rem;line-height:1.5}
  .buffet-hero-art,.hero-art{opacity:.16;max-width:65%;right:-12%;pointer-events:none}
  .buffet-hero-cta{width:100%;margin-top:18px}
  .buffet-hero-cta.button,.buffet-hero-cta .button{width:100%;min-height:50px}
  .card,.panel,.challenge-card,.activity-card,.person-card,.notification-row,.group-card,.profile-card{min-width:0;max-width:100%;box-sizing:border-box}
  .card,.panel,.challenge-card,.group-card,.profile-card{border-radius:16px;padding:16px}
  .challenge-card-header,.challenge-card-footer,.card-header,.card-footer,.section-heading,.social-page-head{align-items:flex-start;flex-direction:column;gap:10px}
  .challenge-card .button-row,.card .button-row,.button-row{display:grid;grid-template-columns:1fr;gap:10px;width:100%}
  .challenge-card .button,.card .button,.button-row .button{width:100%;min-height:46px}
  form,.form-grid,.challenge-form,.settings-grid,.profile-grid{min-width:0;max-width:100%}
  .form-grid,.challenge-form,.settings-grid,.profile-grid{grid-template-columns:1fr!important}
  input,select,textarea,button{font-size:16px}
  input,select,textarea{max-width:100%;min-height:46px;box-sizing:border-box}
  textarea{min-height:110px}
  .tabs,.tab-row,.filter-chips,.activity-filter-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;padding-bottom:3px}
  .tabs::-webkit-scrollbar,.tab-row::-webkit-scrollbar,.filter-chips::-webkit-scrollbar,.activity-filter-tabs::-webkit-scrollbar{display:none}
  .tabs>* ,.tab-row>* ,.filter-chips>* ,.activity-filter-tabs>*{flex:0 0 auto}
  .activity-card,.person-card{grid-template-columns:42px minmax(0,1fr)}
  .activity-card>a,.person-actions{grid-column:2;justify-self:stretch}
  .person-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .notification-row{align-items:flex-start;flex-direction:column}
  .notification-row .button,.notification-row a.button{width:100%}
  .dashboard-layout,.friend-sections,.legal-facts{grid-template-columns:1fr!important}
  table{min-width:640px}
  .table-wrap,.responsive-table,.leaderboard-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .chat-shell,.group-chat,.messages-panel{min-height:0;max-height:none}
  .chat-composer,.message-composer{position:sticky;bottom:0;display:grid;grid-template-columns:1fr;gap:8px;padding-bottom:max(10px,env(safe-area-inset-bottom));background:var(--bg,#171b2a)}
  .chat-composer .button,.message-composer .button{width:100%;min-height:46px}
  .modal,.dialog,.sheet{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
  .challenge-review-backdrop{padding:0;align-items:flex-end}
  .challenge-review-modal{width:100%;max-height:94dvh;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .challenge-review-actions{grid-template-columns:1fr 1fr;padding-bottom:max(16px,env(safe-area-inset-bottom))}
  .challenge-review-actions .button{min-height:50px}
  .badge,.pill,.chip{max-width:100%;overflow-wrap:anywhere}
  h1,h2,h3,p,a,strong,span{overflow-wrap:anywhere}
}

@media(max-width:420px){
  main,.page-shell,.shell,.content-shell,.dashboard-shell{padding-left:10px!important;padding-right:10px!important}
  .hero,.buffet-hero,.compact-hero{padding:20px 15px;border-radius:16px}
  .card,.panel,.challenge-card,.group-card,.profile-card{padding:14px;border-radius:14px}
  .challenge-review-header{padding:16px 15px 12px}
  .challenge-review-content{padding:12px 15px}
  .challenge-review-warning{margin:0 15px 10px}
  .challenge-review-actions{padding:12px 15px max(14px,env(safe-area-inset-bottom))}
  .challenge-review-actions{grid-template-columns:1fr}
}

/* Build 3.3.1: mobile header and viewport corrections */
@media(max-width:760px){
  .buffet-header{
    min-height:58px;
    padding:8px 12px;
    align-items:center;
  }
  .buffet-header nav{
    display:flex!important;
    margin-left:auto;
    align-items:center;
  }
  .buffet-header nav>a{display:none!important}
  .buffet-brand-stack{display:block!important;min-width:0}
  .buffet-header .buffet-brand{
    display:block;
    width:122px;
    max-width:122px;
    height:36px;
  }
  .mobile-menu-button{
    display:inline-flex!important;
    min-width:44px;
    min-height:42px;
    padding:8px 10px;
  }
  .mobile-menu{
    inset:58px 10px auto 10px;
    width:auto;
    max-height:calc(100dvh - 70px);
  }
  .buffet-sms-banner{
    padding:7px 12px;
    font-size:.76rem;
    line-height:1.3;
  }
  .buffet-shell{
    width:100%;
    padding-top:18px!important;
    padding-bottom:88px!important;
  }
  .buffet-hero{
    margin-bottom:16px;
    padding:22px 18px;
  }
  .buffet-hero .eyebrow{
    font-size:.7rem;
    line-height:1.35;
  }
  .buffet-hero h1{
    font-size:clamp(2.15rem,9vw,2.8rem);
    line-height:1.02;
    margin:.28em 0 .35em;
  }
  .buffet-hero p{
    margin-bottom:0;
    font-size:.96rem;
    line-height:1.45;
  }
  .buffet-hero-cta{
    min-height:50px;
    padding:12px 16px;
    margin-top:16px;
  }
  .record-summary-card{margin-top:0}
  .bf-report-btn{
    right:14px;
    bottom:max(76px,calc(env(safe-area-inset-bottom) + 62px));
    width:48px;
    height:48px;
    min-width:48px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:0;
  }
  .bf-report-btn::before{
    content:"!";
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border:2px solid currentColor;
    border-radius:50%;
    font-size:15px;
    line-height:1;
    font-weight:950;
  }
}

@media(max-width:420px){
  .buffet-header .buffet-brand{width:112px;max-width:112px;height:33px}
  .buffet-sms-banner{font-size:.72rem;padding:6px 10px}
  .buffet-hero{padding:19px 16px}
  .buffet-hero h1{font-size:2.18rem}
}


/* Build 3.3.4: centered desktop header logo balance */
/* Build 3.3.4.1: use transparent header artwork so the live header color shows through */
.buffet-header-mark{
  flex:1 1 280px;
  align-self:stretch;
  min-width:160px;
  min-height:74px;
  display:block;
  background:url("/assets/buffet/buffet-primary-logo-transparent.png") center/contain no-repeat;
  opacity:.92;
  filter:saturate(.82) brightness(.96);
  text-decoration:none;
}
.buffet-header-mark:hover{opacity:1;filter:saturate(1) brightness(1.04)}
.buffet-header-mark.nav-active{outline:none}
.buffet-header-mark.nav-active::after{display:none!important}
@media(max-width:1180px){
  .buffet-header-mark{flex-basis:210px;min-width:120px;background-size:min(260px,100%) auto}
}
@media(max-width:980px){
  .buffet-header-mark{display:none}
}

/* Build 3.3.4.2: use the transparent logo asset in the mobile header */
@media(max-width:760px){
  .buffet-header .buffet-brand{
    background-image:url("/assets/buffet/buffet-primary-logo-transparent.png")!important;
    background-position:left center!important;
    background-size:contain!important;
    background-repeat:no-repeat!important;
  }
}

/* Build 4.1.1: account details */
.account-details-panel{display:grid;gap:16px}.account-details-panel label{display:grid;gap:7px}.account-details-panel input{width:100%}.email-verification-wrap{margin-top:4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:12px}.email-verification-wrap.hidden{display:none}


/* Build 4.2.1: the Help control supplies its own responsive presentation. */
.bf-report-btn{display:none!important}

/* Build 4.2.2: How It Works public walkthrough */
.buffet-hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:26px}
.buffet-hero-actions .buffet-hero-cta{margin-top:0}
.buffet-how-link{color:var(--buffet-sand,#efe4cd);font-weight:800;text-decoration:none;border-bottom:1px solid rgba(239,228,205,.45);padding:7px 1px 5px}
.buffet-how-link:hover{border-bottom-color:currentColor}
.how-it-works-page{min-height:100vh}
.how-header{position:relative;z-index:2}
.how-shell{max-width:1120px;padding-bottom:72px}
.how-hero{padding:88px 0 62px;max-width:820px}
.how-hero h1{font-size:clamp(42px,7vw,78px);line-height:.98;letter-spacing:-.055em;margin:12px 0 24px;color:var(--buffet-ink,#f4ead6)}
.how-hero>p{font-size:clamp(18px,2.4vw,23px);line-height:1.55;max-width:760px;color:var(--buffet-muted,#b8b7af)}
.how-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.how-section-heading{grid-column:1/-1;margin-bottom:4px}
.how-section-heading h2,.how-rules-panel h2,.how-cta-panel h2{margin:7px 0 0;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-.035em}
.how-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
.how-step-card{display:flex;gap:18px;align-items:flex-start;padding:24px;border:1px solid rgba(239,228,205,.14);border-radius:18px;background:rgba(255,255,255,.035)}
.how-step-card:last-child{grid-column:1/-1}
.how-step-number{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--buffet-yellow,#f3bf45);color:#202629;font-size:18px;font-weight:900}
.how-step-card h3,.how-info-card h3{margin:1px 0 8px;font-size:20px}
.how-step-card p,.how-info-card p,.how-rules-panel p,.how-cta-panel p{margin:0;color:var(--buffet-muted,#b8b7af);line-height:1.6}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:54px}
.how-info-card{padding:24px;border-radius:18px;background:var(--buffet-panel,#30383b);border:1px solid rgba(239,228,205,.12)}
.how-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(243,191,69,.12);margin-bottom:18px;font-size:20px}
.how-rules-panel,.how-cta-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin-top:54px;padding:32px;border-radius:22px;border:1px solid rgba(243,191,69,.32);background:linear-gradient(135deg,rgba(243,191,69,.1),rgba(255,255,255,.025))}
.how-cta-panel{grid-template-columns:1fr auto}
.how-cta-panel .button{white-space:nowrap}
.how-footer{justify-content:center;gap:24px;flex-wrap:wrap}
@media(max-width:760px){
  .buffet-hero-actions{gap:12px}.buffet-how-link{font-size:14px}
  .how-header nav a:not(.button){display:none}
  .how-shell{padding-left:18px;padding-right:18px}
  .how-hero{padding:54px 0 42px}
  .how-hero h1{font-size:44px}
  .how-steps,.how-grid,.how-rules-panel,.how-cta-panel{grid-template-columns:1fr}
  .how-step-card:last-child{grid-column:auto}
  .how-grid{margin-top:38px}
  .how-rules-panel,.how-cta-panel{gap:18px;padding:24px;margin-top:38px}
  .how-cta-panel .button{width:100%;text-align:center}
}

/* Build 4.2.3: profile credibility */
.profile-identity #profileMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:.35rem 0 0}.profile-username{flex-basis:100%;color:var(--ink)}.profile-member-since{font-weight:800;color:var(--ink)}.profile-meta-separator{color:var(--muted)}.profile-trust-badges{display:inline-flex;align-items:center;gap:6px}
@media(max-width:560px){.profile-identity #profileMeta{gap:5px 7px}.profile-meta-separator{display:none}.profile-member-since{flex-basis:100%}}


/* Build 4.4.3: challenge game and group context */
.challenge-card-top{align-items:center}
.challenge-scope-link{display:inline-flex;align-items:center;max-width:65%;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.challenge-scope-link.group{background:#2d3e70;color:#dbe5ff;border:1px solid #465c96}
.challenge-scope-link.group:hover{background:#3a4e86;color:#fff}
.challenge-scope-link.open{background:#55461d;color:#ffe18a}
.challenge-scope-link.direct{background:var(--soft);color:var(--muted)}
.challenge-game-context{margin:18px 0 16px;padding:14px 16px;border:1px solid rgba(234,188,77,.34);border-left:4px solid var(--buffet);border-radius:12px;background:rgba(234,188,77,.06)}
.challenge-week{display:block;margin-bottom:5px;color:var(--buffet);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.challenge-matchup{display:block;color:var(--text);font-size:1.08rem;line-height:1.35}
.challenge-card-footer a{color:var(--buffet);font-weight:800;text-decoration:none}
.challenge-card-footer a:hover{text-decoration:underline}
@media(max-width:640px){.challenge-card-top{align-items:flex-start}.challenge-scope-link{max-width:72%}.challenge-game-context{padding:12px 13px}.challenge-matchup{font-size:1rem}}

/* Build 4.4.4: challenge review details card cleanup */


/* Build 4.4.5: brand-left / primary-action-right header balance */
.buffet-brand-stack{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-width:150px;
}
.buffet-brand-stack .buffet-brand{width:max-content}
.buffet-header nav{margin-left:auto}
.buffet-header-create{
  width:auto;
  min-width:164px;
  flex:0 0 auto;
  margin-left:4px;
  padding:11px 16px;
  white-space:nowrap;
}
.buffet-header-create .create-label-short{display:none}
.mobile-header-create{display:none}

@media(max-width:1180px) and (min-width:761px){
  .buffet-header{gap:14px;padding-left:24px;padding-right:24px}
  .buffet-header nav{gap:11px}
  .buffet-header-create{min-width:auto;padding:10px 13px}
  .buffet-header-create .create-label-full{display:none}
  .buffet-header-create .create-label-short{display:inline}
}

@media(max-width:760px){
  .buffet-brand-stack{display:block;min-width:0;flex:0 0 auto}
  .buffet-header-create{display:none!important}
  .mobile-header-create{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:42px;
    padding:8px 12px;
    border-radius:10px;
    background:var(--buffet);
    color:#171b2a!important;
    font-size:.82rem;
    font-weight:950;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
  }
  .mobile-header-create:hover{background:var(--buffet-hover)}
}

@media(max-width:390px){
  .mobile-header-create{min-width:42px;padding:8px 10px;font-size:0}
  .mobile-header-create span[aria-hidden="true"]{font-size:1.05rem}
}


/* Build 4.4.6: separate account exit action from primary navigation */
.buffet-header .nav-account-divider{
  align-self:center;
  width:1px;
  height:26px;
  margin:0 4px 0 7px;
  background:rgba(239,228,205,.22);
  flex:0 0 auto;
}
.buffet-header .logout-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:8px 10px;
  border-radius:9px;
  color:var(--muted)!important;
  font-size:.86rem;
  font-weight:750;
  opacity:.9;
  text-decoration:none;
  white-space:nowrap;
  transition:color .15s ease,background .15s ease,opacity .15s ease;
}
.buffet-header .logout-link .logout-icon{font-size:1rem;line-height:1;transform:translateY(-1px)}
.buffet-header .logout-link:hover{
  color:#f0b0a8!important;
  background:rgba(201,93,82,.10);
  opacity:1;
}
.buffet-header .logout-link.nav-active::after{display:none!important}
.mobile-menu .mobile-logout-link{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:12px;
  padding-top:15px;
  border-top:1px solid var(--line);
  color:var(--muted)!important;
  opacity:.9;
}
.mobile-menu .mobile-logout-link:hover{color:#f0b0a8!important;background:rgba(201,93,82,.08)}
.mobile-menu .mobile-logout-link .logout-icon{font-size:1.05rem;line-height:1}
@media(max-width:1180px) and (min-width:761px){
  .buffet-header .nav-account-divider{margin-left:2px;margin-right:1px}
  .buffet-header .logout-link{padding:8px 7px}
}
@media(max-width:760px){
  .buffet-header .nav-account-divider,.buffet-header .logout-link{display:none!important}
}


/* Build 4.4.6.1: keep the Create Challenge CTA independent from active-nav styling */
.buffet-header nav a.buffet-header-create,
.buffet-header nav a.buffet-header-create.nav-active{
  position:relative;
  color:#171b2a!important;
  text-decoration:none!important;
  outline:none;
  outline-offset:0;
  border:1px solid rgba(244,185,66,.62);
  box-shadow:0 7px 18px rgba(244,185,66,.13);
}
.buffet-header nav a.buffet-header-create::after,
.buffet-header nav a.buffet-header-create.nav-active::after{display:none!important;content:none!important}
.buffet-header nav a.buffet-header-create:hover{
  color:#171b2a!important;
  background:var(--buffet-hover);
  border-color:rgba(244,185,66,.78);
  box-shadow:0 10px 22px rgba(244,185,66,.2);
}
.buffet-header nav a.buffet-header-create:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:3px;
}


/* Build 4.4.8: challenge prefill, group-only featured pick, and mobile header actions */
.pick-of-week-card{
  border-color:rgba(234,188,77,.42)!important;
  background:linear-gradient(135deg,rgba(234,188,77,.10),rgba(255,255,255,.025))!important;
  color:var(--ink)!important;
}
.pick-of-week-card strong{color:var(--ink)!important}
.pick-of-week-card small{color:#c7c0b3!important}
.pick-of-week-card:hover{border-color:rgba(234,188,77,.68)!important;background:linear-gradient(135deg,rgba(234,188,77,.14),rgba(255,255,255,.035))!important}
.pick-of-week-card:has(input:checked){border-color:var(--buffet)!important;box-shadow:0 0 0 2px rgba(234,188,77,.13),0 10px 24px rgba(0,0,0,.16)}
.pick-of-week-card input[type="checkbox"]{accent-color:var(--buffet)}
.mobile-header-alerts{display:none}
@media(max-width:760px){
  .buffet-header{gap:8px}
  .buffet-header nav{gap:8px!important}
  .mobile-header-create{display:inline-flex!important;min-height:42px;padding:8px 11px}
  .mobile-header-alerts{
    position:relative;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:42px;
    min-height:42px;
    padding:8px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:10px;
    background:rgba(255,255,255,.035);
    color:#fff!important;
    text-decoration:none;
  }
  .mobile-header-alerts:hover,.mobile-header-alerts.has-unread{border-color:rgba(234,188,77,.62);background:rgba(234,188,77,.08)}
  .mobile-header-alerts .notification-bell{font-size:1rem;line-height:1}
  .mobile-header-alerts .notification-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;font-size:.62rem}
  .mobile-menu .mobile-create-link,.mobile-menu .mobile-notification-link{display:none!important}
}
@media(max-width:430px){
  .buffet-header .buffet-brand{width:104px!important;max-width:104px!important}
  .mobile-header-create{min-width:42px;padding:8px 9px;font-size:0}
  .mobile-header-create span[aria-hidden="true"]{font-size:1.05rem}
  .mobile-menu-button span:last-child{display:none}
}


/* Build 4.4.8.1: restore mobile header actions above legacy nav hiding rules */
@media(max-width:760px){
  .buffet-header nav>a.mobile-header-create{display:inline-flex!important}
  .buffet-header nav>a.mobile-header-alerts{display:inline-flex!important}
  .buffet-header nav>.mobile-menu-button{display:inline-flex!important}
}


/* Build 4.4.8.2: keep the mobile Create label visible */
@media(max-width:430px){
  .mobile-header-create{min-width:auto!important;padding:8px 10px!important;font-size:.78rem!important;gap:4px!important}
  .mobile-header-create span[aria-hidden="true"]{font-size:1rem}
}
@media(max-width:350px){
  .mobile-header-create{padding:8px 8px!important;font-size:.72rem!important}
}


/* Build 4.4.8.3: stable challenge selector, group-only Pick of the Week, and direct-member prefill */
@media(min-width:761px){
  .challenge-scope{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.builder-form .pick-of-week-card.hidden{display:none!important}
.builder-form .pick-of-week-card{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:14px;
  margin:0;
  padding:18px 20px;
  border:1px solid rgba(234,188,77,.42);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(234,188,77,.10),rgba(255,255,255,.025));
  cursor:pointer;
}
.builder-form .pick-of-week-card input[type="checkbox"]{
  width:20px!important;
  height:20px!important;
  margin:2px 0 0!important;
  accent-color:var(--buffet);
}
.builder-form .pick-of-week-card span{display:grid;gap:6px}
.builder-form .pick-of-week-card strong{color:var(--ink)!important;font-size:1rem;line-height:1.25}
.builder-form .pick-of-week-card small{display:block;color:#c7c0b3!important;font-size:.82rem;line-height:1.45}
.builder-form .pick-of-week-card:has(input:checked){border-color:var(--buffet)!important;box-shadow:0 0 0 2px rgba(234,188,77,.13),0 10px 24px rgba(0,0,0,.16)}
@media(max-width:760px){
  .challenge-scope{grid-template-columns:1fr}
}

/* Build 4.4.8.5: restrained challenge type selector refinement */
.builder-form .challenge-scope{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:8px 0 4px;
  padding:0;
  border:0;
  min-width:0;
}
.builder-form .challenge-scope legend{
  grid-column:1/-1;
  margin:0 0 2px;
  padding:0;
  color:#d7d9e2;
  font-size:.82rem;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.builder-form .challenge-scope .choice-row{
  position:relative;
  display:block!important;
  min-width:0;
  min-height:104px;
  margin:0;
  padding:17px 17px 16px 49px;
  overflow:visible;
  border:1px solid rgba(164,171,194,.32);
  border-radius:14px;
  background:#202536;
  box-shadow:none;
  color:var(--text);
  cursor:pointer;
  transform:none;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.builder-form .challenge-scope .choice-row:nth-of-type(3){
  grid-column:1/-1;
}
.builder-form .challenge-scope .choice-row:hover{
  border-color:rgba(234,188,77,.62);
  background:#252b3e;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
  transform:translateY(-1px);
}
.builder-form .challenge-scope .choice-row:has(input:checked){
  border:2px solid var(--buffet);
  padding:16px 16px 15px 48px;
  background:linear-gradient(135deg,rgba(234,188,77,.16),rgba(234,188,77,.055)),#24293a;
  box-shadow:0 0 0 2px rgba(234,188,77,.10);
}
.builder-form .challenge-scope .choice-row input[type="radio"]{
  position:absolute;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  opacity:0;
  pointer-events:none;
}
.builder-form .challenge-scope .choice-row span{
  display:grid;
  gap:6px;
  min-width:0;
}
.builder-form .challenge-scope .choice-row span::before{
  content:"";
  position:absolute;
  left:17px;
  top:18px;
  width:19px;
  height:19px;
  border:2px solid #9fa6ba;
  border-radius:50%;
  background:#171b29;
  box-sizing:border-box;
}
.builder-form .challenge-scope .choice-row:has(input:checked) span::before{
  left:16px;
  top:17px;
}
.builder-form .challenge-scope .choice-row input:checked + span::before{
  border:5px solid var(--buffet);
  background:#fffaf0;
}
.builder-form .challenge-scope .choice-row strong{
  display:block;
  max-width:100%;
  overflow:visible;
  color:#f6f3ec!important;
  font-size:1rem;
  font-weight:850;
  line-height:1.22;
  letter-spacing:-.01em;
  white-space:normal;
  text-wrap:pretty;
}
.builder-form .challenge-scope .choice-row small{
  display:block;
  color:#b8bfd2!important;
  font-size:.81rem;
  font-weight:500;
  line-height:1.42;
}
.builder-form .challenge-scope .choice-row:has(input:checked) small{
  color:#d2d6e2!important;
}
.builder-form .challenge-scope .choice-row:focus-within{
  outline:3px solid rgba(255,255,255,.82);
  outline-offset:3px;
}
@media(min-width:1080px){
  .builder-form .challenge-scope{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .builder-form .challenge-scope .choice-row:nth-of-type(3){
    grid-column:auto;
  }
  .builder-form .challenge-scope .choice-row{
    min-height:112px;
  }
}
@media(max-width:760px){
  .builder-form .challenge-scope{
    grid-template-columns:1fr;
    gap:10px;
  }
  .builder-form .challenge-scope .choice-row,
  .builder-form .challenge-scope .choice-row:nth-of-type(3),
  .builder-form .challenge-scope .choice-row:has(input:checked){
    grid-column:auto;
    min-height:0;
    padding:16px 15px 15px 48px;
  }
  .builder-form .challenge-scope .choice-row span::before,
  .builder-form .challenge-scope .choice-row:has(input:checked) span::before{
    left:16px;
    top:17px;
  }
}

/* Build 4.5.2: Live Challenge Scoring */
.live-challenges-section{margin:26px 0 24px;padding:20px;border:1px solid rgba(234,188,77,.34);border-radius:20px;background:linear-gradient(145deg,rgba(234,188,77,.08),rgba(255,255,255,.025))}
.live-challenges-section.hidden{display:none!important}
.live-challenges-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.live-challenges-heading h2{margin:3px 0 4px;color:var(--text);font-size:1.45rem}
.live-challenges-heading p{margin:0;color:var(--muted);max-width:700px}
.live-section-count{flex:0 0 auto;padding:6px 10px;border-radius:999px;background:var(--buffet);color:#171b2a;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.live-challenge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.live-challenge-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:#202838;color:var(--text);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.live-card-game{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.08);background:#171e2a}
.live-badge{color:#f2c963;font-size:.76rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.live-score{color:#fff;font-size:1rem;text-align:right}
.live-matchup{grid-column:1/-1;color:#9faabe;font-size:.8rem}
.live-card-body{padding:16px}
.live-card-body h3{margin:0 0 14px;color:#fff;font-size:1.08rem;line-height:1.35}
.live-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:9px}
.live-stat-row>div{padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.035)}
.live-stat-row span{display:block;margin-bottom:3px;color:#9faabe;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.live-stat-row strong{display:block;color:#fff;font-size:1.2rem}
.live-line{text-align:right}
.live-progress{height:10px;overflow:hidden;margin:3px 1px 14px;border-radius:999px;background:#111722;border:1px solid rgba(255,255,255,.07)}
.live-progress>span{display:block;height:100%;border-radius:inherit;background:var(--buffet);transition:width .3s ease}
.live-sides{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 14px;margin:10px 0 12px;color:#b9c3d3;font-size:.88rem}
.live-sides strong{color:#fff}.live-sides a{color:#f2c963;text-decoration:none;font-weight:800}.live-sides a:hover{text-decoration:underline}
.live-position{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.045);border-left:3px solid #778398}
.live-position.ahead{border-left-color:var(--buffet);background:rgba(234,188,77,.08)}
.live-position.behind{border-left-color:#c9786f;background:rgba(201,120,111,.07)}
.live-position.tied{border-left-color:#87a2ce;background:rgba(135,162,206,.07)}
.live-position strong{color:#f5f7fb;font-size:.9rem}
.live-freshness{color:#9faabe;font-size:.76rem;text-align:right}.live-freshness.stale{color:#efba8e}
.live-nav-count{margin-left:5px;color:var(--buffet);font-size:.7rem;font-weight:950;white-space:nowrap}.live-nav-count[hidden]{display:none!important}
.mobile-menu .live-nav-count{margin-left:auto;padding:3px 7px;border-radius:999px;background:rgba(234,188,77,.15);color:#8a6417;font-size:.72rem}
@media(max-width:760px){.live-challenges-section{margin:20px 0;padding:15px;border-radius:16px}.live-challenges-heading{align-items:flex-start}.live-challenges-heading p{font-size:.86rem}.live-challenge-grid{grid-template-columns:1fr}.live-card-game{padding:12px 13px}.live-card-body{padding:14px}.live-stat-row{gap:8px}.live-position{align-items:flex-start;flex-direction:column;gap:4px}.live-freshness{text-align:left}}
@media(max-width:430px){.live-challenges-heading{display:block}.live-section-count{display:inline-flex;margin-top:10px}.live-stat-row strong{font-size:1.08rem}.live-sides{display:grid;grid-template-columns:1fr}.live-card-body .button{min-height:44px}}
/* Build 4.5.2.1: isolated live challenge simulation styling. */
.live-challenge-card.simulation{border-color:rgba(234,188,77,.55);box-shadow:inset 0 0 0 1px rgba(234,188,77,.08)}
.live-challenge-card.simulation .live-badge{color:#f6d87c}


/* BUFFET_BUILD_7_3_MULTI_SPORT_PRESENTATION */
.buffet-sport-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:0 0 .55rem;
  padding:.28rem .55rem;
  border:1px solid rgba(234,190,63,.55);
  border-radius:999px;
  background:rgba(234,190,63,.1);
  color:#f4d66b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}
.pga-challenge-card{
  position:relative;
}
.pga-detail-context{
  margin:0 0 1rem;
}
.pga-detail-context-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.9rem;
}
.pga-detail-context-head .buffet-sport-badge{
  margin:0;
}
.pga-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
}
.pga-detail-grid>div{
  min-width:0;
}
.pga-detail-grid span{
  display:block;
  margin-bottom:.22rem;
  color:var(--muted,#9ba1b7);
  font-size:.78rem;
}
.pga-detail-grid strong{
  display:block;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .pga-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* BUFFET_BUILD_7_3_8_PGA_CHALLENGE_TYPES */
.pga-target-wrap[hidden]{display:none!important}
.pga-challenge-type-note{margin-top:.35rem}
.pga-native-card{margin-top:20px}
.pga-native-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.pga-native-head h2{margin:.35rem 0 .25rem;font-size:clamp(1.3rem,2.5vw,2rem)}
.pga-native-status{font-weight:800;letter-spacing:.08em;font-size:.8rem;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:999px}
.pga-native-wager{display:inline-block;margin:1.15rem 0;padding:.75rem 1rem;border-radius:12px;background:#edbc4f;color:#111827;font-size:1.35rem;font-weight:900}
.pga-native-side-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1rem 0}
.pga-native-side-grid>div{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.025)}
.pga-native-side-grid span{display:block;color:#b9bfdb;font-size:.85rem;margin-bottom:.25rem}
.pga-native-side-grid strong{display:block;font-size:1rem;margin-bottom:.35rem}
.pga-native-side-grid b{font-size:1.25rem}
.pga-native-rule,.pga-native-result,.pga-native-message{margin-top:12px;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#c4c9df}
.pga-native-actions{margin-top:18px}
@media(max-width:640px){
  .pga-native-head{display:block}
  .pga-native-status{display:inline-block;margin-top:.6rem}
  .pga-native-side-grid{grid-template-columns:1fr}
}



/* BUFFET_BUILD_7_3_10_PGA_TYPE_BUTTONS_CSS */
.pga-type-section{
  margin-top:.1rem;
}
.pga-type-section .field-label{
  display:block;
  margin-bottom:.5rem;
  font-weight:800;
}
.pga-type-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin-bottom:.5rem;
}
.pga-type-button{
  width:100%;
  min-height:52px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:inherit;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.pga-type-button:hover{
  border-color:rgba(237,188,79,.55);
}
.pga-type-button.is-active{
  border-color:#edbc4f;
  background:rgba(237,188,79,.12);
  box-shadow:0 0 0 1px rgba(237,188,79,.15) inset;
}
.pga-type-button:active{
  transform:translateY(1px);
}
@media(max-width:600px){
  .pga-type-buttons{
    grid-template-columns:1fr;
  }
}


/* BUFFET_BUILD_7_3_11_PGA_TYPE_RUNTIME_NORMALIZER_CSS */
.pga-type-runtime-section{
  margin:0 0 .85rem;
}
.pga-type-runtime-section .field-label{
  display:block;
  margin-bottom:.45rem;
  font-weight:800;
}
.pga-type-runtime-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.6rem;
}
.pga-type-runtime-button{
  min-height:50px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:inherit;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}
.pga-type-runtime-button.is-active{
  border-color:#edbc4f;
  background:rgba(237,188,79,.12);
  box-shadow:0 0 0 1px rgba(237,188,79,.15) inset;
}
.pga-type-runtime-note{
  margin-top:.45rem;
}
@media(max-width:600px){
  .pga-type-runtime-buttons{
    grid-template-columns:1fr;
  }
}



/* BUFFET_BUILD_7_3_12_CLONE_NFL_TYPE_CARDS_CSS */
.pga-nfl-type-section{margin:0 0 1rem}
.pga-nfl-type-heading{
  margin-bottom:.45rem;
  font-weight:900;
  font-size:.82rem;
  letter-spacing:.06em;
}
.pga-nfl-type-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.75rem;
}
.pga-nfl-cloned-card{
  width:100%;
}
.pga-nfl-fallback-card{
  position:relative;
  min-height:150px;
  padding:1.15rem 1.15rem 1rem 3.75rem;
  text-align:left;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  color:inherit;
  font:inherit;
}
.pga-nfl-fallback-card.is-active{
  border-color:#edbc4f;
  background:rgba(237,188,79,.10);
  box-shadow:0 0 0 1px rgba(237,188,79,.15) inset;
}
.pga-nfl-fallback-radio{
  position:absolute;
  left:1.25rem;
  top:1.45rem;
  width:22px;
  height:22px;
  border-radius:50%;
  border:2px solid #aeb4c8;
}
.pga-nfl-fallback-card.is-active .pga-nfl-fallback-radio{
  border:7px solid #edbc4f;
  background:white;
}
.pga-nfl-fallback-card strong{
  display:block;
  margin-bottom:.65rem;
  font-size:1rem;
}
.pga-nfl-fallback-card small{
  display:block;
  line-height:1.45;
  color:#c1c6db;
  font-size:.9rem;
}
@media(max-width:720px){
  .pga-nfl-type-grid{grid-template-columns:1fr}
}



/* BUFFET_BUILD_7_3_13_SINGLE_NFL_STYLE_PGA_TYPE_BLOCK_CSS */
.pga-type-final-section{
  margin:0 0 1rem;
}
.pga-type-final-heading{
  margin:0 0 .45rem;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.055em;
}
.pga-type-final-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.85rem;
}
.pga-type-final-card{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:1rem;
  width:100%;
  min-height:166px;
  padding:1.25rem 1.15rem;
  text-align:left;
  border:1px solid rgba(147,154,181,.38);
  border-radius:17px;
  background:rgba(255,255,255,.018);
  color:inherit;
  font:inherit;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.pga-type-final-card:hover{
  border-color:rgba(237,188,79,.65);
}
.pga-type-final-card.is-active{
  border-color:#edbc4f;
  background:rgba(237,188,79,.10);
  box-shadow:
    0 0 0 1px rgba(237,188,79,.18) inset,
    0 0 0 1px rgba(237,188,79,.08);
}
.pga-type-final-radio{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  margin-top:.05rem;
  border:2px solid #9fa6bd;
  border-radius:50%;
  background:transparent;
}
.pga-type-final-card.is-active .pga-type-final-radio{
  border-color:#edbc4f;
  background:#edbc4f;
}
.pga-type-final-radio-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:transparent;
}
.pga-type-final-card.is-active .pga-type-final-radio-dot{
  background:#fff7de;
}
.pga-type-final-copy{
  min-width:0;
}
.pga-type-final-copy strong{
  display:block;
  margin:0 0 .7rem;
  font-size:1.03rem;
  font-weight:900;
  line-height:1.2;
}
.pga-type-final-copy small{
  display:block;
  color:#c0c5d9;
  font-size:.92rem;
  line-height:1.5;
}
@media(max-width:760px){
  .pga-type-final-grid{
    grid-template-columns:1fr;
  }
  .pga-type-final-card{
    min-height:auto;
  }
}




/* BUFFET_BUILD_5_2_1_SITEWIDE_SOCIAL_FOOTER */
.buffet-site-footer{margin-top:auto;border-top:1px solid rgba(232,221,201,.16);background:#26333a;color:#e8ddc9}
.buffet-footer-inner{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:30px 0 28px;display:grid;grid-template-columns:minmax(220px,1.2fr) auto auto;gap:26px;align-items:center}
.buffet-footer-brand{display:grid;gap:5px}.buffet-footer-name{width:max-content;color:#fffaf2;text-decoration:none;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;font-weight:800;letter-spacing:-.035em}.buffet-footer-tagline{font-size:.88rem;color:#cfc4b1}
.buffet-footer-social{display:flex;align-items:center;justify-content:center;gap:14px;font-size:.88rem}.buffet-footer-label{color:#aeb7ba;font-weight:800}.buffet-footer-social a,.buffet-footer-links a{color:#e8ddc9;text-decoration:none;font-weight:750;transition:color .16s ease,opacity .16s ease}.buffet-footer-social a:hover,.buffet-footer-links a:hover{color:#f0c64f}
.buffet-footer-meta{display:grid;justify-items:end;gap:6px}.buffet-footer-links{display:flex;gap:14px;font-size:.82rem}.buffet-footer-copy{color:#8f9a9e;font-size:.76rem}
@media(max-width:820px){.buffet-footer-inner{grid-template-columns:1fr;text-align:center;gap:18px;padding:26px 0}.buffet-footer-brand,.buffet-footer-meta{justify-items:center}.buffet-footer-name{margin:auto}.buffet-footer-social{flex-wrap:wrap}.buffet-footer-meta{justify-items:center}}
@media(max-width:430px){.buffet-footer-social{gap:10px 13px}.buffet-footer-label{flex-basis:100%}.buffet-footer-links{flex-wrap:wrap;justify-content:center}}


/* BUFFET_BUILD_5_2_2_HEADER_NAV_CLEANUP */
.buffet-account-menu{position:relative;display:inline-flex;align-items:center}
.buffet-account-trigger{appearance:none;border:1px solid rgba(232,221,201,.18);background:rgba(255,255,255,.035);color:inherit;border-radius:999px;padding:.58rem .78rem;display:inline-flex;align-items:center;gap:.38rem;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}
.buffet-account-trigger:hover,.buffet-account-trigger:focus-visible,.buffet-account-menu.is-open .buffet-account-trigger{border-color:rgba(240,198,79,.62);background:rgba(240,198,79,.08);outline:none}
.buffet-account-chevron{font-size:.72em;transform:translateY(-.04em);transition:transform .16s ease}.buffet-account-menu.is-open .buffet-account-chevron{transform:rotate(180deg)}
.buffet-account-dropdown{position:absolute;z-index:80;right:0;top:calc(100% + 9px);min-width:180px;padding:7px;background:#26333a;border:1px solid rgba(232,221,201,.18);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.buffet-account-dropdown[hidden]{display:none!important}.buffet-account-dropdown a{display:block;padding:.7rem .78rem;border-radius:8px;color:#fffaf2!important;text-decoration:none!important;font-weight:750;white-space:nowrap}.buffet-account-dropdown a:hover,.buffet-account-dropdown a:focus-visible{background:rgba(240,198,79,.1);color:#f0c64f!important;outline:none}.buffet-account-dropdown .buffet-account-logout{margin-top:5px;padding-top:.72rem;border-top:1px solid rgba(232,221,201,.13);border-radius:0 0 8px 8px;color:#cfc4b1!important}
@media(max-width:860px){.buffet-account-menu{width:100%}.buffet-account-trigger{width:100%;justify-content:space-between;border-radius:10px}.buffet-account-dropdown{position:static;width:100%;margin-top:6px;box-shadow:none}.buffet-account-label{display:inline}}


/* BUFFET_BUILD_5_2_2_1_HEADER_NAV_LOADER_FIX */
.buffet-account-holder{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.buffet-account-menu{position:relative;display:inline-flex;align-items:center}
.buffet-account-trigger{appearance:none;border:1px solid rgba(232,221,201,.18);background:rgba(255,255,255,.035);color:inherit;border-radius:999px;padding:.58rem .78rem;display:inline-flex;align-items:center;gap:.38rem;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,background .16s ease,color .16s ease}
.buffet-account-trigger:hover,.buffet-account-trigger:focus-visible,.buffet-account-menu.is-open .buffet-account-trigger{border-color:rgba(240,198,79,.62);background:rgba(240,198,79,.08);outline:none}
.buffet-account-chevron{font-size:.72em;transition:transform .16s ease}.buffet-account-menu.is-open .buffet-account-chevron{transform:rotate(180deg)}
.buffet-account-dropdown{position:absolute;z-index:100;right:0;top:calc(100% + 9px);min-width:180px;padding:7px;background:#26333a;border:1px solid rgba(232,221,201,.18);border-radius:12px;box-shadow:0 18px 45px rgba(0,0,0,.24)}
.buffet-account-dropdown[hidden]{display:none!important}.buffet-account-dropdown a{display:block;padding:.7rem .78rem;border-radius:8px;color:#fffaf2!important;text-decoration:none!important;font-weight:750;white-space:nowrap}.buffet-account-dropdown a:hover,.buffet-account-dropdown a:focus-visible{background:rgba(240,198,79,.1);color:#f0c64f!important;outline:none}.buffet-account-dropdown .buffet-account-logout{margin-top:5px;padding-top:.72rem;border-top:1px solid rgba(232,221,201,.13);border-radius:0 0 8px 8px;color:#cfc4b1!important}
@media(max-width:860px){.buffet-account-holder,.buffet-account-menu{width:100%}.buffet-account-trigger{width:100%;justify-content:space-between;border-radius:10px}.buffet-account-dropdown{position:static;width:100%;margin-top:6px;box-shadow:none}}


/* BUFFET_BUILD_5_2_2_2_FOOTER_LAYOUT_FIX */
/* Strong, late-loading footer layout rules to prevent page/global CSS collisions. */
body .buffet-site-footer{
  box-sizing:border-box!important;
  width:100%!important;
  margin-top:44px!important;
  padding:0!important;
  border-top:1px solid rgba(232,221,201,.16)!important;
  background:#26333a!important;
  color:#e8ddc9!important;
}
body .buffet-site-footer>.buffet-footer-inner{
  box-sizing:border-box!important;
  width:min(1080px,calc(100% - 48px))!important;
  max-width:1080px!important;
  margin:0 auto!important;
  padding:28px 0 24px!important;
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) auto!important;
  grid-template-areas:"brand social" "brand meta"!important;
  column-gap:56px!important;
  row-gap:12px!important;
  align-items:start!important;
}
body .buffet-site-footer .buffet-footer-brand{
  grid-area:brand!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-width:0!important;
}
body .buffet-site-footer .buffet-footer-name{
  display:inline-block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.35rem!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important;
}
body .buffet-site-footer .buffet-footer-tagline{
  display:block!important;
  margin:0!important;
  color:#cfc4b1!important;
  font-size:.88rem!important;
  line-height:1.45!important;
}
body .buffet-site-footer .buffet-footer-social{
  grid-area:social!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:10px 16px!important;
  margin:0!important;
  padding:0!important;
  font-size:.86rem!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
body .buffet-site-footer .buffet-footer-label{
  color:#aeb7ba!important;
  font-weight:800!important;
}
body .buffet-site-footer .buffet-footer-meta{
  grid-area:meta!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
}
body .buffet-site-footer .buffet-footer-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  font-size:.8rem!important;
  line-height:1.3!important;
}
body .buffet-site-footer .buffet-footer-copy{
  display:block!important;
  margin:0!important;
  color:#8f9a9e!important;
  font-size:.76rem!important;
  line-height:1.3!important;
  white-space:nowrap!important;
}
body .buffet-site-footer .buffet-footer-social a,
body .buffet-site-footer .buffet-footer-links a{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:#e8ddc9!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  text-decoration:none!important;
  font-weight:750!important;
  line-height:inherit!important;
  box-shadow:none!important;
}
body .buffet-site-footer .buffet-footer-social a:hover,
body .buffet-site-footer .buffet-footer-social a:focus-visible,
body .buffet-site-footer .buffet-footer-links a:hover,
body .buffet-site-footer .buffet-footer-links a:focus-visible{
  color:#f0c64f!important;
  outline:none!important;
}
@media(max-width:760px){
  body .buffet-site-footer>.buffet-footer-inner{
    width:min(100% - 36px,560px)!important;
    padding:25px 0 23px!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"brand" "social" "meta"!important;
    gap:17px!important;
    text-align:center!important;
  }
  body .buffet-site-footer .buffet-footer-brand{
    align-items:center!important;
  }
  body .buffet-site-footer .buffet-footer-social,
  body .buffet-site-footer .buffet-footer-meta,
  body .buffet-site-footer .buffet-footer-links{
    justify-content:center!important;
  }
}
@media(max-width:430px){
  body .buffet-site-footer>.buffet-footer-inner{
    width:calc(100% - 30px)!important;
  }
  body .buffet-site-footer .buffet-footer-social{
    white-space:normal!important;
    gap:9px 13px!important;
  }
  body .buffet-site-footer .buffet-footer-label{
    flex-basis:100%!important;
  }
  body .buffet-site-footer .buffet-footer-meta{
    flex-direction:column!important;
    gap:9px!important;
  }
}


/* BUFFET_BUILD_5_2_2_3_ACCOUNT_CONTROL_POLISH */
/* Desktop account control: intentionally lightweight text, not a pill/button. Alerts remain a separate nav control. */
@media(min-width:861px){
  body .buffet-header .buffet-account-holder{margin:0!important;padding:0!important;width:auto!important;display:flex!important;align-items:center!important}
  body .buffet-header .buffet-account-menu{width:auto!important;display:inline-flex!important;align-items:center!important}
  body .buffet-header .buffet-account-trigger{
    appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;
    border-radius:0!important;margin:0!important;padding:.48rem .3rem!important;color:#fffaf2!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:.34rem!important;
    font:inherit!important;font-weight:800!important;line-height:1.1!important;cursor:pointer!important;white-space:nowrap!important;
  }
  body .buffet-header .buffet-account-trigger:hover,
  body .buffet-header .buffet-account-trigger:focus-visible,
  body .buffet-header .buffet-account-menu.is-open .buffet-account-trigger{
    border:0!important;background:transparent!important;box-shadow:none!important;color:#f0c64f!important;outline:none!important;
  }
  body .buffet-header .buffet-account-trigger:focus-visible{outline:2px solid rgba(240,198,79,.55)!important;outline-offset:4px!important;border-radius:4px!important}
  body .buffet-header .buffet-account-label{display:inline!important}
  body .buffet-header .buffet-account-chevron{font-size:.66em!important;opacity:.78!important;transform:none!important;transition:transform .16s ease!important}
  body .buffet-header .buffet-account-menu.is-open .buffet-account-chevron{transform:rotate(180deg)!important}
}


/* BUFFET_BUILD_5_2_2_4_RESILIENT_ACCOUNT_LINK */
body .buffet-header a.buffet-account-trigger{
  text-decoration:none!important;
}
@media(min-width:861px){
  body .buffet-header a.buffet-account-trigger{
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:.48rem .3rem!important;
    color:#fffaf2!important;
    font-weight:800!important;
  }
  body .buffet-header a.buffet-account-trigger:hover,
  body .buffet-header a.buffet-account-trigger:focus-visible,
  body .buffet-header .buffet-account-menu.is-open a.buffet-account-trigger{
    color:#f0c64f!important;
    background:transparent!important;
  }
}


/* BUFFET_BUILD_9_0_4_3_MOBILE_MENU_STATE_AND_LOGOUT */
.buffet-inbox-unread{
  display:inline-flex;
  min-width:18px;
  height:18px;
  padding:0 5px;
  margin-left:7px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--buffet-accent,#f5bd3e);
  color:#121827;
  font-size:10px;
  font-weight:900;
  line-height:1;
}
.buffet-inbox-unread[hidden]{display:none!important}

@media(max-width:760px){
  .buffet-mobile-account-slot{
    display:flex!important;
    position:relative!important;
    flex:0 1 auto!important;
    min-width:0!important;
    margin:0!important;
    align-self:center!important;
  }
  .buffet-mobile-account-slot > button,
  .buffet-mobile-account-slot > a,
  .buffet-mobile-account-trigger{
    min-width:0!important;
    width:auto!important;
    max-width:124px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    border-radius:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:16px!important;
    line-height:1!important;
  }
  .buffet-account-dropdown-menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:auto!important;
    width:190px!important;
    min-width:190px!important;
    max-width:calc(100vw - 24px)!important;
    height:auto!important;
    padding:8px!important;
    margin:0!important;
    border-radius:14px!important;
    z-index:1400!important;
  }
  .buffet-account-dropdown-menu>a,
  .buffet-account-dropdown-menu>button{
    width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:10px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:left!important;
    white-space:nowrap!important;
  }

  a[data-buffet-inbox-nav="1"]{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  /* Inbox only gets the selected treatment on the Inbox page. */
  a[data-buffet-inbox-nav="1"].buffet-inbox-current{
    position:relative!important;
    background:rgba(65,79,117,.52)!important;
    color:var(--buffet-accent,#f5bd3e)!important;
    font-weight:800!important;
    border-radius:12px!important;
  }
  a[data-buffet-inbox-nav="1"].buffet-inbox-current::before{
    content:"";
    position:absolute;
    left:14px;
    top:50%;
    width:4px;
    height:24px;
    border-radius:999px;
    background:var(--buffet-accent,#f5bd3e);
    transform:translateY(-50%);
  }

  /* Rebuild logout as one normal left-aligned row. */
  .buffet-mobile-logout-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:100%!important;
    min-height:54px!important;
    padding:10px 16px!important;
    margin:0!important;
    text-align:left!important;
  }
  .buffet-mobile-logout-row > *{
    margin:0!important;
    flex:0 0 auto!important;
  }
  .buffet-mobile-logout-row a,
  .buffet-mobile-logout-row button{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex:0 0 auto!important;
    text-align:left!important;
  }
}


/* BUFFET_BUILD_9_0_4_8_INBOX_SELECTED_ALIGNMENT */
@media(max-width:760px){
  a[data-buffet-inbox-nav="1"].buffet-inbox-current{
    padding-left:38px!important;
  }
}

/* BUFFET_BUILD_9_1_0_CHALLENGE_DISCOVERY_FILTERS */
.challenge-search-primary{grid-template-columns:minmax(280px,1fr) 180px 150px auto}
.challenge-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.buffet-sport-badge[data-sport="NFL"]{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;letter-spacing:.06em}
.filter-toggle{display:inline-flex;align-items:center;gap:7px;justify-content:center}.filter-count-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--buffet-yellow,#e7bc4d);color:#17181f;font-size:11px;font-weight:900}.filter-drawer-heading,.filter-drawer-actions{display:none}.mine-filter{display:grid!important;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;align-content:center;padding:10px 12px;border:1px solid var(--buffet-border,#41465d);border-radius:12px;cursor:pointer}.mine-filter input{grid-row:1/3;width:18px!important;height:18px;margin:0!important}.mine-filter span{font-weight:800}.mine-filter small{color:var(--buffet-muted,#a7aabc)}.filter-backdrop{display:none}
@media(max-width:900px){.challenge-search-primary{grid-template-columns:1fr 1fr}.challenge-search-box{grid-column:1/-1}}
@media(max-width:700px){body.filters-open{overflow:hidden}.challenge-search-primary{grid-template-columns:1fr 1fr}.challenge-search-primary .challenge-search-box{grid-column:1/-1}.challenge-search-primary #statusFilter,.challenge-search-primary #sportFilter{min-width:0}.challenge-search-primary .filter-toggle{grid-column:1/-1;width:100%}.challenge-search-advanced{position:fixed;z-index:1003;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:1fr;gap:14px;max-height:min(78vh,680px);overflow:auto;margin:0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border:1px solid var(--buffet-border,#41465d);border-bottom:0;border-radius:22px 22px 0 0;background:var(--buffet-panel,#26293a);box-shadow:0 -16px 50px rgba(0,0,0,.35);transform:translateY(0);transition:transform .18s ease}.challenge-search-advanced.hidden{display:grid!important;transform:translateY(110%);pointer-events:none}.filter-drawer-heading{display:flex;align-items:center;justify-content:space-between;font-size:20px}.filter-close{border:0;background:transparent;color:inherit;font-size:30px;line-height:1;cursor:pointer}.filter-drawer-actions{display:block;position:sticky;bottom:0;padding-top:4px;background:var(--buffet-panel,#26293a)}.filter-backdrop{display:block;position:fixed;z-index:1002;inset:0;background:rgba(10,11,16,.6);backdrop-filter:blur(2px)}.filter-backdrop.hidden{display:none}.challenge-search-footer{align-items:flex-start;flex-direction:column}.challenge-search-footer #resultCount{margin-left:0}.filter-chips{width:100%}}

/* BUFFET_BUILD_9_1_1_CHALLENGE_DISCOVERY_POLISH */
.challenge-search-panel{padding:16px 18px 14px}
.challenge-search-footer{margin-top:10px;min-height:30px}
.challenge-results-tools{margin-left:auto;display:flex;align-items:center;gap:14px}
.challenge-sort-control{display:flex;align-items:center;gap:8px;margin:0;color:var(--buffet-muted,#a7aabc);font-size:13px;font-weight:800;white-space:nowrap}
.challenge-sort-control select{width:auto;min-width:150px;margin:0;padding:8px 34px 8px 10px;font-size:14px}
.challenge-search-hit{background:rgba(231,188,77,.24);color:inherit;border-radius:4px;padding:0 2px}
.empty-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:700px){.challenge-search-footer{gap:10px}.challenge-results-tools{width:100%;margin-left:0;justify-content:space-between}.challenge-sort-control{flex:1}.challenge-sort-control select{min-width:0;max-width:190px}.challenge-search-footer #resultCount{margin-left:auto;white-space:nowrap}}
@media(max-width:460px){.challenge-results-tools{align-items:flex-start;flex-direction:column;gap:8px}.challenge-sort-control{width:100%;justify-content:space-between}.challenge-sort-control select{width:100%;max-width:none}.challenge-search-footer #resultCount{margin-left:0}}

/* BUFFET_BUILD_9_1_2_CHALLENGE_BADGE_SYSTEM */
.challenge-card-top{
  justify-content:flex-start;
  align-items:center;
}
.challenge-card-badges{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  width:100%;
}
.challenge-card .status-pill,
.challenge-card .buffet-sport-badge,
.challenge-card .challenge-scope-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-height:30px;
  margin:0;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  letter-spacing:.065em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}

/* Status = strongest signal: filled semantic badges. */
.challenge-card .status-pill.open{
  background:#5b4a1d;
  border-color:#5b4a1d;
  color:#ffe27c;
}
.challenge-card .status-pill.accepted{
  background:#edf3ea;
  border-color:#edf3ea;
  color:#38584a;
}
.challenge-card .status-pill.pending,
.challenge-card .status-pill.locked{
  background:#3b3f52;
  border-color:#4a5068;
  color:#f1d77a;
}
.challenge-card .status-pill.graded,
.challenge-card .status-pill.completed{
  background:#304c41;
  border-color:#304c41;
  color:#d9eee3;
}
.challenge-card .status-pill.void{
  background:#474b59;
  border-color:#474b59;
  color:#e3e5ea;
}
.challenge-card .status-pill.cancelled{
  background:#513838;
  border-color:#513838;
  color:#f2d3cf;
}
.challenge-card .status-pill.expired{
  background:#403f48;
  border-color:#403f48;
  color:#d8d7dd;
}

/* Sport = secondary signal: restrained outline with only a subtle sport tint. */
.challenge-card .buffet-sport-badge{
  background:rgba(255,255,255,.018);
}
.challenge-card .buffet-sport-badge[data-sport="NFL"]{
  border-color:rgba(226,216,183,.44);
  background:rgba(231,188,77,.025);
  color:#e5ddc7;
}
.challenge-card .buffet-sport-badge[data-sport="PGA"]{
  border-color:rgba(190,213,201,.40);
  background:rgba(111,151,129,.025);
  color:#cbd9d1;
}

/* BUFFET_BUILD_9_1_5_TYPE_BADGE_CONTRAST_LOCK */
/* Audience/type = tertiary signal: clearly separated families without competing with status. */
.challenge-card .challenge-scope-link.direct{
  background:#303d57;
  border-color:#465b7d;
  color:#d9e4fb;
}
.challenge-card .challenge-scope-link.open{
  background:#45464b;
  border-color:#5c5e65;
  color:#eeeeF1;
}
.challenge-card .challenge-scope-link.group{
  background:#403858;
  border-color:#5b4f7a;
  color:#e7def8;
}
.challenge-card .challenge-scope-link.friends{
  background:#29484a;
  border-color:#3f6a6d;
  color:#d7f0ed;
}
.challenge-card .challenge-scope-link.open:hover,
.challenge-card .challenge-scope-link.direct:hover,
.challenge-card .challenge-scope-link.group:hover,
.challenge-card .challenge-scope-link.friends:hover{
  filter:brightness(1.12);
  color:#fff;
}

@media(max-width:640px){
  .challenge-card-badges{gap:7px}
  .challenge-card .status-pill,
  .challenge-card .buffet-sport-badge,
  .challenge-card .challenge-scope-link{
    min-height:29px;
    padding:0 10px;
    font-size:11px;
  }
}

/* Build 9.2.1: mobile challenge tabs — stacked grid instead of horizontal scroll */
@media(max-width:760px){
  .buffet-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    overflow:visible;
    margin:18px 0;
    padding-bottom:0;
  }
  .buffet-tabs button{
    width:100%;
    min-width:0;
    padding:10px 10px;
    font-size:.9rem;
    line-height:1.2;
    white-space:normal;
    text-align:center;
  }
  .buffet-tabs button:last-child{grid-column:1 / -1}
}

/* BUFFET_BUILD_9_3_0_FRIENDS_ONLY_CHALLENGES */
@media(min-width:761px){
  .pga-type-final-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Buffet Build 9.3.2 — Profile & Friend Header Cleanup */
.public-profile-hero{
  grid-template-columns:auto minmax(0,1fr) minmax(230px,auto);
  align-items:stretch;
  gap:26px;
  min-height:190px;
}
.public-profile-hero .profile-avatar{
  align-self:center;
}
.profile-identity{
  align-self:center;
  min-width:0;
}
.profile-kicker-row{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.profile-kicker-row .eyebrow{
  margin:0;
}
.profile-header-badges,
.person-badge-row{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
}
.profile-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:5px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--soft);
  color:var(--text);
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
  text-transform:uppercase;
  white-space:nowrap;
}
.profile-status-badge.relationship-friends{
  background:#edf5ed;
  border-color:#edf5ed;
  color:#36584b;
}
.profile-status-badge.relationship-pending{
  background:rgba(174,183,209,.12);
  border-color:#55617e;
  color:#c5cee5;
}
.profile-status-badge.status-new{
  background:#343a50;
  border-color:#434b66;
  color:#c2cae0;
}
.profile-status-badge.status-reviewed{
  background:rgba(83,111,176,.18);
  border-color:#526b9e;
  color:#c8d5f4;
}
.profile-status-badge.status-trusted{
  background:rgba(244,185,66,.15);
  border-color:rgba(244,185,66,.58);
  color:#f4cd68;
}
.profile-actions{
  align-self:stretch;
  display:grid;
  grid-template-rows:auto 1fr auto;
  justify-items:end;
  align-items:start;
  gap:18px;
  min-width:230px;
}
.profile-primary-action{
  grid-row:1;
  justify-self:end;
}
.profile-secondary-action{
  grid-row:3;
  align-self:end;
  justify-self:end;
}
.profile-primary-action .button{
  min-width:230px;
  justify-content:center;
}
.profile-secondary-action .button,
.profile-relationship-actions .button{
  white-space:nowrap;
}
.profile-relationship-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.profile-remove-friend{
  opacity:.9;
}
.profile-identity #profileMeta{
  margin-top:12px;
}
.person-card{
  padding:16px 18px;
  gap:14px;
}
.person-copy{
  gap:6px;
}
.person-badge-row{
  margin:1px 0 2px;
}
.person-badge-row .profile-status-badge{
  min-height:24px;
  padding:4px 8px;
  font-size:.67rem;
}

@media(max-width:900px){
  .public-profile-hero{
    grid-template-columns:auto minmax(0,1fr);
    min-height:0;
  }
  .profile-actions{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-rows:auto;
    min-width:0;
    width:100%;
    gap:10px;
  }
  .profile-primary-action,
  .profile-secondary-action{
    grid-row:1;
    align-self:stretch;
  }
  .profile-primary-action{grid-column:1;justify-self:stretch}
  .profile-secondary-action{grid-column:2;justify-self:stretch}
  .profile-primary-action .button,
  .profile-secondary-action>.button{
    width:100%;
    min-width:0;
    justify-content:center;
  }
  .profile-relationship-actions{
    width:100%;
    justify-content:flex-end;
  }
}

@media(max-width:600px){
  .public-profile-hero{
    grid-template-columns:64px minmax(0,1fr);
    gap:16px;
    padding:22px;
  }
  .profile-kicker-row{
    gap:6px;
  }
  .profile-kicker-row .eyebrow{
    flex-basis:100%;
  }
  .profile-status-badge{
    min-height:25px;
    padding:4px 8px;
    font-size:.67rem;
  }
  .profile-actions{
    grid-template-columns:1fr;
  }
  .profile-primary-action,
  .profile-secondary-action{
    grid-column:1;
    grid-row:auto;
    width:100%;
  }
  .profile-relationship-actions{
    justify-content:flex-start;
  }
  .profile-secondary-action .profile-relationship-actions .button{
    flex:1 1 auto;
  }
  .person-card{
    padding:14px;
  }
}


/* BUFFET_BUILD_9_6_5_LIVE_CHALLENGE_TAB */
.challenge-primary-tabs{margin-bottom:10px}
.challenge-primary-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.challenge-tab-count{display:inline-flex;min-width:21px;height:21px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;font-size:.72rem;font-weight:800;line-height:1;background:var(--buffet-gold,#f6b93b);color:#18202a}
.challenge-quick-filters{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:0 0 16px}
.challenge-quick-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.challenge-quick-label{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted,#aeb8c8);margin-right:2px}
.challenge-quick-filter-group button{appearance:none;border:1px solid rgba(174,184,200,.24);background:rgba(255,255,255,.025);color:inherit;border-radius:999px;padding:7px 11px;font:inherit;font-size:.8rem;font-weight:750;cursor:pointer}
.challenge-quick-filter-group button:hover{border-color:rgba(246,185,59,.55)}
.challenge-quick-filter-group button.active{border-color:rgba(246,185,59,.8);background:rgba(246,185,59,.12);color:#f6c55e}
.live-empty-card{grid-column:1/-1}
@media(max-width:700px){.challenge-primary-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.challenge-primary-tabs button{width:100%}.challenge-quick-filters{display:block}.challenge-quick-filter-group{margin-top:8px}.challenge-quick-label{width:62px;flex:0 0 62px}}

/* BUFFET_BUILD_9_6_7_GROUP_NAME_CHANGES */
.bf-group-rename-panel{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:20px}.bf-group-rename-panel h2{margin:.25rem 0}.bf-group-rename-panel form{width:min(520px,100%)}.bf-group-rename-row{display:flex;gap:10px}.bf-group-rename-row input{flex:1;min-width:0}@media(max-width:720px){.bf-group-rename-panel{display:block}.bf-group-rename-panel form{margin-top:16px}.bf-group-rename-row{flex-direction:column}.bf-group-rename-row .button{width:100%}}


/* BUFFET_BUILD_9_6_7_2_STACK_QUICK_FILTERS */
.bf-quick-filter-label-hidden{
  display:none !important;
}
.bf-quick-filter-stack-single{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}
.bf-quick-filter-stack-single .bf-quick-filter-break{
  flex-basis:100% !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}
.bf-quick-filter-stack-wrappers{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
}
.bf-quick-filter-stack-wrappers .bf-quick-filter-row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
}




/* BUFFET_BUILD_9_6_7_4_CLEAN_STATUS_GRID */
@media (max-width:720px){
  .challenge-primary-tabs{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .challenge-primary-tabs > button{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}


/* BUFFET_BUILD_9_6_7_5_CLEAN_PRIMARY_STATUS_GRID
   HTML order is already correct: Live, Open, My Active, Completed.
   Force mobile into a true 2x2 grid and override older full-width rules. */
@media (max-width:720px){
  .challenge-primary-tabs{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    grid-auto-flow:row !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .challenge-primary-tabs > button,
  .challenge-primary-tabs > a,
  .challenge-primary-tabs > [role="button"]{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    grid-column:auto !important;
    grid-row:auto !important;
    flex:initial !important;
  }
  .challenge-primary-tabs > :nth-child(1){grid-column:1 !important;grid-row:1 !important}
  .challenge-primary-tabs > :nth-child(2){grid-column:2 !important;grid-row:1 !important}
  .challenge-primary-tabs > :nth-child(3){grid-column:1 !important;grid-row:2 !important}
  .challenge-primary-tabs > :nth-child(4){grid-column:2 !important;grid-row:2 !important}
}


/* BUFFET_BUILD_9_6_8_11_CANONICAL_MOBILE_HEADER */
@media(max-width:760px){
  body .buffet-header{gap:8px!important}

  body .buffet-header nav{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }

  body .buffet-header .buffet-brand-stack{
    flex:1 1 auto!important;
    min-width:74px!important;
    max-width:118px!important;
  }

  body .buffet-header .buffet-brand{
    width:100%!important;
    max-width:118px!important;
  }

  body .buffet-header nav>.mobile-header-alerts{
    order:1!important;
    display:inline-flex!important;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body .buffet-header .buffet-mobile-account-slot{
    order:2!important;
    position:relative!important;
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:112px!important;
    margin:0!important;
    padding:0!important;
  }

  body .buffet-header .buffet-mobile-account-slot>.buffet-account-trigger,
  body .buffet-header .buffet-mobile-account-slot>a.buffet-account-trigger,
  body .buffet-header .buffet-mobile-account-trigger{
    display:inline-flex!important;
    width:auto!important;
    min-width:0!important;
    max-width:112px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    border-radius:12px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Critical override of legacy max-width:860px static/full-width account menu rules. */
  body .buffet-header .buffet-mobile-account-slot.buffet-account-menu,
  body .buffet-header .buffet-mobile-account-slot .buffet-account-menu{
    width:auto!important;
  }

  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown,
  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown-menu{
    position:absolute!important;
    z-index:5000!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:auto!important;
    bottom:auto!important;
    width:196px!important;
    min-width:196px!important;
    max-width:calc(100vw - 20px)!important;
    height:auto!important;
    margin:0!important;
    padding:7px!important;
    border:1px solid rgba(232,221,201,.18)!important;
    border-radius:12px!important;
    background:#26333a!important;
    box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
    transform:none!important;
  }

  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown[hidden],
  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown-menu[hidden]{
    display:none!important;
  }

  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown a,
  body .buffet-header .buffet-mobile-account-slot .buffet-account-dropdown-menu a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:44px!important;
    padding:10px 11px!important;
    margin:0!important;
    border-radius:8px!important;
    color:#fffaf2!important;
    font-size:15px!important;
    font-weight:750!important;
    text-decoration:none!important;
    white-space:nowrap!important;
  }

  body .buffet-header nav>.mobile-header-create{
    order:3!important;
    display:inline-flex!important;
    flex:0 1 auto!important;
    min-width:88px!important;
    max-width:112px!important;
    min-height:44px!important;
    padding:8px 11px!important;
    margin:0!important;
    white-space:nowrap!important;
  }

  body .buffet-header nav>.mobile-menu-button{
    order:4!important;
    display:inline-flex!important;
    flex:0 0 44px!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
  }
}

@media(max-width:430px){
  body .buffet-header{padding-left:18px!important;padding-right:18px!important}
  body .buffet-header nav{gap:6px!important}
  body .buffet-header .buffet-brand-stack{max-width:96px!important}
  body .buffet-header .buffet-brand{max-width:96px!important}

  body .buffet-header nav>.mobile-header-alerts{
    flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  }

  body .buffet-header .buffet-mobile-account-slot{max-width:92px!important}

  body .buffet-header .buffet-mobile-account-slot>.buffet-account-trigger,
  body .buffet-header .buffet-mobile-account-slot>a.buffet-account-trigger,
  body .buffet-header .buffet-mobile-account-trigger{
    max-width:92px!important;padding:0 10px!important;
  }

  body .buffet-header nav>.mobile-header-create{
    min-width:82px!important;max-width:100px!important;padding:8px 9px!important;font-size:.78rem!important;
  }

  body .buffet-header nav>.mobile-menu-button{
    flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;
  }
}


/* BUFFET_BUILD_9_6_8_15_2_HEADER_POLISH */

/* Desktop: compact nav cluster + CTA pinned to far right */
@media(min-width:761px){
  .bfhv2-root{
    min-height:0!important;
    padding:0!important;
  }

  .bfhv2-root .bfhv2-desktop{
    display:grid!important;
    grid-template-columns:168px auto auto auto 1fr!important;
    align-items:center!important;
    column-gap:14px!important;
    min-height:82px!important;
    padding:10px clamp(24px,4vw,64px)!important;
  }

  .bfhv2-root .bfhv2-brand{
    width:168px!important;
    max-width:168px!important;
  }

  .bfhv2-root .bfhv2-alerts{
    white-space:nowrap!important;
  }

  .bfhv2-root .bfhv2-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    width:auto!important;
    min-width:0!important;
    margin-left:4px!important;
  }

  .bfhv2-root .bfhv2-create{
    justify-self:end!important;
    margin-left:auto!important;
    min-height:44px!important;
    padding:9px 16px!important;
  }
}

@media(min-width:761px) and (max-width:1280px){
  .bfhv2-root .bfhv2-desktop{
    grid-template-columns:150px auto auto auto 1fr!important;
    column-gap:12px!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .bfhv2-root .bfhv2-brand{
    width:150px!important;
    max-width:150px!important;
  }

  .bfhv2-root .bfhv2-nav{
    gap:12px!important;
    margin-left:2px!important;
  }

  .bfhv2-root .bfhv2-nav a{
    font-size:13px!important;
  }

  .bfhv2-root .bfhv2-create{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* Mobile: match approved Preview 7 proportions and remove the oversized header band */
@media(max-width:760px){
  .bfhv2-root{
    min-height:0!important;
    padding:0!important;
  }

  .bfhv2-root .bfhv2-mobile{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(78px,1fr) 44px minmax(76px,94px) minmax(82px,96px) 44px!important;
    align-items:center!important;
    gap:6px!important;
    min-height:92px!important;
    height:auto!important;
    padding:12px 12px 12px 16px!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-brand-mobile{
    grid-column:1!important;
    width:100%!important;
    max-width:112px!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-brand-mobile img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    background:transparent!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile{
    grid-column:2!important;
    display:inline-grid!important;
    place-items:center!important;
    width:44px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-account-mobile{
    grid-column:3!important;
    position:static!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-account-trigger-mobile{
    width:100%!important;
    max-width:94px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 9px!important;
    justify-content:center!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-create-mobile{
    grid-column:4!important;
    width:100%!important;
    min-width:82px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 10px!important;
    margin:0!important;
  }

  .bfhv2-root .bfhv2-menu-trigger{
    grid-column:5!important;
    width:44px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0!important;
    margin:0!important;
  }

  /* Account panel and hamburger panel use identical mobile geometry. */
  .bfhv2-root .bfhv2-account-panel-mobile,
  .bfhv2-root .bfhv2-mobile-menu{
    position:absolute!important;
    top:100%!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:12px!important;
    border-radius:16px!important;
    z-index:5000!important;
  }

  .bfhv2-root .bfhv2-account-panel-mobile a,
  .bfhv2-root .bfhv2-mobile-menu a{
    display:flex!important;
    min-height:50px!important;
    align-items:center!important;
    padding:10px 13px!important;
    margin:0!important;
    border-radius:10px!important;
    font-size:16px!important;
    font-weight:800!important;
  }

  .bfhv2-root .bfhv2-account-panel-mobile .bfhv2-logout{
    margin-top:8px!important;
    padding-top:12px!important;
  }
}

@media(max-width:430px){
  .bfhv2-root .bfhv2-mobile{
    grid-template-columns:minmax(70px,1fr) 40px minmax(70px,84px) minmax(76px,88px) 40px!important;
    gap:5px!important;
    padding-left:12px!important;
    padding-right:8px!important;
  }

  .bfhv2-root .bfhv2-brand-mobile{
    max-width:96px!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile,
  .bfhv2-root .bfhv2-menu-trigger{
    width:40px!important;
    height:44px!important;
    min-height:44px!important;
  }

  .bfhv2-root .bfhv2-account-trigger-mobile{
    max-width:84px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 7px!important;
    font-size:14px!important;
  }

  .bfhv2-root .bfhv2-create-mobile{
    min-width:76px!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 7px!important;
    font-size:13px!important;
  }

  .bfhv2-root .bfhv2-account-panel-mobile,
  .bfhv2-root .bfhv2-mobile-menu{
    left:10px!important;
    right:10px!important;
  }
}



/* BUFFET_BUILD_9_6_8_15_3_HEADER_ALIGNMENT */

/* Desktop: use one flex row so Create Challenge can truly pin to the far right. */
@media(min-width:761px){
  .bfhv2-root{
    width:100%!important;
    max-width:none!important;
  }

  .bfhv2-root .bfhv2-desktop{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    max-width:none!important;
    min-height:82px!important;
    padding:10px clamp(24px,4vw,64px)!important;
    gap:14px!important;
  }

  .bfhv2-root .bfhv2-brand{
    flex:0 0 168px!important;
    width:168px!important;
    max-width:168px!important;
  }

  .bfhv2-root .bfhv2-alerts,
  .bfhv2-root .bfhv2-account{
    flex:0 0 auto!important;
  }

  .bfhv2-root .bfhv2-nav{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    width:auto!important;
    min-width:0!important;
    margin:0 0 0 4px!important;
  }

  .bfhv2-root .bfhv2-create{
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-right:0!important;
    min-height:44px!important;
    padding:9px 16px!important;
  }
}

@media(min-width:761px) and (max-width:1280px){
  .bfhv2-root .bfhv2-desktop{
    padding-left:22px!important;
    padding-right:22px!important;
    gap:12px!important;
  }

  .bfhv2-root .bfhv2-brand{
    flex-basis:150px!important;
    width:150px!important;
    max-width:150px!important;
  }

  .bfhv2-root .bfhv2-nav{
    gap:12px!important;
    margin-left:2px!important;
  }

  .bfhv2-root .bfhv2-nav a{
    font-size:13px!important;
  }

  .bfhv2-root .bfhv2-create{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* Mobile: optically center the bell and hamburger glyphs in their buttons. */
@media(max-width:760px){
  .bfhv2-root .bfhv2-alerts-mobile,
  .bfhv2-root .bfhv2-menu-trigger{
    display:grid!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
    text-align:center!important;
    vertical-align:middle!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile{
    font-size:20px!important;
  }

  .bfhv2-root .bfhv2-menu-trigger{
    font-size:20px!important;
    font-family:Arial,Helvetica,sans-serif!important;
  }

  /* Small optical corrections for glyph shapes after geometric centering. */
  .bfhv2-root .bfhv2-alerts-mobile{
    text-indent:0!important;
  }

  .bfhv2-root .bfhv2-menu-trigger{
    padding-bottom:2px!important;
  }
}



/* BUFFET_BUILD_9_6_8_15_4_MOBILE_ICON_CENTERING */
@media(max-width:760px){
  /*
    Replace font/emoji glyphs with fixed-viewBox SVG icons so centering is geometric,
    not dependent on iOS font metrics.
  */
  .bfhv2-root .bfhv2-alerts-mobile,
  .bfhv2-root .bfhv2-menu-trigger{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    text-indent:0!important;
    font-size:0!important;
    line-height:0!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile::before,
  .bfhv2-root .bfhv2-menu-trigger::before{
    content:""!important;
    display:block!important;
    width:22px!important;
    height:22px!important;
    margin:0!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:22px 22px!important;
    pointer-events:none!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile::before{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22%23f4be3d%22%20d%3D%22M12%2022a2.5%202.5%200%200%200%202.45-2h-4.9A2.5%202.5%200%200%200%2012%2022Zm7-6-1.5-2V9a5.5%205.5%200%200%200-4.5-5.4V3a1%201%200%200%200-2%200v.6A5.5%205.5%200%200%200%206.5%209v5L5%2016a1%201%200%200%200%20.8%201.6h12.4A1%201%200%200%200%2019%2016Z%22%2F%3E%3C%2Fsvg%3E")!important;
  }

  .bfhv2-root .bfhv2-menu-trigger::before{
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23fffaf2%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22%20d%3D%22M5%207h14M5%2012h14M5%2017h14%22%2F%3E%3C%2Fsvg%3E")!important;
  }
}

@media(max-width:430px){
  .bfhv2-root .bfhv2-alerts-mobile::before,
  .bfhv2-root .bfhv2-menu-trigger::before{
    width:20px!important;
    height:20px!important;
    background-size:20px 20px!important;
  }
}



/* BUFFET_BUILD_9_6_8_15_5_MOBILE_ICON_ABSOLUTE_CENTER */
@media(max-width:760px){
  .bfhv2-root .bfhv2-alerts-mobile,
  .bfhv2-root .bfhv2-menu-trigger{
    position:relative!important;
    display:block!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    text-indent:-9999px!important;
  }

  .bfhv2-root .bfhv2-alerts-mobile::before,
  .bfhv2-root .bfhv2-menu-trigger::before{
    position:absolute!important;
    content:""!important;
    left:50%!important;
    top:50%!important;
    width:22px!important;
    height:22px!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:22px 22px!important;
    pointer-events:none!important;
  }

  .bfhv2-root .bfhv2-menu-trigger{
    padding-bottom:0!important;
  }
}

@media(max-width:430px){
  .bfhv2-root .bfhv2-alerts-mobile::before,
  .bfhv2-root .bfhv2-menu-trigger::before{
    width:20px!important;
    height:20px!important;
    background-size:20px 20px!important;
  }
}


/* BUFFET_BUILD_9_6_8_16_WAGER_AND_GAME_TIME */
.challenge-wager-label{
  margin:18px 0 7px;
  font-size:.76rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#f4be3d;
}
.challenge-wager-label + .big-stake{margin-top:0}


/* BUFFET_BUILD_9_6_10_8_1_NATIVE_PGA_MEMBER_IDENTITY */
.pga-native-member-card{
  display:block;
  margin:0 0 18px;
  padding:15px 16px;
  border:1px solid var(--line);
  border-left:4px solid var(--buffet);
  border-radius:14px;
  background:linear-gradient(135deg,var(--panel-raised),var(--panel));
  color:var(--text);
  text-decoration:none;
}
.pga-native-member-card:hover{
  border-color:rgba(244,185,66,.7);
  background:var(--panel-raised);
}
.pga-native-member-eyebrow{
  display:block;
  margin-bottom:9px;
  color:var(--buffet);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
}
.pga-native-member-main{
  display:flex;
  align-items:center;
  gap:12px;
}
.pga-native-member-avatar{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:var(--soft);
  font-weight:900;
}
.pga-native-member-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
}
.pga-native-member-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:1.02rem;
}
.pga-native-member-arrow{
  color:var(--buffet);
  font-size:1.45rem;
  line-height:.8;
}
.pga-native-member-username,
.pga-native-member-meta{
  color:var(--muted);
  font-size:.78rem;
}
.pga-native-member-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pga-native-member-badges:empty,
.pga-native-member-meta:empty{
  display:none;
}
.pga-member-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid var(--line);
  background:var(--soft);
  font-size:.69rem;
  font-weight:850;
}
.pga-member-friend{
  border-color:#3e6f54;
  background:#1e4a31;
  color:#a9edbc;
}
.pga-member-verified{
  border-color:#465f93;
  background:#24375e;
  color:#c8d8ff;
}
.pga-member-rating{
  border-color:#6b5927;
  background:#55461d;
  color:#ffe18a;
}
@media(max-width:560px){
  .pga-native-member-card{padding:13px 14px}
  .pga-native-member-avatar{width:40px;height:40px;flex-basis:40px}
}


/* BUFFET_BUILD_9_6_9_CHALLENGER_IDENTITY */
.buffet-challenger-identity-host{overflow:hidden}
.buffet-challenger-identity{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:88px;
  box-sizing:border-box;
  color:inherit!important;
  text-decoration:none!important
}
.buffet-challenger-avatar{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:var(--ink,#f5f2eb);
  font-size:1.25rem;
  font-weight:900
}
.buffet-challenger-copy{display:grid;gap:5px;min-width:0}
.buffet-challenger-name-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  flex-wrap:wrap
}
.buffet-challenger-name{
  overflow:hidden;
  color:var(--ink,#f5f2eb);
  font-size:1.05rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap
}
.buffet-challenger-username{
  color:var(--muted,#a7aabc);
  font-size:.88rem;
  font-weight:750
}
.buffet-challenger-badges{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap
}
.buffet-challenger-badges .profile-status-badge{
  margin:0;
  font-size:.66rem;
  line-height:1;
  white-space:nowrap
}
.buffet-challenger-chevron{
  color:var(--buffet,#edbc4f);
  font-size:2rem;
  line-height:1;
  transition:transform .14s ease
}
.buffet-challenger-identity:hover .buffet-challenger-chevron,
.buffet-challenger-identity:focus-visible .buffet-challenger-chevron{
  transform:translateX(2px)
}
.buffet-challenger-identity:focus-visible{
  outline:2px solid var(--buffet,#edbc4f);
  outline-offset:5px;
  border-radius:10px
}
@media(max-width:520px){
  .buffet-challenger-identity{gap:12px;min-height:80px}
  .buffet-challenger-avatar{width:48px;height:48px;font-size:1.12rem}
  .buffet-challenger-name{font-size:1rem}
  .buffet-challenger-badges .profile-status-badge{font-size:.62rem}
}


/* BUFFET_BUILD_9_6_9_1_CHALLENGER_IDENTITY_RECOVERY */
.buffet-challenger-eyebrow{
  margin:0 0 8px;
  color:var(--buffet,#edbc4f);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.14em;
}
.buffet-challenger-meta{
  color:var(--muted,#a7aabc);
  font-size:.78rem;
}
.buffet-challenger-identity-slot{
  margin:0 0 18px;
}



/* BUFFET_BUILD_9_6_9_2_ACCEPTED_LOCK_INDICATOR */
.buffet-accepted-lock-card{
  position:relative!important;
}
.buffet-accepted-lock{
  position:absolute;
  top:24px;
  right:24px;
  z-index:3;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:var(--buffet,#edbc4f);
  pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.buffet-accepted-lock svg{
  width:19px;
  height:19px;
  fill:currentColor;
}
@media(max-width:600px){
  .buffet-accepted-lock{
    top:22px;
    right:22px;
    width:38px;
    height:38px;
  }
  .buffet-accepted-lock svg{
    width:18px;
    height:18px;
  }
}



/* BUFFET_BUILD_9_6_9_3_ACTIVE_CARD_LIVE_LOCK_UI */
.buffet-active-pill-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.buffet-active-pill-row>.buffet-accepted-lock{
  margin-left:auto!important;
}
.buffet-accepted-lock{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--buffet,#edbc4f)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.buffet-accepted-lock svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  fill:currentColor!important;
}
.buffet-active-live-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  min-height:34px;
  padding:0 11px;
  box-sizing:border-box;
  border:1px solid rgba(255,111,111,.32);
  border-radius:999px;
  background:rgba(126,36,43,.75);
  color:#ffe1e3;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
}
.buffet-active-live-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:currentColor;
}
@media(max-width:720px){
  .buffet-active-pill-row{
    gap:8px!important;
  }
  .buffet-accepted-lock{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
  }
  .buffet-active-live-pill{
    min-height:32px;
    padding:0 9px;
    font-size:.68rem;
  }
}
@media(max-width:420px){
  .buffet-active-pill-row{
    gap:7px!important;
  }
  .buffet-active-pill-row .buffet-active-live-pill{
    padding-left:8px;
    padding-right:8px;
  }
  .buffet-accepted-lock{
    flex-basis:38px!important;
    width:38px!important;
    height:38px!important;
  }
}



/* BUFFET_BUILD_9_6_9_4_ACTIVE_CARD_STATE_ROW */

/* Undo 9.6.9.2/9.6.9.3 floating / pill-row lock behavior. */
.buffet-active-pill-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  width:auto!important;
}
.buffet-active-pill-row>.buffet-accepted-lock{
  margin-left:0!important;
}

.buffet-active-state-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:42px;
  margin:8px 0 14px;
}
.buffet-active-state-row:has(.buffet-active-live-pill){
  margin-top:10px;
}

.buffet-accepted-lock.buffet-accepted-lock-emoji{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin:0 0 0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.045)!important;
  color:inherit!important;
  font-size:20px!important;
  line-height:1!important;
  font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.buffet-accepted-lock.buffet-accepted-lock-emoji svg{
  display:none!important;
}

.buffet-active-live-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex:0 0 auto;
  min-height:34px;
  padding:0 12px;
  box-sizing:border-box;
  border:1px solid rgba(255,111,111,.32);
  border-radius:999px;
  background:rgba(126,36,43,.78);
  color:#ffe1e3;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
}
.buffet-active-live-dot{
  display:block;
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:currentColor;
}

@media(min-width:900px){
  /* Grid cards are narrow on desktop; keep state controls on their own row. */
  .buffet-active-state-row{
    margin-top:7px;
  }
}
@media(max-width:600px){
  .buffet-active-state-row{
    min-height:40px;
    margin:7px 0 12px;
  }
  .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
    font-size:19px!important;
  }
  .buffet-active-live-pill{
    min-height:32px;
    padding:0 10px;
    font-size:.69rem;
  }
}



/* BUFFET_BUILD_9_6_9_5_ACTIVE_CARD_HEADER_LIVE_MATCH */

/* Restore normal wrapping behavior for the main ACCEPTED / sport / audience row. */
.buffet-active-primary-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}

/* Dedicated second row: LIVE left, lock right. */
.buffet-active-state-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:100%!important;
  min-height:42px!important;
  margin:6px 0 10px!important;
  box-sizing:border-box!important;
}
.buffet-active-state-row.has-live{
  justify-content:space-between!important;
}

/* Desired native padlock treatment. */
.buffet-accepted-lock.buffet-accepted-lock-emoji{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.045)!important;
  color:inherit!important;
  font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
  font-size:20px!important;
  line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.buffet-accepted-lock.buffet-accepted-lock-emoji svg{
  display:none!important;
}

.buffet-active-live-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,111,111,.34)!important;
  border-radius:999px!important;
  background:rgba(126,36,43,.8)!important;
  color:#ffe1e3!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.buffet-active-live-dot{
  display:block!important;
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:currentColor!important;
}

@media(max-width:600px){
  .buffet-active-primary-row{
    gap:8px!important;
  }
  .buffet-active-state-row{
    min-height:40px!important;
    margin:6px 0 9px!important;
  }
  .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
    font-size:19px!important;
  }
  .buffet-active-live-pill{
    min-height:32px!important;
    padding:0 10px!important;
    font-size:.69rem!important;
  }
}



/* BUFFET_BUILD_9_6_9_6_ACTIVE_CARD_HEADER_CANONICAL */

/* Canonical card header: keep the native three badges together. */
.challenge-card .challenge-card-badges.buffet-active-primary-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  margin-bottom:0!important;
}
.challenge-card .challenge-card-badges.buffet-active-primary-row .status-pill,
.challenge-card .challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
.challenge-card .challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
  flex:0 0 auto!important;
  min-height:31px!important;
  padding-left:10px!important;
  padding-right:10px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

/* Second row: LIVE left when applicable, lock right. */
.challenge-card .buffet-active-state-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:100%!important;
  min-height:42px!important;
  margin:7px 0 12px!important;
  box-sizing:border-box!important;
}
.challenge-card .buffet-active-state-row.has-live{
  justify-content:space-between!important;
}

.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.045)!important;
  color:inherit!important;
  font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
  font-size:20px!important;
  line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji svg{
  display:none!important;
}

.challenge-card .buffet-active-live-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
  min-height:32px!important;
  padding:0 11px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,111,111,.34)!important;
  border-radius:999px!important;
  background:rgba(126,36,43,.80)!important;
  color:#ffe1e3!important;
  font-size:.7rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.challenge-card .buffet-active-live-dot{
  display:block!important;
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:currentColor!important;
}

@media(max-width:640px){
  .challenge-card .challenge-card-badges.buffet-active-primary-row{
    gap:7px!important;
  }
  .challenge-card .challenge-card-badges.buffet-active-primary-row .status-pill,
  .challenge-card .challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
  .challenge-card .challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
    min-height:29px!important;
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:10.5px!important;
  }
  .challenge-card .buffet-active-state-row{
    min-height:40px!important;
    margin:6px 0 10px!important;
  }
  .challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    border-radius:13px!important;
    font-size:19px!important;
  }
}



/* BUFFET_BUILD_9_6_9_7_ACTIVE_CARD_HEADER_WRAPPER */

/* Two actual rows inside one isolated header wrapper. */
.challenge-card>.buffet-active-header-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  margin:0 0 12px!important;
  padding:0!important;
  box-sizing:border-box!important;
}

/* Row 1: ACCEPTED / sport / audience stay on one line. */
.challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .status-pill,
.challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
.challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
  flex:0 0 auto!important;
  min-width:0!important;
  min-height:29px!important;
  padding-left:8px!important;
  padding-right:8px!important;
  font-size:10px!important;
  line-height:1!important;
  white-space:nowrap!important;
}

/* Row 2: LIVE left; lock right. */
.challenge-card>.buffet-active-header-wrapper>.buffet-active-state-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.challenge-card>.buffet-active-header-wrapper>.buffet-active-state-row.has-live{
  justify-content:space-between!important;
}

.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 40px!important;
  width:40px!important;
  height:40px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.045)!important;
  color:inherit!important;
  font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
  font-size:19px!important;
  line-height:1!important;
  box-shadow:0 4px 14px rgba(0,0,0,.12)!important;
  pointer-events:none!important;
}
.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji svg{
  display:none!important;
}

.challenge-card .buffet-active-live-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex:0 0 auto!important;
  min-height:31px!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,111,111,.34)!important;
  border-radius:999px!important;
  background:rgba(126,36,43,.80)!important;
  color:#ffe1e3!important;
  font-size:.68rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.challenge-card .buffet-active-live-dot{
  display:block!important;
  width:7px!important;
  height:7px!important;
  flex:0 0 7px!important;
  border-radius:50%!important;
  background:currentColor!important;
}

/* Mobile cards have enough width for the tightened three-pill first row. */
@media(max-width:640px){
  .challenge-card>.buffet-active-header-wrapper{
    gap:6px!important;
    margin-bottom:11px!important;
  }
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row{
    gap:6px!important;
  }
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .status-pill,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
    min-height:29px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:10px!important;
  }
}



/* BUFFET_BUILD_9_6_9_8_ACTIVE_CARD_HEADER_FINAL_POLISH */

/* Desktop-only tightening of the working 9.6.9.7 two-row header. */
@media(min-width:641px){
  .challenge-card>.buffet-active-header-wrapper{
    gap:4px!important;
    margin-bottom:8px!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row{
    gap:7px!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.buffet-active-state-row{
    min-height:36px!important;
    gap:8px!important;
    margin:0!important;
  }

  .challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    font-size:17px!important;
    box-shadow:0 3px 10px rgba(0,0,0,.10)!important;
  }

  .challenge-card .buffet-active-live-pill{
    min-height:29px!important;
    padding:0 9px!important;
    font-size:.64rem!important;
    gap:5px!important;
  }

  .challenge-card .buffet-active-live-dot{
    width:6px!important;
    height:6px!important;
    flex-basis:6px!important;
  }
}

/* Preserve the mobile layout that already looks good. */
@media(max-width:640px){
  .challenge-card>.buffet-active-header-wrapper{
    gap:6px!important;
    margin-bottom:11px!important;
  }
}



/* BUFFET_BUILD_9_6_9_9_MOBILE_SINGLE_ROW */

/* Desktop keeps the approved two-row header. */
@media(max-width:640px){
  /* On mobile, collapse the wrapper into one horizontal row. */
  .challenge-card>.buffet-active-header-wrapper{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    margin-bottom:11px!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:auto!important;
    flex:0 1 auto!important;
    min-width:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .status-pill,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
    min-height:28px!important;
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.buffet-active-state-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0 0 0 auto!important;
    flex:0 0 auto!important;
  }

  .challenge-card>.buffet-active-header-wrapper>.buffet-active-state-row.has-live{
    justify-content:flex-end!important;
  }

  .challenge-card .buffet-active-live-pill{
    min-height:28px!important;
    padding:0 8px!important;
    font-size:.64rem!important;
    gap:5px!important;
  }

  .challenge-card .buffet-active-live-dot{
    width:6px!important;
    height:6px!important;
    flex-basis:6px!important;
  }

  .challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:36px!important;
    width:36px!important;
    height:36px!important;
    border-radius:12px!important;
    font-size:17px!important;
  }
}

/* Very narrow phones: tighten slightly more but still stay on one row. */
@media(max-width:390px){
  .challenge-card>.buffet-active-header-wrapper{
    gap:5px!important;
  }
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row{
    gap:5px!important;
  }
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .status-pill,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper>.challenge-card-badges.buffet-active-primary-row .challenge-scope-link{
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:9.5px!important;
  }
  .challenge-card .buffet-active-live-pill{
    padding:0 7px!important;
    font-size:.61rem!important;
  }
  .challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
    flex-basis:34px!important;
    width:34px!important;
    height:34px!important;
    font-size:16px!important;
  }
}



/* BUFFET_BUILD_9_6_9_10_RESPONSIVE_ACTIVE_HEADER_FINAL */

/* Shared primary badge row. */
.challenge-card .challenge-card-badges.buffet-active-primary-row{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}

/* Desktop: explicit two-row wrapper remains. */
@media(min-width:641px){
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:4px!important;
    width:100%!important;
    margin:0 0 8px!important;
    padding:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.challenge-card-badges{
    gap:7px!important;
    width:100%!important;
    margin:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.challenge-card-badges .status-pill,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.challenge-card-badges .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.challenge-card-badges .challenge-scope-link{
    min-height:29px!important;
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.buffet-active-state-row{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:100%!important;
    min-height:36px!important;
    margin:0!important;
    padding:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-desktop>.buffet-active-state-row.has-live{
    justify-content:space-between!important;
  }
}

/* Mobile: utilities are physically moved into the native badge row. */
@media(max-width:640px){
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile{
    display:block!important;
    width:100%!important;
    margin:0 0 11px!important;
    padding:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges{
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .status-pill,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .challenge-scope-link{
    flex:0 0 auto!important;
    min-height:28px!important;
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges>.buffet-active-live-pill{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges>.buffet-active-live-pill+
  .buffet-accepted-lock{
    margin-left:0!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges>.buffet-accepted-lock{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    margin-left:auto!important;
  }

  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges>.buffet-active-live-pill+
  .buffet-accepted-lock{
    margin-left:0!important;
  }
}

/* Shared LIVE style. */
.challenge-card .buffet-active-live-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  min-height:29px!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,111,111,.34)!important;
  border-radius:999px!important;
  background:rgba(126,36,43,.80)!important;
  color:#ffe1e3!important;
  font-size:.64rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.challenge-card .buffet-active-live-dot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  border-radius:50%!important;
  background:currentColor!important;
}

/* Shared native lock style. */
.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.045)!important;
  color:inherit!important;
  font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif!important;
  font-size:17px!important;
  line-height:1!important;
  box-shadow:0 3px 10px rgba(0,0,0,.10)!important;
  pointer-events:none!important;
}
.challenge-card .buffet-accepted-lock.buffet-accepted-lock-emoji svg{
  display:none!important;
}

/* Extra-tight fallback for the narrowest phones. */
@media(max-width:390px){
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges{
    gap:5px!important;
  }
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .status-pill,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .buffet-sport-badge,
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges .challenge-scope-link{
    padding-left:6px!important;
    padding-right:6px!important;
    font-size:9.4px!important;
  }
  .challenge-card .buffet-active-live-pill{
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:.61rem!important;
  }
  .challenge-card>.buffet-active-header-wrapper.buffet-active-header-mobile>.challenge-card-badges>.buffet-accepted-lock{
    flex-basis:32px!important;
    width:32px!important;
    height:32px!important;
    font-size:15px!important;
  }
}


/* BUFFET_BUILD_9_8_1B_5_CREATE_SOCIAL_CLEANUP */
body[data-buffet-pending-direct="1"] .comments-panel{display:none!important}


/* BUFFET_BUILD_9_8_1B_10_MULTI_SPORT_CARD_ALIGNMENT
   Align NFL/PGA/MLB challenge cards to one shared visual skeleton. */
.challenge-card{
  display:flex;
  flex-direction:column;
}
.challenge-card-top{
  display:grid;
  grid-template-columns:1fr;
  align-items:start;
  min-height:4.65rem;
}
.challenge-card-top .challenge-card-badges{
  width:100%;
}
.challenge-card-top > :not(.challenge-card-badges){
  justify-self:center;
}
.challenge-card-context-block{
  min-height:5.75rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.challenge-card > h2{
  min-height:2.9rem;
  display:flex;
  align-items:center;
  margin-bottom:.55rem;
}
.challenge-card .challenge-call{
  min-height:2.35rem;
  display:flex;
  align-items:flex-start;
  margin-top:0;
}
.challenge-card-meta-grid{
  margin-top:.65rem;
}
.challenge-card-meta-grid > span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:5.2rem;
}
.challenge-card-footer{
  margin-top:auto;
  padding-top:1rem;
}
.challenge-card .button.full{
  margin-top:.85rem;
}
@media (max-width:700px){
  .challenge-card-top{min-height:4.25rem}
  .challenge-card-context-block{min-height:5.25rem}
  .challenge-card > h2{min-height:2.5rem}
  .challenge-card .challenge-call{min-height:2.15rem}
  .challenge-card-meta-grid > span{min-height:4.8rem}
}

/* BUFFET_BUILD_9_8_1B_11_1_MLB_PROP_PRESENTATION */
.mlb-prop-presentation{display:flex;flex-direction:column;gap:.28rem;width:100%}
.mlb-prop-type{font-size:1.08em;letter-spacing:.015em;font-weight:800}
.mlb-prop-line{font-size:.9em;opacity:.78}
.mlb-prop-line strong{font-weight:800;opacity:1}
@media(max-width:700px){.mlb-prop-type{font-size:1.12em}.mlb-prop-line{font-size:.92em}}

/* BUFFET_BUILD_9_8_1B_12_MOBILE_CHALLENGE_CARD_COMPACT
   Mobile-only challenge-card compaction shared by NFL / PGA / MLB.
   Presentation only; no challenge behavior changes. */
@media (max-width:700px){
  .challenge-card{
    padding-top:1rem;
    padding-bottom:1rem;
  }

  .challenge-card-top{
    min-height:0 !important;
    row-gap:.55rem;
    margin-bottom:.7rem;
  }

  .challenge-card-top .challenge-card-badges{
    justify-content:center;
    gap:.45rem;
  }

  /* Any non-badge control in the top section (currently the lock) is centered
     on its own compact row instead of floating at the far right. */
  .challenge-card-top > :not(.challenge-card-badges){
    justify-self:center !important;
    margin:.05rem auto 0 !important;
  }

  .challenge-card-context-block,
  .challenge-game-context{
    min-height:0 !important;
    margin-top:.35rem;
    margin-bottom:.9rem;
    padding-top:1rem;
    padding-bottom:1rem;
  }

  .challenge-card > h2{
    min-height:0 !important;
    margin-top:.15rem;
    margin-bottom:.45rem;
    line-height:1.12;
  }

  /* Season copy can be naturally longer; keep it strong without letting it
     dominate the entire card on a phone. */
  .challenge-card[data-sport="NFL"] > h2{
    font-size:clamp(1.72rem,7vw,2.08rem);
  }

  .challenge-card .challenge-call{
    min-height:0 !important;
    margin-top:0;
    margin-bottom:.8rem;
  }

  .mlb-prop-presentation{
    gap:.15rem;
  }

  .mlb-prop-type{
    line-height:1.1;
  }

  .mlb-prop-line{
    line-height:1.15;
  }

  .challenge-card-meta-grid,
  .challenge-meta{
    gap:.55rem;
    margin-top:.35rem;
  }

  .challenge-card-meta-grid > span,
  .challenge-meta > span{
    min-height:0 !important;
    padding:.85rem 1rem !important;
  }

  .challenge-card-footer{
    margin-top:.85rem !important;
    padding-top:.3rem !important;
    line-height:1.35;
  }

  .challenge-card .button.full{
    margin-top:.7rem !important;
  }
}


/* BUFFET_BUILD_9_8_1B_13_NFL_SEASON_PROP_PRESENTATION
   NFL season-long cards use the same scannable hierarchy as MLB player props. */
.season-prop-presentation{
  display:flex;
  flex-direction:column;
  gap:.22rem;
  width:100%;
}
.season-prop-type{
  font-size:1.08em;
  letter-spacing:.015em;
  font-weight:800;
}
.season-prop-line{
  font-size:.9em;
  opacity:.78;
}
.season-prop-line strong{
  font-weight:800;
  opacity:1;
}
@media(max-width:700px){
  .season-prop-presentation{gap:.14rem}
  .season-prop-type{font-size:1.12em;line-height:1.1}
  .season-prop-line{font-size:.92em;line-height:1.15}
}

/* BUFFET_BUILD_9_8_1B_14_CHALLENGE_PRESENTATION_CONSISTENCY */
.challenge-event-time{display:block;margin-top:.3rem;font-size:.88rem;opacity:.76;font-weight:600}
.nfl-prop-presentation{display:flex;flex-direction:column;gap:.28rem;width:100%}
.nfl-prop-type{font-size:1.08em;letter-spacing:.015em;font-weight:800}
.nfl-prop-line{font-size:.9em;opacity:.78}
.nfl-prop-line strong{font-weight:800;opacity:1}
.winner-sides strong{line-height:1.2}
@media(max-width:700px){
  .challenge-event-time{margin-top:.35rem;font-size:.9rem}
  .nfl-prop-presentation{gap:.15rem}
  .nfl-prop-type{font-size:1.12em;line-height:1.1}
  .nfl-prop-line{font-size:.92em;line-height:1.15}
}

/* BUFFET_BUILD_9_8_1B_15_MLB_CARD_PRESENTATION_CONSISTENCY */
.challenge-card[data-sport="MLB"] .challenge-matchup{line-height:1.2}

/* BUFFET_BUILD_9_8_1B_16_MLB_WINNER_PERSPECTIVE */
.challenge-card[data-sport="MLB"] .challenge-meta span strong{line-height:1.2}
.winner-sides span{line-height:1.25}

/* BUFFET_BUILD_9_8_1B_18_CREATOR_IDENTITY */
.challenge-creator-card{margin:18px 0 22px;padding:16px 18px;border:1px solid rgba(244,190,61,.28);border-radius:16px;background:rgba(244,190,61,.055)}
.challenge-creator-card .eyebrow{display:block;margin-bottom:9px}
.challenge-creator-main{display:flex;align-items:center;justify-content:space-between;gap:18px}
.challenge-creator-name{font-size:1.22rem;line-height:1.2}
.challenge-creator-name a{font-weight:900}
.challenge-creator-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}
.creator-badge,.creator-rating{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid rgba(160,174,210,.28);border-radius:999px;font-size:.78rem;font-weight:800;letter-spacing:.045em}
.creator-badge{color:#f4be3d}
.creator-rating{color:#d6dcef}
.creator-profile-link{white-space:nowrap;font-weight:800}
.challenge-invite-secondary{margin-top:-8px;color:var(--muted)}
.challenge-detail-prop{display:flex;flex-direction:column;gap:6px;margin:24px 0 20px}
.challenge-detail-prop h1{margin:0}
.challenge-detail-prop-type{font-size:1.45rem;line-height:1.15}
.challenge-detail-prop-line{font-size:1.08rem;color:var(--muted)}
.challenge-detail-prop-line strong{color:var(--ink)}
@media(max-width:700px){
  .challenge-creator-main{align-items:flex-start;flex-direction:column;gap:10px}
  .challenge-creator-card{padding:14px 15px}
  .challenge-creator-name{font-size:1.12rem}
  .creator-profile-link{font-size:.92rem}
  .challenge-detail-prop{margin:20px 0 17px}
  .challenge-detail-prop-type{font-size:1.25rem}
}

/* BUFFET_BUILD_9_8_1B_18_1_DETAIL_REPAIR */
.challenge-detail-prop{max-width:760px}
.challenge-detail-prop h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.02}
.challenge-detail-prop-type{margin-top:4px}
.comments-panel{display:block}

/* BUFFET_BUILD_9_8_1B_18_2_MOBILE_CREATOR_DETAILS */
.challenge-card-footer-wrap{display:flex;flex-direction:column;gap:.45rem}
.challenge-card-creator-details{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}
.challenge-card-creator-badge,.challenge-card-creator-rating{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid rgba(160,174,210,.3);border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.04em}
.challenge-card-creator-badge{color:#f4be3d}
.challenge-card-creator-rating{color:#d6dcef}
@media(max-width:700px){
  .challenge-card-footer-wrap{gap:.5rem}
  .challenge-card-creator-details{gap:.35rem}
  .challenge-card-creator-badge,.challenge-card-creator-rating{font-size:.74rem;min-height:25px;padding:3px 8px}
}

/* BUFFET_BUILD_9_8_1B_18_3_CARD_FOOTER_POLISH */
.challenge-card-footer-wrap{gap:.35rem;margin-top:.9rem}
.challenge-card-creator-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .65rem}
.challenge-card-footer{margin:0}
.challenge-card-lock-time{margin:0;font-size:.9em;line-height:1.3}
.challenge-card-creator-details{margin:0}
@media(max-width:700px){
  .challenge-card-footer-wrap{gap:.38rem;margin-top:.7rem}
  .challenge-card-creator-row{align-items:center;gap:.4rem .55rem}
  .challenge-card-footer{line-height:1.25}
  .challenge-card-lock-time{font-size:.88em;line-height:1.25}
}

/* BUFFET_BUILD_9_8_1B_18_4_COMPACT_CARD_FOOTER
   Tighten creator / badge / lock presentation without changing card behavior. */
.challenge-card-footer-wrap{margin-top:.45rem;gap:.22rem}
.challenge-card-creator-row{gap:.32rem .45rem}
.challenge-card-footer{font-size:.92em;line-height:1.2}
.challenge-card-creator-details{gap:.3rem}
.challenge-card-creator-badge,
.challenge-card-creator-rating{min-height:22px;padding:2px 7px;font-size:.68rem;line-height:1}
.challenge-card-lock-time{font-size:.82em;line-height:1.2;opacity:.82}
.challenge-card .challenge-card-footer-wrap + .button,
.challenge-card .challenge-card-footer-wrap + a.button{margin-top:.72rem}
@media(max-width:700px){
  .challenge-card-footer-wrap{margin-top:.3rem;gap:.18rem}
  .challenge-card-creator-row{gap:.28rem .4rem}
  .challenge-card-footer{font-size:.9em;line-height:1.15}
  .challenge-card-creator-badge,
  .challenge-card-creator-rating{min-height:21px;padding:2px 7px;font-size:.66rem}
  .challenge-card-lock-time{font-size:.8em;line-height:1.15}
  .challenge-card .challenge-card-footer-wrap + .button,
  .challenge-card .challenge-card-footer-wrap + a.button{margin-top:.6rem}
}

/* BUFFET_BUILD_9_8_1B_18_4_1_CREATOR_FOOTER_ALIGNMENT
   Final micro-alignment for creator badge and lock-time line. */
.challenge-card-creator-badge,
.challenge-card-creator-rating{
  transform:translateY(1px);
}
.challenge-card-lock-time{
  margin-top:-1px;
}
@media(max-width:700px){
  .challenge-card-creator-badge,
  .challenge-card-creator-rating{
    transform:translateY(2px);
  }
  .challenge-card-lock-time{
    margin-top:-2px;
  }
}

/* BUFFET_BUILD_9_8_1B_18_4_2_GROUP_CARD_IDENTITY */
.challenge-card[data-scope="GROUP"] .challenge-card-top,
.challenge-card[data-scope="GROUP"] .challenge-card-badges{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
.challenge-card[data-scope="GROUP"] .challenge-card-badges{
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:.5rem;
}
.challenge-card[data-scope="GROUP"] .challenge-card-footer{
  display:block;
}
@media(max-width:700px){
  .challenge-card[data-scope="GROUP"] .challenge-card-top{
    min-height:0;
    margin-bottom:.65rem;
  }
  .challenge-card[data-scope="GROUP"] .challenge-card-badges{
    width:100%;
    gap:.42rem;
  }
  .challenge-card[data-scope="GROUP"] .challenge-card-footer{
    line-height:1.2;
  }
}

/* BUFFET_BUILD_9_8_1B_18_4_3_GROUP_HEADER_STABLE
   9.8.8: persistence only; desktop layout is now owned by one canonical rule. */
@media(max-width:700px){
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:.42rem!important;
    width:100%!important;
    margin:0 0 .65rem!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges>.buffet-accepted-lock{
    display:inline-flex!important;
    flex:0 0 auto!important;
  }
}

/* BUFFET_BUILD_9_8_2_CHALLENGE_FILTER_ROW_LAYOUT
   Main challenge filters:
   Row 1 = Live / Open / My Active / Completed (existing primary tabs)
   Row 2 = Public / Friends / Group / Direct
   Row 3 = NFL / PGA / MLB
   Keep existing filter behavior and pill styling unchanged.
*/
#challengeQuickFilters.challenge-quick-filters{
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  gap:8px !important;
  margin-bottom:16px !important;
}

#challengeQuickFilters .challenge-quick-filter-group{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  width:100% !important;
  margin:0 !important;
}

#challengeQuickFilters .challenge-quick-label{
  display:none !important;
}

@media(max-width:700px){
  #challengeQuickFilters.challenge-quick-filters{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }

  #challengeQuickFilters .challenge-quick-filter-group{
    margin:0 !important;
    width:100% !important;
  }
}


/* BUFFET_BUILD_9_8_3A_ACCEPTED_HEADER_STABLE */
.challenge-card>.challenge-card-badges.buffet-active-primary-row{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:.5rem!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 .8rem!important;
}
.challenge-card>.challenge-card-badges>.buffet-accepted-lock{
  display:inline-flex!important;
  position:static!important;
  transform:none!important;
  flex:0 0 auto!important;
  margin:0!important;
}

/* BUFFET_BUILD_9_8_3A_ACCEPTED_CARD_DENSITY */
.challenge-card{
  padding-top:1.25rem!important;
  padding-bottom:1.25rem!important;
}
.challenge-card .challenge-card-top{
  min-height:0!important;
  margin-bottom:.75rem!important;
}
.challenge-card .challenge-event,
.challenge-card .challenge-card-event,
.challenge-card .challenge-game,
.challenge-card .challenge-card-game{
  margin-top:0!important;
  margin-bottom:.9rem!important;
}
.challenge-card .challenge-card-title,
.challenge-card .challenge-player{
  margin-top:0!important;
  margin-bottom:.65rem!important;
}
.challenge-card .challenge-card-market,
.challenge-card .challenge-prop{
  margin-bottom:.8rem!important;
}
.challenge-card .challenge-card-details,
.challenge-card .challenge-card-meta-grid{
  margin-top:.8rem!important;
  margin-bottom:.8rem!important;
  gap:.65rem!important;
}
.challenge-card .challenge-card-footer{
  margin-top:.7rem!important;
}

@media(max-width:700px){
  .challenge-card{
    padding-top:1rem!important;
    padding-bottom:1rem!important;
  }
  .challenge-card>.challenge-card-badges.buffet-active-primary-row{
    gap:.42rem!important;
    margin-bottom:.65rem!important;
  }
}

/* BUFFET_BUILD_9_8_3B_ACCEPTED_CARD_POLISH
   Final density / rhythm pass after the stable-header repair.
   No card behavior changes. */
.challenge-card>.challenge-card-badges.buffet-active-primary-row{
  margin-bottom:.65rem!important;
}

.challenge-card .challenge-event,
.challenge-card .challenge-card-event,
.challenge-card .challenge-game,
.challenge-card .challenge-card-game{
  margin-bottom:.72rem!important;
}

.challenge-card .challenge-card-title,
.challenge-card .challenge-player{
  margin-bottom:.48rem!important;
}

.challenge-card .challenge-card-market,
.challenge-card .challenge-prop{
  margin-bottom:.62rem!important;
}

.challenge-card .challenge-card-details,
.challenge-card .challenge-card-meta-grid{
  margin-top:.65rem!important;
  margin-bottom:.62rem!important;
  gap:.55rem!important;
}

.challenge-card .challenge-card-details>*,
.challenge-card .challenge-card-meta-grid>*{
  min-height:0!important;
  padding-top:.85rem!important;
  padding-bottom:.85rem!important;
}

.challenge-card .challenge-card-footer{
  margin-top:.5rem!important;
}

.challenge-card .challenge-card-footer p,
.challenge-card .challenge-card-footer .challenge-accepted-from,
.challenge-card .accepted-challenge-from{
  margin-bottom:.48rem!important;
}

.challenge-card .btn,
.challenge-card .button,
.challenge-card a.button{
  margin-top:.45rem!important;
}

@media(max-width:700px){
  .challenge-card>.challenge-card-badges.buffet-active-primary-row{
    margin-bottom:.55rem!important;
  }

  .challenge-card .challenge-event,
  .challenge-card .challenge-card-event,
  .challenge-card .challenge-game,
  .challenge-card .challenge-card-game{
    margin-bottom:.62rem!important;
  }

  .challenge-card .challenge-card-details,
  .challenge-card .challenge-card-meta-grid{
    gap:.5rem!important;
  }

  .challenge-card .challenge-card-details>*,
  .challenge-card .challenge-card-meta-grid>*{
    padding-top:.75rem!important;
    padding-bottom:.75rem!important;
  }
}

/* BUFFET_BUILD_9_8_3C_COMPLETED_DETAIL_POLISH
   Completed challenge detail:
   - make participant usernames readable at a glance
   - keep MORE / LESS as the strongest pick treatment
   - tighten the structured Player / Prop / Line rhythm
   CSS only; no challenge behavior changes.
*/

/* The result panel is rendered later in the same detail body, so :has()
   scopes this username bump to completed/graded detail views instead of
   changing side labels sitewide. */
.sides:has(~ .result-panel)>div>span{
  display:block;
  margin-bottom:.22rem;
  font-size:1rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:var(--ink)!important;
  opacity:.92;
}

.sides:has(~ .result-panel)>div>strong{
  line-height:1.15;
}

/* Final detail-page spacing pass for Player / Prop / Line. */
.challenge-detail-prop{
  gap:4px!important;
  margin-top:18px!important;
  margin-bottom:14px!important;
}

.challenge-detail-prop h1{
  line-height:1.05!important;
  margin-bottom:2px!important;
}

.challenge-detail-prop-type{
  line-height:1.12!important;
}

.challenge-detail-prop-line{
  margin-top:1px!important;
}

@media(max-width:700px){
  .sides:has(~ .result-panel)>div>span{
    font-size:.96rem!important;
    margin-bottom:.18rem;
  }

  .challenge-detail-prop{
    gap:4px!important;
    margin-top:16px!important;
    margin-bottom:12px!important;
  }
}


/* BUFFET_BUILD_9_8_4_COMPLETED_LOAD_MORE */
.challenge-pagination.completed-load-more{
  justify-content:center;
}
.challenge-pagination.completed-load-more #nextPage{
  min-width:180px;
  padding-left:24px;
  padding-right:24px;
}
@media(max-width:700px){
  .challenge-pagination.completed-load-more #nextPage{
    width:min(100%,320px);
  }
}

/* BUFFET_BUILD_9_8_4A_DESKTOP_PILLS_RESULT
   Desktop-only compact challenge-card pills.
   Mobile pill sizing intentionally preserved. */
@media(min-width:701px){
  .challenge-card>.challenge-card-badges,
  .challenge-card>.challenge-card-badges.buffet-active-primary-row{
    gap:.38rem!important;
  }

  .challenge-card>.challenge-card-badges .challenge-card-badge,
  .challenge-card>.challenge-card-badges .badge,
  .challenge-card>.challenge-card-badges .pill,
  .challenge-card>.challenge-card-badges [class*="badge"]{
    min-height:28px!important;
    padding:.28rem .62rem!important;
    font-size:.74rem!important;
    line-height:1!important;
  }

  .challenge-card>.challenge-card-badges>.buffet-accepted-lock{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
    padding:0!important;
  }
}

/* Completed-card result should read as the payoff, not helper text. */
.challenge-card .challenge-result,
.challenge-card .result-panel,
.challenge-card .challenge-card-result{
  padding:1rem 1.05rem!important;
  border-radius:14px!important;
  background:rgba(24,48,57,.62)!important;
  border:1px solid rgba(74,130,116,.22)!important;
}

.challenge-card .challenge-result strong,
.challenge-card .result-panel strong,
.challenge-card .challenge-card-result strong,
.challenge-card .challenge-result .winner,
.challenge-card .result-panel .winner{
  font-size:1.06rem!important;
  line-height:1.2!important;
  font-weight:900!important;
}

.challenge-card .challenge-result .final,
.challenge-card .result-panel .final,
.challenge-card .challenge-card-result .final,
.challenge-card .challenge-result span,
.challenge-card .result-panel span{
  font-size:.98rem!important;
  line-height:1.25!important;
}

/* Detail-page result card gets the same stronger hierarchy. */
.result-panel{
  padding:1.1rem 1.15rem!important;
  border-radius:14px!important;
  background:rgba(24,48,57,.62)!important;
  border:1px solid rgba(74,130,116,.22)!important;
}

.result-panel h2,
.result-panel h3,
.result-panel strong{
  font-weight:900!important;
}

.result-panel h2,
.result-panel h3{
  font-size:1.25rem!important;
  line-height:1.15!important;
  margin-bottom:.45rem!important;
}

.result-panel p{
  font-size:1rem!important;
  line-height:1.3!important;
}

@media(max-width:700px){
  /* Preserve mobile pill dimensions; only result emphasis carries through. */
  .challenge-card .challenge-result,
  .challenge-card .result-panel,
  .challenge-card .challenge-card-result{
    padding:1rem!important;
  }

  .challenge-card .challenge-result strong,
  .challenge-card .result-panel strong,
  .challenge-card .challenge-card-result strong,
  .challenge-card .challenge-result .winner,
  .challenge-card .result-panel .winner{
    font-size:1.08rem!important;
  }

  .result-panel{
    padding:1.05rem!important;
  }

  .result-panel h2,
  .result-panel h3{
    font-size:1.28rem!important;
  }
}

/* BUFFET_BUILD_9_8_4B_RESULT_EMPHASIS_V2
   The completed result is the payoff of the challenge.
   Make it the strongest information block in the card body,
   while keeping the primary CTA visually dominant overall. */

/* Grid/list challenge cards */
.challenge-card .challenge-result,
.challenge-card .result-panel,
.challenge-card .challenge-card-result{
  position:relative;
  overflow:hidden;
  padding:1.15rem 1.15rem!important;
  border-radius:15px!important;
  background:
    linear-gradient(180deg, rgba(31,58,68,.88), rgba(24,46,55,.88))!important;
  border:1px solid rgba(97,164,145,.30)!important;
  box-shadow:inset 3px 0 0 rgba(235,188,81,.78)!important;
}

.challenge-card .challenge-result strong,
.challenge-card .result-panel strong,
.challenge-card .challenge-card-result strong,
.challenge-card .challenge-result .winner,
.challenge-card .result-panel .winner{
  font-size:1.17rem!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.01em!important;
}

.challenge-card .challenge-result .final,
.challenge-card .result-panel .final,
.challenge-card .challenge-card-result .final{
  font-size:1.02rem!important;
  line-height:1.2!important;
  font-weight:700!important;
  opacity:.94!important;
}

/* Push / neutral outcomes should still feel resolved and important. */
.challenge-card .challenge-result strong:first-child,
.challenge-card .result-panel strong:first-child,
.challenge-card .challenge-card-result strong:first-child{
  color:var(--ink)!important;
}

/* Full challenge detail result panel */
.result-panel{
  position:relative;
  overflow:hidden;
  padding:1.35rem 1.35rem!important;
  border-radius:16px!important;
  background:
    linear-gradient(180deg, rgba(31,58,68,.90), rgba(24,46,55,.90))!important;
  border:1px solid rgba(97,164,145,.32)!important;
  box-shadow:inset 4px 0 0 rgba(235,188,81,.82)!important;
}

.result-panel h2,
.result-panel h3{
  font-size:1.42rem!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:-.015em!important;
  margin-bottom:.55rem!important;
}

.result-panel p{
  font-size:1.05rem!important;
  line-height:1.3!important;
  font-weight:650!important;
}

/* Slightly more breathing room around the result without making cards taller. */
.challenge-card .challenge-result,
.challenge-card .result-panel,
.challenge-card .challenge-card-result{
  margin-top:.05rem!important;
  margin-bottom:.72rem!important;
}

@media(max-width:700px){
  .challenge-card .challenge-result,
  .challenge-card .result-panel,
  .challenge-card .challenge-card-result{
    padding:1.08rem 1rem!important;
    border-radius:14px!important;
    box-shadow:inset 3px 0 0 rgba(235,188,81,.78)!important;
  }

  .challenge-card .challenge-result strong,
  .challenge-card .result-panel strong,
  .challenge-card .challenge-card-result strong,
  .challenge-card .challenge-result .winner,
  .challenge-card .result-panel .winner{
    font-size:1.18rem!important;
  }

  .challenge-card .challenge-result .final,
  .challenge-card .result-panel .final,
  .challenge-card .challenge-card-result .final{
    font-size:1.02rem!important;
  }

  .result-panel{
    padding:1.2rem 1.1rem!important;
    border-radius:15px!important;
    box-shadow:inset 3px 0 0 rgba(235,188,81,.82)!important;
  }

  .result-panel h2,
  .result-panel h3{
    font-size:1.36rem!important;
  }
}

/* BUFFET_BUILD_9_8_4C_COMPLETED_CARD_TYPOGRAPHY
   Rebalance completed challenge cards so Player / Prop are supporting context
   and Result is the payoff. Applies on desktop and mobile. */

/* Player */
.challenge-card .challenge-player,
.challenge-card .challenge-card-title{
  font-size:1.42rem!important;
  line-height:1.12!important;
  font-weight:800!important;
}

/* Prop */
.challenge-card .challenge-prop,
.challenge-card .challenge-card-market{
  font-size:1.05rem!important;
  line-height:1.18!important;
  font-weight:800!important;
}

/* Line */
.challenge-card .challenge-line,
.challenge-card .challenge-card-line,
.challenge-card .challenge-prop-line{
  font-size:.98rem!important;
  line-height:1.2!important;
  font-weight:650!important;
  opacity:.9!important;
}

/* Result = strongest body element */
.challenge-card .challenge-result,
.challenge-card .challenge-card-result,
.challenge-card .result-panel{
  padding:1.05rem 1.08rem!important;
}

.challenge-card .challenge-result strong,
.challenge-card .challenge-card-result strong,
.challenge-card .result-panel strong,
.challenge-card .challenge-result .winner,
.challenge-card .challenge-card-result .winner,
.challenge-card .result-panel .winner{
  font-size:1.18rem!important;
  line-height:1.18!important;
  font-weight:900!important;
}

.challenge-card .challenge-result .final,
.challenge-card .challenge-card-result .final,
.challenge-card .result-panel .final,
.challenge-card .challenge-result span,
.challenge-card .challenge-card-result span,
.challenge-card .result-panel span{
  font-size:1.02rem!important;
  line-height:1.22!important;
  font-weight:650!important;
}

@media(max-width:700px){
  .challenge-card .challenge-player,
  .challenge-card .challenge-card-title{
    font-size:1.3rem!important;
    line-height:1.1!important;
  }

  .challenge-card .challenge-prop,
  .challenge-card .challenge-card-market{
    font-size:1rem!important;
    line-height:1.15!important;
  }

  .challenge-card .challenge-line,
  .challenge-card .challenge-card-line,
  .challenge-card .challenge-prop-line{
    font-size:.97rem!important;
  }

  .challenge-card .challenge-result strong,
  .challenge-card .challenge-card-result strong,
  .challenge-card .result-panel strong,
  .challenge-card .challenge-result .winner,
  .challenge-card .challenge-card-result .winner,
  .challenge-card .result-panel .winner{
    font-size:1.2rem!important;
  }

  .challenge-card .challenge-result .final,
  .challenge-card .challenge-card-result .final,
  .challenge-card .result-panel .final,
  .challenge-card .challenge-result span,
  .challenge-card .challenge-card-result span,
  .challenge-card .result-panel span{
    font-size:1.04rem!important;
  }
}

/* BUFFET_BUILD_9_8_4D_1_ALL_SPORT_COMPLETED_TYPOGRAPHY
   Sport-agnostic completed-card hierarchy.
   Scope is based on the actual .result-summary element, so this applies to
   graded NFL, PGA, MLB, and future sports without sport-specific selectors. */

/* PLAYER / PARTICIPANT */
.challenge-card:has(.result-summary)>h2{
  font-size:1.18rem!important;
  line-height:1.12!important;
  font-weight:800!important;
  min-height:0!important;
  margin-top:.15rem!important;
  margin-bottom:.42rem!important;
}

/* PROP / MARKET — generic fallback works for every sport. */
.challenge-card:has(.result-summary) .challenge-call{
  font-size:1rem!important;
  line-height:1.18!important;
  margin-top:0!important;
  margin-bottom:.58rem!important;
  font-weight:800!important;
}

/* Structured NFL / MLB prop labels inherit the same all-sport hierarchy. */
.challenge-card:has(.result-summary) .challenge-call .mlb-prop-type,
.challenge-card:has(.result-summary) .challenge-call .nfl-prop-type{
  font-size:1em!important;
  line-height:1.16!important;
  font-weight:800!important;
}

/* Structured line text. */
.challenge-card:has(.result-summary) .challenge-call .mlb-prop-line,
.challenge-card:has(.result-summary) .challenge-call .nfl-prop-line{
  font-size:.94rem!important;
  line-height:1.2!important;
  font-weight:500!important;
  opacity:.94!important;
}
.challenge-card:has(.result-summary) .challenge-call .mlb-prop-line strong,
.challenge-card:has(.result-summary) .challenge-call .nfl-prop-line strong{
  font-size:1em!important;
  font-weight:800!important;
}

/* For PGA / generic markets that render directly inside .challenge-call,
   keep numeric/directional emphasis controlled instead of oversized. */
.challenge-card:has(.result-summary) .challenge-call>strong{
  font-size:1em!important;
  font-weight:800!important;
}

/* RESULT — strongest informational element in the card body. */
.challenge-card:has(.result-summary) .result-summary{
  display:flex!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  gap:.3rem!important;
  min-height:68px!important;
  margin-top:1rem!important;
  margin-bottom:1rem!important;
  padding:1.02rem 1.08rem!important;
  border-radius:14px!important;
  background:rgba(24,48,57,.88)!important;
  border:1px solid rgba(74,130,116,.42)!important;
  font-size:1.05rem!important;
  line-height:1.2!important;
  font-weight:650!important;
}

.challenge-card:has(.result-summary) .result-summary>strong{
  font-size:1.28rem!important;
  line-height:1.1!important;
  font-weight:900!important;
}

.challenge-card:has(.result-summary) .result-summary a{
  font-size:inherit!important;
  font-weight:inherit!important;
}

/* MOBILE */
@media(max-width:700px){
  .challenge-card:has(.result-summary)>h2{
    font-size:1.28rem!important;
    line-height:1.1!important;
    margin-bottom:.4rem!important;
  }

  .challenge-card:has(.result-summary) .challenge-call{
    font-size:1.05rem!important;
    line-height:1.16!important;
    margin-bottom:.52rem!important;
  }

  .challenge-card:has(.result-summary) .challenge-call .mlb-prop-line,
  .challenge-card:has(.result-summary) .challenge-call .nfl-prop-line{
    font-size:.98rem!important;
  }

  .challenge-card:has(.result-summary) .result-summary{
    min-height:80px!important;
    padding:1.15rem 1.18rem!important;
    font-size:1.1rem!important;
  }

  .challenge-card:has(.result-summary) .result-summary>strong{
    font-size:1.45rem!important;
    line-height:1.06!important;
  }
}

/* BUFFET_BUILD_9_8_4E_MOBILE_ALERT_BADGE_VISIBILITY */
@media(max-width:700px){
  .bfhv2-alerts-mobile,
  .mobile-notification-link.bfhv2-alerts-mobile{
    position:relative!important;
    overflow:visible!important;
  }

  .bfhv2-alerts-mobile>.notification-badge,
  .mobile-notification-link>.notification-badge[data-notification-badge]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute!important;
    z-index:5!important;
    top:-7px!important;
    right:-7px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    box-sizing:border-box!important;
    font-size:11px!important;
    line-height:20px!important;
    font-weight:900!important;
    white-space:nowrap!important;
    pointer-events:none!important;
  }

  .bfhv2-alerts-mobile>.notification-badge[hidden],
  .mobile-notification-link>.notification-badge[data-notification-badge][hidden]{
    display:none!important;
  }
}

/* BUFFET_BUILD_9_8_4E_3_MOBILE_ALERT_BADGE_NUMBER
   The badge circle is now visible on iOS, proving the mobile badge node exists.
   Force a contrasting numeral foreground independently from the yellow bell/link
   inheritance and Safari's -webkit-text-fill-color behavior. */
@media(max-width:700px){
  .bfhv2-alerts-mobile>.notification-badge[data-notification-badge],
  .mobile-notification-link.bfhv2-alerts-mobile>.notification-badge[data-notification-badge]{
    color:#1d2430!important;
    -webkit-text-fill-color:#1d2430!important;
    text-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:11px!important;
    font-style:normal!important;
    font-weight:900!important;
    letter-spacing:0!important;
    line-height:20px!important;
    text-indent:0!important;
    text-transform:none!important;
  }

  .bfhv2-alerts-mobile>.notification-badge[data-notification-badge][hidden],
  .mobile-notification-link.bfhv2-alerts-mobile>.notification-badge[data-notification-badge][hidden]{
    display:none!important;
    visibility:hidden!important;
  }
}












/* BUFFET_BUILD_9_8_8_ACCEPTED_HEADER_CONSOLIDATED
   One authoritative desktop rule for every accepted-card header.
   No GROUP-specific desktop layout. No experimental grid/absolute rules. */
@media(min-width:701px){
  .challenge-card>.challenge-card-badges.buffet-active-primary-row,
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:.34rem!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 .8rem!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .challenge-card>.challenge-card-badges.buffet-active-primary-row>*,
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row>*{
    position:static!important;
    transform:none!important;
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  /* Compact desktop pills enough to fit narrow four-column challenge cards. */
  .challenge-card>.challenge-card-badges.buffet-active-primary-row>:not(.buffet-accepted-lock),
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row>:not(.buffet-accepted-lock){
    min-height:28px!important;
    padding:.28rem .50rem!important;
    font-size:.72rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Audience / GROUP is the only pill allowed to shrink if space gets tight. */
  .challenge-card>.challenge-card-badges.buffet-active-primary-row>*:nth-child(3),
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row>*:nth-child(3){
    flex:1 1 auto!important;
    max-width:118px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* LIVE, when present, remains compact and in flow. */
  .challenge-card>.challenge-card-badges.buffet-active-primary-row>.buffet-active-live-pill,
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row>.buffet-active-live-pill{
    flex:0 0 auto!important;
  }

  .challenge-card>.challenge-card-badges.buffet-active-primary-row>.buffet-accepted-lock,
  .challenge-card[data-scope="GROUP"]>.challenge-card-badges.buffet-active-primary-row>.buffet-accepted-lock{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:static!important;
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    max-width:28px!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
}

/* BUFFET_BUILD_9_9_7C1_CHALLENGE_DENSITY
   Explicit All sport reset + user-selectable comfortable/compact challenge cards. */
.challenge-density-control{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px;
  border:1px solid rgba(174,184,200,.24);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  white-space:nowrap;
}
.challenge-density-control>span{
  padding:0 5px 0 7px;
  color:var(--buffet-muted,#a7aabc);
  font-size:12px;
  font-weight:800;
}
.challenge-density-control button{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:6px 9px;
  background:transparent;
  color:inherit;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.challenge-density-control button.active{
  background:rgba(246,185,59,.14);
  color:#f6c55e;
}

.challenge-grid.compact-view{
  gap:12px;
}
.challenge-grid.compact-view .challenge-card{
  padding:12px 14px!important;
}
.challenge-grid.compact-view .challenge-card-top{
  min-height:0!important;
  margin:0 0 .4rem!important;
}
.challenge-grid.compact-view .challenge-card-badges{
  gap:5px!important;
}
.challenge-grid.compact-view .challenge-card .status-pill,
.challenge-grid.compact-view .challenge-card .buffet-sport-badge,
.challenge-grid.compact-view .challenge-card .challenge-scope-link{
  min-height:25px!important;
  padding-left:7px!important;
  padding-right:7px!important;
  font-size:9.5px!important;
}
.challenge-grid.compact-view .challenge-card-context-block,
.challenge-grid.compact-view .challenge-game-context{
  min-height:0!important;
  margin:.2rem 0 .45rem!important;
  padding:0!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.challenge-grid.compact-view .challenge-week{
  margin-bottom:2px;
  font-size:.64rem;
}
.challenge-grid.compact-view .challenge-matchup{
  font-size:.92rem;
  line-height:1.2;
}
.challenge-grid.compact-view .challenge-event-time{
  margin-top:2px;
  font-size:.76rem;
}
.challenge-grid.compact-view .challenge-card>h2{
  min-height:0!important;
  margin:.15rem 0 .25rem!important;
  font-size:1.22rem!important;
  line-height:1.08!important;
}
.challenge-grid.compact-view .challenge-card .challenge-call{
  min-height:0!important;
  margin:0 0 .4rem!important;
  font-size:.9rem;
}
.challenge-grid.compact-view .mlb-prop-presentation,
.challenge-grid.compact-view .nfl-prop-presentation,
.challenge-grid.compact-view .season-prop-presentation{
  gap:.08rem;
}
.challenge-grid.compact-view .challenge-card-meta-grid,
.challenge-grid.compact-view .challenge-meta{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
  margin:.35rem 0 .25rem!important;
}
.challenge-grid.compact-view .challenge-card-meta-grid>span,
.challenge-grid.compact-view .challenge-meta>span{
  min-height:0!important;
  padding:7px 8px!important;
  border-radius:8px!important;
  font-size:.76rem;
  line-height:1.12;
}
.challenge-grid.compact-view .challenge-card-meta-grid>span strong,
.challenge-grid.compact-view .challenge-meta>span strong{
  margin-top:2px;
  font-size:.92rem;
}
.challenge-grid.compact-view .result-summary,
.challenge-grid.compact-view .challenge-social-summary{
  margin:.35rem 0!important;
  font-size:.84rem;
}
.challenge-grid.compact-view .challenge-card-footer-wrap{
  margin-top:.3rem!important;
  gap:.12rem!important;
}
.challenge-grid.compact-view .challenge-card-creator-row{
  gap:.25rem .35rem!important;
}
.challenge-grid.compact-view .challenge-card-footer{
  font-size:.8rem!important;
  line-height:1.12!important;
}
.challenge-grid.compact-view .challenge-card-creator-badge,
.challenge-grid.compact-view .challenge-card-creator-rating{
  min-height:19px!important;
  padding:1px 6px!important;
  font-size:.61rem!important;
}
.challenge-grid.compact-view .challenge-card-lock-time{
  font-size:.72rem!important;
}
.challenge-grid.compact-view .challenge-card .button.full{
  min-height:38px!important;
  margin-top:.42rem!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
  font-size:.9rem;
}

@media(max-width:700px){
  .challenge-density-control{
    width:100%;
    box-sizing:border-box;
  }
  .challenge-density-control>span{margin-right:auto}
  .challenge-density-control button{padding:7px 10px}
  .challenge-grid.compact-view .challenge-card{
    padding:11px 12px!important;
  }
  .challenge-grid.compact-view .challenge-card-meta-grid,
  .challenge-grid.compact-view .challenge-meta{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:390px){
  .challenge-grid.compact-view .challenge-card-meta-grid,
  .challenge-grid.compact-view .challenge-meta{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .challenge-density-control>span{display:none}
  .challenge-density-control button{flex:1}
}
/* BUFFET_BUILD_9_9_7C2_DETAIL_EVENT_TIME
   Keep matchup and scheduled game time together in the challenge detail header. */
.challenge-detail-event{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:3px;
  min-width:0;
  text-align:right;
}
.challenge-detail-matchup{
  color:var(--muted);
  font-weight:500;
}
.challenge-detail-event-time{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.2;
  opacity:.9;
}
@media(max-width:640px){
  .challenge-detail-head{
    align-items:flex-start;
  }
  .challenge-detail-event{
    max-width:68%;
  }
  .challenge-detail-matchup{
    line-height:1.18;
  }
  .challenge-detail-event-time{
    font-size:.76rem;
  }
}
/* BUFFET_BUILD_10_1D_3_MOBILE_REVIEW_SCALE */
@media(max-width:600px){
  .challenge-review-backdrop{padding:0 6px}
  .challenge-review-modal{width:calc(100% - 4px);max-width:100%;max-height:92dvh}
  .challenge-review-header{padding:9px 11px 7px}
  .challenge-review-header h2{font-size:1.12rem;line-height:1.15;margin:2px 0 2px}
  .challenge-review-header p{font-size:.8rem;line-height:1.22}
  .challenge-review-header .eyebrow{font-size:.7rem}
  .challenge-review-content{padding:7px 11px;gap:7px}
  .challenge-review-pick{padding:10px 11px;border-radius:12px}
  .challenge-review-pick-top{margin-bottom:6px}
  .challenge-review-type{font-size:.68rem}
  .challenge-review-pick h3{font-size:1rem;line-height:1.16}
  .challenge-review-pick p{font-size:.86rem;line-height:1.2;margin:2px 0 6px}
  .challenge-review-pick>strong{font-size:.98rem}
  .challenge-review-details{padding:5px;gap:5px;border-radius:11px}
  .challenge-review-detail{padding:7px 9px;border-radius:9px}
  .challenge-review-detail span,.challenge-review-message span{margin-bottom:2px;font-size:.62rem}
  .challenge-review-detail strong{font-size:.84rem;line-height:1.2}
  .challenge-review-detail.review-matchup strong{font-size:.86rem}
  .challenge-review-message{padding:8px 10px}
  .challenge-review-warning{margin:0 11px 8px;padding:8px 10px;font-size:.82rem}
  .challenge-review-actions{padding:8px 11px max(10px,env(safe-area-inset-bottom));gap:7px}
  .challenge-review-actions .button{min-height:50px;font-size:.92rem}
}