/* ChillSweeps 2026 frontend redesign
   Loaded after styles.css so the original production CSS remains intact underneath. */

:root{
  --bg:#1f2d39;
  --bg-2:#162129;
  --surface:#182229;
  --surface-2:#1d2931;
  --surface-3:#253139;

  --text:#f4eee3;
  --muted:#b8b2a8;

  --line:rgba(231,190,105,.24);
  --line-soft:rgba(244,238,227,.10);

  --gold:#d6a54c;
  --gold-bright:#edc56d;
  --gold-deep:#98692e;

  --green:#73876e;
  --blue:#718895;
  --brown:#8c6b54;

  --shadow:0 18px 50px rgba(0,0,0,.24);
  --radius:16px;
  --radius-sm:10px;
  --max:1380px;
}

html[data-theme="light"]{
  --bg:#f6f1e8;
  --bg-2:#eee7dc;
  --surface:#fffdf8;
  --surface-2:#f8f3eb;
  --surface-3:#eee6d9;

  --text:#18344a;
  --muted:#69675f;

  --line:rgba(167,119,49,.24);
  --line-soft:rgba(38,57,71,.11);

  --gold:#b77c28;
  --gold-bright:#c99035;
  --gold-deep:#8d6026;

  --green:#647d63;
  --blue:#688494;
  --brown:#876d58;

  --shadow:0 16px 42px rgba(76,61,44,.10);
}

body{
  background:
    radial-gradient(circle at 82% 4%,rgba(91,119,137,.11),transparent 31rem),
    radial-gradient(circle at 5% 56%,rgba(125,91,66,.10),transparent 29rem),
    var(--bg);
}

html[data-theme="light"] body{
  background:
    radial-gradient(circle at 84% 2%,rgba(112,143,159,.09),transparent 32rem),
    radial-gradient(circle at 4% 60%,rgba(173,133,83,.08),transparent 30rem),
    var(--bg);
}

/* Header */

.site-header{
  background:color-mix(in srgb,var(--bg) 93%,transparent);
  border-bottom:1px solid var(--line-soft);
}

.header-inner{
  height:72px;
  grid-template-columns:auto 1fr auto;
}

.brand{
  gap:9px;
}

.brand img{
  width:42px;
  height:42px;
}

.brand-copy strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
  color:var(--text);
}

.main-nav{
  gap:34px;
}

.main-nav a{
  color:var(--muted);
  font-size:14px;
  font-weight:600;
}

.main-nav a:hover,
.main-nav a.active{
  color:var(--text);
}

.icon-button,
.saved-button,
.nav-toggle{
  background:color-mix(in srgb,var(--surface-2) 75%,transparent);
  border-color:var(--line);
}

.theme-button{
  color:var(--gold-bright);
}

/* Hero */

.hero{
  width:100%;
  min-height:0;
  height:clamp(390px,39vw,560px);
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  display:block;
  overflow:hidden;
  position:relative;
  background:#11191f;
}

.hero-lounge{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg,rgba(8,14,18,.09),rgba(8,14,18,.18)),
    linear-gradient(90deg,rgba(20,27,32,.12),transparent 25%,transparent 75%,rgba(43,31,23,.12)),
    url('/assets/hero-lounge.webp');
  background-size:cover;
  background-position:center;
  filter:saturate(.80) brightness(.86);
}

.hero-lounge:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(9,15,19,.12),transparent 25%,transparent 72%,rgba(8,14,18,.32)),
    radial-gradient(circle at center,transparent 25%,rgba(9,14,18,.12) 100%);
}

.hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:30px;
  pointer-events:none;
  text-shadow:0 3px 22px rgba(0,0,0,.50);
}

.hero-overlay h1{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(62px,7.7vw,116px);
  line-height:.9;
  letter-spacing:-4px;
  font-weight:400;
  color:#f6efe3;
}

.hero-overlay h1 span,
.hero-overlay h1 strong{
  font-weight:400;
}

.hero-overlay h1 strong{
  color:var(--gold-bright);
}

.hero-overlay p{
  margin:18px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,2vw,31px);
  color:#f3eadc;
  letter-spacing:.01em;
}

html[data-theme="light"] .hero{
  background:#eee7dc;
}

html[data-theme="light"] .hero-lounge{
  /*
    Temporary fallback until the approved dedicated light hero
    is added as /assets/hero-lounge-light.webp.
  */
  background-image:
    linear-gradient(180deg,rgba(255,250,241,.08),rgba(255,250,241,.10)),
    url('/assets/hero-lounge.webp');
  filter:saturate(.58) brightness(1.32) contrast(.82);
}

html[data-theme="light"] .hero-lounge:after{
  background:rgba(250,244,233,.20);
}

html[data-theme="light"] .hero-overlay{
  text-shadow:0 2px 14px rgba(255,255,255,.42);
}

html[data-theme="light"] .hero-overlay h1{
  color:#18344a;
}

html[data-theme="light"] .hero-overlay h1 strong{
  color:var(--gold);
}

html[data-theme="light"] .hero-overlay p{
  color:#263d4e;
}

/* Directory */

.directory{
  margin-top:0;
  padding-top:28px;
  padding-bottom:34px;
}

.directory-topline{
  padding:0 2px 14px;
  align-items:center;
}

.directory-topline h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
  font-weight:600;
  letter-spacing:-.4px;
}

.result-count{
  color:var(--muted);
  font-size:13px;
}

.filter-panel{
  border:0;
  border-radius:0;
  background:none;
  padding:0;
}

.filters{
  display:grid;
  grid-template-columns:
    minmax(235px,1.65fr)
    repeat(7,minmax(108px,.82fr))
    auto;
  gap:8px;
}

.filters input,
.filters select,
.page-size select{
  height:45px;
  color:var(--text);
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  border:1px solid var(--line);
  border-radius:9px;
}

.filters input:focus,
.filters select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(214,165,76,.10);
}

.reset-button{
  height:45px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--gold-bright);
}

.reset-button:hover{
  background:rgba(214,165,76,.07);
}

.referral-disclosure{
  max-width:900px;
  margin:11px 2px 15px;
  padding:0;
  border:0;
  color:var(--muted);
  font-size:11.5px;
}

.referral-disclosure .referral-mark{
  width:18px;
  height:18px;
}

/* Sweepstakes cards */

.rolodex{
  margin-top:12px;
  border:0;
  border-radius:0;
  overflow:visible;
  background:none;
  box-shadow:none;
}

.sweep-list{
  display:grid;
  gap:8px;
}

.sweep-row{
  min-height:92px;
  padding:11px 15px;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:
    linear-gradient(
      110deg,
      color-mix(in srgb,var(--surface) 97%,var(--blue)),
      var(--surface)
    );
  box-shadow:0 5px 18px rgba(0,0,0,.055);
  grid-template-columns:
    minmax(325px,2.25fr)
    minmax(160px,1.08fr)
    minmax(125px,.82fr)
    minmax(115px,.74fr)
    minmax(125px,.82fr)
    148px
    40px;
  gap:8px;
}

html[data-theme="light"] .sweep-row{
  background:var(--surface);
  box-shadow:0 5px 18px rgba(70,57,42,.055);
}

.sweep-row:hover{
  background:
    linear-gradient(
      110deg,
      color-mix(in srgb,var(--surface-2) 96%,var(--blue)),
      var(--surface-2)
    );
  border-color:var(--line);
}

.sweep-main{
  gap:15px;
}

.thumb{
  width:116px;
  height:68px;
  border-radius:9px;
  border:1px solid var(--line-soft);
  background:
    linear-gradient(135deg,
      color-mix(in srgb,var(--blue) 48%,var(--surface)),
      color-mix(in srgb,var(--brown) 30%,var(--surface))
    );
}

.sweep-title strong{
  color:var(--text);
  font-size:15px;
  font-weight:700;
}

.sweep-title small,
.cell small{
  color:var(--muted);
  font-size:11.5px;
}

.sweep-title small{
  margin-top:5px;
}

.cell{
  padding-right:10px;
}

.cell strong{
  color:var(--text);
  font-size:12.5px;
}

.ends-soon{
  color:var(--gold-bright)!important;
}

.enter-stack{
  min-width:136px;
}

.enter-button{
  min-width:136px;
  padding:11px 13px;
  border:1px solid var(--gold);
  border-radius:8px;
  background:linear-gradient(180deg,#b98235,#936426);
  color:#fff8eb;
  font-size:12.5px;
}

.enter-button:hover{
  filter:brightness(1.08);
}


.referral-label{
  color:var(--gold-bright);
}

.save-sweep{
  border-color:var(--line);
  background:transparent;
  color:var(--gold-bright);
}

/* Pagination */

.pagination-bar{
  min-height:64px;
  margin-top:3px;
  padding:12px 4px 0;
  border:0;
  background:none;
}

.pagination button{
  background:var(--surface);
  border-color:var(--line);
}

.pagination button.active{
  background:linear-gradient(180deg,#c58b3d,#9e6c2b);
  color:#fff8ec;
}

/* Footer */

.site-footer{
  border-top:1px solid var(--line-soft);
  background:
    linear-gradient(110deg,
      color-mix(in srgb,var(--bg-2) 95%,var(--blue)),
      var(--bg-2)
    );
}

.footer-inner{
  min-height:128px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  padding-top:28px;
  padding-bottom:28px;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:11px;
  flex:0 0 auto;
}

.footer-brand img{
  width:42px;
  height:42px;
}

.footer-brand div{
  display:grid;
}

.footer-brand strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:24px;
}

.footer-brand span{
  margin-top:3px;
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
}

.footer-inner p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  text-align:right;
  font-size:11.5px;
}

/* Saved dialog */

.saved-dialog{
  background:var(--surface);
}

/* Tablet */

@media(max-width:1320px){
  .filters{
    grid-template-columns:repeat(4,1fr);
  }

  .search-field{
    grid-column:span 2;
  }

  .reset-button{
    grid-column:auto;
  }

  .sweep-row{
    grid-template-columns:
      minmax(280px,2fr)
      minmax(145px,1fr)
      minmax(115px,.85fr)
      minmax(105px,.78fr)
      minmax(120px,.86fr)
      125px
      38px;
  }

  .thumb{
    width:92px;
    height:60px;
  }
}

@media(max-width:980px){
  .hero{
    height:440px;
  }

  .hero-overlay h1{
    font-size:clamp(60px,10vw,90px);
  }

  .filters{
    grid-template-columns:repeat(3,1fr);
  }

  .search-field{
    grid-column:span 2;
  }

  .sweep-row{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px 40px;
    grid-template-areas:
      "main main enter save"
      "prize prize elig elig"
      "entry entry ends ends";
    gap:8px 12px;
    padding:13px;
  }

  .sweep-main{grid-area:main}
  .sweep-row>.prize-cell{grid-area:prize}
  .sweep-row>.eligibility-cell{grid-area:elig}
  .sweep-row>.entry-cell{grid-area:entry}
  .sweep-row>.ends-cell{grid-area:ends}
  .enter-stack{grid-area:enter}
  .save-sweep{grid-area:save}

  .footer-inner{
    align-items:flex-start;
  }
}

/* Mobile */

@media(max-width:700px){
  .header-inner{
    height:62px;
  }

  .brand-copy strong{
    font-size:22px;
  }

  .hero{
    height:390px;
  }

  .hero-lounge{
    background-position:center;
  }

  .hero-overlay{
    padding:22px;
  }

  .hero-overlay h1{
    font-size:clamp(51px,16vw,72px);
    letter-spacing:-2.5px;
  }

  .hero-overlay p{
    margin-top:12px;
    font-size:20px;
  }

  .directory{
    padding-top:21px;
  }

  .directory-topline{
    align-items:end;
  }

  .directory-topline h2{
    font-size:20px;
  }

  .result-count{
    font-size:11px;
  }

  .mobile-filter-toggle{
    display:flex;
  }

  .filters{
    display:none;
    grid-template-columns:1fr 1fr;
    margin-top:8px;
  }

  .filters.open{
    display:grid;
  }

  .search-field{
    grid-column:1/-1;
  }

  .reset-button{
    grid-column:1/-1;
  }

  .referral-disclosure{
    margin-top:10px;
  }

  .sweep-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "main save"
      "prize prize"
      "elig elig"
      "entry entry"
      "ends ends"
      "enter enter";
    gap:8px;
    padding:12px;
  }

  .thumb{
    width:82px;
    height:58px;
  }

  .sweep-title strong{
    white-space:normal;
  }

  .cell{
    padding:7px 0 0;
    border-top:1px solid var(--line-soft);
  }

  .enter-stack,
  .enter-button{
    width:100%;
  }

  .pagination-bar{
    grid-template-columns:1fr;
  }

  .footer-inner{
    display:grid;
    gap:18px;
  }

  .footer-inner p{
    text-align:left;
  }
}

/* Subtle hero softening to reduce synthetic image artifacts */
.hero-lounge{
  inset:-4px;
  filter:blur(1.5px) saturate(.80) brightness(.86);
}

html[data-theme="light"] .hero-lounge{
  filter:blur(1.5px) saturate(.58) brightness(1.32) contrast(.82);
}

/* Filter spacing + referral disclosure refinement */

@media(min-width:1321px){
  .filters{
    grid-template-columns:
      minmax(250px,1.6fr)
      130px
      145px
      165px
      145px
      140px
      135px
      125px
      82px;
  }
}

.referral-disclosure{
  width:100%;
  max-width:none;
  margin:12px 0 16px;
  padding:10px 13px;
  border:1px solid var(--line-soft);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 78%,transparent);
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
  white-space:normal;
}

.referral-disclosure > span:last-child{
  flex:1 1 auto;
  min-width:0;
  white-space:normal;
}

.referral-disclosure .referral-mark{
  width:20px;
  height:20px;
  margin-top:1px;
  background:rgba(214,165,76,.07);
  border-color:var(--line);
  color:var(--gold-bright);
}

/* Remove disclosure tile treatment only */
.referral-disclosure{
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}

/* Approved theme-specific hero images */
.hero-lounge{
  background-image:
    linear-gradient(180deg,rgba(8,14,18,.09),rgba(8,14,18,.18)),
    linear-gradient(90deg,rgba(20,27,32,.12),transparent 25%,transparent 75%,rgba(43,31,23,.12)),
    url('/assets/hero-lounge-dark.png');
}

html[data-theme="light"] .hero-lounge{
  background-image:
    linear-gradient(180deg,rgba(255,250,241,.08),rgba(255,250,241,.10)),
    url('/assets/hero-lounge-light.png');
}

/* Hero image refinement */
.hero-lounge{
  filter:blur(2.5px) saturate(.80) brightness(.86);
}

html[data-theme="light"] .hero-lounge{
  filter:blur(2.5px) saturate(.82) brightness(1.06) contrast(.94);
}

html[data-theme="light"] .hero-lounge:after{
  background:rgba(250,244,233,.08);
}

/* Hero wordmark refinement */
.hero-overlay h1{
  font-family:"Segoe Script","Snell Roundhand","Apple Chancery",cursive;
  font-weight:600;
  letter-spacing:-3px;
}

.hero-overlay h1 span,
.hero-overlay h1 strong{
  font-weight:600;
}

.hero-overlay h1 strong{
  color:#e2bd45;
}

html[data-theme="light"] .hero-overlay h1 strong{
  color:#b98916;
}

/* Refined calligraphic hero wordmark */
.hero-overlay h1{
  font-family:"Pinyon Script",cursive;
  font-weight:400;
  letter-spacing:-1px;
}

.hero-overlay h1 span,
.hero-overlay h1 strong{
  font-weight:400;
}

/* Approved hero wordmark font */
.hero-overlay h1{
  font-family:"Bonheur Royale",cursive;
}

.hero-overlay h1 span,
.hero-overlay h1 strong{
  font-family:"Bonheur Royale",cursive;
}

/* Hero wordmark font: Playball */
.hero-overlay h1,
.hero-overlay h1 span,
.hero-overlay h1 strong{
  font-family:"Playball",cursive;
}

/* Match header and footer wordmarks to hero */
.brand-copy strong,
.footer-brand strong{
  font-family:"Playball",cursive;
  font-weight:400;
}


/* Mobile sweepstakes card refinement */
@media(max-width:700px){

  /* Free the title/description from the save-button column. */
  .sweep-row{
    position:relative;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "main"
      "prize"
      "elig"
      "entry"
      "ends"
      "enter";
  }

  /* Reserve a left rail beneath the image for a substantial save control. */
  .sweep-main{
    min-height:108px;
    align-items:flex-start;
  }

  /* Card heart: full image-width tap target beneath the thumbnail. */
  .save-sweep{
    position:absolute;
    left:12px;
    top:78px;
    width:82px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    padding:0;
    font-size:0;
    z-index:2;
  }

  .save-sweep::before{
    content:"?";
    display:block;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    line-height:1;
    transform:scaleX(1.18);
    transform-origin:center;
  }

  .save-sweep.saved::before{
    content:"?";
  }

  /* Make the header My Sweeps heart feel equally tappable. */
  .saved-button{
    width:48px;
    height:48px;
    padding:0;
    justify-content:center;
  }

  .saved-button>span{
    width:32px;
    display:inline-block;
    font-family:Georgia,"Times New Roman",serif;
    font-size:30px;
    line-height:1;
    transform:scaleX(1.16);
    transform-origin:center;
  }

  /* Give short secondary values protected horizontal space. */
  .sweep-row>.cell{
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content;
    align-items:start;
    gap:12px;
  }

  .sweep-row>.cell small{
    justify-self:end;
    text-align:right;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
    overflow-wrap:normal;
  }

  /* Entry-limit text may legitimately be long, so let that one wrap. */
  .sweep-row>.entry-cell{
    grid-template-columns:minmax(0,1fr) minmax(100px,45%);
  }

  .sweep-row>.entry-cell small{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}


/* Mobile heart sizing + encoding correction */
@media(max-width:700px){

  /* Keep a generous tap target, but use a restrained heart glyph. */
  .save-sweep{
    width:82px;
    height:40px;
  }

  .save-sweep::before{
    content:"\2661";
    font-family:Arial,Helvetica,sans-serif;
    font-size:24px;
    line-height:1;
    transform:scaleX(1.08);
  }

  .save-sweep.saved::before{
    content:"\2665";
  }

  /* Header My Sweeps control: still tappable, less oversized. */
  .saved-button{
    width:44px;
    height:44px;
  }

  .saved-button>span{
    width:26px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:24px;
    line-height:1;
    transform:scaleX(1.06);
  }
}


/* Final mobile header-heart proportion */
@media(max-width:700px){
  .saved-button>span{
    width:22px;
    font-size:19px;
    transform:scaleX(1.04);
  }
}


/* Mobile geometric SVG icons + simplified header */
@media(max-width:980px){

  /* No useful mobile navigation remains, so remove the hamburger. */
  .nav-toggle{
    display:none !important;
  }

  .header-inner{
    grid-template-columns:auto 1fr auto;
  }

  .header-actions{
    grid-column:3;
    justify-self:end;
  }
}

@media(max-width:700px){

  /*
    Replace font-glyph hearts with geometry-based SVG masks.
    The button remains the clickable element; only the artwork changes.
  */

  .save-sweep{
    display:grid;
    place-items:center;
    color:var(--gold-bright);
  }

  .save-sweep::before{
    content:"";
    width:27px;
    height:25px;
    display:block;
    background:currentColor;
    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
    transform:none;
  }

  .save-sweep.saved::before{
    content:"";
    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E")
      center / contain no-repeat;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }

  /* Header My Sweeps heart: same true geometric centering. */
  .saved-button>span{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    font-size:0;
    transform:none;
  }

  .saved-button>span::before{
    content:"";
    width:25px;
    height:23px;
    display:block;
    background:currentColor;
    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }

  /* Theme control: hide the font character completely. */
  .theme-button{
    font-size:0;
    display:grid;
    place-items:center;
  }

  .theme-button::before{
    content:"";
    width:25px;
    height:25px;
    display:block;
    background:currentColor;
  }

  /* Dark theme shows a centered SVG sun. */
  html[data-theme="dark"] .theme-button::before{
    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }

  /* Light theme shows a substantial centered SVG crescent. */
  html[data-theme="light"] .theme-button::before{
    width:26px;
    height:26px;
    -webkit-mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.75 15A9.72 9.72 0 0 1 18 15.75 9.75 9.75 0 0 1 8.25 6c0-1.33.27-2.6.75-3.75A9.75 9.75 0 1 0 21.75 15Z' fill='black'/%3E%3C/svg%3E")
      center / contain no-repeat;
    mask:
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.75 15A9.72 9.72 0 0 1 18 15.75 9.75 9.75 0 0 1 8.25 6c0-1.33.27-2.6.75-3.75A9.75 9.75 0 1 0 21.75 15Z' fill='black'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }
}


/* Mobile SVG icon system */
@media(max-width:980px){
  /* No useful mobile navigation remains. */
  .nav-toggle{
    display:none !important;
  }

  .header-inner{
    grid-template-columns:auto 1fr auto;
  }

  .header-actions{
    grid-column:3;
    justify-self:end;
  }
}

@media(max-width:700px){

  /* Precisely centered header controls. */
  .theme-button,
  .saved-button{
    width:44px;
    height:44px;
    min-width:44px;
    padding:0;
    display:grid;
    place-items:center;
    line-height:0;
  }

  .saved-button{
    position:relative;
  }

  /* Hide the old font heart but preserve the existing element. */
  .saved-button>span{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    font-size:0;
    line-height:0;
    transform:none;
  }

  .saved-button>span::before{
    content:"";
    display:block;
    width:24px;
    height:24px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat;
  }

  /* Card save heart: same centered SVG geometry. */
  .save-sweep{
    display:grid;
    place-items:center;
    font-size:0;
    line-height:0;
  }

  .save-sweep::before{
    content:"";
    display:block;
    width:26px;
    height:26px;
    background:currentColor;
    transform:none;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/26px 26px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/26px 26px no-repeat;
  }

  /* Existing .saved class automatically swaps outline for filled SVG. */
  .save-sweep.saved::before{
    content:"";
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E") center/26px 26px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E") center/26px 26px no-repeat;
  }

  /* Replace old font sun/moon with centered SVG artwork. */
  .theme-button{
    font-size:0;
  }

  .theme-button::before{
    content:"";
    display:block;
    width:25px;
    height:25px;
    background:currentColor;
  }

  html[data-theme="dark"] .theme-button::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/25px 25px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/25px 25px no-repeat;
  }

  html[data-theme="light"] .theme-button::before{
    width:27px;
    height:27px;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z' fill='black'/%3E%3C/svg%3E") center/27px 27px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z' fill='black'/%3E%3C/svg%3E") center/27px 27px no-repeat;
  }
}


/* Final optical centering for mobile SVG icons */
@media(max-width:700px){
  .saved-button>span::before{
    transform:translateY(5px);
  }

  .theme-button::before{
    transform:translateY(4px);
  }

  .save-sweep::before{
    transform:translateY(1px);
  }
}


/* Final heart-only optical alignment */
@media(max-width:700px){
  .saved-button>span::before{
    transform:translateY(4px);
  }

  .save-sweep::before{
    transform:translateY(3px);
  }
}


/* Final header-heart alignment only */
@media(max-width:700px){
  .saved-button>span::before{
    transform:translateY(7px);
  }
}

/* Browser-local entered history */
.sweep-row{
  position:relative;
}

.entered-card{
  overflow:hidden;
}

.entered-card > :not(.entered-badge){
  opacity:.38;
  filter:grayscale(.65);
  transition:opacity .18s, filter .18s;
}

.entered-badge{
  position:absolute;
  top:8px;
  right:10px;
  z-index:6;
  display:flex;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(128,170,118,.48);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface) 92%,#6f9b68);
  box-shadow:0 3px 10px rgba(0,0,0,.13);
  color:#a9c89f;
  font-size:11px;
  font-weight:800;
  line-height:1;
}

.entered-badge span{
  padding:7px 8px 7px 10px;
  white-space:nowrap;
}

.entered-badge button{
  width:26px;
  height:26px;
  padding:0;
  border:0;
  border-left:1px solid rgba(128,170,118,.3);
  background:transparent;
  color:inherit;
  font-size:17px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:2px;
}

.entered-badge button:hover{
  background:rgba(128,170,118,.12);
}

html[data-theme="light"] .entered-badge{
  border-color:rgba(74,119,68,.4);
  background:#eef5eb;
  color:#426b3d;
}

@media(max-width:700px){
  .entered-badge{
    top:8px;
    right:44px;
  }
}


/* Desktop/tablet header + save icons aligned with approved mobile system */
@media(min-width:701px){

  /* Compact header controls, matching the approved mobile treatment. */
  .theme-button,
  .saved-button{
    width:44px;
    height:44px;
    min-width:44px;
    padding:0;
    display:grid;
    place-items:center;
    line-height:0;
  }

  .saved-button{
    position:relative;
    font-size:0;
  }

  .saved-button>span{
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    font-size:0;
    line-height:0;
    transform:none;
  }

  .saved-button>span::before{
    content:"";
    display:block;
    width:24px;
    height:24px;
    background:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/24px 24px no-repeat;
    transform:translateY(7px);
  }

  .saved-button b{
    position:absolute;
    margin:0 0 28px 28px;
  }

  /* Desktop listing save hearts use the same geometric artwork. */
  .save-sweep{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    font-size:0;
    line-height:0;
  }

  .save-sweep::before{
    content:"";
    display:block;
    width:26px;
    height:26px;
    background:currentColor;
    transform:translateY(3px);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/26px 26px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78L12 21.23l8.84-8.84a5.5 5.5 0 0 0 0-7.78Z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/26px 26px no-repeat;
  }

  .save-sweep.saved::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E") center/26px 26px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.23 3.16 12.39a5.5 5.5 0 0 1 7.78-7.78L12 5.67l1.06-1.06a5.5 5.5 0 0 1 7.78 7.78Z' fill='black'/%3E%3C/svg%3E") center/26px 26px no-repeat;
  }

  /* Approved geometric theme icons. */
  .theme-button{
    font-size:0;
  }

  .theme-button::before{
    content:"";
    display:block;
    width:25px;
    height:25px;
    background:currentColor;
    transform:translateY(4px);
  }

  html[data-theme="dark"] .theme-button::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/25px 25px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4' fill='black'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/25px 25px no-repeat;
  }

  html[data-theme="light"] .theme-button::before{
    width:27px;
    height:27px;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z' fill='black'/%3E%3C/svg%3E") center/27px 27px no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z' fill='black'/%3E%3C/svg%3E") center/27px 27px no-repeat;
  }
}

/* Crawlable pagination */
.pagination a,
.pagination .disabled {
  min-width:34px;
  height:32px;
  padding:0 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.pagination a {
  color:var(--text);
  cursor:pointer;
}

.pagination a.active {
  background:linear-gradient(180deg,#c58b3d,#9e6c2b);
  color:#fff8ec;
}

.pagination .disabled {
  opacity:.35;
  cursor:not-allowed;
}

.pagination .ellipsis {
  min-width:auto;
  height:auto;
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
}

.page-jump {
  margin-left:5px;
}

.page-jump label {
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}

.page-jump input {
  width:52px;
  height:32px;
  padding:0 6px;
  text-align:center;
  color:var(--text);
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
}

/* Pagination arrow optical alignment */
.pagination [aria-label="Previous page"],
.pagination [aria-label="Next page"] {
  font-size:0;
}

.pagination [aria-label="Previous page"]::before,
.pagination [aria-label="Next page"]::before {
  display:block;
  font-size:16px;
  line-height:1;
  transform:translateY(-2px);
}

.pagination [aria-label="Previous page"]::before {
  content:"\2039";
}

.pagination [aria-label="Next page"]::before {
  content:"\203A";
}

/* Remove native page-jump spinner controls */
.page-jump input[type="number"] {
  appearance:textfield;
  -moz-appearance:textfield;
}

.page-jump input[type="number"]::-webkit-inner-spin-button,
.page-jump input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}



.directory-intro{
  margin:0 auto 30px;
  max-width:1200px;
  padding:32px 44px 34px;
  text-align:center;
  border:1px solid rgba(214,173,101,.28);
  border-radius:22px;
  background:color-mix(in srgb,var(--surface) 94%,var(--gold) 6%);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.directory-intro h2{
  margin:0 auto 16px;
  max-width:1100px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:-.35px;
  color:var(--text);
}

.directory-intro p{
  margin:0 auto;
  max-width:860px;
  color:var(--text);
  font-size:18px;
  line-height:1.65;
  font-weight:400;
}

@media(max-width:700px){
  .directory-intro{
    margin:0 auto 24px;
    padding:24px 18px 26px;
    border-radius:18px;
  }

  .directory-intro h2{
    margin-bottom:14px;
    font-size:20px;
    line-height:1.25;
    letter-spacing:-.2px;
  }

  .directory-intro p{
    font-size:16px;
    line-height:1.6;
  }
}
@media(max-width:700px){.directory-intro p{text-wrap:balance;}}

.directory-intro{-webkit-text-size-adjust:none;text-size-adjust:none;}

/* Member account UX */
.member-button{
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  display:grid;
  place-items:center;
  color:var(--gold-bright);
  font-size:0;
}

.member-button::before{
  content:"";
  width:24px;
  height:24px;
  display:block;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.member-dialog{
  width:min(520px,calc(100% - 28px));
}

.member-view{
  margin-top:18px;
}

.member-plan-actions,
.member-account-actions{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.member-plan-actions{
  grid-template-columns:1fr 1fr;
}

.member-plan-button,
.member-secondary-button{
  min-height:44px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:750;
}

.member-plan-button{
  border-color:rgba(216,173,101,.45);
  background:linear-gradient(180deg,#a9783d,#855d30);
  color:#fff0d2;
}

.member-secondary-button{
  width:100%;
  margin-top:10px;
  background:var(--surface-2);
  color:var(--text);
}

.member-account-actions .member-secondary-button{
  margin-top:0;
}

.member-fine-print{
  margin:15px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

@media(max-width:700px){
  .member-plan-actions{
    grid-template-columns:1fr;
  }
}
/* Member profile controls */
.member-profile-block{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}

.member-profile-block label{
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:800;
  color:var(--text);
}

.member-username-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}

.member-username-row input{
  width:100%;
  min-width:0;
  height:44px;
  border:1px solid rgba(216,173,101,.36);
  border-radius:10px;
  background:color-mix(in srgb,var(--surface) 88%,black);
  color:var(--text);
  padding:0 12px;
  outline:none;
}

.member-username-row input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 2px rgba(216,173,101,.08);
}

.member-username-row .member-plan-button{
  min-width:78px;
}

.member-username-help,
.member-profile-status{
  margin:7px 0 0;
  font-size:11px;
  line-height:1.4;
  color:var(--muted);
}

.member-profile-status{
  min-height:16px;
  color:var(--gold-bright);
}

@media(max-width:700px){
  .member-username-row{
    grid-template-columns:1fr;
  }

  .member-username-row .member-plan-button{
    width:100%;
  }
}
/* Tier 1 Member UX polish */
.member-button{
  position:relative;
}

.member-status-dot{
  position:absolute;
  top:4px;
  right:4px;
  width:9px;
  height:9px;
  border-radius:50%;
  box-shadow:0 0 0 2px var(--bg);
  pointer-events:none;
}

.member-status-active{
  background:var(--gold-bright);
}

.member-status-inactive{
  background:var(--muted);
  border:1px solid var(--gold-bright);
}

.member-sync-state{
  position:relative;
  margin-top:17px;
  padding:14px 15px 14px 42px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:color-mix(in srgb,var(--surface-2) 72%,transparent);
}

.member-sync-state::before{
  content:"";
  position:absolute;
  left:16px;
  top:17px;
  width:10px;
  height:10px;
  border-radius:50%;
}

.member-sync-active::before{
  background:var(--gold-bright);
}

.member-sync-inactive::before{
  background:var(--muted);
  border:1px solid var(--gold-bright);
}

.member-sync-state strong,
.member-sync-state span{
  display:block;
}

.member-sync-state strong{
  font-size:13px;
}

.member-sync-state span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.member-profile-status[data-state="success"]{
  color:#a9c86c;
}

.member-profile-status[data-state="error"]{
  color:#d8a08f;
}

.member-username-row input[aria-invalid="true"]{
  border-color:#d8a08f;
}

.member-view[data-ms-content="no-plans"] .member-account-actions{
  margin-top:14px;
}
/* Member Lounge scaffold */
:root{
  --member-sidebar-width:320px;
}

.header-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}

.member-lounge-toggle{
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:999px;
  background:color-mix(in srgb,var(--surface-2) 75%,transparent);
  color:var(--text);
  cursor:pointer;
  transition:.2s;
}

.member-lounge-toggle:hover{
  border-color:var(--gold);
  transform:translateY(-1px);
}

.member-lounge-toggle span{
  width:22px;
  height:2px;
  display:block;
  border-radius:999px;
  background:currentColor;
  transition:transform .2s, opacity .2s;
}

.member-lounge-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.member-lounge-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}

.member-lounge-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.member-sidebar{
  position:fixed;
  z-index:46;
  top:72px;
  bottom:0;
  left:0;
  width:var(--member-sidebar-width);
  overflow-y:auto;
  padding:20px 18px 28px;
  border-right:1px solid var(--line);
  background:color-mix(in srgb,var(--bg) 97%,black);
  box-shadow:18px 0 45px rgba(0,0,0,.18);
  transform:translateX(-102%);
  transition:transform .24s ease;
}

body.member-sidebar-open .member-sidebar{
  transform:translateX(0);
}

.member-sidebar-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line-soft);
}

.member-sidebar-header .eyebrow{
  display:block;
  margin-bottom:5px;
}

.member-sidebar-header strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  overflow-wrap:anywhere;
}

.member-sidebar-close{
  flex:0 0 auto;
}

.member-sidebar-home{
  display:grid;
  gap:3px;
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(216,173,101,.32);
  border-radius:13px;
  background:rgba(216,173,101,.07);
  transition:.2s;
}

.member-sidebar-home:hover{
  border-color:var(--gold);
  background:rgba(216,173,101,.11);
}

.member-sidebar-home span{
  font-weight:800;
}

.member-sidebar-home small{
  color:var(--muted);
}

.member-sidebar-status{
  margin-top:12px;
  padding:13px 14px;
  border:1px solid var(--line-soft);
  border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 68%,transparent);
}

.member-sidebar-status > div{
  display:grid;
  grid-template-columns:10px 1fr;
  gap:10px;
  align-items:start;
}

.member-sidebar-status strong,
.member-sidebar-status small{
  display:block;
}

.member-sidebar-status strong{
  font-size:12px;
}

.member-sidebar-status small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.member-sidebar-status-dot{
  width:9px;
  height:9px;
  margin-top:4px;
  border-radius:50%;
}

.member-sidebar-status-dot.is-on{
  background:var(--gold-bright);
}

.member-sidebar-status-dot.is-off{
  background:var(--muted);
  border:1px solid var(--gold-bright);
}

.member-lounge-preview{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--line-soft);
}

.member-lounge-preview h3{
  margin:5px 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
}

.member-lounge-preview > p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.member-lounge-placeholder{
  display:grid;
  gap:4px;
  margin-top:14px;
  min-height:120px;
  align-content:center;
  padding:16px;
  border:1px dashed rgba(216,173,101,.32);
  border-radius:14px;
  background:rgba(216,173,101,.025);
  text-align:center;
}

.member-lounge-placeholder strong{
  font-size:12px;
}

.member-lounge-placeholder span{
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.member-sidebar-backdrop{
  display:none;
}

body > main{
  transition:margin-left .24s ease;
}

@media(min-width:981px){
  body.member-sidebar-open > main{
    margin-left:var(--member-sidebar-width);
  }
}

.member-home-account-link{
  display:grid;
  gap:2px;
  margin:15px 0 4px;
  padding:12px 14px;
  border:1px solid rgba(216,173,101,.32);
  border-radius:12px;
  background:rgba(216,173,101,.07);
}

.member-home-account-link:hover{
  border-color:var(--gold);
}

.member-home-account-link strong{
  font-size:12px;
}

.member-home-account-link span{
  color:var(--muted);
  font-size:11px;
}

@media(max-width:980px){
  :root{
    --member-sidebar-width:min(330px,calc(100vw - 32px));
  }

  .member-sidebar{
    top:62px;
    z-index:80;
  }

  body.member-sidebar-open > main{
    margin-left:0;
  }

  .member-sidebar-backdrop{
    position:fixed;
    z-index:79;
    inset:62px 0 0;
    width:100%;
    height:auto;
    border:0;
    background:rgba(0,0,0,.46);
    backdrop-filter:blur(2px);
    cursor:pointer;
  }

  body.member-sidebar-open .member-sidebar-backdrop{
    display:block;
  }
}

@media(max-width:700px){
  .header-left{
    gap:7px;
  }

  .member-lounge-toggle{
    width:40px;
    height:40px;
    min-width:40px;
  }

  .member-lounge-toggle span{
    width:20px;
  }

  .member-sidebar{
    padding:18px 16px 24px;
  }
}

/* Unified Member sidebar */
.member-sidebar{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.member-sidebar-header{
  flex:0 0 auto;
}

.member-sidebar-identity{
  min-width:0;
  display:grid;
  gap:3px;
  color:var(--text);
  text-decoration:none;
}

.member-sidebar-identity strong{
  overflow-wrap:anywhere;
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  line-height:1.1;
}

.member-sidebar-identity span{
  color:var(--muted);
  font-size:10px;
}

.member-sidebar-rank{
  width:calc(100% - 34px);
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin:18px 17px 8px;
  padding:11px 12px;
  border:1px solid rgba(216,173,101,.32);
  border-radius:12px;
  background:rgba(216,173,101,.055);
  color:var(--text);
  cursor:pointer;
  text-align:left;
}

.member-sidebar-rank span{
  color:var(--gold-bright);
  font-size:12px;
  font-weight:800;
}

.member-sidebar-rank small{
  color:var(--muted);
  font-size:9px;
}

.member-sidebar-rank:hover{
  border-color:var(--gold);
}

.member-sidebar-nav{
  min-height:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  padding:8px 17px 20px;
}

.member-sidebar-nav > button{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:10px 11px;
  border:0;
  border-bottom:1px solid var(--line-soft);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font-size:12px;
  font-weight:750;
  text-align:left;
}

.member-sidebar-nav > button:hover{
  color:var(--gold-bright);
}

.member-sidebar-chevron{
  color:var(--muted);
  font-size:16px;
  transition:transform .18s ease;
}

#memberSidebarEnteredToggle.is-open .member-sidebar-chevron{
  transform:rotate(180deg);
}

.member-sidebar-entered-panel{
  min-height:0;
  flex:0 1 auto;
  border-bottom:1px solid var(--line-soft);
}

.member-sidebar-entered-list{
  max-height:38vh;
  overflow-y:auto;
  padding:4px 4px 8px 10px;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}

.member-sidebar-entered-item{
  display:grid;
  gap:4px;
  padding:10px 2px;
  border-bottom:1px solid var(--line-soft);
}

.member-sidebar-entered-item:last-child{
  border-bottom:0;
}

.member-sidebar-entered-title{
  color:var(--text);
  font-size:11px;
  font-weight:750;
  line-height:1.35;
  text-decoration:none;
}

a.member-sidebar-entered-title:hover{
  color:var(--gold-bright);
}

.member-sidebar-entered-item small{
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}

.member-sidebar-empty{
  margin:10px 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.sweeper-levels-dialog{
  width:min(92vw,560px);
  padding:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}

.sweeper-levels-dialog::backdrop{
  background:rgba(0,0,0,.66);
  backdrop-filter:blur(3px);
}

.sweeper-levels-panel{
  padding:24px;
}

.sweeper-levels-panel .dialog-header{
  padding:0;
}

.sweeper-levels-panel h2{
  margin:3px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}

.sweeper-levels-intro{
  margin:18px 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}

.sweeper-level-list{
  display:grid;
  gap:7px;
}

.sweeper-level-list > div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:11px 12px;
  border:1px solid var(--line-soft);
  border-radius:10px;
  background:var(--surface-2);
}

.sweeper-level-list > div.is-current{
  border-color:rgba(216,173,101,.52);
  background:rgba(216,173,101,.07);
}

.sweeper-level-list strong{
  font-size:12px;
}

.sweeper-level-list span{
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}


/* Member Wins trophy shelf */
.member-sidebar-wins-panel{
  border-bottom:1px solid var(--line-soft);
  padding:3px 10px 12px;
}

.member-sidebar-wins-list{
  max-height:34vh;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}

.member-sidebar-win-item{
  display:grid;
  gap:4px;
  padding:10px 2px;
  border-bottom:1px solid var(--line-soft);
}

.member-sidebar-win-item strong{
  color:var(--gold-bright);
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px;
  line-height:1.35;
}

.member-sidebar-win-item small{
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
}

.member-sidebar-win-actions{
  display:flex;
  gap:10px;
  margin-top:3px;
}

.member-sidebar-win-actions button{
  padding:0;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:9px;
}

.member-sidebar-win-actions button:hover{
  color:var(--gold-bright);
}

.member-sidebar-add-win{
  margin-top:9px;
  padding:7px 10px;
  border:1px solid rgba(216,173,101,.3);
  border-radius:999px;
  background:rgba(216,173,101,.05);
  color:var(--gold-bright);
  cursor:pointer;
  font-size:10px;
  font-weight:750;
}

.member-sidebar-add-win:hover{
  border-color:var(--gold);
}

#memberSidebarWinsToggle.is-open .member-sidebar-chevron{
  transform:rotate(180deg);
}

.member-win-dialog{
  width:min(92vw,480px);
  padding:0;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  color:var(--text);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
}

.member-win-dialog::backdrop{
  background:rgba(0,0,0,.66);
  backdrop-filter:blur(3px);
}

.member-win-form{
  display:grid;
  gap:15px;
  padding:24px;
}

.member-win-form .dialog-header{
  padding:0;
}

.member-win-form h2{
  margin:3px 0 0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}

.member-win-form label{
  display:grid;
  gap:6px;
}

.member-win-form label > span{
  color:var(--text);
  font-size:11px;
  font-weight:750;
}

.member-win-form label small{
  color:var(--muted);
  font-size:9px;
  font-weight:500;
}

.member-win-form input{
  width:100%;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
}

.member-win-form input:focus{
  outline:1px solid var(--gold);
  border-color:var(--gold);
}

.member-win-status{
  min-height:16px;
  margin:0;
  color:var(--muted);
  font-size:10px;
}

.member-win-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
}


/* Wins modal action buttons */
.member-win-actions .secondary-button,
.member-win-actions .primary-button{
  min-width:88px;
  padding:9px 14px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

.member-win-actions .secondary-button{
  border:1px solid var(--line);
  background:transparent;
  color:var(--text);
}

.member-win-actions .secondary-button:hover{
  border-color:var(--gold);
  color:var(--gold-bright);
}

.member-win-actions .primary-button{
  border:1px solid var(--gold);
  background:var(--gold);
  color:#18232b;
}

.member-win-actions .primary-button:hover{
  filter:brightness(1.06);
}

.member-win-actions .primary-button:disabled{
  opacity:.55;
  cursor:default;
}


/* Compact trophy rows + prize type icons */
.member-sidebar-win-item{
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  column-gap:9px;
  row-gap:0;
  padding:9px 2px;
}

.member-sidebar-win-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  color:var(--gold-bright);
}

.member-sidebar-win-icon svg,
.member-win-type-preview svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.member-sidebar-win-copy{
  min-width:0;
  display:grid;
  gap:3px;
}

.member-sidebar-win-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.member-sidebar-win-copy small{
  overflow:hidden;
  color:var(--muted);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.member-sidebar-win-edit{
  align-self:center;
  justify-self:end;
  padding:5px 0 5px 12px;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:9px;
  font-weight:750;
}

.member-sidebar-win-edit:hover{
  color:var(--gold-bright);
}

.member-win-type-field{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
}

.member-win-type-preview{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:var(--gold-bright);
}

.member-win-type-preview.is-empty{
  color:var(--muted);
  opacity:.55;
}

.member-win-type-field select{
  width:100%;
  box-sizing:border-box;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
}

.member-win-type-field select:focus{
  outline:1px solid var(--gold);
  border-color:var(--gold);
}

.member-win-actions{
  align-items:center;
  justify-content:space-between;
}

.member-win-actions-right{
  display:flex;
  gap:9px;
  margin-left:auto;
}

.member-win-remove{
  padding:7px 0;
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:9px;
  font-weight:750;
}

.member-win-remove:hover{
  color:#d99595;
}

.member-win-remove[hidden]{
  display:none;
}

/* Entered is historical information, not a launch link */
.member-sidebar-entered-title{
  cursor:default;
}


/* Entered sidebar refinement */
.member-sidebar-entered-item{
  grid-template-columns:24px minmax(0,1fr) 24px;
  gap:9px;
  align-items:center;
}

.member-sidebar-entered-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  color:var(--gold-bright);
}

.member-sidebar-entered-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.member-sidebar-entered-copy{
  min-width:0;
  display:grid;
  gap:3px;
}

.member-sidebar-entered-copy small{
  overflow:hidden;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.member-sidebar-entered-remove{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.member-sidebar-entered-remove:hover{
  background:var(--surface-2);
  color:var(--gold-bright);
}

.member-sidebar-entered-remove:disabled{
  cursor:default;
  opacity:.45;
}


/* Entered history archive */
.member-sidebar-entered-show-all{
  width:100%;
  margin:4px 0 2px;
  padding:9px 8px;
  border:0;
  border-top:1px solid var(--line-soft);
  background:transparent;
  color:var(--gold-bright);
  cursor:pointer;
  font-size:10px;
  font-weight:800;
  letter-spacing:.02em;
  text-align:left;
}

.member-sidebar-entered-show-all:hover{
  color:var(--text);
}

.entered-history-dialog{
  width:min(92vw,680px);
}

.entered-history-panel{
  display:grid;
  gap:16px;
  max-height:min(82vh,760px);
}

.entered-history-search-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}

.entered-history-search{
  width:100%;
  min-width:0;
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  outline:none;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  font-size:12px;
}

.entered-history-search:focus{
  border-color:var(--gold-bright);
}

.entered-history-search::placeholder{
  color:var(--muted);
}

.entered-history-count{
  color:var(--muted);
  font-size:10px;
  white-space:nowrap;
}

.entered-history-list{
  min-height:80px;
  max-height:52vh;
  overflow-y:auto;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:var(--line) transparent;
}

.entered-history-item{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  gap:11px;
  align-items:center;
  padding:12px 2px;
  border-bottom:1px solid var(--line-soft);
}

.entered-history-item:last-child{
  border-bottom:0;
}

.entered-history-icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  color:var(--gold-bright);
}

.entered-history-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.entered-history-copy{
  min-width:0;
  display:grid;
  gap:4px;
}

.entered-history-title{
  color:var(--text);
  font-size:12px;
  font-weight:750;
  line-height:1.35;
}

.entered-history-copy small{
  overflow:hidden;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.entered-history-remove{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  font-size:19px;
  line-height:1;
}

.entered-history-remove:hover{
  background:var(--surface-2);
  color:var(--gold-bright);
}

.entered-history-remove:disabled{
  cursor:default;
  opacity:.45;
}

.entered-history-footer{
  display:flex;
  justify-content:center;
}

.entered-history-more{
  min-width:110px;
  cursor:pointer;
}

@media(max-width:600px){
  .entered-history-panel{
    padding:20px;
  }

  .entered-history-search-wrap{
    grid-template-columns:1fr;
    gap:7px;
  }

  .entered-history-count{
    padding-left:4px;
  }

  .entered-history-list{
    max-height:55vh;
  }
}


/* Paid Member mobile header simplification */
@media(max-width:700px){
  body.member-active .header-actions .member-button,
  body.member-active .header-actions .saved-button{
    display:none;
  }
}

/* Member comparison v1 */
#memberDialog:has(.member-comparison-view:not([style*="display: none"]):not([style*="display:none"])) {
  width:min(860px,calc(100% - 28px));
}
#memberDialog {
  box-sizing:border-box;
  max-height:calc(100dvh - 28px);
  overflow-y:auto;
}
#memberDialog .member-comparison-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
}
#memberDialog .member-choice-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-2);
}
#memberDialog .member-choice-paid {
  border-color:rgba(216,173,101,.6);
}
#memberDialog .member-choice-card h3 {
  margin:0 0 10px;
  font-size:24px;
}
#memberDialog .member-choice-price {
  margin:8px 0;
  font-size:26px;
  font-weight:750;
  line-height:1.2;
}
#memberDialog .member-choice-price span {
  font-size:15px;
  font-weight:400;
}
#memberDialog .member-choice-features {
  padding-left:20px;
  margin:14px 0 20px;
  font-size:14px;
  line-height:1.5;
}
#memberDialog .member-choice-features li + li {
  margin-top:9px;
}
#memberDialog .member-choice-card > .member-secondary-button {
  margin-top:auto;
}
#memberDialog .member-billing-choice {
  margin-top:auto;
}
#memberDialog .member-billing-toggle {
  display:flex;
  gap:8px;
  border:0;
  padding:0;
  margin:0 0 14px;
  min-width:0;
}
#memberDialog .member-billing-toggle legend {
  margin-bottom:8px;
  font-size:13px;
  color:var(--muted);
}
#memberDialog .member-billing-toggle label {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:1;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:9px;
  cursor:pointer;
}
#memberDialog .member-billing-toggle label:has(input:checked) {
  border-color:var(--gold);
  background:rgba(216,173,101,.12);
}
#memberDialog .member-billing-toggle input {
  accent-color:var(--gold);
  width:auto;
  margin:0;
}
#memberDialog .member-billing-toggle label:focus-within {
  outline:2px solid var(--gold);
  outline-offset:2px;
}
#memberDialog .member-billing-detail {
  margin:10px 0;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
#memberDialog .member-billing-choice .member-plan-button {
  width:100%;
  margin-top:8px;
}
#memberDialog .member-billing-annual {
  display:none;
}
#memberDialog .member-billing-choice:has(input[value="annual"]:checked) .member-billing-monthly {
  display:none;
}
#memberDialog .member-billing-choice:has(input[value="annual"]:checked) .member-billing-annual {
  display:block;
}
@media(max-width:650px) {
  #memberDialog .member-comparison-grid {
    grid-template-columns:minmax(0,1fr);
  }
  #memberDialog .member-choice-card {
    padding:16px;
  }
}
/* Member comparison top pricing v2 */
#memberDialog .member-comparison-grid {
  grid-template-rows:repeat(8,auto);
  column-gap:16px;
  row-gap:0;
  align-items:stretch;
}
#memberDialog .member-choice-card {
  display:grid;
  grid-row:span 8;
  grid-template-rows:subgrid;
}
#memberDialog .member-choice-card > h3 {
  grid-row:1;
  margin:0 0 12px;
}
#memberDialog .member-choice-card .member-choice-price {
  grid-row:2;
  margin:0 0 12px;
  align-self:start;
}
#memberDialog .member-choice-card > .dialog-note {
  grid-row:3;
  margin:0 0 14px;
  align-self:start;
}
#memberDialog .member-billing-choice {
  display:contents;
}
#memberDialog .member-billing-monthly {
  display:contents;
}
#memberDialog .member-billing-annual {
  display:none;
}
#memberDialog .member-billing-choice:has(input[value="annual"]:checked) .member-billing-monthly {
  display:none;
}
#memberDialog .member-billing-choice:has(input[value="annual"]:checked) .member-billing-annual {
  display:contents;
}
#memberDialog .member-billing-toggle {
  grid-row:4;
  margin:0 0 12px;
}
#memberDialog .member-billing-monthly > .member-billing-detail,
#memberDialog .member-billing-annual > .member-billing-detail {
  grid-row:5;
  margin:0 0 12px;
  align-self:start;
}
#memberDialog .member-billing-choice .member-plan-button,
#memberDialog .member-choice-card > .member-secondary-button {
  grid-row:6;
  margin:0;
  width:100%;
  align-self:stretch;
}
#memberDialog .member-choice-features {
  grid-row:7;
  margin:18px 0 12px;
  align-self:start;
}
#memberDialog .member-billing-choice > .member-billing-detail {
  grid-row:8;
  margin:0;
  padding-bottom:4px;
}
@media(max-width:650px) {
  #memberDialog .member-comparison-grid {
    row-gap:0;
  }
  #memberDialog .member-choice-card + .member-choice-card {
    margin-top:16px;
  }
}

/* Member comparison: natural card layout */
#memberDialog .cs-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
#memberDialog .cs-plan-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-2);
}
#memberDialog .cs-plan-member {
  border-color: rgba(216, 173, 101, .6);
}
#memberDialog .cs-plan-card h3 {
  margin: 0 0 12px;
  font-size: 24px;
}
#memberDialog .cs-plan-price {
  margin: 0;
  font-size: 28px;
  font-weight: 750;
  line-height: 1.2;
}
#memberDialog .cs-plan-price span {
  font-size: 15px;
  font-weight: 400;
}
#memberDialog .cs-plan-subprice {
  margin: 6px 0 0;
  font-size: 14px;
}
#memberDialog .cs-plan-note {
  margin: 12px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
#memberDialog .cs-plan-action {
  width: 100%;
  margin: 0;
}
#memberDialog .cs-plan-benefits {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
#memberDialog .cs-plan-intro {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 650;
}
#memberDialog .cs-plan-benefits ul {
  margin: 0;
  padding-left: 19px;
  font-size: 14px;
  line-height: 1.5;
}
#memberDialog .cs-plan-benefits li + li {
  margin-top: 8px;
}
#memberDialog .cs-billing-toggle {
  display: flex;
  gap: 8px;
  min-width: 0;
  margin: 14px 0 0;
  padding: 0;
  border: 0;
}
#memberDialog .cs-billing-toggle legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
#memberDialog .cs-billing-toggle label {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: pointer;
}
#memberDialog .cs-billing-toggle input {
  width: auto;
  margin: 0;
  accent-color: var(--gold);
}
#memberDialog .cs-billing-toggle label:has(input:checked) {
  border-color: var(--gold);
  background: rgba(216, 173, 101, .12);
}
#memberDialog .cs-billing-toggle label:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
#memberDialog .cs-price-annual,
#memberDialog .cs-checkout-annual {
  display: none;
}
#memberDialog .cs-plan-member:has(input[value="annual"]:checked) .cs-price-monthly,
#memberDialog .cs-plan-member:has(input[value="annual"]:checked) .cs-checkout-monthly {
  display: none;
}
#memberDialog .cs-plan-member:has(input[value="annual"]:checked) .cs-price-annual,
#memberDialog .cs-plan-member:has(input[value="annual"]:checked) .cs-checkout-annual {
  display: block;
}
#memberDialog .cs-plan-login {
  margin-top: 16px;
}
@media (max-width: 650px) {
  #memberDialog .cs-plan-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  #memberDialog .cs-plan-card {
    padding: 16px;
  }
}

/* Approved Free and Member comparison */
#memberDialog .cs-compare-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  color: var(--text);
  background: var(--surface-2);
}
#memberDialog .cs-compare-table th,
#memberDialog .cs-compare-table td {
  width: 50%;
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}
#memberDialog .cs-compare-table th {
  padding: 18px;
  font-weight: 400;
}
#memberDialog .cs-compare-table td {
  padding: 11px 18px;
  border-top: 1px solid var(--line);
  font-size: 14px;
  line-height: 1.45;
}
#memberDialog .cs-compare-table th + th,
#memberDialog .cs-compare-table td + td {
  border-left: 1px solid var(--line);
  background: rgba(216, 173, 101, .055);
}
#memberDialog .cs-compare-table h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.2;
}
#memberDialog .cs-compare-price {
  margin: 0;
  font-size: 27px;
  font-weight: 750;
  line-height: 1.2;
}
#memberDialog .cs-compare-price span {
  font-size: 15px;
  font-weight: 400;
}
#memberDialog .cs-compare-rate {
  margin: 5px 0 0;
  font-size: 14px;
}
#memberDialog .cs-compare-terms {
  margin: 12px 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
#memberDialog .cs-compare-action {
  width: 100%;
  margin: 0;
}
#memberDialog .cs-compare-toggle {
  display: flex;
  gap: 6px;
  min-width: 0;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
}
#memberDialog .cs-compare-toggle legend {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
#memberDialog .cs-compare-toggle label {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
}
#memberDialog .cs-compare-toggle input {
  width: auto;
  margin: 0;
  accent-color: var(--gold);
}
#memberDialog .cs-compare-toggle label:has(input:checked) {
  border-color: var(--gold);
  background: rgba(216, 173, 101, .12);
}
#memberDialog .cs-compare-toggle label:focus-within {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
#memberDialog .cs-compare-annual {
  display: none;
}
#memberDialog .cs-compare-table:has(input[value="annual"]:checked) .cs-compare-monthly {
  display: none;
}
#memberDialog .cs-compare-table:has(input[value="annual"]:checked) .cs-compare-annual {
  display: block;
}
#memberDialog .cs-compare-login {
  margin-top: 14px;
}
@media (max-width: 650px) {
  #memberDialog .cs-compare-table th {
    padding: 12px 10px;
  }
  #memberDialog .cs-compare-table td {
    padding: 10px;
    font-size: 13px;
  }
  #memberDialog .cs-compare-price {
    font-size: 22px;
  }
  #memberDialog .cs-compare-toggle {
    flex-wrap: wrap;
  }
  #memberDialog .cs-compare-toggle label {
    flex-basis: 100%;
  }
  #memberDialog .cs-compare-action {
    padding: 10px 6px;
    font-size: 13px;
  }
}

/* Comparison proportions and clean rows */
#memberDialog .cs-compare-table th:first-child,
#memberDialog .cs-compare-table td:first-child {
  width: 40%;
}
#memberDialog .cs-compare-table th:nth-child(2),
#memberDialog .cs-compare-table td:nth-child(2) {
  width: 60%;
}
#memberDialog .cs-compare-table tbody td {
  border-top: 0;
  border-bottom: 0;
}

/* Comparison proportions and subtle scrollbar */
#memberDialog .cs-compare-table th:first-child,
#memberDialog .cs-compare-table td:first-child {
  width: 45%;
}
#memberDialog .cs-compare-table th:nth-child(2),
#memberDialog .cs-compare-table td:nth-child(2) {
  width: 55%;
}
#memberDialog {
  scrollbar-width: thin;
  scrollbar-color: rgba(150, 150, 150, .45) transparent;
}
#memberDialog::-webkit-scrollbar {
  width: 6px;
}
#memberDialog::-webkit-scrollbar-track {
  background: transparent;
}
#memberDialog::-webkit-scrollbar-thumb {
  background: rgba(150, 150, 150, .45);
  border-radius: 10px;
}
/* Member sidebar: prevent expanded Entered/Wins panels from overlapping */
.member-sidebar-nav{
  overflow-y:auto;
}

.member-sidebar-entered-panel,
.member-sidebar-wins-panel{
  flex:0 0 auto;
}

/* Published membership comparison polish */
#memberDialog .cs-free-price-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  margin-bottom:10px;
}

#memberDialog .cs-free-price-line h3,
#memberDialog .cs-free-price-line .cs-compare-price{
  margin:0;
}

#memberDialog .cs-free-separator{
  color:var(--gold-bright);
  font-size:15px;
  line-height:1;
}

#memberDialog .cs-free-price-line .cs-compare-price{
  font-size:24px;
  font-weight:750;
}

#memberDialog .cs-benefit-check{
  display:inline-block;
  width:16px;
  margin-right:7px;
  color:var(--gold-bright);
  font-weight:700;
}

#memberDialog .cs-benefit-text{
  display:inline;
}

/* Member pricing-line polish */
#memberDialog .cs-member-price-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  margin-bottom:4px;
}

#memberDialog .cs-member-price-line h3,
#memberDialog .cs-member-price-line .cs-compare-price{
  margin:0;
}

#memberDialog .cs-member-separator{
  color:var(--gold-bright);
  font-size:15px;
  line-height:1;
}

#memberDialog .cs-member-price-line .cs-compare-price{
  font-size:24px;
  font-weight:750;
}

/* Pricing balance polish */
#memberDialog .cs-free-subline{
  margin:5px 0 12px;
}

#memberDialog [data-member-continue-free]{
  min-height:42px;
  height:42px;
  padding-top:8px;
  padding-bottom:8px;
}

/* Centered membership heading polish */
#memberDialog .cs-free-price-line,
#memberDialog .cs-member-price-line{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  text-align:center;
}

#memberDialog .cs-free-price-line h3,
#memberDialog .cs-member-price-line h3{
  width:100%;
  margin:0;
  text-align:center;
}

#memberDialog .cs-free-price-line .cs-compare-price,
#memberDialog .cs-member-price-line .cs-compare-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0;
  text-align:center;
}

#memberDialog .cs-free-price-line .cs-compare-price::before,
#memberDialog .cs-free-price-line .cs-compare-price::after,
#memberDialog .cs-member-price-line .cs-compare-price::before,
#memberDialog .cs-member-price-line .cs-compare-price::after{
  content:"â€¢";
  color:var(--gold-bright);
  font-size:18px;
  line-height:1;
}

#memberDialog .cs-free-separator,
#memberDialog .cs-member-separator{
  display:none;
}

#memberDialog .cs-compare-table th{
  text-align:center;
}

#memberDialog .cs-compare-table th .cs-compare-rate,
#memberDialog .cs-compare-table th .cs-compare-terms{
  text-align:center;
}

#memberDialog .cs-compare-table th .cs-compare-action{
  margin-left:auto;
  margin-right:auto;
}

/* Pricing row alignment */

/* Row 1: Free User / ChillSweeps Member */
#memberDialog .cs-free-price-line h3,
#memberDialog .cs-member-price-line h3{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  margin:0;
  text-align:center;
}

/* Row 2: $0 forever / Try 1 month free */
#memberDialog .cs-free-price-line .cs-compare-price,
#memberDialog .cs-member-price-line .cs-compare-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:0;
  text-align:center;
}

/* Keep each two-row heading block the same height */
#memberDialog .cs-free-price-line,
#memberDialog .cs-member-price-line{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  min-height:80px;
  margin:0;
  text-align:center;
}

/* Row 3: Free explanation / Then $3 per month */
#memberDialog .cs-free-subline,
#memberDialog .cs-compare-table th > .cs-compare-monthly > .cs-compare-rate,
#memberDialog .cs-compare-table th > .cs-compare-annual > .cs-compare-rate{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  margin:6px 0 14px;
  text-align:center;
}

/* Row 4: Continue free / Monthly + Annual */
#memberDialog [data-member-continue-free]{
  height:54px;
  min-height:54px;
  margin:0;
}

#memberDialog .cs-compare-toggle{
  min-height:54px;
  margin:0;
  align-items:stretch;
}

#memberDialog .cs-compare-toggle label{
  min-height:54px;
}

/* Mobile membership responsive type scale */
@media(max-width:650px){

  #memberDialog .cs-free-price-line h3,
  #memberDialog .cs-member-price-line h3{
    font-size:clamp(15px,4vw,19px);
    line-height:1.15;
  }

  #memberDialog .cs-free-price-line .cs-compare-price,
  #memberDialog .cs-member-price-line .cs-compare-price{
    font-size:clamp(17px,4.8vw,21px);
    line-height:1.15;
  }

  #memberDialog .cs-free-subline,
  #memberDialog .cs-compare-rate,
  #memberDialog .cs-compare-terms{
    font-size:clamp(11px,3.1vw,13px);
    line-height:1.35;
  }

  #memberDialog .cs-compare-toggle label{
    font-size:clamp(12px,3.3vw,14px);
    padding-left:6px;
    padding-right:6px;
  }

  #memberDialog .cs-compare-action{
    font-size:clamp(11px,3.2vw,13px);
    line-height:1.25;
    padding-left:7px;
    padding-right:7px;
  }

  #memberDialog .cs-compare-table th{
    padding-left:8px;
    padding-right:8px;
  }

  #memberDialog .cs-compare-table td{
    padding-left:8px;
    padding-right:8px;
    font-size:clamp(11px,3.1vw,13px);
    line-height:1.35;
  }

  #memberDialog .cs-benefit-check{
    width:13px;
    margin-right:4px;
  }
}

/* Membership plan-name color and mobile bullet cleanup */
#memberDialog .cs-free-price-line h3,
#memberDialog .cs-member-price-line h3{
  color:var(--gold-bright);
}

@media(max-width:650px){
  #memberDialog .cs-free-price-line .cs-compare-price::before,
  #memberDialog .cs-free-price-line .cs-compare-price::after,
  #memberDialog .cs-member-price-line .cs-compare-price::before,
  #memberDialog .cs-member-price-line .cs-compare-price::after{
    display:none;
  }
}


/* Memberstack signup/login modal: ChillSweeps skin */
#msOverlay{
  background:rgba(8,14,19,.78)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  padding:24px!important;
}

html[data-theme="light"] #msOverlay{
  background:rgba(35,46,55,.38)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile){
  width:min(400px,calc(100vw - 28px))!important;
  background:linear-gradient(180deg,var(--surface),var(--surface-2))!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.38)!important;
  overflow:hidden!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__content{
  padding:30px 28px 22px!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__figure{
  height:52px!important;
  margin:0 auto 12px!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__figure img,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__figure svg{
  max-height:52px!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__title{
  margin:0 0 26px!important;
  color:var(--text)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:26px!important;
  line-height:1.15!important;
  font-weight:700!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__text{
  color:var(--muted)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__group{
  margin-bottom:18px!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__label{
  margin-bottom:6px!important;
  color:var(--text)!important;
  font-size:13px!important;
  line-height:20px!important;
  font-weight:700!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__input,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__password-container{
  background:var(--bg-2)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__input{
  padding:13px 14px!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__password-container .ms-form__input{
  background:transparent!important;
  border:0!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__input::placeholder{
  color:var(--muted)!important;
  opacity:.72!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__input:not(.ms-form__input--password):focus,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__password-container:focus-within{
  border-color:var(--gold)!important;
  outline:1px solid var(--gold)!important;
  box-shadow:0 0 0 3px rgba(214,165,76,.12)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__password-container:focus-within .ms-form__input{
  outline:none!important;
  box-shadow:none!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__show-toggle{
  color:var(--muted)!important;
  background:transparent!important;
  border:0!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__button:not(.ms-form__button--text){
  height:50px!important;
  border:1px solid rgba(237,197,109,.34)!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#a9783d,#855d30)!important;
  color:#fff0d2!important;
  font-size:15px!important;
  font-weight:750!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__button:not(.ms-form__button--text):hover{
  filter:brightness(1.08)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__social-button{
  height:50px!important;
  border:1px solid var(--line-soft)!important;
  border-radius:10px!important;
  background:var(--surface-3)!important;
  color:var(--text)!important;
  font-size:15px!important;
  font-weight:700!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__social-divider{
  margin:18px 0!important;
  color:var(--muted)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__divider-line{
  background:var(--line-soft)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__divider-text{
  color:var(--muted)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) a.ms-form__link,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__button--text,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__label--right a{
  color:var(--gold-bright)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-form__button--text{
  background:transparent!important;
  box-shadow:none!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__close button,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__back button{
  color:var(--muted)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__close button:hover,
#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__back button:hover{
  color:var(--gold-bright)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__footer{
  background:var(--bg-2)!important;
  color:var(--muted)!important;
  border-top-color:var(--line-soft)!important;
}

#msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__footer a{
  color:var(--muted)!important;
}

@media(max-width:480px){
  #msOverlay{
    padding:14px!important;
  }

  #msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__content{
    padding:26px 20px 20px!important;
  }

  #msOverlay .ms-modal:not(.ms-modal--profile) .ms-modal__title{
    font-size:23px!important;
  }
}

/* Remove pricing bullets */
#memberDialog .cs-free-price-line .cs-compare-price::before,
#memberDialog .cs-free-price-line .cs-compare-price::after,
#memberDialog .cs-member-price-line .cs-compare-price::before,
#memberDialog .cs-member-price-line .cs-compare-price::after{
  content:none !important;
  display:none !important;
}


/* ChillSweeps compact footer refinement */

.site-footer {
  background: #101a22;
  border-top: 0.5px solid var(--gold);
}

.footer-inner {
  min-height: 0;
  padding-top: 24px;
  padding-bottom: 20px;
  gap: 24px;
  align-items: center;
}

.footer-links {
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 6px;
}

.footer-legal p {
  line-height: 1.35;
}

.footer-copyright {
  margin: 0;
  padding: 4px 12px 10px;
  text-align: center;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}

html[data-theme="light"] .site-footer {
  background: #e6ddd0;
}

html[data-theme="light"] .site-footer .footer-links a {
  color: #875b21;
}

@media (max-width: 700px) {
  .footer-inner {
    gap: 12px;
    padding-top: 12px;
    padding-bottom: 8px;
    align-items: start;
  }

  .footer-links {
    justify-content: flex-start;
    gap: 10px 14px;
  }
}

/* ChillSweeps copyright strip */
.site-footer > .footer-copyright {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 9px 12px 11px;
  border-top: 1px solid #344653;
  background: #0b141b;
  color: #aab8c1;
  text-align: center;
  font-size: 11px;
  line-height: 1.35;
}

html[data-theme="light"] .site-footer > .footer-copyright {
  border-top-color: #aeb7bc;
  background: #d7cfc2;
  color: #505960;
}
/* Mobile-only giveaway tab anchored to the hero */
.cs-mobile-giveaway-tab {
  display: none;
}

@media (max-width: 700px) {
  .woorise-embed.woorise-sidetab > .woorise-sidetab-button {
    display: none !important;
  }

  .hero .cs-mobile-giveaway-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    position: absolute;
    z-index: 40;
    left: 0;
    top: 58%;
    transform: translateY(-50%);
    box-sizing: border-box;
    width: 28px;
    padding: 8px 2px;
    border: 0;
    border-radius: 0 11px 11px 0;
    background: rgb(224, 187, 94);
    color: #000;
    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.1;
    cursor: pointer;
  }

  .cs-mobile-giveaway-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
  }

  .cs-mobile-giveaway-icon svg {
    display: block;
    width: 17px;
    height: 17px;
  }
}

/* Homepage Scout history */
.submitted-scout-summary {
  margin: 12px 0 16px;
  color: var(--gold-bright);
  font-weight: 750;
  font-size: 14px;
}

.submitted-sweep-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 13px 3px;
  border-bottom: 1px solid var(--line-soft);
}

.submitted-sweep-url {
  color: var(--gold-bright);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.submitted-sweep-meta {
  color: var(--muted);
  font-size: 12px;
}

/* Published-only Scout history rows */
.submitted-sweep-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
}

.submitted-sweep-meta {
  flex: 0 0 auto;
  white-space: nowrap;
}

.submitted-sweep-url {
  display: block;
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: right;
  color: var(--text);
}

/* Submitted Sweeps action button */
.submitted-sweep-action {
  display: flex;
  justify-content: flex-start;
}

.submitted-sweep-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 11px 17px 9px;
  border: 1px solid var(--gold);
  border-radius: 9px;
  background: var(--gold);
  color: #18232b;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
}

.submitted-sweep-action-link:hover {
  filter: brightness(1.07);
}

.submitted-sweep-action-link:focus-visible {
  outline: 2px solid var(--gold-bright);
  outline-offset: 3px;
}

/* Submitted Sweeps history headings */
.submitted-sweep-columns {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  opacity: 0.75;
}

.submitted-sweep-columns span {
  white-space: nowrap;
}

/* Dual rank guide refinements */
.member-sidebar-rank + .member-sidebar-rank {
  margin-top: 0;
}

.rank-progress-total {
  margin: 0 0 14px;
  color: var(--gold-bright);
  font-size: 12px;
  font-weight: 700;
}

.sweeper-level-list > div {
  background-image: linear-gradient(
    to right,
    rgba(216, 173, 101, 0.23) 0,
    rgba(216, 173, 101, 0.23) var(--rank-fill, 0%),
    transparent var(--rank-fill, 0%),
    transparent 100%
  );
  background-clip: padding-box;
}

.submitted-scout-summary:empty {
  display: none;
}

/* My Sweeps: contain rows and scroll vertically */
#savedDialog {
  box-sizing: border-box;
  width: min(700px, calc(100vw - 28px));
  max-width: calc(100vw - 28px);
  max-height: 85vh;
  max-height: 85dvh;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--muted) transparent;
}
#savedDialog #savedList {
  min-width: 0;
  max-width: 100%;
}
#savedDialog .saved-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  min-width: 0;
  max-width: 100%;
  gap: 10px;
}
#savedDialog .saved-item > * {
  min-width: 0;
}
#savedDialog .saved-item strong {
  white-space: normal;
  overflow-wrap: anywhere;
}
#savedDialog .saved-enter-wrap {
  grid-area: auto;
  display: grid;
  justify-items: center;
  gap: 5px;
}
#savedDialog .saved-item a,
#savedDialog .saved-item button {
  grid-area: auto;
}
#savedDialog .saved-referral-wrap {
  position: relative;
}
#savedDialog .referral-popover {
  left: auto;
  right: 0;
  transform: none;
  box-sizing: border-box;
  width: min(240px, calc(100vw - 110px));
  max-width: calc(100vw - 110px);
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  #savedDialog .saved-item {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  #savedDialog .saved-item > strong {
    grid-column: 1 / -1;
  }
  #savedDialog .saved-enter-wrap {
    justify-self: end;
  }
}