
*{box-sizing:border-box}
body{
margin:0;
background:#f4f4f4;
font-family:Arial,sans-serif;
color:#1d1d1f
}

.page{
max-width:1400px;
margin:0 auto;
padding:20px
}
.hero,.chart-card,.stat-card,.insight-card,.purchase-card{
background:#fff;
border:1px solid #e7e7e7;
border-radius:24px
}
.hero{
padding:28px;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
margin-bottom:24px
}
.hero p{
color:#666;
max-width:650px
}
.upload-button input{display:none}
.upload-button span,.small-btn{
background:#111;
color:#fff;
padding:12px 18px;
border-radius:12px;
cursor:pointer;
display:inline-block
}
.chart-wrap,.stats-grid,.insight-grid{
margin-bottom:20px
}
.chart-card{padding:20px}
.stats-grid,.insight-grid,.cards-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:18px
}
.stat-card,.insight-card{
padding:22px
}
.stat-label,.insight-label,.meta-label{
font-size:12px;
color:#777;
text-transform:uppercase
}
.stat-value,.insight-value{
font-size:2rem;
font-weight:bold;
margin-top:8px
}
.insight-sub{
margin-top:12px;
line-height:1.6;
color:#555
}
.orders-toggle-wrap{
margin-bottom:18px
}
.controls{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-bottom:20px
}
.sort-btn,.search-total,.search-input{
padding:12px 14px;
border-radius:12px;
border:1px solid #ddd;
background:#fff
}
.sort-btn.active{
background:#111;
color:#fff
}
.search-input{
flex:1;
min-width:220px
}
.search-total{
font-weight:bold
}
.cards-grid{
grid-template-columns:repeat(auto-fit,minmax(320px,1fr))
}
.purchase-card{
padding:20px;
text-decoration:none;
color:inherit
}
.purchase-top{
display:flex;
justify-content:space-between;
margin-bottom:14px
}
.purchase-price{
font-size:1.5rem;
font-weight:bold
}
.purchase-date{
font-size:13px;
color:#777
}
.product-name{
line-height:1.5;
margin-bottom:18px
}
.purchase-meta{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px
}
.meta-block{
background:#fafafa;
padding:12px;
border-radius:14px
}
.meta-value{
font-weight:bold;
margin-top:6px
}
.hidden{display:none!important}
.insight-link{text-decoration:none;color:inherit}
@media(max-width:700px){
.hero{flex-direction:column;align-items:flex-start}
.cards-grid{grid-template-columns:1fr}
}


.top-search{
margin-bottom:22px;
}

.global-search-input{
width:100%;
padding:16px 18px;
border-radius:18px;
border:1px solid #ddd;
font-size:16px;
background:#fff;
}

.search-header{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
margin-bottom:20px;
}

.back-btn{
border:none;
background:#111;
color:#fff;
padding:10px 14px;
border-radius:12px;
cursor:pointer;
font-weight:bold;
}

.search-controls{
display:flex;
gap:10px;
align-items:center;
flex-wrap:wrap;
}

.search-total{
background:#fff;
padding:12px 14px;
border-radius:12px;
border:1px solid #ddd;
font-weight:bold;
}

.rebought-search-input{
padding:12px 14px;
border-radius:12px;
border:1px solid #ddd;
min-width:240px;
}

.dual-item-date{
font-size:12px;
color:#777;
margin-bottom:6px;
}

#spendingChart{
max-height:180px!important;
}


/* Fixed-width search result cards */

#searchView .cards-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr)) !important;
gap:18px;
align-items:start;
}

#searchView .purchase-card{
width:100%;
max-width:none;
}

@media(max-width:1000px){

#searchView .cards-grid{
grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

}

@media(max-width:700px){

#searchView .cards-grid{
grid-template-columns:1fr !important;
}

}


.product-name{
display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
text-overflow:ellipsis;
min-height:3em;
line-height:1.5;
}


/* Unified title clamping */

.product-name,
.dual-item-title,


/* Keep insight bodies from clamping unrelated text */

.insight-sub br{
display:block;
content:"";
margin-top:4px;
}

/* Rebought tile product title only */

.insight-sub{
display:block;
}

.insight-sub .title-clamp{
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;

overflow:hidden;

line-height:1.42;
max-height:2.84em;

word-break:break-word;
overflow-wrap:anywhere;

text-overflow:ellipsis;
}


.rebought-stats{
margin-top:12px;
line-height:1.7;
}


/* UNIVERSAL STRICT 2-LINE TITLE LIMIT */

.product-name,
.title-clamp,
.dual-item-title{

display:-webkit-box !important;
-webkit-box-orient:vertical !important;
-webkit-line-clamp:2 !important;

overflow:hidden !important;
text-overflow:ellipsis !important;

line-height:1.4 !important;
max-height:2.8em !important;
min-height:2.8em !important;

white-space:normal !important;

word-break:break-word !important;
overflow-wrap:anywhere !important;
}

/* Ensure insight cards don't stretch from titles */

.insight-card .title-clamp{
margin-bottom:10px;
}


/* Fix Most Recent Purchase title overflow */

.insight-card .insight-sub{
overflow:hidden;
}

.insight-card .insight-sub .title-clamp,
.insight-card .insight-sub{
display:block;
}

.insight-card .insight-sub:has(.title-clamp){
line-height:1.5;
}


.insight-card .title-clamp{
display:-webkit-box !important;
-webkit-box-orient:vertical !important;
-webkit-line-clamp:2 !important;

overflow:hidden !important;
text-overflow:ellipsis !important;

line-height:1.4 !important;
max-height:2.8em !important;
min-height:2.8em !important;
}




.top-search{
width:100%;
margin-bottom:22px;
}

.global-search-input{
width:20%;
min-width:220px;
max-width:320px;
}

.display-mode-wrap{
position:absolute;
top:22px;
right:20px;
display:flex;
gap:8px;
align-items:flex-start;
}

.mode-btn{
border:none;
background:#fff;
border:1px solid #ddd;
padding:10px 12px;
border-radius:12px;
cursor:pointer;
font-weight:bold;
min-width:46px;
}

.mode-btn.active{
background:#111;
color:#fff;
}


.wage-popover input{
padding:10px;
border-radius:10px;
border:1px solid #ddd;
}

@media(max-width:700px){

.global-search-input{
width:100%;
max-width:none;
}

.display-mode-wrap{
top:16px;
right:16px;
}

}


.mode-slider.time 


@media(max-width:700px){


}


body{
padding-left:28px;
padding-right:28px;
box-sizing:border-box;
}

@media(max-width:700px){

body{
padding-left:16px;
padding-right:16px;
}

}


.split-stat{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:20px;
width:100%;
padding-top:2px;
}

.split-stat-side{
flex:1;
display:flex;
flex-direction:column;
justify-content:flex-start;
}

.split-stat-label{
font-size:14px;
opacity:.72;
margin-bottom:10px;
font-weight:600;
letter-spacing:0;
line-height:1;
text-transform:uppercase;
}

.split-stat-value{
font-size:28px;
font-weight:700;
line-height:1;
}

.split-stat-divider{
width:1px;
align-self:stretch;
background:#ddd;
margin-top:8px;
}

.rebought-duration{
font-size:15px;
opacity:.78;
margin-top:2px;
margin-bottom:12px;
font-weight:700;
line-height:1.2;
}


.insight-sub{
line-height:1.45;
}


.longest-streak-row{
margin-top:22px;
display:grid;
grid-template-columns:minmax(260px,420px);
gap:20px;
}

.streak-card{
min-height:180px;
}


.streak-proof-row{
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(260px, 420px);
  gap:20px;
}

.streak-proof-card{
  min-height:180px;
}


#streakProofRow .insight-card{
  width:100%;
}

#longestStreakSub{
  max-width:360px;
}


.streak-proof-row{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}

.streak-proof-row .insight-card{
  width:auto;
  max-width:none;
}

.streak-story{
  margin-top:14px;
}

.streak-timeline{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
}

.streak-node{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.streak-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#111;
  flex:0 0 auto;
}

.streak-line{
  height:1px;
  background:#d8d8d8;
  flex:1;
  min-width:34px;
}

.streak-mini-label{
  font-size:10px;
  color:#777;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:3px;
}

.streak-date{
  font-weight:700;
  font-size:14px;
  color:#111;
  white-space:nowrap;
}

.streak-caption{
  margin-top:14px;
  color:#555;
  line-height:1.4;
  font-size:14px;
}

@media(max-width:700px){

.streak-timeline{
  align-items:flex-start;
}

.streak-line{
  min-width:20px;
}

.streak-date{
  white-space:normal;
}

}


.extra-stats-row{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}

.extra-stats-row .insight-card{
  width:auto;
  max-width:none;
}

.micro-copy{
  margin-top:10px;
  color:#777;
  font-size:13px;
  line-height:1.45;
}

#streakProofRow{
  grid-template-columns:minmax(260px, 420px);
}

#streakProofRow .insight-card{
  width:auto;
  max-width:420px;
}

@media(max-width:700px){
  #streakProofRow{
    grid-template-columns:1fr;
  }
  #streakProofRow .insight-card{
    max-width:none;
  }
}


/* Header should scroll normally with the page */
.hero{
position:static !important;
top:auto !important;
z-index:auto !important;
backdrop-filter:none !important;
}


/* Search controls polish */

.search-header{
align-items:flex-start;
}

.search-controls{
align-items:center;
gap:12px;
}

.sort-btn{
display:inline-flex;
align-items:center;
gap:6px;
}

.sort-arrows{
font-size:12px;
opacity:.65;
letter-spacing:-2px;
position:relative;
top:-1px;
}

.search-total{
background:transparent !important;
border:none !important;
padding:0 !important;
border-radius:0 !important;
font-weight:600;
min-width:112px;
height:48px;
display:flex;
flex-direction:column;
justify-content:center;
gap:2px;
color:#666;
line-height:1.15;
}

.search-stat-line{
font-size:12px;
white-space:nowrap;
}

#searchResultAmount{
color:#222;
}

@media(max-width:700px){

.search-total{
height:auto;
min-width:auto;
width:100%;
padding-left:2px !important;
}

}


.weekday-runners-up{
  margin-top:10px;
  color:#777;
  font-size:13px;
  line-height:1.45;
}

.weekday-rank-line + .weekday-rank-line{
  margin-top:3px;
}


.chart-topbar{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
margin-bottom:14px;
}

.chart-title{
font-size:13px;
font-weight:700;
color:#777;
text-transform:uppercase;
letter-spacing:.04em;
}

.timeline-btn{
border:none;
background:#111;
color:#fff;
padding:10px 14px;
border-radius:12px;
cursor:pointer;
font-weight:700;
white-space:nowrap;
}

.timeline-btn:hover{
filter:brightness(.95);
}

@media(max-width:700px){

.chart-topbar{
align-items:flex-start;
flex-direction:column;
}

.timeline-btn{
width:100%;
}

}


.timeline-controls{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
}

.timeline-controls label{
display:flex;
align-items:center;
gap:6px;
font-size:12px;
color:#666;
font-weight:700;
text-transform:uppercase;
letter-spacing:.03em;
}

.timeline-controls input{
border:1px solid #ddd;
border-radius:10px;
padding:10px 12px;
background:#fff;
font:inherit;
color:#222;
}

@media(max-width:700px){

.timeline-controls{
width:100%;
}

.timeline-controls label{
width:100%;
justify-content:space-between;
}

.timeline-controls input{
flex:1;
max-width:220px;
}

}


.timeline-presets{
display:flex;
align-items:center;
gap:8px;
flex-wrap:wrap;
width:100%;
margin-top:4px;
}

.timeline-presets button{
border:1px solid #ddd;
background:#fff;
border-radius:999px;
padding:8px 10px;
font-size:12px;
font-weight:700;
cursor:pointer;
color:#555;
}

.timeline-presets button:hover{
background:#f6f6f6;
}

.timeline-presets button.active{
background:#111;
color:#fff;
border-color:#111;
}

@media(max-width:700px){

.timeline-presets{
gap:6px;
}

.timeline-presets button{
font-size:11px;
padding:7px 9px;
}

}


/* Timeline picker alignment */

.timeline-controls{
align-items:flex-start;
justify-content:flex-start;
}

.timeline-controls label{
align-items:flex-start;
justify-content:flex-start;
}

.timeline-controls input{
min-width:150px;
}

.timeline-presets{
justify-content:flex-start;
align-items:flex-start;
}

/* Floating scroll jump buttons */

.scroll-jump-controls{
position:fixed;
right:22px;
top:50%;
transform:translateY(-50%);
display:flex;
flex-direction:column;
gap:10px;
z-index:90;
opacity:.88;
transition:opacity .2s ease, transform .2s ease;
}

.scroll-jump-controls:hover{
opacity:1;
}

.scroll-jump-btn{
width:44px;
height:44px;
border:none;
border-radius:999px;
background:#111;
color:#fff;
font-size:20px;
font-weight:800;
cursor:pointer;
box-shadow:0 10px 26px rgba(0,0,0,.14);
}

.scroll-jump-btn:hover{
transform:translateY(-1px);
}

@media(max-width:700px){

.scroll-jump-controls{
right:14px;
}

.scroll-jump-btn{
width:40px;
height:40px;
font-size:18px;
}

}


.master-search-row{
display:flex;
align-items:center;
gap:10px;
}

.master-search-row .global-search-input{
flex:1;
min-width:0;
}

.word-cloud-btn{
border:none;
background:#fff;
border:1px solid #ddd;
width:50px;
height:50px;
border-radius:16px;
cursor:pointer;
font-size:22px;
box-shadow:0 8px 22px rgba(0,0,0,.04);
}

.word-cloud-btn:hover{
background:#fafafa;
transform:translateY(-1px);
}

.word-cloud-view{
background:#fff;
border:1px solid #e7e7e7;
border-radius:28px;
padding:24px;
margin-bottom:24px;
}

.word-cloud-header{
display:flex;
align-items:center;
gap:14px;
margin-bottom:22px;
}

.word-cloud-title{
font-size:1.3rem;
font-weight:800;
}

.word-cloud-subtitle{
font-size:14px;
color:#666;
margin-top:3px;
}

.word-cloud-grid{
display:flex;
flex-wrap:wrap;
gap:12px;
align-items:center;
align-content:flex-start;
padding:10px 2px 4px;
}

.cloud-word{
border:none;
background:#f7f7f7;
border:1px solid #e7e7e7;
border-radius:999px;
padding:.55em .85em;
font-weight:800;
cursor:pointer;
line-height:1;
transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.cloud-word:hover{
background:#111;
color:#fff;
box-shadow:0 10px 24px rgba(0,0,0,.12);
transform:translateY(-2px) !important;
}

.word-cloud-empty{
color:#666;
padding:20px;
}

@media(max-width:700px){

.word-cloud-header{
align-items:flex-start;
flex-direction:column;
}

.word-cloud-btn{
width:48px;
height:48px;
}

}


.search-term-chips{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:10px;
}

.search-term-chip{
border:1px solid #ddd;
background:#fff;
border-radius:999px;
padding:7px 10px;
font-size:13px;
font-weight:700;
color:#333;
cursor:pointer;
box-shadow:0 6px 16px rgba(0,0,0,.035);
}

.search-term-chip span{
opacity:.55;
margin-left:5px;
font-weight:900;
}

.search-term-chip:hover{
background:#111;
color:#fff;
border-color:#111;
}

.search-term-chip:hover span{
opacity:.9;
}

.word-cloud-subtitle::after{
content:" Add words to narrow results.";
}

@media(max-width:700px){

.search-term-chip{
font-size:12px;
padding:7px 9px;
}

}


.search-input-shell{
position:relative;
flex:1;
min-width:0;
}

.search-input-shell .global-search-input{
width:100%;
padding-right:44px;
}

.clear-search-btn{
position:absolute;
right:10px;
top:50%;
transform:translateY(-50%);
width:28px;
height:28px;
border:none;
border-radius:999px;
background:#eeeeee;
color:#555;
font-size:18px;
line-height:1;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:background .15s ease, color .15s ease, transform .15s ease;
}

.clear-search-btn:hover{
background:#111;
color:#fff;
transform:translateY(-50%) scale(1.04);
}

.clear-search-btn.hidden{
display:none;
}


/* Keep search actions directly beside the search box */

.master-search-row{
display:flex;
align-items:center;
gap:8px;
justify-content:flex-start;
}

.search-input-shell{
flex:0 1 520px;
min-width:220px;
}

.search-input-shell .global-search-input{
padding-right:18px;
}

.clear-search-btn{
position:static !important;
transform:none !important;
width:42px;
height:42px;
border:1px solid #ddd;
border-radius:14px;
background:#fff;
color:#555;
font-size:20px;
line-height:1;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 8px 22px rgba(0,0,0,.04);
transition:background .15s ease, color .15s ease, transform .15s ease;
flex:0 0 auto;
}

.clear-search-btn:hover{
background:#111;
color:#fff;
transform:translateY(-1px) !important;
}

.clear-search-btn.hidden{
display:none;
}

.word-cloud-btn{
flex:0 0 auto;
}

/* Search chips: tap the word itself to remove it */

.search-term-chip{
padding:7px 11px;
}

.search-term-chip span{
display:none;
}

@media(max-width:700px){

.master-search-row{
width:100%;
}

.search-input-shell{
flex:1 1 auto;
min-width:0;
}

.clear-search-btn,
.word-cloud-btn{
width:44px;
height:44px;
}

}


/* Final search row tightening */

.top-search{
  width:auto !important;
  display:inline-block !important;
}

.master-search-row{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  width:auto !important;
  max-width:none !important;
}

.search-input-shell{
  flex:0 0 auto !important;
  width:320px !important;
  min-width:320px !important;
  max-width:320px !important;
}

.search-input-shell .global-search-input{
  width:100% !important;
}

.clear-search-btn,
.word-cloud-btn{
  flex:0 0 auto !important;
  margin:0 !important;
}

@media(max-width:700px){

  .top-search{
    display:block !important;
    width:100% !important;
  }

  .master-search-row{
    display:flex !important;
    width:100% !important;
  }

  .search-input-shell{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
  }

}


/* Keep search and scroll controls hidden until ZIP data loads */
.hidden{
  display:none !important;
}


.common-word-card{
  text-align:left;
  cursor:pointer;
  appearance:none;
  border:1px solid #e7e7e7;
  background:#fff;
  color:inherit;
  font:inherit;
}

.common-word-card:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.055);
}

.common-word-secondary{
  margin-top:6px;
  color:#555;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}




/* Consistent hover animation for all tiles/cards */

.stat-card,
.insight-card,
.purchase-card,
.chart-card,
.common-word-card{
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.stat-card:hover,
.insight-card:hover,
.purchase-card:hover,
.chart-card:hover,
.common-word-card:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.055);
  border-color:#dedede;
}

.common-word-secondary{
  margin-top:10px;
  color:#555;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}


.word-cloud-title-wrap{
flex:1;
min-width:0;
}

.word-cloud-actions{
margin-left:auto;
display:flex;
align-items:center;
gap:8px;
}

.word-cloud-action-btn{
border:1px solid #ddd;
background:#fff;
color:#333;
width:40px;
height:40px;
border-radius:12px;
cursor:pointer;
font-size:18px;
font-weight:800;
display:flex;
align-items:center;
justify-content:center;
transition:background .15s ease, color .15s ease, transform .15s ease, border-color .15s ease;
}

.word-cloud-action-btn:hover{
background:#111;
color:#fff;
border-color:#111;
transform:translateY(-1px);
}

.word-cloud-action-btn.active{
background:#111;
color:#fff;
border-color:#111;
}

@media(max-width:700px){

.word-cloud-actions{
margin-left:0;
}

.word-cloud-header{
gap:12px;
}

}


.avg-spend-details{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #eee;
  font-size:13px;
  line-height:1.55;
  color:#666;
  font-weight:600;
}

.avg-spend-details div + div{
  margin-top:3px;
}


.rebought-controls{
display:flex;
gap:10px;
align-items:center;
flex-wrap:wrap;
margin-top:12px;
}

#reboughtSearchWrap{
display:flex;
flex-direction:column;
align-items:flex-start;
gap:0;
}

#reboughtSearchWrap.hidden{
display:none !important;
}

@media(max-width:700px){

.rebought-controls{
width:100%;
}

.rebought-controls .sort-btn{
flex:1;
justify-content:center;
}

#reboughtSearchWrap{
width:100%;
}

.rebought-search-input{
width:100%;
}

}


.dashboard-mode-toggle-wrap{
  margin-left:auto;
  display:flex;
  align-items:center;
}

.dashboard-mode-toggle{
  border:1px solid #ddd;
  background:#fff;
  color:#333;
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(0,0,0,.035);
}

.dashboard-mode-toggle.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.comparison-dashboard{
  margin-top:24px;
}

.comparison-section{
  margin:34px 0 42px;
}

.comparison-heading{
  text-align:center;
  max-width:720px;
  margin:0 auto 18px;
}

.comparison-heading h2{
  margin:0;
  font-size:1.35rem;
  letter-spacing:-.02em;
}

.comparison-heading p{
  margin:8px 0 0;
  color:#666;
  line-height:1.5;
}

.comparison-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(260px,1fr));
  gap:18px;
}

.comparison-card{
  text-align:left;
}

.comparison-card button,
.comparison-card{
  font-family:inherit;
}

@media(max-width:900px){

  .dashboard-mode-toggle-wrap{
    margin-left:0;
    width:100%;
  }

  .dashboard-mode-toggle{
    width:100%;
  }

  .comparison-grid{
    grid-template-columns:1fr;
  }

}


.comparison-card[type="button"]{
  cursor:pointer;
}

.comparison-card[type="button"]:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.055);
  border-color:#dedede;
}


.optional-stat-card{
  text-align:left;
}

.optional-stat-card[type="button"]{
  font:inherit;
  color:inherit;
  background:#fff;
  border:1px solid #e7e7e7;
  cursor:pointer;
}

.mini-title-line{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.35;
}

.mini-title-line + .mini-title-line{
  margin-top:8px;
}


.repeat-favorites-card{
  position:relative;
  padding:0;
  overflow:hidden;
}

.repeat-favorites-link{
  display:block;
  color:inherit;
  text-decoration:none;
  padding:22px;
}

.tile-refresh-btn{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  color:#333;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.tile-refresh-btn:hover{
  background:#111;
  color:#fff;
  border-color:#111;
  transform:translateY(-1px);
}

.optional-stat-card[type="button"]{
  font:inherit;
  text-align:left;
}


.tile-refresh-btn{
  transition:background .15s ease, color .15s ease, transform .15s ease;
}


.comparison-card[type="button"]{
  cursor:pointer;
}


.refreshable-comparison-card{
  position:relative;
  padding:0;
  overflow:hidden;
}

.comparison-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  padding:22px;
}

.compare-refresh-btn{
  top:12px;
  right:12px;
}


/* Clean tile spacing reset */

.stat-card,
.insight-card{
  display:block;
  min-height:0;
}

.stat-label,
.insight-label{
  margin:0 0 8px;
  line-height:1.2;
}

.stat-value,
.insight-value{
  margin-top:0 !important;
  margin-bottom:12px;
  line-height:1.1;
}

.insight-sub{
  margin-top:0 !important;
  line-height:1.5;
}

.insight-sub .title-clamp,
.insight-sub .mini-title-line{
  margin-top:0;
}

.micro-copy{
  margin-top:8px;
  font-size:13px;
  color:#777;
  line-height:1.45;
}

.avg-spend-details{
  margin-top:14px;
}

/* Keep refreshable/link cards from using the broken bottom-push layout */

.repeat-favorites-link,
.comparison-card-link{
  min-height:0;
  display:block;
}

.refreshable-comparison-card,
.repeat-favorites-card{
  min-height:0;
}

/* Make common word tile follow the same order visually */

.common-word-card .insight-label{
  margin-bottom:8px;
}

.common-word-card .insight-value{
  margin-bottom:10px;
}

.common-word-secondary{
  margin-top:0;
}

/* Product title cards should show supporting text normally, not pushed down */

#firstPurchaseCard,
#latestPurchaseCard,
.insight-card .title-clamp{
  margin-top:0;
}



/* Most Common Title Word tile: match normal tile hierarchy */
.common-word-card{
  display:block !important;
  text-align:left;
}

.common-word-card .insight-label{
  margin:0 0 8px !important;
  order:initial !important;
}

.common-word-card .insight-value{
  margin:0 0 10px !important;
  line-height:1.1;
  order:initial !important;
}

.common-word-secondary{
  margin-top:0 !important;
  color:#555;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  order:initial !important;
}

.stat-subhead{
  margin-top:6px;
  margin-bottom:12px;
  font-size:15px;
  color:#555;
  font-weight:700;
  line-height:1.3;
}


.timeline-price-controls{
display:flex;
align-items:center;
gap:10px;
flex-wrap:wrap;
width:100%;
margin-top:4px;
}

.timeline-price-controls label{
display:flex;
align-items:center;
gap:6px;
}

.timeline-price-input{
border:1px solid #ddd;
border-radius:10px;
padding:10px 12px;
background:#fff;
font:inherit;
color:#222;
width:140px;
}

.timeline-price-input::placeholder{
color:#888;
}

@media(max-width:700px){

.timeline-price-controls{
width:100%;
}

.timeline-price-controls label{
flex:1;
}

.timeline-price-input{
width:100%;
}

}


/* Timeline filter layout: dates + presets on row one, prices below */

.timeline-controls{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  width:100%;
}

.timeline-date-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
}

.timeline-date-row label{
  display:flex;
  align-items:center;
}

.timeline-presets{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  width:auto;
  margin-top:0;
}

.timeline-price-controls{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
  margin-top:0;
}

.price-input-shell{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.price-currency-symbol{
  position:absolute;
  left:12px;
  top:50%;
  transform:translateY(-50%);
  font-weight:800;
  color:#555;
  pointer-events:none;
  z-index:1;
}

.timeline-price-input{
  padding-left:30px !important;
  border:1px solid #ddd;
  border-radius:10px;
  background:#fff;
  font:inherit;
  color:#222;
  width:150px;
}

.timeline-price-input::-webkit-outer-spin-button,
.timeline-price-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

@media(max-width:700px){

  .timeline-date-row{
    align-items:flex-start;
    flex-direction:column;
  }

  .timeline-date-row label,
  .timeline-date-row input{
    width:100%;
  }

  .timeline-presets{
    width:100%;
  }

  .timeline-price-controls{
    width:100%;
  }

  .price-input-shell{
    flex:1;
  }

  .timeline-price-input{
    width:100%;
  }

}


.phase-card{
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  background:#fff;
}


/* Story Dashboard experiment */

.dashboard-mode-toggle-wrap{
  gap:8px;
}

.story-mode-toggle.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.story-dashboard{
  margin-top:24px;
}

.story-hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);
  gap:20px;
  margin:22px 0 28px;
}

.story-hero-main,
.story-spotlight,
.story-feature-card,
.story-mini-card,
.word-story-card{
  position:relative;
  overflow:hidden;
  border:1px solid #e7e7e7;
  background:
    radial-gradient(circle at top right, rgba(0,0,0,.08), transparent 34%),
    linear-gradient(135deg,#fff,#f7f7f7);
  border-radius:30px;
  padding:26px;
  box-shadow:0 18px 44px rgba(0,0,0,.055);
}

.story-spotlight,
.story-feature-card,
.story-mini-card,
.word-story-card button{
  cursor:pointer;
}

.story-hero-main::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-58px;
  width:190px;
  height:190px;
  border:34px solid rgba(0,0,0,.045);
  border-radius:999px;
}

.story-eyebrow{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:800;
  color:#777;
  margin-bottom:10px;
}

.story-big-money{
  font-size:clamp(2.4rem,7vw,5.2rem);
  font-weight:900;
  letter-spacing:-.06em;
  line-height:.95;
}

.story-subline{
  margin-top:10px;
  font-size:1.05rem;
  color:#555;
  font-weight:800;
}

.story-bar-stack{
  margin-top:24px;
  display:grid;
  gap:9px;
  max-width:520px;
}

.story-bar-row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  background:rgba(255,255,255,.76);
  border:1px solid #eee;
  border-radius:999px;
  padding:10px 14px;
  font-size:14px;
}

.story-bar-row span{
  color:#666;
  font-weight:700;
}

.story-bar-row strong{
  color:#111;
}

.story-spotlight,
.story-feature-card,
.story-mini-card{
  text-align:left;
  font:inherit;
  color:inherit;
}

.story-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-weight:900;
  margin-bottom:18px;
}

.story-card-value{
  font-size:clamp(1.6rem,3.5vw,2.5rem);
  font-weight:900;
  line-height:1;
  letter-spacing:-.04em;
}

.story-card-copy{
  margin-top:12px;
  color:#555;
  line-height:1.45;
  font-weight:700;
}

.story-section{
  margin:34px 0;
}

.story-section-heading{
  text-align:center;
  max-width:760px;
  margin:0 auto 18px;
}

.story-section-heading h2{
  margin:0;
  font-size:1.65rem;
  letter-spacing:-.04em;
}

.story-section-heading p{
  margin:8px 0 0;
  color:#666;
}

.story-timeline-band{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(90px,.35fr) minmax(0,1fr);
  align-items:stretch;
  gap:16px;
}

.story-timeline-point{
  border:1px solid #e7e7e7;
  background:#fff;
  border-radius:28px;
  padding:22px;
  color:inherit;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(0,0,0,.045);
}

.story-timeline-point span{
  display:block;
  color:#777;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  margin-bottom:8px;
}

.story-timeline-point strong{
  display:block;
  font-size:1.5rem;
  letter-spacing:-.03em;
}

.story-timeline-point em{
  display:block;
  margin-top:10px;
  color:#555;
  font-style:normal;
  line-height:1.4;
}

.story-timeline-line{
  display:flex;
  align-items:center;
}

.story-timeline-line div{
  width:100%;
  border-top:3px dotted #cfcfcf;
}

.story-grid-two,
.story-grid-three{
  display:grid;
  gap:20px;
}

.story-grid-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.story-grid-three{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.story-ghost{
  position:absolute;
  right:20px;
  top:8px;
  font-size:7rem;
  line-height:1;
  color:rgba(0,0,0,.055);
  font-weight:900;
  pointer-events:none;
}

.story-pill{
  display:inline-flex;
  margin-top:18px;
  border-radius:999px;
  background:#111;
  color:#fff;
  padding:10px 13px;
  font-size:13px;
  font-weight:900;
  border:none;
}

.word-story-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.word-story-card h2{
  margin:0;
  font-size:clamp(2rem,5vw,4rem);
  letter-spacing:-.06em;
}

.word-story-card p{
  margin:8px 0 0;
  color:#555;
  font-weight:700;
}

.story-hero-main:hover,
.story-spotlight:hover,
.story-feature-card:hover,
.story-mini-card:hover,
.story-timeline-point:hover,
.word-story-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(0,0,0,.075);
}

.story-hero-main,
.story-spotlight,
.story-feature-card,
.story-mini-card,
.story-timeline-point,
.word-story-card{
  transition:transform .16s ease, box-shadow .16s ease;
}

@media(max-width:900px){

  .story-hero,
  .story-grid-two,
  .story-grid-three,
  .story-timeline-band{
    grid-template-columns:1fr;
  }

  .story-timeline-line{
    display:none;
  }

  .word-story-card{
    flex-direction:column;
    align-items:flex-start;
  }

}


/* Story Feed experimental dashboard */

.feed-mode-toggle.active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.story-feed-dashboard{
  margin:24px 0 36px;
  display:grid;
  gap:28px;
}

.feed-intro-card,
.feed-chapter{
  border:1px solid #e7e7e7;
  background:
    radial-gradient(circle at 88% 12%, rgba(0,0,0,.07), transparent 26%),
    linear-gradient(135deg,#fff,#f8f8f8);
  border-radius:34px;
  box-shadow:0 18px 44px rgba(0,0,0,.055);
}

.feed-intro-card{
  padding:30px;
}

.feed-intro-card h2{
  margin:0;
  max-width:760px;
  font-size:clamp(2rem,5vw,4.2rem);
  line-height:.95;
  letter-spacing:-.06em;
}

.feed-intro-card p{
  margin:14px 0 0;
  max-width:620px;
  color:#555;
  font-size:1.05rem;
  line-height:1.5;
  font-weight:700;
}

.feed-chapter{
  min-height:320px;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  overflow:hidden;
}

.feed-chapter-number{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:32px;
  background:#111;
  color:#fff;
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:-.04em;
}

.feed-chapter-content{
  padding:34px;
  position:relative;
}

.feed-kicker{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
  color:#777;
  margin-bottom:12px;
}

.feed-chapter h2{
  margin:0;
  max-width:900px;
  font-size:clamp(2.25rem,6vw,5.4rem);
  line-height:.92;
  letter-spacing:-.065em;
}

.feed-chapter p{
  margin:16px 0 0;
  max-width:660px;
  color:#555;
  font-size:1.05rem;
  line-height:1.5;
  font-weight:700;
}

.feed-money-chapter h2{
  font-size:clamp(3rem,9vw,7rem);
}

.feed-metric-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:28px auto 0;
  max-width:760px;
  width:100%;
}

.feed-metric-row div{
  background:rgba(255,255,255,.85);
  border:1px solid #eee;
  border-radius:22px;
  padding:16px;
}

.feed-metric-row span{
  display:block;
  color:#777;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.06em;
  margin-bottom:6px;
}

.feed-metric-row strong{
  font-size:1.25rem;
  letter-spacing:-.04em;
}

.feed-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin-top:26px;
}

.feed-mini-panel{
  color:inherit;
  text-decoration:none;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:26px;
  padding:20px;
  min-height:150px;
  box-shadow:0 12px 28px rgba(0,0,0,.045);
}

.feed-mini-panel span{
  display:block;
  color:#777;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.feed-mini-panel strong{
  display:block;
  font-size:1.45rem;
  letter-spacing:-.04em;
}

.feed-mini-panel em{
  display:block;
  margin-top:10px;
  color:#555;
  font-style:normal;
  line-height:1.4;
}

.feed-connector{
  border-top:3px dotted #cfcfcf;
}

.feed-action{
  margin-top:24px;
  border:none;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:11px 15px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.feed-intro-card,
.feed-chapter,
.feed-mini-panel{
  transition:transform .16s ease, box-shadow .16s ease;
}

.feed-intro-card:hover,
.feed-chapter:hover,
.feed-mini-panel:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(0,0,0,.075);
}

@media(max-width:900px){

  .feed-chapter{
    grid-template-columns:1fr;
  }

  .feed-chapter-number{
    justify-content:flex-start;
    padding:18px 24px;
  }

  .feed-metric-row,
  .feed-pair{
    grid-template-columns:1fr;
  }

  .feed-connector{
    display:none;
  }

}


.feed-big-number{
  font-variant-numeric:tabular-nums;
  display:inline-block;
}

.feed-big-number.counting{
  transform:translateY(-1px);
  text-shadow:0 10px 30px rgba(0,0,0,.08);
}

.feed-big-number.count-complete{
  animation:feedNumberSettle .32s ease;
}

@keyframes feedNumberSettle{
  0%{transform:scale(1);}
  45%{transform:scale(1.018);}
  100%{transform:scale(1);}
}


/* Story Feed immersive polish */

.story-feed-dashboard{
  max-width:1120px;
  margin:34px auto 70px;
  gap:44px;
}

.feed-intro-card,
.feed-chapter{
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
}

.feed-intro-card{
  min-height:420px;
  display:flex;
  align-items:center;
  padding:56px;
}

.feed-chapter{
  min-height:78vh;
  grid-template-columns:128px minmax(0,1fr);
  border-radius:42px;
}

.feed-chapter-content{
  padding:clamp(38px,6vw,72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.feed-chapter-number{
  padding-top:48px;
  font-size:2rem;
}

.feed-chapter h2{
  font-size:clamp(3.3rem,8vw,7.6rem);
  max-width:980px;
}

.feed-money-chapter h2,
.feed-big-number{
  font-size:clamp(3.9rem,10vw,9rem) !important;
}

.feed-chapter p{
  max-width:760px;
  font-size:1.18rem;
}

.feed-metric-row{
  max-width:860px;
}

.feed-metric-row div{
  padding:20px;
}

.feed-metric-row strong{
  font-size:1.55rem;
}

.feed-action{
  align-self:flex-start;
  padding:13px 18px;
  margin-top:30px;
}

.feed-ready{
  animation:feedCardEnter .7s ease both;
  animation-delay:var(--feed-delay,0ms);
}

@keyframes feedCardEnter{
  0%{
    opacity:0;
    transform:translateY(24px) scale(.985);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.feed-animated-card::after{
  content:"";
  position:absolute;
  inset:auto -90px -120px auto;
  width:260px;
  height:260px;
  border-radius:999px;
  border:42px solid rgba(0,0,0,.045);
  pointer-events:none;
}

.feed-big-number{
  font-variant-numeric:tabular-nums;
  display:inline-block;
  will-change:contents, transform;
}

.feed-big-number.counting{
  animation:feedNumberPulse .22s ease infinite alternate;
}

@keyframes feedNumberPulse{
  from{transform:translateY(0) scale(1);}
  to{transform:translateY(-2px) scale(1.006);}
}

.feed-big-number.count-complete{
  animation:feedNumberSettle .42s ease;
}

.feed-timeline-card .feed-connector{
  animation:feedDashMove 1.2s linear infinite;
}

@keyframes feedDashMove{
  from{opacity:.42;}
  50%{opacity:1;}
  to{opacity:.42;}
}

.feed-orbit{
  position:absolute;
  right:44px;
  top:44px;
  width:126px;
  height:126px;
  border:2px dashed rgba(0,0,0,.16);
  border-radius:999px;
  animation:feedOrbitSpin 9s linear infinite;
}

.feed-orbit span{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#111;
}

.feed-orbit span:nth-child(1){left:50%;top:-9px;}
.feed-orbit span:nth-child(2){right:5px;bottom:18px;}
.feed-orbit span:nth-child(3){left:5px;bottom:18px;}

@keyframes feedOrbitSpin{
  to{transform:rotate(360deg);}
}

.feed-gap-line{
  position:absolute;
  right:46px;
  top:50px;
  width:220px;
  height:18px;
  border-radius:999px;
  background:repeating-linear-gradient(90deg, rgba(0,0,0,.2) 0 12px, transparent 12px 24px);
  opacity:.38;
  animation:feedGapDrift 1.7s ease-in-out infinite alternate;
}

@keyframes feedGapDrift{
  from{transform:translateX(-8px);}
  to{transform:translateX(8px);}
}

.feed-peak-bars{
  position:absolute;
  right:48px;
  top:42px;
  display:flex;
  gap:8px;
  align-items:flex-end;
  height:98px;
  opacity:.48;
}

.feed-peak-bars span{
  width:18px;
  border-radius:999px 999px 0 0;
  background:#111;
  animation:feedBars 1.25s ease-in-out infinite alternate;
}

.feed-peak-bars span:nth-child(1){height:34px;animation-delay:.05s;}
.feed-peak-bars span:nth-child(2){height:58px;animation-delay:.15s;}
.feed-peak-bars span:nth-child(3){height:92px;animation-delay:.25s;}
.feed-peak-bars span:nth-child(4){height:46px;animation-delay:.35s;}

@keyframes feedBars{
  from{transform:scaleY(.72);}
  to{transform:scaleY(1);}
}

.feed-word-card h2{
  text-transform:lowercase;
}

@media(max-width:900px){

  .story-feed-dashboard{
    max-width:none;
    gap:26px;
  }

  .feed-intro-card{
    min-height:340px;
    padding:32px;
  }

  .feed-chapter{
    min-height:auto;
    grid-template-columns:1fr;
  }

  .feed-chapter-content{
    padding:32px;
  }

  .feed-orbit,
  .feed-gap-line,
  .feed-peak-bars{
    display:none;
  }

}


/* Repeat Habit interactive physics pile */

.repeat-physics-box{
  position:relative;
  height:340px;
  max-width:760px;
  margin-top:28px;
  margin-bottom:4px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:30px;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.9), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.42));
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
  cursor:grab;
}

.repeat-physics-box.dragging{
  cursor:grabbing;
}

.repeat-physics-box canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  z-index:2;
}

.repeat-physics-hint{
  position:absolute;
  left:18px;
  bottom:14px;
  z-index:3;
  color:#555;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}

.feed-repeat-card::after{
  content:"↻";
  position:absolute;
  right:30px;
  top:10px;
  width:auto;
  height:auto;
  border:none;
  font-size:11rem;
  line-height:1;
  color:rgba(0,0,0,.045);
  font-weight:900;
}

@media(max-width:900px){

  .repeat-physics-box{
    height:280px;
  }

}


/* Repeat pile fallback: reliable DOM packages */

.repeat-physics-box{
  isolation:isolate;
}

.repeat-purchase-token{
  position:absolute;
  z-index:2;
  border:1px solid rgba(0,0,0,.16);
  border-radius:6px;
  cursor:grab;
  box-shadow:0 7px 14px rgba(0,0,0,.16);
  transform:translateY(var(--start-y)) rotate(var(--spin));
  animation:repeatTokenDrop .85s cubic-bezier(.16,.78,.28,1.18) forwards;
  animation-delay:var(--drop-delay);
  touch-action:none;
}

.repeat-purchase-token::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:2px;
  height:100%;
  background:rgba(255,255,255,.28);
  transform:translateX(-50%);
}

.repeat-purchase-token:hover{
  transform:scale(1.08);
}

.repeat-purchase-token.dragging{
  z-index:20;
  cursor:grabbing;
  animation:none;
  box-shadow:0 14px 28px rgba(0,0,0,.24);
}

.repeat-purchase-token.bumped{
  animation:repeatTokenBump .25s ease;
}

@keyframes repeatTokenDrop{
  0%{
    opacity:0;
    transform:translateY(var(--start-y)) rotate(var(--spin)) scale(.84);
  }
  65%{
    opacity:1;
    transform:translateY(10px) rotate(0deg) scale(1.04);
  }
  82%{
    transform:translateY(-5px) rotate(0deg) scale(.98);
  }
  100%{
    opacity:1;
    transform:translateY(0) rotate(0deg) scale(1);
  }
}

@keyframes repeatTokenBump{
  0%{transform:scale(1);}
  45%{transform:scale(1.16);}
  100%{transform:scale(1);}
}

/* Trigger deeper card-specific animations as each chapter enters view */

.feed-chapter,
.feed-intro-card{
  opacity:.15;
}

.feed-chapter.feed-in-view,
.feed-intro-card.feed-in-view{
  opacity:1;
}

.feed-timeline-card.feed-in-view .feed-connector{
  transform-origin:left center;
  animation:feedConnectorDraw 1.1s ease both, feedDashMove 1.2s linear 1.1s infinite;
}

@keyframes feedConnectorDraw{
  from{
    transform:scaleX(0);
    opacity:.1;
  }
  to{
    transform:scaleX(1);
    opacity:1;
  }
}

.feed-drought-card.feed-in-view .feed-gap-line{
  animation:feedGapReveal 1.1s ease both, feedGapDrift 1.7s ease-in-out 1.1s infinite alternate;
}

@keyframes feedGapReveal{
  from{
    width:0;
    opacity:.1;
  }
  to{
    width:220px;
    opacity:.38;
  }
}

.feed-peak-card.feed-in-view .feed-peak-bars span{
  animation:feedBarsRise .8s ease both, feedBars 1.25s ease-in-out .8s infinite alternate;
}

@keyframes feedBarsRise{
  from{
    transform:scaleY(0);
    opacity:0;
  }
  to{
    transform:scaleY(1);
    opacity:1;
  }
}

.feed-word-card.feed-in-view h2{
  animation:feedWordFloat .9s ease both;
}

@keyframes feedWordFloat{
  from{
    opacity:0;
    letter-spacing:.08em;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    letter-spacing:-.065em;
    transform:translateY(0);
  }
}


/* v117: full Story Feed chapter animations */

.story-feed-dashboard{
  scroll-snap-type:y proximity;
}

.feed-chapter,
.feed-intro-card{
  scroll-snap-align:center;
}

.feed-chapter{
  transform-origin:center center;
}

.feed-ready{
  opacity:.01;
  transform:translateY(40px) scale(.96);
}

.feed-ready.feed-in-view{
  animation:feedFullCardArrive .9s cubic-bezier(.16,.78,.2,1) both;
  animation-delay:var(--feed-delay,0ms);
}

@keyframes feedFullCardArrive{
  0%{
    opacity:.01;
    transform:translateY(58px) scale(.94);
    filter:blur(8px);
  }
  60%{
    opacity:1;
    transform:translateY(-4px) scale(1.006);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

.feed-ready.feed-in-view .feed-chapter-number{
  animation:feedChapterNumberPop .7s ease both;
}

@keyframes feedChapterNumberPop{
  from{
    opacity:0;
    transform:translateX(-18px) scale(.82);
  }
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

.feed-ready.feed-in-view .feed-kicker{
  animation:feedTextRise .55s ease both .15s;
}

.feed-ready.feed-in-view h2{
  animation:feedHeadlineRise .7s cubic-bezier(.16,.78,.2,1) both .22s;
}

.feed-ready.feed-in-view p,
.feed-ready.feed-in-view .feed-action,
.feed-ready.feed-in-view .feed-metric-row,
.feed-ready.feed-in-view .feed-pair,
.feed-ready.feed-in-view .repeat-physics-box{
  animation:feedTextRise .65s ease both .36s;
}

@keyframes feedHeadlineRise{
  from{
    opacity:0;
    transform:translateY(24px);
    letter-spacing:-.02em;
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes feedTextRise{
  from{
    opacity:0;
    transform:translateY(16px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* First/latest timeline: visible full-card motion */
.feed-timeline-card.feed-in-view .feed-mini-panel:first-child{
  animation:feedPanelSlideLeft .75s ease both .28s;
}

.feed-timeline-card.feed-in-view .feed-mini-panel:last-child{
  animation:feedPanelSlideRight .75s ease both .52s;
}

.feed-timeline-card.feed-in-view .feed-connector{
  transform-origin:left center;
  animation:feedConnectorDraw 1.05s ease both .42s, feedDashMove 1.2s linear 1.55s infinite;
}

@keyframes feedPanelSlideLeft{
  from{opacity:0;transform:translateX(-34px) scale(.96);}
  to{opacity:1;transform:translateX(0) scale(1);}
}

@keyframes feedPanelSlideRight{
  from{opacity:0;transform:translateX(34px) scale(.96);}
  to{opacity:1;transform:translateX(0) scale(1);}
}

/* Repeat pile: make packages unmistakable */
.repeat-physics-box{
  min-height:360px;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,0,0,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.88), rgba(245,245,245,.65));
}

.repeat-purchase-token{
  opacity:0;
  position:absolute;
  z-index:2;
  border:1px solid rgba(0,0,0,.20);
  border-radius:7px;
  cursor:grab;
  box-shadow:0 9px 17px rgba(0,0,0,.18);
  transform:translateY(var(--start-y)) rotate(var(--spin));
  animation:repeatTokenDrop 1.05s cubic-bezier(.16,.78,.28,1.18) forwards;
  animation-delay:var(--drop-delay);
  touch-action:none;
}

.repeat-purchase-token::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  top:2px;
  height:34%;
  border-radius:5px;
  background:rgba(255,255,255,.22);
}

.repeat-purchase-token:hover{
  filter:brightness(1.08);
}

.repeat-purchase-token.dragging{
  z-index:30;
  animation:none;
  opacity:1;
  cursor:grabbing;
  box-shadow:0 18px 34px rgba(0,0,0,.26);
}

@keyframes repeatTokenDrop{
  0%{
    opacity:0;
    transform:translateY(var(--start-y)) rotate(var(--spin)) scale(.72);
  }
  55%{
    opacity:1;
    transform:translateY(18px) rotate(0deg) scale(1.08);
  }
  75%{
    transform:translateY(-7px) rotate(0deg) scale(.98);
  }
  100%{
    opacity:1;
    transform:translateY(0) rotate(0deg) scale(1);
  }
}

/* Drought: whole concept expands */
.feed-drought-card.feed-in-view .feed-gap-line{
  animation:feedGapRevealWide 1.15s ease both .25s, feedGapDrift 1.7s ease-in-out 1.4s infinite alternate;
}

@keyframes feedGapRevealWide{
  0%{
    width:0;
    opacity:.05;
    transform:translateX(-28px);
  }
  100%{
    width:min(320px,34vw);
    opacity:.42;
    transform:translateX(0);
  }
}

/* Peak: bars rise as the section arrives */
.feed-peak-card.feed-in-view .feed-peak-bars span{
  transform-origin:bottom center;
  animation:feedBarsRiseBig .9s cubic-bezier(.16,.78,.28,1.18) both, feedBars 1.25s ease-in-out 1s infinite alternate;
}

@keyframes feedBarsRiseBig{
  from{
    transform:scaleY(0);
    opacity:0;
  }
  70%{
    transform:scaleY(1.12);
    opacity:1;
  }
  to{
    transform:scaleY(1);
    opacity:1;
  }
}

/* Word card: data remains center but word arrives dramatically */
.feed-word-card.feed-in-view h2{
  animation:feedWordRevealBig .9s cubic-bezier(.16,.78,.2,1) both .2s;
}

@keyframes feedWordRevealBig{
  from{
    opacity:0;
    transform:translateY(34px) scale(.9);
    letter-spacing:.12em;
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:-.065em;
  }
}

@media(max-width:900px){
  .repeat-physics-box{
    min-height:290px;
  }
}


/* v118: animate the subject/data inside each Story Feed card */

.feed-chapter h2,
.feed-pair,
.repeat-physics-box,
.feed-gap-line,
.feed-peak-bars,
.feed-word-card h2{
  will-change:transform, opacity;
}

/* Make the big subject arrive, not just the card */
.feed-timeline-card.subject-animate .feed-pair{
  animation:subjectTimelineAppear 1.05s cubic-bezier(.16,.78,.2,1) both;
}

@keyframes subjectTimelineAppear{
  0%{
    opacity:0;
    transform:translateY(28px) scale(.96);
  }
  55%{
    opacity:1;
    transform:translateY(-3px) scale(1.015);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.feed-timeline-card.subject-animate .feed-connector{
  transform-origin:left center;
  animation:feedConnectorDraw 1.15s ease both .24s, feedDashMove 1.2s linear 1.45s infinite;
}

/* Repeat Habit: real physics canvas box */
.repeat-physics-box{
  position:relative;
  height:390px;
  max-width:840px;
  margin-top:30px;
  margin-bottom:6px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,0,0,.08), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,244,244,.72));
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65), 0 12px 30px rgba(0,0,0,.045);
  cursor:grab;
}

.repeat-physics-box.dragging{
  cursor:grabbing;
}

.repeat-physics-box canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  z-index:2;
}

.repeat-physics-hint{
  position:absolute;
  left:18px;
  bottom:14px;
  z-index:4;
  color:#555;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:900;
  pointer-events:none;
}

/* Drought subject animation */
.feed-drought-card.subject-animate h2{
  animation:subjectDurationStretch .95s cubic-bezier(.16,.78,.2,1) both;
}

.feed-drought-card.subject-animate .feed-gap-line{
  animation:subjectGapOpen 1.15s ease both .18s, feedGapDrift 1.7s ease-in-out 1.35s infinite alternate;
}

@keyframes subjectDurationStretch{
  0%{
    opacity:0;
    transform:scaleX(.72) translateY(18px);
    transform-origin:left center;
  }
  70%{
    opacity:1;
    transform:scaleX(1.04) translateY(0);
  }
  100%{
    opacity:1;
    transform:scaleX(1) translateY(0);
  }
}

@keyframes subjectGapOpen{
  0%{
    width:0;
    opacity:.08;
  }
  100%{
    width:min(360px,38vw);
    opacity:.45;
  }
}

/* Spending peak subject animation */
.feed-peak-card.subject-animate h2{
  animation:subjectPeakPop .95s cubic-bezier(.16,.78,.2,1) both;
}

.feed-peak-card.subject-animate .feed-peak-bars span{
  transform-origin:bottom center;
  animation:subjectBarsRise 1s cubic-bezier(.16,.78,.28,1.18) both, feedBars 1.25s ease-in-out 1s infinite alternate;
}

@keyframes subjectPeakPop{
  0%{
    opacity:0;
    transform:translateY(28px) scale(.88);
  }
  60%{
    opacity:1;
    transform:translateY(-4px) scale(1.035);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes subjectBarsRise{
  from{
    transform:scaleY(0);
    opacity:0;
  }
  70%{
    transform:scaleY(1.14);
    opacity:1;
  }
  to{
    transform:scaleY(1);
    opacity:1;
  }
}

/* Product language subject animation */
.feed-word-card.subject-animate h2{
  animation:subjectWordBloom 1s cubic-bezier(.16,.78,.2,1) both;
}

@keyframes subjectWordBloom{
  0%{
    opacity:0;
    transform:translateY(28px) scale(.84);
    letter-spacing:.14em;
    filter:blur(6px);
  }
  70%{
    opacity:1;
    transform:translateY(-2px) scale(1.035);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    letter-spacing:-.065em;
    filter:blur(0);
  }
}

@media(max-width:900px){
  .repeat-physics-box{
    height:300px;
  }
}


/* v119 repeat physics game tuning */

.repeat-physics-box{
  height:440px !important;
  max-width:860px;
  cursor:grab;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,0,0,.075), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(241,241,241,.76)) !important;
}

.repeat-physics-box.dragging{
  cursor:grabbing;
}

.repeat-physics-box.scroll-kicked{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.7),
    0 0 0 3px rgba(0,0,0,.045),
    0 16px 38px rgba(0,0,0,.08);
}

.repeat-physics-box canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  z-index:2;
  cursor:inherit;
}

.repeat-physics-hint{
  z-index:4;
}

@media(max-width:900px){
  .repeat-physics-box{
    height:330px !important;
  }
}


/* v120 invisible-frame background physics */

.feed-repeat-card .feed-chapter-content{
  overflow:hidden;
  position:relative;
}

.feed-repeat-card .feed-kicker,
.feed-repeat-card h2,
.feed-repeat-card p,
.feed-repeat-card .feed-action{
  position:relative;
  z-index:3;
}

.repeat-physics-box{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
  pointer-events:none !important;
  cursor:default !important;
  z-index:1;
}

.repeat-physics-box canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  z-index:1;
}

.repeat-physics-box.scroll-kicked{
  box-shadow:none !important;
}

.repeat-physics-hint{
  display:none !important;
}

.feed-repeat-card{
  isolation:isolate;
}

.feed-repeat-card::after{
  z-index:0;
}


/* Repeat physics color toggle */

.repeat-color-toggle{
  position:absolute;
  top:24px;
  right:24px;
  z-index:5;
  width:42px;
  height:42px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.repeat-color-toggle span{
  width:22px;
  height:22px;
  border-radius:999px;
  background:conic-gradient(from 0deg, #ff4d4d, #ffd166, #4ade80, #38bdf8, #a78bfa, #ff4d4d);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);
}

.repeat-color-toggle:hover{
  transform:translateY(-1px) scale(1.04);
  box-shadow:0 14px 28px rgba(0,0,0,.12);
}

.repeat-color-toggle.active{
  background:#111;
  border-color:#111;
}

.repeat-color-toggle.active span{
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 0 18px rgba(255,255,255,.35);
}



/* v122 pool-ball polish */

.repeat-physics-box canvas{
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.08));
}

.repeat-color-toggle span{
  background:conic-gradient(from 0deg, #f87171, #facc15, #4ade80, #38bdf8, #a78bfa, #f472b6, #f87171);
}



/* v123 Story Feed icon rail */

.feed-chapter-number{
  position:relative;
  padding-top:0 !important;
  align-items:center !important;
  font-size:1rem;
}

.feed-chapter-number span{
  position:relative;
  z-index:2;
}

/* Money glyph */
.feed-icon-money span{
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111;
  font-size:2rem;
  font-weight:950;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.feed-money-chapter.subject-animate .feed-icon-money span,
.feed-money-chapter.feed-in-view .feed-icon-money span{
  animation:railMoneyPop .8s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes railMoneyPop{
  from{transform:translateY(18px) scale(.65);opacity:0;}
  60%{transform:translateY(-4px) scale(1.08);opacity:1;}
  to{transform:translateY(0) scale(1);opacity:1;}
}

/* Timeline rail */
.feed-icon-timeline::before{
  content:"";
  position:absolute;
  top:22%;
  bottom:22%;
  left:50%;
  width:3px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.35);
  border-radius:999px;
}

.feed-icon-timeline span{
  width:16px;
  height:16px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 54px 0 #fff, 0 0 0 6px rgba(255,255,255,.13), 0 54px 0 6px rgba(255,255,255,.13);
}

.feed-timeline-card.feed-in-view .feed-icon-timeline span{
  animation:railTimelineDot 1.15s ease both;
}

@keyframes railTimelineDot{
  from{transform:translateY(-42px);opacity:.3;}
  to{transform:translateY(0);opacity:1;}
}

/* Repeat rail */
.feed-icon-repeat span{
  width:52px;
  height:52px;
  border:3px solid #fff;
  border-radius:999px;
  display:block;
  position:relative;
}

.feed-icon-repeat span::after{
  content:"";
  position:absolute;
  right:-4px;
  top:4px;
  border-left:11px solid #fff;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  transform:rotate(-24deg);
}

.feed-repeat-card.feed-in-view .feed-icon-repeat span{
  animation:railRepeatSpin 1.6s ease-in-out both;
}

@keyframes railRepeatSpin{
  from{transform:rotate(-220deg) scale(.75);opacity:.2;}
  to{transform:rotate(0deg) scale(1);opacity:1;}
}

/* Drought rail */
.feed-icon-drought span{
  width:8px;
  height:118px;
  border-radius:999px;
  background:repeating-linear-gradient(180deg,#fff 0 10px,transparent 10px 22px);
  opacity:.9;
}

.feed-drought-card.feed-in-view .feed-icon-drought span{
  animation:railDroughtStretch 1s ease both;
}

@keyframes railDroughtStretch{
  from{height:0;opacity:.25;}
  to{height:118px;opacity:.9;}
}

/* Peak rail */
.feed-icon-peak{
  gap:5px;
}

.feed-icon-peak span{
  width:10px;
  border-radius:999px 999px 0 0;
  background:#fff;
  display:block;
  transform-origin:bottom center;
}

.feed-icon-peak span:nth-child(1){height:34px;}
.feed-icon-peak span:nth-child(2){height:72px;}
.feed-icon-peak span:nth-child(3){height:48px;}

.feed-peak-card.feed-in-view .feed-icon-peak span{
  animation:railPeakRise .9s cubic-bezier(.16,.78,.28,1.18) both;
}

.feed-peak-card.feed-in-view .feed-icon-peak span:nth-child(2){animation-delay:.08s;}
.feed-peak-card.feed-in-view .feed-icon-peak span:nth-child(3){animation-delay:.16s;}

@keyframes railPeakRise{
  from{transform:scaleY(0);opacity:0;}
  to{transform:scaleY(1);opacity:1;}
}

/* Word rail */
.feed-icon-word span{
  width:58px;
  height:58px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111;
  font-weight:950;
  letter-spacing:-.08em;
  font-size:1.4rem;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}

.feed-word-card.feed-in-view .feed-icon-word span{
  animation:railWordFloat 1s ease both;
}

@keyframes railWordFloat{
  from{transform:translateY(20px) rotate(-8deg);opacity:0;}
  to{transform:translateY(0) rotate(0);opacity:1;}
}

/* Clean repeat balls: no numbers, just rounded glossy balls */
.repeat-physics-box canvas{
  filter:drop-shadow(0 14px 18px rgba(0,0,0,.07));
}



/* v124 Big Number context copy */

.feed-money-story{
  margin-top:24px;
  display:grid;
  gap:10px;
  max-width:820px;
}

.feed-money-story p{
  margin:0;
  max-width:none;
  color:#444;
  font-size:1.02rem;
  line-height:1.48;
  font-weight:700;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.055);
  border-radius:18px;
  padding:13px 15px;
}

.feed-money-story strong{
  color:#111;
  font-weight:950;
}

.feed-money-chapter.subject-animate .feed-money-story p,
.feed-money-chapter.feed-in-view .feed-money-story p{
  animation:feedTextRise .62s ease both;
}

.feed-money-chapter.subject-animate .feed-money-story p:nth-child(1),
.feed-money-chapter.feed-in-view .feed-money-story p:nth-child(1){
  animation-delay:.32s;
}

.feed-money-chapter.subject-animate .feed-money-story p:nth-child(2),
.feed-money-chapter.feed-in-view .feed-money-story p:nth-child(2){
  animation-delay:.44s;
}

.feed-money-chapter.subject-animate .feed-money-story p:nth-child(3),
.feed-money-chapter.feed-in-view .feed-money-story p:nth-child(3){
  animation-delay:.56s;
}


/* v125 Big Number subhead and Beginning/Now timeline subject */

.feed-money-chapter > .feed-chapter-content > p:first-of-type{
  font-size:1.14rem;
  font-weight:850;
  color:#444;
}

.feed-timeline-subject{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:20px;
  margin-top:28px;
  max-width:880px;
}

.feed-time-rail{
  position:relative;
  height:52px;
  display:flex;
  align-items:center;
}

.feed-time-rail-line{
  position:absolute;
  left:20px;
  right:20px;
  height:5px;
  border-radius:999px;
  background:rgba(0,0,0,.09);
  overflow:hidden;
}

.feed-time-rail-line::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:100%;
  border-radius:999px;
  background:#111;
  transform:scaleX(0);
  transform-origin:left center;
}

.feed-time-dot{
  position:absolute;
  top:50%;
  width:20px;
  height:20px;
  margin-top:-10px;
  border-radius:999px;
  background:#111;
  box-shadow:0 0 0 8px rgba(0,0,0,.08);
  opacity:0;
  transform:scale(.55);
}

.feed-time-dot-start{
  left:12px;
}

.feed-time-dot-end{
  right:12px;
}

.feed-time-traveler{
  position:absolute;
  left:12px;
  top:50%;
  width:28px;
  height:28px;
  margin-top:-14px;
  border-radius:999px;
  background:#fff;
  border:4px solid #111;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  opacity:0;
}

.feed-timeline-card.feed-in-view .feed-time-dot-start{
  animation:timelineDotPop .35s ease both .2s;
}

.feed-timeline-card.feed-in-view .feed-time-rail-line::after{
  animation:timelineLineGrow 1.15s cubic-bezier(.16,.78,.2,1) both .42s;
}

.feed-timeline-card.feed-in-view .feed-time-traveler{
  animation:timelineTraveler 1.15s cubic-bezier(.16,.78,.2,1) both .42s;
}

.feed-timeline-card.feed-in-view .feed-time-dot-end{
  animation:timelineDotPop .35s ease both 1.48s;
}

.feed-timeline-card.feed-in-view .feed-first-panel{
  animation:timelinePanelFirst .62s ease both .12s;
}

.feed-timeline-card.feed-in-view .feed-latest-panel{
  animation:timelinePanelLatest .62s ease both 1.42s;
}

@keyframes timelineLineGrow{
  from{transform:scaleX(0);}
  to{transform:scaleX(1);}
}

@keyframes timelineTraveler{
  0%{
    opacity:0;
    transform:translateX(0) scale(.7);
  }
  10%{
    opacity:1;
  }
  88%{
    opacity:1;
    transform:translateX(calc(min(820px, 100vw - 360px))) scale(1);
  }
  100%{
    opacity:0;
    transform:translateX(calc(min(820px, 100vw - 360px))) scale(.75);
  }
}

@keyframes timelineDotPop{
  from{
    opacity:0;
    transform:scale(.55);
  }
  70%{
    opacity:1;
    transform:scale(1.14);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}

@keyframes timelinePanelFirst{
  from{
    opacity:0;
    transform:translateX(-28px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

@keyframes timelinePanelLatest{
  from{
    opacity:0;
    transform:translateX(28px) scale(.97);
  }
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

@media(max-width:900px){
  .feed-time-rail-line{
    left:18px;
    right:18px;
  }

  @keyframes timelineTraveler{
    0%{opacity:0;transform:translateX(0) scale(.7);}
    10%{opacity:1;}
    88%{opacity:1;transform:translateX(calc(100vw - 128px)) scale(1);}
    100%{opacity:0;transform:translateX(calc(100vw - 128px)) scale(.75);}
  }
}


/* v126: slower Beginning and Now reveal */
.feed-timeline-card.feed-in-view .feed-time-dot-start{
  animation:timelineDotPop .55s ease both .35s !important;
}

.feed-timeline-card.feed-in-view .feed-time-rail-line::after{
  animation:timelineLineGrow 2.15s cubic-bezier(.16,.78,.2,1) both .75s !important;
}

.feed-timeline-card.feed-in-view .feed-time-traveler{
  animation:timelineTraveler 2.15s cubic-bezier(.16,.78,.2,1) both .75s !important;
}

.feed-timeline-card.feed-in-view .feed-time-dot-end{
  animation:timelineDotPop .55s ease both 2.82s !important;
}

.feed-timeline-card.feed-in-view .feed-first-panel{
  animation:timelinePanelFirst .85s ease both .22s !important;
}

.feed-timeline-card.feed-in-view .feed-latest-panel{
  animation:timelinePanelLatest .85s ease both 2.78s !important;
}

.feed-timeline-card.subject-animate .feed-pair{
  animation-duration:1.45s !important;
}


/* v127 richer Story Feed context */

.work-hours-card,
.repeat-guess-game,
.drought-context,
.peak-context{
  position:relative;
  z-index:4;
}

.work-hours-card{
  margin-top:22px;
  max-width:820px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.07);
  border-radius:22px;
  padding:16px;
}

.work-hours-card label{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:950;
  color:#666;
  margin-bottom:10px;
}

.work-hours-card input[type="range"]{
  width:100%;
  accent-color:#111;
}

.work-hours-result{
  margin-top:10px;
  color:#444;
  font-weight:750;
  line-height:1.45;
}

.month-heat-strip{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:8px;
  margin-top:28px;
  max-width:880px;
}

.month-heat-cell{
  position:relative;
  height:92px;
  border-radius:16px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.06);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:8px;
}

.month-fill{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:#111;
  transform:scaleY(0);
  transform-origin:bottom center;
  opacity:.9;
}

.month-heat-cell span{
  position:relative;
  z-index:2;
  font-size:11px;
  font-weight:950;
  color:#111;
  mix-blend-mode:difference;
  filter:invert(1);
}

.feed-timeline-card.feed-in-view .month-fill{
  animation:monthFillRise .9s ease both;
}

.month-heat-cell:nth-child(2) .month-fill{animation-delay:.05s;}
.month-heat-cell:nth-child(3) .month-fill{animation-delay:.1s;}
.month-heat-cell:nth-child(4) .month-fill{animation-delay:.15s;}
.month-heat-cell:nth-child(5) .month-fill{animation-delay:.2s;}
.month-heat-cell:nth-child(6) .month-fill{animation-delay:.25s;}
.month-heat-cell:nth-child(7) .month-fill{animation-delay:.3s;}
.month-heat-cell:nth-child(8) .month-fill{animation-delay:.35s;}
.month-heat-cell:nth-child(9) .month-fill{animation-delay:.4s;}
.month-heat-cell:nth-child(10) .month-fill{animation-delay:.45s;}
.month-heat-cell:nth-child(11) .month-fill{animation-delay:.5s;}
.month-heat-cell:nth-child(12) .month-fill{animation-delay:.55s;}

@keyframes monthFillRise{
  from{transform:scaleY(0);}
  to{transform:scaleY(1);}
}

.repeat-rhythm-strip{
  position:relative;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}

.repeat-rhythm-strip span{
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.07);
  padding:8px 10px;
  font-size:12px;
  font-weight:900;
  color:#444;
}

.repeat-guess-game{
  margin-top:20px;
  max-width:880px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(0,0,0,.07);
  border-radius:24px;
  padding:16px;
}

.repeat-game-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}

.repeat-game-head strong{
  display:block;
  font-size:1rem;
}

.repeat-game-head span{
  display:block;
  margin-top:3px;
  font-size:13px;
  color:#666;
  font-weight:750;
}

.repeat-game-refresh{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#111;
  color:#fff;
  font-weight:950;
  cursor:pointer;
}

.repeat-game-board{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(120px,.32fr);
  gap:12px;
}

.repeat-game-products{
  display:grid;
  gap:8px;
}

.repeat-product-choice{
  text-align:left;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  padding:10px;
  cursor:pointer;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
}

.repeat-product-choice span{
  width:24px;
  height:24px;
  border-radius:999px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:950;
}

.repeat-product-choice strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.repeat-product-choice em{
  grid-column:2;
  color:#777;
  font-style:normal;
  font-size:12px;
  font-weight:800;
}

.repeat-product-choice.selected{
  outline:3px solid rgba(0,0,0,.16);
}

.repeat-product-choice.correct{
  background:#effaf1;
}

.repeat-product-choice.wrong{
  background:#fff3f3;
}

.repeat-game-counts{
  display:grid;
  gap:8px;
  align-content:start;
}

.repeat-count-choice{
  border:0;
  border-radius:8px;
  background:#111;
  color:#fff;
  font-size:1.25rem;
  font-weight:950;
  padding:12px;
  cursor:pointer;
}

.repeat-count-choice:disabled{
  opacity:.45;
  cursor:default;
}

.repeat-game-result{
  margin-top:12px;
  color:#333;
  font-weight:900;
}

.drought-context,
.peak-context{
  margin-top:18px;
  display:grid;
  gap:8px;
  max-width:760px;
}

.drought-context div,
.peak-context div{
  background:rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:11px 13px;
  color:#444;
  font-weight:750;
  line-height:1.42;
}

.word-bubble-cluster{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
  max-width:760px;
}

.word-bubble{
  border:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.76);
  border-radius:999px;
  padding:10px 14px;
  font:inherit;
  font-weight:950;
  color:#222;
  cursor:pointer;
  animation:wordBubbleFloat 3.2s ease-in-out infinite alternate;
}

.word-bubble:nth-child(2){animation-delay:.35s;}
.word-bubble:nth-child(3){animation-delay:.7s;}
.word-bubble:nth-child(4){animation-delay:1.05s;}
.word-bubble:nth-child(5){animation-delay:1.4s;}

@keyframes wordBubbleFloat{
  from{transform:translateY(0);}
  to{transform:translateY(-8px);}
}

@media(max-width:900px){
  .month-heat-strip{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }

  .repeat-game-board{
    grid-template-columns:1fr;
  }
}


/* v128 refinements */

.changing-number{
  display:inline-block;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:2px 8px;
  font-weight:950;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.work-hours-result.just-updated .changing-number{
  animation:changingNumberPulse .28s ease;
}

@keyframes changingNumberPulse{
  0%{transform:scale(1);}
  45%{transform:scale(1.06);}
  100%{transform:scale(1);}
}

/* Make month fills visible and animate the actual height */
.month-fill{
  height:var(--month-height,0%) !important;
  transform:none !important;
  opacity:.92;
}

.feed-timeline-card.feed-in-view .month-fill{
  animation:monthFillReveal .85s ease both;
}

@keyframes monthFillReveal{
  from{height:0;}
  to{height:var(--month-height,0%);}
}

.month-heat-cell{
  background:rgba(255,255,255,.82);
}

.month-heat-cell span{
  mix-blend-mode:normal !important;
  filter:none !important;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}

.month-heat-cell .month-fill[style*="--month-height:0%"] + span{
  color:#333;
  text-shadow:none;
}

/* Clearer repeat guessing UI */
.repeat-game-board-stacked{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.repeat-product-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:18px;
  background:#fff;
  padding:12px;
}

.repeat-product-title{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:9px;
  align-items:center;
}

.repeat-product-title span{
  width:26px;
  height:26px;
  border-radius:999px;
  background:#111;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:950;
}

.repeat-product-title strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.repeat-inline-counts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}

.repeat-product-card .repeat-count-choice{
  min-width:58px;
  padding:10px 12px;
  font-size:1rem;
}

.repeat-count-choice.real-answer{
  outline:3px solid rgba(0,0,0,.18);
}

.repeat-product-card.correct{
  background:#effaf1;
}

.repeat-product-card.wrong{
  background:#fff3f3;
}

.repeat-product-card .repeat-answer-slot{
  display:block;
  margin-top:8px;
  color:#777;
  font-style:normal;
  font-size:12px;
  font-weight:850;
}

.repeat-game-counts,
.repeat-game-products{
  display:contents;
}


/* v129 work-time sentence and rebuy game flow */

.work-hours-result{
  line-height:2.35;
  padding-top:4px;
}

.changing-number{
  margin:0 3px;
  white-space:nowrap;
}

.repeat-product-title a{
  color:#111;
  text-decoration:none;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.repeat-product-title a:hover{
  text-decoration:underline;
}

.repeat-product-card.has-pick{
  outline:2px solid rgba(0,0,0,.12);
}

.repeat-count-choice.selected{
  background:#fff;
  color:#111;
  box-shadow:inset 0 0 0 3px #111;
}

.repeat-count-choice:disabled:not(.selected):not(.real-answer):not(.used-correct):not(.used-wrong){
  opacity:.25;
}

.repeat-product-card:not(.answered) .repeat-answer-slot{
  color:#333;
}



/* v130 repeat game replay + product language examples */

.repeat-game-inline-refresh{
  border:none;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font:inherit;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  margin-left:6px;
}

.repeat-game-inline-refresh:hover{
  transform:translateY(-1px);
}

.word-bubble{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}

.word-bubble strong{
  font-weight:950;
}

.word-bubble span{
  font-size:11px;
  color:#666;
  font-weight:850;
}

.word-example-grid{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  max-width:860px;
}

.word-example-grid > div{
  background:rgba(255,255,255,.75);
  border:1px solid rgba(0,0,0,.07);
  border-radius:20px;
  padding:14px;
}

.word-example-grid span{
  display:block;
  font-size:12px;
  color:#666;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:8px;
}

.story-product-example-link{
  display:block;
  color:#111;
  text-decoration:none;
  font-weight:900;
  line-height:1.35;
}

.story-product-example-link:hover{
  text-decoration:underline;
}

@media(max-width:900px){
  .word-example-grid{
    grid-template-columns:1fr;
  }
}


/* v132 Story Feed cleanup */

.feed-static-timeline{
  display:grid;
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 52px minmax(0,1fr);
  align-items:center;
  gap:18px;
  margin-top:28px;
  max-width:880px;
}

.feed-static-connector{
  border-top:3px dotted #cfcfcf;
}

.feed-timeline-card,
.feed-timeline-card.feed-ready,
.feed-timeline-card.feed-in-view,
.feed-timeline-card.feed-ready.feed-in-view{
  min-height:78vh !important;
  animation:none !important;
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
}

.feed-timeline-card.feed-in-view .feed-mini-panel,
.feed-timeline-card.feed-in-view h2,
.feed-timeline-card.feed-in-view p,
.feed-timeline-card.feed-in-view .feed-static-timeline{
  animation:none !important;
  opacity:1 !important;
  transform:none !important;
}

.beginning-now-game-body[hidden],
.beginning-now-purchases-body[hidden],
.repeat-habit-game-body[hidden],
.repeat-habit-purchases-body[hidden]{
  display:none !important;
}

.beginning-now-mode-toggle,
.repeat-habit-mode-toggle{
  margin-top:12px;
}

.repeat-empty-message{
  max-width:620px;
  margin:14px 0 0;
  color:#475569;
  font-size:1rem;
  line-height:1.45;
  font-weight:800;
}

.feed-random-panel{
  --random-latest-accent:#2563eb;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:#2563eb;
  background:#93c5fd;
}

.feed-random-panel::before{
  content:"";
  display:none;
  position:absolute;
  inset:-55%;
  z-index:0;
  background:none;
  animation:none;
  opacity:0;
}

.feed-random-panel::after{
  content:"";
  position:absolute;
  inset:2px;
  z-index:0;
  border-radius:24px;
  background:#93c5fd;
  opacity:.88;
}

.beginning-now-purchases-body .feed-first-panel{
  background:linear-gradient(135deg,#f3f4f6,#d1d5db);
  border-color:#9ca3af;
}

.beginning-now-purchases-body .feed-latest-panel{
  background:linear-gradient(135deg,#ccfbf1,#a7f3d0);
  border-color:#14b8a6;
}

.beginning-now-purchases-body .feed-first-panel,
.beginning-now-purchases-body .feed-latest-panel,
.beginning-now-purchases-body .feed-random-panel{
  color:#0f172a;
}

.feed-random-panel-link{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}

.feed-random-panel .random-purchase-content{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  min-width:0;
  min-height:100%;
}

.beginning-now-purchases-body .feed-mini-panel span,
.beginning-now-purchases-body .feed-random-panel-link span{
  display:block;
  color:#777;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.beginning-now-purchases-body .feed-mini-panel strong,
.beginning-now-purchases-body .feed-random-panel-link strong{
  display:block;
  font-size:1.45rem;
  line-height:1.1;
  letter-spacing:-.04em;
}

.beginning-now-purchases-body .feed-mini-panel em,
.beginning-now-purchases-body .feed-random-panel-link em{
  display:-webkit-box;
  min-height:2.7em;
  margin-top:10px;
  color:#555;
  font-size:inherit;
  font-style:normal;
  line-height:1.35;
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.random-purchase-refresh{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
}

@keyframes randomPurchaseVortex{
  to{transform:rotate(360deg);}
}

@media(prefers-reduced-motion:reduce){
  .feed-random-panel::before{
    animation:none;
  }
}

.month-heat-strip{
  display:none !important;
}

.repeat-product-title.no-repeat-number{
  display:block;
}

.repeat-product-title.no-repeat-number a{
  display:block;
}

.repeat-product-title.no-repeat-number span{
  display:none !important;
}

.repeat-product-card .repeat-answer-slot:empty{
  display:none;
}

.drought-context .story-product-example-link,
.peak-context .story-product-example-link{
  display:inline;
  font-weight:900;
}

.word-example-wrap{
  position:relative;
  max-width:860px;
  margin-top:20px;
}

.word-example-grid{
  margin-top:0;
}

.word-example-refresh{
  position:absolute;
  top:-12px;
  right:-12px;
  z-index:4;
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#111;
  color:#fff;
  font:inherit;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.word-example-refresh:hover{
  transform:translateY(-1px);
}

.word-bubble span{
  color:#333;
}

@media(max-width:900px){
  .feed-static-timeline{
    grid-template-columns:1fr;
  }

  .feed-static-connector{
    display:none;
  }
}


/* v133 repeat game constraints + color pass */

.repeat-guess-game{
  max-width:760px;
  width:100%;
  overflow:hidden;
}

.repeat-game-board-stacked{
  width:100%;
}

.repeat-product-card{
  min-width:0;
  max-width:100%;
  overflow:hidden;
}

.repeat-product-title,
.repeat-product-title.no-repeat-number{
  min-width:0;
  width:100%;
}

.repeat-product-title.no-repeat-number a{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.repeat-inline-counts{
  max-width:100%;
  overflow:hidden;
}

.repeat-product-card .repeat-count-choice{
  flex:0 0 auto;
}

.repeat-color-toggle.active{
  background:#111;
  border-color:#111;
}

.repeat-color-toggle.active span{
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 0 18px rgba(255,255,255,.35);
}

/* Keep balls visually under the content but more lively */
.repeat-physics-box canvas{
  opacity:.82;
}

/* Story Feed color accents */
.story-accent-money{
  background:
    radial-gradient(circle at 88% 12%, rgba(56,189,248,.20), transparent 28%),
    linear-gradient(135deg,#fff,#f4fbff) !important;
}

.story-accent-repeat{
  background:
    radial-gradient(circle at 85% 16%, rgba(167,139,250,.20), transparent 30%),
    linear-gradient(135deg,#fff,#f8f5ff) !important;
}

.story-accent-drought{
  background:
    radial-gradient(circle at 86% 14%, rgba(251,146,60,.18), transparent 30%),
    linear-gradient(135deg,#fff,#fff8f2) !important;
}

.story-accent-peak{
  background:
    radial-gradient(circle at 84% 14%, rgba(248,113,113,.20), transparent 30%),
    linear-gradient(135deg,#fff,#fff5f5) !important;
}

.story-accent-word{
  background:
    radial-gradient(circle at 84% 14%, rgba(74,222,128,.18), transparent 30%),
    linear-gradient(135deg,#fff,#f4fff8) !important;
}

.story-accent-money .feed-chapter-number{
  background:#0ea5e9;
}

.story-accent-repeat .feed-chapter-number{
  background:#7c3aed;
}

.story-accent-drought .feed-chapter-number{
  background:#ea580c;
}

.story-accent-peak .feed-chapter-number{
  background:#dc2626;
}

.story-accent-word .feed-chapter-number{
  background:#16a34a;
}

.work-hours-card{
  border-color:rgba(14,165,233,.16);
}

.repeat-guess-game{
  border-color:rgba(124,58,237,.16);
}

.drought-context div{
  border-color:rgba(234,88,12,.14);
}

.peak-context div{
  border-color:rgba(220,38,38,.14);
}

.word-bubble,
.word-example-grid > div{
  border-color:rgba(22,163,74,.14);
}

@media(max-width:900px){
  .repeat-guess-game{
    max-width:100%;
  }
}


/* v134 refinements */

.story-accent-drought{
  background:
    radial-gradient(circle at 86% 14%, rgba(202,138,4,.22), transparent 30%),
    linear-gradient(135deg,#fff,#fff9e8) !important;
}

.story-accent-drought .feed-chapter-number{
  background:#a16207 !important;
}

.drought-context div{
  border-color:rgba(161,98,7,.16) !important;
}

/* Full-card-style clickable product panels */
.story-product-panel-link{
  display:block;
  color:#111;
  text-decoration:none;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.07);
  border-radius:18px;
  padding:12px 13px;
  transition:transform .15s ease, box-shadow .15s ease;
}

.story-product-panel-link span{
  display:block;
  font-size:11px;
  color:#666;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}

.story-product-panel-link strong{
  display:block;
  font-weight:950;
  line-height:1.35;
}

.feed-drought-card .drought-context .story-product-panel-link strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  max-height:2.7em;
}

.story-product-panel-link:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}

.drought-context div,
.peak-context div{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

.drought-context div:first-child,
.peak-context div:not(:last-child){
  background:rgba(255,255,255,.7) !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:18px;
  padding:11px 13px !important;
}

/* Make Product Language example boxes act like clickable cards without nesting visual clutter */
.word-example-grid > div{
  padding:0 !important;
  overflow:hidden;
}

.word-example-grid > div > span{
  padding:14px 14px 0;
}

.word-example-grid .story-product-panel-link{
  border:0;
  border-radius:0 0 20px 20px;
  background:rgba(255,255,255,.72);
}


/* v135 Repeat Habit sidebar physics */

.feed-icon-repeat.repeat-ball-sidebar{
  position:relative;
  overflow:hidden;
  background:#7c3aed !important;
  padding:0 !important;
}

.feed-icon-repeat.repeat-ball-sidebar > span,
.feed-icon-repeat.repeat-ball-sidebar::before,
.feed-icon-repeat.repeat-ball-sidebar span::after{
  display:none !important;
}

.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  pointer-events:none !important;
  overflow:hidden !important;
  z-index:2;
}

.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  pointer-events:none !important;
  opacity:.96;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.18));
}

.feed-icon-repeat.repeat-ball-sidebar::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(0,0,0,.05));
  pointer-events:none;
  z-index:1;
}

/* Product Language examples: make the full example cards feel clickable */
.word-example-grid > div{
  padding:0 !important;
}

.word-example-grid > div > span{
  display:none !important;
}

.word-example-grid .story-product-panel-link{
  display:flex !important;
  min-height:122px;
  height:100%;
  flex-direction:column;
  justify-content:center;
  border-radius:20px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(22,163,74,.15) !important;
  padding:18px !important;
}

.word-example-grid .story-product-panel-link span{
  display:block !important;
  padding:0 !important;
  margin-bottom:9px;
}

.word-example-grid .story-product-panel-link strong{
  display:block;
}



/* v136 Repeat Habit sidebar balls: white only, calmer float */
.repeat-color-toggle{
  display:none !important;
}

.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.92;
  filter:drop-shadow(0 6px 7px rgba(0,0,0,.16));
}

/* v136 Spending Peak 5-month backdrop */
.feed-peak-card .feed-chapter-content{
  overflow:hidden;
}

.peak-month-backdrop{
  position:absolute;
  inset:auto 36px 34px 36px;
  height:42%;
  z-index:0;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  opacity:.22;
  pointer-events:none;
}

.peak-month-bar{
  position:relative;
  border-radius:18px;
  background:rgba(220,38,38,.08);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  border:1px solid rgba(220,38,38,.12);
}

.peak-month-fill{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(180deg, rgba(220,38,38,.65), rgba(220,38,38,.28));
  border-radius:18px 18px 0 0;
}

.peak-month-bar.is-peak{
  opacity:1;
  background:rgba(220,38,38,.14);
  box-shadow:0 0 0 2px rgba(220,38,38,.12) inset;
}

.peak-month-bar span{
  position:relative;
  z-index:2;
  font-size:11px;
  font-weight:950;
  color:#7f1d1d;
  margin-bottom:8px;
}

.feed-peak-card .feed-kicker,
.feed-peak-card h2,
.feed-peak-card p,
.feed-peak-card .peak-context,
.feed-peak-card .feed-action{
  position:relative;
  z-index:3;
}

/* v136 Product Language examples: label at top, product below */
.word-example-grid .story-product-panel-link{
  justify-content:flex-start !important;
  gap:8px;
}

.word-example-grid .story-product-panel-link span{
  margin-bottom:6px !important;
}

.word-example-grid .story-product-panel-link strong{
  margin-top:2px;
}

@media(max-width:900px){
  .peak-month-backdrop{
    inset:auto 24px 24px 24px;
    height:34%;
    gap:6px;
  }
}


/* v137 Repeat Habit sidebar sizing + click burst */

.feed-icon-repeat.repeat-ball-sidebar,
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box,
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  pointer-events:auto !important;
}

.feed-icon-repeat.repeat-ball-sidebar{
  cursor:pointer;
}

.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  cursor:pointer;
}

/* Main repeat product should feel like product cards in other sections */
.repeat-main-product{
  position:relative;
  z-index:4;
  max-width:760px;
  margin-top:12px;
}

.repeat-main-product .story-product-panel-link{
  background:rgba(255,255,255,.76);
  border-color:rgba(124,58,237,.16);
}

/* v137 Spending Peak: move the comparison visual into the left rail */
.peak-month-backdrop{
  display:none !important;
}

.peak-sidebar-visual{
  padding:0 !important;
  overflow:hidden;
  background:#dc2626 !important;
}

.peak-sidebar-visual > span{
  display:none !important;
}

.peak-sidebar-bars{
  position:absolute;
  inset:18px 12px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  z-index:3;
}

.peak-sidebar-bar{
  position:relative;
  flex:1;
  height:100%;
  min-width:0;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.peak-sidebar-bar > div{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  border-radius:999px 999px 0 0;
  background:rgba(255,255,255,.72);
}

.peak-sidebar-bar.is-peak > div{
  background:#fff;
  box-shadow:0 0 18px rgba(255,255,255,.35);
}

.peak-sidebar-bar span{
  position:absolute;
  bottom:7px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:9px;
  line-height:1;
  font-weight:950;
  color:rgba(127,29,29,.9);
  z-index:3;
}

.feed-peak-card.feed-in-view .peak-sidebar-bar > div{
  animation:peakRailRise .8s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes peakRailRise{
  from{height:0 !important;}
}

@media(max-width:900px){
  .peak-sidebar-bars{
    inset:14px 18px;
    flex-direction:row;
  }
}


/* v138 Repeat Habit stronger sidebar blast */
.feed-icon-repeat.repeat-ball-sidebar.click-blasted,
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box.click-blasted{
  filter:brightness(1.08);
}

/* v138 remove v137 peak sidebar experiment */
.peak-sidebar-visual .peak-sidebar-bars,
.peak-sidebar-bars,
.peak-sidebar-bar{
  display:none !important;
}

/* v138 Spending Peak clear comparison strip */
.peak-comparison-strip{
  position:relative;
  z-index:4;
  max-width:860px;
  margin:22px 0 8px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(220,38,38,.12);
  border-radius:24px;
  padding:14px;
}

.peak-comparison-month{
  min-width:0;
  display:grid;
  grid-template-rows:auto 96px auto;
  gap:8px;
  align-items:end;
  text-align:center;
}

.peak-comparison-month strong{
  font-size:11px;
  font-weight:950;
  color:#7f1d1d;
  white-space:nowrap;
}

.peak-comparison-track{
  position:relative;
  height:96px;
  border-radius:16px;
  background:rgba(220,38,38,.08);
  overflow:hidden;
  border:1px solid rgba(220,38,38,.10);
}

.peak-comparison-track span{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  border-radius:16px 16px 0 0;
  background:linear-gradient(180deg, rgba(248,113,113,.9), rgba(220,38,38,.58));
}

.peak-comparison-month.is-peak .peak-comparison-track{
  background:rgba(220,38,38,.14);
  box-shadow:0 0 0 3px rgba(220,38,38,.10);
}

.peak-comparison-month.is-peak .peak-comparison-track span{
  background:linear-gradient(180deg, #ef4444, #b91c1c);
}

.peak-comparison-month em{
  font-style:normal;
  font-size:11px;
  font-weight:900;
  color:#555;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.feed-peak-card.feed-in-view .peak-comparison-track span{
  animation:peakComparisonRise .82s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes peakComparisonRise{
  from{height:0 !important;}
}

@media(max-width:900px){
  .peak-comparison-strip{
    grid-template-columns:repeat(5,minmax(44px,1fr));
    overflow-x:auto;
  }

  .peak-comparison-month{
    grid-template-rows:auto 78px auto;
  }

  .peak-comparison-track{
    height:78px;
  }
}


/* v139 repeat-game visual answer reveal */

.repeat-product-card.answered{
  background:#fff;
}

.repeat-product-card.answered .repeat-count-choice{
  opacity:1;
  cursor:default;
  transform:none;
}

.repeat-product-card.answered .repeat-count-choice.hide-after-submit{
  display:none !important;
}

.repeat-count-choice.real-answer{
  background:#2563eb !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.16) !important;
  opacity:1 !important;
}

.repeat-count-choice.used-wrong{
  background:#dc2626 !important;
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.16) !important;
  opacity:1 !important;
}

.repeat-product-card.correct{
  background:rgba(37,99,235,.045);
}

.repeat-product-card.wrong{
  background:rgba(220,38,38,.035);
}

.repeat-product-card.answered .repeat-answer-slot{
  display:none !important;
}



/* v140 clickable Spending Peak months + full timeline action */

.peak-comparison-month{
  appearance:none;
  border:0;
  font:inherit;
  cursor:pointer;
}

.peak-comparison-month:hover .peak-comparison-track{
  box-shadow:0 0 0 3px rgba(220,38,38,.16);
}

.peak-comparison-month:hover{
  transform:translateY(-1px);
}

.feed-timeline-card .feed-action{
  margin-top:28px;
}


/* v141 work-time sentence */
.work-hours-result{
  line-height:2.1;
}

/* v141 Beginning and Now consistency */
.feed-static-timeline{
  align-items:stretch;
}

.feed-static-timeline .feed-mini-panel{
  min-height:180px;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.feed-static-timeline .feed-mini-panel em{
  min-height:2.7em;
  display:-webkit-box;
  overflow:hidden;
  text-overflow:ellipsis;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

/* v141 Shopping Rhythm quiet-zone visual */
.drought-quiet-zone{
  position:relative;
  z-index:4;
  max-width:760px;
  margin:24px 0 18px;
  min-height:86px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:14px;
}

.drought-purchase-dot{
  width:30px;
  height:30px;
  border-radius:999px;
  background:#a16207;
  box-shadow:0 0 0 9px rgba(161,98,7,.12);
}

.drought-after-dot{
  background:#ca8a04;
}

.drought-silence-line{
  position:relative;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.drought-silence-line::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  border-top:3px dashed rgba(161,98,7,.35);
}

.drought-silence-line span{
  position:absolute;
  left:0;
  top:50%;
  height:3px;
  width:0;
  background:#a16207;
  transform:translateY(-50%);
  border-radius:999px;
}

.drought-silence-line em{
  position:relative;
  z-index:2;
  font-style:normal;
  font-weight:950;
  color:#7c5208;
  background:#fff9e8;
  border:1px solid rgba(161,98,7,.18);
  border-radius:999px;
  padding:8px 12px;
  box-shadow:0 8px 18px rgba(161,98,7,.08);
}

.feed-drought-card.feed-in-view .drought-before-dot{
  animation:droughtDotPop .42s ease both .12s;
}

.feed-drought-card.feed-in-view .drought-silence-line span{
  animation:droughtLineDraw 1.25s ease both .38s;
}

.feed-drought-card.feed-in-view .drought-after-dot{
  animation:droughtDotPop .42s ease both 1.45s;
}

@keyframes droughtDotPop{
  from{opacity:0;transform:scale(.45);}
  70%{opacity:1;transform:scale(1.12);}
  to{opacity:1;transform:scale(1);}
}

@keyframes droughtLineDraw{
  from{width:0;}
  to{width:100%;}
}

@media(max-width:900px){
  .feed-static-timeline .feed-mini-panel{
    min-height:150px;
  }
}


/* v142 Repeat Habit lava-lamp sidebar */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.94;
}

/* v142 Shopping Rhythm: visual silence without repeated duration text */
.drought-silence-line{
  overflow:hidden;
}

.drought-silence-line::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:20px;
  transform:translateY(-50%);
  background:repeating-linear-gradient(90deg, transparent 0 18px, rgba(161,98,7,.16) 18px 21px);
  opacity:.65;
}

.drought-silence-line em{
  display:none !important;
}

/* v142 Spending Peak: remove content overlay bars; animate the sidebar icon instead */
.feed-peak-bars{
  display:none !important;
}

.feed-peak-card.feed-in-view .feed-icon-peak span{
  animation:peakRailPulse 1.65s ease-in-out infinite alternate !important;
}

.feed-peak-card.feed-in-view .feed-icon-peak span:nth-child(1){
  animation-delay:0s !important;
}

.feed-peak-card.feed-in-view .feed-icon-peak span:nth-child(2){
  animation-delay:.18s !important;
}

.feed-peak-card.feed-in-view .feed-icon-peak span:nth-child(3){
  animation-delay:.36s !important;
}

@keyframes peakRailPulse{
  from{
    transform:scaleY(.58);
    opacity:.72;
  }
  to{
    transform:scaleY(1.08);
    opacity:1;
  }
}

/* v142 Product Language clickable letter poof */
.feed-icon-word{
  cursor:pointer;
  user-select:none;
}

.feed-icon-word span.poof-out{
  animation:letterPoofOut .18s ease both !important;
}

.feed-icon-word span.poof-in{
  animation:letterPoofIn .28s cubic-bezier(.16,.78,.28,1.18) both !important;
}

@keyframes letterPoofOut{
  from{
    transform:scale(1);
    opacity:1;
    filter:blur(0);
  }
  to{
    transform:scale(.28) rotate(-8deg);
    opacity:0;
    filter:blur(6px);
  }
}

@keyframes letterPoofIn{
  from{
    transform:scale(.35) rotate(8deg);
    opacity:0;
    filter:blur(8px);
  }
  70%{
    transform:scale(1.12) rotate(0);
    opacity:1;
    filter:blur(0);
  }
  to{
    transform:scale(1);
    opacity:1;
    filter:blur(0);
  }
}


/* v143 Repeat Habit fixes */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.96;
}

.repeat-inline-counts .repeat-count-choice{
  min-width:54px;
}


/* v144 Repeat Habit: constant up/down movement */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.97;
}

/* v144 Cancelled orders story tile */
.story-accent-cancelled{
  background:
    radial-gradient(circle at 84% 14%, rgba(100,116,139,.18), transparent 30%),
    linear-gradient(135deg,#fff,#f8fafc) !important;
}

.feed-icon-cancelled{
  background:#64748b !important;
}

.feed-icon-cancelled span{
  width:58px;
  height:58px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#334155;
  font-size:2rem;
  font-weight:950;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}

.cancelled-story-list{
  margin-top:22px;
  max-width:860px;
  max-height:330px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:6px;
}

.cancelled-story-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:12px;
  align-items:center;
  color:#111;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(100,116,139,.14);
  border-radius:16px;
  padding:11px 12px;
}

.cancelled-story-row:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(100,116,139,.12);
}

.cancelled-story-row strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}

.cancelled-story-row span{
  font-weight:950;
  color:#334155;
}

.cancelled-story-row em{
  font-style:normal;
  color:#64748b;
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}

@media(max-width:900px){
  .cancelled-story-row{
    grid-template-columns:1fr;
    gap:4px;
  }
}


/* v145 Repeat Habit cluster breakup tuning */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.98;
}


/* v146 Repeat Habit path-driven floating */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.98;
}


/* v147 calmer Repeat Habit sidebar motion */
.feed-icon-repeat.repeat-ball-sidebar .repeat-physics-box canvas{
  opacity:.96;
}


/* v148 upload busy overlay */
.upload-busy-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(8px);
}

.upload-busy-overlay.active{
  display:flex;
}

.upload-busy-overlay > div{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  box-shadow:0 24px 70px rgba(0,0,0,.16);
  padding:24px 28px;
  min-width:min(360px,calc(100vw - 40px));
  text-align:center;
}

.upload-busy-overlay strong{
  display:block;
  font-size:1.08rem;
  color:#111;
  margin-bottom:8px;
}

.upload-busy-overlay span{
  display:block;
  color:#666;
  font-size:.92rem;
  font-weight:750;
}


/* v149 exact word search toggle */
.exact-search-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
  color:#444;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
}

.exact-search-toggle input{
  width:15px;
  height:15px;
  accent-color:#111;
}

.exact-search-toggle:hover{
  box-shadow:0 8px 18px rgba(0,0,0,.07);
}


/* v150 Story Feed is the default dashboard */
#dashboardModeToggle,
#storyModeToggle,
#feedModeToggle{
  display:none !important;
}

#comparisonDashboard,
#storyDashboard{
  display:none !important;
}


/* v151 Big Number money meter */
.money-meter-sidebar{
  position:relative;
  overflow:hidden;
  background:#0ea5e9 !important;
  padding:0 !important;
  color:#fff;
}

.money-meter-sidebar > span{
  display:none !important;
}

.money-meter-track{
  position:absolute;
  inset:22px 22px 22px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(255,255,255,.16);
  overflow:hidden;
  z-index:2;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}

.money-meter-fill{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0%;
  border-radius:999px 999px 0 0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(186,230,253,.9));
  box-shadow:0 -10px 28px rgba(255,255,255,.26);
}

.money-meter-scale{
  position:absolute;
  inset:19px 6px 18px 6px;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  pointer-events:none;
}

.money-meter-scale span{
  display:block;
  font-size:9px;
  font-weight:950;
  line-height:1;
  color:rgba(255,255,255,.88);
  text-shadow:0 1px 2px rgba(0,0,0,.24);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  margin-left:auto;
}

.money-meter-sidebar.meter-running .money-meter-track{
  animation:moneyMeterGlow 1.1s ease-in-out infinite alternate;
}

@keyframes moneyMeterGlow{
  from{box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 0 0 rgba(255,255,255,0);}
  to{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 0 24px rgba(255,255,255,.28);}
}


/* v152 full-column Big Number money meter */
.money-meter-sidebar{
  background:#16a34a !important;
}

.money-meter-sidebar .money-meter-track{
  display:none !important;
}

.money-meter-fill{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0%;
  border-radius:0 !important;
  background:
    linear-gradient(180deg, rgba(187,247,208,.94), rgba(34,197,94,.88));
  box-shadow:0 -12px 28px rgba(187,247,208,.24);
  z-index:1;
}

.money-meter-scale{
  position:absolute;
  inset:0;
  z-index:4;
  display:block;
  pointer-events:none;
}

.money-meter-mark{
  position:absolute;
  left:0;
  right:0;
  transform:translateY(50%);
  opacity:.45;
}

.money-meter-mark i{
  display:block;
  height:2px;
  background:rgba(255,255,255,.78);
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}

.money-meter-mark span{
  position:absolute;
  left:50%;
  top:4px;
  transform:translateX(-50%);
  display:inline-block;
  background:rgba(255,255,255,.92);
  color:#14532d;
  border-radius:999px;
  padding:4px 7px;
  font-size:11px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  writing-mode:horizontal-tb !important;
  text-shadow:none !important;
  margin:0 !important;
  box-shadow:0 6px 14px rgba(0,0,0,.12);
}

.money-meter-mark:first-child{
  transform:translateY(0);
}

.money-meter-mark:first-child span{
  top:8px;
}

.money-meter-mark:last-child{
  transform:translateY(0);
}

.money-meter-mark:last-child span{
  top:auto;
  bottom:8px;
}

.money-meter-mark.is-reached{
  opacity:1;
}

.money-meter-mark.is-reached span{
  animation:moneyMilestonePlop .28s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes moneyMilestonePlop{
  from{transform:translateX(-50%) scale(.58); opacity:0;}
  70%{transform:translateX(-50%) scale(1.12); opacity:1;}
  to{transform:translateX(-50%) scale(1); opacity:1;}
}

.repeat-habit-count.counting{
  font-variant-numeric:tabular-nums;
}


/* v153 Big Number meter: blue remainder, green fill, plain large milestone text */
.money-meter-sidebar{
  background:#0ea5e9 !important;
}

.money-meter-fill{
  background:linear-gradient(180deg,#86efac,#16a34a) !important;
  z-index:1 !important;
}

.money-meter-mark{
  opacity:0;
  transform:none !important;
  z-index:5;
}

.money-meter-mark.is-edge,
.money-meter-mark.is-reached{
  opacity:1;
}

.money-meter-mark i{
  height:3px !important;
  background:rgba(255,255,255,.82) !important;
  box-shadow:0 1px 2px rgba(0,0,0,.22);
}

.money-meter-mark span{
  position:absolute !important;
  left:50% !important;
  top:7px !important;
  transform:translateX(-50%) !important;
  width:96% !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  color:#fff !important;
  font-size:clamp(15px,1.45vw,23px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:-.06em;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 5px rgba(0,0,0,.30) !important;
  writing-mode:horizontal-tb !important;
  margin:0 !important;
}

.money-meter-mark:first-child span{
  top:10px !important;
}

.money-meter-mark:last-child span{
  top:auto !important;
  bottom:10px !important;
}

.money-meter-mark.is-reached:not(.is-edge) span{
  animation:moneyMilestonePlainPlop .24s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes moneyMilestonePlainPlop{
  from{transform:translateX(-50%) translateY(-3px) scale(.74); opacity:0;}
  70%{transform:translateX(-50%) translateY(0) scale(1.08); opacity:1;}
  to{transform:translateX(-50%) translateY(0) scale(1); opacity:1;}
}

.repeat-habit-count.counting{
  font-variant-numeric:tabular-nums;
}


/* v154 money meter milestone dates */
.money-meter-mark span{
  top:6px !important;
}

.money-meter-mark em{
  position:absolute;
  left:50%;
  top:31px;
  transform:translateX(-50%);
  width:96%;
  color:rgba(255,255,255,.92);
  font-style:normal;
  font-size:clamp(10px,.86vw,13px);
  line-height:1;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 4px rgba(0,0,0,.28);
}

.money-meter-mark:first-child em{
  display:none;
}

.money-meter-current{
  position:absolute;
  left:0;
  right:0;
  z-index:6;
  opacity:0;
  pointer-events:none;
}

.money-meter-current i{
  display:block;
  height:4px;
  background:rgba(255,255,255,.95);
  box-shadow:0 1px 4px rgba(0,0,0,.30);
}

.money-meter-current span{
  position:absolute;
  left:50%;
  top:7px;
  transform:translateX(-50%);
  width:96%;
  color:#fff;
  font-size:clamp(11px,.95vw,15px);
  line-height:1;
  font-weight:1000;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 5px rgba(0,0,0,.35);
}

.money-meter-current.is-reached{
  opacity:1;
}

.money-meter-current.is-reached span{
  animation:moneyMilestonePlainPlop .24s cubic-bezier(.16,.78,.28,1.18) both;
}

/* Hide any accidental bottom/zero label from older CSS expectations */
.money-meter-mark:last-child span,
.money-meter-mark:last-child em{
  top:7px !important;
  bottom:auto !important;
}


/* v155 money meter marker cleanup */
.money-meter-mark,
.money-meter-current{
  min-height:42px;
}

.money-meter-mark span{
  top:7px !important;
  bottom:auto !important;
  line-height:.95 !important;
}

.money-meter-mark em,
.money-meter-current em{
  position:absolute;
  left:50%;
  top:31px;
  bottom:auto;
  transform:translateX(-50%);
  width:96%;
  color:rgba(255,255,255,.92);
  font-style:normal;
  font-size:clamp(10px,.86vw,13px);
  line-height:1;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
  text-shadow:0 2px 4px rgba(0,0,0,.28);
}

/* The top max marker should stay clean: number only. */
.money-meter-mark:first-child em{
  display:none !important;
}

/* Undo older bottom-label rules now that $0 is gone. */
.money-meter-mark:last-child span{
  top:7px !important;
  bottom:auto !important;
}

.money-meter-mark:last-child em{
  top:31px !important;
  bottom:auto !important;
}

/* Current spend boundary uses the exact same date treatment as milestone dates. */
.money-meter-current{
  position:absolute;
  left:0;
  right:0;
  z-index:7;
  opacity:0;
  pointer-events:none;
}

.money-meter-current i{
  display:block;
  height:4px;
  background:rgba(255,255,255,.95);
  box-shadow:0 1px 4px rgba(0,0,0,.30);
}

.money-meter-current span{
  display:none !important;
}

.money-meter-current.is-reached{
  opacity:1;
}

.money-meter-current.is-reached em{
  animation:moneyMilestonePlainPlop .24s cubic-bezier(.16,.78,.28,1.18) both;
}


/* v156 Big Number meter marker fixes */
.money-meter-mark:first-child{
  top:0 !important;
  bottom:auto !important;
  transform:none !important;
  min-height:52px;
}

.money-meter-mark:first-child i{
  margin-top:0;
}

.money-meter-mark:first-child span{
  top:8px !important;
  bottom:auto !important;
  display:block !important;
  opacity:1 !important;
}

.money-meter-mark:first-child em{
  display:none !important;
}

.money-meter-mark:last-child{
  transform:none !important;
  min-height:54px;
}

.money-meter-mark:last-child span{
  top:7px !important;
  bottom:auto !important;
}

.money-meter-mark:last-child em{
  top:31px !important;
  bottom:auto !important;
}

.money-meter-current{
  transform:none !important;
  min-height:34px;
}

.money-meter-current em{
  top:8px !important;
  bottom:auto !important;
  color:rgba(255,255,255,.92) !important;
  font-size:clamp(10px,.86vw,13px) !important;
  font-weight:900 !important;
  text-shadow:0 2px 4px rgba(0,0,0,.28) !important;
}

/* v156 Story Feed between-tile flair */
#storyFeedDashboard .feed-chapter{
  position:relative;
}

#storyFeedDashboard .feed-chapter + .feed-chapter{
  margin-top:96px;
}

#storyFeedDashboard .feed-chapter + .feed-chapter::before{
  content:"";
  position:absolute;
  left:50%;
  top:-78px;
  width:2px;
  height:56px;
  transform:translateX(-50%);
  background:
    linear-gradient(180deg,
      transparent,
      rgba(15,23,42,.16) 18%,
      rgba(15,23,42,.16) 82%,
      transparent
    );
  border-radius:999px;
  pointer-events:none;
}

#storyFeedDashboard .feed-chapter + .feed-chapter::after{
  content:"";
  position:absolute;
  left:50%;
  top:-48px;
  width:16px;
  height:16px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#fff;
  box-shadow:
    0 0 0 5px rgba(15,23,42,.06),
    0 8px 20px rgba(15,23,42,.10);
  pointer-events:none;
}

#storyFeedDashboard .feed-chapter.feed-in-view::after{
  animation:feedConnectorPulse .9s ease both;
}

@keyframes feedConnectorPulse{
  from{
    transform:translateX(-50%) scale(.55);
    opacity:.25;
  }
  70%{
    transform:translateX(-50%) scale(1.18);
    opacity:1;
  }
  to{
    transform:translateX(-50%) scale(1);
    opacity:1;
  }
}

@media(max-width:900px){
  #storyFeedDashboard .feed-chapter + .feed-chapter{
    margin-top:72px;
  }

  #storyFeedDashboard .feed-chapter + .feed-chapter::before{
    top:-60px;
    height:42px;
  }

  #storyFeedDashboard .feed-chapter + .feed-chapter::after{
    top:-39px;
  }
}


/* v157 remove between-tile connector flair */
#storyFeedDashboard .feed-chapter + .feed-chapter{
  margin-top:72px !important;
}

#storyFeedDashboard .feed-chapter + .feed-chapter::before,
#storyFeedDashboard .feed-chapter + .feed-chapter::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}

/* v157 simplify Big Number meter */
.money-meter-current{
  display:none !important;
}

.money-meter-mark{
  min-height:42px;
}

.money-meter-mark i{
  display:none !important;
}

.money-meter-mark.has-line i{
  display:block !important;
}

.money-meter-mark.is-max{
  top:0 !important;
  bottom:auto !important;
  transform:none !important;
  min-height:36px;
}

.money-meter-mark.is-max span{
  top:9px !important;
  bottom:auto !important;
}

.money-meter-mark.is-max em{
  display:none !important;
}

.money-meter-mark:not(.has-line):not(.is-max) span{
  top:7px !important;
}

.money-meter-mark.has-line span{
  top:7px !important;
}

.money-meter-mark.has-line em{
  top:31px !important;
}

.money-meter-mark.is-reached{
  opacity:1;
}


/* v158 Delivery Map tile */
.story-accent-address{
  background:
    radial-gradient(circle at 84% 14%, rgba(59,130,246,.18), transparent 30%),
    linear-gradient(135deg,#fff,#f4f8ff) !important;
}

.feed-icon-address{
  position:relative;
  overflow:hidden;
  background:#2563eb !important;
}

.address-dot-field{
  position:absolute;
  inset:12px;
  z-index:1;
  opacity:.9;
}

.address-dot-field span{
  position:absolute;
  left:var(--x);
  top:var(--y);
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 0 0 4px rgba(255,255,255,.11);
  animation:addressDotPulse 1.8s ease-in-out infinite alternate;
  animation-delay:var(--d);
}

.address-map-pin{
  position:absolute;
  left:50%;
  top:50%;
  z-index:3;
  width:46px;
  height:46px;
  transform:translate(-50%,-60%) rotate(45deg);
  border-radius:50% 50% 50% 8px;
  background:#fff;
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}

.address-map-pin::after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:999px;
  background:#2563eb;
}

.feed-address-card.feed-in-view .address-map-pin{
  animation:addressPinDrop .58s cubic-bezier(.16,.78,.28,1.18) both;
}

@keyframes addressPinDrop{
  from{
    transform:translate(-50%,-120%) rotate(45deg) scale(.7);
    opacity:0;
  }
  70%{
    transform:translate(-50%,-54%) rotate(45deg) scale(1.1);
    opacity:1;
  }
  to{
    transform:translate(-50%,-60%) rotate(45deg) scale(1);
    opacity:1;
  }
}

@keyframes addressDotPulse{
  from{transform:scale(.74);opacity:.48;}
  to{transform:scale(1.22);opacity:1;}
}

.address-story-summary{
  max-width:860px;
  margin-top:22px;
  display:grid;
  grid-template-columns:1.5fr .75fr .75fr;
  gap:10px;
}

.address-story-summary > div,
.address-rank-row{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(37,99,235,.13);
  border-radius:18px;
  padding:13px 14px;
}

.address-story-summary span{
  display:block;
  font-size:11px;
  color:#64748b;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}

.address-story-summary strong{
  display:block;
  color:#111;
  font-weight:950;
  line-height:1.2;
}

.address-story-summary em{
  display:block;
  margin-top:6px;
  font-style:normal;
  color:#475569;
  font-size:12px;
  font-weight:850;
}

.address-rank-list{
  max-width:860px;
  margin-top:12px;
  display:grid;
  gap:8px;
}

.address-rank-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.address-rank-row span{
  width:28px;
  height:28px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#dbeafe;
  color:#1d4ed8;
  font-weight:950;
}

.address-rank-row strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900;
}

.address-rank-row em{
  font-style:normal;
  color:#2563eb;
  font-weight:950;
}

@media(max-width:900px){
  .address-story-summary{
    grid-template-columns:1fr;
  }

  .address-rank-row{
    grid-template-columns:30px 1fr auto;
  }
}


/* v159 ZIP-based delivery tile */
.story-accent-address{
  background:
    radial-gradient(circle at 84% 14%, rgba(59,130,246,.18), transparent 30%),
    linear-gradient(135deg,#fff,#f5f8ff) !important;
}

.zip-story-summary{
  max-width:860px;
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.zip-summary-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(37,99,235,.13);
  border-radius:20px;
  padding:14px 16px;
}

.zip-summary-card span{
  display:block;
  font-size:11px;
  color:#64748b;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}

.zip-summary-card strong{
  display:block;
  color:#111827;
  font-weight:1000;
  font-size:clamp(24px,2vw,30px);
  line-height:1;
  letter-spacing:.02em;
}

.zip-summary-card em{
  display:block;
  margin-top:8px;
  font-style:normal;
  color:#475569;
  font-size:13px;
  font-weight:850;
}

.zip-bubble-grid{
  max-width:860px;
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.zip-bubble-card{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
  gap:14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(37,99,235,.13);
  border-radius:22px;
  padding:12px 14px;
}

.zip-bubble-ring{
  width:78px;
  height:78px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 34% 30%, rgba(255,255,255,.95), rgba(255,255,255,.35) 36%, transparent 37%),
    radial-gradient(circle at 30% 30%, #dbeafe, #93c5fd 58%, #2563eb 100%);
  box-shadow:
    inset 0 0 0 8px rgba(255,255,255,.7),
    0 14px 24px rgba(37,99,235,.14);
}

.zip-bubble-ring span{
  display:block;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  color:#1e3a8a;
}

.zip-bubble-copy strong{
  display:block;
  font-size:clamp(20px,1.8vw,26px);
  line-height:1;
  color:#111827;
  font-weight:1000;
  letter-spacing:.03em;
}

.zip-bubble-copy em{
  display:block;
  margin-top:6px;
  font-style:normal;
  color:#1d4ed8;
  font-size:13px;
  font-weight:900;
}

.zip-bubble-copy small{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}

@media(max-width:900px){
  .zip-story-summary,
  .zip-bubble-grid{
    grid-template-columns:1fr;
  }
}


/* v160 replayable big number column */
.money-meter-sidebar{
  cursor:pointer;
}


/* v161 generalized Delivery Areas tile */
.feed-icon-address .address-map-pin{
  transform:translate(-50%,-60%) rotate(-45deg) !important;
}

.feed-address-card.feed-in-view .address-map-pin{
  animation:addressPinDropFixed .58s cubic-bezier(.16,.78,.28,1.18) both !important;
}

@keyframes addressPinDropFixed{
  from{
    transform:translate(-50%,-120%) rotate(-45deg) scale(.7);
    opacity:0;
  }
  70%{
    transform:translate(-50%,-54%) rotate(-45deg) scale(1.1);
    opacity:1;
  }
  to{
    transform:translate(-50%,-60%) rotate(-45deg) scale(1);
    opacity:1;
  }
}

.delivery-area-hero{
  max-width:860px;
  margin-top:22px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.delivery-area-hero > div{
  background:rgba(255,255,255,.84);
  border:1px solid rgba(37,99,235,.13);
  border-radius:20px;
  padding:15px 16px;
}

.delivery-area-hero > .delivery-state-summary-card.has-state-ties{
  position:relative;
  padding-left:40px;
  padding-right:40px;
}

.delivery-state-tie-content{
  min-width:0;
  text-align:center;
}

.delivery-state-tie-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:25px;
  height:25px;
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.delivery-state-tie-prev{
  left:9px;
}

.delivery-state-tie-next{
  right:9px;
}

.delivery-state-tie-arrow:hover,
.delivery-state-tie-arrow:focus-visible{
  background:#dbeafe;
  outline:2px solid rgba(37,99,235,.22);
  outline-offset:1px;
}

.delivery-area-hero span{
  display:block;
  font-size:11px;
  color:#64748b;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:7px;
}

.delivery-area-hero strong{
  display:block;
  color:#111827;
  font-weight:1000;
  font-size:clamp(24px,2vw,32px);
  line-height:1;
}

.delivery-area-hero em{
  display:block;
  margin-top:8px;
  font-style:normal;
  color:#475569;
  font-size:13px;
  font-weight:850;
}

.delivery-area-list{
  max-width:860px;
  margin-top:14px;
  max-height:340px;
  overflow:auto;
  display:grid;
  gap:9px;
  padding-right:6px;
}

.delivery-area-row{
  display:grid;
  grid-template-columns:minmax(86px,.6fr) minmax(130px,1fr) minmax(120px,1.1fr);
  align-items:center;
  gap:12px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(37,99,235,.12);
  border-radius:18px;
  padding:12px 14px;
}

.delivery-area-code{
  font-size:clamp(18px,1.6vw,25px);
  line-height:1;
  font-weight:1000;
  color:#111827;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.delivery-area-meta strong{
  display:block;
  color:#1d4ed8;
  font-size:13px;
  font-weight:950;
}

.delivery-area-meta span{
  display:block;
  margin-top:3px;
  color:#64748b;
  font-size:12px;
  font-weight:850;
}

.delivery-area-bar{
  height:10px;
  border-radius:999px;
  background:#dbeafe;
  overflow:hidden;
}

.delivery-area-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#60a5fa,#2563eb);
}

.zip-story-summary,
.zip-bubble-grid,
.zip-summary-card,
.zip-bubble-card{
  display:none !important;
}

@media(max-width:900px){
  .delivery-area-hero{
    grid-template-columns:1fr;
  }

  .delivery-area-row{
    grid-template-columns:1fr;
    gap:7px;
  }
}


/* v163 Delivery Areas list cleanup */
.delivery-area-empty{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(37,99,235,.12);
  border-radius:18px;
  padding:14px 16px;
  color:#64748b;
  font-weight:850;
}


/* v164 small delivery-area rows can open matching ASINs */
.delivery-area-row{
  border:1px solid rgba(37,99,235,.12);
  font:inherit;
  text-align:left;
}

.delivery-area-row.is-clickable{
  cursor:pointer;
}

.delivery-area-row.is-clickable:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(37,99,235,.12);
  border-color:rgba(37,99,235,.26);
}

.delivery-area-row:disabled{
  cursor:default;
}


/* v165 ASIN area search clarity */
.delivery-area-row.is-clickable::after{
  content:none;
  font-size:11px;
  font-weight:950;
  color:#1d4ed8;
  justify-self:end;
}

@media(max-width:900px){
  .delivery-area-row.is-clickable::after{
    justify-self:start;
  }
}


/* v167 Delivery ZIP rows are display-only */
.delivery-area-row{
  cursor:default !important;
}

.delivery-area-row.is-clickable::after{
  content:none !important;
  display:none !important;
}

.delivery-area-row.is-clickable:hover,
.delivery-area-row:hover{
  transform:none !important;
  box-shadow:none !important;
  border-color:rgba(37,99,235,.12) !important;
}


/* v168 Story tile testing picker */
.story-tile-picker{
  max-width:1120px;
  margin:0 auto 22px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  box-shadow:0 14px 36px rgba(15,23,42,.08);
  display:grid;
  grid-template-columns:minmax(180px,.5fr) 1fr;
  gap:14px;
  align-items:start;
}

.story-tile-picker strong{
  display:block;
  font-size:14px;
  font-weight:1000;
  color:#111;
}

.story-tile-picker > div:first-child span{
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:800;
  color:#64748b;
}

.story-tile-picker-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.story-tile-picker-options label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  font-size:12px;
  font-weight:900;
  color:#334155;
  cursor:pointer;
  user-select:none;
}

.story-tile-picker-options input{
  width:14px;
  height:14px;
  accent-color:#111;
}

.story-tile-hidden{
  display:none !important;
}

@media(max-width:900px){
  .story-tile-picker{
    grid-template-columns:1fr;
  }
}


/* v169 pre-render Story Feed tile picker */
.story-tile-preflight-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(10px);
}

.story-tile-preflight-panel{
  width:min(720px,100%);
  background:#fff;
  border-radius:28px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
  border:1px solid rgba(255,255,255,.7);
  padding:24px;
}

.story-tile-preflight-head strong{
  display:block;
  font-size:1.45rem;
  font-weight:1000;
  color:#111;
  letter-spacing:-.03em;
}

.story-tile-preflight-head span{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:.95rem;
  font-weight:800;
  line-height:1.35;
}

.story-tile-preflight-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
}

.story-tile-preflight-options label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  cursor:pointer;
  user-select:none;
}

.story-tile-preflight-options input{
  width:17px;
  height:17px;
  accent-color:#111;
}

.story-tile-preflight-options span{
  font-size:.92rem;
  font-weight:900;
  color:#1f2937;
}

.story-tile-preflight-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:22px;
}

.story-tile-preflight-actions button{
  border:0;
  border-radius:999px;
  padding:11px 16px;
  font-weight:950;
  cursor:pointer;
}

#storyTileSelectAllBtn{
  background:#f1f5f9;
  color:#334155;
}

#storyTileContinueBtn{
  background:#111;
  color:#fff;
}

@media(max-width:700px){
  .story-tile-preflight-options{
    grid-template-columns:1fr;
  }

  .story-tile-preflight-actions{
    justify-content:stretch;
  }

  .story-tile-preflight-actions button{
    flex:1;
  }
}


/* v171 suspense reveals */
.money-meter-mark.is-max:not(.is-reached){
  opacity:0 !important;
}

.repeat-main-product.repeat-product-hidden{
  filter:blur(10px);
  opacity:.44;
  transform:scale(.985);
  pointer-events:none;
  transition:filter .45s ease, opacity .45s ease, transform .45s ease;
}

.repeat-main-product.repeat-product-revealed{
  filter:blur(0);
  opacity:1;
  transform:scale(1);
  transition:filter .45s ease, opacity .45s ease, transform .45s ease;
}

.feed-peak-card.peak-suspense .peak-comparison-month strong,
.feed-peak-card.peak-suspense .peak-comparison-month em,
.feed-peak-card.peak-suspense .peak-context,
.feed-peak-card.peak-suspense > .feed-chapter-content > p{
  filter:blur(8px);
  opacity:.35;
  transition:filter .35s ease, opacity .35s ease;
}

.feed-peak-card.peak-revealed .peak-comparison-month strong,
.feed-peak-card.peak-revealed .peak-comparison-month em,
.feed-peak-card.peak-revealed .peak-context,
.feed-peak-card.peak-revealed > .feed-chapter-content > p{
  filter:blur(0);
  opacity:1;
  transition:filter .45s ease, opacity .45s ease;
}

.feed-peak-card.peak-suspense .peak-comparison-track span,
.feed-peak-card.peak-suspense .peak-month-fill{
  animation:peakFillSuspense .62s ease-in-out infinite alternate !important;
}

@keyframes peakFillSuspense{
  from{
    height:6% !important;
    opacity:.35;
  }
  to{
    height:100% !important;
    opacity:1;
  }
}

#spendingPeakReveal{
  min-height:1.05em;
}


/* v172 Spending Peak suspense fix */
.feed-peak-card.peak-suspense .peak-comparison-month{
  position:relative;
  overflow:hidden;
}

.feed-peak-card.peak-suspense .peak-comparison-month::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:0%;
  background:rgba(239,68,68,.26);
  z-index:0;
  animation:peakTileFlood 720ms ease-in-out infinite;
}

.feed-peak-card.peak-suspense .peak-comparison-month > *{
  position:relative;
  z-index:1;
}

.feed-peak-card.peak-revealed .peak-comparison-month::before{
  display:none;
}

.feed-peak-card.peak-suspense .peak-comparison-track span,
.feed-peak-card.peak-suspense .peak-month-fill{
  animation:peakFillSuspenseV172 720ms ease-in-out infinite !important;
}

@keyframes peakTileFlood{
  0%{height:0%;opacity:.18;}
  48%{height:100%;opacity:.55;}
  100%{height:0%;opacity:.18;}
}

@keyframes peakFillSuspenseV172{
  0%{height:0% !important;opacity:.35;}
  48%{height:100% !important;opacity:1;}
  100%{height:0% !important;opacity:.35;}
}

#spendingPeakReveal{
  font-variant-numeric:tabular-nums;
}


/* v173 Spending Peak month-only cycling */
#spendingPeakReveal{
  display:inline-block;
  min-width:12ch;
  white-space:nowrap;
}


/* v174 Big Number max label stays hidden until the count finishes */
.money-meter-mark.is-max:not(.is-reached),
.money-meter-mark.is-max:not(.is-reached) span{
  opacity:0 !important;
}

/* v174 Spending Peak replay + quieter suspense */
.feed-icon-peak{
  cursor:pointer;
}

.feed-peak-card.peak-suspense .peak-comparison-month::before{
  display:none !important;
  animation:none !important;
}

.feed-peak-card.peak-suspense .peak-comparison-month{
  background:#f3f4f6 !important;
  border-color:rgba(15,23,42,.08) !important;
}

.feed-peak-card.peak-suspense .peak-comparison-track span,
.feed-peak-card.peak-suspense .peak-month-fill{
  height:0% !important;
  animation:none !important;
  opacity:.22 !important;
}

.feed-peak-card .peak-comparison-track span,
.feed-peak-card .peak-month-fill{
  transition:height .85s cubic-bezier(.16,.78,.28,1), opacity .45s ease;
}

.feed-peak-card.peak-revealed .peak-comparison-track span,
.feed-peak-card.peak-revealed .peak-month-fill{
  animation:none !important;
  opacity:1 !important;
}


/* v175 Spending Peak final reveal polish */
.feed-peak-card.peak-suspense .peak-action-button{
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
}

.feed-peak-card.peak-revealed .peak-action-button{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease;
}


/* v176 Spending Peak button is fully hidden until reveal completes */
.feed-peak-card.peak-suspense .peak-action-button{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.feed-peak-card.peak-revealed .peak-action-button{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* v176 Delivery ZIP map */
.delivery-map-toggle{
  margin-top:14px;
}

.delivery-zip-map{
  max-width:860px;
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(210px,.75fr);
  gap:12px;
  align-items:stretch;
}

.delivery-zip-map.hidden{
  display:none !important;
}

.delivery-map-stage{
  position:relative;
  min-height:310px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(37,99,235,.20), transparent 24%),
    linear-gradient(135deg,#eff6ff,#dbeafe);
  border:1px solid rgba(37,99,235,.14);
}

.delivery-map-shape{
  position:absolute;
  inset:28px 34px;
  border-radius:46% 54% 44% 56% / 38% 42% 58% 62%;
  background:rgba(255,255,255,.66);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.08);
  transform:skew(-8deg) rotate(-2deg);
}

.delivery-map-hotspot{
  position:absolute;
  transform:translate(-50%,-50%);
  border:0;
  border-radius:999px;
  background:rgba(239,68,68,.30);
  box-shadow:
    0 0 0 5px rgba(239,68,68,.12),
    0 0 22px rgba(239,68,68,.42);
  cursor:pointer;
  padding:0;
  animation:deliveryHotspotPulse 1.5s ease-in-out infinite alternate;
}

.delivery-map-hotspot span{
  position:absolute;
  inset:28%;
  border-radius:999px;
  background:#ef4444;
}

.delivery-map-hotspot.active{
  background:rgba(37,99,235,.34);
  box-shadow:
    0 0 0 6px rgba(37,99,235,.13),
    0 0 26px rgba(37,99,235,.45);
}

.delivery-map-hotspot.active span{
  background:#2563eb;
}

@keyframes deliveryHotspotPulse{
  from{transform:translate(-50%,-50%) scale(.88);}
  to{transform:translate(-50%,-50%) scale(1.08);}
}

.delivery-map-detail{
  border-radius:22px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(37,99,235,.13);
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.delivery-map-detail strong{
  display:block;
  font-size:clamp(22px,2vw,32px);
  line-height:1;
  font-weight:1000;
  color:#111827;
}

.delivery-map-detail span{
  display:block;
  margin-top:8px;
  color:#475569;
  font-weight:850;
  line-height:1.35;
}

@media(max-width:900px){
  .delivery-zip-map{
    grid-template-columns:1fr;
  }
}


/* v177 Delivery ZIP map/list toggle */
.delivery-view-frame{
  max-width:860px;
  height:360px;
  margin-top:14px;
  position:relative;
}

.delivery-view-frame > .hidden{
  display:none !important;
}

.delivery-view-frame .delivery-area-list{
  max-height:360px !important;
  height:360px;
  margin-top:0 !important;
}

.delivery-zip-map{
  height:360px;
  margin-top:0 !important;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(210px,.75fr);
  gap:12px;
  align-items:stretch;
}

.delivery-map-stage{
  min-height:0 !important;
  height:360px;
  background:#f8fbff !important;
}

.delivery-map-shape{
  display:none !important;
}

.delivery-map-svg{
  position:absolute;
  inset:18px 22px;
  width:calc(100% - 44px);
  height:calc(100% - 36px);
  object-fit:contain;
  opacity:.88;
  filter:drop-shadow(0 14px 20px rgba(37,99,235,.10));
  pointer-events:none;
}

.delivery-map-hotspot{
  z-index:3;
}

.delivery-map-detail{
  min-height:0;
}

@media(max-width:900px){
  .delivery-view-frame{
    height:520px;
  }

  .delivery-view-frame .delivery-area-list{
    height:520px;
    max-height:520px !important;
  }

  .delivery-zip-map{
    height:520px;
    grid-template-columns:1fr;
    grid-template-rows:330px 1fr;
  }

  .delivery-map-stage{
    height:330px;
  }
}


/* v178 state-aggregated Delivery ZIP map */
.delivery-map-hotspot{
  animation-duration:1.7s;
}

.delivery-map-hotspot::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:999px;
  border:1px solid rgba(239,68,68,.24);
}

.delivery-map-detail strong{
  letter-spacing:.03em;
}


/* v179 Delivery map is state-aggregated, stable, and zoomed to active states */
.delivery-view-frame{
  height:390px !important;
  min-height:390px !important;
  max-height:390px !important;
}

.delivery-view-frame .delivery-area-list{
  height:390px !important;
  max-height:390px !important;
}

.delivery-zip-map{
  height:390px !important;
  grid-template-columns:minmax(0,1.55fr) minmax(230px,.72fr) !important;
}

.delivery-map-stage{
  height:390px !important;
  min-height:390px !important;
}

.delivery-map-zoom-layer{
  position:absolute;
  inset:0;
  transform-origin:var(--map-origin-x) var(--map-origin-y);
  transform:scale(var(--map-scale));
  transition:transform .35s ease;
}

.delivery-map-svg{
  inset:22px 26px !important;
  width:calc(100% - 52px) !important;
  height:calc(100% - 44px) !important;
}

.delivery-map-detail{
  height:390px !important;
  min-height:390px !important;
  justify-content:center;
  overflow:hidden;
}

.delivery-map-detail strong{
  font-size:clamp(30px,3.5vw,48px) !important;
  letter-spacing:-.04em !important;
}

.delivery-state-stats{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.delivery-state-stats span{
  display:block;
  margin:0 !important;
  padding:11px 13px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(37,99,235,.11);
  color:#334155 !important;
  font-size:clamp(15px,1.25vw,20px) !important;
  font-weight:950 !important;
  line-height:1 !important;
}

@media(max-width:900px){
  .delivery-view-frame{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }

  .delivery-view-frame .delivery-area-list{
    height:560px !important;
    max-height:560px !important;
  }

  .delivery-zip-map{
    height:560px !important;
    grid-template-columns:1fr !important;
    grid-template-rows:350px 190px !important;
  }

  .delivery-map-stage{
    height:350px !important;
    min-height:350px !important;
  }

  .delivery-map-detail{
    height:190px !important;
    min-height:190px !important;
  }
}


/* v180 Delivery map detail text fitting */
.delivery-map-detail strong{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
  line-height:.94 !important;
}

.delivery-state-stats span{
  max-width:100%;
  overflow-wrap:anywhere;
}


/* v181 Story Feed tile stability: tiles do not resize after render */
#storyFeedDashboard .feed-chapter{
  height:760px;
  min-height:760px;
  max-height:760px;
  overflow:hidden;
}

#storyFeedDashboard .feed-chapter-content{
  min-height:0;
  max-height:100%;
  overflow:auto;
  scrollbar-width:thin;
}

/* v181 Delivery map starts as default view and stays the same size as list */
.delivery-view-frame{
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
  overflow:hidden;
}

.delivery-view-frame .delivery-area-list{
  height:420px !important;
  max-height:420px !important;
  overflow:auto !important;
}

.delivery-zip-map{
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
}

.delivery-map-stage{
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
}

.delivery-map-detail{
  height:420px !important;
  min-height:420px !important;
  max-height:420px !important;
}

.delivery-map-zoom-layer{
  transform:
    translate(var(--map-pan-x), var(--map-pan-y))
    scale(var(--map-scale)) !important;
  transform-origin:var(--map-origin-x) var(--map-origin-y) !important;
}

.delivery-map-detail strong{
  max-width:13ch !important;
  width:13ch;
  font-size:clamp(26px,3vw,42px) !important;
  line-height:.88 !important;
  letter-spacing:-.065em !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  white-space:normal !important;
}

.delivery-state-stats{
  width:100%;
}

.delivery-state-stats span{
  width:100%;
  box-sizing:border-box;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-chapter{
    height:820px;
    min-height:820px;
    max-height:820px;
  }

  .delivery-view-frame{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }

  .delivery-view-frame .delivery-area-list{
    height:560px !important;
    max-height:560px !important;
  }

  .delivery-zip-map{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }

  .delivery-map-stage{
    height:350px !important;
    min-height:350px !important;
    max-height:350px !important;
  }

  .delivery-map-detail{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }

  .delivery-map-detail strong{
    width:auto;
    max-width:13ch !important;
  }
}


/* v182 hard-lock Delivery ZIP tile size and use exact SVG-derived map transform */
#storyFeedDashboard .feed-address-card{
  height:940px !important;
  min-height:940px !important;
  max-height:940px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-content{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-view-frame{
  height:450px !important;
  min-height:450px !important;
  max-height:450px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-area-list{
  height:450px !important;
  min-height:450px !important;
  max-height:450px !important;
  overflow:auto !important;
}

#storyFeedDashboard .feed-address-card .delivery-zip-map{
  height:450px !important;
  min-height:450px !important;
  max-height:450px !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-stage{
  height:450px !important;
  min-height:450px !important;
  max-height:450px !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-detail{
  height:450px !important;
  min-height:450px !important;
  max-height:450px !important;
}

.delivery-map-zoom-layer{
  transform-origin:0 0 !important;
  transform:
    translate(var(--map-translate-x), var(--map-translate-y))
    scale(var(--map-scale)) !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-address-card{
    height:980px !important;
    min-height:980px !important;
    max-height:980px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:600px !important;
    min-height:600px !important;
    max-height:600px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-area-list{
    height:600px !important;
    min-height:600px !important;
    max-height:600px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    height:600px !important;
    min-height:600px !important;
    max-height:600px !important;
    grid-template-rows:390px 210px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:390px !important;
    min-height:390px !important;
    max-height:390px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
}


/* v183 Delivery ZIP tile size is identical in list and map mode */
#storyFeedDashboard .feed-address-card{
  height:980px !important;
  min-height:980px !important;
  max-height:980px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-content{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-view-frame{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-area-list,
#storyFeedDashboard .feed-address-card #deliveryZipList{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  margin-top:0 !important;
  overflow:auto !important;
}

#storyFeedDashboard .feed-address-card .delivery-zip-map,
#storyFeedDashboard .feed-address-card #deliveryZipMap{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  margin-top:0 !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-stage{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-detail{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-address-card{
    height:1020px !important;
    min-height:1020px !important;
    max-height:1020px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-area-list,
  #storyFeedDashboard .feed-address-card #deliveryZipList{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map,
  #storyFeedDashboard .feed-address-card #deliveryZipMap{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
    grid-template-rows:405px 215px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:405px !important;
    min-height:405px !important;
    max-height:405px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    height:215px !important;
    min-height:215px !important;
    max-height:215px !important;
  }
}


/* v184 map coordinate-system correction */
.delivery-map-stage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.delivery-map-zoom-layer{
  position:relative !important;
  width:94% !important;
  height:auto !important;
  aspect-ratio:961.84375 / 582.625 !important;
  inset:auto !important;
  transform-origin:0 0 !important;
  transform:
    translate(var(--map-translate-x), var(--map-translate-y))
    scale(var(--map-scale)) !important;
}

.delivery-map-svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}

.delivery-map-hotspot{
  position:absolute !important;
  z-index:4 !important;
}


/* v185 state hotspots are anchored to the map abbreviation positions */
.delivery-map-hotspot{
  transform:translate(-50%,-50%) !important;
}

.delivery-map-hotspot span{
  inset:34% !important;
}

.delivery-map-hotspot::after{
  inset:-4px !important;
}


/* v186 restore normal Story Feed tile sizing */
#storyFeedDashboard .feed-chapter:not(.feed-address-card){
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-chapter:not(.feed-address-card) .feed-chapter-content{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Keep the Delivery ZIP tile stable for map/list toggle only */
#storyFeedDashboard .feed-address-card{
  height:980px !important;
  min-height:980px !important;
  max-height:980px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-content{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

/* Prevent unwanted internal scrollbars on game/content tiles */
.feed-repeat-card,
.feed-repeat-card .feed-chapter-content,
.repeat-guess-game,
.repeat-main-product,
.repeat-rhythm-strip,
.feed-money-chapter,
.feed-timeline-card,
.feed-drought-card,
.feed-peak-card,
.feed-cancelled-card,
.feed-word-card{
  overflow:visible !important;
}

/* The ZIP list is the only intentional scrollable panel inside Story Feed */
#storyFeedDashboard .feed-address-card .delivery-area-list{
  overflow:auto !important;
}

/* Hide accidental scrollbars from fixed frame experiments elsewhere */
#storyFeedDashboard .feed-chapter:not(.feed-address-card)::-webkit-scrollbar,
#storyFeedDashboard .feed-chapter:not(.feed-address-card) .feed-chapter-content::-webkit-scrollbar{
  display:none;
}


/* v187 hotspots are anchored to the uploaded SVG's visible state abbreviations */
.delivery-map-stage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.delivery-map-zoom-layer{
  position:relative !important;
  width:94% !important;
  height:auto !important;
  aspect-ratio:959 / 593 !important;
  inset:auto !important;
  transform-origin:0 0 !important;
}

.delivery-map-svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}

.delivery-map-hotspot{
  position:absolute !important;
  transform:translate(-50%,-50%) !important;
  z-index:4 !important;
}

.delivery-map-hotspot span{
  inset:34% !important;
}


/* v188 Delivery tile is state-first; list view removed */
.delivery-map-toggle,
#deliveryZipList,
.delivery-area-list{
  display:none !important;
}

#storyFeedDashboard .feed-address-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-content{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-address-card .delivery-view-frame{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-zip-map{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-stage,
#storyFeedDashboard .feed-address-card .delivery-map-detail{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

.delivery-map-hotspot{
  transform:translate(-50%,-50%) !important;
}

.delivery-map-hotspot span{
  inset:36% !important;
}

.delivery-map-hotspot::after{
  inset:-4px !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    height:620px !important;
    min-height:620px !important;
    max-height:620px !important;
    grid-template-rows:405px 215px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:405px !important;
    min-height:405px !important;
    max-height:405px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    height:215px !important;
    min-height:215px !important;
    max-height:215px !important;
  }
}


/* v189 restore direct SVG label-anchor hotspot placement */
.delivery-map-hotspot{
  transform:translate(-50%,-50%) !important;
}

.delivery-map-hotspot span{
  inset:34% !important;
}

.delivery-map-hotspot::after{
  inset:-4px !important;
}


/* v190 Delivery state detail purchase list */
.delivery-map-detail{
  justify-content:flex-start !important;
  overflow:hidden !important;
}

.delivery-state-summary{
  flex:0 0 auto;
}

.delivery-state-divider{
  height:1px;
  width:100%;
  margin:16px 0 12px;
  background:linear-gradient(90deg, transparent, rgba(37,99,235,.24), transparent);
}

.delivery-state-purchases{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:4px;
  scrollbar-width:thin;
}

.delivery-state-purchase{
  display:grid;
  gap:4px;
  padding:10px 11px;
  border-radius:15px;
  background:#f8fafc;
  border:1px solid rgba(37,99,235,.10);
  color:#111827;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.delivery-state-purchase:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(37,99,235,.10);
  border-color:rgba(37,99,235,.28);
}

.delivery-state-purchase span{
  font-size:11px;
  font-weight:950;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.delivery-state-purchase strong{
  font-size:13px;
  line-height:1.2;
  font-weight:950;
  color:#111827;
}

.delivery-state-purchase em{
  font-style:normal;
  font-size:12px;
  font-weight:900;
  color:#2563eb;
}

.delivery-state-empty{
  color:#64748b;
  font-weight:850;
  font-size:13px;
  line-height:1.35;
}

.delivery-map-hotspot.scroll-glow{
  background:rgba(37,99,235,.42) !important;
  box-shadow:
    0 0 0 7px rgba(37,99,235,.16),
    0 0 34px rgba(37,99,235,.74) !important;
}

.delivery-map-hotspot.scroll-glow span{
  background:#2563eb !important;
}


/* v191 normalize Delivery State purchase list typography */
.delivery-map-detail .delivery-state-purchases{
  font-size:13px !important;
}

.delivery-map-detail .delivery-state-purchase{
  padding:8px 10px !important;
  gap:3px !important;
}

.delivery-map-detail .delivery-state-purchase span{
  font-size:10px !important;
  line-height:1.1 !important;
}

.delivery-map-detail .delivery-state-purchase strong{
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
}

.delivery-map-detail .delivery-state-purchase em{
  font-size:11px !important;
  line-height:1.15 !important;
}

.delivery-map-detail .delivery-state-stats span{
  font-size:14px !important;
  line-height:1 !important;
}


/* v192 Delivery State purchase list moves below the map, cancelled-list style */
#storyFeedDashboard .feed-address-card{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-number{
  align-self:stretch !important;
}

#storyFeedDashboard .feed-address-card .feed-chapter-content{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-address-card .delivery-view-frame{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

#storyFeedDashboard .feed-address-card .delivery-zip-map{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(230px,.72fr) !important;
  gap:12px !important;
  align-items:stretch !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-stage,
#storyFeedDashboard .feed-address-card .delivery-map-detail{
  height:500px !important;
  min-height:500px !important;
  max-height:500px !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-detail{
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  overflow:hidden !important;
}

#storyFeedDashboard .feed-address-card .delivery-map-detail .delivery-state-stats{
  width:min(100%,220px);
}

.delivery-state-product-panel{
  grid-column:1 / -1;
  margin-top:14px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(37,99,235,.13);
  min-height:210px;
}

.delivery-state-product-empty{
  color:#64748b;
  font-size:13px;
  font-weight:850;
  padding:10px;
}

.delivery-state-product-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}

.delivery-state-product-head strong{
  font-size:13px;
  line-height:1;
  font-weight:1000;
  color:#111827;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.delivery-state-product-head span{
  font-size:11px;
  font-weight:900;
  color:#64748b;
}

.delivery-state-product-panel .delivery-state-divider{
  margin:12px 0;
}

.delivery-state-product-panel .delivery-state-purchases{
  max-height:240px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:4px;
  scrollbar-width:thin;
}

.delivery-state-product-panel .delivery-state-purchase{
  display:grid !important;
  grid-template-columns:82px 78px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px !important;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  color:#111827;
  text-decoration:none;
  min-width:0;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.delivery-state-product-panel .delivery-state-purchase:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(37,99,235,.10);
  border-color:rgba(37,99,235,.26);
}

.delivery-state-product-panel .delivery-state-purchase span{
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900;
  color:#64748b;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}

.delivery-state-product-panel .delivery-state-purchase em{
  font-style:normal;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:950;
  color:#2563eb;
  white-space:nowrap;
}

.delivery-state-product-panel .delivery-state-purchase strong{
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    grid-template-columns:1fr !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:405px !important;
    min-height:405px !important;
    max-height:405px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    height:215px !important;
    min-height:215px !important;
    max-height:215px !important;
  }

  .delivery-state-product-panel .delivery-state-purchase{
    grid-template-columns:72px 70px minmax(0,1fr);
  }
}


/* v193 Delivery state purchases closer to Cancelled Orders styling */
.delivery-state-product-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.delivery-state-product-head strong{
  font-size:13px;
  line-height:1;
  font-weight:1000;
  color:#111827;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.delivery-state-sort-toggle{
  border:1px solid rgba(15,23,42,.10);
  background:#f8fafc;
  color:#334155;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
}

.delivery-state-sort-toggle:hover{
  background:#eef2ff;
  border-color:rgba(37,99,235,.22);
}

.delivery-state-product-panel .delivery-state-purchases{
  max-height:240px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:4px;
  scrollbar-width:thin;
}

.delivery-state-product-panel .delivery-state-purchase{
  display:grid !important;
  grid-template-columns:82px 78px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px !important;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  color:#111827;
  text-decoration:none;
  min-width:0;
  box-shadow:none !important;
}

.delivery-state-product-panel .delivery-state-purchase:hover{
  transform:translateY(-1px);
  border-color:rgba(15,23,42,.18);
  box-shadow:0 10px 20px rgba(15,23,42,.06) !important;
}

.delivery-state-product-panel .delivery-state-purchase em{
  font-style:normal;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900;
  color:#64748b !important;
  white-space:nowrap;
}

.delivery-state-product-panel .delivery-state-purchase span{
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900;
  color:#475569 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}

.delivery-state-product-panel .delivery-state-purchase strong{
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

@media(max-width:900px){
  .delivery-state-product-panel .delivery-state-purchase{
    grid-template-columns:72px 70px minmax(0,1fr);
  }
}


/* v194 make Delivery State purchase rows match Cancelled Orders typography/formatting */
.delivery-state-product-panel .delivery-state-purchases{
  max-width:860px;
  max-height:330px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:6px;
}

.delivery-state-product-panel .delivery-state-purchase{
  display:grid !important;
  grid-template-columns:auto auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  color:#111;
  text-decoration:none;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(100,116,139,.14);
  border-radius:16px;
  padding:11px 12px !important;
  box-shadow:none !important;
}

.delivery-state-product-panel .delivery-state-purchase:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(100,116,139,.12) !important;
  border-color:rgba(100,116,139,.14);
}

.delivery-state-product-panel .delivery-state-purchase em{
  font-style:normal;
  color:#64748b !important;
  font-size:12px !important;
  font-weight:850 !important;
  white-space:nowrap;
  line-height:normal !important;
}

.delivery-state-product-panel .delivery-state-purchase span{
  font-weight:950 !important;
  color:#334155 !important;
  font-size:inherit !important;
  line-height:normal !important;
  white-space:nowrap;
}

.delivery-state-product-panel .delivery-state-purchase strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:900 !important;
  font-size:inherit !important;
  line-height:normal !important;
  color:#111;
  min-width:0;
}

@media(max-width:900px){
  .delivery-state-product-panel .delivery-state-purchase{
    grid-template-columns:1fr !important;
    gap:4px;
  }
}


/* v195 consistent story tile corner radius */
#storyFeedDashboard .feed-chapter,
#storyFeedDashboard .feed-animated-card{
  border-radius:30px !important;
  overflow:hidden;
}

#storyFeedDashboard .feed-chapter-number{
  border-radius:30px 0 0 30px !important;
  overflow:hidden;
}

#storyFeedDashboard .feed-chapter-content{
  border-radius:0 30px 30px 0 !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-chapter-number{
    border-radius:30px 30px 0 0 !important;
  }

  #storyFeedDashboard .feed-chapter-content{
    border-radius:0 0 30px 30px !important;
  }
}

/* v195 lazy animation for Beginning and Now */
.feed-timeline-card .feed-mini-panel{
  opacity:.55;
  transform:translateY(10px) scale(.985);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.16,.78,.28,1),
    box-shadow .7s ease;
}

.feed-timeline-card .feed-latest-panel{
  transition-delay:.18s;
}

.feed-timeline-card.feed-in-view .feed-mini-panel{
  opacity:1;
  transform:translateY(0) scale(1);
  box-shadow:0 18px 34px rgba(15,23,42,.08);
}

.feed-timeline-card .feed-static-connector{
  position:relative;
  overflow:hidden;
}

.feed-timeline-card .feed-static-connector::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-110%);
  background:linear-gradient(90deg, transparent, rgba(37,99,235,.35), transparent);
}

.feed-timeline-card.feed-in-view .feed-static-connector::after{
  animation:timelineLazySweep 2.4s ease-in-out .35s both;
}

.feed-timeline-card .feed-icon-timeline span{
  transform:scale(.82);
  opacity:.55;
  transition:transform .7s cubic-bezier(.16,.78,.28,1), opacity .7s ease;
}

.feed-timeline-card.feed-in-view .feed-icon-timeline span{
  transform:scale(1);
  opacity:1;
  animation:timelineIconPulse 2.8s ease-in-out .45s 2;
}

@keyframes timelineLazySweep{
  0%{transform:translateX(-110%);}
  58%{transform:translateX(110%);}
  100%{transform:translateX(110%);}
}

@keyframes timelineIconPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,0);}
  45%{box-shadow:0 0 0 12px rgba(37,99,235,.10);}
}

/* v195 lazy animation for Shopping Rhythm drought */
.feed-drought-card .drought-purchase-dot{
  transform:scale(.72);
  opacity:.45;
  transition:transform .55s cubic-bezier(.16,.78,.28,1), opacity .55s ease;
}

.feed-drought-card.feed-in-view .drought-before-dot{
  transform:scale(1);
  opacity:1;
}

.feed-drought-card.feed-in-view .drought-after-dot{
  transform:scale(1);
  opacity:1;
  transition-delay:1.15s;
}

.feed-drought-card .drought-silence-line span{
  transform-origin:left center;
  transform:scaleX(0);
}

.feed-drought-card.feed-in-view .drought-silence-line span{
  animation:droughtLazyLine 2.15s cubic-bezier(.16,.78,.28,1) .2s forwards;
}

.feed-drought-card .feed-gap-line{
  opacity:.28;
  transform:scaleX(.45);
  transform-origin:left center;
  transition:
    transform 1.8s cubic-bezier(.16,.78,.28,1),
    opacity 1.8s ease;
}

.feed-drought-card.feed-in-view .feed-gap-line{
  opacity:1;
  transform:scaleX(1);
}

.feed-drought-card.feed-in-view .feed-icon-drought span{
  animation:droughtSunDrift 3.4s ease-in-out .35s infinite alternate;
}

.feed-drought-card.feed-in-view .drought-quiet-zone{
  animation:droughtHeatHaze 4.5s ease-in-out .8s infinite alternate;
}

@keyframes droughtLazyLine{
  0%{transform:scaleX(0);opacity:.25;}
  72%{transform:scaleX(1);opacity:1;}
  100%{transform:scaleX(1);opacity:1;}
}

@keyframes droughtSunDrift{
  0%{transform:translateY(0) scale(1);}
  100%{transform:translateY(-6px) scale(1.04);}
}

@keyframes droughtHeatHaze{
  0%{filter:blur(0);}
  100%{filter:blur(.25px);}
}


/* v196 Beginning and Now scroll-discovery animation */
.feed-timeline-card.timeline-discovery-card{
  --timeline-scroll-progress:0;
}

.feed-timeline-card.timeline-discovery-card .timeline-discovery-sidebar{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 18%, rgba(37,99,235,.20), transparent 28%),
    linear-gradient(180deg,#dbeafe,#eff6ff) !important;
}

.timeline-scroll-track{
  position:absolute;
  top:42px;
  bottom:42px;
  left:50%;
  width:10px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.10);
  overflow:hidden;
}

.timeline-scroll-line{
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:calc(var(--timeline-scroll-progress) * 100%);
  border-radius:999px;
  background:linear-gradient(180deg,#2563eb,#38bdf8,#93c5fd);
  box-shadow:0 0 24px rgba(37,99,235,.42);
  transition:height .08s linear;
}

.timeline-scroll-start,
.timeline-scroll-end{
  position:absolute;
  left:50%;
  width:22px;
  height:22px;
  border-radius:999px;
  transform:translateX(-50%);
  background:#fff;
  box-shadow:0 10px 22px rgba(37,99,235,.20);
  border:3px solid #bfdbfe;
  z-index:2;
}

.timeline-scroll-start{
  top:34px;
}

.timeline-scroll-end{
  bottom:34px;
}

.timeline-clock-reveal{
  position:relative;
  z-index:3;
  width:74px;
  height:74px;
  border-radius:999px;
  background:#fff;
  box-shadow:
    0 18px 36px rgba(37,99,235,.18),
    inset 0 0 0 4px rgba(219,234,254,.9);
  opacity:0;
  transform:scale(.72) rotate(-14deg);
  transition:
    opacity .45s ease,
    transform .65s cubic-bezier(.16,.78,.28,1);
}

.timeline-clock-reveal::before,
.timeline-clock-reveal::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  border-radius:999px;
  background:#2563eb;
  transform-origin:50% 100%;
}

.timeline-clock-reveal::before{
  height:24px;
  transform:translate(-50%,-100%) rotate(0deg);
}

.timeline-clock-reveal::after{
  height:18px;
  background:#0f172a;
  transform:translate(-50%,-100%) rotate(90deg);
}

.timeline-clock-reveal span{
  position:absolute;
  inset:12px;
  border-radius:999px;
  border:2px dashed rgba(37,99,235,.28);
}

.feed-timeline-card.timeline-discovered .timeline-clock-reveal{
  opacity:1;
  transform:scale(1) rotate(0deg);
  animation:timelineClockTick 1.15s ease-in-out .12s 2;
}

.feed-timeline-card.timeline-discovered .timeline-clock-reveal::before{
  animation:timelineHandLong 1.15s ease-in-out .12s 2;
}

.feed-timeline-card.timeline-discovered .timeline-clock-reveal::after{
  animation:timelineHandShort 1.15s ease-in-out .12s 2;
}

/* Override the prior Beginning and Now animation so discovery controls the reveal */
.feed-timeline-card.timeline-discovery-card .feed-mini-panel{
  opacity:0 !important;
  transform:translateY(18px) scale(.94) rotateX(8deg) !important;
  transform-origin:top center;
  transition:
    opacity .52s ease,
    transform .72s cubic-bezier(.16,.78,.28,1),
    box-shadow .72s ease !important;
}

.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-first-panel{
  opacity:1 !important;
  transform:translateY(0) scale(1) rotateX(0deg) !important;
  box-shadow:0 18px 34px rgba(15,23,42,.08);
  transition-delay:.28s !important;
}

.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-latest-panel,
.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-random-panel{
  opacity:1 !important;
  transform:translateY(0) scale(1) rotateX(0deg) !important;
  box-shadow:0 18px 34px rgba(15,23,42,.08);
  transition-delay:.72s !important;
}

.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-random-panel{
  transition-delay:.5s !important;
}

.feed-timeline-card.timeline-discovery-card .feed-static-connector{
  opacity:.45;
  transform:scaleX(.5);
  transform-origin:center;
  transition:opacity .7s ease, transform .9s cubic-bezier(.16,.78,.28,1);
}

.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-static-connector{
  opacity:1;
  transform:scaleX(1);
  transition-delay:.52s;
}

.feed-timeline-card.timeline-discovery-card .feed-static-connector::after{
  animation:none !important;
  display:none !important;
}

@keyframes timelineClockTick{
  0%,100%{filter:brightness(1);}
  45%{filter:brightness(1.08);}
}

@keyframes timelineHandLong{
  0%{transform:translate(-50%,-100%) rotate(0deg);}
  100%{transform:translate(-50%,-100%) rotate(360deg);}
}

@keyframes timelineHandShort{
  0%{transform:translate(-50%,-100%) rotate(90deg);}
  100%{transform:translate(-50%,-100%) rotate(180deg);}
}


/* v197 fix timeline discovery fallback and Delivery map staged reveal */
.feed-timeline-card.timeline-discovery-card:not(.timeline-discovered) .feed-mini-panel{
  pointer-events:none;
}

.feed-timeline-card.timeline-discovery-card.timeline-discovered .feed-mini-panel{
  pointer-events:auto;
}

.feed-address-card:not(.map-reveal-complete) .delivery-state-hidden-until-map{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}

.feed-address-card.map-reveal-complete .delivery-state-hidden-until-map{
  opacity:1;
  transform:translateY(0);
  transition:opacity .45s ease, transform .45s cubic-bezier(.16,.78,.28,1);
}

.feed-address-card:not(.map-reveal-complete) #deliveryMapDetail{
  opacity:.55;
}

.feed-address-card:not(.map-reveal-complete) #deliveryStateProductPanel{
  opacity:.55;
}

.feed-address-card .delivery-map-hotspot{
  opacity:0;
  transform:translate(-50%,-50%) scale(.35) !important;
  pointer-events:none;
}

.feed-address-card .delivery-map-hotspot.map-hotspot-visible{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) !important;
  pointer-events:auto;
  transition:
    opacity .42s ease var(--hotspot-delay,0ms),
    transform .48s cubic-bezier(.16,.78,.28,1) var(--hotspot-delay,0ms);
  animation:deliveryHotspotArrive .72s ease both;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot{
  opacity:1;
  transform:translate(-50%,-50%) scale(1) !important;
  pointer-events:auto;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot.active{
  background:rgba(37,99,235,.38) !important;
  box-shadow:
    0 0 0 7px rgba(37,99,235,.14),
    0 0 30px rgba(37,99,235,.62) !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot.active span{
  background:#2563eb !important;
}

@keyframes deliveryHotspotArrive{
  0%{filter:blur(2px);}
  70%{filter:blur(0); transform:translate(-50%,-50%) scale(1.14);}
  100%{filter:blur(0); transform:translate(-50%,-50%) scale(1);}
}


/* v198 Beginning and Now column replay cue */
.timeline-discovery-sidebar{
  cursor:pointer;
}

.timeline-discovery-sidebar:hover .timeline-clock-reveal{
  box-shadow:
    0 18px 36px rgba(37,99,235,.22),
    inset 0 0 0 4px rgba(219,234,254,.95),
    0 0 0 7px rgba(37,99,235,.08);
}


/* v199 Big Number staged reveal */
.feed-money-chapter .big-number-subtitle,
.feed-money-chapter .feed-money-story,
.feed-money-chapter .work-hours-card,
.feed-money-chapter .feed-metric-row{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}

.feed-money-chapter.money-number-finished .big-number-subtitle.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  transition:opacity .55s ease, transform .55s cubic-bezier(.16,.78,.28,1);
}

.big-number-subtitle.subtitle-building{
  min-height:1.45em;
}

.subtitle-token{
  display:inline-block;
  opacity:0;
  transform:translateY(8px);
  animation:subtitleWordSoftIn .42s ease forwards;
}

.subtitle-token-highlight{
  padding:0 .22em;
  margin:0 .02em;
  border-radius:.55em;
  background:rgba(34,197,94,.18);
  box-shadow:0 0 0 0 rgba(34,197,94,.26);
  animation:
    subtitleWordSoftIn .42s ease forwards,
    subtitleHighlightPulse .72s ease .08s both;
}

.big-number-subtitle.subtitle-normalized{
  opacity:1 !important;
  transform:translateY(0) !important;
  transition:opacity .7s ease, transform .7s ease;
}

.feed-money-chapter.money-subtitle-finished .feed-money-story,
.feed-money-chapter.money-subtitle-finished .work-hours-card,
.feed-money-chapter.money-subtitle-finished .feed-metric-row{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.feed-money-story.money-support-revealed{
  animation:moneyStorySlideReveal .62s cubic-bezier(.16,.78,.28,1) both;
}

.work-hours-card.money-support-revealed{
  animation:moneyWorkReveal .68s cubic-bezier(.16,.78,.28,1) both;
}

.feed-money-chapter .feed-metric-row > div{
  opacity:0;
  transform:scale(.94);
}

.feed-money-chapter .feed-metric-row > div.metric-popping{
  opacity:1;
  transform:scale(1);
  animation:metricBlinkPop .5s cubic-bezier(.16,.78,.28,1) both;
}

.feed-money-chapter .feed-metric-row > div.metric-done{
  opacity:1;
  transform:scale(1);
}

@keyframes subtitleWordSoftIn{
  from{opacity:0;transform:translateY(8px);filter:blur(2px);}
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}

@keyframes subtitleHighlightPulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.0);}
  45%{box-shadow:0 0 0 8px rgba(34,197,94,.13);}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,.0);}
}

@keyframes moneyStorySlideReveal{
  0%{opacity:0;transform:translateY(16px) scale(.985);}
  100%{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes moneyWorkReveal{
  0%{opacity:0;transform:translateY(10px) rotateX(8deg);}
  100%{opacity:1;transform:translateY(0) rotateX(0);}
}

@keyframes metricBlinkPop{
  0%{opacity:0;transform:scale(.82);filter:brightness(1);}
  42%{opacity:1;transform:scale(1.045);filter:brightness(1.08);}
  100%{opacity:1;transform:scale(1);filter:brightness(1);}
}


/* v200 Big Number subtitle flash fix and slower reveal pacing */
.feed-money-chapter .big-number-subtitle.subtitle-force-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(10px) !important;
  pointer-events:none !important;
}

.feed-money-chapter.money-number-finished .big-number-subtitle.subtitle-force-hidden{
  opacity:0 !important;
  visibility:hidden !important;
}

.feed-money-story.money-support-revealed{
  animation-duration:.9s !important;
}

.work-hours-card.money-support-revealed{
  animation-duration:.95s !important;
}

.feed-money-chapter .feed-metric-row > div.metric-popping{
  animation-duration:.68s !important;
}


/* v201 Big Number support reveal sequencing and no-flash guard */
.feed-money-chapter:not(.money-subtitle-finished) .feed-money-story,
.feed-money-chapter:not(.money-subtitle-finished) .work-hours-card,
.feed-money-chapter:not(.money-subtitle-finished) .feed-metric-row,
.feed-money-chapter:not(.money-subtitle-finished) .feed-metric-row > div{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.feed-money-chapter.money-subtitle-finished .feed-money-story:not(.money-support-revealed),
.feed-money-chapter.money-subtitle-finished .work-hours-card:not(.money-support-revealed),
.feed-money-chapter.money-subtitle-finished .feed-metric-row > div:not(.metric-popping):not(.metric-done){
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(14px) scale(.985) !important;
  pointer-events:none !important;
}

.feed-money-chapter.money-subtitle-finished .feed-metric-row{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}

.feed-money-story.money-support-revealed,
.work-hours-card.money-support-revealed,
.feed-money-chapter .feed-metric-row > div.metric-popping,
.feed-money-chapter .feed-metric-row > div.metric-done{
  visibility:visible !important;
  pointer-events:auto !important;
}

.feed-money-story.money-support-revealed{
  animation:moneyStorySlideReveal 1.05s cubic-bezier(.16,.78,.28,1) both !important;
}

.work-hours-card.money-support-revealed{
  animation:moneyWorkReveal 1.05s cubic-bezier(.16,.78,.28,1) both !important;
}

.big-number-subtitle.subtitle-built .subtitle-token-highlight{
  background:rgba(34,197,94,.18);
  box-shadow:0 0 0 2px rgba(34,197,94,.08);
}

.big-number-subtitle.subtitle-normalized{
  background:transparent !important;
}


/* v203 completed animation states should render fully, never frozen pre-animation */
.feed-money-chapter.money-reveal-complete .big-number-subtitle,
.feed-money-chapter.money-reveal-complete .feed-money-story,
.feed-money-chapter.money-reveal-complete .work-hours-card,
.feed-money-chapter.money-reveal-complete .feed-metric-row,
.feed-money-chapter.money-reveal-complete .feed-metric-row > div{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}

.feed-money-chapter.money-reveal-complete .feed-metric-row > div strong{
  opacity:1 !important;
}

.timeline-discovery-card.timeline-discovered .feed-mini-panel{
  opacity:1 !important;
  transform:translateY(0) scale(1) rotateX(0deg) !important;
  pointer-events:auto !important;
}

.feed-address-card.map-reveal-complete .delivery-state-hidden-until-map,
.feed-address-card.map-reveal-complete #deliveryMapDetail,
.feed-address-card.map-reveal-complete #deliveryStateProductPanel{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
  pointer-events:auto !important;
}


/* v204 stricter Big Number sequence timing */
.feed-money-chapter .feed-money-story{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

.feed-money-chapter .feed-money-story p{
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  pointer-events:none;
}

.feed-money-chapter.money-subtitle-finished .feed-money-story p.money-line-revealed{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
  transition:
    opacity 1.05s ease,
    transform 1.05s cubic-bezier(.16,.78,.28,1);
}

.feed-money-chapter.money-subtitle-finished .feed-money-story:not(.money-support-revealed){
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

.feed-money-chapter.money-reveal-complete .feed-money-story p{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}

.feed-money-chapter.money-subtitle-finished .work-hours-card.money-support-revealed{
  transition-delay:0s !important;
}

.feed-money-chapter .feed-metric-row > div.metric-popping{
  animation-duration:.78s !important;
}


/* v205 Big Number sequence lock: content stays hidden until its exact turn */
.feed-money-chapter:not(.money-number-finished) .big-number-subtitle,
.feed-money-chapter:not(.money-number-finished) .feed-money-story,
.feed-money-chapter:not(.money-number-finished) .work-hours-card,
.feed-money-chapter:not(.money-number-finished) .feed-metric-row,
.feed-money-chapter:not(.money-number-finished) .feed-metric-row > div{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(10px) !important;
}

.feed-money-chapter:not(.money-subtitle-finished) .feed-money-story,
.feed-money-chapter:not(.money-subtitle-finished) .feed-money-story p,
.feed-money-chapter:not(.money-subtitle-finished) .work-hours-card,
.feed-money-chapter:not(.money-subtitle-finished) .feed-metric-row,
.feed-money-chapter:not(.money-subtitle-finished) .feed-metric-row > div{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

.feed-money-chapter.money-reveal-complete .big-number-subtitle,
.feed-money-chapter.money-reveal-complete .feed-money-story,
.feed-money-chapter.money-reveal-complete .feed-money-story p,
.feed-money-chapter.money-reveal-complete .work-hours-card,
.feed-money-chapter.money-reveal-complete .feed-metric-row,
.feed-money-chapter.money-reveal-complete .feed-metric-row > div{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
}


/* v206 hard final states for already-seen tiles */
.feed-money-chapter.money-reveal-complete .feed-money-story,
.feed-money-chapter.money-reveal-complete .feed-money-story p,
.feed-money-chapter.money-reveal-complete .work-hours-card,
.feed-money-chapter.money-reveal-complete .feed-metric-row,
.feed-money-chapter.money-reveal-complete .feed-metric-row > div{
  animation:none !important;
  transition:none !important;
}

.feed-money-chapter.money-reveal-complete .feed-metric-row > div.metric-done{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

.feed-peak-card.peak-revealed #spendingPeakReveal{
  animation:none !important;
}

.timeline-discovery-card.timeline-discovered .timeline-scroll-line{
  height:100% !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot{
  animation:none !important;
  transition:none !important;
}


/* v207: one-run animation lock final-state safety */
.feed-money-chapter.money-reveal-complete *,
.feed-peak-card.peak-revealed *,
.timeline-discovery-card.timeline-discovered *,
.feed-address-card.map-reveal-complete *{
  animation-play-state:running;
}

.feed-money-chapter.money-reveal-complete .subtitle-token,
.feed-money-chapter.money-reveal-complete .subtitle-token-highlight{
  animation:none !important;
}


/* v208 all Story Feed animations are one-run per uploaded ZIP session */
.tile-animation-completed,
.tile-animation-completed *{
  animation-delay:0s !important;
}

.feed-repeat-card.repeat-animation-complete .repeat-main-product{
  filter:none !important;
  opacity:1 !important;
  transform:none !important;
}

.feed-repeat-card.repeat-animation-complete .repeat-habit-count{
  animation:none !important;
}

.feed-drought-card.tile-animation-completed .drought-purchase-dot,
.feed-drought-card.tile-animation-completed .drought-silence-line span,
.feed-drought-card.tile-animation-completed .feed-gap-line,
.feed-cancelled-card.tile-animation-completed *,
.feed-word-card.tile-animation-completed *{
  animation:none !important;
  transition:none !important;
  opacity:1 !important;
  transform:none !important;
}


/* v209 completed Repeat Habit keeps ball sidebar alive */
.feed-repeat-card.repeat-animation-complete .repeat-physics-box{
  opacity:1 !important;
  visibility:visible !important;
}

.feed-repeat-card.repeat-animation-complete .repeat-physics-box canvas{
  opacity:1 !important;
  visibility:visible !important;
}


/* v210 Big Number subtitle spacing and first-view sequence safety */
.big-number-subtitle .subtitle-token{
  white-space:nowrap;
}

.feed-money-chapter[data-animation-running="true"] .big-number-subtitle.subtitle-force-hidden,
.feed-money-chapter[data-animation-running="true"]:not(.money-number-finished) .feed-money-story,
.feed-money-chapter[data-animation-running="true"]:not(.money-number-finished) .work-hours-card,
.feed-money-chapter[data-animation-running="true"]:not(.money-number-finished) .feed-metric-row{
  opacity:0 !important;
  visibility:hidden !important;
}


/* v211 Big Number isolated state machine */
.feed-money-chapter .big-number-subtitle,
.feed-money-chapter .feed-money-story,
.feed-money-chapter .feed-money-story p,
.feed-money-chapter .work-hours-card,
.feed-money-chapter .feed-metric-row,
.feed-money-chapter .feed-metric-row > div{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) !important;
}

.feed-money-chapter.money-stage-subtitle .big-number-subtitle,
.feed-money-chapter.money-stage-lines .big-number-subtitle,
.feed-money-chapter.money-stage-work .big-number-subtitle,
.feed-money-chapter.money-stage-metrics .big-number-subtitle,
.feed-money-chapter.money-stage-complete .big-number-subtitle{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

.feed-money-chapter.money-stage-lines .feed-money-story,
.feed-money-chapter.money-stage-work .feed-money-story,
.feed-money-chapter.money-stage-metrics .feed-money-story,
.feed-money-chapter.money-stage-complete .feed-money-story{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}

.feed-money-chapter.money-stage-lines .feed-money-story p.money-line-revealed,
.feed-money-chapter.money-stage-work .feed-money-story p.money-line-revealed,
.feed-money-chapter.money-stage-metrics .feed-money-story p.money-line-revealed,
.feed-money-chapter.money-stage-complete .feed-money-story p{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
  transition:opacity 1.05s ease, transform 1.05s cubic-bezier(.16,.78,.28,1);
}

.feed-money-chapter.money-stage-work .work-hours-card,
.feed-money-chapter.money-stage-metrics .work-hours-card,
.feed-money-chapter.money-stage-complete .work-hours-card{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

.feed-money-chapter.money-stage-metrics .feed-metric-row,
.feed-money-chapter.money-stage-complete .feed-metric-row{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}

.feed-money-chapter.money-stage-metrics .feed-metric-row > div.metric-popping,
.feed-money-chapter.money-stage-metrics .feed-metric-row > div.metric-done,
.feed-money-chapter.money-stage-complete .feed-metric-row > div{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:scale(1) !important;
}

.feed-money-chapter:not(.money-stage-complete) .big-number-subtitle.subtitle-built .subtitle-token-highlight{
  background:rgba(34,197,94,.18) !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.08) !important;
}

.feed-money-chapter.money-stage-complete .big-number-subtitle{
  transition:opacity .45s ease, transform .45s ease;
}


/* v212 Big Number running safety: started does not mean completed */
.feed-money-chapter[data-animation-running="true"]:not(.money-stage-lines):not(.money-stage-work):not(.money-stage-metrics):not(.money-stage-complete) .feed-money-story,
.feed-money-chapter[data-animation-running="true"]:not(.money-stage-lines):not(.money-stage-work):not(.money-stage-metrics):not(.money-stage-complete) .work-hours-card,
.feed-money-chapter[data-animation-running="true"]:not(.money-stage-lines):not(.money-stage-work):not(.money-stage-metrics):not(.money-stage-complete) .feed-metric-row,
.feed-money-chapter[data-animation-running="true"]:not(.money-stage-lines):not(.money-stage-work):not(.money-stage-metrics):not(.money-stage-complete) .feed-metric-row > div{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* v213 Repeat product reveal delay */
.feed-repeat-card .repeat-main-product.repeat-product-hidden{
  opacity:0 !important;
  filter:blur(8px);
  transform:translateY(8px);
  pointer-events:none;
}

.feed-repeat-card .repeat-main-product.repeat-product-revealed{
  opacity:1 !important;
  filter:blur(0);
  transform:translateY(0);
  pointer-events:auto;
  transition:
    opacity .85s ease,
    filter .85s ease,
    transform .85s cubic-bezier(.16,.78,.28,1);
}

/* v213 keep completed map hotspots alive after the one-time reveal */
.feed-address-card.map-reveal-complete .delivery-map-hotspot{
  animation:deliveryHotspotIdlePulse 3.8s ease-in-out infinite !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot:nth-of-type(2n){
  animation-delay:.45s !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot:nth-of-type(3n){
  animation-delay:.9s !important;
}

.feed-address-card.map-reveal-complete .delivery-map-hotspot.active{
  animation:deliveryHotspotActivePulse 2.8s ease-in-out infinite !important;
}

@keyframes deliveryHotspotIdlePulse{
  0%,100%{
    box-shadow:0 0 0 0 rgba(37,99,235,.08), 0 0 14px rgba(37,99,235,.18);
  }
  50%{
    box-shadow:0 0 0 6px rgba(37,99,235,.10), 0 0 24px rgba(37,99,235,.30);
  }
}

@keyframes deliveryHotspotActivePulse{
  0%,100%{
    box-shadow:
      0 0 0 7px rgba(37,99,235,.14),
      0 0 30px rgba(37,99,235,.62);
  }
  50%{
    box-shadow:
      0 0 0 11px rgba(37,99,235,.18),
      0 0 42px rgba(37,99,235,.76);
  }
}


/* v214 Repeat Habit running guard */
.feed-repeat-card[data-animation-running="true"] .repeat-main-product.repeat-product-hidden{
  opacity:0 !important;
  visibility:hidden !important;
  filter:blur(8px) !important;
  transform:translateY(8px) !important;
  pointer-events:none !important;
}


/* v215 Repeat Habit should animate on fresh upload and only complete after delayed product reveal */
.feed-repeat-card.repeat-animation-running .repeat-main-product:not(.repeat-product-revealed){
  opacity:0 !important;
  visibility:hidden !important;
  filter:blur(8px) !important;
  transform:translateY(8px) !important;
  pointer-events:none !important;
}

.feed-repeat-card.repeat-animation-running .repeat-habit-count.counting{
  opacity:1 !important;
  visibility:visible !important;
}

.feed-repeat-card.repeat-animation-complete .repeat-main-product.repeat-product-revealed{
  opacity:1 !important;
  visibility:visible !important;
  filter:blur(0) !important;
  transform:translateY(0) !important;
}


/* v216 new calendar and games story tiles */
.story-accent-calendar .feed-chapter-number{
  background:linear-gradient(180deg,#ecfeff,#cffafe) !important;
}

.story-accent-games .feed-chapter-number{
  background:linear-gradient(180deg,#fef3c7,#ffedd5) !important;
}

.feed-icon-calendar span,
.feed-icon-games span{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:#fff;
  color:#0f172a;
  font-weight:1000;
  font-size:32px;
  box-shadow:0 18px 34px rgba(15,23,42,.12);
}

.calendar-week-strip{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  min-height:138px;
  align-items:end;
  margin:18px 0 14px;
}

.calendar-week-strip div{
  min-height:126px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:7px;
  justify-items:center;
  padding:8px 6px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
}

.calendar-week-strip span{
  font-size:11px;
  font-weight:950;
  color:#64748b;
}

.calendar-week-strip i{
  width:100%;
  max-width:22px;
  align-self:end;
  border-radius:999px;
  background:linear-gradient(180deg,#22d3ee,#0891b2);
  opacity:.64;
}

.calendar-week-strip strong{
  font-size:12px;
  font-weight:950;
  color:#0f172a;
}

.calendar-week-strip .is-top{
  background:#ecfeff;
  border-color:rgba(8,145,178,.24);
}

.calendar-week-strip .is-top i{
  opacity:1;
  box-shadow:0 0 0 6px rgba(34,211,238,.12);
}

.calendar-month-days{
  display:grid;
  grid-template-columns:repeat(31,minmax(12px,1fr));
  gap:3px;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(15,23,42,.08);
}

.calendar-month-days span{
  aspect-ratio:1;
  min-width:0;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
  color:#164e63;
  background:rgba(34,211,238,var(--day-strength));
}

.calendar-month-days span.is-top{
  background:#0891b2;
  color:#fff;
  box-shadow:0 0 0 5px rgba(8,145,178,.13);
}

.price-games-layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:14px;
  margin-top:16px;
}

.price-guess-game,
.cost-compare-game{
  padding:14px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(15,23,42,.08);
  min-width:0;
}

.price-game-top,
.cost-game-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.price-game-top span{
  display:block;
  font-size:11px;
  font-weight:950;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.price-game-top strong{
  display:block;
  font-size:30px;
  line-height:1;
  font-weight:1000;
  color:#111827;
}

.price-game-new-target,
.cost-game-next,
.price-game-mode button{
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:8px 10px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
}

.price-game-mode{
  display:flex;
  gap:8px;
  margin-bottom:12px;
}

.price-game-mode button.active{
  background:#111827;
  color:#fff;
}

.price-game-options,
.cost-game-options{
  display:grid;
  gap:8px;
}

.price-game-option,
.cost-game-option{
  text-align:left;
  display:grid;
  gap:5px;
  width:100%;
  border:1px solid rgba(15,23,42,.09);
  background:#f8fafc;
  border-radius:16px;
  padding:11px 12px;
  cursor:pointer;
}

.price-game-option strong,
.cost-game-option strong{
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  color:#111827;
}

.price-game-answer,
.cost-game-option span{
  opacity:0;
  font-size:12px;
  font-weight:950;
  color:#475569;
}

.price-game-option.answered .price-game-answer,
.cost-game-option.answered span{
  opacity:1;
}

.price-game-option.winner,
.cost-game-option.winner{
  background:#ecfdf5;
  border-color:rgba(34,197,94,.28);
}

.price-game-option.miss,
.cost-game-option.miss{
  background:#fff7ed;
  border-color:rgba(249,115,22,.25);
}

.price-game-result,
.cost-game-result{
  margin-top:10px;
  min-height:18px;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
  color:#475569;
}

.game-empty{
  margin:0;
  font-size:13px;
  color:#64748b;
  font-weight:850;
}

@media(max-width:900px){
  .price-games-layout{
    grid-template-columns:1fr;
  }

  .calendar-month-days{
    grid-template-columns:repeat(16,1fr);
  }
}


/* v217 shopping calendar simplified high/low controls */
.calendar-range-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0;
}

.calendar-range-buttons button{
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#334155;
  border-radius:999px;
  padding:8px 10px;
  font-size:11px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
}

.calendar-range-buttons button.active{
  background:#0f172a;
  color:#fff;
}

.biggest-cart-game-body[hidden],
.biggest-cart-report-body[hidden]{
  display:none !important;
}

.biggest-cart-mode-toggle{
  margin-top:12px;
}

.calendar-high-low{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.calendar-day-card,
.calendar-month-pair > div{
  border-radius:24px;
  padding:16px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.76);
}

.calendar-day-card span,
.calendar-month-pair span{
  display:block;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#64748b;
  margin-bottom:8px;
}

.calendar-day-card strong{
  display:block;
  font-size:32px;
  line-height:1;
  font-weight:1000;
  color:#0f172a;
}

.calendar-day-card em,
.calendar-month-pair em{
  display:block;
  margin-top:8px;
  font-style:normal;
  font-size:13px;
  font-weight:900;
  color:#475569;
}

.calendar-day-card.high{
  background:linear-gradient(180deg,#ecfeff,#fff);
  border-color:rgba(8,145,178,.18);
}

.calendar-day-card.low{
  background:linear-gradient(180deg,#f8fafc,#fff);
}

.calendar-month-pair{
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.calendar-month-pair strong{
  display:block;
  font-size:24px;
  line-height:1;
  font-weight:1000;
  color:#111827;
}

.calendar-day-card strong.calendar-empty-value,
.calendar-month-pair strong.calendar-empty-value{
  display:flex;
  align-items:baseline;
  gap:8px;
}

.calendar-dash-value{
  font:inherit;
}

.calendar-dash-caption{
  color:#64748b;
  font-size:11px;
  line-height:1;
  font-weight:900;
}

.price-game-option.answered,
.cost-game-option.answered{
  cursor:pointer;
}

.price-game-option.answered:hover,
.cost-game-option.answered:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(15,23,42,.08);
}

.price-game-option.answered::after,
.cost-game-option.answered::after{
  content:"See current price on Amazon";
  font-size:10px;
  font-weight:950;
  color:#64748b;
}

@media(max-width:700px){
  .calendar-high-low,
  .calendar-month-pair{
    grid-template-columns:1fr;
  }
}


/* v218 price game reset state */
.price-guess-game:not(.game-answered) .price-game-option::after,
.cost-compare-game:not(.game-answered) .cost-game-option::after{
  content:"" !important;
  display:none !important;
}

.price-guess-game:not(.game-answered) .price-game-option,
.cost-compare-game:not(.game-answered) .cost-game-option{
  cursor:pointer;
}


/* v220 Which-cost-more difficulty controls */
.cost-game-mode{
  margin-bottom:12px;
}





/* v222 Story Feed tile width standardization */
#storyFeedDashboard{
  --story-tile-width: min(100%, 980px);
}

#storyFeedDashboard .feed-chapter,
#storyFeedDashboard .feed-intro-card,
#storyFeedDashboard .story-tile-picker{
  width:var(--story-tile-width) !important;
  max-width:var(--story-tile-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

#storyFeedDashboard .feed-chapter{
  justify-self:center !important;
}

#storyFeedDashboard .feed-drought-card,
#storyFeedDashboard .feed-drought-card.feed-split-chapter{
  width:var(--story-tile-width) !important;
  max-width:var(--story-tile-width) !important;
  grid-template-columns:var(--story-sidebar-width, 176px) minmax(0,1fr) !important;
}

#storyFeedDashboard .feed-chapter-content{
  min-width:0 !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  #storyFeedDashboard{
    --story-tile-width: min(100%, calc(100vw - 24px));
  }

  #storyFeedDashboard .feed-drought-card,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter{
    grid-template-columns:1fr !important;
  }
}


/* v223 Rebuy game streak tracker */
.repeat-game-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.repeat-game-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.repeat-game-streak{
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 9px;
  border-radius:999px;
  background:rgba(124,58,237,.10);
  border:1px solid rgba(124,58,237,.18);
  color:#4c1d95;
  white-space:nowrap;
}

.repeat-game-streak span,
.repeat-game-streak strong{
  font-size:11px;
  line-height:1;
  font-weight:950;
}

.repeat-game-streak strong{
  color:#111827;
}

@media(max-width:700px){
  .repeat-game-head{
    align-items:stretch;
  }

  .repeat-game-head-actions{
    justify-content:flex-end;
  }
}


/* v225 Rebuy best score only */
.repeat-game-streak{
  gap:4px;
}

.repeat-game-streak span{
  color:#6d28d9;
}

.repeat-game-streak strong{
  min-width:1.2em;
  text-align:left;
  font-size:12px;
}

.repeat-game-streak strong.score-bumped{
  animation:repeatBestScoreBump .62s cubic-bezier(.16,.78,.28,1) both;
}

@keyframes repeatBestScoreBump{
  0%{
    transform:scale(.72);
    opacity:.45;
  }
  45%{
    transform:scale(1.28);
    opacity:1;
  }
  100%{
    transform:scale(1);
    opacity:1;
  }
}


/* v226 Rebuy award icon + unique target game polish */
.repeat-game-streak img,
.repeat-game-streak strong{
  width:18px;
  height:18px;
}

.repeat-game-streak img{
  display:block;
  object-fit:contain;
  flex:0 0 auto;
}

.repeat-game-streak strong{
  display:grid;
  place-items:center;
  min-width:18px;
  font-size:13px;
  line-height:1;
  font-weight:1000;
}


/* v227 Rebuy score icon replaces Best label */
.repeat-game-streak{
  padding:6px 8px;
}

.repeat-game-streak span{
  display:none !important;
}


/* v229 receipt link on normal/timeline search cards */
.purchase-card{
  position:relative;
}

.purchase-card .receipt-order-link{
  position:absolute;
  right:12px;
  bottom:12px;
  width:30px;
  height:30px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(15,23,42,.10);
  box-shadow:0 8px 18px rgba(15,23,42,.10);
  cursor:pointer;
  z-index:3;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    background .16s ease;
}

.purchase-card .receipt-order-link:hover,
.purchase-card .receipt-order-link:focus-visible{
  background:#fff;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.14);
  outline:none;
}

.purchase-card .receipt-order-link img{
  width:17px;
  height:17px;
  display:block;
  object-fit:contain;
}

.purchase-card:has(.receipt-order-link) .purchase-meta{
  padding-right:38px;
}


/* v230 timeline ordering game + speedrun tile */
.timeline-order-game{
  margin:18px 0 16px;
  padding:14px;
  border-radius:24px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(15,23,42,.08);
}

.timeline-order-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.timeline-order-head strong{
  display:block;
  font-size:14px;
  font-weight:1000;
  color:#111827;
}

.timeline-order-head span{
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:800;
  color:#64748b;
}

.timeline-order-refresh{
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  border-radius:999px;
  width:34px;
  height:34px;
  cursor:pointer;
  font-weight:1000;
}

.timeline-order-options{
  display:grid;
  gap:8px;
}

.timeline-order-option{
  position:relative;
  text-align:left;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px 10px;
  width:100%;
  border:1px solid rgba(15,23,42,.09);
  background:#f8fafc;
  border-radius:16px;
  padding:11px 12px;
  cursor:pointer;
}

.timeline-order-option strong{
  font-size:12px;
  line-height:1.25;
  font-weight:900;
  color:#111827;
}

.timeline-order-option em{
  grid-column:1 / -1;
  opacity:0;
  font-style:normal;
  font-size:11px;
  font-weight:900;
  color:#64748b;
}

.timeline-order-option.answered em{
  opacity:1;
}

.timeline-order-rank{
  width:24px;
  height:24px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111827;
  font-size:12px;
  font-weight:1000;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.10);
}

.timeline-order-option.picked{
  background:#eef2ff;
  border-color:rgba(99,102,241,.24);
}

.timeline-order-option.correct{
  background:#ecfdf5;
  border-color:rgba(34,197,94,.28);
}

.timeline-order-option.wrong{
  background:#fff7ed;
  border-color:rgba(249,115,22,.25);
}

.timeline-order-result{
  margin-top:10px;
  min-height:18px;
  font-size:12px;
  font-weight:900;
  color:#475569;
}

.story-accent-speedrun{
  background:
    radial-gradient(circle at 84% 14%, rgba(251,191,36,.22), transparent 30%),
    linear-gradient(135deg,#fff,#fffaf0) !important;
}

.story-accent-speedrun .feed-chapter-number{
  background:#d97706 !important;
}

.feed-icon-speedrun span{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:#fff;
  font-size:34px;
  box-shadow:0 18px 34px rgba(15,23,42,.12);
}

.speedrun-race{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:14px;
  align-items:stretch;
  margin:18px 0;
}

.speedrun-item{
  display:grid;
  gap:7px;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(15,23,42,.08);
  color:#111827;
  text-decoration:none;
}

.speedrun-item span{
  font-size:11px;
  font-weight:950;
  color:#92400e;
  text-transform:uppercase;
}

.speedrun-item strong{
  font-size:13px;
  line-height:1.25;
  font-weight:950;
}

.speedrun-item em{
  font-style:normal;
  font-size:13px;
  font-weight:950;
  color:#475569;
}

.speedrun-arrow{
  display:grid;
  grid-template-rows:1fr auto 1fr;
  justify-items:center;
  align-items:center;
  color:#92400e;
  font-weight:1000;
}

.speedrun-arrow i{
  width:3px;
  height:100%;
  min-height:26px;
  border-radius:999px;
  background:linear-gradient(180deg,transparent,#f59e0b,transparent);
}

.speedrun-arrow span{
  padding:7px 9px;
  border-radius:999px;
  background:#fffbeb;
  border:1px solid rgba(217,119,6,.18);
  font-size:12px;
  white-space:nowrap;
}

@media(max-width:760px){
  .speedrun-race{
    grid-template-columns:1fr;
  }

  .speedrun-arrow{
    grid-template-rows:auto;
  }

  .speedrun-arrow i{
    display:none;
  }
}


/* v232 timeline order game difficulty modes */
.timeline-order-mode{
  margin-bottom:12px;
}

.timeline-order-empty{
  padding:13px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  color:#64748b;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}


/* v233 timeline order game now uses first purchase per product */
.timeline-order-option.answered em{
  opacity:1;
}


/* v234 timeline ordering rules and streak */
.timeline-order-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.timeline-order-streak img,
.timeline-order-streak strong{
  width:18px;
  height:18px;
}

.timeline-order-streak img{
  display:block;
  object-fit:contain;
  flex:0 0 auto;
}

.timeline-order-streak strong{
  display:grid;
  place-items:center;
  min-width:18px;
  font-size:13px;
  line-height:1;
  font-weight:1000;
}

.timeline-order-streak strong.score-bumped{
  animation:repeatBestScoreBump .62s cubic-bezier(.16,.78,.28,1) both;
}


/* v235 Shopping Burst tile */
.story-accent-frequency{
  background:
    radial-gradient(circle at 84% 14%, rgba(250,204,21,.24), transparent 30%),
    linear-gradient(135deg,#fff,#fffbea) !important;
}

.story-accent-frequency .feed-chapter-number{
  background:#ca8a04 !important;
}

.feed-icon-frequency span{
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border-radius:26px;
  background:#fff;
  font-size:34px;
  box-shadow:0 18px 34px rgba(15,23,42,.12);
}

.frequency-burst-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0 12px;
}

.frequency-burst-main{
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,23,42,.08);
}

.frequency-burst-main span{
  display:block;
  font-size:11px;
  font-weight:950;
  color:#854d0e;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
}

.frequency-burst-main strong{
  display:block;
  font-size:24px;
  line-height:1;
  font-weight:1000;
  color:#111827;
}

.frequency-burst-main em{
  display:block;
  margin-top:8px;
  font-style:normal;
  font-size:13px;
  font-weight:900;
  color:#475569;
}

.frequency-item-list{
  display:grid;
  gap:7px;
  margin:12px 0 16px;
}

.frequency-item-list a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(15,23,42,.07);
  color:#111827;
  text-decoration:none;
}

.frequency-item-list span{
  font-size:12px;
  font-weight:950;
  color:#854d0e;
}

.frequency-item-list strong{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  font-weight:900;
}

@media(max-width:760px){
  .frequency-burst-grid{
    grid-template-columns:1fr;
  }
}


/* v236 keep Big Number subtitle figure highlights after completion */
.feed-money-chapter.money-stage-complete .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.money-reveal-complete .big-number-subtitle .subtitle-token-highlight{
  background:rgba(34,197,94,.18) !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.08) !important;
  color:#166534 !important;
  border-radius:999px;
  padding:.08em .34em;
}

/* v236 Shopping Burst streak pill is clickable */
.frequency-streak-pill{
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease;
}

.frequency-streak-pill:hover,
.frequency-streak-pill:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(202,138,4,.24);
  box-shadow:0 12px 24px rgba(15,23,42,.08);
  outline:none;
}

/* v236 drought/sidebar width consistency */
#storyFeedDashboard .feed-drought-card,
#storyFeedDashboard .feed-drought-card.feed-split-chapter{
  grid-template-columns:var(--story-sidebar-width, 176px) minmax(0,1fr) !important;
}

#storyFeedDashboard .feed-drought-card .feed-chapter-number{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

#storyFeedDashboard .feed-drought-card .feed-icon-drought,
#storyFeedDashboard .feed-drought-card.feed-icon-drought{
  width:auto !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-drought-card,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter{
    grid-template-columns:1fr !important;
  }
}


/* v238 home chart stability and Rhythm sidebar normalization */
#storyFeedDashboard{
  --story-sidebar-width:128px;
}

#storyFeedDashboard .feed-chapter{
  grid-template-columns:var(--story-sidebar-width) minmax(0,1fr) !important;
}

#storyFeedDashboard .feed-drought-card,
#storyFeedDashboard .feed-drought-card.feed-split-chapter{
  grid-template-columns:var(--story-sidebar-width) minmax(0,1fr) !important;
}

#storyFeedDashboard .feed-drought-card > .feed-chapter-number,
#storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number{
  width:var(--story-sidebar-width) !important;
  min-width:var(--story-sidebar-width) !important;
  max-width:var(--story-sidebar-width) !important;
  flex:0 0 var(--story-sidebar-width) !important;
  box-sizing:border-box !important;
}

@media(max-width:900px){
  #storyFeedDashboard .feed-chapter,
  #storyFeedDashboard .feed-drought-card,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter{
    grid-template-columns:1fr !important;
  }

  #storyFeedDashboard .feed-drought-card > .feed-chapter-number,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    flex:auto !important;
  }
}


/* v239 Shopping Burst + Rhythm suspense reveal */
.feed-frequency-card.suspense-tile-running .feed-kicker,
.feed-frequency-card.suspense-tile-running h2,
.feed-frequency-card.suspense-tile-running p,
.feed-frequency-card.suspense-tile-running .frequency-burst-grid,
.feed-frequency-card.suspense-tile-running .frequency-item-list,
.feed-frequency-card.suspense-tile-running .feed-action,
.feed-drought-card.suspense-tile-running .feed-kicker,
.feed-drought-card.suspense-tile-running h2,
.feed-drought-card.suspense-tile-running p,
.feed-drought-card.suspense-tile-running .drought-quiet-zone,
.feed-drought-card.suspense-tile-running .drought-context,
.feed-drought-card.suspense-tile-running .feed-action{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(18px) scale(.985) !important;
}

.feed-frequency-card.suspense-stage-kicker .feed-kicker,
.feed-drought-card.suspense-stage-kicker .feed-kicker,
.feed-frequency-card.suspense-stage-headline h2,
.feed-drought-card.suspense-stage-headline h2,
.feed-frequency-card.suspense-stage-copy p,
.feed-drought-card.suspense-stage-copy p,
.feed-frequency-card.suspense-stage-body .frequency-burst-grid,
.feed-frequency-card.suspense-stage-body .frequency-item-list,
.feed-drought-card.suspense-stage-body .drought-quiet-zone,
.feed-drought-card.suspense-stage-body .drought-context,
.feed-frequency-card.suspense-stage-actions .feed-action,
.feed-drought-card.suspense-stage-actions .feed-action{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) scale(1) !important;
  transition:opacity .9s ease, transform .9s cubic-bezier(.16,.78,.28,1);
}

.feed-frequency-card.suspense-tile-running .feed-icon-frequency span,
.feed-drought-card.suspense-tile-running .feed-icon-drought span{
  animation:suspenseRailPulse 1.25s ease-in-out infinite alternate !important;
}

@keyframes suspenseRailPulse{
  from{
    transform:scale(.92);
    opacity:.58;
    filter:blur(.2px);
  }
  to{
    transform:scale(1.06);
    opacity:1;
    filter:blur(0);
  }
}

.feed-frequency-card.suspense-tile-complete .feed-kicker,
.feed-frequency-card.suspense-tile-complete h2,
.feed-frequency-card.suspense-tile-complete p,
.feed-frequency-card.suspense-tile-complete .frequency-burst-grid,
.feed-frequency-card.suspense-tile-complete .frequency-item-list,
.feed-frequency-card.suspense-tile-complete .feed-action,
.feed-drought-card.suspense-tile-complete .feed-kicker,
.feed-drought-card.suspense-tile-complete h2,
.feed-drought-card.suspense-tile-complete p,
.feed-drought-card.suspense-tile-complete .drought-quiet-zone,
.feed-drought-card.suspense-tile-complete .drought-context,
.feed-drought-card.suspense-tile-complete .feed-action{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}


/* v240 stronger suspense staging for Shopping Burst + Rhythm */
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-kicker) .feed-kicker,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-kicker) .feed-kicker,
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-headline) h2,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-headline) h2,
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-copy) p,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-copy) p,
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-body) .frequency-burst-grid,
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-body) .frequency-item-list,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-body) .drought-quiet-zone,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-body) .drought-context,
.feed-frequency-card.suspense-tile-running:not(.suspense-stage-actions) .feed-action,
.feed-drought-card.suspense-tile-running:not(.suspense-stage-actions) .feed-action{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(22px) scale(.98) !important;
}

.feed-frequency-card.suspense-stage-kicker .feed-kicker,
.feed-drought-card.suspense-stage-kicker .feed-kicker{
  animation:suspenseRevealIn .9s cubic-bezier(.16,.78,.28,1) both !important;
}

.feed-frequency-card.suspense-stage-headline h2,
.feed-drought-card.suspense-stage-headline h2{
  animation:suspenseRevealIn 1.05s cubic-bezier(.16,.78,.28,1) both !important;
}

.feed-frequency-card.suspense-stage-copy p,
.feed-drought-card.suspense-stage-copy p{
  animation:suspenseRevealIn .95s cubic-bezier(.16,.78,.28,1) both !important;
}

.feed-frequency-card.suspense-stage-body .frequency-burst-grid,
.feed-frequency-card.suspense-stage-body .frequency-item-list,
.feed-drought-card.suspense-stage-body .drought-quiet-zone,
.feed-drought-card.suspense-stage-body .drought-context{
  animation:suspenseRevealIn 1.1s cubic-bezier(.16,.78,.28,1) both !important;
}

.feed-frequency-card.suspense-stage-actions .feed-action,
.feed-drought-card.suspense-stage-actions .feed-action{
  animation:suspenseRevealIn .85s cubic-bezier(.16,.78,.28,1) both !important;
}

@keyframes suspenseRevealIn{
  from{
    opacity:0;
    visibility:visible;
    transform:translateY(24px) scale(.975);
    filter:blur(6px);
  }
  70%{
    opacity:1;
    transform:translateY(-2px) scale(1.004);
    filter:blur(0);
  }
  to{
    opacity:1;
    visibility:visible;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}


/* v241 tile state safety: completed means fully visible */
.tile-animation-completed,
.tile-animation-completed *{
  visibility:visible;
}

.tile-animation-completed .feed-kicker,
.tile-animation-completed h2,
.tile-animation-completed p,
.tile-animation-completed .feed-action,
.tile-animation-completed .frequency-burst-grid,
.tile-animation-completed .frequency-item-list,
.tile-animation-completed .drought-quiet-zone,
.tile-animation-completed .drought-context,
.tile-animation-completed .repeat-main-product,
.tile-animation-completed .feed-metric-row,
.tile-animation-completed .feed-money-story,
.tile-animation-completed .work-hours-card{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
}


/* v242 Big Number subtitle cannot disappear after completion */
.feed-money-chapter.money-reveal-complete .big-number-subtitle,
.feed-money-chapter.tile-animation-completed .big-number-subtitle,
.big-number-subtitle.subtitle-final-visible{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  transform:none !important;
  filter:none !important;
}

.feed-money-chapter.money-reveal-complete .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.tile-animation-completed .big-number-subtitle .subtitle-token-highlight,
.big-number-subtitle.subtitle-final-visible .subtitle-token-highlight{
  background:rgba(34,197,94,.18) !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.08) !important;
  color:#166534 !important;
  border-radius:999px;
  padding:.08em .34em;
}

/* v242 never show stale half-loaded tiles after returning from search */
.feed-chapter.tile-animation-completed,
.feed-chapter.tile-animation-completed *{
  animation-play-state:running;
}

.feed-chapter:not(.suspense-tile-running):not(.money-stage-subtitle):not(.money-stage-lines):not(.money-stage-work):not(.money-stage-metrics) .subtitle-final-visible{
  opacity:1 !important;
  visibility:visible !important;
}


/* v243 Rebuy first-view animation guard */
.feed-repeat-card.repeat-animation-waiting .repeat-main-product{
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
}

.feed-repeat-card.repeat-animation-complete .repeat-main-product,
.feed-repeat-card.tile-animation-completed .repeat-main-product{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

.feed-repeat-card.repeat-animation-running .repeat-main-product.repeat-product-hidden{
  opacity:0 !important;
  visibility:hidden !important;
}


/* v245 PurchaseAtlas branding */
.brand-title-wrap{
  display:flex;
  align-items:center;
  gap:14px;
}

.brand-logo{
  width:52px;
  height:52px;
  object-fit:contain;
  border-radius:14px;
  background:#fff;
  flex:0 0 auto;
}

.floating-brand{
  position:fixed;
  top:18px;
  left:18px;
  z-index:3;
}

/* v245 Leaderboard test submit flow */
.leaderboard-submit-button{
  margin-top:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:999px;
  background:#0b2a6f;
  color:#fff;
  font-weight:950;
  padding:12px 18px;
  cursor:pointer;
  box-shadow:0 14px 28px rgba(11,42,111,.18);
}

.leaderboard-submit-button.hidden{
  display:none !important;
}

.leaderboard-modal-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(15,23,42,.42);
  display:grid;
  place-items:center;
  padding:20px;
}

.leaderboard-modal{
  position:relative;
  width:min(760px,100%);
  max-height:min(88vh,820px);
  overflow:auto;
  background:#fff;
  border-radius:28px;
  padding:24px;
  box-shadow:0 30px 90px rgba(15,23,42,.28);
}

.leaderboard-close{
  position:absolute;
  top:16px;
  right:16px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.leaderboard-modal-head{
  display:flex;
  gap:14px;
  align-items:center;
  padding-right:42px;
}

.leaderboard-modal-head img{
  width:54px;
  height:54px;
  object-fit:contain;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  flex:0 0 auto;
}

.leaderboard-modal-head h2{
  margin:0;
  font-size:24px;
  line-height:1.1;
  color:#0f172a;
}

.leaderboard-modal-head p{
  margin:7px 0 0;
  color:#64748b;
  font-weight:750;
  line-height:1.35;
}

.leaderboard-privacy-box{
  margin:18px 0;
  padding:15px 16px;
  border-radius:20px;
  background:#ecfdf5;
  border:1px solid rgba(34,197,94,.20);
  color:#166534;
}

.leaderboard-privacy-box strong{
  display:block;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:5px;
}

.leaderboard-privacy-box p{
  margin:0;
  font-weight:850;
  line-height:1.4;
}

.leaderboard-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.leaderboard-option{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:13px;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  cursor:pointer;
}

.leaderboard-option input{
  margin-top:3px;
  transform:scale(1.15);
  accent-color:#0b2a6f;
}

.leaderboard-option strong{
  display:block;
  font-size:13px;
  font-weight:950;
  color:#0f172a;
}

.leaderboard-option em{
  display:block;
  margin-top:3px;
  font-style:normal;
  font-size:12px;
  line-height:1.3;
  color:#64748b;
  font-weight:750;
}

.leaderboard-option small{
  display:block;
  margin-top:6px;
  color:#0b2a6f;
  font-weight:900;
  font-size:11px;
}

.leaderboard-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
}

.leaderboard-actions button{
  border:0;
  border-radius:999px;
  padding:12px 16px;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-preview-button{
  background:#eef2ff;
  color:#0b2a6f;
}

.leaderboard-primary-button{
  background:#0b2a6f;
  color:#fff;
}

@media(max-width:760px){
  .leaderboard-options{
    grid-template-columns:1fr;
  }

  .leaderboard-modal{
    padding:20px;
    border-radius:22px;
  }

  .leaderboard-actions{
    flex-direction:column;
  }

  .leaderboard-actions button{
    width:100%;
  }
}


/* v246 clean PurchaseAtlas header */
.floating-brand{
  display:none !important;
}

.hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.hero-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.hero-brand-logo{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
  flex:0 0 auto;
}

.hero-brand h1{
  margin:0;
}

.hero-brand p{
  margin-top:6px;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}

@media(max-width:720px){
  .hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .hero-actions{
    width:100%;
  }
}


/* v249 protect Repeat Habit count-up from recovery/completion jumps */
.feed-repeat-card[data-repeat-count-running="true"] .repeat-main-product{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(12px) !important;
}

#repeatHabitCount.counting{
  font-variant-numeric:tabular-nums;
}


/* v250 Repeat Habit count-up should hold suspense before final value */
.feed-repeat-card[data-repeat-count-running="true"] #repeatHabitCount{
  font-variant-numeric:tabular-nums;
}


/* v251 search price note + quantity each */
.purchase-price{
  display:flex;
  align-items:center;
  gap:6px;
  position:relative;
}

.price-info-dot{
  width:17px;
  height:17px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:rgba(15,23,42,.08);
  color:#475569;
  font-size:11px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  flex:0 0 auto;
}

.price-info-dot:hover,
.price-info-dot:focus-visible,
.price-info-dot.is-open{
  background:#0b2a6f;
  color:#fff;
  outline:none;
}

.inline-info-button{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-left:4px;
  border:1px solid rgba(15,23,42,.22);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:12px;
  line-height:1;
  font-weight:900;
  vertical-align:middle;
  cursor:pointer;
}

.inline-info-button:hover,
.inline-info-button:focus-visible{
  border-color:rgba(15,23,42,.42);
  box-shadow:0 0 0 3px rgba(15,23,42,.08);
  outline:0;
}

.price-info-dot::after{
  content:"Real spend may be lower if rewards points, gift cards, or credits were used.";
  position:absolute;
  top:26px;
  left:0;
  width:min(245px,72vw);
  padding:10px 12px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1.3;
  font-weight:750;
  box-shadow:0 14px 28px rgba(15,23,42,.20);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  z-index:20;
  white-space:normal;
}

.price-info-dot:hover::after,
.price-info-dot:focus-visible::after,
.price-info-dot.is-open::after{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/* v252 ordering-game retry button */
.timeline-order-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.timeline-order-try-again{
  border:0;
  border-radius:999px;
  padding:8px 11px;
  background:#0b2a6f;
  color:#fff;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  flex:0 0 auto;
}

.timeline-order-try-again:hover,
.timeline-order-try-again:focus-visible{
  filter:brightness(1.05);
  outline:none;
}


/* v254 Big Number subtitle repair after returning from search */
.feed-money-chapter.money-reveal-complete .big-number-subtitle,
.feed-money-chapter.money-stage-complete .big-number-subtitle,
.feed-money-chapter.tile-animation-completed .big-number-subtitle,
.big-number-subtitle.subtitle-final-visible{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  transform:none !important;
  filter:none !important;
  min-height:1.2em;
}


/* v255 Big Number final subtitle lock */
.feed-money-chapter.money-subtitle-locked .big-number-subtitle,
.feed-money-chapter.money-subtitle-locked .big-number-subtitle.subtitle-force-hidden,
.feed-money-chapter.money-reveal-complete.money-subtitle-locked .big-number-subtitle,
.feed-money-chapter.money-stage-complete.money-subtitle-locked .big-number-subtitle,
.feed-money-chapter.tile-animation-completed.money-subtitle-locked .big-number-subtitle{
  opacity:1 !important;
  visibility:visible !important;
  display:block !important;
  transform:none !important;
  filter:none !important;
  pointer-events:auto !important;
  min-height:1.2em !important;
}

.feed-money-chapter.money-subtitle-locked .big-number-subtitle .subtitle-token{
  opacity:1 !important;
  visibility:visible !important;
}

.feed-money-chapter.money-subtitle-locked .big-number-subtitle .subtitle-token-highlight{
  background:rgba(34,197,94,.18) !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.08) !important;
  color:#166534 !important;
  border-radius:999px !important;
  padding:.08em .34em !important;
}


/* v256 upload replacement support */
.upload-button span{
  white-space:nowrap;
}


/* v257 dashboard return safety */
.feed-chapter.feed-ready:not(.story-tile-hidden){
  will-change:opacity,transform;
}


/* v258 prevent unfinished tiles from staying half-hidden after search return */
.feed-chapter.feed-ready:not(.tile-animation-completed):not([data-animation-running="true"]):not(.suspense-tile-running){
  animation-play-state:running;
}


/* v259 Spending Peak strict reveal order */
.feed-peak-card.peak-main-running .peak-context,
.feed-peak-card.peak-main-running > .feed-chapter-content > p,
.feed-peak-card.peak-suspense:not(.peak-details-revealed) .peak-context,
.feed-peak-card.peak-suspense:not(.peak-details-revealed) > .feed-chapter-content > p{
  opacity:0 !important;
  visibility:hidden !important;
  filter:blur(10px) !important;
  transform:translateY(10px) !important;
  pointer-events:none !important;
}

.feed-peak-card.peak-main-running .peak-comparison-track,
.feed-peak-card.peak-suspense:not(.peak-details-revealed) .peak-comparison-track{
  opacity:.35 !important;
  visibility:visible !important;
  filter:blur(5px) !important;
}

.feed-peak-card.peak-main-revealed #spendingPeakReveal{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
}

.feed-peak-card.peak-details-revealed .peak-context,
.feed-peak-card.peak-details-revealed > .feed-chapter-content > p,
.feed-peak-card.peak-details-revealed .peak-comparison-track{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
  pointer-events:auto !important;
  transition:opacity .55s ease, filter .55s ease, transform .55s ease;
}


/* v260 Spending Peak hard staged reveal */
.feed-peak-card.peak-waiting .peak-context,
.feed-peak-card.peak-waiting > .feed-chapter-content > p,
.feed-peak-card.peak-waiting .peak-comparison-strip,
.feed-peak-card.peak-waiting .peak-comparison-track,
.feed-peak-card.peak-main-running .peak-context,
.feed-peak-card.peak-main-running > .feed-chapter-content > p,
.feed-peak-card.peak-main-running .peak-comparison-strip,
.feed-peak-card.peak-main-running .peak-comparison-track{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) !important;
  filter:blur(10px) !important;
}

.feed-peak-card.peak-waiting #spendingPeakReveal,
.feed-peak-card.peak-main-running #spendingPeakReveal,
.feed-peak-card.peak-main-revealed #spendingPeakReveal,
.feed-peak-card.peak-revealed #spendingPeakReveal{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
}

.feed-peak-card.peak-main-revealed:not(.peak-details-revealed) .peak-context,
.feed-peak-card.peak-main-revealed:not(.peak-details-revealed) > .feed-chapter-content > p,
.feed-peak-card.peak-main-revealed:not(.peak-details-revealed) .peak-comparison-strip,
.feed-peak-card.peak-main-revealed:not(.peak-details-revealed) .peak-comparison-track{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(12px) !important;
  filter:blur(10px) !important;
}

.feed-peak-card.peak-details-revealed .peak-context,
.feed-peak-card.peak-details-revealed > .feed-chapter-content > p,
.feed-peak-card.peak-details-revealed .peak-comparison-strip,
.feed-peak-card.peak-details-revealed .peak-comparison-track{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
  filter:none !important;
  transition:opacity .55s ease, transform .55s ease, filter .55s ease;
}


/* v261 Spending Peak no staged animation */
.feed-peak-card:not(.story-tile-hidden) .peak-context,
.feed-peak-card:not(.story-tile-hidden) > .feed-chapter-content > p,
.feed-peak-card:not(.story-tile-hidden) .peak-comparison-strip,
.feed-peak-card:not(.story-tile-hidden) .peak-comparison-track,
.feed-peak-card:not(.story-tile-hidden) #spendingPeakReveal{
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  transform:none !important;
  pointer-events:auto !important;
}

.feed-peak-card .peak-comparison-track span{
  animation:none !important;
}

.feed-peak-card.peak-suspense .peak-comparison-month::before{
  display:none !important;
}


/* v262 Delivery States sidebar/icon position lock */
.feed-address-card .feed-icon-address,
.feed-address-card.feed-in-view .feed-icon-address,
.feed-address-card.map-reveal-running .feed-icon-address,
.feed-address-card.map-reveal-complete .feed-icon-address,
.feed-address-card.tile-animation-completed .feed-icon-address{
  position:relative !important;
  display:block !important;
  align-self:stretch !important;
  justify-self:stretch !important;
  min-height:100% !important;
  overflow:hidden !important;
  transform:none !important;
}

.feed-address-card .address-map-pin,
.feed-address-card.feed-in-view .address-map-pin,
.feed-address-card.map-reveal-running .address-map-pin,
.feed-address-card.map-reveal-complete .address-map-pin,
.feed-address-card.tile-animation-completed .address-map-pin{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  margin:0 !important;
  transform:translate(-50%,-60%) rotate(45deg) scale(1) !important;
  transform-origin:center center !important;
}

.feed-address-card.feed-in-view:not(.map-reveal-complete):not(.tile-animation-completed) .address-map-pin{
  animation:addressPinDrop .58s cubic-bezier(.16,.78,.28,1.18) both;
}

.feed-address-card.map-reveal-complete .address-map-pin,
.feed-address-card.tile-animation-completed .address-map-pin{
  animation:none !important;
}

.feed-address-card .address-dot-field,
.feed-address-card.map-reveal-complete .address-dot-field,
.feed-address-card.tile-animation-completed .address-dot-field{
  position:absolute !important;
  inset:12px !important;
  margin:0 !important;
  transform:none !important;
}


/* v263 Big Number total caveat info */
.feed-money-chapter{
  position:relative;
}

.big-total-info-dot{
  position:absolute;
  right:18px;
  bottom:18px;
  width:22px;
  height:22px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(15,23,42,.08);
  color:#475569;
  font-size:12px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  z-index:8;
}

.big-total-info-dot:hover,
.big-total-info-dot:focus-visible,
.big-total-info-dot.is-open{
  background:#0b2a6f;
  color:#fff;
  outline:none;
}

.big-total-info-dot::after{
  content:"Actual spend may be lower if rewards points, gift cards, or credits were used.";
  position:absolute;
  right:0;
  bottom:30px;
  width:min(285px,76vw);
  padding:11px 13px;
  border-radius:15px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-align:left;
  box-shadow:0 14px 28px rgba(15,23,42,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  pointer-events:none;
  z-index:30;
}

.big-total-info-dot:hover::after,
.big-total-info-dot:focus-visible::after,
.big-total-info-dot.is-open::after{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


/* v265 floating section menu */
.tile-jump-menu{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:7000;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.tile-jump-menu.hidden{
  display:none !important;
}

.tile-jump-toggle{
  border:0;
  border-radius:999px;
  background:#0b2a6f;
  color:#fff;
  padding:12px 16px;
  font-weight:950;
  box-shadow:0 16px 34px rgba(11,42,111,.22);
  cursor:pointer;
}

.tile-jump-panel{
  display:none;
  width:min(245px,calc(100vw - 36px));
  max-height:min(460px,70vh);
  overflow:auto;
  padding:10px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 22px 60px rgba(15,23,42,.18);
  backdrop-filter:blur(14px);
}

.tile-jump-menu.is-open .tile-jump-panel{
  display:grid;
  gap:7px;
}

.tile-jump-panel button{
  border:0;
  border-radius:14px;
  padding:10px 12px;
  background:#f8fafc;
  color:#0f172a;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}

.tile-jump-panel button:hover,
.tile-jump-panel button:focus-visible{
  background:#eef2ff;
  color:#0b2a6f;
  outline:none;
}

/* v265 leaderboard regular page */
.leaderboard-page{
  max-width:1120px;
  margin:18px auto 40px;
  padding:0 16px;
}

.leaderboard-page.hidden{
  display:none !important;
}

.leaderboard-page-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:28px;
  padding:22px;
  box-shadow:0 18px 46px rgba(15,23,42,.08);
}

.leaderboard-page-head{
  display:grid;
  gap:14px;
}

.leaderboard-page-head h2{
  margin:0;
  font-size:clamp(28px,4vw,44px);
  line-height:1;
  color:#0f172a;
}

.leaderboard-page-head p{
  margin:8px 0 0;
  color:#64748b;
  font-weight:800;
  line-height:1.4;
}

.leaderboard-back-button{
  justify-self:start;
  border:0;
  border-radius:999px;
  background:#eef2ff;
  color:#0b2a6f;
  padding:10px 13px;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-page-tools{
  display:flex;
  justify-content:flex-end;
  margin:10px 0 12px;
}

.leaderboard-select-all-button{
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  padding:9px 13px;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-select-all-button:hover,
.leaderboard-select-all-button:focus-visible{
  background:#e0e7ff;
  color:#0b2a6f;
  outline:none;
}

.leaderboard-page-options{
  margin-top:0;
}

@media(max-width:720px){
  .tile-jump-menu{
    left:14px;
    right:14px;
    bottom:14px;
    align-items:stretch;
  }

  .tile-jump-toggle{
    width:100%;
  }

  .tile-jump-panel{
    width:100%;
  }

  .leaderboard-page{
    padding:0 12px;
  }

  .leaderboard-page-card{
    padding:18px;
    border-radius:22px;
  }
}


/* v266 Delivery States big-map reveal */
.feed-address-card .delivery-view-frame{
  transition:grid-template-columns .72s cubic-bezier(.16,.78,.28,1), gap .72s cubic-bezier(.16,.78,.28,1);
}

.feed-address-card.map-expanded .delivery-area-hero,
.feed-address-card.map-expanded #deliveryMapDetail,
.feed-address-card.map-expanded #deliveryStateProductPanel,
.feed-address-card.map-shrinking .delivery-area-hero,
.feed-address-card.map-shrinking #deliveryMapDetail,
.feed-address-card.map-shrinking #deliveryStateProductPanel{
  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(12px) !important;
  pointer-events:none !important;
}

.feed-address-card.map-expanded .delivery-view-frame{
  grid-template-columns:1fr !important;
}

.feed-address-card.map-expanded .delivery-zip-map{
  min-height:clamp(460px,58vw,680px) !important;
  grid-column:1 / -1 !important;
  transition:min-height .72s cubic-bezier(.16,.78,.28,1), transform .72s cubic-bezier(.16,.78,.28,1);
}

.feed-address-card.map-expanded .delivery-map-stage{
  min-height:clamp(380px,48vw,560px) !important;
  transition:min-height .72s cubic-bezier(.16,.78,.28,1), transform .72s cubic-bezier(.16,.78,.28,1);
}

.feed-address-card.map-shrinking .delivery-zip-map,
.feed-address-card.map-reveal-complete .delivery-zip-map{
  transition:min-height .82s cubic-bezier(.16,.78,.28,1), transform .82s cubic-bezier(.16,.78,.28,1);
}

.feed-address-card.map-details-visible .delivery-area-hero,
.feed-address-card.map-details-visible #deliveryMapDetail,
.feed-address-card.map-details-visible #deliveryStateProductPanel{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  pointer-events:auto !important;
  transition:opacity .48s ease, transform .48s ease, visibility .48s ease;
}

.feed-address-card.map-expanded .delivery-map-hotspot.map-hotspot-visible,
.feed-address-card.map-shrinking .delivery-map-hotspot.map-hotspot-visible,
.feed-address-card.map-reveal-complete .delivery-map-hotspot.map-hotspot-visible{
  opacity:1 !important;
  transform:translate(-50%,-50%) scale(1) !important;
  pointer-events:auto !important;
}


/* v267 unified refresh icon buttons */
.refresh-icon-button,
.repeat-game-refresh,
.timeline-order-refresh,
.word-example-refresh,
.price-game-new-target,
.cost-game-next,
.tile-refresh-btn.compare-refresh-btn{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.12) !important;
  background:#111 !important;
  color:#fff !important;
  display:inline-grid !important;
  place-items:center !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:950 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

.refresh-icon-button:hover,
.repeat-game-refresh:hover,
.timeline-order-refresh:hover,
.word-example-refresh:hover,
.price-game-new-target:hover,
.cost-game-next:hover,
.tile-refresh-btn.compare-refresh-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.06);
}

.refresh-icon-button:focus-visible,
.repeat-game-refresh:focus-visible,
.timeline-order-refresh:focus-visible,
.word-example-refresh:focus-visible,
.price-game-new-target:focus-visible,
.cost-game-next:focus-visible,
.tile-refresh-btn.compare-refresh-btn:focus-visible{
  outline:3px solid rgba(17,17,17,.18);
  outline-offset:2px;
}

.price-game-head,
.cost-game-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}


/* v268 local fake leaderboard results */
.leaderboard-local-results{
  margin-top:22px;
  display:grid;
  gap:14px;
}

.leaderboard-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fafc,#eef2ff);
  border:1px solid rgba(15,23,42,.08);
}

.leaderboard-results-head span{
  display:block;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0b2a6f;
}

.leaderboard-results-head h3{
  margin:4px 0 0;
  font-size:clamp(24px,3vw,34px);
  line-height:1;
}

.leaderboard-results-head p{
  margin:7px 0 0;
  color:#64748b;
  font-weight:800;
}

.leaderboard-rank-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.leaderboard-rank-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.leaderboard-rank-number{
  width:54px;
  height:54px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  font-weight:1000;
  font-size:18px;
}

.leaderboard-rank-main span{
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.leaderboard-rank-main strong{
  display:block;
  margin-top:4px;
  color:#0f172a;
  font-size:clamp(20px,2.3vw,30px);
  line-height:1.05;
  font-weight:1000;
  word-break:break-word;
}

.leaderboard-rank-main em{
  display:block;
  margin-top:7px;
  color:#64748b;
  font-style:normal;
  font-weight:850;
}

.leaderboard-share-box,
.leaderboard-local-empty{
  padding:18px;
  border-radius:22px;
  background:#ecfdf5;
  border:1px solid rgba(34,197,94,.20);
}

.leaderboard-share-box strong,
.leaderboard-local-empty h3{
  display:block;
  margin:0;
  color:#166534;
  font-weight:1000;
}

.leaderboard-share-box p,
.leaderboard-local-empty p{
  margin:7px 0 0;
  color:#166534;
  font-weight:850;
  line-height:1.4;
}

.leaderboard-share-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.leaderboard-copy-share,
.leaderboard-open-preview{
  border:0;
  border-radius:999px;
  padding:10px 13px;
  background:#0b2a6f;
  color:#fff;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-open-preview{
  background:#e0e7ff;
  color:#0b2a6f;
}

@media(max-width:760px){
  .leaderboard-results-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .leaderboard-rank-grid{
    grid-template-columns:1fr;
  }
}


/* v269 leaderboard return animation reset */
.feed-timeline-card:not(.timeline-discovered){
  --timeline-scroll-progress:0;
}

.feed-address-card:not(.map-reveal-complete) .delivery-state-hidden-until-map,
.feed-address-card:not(.map-reveal-complete) #deliveryMapDetail,
.feed-address-card:not(.map-reveal-complete) #deliveryStateProductPanel{
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  pointer-events:none;
}


/* v270 one-time tile animation state guard */
.feed-timeline-card:not(.timeline-discovered):not(.tile-animation-completed){
  --timeline-scroll-progress:0;
}


/* v271 header wordmark */
.hero-brand-wordmark{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
}

.hero-wordmark-logo{
  display:block;
  width:min(520px,72vw);
  max-height:116px;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:multiply;
}

.hero-brand-wordmark p{
  margin:0;
  color:#64748b;
  font-weight:850;
}

@media(max-width:720px){
  .hero-wordmark-logo{
    width:min(360px,88vw);
    max-height:90px;
  }
}


/* v272 fixed Sections button + larger wordmark */
.tile-jump-menu{
  flex-direction:column-reverse !important;
  align-items:flex-end !important;
}

.tile-jump-panel{
  margin-bottom:0 !important;
  transform-origin:bottom right;
}

.tile-jump-menu.is-open .tile-jump-toggle{
  position:relative;
}

.hero-wordmark-button{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:block;
  text-align:left;
  cursor:default;
}

body:has(.top-search-wrap:not(.hidden)) .hero-wordmark-button{
  cursor:pointer;
}

.hero-wordmark-button:focus-visible{
  outline:3px solid rgba(11,42,111,.22);
  outline-offset:6px;
  border-radius:18px;
}

.hero-wordmark-logo{
  width:min(760px,84vw) !important;
  max-height:160px !important;
}

.hero{
  align-items:center;
}

@media(max-width:720px){
  .tile-jump-menu{
    flex-direction:column-reverse !important;
    align-items:stretch !important;
  }

  .hero-wordmark-logo{
    width:min(460px,92vw) !important;
    max-height:118px !important;
  }
}


/* v273 price games use latest Unit Price per ASIN */
.price-game-answer{
  font-variant-numeric:tabular-nums;
}


/* v274 ordering-game instructions info */
.timeline-order-title-with-info{
  display:inline-flex !important;
  align-items:center;
  gap:7px;
  position:relative;
}

.timeline-order-info-dot{
  width:18px;
  height:18px;
  border:0;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:rgba(15,23,42,.10);
  color:#475569;
  font-size:11px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  padding:0;
  flex:0 0 auto;
}

.timeline-order-info-dot:hover,
.timeline-order-info-dot:focus-visible,
.timeline-order-info-dot.is-open{
  background:#111;
  color:#fff;
  outline:none;
}

.timeline-order-info-dot::after{
  content:"Select the oldest purchase date, then the next one, then the most recent one.";
  position:absolute;
  left:calc(100% + 8px);
  top:50%;
  transform:translateY(-50%) translateX(-4px);
  width:min(280px,72vw);
  padding:10px 12px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-align:left;
  box-shadow:0 14px 28px rgba(15,23,42,.22);
  opacity:0;
  visibility:hidden;
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  pointer-events:none;
  z-index:50;
  white-space:normal;
  text-transform:none;
  letter-spacing:normal;
}

.timeline-order-info-dot:hover::after,
.timeline-order-info-dot:focus-visible::after,
.timeline-order-info-dot.is-open::after{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0);
}

@media(max-width:720px){
  .timeline-order-info-dot::after{
    left:auto;
    right:0;
    top:26px;
    transform:translateY(-4px);
  }

  .timeline-order-info-dot:hover::after,
  .timeline-order-info-dot:focus-visible::after,
  .timeline-order-info-dot.is-open::after{
    transform:translateY(0);
  }
}


/* v275 fake local leaderboard ranking */
.leaderboard-rank-card{
  align-items:start;
}

.leaderboard-nearby-list{
  grid-column:1 / -1;
  display:grid;
  gap:6px;
  margin-top:4px;
}

.leaderboard-nearby-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) minmax(90px,auto);
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border-radius:14px;
  background:#f8fafc;
  color:#475569;
  font-size:12px;
  font-weight:850;
}

.leaderboard-nearby-row.has-link{
  align-items:start;
}

.leaderboard-nearby-row span{
  color:#0b2a6f;
  font-weight:1000;
}

.leaderboard-nearby-row strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#0f172a;
}

.leaderboard-nearby-row em{
  font-style:normal;
  text-align:right;
  color:#64748b;
}

.leaderboard-nearby-row.is-you{
  background:#ecfdf5;
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.22);
}

.leaderboard-nearby-row.is-you strong,
.leaderboard-nearby-row.is-you span{
  color:#166534;
}

@media(max-width:620px){
  .leaderboard-nearby-row{
    grid-template-columns:44px minmax(0,1fr);
  }

  .leaderboard-nearby-row em{
    grid-column:2;
    text-align:left;
  }
}


/* v276 leaderboard category refinements */
.leaderboard-rank-card[data-key="statesDelivered"] .leaderboard-rank-number{
  background:#166534;
}


/* v277 leaderboard top/middle/bottom wording and view switch */
.leaderboard-view-switch{
  grid-column:1 / -1;
  display:inline-flex;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:#f1f5f9;
  width:max-content;
  max-width:100%;
}

.leaderboard-view-switch button{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:transparent;
  color:#64748b;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-view-switch button.active{
  background:#0b2a6f;
  color:#fff;
}

.leaderboard-nearby-list.hidden{
  display:none !important;
}


/* v278 global leaderboard view switch */
.leaderboard-global-view-switch{
  display:inline-flex;
  gap:6px;
  padding:4px;
  border-radius:999px;
  background:#f1f5f9;
  width:max-content;
  max-width:100%;
}

.leaderboard-global-view-switch button{
  border:0;
  border-radius:999px;
  padding:9px 12px;
  background:transparent;
  color:#64748b;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-global-view-switch button.active{
  background:#0b2a6f;
  color:#fff;
}

.leaderboard-rank-grid[data-global-view="top10"] .leaderboard-rank-card,
.leaderboard-rank-grid[data-global-view="nearby"] .leaderboard-rank-card{
  align-content:start;
}

.leaderboard-rank-grid[data-global-view="top10"] .leaderboard-nearby-list:not(.hidden),
.leaderboard-rank-grid[data-global-view="nearby"] .leaderboard-nearby-list:not(.hidden){
  min-height:0;
}

@media(max-width:760px){
  .leaderboard-global-view-switch{
    width:100%;
  }

  .leaderboard-global-view-switch button{
    flex:1;
  }
}


.leaderboard-view-switch{
  display:none !important;
}


/* v279 card-level global leaderboard toggles + product-link test boards */
.leaderboard-card-switch{
  grid-column:1 / -1;
  justify-self:start;
  margin-top:2px;
}

.leaderboard-card-switch button{
  padding:6px 9px;
  font-size:11px;
}

.leaderboard-product-link-section{
  margin-top:18px;
  display:grid;
  gap:12px;
}

.leaderboard-product-link-head{
  padding:18px;
  border-radius:22px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}

.leaderboard-product-link-head span{
  display:block;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0b2a6f;
}

.leaderboard-product-link-head h3{
  margin:4px 0 0;
  font-size:clamp(22px,3vw,32px);
  line-height:1;
}

.leaderboard-product-link-head p{
  margin:7px 0 0;
  color:#64748b;
  font-weight:800;
}

.leaderboard-product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.leaderboard-product-card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.leaderboard-product-card h4{
  margin:0;
  font-size:18px;
  color:#0f172a;
}

.leaderboard-product-card p{
  margin:6px 0 12px;
  color:#64748b;
  font-weight:800;
  font-size:13px;
}

.leaderboard-nearby-row a{
  color:#0f172a;
  font-weight:950;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-nearby-row .leaderboard-item-title{
  display:block;
  grid-column:2 / -1;
  min-width:0;
  max-width:100%;
  color:#0b2a6f;
  font-weight:850;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-nearby-row a:hover{
  text-decoration:underline;
}

@media(max-width:860px){
  .leaderboard-product-grid{
    grid-template-columns:1fr;
  }
}


/* v280 Biggest Cart tile */
.story-accent-cart{
  --story-accent:#f97316;
}

.feed-icon-cart{
  background:linear-gradient(180deg,#fff7ed,#fed7aa);
  color:#9a3412;
}

.feed-icon-cart span{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(154,52,18,.14);
  font-size:18px;
  font-weight:1000;
}

.biggest-cart-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}

.biggest-cart-metrics div{
  padding:13px;
  border-radius:18px;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.14);
}

.biggest-cart-metrics span{
  display:block;
  color:#9a3412;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.biggest-cart-metrics strong{
  display:block;
  margin-top:5px;
  color:#0f172a;
  font-size:clamp(20px,2.4vw,30px);
  line-height:1;
  font-weight:1000;
}

.biggest-cart-list{
  display:grid;
  gap:8px;
}

.biggest-cart-list a{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:#0f172a;
  text-decoration:none;
}

.biggest-cart-list a:hover{
  background:#fff7ed;
}

.biggest-cart-list span{
  color:#9a3412;
  font-weight:1000;
}

.biggest-cart-list strong{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:13px;
}

.biggest-cart-list em{
  color:#64748b;
  font-style:normal;
  font-weight:900;
  font-size:12px;
}

@media(max-width:720px){
  .biggest-cart-metrics{
    grid-template-columns:1fr;
  }

  .biggest-cart-list a{
    grid-template-columns:auto minmax(0,1fr);
  }

  .biggest-cart-list em{
    grid-column:2;
  }
}


/* v281 Biggest Cart action links */
.biggest-cart-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.biggest-cart-actions .feed-action{
  display:inline-flex;
  width:auto;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  margin:0;
}

.biggest-cart-link{
  cursor:pointer;
}

.biggest-cart-actions .biggest-cart-sample-details{
  border:1px solid rgba(15,23,42,.16);
  background:linear-gradient(135deg,#fff,#f8fafc);
  color:#0f172a;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
}

.biggest-cart-actions .biggest-cart-sample-details:hover,
.biggest-cart-actions .biggest-cart-sample-details:focus-visible{
  background:linear-gradient(135deg,#f8fafc,#eef2ff);
}


/* v282 Biggest Cart cleanup */
.feed-biggest-cart-card .feed-icon-cart span{
  font-size:26px;
}

.feed-biggest-cart-card .biggest-cart-metrics{
  grid-template-columns:minmax(0,1fr);
  max-width:320px;
}


/* v283 Biggest Cart leaderboard */
.leaderboard-rank-card[data-key="biggestCart"] .leaderboard-rank-number{
  background:#9a3412;
}


/* v284 leaderboard explanation tooltips */
.leaderboard-rank-card{
  position:relative;
}

.leaderboard-info-dot{
  position:absolute;
  top:12px;
  right:12px;
  width:22px;
  height:22px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(15,23,42,.08);
  color:#475569;
  font-size:12px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  z-index:5;
}

.leaderboard-info-dot:hover,
.leaderboard-info-dot:focus-visible,
.leaderboard-info-dot.is-open{
  background:#0b2a6f;
  color:#fff;
  outline:none;
}

.leaderboard-info-dot::after{
  content:attr(data-leaderboard-info);
  position:absolute;
  right:0;
  top:30px;
  width:min(310px,72vw);
  padding:11px 13px;
  border-radius:15px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-align:left;
  box-shadow:0 14px 28px rgba(15,23,42,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
  pointer-events:none;
  z-index:40;
  white-space:normal;
}

.leaderboard-info-dot:hover::after,
.leaderboard-info-dot:focus-visible::after,
.leaderboard-info-dot.is-open::after{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.leaderboard-rank-main{
  padding-right:28px;
}

@media(max-width:620px){
  .leaderboard-info-dot::after{
    right:-4px;
    width:min(280px,82vw);
  }
}


/* v287 pre-upload local privacy note */
.local-privacy-note{
  display:grid;
  gap:4px;
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:18px;
  background:#ecfdf5;
  border:1px solid rgba(34,197,94,.22);
  color:#166534;
}

.local-privacy-note strong{
  font-weight:1000;
  color:#166534;
}

.local-privacy-note span{
  font-weight:800;
  line-height:1.35;
  color:#166534;
}


/* v288 compact local privacy line */
.hero-brand .local-privacy-note{
  margin:2px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#166534;
  font-size:13px;
  font-weight:850;
  line-height:1.35;
  max-width:640px;
}

.hero-brand .local-privacy-note strong,
.hero-brand .local-privacy-note span{
  color:inherit;
  font-weight:inherit;
}


/* v289 cropped logo and simplified pre-upload text */
.hero-wordmark-logo{
  object-fit:contain;
}

.hero-brand .local-privacy-note{
  margin:2px 0 0;
}


/* v290 leaderboard marquee and shared purchases board */
.leaderboard-marquee{
  position:sticky;
  top:0;
  z-index:8000;
  width:100%;
  overflow:hidden;
  border:0;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#0b2a6f;
  color:#fff;
  cursor:pointer;
  padding:8px 0;
  box-shadow:0 10px 26px rgba(15,23,42,.10);
}

.leaderboard-marquee.hidden{
  display:none !important;
}

.leaderboard-marquee-track{
  display:flex;
  width:max-content;
  align-items:center;
  gap:28px;
  white-space:nowrap;
  animation:leaderboardMarquee 24s linear infinite;
  padding-left:100%;
}

.leaderboard-marquee:hover .leaderboard-marquee-track{
  animation-play-state:paused;
}

.leaderboard-marquee span{
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.leaderboard-marquee em{
  font-size:12px;
  font-style:normal;
  font-weight:800;
  opacity:.82;
}

@keyframes leaderboardMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-100%);}
}

.shared-purchase-list{
  gap:7px;
}

.shared-purchase-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border-radius:14px;
  background:#f8fafc;
  color:#0f172a;
  text-decoration:none;
}

.shared-purchase-row:hover{
  background:#eef2ff;
}

.shared-purchase-row span{
  color:#0b2a6f;
  font-weight:1000;
  font-size:14px;
}

.shared-purchase-row strong{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:13px;
  font-weight:900;
}


/* v291 real-data leaderboard marquee */
.leaderboard-marquee{
  position:relative !important;
  top:auto !important;
  z-index:10 !important;
  width:calc(100% - 32px) !important;
  max-width:1120px;
  margin:14px auto 0 !important;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.92) !important;
  color:#0f172a !important;
  cursor:pointer;
  padding:0 !important;
  box-shadow:0 16px 40px rgba(15,23,42,.08) !important;
  backdrop-filter:blur(12px);
}

.leaderboard-marquee-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 12px;
}

.leaderboard-marquee-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border-radius:999px;
  background:#eef2ff;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.leaderboard-marquee-window{
  overflow:hidden;
  min-width:0;
  mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}

.leaderboard-marquee-track{
  display:flex;
  width:max-content;
  align-items:center;
  gap:10px;
  white-space:nowrap;
  animation:leaderboardMarquee 52s linear infinite;
  padding-left:0 !important;
}

.leaderboard-marquee:hover .leaderboard-marquee-track{
  animation-play-state:paused;
}

.leaderboard-marquee-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.leaderboard-marquee-item strong{
  color:#0b2a6f;
  font-size:12px;
  font-weight:1000;
}

.leaderboard-marquee-item em{
  color:#64748b;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}

.leaderboard-marquee-item b{
  color:#0f172a;
  font-size:12px;
  font-weight:1000;
}

.leaderboard-marquee-item i{
  color:#475569;
  font-size:12px;
  font-style:normal;
  font-weight:850;
}

@keyframes leaderboardMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

body > .local-privacy-note{
  display:none !important;
}

@media(max-width:720px){
  .leaderboard-marquee{
    width:calc(100% - 24px) !important;
    margin-top:10px !important;
    border-radius:18px !important;
  }

  .leaderboard-marquee-inner{
    grid-template-columns:1fr;
    gap:8px;
  }

  .leaderboard-marquee-label{
    justify-self:start;
  }
}


/* v292 marquee width/speed/privacy fixes */
.leaderboard-marquee{
  width:100% !important;
  max-width:none !important;
  margin:14px 0 0 !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
}

.leaderboard-marquee-inner{
  max-width:1120px;
  margin:0 auto;
  width:calc(100% - 32px);
}

.leaderboard-marquee-track{
  animation-duration:96s !important;
}

@media(max-width:720px){
  .leaderboard-marquee{
    width:100% !important;
    margin-top:10px !important;
    border-radius:0 !important;
  }

  .leaderboard-marquee-inner{
    width:calc(100% - 24px);
  }
}


/* v293 marquee placement/upload/action cleanup */
.leaderboard-marquee{
  margin:14px 0 0 !important;
  border-radius:0 !important;
}

.leaderboard-marquee-inner{
  max-width:none !important;
  width:100% !important;
  padding-left:clamp(16px,4vw,56px) !important;
  padding-right:clamp(16px,4vw,56px) !important;
  box-sizing:border-box;
  grid-template-columns:auto minmax(0,1fr) auto !important;
}

.leaderboard-marquee-track{
  animation-duration:132s !important;
}

.leaderboard-marquee-upload-slot{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-width:max-content;
}

.leaderboard-marquee-upload-slot .upload-button{
  margin:0;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  white-space:nowrap;
}

.hero-actions:empty{
  display:none;
}

#leaderboardSubmitButton{
  display:none !important;
}

@media(max-width:760px){
  .leaderboard-marquee-inner{
    grid-template-columns:1fr !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .leaderboard-marquee-upload-slot{
    justify-content:stretch;
  }

  .leaderboard-marquee-upload-slot .upload-button{
    width:100%;
    justify-content:center;
  }
}


/* v295 stacked three-line leaderboard marquee */
.leaderboard-marquee-track{
  align-items:stretch !important;
  gap:14px !important;
  animation-duration:156s !important;
}

.leaderboard-marquee-item{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:3px !important;
  align-items:center !important;
  min-width:178px;
  max-width:230px;
  padding:10px 13px !important;
  border-radius:18px !important;
  white-space:normal !important;
}

.leaderboard-marquee-title{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:950;
  line-height:1.1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-marquee-item strong{
  display:block;
  color:#0f172a !important;
  font-size:16px !important;
  line-height:1.05;
  font-weight:1000 !important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-marquee-item em{
  display:block;
  color:#0b2a6f !important;
  font-size:12px !important;
  line-height:1.1;
  font-style:normal;
  font-weight:950 !important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-marquee-item b,
.leaderboard-marquee-item i{
  display:none !important;
}


/* v296 ordered marquee cycle + occasional Just now labels */
.leaderboard-marquee-item{
  position:relative;
}

.leaderboard-marquee-item small{
  position:absolute;
  right:8px;
  bottom:5px;
  color:#166534;
  background:#dcfce7;
  border:1px solid rgba(34,197,94,.20);
  border-radius:999px;
  padding:2px 5px;
  font-size:9px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.leaderboard-marquee-item.is-just-now{
  background:#f0fdf4 !important;
  border-color:rgba(34,197,94,.24) !important;
  padding-right:54px !important;
}

.leaderboard-marquee-track{
  animation-duration:180s !important;
}


/* v297 slower marquee and less frequent #1 entries */
.leaderboard-marquee-track{
  animation-duration:240s !important;
}


/* v298 ordered leaderboard-source marquee with random deeper picks */
.leaderboard-marquee-item.is-random-pick{
  background:#f5f3ff !important;
  border-color:rgba(124,58,237,.24) !important;
  padding-right:58px !important;
}

.leaderboard-marquee-item.is-random-pick small{
  color:#5b21b6;
  background:#ede9fe;
  border:1px solid rgba(124,58,237,.22);
}

.leaderboard-marquee-track{
  animation-duration:260s !important;
}


/* v299 public leaderboard homepage and slower marquee */
.leaderboard-marquee-track{
  animation-duration:520s !important;
}

.leaderboard-marquee-label{
  min-height:44px;
  min-width:148px;
  padding:0 18px !important;
  box-sizing:border-box;
}

.page-view-tabs{
  max-width:1120px;
  margin:10px auto 0;
  padding:0 16px;
  display:flex;
  gap:10px;
}

.page-view-tabs button{
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  padding:11px 16px;
  background:#fff;
  color:#64748b;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}

.page-view-tabs button.active{
  background:#0b2a6f;
  color:#fff;
  border-color:#0b2a6f;
}

.page-view-tabs button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.leaderboard-public-results .leaderboard-results-head{
  background:linear-gradient(135deg,#f8fafc,#eef2ff);
}

.leaderboard-public-results .leaderboard-rank-number{
  width:auto;
  min-width:68px;
  padding:0 10px;
  font-size:13px;
}

body:not(.has-report) .leaderboard-back-button{
  opacity:.45;
  cursor:not-allowed;
}


/* v300 true Leaderboards / Report page structure */
.page{
  max-width:1200px;
  margin:0 auto;
}

.hero,
.page-view-tabs,
.leaderboard-page,
.report-intro,
.top-search,
#storyFeedDashboard,
#comparisonDashboard,
#storyDashboard,
#searchView,
.chart-wrap,
.stats-grid,
.insight-grid,
.streak-proof-row,
.extra-stats-row{
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
}

.page-view-tabs{
  justify-content:flex-start;
  padding:0;
  margin-top:10px;
}

.page-view-tabs button{
  min-width:132px;
}

.leaderboard-page{
  padding-left:0;
  padding-right:0;
}

.leaderboard-page-card{
  width:100%;
  box-sizing:border-box;
}

.report-intro{
  margin-top:18px;
}

.report-intro.hidden{
  display:none !important;
}

.report-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:22px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.07);
}

.report-intro-card span,
.report-leaderboard-head span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.report-intro-card h2{
  margin:4px 0 0;
  font-size:clamp(28px,4vw,48px);
  line-height:1;
}

.report-intro-card p{
  margin:8px 0 0;
  color:#64748b;
  font-weight:850;
  line-height:1.4;
}

.report-upload-panel{
  display:flex;
  justify-content:flex-end;
}

.amazon-zip-directions{
  margin-top:14px;
  padding:20px 22px;
  border-radius:24px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}

.amazon-zip-directions.hidden{
  display:none !important;
}

.amazon-zip-directions h3{
  margin:0 0 16px;
  color:#0f172a;
}

.amazon-zip-directions ol{
  margin:0;
  padding-left:20px;
  color:#475569;
  font-weight:800;
  line-height:1.55;
}

.report-leaderboard-submission{
  margin-top:24px;
  padding:22px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 18px 48px rgba(15,23,42,.07);
}

.report-leaderboard-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.report-leaderboard-head h3{
  margin:4px 0 0;
  font-size:clamp(24px,3vw,34px);
}

.report-leaderboard-head p{
  margin:6px 0 0;
  color:#64748b;
  font-weight:850;
}

#reportLeaderboardSelectAllButton{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:#eef2ff;
  color:#0b2a6f;
  font-weight:950;
  cursor:pointer;
}

body[data-view-mode="leaderboard"] .leaderboard-marquee{
  display:none !important;
}

body[data-view-mode="report"] .leaderboard-marquee{
  display:block;
}

.leaderboard-marquee-track{
  animation-duration:520s !important;
}

.leaderboard-marquee-label{
  min-height:44px;
  min-width:132px;
}

@media(max-width:760px){
  .hero,
  .page-view-tabs,
  .leaderboard-page,
  .report-intro,
  .top-search,
  #storyFeedDashboard,
  #comparisonDashboard,
  #storyDashboard,
  #searchView{
    max-width:calc(100% - 24px);
  }

  .report-intro-card{
    grid-template-columns:1fr;
  }

  .report-upload-panel{
    justify-content:stretch;
  }

  .report-upload-panel .upload-button{
    width:100%;
    justify-content:center;
  }

  .report-leaderboard-head{
    align-items:flex-start;
    flex-direction:column;
  }
}

.hero-actions:empty{display:none!important;}


/* v301 header-integrated page tabs and Most Recent Order */
.hero{
  align-items:stretch;
}

.hero-brand-wordmark{
  width:100%;
}

.hero-brand .page-view-tabs{
  margin:16px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  max-width:100%;
  border:1px solid rgba(15,23,42,.10);
  border-radius:26px 26px 0 0;
  overflow:hidden;
  background:#f8fafc;
  box-shadow:0 18px 34px rgba(15,23,42,.06);
}

.hero-brand .page-view-tabs button{
  min-width:0;
  width:100%;
  border:0;
  border-radius:0;
  padding:18px 18px;
  background:#f8fafc;
  color:#64748b;
  box-shadow:none;
  font-size:15px;
  font-weight:1000;
}

.hero-brand .page-view-tabs button:first-child{
  border-right:1px solid rgba(15,23,42,.08);
}

.hero-brand .page-view-tabs button.active{
  background:#fff;
  color:#0b2a6f;
}

body[data-view-mode="leaderboard"] .leaderboard-page-card,
body[data-view-mode="report"] .report-intro-card,
body[data-view-mode="report"] #storyFeedDashboard{
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

body[data-view-mode="leaderboard"] .leaderboard-page{
  margin-top:0;
}

body[data-view-mode="leaderboard"] .leaderboard-page-card{
  border-top:0;
  box-shadow:0 22px 56px rgba(15,23,42,.08);
}

body[data-view-mode="report"] .report-intro{
  margin-top:0;
}

body[data-view-mode="report"] .report-intro-card{
  border-top:0;
  box-shadow:0 22px 56px rgba(15,23,42,.08);
}

body[data-view-mode="report"] #storyFeedDashboard{
  margin-top:0;
}

.leaderboard-rank-card[data-key="mostRecentOrder"] .leaderboard-rank-number{
  background:#0e7490;
}

@media(max-width:720px){
  .hero-brand .page-view-tabs button{
    padding:15px 12px;
  }
}


/* v302 tab/page separation and attachment fixes */
.hero{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.hero-brand .page-view-tabs{
  margin-bottom:0 !important;
  border-bottom:0 !important;
  position:relative;
  z-index:2;
}

.leaderboard-page,
.report-intro{
  margin-top:0 !important;
  padding-top:0 !important;
}

.leaderboard-page-card,
.report-intro-card{
  border-top-left-radius:0 !important;
  border-top-right-radius:0 !important;
}

body[data-view-mode="leaderboard"] .report-intro,
body[data-view-mode="leaderboard"] #storyFeedDashboard,
body[data-view-mode="leaderboard"] .top-search,
body[data-view-mode="leaderboard"] #searchView{
  display:none !important;
}

body[data-view-mode="report"] #leaderboardPage{
  display:none !important;
}

body[data-view-mode="leaderboard"] #leaderboardPage.hidden{
  display:block !important;
}

body[data-view-mode="report"] .report-intro:not(.hidden){
  display:block !important;
}

#leaderboardPage{
  width:100%;
}


/* v303 header cleanup and report upload placement */
.hero-wordmark-logo{
  width:min(380px,42vw) !important;
  max-height:80px !important;
}

.report-intro-card{
  grid-template-columns:1fr !important;
}

.report-upload-under-directions{
  margin-top:14px;
  justify-content:flex-start;
}

.report-upload-under-directions .upload-button span{
  white-space:nowrap;
}

@media(max-width:720px){
  .hero-wordmark-logo{
    width:min(230px,72vw) !important;
    max-height:60px !important;
  }
}


/* v304 remove marquee and update directions */
.leaderboard-marquee{
  display:none !important;
}

.amazon-zip-directions a{
  color:#0b2a6f;
  font-weight:1000;
  text-decoration:none;
}

.amazon-zip-directions a:hover{
  text-decoration:underline;
}


/* v305 report restore and leaderboard submit action */
.report-leaderboard-quick-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 16px;
  padding:16px 18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.report-leaderboard-quick-action span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.report-leaderboard-quick-action strong{
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:18px;
  font-weight:1000;
}

.report-leaderboard-quick-action button{
  border:0;
  border-radius:999px;
  padding:11px 15px;
  background:#0b2a6f;
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  white-space:nowrap;
}

body[data-view-mode="leaderboard"] #tileJumpMenu{
  display:none !important;
}

body:not(.has-report) #tileJumpMenu{
  display:none !important;
}

@media(max-width:720px){
  .report-leaderboard-quick-action{
    align-items:stretch;
    flex-direction:column;
  }

  .report-leaderboard-quick-action button{
    width:100%;
  }
}


/* v306 My Report, directions, leaderboard header cleanup, and search restore */
.external-amazon-link::after{
  content:"↗";
  display:inline-block;
  margin-left:4px;
  font-size:.86em;
  font-weight:1000;
  transform:translateY(-1px);
}

.amazon-zip-directions strong{
  font-weight:1000;
  color:#0f172a;
}

.leaderboard-page-head{
  display:none !important;
}

.leaderboard-page-card{
  padding-top:0 !important;
}

.leaderboard-public-results{
  margin-top:0 !important;
}

.leaderboard-public-results .leaderboard-results-head{
  margin-top:0 !important;
}

.top-search{
  width:100%;
  box-sizing:border-box;
}

body[data-view-mode="report"].has-report .top-search{
  display:block !important;
}

body[data-view-mode="report"].has-report #topSearchWrap.hidden{
  display:block !important;
}


/* v307 leaderboard subtitle link */
.inline-rank-link{
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  color:#0b2a6f;
  font:inherit;
  font-weight:1000;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.inline-rank-link:hover{
  color:#123c93;
}


/* v309 green Report callout + inline upload step */
.report-intro-card{
  background:linear-gradient(135deg,#ecfdf5,#f0fdf4) !important;
  border:1px solid rgba(34,197,94,.26) !important;
  box-shadow:0 22px 56px rgba(22,101,52,.10) !important;
}

.report-intro-card span:first-child{
  color:#166534 !important;
}

.report-intro-card h2{
  color:#052e16 !important;
}

.report-intro-card p{
  color:#166534 !important;
}

.report-local-note{
  display:inline-flex !important;
  flex-wrap:wrap;
  gap:0;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:14px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  background:#dcfce7 !important;
  border:1px solid rgba(34,197,94,.24) !important;
  color:#14532d !important;
  font-weight:900 !important;
}

.report-local-note strong{
  color:#14532d !important;
  font-weight:1000 !important;
}

.report-local-note span{
  color:#14532d !important;
  font-weight:900 !important;
}

.directions-upload-step{
  display:grid;
  gap:10px;
}

.report-upload-inline{
  margin:2px 0 0;
  justify-content:flex-start;
}

.report-upload-inline .upload-button{
  width:max-content;
}

@media(max-width:720px){
  .report-local-note{
    width:auto;
  }

  .report-upload-inline .upload-button{
    width:100%;
    justify-content:center;
  }
}


/* v310 report callout polish */
.report-intro-card{
  border-radius:26px !important;
  border-top-left-radius:26px !important;
  border-top-right-radius:26px !important;
  padding:26px !important;
  overflow:hidden;
}

body[data-view-mode="report"] .report-intro-card{
  border-radius:26px !important;
  border-top-left-radius:26px !important;
  border-top-right-radius:26px !important;
}

.report-local-note{
  display:inline-block !important;
  width:auto !important;
  max-width:100% !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  color:#14532d !important;
}

.report-local-note strong,
.report-local-note span{
  font:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
  color:inherit !important;
}

.directions-upload-step{
  display:list-item !important;
  padding-left:0 !important;
}

.directions-upload-step .report-upload-inline{
  display:flex;
  margin-top:14px;
  margin-left:0;
}

.amazon-zip-directions ol{
  list-style-position:outside;
}

.amazon-zip-directions li{
  padding-left:0;
}

.hero-brand .page-view-tabs{
  border-bottom:1px solid rgba(15,23,42,.10) !important;
  border-radius:26px !important;
  overflow:hidden;
}

body[data-view-mode="leaderboard"] .leaderboard-page-card,
body[data-view-mode="report"] .report-intro-card,
body[data-view-mode="report"] #storyFeedDashboard{
  border-top-left-radius:26px !important;
  border-top-right-radius:26px !important;
}


/* v311 shorter slogan and header feature list */
.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:28px;
  align-items:center;
}

.hero-brand > p:not(.local-privacy-note){
  max-width:520px;
  font-size:17px;
  font-weight:850;
}

.header-feature-list{
  align-self:center;
  justify-self:end;
  display:block !important;
  width:100%;
  max-width:360px;
  padding:18px 20px;
  border-radius:24px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.header-feature-kicker{
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.header-feature-list ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:9px;
}

.header-feature-list li{
  position:relative;
  padding-left:18px;
  color:#475569;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
}

.header-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#0b2a6f;
}

@media(max-width:860px){
  .hero{
    grid-template-columns:1fr;
  }

  .header-feature-list{
    justify-self:stretch;
    max-width:none;
  }
}


/* v312 default My Report and moved feature list */
.hero{
  grid-template-columns:1fr !important;
}

.hero-brand > p:not(.local-privacy-note){
  display:none !important;
}

.header-feature-list{
  display:none !important;
}

.report-intro-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px) !important;
  gap:26px !important;
  align-items:center !important;
}

.report-intro-copy p br{
  display:block;
}

.report-feature-list{
  align-self:center;
  justify-self:stretch;
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(34,197,94,.22);
  box-shadow:0 14px 30px rgba(22,101,52,.08);
}

.report-feature-list ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}

.report-feature-list li{
  position:relative;
  padding-left:20px;
  color:#14532d;
  font-size:14px;
  font-weight:900;
  line-height:1.25;
}

.report-feature-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:#16a34a;
}

body[data-view-mode="report"] .report-intro:not(.hidden){
  display:block !important;
}

@media(max-width:860px){
  .report-intro-card{
    grid-template-columns:1fr !important;
  }
}


/* v313 header cleanup and toned-down Report panel */
.hero-slogan{
  margin:10px 0 0;
  color:#475569;
  font-size:16px;
  font-weight:850;
}

.hero-brand > p.hero-slogan{
  display:block !important;
}

.report-intro-card{
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-left:5px solid #16a34a !important;
  box-shadow:0 18px 48px rgba(15,23,42,.07) !important;
}

.report-intro-card span:first-child{
  color:#166534 !important;
}

.report-intro-card h2{
  color:#0f172a !important;
}

.report-intro-card p{
  color:#475569 !important;
}

.report-local-note{
  background:#f0fdf4 !important;
  border:1px solid rgba(34,197,94,.22) !important;
  color:#14532d !important;
}

.report-feature-list{
  background:#f8fafc !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:none !important;
}

.report-feature-list li{
  color:#475569 !important;
}

.report-feature-list li::before{
  background:#16a34a !important;
}


/* v314 slogan placement, leaderboard intro polish, and leaderboard sections */
.hero-slogan{
  margin:8px 0 14px !important;
}

.leaderboard-public-results .leaderboard-results-head{
  width:100%;
  box-sizing:border-box;
  margin:0 0 18px !important;
  padding:26px !important;
  border-radius:26px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-left:5px solid #0b2a6f !important;
  box-shadow:0 18px 48px rgba(15,23,42,.07) !important;
}

.leaderboard-public-results .leaderboard-results-head span{
  display:block;
  color:#0b2a6f !important;
  font-size:11px !important;
  font-weight:1000 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.leaderboard-public-results .leaderboard-results-head h3{
  margin:4px 0 0 !important;
  color:#0f172a !important;
  font-size:clamp(36px,5vw,58px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

.leaderboard-public-results .leaderboard-results-head p{
  margin:12px 0 0 !important;
  color:#475569 !important;
  font-size:18px !important;
  line-height:1.35 !important;
  font-weight:850 !important;
  max-width:780px;
}

.leaderboard-page-card{
  width:100% !important;
}

.leaderboard-local-results{
  width:100% !important;
}

body[data-view-mode="leaderboard"] #tileJumpMenu{
  display:block !important;
}

body[data-view-mode="leaderboard"] #tileJumpMenu.hidden{
  display:none !important;
}


/* v315 Sections menu, matching intro typography, and leaderboard margins */
.tile-jump-menu{
  position:fixed !important;
  right:clamp(16px,4vw,56px) !important;
  bottom:24px !important;
  display:flex !important;
  flex-direction:column-reverse !important;
  align-items:flex-end !important;
  gap:10px !important;
  z-index:9000 !important;
}

.tile-jump-menu.hidden{
  display:none !important;
}

.tile-jump-toggle{
  position:relative !important;
  z-index:2 !important;
}

.tile-jump-panel{
  position:absolute !important;
  right:0 !important;
  bottom:calc(100% + 10px) !important;
  min-width:220px !important;
  max-height:min(60vh,520px) !important;
  overflow:auto !important;
  transform:none !important;
  transform-origin:bottom right !important;
}

.tile-jump-menu:not(.is-open) .tile-jump-panel{
  display:none !important;
}

.tile-jump-menu.is-open .tile-jump-panel{
  display:grid !important;
}

.page-intro-card{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 0 18px !important;
  padding:26px !important;
  border-radius:26px !important;
  background:#fff !important;
  border:1px solid rgba(15,23,42,.08) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.07) !important;
}

.page-intro-card-green{
  border-left:5px solid #16a34a !important;
}

.page-intro-card-blue{
  border-left:5px solid #0b2a6f !important;
}

.page-intro-card span,
.leaderboard-public-results .leaderboard-results-head span,
.report-intro-card span:first-child{
  display:block !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:1000 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin:0 !important;
}

.page-intro-card-blue span,
.leaderboard-public-results .leaderboard-results-head span{
  color:#0b2a6f !important;
}

.page-intro-card-green span,
.report-intro-card span:first-child{
  color:#166534 !important;
}

.page-intro-card h2,
.page-intro-card h3,
.leaderboard-public-results .leaderboard-results-head h3,
.report-intro-card h2{
  margin:4px 0 0 !important;
  color:#0f172a !important;
  font-size:clamp(36px,5vw,58px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
}

.page-intro-card p,
.leaderboard-public-results .leaderboard-results-head p,
.report-intro-card p{
  margin:12px 0 0 !important;
  color:#475569 !important;
  font-size:18px !important;
  line-height:1.35 !important;
  font-weight:850 !important;
  max-width:780px !important;
}

.report-local-note{
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  color:#14532d !important;
  max-width:max-content !important;
}

.leaderboard-page{
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

.leaderboard-page-card{
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

.leaderboard-local-results,
.leaderboard-public-results,
.leaderboard-rank-grid,
.leaderboard-product-link-section{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

@media(max-width:760px){
  .leaderboard-page{
    max-width:calc(100% - 24px) !important;
  }

  .tile-jump-menu{
    right:12px !important;
    bottom:16px !important;
  }

  .tile-jump-panel{
    min-width:min(260px,calc(100vw - 24px)) !important;
  }
}


/* v316 sections hover + leaderboard submission preview */
.tile-jump-menu.is-open .tile-jump-toggle{
  box-shadow:0 14px 30px rgba(15,23,42,.16);
}

.tile-jump-menu,
.tile-jump-panel,
.tile-jump-toggle{
  pointer-events:auto;
}

.leaderboard-submit-value{
  display:inline-flex !important;
  width:max-content;
  max-width:100%;
  margin-top:9px !important;
  padding:6px 9px;
  border-radius:999px;
  background:#eef2ff;
  color:#0b2a6f !important;
  font-size:12px !important;
  font-weight:1000 !important;
  line-height:1.1 !important;
}

.leaderboard-not-included-group{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(15,23,42,.10);
}

.leaderboard-not-included-group > div:first-child{
  margin-bottom:12px;
}

.leaderboard-not-included-group strong{
  display:block;
  color:#0f172a;
  font-size:15px;
  font-weight:1000;
}

.leaderboard-not-included-group p{
  margin:5px 0 0;
  color:#64748b;
  font-weight:850;
  line-height:1.35;
}

.leaderboard-option-excluded{
  opacity:.58;
  background:#f8fafc !important;
  cursor:not-allowed !important;
  border-style:dashed !important;
}

.leaderboard-option-excluded input{
  cursor:not-allowed !important;
}

.leaderboard-option-excluded small{
  color:#64748b !important;
  background:#e2e8f0 !important;
}


/* v317 feature order and public leaderboard icon badges */
.leaderboard-icon-badge{
  font-size:30px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  color:#fff !important;
  letter-spacing:0 !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

.leaderboard-rank-card[data-key="totalOrders"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="totalSpend"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="totalTax"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="totalShipping"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="earliestPurchase"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="mostRecentOrder"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="repeatBuyCount"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="statesDelivered"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="biggestCart"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="busiestDay"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="longestDrought"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="highestSingle"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="cancelled"] .leaderboard-icon-badge,
.leaderboard-rank-card[data-key="cancelledOrders"] .leaderboard-icon-badge{
  background:#0b2a6f !important;
}

.leaderboard-icon-badge{
  display:grid !important;
  place-items:center !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  border-radius:18px !important;
  box-shadow:0 12px 24px rgba(11,42,111,.18) !important;
}


/* v318 compact submission tiles with right-side values */
.report-leaderboard-submission .leaderboard-options{
  gap:9px !important;
}

.report-leaderboard-submission .leaderboard-option{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  padding:12px 14px !important;
  min-height:0 !important;
}

.report-leaderboard-submission .leaderboard-option input{
  align-self:center !important;
}

.leaderboard-option-copy{
  min-width:0;
}

.report-leaderboard-submission .leaderboard-option strong{
  font-size:14px !important;
  line-height:1.15 !important;
}

.report-leaderboard-submission .leaderboard-option em{
  margin-top:3px !important;
  font-size:12px !important;
  line-height:1.25 !important;
}

.report-leaderboard-submission .leaderboard-submit-value{
  justify-self:end;
  display:block !important;
  max-width:190px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#0b2a6f !important;
  font-size:20px !important;
  line-height:1.05 !important;
  font-weight:1000 !important;
  text-align:right;
}

.report-leaderboard-submission .leaderboard-option.is-deselected{
  opacity:.48;
  background:#f8fafc !important;
  filter:grayscale(.4);
}

.report-leaderboard-submission .leaderboard-option.is-deselected .leaderboard-submit-value{
  color:#64748b !important;
  text-decoration:line-through;
}

.report-leaderboard-submission .leaderboard-option-excluded{
  grid-template-columns:auto minmax(0,1fr) !important;
}

.report-leaderboard-submission .leaderboard-option-excluded small{
  display:inline-flex !important;
  width:max-content;
  margin-top:7px !important;
  padding:5px 8px !important;
  border-radius:999px !important;
}

@media(max-width:720px){
  .report-leaderboard-submission .leaderboard-option{
    grid-template-columns:auto minmax(0,1fr) !important;
  }

  .report-leaderboard-submission .leaderboard-submit-value{
    grid-column:2;
    justify-self:start;
    text-align:left;
    max-width:100%;
    font-size:18px !important;
  }
}


/* v319 price game streak counters */
.price-game-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.price-game-streak-slot{
  min-width:0;
}

.price-game-streak{
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.20);
  border-radius:999px;
  padding:5px 8px;
  display:flex;
  align-items:center;
  gap:5px;
  box-shadow:0 8px 16px rgba(15,23,42,.06);
}

.price-game-streak img{
  width:15px;
  height:15px;
}

.price-game-streak strong{
  color:#9a3412;
  font-size:13px;
  font-weight:1000;
  line-height:1;
}

@media(max-width:620px){
  .price-game-top,
  .cost-game-head{
    align-items:flex-start;
    gap:10px;
  }

  .price-game-head-actions{
    align-self:flex-end;
  }
}


/* v320 Cart Builder, coincidences, and Repeat Habit price trend */
.repeat-rhythm-with-prices{
  align-items:center;
  flex-wrap:wrap;
}

.repeat-price-pill{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
}

.repeat-price-direction{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:18px;
  font-weight:1000;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}

.repeat-price-direction.is-up{
  color:#b91c1c;
  background:#fef2f2;
  border-color:rgba(239,68,68,.22);
}

.repeat-price-direction.is-down{
  color:#047857;
  background:#ecfdf5;
  border-color:rgba(16,185,129,.22);
}

.repeat-price-direction.is-same{
  color:#0b2a6f;
  background:#eef2ff;
  border-color:rgba(11,42,111,.16);
}

.cart-builder-game{
  margin-top:18px;
  padding:16px;
  border-radius:22px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
}

.cart-builder-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.cart-builder-head span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.cart-builder-head strong{
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:20px;
  font-weight:1000;
}

.cart-builder-head em{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-style:normal;
  font-weight:850;
}

.cart-builder-meter{
  height:10px;
  margin-top:14px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
}

.cart-builder-fill{
  width:0;
  height:100%;
  border-radius:999px;
  background:#0b2a6f;
  transition:width .18s ease, background .18s ease;
}

.cart-builder-fill.over-budget{
  background:#b91c1c;
}

.cart-builder-status{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
  color:#64748b;
  font-weight:900;
}

.cart-builder-status strong{
  color:#0f172a;
  font-size:18px;
  font-weight:1000;
}

.cart-builder-status span.over-budget{
  color:#b91c1c;
}

.cart-builder-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}

.cart-builder-option{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:10px 11px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  color:#0f172a;
  cursor:pointer;
  text-align:left;
}

.cart-builder-option strong{
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:13px;
  font-weight:900;
}

.cart-builder-option span{
  color:#0b2a6f;
  font-weight:1000;
  white-space:nowrap;
}

.cart-builder-option.selected{
  background:#eef2ff;
  border-color:rgba(11,42,111,.24);
  box-shadow:0 8px 18px rgba(11,42,111,.08);
}

.price-coincidence-box{
  margin-top:18px;
  padding:16px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}

.price-coincidence-head span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.price-coincidence-head strong{
  display:block;
  margin-top:3px;
  color:#0f172a;
  font-size:18px;
  font-weight:1000;
}

.price-coincidence-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.price-coincidence-card{
  padding:13px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}

.price-coincidence-card > span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.price-coincidence-card > strong{
  display:block;
  margin-top:4px;
  color:#0b2a6f;
  font-size:22px;
  font-weight:1000;
}

.price-coincidence-card p{
  margin:5px 0 8px;
  color:#475569;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.price-coincidence-card ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}

.price-coincidence-card li{
  display:grid;
  gap:2px;
}

.price-coincidence-card li strong{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#0f172a;
  font-size:12px;
  font-weight:900;
}

.price-coincidence-card li span{
  color:#64748b;
  font-size:11px;
  font-weight:850;
}

@media(max-width:720px){
  .cart-builder-options,
  .price-coincidence-grid{
    grid-template-columns:1fr;
  }
}


/* v321 separate Coincidences tile and Top Words leaderboard */
.story-accent-coincidence{
  --story-accent:#7c3aed;
}

.feed-icon-coincidence{
  background:linear-gradient(135deg,#ede9fe,#f5f3ff);
  color:#5b21b6;
}

.feed-icon-coincidence span{
  font-size:34px;
  font-weight:1000;
}

.feed-coincidence-card .price-coincidence-grid{
  margin-top:18px;
}

.leaderboard-rank-card[data-key="topWords"] .leaderboard-icon-badge{
  background:#0b2a6f !important;
  font-size:23px !important;
}


/* v322 Top Words leaderboard as words, cart math polish, and word overlap carousel */
.report-leaderboard-submission .leaderboard-option[data-word-option],
.report-leaderboard-submission .leaderboard-option:has(input[data-leaderboard-option="topWords"]){
  grid-template-columns:auto minmax(0,1fr) minmax(150px,260px) !important;
}

.report-leaderboard-submission .leaderboard-option:has(input[data-leaderboard-option="topWords"]) .leaderboard-submit-value{
  max-width:260px !important;
  white-space:normal !important;
  line-height:1.2 !important;
  font-size:15px !important;
}

.word-overlap-card{
  grid-column:1 / -1;
}

.word-overlap-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.word-overlap-head > span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.word-overlap-head button{
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:#eef2ff;
  color:#0b2a6f;
  font-size:20px;
  font-weight:1000;
  line-height:1;
  cursor:pointer;
}

.word-overlap-slide{
  display:none;
}

.word-overlap-slide.active{
  display:block;
}

.word-overlap-slide > strong{
  display:block;
  margin-top:6px;
  color:#0b2a6f;
  font-size:22px;
  font-weight:1000;
}

.word-overlap-slide p{
  margin:6px 0 10px;
  color:#475569;
  font-size:13px;
  font-weight:850;
  line-height:1.4;
}

@media(max-width:720px){
  .report-leaderboard-submission .leaderboard-option:has(input[data-leaderboard-option="topWords"]){
    grid-template-columns:auto minmax(0,1fr) !important;
  }

  .report-leaderboard-submission .leaderboard-option:has(input[data-leaderboard-option="topWords"]) .leaderboard-submit-value{
    grid-column:2;
    justify-self:start;
    max-width:100% !important;
    text-align:left;
  }
}

.report-leaderboard-submission .leaderboard-option.is-top-words-option{
  grid-template-columns:auto minmax(0,1fr) minmax(150px,260px) !important;
}

.report-leaderboard-submission .leaderboard-option.is-top-words-option .leaderboard-submit-value{
  max-width:260px !important;
  white-space:normal !important;
  line-height:1.2 !important;
  font-size:15px !important;
}


/* v323 Coincidence refinements and Cart Builder fixes */
.round-price-card{
  grid-column:1 / -1;
}

.round-price-slide{
  display:none;
}

.round-price-slide.active{
  display:block;
}

.round-price-slide > strong{
  display:block;
  margin-top:6px;
  color:#0b2a6f;
  font-size:22px;
  font-weight:1000;
}

.round-price-slide p{
  margin:6px 0 10px;
  color:#475569;
  font-size:13px;
  font-weight:850;
  line-height:1.4;
}

.coincidence-timeline-button{
  margin-top:16px;
}

.cart-builder-option.selected{
  transform:translateY(-1px);
}

.cart-builder-option:active{
  transform:translateY(0);
}


/* v324 solvable Cart Builder + compact coincidence cyclers */
.cart-builder-fill.is-correct{
  background:#16a34a !important;
}

.cart-builder-status strong.is-correct,
.cart-builder-status span.is-correct{
  color:#047857 !important;
}

.cart-builder-game.cart-builder-correct{
  border-color:rgba(22,163,74,.30);
  box-shadow:0 14px 30px rgba(22,163,74,.10);
}

.coincidence-cycle-card,
.round-price-card,
.word-overlap-card,
.same-time-card,
.time-window-card{
  grid-column:auto !important;
}

.coincidence-cycle-slide{
  display:none;
}

.coincidence-cycle-slide.active{
  display:block;
}

.coincidence-cycle-slide > strong{
  display:block;
  margin-top:6px;
  color:#0b2a6f;
  font-size:22px;
  font-weight:1000;
}

.coincidence-cycle-slide p{
  margin:6px 0 10px;
  color:#475569;
  font-size:13px;
  font-weight:850;
  line-height:1.4;
}

.coincidence-title-button{
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.coincidence-title-button strong{
  display:block;
}

.coincidence-item{
  position:relative;
}

.coincidence-title-bubble{
  display:none;
  position:absolute;
  left:0;
  right:auto;
  bottom:calc(100% + 6px);
  z-index:20;
  max-width:min(280px,80vw);
  padding:9px 10px;
  border-radius:13px;
  background:#0f172a;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
  box-shadow:0 14px 28px rgba(15,23,42,.18);
}

.coincidence-item.is-title-open .coincidence-title-bubble{
  display:block;
}

.coincidence-title-bubble::after{
  content:"";
  position:absolute;
  left:18px;
  top:100%;
  border-width:6px 6px 0 6px;
  border-style:solid;
  border-color:#0f172a transparent transparent transparent;
}


/* v325 Cart Builder data fix, dynamic Sections, and contained coincidence title reveal */
.price-coincidence-card{
  overflow:hidden !important;
}

.price-coincidence-card li,
.coincidence-item{
  min-width:0;
  max-width:100%;
}

.coincidence-title-button{
  min-width:0;
  max-width:100%;
}

.coincidence-title-button strong{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.coincidence-title-bubble{
  display:none;
  position:static !important;
  max-width:100% !important;
  margin-top:6px;
  padding:8px 9px;
  border-radius:12px;
  background:#eef2ff;
  color:#0b2a6f;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  line-height:1.28;
  box-shadow:none;
  border:1px solid rgba(11,42,111,.12);
  overflow-wrap:anywhere;
  word-break:break-word;
}

.coincidence-item.is-title-open .coincidence-title-bubble{
  display:block;
}

.coincidence-title-bubble::after{
  display:none !important;
}

.coincidence-cycle-slide ul,
.price-coincidence-card ul{
  min-width:0;
}

.coincidence-cycle-slide li span,
.price-coincidence-card li span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.cart-builder-option strong{
  max-width:100%;
}


/* v326 Cart Builder Easy/Hard modes */
.cart-builder-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}

.cart-builder-mode-toggle{
  display:flex;
  gap:3px;
  padding:3px;
  border-radius:999px;
  background:#e2e8f0;
}

.cart-builder-mode-toggle button{
  border:0;
  border-radius:999px;
  padding:6px 9px;
  background:transparent;
  color:#64748b;
  font-size:12px;
  font-weight:1000;
  cursor:pointer;
}

.cart-builder-mode-toggle button.active{
  background:#fff;
  color:#0b2a6f;
  box-shadow:0 4px 10px rgba(15,23,42,.10);
}

.cart-builder-meter{
  position:relative;
}

.cart-builder-target-line{
  position:absolute;
  top:-4px;
  bottom:-4px;
  width:3px;
  border-radius:999px;
  background:#0f172a;
  transform:translateX(-50%);
  z-index:2;
  box-shadow:0 0 0 3px rgba(15,23,42,.08);
}

.cart-builder-hard-mode .cart-builder-status strong{
  color:#64748b;
}

.cart-builder-hard-mode .cart-builder-fill.over-budget{
  background:#0b2a6f;
}

.cart-builder-hard-mode .cart-builder-target-line{
  background:#0b2a6f;
}

.cart-builder-hard-mode.cart-builder-correct .cart-builder-target-line{
  background:#16a34a;
}

@media(max-width:720px){
  .cart-builder-head{
    flex-direction:column;
  }

  .cart-builder-controls{
    align-self:stretch;
    justify-content:space-between;
  }
}


/* v327 separate Easy/Hard Cart Builder boards + price reveal cheats */
.cart-builder-board{
  display:none;
}

.cart-builder-board.active{
  display:block;
}

.cart-builder-game:not(.cart-builder-hard-mode) .cart-builder-target-line{
  display:none !important;
}

.cart-builder-cheats{
  display:flex;
  gap:7px;
  margin-top:10px;
}

.cart-builder-cheats button{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:#fff;
  cursor:pointer;
  font-size:15px;
  box-shadow:0 8px 16px rgba(15,23,42,.05);
}

.cart-builder-cheats button.used,
.cart-builder-cheats button:disabled{
  opacity:.38;
  cursor:default;
  filter:grayscale(1);
}

.cart-builder-price{
  min-width:38px;
  text-align:right;
  color:#0b2a6f;
  font-weight:1000;
}

.cart-builder-option:not(.price-revealed) .cart-builder-price{
  color:#94a3b8;
}

.cart-builder-option.price-revealed{
  border-color:rgba(11,42,111,.22);
}

.cart-builder-hard-mode .cart-builder-status strong{
  letter-spacing:.02em;
}


/* v328 Cart Builder display tweaks */
.cart-builder-status strong{
  min-width:72px;
}

.cart-builder-hard-mode .cart-builder-status strong{
  color:#64748b;
}

.cart-builder-status span.over-budget{
  color:#b91c1c !important;
}

/* v328 in-place coincidence title toggle */
.coincidence-title-button strong{
  white-space:nowrap;
}

.coincidence-item.is-title-open .coincidence-title-button strong{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere;
  color:#0b2a6f;
}

.coincidence-title-bubble{
  display:none !important;
}

/* v328 Sections + Top buttons */
.tile-jump-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.tile-top-toggle{
  border:0;
  border-radius:999px;
  padding:11px 14px;
  background:#0f172a;
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(15,23,42,.16);
}

.tile-top-toggle.hidden{
  display:none !important;
}

/* v328 reduce first-scroll animation blink */
.feed-animated-card{
  backface-visibility:hidden;
  transform:translateZ(0);
  contain:layout paint;
}

.feed-animated-card:not(.tile-animation-started):not(.tile-animation-complete){
  visibility:visible;
}

.feed-animated-card:not(.tile-animation-started):not(.tile-animation-complete) .feed-chapter-content > *{
  opacity:0;
}

.feed-animated-card.tile-animation-started .feed-chapter-content > *,
.feed-animated-card.tile-animation-complete .feed-chapter-content > *{
  opacity:1;
}


/* v329 Repeat Habit pill restructuring */
.repeat-spend-subtitle{
  margin:8px 0 12px;
  color:#475569;
  font-size:17px;
  font-weight:850;
  line-height:1.35;
}

.repeat-spend-subtitle strong{
  color:#0f172a;
  font-weight:1000;
}

.repeat-rhythm-with-prices{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}

.repeat-info-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  color:#475569;
  font-size:13px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 16px rgba(15,23,42,.04);
}

.repeat-info-pill b{
  color:#0f172a;
  font-weight:1000;
}

.repeat-next-list{
  display:grid;
  gap:7px;
  margin:12px 0 12px;
  padding-top:12px;
  border-top:1px solid rgba(15,23,42,.12);
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  box-sizing:border-box;
}

.repeat-next-item{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(255,255,255,.72);
  color:#0f172a;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15,23,42,.045);
  overflow:hidden;
  box-sizing:border-box;
}

.repeat-next-item span{
  flex:0 0 auto;
  color:#7c2d12;
  font-weight:1000;
  font-size:13px;
  line-height:1;
}

.repeat-next-item strong{
  display:block;
  flex:1 1 auto;
  width:auto;
  max-width:100%;
  min-width:0;
  color:#0f172a;
  font-size:13px;
  font-weight:850;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.repeat-next-item:hover{
  border-color:rgba(124,45,18,.24);
  background:#fff;
}

.repeat-inline-counts .repeat-count-choice{
  border-radius:8px !important;
}

.repeat-pill-icon{
  color:#0b2a6f;
  font-size:14px;
  font-weight:1000;
}

.repeat-price-direction{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:18px;
  font-weight:1000;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.08);
  flex:0 0 auto;
}

.repeat-price-direction.is-up{
  color:#b91c1c;
  background:#fef2f2;
  border-color:rgba(239,68,68,.22);
}

.repeat-price-direction.is-down{
  color:#047857;
  background:#ecfdf5;
  border-color:rgba(16,185,129,.22);
}

.repeat-price-direction.is-same{
  color:#0b2a6f;
  background:#eef2ff;
  border-color:rgba(11,42,111,.16);
}

/* v329 keep Sections anchored while adding up-arrow */
.tile-jump-actions{
  position:relative;
  display:block !important;
}

.tile-jump-toggle{
  position:relative;
  z-index:2;
}

.tile-top-toggle{
  position:absolute;
  left:calc(100% + 8px);
  top:0;
  height:100%;
  min-width:42px;
  border:0;
  border-radius:999px;
  padding:0 13px;
  background:#0b2a6f !important;
  color:#fff !important;
  font-size:18px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(11,42,111,.16);
}

.tile-top-toggle.hidden{
  display:none !important;
}

@media(max-width:720px){
  .tile-top-toggle{
    left:auto;
    right:calc(100% + 8px);
  }
}


/* v330 leaderboard submission progress */
.leaderboard-submit-progress{
  margin:18px 0;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
}

.leaderboard-submit-progress-head span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.leaderboard-submit-progress-head strong{
  display:block;
  margin-top:4px;
  color:#0f172a;
  font-size:20px;
  font-weight:1000;
}

.leaderboard-submit-progress-head p{
  margin:6px 0 0;
  color:#64748b;
  font-size:13px;
  font-weight:850;
  line-height:1.35;
}

.leaderboard-submit-progress-bar{
  height:10px;
  margin:16px 0 12px;
  overflow:hidden;
  border-radius:999px;
  background:#e2e8f0;
}

.leaderboard-submit-progress-bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:#0b2a6f;
  transition:width .48s ease;
}

.leaderboard-submit-progress-status{
  color:#0f172a;
  font-size:14px;
  font-weight:1000;
}

.leaderboard-submit-progress-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}

.leaderboard-submit-progress-grid > div{
  padding:12px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,.06);
}

.leaderboard-submit-progress-grid span{
  display:block;
  color:#64748b;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:8px;
}

.leaderboard-submit-progress-grid ul{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.leaderboard-submit-progress-grid li{
  color:#334155;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}

.leaderboard-submit-progress-grid li strong{
  display:block;
  color:#0f172a;
  font-weight:1000;
}

.leaderboard-submit-progress-grid li em{
  display:block;
  margin-top:2px;
  color:#0b2a6f;
  font-style:normal;
  font-weight:900;
  overflow-wrap:anywhere;
}

.leaderboard-actions button:disabled{
  opacity:.55;
  cursor:default;
}

/* v330 Spend Over Time axis overlap fix */
.chart-card{
  overflow:visible;
}

#spendingChart{
  display:block;
  width:100% !important;
}

@media(max-width:720px){
  .leaderboard-submit-progress-grid{
    grid-template-columns:1fr;
  }
}


/* v331 leaderboard progress modal */
.leaderboard-progress-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,23,42,.34);
  backdrop-filter:blur(8px);
}

.leaderboard-progress-modal.hidden{
  display:none !important;
}

.leaderboard-progress-dialog{
  width:min(440px,100%);
  padding:24px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 30px 80px rgba(15,23,42,.24);
  text-align:left;
}

.leaderboard-progress-dialog > span{
  display:block;
  color:#0b2a6f;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.leaderboard-progress-dialog strong{
  display:block;
  margin-top:5px;
  color:#0f172a;
  font-size:24px;
  font-weight:1000;
}

.leaderboard-progress-dialog p{
  min-height:22px;
  margin:12px 0 0;
  color:#475569;
  font-size:15px;
  font-weight:900;
  line-height:1.35;
}

.leaderboard-progress-mini-bar{
  height:10px;
  margin:18px 0 0;
  overflow:hidden;
  border-radius:999px;
  background:#e2e8f0;
}

.leaderboard-progress-mini-bar i{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:#0b2a6f;
  transition:width .5s ease;
}

.leaderboard-progress-done{
  width:100%;
  margin-top:18px;
  border:0;
  border-radius:999px;
  padding:13px 16px;
  background:#0b2a6f;
  color:#fff;
  font-weight:1000;
  cursor:pointer;
}

.leaderboard-progress-done.hidden{
  display:none !important;
}

/* v331 keep Sections hover area stable */
.tile-jump-menu.is-open .tile-jump-panel{
  pointer-events:auto;
}


/* v332 leaderboard per-card share images */
.leaderboard-card-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(15,23,42,.06);
}

.leaderboard-card-share{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:#0b2a6f;
  color:#fff;
  font-size:18px;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(11,42,111,.16);
}

.leaderboard-card-share:hover{
  transform:translateY(-1px);
}

.leaderboard-card-share:active{
  transform:translateY(0);
}

.leaderboard-share-box{
  display:none !important;
}


/* v333 share button only after submit + info-dot styling */
.leaderboard-card-top-actions{
  position:absolute;
  top:14px;
  right:14px;
  display:flex;
  align-items:center;
  gap:7px;
  z-index:4;
}

.leaderboard-rank-card,
.leaderboard-product-card{
  position:relative;
}

.leaderboard-card-top-actions .leaderboard-info-dot{
  position:static !important;
  top:auto !important;
  right:auto !important;
}

.leaderboard-action-dot,
.leaderboard-card-share{
  width:28px !important;
  height:28px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  border:1px solid rgba(11,42,111,.16) !important;
  background:#eef2ff !important;
  color:#0b2a6f !important;
  font-size:14px !important;
  font-weight:1000 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:none !important;
  padding:0 !important;
  transform:none !important;
}

.leaderboard-action-dot:hover,
.leaderboard-card-share:hover{
  background:#e0e7ff !important;
  transform:none !important;
}

.leaderboard-card-actions{
  display:none !important;
}


/* v334 share icon refresh */
.leaderboard-card-share svg,
.leaderboard-action-dot svg{
  width:15px;
  height:15px;
  display:block;
}

.leaderboard-card-share{
  overflow:hidden;
}


/* v335 share button repair and uploaded-icon styling */
.leaderboard-card-share svg,
.leaderboard-action-dot svg{
  width:16px !important;
  height:16px !important;
  display:block !important;
  overflow:visible !important;
}

.leaderboard-card-share[aria-busy="true"]{
  opacity:.68;
  cursor:wait !important;
}

.leaderboard-card-share.share-done{
  background:#dcfce7 !important;
  color:#166534 !important;
  border-color:rgba(22,101,52,.20) !important;
}

.leaderboard-card-share.share-error{
  background:#fee2e2 !important;
  color:#991b1b !important;
  border-color:rgba(153,27,27,.20) !important;
}


/* v337 manual mobile preview mode */
.viewport-preview-toggle{
  position:fixed;
  top:14px;
  right:14px;
  z-index:12000;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(11,42,111,.16);
  border-radius:999px;
  background:#fff;
  color:#0b2a6f;
  padding:8px 10px 8px 12px;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(15,23,42,.12);
  cursor:pointer;
}

.viewport-preview-toggle i{
  width:28px;
  height:16px;
  border-radius:999px;
  background:#e2e8f0;
  position:relative;
  display:block;
}

.viewport-preview-toggle i::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  left:2px;
  top:2px;
  border-radius:999px;
  background:#0b2a6f;
  transition:transform .18s ease;
}

.viewport-preview-toggle[aria-pressed="true"] i::after{
  transform:translateX(12px);
}

body.mobile-preview-mode{
  background:#eef2f7;
}

body.mobile-preview-mode .page{
  max-width:430px !important;
  margin:0 auto !important;
  padding:12px !important;
  overflow:hidden;
}

body.mobile-preview-mode .hero{
  padding:16px !important;
  border-radius:24px !important;
  display:block !important;
  margin-top:42px !important;
}

body.mobile-preview-mode .hero-brand,
body.mobile-preview-mode .hero-brand-wordmark{
  width:100% !important;
}

body.mobile-preview-mode .hero-wordmark-logo{
  max-width:100% !important;
  height:auto !important;
}

body.mobile-preview-mode .hero-slogan{
  font-size:13px !important;
  margin:6px 0 10px !important;
}

body.mobile-preview-mode .page-view-tabs{
  width:100% !important;
  max-width:none !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px !important;
}

body.mobile-preview-mode .page-view-tabs button{
  width:100% !important;
  padding:10px 8px !important;
  font-size:13px !important;
}

body.mobile-preview-mode .report-intro-card,
body.mobile-preview-mode .page-intro-card,
body.mobile-preview-mode .leaderboard-public-results .leaderboard-results-head{
  grid-template-columns:1fr !important;
  padding:18px !important;
  border-radius:24px !important;
  gap:16px !important;
}

body.mobile-preview-mode .report-intro-card h2,
body.mobile-preview-mode .page-intro-card h2,
body.mobile-preview-mode .page-intro-card h3,
body.mobile-preview-mode .leaderboard-public-results .leaderboard-results-head h3{
  font-size:34px !important;
  line-height:.98 !important;
}

body.mobile-preview-mode .report-intro-card p,
body.mobile-preview-mode .page-intro-card p,
body.mobile-preview-mode .leaderboard-public-results .leaderboard-results-head p{
  font-size:14px !important;
  line-height:1.35 !important;
}

body.mobile-preview-mode .report-feature-list{
  padding:14px !important;
}

body.mobile-preview-mode #amazonZipDirections,
body.mobile-preview-mode .upload-help-card,
body.mobile-preview-mode .directions-card{
  padding:18px !important;
  border-radius:22px !important;
}

body.mobile-preview-mode .search-header,
body.mobile-preview-mode .top-search,
body.mobile-preview-mode .search-controls{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:stretch !important;
}

body.mobile-preview-mode .global-search-input,
body.mobile-preview-mode .rebought-search-input{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

body.mobile-preview-mode .story-feed-dashboard{
  gap:18px !important;
  margin-top:18px !important;
}

body.mobile-preview-mode .feed-chapter{
  display:grid !important;
  grid-template-columns:1fr !important;
  min-height:0 !important;
  border-radius:26px !important;
}

body.mobile-preview-mode .feed-chapter-number{
  width:54px !important;
  height:54px !important;
  margin:16px 0 0 16px !important;
  border-radius:18px !important;
  font-size:22px !important;
}

body.mobile-preview-mode .feed-chapter-number span,
body.mobile-preview-mode .feed-chapter-number strong{
  font-size:22px !important;
}

body.mobile-preview-mode .feed-chapter-content{
  padding:16px !important;
}

body.mobile-preview-mode .feed-chapter-content h2,
body.mobile-preview-mode .feed-chapter h2{
  font-size:clamp(32px,12vw,48px) !important;
  line-height:.96 !important;
  letter-spacing:-.045em !important;
}

body.mobile-preview-mode .feed-chapter-content p{
  font-size:14px !important;
}

body.mobile-preview-mode .story-grid-two,
body.mobile-preview-mode .story-grid-three,
body.mobile-preview-mode .price-games-layout,
body.mobile-preview-mode .biggest-cart-layout,
body.mobile-preview-mode .delivery-state-layout,
body.mobile-preview-mode .price-coincidence-grid,
body.mobile-preview-mode .leaderboard-rank-grid,
body.mobile-preview-mode .leaderboard-product-grid,
body.mobile-preview-mode .cart-builder-options,
body.mobile-preview-mode .report-leaderboard-submission .leaderboard-options{
  grid-template-columns:1fr !important;
}

body.mobile-preview-mode .feed-side-column,
body.mobile-preview-mode .story-side-column,
body.mobile-preview-mode .side-column,
body.mobile-preview-mode .left-rail,
body.mobile-preview-mode .right-rail,
body.mobile-preview-mode .dashboard-side-column{
  display:none !important;
}

body.mobile-preview-mode .spend-story-layout,
body.mobile-preview-mode .orders-story-layout,
body.mobile-preview-mode .repeat-story-layout{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

body.mobile-preview-mode .cart-builder-head,
body.mobile-preview-mode .price-game-top,
body.mobile-preview-mode .cost-game-head{
  align-items:flex-start !important;
  gap:10px !important;
}

body.mobile-preview-mode .cart-builder-controls,
body.mobile-preview-mode .price-game-head-actions{
  width:100% !important;
  justify-content:space-between !important;
}

body.mobile-preview-mode .cart-builder-option,
body.mobile-preview-mode .cost-game-choice,
body.mobile-preview-mode .price-game-choice{
  min-height:54px !important;
}

body.mobile-preview-mode .leaderboard-page,
body.mobile-preview-mode .leaderboard-page-card,
body.mobile-preview-mode .leaderboard-local-results,
body.mobile-preview-mode .leaderboard-public-results{
  max-width:100% !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

body.mobile-preview-mode .leaderboard-rank-card,
body.mobile-preview-mode .leaderboard-product-card{
  border-radius:22px !important;
  padding:16px !important;
}

body.mobile-preview-mode .leaderboard-rank-main{
  padding-right:0 !important;
}

body.mobile-preview-mode .leaderboard-card-top-actions{
  top:10px !important;
  right:10px !important;
}

body.mobile-preview-mode .leaderboard-rank-number,
body.mobile-preview-mode .leaderboard-icon-badge{
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  border-radius:16px !important;
}

body.mobile-preview-mode .cards-grid,
body.mobile-preview-mode #searchView .cards-grid,
body.mobile-preview-mode .stats-grid,
body.mobile-preview-mode .insight-grid,
body.mobile-preview-mode .extra-stats-row,
body.mobile-preview-mode .streak-proof-row{
  grid-template-columns:1fr !important;
}

body.mobile-preview-mode .chart-card{
  padding:14px !important;
  border-radius:22px !important;
}

body.mobile-preview-mode #spendingChart{
  max-height:160px !important;
}

body.mobile-preview-mode .tile-jump-menu{
  right:12px !important;
  bottom:12px !important;
}

body.mobile-preview-mode .tile-jump-panel{
  max-width:calc(100vw - 24px) !important;
}

body.mobile-preview-mode .tile-top-toggle{
  right:calc(100% + 8px) !important;
  left:auto !important;
}

body.mobile-preview-mode .leaderboard-progress-dialog{
  width:calc(100vw - 34px) !important;
  border-radius:24px !important;
  padding:20px !important;
}

body.mobile-preview-mode .word-cloud-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

body.mobile-preview-mode .purchase-card,
body.mobile-preview-mode .insight-card,
body.mobile-preview-mode .stat-card{
  border-radius:22px !important;
}

body.mobile-preview-mode .display-mode-wrap,
body.mobile-preview-mode .dashboard-mode-toggle-wrap{
  width:100% !important;
  margin-left:0 !important;
  justify-content:stretch !important;
}

body.mobile-preview-mode .dashboard-mode-toggle{
  width:100% !important;
}


/* v338 mobile-friendly pre-report tile selection */
@media(max-width:700px){
  .story-tile-preflight-overlay{
    align-items:flex-start !important;
    justify-content:center !important;
    padding:10px !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .story-tile-preflight-panel{
    width:100% !important;
    max-width:430px !important;
    max-height:calc(100dvh - 20px) !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    padding:14px !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }

  .story-tile-preflight-head{
    padding-bottom:10px !important;
  }

  .story-tile-preflight-head strong{
    font-size:1.12rem !important;
  }

  .story-tile-preflight-head span{
    font-size:.78rem !important;
    line-height:1.28 !important;
  }

  .story-tile-preflight-options{
    min-height:0 !important;
    max-height:none !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:0 !important;
    padding:2px 2px 10px !important;
  }

  .story-tile-preflight-options label{
    padding:9px 10px !important;
    border-radius:14px !important;
  }

  .story-tile-preflight-options input{
    width:16px !important;
    height:16px !important;
    flex:0 0 auto;
  }

  .story-tile-preflight-options span{
    font-size:.82rem !important;
  }

  .story-tile-preflight-actions{
    position:sticky !important;
    bottom:0 !important;
    margin:0 !important;
    padding-top:10px !important;
    background:linear-gradient(to bottom,rgba(255,255,255,.86),#fff 45%) !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }

  .story-tile-preflight-actions button{
    width:100% !important;
    padding:10px 8px !important;
    font-size:.84rem !important;
  }
}

body.mobile-preview-mode .story-tile-preflight-overlay{
  align-items:flex-start !important;
  justify-content:center !important;
  padding:10px !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}

body.mobile-preview-mode .story-tile-preflight-panel{
  width:100% !important;
  max-width:406px !important;
  max-height:calc(100dvh - 20px) !important;
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  padding:14px !important;
  border-radius:22px !important;
  overflow:hidden !important;
}

body.mobile-preview-mode .story-tile-preflight-head{
  padding-bottom:10px !important;
}

body.mobile-preview-mode .story-tile-preflight-head strong{
  font-size:1.12rem !important;
}

body.mobile-preview-mode .story-tile-preflight-head span{
  font-size:.78rem !important;
  line-height:1.28 !important;
}

body.mobile-preview-mode .story-tile-preflight-options{
  min-height:0 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  grid-template-columns:1fr !important;
  gap:7px !important;
  margin-top:0 !important;
  padding:2px 2px 10px !important;
}

body.mobile-preview-mode .story-tile-preflight-options label{
  padding:9px 10px !important;
  border-radius:14px !important;
}

body.mobile-preview-mode .story-tile-preflight-options span{
  font-size:.82rem !important;
}

body.mobile-preview-mode .story-tile-preflight-actions{
  position:sticky !important;
  bottom:0 !important;
  margin:0 !important;
  padding-top:10px !important;
  background:linear-gradient(to bottom,rgba(255,255,255,.86),#fff 45%) !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}

body.mobile-preview-mode .story-tile-preflight-actions button{
  width:100% !important;
  padding:10px 8px !important;
  font-size:.84rem !important;
}

.story-tile-preflight-panel{
  max-height:min(760px,calc(var(--pa-mobile-vh,100vh) - 20px));
}


/* v339 mobile tooltip containment + hidden-state repair */
body.mobile-preview-mode .hidden{
  display:none !important;
}

@media(max-width:700px){
  body .hidden{
    display:none !important;
  }
}

@media(max-width:700px){
  .leaderboard-info-dot::after,
  .info-dot::after,
  [data-tooltip]::after{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    top:auto !important;
    bottom:78px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    z-index:13000 !important;
  }

  .leaderboard-info-dot:hover::after,
  .leaderboard-info-dot:focus-visible::after,
  .leaderboard-info-dot.is-open::after{
    transform:none !important;
  }
}

body.mobile-preview-mode .leaderboard-info-dot::after,
body.mobile-preview-mode .info-dot::after,
body.mobile-preview-mode [data-tooltip]::after{
  position:fixed !important;
  left:12px !important;
  right:12px !important;
  top:auto !important;
  bottom:78px !important;
  width:auto !important;
  max-width:none !important;
  transform:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  z-index:13000 !important;
}

/* prevent report-only controls from appearing before a ZIP/report exists */
body:not(.has-report) #searchView,
body:not(.has-report) #wordCloudView,
body:not(.has-report) #reboughtSearchWrap,
body:not(.has-report) #normalSearchControls,
body:not(.has-report) #searchTermChips,
body:not(.has-report) .search-header,
body:not(.has-report) .search-controls,
body:not(.has-report) .word-cloud-view,
body:not(.has-report) .word-cloud-wrap{
  display:none !important;
}

/* v339 fixed mobile bottom menu */
.mobile-bottom-menu{
  display:none;
}

@media(max-width:700px){
  .mobile-bottom-menu{
    position:fixed;
    left:14px;
    bottom:14px;
    z-index:12050;
    display:block;
  }

  .mobile-bottom-menu-toggle{
    width:50px;
    height:50px;
    border:0;
    border-radius:999px;
    display:grid;
    place-items:center;
    gap:4px;
    background:#0b2a6f;
    color:#fff;
    box-shadow:0 16px 32px rgba(11,42,111,.24);
    cursor:pointer;
    padding:13px;
  }

  .mobile-bottom-menu-toggle span{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }

  .mobile-bottom-panel{
    position:absolute;
    left:0;
    bottom:62px;
    width:min(340px,calc(100vw - 28px));
    max-height:min(70vh,520px);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding:14px;
    border-radius:22px;
    background:#fff;
    border:1px solid rgba(15,23,42,.08);
    box-shadow:0 24px 60px rgba(15,23,42,.24);
    display:none;
  }

  .mobile-bottom-menu.is-open .mobile-bottom-panel{
    display:block;
  }

  .mobile-bottom-panel-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:12px;
  }

  .mobile-bottom-panel-head strong{
    color:#0f172a;
    font-size:16px;
    font-weight:1000;
  }

  .mobile-bottom-close{
    width:32px;
    height:32px;
    border:0;
    border-radius:999px;
    background:#f1f5f9;
    color:#0f172a;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }

  .mobile-bottom-primary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:14px;
  }

  .mobile-bottom-primary button,
  .mobile-bottom-section-list button{
    border:1px solid rgba(15,23,42,.08);
    border-radius:14px;
    background:#f8fafc;
    color:#0f172a;
    padding:10px 11px;
    font-weight:950;
    text-align:left;
    cursor:pointer;
  }

  .mobile-bottom-primary button{
    text-align:center;
    background:#eef2ff;
    color:#0b2a6f;
  }

  .mobile-bottom-sections > span{
    display:block;
    margin:0 0 8px;
    color:#64748b;
    font-size:11px;
    font-weight:1000;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .mobile-bottom-section-list{
    display:grid;
    gap:7px;
  }

  .mobile-bottom-section-list em{
    display:block;
    color:#64748b;
    font-size:13px;
    font-style:normal;
    font-weight:800;
    padding:8px 2px;
  }

  .tile-jump-menu{
    left:auto !important;
    right:14px !important;
    bottom:14px !important;
    pointer-events:none;
  }

  .tile-jump-actions{
    pointer-events:auto;
  }

  .tile-jump-toggle,
  .tile-jump-panel{
    display:none !important;
  }

  .tile-top-toggle{
    position:fixed !important;
    right:14px !important;
    bottom:14px !important;
    left:auto !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    padding:0 !important;
    border-radius:999px !important;
    background:#0b2a6f !important;
    color:#fff !important;
    box-shadow:0 16px 32px rgba(11,42,111,.24) !important;
    font-size:22px !important;
    pointer-events:auto;
  }

  .page-view-tabs{
    position:static !important;
    top:auto !important;
  }
}

body.mobile-preview-mode .mobile-bottom-menu{
  position:fixed;
  left:14px;
  bottom:14px;
  z-index:12050;
  display:block;
}

body.mobile-preview-mode .mobile-bottom-menu-toggle{
  width:50px;
  height:50px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  gap:4px;
  background:#0b2a6f;
  color:#fff;
  box-shadow:0 16px 32px rgba(11,42,111,.24);
  cursor:pointer;
  padding:13px;
}

body.mobile-preview-mode .mobile-bottom-menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  border-radius:999px;
  background:#fff;
}

body.mobile-preview-mode .mobile-bottom-panel{
  position:absolute;
  left:0;
  bottom:62px;
  width:min(340px,calc(100vw - 28px));
  max-height:min(70vh,520px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 24px 60px rgba(15,23,42,.24);
  display:none;
}

body.mobile-preview-mode .mobile-bottom-menu.is-open .mobile-bottom-panel{
  display:block;
}

body.mobile-preview-mode .mobile-bottom-panel-head,
body.mobile-preview-mode .mobile-bottom-primary{
  display:flex;
}

body.mobile-preview-mode .mobile-bottom-panel-head{
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

body.mobile-preview-mode .mobile-bottom-primary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:14px;
}

body.mobile-preview-mode .mobile-bottom-close{
  width:32px;
  height:32px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  color:#0f172a;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

body.mobile-preview-mode .mobile-bottom-primary button,
body.mobile-preview-mode .mobile-bottom-section-list button{
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#f8fafc;
  color:#0f172a;
  padding:10px 11px;
  font-weight:950;
  text-align:left;
  cursor:pointer;
}

body.mobile-preview-mode .mobile-bottom-primary button{
  text-align:center;
  background:#eef2ff;
  color:#0b2a6f;
}

body.mobile-preview-mode .mobile-bottom-sections > span{
  display:block;
  margin:0 0 8px;
  color:#64748b;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.mobile-preview-mode .mobile-bottom-section-list{
  display:grid;
  gap:7px;
}

body.mobile-preview-mode .mobile-bottom-section-list em{
  display:block;
  color:#64748b;
  font-size:13px;
  font-style:normal;
  font-weight:800;
  padding:8px 2px;
}

body.mobile-preview-mode .tile-jump-menu{
  right:14px !important;
  bottom:14px !important;
  pointer-events:none;
}

body.mobile-preview-mode .tile-jump-actions{
  pointer-events:auto;
}

body.mobile-preview-mode .tile-jump-toggle,
body.mobile-preview-mode .tile-jump-panel{
  display:none !important;
}

body.mobile-preview-mode .tile-top-toggle{
  position:fixed !important;
  right:14px !important;
  bottom:14px !important;
  left:auto !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:#0b2a6f !important;
  color:#fff !important;
  box-shadow:0 16px 32px rgba(11,42,111,.24) !important;
  font-size:22px !important;
  pointer-events:auto;
}

body.mobile-preview-mode .page-view-tabs{
  position:static !important;
  top:auto !important;
}


/* v340 mobile edge tightening + standalone up-arrow */
@media(max-width:700px){
  body{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .page{
    width:100% !important;
    max-width:none !important;
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .hero,
  .report-intro,
  #amazonZipDirections,
  .leaderboard-page,
  .story-feed-dashboard,
  .chart-wrap,
  .stats-grid,
  .insight-grid,
  .cards-grid,
  #searchView,
  #wordCloudView{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .feed-chapter,
  .feed-intro-card,
  .report-intro-card,
  .page-intro-card,
  .leaderboard-page-card,
  .leaderboard-public-results,
  .leaderboard-local-results,
  .chart-card,
  .stat-card,
  .insight-card,
  .purchase-card{
    width:100% !important;
  }

  .feed-chapter-content{
    padding-left:13px !important;
    padding-right:13px !important;
  }

  .tile-jump-menu{
    display:none !important;
  }

  .mobile-top-toggle{
    position:fixed !important;
    right:14px !important;
    bottom:14px !important;
    left:auto !important;
    top:auto !important;
    z-index:12060 !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    display:grid;
    place-items:center;
    background:#0b2a6f !important;
    color:#fff !important;
    box-shadow:0 16px 32px rgba(11,42,111,.24) !important;
    font-size:22px !important;
    font-weight:1000 !important;
    cursor:pointer;
  }

  .mobile-top-toggle.hidden{
    display:none !important;
  }
}

body.mobile-preview-mode{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.mobile-preview-mode .page{
  width:100% !important;
  max-width:430px !important;
  padding-left:7px !important;
  padding-right:7px !important;
}

body.mobile-preview-mode .feed-chapter-content{
  padding-left:13px !important;
  padding-right:13px !important;
}

body.mobile-preview-mode .tile-jump-menu{
  display:none !important;
}

body.mobile-preview-mode .mobile-top-toggle{
  position:fixed !important;
  right:14px !important;
  bottom:14px !important;
  left:auto !important;
  top:auto !important;
  z-index:12060 !important;
  width:50px !important;
  height:50px !important;
  min-width:50px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  display:grid;
  place-items:center;
  background:#0b2a6f !important;
  color:#fff !important;
  box-shadow:0 16px 32px rgba(11,42,111,.24) !important;
  font-size:22px !important;
  font-weight:1000 !important;
  cursor:pointer;
}

body.mobile-preview-mode .mobile-top-toggle.hidden{
  display:none !important;
}


/* v341 fuller mobile width and denser report tiles */
@media(max-width:700px){
  html,
  body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    background:#f4f4f4 !important;
  }

  body{
    padding:0 !important;
  }

  .page{
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:4px !important;
    overflow:visible !important;
  }

  .hero{
    margin-top:42px !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:8px !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  .report-intro,
  #amazonZipDirections,
  .leaderboard-page,
  .story-feed-dashboard,
  .chart-wrap,
  .stats-grid,
  .insight-grid,
  .cards-grid,
  #searchView,
  #wordCloudView{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .story-feed-dashboard{
    gap:9px !important;
    margin-top:8px !important;
    margin-bottom:72px !important;
  }

  .feed-chapter,
  .feed-intro-card,
  .report-intro-card,
  .page-intro-card,
  .leaderboard-page-card,
  .leaderboard-rank-card,
  .leaderboard-product-card,
  .chart-card,
  .stat-card,
  .insight-card,
  .purchase-card{
    width:100% !important;
    max-width:100% !important;
    border-radius:17px !important;
  }

  .feed-chapter{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-chapter{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-chapter-content{
    max-height:none !important;
    overflow:visible !important;
  }

  .feed-chapter-number{
    width:42px !important;
    height:42px !important;
    margin:9px 0 0 9px !important;
    border-radius:14px !important;
  }

  .feed-chapter-number span,
  .feed-chapter-number strong{
    font-size:18px !important;
  }

  .feed-chapter-content{
    padding:10px !important;
  }

  .feed-kicker{
    font-size:10px !important;
    margin-bottom:5px !important;
  }

  .feed-chapter-content h2,
  .feed-chapter h2{
    font-size:clamp(28px,10vw,40px) !important;
    line-height:.96 !important;
    margin-bottom:6px !important;
  }

  .feed-chapter-content p{
    font-size:13px !important;
    line-height:1.32 !important;
    margin-top:6px !important;
    margin-bottom:8px !important;
  }

  .story-grid-two,
  .story-grid-three,
  .price-games-layout,
  .biggest-cart-layout,
  .delivery-state-layout,
  .price-coincidence-grid,
  .leaderboard-rank-grid,
  .leaderboard-product-grid,
  .cart-builder-options,
  .report-leaderboard-submission .leaderboard-options{
    gap:7px !important;
  }

  .price-game-choice,
  .cost-game-choice,
  .cart-builder-option,
  .price-coincidence-card,
  .leaderboard-option,
  .biggest-cart-product,
  .repeat-info-pill,
  .delivery-area-row{
    padding:8px 9px !important;
    border-radius:13px !important;
  }

  .price-game-choice strong,
  .cost-game-choice strong,
  .cart-builder-option strong{
    font-size:12px !important;
  }

  .cart-builder-game,
  .price-guess-game,
  .cost-compare-game,
  .price-coincidence-box{
    padding:10px !important;
    border-radius:16px !important;
  }

  .cart-builder-head strong,
  .price-game-top strong,
  .cost-game-head strong{
    font-size:17px !important;
  }

  .leaderboard-page{
    padding:0 !important;
  }

  .leaderboard-page-card{
    padding:0 !important;
  }
}

body.mobile-preview-mode{
  background:#f4f4f4 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}

body.mobile-preview-mode .page{
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:4px !important;
  overflow:visible !important;
}

body.mobile-preview-mode .hero{
  margin-left:0 !important;
  margin-right:0 !important;
  margin-bottom:8px !important;
  padding:12px !important;
  border-radius:18px !important;
}

body.mobile-preview-mode .story-feed-dashboard{
  gap:9px !important;
  margin-top:8px !important;
  margin-bottom:72px !important;
}

body.mobile-preview-mode .feed-chapter,
body.mobile-preview-mode .feed-intro-card,
body.mobile-preview-mode .report-intro-card,
body.mobile-preview-mode .page-intro-card,
body.mobile-preview-mode .leaderboard-rank-card,
body.mobile-preview-mode .leaderboard-product-card,
body.mobile-preview-mode .chart-card,
body.mobile-preview-mode .stat-card,
body.mobile-preview-mode .insight-card,
body.mobile-preview-mode .purchase-card{
  border-radius:17px !important;
  width:100% !important;
  max-width:100% !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter-content{
  max-height:none !important;
  overflow:visible !important;
}

body.mobile-preview-mode .feed-chapter-content{
  padding:10px !important;
}

body.mobile-preview-mode .feed-chapter-number{
  width:42px !important;
  height:42px !important;
  margin:9px 0 0 9px !important;
  border-radius:14px !important;
}

body.mobile-preview-mode .feed-chapter-content h2,
body.mobile-preview-mode .feed-chapter h2{
  font-size:clamp(28px,10vw,40px) !important;
  line-height:.96 !important;
  margin-bottom:6px !important;
}

/* v341 mobile delivery map compaction */
@media(max-width:700px){
  .feed-address-card .delivery-area-hero{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin-top:10px !important;
    max-width:100% !important;
  }

  .feed-address-card .delivery-area-hero > div{
    flex:1 1 calc(50% - 4px) !important;
    min-width:0 !important;
    padding:8px 9px !important;
    border-radius:13px !important;
  }

  .feed-address-card .delivery-area-hero span{
    font-size:9px !important;
    margin-bottom:3px !important;
    letter-spacing:.04em !important;
  }

  .feed-address-card .delivery-area-hero strong{
    font-size:18px !important;
    line-height:1 !important;
  }

  .feed-address-card .delivery-area-hero em{
    font-size:10px !important;
    margin-top:3px !important;
    line-height:1.2 !important;
  }

  .delivery-view-frame{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin-top:8px !important;
    overflow:visible !important;
  }

  .delivery-zip-map{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto !important;
    gap:6px !important;
  }

  .delivery-map-stage{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
    border-radius:15px !important;
  }

  .delivery-map-svg{
    inset:10px 12px !important;
    width:calc(100% - 24px) !important;
    height:calc(100% - 20px) !important;
  }

  .delivery-map-detail{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    padding:7px !important;
    border-radius:14px !important;
    overflow:visible !important;
  }

  .delivery-map-detail strong{
    width:auto !important;
    max-width:100% !important;
    flex:1 1 100% !important;
    font-size:20px !important;
    line-height:1 !important;
    letter-spacing:-.03em !important;
    margin:0 !important;
  }

  .delivery-map-detail > span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:6px 8px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    border:1px solid rgba(37,99,235,.11) !important;
    color:#334155 !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .delivery-state-stats{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    margin:0 !important;
    flex:1 1 100% !important;
  }

  .delivery-state-stats span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:6px 8px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .delivery-area-list{
    gap:6px !important;
    padding-right:0 !important;
  }

  .delivery-area-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:6px !important;
  }

  .delivery-area-code{
    font-size:15px !important;
    flex:0 0 auto !important;
  }

  .delivery-area-meta{
    flex:1 1 auto !important;
    min-width:120px !important;
  }

  .delivery-area-meta strong{
    font-size:11px !important;
  }

  .delivery-area-meta span{
    font-size:10px !important;
  }

  .delivery-area-bar{
    flex:1 1 100% !important;
    height:7px !important;
  }
}

body.mobile-preview-mode .feed-address-card .delivery-area-hero{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:10px !important;
  max-width:100% !important;
}

body.mobile-preview-mode .feed-address-card .delivery-area-hero > div{
  flex:1 1 calc(50% - 4px) !important;
  min-width:0 !important;
  padding:8px 9px !important;
  border-radius:13px !important;
}

body.mobile-preview-mode .feed-address-card .delivery-area-hero span{
  font-size:9px !important;
  margin-bottom:3px !important;
}

body.mobile-preview-mode .feed-address-card .delivery-area-hero strong{
  font-size:18px !important;
}

body.mobile-preview-mode .feed-address-card .delivery-area-hero em{
  font-size:10px !important;
  margin-top:3px !important;
}

body.mobile-preview-mode .delivery-view-frame{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin-top:8px !important;
  overflow:visible !important;
}

body.mobile-preview-mode .delivery-zip-map{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:6px !important;
}

body.mobile-preview-mode .delivery-map-stage{
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  border-radius:15px !important;
}

body.mobile-preview-mode .delivery-map-detail{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:6px !important;
  padding:7px !important;
  border-radius:14px !important;
  overflow:visible !important;
}

body.mobile-preview-mode .delivery-map-detail strong{
  width:auto !important;
  max-width:100% !important;
  flex:1 1 100% !important;
  font-size:20px !important;
  line-height:1 !important;
  margin:0 !important;
}

body.mobile-preview-mode .delivery-map-detail > span,
body.mobile-preview-mode .delivery-state-stats span{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  margin:0 !important;
  padding:6px 8px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  border:1px solid rgba(37,99,235,.11) !important;
  color:#334155 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.mobile-preview-mode .delivery-state-stats{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:0 !important;
  flex:1 1 100% !important;
}


/* v342 smarter mobile density and overflow prevention */
@media(max-width:700px){
  *, *::before, *::after{
    max-width:100%;
  }

  .feed-chapter,
  .feed-chapter-content,
  .story-feed-dashboard,
  .cart-builder-game,
  .price-guess-game,
  .cost-compare-game,
  .biggest-cart-list,
  .frequency-item-list,
  .calendar-rhythm,
  .weekday-grid,
  .month-grid{
    min-width:0 !important;
  }

  .feed-chapter-content > *{
    max-width:100% !important;
  }

  .feed-action{
    min-height:0 !important;
    padding:9px 11px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1.1 !important;
  }

  .feed-address-card .delivery-map-detail{
    align-content:flex-start !important;
  }

  .feed-address-card .delivery-map-detail strong{
    flex:1 1 100% !important;
    font-size:14px !important;
    line-height:1.05 !important;
    letter-spacing:0 !important;
    color:#1d4ed8 !important;
    text-transform:uppercase;
    margin-bottom:0 !important;
  }

  .feed-address-card .delivery-state-stats{
    flex:1 1 100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin:0 !important;
  }

  .feed-address-card .delivery-state-stats span{
    flex:0 0 auto !important;
    padding:5px 7px !important;
    font-size:10px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }

  .feed-frequency-card .frequency-burst-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    margin-top:10px !important;
  }

  .feed-frequency-card .frequency-burst-main{
    min-width:0 !important;
    padding:9px !important;
    border-radius:14px !important;
  }

  .feed-frequency-card .frequency-burst-main span{
    font-size:9px !important;
    line-height:1.1 !important;
  }

  .feed-frequency-card .frequency-burst-main strong{
    font-size:15px !important;
    line-height:1.05 !important;
    white-space:normal !important;
  }

  .feed-frequency-card .frequency-burst-main em{
    font-size:10px !important;
    line-height:1.15 !important;
    margin-top:4px !important;
  }

  .feed-frequency-card .frequency-item-list{
    gap:5px !important;
    margin-top:8px !important;
  }

  .feed-frequency-card .frequency-item-list a{
    grid-template-columns:auto minmax(0,1fr) !important;
    padding:7px 8px !important;
    border-radius:12px !important;
    gap:7px !important;
  }

  .feed-frequency-card .frequency-item-list span{
    font-size:11px !important;
    white-space:nowrap !important;
  }

  .feed-frequency-card .frequency-item-list strong{
    font-size:11px !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .feed-biggest-cart-card .biggest-cart-metrics{
    display:inline-grid !important;
    width:auto !important;
    max-width:max-content !important;
    grid-template-columns:auto !important;
    margin:8px 0 !important;
  }

  .feed-biggest-cart-card .biggest-cart-metrics div{
    width:max-content !important;
    max-width:100% !important;
    padding:8px 10px !important;
    border-radius:999px !important;
  }

  .feed-biggest-cart-card .biggest-cart-metrics span{
    display:inline !important;
    font-size:9px !important;
    margin-right:6px !important;
  }

  .feed-biggest-cart-card .biggest-cart-metrics strong{
    display:inline !important;
    font-size:14px !important;
    margin:0 !important;
    white-space:nowrap !important;
  }

  .cart-builder-options{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  .cart-builder-option{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.18 !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .cart-builder-price,
  .cart-builder-option span{
    justify-self:end !important;
    max-width:52px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .feed-calendar-card .calendar-rhythm,
  .feed-calendar-card .weekday-grid,
  .feed-calendar-card .month-grid,
  .feed-calendar-card .calendar-grid,
  .feed-calendar-card .calendar-stat-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .feed-calendar-card .calendar-rhythm > *,
  .feed-calendar-card .weekday-grid > *,
  .feed-calendar-card .month-grid > *,
  .feed-calendar-card .calendar-grid > *,
  .feed-calendar-card .calendar-stat-grid > *{
    min-width:0 !important;
    padding:8px !important;
    border-radius:13px !important;
  }

  .feed-calendar-card strong,
  .feed-calendar-card .calendar-rhythm strong,
  .feed-calendar-card .weekday-grid strong,
  .feed-calendar-card .month-grid strong{
    font-size:15px !important;
    line-height:1.05 !important;
  }

  .feed-calendar-card span,
  .feed-calendar-card em,
  .feed-calendar-card small{
    font-size:10px !important;
    line-height:1.15 !important;
  }

  .repeat-rhythm-with-prices,
  .biggest-cart-actions,
  .cart-builder-cheats,
  .price-game-head-actions{
    gap:5px !important;
  }

  .repeat-info-pill{
    font-size:10px !important;
    padding:6px 7px !important;
  }

  .repeat-price-direction{
    width:25px !important;
    height:25px !important;
    font-size:14px !important;
  }
}

body.mobile-preview-mode .feed-address-card .delivery-map-detail strong{
  flex:1 1 100% !important;
  font-size:14px !important;
  line-height:1.05 !important;
  color:#1d4ed8 !important;
  text-transform:uppercase;
}

body.mobile-preview-mode .feed-frequency-card .frequency-burst-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
}

body.mobile-preview-mode .feed-frequency-card .frequency-burst-main{
  min-width:0 !important;
  padding:9px !important;
  border-radius:14px !important;
}

body.mobile-preview-mode .feed-frequency-card .frequency-burst-main strong{
  font-size:15px !important;
  line-height:1.05 !important;
}

body.mobile-preview-mode .feed-biggest-cart-card .biggest-cart-metrics{
  display:inline-grid !important;
  width:auto !important;
  max-width:max-content !important;
  grid-template-columns:auto !important;
  margin:8px 0 !important;
}

body.mobile-preview-mode .feed-biggest-cart-card .biggest-cart-metrics div{
  width:max-content !important;
  max-width:100% !important;
  padding:8px 10px !important;
  border-radius:999px !important;
}

body.mobile-preview-mode .feed-biggest-cart-card .biggest-cart-metrics span,
body.mobile-preview-mode .feed-biggest-cart-card .biggest-cart-metrics strong{
  display:inline !important;
}

body.mobile-preview-mode .cart-builder-option{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.18 !important;
  min-width:0 !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-rhythm,
body.mobile-preview-mode .feed-calendar-card .weekday-grid,
body.mobile-preview-mode .feed-calendar-card .month-grid,
body.mobile-preview-mode .feed-calendar-card .calendar-grid,
body.mobile-preview-mode .feed-calendar-card .calendar-stat-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
}


/* v342b delivery panel removal and mobile compact cleanup */
@media(max-width:700px){
  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    grid-template-rows:230px auto !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    background:transparent !important;
    border:0 !important;
    padding:0 !important;
    margin-top:7px !important;
    box-shadow:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail strong{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    font-size:14px !important;
    line-height:1.05 !important;
    text-align:left !important;
    color:#0f172a !important;
    text-transform:uppercase !important;
    letter-spacing:0 !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-stats{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-stats span{
    padding:5px 8px !important;
    border-radius:999px !important;
    font-size:10px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    background:#eff6ff !important;
    border:1px solid rgba(37,99,235,.13) !important;
  }

  #storyFeedDashboard .delivery-state-product-panel{
    margin-top:7px !important;
    padding:9px !important;
    border-radius:16px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel h3,
  #storyFeedDashboard .delivery-state-product-panel strong:first-child{
    font-size:14px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel .delivery-state-purchases{
    max-height:340px !important;
    gap:6px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel .delivery-state-purchase{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:4px 8px !important;
    padding:8px 9px !important;
    border-radius:13px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel .delivery-state-purchase span{
    grid-column:1 / -1 !important;
    font-size:10px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel .delivery-state-purchase em{
    grid-column:1 !important;
    grid-row:2 !important;
    font-size:13px !important;
  }

  #storyFeedDashboard .delivery-state-product-panel .delivery-state-purchase strong{
    grid-column:1 / -1 !important;
    font-size:12px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .feed-frequency-card .frequency-burst-main strong,
  .feed-frequency-card .frequency-item-list strong,
  .feed-frequency-card .frequency-item-list span{
    font-size:13px !important;
  }

  .feed-frequency-card .frequency-burst-main em{
    font-size:11px !important;
  }

  .feed-frequency-card .frequency-item-list a{
    min-width:0 !important;
  }

  .feed-calendar-card .calendar-week-strip{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    min-height:0 !important;
    margin:8px 0 !important;
  }

  .feed-calendar-card .calendar-week-strip div{
    min-height:0 !important;
    height:auto !important;
    grid-template-rows:auto auto auto !important;
    padding:7px !important;
    border-radius:12px !important;
  }

  .feed-calendar-card .calendar-week-strip i{
    height:28px !important;
    max-width:100% !important;
  }

  .feed-calendar-card .calendar-month-days{
    grid-template-columns:repeat(7,1fr) !important;
    gap:3px !important;
    padding:7px !important;
    border-radius:12px !important;
  }

  .feed-calendar-card .calendar-month-days span{
    font-size:8px !important;
  }

  .hero-wordmark-logo{
    width:calc(100vw - 10px) !important;
    max-width:calc(100vw - 10px) !important;
    max-height:none !important;
  }

  .hero-brand-wordmark,
  .hero-wordmark-button{
    width:100% !important;
  }

  .global-search-input,
  .rebought-search-input,
  .search-input{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    padding-left:13px !important;
    padding-right:13px !important;
  }

  .top-search,
  .top-search-wrap,
  .search-header,
  .search-controls,
  #normalSearchControls{
    width:100% !important;
    max-width:100% !important;
  }
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-detail{
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin-top:7px !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-detail strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  font-size:14px !important;
  line-height:1.05 !important;
  text-align:left !important;
  color:#0f172a !important;
  text-transform:uppercase !important;
  margin:0 !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-state-stats{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:5px !important;
  margin:0 !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-state-stats span{
  padding:5px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-week-strip{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px !important;
  min-height:0 !important;
  margin:8px 0 !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-week-strip div{
  min-height:0 !important;
  height:auto !important;
  padding:7px !important;
  border-radius:12px !important;
}

body.mobile-preview-mode .hero-wordmark-logo{
  width:calc(100vw - 10px) !important;
  max-width:calc(100vw - 10px) !important;
  max-height:none !important;
}


/* v343 mobile polish pass: delivery, calendar, price games, bottom menu */
@media(max-width:700px){
  /* Stop the universal max-width guard from shrinking the fixed bottom menu panel */
  .mobile-bottom-menu,
  .mobile-bottom-menu *{
    max-width:none !important;
  }

  .mobile-bottom-panel{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    min-width:300px !important;
    left:0 !important;
    right:auto !important;
    box-sizing:border-box !important;
  }

  .mobile-bottom-primary{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    width:100% !important;
  }

  .mobile-bottom-section-list{
    width:100% !important;
  }

  .mobile-bottom-section-list button{
    width:100% !important;
    display:block !important;
    box-sizing:border-box !important;
  }

  /* On mobile, remove the separate blue delivery detail panel entirely. */
  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .delivery-state-product-panel{
    margin-top:7px !important;
    padding:9px !important;
    border-radius:16px !important;
  }

  #storyFeedDashboard .delivery-state-product-head{
    display:grid !important;
    grid-template-columns:minmax(0,auto) 1fr auto !important;
    align-items:center !important;
    gap:6px !important;
    margin-bottom:7px !important;
  }

  #storyFeedDashboard .delivery-state-product-head strong{
    font-size:15px !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
    color:#0f172a !important;
  }

  #storyFeedDashboard .delivery-state-head-pills{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:4px !important;
    min-width:0 !important;
  }

  #storyFeedDashboard .delivery-state-head-pills span{
    display:inline-flex !important;
    align-items:center !important;
    padding:4px 7px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    border:1px solid rgba(37,99,235,.14) !important;
    color:#334155 !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #storyFeedDashboard .delivery-state-sort-toggle{
    padding:6px 8px !important;
    border-radius:999px !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }

  /* Calendar highs/lows: 2 × 2 compact grid */
  .feed-calendar-card .calendar-high-low,
  .feed-calendar-card .calendar-month-pair{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    margin:7px 0 !important;
  }

  .feed-calendar-card .calendar-day-card,
  .feed-calendar-card .calendar-month-pair > div{
    min-width:0 !important;
    padding:8px !important;
    border-radius:13px !important;
  }

  .feed-calendar-card .calendar-day-card span,
  .feed-calendar-card .calendar-month-pair span{
    font-size:9px !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }

  .feed-calendar-card .calendar-day-card strong,
  .feed-calendar-card .calendar-month-pair strong{
    font-size:16px !important;
    line-height:1.05 !important;
  }

  .feed-calendar-card .calendar-day-card em,
  .feed-calendar-card .calendar-month-pair em{
    font-size:10px !important;
    line-height:1.1 !important;
  }

  /* Price games: readable product titles and one-line Target price label */
  .price-game-top{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:8px !important;
  }

  .price-game-top > div:first-child{
    min-width:118px !important;
    flex:0 0 auto !important;
  }

  .price-game-top span{
    white-space:nowrap !important;
    font-size:11px !important;
    letter-spacing:.03em !important;
  }

  .price-game-top strong{
    font-size:28px !important;
  }

  .price-game-option,
  .cost-game-option{
    min-width:0 !important;
    padding:10px !important;
  }

  .price-game-option strong,
  .cost-game-option strong{
    font-size:14px !important;
    line-height:1.22 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
  }

  .price-game-answer,
  .cost-game-option span{
    font-size:13px !important;
  }

  .price-game-head-actions{
    min-width:0 !important;
    flex:1 1 auto !important;
    justify-content:flex-end !important;
  }
}

body.mobile-preview-mode .mobile-bottom-menu,
body.mobile-preview-mode .mobile-bottom-menu *{
  max-width:none !important;
}

body.mobile-preview-mode .mobile-bottom-panel{
  width:calc(100vw - 28px) !important;
  max-width:calc(100vw - 28px) !important;
  min-width:300px !important;
  box-sizing:border-box !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-detail{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}

body.mobile-preview-mode #storyFeedDashboard .delivery-state-product-head{
  display:grid !important;
  grid-template-columns:minmax(0,auto) 1fr auto !important;
  align-items:center !important;
  gap:6px !important;
  margin-bottom:7px !important;
}

body.mobile-preview-mode #storyFeedDashboard .delivery-state-head-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px !important;
}

body.mobile-preview-mode #storyFeedDashboard .delivery-state-head-pills span{
  display:inline-flex !important;
  align-items:center !important;
  padding:4px 7px !important;
  border-radius:999px !important;
  background:#eff6ff !important;
  border:1px solid rgba(37,99,235,.14) !important;
  color:#334155 !important;
  font-size:10px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-high-low,
body.mobile-preview-mode .feed-calendar-card .calendar-month-pair{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px !important;
}

body.mobile-preview-mode .price-game-top span{
  white-space:nowrap !important;
}

body.mobile-preview-mode .price-game-option strong,
body.mobile-preview-mode .cost-game-option strong{
  font-size:14px !important;
  line-height:1.22 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
}


/* v344 mobile spacing + repeat/cart/game refinements */
@media(max-width:700px){
  /* Delivery: eliminate hidden/detail slot height between map and purchases */
  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin-top:6px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:230px 0 !important;
    gap:0 !important;
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    grid-row:1 !important;
    height:230px !important;
    min-height:230px !important;
    max-height:230px !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    grid-row:2 !important;
    display:block !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    line-height:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-panel{
    margin-top:8px !important;
  }

  /* Put the state stats tight inside the purchases header */
  #storyFeedDashboard .delivery-state-product-head{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "title sort"
      "pills pills" !important;
    gap:6px 8px !important;
    align-items:center !important;
  }

  #storyFeedDashboard .delivery-state-product-head > strong{
    grid-area:title !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #storyFeedDashboard .delivery-state-sort-toggle{
    grid-area:sort !important;
  }

  #storyFeedDashboard .delivery-state-head-pills{
    grid-area:pills !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
  }

  /* Repeat Habit: show blurred product before final reveal, then clear it */
  .feed-repeat-card.repeat-animation-running .repeat-main-product.repeat-product-hidden,
  .feed-repeat-card[data-animation-running="true"] .repeat-main-product.repeat-product-hidden{
    opacity:.48 !important;
    visibility:visible !important;
    filter:blur(7px) saturate(1.15) !important;
    transform:translateY(6px) !important;
    pointer-events:none !important;
    transition:opacity .65s ease, filter .75s ease, transform .75s ease, background-color .75s ease !important;
  }

  .feed-repeat-card.repeat-animation-complete .repeat-main-product.repeat-product-revealed,
  .feed-repeat-card .repeat-main-product.repeat-product-revealed{
    opacity:1 !important;
    visibility:visible !important;
    filter:blur(0) saturate(1) !important;
    transform:translateY(0) !important;
    background:rgba(255,255,255,.78) !important;
    transition:opacity .55s ease, filter .75s ease, transform .75s ease, background-color .75s ease !important;
  }

  .feed-repeat-card .repeat-main-product{
    border-radius:18px !important;
  }

  .repeat-rhythm-with-prices{
    margin-top:10px !important;
    gap:8px !important;
  }

  .repeat-info-pill{
    padding:9px 11px !important;
    font-size:13px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.74) !important;
    border:1px solid rgba(15,23,42,.08) !important;
    box-shadow:none !important;
  }

  .repeat-pill-icon,
  .repeat-price-direction{
    display:none !important;
  }

  .repeat-price-pill{
    margin-left:0 !important;
  }

  /* Cart Builder: square product tiles in 3-column rows */
  .cart-builder-options{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .cart-builder-option{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:1fr auto !important;
    align-items:stretch !important;
    justify-items:start !important;
    gap:5px !important;
    padding:8px !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    line-height:1.1 !important;
    font-size:11px !important;
    align-self:start !important;
    max-height:4.4em !important;
  }

  .cart-builder-price,
  .cart-builder-option span{
    justify-self:start !important;
    max-width:100% !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  /* Price games: keep headings on one line and enlarge product titles */
  .cost-game-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
  }

  .cost-game-head > strong{
    white-space:nowrap !important;
    font-size:19px !important;
    line-height:1 !important;
    min-width:max-content !important;
  }

  .price-game-head-actions{
    flex:0 1 auto !important;
  }

  .price-game-option strong,
  .cost-game-option strong{
    font-size:15px !important;
    line-height:1.22 !important;
  }

  .price-game-option,
  .cost-game-option{
    padding:11px !important;
  }
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-view-frame{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow:visible !important;
  margin-top:6px !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-zip-map{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:230px 0 !important;
  gap:0 !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  overflow:hidden !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-stage{
  grid-row:1 !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-detail{
  grid-row:2 !important;
  display:block !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  line-height:0 !important;
}

body.mobile-preview-mode .cart-builder-options{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
}

body.mobile-preview-mode .cart-builder-option{
  aspect-ratio:1 / 1 !important;
  min-height:0 !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:1fr auto !important;
  align-items:stretch !important;
  justify-items:start !important;
  padding:8px !important;
  border-radius:16px !important;
  overflow:hidden !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.1 !important;
  font-size:11px !important;
  max-height:4.4em !important;
}

body.mobile-preview-mode .cost-game-head > strong{
  white-space:nowrap !important;
  font-size:19px !important;
  line-height:1 !important;
  min-width:max-content !important;
}

body.mobile-preview-mode .repeat-info-pill{
  padding:9px 11px !important;
  font-size:13px !important;
  background:rgba(255,255,255,.74) !important;
  border:1px solid rgba(15,23,42,.08) !important;
}

body.mobile-preview-mode .repeat-pill-icon,
body.mobile-preview-mode .repeat-price-direction{
  display:none !important;
}


/* v345 compact ZIP-selection, map-stage, cart-builder, and state-sort button */
@media(max-width:700px){
  /* ZIP selection modal: more options per row, shorter chips */
  .story-tile-preflight-panel{
    max-height:calc(100dvh - 16px) !important;
    padding:12px !important;
  }

  .story-tile-preflight-options{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    align-items:stretch !important;
  }

  .story-tile-preflight-options label{
    min-height:0 !important;
    padding:7px 8px !important;
    border-radius:12px !important;
    gap:6px !important;
    align-items:center !important;
  }

  .story-tile-preflight-options input{
    width:14px !important;
    height:14px !important;
  }

  .story-tile-preflight-options span{
    font-size:11px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .story-tile-preflight-actions{
    padding-top:8px !important;
  }

  /* Delivery map: collapse any zoom-layer bottom slack and crop to actual map stage */
  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    display:block !important;
    overflow:hidden !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
    margin:0 !important;
    display:block !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
    position:absolute !important;
    inset:0 !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-svg{
    inset:4px 6px !important;
    width:calc(100% - 12px) !important;
    height:calc(100% - 8px) !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    display:none !important;
  }

  /* Delivery product section button: normal small pill */
  #storyFeedDashboard .delivery-state-product-head{
    grid-template-columns:minmax(0,1fr) auto !important;
  }

  #storyFeedDashboard .delivery-state-sort-toggle{
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    padding:6px 9px !important;
    border-radius:999px !important;
    font-size:0 !important;
    line-height:1 !important;
    justify-self:end !important;
    align-self:center !important;
  }

  #storyFeedDashboard .delivery-state-sort-toggle::after{
    content:attr(data-short-label);
    font-size:10px !important;
    font-weight:950 !important;
  }

  /* Cart Builder square tiles: fill the square with readable text, no blank ? */
  .cart-builder-options{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .cart-builder-option{
    padding:8px !important;
    aspect-ratio:1 / 1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
  }

  .cart-builder-option strong{
    font-size:13px !important;
    line-height:1.12 !important;
    font-weight:950 !important;
    -webkit-line-clamp:5 !important;
    max-height:5.6em !important;
    width:100% !important;
  }

  .cart-builder-price:empty{
    display:none !important;
  }

  .cart-builder-option.price-revealed .cart-builder-price{
    display:inline-flex !important;
    margin-top:auto !important;
    max-width:max-content !important;
    padding:4px 6px !important;
    border-radius:999px !important;
    background:#eef2ff !important;
    font-size:11px !important;
  }
}

body.mobile-preview-mode .story-tile-preflight-options{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:6px !important;
}

body.mobile-preview-mode .story-tile-preflight-options label{
  min-height:0 !important;
  padding:7px 8px !important;
  border-radius:12px !important;
  gap:6px !important;
}

body.mobile-preview-mode .story-tile-preflight-options span{
  font-size:11px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-zip-map,
body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-stage,
body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  overflow:hidden !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-svg{
  inset:4px 6px !important;
  width:calc(100% - 12px) !important;
  height:calc(100% - 8px) !important;
}

body.mobile-preview-mode #storyFeedDashboard .delivery-state-sort-toggle{
  width:auto !important;
  max-width:max-content !important;
  font-size:0 !important;
  padding:6px 9px !important;
}

body.mobile-preview-mode #storyFeedDashboard .delivery-state-sort-toggle::after{
  content:attr(data-short-label);
  font-size:10px !important;
  font-weight:950 !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  font-size:13px !important;
  line-height:1.12 !important;
  -webkit-line-clamp:5 !important;
  max-height:5.6em !important;
}

body.mobile-preview-mode .cart-builder-price:empty{
  display:none !important;
}


/* v346 mobile horizontal tile rails, logo containment, and readable game text */
@media(max-width:700px){
  /* Header logo: equal side space, no overflow */
  .hero{
    overflow:hidden !important;
  }

  .hero-brand-wordmark{
    width:100% !important;
    align-items:center !important;
    text-align:center !important;
    gap:8px !important;
  }

  .hero-wordmark-button{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  .hero-wordmark-logo{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:0 auto !important;
    transform:none !important;
  }

  .hero-slogan,
  .hero-brand-wordmark p{
    width:100% !important;
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.25 !important;
    text-align:center !important;
    color:#334155 !important;
    font-weight:900 !important;
  }

  /* Turn desktop side column into a mobile horizontal top rail */
  #storyFeedDashboard .feed-chapter,
  #storyFeedDashboard .feed-drought-card,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:64px auto !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .feed-chapter > .feed-chapter-number,
  #storyFeedDashboard .feed-drought-card > .feed-chapter-number,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number{
    grid-row:1 !important;
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    margin:0 !important;
    border-radius:17px 17px 0 0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:stretch !important;
    justify-self:stretch !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  #storyFeedDashboard .feed-chapter > .feed-chapter-number span,
  #storyFeedDashboard .feed-chapter > .feed-chapter-number strong,
  #storyFeedDashboard .feed-drought-card > .feed-chapter-number span,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number span{
    margin:0 auto !important;
    transform:none !important;
    position:relative !important;
  }

  #storyFeedDashboard .feed-chapter > .feed-chapter-content,
  #storyFeedDashboard .feed-drought-card > .feed-chapter-content,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-content{
    grid-row:2 !important;
    grid-column:1 !important;
    padding-top:11px !important;
  }

  /* Keep icon graphics centered inside the new horizontal rail */
  .feed-icon-calendar span,
  .feed-icon-games span,
  .feed-icon-cart span,
  .feed-icon-frequency span,
  .feed-icon-coincidence span,
  .feed-icon-repeat span{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    border-radius:15px !important;
    font-size:22px !important;
    display:grid !important;
    place-items:center !important;
  }

  .repeat-physics-box{
    width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
  }

  /* Cart Builder: match Spending Peak product-title readability more closely */
  .cart-builder-option strong{
    font-size:14px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
    -webkit-line-clamp:4 !important;
    max-height:4.6em !important;
  }
}

body.mobile-preview-mode .hero{
  overflow:hidden !important;
}

body.mobile-preview-mode .hero-brand-wordmark{
  width:100% !important;
  align-items:center !important;
  text-align:center !important;
}

body.mobile-preview-mode .hero-wordmark-button{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  overflow:hidden !important;
}

body.mobile-preview-mode .hero-wordmark-logo{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto !important;
}

body.mobile-preview-mode .hero-slogan,
body.mobile-preview-mode .hero-brand-wordmark p{
  width:100% !important;
  font-size:16px !important;
  line-height:1.25 !important;
  text-align:center !important;
  color:#334155 !important;
  font-weight:900 !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter,
body.mobile-preview-mode #storyFeedDashboard .feed-drought-card,
body.mobile-preview-mode #storyFeedDashboard .feed-drought-card.feed-split-chapter{
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:64px auto !important;
  overflow:hidden !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter > .feed-chapter-number,
body.mobile-preview-mode #storyFeedDashboard .feed-drought-card > .feed-chapter-number,
body.mobile-preview-mode #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number{
  grid-row:1 !important;
  grid-column:1 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  margin:0 !important;
  border-radius:17px 17px 0 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter > .feed-chapter-content,
body.mobile-preview-mode #storyFeedDashboard .feed-drought-card > .feed-chapter-content{
  grid-row:2 !important;
  grid-column:1 !important;
  padding-top:11px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  font-size:14px !important;
  line-height:1.15 !important;
  -webkit-line-clamp:4 !important;
  max-height:4.6em !important;
}


/* v347 mobile header, rail, repeat physics, cart text, and calendar polish */
@media(max-width:700px){
  /* Header tile aligns to same width/margins as report tiles */
  .hero{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }

  .hero-brand,
  .hero-brand-wordmark{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .mobile-hero-feature-list{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
    width:100% !important;
    margin:10px 0 10px !important;
  }

  .mobile-hero-feature-list span{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:7px 8px !important;
    border-radius:12px !important;
    background:#f8fafc !important;
    border:1px solid rgba(15,23,42,.08) !important;
    color:#334155 !important;
    font-size:11px !important;
    font-weight:900 !important;
    line-height:1.12 !important;
    text-align:center !important;
  }

  /* The top rail uses left-to-right numbering/logos, never rotated/sideways */
  #storyFeedDashboard .feed-chapter > .feed-chapter-number,
  #storyFeedDashboard .feed-drought-card > .feed-chapter-number,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    transform:none !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-chapter > .feed-chapter-number > *,
  #storyFeedDashboard .feed-drought-card > .feed-chapter-number > *,
  #storyFeedDashboard .feed-drought-card.feed-split-chapter > .feed-chapter-number > *{
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
    transform:none !important;
  }

  /* Repeat Habit: prevent the physics canvas/balls from stretching in the horizontal rail */
  .repeat-ball-sidebar{
    overflow:hidden !important;
  }

  .repeat-physics-box{
    width:160px !important;
    max-width:80% !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    margin:0 auto !important;
    display:block !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .repeat-physics-box canvas{
    width:160px !important;
    max-width:100% !important;
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 auto !important;
  }

  /* Cart Builder: much larger, lighter product text */
  .cart-builder-option strong{
    font-size:20px !important;
    line-height:1.04 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
    -webkit-line-clamp:3 !important;
    max-height:3.18em !important;
  }

  .cart-builder-option{
    padding:9px !important;
  }

  /* Shopping Calendar: larger text in the four main tiles */
  .feed-calendar-card .calendar-high-low,
  .feed-calendar-card .calendar-month-pair{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .feed-calendar-card .calendar-day-card,
  .feed-calendar-card .calendar-month-pair > div{
    padding:10px !important;
    border-radius:14px !important;
  }

  .feed-calendar-card .calendar-day-card span,
  .feed-calendar-card .calendar-month-pair span{
    font-size:11px !important;
    line-height:1.1 !important;
    margin-bottom:6px !important;
    letter-spacing:.035em !important;
  }

  .feed-calendar-card .calendar-day-card strong{
    font-size:23px !important;
    line-height:1 !important;
  }

  .feed-calendar-card .calendar-month-pair strong{
    font-size:22px !important;
    line-height:1 !important;
  }

  .feed-calendar-card .calendar-day-card em,
  .feed-calendar-card .calendar-month-pair em{
    font-size:12px !important;
    line-height:1.15 !important;
    margin-top:6px !important;
  }
}

body.mobile-preview-mode .hero{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

body.mobile-preview-mode .mobile-hero-feature-list{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:6px !important;
  width:100% !important;
  margin:10px 0 10px !important;
}

body.mobile-preview-mode .mobile-hero-feature-list span{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  padding:7px 8px !important;
  border-radius:12px !important;
  background:#f8fafc !important;
  border:1px solid rgba(15,23,42,.08) !important;
  color:#334155 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  text-align:center !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-chapter > .feed-chapter-number,
body.mobile-preview-mode #storyFeedDashboard .feed-chapter > .feed-chapter-number > *{
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  transform:none !important;
  padding:0 !important;
}

body.mobile-preview-mode .repeat-physics-box,
body.mobile-preview-mode .repeat-physics-box canvas{
  width:160px !important;
  max-width:80% !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 auto !important;
  object-fit:contain !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  font-size:20px !important;
  line-height:1.04 !important;
  font-weight:500 !important;
  letter-spacing:-.03em !important;
  -webkit-line-clamp:3 !important;
  max-height:3.18em !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-day-card span,
body.mobile-preview-mode .feed-calendar-card .calendar-month-pair span{
  font-size:11px !important;
}

body.mobile-preview-mode .feed-calendar-card .calendar-day-card strong,
body.mobile-preview-mode .feed-calendar-card .calendar-month-pair strong{
  font-size:22px !important;
}


/* v348 mobile bullets, wider search, game text fitting, and cart text fill */
@media(max-width:700px){
  /* Feature bullets should match the private report list: green dot + text, two per row */
  .mobile-hero-feature-list{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px 10px !important;
    width:100% !important;
    margin:8px 0 11px !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
  }

  .mobile-hero-feature-list span{
    position:relative !important;
    display:block !important;
    min-height:0 !important;
    padding:0 0 0 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#14532d !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.18 !important;
    text-align:left !important;
  }

  .mobile-hero-feature-list span::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:.38em !important;
    width:7px !important;
    height:7px !important;
    border-radius:999px !important;
    background:#16a34a !important;
  }

  /* Search bar wider by default */
  .top-search,
  .top-search-wrap,
  .search-header,
  .search-controls,
  #normalSearchControls,
  #searchView,
  #searchView .top-search{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .global-search-input,
  .rebought-search-input,
  .search-input{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    display:block !important;
    font-size:16px !important;
  }

  /* Timeline order game boxes: auto-fit with fluid text, capped */
  .timeline-order-options{
    display:grid !important;
    gap:7px !important;
  }

  .timeline-order-option{
    min-height:74px !important;
    grid-template-columns:minmax(0,1fr) 24px !important;
    align-items:start !important;
    padding:9px 10px !important;
    gap:6px 8px !important;
  }

  .timeline-order-option strong{
    font-size:clamp(12px,3.8vw,17px) !important;
    line-height:1.12 !important;
    font-weight:800 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .timeline-order-option em{
    font-size:11px !important;
    line-height:1.15 !important;
  }

  /* Cart Builder: keep current large size, fill square, ellipsis on overflow */
  .cart-builder-option{
    overflow:hidden !important;
  }

  .cart-builder-option strong{
    flex:1 1 auto !important;
    width:100% !important;
    height:100% !important;
    font-size:20px !important;
    line-height:1.04 !important;
    font-weight:500 !important;
    letter-spacing:-.03em !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}

body.mobile-preview-mode .mobile-hero-feature-list{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px 10px !important;
  margin:8px 0 11px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}

body.mobile-preview-mode .mobile-hero-feature-list span{
  position:relative !important;
  display:block !important;
  padding:0 0 0 14px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#14532d !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  text-align:left !important;
}

body.mobile-preview-mode .mobile-hero-feature-list span::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:.38em !important;
  width:7px !important;
  height:7px !important;
  border-radius:999px !important;
  background:#16a34a !important;
}

body.mobile-preview-mode .global-search-input,
body.mobile-preview-mode .rebought-search-input,
body.mobile-preview-mode .search-input{
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.mobile-preview-mode .timeline-order-option strong{
  font-size:clamp(12px,3.8vw,17px) !important;
  line-height:1.12 !important;
  font-weight:800 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  font-size:20px !important;
  line-height:1.04 !important;
  font-weight:500 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}


/* v349 remove mobile header feature bullets and add floating search */
.mobile-hero-feature-list{
  display:none !important;
}

@media(max-width:700px){
  .mobile-hero-feature-list{
    display:none !important;
  }

  .mobile-floating-search{
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:12070;
    display:none;
    max-width:calc(100vw - 78px);
  }

  .mobile-floating-search,
  body.has-report .mobile-floating-search{
    display:block;
  }

  .mobile-floating-search-inner{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    width:auto;
  }

  .mobile-floating-search-open,
  .mobile-floating-cloud,
  .mobile-floating-search-clear{
    width:50px;
    height:50px;
    min-width:50px;
    border:0;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#0b2a6f;
    color:#fff;
    box-shadow:0 16px 32px rgba(11,42,111,.24);
    cursor:pointer;
  }

  .mobile-floating-search-open svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
  }

  .mobile-floating-cloud{
    font-size:21px;
    line-height:1;
  }

  .mobile-floating-search-clear{
    display:none;
    font-size:28px;
    line-height:1;
    font-weight:700;
  }

  .mobile-floating-search-input{
    display:none;
    width:0;
    min-width:0;
    height:50px;
    border:1px solid rgba(11,42,111,.18);
    border-radius:999px;
    background:#fff;
    color:#0f172a;
    box-shadow:0 16px 32px rgba(15,23,42,.16);
    padding:0 14px;
    font-size:16px;
    font-weight:850;
    outline:none;
  }

  .mobile-floating-search.is-open{
    left:68px;
    right:14px;
    max-width:none;
  }

  .mobile-floating-search.is-open .mobile-floating-search-inner{
    width:100%;
  }

  .mobile-floating-search.is-open .mobile-floating-search-input{
    display:block;
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }

  .mobile-floating-search.is-open .mobile-floating-search-clear{
    display:grid;
    flex:0 0 auto;
  }

  .mobile-floating-search.is-open .mobile-floating-search-open{
    display:none;
  }

  .mobile-top-toggle{
    bottom:76px !important;
  }
}

body.mobile-preview-mode .mobile-hero-feature-list{
  display:none !important;
}

body.mobile-preview-mode .mobile-floating-search{
  position:fixed;
  right:14px;
  bottom:14px;
  z-index:12070;
  display:none;
  max-width:calc(100vw - 78px);
}

body.mobile-preview-mode .mobile-floating-search,
body.mobile-preview-mode.has-report .mobile-floating-search{
  display:block;
}

body.mobile-preview-mode .mobile-floating-search-inner{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

body.mobile-preview-mode .mobile-floating-search-open,
body.mobile-preview-mode .mobile-floating-cloud,
body.mobile-preview-mode .mobile-floating-search-clear{
  width:50px;
  height:50px;
  min-width:50px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  box-shadow:0 16px 32px rgba(11,42,111,.24);
  cursor:pointer;
}

body.mobile-preview-mode .mobile-floating-search-open svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}

body.mobile-preview-mode .mobile-floating-cloud{
  font-size:21px;
  line-height:1;
}

body.mobile-preview-mode .mobile-floating-search-clear{
  display:none;
  font-size:28px;
  line-height:1;
  font-weight:700;
}

body.mobile-preview-mode .mobile-floating-search-input{
  display:none;
  width:0;
  min-width:0;
  height:50px;
  border:1px solid rgba(11,42,111,.18);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  box-shadow:0 16px 32px rgba(15,23,42,.16);
  padding:0 14px;
  font-size:16px;
  font-weight:850;
  outline:none;
}

body.mobile-preview-mode .mobile-floating-search.is-open{
  left:68px;
  right:14px;
  max-width:none;
}

body.mobile-preview-mode .mobile-floating-search.is-open .mobile-floating-search-inner{
  width:100%;
}

body.mobile-preview-mode .mobile-floating-search.is-open .mobile-floating-search-input{
  display:block;
  flex:1 1 auto;
  width:auto;
  min-width:0;
}

body.mobile-preview-mode .mobile-floating-search.is-open .mobile-floating-search-clear{
  display:grid;
}

body.mobile-preview-mode .mobile-floating-search.is-open .mobile-floating-search-open{
  display:none;
}

body.mobile-preview-mode .mobile-top-toggle{
  bottom:76px !important;
}


/* v350 mobile cleanup and requested refinements */
@media(max-width:700px){
  /* old search/cloud row removed on mobile; floating controls replace it */
  #topSearchWrap{
    display:none !important;
  }

  /* chart timeline action becomes a compact search icon in the top-right */
  .chart-card{ position:relative !important; }
  .chart-topbar{ padding-right:54px !important; }
  .timeline-search-icon{
    position:absolute !important;
    top:12px !important;
    right:14px !important;
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#0b2a6f !important;
    color:#fff !important;
    box-shadow:0 12px 24px rgba(11,42,111,.18) !important;
    font-size:0 !important;
  }
  .timeline-search-icon svg{
    width:20px !important;
    height:20px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:2.2 !important;
    stroke-linecap:round !important;
  }

  /* Big Number rail fills left-to-right on mobile */
  .money-meter-sidebar{
    background:#0ea5e9 !important;
  }
  .money-meter-fill{
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    right:auto !important;
    height:100% !important;
    width:0%;
    background:linear-gradient(90deg,#86efac,#16a34a) !important;
    box-shadow:10px 0 24px rgba(187,247,208,.24) !important;
  }
  .money-meter-mark{
    top:0 !important;
    bottom:auto !important;
    left:var(--mark-percent) !important;
    height:100% !important;
    min-height:0 !important;
    width:1px !important;
    transform:none !important;
  }
  .money-meter-mark i{
    position:absolute !important;
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:2px !important;
    height:100% !important;
  }
  .money-meter-mark span{
    display:none !important;
  }
  .money-meter-mark em{
    display:block !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:64px !important;
    font-size:11px !important;
    text-align:center !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
  .money-meter-current{ display:none !important; }
  .feed-money-chapter .feed-metric-row{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    margin-top:10px !important;
  }
  .feed-money-chapter .feed-metric-row div{
    padding:8px 6px !important;
    border-radius:12px !important;
  }
  .feed-money-chapter .feed-metric-row span{
    font-size:9px !important;
    margin-bottom:3px !important;
  }
  .feed-money-chapter .feed-metric-row strong{
    font-size:13px !important;
    line-height:1 !important;
  }

  /* mobile-readable tooltips */
  .big-total-info-dot::after,
  .price-info-dot::after,
  .timeline-order-info-dot::after,
  .leaderboard-info-dot::after,
  [data-tooltip]::after{
    position:fixed !important;
    left:12px !important;
    right:12px !important;
    bottom:82px !important;
    top:auto !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    line-height:1.35 !important;
    font-size:13px !important;
    padding:12px 14px !important;
    z-index:14000 !important;
  }

  /* Repeat rail physics uses the whole bar */
  .repeat-physics-box,
  .repeat-physics-box canvas{
    width:100% !important;
    max-width:100% !important;
    height:64px !important;
    max-height:64px !important;
  }

  .cart-builder-answer{
    width:auto !important;
    height:32px !important;
    padding:0 11px !important;
    border:0 !important;
    border-radius:999px !important;
    background:#0b2a6f !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:1000 !important;
  }

  .coincidence-cycle-slide p,
  .word-overlap-card p{
    line-height:1.28 !important;
  }

  .feed-word-card .word-example-refresh,
  .word-example-refresh{
    right:48px !important;
  }

  .mobile-bottom-panel-head strong{
    display:none !important;
  }
}

body.mobile-preview-mode #topSearchWrap{ display:none !important; }
body.mobile-preview-mode .money-meter-fill{
  left:0 !important; top:0 !important; bottom:0 !important; right:auto !important; height:100% !important; width:0%; background:linear-gradient(90deg,#86efac,#16a34a) !important;
}
body.mobile-preview-mode .money-meter-mark{ top:0 !important; bottom:auto !important; left:var(--mark-percent) !important; height:100% !important; min-height:0 !important; width:1px !important; }
body.mobile-preview-mode .money-meter-mark i{ height:100% !important; width:2px !important; }
body.mobile-preview-mode .money-meter-mark span{ display:none !important; }
body.mobile-preview-mode .money-meter-mark em{ display:block !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important; width:64px !important; font-size:11px !important; text-align:center !important; }
body.mobile-preview-mode .feed-money-chapter .feed-metric-row{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important; }
body.mobile-preview-mode .repeat-physics-box,
body.mobile-preview-mode .repeat-physics-box canvas{ width:100% !important; max-width:100% !important; height:64px !important; max-height:64px !important; }
body.mobile-preview-mode .mobile-bottom-panel-head strong{ display:none !important; }


/* v351 Big Number scale, Cart Builder fill, Shopping Burst clarity, and mobile polish */
@media(max-width:700px){
  /* Big Number: make the main value and avg values much larger on mobile */
  .feed-money-chapter h2,
  .feed-money-chapter .feed-big-number,
  #storyFeedBigNumber{
    font-size:clamp(76px,22vw,118px) !important;
    line-height:.82 !important;
    letter-spacing:-.075em !important;
  }

  .feed-money-chapter .avg-spend-details{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    margin-top:10px !important;
    padding-top:10px !important;
    font-size:16px !important;
    line-height:1.12 !important;
  }

  .feed-money-chapter .avg-spend-details div{
    margin:0 !important;
    padding:8px 7px !important;
    border-radius:13px !important;
    background:rgba(255,255,255,.72) !important;
    border:1px solid rgba(15,23,42,.07) !important;
    font-size:16px !important;
    font-weight:950 !important;
    color:#0f172a !important;
  }

  /* Cart Builder product titles: use the full square before ellipsis */
  .cart-builder-option{
    justify-content:stretch !important;
    align-items:stretch !important;
  }

  .cart-builder-option strong{
    flex:1 1 auto !important;
    height:100% !important;
    min-height:0 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:7 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:normal !important;
    font-size:20px !important;
    line-height:1.04 !important;
    font-weight:500 !important;
    max-height:none !important;
  }

  .cart-builder-option.price-revealed strong{
    -webkit-line-clamp:5 !important;
  }

  .cart-builder-reveal-answer{
    height:32px !important;
    width:auto !important;
    padding:0 10px !important;
    border:1px solid rgba(11,42,111,.18) !important;
    border-radius:999px !important;
    background:#eef2ff !important;
    color:#0b2a6f !important;
    font-size:11px !important;
    font-weight:1000 !important;
    cursor:pointer !important;
  }

  /* Coincidences copy wraps cleanly on mobile */
  .coincidence-cycle-slide p{
    white-space:pre-line !important;
    line-height:1.25 !important;
  }

  /* Product Language refresh button: rebalance slightly right, not clipped */
  .feed-word-card .word-refresh-button,
  .feed-word-card .refresh-icon-button,
  .feed-word-card [data-word-refresh],
  .feed-word-card button[aria-label*="Refresh"],
  .feed-word-card button[title*="Refresh"]{
    transform:translateX(8px) !important;
    margin-right:6px !important;
  }
}

body.mobile-preview-mode .feed-money-chapter h2,
body.mobile-preview-mode .feed-money-chapter .feed-big-number,
body.mobile-preview-mode #storyFeedBigNumber{
  font-size:clamp(76px,22vw,118px) !important;
  line-height:.82 !important;
  letter-spacing:-.075em !important;
}

body.mobile-preview-mode .feed-money-chapter .avg-spend-details{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:7px !important;
  font-size:16px !important;
}

body.mobile-preview-mode .feed-money-chapter .avg-spend-details div{
  margin:0 !important;
  padding:8px 7px !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(15,23,42,.07) !important;
  font-size:16px !important;
  font-weight:950 !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  -webkit-line-clamp:7 !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  font-size:20px !important;
  line-height:1.04 !important;
  font-weight:500 !important;
}

body.mobile-preview-mode .cart-builder-option.price-revealed strong{
  -webkit-line-clamp:5 !important;
}

body.mobile-preview-mode .coincidence-cycle-slide p{
  white-space:pre-line !important;
}


/* v352 overflow-safe Big Number, stronger avg pills, repeat ball containment, cart ellipsis */
@media(max-width:700px){
  .feed-money-chapter,
  .feed-money-chapter .feed-chapter-content{
    overflow:hidden !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .feed-money-chapter h2{
    max-width:100% !important;
    overflow:hidden !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .feed-money-chapter .feed-big-number,
  #storyFeedBigNumber{
    display:block !important;
    max-width:100% !important;
    width:100% !important;
    overflow:hidden !important;
    font-size:clamp(56px,18vw,98px) !important;
    line-height:.86 !important;
    letter-spacing:-.08em !important;
    white-space:nowrap !important;
    text-overflow:clip !important;
    transform-origin:left center !important;
  }

  .feed-money-chapter .avg-spend-details{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .feed-money-chapter .avg-spend-details div{
    min-width:0 !important;
    padding:9px 6px !important;
    font-size:12px !important;
    line-height:1.05 !important;
    text-align:center !important;
    display:grid !important;
    place-items:center !important;
    gap:2px !important;
    overflow:hidden !important;
  }

  .feed-money-chapter .avg-spend-details div::first-line{
    font-size:10px !important;
  }

  .feed-money-chapter .avg-spend-details div{
    font-weight:1000 !important;
  }

  /* Make the amount visually dominate even when the label is present */
  .feed-money-chapter .avg-spend-details div{
    font-size:15px !important;
  }

  .repeat-physics-box,
  .repeat-physics-box canvas{
    overflow:hidden !important;
    contain:paint !important;
  }

  /* Cart Builder: avoid bottom clipping; use full tile with a clean ellipsis */
  .cart-builder-option{
    position:relative !important;
    overflow:hidden !important;
    padding:8px !important;
  }

  .cart-builder-option strong{
    height:auto !important;
    max-height:calc(100% - 2px) !important;
    min-height:0 !important;
    -webkit-line-clamp:6 !important;
    line-height:1.02 !important;
    padding-bottom:2px !important;
  }

  .cart-builder-option:not(.price-revealed) .cart-builder-price{
    display:none !important;
  }

  .cart-builder-option.price-revealed strong{
    max-height:calc(100% - 24px) !important;
    -webkit-line-clamp:4 !important;
  }
}

body.mobile-preview-mode .feed-money-chapter,
body.mobile-preview-mode .feed-money-chapter .feed-chapter-content{
  overflow:hidden !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.mobile-preview-mode .feed-money-chapter h2{
  max-width:100% !important;
  overflow:hidden !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

body.mobile-preview-mode .feed-money-chapter .feed-big-number,
body.mobile-preview-mode #storyFeedBigNumber{
  display:block !important;
  max-width:100% !important;
  width:100% !important;
  overflow:hidden !important;
  font-size:clamp(56px,18vw,98px) !important;
  line-height:.86 !important;
  letter-spacing:-.08em !important;
  white-space:nowrap !important;
}

body.mobile-preview-mode .feed-money-chapter .avg-spend-details div{
  min-width:0 !important;
  padding:9px 6px !important;
  font-size:15px !important;
  line-height:1.05 !important;
  text-align:center !important;
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  height:auto !important;
  max-height:calc(100% - 2px) !important;
  min-height:0 !important;
  -webkit-line-clamp:6 !important;
  line-height:1.02 !important;
  padding-bottom:2px !important;
}

body.mobile-preview-mode .cart-builder-option.price-revealed strong{
  max-height:calc(100% - 24px) !important;
  -webkit-line-clamp:4 !important;
}


/* v353 responsive-mode cleanup: no mobile bleed on desktop */
.viewport-preview-toggle{
  display:none !important;
}

body.mobile-preview-mode,
body.desktop-preview-mode{
  max-width:none !important;
}

@media(min-width:701px){
  body.mobile-preview-mode,
  body.desktop-preview-mode{
    background:#f4f4f4 !important;
  }

  body.mobile-preview-mode .page,
  body.desktop-preview-mode .page{
    max-width:1400px !important;
    margin:0 auto !important;
    padding:20px !important;
    overflow:visible !important;
  }

  .mobile-floating-search,
  .mobile-bottom-menu,
  .mobile-top-toggle,
  #mobileFloatingSearch,
  #mobileBottomMenu,
  #mobileTopToggle{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  #topSearchWrap{
    display:block !important;
  }

  .timeline-search-icon{
    position:static !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    padding:10px 14px !important;
    border-radius:12px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#111 !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:14px !important;
  }

  .timeline-search-icon svg{
    display:none !important;
  }

  .timeline-search-icon .timeline-btn-text{
    display:inline !important;
  }

  .chart-topbar{
    padding-right:0 !important;
  }

  .chart-card{
    position:relative;
  }
}

@media(max-width:700px){
  .timeline-search-icon .timeline-btn-text{
    display:none !important;
  }

  .timeline-search-icon svg{
    display:block !important;
  }

  /* Leaderboard submission: compact square tiles, two per row */
  #reportLeaderboardSubmission .leaderboard-options.leaderboard-page-options{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  #reportLeaderboardSubmission .leaderboard-option{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    grid-template-rows:auto 1fr auto !important;
    align-content:start !important;
    gap:6px !important;
    padding:10px !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }

  #reportLeaderboardSubmission .leaderboard-option input{
    grid-column:1 !important;
    grid-row:1 !important;
    margin:1px 0 0 !important;
    transform:scale(1) !important;
  }

  #reportLeaderboardSubmission .leaderboard-option div{
    grid-column:1 / -1 !important;
    min-width:0 !important;
  }

  #reportLeaderboardSubmission .leaderboard-option strong{
    font-size:12px !important;
    line-height:1.1 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #reportLeaderboardSubmission .leaderboard-option em{
    font-size:10px !important;
    line-height:1.18 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:3 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #reportLeaderboardSubmission .leaderboard-option small,
  #reportLeaderboardSubmission .leaderboard-submit-value{
    font-size:11px !important;
    line-height:1.05 !important;
    display:block !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    max-width:100% !important;
  }

  #reportLeaderboardSubmission .leaderboard-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
}


/* v354 align Product Language refresh with inner example tile edge */
@media(max-width:700px){
  .feed-word-card .word-example-wrap{
    position:relative !important;
    overflow:visible !important;
  }

  .feed-word-card .word-example-grid{
    position:relative !important;
  }

  .feed-word-card .word-example-refresh.refresh-icon-button{
    right:18px !important;
    left:auto !important;
    transform:none !important;
    margin-right:0 !important;
  }

  .feed-word-card .word-refresh-button,
  .feed-word-card .refresh-icon-button,
  .feed-word-card [data-word-refresh],
  .feed-word-card button[aria-label*="Refresh"],
  .feed-word-card button[title*="Refresh"]{
    transform:none !important;
    margin-right:0 !important;
  }
}

body.mobile-preview-mode .feed-word-card .word-example-refresh.refresh-icon-button{
  right:18px !important;
  left:auto !important;
  transform:none !important;
  margin-right:0 !important;
}


/* v355 mobile leaderboard submission tiles: readable, filled square cards */
@media(max-width:700px){
  #reportLeaderboardSubmission{
    padding:14px !important;
    border-radius:20px !important;
  }

  #reportLeaderboardSubmission .leaderboard-options.leaderboard-page-options{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }

  #reportLeaderboardSubmission .leaderboard-option{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
    padding:11px !important;
    border-radius:18px !important;
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr) !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    gap:6px 7px !important;
    align-content:stretch !important;
    align-items:start !important;
    overflow:hidden !important;
  }

  #reportLeaderboardSubmission .leaderboard-option input{
    grid-column:1 !important;
    grid-row:1 !important;
    width:16px !important;
    height:16px !important;
    margin:2px 0 0 !important;
    transform:none !important;
  }

  #reportLeaderboardSubmission .leaderboard-option > div{
    grid-column:2 !important;
    grid-row:1 / 3 !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    gap:5px !important;
    overflow:hidden !important;
  }

  #reportLeaderboardSubmission .leaderboard-option strong{
    font-size:17px !important;
    line-height:1.02 !important;
    font-weight:1000 !important;
    letter-spacing:-.035em !important;
    color:#020617 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    margin:0 !important;
  }

  #reportLeaderboardSubmission .leaderboard-option em{
    font-size:12.5px !important;
    line-height:1.13 !important;
    font-weight:850 !important;
    color:#475569 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:4 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    margin:0 !important;
  }

  #reportLeaderboardSubmission .leaderboard-option small,
  #reportLeaderboardSubmission .leaderboard-submit-value{
    margin-top:auto !important;
    align-self:stretch !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:-.04em !important;
    color:#0b2a6f !important;
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    padding-top:4px !important;
  }

  #reportLeaderboardSubmission .leaderboard-option.is-deselected{
    opacity:.56 !important;
  }

  #reportLeaderboardSubmission .leaderboard-not-included-group .leaderboard-option{
    aspect-ratio:1.05 / 1 !important;
    padding:10px !important;
  }

  #reportLeaderboardSubmission .leaderboard-not-included-group .leaderboard-option strong{
    font-size:15px !important;
  }

  #reportLeaderboardSubmission .leaderboard-not-included-group .leaderboard-option em{
    font-size:11.5px !important;
    -webkit-line-clamp:5 !important;
  }

  #reportLeaderboardSubmission .leaderboard-not-included-group .leaderboard-option small{
    display:none !important;
  }
}

/* v356 desktop Sections hover bridge + mobile Big Number avg readability */
.tile-jump-menu.is-open::before{
  content:"";
  position:absolute;
  right:0;
  bottom:100%;
  width:260px;
  height:18px;
  pointer-events:auto;
}

@media(max-width:700px){
  .feed-money-chapter .avg-spend-details{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    align-items:stretch !important;
    overflow:visible !important;
  }

  .feed-money-chapter .avg-spend-details div{
    min-width:0 !important;
    min-height:58px !important;
    padding:9px 8px !important;
    border-radius:14px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    gap:5px !important;
    overflow:hidden !important;
    text-align:left !important;
    background:rgba(255,255,255,.80) !important;
    border:1px solid rgba(15,23,42,.08) !important;
  }

  .feed-money-chapter .avg-spend-details div span{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:.07em !important;
    color:#64748b !important;
    text-transform:uppercase !important;
  }

  .feed-money-chapter .avg-spend-details div strong{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:clamp(18px,5vw,22px) !important;
    line-height:.98 !important;
    font-weight:1000 !important;
    letter-spacing:-.04em !important;
    color:#020617 !important;
  }
}


/* v357 fixes: desktop section click reliability + real mobile avg typography */
.tile-jump-menu.is-open::before{
  pointer-events:none !important;
}

.tile-jump-panel{
  pointer-events:auto !important;
}

@media(max-width:700px){
  .feed-money-chapter .avg-spend-details{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    width:100% !important;
    padding-top:8px !important;
    margin-top:10px !important;
  }

  .feed-money-chapter .avg-spend-details div{
    min-width:0 !important;
    min-height:64px !important;
    padding:8px 7px !important;
    border-radius:14px !important;
    display:grid !important;
    grid-template-rows:auto 1fr !important;
    align-items:center !important;
    gap:3px !important;
    background:rgba(255,255,255,.86) !important;
    border:1px solid rgba(15,23,42,.08) !important;
    overflow:hidden !important;
  }

  .feed-money-chapter .avg-spend-details div span{
    display:block !important;
    max-width:100% !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    color:#64748b !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .feed-money-chapter .avg-spend-details div strong{
    display:block !important;
    max-width:100% !important;
    font-size:clamp(20px,5.8vw,28px) !important;
    line-height:.95 !important;
    font-weight:1000 !important;
    letter-spacing:-.06em !important;
    color:#020617 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}


/* v358 restore full-width Repeat Habit mobile topper */
@media(max-width:700px){
  #storyFeedDashboard .feed-repeat-card > .feed-chapter-number.repeat-ball-sidebar,
  #storyFeedDashboard .feed-repeat-card > .feed-chapter-number.feed-icon-repeat,
  #storyFeedDashboard .feed-repeat-card > .feed-chapter-number{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    display:block !important;
    overflow:hidden !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:17px 17px 0 0 !important;
  }

  #storyFeedDashboard .feed-repeat-card .repeat-physics-box{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:17px 17px 0 0 !important;
    overflow:hidden !important;
    border:0 !important;
    box-shadow:none !important;
    background:transparent !important;
  }

  #storyFeedDashboard .feed-repeat-card .repeat-physics-box canvas{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:100% !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    object-fit:fill !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-repeat-card .repeat-physics-hint{
    display:none !important;
  }
}

body.mobile-preview-mode #storyFeedDashboard .feed-repeat-card > .feed-chapter-number.repeat-ball-sidebar,
body.mobile-preview-mode #storyFeedDashboard .feed-repeat-card > .feed-chapter-number.feed-icon-repeat,
body.mobile-preview-mode #storyFeedDashboard .feed-repeat-card > .feed-chapter-number{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  display:block !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-repeat-card .repeat-physics-box,
body.mobile-preview-mode #storyFeedDashboard .feed-repeat-card .repeat-physics-box canvas{
  width:100% !important;
  max-width:100% !important;
  min-width:100% !important;
  height:64px !important;
  min-height:64px !important;
  max-height:64px !important;
  margin:0 !important;
}


/* v359 compact mobile timeline search filters */
@media(max-width:700px){
  #searchView .timeline-controls{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
    width:100% !important;
    align-items:end !important;
  }

  #searchView .timeline-controls label{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    justify-content:start !important;
    align-items:start !important;
    font-size:9px !important;
    line-height:1 !important;
    letter-spacing:.045em !important;
    color:#64748b !important;
  }

  #searchView .timeline-controls input{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:34px !important;
    padding:6px 7px !important;
    border-radius:10px !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:850 !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-controls input[type="date"]{
    padding-left:6px !important;
    padding-right:4px !important;
  }

  #searchView .timeline-controls input[type="number"]{
    padding-left:8px !important;
    padding-right:6px !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit{
    padding:0 !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin:0 !important;
    padding:0 !important;
    width:14px !important;
    height:14px !important;
  }

  #searchView .timeline-controls input::placeholder{
    font-size:12px !important;
  }

  #searchView .timeline-presets{
    display:flex !important;
    gap:5px !important;
    margin-top:7px !important;
  }

  #searchView .timeline-presets button{
    padding:6px 8px !important;
    font-size:10px !important;
    border-radius:999px !important;
  }
}


/* v360 mobile top spacing + compact date inputs + search visibility on results */
@media(max-width:700px){
  body{
    padding-top:0 !important;
  }

  .page{
    padding-top:4px !important;
  }

  .hero{
    margin-top:4px !important;
  }

  .viewport-preview-toggle + .page,
  #viewportPreviewToggle + .page{
    margin-top:0 !important;
  }

  #searchView .timeline-controls{
    grid-template-columns:auto auto !important;
    justify-content:start !important;
    align-items:end !important;
    column-gap:8px !important;
    row-gap:7px !important;
  }

  #searchView .timeline-controls label{
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
  }

  #searchView .timeline-controls input{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    height:32px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-controls input[type="date"]{
    width:8.7em !important;
    max-width:8.7em !important;
    padding:5px 3px 5px 5px !important;
    font-size:12px !important;
  }

  #searchView .timeline-controls input[type="number"]{
    width:6.4em !important;
    max-width:6.4em !important;
    padding:5px 6px !important;
    font-size:12px !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:1px !important;
    padding:0 !important;
    width:13px !important;
    height:13px !important;
  }

  body.has-report .mobile-floating-search,
  .mobile-floating-search.has-active-search-page{
    display:block !important;
  }

  .mobile-floating-search.has-active-search-page:not(.is-open)::before{
    content:"";
    position:absolute;
    right:44px;
    bottom:39px;
    width:9px;
    height:9px;
    border-radius:999px;
    background:#22c55e;
    border:2px solid #fff;
    box-shadow:0 4px 10px rgba(15,23,42,.18);
    z-index:2;
  }
}


/* v361 mobile search results layout */
.mobile-search-results-summary-row{
  display:none;
}

@media(max-width:700px){
  #searchView .search-header{
    margin-bottom:8px !important;
  }

  #searchView .search-total{
    display:none !important;
  }

  #searchView .search-controls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-bottom:8px !important;
  }

  #searchView #normalSearchControls{
    width:100% !important;
  }

  #searchView .timeline-controls{
    display:grid !important;
    grid-template-columns:repeat(4,auto) !important;
    justify-content:start !important;
    align-items:end !important;
    column-gap:6px !important;
    row-gap:6px !important;
    width:100% !important;
    margin-bottom:4px !important;
  }

  #searchView .timeline-controls label{
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
    justify-content:start !important;
    align-items:start !important;
    font-size:8.5px !important;
    line-height:1 !important;
    letter-spacing:.035em !important;
  }

  #searchView .timeline-controls input[type="date"]{
    width:8.55em !important;
    max-width:8.55em !important;
    height:30px !important;
    padding:4px 2px 4px 4px !important;
    font-size:11.5px !important;
  }

  #searchView .timeline-controls input[type="number"]{
    width:5.35em !important;
    max-width:5.35em !important;
    height:30px !important;
    padding:4px 5px !important;
    font-size:11.5px !important;
  }

  .mobile-search-results-summary-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    margin:8px 0 10px !important;
  }

  .mobile-search-results-totals{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:2px !important;
    min-width:0 !important;
  }

  .mobile-search-results-totals span:first-child{
    color:#0f172a !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:1000 !important;
  }

  .mobile-search-results-totals span:last-child{
    color:#64748b !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .mobile-search-sort-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:6px !important;
    flex:0 0 auto !important;
  }

  .mobile-search-sort-actions .sort-btn{
    width:auto !important;
    min-width:0 !important;
    padding:7px 9px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #searchView .cards-grid{
    margin-top:0 !important;
  }
}

@media(min-width:701px){
  .mobile-search-sort-actions .sort-btn{
    width:auto;
  }

  .mobile-search-results-summary-row{
    display:none !important;
  }
}


/* v362 mobile exact search toggle + no clutter */
@media(max-width:700px){
  #normalSearchControls .exact-search-toggle{
    display:none !important;
  }

  .mobile-floating-exact-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    gap:4px;
    height:50px;
    min-width:58px;
    padding:0 10px;
    border-radius:999px;
    background:#fff;
    color:#0b2a6f;
    border:1px solid rgba(11,42,111,.18);
    box-shadow:0 16px 32px rgba(15,23,42,.14);
    font-size:11px;
    font-weight:1000;
    white-space:nowrap;
  }

  .mobile-floating-exact-toggle input{
    width:13px;
    height:13px;
    margin:0;
    accent-color:#0b2a6f;
  }

  .mobile-floating-search.is-open .mobile-floating-exact-toggle{
    display:inline-flex;
    flex:0 0 auto;
  }

  .mobile-floating-search.is-open{
    left:14px !important;
    right:14px !important;
  }

  .mobile-floating-search.is-open .mobile-floating-search-input{
    min-width:0 !important;
  }

  .mobile-floating-search.is-open .mobile-floating-search-clear,
  .mobile-floating-search.is-open .mobile-floating-cloud{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
  }

  .mobile-floating-search.is-open .mobile-floating-exact-toggle{
    height:44px !important;
  }
}

@media(min-width:701px){
  .mobile-floating-exact-toggle{
    display:none !important;
  }
}


/* v363 ensure mobile timeline presets stay visibly active and compact */
@media(max-width:700px){
  #timelinePresets button.active{
    background:#0b2a6f !important;
    color:#fff !important;
    border-color:#0b2a6f !important;
  }
}


/* v364 mobile timeline filter layout and no-shift results controls */
@media(max-width:700px){
  #searchView .search-controls,
  #searchView #normalSearchControls{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-controls{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 8px !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:repeat(4,auto) !important;
    gap:6px !important;
    align-items:end !important;
    justify-content:start !important;
    width:100% !important;
    max-width:100% !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-price-controls > label{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    margin:0 !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:8.55em !important;
    max-width:8.55em !important;
    min-width:8.55em !important;
    height:30px !important;
    padding:4px 2px 4px 4px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:5.9em !important;
    max-width:5.9em !important;
    min-width:5.9em !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-size:11px !important;
    line-height:1 !important;
    color:#64748b !important;
    pointer-events:none !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[type="number"],
  #searchView .timeline-controls input[inputmode="decimal"]{
    width:4.85em !important;
    max-width:4.85em !important;
    min-width:4.85em !important;
    height:30px !important;
    padding:4px 4px 4px 14px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-column:1 / -1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,auto)) !important;
    justify-content:start !important;
    gap:6px !important;
    width:100% !important;
    margin:1px 0 0 !important;
  }

  #searchView #timelinePresets.timeline-presets button{
    width:auto !important;
    min-width:0 !important;
    height:28px !important;
    padding:6px 8px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #mobileSearchResultsSummaryRow.mobile-search-results-summary-row{
    margin:9px 0 10px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #mobileSearchResultsSummaryRow .mobile-search-results-totals{
    margin-left:0 !important;
    padding-left:0 !important;
    align-items:flex-start !important;
  }

  #searchView .cards-grid,
  #cardsGrid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #searchView .purchase-card{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}


/* v370 safe search reset/filter layout only */
.reset-search-btn{
  background:#f1f5f9 !important;
  color:#0f172a !important;
}

.reset-search-btn.is-confirming{
  background:#fee2e2 !important;
  color:#991b1b !important;
}

@media(max-width:700px){
  .search-header{
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    margin-bottom:8px !important;
  }

  .back-btn,
  .reset-search-btn{
    padding:8px 10px !important;
    border-radius:999px !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto auto auto !important;
    grid-template-areas:
      "start end min max"
      "presets presets presets presets" !important;
    justify-content:start !important;
    align-items:end !important;
    gap:6px !important;
    width:100% !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){ grid-area:start !important; }
  #searchView .timeline-date-row > label:nth-of-type(2){ grid-area:end !important; }

  #searchView .timeline-price-controls{ display:contents !important; }
  #searchView .timeline-price-controls > label:nth-of-type(1){ grid-area:min !important; }
  #searchView .timeline-price-controls > label:nth-of-type(2){ grid-area:max !important; }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    gap:6px !important;
    margin-top:2px !important;
  }

  #searchView #timelinePresets.timeline-presets button{
    height:28px !important;
    padding:6px 8px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .mobile-floating-search.is-open .mobile-floating-search-clear,
  .mobile-floating-search.is-open .mobile-floating-cloud,
  .mobile-floating-search-open,
  .mobile-floating-cloud,
  .mobile-floating-search-clear{
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    flex:0 0 50px !important;
  }
}


/* v371 keep mobile date/price filters inside the screen */
@media(max-width:700px){
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-areas:
      "start end"
      "min max"
      "presets presets" !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    justify-content:stretch !important;
    align-items:end !important;
    overflow:hidden !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-price-controls > label,
  #searchView .timeline-controls label{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    height:32px !important;
    padding:5px 4px 5px 6px !important;
    font-size:11.5px !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    position:relative !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[type="number"],
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    height:32px !important;
    padding:5px 6px 5px 18px !important;
    font-size:11.5px !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:7px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:1 !important;
    pointer-events:none !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,auto)) !important;
    justify-content:start !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:1px !important;
  }
}


/* v372 compact mobile date boxes + price boxes under preset row */
@media(max-width:700px){
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    grid-template-areas:
      "start end ."
      "presets presets presets"
      "min max ." !important;
    justify-content:start !important;
    align-items:end !important;
    column-gap:6px !important;
    row-gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-controls label{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:8.55em !important;
    min-width:8.55em !important;
    max-width:8.55em !important;
    height:30px !important;
    padding:4px 2px 4px 5px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:1px !important;
    padding:0 !important;
    width:13px !important;
    height:13px !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    align-items:center !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
  }

  #searchView #timelinePresets.timeline-presets button{
    width:auto !important;
    min-width:0 !important;
    height:28px !important;
    padding:6px 8px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:6.15em !important;
    min-width:6.15em !important;
    max-width:6.15em !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    width:6.15em !important;
    min-width:6.15em !important;
    max-width:6.15em !important;
    height:30px !important;
    padding:4px 5px 4px 15px !important;
    font-size:11.5px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:1 !important;
    pointer-events:none !important;
    font-size:11px !important;
    line-height:1 !important;
  }
}


/* v373 fix mobile search filter layout: no off-screen price boxes */
@media(max-width:700px){
  #searchView .timeline-controls{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto !important;
    grid-template-areas:
      "start end"
      "presets presets"
      "prices prices" !important;
    justify-content:start !important;
    align-items:start !important;
    gap:8px 8px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-controls label{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:8.45em !important;
    min-width:8.45em !important;
    max-width:8.45em !important;
    height:30px !important;
    padding:4px 2px 4px 5px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:1px !important;
    padding:0 !important;
    width:13px !important;
    height:13px !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:auto auto auto !important;
    justify-content:start !important;
    align-items:start !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #searchView #timelinePresets.timeline-presets button{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    height:28px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #searchView .timeline-price-controls{
    grid-area:prices !important;
    display:grid !important;
    grid-template-columns:auto auto !important;
    justify-content:start !important;
    align-items:start !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:6.9em !important;
    min-width:6.9em !important;
    max-width:6.9em !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    display:block !important;
    width:6.9em !important;
    min-width:6.9em !important;
    max-width:6.9em !important;
    height:30px !important;
    padding:4px 6px 4px 17px !important;
    font-size:11.5px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:7px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:11px !important;
    line-height:1 !important;
  }
}


/* v374 mobile search filters: dates left, prices right */
@media(max-width:700px){
  #searchView .timeline-controls{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto 1fr auto auto !important;
    grid-template-areas:
      "start end spacer min max"
      "presets presets presets presets presets" !important;
    align-items:end !important;
    justify-content:stretch !important;
    column-gap:6px !important;
    row-gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-controls label{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:8.35em !important;
    min-width:8.35em !important;
    max-width:8.35em !important;
    height:30px !important;
    padding:4px 2px 4px 5px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:1px !important;
    padding:0 !important;
    width:13px !important;
    height:13px !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:5.85em !important;
    min-width:5.85em !important;
    max-width:5.85em !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    display:block !important;
    width:5.85em !important;
    min-width:5.85em !important;
    max-width:5.85em !important;
    height:30px !important;
    padding:4px 5px 4px 16px !important;
    font-size:11.5px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:11px !important;
    line-height:1 !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    align-items:start !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #searchView #timelinePresets.timeline-presets button{
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    height:28px !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
}


/* v375 mobile filter row: date boxes left, price boxes right */
@media(max-width:700px){
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto minmax(4px,1fr) auto auto !important;
    grid-template-areas:
      "start end spacer min max"
      "presets presets presets presets presets" !important;
    align-items:end !important;
    justify-content:stretch !important;
    column-gap:5px !important;
    row-gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-price-controls > label,
  #searchView .timeline-controls label{
    margin:0 !important;
    width:auto !important;
    min-width:0 !important;
    max-width:max-content !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:7.75em !important;
    min-width:7.75em !important;
    max-width:7.75em !important;
    height:30px !important;
    padding:4px 1px 4px 5px !important;
    font-size:11.5px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:0 !important;
    padding:0 !important;
    width:13px !important;
    height:13px !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:5.35em !important;
    min-width:5.35em !important;
    max-width:5.35em !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    display:block !important;
    width:5.35em !important;
    min-width:5.35em !important;
    max-width:5.35em !important;
    height:30px !important;
    padding:4px 4px 4px 15px !important;
    font-size:11.5px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:6px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:11px !important;
    line-height:1 !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    align-items:start !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}


/* v376 prevent mobile min/max price overlap while keeping them right of date boxes */
@media(max-width:700px){
  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto minmax(2px,1fr) auto auto !important;
    grid-template-areas:
      "start end spacer min max"
      "presets presets presets presets presets" !important;
    column-gap:4px !important;
    row-gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:7.35em !important;
    min-width:7.35em !important;
    max-width:7.35em !important;
    height:30px !important;
    padding:4px 0 4px 4px !important;
    font-size:11px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:0 !important;
    padding:0 !important;
    width:12px !important;
    height:12px !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    width:5.25em !important;
    min-width:5.25em !important;
    max-width:5.25em !important;
    position:relative !important;
    display:block !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    width:5.25em !important;
    min-width:5.25em !important;
    max-width:5.25em !important;
    height:30px !important;
    padding:4px 3px 4px 14px !important;
    font-size:11px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    left:5px !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    gap:6px !important;
  }
}


/* v377 mobile filter row: dates then min/max immediately beside them */
@media(max-width:700px){
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:auto auto auto auto !important;
    grid-template-areas:
      "start end min max"
      "presets presets presets presets" !important;
    justify-content:start !important;
    align-items:end !important;
    column-gap:5px !important;
    row-gap:8px !important;
    width:max-content !important;
    max-width:none !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"]{
    width:7.1em !important;
    min-width:7.1em !important;
    max-width:7.1em !important;
    height:30px !important;
    padding:4px 0 4px 4px !important;
    font-size:10.7px !important;
    box-sizing:content-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    margin-left:0 !important;
    padding:0 !important;
    width:12px !important;
    height:12px !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:4.95em !important;
    min-width:4.95em !important;
    max-width:4.95em !important;
    box-sizing:content-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #timelineMinPrice,
  #timelineMaxPrice{
    display:block !important;
    width:4.95em !important;
    min-width:4.95em !important;
    max-width:4.95em !important;
    height:30px !important;
    padding:4px 3px 4px 13px !important;
    font-size:10.7px !important;
    box-sizing:border-box !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:5px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:10.5px !important;
    line-height:1 !important;
  }

  #searchView #timelinePresets.timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,auto) !important;
    justify-content:start !important;
    align-items:start !important;
    gap:6px !important;
    width:auto !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* v377 make mobile tile hero text feel closer to Big Number scale */
@media(max-width:700px){
  #storyFeedDashboard .feed-chapter:not(.feed-money-chapter) .feed-chapter-content > h2{
    font-size:clamp(38px,11vw,64px) !important;
    line-height:.94 !important;
    letter-spacing:-.055em !important;
  }

  #storyFeedDashboard .feed-games-card .feed-chapter-content > h2,
  #storyFeedDashboard .feed-word-card .feed-chapter-content > h2{
    font-size:clamp(34px,10vw,56px) !important;
  }

  #storyFeedDashboard .feed-chapter-content > p{
    font-size:15px !important;
    line-height:1.35 !important;
  }
}


/* v378 Big Number work-time highlights and context sizing */
@media(max-width:700px){
  .work-hours-result{
    font-size:15px !important;
    line-height:1.35 !important;
    color:#334155 !important;
  }

  .work-hours-result .changing-number{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:3px 8px !important;
    border-radius:999px !important;
    background:rgba(22,163,74,.11) !important;
    border:1px solid rgba(22,163,74,.22) !important;
    color:#14532d !important;
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:1000 !important;
    letter-spacing:-.02em !important;
    box-shadow:none !important;
  }

  .work-hours-result.just-updated .changing-number{
    animation:workValuePulse .26s ease both !important;
  }

  .feed-money-story p{
    font-size:15px !important;
    line-height:1.35 !important;
    color:#334155 !important;
    font-weight:850 !important;
  }

  .feed-money-story p strong{
    font-size:15px !important;
    line-height:1.05 !important;
    font-weight:1000 !important;
    color:#0f172a !important;
  }

  .feed-static-timeline em,
  .feed-mini-panel em{
    font-size:15px !important;
    line-height:1.25 !important;
  }
}


/* v381 remove green work-time highlight pills while keeping bold update text */
@media(max-width:700px){
  .work-hours-result .changing-number{
    display:inline !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    color:inherit !important;
    box-shadow:none !important;
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:1000 !important;
    letter-spacing:inherit !important;
  }

  .work-hours-result.just-updated .changing-number{
    animation:workValuePulse .26s ease both !important;
  }
}


/* v382 Shopping Burst full scrollable product list */
.frequency-item-list.shopping-burst-products{
  max-height:270px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding-right:4px;
  scrollbar-width:thin;
}

.frequency-item-list.shopping-burst-products a,
.frequency-item-list.shopping-burst-products .sample-disabled-product-link{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.frequency-item-list.shopping-burst-products strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

@media(max-width:700px){
  .frequency-item-list.shopping-burst-products{
    max-height:230px;
  }

  .frequency-item-list.shopping-burst-products a,
  .frequency-item-list.shopping-burst-products .sample-disabled-product-link{
    padding:8px 9px;
  }

  .frequency-item-list.shopping-burst-products strong{
    font-size:15px;
  }
}

/* v382 leaderboard submission preview layout */
.report-leaderboard-submission .leaderboard-option,
.leaderboard-modal .leaderboard-option{
  grid-template-columns:auto minmax(0,1fr) minmax(88px,auto) !important;
  align-items:center !important;
}

.report-leaderboard-submission .leaderboard-submit-value,
.leaderboard-modal .leaderboard-submit-value{
  justify-self:end !important;
  align-self:center !important;
  max-width:min(360px,45vw) !important;
  white-space:normal !important;
  text-align:right !important;
  overflow:visible !important;
  text-overflow:clip !important;
  border-radius:14px !important;
  padding:8px 10px !important;
  line-height:1.2 !important;
}

.report-leaderboard-submission .leaderboard-option.is-top-words-option,
.leaderboard-modal .leaderboard-option.is-top-words-option{
  grid-template-columns:auto minmax(0,1fr) minmax(220px,420px) !important;
}

.report-leaderboard-submission .leaderboard-submit-value-words,
.leaderboard-modal .leaderboard-submit-value-words{
  width:100% !important;
  max-width:420px !important;
  justify-self:stretch !important;
  text-align:left !important;
  font-size:14px !important;
  white-space:normal !important;
  word-break:normal !important;
}

@media(max-width:720px){
  .report-leaderboard-submission .leaderboard-option,
  .leaderboard-modal .leaderboard-option{
    grid-template-columns:auto minmax(0,1fr) !important;
  }

  .report-leaderboard-submission .leaderboard-submit-value,
  .leaderboard-modal .leaderboard-submit-value{
    grid-column:2 !important;
    justify-self:stretch !important;
    text-align:left !important;
    max-width:100% !important;
    width:100% !important;
    margin-top:8px !important;
  }
}


/* v383 leaderboard selection values sit in the middle and wrap */
.leaderboard-options .leaderboard-option,
.report-leaderboard-submission .leaderboard-option,
.leaderboard-modal .leaderboard-option{
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:start !important;
  align-content:start !important;
  gap:10px 10px !important;
}

.leaderboard-option-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:6px !important;
  min-width:0 !important;
  width:100% !important;
}

.leaderboard-option-copy strong{
  width:100% !important;
}

.leaderboard-option-copy em{
  width:100% !important;
}

.leaderboard-option .leaderboard-submit-value,
.report-leaderboard-submission .leaderboard-submit-value,
.leaderboard-modal .leaderboard-submit-value{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:4px 0 3px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#0b2a6f !important;
  font-size:clamp(18px,2.4vw,24px) !important;
  font-weight:1000 !important;
  line-height:1.08 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  justify-self:stretch !important;
  align-self:start !important;
}

.leaderboard-option.is-top-words-option .leaderboard-submit-value,
.report-leaderboard-submission .leaderboard-submit-value-words,
.leaderboard-modal .leaderboard-submit-value-words{
  font-size:clamp(16px,2.1vw,22px) !important;
  line-height:1.12 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

@media(max-width:720px){
  .leaderboard-options .leaderboard-option,
  .report-leaderboard-submission .leaderboard-option,
  .leaderboard-modal .leaderboard-option{
    grid-template-columns:auto minmax(0,1fr) !important;
    min-height:0 !important;
  }

  .leaderboard-option .leaderboard-submit-value,
  .report-leaderboard-submission .leaderboard-submit-value,
  .leaderboard-modal .leaderboard-submit-value{
    grid-column:auto !important;
    font-size:20px !important;
    margin-top:6px !important;
    margin-bottom:6px !important;
  }

  .leaderboard-option.is-top-words-option .leaderboard-submit-value,
  .report-leaderboard-submission .leaderboard-submit-value-words,
  .leaderboard-modal .leaderboard-submit-value-words{
    font-size:19px !important;
  }
}


/* v384 leaderboard values in third placement with full wrap */
.leaderboard-option-copy{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:6px !important;
  min-width:0 !important;
  width:100% !important;
}

.leaderboard-option-copy > strong{
  order:1 !important;
}

.leaderboard-option-copy > em{
  order:2 !important;
}

.leaderboard-option-copy > small{
  order:3 !important;
}

.leaderboard-option-copy > .leaderboard-submit-value{
  order:4 !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#0b2a6f !important;
  font-size:clamp(18px,2.3vw,25px) !important;
  font-weight:1000 !important;
  line-height:1.12 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}

.leaderboard-option-copy > .leaderboard-submit-value-words{
  font-size:clamp(16px,2.1vw,22px) !important;
  line-height:1.14 !important;
}

/* v384 mobile search keyword bubbles */
.mobile-search-results-totals{
  gap:4px !important;
}

.mobile-search-keyword-bubbles{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  margin-top:4px;
  max-width:100%;
}

.mobile-search-keyword-bubble{
  display:inline-flex;
  align-items:center;
  gap:4px;
  max-width:130px;
  min-width:0;
  padding:4px 7px;
  border:1px solid rgba(11,42,111,.14);
  border-radius:999px;
  background:#eef2ff;
  color:#0b2a6f;
  font-size:10.5px;
  line-height:1;
  font-weight:950;
}

.mobile-search-keyword-bubble span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.mobile-search-keyword-bubble i{
  font-style:normal;
  font-weight:1000;
  opacity:.72;
}

@media(max-width:700px){
  .leaderboard-option-copy > .leaderboard-submit-value{
    font-size:20px !important;
  }

  .leaderboard-option-copy > .leaderboard-submit-value-words{
    font-size:19px !important;
  }

  .mobile-search-results-summary-row{
    align-items:flex-start !important;
  }

  .mobile-search-results-totals{
    flex:1 1 auto !important;
    max-width:calc(100vw - 130px) !important;
  }
}


/* v385 top-words leaderboard secondary ranks */
.leaderboard-extra-ranks{
  display:block;
  margin-top:4px;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
}


/* v386 hide mobile search/cloud on Leaderboards */
@media(max-width:700px){
  body.is-leaderboard-view #mobileFloatingSearch,
  body[data-view-mode="leaderboard"] #mobileFloatingSearch,
  body.is-leaderboard-view .mobile-floating-search,
  body[data-view-mode="leaderboard"] .mobile-floating-search{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  .leaderboard-nearby-row.is-you em{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    line-height:1.22 !important;
  }
}


/* v387 local Badges feature */
#viewLeaderboardTab,
.leaderboard-marquee,
#reportLeaderboardSubmission,
.report-leaderboard-submission,
.leaderboard-page-trigger,
[data-action="jump-to-report-submit"]{
  display:none !important;
}

#viewBadgesTab:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.badge-shelf-preview{
  margin:18px 0;
  padding:16px;
  border-radius:24px;
  background:linear-gradient(135deg,#ecfdf5,#eff6ff);
  border:1px solid rgba(22,163,74,.18);
  box-shadow:0 16px 36px rgba(15,23,42,.06);
  display:grid;
  grid-template-columns:minmax(160px,1fr) minmax(0,2fr) auto;
  gap:14px;
  align-items:center;
}

.badge-shelf-copy span,
.badges-page-head span{
  display:block;
  color:#166534;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.badge-shelf-copy h3{
  margin:4px 0 0;
  color:#0f172a;
  font-size:24px;
  line-height:1.05;
  letter-spacing:-.04em;
}

.badge-shelf-row{
  display:flex;
  gap:8px;
  overflow:hidden;
  min-width:0;
}

.badge-shelf-dot{
  width:42px;
  height:42px;
  min-width:42px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:22px;
  box-shadow:0 10px 18px rgba(15,23,42,.10);
}

.badge-shelf-dot.is-earned{
  background:#0b2a6f;
  color:#fff;
}

.badge-shelf-dot.is-locked{
  background:#e5e7eb;
  color:#94a3b8;
  filter:grayscale(1);
  opacity:.75;
}

.badge-view-all-button,
.download-badge-shelf-button{
  border:0;
  border-radius:999px;
  background:#0b2a6f;
  color:#fff;
  font-weight:1000;
  padding:10px 14px;
  cursor:pointer;
}

.badges-page{
  margin:18px 0 60px;
}

.badges-page-card{
  display:grid;
  gap:20px;
}

.badges-page-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.badges-page-head h2{
  margin:4px 0 6px;
  font-size:36px;
  letter-spacing:-.05em;
}

.badges-page-head p{
  margin:0;
  color:#475569;
  font-weight:850;
  line-height:1.35;
}

.badge-section{
  padding:18px;
  border-radius:24px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 16px 32px rgba(15,23,42,.05);
}

.badge-section h3{
  margin:0 0 14px;
  font-size:22px;
  letter-spacing:-.03em;
}

.badge-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(96px,1fr));
  gap:14px;
}

.badge-circle-wrap{
  border:0;
  background:transparent;
  display:grid;
  justify-items:center;
  gap:8px;
  cursor:pointer;
  color:#0f172a;
}

.badge-circle-wrap strong{
  max-width:120px;
  text-align:center;
  font-size:12px;
  line-height:1.15;
  font-weight:950;
}

.badge-circle{
  width:64px;
  height:64px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:30px;
  background:#0b2a6f;
  color:#fff;
  box-shadow:0 14px 24px rgba(15,23,42,.12);
}

.is-locked .badge-circle{
  background:#e5e7eb;
  color:#94a3b8;
  filter:grayscale(1);
}

.badge-rarity-common{outline:3px solid rgba(34,197,94,.28)}
.badge-rarity-uncommon{outline:3px solid rgba(59,130,246,.28)}
.badge-rarity-rare{outline:3px solid rgba(147,51,234,.28)}
.badge-rarity-legendary{outline:3px solid rgba(245,158,11,.38)}

.badge-progress-list{
  display:grid;
  gap:10px;
}

.badge-progress-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#f8fafc;
  text-align:left;
  cursor:pointer;
}

.badge-mini-icon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  font-size:24px;
}

.badge-progress-card strong{
  display:block;
  font-size:15px;
  font-weight:1000;
}

.badge-progress-card em{
  display:block;
  margin:3px 0 7px;
  color:#64748b;
  font-style:normal;
  font-weight:850;
  font-size:12px;
}

.badge-progress-card i,
.badge-detail-progress{
  display:block;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#e2e8f0;
}

.badge-progress-card i b,
.badge-detail-progress b{
  display:block;
  height:100%;
  border-radius:999px;
  background:#16a34a;
}

.badge-empty{
  margin:0;
  color:#64748b;
  font-weight:850;
}

.badge-detail-overlay{
  position:fixed;
  inset:0;
  z-index:20000;
  background:rgba(15,23,42,.52);
  display:grid;
  place-items:center;
  padding:18px;
}

.badge-detail-card{
  width:min(520px,100%);
  border-radius:28px;
  background:#fff;
  padding:24px;
  box-shadow:0 30px 80px rgba(15,23,42,.28);
  position:relative;
}

.badge-detail-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#f1f5f9;
  font-size:24px;
  cursor:pointer;
}

.badge-detail-icon{
  width:86px;
  height:86px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  font-size:42px;
}

.badge-detail-status{
  display:inline-block;
  margin-top:16px;
  padding:5px 9px;
  border-radius:999px;
  background:#ecfdf5;
  color:#166534;
  font-size:12px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.badge-detail-card h3{
  margin:10px 0 6px;
  font-size:30px;
  letter-spacing:-.04em;
}

.badge-detail-card p{
  color:#475569;
  font-weight:850;
  line-height:1.4;
}

.badge-detail-meta{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:7px 14px;
  margin:16px 0;
}

.badge-detail-meta strong{
  color:#0f172a;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.badge-detail-meta span{
  color:#334155;
  font-weight:850;
}

.badge-privacy-message{
  margin-bottom:0;
  font-size:13px;
  color:#64748b !important;
}

@media(max-width:700px){
  .badge-shelf-preview{
    grid-template-columns:1fr;
    gap:12px;
    margin:14px 0;
    padding:14px;
  }

  .badge-shelf-copy h3{
    font-size:22px;
  }

  .badge-shelf-row{
    overflow:auto;
    padding-bottom:3px;
  }

  .badge-view-all-button{
    justify-self:start;
  }

  .badges-page-head{
    display:grid;
  }

  .badges-page-head h2{
    font-size:30px;
  }

  .badge-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .badge-circle{
    width:58px;
    height:58px;
    font-size:28px;
  }

  .badge-circle-wrap strong{
    font-size:11px;
  }

  body.is-badges-view #mobileFloatingSearch,
  body[data-view-mode="badges"] #mobileFloatingSearch,
  body.is-badges-view .mobile-floating-search,
  body[data-view-mode="badges"] .mobile-floating-search{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* v388 mobile delivery map blank-space fix
   Cause: older mobile map experiments left fixed heights/grid rows on the address card,
   delivery view frame, map wrapper, and zoom layer. On narrow screens that could reserve
   vertical space under the rendered SVG. This final override makes the mobile map height
   come from the visible map stage + compact detail row only. */
@media(max-width:700px){
  #storyFeedDashboard .feed-address-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .feed-chapter-content{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin-top:6px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:210px auto !important;
    gap:7px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    grid-row:1 !important;
    position:relative !important;
    display:block !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
    margin:0 !important;
    border-radius:15px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    overflow:hidden !important;
    transform-origin:0 0 !important;
    transform:translate(var(--map-translate-x),var(--map-translate-y)) scale(var(--map-scale)) !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-svg{
    position:absolute !important;
    inset:4px 6px !important;
    width:calc(100% - 12px) !important;
    height:calc(100% - 8px) !important;
    object-fit:contain !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail{
    grid-row:2 !important;
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:6px !important;
    align-items:center !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail strong{
    grid-column:1 !important;
    width:auto !important;
    max-width:max-content !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#0f172a !important;
    text-transform:none !important;
    letter-spacing:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-stats{
    grid-column:2 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin:0 !important;
    min-width:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-stats span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:5px 8px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    border:1px solid rgba(37,99,235,.13) !important;
    color:#334155 !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }
}


/* v389 mobile delivery map layout correction
   Keep one stats-pill set only: use the purchase-panel header pills and hide
   the map-detail stats row on mobile. Also collapse the map wrapper to the
   actual map height so no blank grid row is reserved under the SVG. */
@media(max-width:700px){
  #storyFeedDashboard .feed-address-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .feed-chapter-content{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:6px 0 0 !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map{
    display:block !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    position:relative !important;
    display:block !important;
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:15px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:210px !important;
    overflow:hidden !important;
    transform-origin:0 0 !important;
    transform:translate(var(--map-translate-x),var(--map-translate-y)) scale(var(--map-scale)) !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-svg{
    position:absolute !important;
    inset:4px 6px !important;
    width:calc(100% - 12px) !important;
    height:calc(100% - 8px) !important;
    object-fit:contain !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail,
  #storyFeedDashboard .feed-address-card #deliveryMapDetail{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-panel{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    margin:8px 0 0 !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-head{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "title sort"
      "pills pills" !important;
    align-items:center !important;
    gap:6px 8px !important;
    margin:0 0 7px !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-head > strong{
    grid-area:title !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-sort-toggle{
    grid-area:sort !important;
    justify-self:end !important;
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    padding:6px 9px !important;
    border-radius:999px !important;
    font-size:0 !important;
    line-height:1 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-sort-toggle::after{
    content:attr(data-short-label);
    font-size:10px !important;
    font-weight:950 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-head-pills{
    grid-area:pills !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-head-pills span{
    display:inline-flex !important;
    align-items:center !important;
    width:auto !important;
    margin:0 !important;
    padding:5px 8px !important;
    border-radius:999px !important;
    background:#eff6ff !important;
    border:1px solid rgba(37,99,235,.13) !important;
    color:#334155 !important;
    font-size:10px !important;
    font-weight:900 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-divider{
    margin:7px 0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-purchases{
    margin:0 !important;
    max-height:245px !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
}


/* v390 per-tile badge strips */
.tile-badge-strip{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:7px;
  width:calc(100% - 28px);
  max-width:calc(100% - 28px);
  margin:12px 14px 0;
  padding:8px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  z-index:3;
}

.tile-badge-strip::-webkit-scrollbar{
  display:none;
}

.tile-badge-dot{
  width:34px;
  height:34px;
  min-width:34px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  display:grid;
  place-items:center;
  background:#fff;
  color:#0f172a;
  box-shadow:0 8px 16px rgba(15,23,42,.08);
  cursor:pointer;
  transition:transform .18s ease, opacity .18s ease, filter .18s ease, background .18s ease;
}

.tile-badge-dot span{
  font-size:18px;
  line-height:1;
}

.tile-badge-dot.is-earned:hover{
  transform:translateY(-2px) scale(1.04);
}

.tile-badge-dot.is-locked{
  background:#f1f5f9 !important;
  color:#94a3b8 !important;
  border-color:rgba(100,116,139,.14) !important;
  box-shadow:none !important;
  filter:grayscale(1);
  opacity:.58;
}

.tile-badge-dot.is-locked span{
  opacity:.78;
}

.tile-badge-dot.badge-rarity-common.is-earned{
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);
}

.tile-badge-dot.badge-rarity-uncommon.is-earned{
  background:linear-gradient(135deg,#dbeafe,#bfdbfe);
}

.tile-badge-dot.badge-rarity-rare.is-earned{
  background:linear-gradient(135deg,#ede9fe,#ddd6fe);
}

.tile-badge-dot.badge-rarity-legendary.is-earned{
  background:linear-gradient(135deg,#fef3c7,#fdba74);
}

@media(max-width:700px){
  .tile-badge-strip{
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
    margin:9px 9px 0 !important;
    padding:7px 8px !important;
    gap:6px !important;
    border-radius:18px !important;
  }

  .tile-badge-dot{
    width:31px !important;
    height:31px !important;
    min-width:31px !important;
  }

  .tile-badge-dot span{
    font-size:16px !important;
  }
}


/* v391 mobile report cleanup: keep controls, text, grids, and tiles inside viewport */
@media(max-width:700px){
  html, body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  *, *::before, *::after{
    box-sizing:border-box !important;
  }

  .page,
  .app-shell,
  main,
  #reportPage,
  #storyFeedDashboard,
  #searchView,
  #wordCloudView,
  #badgesPage,
  .dashboard-shell{
    max-width:100vw !important;
    overflow-x:hidden !important;
  }

  #storyFeedDashboard .feed-chapter,
  #storyFeedDashboard .feed-chapter-content,
  .badge-shelf-preview,
  .tile-badge-strip,
  .search-card,
  .search-results,
  .search-results-list,
  .search-result-card,
  .mobile-search-results-summary-row,
  .mobile-bottom-panel,
  .modal-card,
  .badge-detail-card{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #storyFeedDashboard .feed-chapter{
    width:100% !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .feed-chapter-content{
    overflow-x:hidden !important;
    scrollbar-width:thin;
  }

  #storyFeedDashboard .feed-chapter-content > *,
  .search-result-card > *,
  .badge-detail-card > *,
  .modal-card > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  h1,h2,h3,h4,p,span,strong,em,small,label,button,a,li,div{
    overflow-wrap:break-word;
    word-break:normal;
  }

  button,
  .feed-action,
  .badge-view-all-button,
  .download-badge-shelf-button,
  .delivery-state-sort-toggle,
  .timeline-search-icon,
  .search-filter-toggle,
  .reset-search-btn,
  .back-btn,
  .price-game-refresh,
  .cart-builder-refresh,
  .cart-builder-reveal,
  .leaderboard-submit-button{
    max-width:100% !important;
    min-width:0 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  input,
  select,
  textarea,
  .timeline-date-row input,
  .timeline-price-controls input,
  .mobile-floating-search-input{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #searchView .timeline-date-row{
    max-width:100% !important;
    overflow:visible !important;
  }

  .mobile-search-results-summary-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    align-items:start !important;
    width:100% !important;
  }

  .mobile-search-results-totals{
    min-width:0 !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    align-items:center !important;
  }

  .mobile-search-sort-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:5px !important;
    min-width:0 !important;
    max-width:120px !important;
  }

  .mobile-search-keyword-bubbles{
    flex:1 1 100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .mobile-search-keyword-bubble{
    max-width:100% !important;
  }

  .search-result-card,
  .result-card,
  .order-card{
    overflow:hidden !important;
  }

  .search-result-card *,
  .result-card *,
  .order-card *{
    min-width:0 !important;
  }

  .search-result-card .result-meta,
  .search-result-card .result-pills,
  .search-result-card .order-meta,
  .search-result-card .order-pill-row,
  .result-meta,
  .result-pills,
  .order-meta,
  .order-pill-row{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:5px !important;
    max-width:100% !important;
  }

  .search-result-card a,
  .delivery-state-purchase strong,
  .frequency-item-list strong,
  .shopping-burst-product span,
  .repeat-main-product,
  .feed-static-timeline strong,
  .cart-builder-option strong,
  .price-game-option strong,
  .cost-game-option strong,
  .calendar-memory-option strong{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .delivery-state-purchase strong,
  .frequency-item-list strong,
  .shopping-burst-product span,
  .repeat-main-product{
    white-space:nowrap !important;
  }

  .cart-builder-option strong,
  .price-game-option strong,
  .cost-game-option strong,
  .calendar-memory-option strong{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    white-space:normal !important;
  }

  .tile-badge-strip{
    overflow:hidden !important;
    width:100% !important;
  }

  .tile-badge-strip-inner{
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    gap:7px !important;
    padding-bottom:3px !important;
  }

  .tile-badge-chip,
  .tile-badge-dot{
    flex:0 0 auto !important;
  }

  .badge-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:100% !important;
  }

  .badge-circle-wrap{
    min-width:0 !important;
    max-width:100% !important;
  }

  .badge-circle-wrap strong{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .badge-progress-row,
  .badge-detail-progress{
    min-width:0 !important;
    max-width:100% !important;
  }

  .price-game-card,
  .cart-builder-card,
  .calendar-memory-card{
    overflow:hidden !important;
  }

  .price-game-options,
  .cost-game-options,
  .cart-builder-options,
  .calendar-memory-options{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .cart-builder-option,
  .price-game-option,
  .cost-game-option,
  .calendar-memory-option{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .price-game-top,
  .cart-builder-top,
  .calendar-memory-top{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:6px !important;
    max-width:100% !important;
  }

  .price-game-top span,
  .cart-builder-top span,
  .calendar-memory-top span{
    min-width:0 !important;
    max-width:100% !important;
  }

  .delivery-view-frame,
  .delivery-zip-map,
  .delivery-state-product-panel,
  .delivery-state-product-head,
  .delivery-state-head-pills,
  .delivery-state-purchases{
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .delivery-state-head-pills{
    flex-wrap:wrap !important;
  }

  .delivery-state-product-panel .delivery-state-purchase{
    grid-template-columns:auto auto minmax(0,1fr) !important;
    max-width:100% !important;
  }

  .calendar-high-low,
  .calendar-month-pair,
  .shopping-calendar-grid{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .calendar-high-low > *,
  .calendar-month-pair > *,
  .shopping-calendar-grid > *{
    min-width:0 !important;
    max-width:100% !important;
  }

  .mobile-bottom-menu,
  #mobileBottomMenu,
  .mobile-floating-search,
  #mobileFloatingSearch{
    max-width:calc(100vw - 20px) !important;
  }

  .mobile-bottom-panel{
    left:0 !important;
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    min-width:0 !important;
  }

  .mobile-floating-search.is-open{
    left:62px !important;
    right:10px !important;
    max-width:calc(100vw - 72px) !important;
  }

  .mobile-floating-search-inner{
    min-width:0 !important;
    max-width:100% !important;
  }

  .badge-detail-overlay,
  .modal-overlay{
    overflow-x:hidden !important;
  }

  .badge-detail-card,
  .modal-card{
    width:calc(100vw - 28px) !important;
    max-width:calc(100vw - 28px) !important;
    overflow:hidden !important;
  }

  [style*="width"]{
    max-width:100% !important;
  }
}

body{
  overflow-x:hidden;
}


/* v392 targeted mobile search layout fix
   This replaces the bad mobile filter geometry instead of hiding overflow after it breaks. */
@media(max-width:700px){

  /* Search page should sit centered in the viewport */
  #searchView{
    width:100vw !important;
    max-width:100vw !important;
    margin:0 !important;
    padding:10px 8px 86px !important;
    overflow-x:hidden !important;
  }

  #searchView .search-shell,
  #searchView .search-panel,
  #searchView .search-results,
  #searchView .search-results-list,
  #searchView #searchResults,
  #searchView .results-list{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  #searchView .search-card,
  #searchView .search-result-card,
  #searchView .result-card,
  #searchView .order-card,
  #searchView [data-search-result]{
    width:100% !important;
    max-width:calc(100vw - 16px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  /* Stop the filters from trying to form one impossible horizontal row. */
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
    padding:0 !important;
    margin:8px 0 10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-areas:
      "start end"
      "min max"
      "presets presets" !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
    align-items:end !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-price-controls > label,
  #searchView .timeline-controls label{
    display:grid !important;
    grid-template-rows:auto 34px !important;
    gap:3px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row label > span,
  #searchView .timeline-price-controls label > span,
  #searchView .timeline-controls label > span{
    min-width:0 !important;
    max-width:100% !important;
    font-size:10px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"],
  #searchView #timelineStartDate,
  #searchView #timelineEndDate{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    padding:4px 2px 4px 7px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    width:14px !important;
    height:14px !important;
    padding:0 !important;
    margin-left:0 !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #searchView #timelineMinPrice,
  #searchView #timelineMaxPrice{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:34px !important;
    padding:4px 7px 4px 18px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:7px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  #searchView #timelinePresets.timeline-presets,
  #searchView .timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:1px 0 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #searchView #timelinePresets.timeline-presets button,
  #searchView .timeline-presets button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:30px !important;
    padding:6px 4px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    box-sizing:border-box !important;
  }

  /* Results summary and sort buttons should not push cards sideways */
  #searchView .mobile-search-results-summary-row{
    width:100% !important;
    max-width:calc(100vw - 16px) !important;
    margin:8px auto 8px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    box-sizing:border-box !important;
  }

  #searchView .mobile-search-results-totals{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:5px !important;
    min-width:0 !important;
  }

  #searchView .mobile-search-sort-actions{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:6px !important;
    min-width:0 !important;
  }

  #searchView .mobile-search-sort-actions button,
  #searchView .search-sort-actions button,
  #searchView .search-filter-toggle{
    flex:0 1 auto !important;
    max-width:calc(50% - 3px) !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  /* Product titles can truncate; everything else should wrap. */
  #searchView .search-result-card *,
  #searchView .result-card *,
  #searchView .order-card *{
    min-width:0 !important;
    max-width:100% !important;
  }

  #searchView .search-result-card a,
  #searchView .result-card a,
  #searchView .order-card a{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* v393 targeted correction for mobile search clipping/over-wide controls
   The previous pass used 100vw inside an already-sized page, which can create
   right-side clipping. This override uses parent width and compact fields. */
@media(max-width:700px){

  body,
  html{
    overflow-x:hidden !important;
  }

  #searchView{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 auto !important;
    padding:10px 8px 86px !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  #searchView .search-shell,
  #searchView .search-panel,
  #searchView .search-results,
  #searchView .search-results-list,
  #searchView #searchResults,
  #searchView .results-list{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }

  /* Give result cards equal left/right breathing room. */
  #searchView .search-card,
  #searchView .search-result-card,
  #searchView .result-card,
  #searchView .order-card,
  #searchView [data-search-result]{
    width:calc(100% - 2px) !important;
    max-width:calc(100% - 2px) !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  /* Compact filters: no full-width stretched date/price inputs. */
  #searchView .timeline-controls{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    padding:0 !important;
    margin:8px 0 10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row{
    display:grid !important;
    grid-template-columns:max-content max-content !important;
    grid-template-areas:
      "start end"
      "min max"
      "presets presets" !important;
    justify-content:start !important;
    align-items:end !important;
    gap:7px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(1){
    grid-area:start !important;
  }

  #searchView .timeline-date-row > label:nth-of-type(2){
    grid-area:end !important;
  }

  #searchView .timeline-price-controls{
    display:contents !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(1){
    grid-area:min !important;
  }

  #searchView .timeline-price-controls > label:nth-of-type(2){
    grid-area:max !important;
  }

  #searchView .timeline-date-row > label,
  #searchView .timeline-price-controls > label,
  #searchView .timeline-controls label{
    display:grid !important;
    grid-template-rows:auto 34px !important;
    gap:3px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row label > span,
  #searchView .timeline-price-controls label > span,
  #searchView .timeline-controls label > span{
    min-width:0 !important;
    max-width:100% !important;
    font-size:10px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"],
  #searchView #timelineStartDate,
  #searchView #timelineEndDate{
    display:block !important;
    width:126px !important;
    min-width:126px !important;
    max-width:126px !important;
    height:34px !important;
    padding:4px 1px 4px 7px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-calendar-picker-indicator,
  #searchView .timeline-controls input[type="date"]::-webkit-calendar-picker-indicator{
    width:14px !important;
    height:14px !important;
    padding:0 !important;
    margin-left:0 !important;
  }

  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit,
  #searchView .timeline-date-row input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #searchView .timeline-controls input[type="date"]::-webkit-datetime-edit-fields-wrapper{
    padding:0 !important;
    margin:0 !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell{
    position:relative !important;
    display:block !important;
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    height:34px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #searchView #timelineMinPrice,
  #searchView #timelineMaxPrice{
    display:block !important;
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    height:34px !important;
    padding:4px 7px 4px 18px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:10px !important;
    box-sizing:border-box !important;
  }

  #searchView .timeline-price-controls .price-currency-symbol{
    position:absolute !important;
    left:7px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:2 !important;
    pointer-events:none !important;
    font-size:12px !important;
    line-height:1 !important;
  }

  #searchView #timelinePresets.timeline-presets,
  #searchView .timeline-presets{
    grid-area:presets !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
    max-width:calc(100vw - 16px) !important;
    min-width:0 !important;
    margin:1px 0 0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  #searchView #timelinePresets.timeline-presets button,
  #searchView .timeline-presets button{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:30px !important;
    padding:6px 4px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    box-sizing:border-box !important;
  }

  #searchView .mobile-search-results-summary-row{
    width:100% !important;
    max-width:100% !important;
    margin:8px auto 8px !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    box-sizing:border-box !important;
  }

  #searchView .mobile-search-results-totals,
  #searchView .mobile-search-sort-actions{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:6px !important;
  }

  #searchView .mobile-search-sort-actions button,
  #searchView .search-sort-actions button,
  #searchView .search-filter-toggle{
    flex:0 0 auto !important;
    max-width:120px !important;
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #searchView .search-result-card *,
  #searchView .result-card *,
  #searchView .order-card *{
    min-width:0 !important;
    max-width:100% !important;
  }

  #searchView .search-result-card a,
  #searchView .result-card a,
  #searchView .order-card a{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* Very narrow phones: preserve same layout, just trim controls slightly more. */
@media(max-width:360px){
  #searchView .timeline-date-row input[type="date"],
  #searchView .timeline-controls input[type="date"],
  #searchView #timelineStartDate,
  #searchView #timelineEndDate{
    width:121px !important;
    min-width:121px !important;
    max-width:121px !important;
    font-size:11.5px !important;
  }

  #searchView .timeline-price-controls .price-input-shell,
  #searchView .timeline-controls .price-input-shell,
  #searchView .timeline-price-controls input,
  #searchView .timeline-controls input[inputmode="decimal"],
  #searchView #timelineMinPrice,
  #searchView #timelineMaxPrice{
    width:112px !important;
    min-width:112px !important;
    max-width:112px !important;
    font-size:11.5px !important;
  }
}


/* v394 mobile: keep only the floating bottom search/cloud controls.
   The topSearchWrap row is the desktop/old inline search row and must stay hidden on mobile. */
@media(max-width:700px){
  #topSearchWrap,
  .top-search,
  #topSearchWrap .master-search-row,
  #topSearchWrap .global-search-input,
  #topSearchWrap #wordCloudBtn,
  #topSearchWrap #clearSearchBtn{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  #mobileFloatingSearch,
  .mobile-floating-search{
    display:block;
  }
}

@media(min-width:701px){
  #topSearchWrap{
    display:block;
  }
}


/* v395 final requested mobile guards */
@media(max-width:700px){
  html,
  body{
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .page,
  .hero,
  .report-intro,
  #storyFeedDashboard,
  #comparisonDashboard,
  #storyDashboard,
  #searchView,
  .chart-wrap,
  .stats-grid,
  .insight-grid,
  .streak-proof-row,
  .extra-stats-row{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .amazon-zip-directions ol,
  .amazon-zip-directions li{
    font-weight:520 !important;
  }

  .amazon-zip-directions strong{
    font-weight:1000 !important;
    color:#0f172a !important;
  }

  .chart-card{
    display:grid !important;
    justify-items:center !important;
    align-items:center !important;
    overflow:hidden !important;
  }

  .chart-topbar{
    width:100% !important;
    min-height:0 !important;
    justify-content:flex-end !important;
    padding-right:0 !important;
  }

  .chart-title{
    display:none !important;
  }

  #spendingChart{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
    position:absolute !important;
    left:50% !important;
    top:50% !important;
    right:auto !important;
    bottom:auto !important;
    width:calc(100% - 12px) !important;
    height:auto !important;
    max-height:calc(100% - 8px) !important;
    aspect-ratio:961.84375 / 582.625 !important;
    overflow:visible !important;
    transform-origin:0 0 !important;
    transform:
      translate(-50%,-50%)
      translate(var(--map-translate-x),var(--map-translate-y))
      scale(var(--map-scale)) !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-svg{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:fill !important;
  }
}

body.mobile-preview-mode{
  max-width:100% !important;
  overflow-x:hidden !important;
}

body.mobile-preview-mode .amazon-zip-directions ol,
body.mobile-preview-mode .amazon-zip-directions li{
  font-weight:520 !important;
}

body.mobile-preview-mode .amazon-zip-directions strong{
  font-weight:1000 !important;
  color:#0f172a !important;
}

body.mobile-preview-mode .chart-title{
  display:none !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-stage{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-zoom-layer{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:calc(100% - 12px) !important;
  height:auto !important;
  max-height:calc(100% - 8px) !important;
  aspect-ratio:961.84375 / 582.625 !important;
  overflow:visible !important;
  transform-origin:0 0 !important;
  transform:
    translate(-50%,-50%)
    translate(var(--map-translate-x),var(--map-translate-y))
    scale(var(--map-scale)) !important;
}

body.mobile-preview-mode #storyFeedDashboard .feed-address-card .delivery-map-svg{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:fill !important;
}


/* v396 mobile chart, Big Number calendar, and upload spacing */
@media(max-width:700px){
  .chart-card{
    min-height:248px !important;
    grid-template-rows:auto minmax(190px,1fr) !important;
  }

  #spendingChart{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }

  .shopping-span-calendar{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    margin:8px 0 10px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:rgba(255,255,255,.86) !important;
    border:1px solid rgba(15,23,42,.10) !important;
    box-shadow:0 12px 24px rgba(15,23,42,.06) !important;
  }

  .shopping-span-calendar::before{
    content:"";
    display:block !important;
    width:56px !important;
    background:
      linear-gradient(#0b2a6f 0 16px, transparent 16px),
      linear-gradient(90deg, transparent 15px, rgba(15,23,42,.12) 15px 17px, transparent 17px),
      repeating-linear-gradient(0deg, rgba(15,23,42,.10) 0 1px, transparent 1px 11px),
      #eff6ff !important;
    border-right:1px solid rgba(15,23,42,.10) !important;
  }

  .shopping-span-calendar div{
    min-width:0 !important;
    padding:11px 12px 10px !important;
  }

  .shopping-span-calendar span{
    display:block !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
    color:#64748b !important;
    margin:0 0 5px !important;
  }

  .shopping-span-calendar strong{
    display:block !important;
    max-width:100% !important;
    font-size:clamp(24px,7vw,34px) !important;
    line-height:.96 !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    color:#020617 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .shopping-span-calendar em{
    grid-column:1 / -1 !important;
    display:block !important;
    padding:7px 12px !important;
    background:rgba(239,246,255,.72) !important;
    color:#334155 !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:850 !important;
    font-style:normal !important;
    border-top:1px solid rgba(15,23,42,.08) !important;
  }

  .feed-money-chapter .feed-metric-row{
    gap:8px !important;
  }

  .feed-money-chapter .feed-metric-row div{
    min-height:82px !important;
    padding:10px 8px !important;
  }

  .feed-money-chapter .feed-metric-row span{
    font-size:10px !important;
    line-height:1 !important;
  }

  .feed-money-chapter .feed-metric-row strong{
    font-size:clamp(38px,10.8vw,56px) !important;
    line-height:.9 !important;
    letter-spacing:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .work-hours-result{
    word-spacing:normal !important;
    letter-spacing:0 !important;
  }

  .work-hours-result .changing-number{
    display:inline !important;
    white-space:nowrap !important;
    margin:0 !important;
    padding:0 !important;
    letter-spacing:0 !important;
  }

  .directions-upload-step{
    padding-bottom:78px !important;
  }
}

body.mobile-preview-mode .chart-card{
  min-height:248px !important;
  grid-template-rows:auto minmax(190px,1fr) !important;
}

body.mobile-preview-mode #spendingChart{
  height:190px !important;
  min-height:190px !important;
  max-height:190px !important;
}

body.mobile-preview-mode .directions-upload-step{
  padding-bottom:78px !important;
}


/* v397 mobile Big Number and chart refinements */
@media(max-width:700px){
  .chart-wrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .chart-card{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
    box-sizing:border-box !important;
  }

  #spendingChart{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .shopping-span-calendar div{
    display:grid !important;
    align-items:center !important;
    padding:12px !important;
  }

  .shopping-span-calendar span{
    display:none !important;
  }

  .shopping-span-calendar em{
    font-size:12px !important;
    line-height:1.15 !important;
  }

  .feed-money-chapter .feed-metric-row strong{
    font-size:var(--avg-value-size,22px) !important;
    line-height:.96 !important;
    letter-spacing:0 !important;
    font-variant-numeric:tabular-nums !important;
  }

  .money-meter-sidebar{
    cursor:pointer !important;
    touch-action:manipulation !important;
  }

  .money-meter-sidebar:focus-visible{
    outline:3px solid rgba(37,99,235,.45) !important;
    outline-offset:3px !important;
  }

  .feed-money-chapter.money-meter-show-values .money-meter-mark span{
    display:block !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-50%) !important;
    width:68px !important;
    font-size:11px !important;
    line-height:1 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  .feed-money-chapter.money-meter-show-values .money-meter-mark em{
    display:none !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-discovery-sidebar{
    overflow:hidden !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-scroll-track{
    top:50% !important;
    bottom:auto !important;
    left:18px !important;
    right:18px !important;
    width:auto !important;
    height:8px !important;
    transform:translateY(-50%) !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-scroll-line{
    top:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:calc(var(--timeline-scroll-progress) * 100%) !important;
    height:100% !important;
    background:linear-gradient(90deg,#2563eb,#38bdf8,#93c5fd) !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-scroll-start,
  #storyFeedDashboard .feed-timeline-card .timeline-scroll-end{
    top:50% !important;
    bottom:auto !important;
    width:16px !important;
    height:16px !important;
    border-width:2px !important;
    transform:translate(-50%,-50%) !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-scroll-start{
    left:18px !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-scroll-end{
    left:calc(100% - 18px) !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-clock-reveal{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    max-width:44px !important;
    max-height:44px !important;
    margin:0 auto !important;
    transform:scale(.72) rotate(-14deg) !important;
  }

  #storyFeedDashboard .feed-timeline-card.timeline-discovered .timeline-clock-reveal{
    transform:scale(1) rotate(0deg) !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-clock-reveal::before{
    height:14px !important;
    width:3px !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-clock-reveal::after{
    height:11px !important;
    width:3px !important;
  }

  #storyFeedDashboard .feed-timeline-card .timeline-clock-reveal span{
    inset:8px !important;
  }
}

body.mobile-preview-mode .shopping-span-calendar span{
  display:none !important;
}

body.mobile-preview-mode .feed-money-chapter .feed-metric-row strong{
  font-size:var(--avg-value-size,22px) !important;
  line-height:.96 !important;
  font-variant-numeric:tabular-nums !important;
}

body.mobile-preview-mode .feed-money-chapter.money-meter-show-values .money-meter-mark span{
  display:block !important;
  left:50% !important;
  top:50% !important;
  transform:translate(-50%,-50%) !important;
  width:68px !important;
  font-size:11px !important;
  text-align:center !important;
  white-space:nowrap !important;
}

body.mobile-preview-mode .feed-money-chapter.money-meter-show-values .money-meter-mark em{
  display:none !important;
}

/* v399 mobile chart, cloud guard, word refresh, and cart builder title fit */
@media(max-width:700px){
  .chart-card{
    min-height:270px !important;
    grid-template-rows:minmax(232px,1fr) !important;
    align-items:stretch !important;
  }

  .chart-topbar{
    display:none !important;
  }

  #spendingChart{
    height:232px !important;
    min-height:232px !important;
    max-height:232px !important;
    align-self:center !important;
  }

  .feed-word-card .word-example-wrap{
    padding-top:42px !important;
  }

  .feed-word-card .word-example-refresh.refresh-icon-button{
    top:0 !important;
    right:0 !important;
    left:auto !important;
    transform:none !important;
    margin:0 !important;
  }

  .cart-builder-option strong{
    font-size:13px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    -webkit-line-clamp:unset !important;
    max-height:none !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

body.mobile-preview-mode #spendingChart{
  height:232px !important;
  min-height:232px !important;
  max-height:232px !important;
}

/* v401 final override: full-width mobile chart and fixed Cart Builder title sizing */
@media(max-width:700px){
  .chart-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .chart-card{
    width:100% !important;
    max-width:100% !important;
    padding:8px 0 10px !important;
    box-sizing:border-box !important;
    justify-items:stretch !important;
    overflow:visible !important;
  }

  #spendingChart{
    width:100% !important;
    max-width:100% !important;
    height:244px !important;
    min-height:244px !important;
    max-height:244px !important;
    margin:0 !important;
    touch-action:pan-y !important;
  }

  .cart-builder-option strong{
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-line-clamp:unset !important;
    max-height:none !important;
  }
}

body.mobile-preview-mode #spendingChart{
  width:100% !important;
  max-width:100% !important;
  height:244px !important;
  min-height:244px !important;
  max-height:244px !important;
  margin:0 !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-line-clamp:unset !important;
  max-height:none !important;
}

/* v402 final override: wrapped Cart Builder titles and expanded mobile chart scrub */
@media(max-width:700px){
  .chart-card.chart-card-mobile-zoomed{
    min-height:430px !important;
    grid-template-rows:minmax(392px,1fr) !important;
  }

  .chart-card.chart-card-mobile-zoomed #spendingChart{
    height:392px !important;
    min-height:392px !important;
    max-height:392px !important;
  }

  .cart-builder-option{
    min-height:92px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    max-height:4.6em !important;
  }

  .cart-builder-option span{
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed{
  min-height:430px !important;
  grid-template-rows:minmax(392px,1fr) !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed #spendingChart{
  height:392px !important;
  min-height:392px !important;
  max-height:392px !important;
}

body.mobile-preview-mode .cart-builder-option{
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
  max-height:4.6em !important;
}

/* v402 final override: wrapped Cart Builder titles and expanded mobile chart scrub */
@media(max-width:700px){
  .chart-card.chart-card-mobile-zoomed{
    min-height:430px !important;
    grid-template-rows:minmax(392px,1fr) !important;
  }

  .chart-card.chart-card-mobile-zoomed #spendingChart{
    height:392px !important;
    min-height:392px !important;
    max-height:392px !important;
  }

  .cart-builder-option{
    min-height:92px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    max-height:4.6em !important;
  }

  .cart-builder-option span{
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed{
  min-height:430px !important;
  grid-template-rows:minmax(392px,1fr) !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed #spendingChart{
  height:392px !important;
  min-height:392px !important;
  max-height:392px !important;
}

body.mobile-preview-mode .cart-builder-option{
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
  max-height:4.6em !important;
}

/* v402 mobile Cart Builder wrapping and chart scrub zoom */
@media(max-width:700px){
  .chart-card.chart-card-mobile-zoomed{
    min-height:430px !important;
    grid-template-rows:minmax(392px,1fr) !important;
  }

  .chart-card.chart-card-mobile-zoomed #spendingChart{
    height:392px !important;
    min-height:392px !important;
    max-height:392px !important;
  }

  .cart-builder-option{
    min-height:92px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    max-height:4.6em !important;
  }

  .cart-builder-option span{
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed{
  min-height:430px !important;
  grid-template-rows:minmax(392px,1fr) !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed #spendingChart{
  height:392px !important;
  min-height:392px !important;
  max-height:392px !important;
}

body.mobile-preview-mode .cart-builder-option{
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
  max-height:4.6em !important;
}

/* v401 mobile chart width and Cart Builder title truncation */
@media(max-width:700px){
  .chart-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .chart-card{
    width:100% !important;
    max-width:100% !important;
    padding:8px 0 10px !important;
    box-sizing:border-box !important;
    justify-items:stretch !important;
    overflow:visible !important;
  }

  #spendingChart{
    width:100% !important;
    max-width:100% !important;
    height:244px !important;
    min-height:244px !important;
    max-height:244px !important;
    margin:0 !important;
    touch-action:pan-y !important;
  }

  .cart-builder-option strong{
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-line-clamp:unset !important;
    max-height:none !important;
  }
}

body.mobile-preview-mode #spendingChart{
  width:100% !important;
  max-width:100% !important;
  height:244px !important;
  min-height:244px !important;
  max-height:244px !important;
  margin:0 !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-line-clamp:unset !important;
  max-height:none !important;
}

.tooltip-popup-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,23,42,.28);
}

.tooltip-popup-card{
  width:min(340px,calc(100vw - 48px));
  border-radius:20px;
  background:#0f172a;
  color:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.34);
  padding:18px 20px;
  text-align:left;
  cursor:pointer;
}

.tooltip-popup-card p{
  margin:0;
  font-size:15px;
  line-height:1.42;
  font-weight:800;
}

.report-close-confirm-overlay{
  position:fixed;
  inset:0;
  z-index:16010;
  display:grid;
  grid-template-rows:1fr 1fr;
  padding:0;
  background:rgba(15,23,42,.18);
}

.report-close-confirm-half{
  width:100%;
  height:100%;
  border:0;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:24px;
  text-align:center;
  cursor:pointer;
  backdrop-filter:blur(3px);
}

.report-close-confirm-close{
  background:rgba(15,23,42,.86);
  color:#fff;
}

.report-close-confirm-keep{
  background:rgba(226,232,240,.82);
  color:#0f172a;
}

.report-close-confirm-half:focus-visible{
  outline:3px solid rgba(45,212,191,.7);
  outline-offset:-6px;
}

.report-close-confirm-half strong{
  display:block;
  font-size:22px;
  line-height:1.2;
  font-weight:950;
}

.report-close-confirm-half span{
  display:block;
  max-width:280px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.35;
  font-weight:750;
}

.cart-builder-game{
  position:relative;
}

.cart-builder-head{
  padding-right:52px;
}

.cart-builder-controls{
  position:absolute;
  top:12px;
  right:12px;
  margin:0;
}

.price-info-dot::after,
.big-total-info-dot::after,
.timeline-order-info-dot::after,
.leaderboard-info-dot::after,
[data-tooltip]::after{
  display:none !important;
}


/* v398 mobile interaction and spacing fixes */
@media(max-width:700px){
  .big-total-info-dot::after,
  .price-info-dot::after,
  .timeline-order-info-dot::after,
  .leaderboard-info-dot::after,
  [data-tooltip]::after{
    top:12px !important;
    bottom:auto !important;
    left:12px !important;
    right:12px !important;
    transform:none !important;
    width:auto !important;
    max-width:none !important;
    z-index:14000 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-view-frame{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:6px 0 0 !important;
    padding:0 !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-zip-map,
  #storyFeedDashboard .feed-address-card #deliveryZipMap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-stage{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
    margin:0 !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-map-detail,
  #storyFeedDashboard .feed-address-card #deliveryMapDetail{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-panel{
    margin-top:8px !important;
    padding-top:0 !important;
  }

  #storyFeedDashboard .feed-repeat-card > .feed-chapter-number.repeat-ball-sidebar,
  #storyFeedDashboard .feed-repeat-card .repeat-physics-box,
  #storyFeedDashboard .feed-repeat-card .repeat-physics-box canvas{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    top:0 !important;
    bottom:auto !important;
  }

  #storyFeedDashboard .feed-repeat-card .repeat-physics-box canvas{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    object-fit:fill !important;
  }

  #wordCloudPinBtn{
    font-size:0 !important;
    position:relative !important;
  }

  #wordCloudPinBtn::before{
    content:"" !important;
    width:15px !important;
    height:18px !important;
    display:block !important;
    background:currentColor !important;
    clip-path:polygon(50% 0,86% 24%,68% 45%,68% 100%,50% 86%,32% 100%,32% 45%,14% 24%) !important;
    transform:rotate(-18deg) !important;
  }

  #storyFeedDashboard .feed-address-card > .feed-icon-address,
  #storyFeedDashboard .feed-address-card > .feed-chapter-number.feed-icon-address{
    display:grid !important;
    place-items:center !important;
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    overflow:hidden !important;
    padding:0 !important;
  }

  #storyFeedDashboard .feed-address-card .address-map-pin{
    width:34px !important;
    height:34px !important;
    left:50% !important;
    top:50% !important;
    transform:translate(-50%,-54%) rotate(45deg) scale(1) !important;
    transform-origin:center center !important;
    animation:none !important;
  }

  #storyFeedDashboard .feed-address-card .address-map-pin::after{
    inset:10px !important;
  }

  #storyFeedDashboard .feed-address-card .address-dot-field{
    inset:8px !important;
  }

  .cart-builder-mode-toggle{
    display:none !important;
  }

  .cart-builder-game{
    position:relative !important;
  }

  .cart-builder-head{
    padding-right:50px !important;
  }

  .cart-builder-controls{
    display:block !important;
    position:absolute !important;
    top:10px !important;
    right:10px !important;
    margin:0 !important;
  }

  .cart-builder-reset.refresh-icon-button{
    position:static !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
}

body.mobile-preview-mode .big-total-info-dot::after,
body.mobile-preview-mode .price-info-dot::after,
body.mobile-preview-mode .timeline-order-info-dot::after,
body.mobile-preview-mode .leaderboard-info-dot::after,
body.mobile-preview-mode [data-tooltip]::after{
  top:12px !important;
  bottom:auto !important;
}

/* v400 final mobile graph, Product Language refresh, and Cart Builder sizing */
@media(max-width:700px){
  .chart-card{
    min-height:270px !important;
    grid-template-rows:minmax(232px,1fr) !important;
    align-items:stretch !important;
  }

  .chart-topbar{
    display:none !important;
  }

  #spendingChart{
    height:232px !important;
    min-height:232px !important;
    max-height:232px !important;
    align-self:center !important;
  }

  .feed-word-card .word-example-wrap{
    padding-top:42px !important;
  }

  .feed-word-card .word-example-refresh.refresh-icon-button{
    top:0 !important;
    right:0 !important;
    left:auto !important;
    transform:none !important;
    margin:0 !important;
  }

  .cart-builder-option strong{
    font-size:13px !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    -webkit-line-clamp:unset !important;
    max-height:none !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

body.mobile-preview-mode #spendingChart{
  height:232px !important;
  min-height:232px !important;
  max-height:232px !important;
}

/* v401 final override: full-width mobile chart and fixed Cart Builder title sizing */
@media(max-width:700px){
  .chart-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }

  .chart-card{
    width:100% !important;
    max-width:100% !important;
    padding:8px 0 10px !important;
    box-sizing:border-box !important;
    justify-items:stretch !important;
    overflow:visible !important;
  }

  #spendingChart{
    width:100% !important;
    max-width:100% !important;
    height:244px !important;
    min-height:244px !important;
    max-height:244px !important;
    margin:0 !important;
    touch-action:pan-y !important;
  }

  .cart-builder-option strong{
    display:block !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-line-clamp:unset !important;
    max-height:none !important;
  }
}

body.mobile-preview-mode #spendingChart{
  width:100% !important;
  max-width:100% !important;
  height:244px !important;
  min-height:244px !important;
  max-height:244px !important;
  margin:0 !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-line-clamp:unset !important;
  max-height:none !important;
}
/* v402 final override: wrapped Cart Builder titles and expanded mobile chart scrub */
@media(max-width:700px){
  .chart-card.chart-card-mobile-zoomed{
    min-height:430px !important;
    grid-template-rows:minmax(392px,1fr) !important;
  }

  .chart-card.chart-card-mobile-zoomed #spendingChart{
    height:392px !important;
    min-height:392px !important;
    max-height:392px !important;
  }

  .cart-builder-option{
    min-height:92px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:7px !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    min-width:0 !important;
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    max-height:4.6em !important;
  }

  .cart-builder-option span{
    margin-top:auto !important;
    align-self:flex-start !important;
  }
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed{
  min-height:430px !important;
  grid-template-rows:minmax(392px,1fr) !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-zoomed #spendingChart{
  height:392px !important;
  min-height:392px !important;
  max-height:392px !important;
}

body.mobile-preview-mode .cart-builder-option{
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:7px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:4 !important;
  max-height:4.6em !important;
}

/* v403 mobile polish: repeat pill, cart fill, menu idle, intro/header */
@media(max-width:700px){
  .hero-slogan{
    margin-bottom:6px !important;
  }

  .page-view-tabs{
    margin-top:6px !important;
  }

  .amazon-zip-directions h3{
    color:#0f172a !important;
    font-size:clamp(30px,8vw,46px) !important;
    line-height:.95 !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  .report-intro-card{
    gap:12px !important;
  }

  .report-intro-copy{
    display:block !important;
  }

  .report-intro-card .report-local-note{
    margin-top:2px !important;
  }

  body:not(.has-report) .mobile-bottom-menu{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open){
    opacity:0 !important;
    transform:translateY(22px) !important;
    pointer-events:none !important;
  }

  .mobile-bottom-section-list button:disabled,
  .mobile-bottom-section-list button[aria-disabled="true"]{
    opacity:.42 !important;
    color:#94a3b8 !important;
    background:#f1f5f9 !important;
    border-color:rgba(148,163,184,.28) !important;
    cursor:not-allowed !important;
  }

  .repeat-main-product .story-product-panel-link strong{
    display:-webkit-box !important;
    overflow:hidden !important;
    white-space:normal !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    max-height:2.7em !important;
  }

  .cart-builder-option{
    min-height:126px !important;
    display:grid !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    align-items:stretch !important;
    gap:8px !important;
  }

  .cart-builder-option strong{
    display:-webkit-box !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:900 !important;
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:6 !important;
    max-height:6.9em !important;
  }

  .cart-builder-option span{
    align-self:end !important;
    justify-self:start !important;
  }
}

body.mobile-preview-mode .hero-slogan{
  margin-bottom:6px !important;
}

body.mobile-preview-mode .page-view-tabs{
  margin-top:6px !important;
}

body.mobile-preview-mode .amazon-zip-directions h3{
  color:#0f172a !important;
  font-size:clamp(30px,8vw,46px) !important;
  line-height:.95 !important;
  font-weight:1000 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.mobile-preview-mode:not(.has-report) .mobile-bottom-menu{
  opacity:1 !important;
  pointer-events:auto !important;
}

body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open){
  opacity:0 !important;
  transform:translateY(22px) !important;
  pointer-events:none !important;
}

body.mobile-preview-mode .mobile-bottom-section-list button:disabled,
body.mobile-preview-mode .mobile-bottom-section-list button[aria-disabled="true"]{
  opacity:.42 !important;
  color:#94a3b8 !important;
  background:#f1f5f9 !important;
  border-color:rgba(148,163,184,.28) !important;
  cursor:not-allowed !important;
}

body.mobile-preview-mode .repeat-main-product .story-product-panel-link strong{
  display:-webkit-box !important;
  overflow:hidden !important;
  white-space:normal !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  max-height:2.7em !important;
}

body.mobile-preview-mode .cart-builder-option{
  min-height:126px !important;
  display:grid !important;
  grid-template-rows:minmax(0,1fr) auto !important;
  align-items:stretch !important;
  gap:8px !important;
}

body.mobile-preview-mode .cart-builder-option strong{
  display:-webkit-box !important;
  min-width:0 !important;
  max-width:100% !important;
  min-height:0 !important;
  font-size:13px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:6 !important;
  max-height:6.9em !important;
}

.amazon-zip-directions h3{
  margin:4px 0 16px !important;
  color:#0f172a !important;
  font-size:clamp(28px,4vw,48px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.report-intro-card .report-local-note{
  grid-column:1 / -1 !important;
}

/* v404 mobile interaction/layout refinements */
@media(max-width:700px){
  .chart-card{
    position:relative !important;
  }

  .chart-card-mobile-zoomed{
    min-height:270px !important;
    grid-template-rows:minmax(244px,1fr) !important;
  }

  .chart-card-mobile-zoomed #spendingChart{
    height:244px !important;
    min-height:244px !important;
    max-height:244px !important;
  }

  .chart-card.chart-card-mobile-press-zoom{
    min-height:560px !important;
    grid-template-rows:minmax(520px,1fr) !important;
  }

  .chart-card.chart-card-mobile-press-zoom #spendingChart{
    height:520px !important;
    min-height:520px !important;
    max-height:520px !important;
  }

  .chart-scrub-readout{
    position:absolute !important;
    top:10px !important;
    left:10px !important;
    z-index:4 !important;
    width:112px !important;
    min-height:78px !important;
    padding:10px !important;
    border-radius:12px !important;
    background:rgba(15,23,42,.92) !important;
    color:#fff !important;
    box-shadow:0 16px 34px rgba(15,23,42,.28) !important;
    display:none !important;
    pointer-events:none !important;
  }

  .chart-scrub-readout.is-visible{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:6px !important;
  }

  .chart-scrub-readout strong{
    display:block !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:850 !important;
  }

  .chart-scrub-readout span{
    display:block !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:1000 !important;
  }

  body:not(.has-report) .mobile-bottom-sections{
    display:none !important;
  }

  .mobile-bottom-panel{
    width:min(276px,calc(100vw - 96px)) !important;
  }

  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-floating-idle #mobileTopToggle{
    opacity:0 !important;
    transform:translateY(22px) !important;
    pointer-events:none !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-panel{
    padding-left:16px !important;
    padding-right:10px !important;
  }

  #storyFeedDashboard .feed-address-card .delivery-state-product-head,
  #storyFeedDashboard .feed-address-card .delivery-state-head-pills{
    padding-left:8px !important;
  }
}

body.mobile-preview-mode .chart-card{
  position:relative !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-press-zoom{
  min-height:560px !important;
  grid-template-rows:minmax(520px,1fr) !important;
}

body.mobile-preview-mode .chart-card.chart-card-mobile-press-zoom #spendingChart{
  height:520px !important;
  min-height:520px !important;
  max-height:520px !important;
}

body.mobile-preview-mode .chart-scrub-readout{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  z-index:4 !important;
  width:112px !important;
  min-height:78px !important;
  padding:10px !important;
  border-radius:12px !important;
  background:rgba(15,23,42,.92) !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(15,23,42,.28) !important;
  display:none !important;
  pointer-events:none !important;
}

body.mobile-preview-mode .chart-scrub-readout.is-visible{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:6px !important;
}

body.mobile-preview-mode:not(.has-report) .mobile-bottom-sections{
  display:none !important;
}

body.is-leaderboard-view .mobile-bottom-sections,
body.mobile-preview-mode.is-leaderboard-view .mobile-bottom-sections{
  display:block !important;
}

body.mobile-preview-mode .mobile-bottom-panel{
  width:min(276px,calc(100vw - 96px)) !important;
}

body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle #mobileTopToggle{
  opacity:0 !important;
  transform:translateY(22px) !important;
  pointer-events:none !important;
}

/* v405 chart year selector */
.chart-card{
  position:relative;
}

.chart-mode-toggle{
  position:absolute;
  top:10px;
  right:10px;
  z-index:6;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  min-width:46px;
  height:32px;
  padding:0 12px;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  cursor:pointer;
}

.chart-year-picker{
  position:absolute;
  inset:48px 10px 10px;
  z-index:5;
  display:none;
  grid-template-columns:repeat(auto-fit,minmax(72px,1fr));
  gap:8px;
}

.chart-year-picker-open #spendingChart{
  opacity:0;
  pointer-events:none;
}

.chart-year-picker-open .chart-year-picker{
  display:grid;
}

.chart-year-picker button{
  border:1px solid rgba(15,23,42,.1);
  border-radius:12px;
  background:#f8fafc;
  color:#0f172a;
  font-weight:1000;
  font-size:15px;
  display:grid;
  place-items:center;
  min-height:64px;
  cursor:pointer;
}

.chart-year-picker button:active{
  transform:translateY(1px);
}

.low-purchase-banner{
  width:100%;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid rgba(20,184,166,.24);
  border-radius:12px;
  background:linear-gradient(135deg,#ecfdf5,#eff6ff);
  color:#0f766e;
  font-size:14px;
  line-height:1.35;
  font-weight:850;
  box-shadow:0 10px 24px rgba(15,23,42,.05);
}

body.sample-report-mode #storyFeedDashboard a[href*="amazon.com/"],
body.sample-report-mode #storyDashboard a[href*="amazon.com/"],
body.sample-report-mode #comparisonDashboard a[href*="amazon.com/"],
body.sample-report-mode #searchView a[href*="amazon.com/"],
body.sample-report-mode #statsGrid a[href*="amazon.com/"],
body.sample-report-mode #insightGrid a[href*="amazon.com/"],
body.sample-report-mode #streakProofRow a[href*="amazon.com/"],
body.sample-report-mode #extraStatsRow a[href*="amazon.com/"]{
  cursor:default !important;
}

.sample-disabled-product-link{
  cursor:default !important;
  text-decoration:none !important;
  color:inherit !important;
}

.sample-report-banner{
  align-self:start;
  justify-self:stretch;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:min(100%,1040px);
  margin:0 auto 14px;
  padding:10px 12px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:12px;
  background:rgba(255,255,255,.94);
  color:#0f172a;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
  backdrop-filter:blur(10px);
}

.sample-report-floating-banner{
  position:fixed;
  top:8px;
  left:50%;
  z-index:65;
  width:calc(100% - 16px);
  max-width:430px;
  margin:0;
  padding:9px 11px;
  transform:translate(-50%,-12px);
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
}

.sample-report-floating-banner.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.sample-report-banner div{
  min-width:0;
  display:grid;
  gap:2px;
}

.sample-report-banner strong{
  color:#0b2a6f;
  font-size:11px;
  line-height:1.1;
  font-weight:1000;
  letter-spacing:.08em;
}

.sample-report-banner span{
  color:#475569;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}

.sample-report-banner button{
  flex:0 0 auto;
  border:0;
  border-radius:999px;
  padding:9px 12px;
  background:#0b2a6f;
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
  white-space:nowrap;
}

@media(max-width:520px){
  .sample-report-banner{
    align-items:stretch;
    flex-direction:column;
  }

  .sample-report-banner button{
    width:100%;
  }
}

@media(max-width:700px){
  .chart-mode-toggle{
    top:9px !important;
    right:9px !important;
    height:30px !important;
    min-width:44px !important;
    padding:0 10px !important;
  }

  .chart-year-picker{
    inset:48px 8px 8px !important;
    grid-template-columns:repeat(auto-fit,minmax(76px,1fr)) !important;
    gap:8px !important;
  }

  .chart-year-picker button{
    min-height:58px !important;
    border-radius:10px !important;
  }
}

/* v406 graph picker + floating control opacity */
.chart-year-picker-open .chart-scrub-readout,
.chart-year-picker-open .chart-scrub-readout.is-visible{
  display:none !important;
}

.chart-card-mobile-press-zoom,
.chart-card.chart-card-mobile-press-zoom,
body.mobile-preview-mode .chart-card.chart-card-mobile-press-zoom{
  min-height:270px !important;
  grid-template-rows:minmax(244px,1fr) !important;
}

.chart-card-mobile-press-zoom #spendingChart,
.chart-card.chart-card-mobile-press-zoom #spendingChart,
body.mobile-preview-mode .chart-card.chart-card-mobile-press-zoom #spendingChart{
  height:244px !important;
  min-height:244px !important;
  max-height:244px !important;
}

.chart-year-picker{
  inset:42px 0 0 !important;
  gap:0 !important;
  grid-template-columns:repeat(auto-fit,minmax(56px,1fr)) !important;
  grid-auto-rows:1fr !important;
  align-content:stretch !important;
}

.chart-year-picker button{
  min-height:0 !important;
  height:100% !important;
  border-radius:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

@media(max-width:700px){
  .chart-year-picker{
    inset:42px 0 0 !important;
    gap:0 !important;
    grid-template-columns:repeat(auto-fit,minmax(54px,1fr)) !important;
    grid-auto-rows:1fr !important;
  }

  .chart-year-picker button{
    min-height:0 !important;
    height:100% !important;
    border-radius:0 !important;
    font-size:13px !important;
  }

  .mobile-bottom-menu,
  .mobile-floating-search,
  #mobileTopToggle{
    opacity:.46 !important;
    pointer-events:auto !important;
    transition:opacity .16s ease !important;
  }

  .mobile-bottom-menu.is-open,
  .mobile-floating-search.is-open,
  body:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-search,
  body:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body:has(.mobile-floating-search.is-open) .mobile-bottom-menu,
  body:has(.mobile-floating-search.is-open) .mobile-floating-search,
  body:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body:has(#wordCloudView:not(.hidden)) .mobile-floating-search,
  body:has(#wordCloudView:not(.hidden)) .mobile-bottom-menu,
  body:has(#wordCloudView:not(.hidden)) #mobileTopToggle,
  body.word-cloud-open .mobile-floating-search,
  body.word-cloud-open .mobile-bottom-menu,
  body.word-cloud-open #mobileTopToggle{
    opacity:1 !important;
  }

  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-floating-idle #mobileTopToggle{
    opacity:.46 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
}

body.mobile-preview-mode .mobile-bottom-menu,
body.mobile-preview-mode .mobile-floating-search,
body.mobile-preview-mode #mobileTopToggle{
  opacity:.46 !important;
  pointer-events:auto !important;
}

body.mobile-preview-mode .mobile-bottom-menu.is-open,
body.mobile-preview-mode .mobile-floating-search.is-open,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-search,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-bottom-menu,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-search,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) #mobileTopToggle,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) .mobile-floating-search,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) .mobile-bottom-menu,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) #mobileTopToggle,
body.mobile-preview-mode.word-cloud-open .mobile-floating-search,
body.mobile-preview-mode.word-cloud-open .mobile-bottom-menu,
body.mobile-preview-mode.word-cloud-open #mobileTopToggle{
  opacity:1 !important;
}

/* v423 final stable detached profile / close action slot */
.hero-brand .page-view-row,
body.mobile-preview-mode .hero-brand .page-view-row{
  width:100% !important;
  max-width:100% !important;
  margin:6px 0 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:10px !important;
}

.hero-brand .page-view-row .page-view-tabs,
body.mobile-preview-mode .hero-brand .page-view-row .page-view-tabs{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.page-view-row .report-session-action,
body.mobile-preview-mode .page-view-row .report-session-action{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  display:inline-grid !important;
  place-items:center !important;
  justify-self:end !important;
  align-self:center !important;
  border:1px solid rgba(15,23,42,.12) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0f172a !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  padding:0 !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:18px !important;
}

.page-view-row .report-session-action.hidden,
.page-view-row .report-session-action[hidden],
body.mobile-preview-mode .page-view-row .report-session-action.hidden,
body.mobile-preview-mode .page-view-row .report-session-action[hidden]{
  display:inline-grid !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* v426 eof neutral leaderboard profile icon states */
.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:0 !important;
  position:relative !important;
  overflow:visible !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"] svg,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"] svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.1 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"]{
  background:#f1f5f9 !important;
  color:#64748b !important;
  border-color:rgba(100,116,139,.18) !important;
  box-shadow:0 10px 22px rgba(100,116,139,.10) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]{
  background:#dbeafe !important;
  color:#0b2a6f !important;
  border-color:rgba(11,42,111,.34) !important;
  box-shadow:0 12px 28px rgba(11,42,111,.20), inset 0 0 0 2px rgba(255,255,255,.75) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after{
  content:none !important;
  display:none !important;
}

@media(max-width:380px){
  .leaderboard-auth-actions label small{
    white-space:normal;
  }
}

/* v433 tab-local/auth status lights */
.page-view-tabs button,
.hero-brand .page-view-tabs button,
body.mobile-preview-mode .page-view-tabs button{
  position:relative;
}

.page-view-tabs button::after,
.hero-brand .page-view-tabs button::after,
body.mobile-preview-mode .page-view-tabs button::after{
  content:"";
  position:absolute;
  right:10px;
  bottom:7px;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#cbd5e1;
  box-shadow:0 0 0 2px rgba(255,255,255,.92);
  pointer-events:none;
}

#viewReportTab[data-report-status="active"]::after{
  background:#14b8a6;
}

#viewBadgesTab[data-leaderboard-status="active"]::after{
  background:#14b8a6;
}

.page-view-row .report-session-action[data-action="select-local-report"]{
  color:#0b2a6f !important;
}

.page-view-row .report-session-upload-icon,
body.mobile-preview-mode .page-view-row .report-session-upload-icon{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.report-upload-inline .report-local-note{
  display:block !important;
  width:auto !important;
  max-width:520px !important;
  margin:8px 0 0 !important;
  padding:8px 10px !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:850 !important;
}

.directions-upload-step .report-upload-panel.report-upload-inline,
.report-upload-panel.report-upload-inline{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}

.report-upload-panel.report-upload-inline .upload-button{
  flex:0 0 auto !important;
  width:max-content !important;
  max-width:100% !important;
}

.page-view-tabs button.active::after,
.hero-brand .page-view-tabs button.active::after{
  box-shadow:0 0 0 2px #fff;
}

/* v426 neutral leaderboard profile icon states */
.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:0 !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"] svg,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"] svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.1 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"]{
  background:#f1f5f9 !important;
  color:#64748b !important;
  border-color:rgba(100,116,139,.18) !important;
  box-shadow:0 10px 22px rgba(100,116,139,.10) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]{
  background:#eef6ff !important;
  color:#0b2a6f !important;
  border-color:rgba(11,42,111,.18) !important;
  box-shadow:0 10px 24px rgba(11,42,111,.12) !important;
}

/* v425 Leaderboards desktop top arrow visibility */
@media(min-width:701px){
  body[data-view-mode="leaderboard"] #mobileTopToggle.mobile-top-toggle:not(.hidden){
    display:grid !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

/* v425 Leaderboards section navigation and top arrow */
.leaderboard-rank-card[data-key]{
  scroll-margin-top:96px;
}

#mobileTopToggle.mobile-top-toggle{
  position:fixed;
  right:calc(clamp(16px,4vw,56px) + 112px);
  bottom:24px;
  z-index:12060;
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  box-shadow:0 12px 24px rgba(11,42,111,.16);
  font-size:18px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
}

#mobileTopToggle.mobile-top-toggle.hidden{
  display:none !important;
}

@media(max-width:700px){
  body[data-view-mode="leaderboard"] #mobileTopToggle.mobile-top-toggle,
  body.mobile-preview-mode[data-view-mode="leaderboard"] #mobileTopToggle.mobile-top-toggle{
    right:14px !important;
    bottom:14px !important;
    left:auto !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
  }
}

@media(max-width:700px){
  .hero-brand .page-view-row,
  body.mobile-preview-mode .hero-brand .page-view-row{
    grid-template-columns:minmax(0,1fr) 38px !important;
    gap:8px !important;
  }

  .page-view-row .report-session-action,
  body.mobile-preview-mode .page-view-row .report-session-action{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    font-size:19px !important;
  }
}

/* v426 final neutral leaderboard profile icon states */
.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:0 !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"] svg,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"] svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.1 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"]{
  background:#f1f5f9 !important;
  color:#64748b !important;
  border-color:rgba(100,116,139,.18) !important;
  box-shadow:0 10px 22px rgba(100,116,139,.10) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]{
  background:#eef6ff !important;
  color:#0b2a6f !important;
  border-color:rgba(11,42,111,.18) !important;
  box-shadow:0 10px 24px rgba(11,42,111,.12) !important;
}

/* v422 stable detached profile / close action slot */
.hero-brand .page-view-row,
body.mobile-preview-mode .hero-brand .page-view-row{
  width:100% !important;
  max-width:100% !important;
  margin:6px 0 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:10px !important;
}

.hero-brand .page-view-row .page-view-tabs,
body.mobile-preview-mode .hero-brand .page-view-row .page-view-tabs{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.page-view-row .report-session-action,
body.mobile-preview-mode .page-view-row .report-session-action{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  display:inline-grid !important;
  place-items:center !important;
  justify-self:end !important;
  align-self:center !important;
  border:1px solid rgba(15,23,42,.12) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0f172a !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  padding:0 !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:18px !important;
}

.page-view-row .report-session-action.hidden,
.page-view-row .report-session-action[hidden],
body.mobile-preview-mode .page-view-row .report-session-action.hidden,
body.mobile-preview-mode .page-view-row .report-session-action[hidden]{
  display:inline-grid !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media(max-width:700px){
  .hero-brand .page-view-row,
  body.mobile-preview-mode .hero-brand .page-view-row{
    grid-template-columns:minmax(0,1fr) 38px !important;
    gap:8px !important;
  }

  .page-view-row .report-session-action,
  body.mobile-preview-mode .page-view-row .report-session-action{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    font-size:19px !important;
  }
}

/* v421 detached tab-row report close / leaderboard sign-out icon */
.hero-brand .page-view-row{
  width:100%;
  max-width:100%;
  margin:16px 0 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.hero-brand .page-view-row .page-view-tabs{
  margin:0 !important;
  max-width:none !important;
  width:100%;
}

.page-view-row .report-session-action{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  justify-self:end !important;
  align-self:center !important;
  display:inline-grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px !important;
  background:#fff;
  color:#0f172a;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  padding:0 !important;
  font-size:20px !important;
  font-weight:950;
  line-height:1;
}

.page-view-row .report-session-action[data-action="sign-out-leaderboard"]{
  font-size:18px !important;
}

.page-view-row .report-session-action.hidden,
.page-view-row .report-session-action[hidden]{
  display:none !important;
}

.hero-brand .page-view-row:has(.report-session-action.hidden),
.hero-brand .page-view-row:has(.report-session-action[hidden]){
  grid-template-columns:minmax(0,1fr);
}

@media(max-width:700px){
  .hero-brand .page-view-row{
    margin-top:6px;
    gap:8px;
    grid-template-columns:minmax(0,1fr) 38px;
  }

  .hero-brand .page-view-row:has(.report-session-action.hidden),
  .hero-brand .page-view-row:has(.report-session-action[hidden]){
    grid-template-columns:minmax(0,1fr);
  }

  .page-view-row .report-session-action{
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    font-size:19px !important;
  }
}

/* v420 separate leaderboard sign-out and local report close control */
.report-session-action{
  justify-self:stretch;
  align-self:stretch;
  border:1px solid rgba(15,23,42,.12);
  border-radius:0 26px 26px 0;
  background:#fff;
  color:#0f172a;
  box-shadow:none;
  padding:0 14px;
  font-size:13px;
  font-weight:950;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}

.report-session-action:hover,
.report-session-action:focus-visible{
  border-color:rgba(11,42,111,.35);
  color:#0b2a6f;
  outline:none;
  box-shadow:0 14px 32px rgba(11,42,111,.14);
}

.report-session-action.hidden,
.report-session-action[hidden]{
  display:none !important;
}

.hero-brand .page-view-tabs:has(.report-session-action:not(.hidden)){
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto !important;
}

.hero-brand .page-view-tabs .report-session-action{
  min-width:42px !important;
  width:auto !important;
}

.hero-brand .page-view-tabs .report-session-action[data-action="close-local-report"]{
  width:42px !important;
  min-width:42px !important;
  padding:0 !important;
  font-size:21px !important;
  line-height:1 !important;
}

.hero-brand .page-view-tabs .report-session-action[data-action="sign-out-leaderboard"]{
  min-width:88px !important;
}

@media(max-width:700px){
  .hero-actions{
    width:100%;
    justify-content:flex-end;
  }

  .hero-brand .page-view-tabs:has(.report-session-action:not(.hidden)){
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px !important;
  }

  .report-session-action{
    padding:0 9px;
    font-size:12px;
  }

  .hero-brand .page-view-tabs .report-session-action[data-action="close-local-report"]{
    width:38px !important;
    min-width:38px !important;
    font-size:20px !important;
  }

  .hero-brand .page-view-tabs .report-session-action[data-action="sign-out-leaderboard"]{
    min-width:72px !important;
    padding:0 8px !important;
    font-size:11px !important;
  }
}

/* v418 final button-only opacity override */
@media(max-width:700px){
  body.mobile-preview-mode.mobile-preview-mode .mobile-bottom-menu,
  body.mobile-preview-mode.mobile-preview-mode #mobileBottomMenu,
  body.mobile-preview-mode.mobile-preview-mode .mobile-floating-search,
  body.mobile-preview-mode.mobile-preview-mode #mobileFloatingSearch,
  body.mobile-preview-mode.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-preview-mode.mobile-preview-mode.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-preview-mode.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-preview-mode.mobile-preview-mode.mobile-floating-idle #mobileFloatingSearch:not(.is-open),
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) .mobile-bottom-menu,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) #mobileBottomMenu,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) .mobile-floating-search,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) #mobileFloatingSearch,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).mobile-floating-idle .mobile-floating-search:not(.is-open),
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).mobile-floating-idle #mobileFloatingSearch:not(.is-open){
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  body.mobile-preview-mode.mobile-preview-mode .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode.mobile-preview-mode #mobileTopToggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) .mobile-bottom-menu-toggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode) #mobileTopToggle{
    opacity:.34 !important;
  }

  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode.mobile-preview-mode:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body.mobile-preview-mode.mobile-preview-mode.word-cloud-open .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.mobile-preview-mode.word-cloud-open .mobile-floating-search-open,
  body.mobile-preview-mode.mobile-preview-mode.word-cloud-open .mobile-floating-cloud,
  body.mobile-preview-mode.mobile-preview-mode.word-cloud-open #mobileTopToggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode):has(.mobile-floating-search.is-open) #mobileTopToggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).word-cloud-open .mobile-bottom-menu-toggle,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).word-cloud-open .mobile-floating-search-open,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).word-cloud-open .mobile-floating-cloud,
  body:not(.mobile-preview-mode):not(.mobile-preview-mode).word-cloud-open #mobileTopToggle{
    opacity:1 !important;
  }

  .mobile-bottom-menu,
  #mobileBottomMenu,
  .mobile-floating-search,
  #mobileFloatingSearch,
  body:not(.has-report) .mobile-bottom-menu,
  body:not(.has-report) #mobileBottomMenu,
  body:not(.has-report) .mobile-floating-search,
  body:not(.has-report) #mobileFloatingSearch,
  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-floating-idle #mobileFloatingSearch:not(.is-open),
  body.mobile-preview-mode .mobile-bottom-menu,
  body.mobile-preview-mode #mobileBottomMenu,
  body.mobile-preview-mode .mobile-floating-search,
  body.mobile-preview-mode #mobileFloatingSearch,
  body.mobile-preview-mode:not(.has-report) .mobile-bottom-menu,
  body.mobile-preview-mode:not(.has-report) #mobileBottomMenu,
  body.mobile-preview-mode:not(.has-report) .mobile-floating-search,
  body.mobile-preview-mode:not(.has-report) #mobileFloatingSearch,
  body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle #mobileFloatingSearch:not(.is-open){
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .mobile-bottom-menu-toggle,
  .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  #mobileTopToggle,
  body.mobile-preview-mode .mobile-bottom-menu-toggle,
  body.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode #mobileTopToggle{
    opacity:.34 !important;
  }

  body:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body:has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body:has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body:has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body.word-cloud-open .mobile-bottom-menu-toggle,
  body.word-cloud-open .mobile-floating-search-open,
  body.word-cloud-open .mobile-floating-cloud,
  body.word-cloud-open #mobileTopToggle,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body.mobile-preview-mode.word-cloud-open .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.word-cloud-open .mobile-floating-search-open,
  body.mobile-preview-mode.word-cloud-open .mobile-floating-cloud,
  body.mobile-preview-mode.word-cloud-open #mobileTopToggle{
    opacity:1 !important;
  }

  .mobile-bottom-panel,
  .mobile-bottom-menu.is-open .mobile-bottom-panel,
  body.mobile-preview-mode .mobile-bottom-panel,
  body.mobile-preview-mode .mobile-bottom-menu.is-open .mobile-bottom-panel{
    opacity:1 !important;
    background:#fff !important;
  }
}

/* v417 leaderboards landing and floating button-only transparency */
.leaderboard-coming-soon-card{
  display:grid;
  gap:16px;
}

.leaderboard-coming-soon-body{
  display:grid;
  gap:12px;
  padding:18px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
}

.leaderboard-coming-soon-body h3{
  margin:0;
  color:#0f172a;
  font-size:20px;
  line-height:1.1;
  font-weight:1000;
}

.leaderboard-coming-soon-body ul{
  margin:0;
  padding-left:18px;
  color:#334155;
  font-size:15px;
  line-height:1.45;
  font-weight:750;
}

.leaderboard-coming-soon-body p{
  margin:0;
  color:#0b2a6f;
  font-size:14px;
  line-height:1.35;
  font-weight:900;
}

.purchaseatlas-leaderboard-auth{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,auto);
  align-items:end;
  gap:12px;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(11,42,111,.12);
  border-radius:12px;
  background:#eef6ff;
  color:#0f172a;
  font-size:13px;
  line-height:1.3;
  font-weight:850;
}

.leaderboard-panel-hide-button,
.purchaseatlas-leaderboard-auth .leaderboard-panel-hide-button{
  position:absolute;
  top:8px;
  right:8px;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(11,42,111,.12) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.76) !important;
  color:#0b2a6f !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
  z-index:2;
}

.leaderboard-panel-hide-button span,
.purchaseatlas-leaderboard-auth .leaderboard-panel-hide-button span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  background:transparent;
  color:currentColor;
  font-size:18px;
  line-height:1;
  font-weight:700;
  text-align:center;
}

.leaderboard-panel-hide-button:hover,
.leaderboard-panel-hide-button:focus-visible{
  background:#fff !important;
  border-color:rgba(11,42,111,.28) !important;
}

.purchaseatlas-leaderboard-auth:empty{
  display:none;
}

.local-report-restore-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  max-width:980px;
  margin:14px auto 18px;
  padding:13px 15px;
  border:1px solid rgba(15,118,110,.18);
  border-radius:10px;
  background:#f0fdfa;
  color:#134e4a;
}

.local-report-restore-panel strong{
  display:block;
  color:#0f172a;
  font-size:14px;
  font-weight:1000;
}

.local-report-restore-panel p{
  margin:4px 0;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
}

.local-report-restore-panel small{
  color:#475569;
  font-size:11px;
  font-weight:750;
}

.local-report-restore-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.local-report-restore-actions button{
  border:0;
  border-radius:8px;
  padding:8px 11px;
  background:#0b2a6f;
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.local-report-restore-actions button[data-clear-local-report]{
  background:#dbeafe;
  color:#0b2a6f;
}

@media(max-width:700px){
  .local-report-restore-panel{
    display:grid;
    grid-template-columns:1fr;
    margin:12px 14px 16px;
  }

  .local-report-restore-actions{
    justify-content:stretch;
  }

  .local-report-restore-actions button{
    flex:1 1 100%;
  }
}

.leaderboard-auth-copy{
  display:grid;
  gap:3px;
}

.leaderboard-auth-copy strong{
  color:#0f172a;
  font-size:15px;
  font-weight:1000;
}

.leaderboard-auth-copy span,
.leaderboard-auth-actions label > span{
  color:#475569;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
}

.leaderboard-auth-actions{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  gap:8px;
}

.purchaseatlas-leaderboard-auth > .leaderboard-auth-actions:first-child{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr;
  justify-content:stretch;
  justify-items:stretch;
  align-items:start;
  gap:8px;
  width:100%;
}

.leaderboard-signed-email{
  flex:1 1 100%;
  margin:0 0 2px;
  color:#64748b;
  font-size:12px;
  line-height:1.25;
  font-weight:750;
}

.leaderboard-signed-email a{
  color:inherit;
  text-decoration:none;
}

.leaderboard-signed-email a:hover,
.leaderboard-signed-email a:focus-visible{
  color:#0b2a6f;
  text-decoration:underline;
}

.leaderboard-signed-email small{
  display:block;
  margin-top:3px;
  color:#475569;
  font-size:11px;
  line-height:1.25;
  font-weight:850;
}

.leaderboard-auth-actions label{
  display:grid;
  gap:4px;
  min-width:190px;
  width:100%;
}

.leaderboard-auth-actions label small{
  max-width:none;
  color:#64748b;
  font-size:11px;
  line-height:1.3;
  font-weight:700;
  white-space:nowrap;
}

@media(max-width:620px){
  .leaderboard-auth-actions label small{
    white-space:normal;
  }
}

.leaderboard-auth-actions input{
  width:100%;
  min-width:0;
  height:38px;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.16);
  border-radius:8px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  box-sizing:border-box;
}

.purchaseatlas-leaderboard-auth button{
  flex:0 0 auto;
  border:0;
  border-radius:8px;
  padding:8px 11px;
  background:#0b2a6f;
  color:#fff;
  font:inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  text-align:left;
}

.purchaseatlas-leaderboard-auth .leaderboard-action-icon,
.leaderboard-shared-stats-share .leaderboard-action-icon{
  width:15px;
  height:15px;
  flex:0 0 15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.purchaseatlas-leaderboard-auth .leaderboard-action-text{
  display:grid;
  gap:1px;
  min-width:0;
  line-height:1.1;
}

.purchaseatlas-leaderboard-auth .leaderboard-action-text small{
  color:currentColor;
  opacity:.72;
  font-size:10px;
  line-height:1.1;
  font-weight:750;
}

.purchaseatlas-leaderboard-auth .leaderboard-auth-actions:first-child button{
  width:100%;
  min-width:0;
}

.purchaseatlas-leaderboard-auth .leaderboard-secondary-button{
  background:#dbeafe;
  color:#0b2a6f;
}

.purchaseatlas-leaderboard-auth button.is-display-name-invalid,
.purchaseatlas-leaderboard-auth button:disabled.is-display-name-invalid{
  background:#fee2e2 !important;
  color:#991b1b !important;
  border-color:rgba(153,27,27,.18) !important;
  cursor:not-allowed !important;
  opacity:1 !important;
}

.purchaseatlas-leaderboard-auth .leaderboard-share-stats-button{
  padding:7px 10px;
  font-size:12px;
}

.leaderboard-removal-note,
.leaderboard-auth-legal,
.leaderboard-auth-region{
  grid-column:1 / -1;
  margin:0;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
  font-weight:750;
}

.leaderboard-removal-note{
  margin-top:-2px;
}

.leaderboard-auth-legal a,
.leaderboard-auth-region a,
.report-local-note a{
  color:#0b2a6f;
  font-weight:950;
  text-decoration:underline;
  text-underline-offset:2px;
}

.leaderboard-auth-status{
  grid-column:1 / -1;
  min-height:17px;
  margin:0;
  color:#166534;
  font-size:12px;
  line-height:1.3;
  font-weight:900;
}

.leaderboard-auth-status a{
  color:#0b2a6f;
  font-weight:950;
}

.leaderboard-auth-status.is-error{
  color:#b91c1c;
}

.leaderboard-us-only-block{
  grid-column:1 / -1;
  margin:0;
  color:#b91c1c;
  font-size:12px;
  line-height:1.3;
  font-weight:900;
}

.leaderboard-auth-actions input:disabled,
.leaderboard-auth-actions input[aria-disabled="true"]{
  background:#f1f5f9;
  color:#64748b;
  cursor:not-allowed;
}

.leaderboard-profile-link-box{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  background:#fff;
  border:1px solid rgba(11,42,111,.10);
}

.leaderboard-profile-link-box p{
  margin:0;
  color:#334155;
  font-size:12px;
  line-height:1.35;
  font-weight:850;
}

.leaderboard-profile-summary{
  display:grid;
  gap:10px;
  margin:0 0 14px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(11,42,111,.12);
  background:#eef6ff;
}

.leaderboard-profile-summary-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px;
  gap:10px;
  align-items:center;
}

.leaderboard-profile-summary-close{
  width:30px;
  height:30px;
  border:0;
  border-radius:999px;
  background:#dbeafe;
  color:#0b2a6f;
  font-size:18px;
  line-height:1;
  font-weight:1000;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}

.leaderboard-profile-summary-close:hover,
.leaderboard-profile-summary-close:focus-visible{
  background:#bfdbfe;
  outline:2px solid rgba(11,42,111,.18);
  outline-offset:1px;
}

.leaderboard-profile-summary p{
  margin:0;
  color:#0f172a;
  font-weight:900;
}

.leaderboard-profile-summary-head strong{
  display:block;
  color:#0b2a6f;
  font-size:15px;
  line-height:1.2;
}

.leaderboard-profile-summary-title{
  display:block;
  color:#0f172a;
  font-size:15px;
  line-height:1.2;
  font-weight:650;
}

.leaderboard-profile-summary-title strong{
  color:#0b2a6f;
  font-weight:1000;
}

.leaderboard-profile-summary-list{
  display:grid;
  gap:7px;
}

.leaderboard-profile-summary-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  border-radius:10px;
  background:#fff;
}

.leaderboard-profile-summary-row span,
.leaderboard-profile-summary-row em,
.leaderboard-profile-summary-row a{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-profile-summary-row span{
  color:#475569;
  font-size:12px;
  font-weight:950;
}

.leaderboard-profile-summary-row strong{
  color:#0f172a;
  font-size:13px;
  font-weight:1000;
}

.leaderboard-profile-summary-row em{
  color:#0b2a6f;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

.leaderboard-profile-summary-row a{
  grid-column:1 / -1;
  color:#0b2a6f;
  font-size:12px;
  font-weight:850;
}

.leaderboard-nearby-row.is-profile-match{
  outline:2px solid rgba(20,184,166,.55);
  background:#ecfeff;
}

.leaderboard-auth-actions input[aria-invalid="true"]{
  border-color:#dc2626;
  box-shadow:0 0 0 2px rgba(220,38,38,.10);
}

.leaderboard-submit-privacy{
  grid-column:1 / -1;
  display:grid;
  gap:6px;
  padding:8px 10px;
  border:1px solid rgba(15,118,110,.16);
  border-radius:8px;
  background:#f0fdfa;
  color:#134e4a;
}

.leaderboard-submit-privacy summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  cursor:pointer;
  list-style:none;
  font-size:12px;
  line-height:1.3;
  font-weight:850;
}

.leaderboard-submit-privacy summary::-webkit-details-marker{
  display:none;
}

.leaderboard-submit-privacy summary b{
  flex:0 0 auto;
  color:#0b2a6f;
  font-size:12px;
  font-weight:1000;
  text-decoration:underline;
}

.leaderboard-submit-privacy p{
  margin:0;
  font-size:12px;
  line-height:1.4;
  font-weight:750;
}

.leaderboard-submit-success{
  margin:0 0 12px;
  padding:11px 13px;
  border:1px solid rgba(22,163,74,.2);
  border-radius:10px;
  background:#ecfdf5;
  color:#166534;
  font-size:13px;
  line-height:1.3;
  font-weight:900;
}

.leaderboard-submit-success button,
.leaderboard-submit-success a{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:#0b2a6f;
  font:inherit;
  font-weight:1000;
  text-decoration:underline;
  cursor:pointer;
}

.leaderboard-loading-state,
.leaderboard-board-empty{
  margin:0;
  padding:18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  background:#fff;
  color:#64748b;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}

.leaderboard-board-warning{
  margin:0 0 12px;
  padding:9px 11px;
  border:1px solid rgba(217,119,6,.22);
  border-radius:8px;
  background:#fffbeb;
  color:#92400e;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}

.leaderboard-layout-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:3px;
  width:max-content;
  max-width:100%;
  margin:0 0 12px;
  padding:3px;
  border:1px solid rgba(11,42,111,.12);
  border-radius:999px;
  background:#eef6ff;
}

.leaderboard-layout-toggle button{
  min-width:74px;
  border:0;
  border-radius:999px;
  padding:6px 11px;
  background:transparent;
  color:#475569;
  font-size:12px;
  line-height:1.1;
  font-weight:900;
  cursor:pointer;
}

.leaderboard-layout-toggle button.active,
.leaderboard-layout-toggle button[aria-pressed="true"]{
  background:#0b2a6f;
  color:#fff;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"]{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.leaderboard-shared-stats-card{
  position:relative;
  width:100%;
  max-width:100%;
  justify-self:stretch;
  display:grid;
  gap:10px;
  margin:0 0 4px;
  padding:16px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  background:
    radial-gradient(circle at 88% 8%,rgba(20,184,166,.14),transparent 28%),
    linear-gradient(135deg,#ffffff,#f5fbff);
  box-shadow:0 14px 34px rgba(15,23,42,.08);
  color:#0f172a;
  box-sizing:border-box;
}

.leaderboard-shared-stats-share{
  position:absolute;
  top:10px;
  right:10px;
  min-width:36px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#0b2a6f;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  cursor:pointer;
}

.leaderboard-shared-stats-share:hover,
.leaderboard-shared-stats-share:focus-visible{
  background:#dbeafe;
  outline:2px solid rgba(37,99,235,.18);
  outline-offset:2px;
}

.leaderboard-shared-stats-card h3{
  margin:0;
  font-size:clamp(22px,6vw,30px);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
  text-align:center;
}

.leaderboard-shared-stats-card p{
  margin:0;
  color:#475569;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
  text-align:center;
}

.leaderboard-shared-stat-pills{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

.leaderboard-shared-stat-pill{
  min-width:0;
  display:grid;
  grid-template-rows:auto auto 1.1em;
  gap:4px;
  align-content:center;
  align-items:center;
  padding:10px 8px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  background:rgba(255,255,255,.74);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  text-align:center;
  font:inherit;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.leaderboard-shared-stat-pill:hover,
.leaderboard-shared-stat-pill:focus-visible{
  background:#fff;
  border-color:rgba(37,99,235,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 18px rgba(15,23,42,.08);
  outline:none;
  transform:translateY(-1px);
}

.leaderboard-shared-stat-pill span,
.leaderboard-shared-stat-pill strong,
.leaderboard-shared-stat-pill em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-shared-stat-pill span{
  color:#64748b;
  font-size:10px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
}

.leaderboard-shared-stat-pill strong{
  color:#0b2a6f;
  font-size:clamp(14px,4vw,18px);
  line-height:1.05;
  font-weight:950;
}

.leaderboard-shared-stat-pill em{
  color:#64748b;
  font-size:11px;
  line-height:1.1;
  font-style:normal;
  font-weight:750;
  min-height:1.1em;
}

@media(max-width:430px){
  .leaderboard-shared-stat-pills{
    grid-template-columns:1fr;
  }
}

.leaderboard-game-card{
  margin:0 0 14px;
  padding:14px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:16px;
  background:linear-gradient(135deg,#ffffff,#eef6ff);
  box-shadow:0 12px 28px rgba(15,23,42,.06);
}

.leaderboard-game-head{
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.leaderboard-game-head h3{
  margin:0;
  color:#0f172a;
  font-size:22px;
  line-height:1.05;
}

.leaderboard-game-head p,
.leaderboard-game-empty{
  margin:4px 0 0;
  color:#64748b;
  font-size:13px;
  line-height:1.3;
  font-weight:800;
}

.leaderboard-game-head > strong{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:1000;
}

.leaderboard-game-questions{
  display:grid;
  gap:10px;
}

.leaderboard-game-question{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(37,99,235,.10);
}

.leaderboard-game-question > span{
  color:#2563eb;
  font-size:11px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.leaderboard-game-question > strong{
  color:#0f172a;
  font-size:15px;
  line-height:1.2;
  font-weight:1000;
}

.leaderboard-game-choices{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.leaderboard-game-choices button{
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  padding:8px 10px;
  font-size:12px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
}

.leaderboard-game-choices button.is-correct{
  border-color:#14b8a6;
  background:#ccfbf1;
}

.leaderboard-game-choices button.is-wrong{
  border-color:#ef4444;
  background:#fee2e2;
}

.leaderboard-game-question em{
  display:none;
  color:#475569;
  font-size:12px;
  line-height:1.35;
  font-style:normal;
  font-weight:800;
}

.leaderboard-game-question em.active{
  display:block;
}

.leaderboard-compact-list-view{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
}

.leaderboard-compact-summary-card{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:stretch !important;
  align-content:start !important;
  gap:9px !important;
  padding:12px !important;
  border-radius:14px !important;
  min-height:0 !important;
  position:relative;
  background:linear-gradient(135deg,#ffffff,#f8fbff) !important;
}

.leaderboard-compact-summary-head{
  display:grid;
  gap:0;
  min-width:0;
}

.leaderboard-compact-summary-head h4{
  margin:0;
  color:#0f172a;
  font-size:clamp(19px,5.4vw,24px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:0;
}

.leaderboard-compact-summary-head span{
  display:none;
}

.leaderboard-compact-podium{
  display:grid;
  gap:2px;
  width:100%;
  max-width:100%;
  overflow:hidden;
  border:1px solid rgba(11,42,111,.12);
  border-radius:14px;
  background:#dbeafe;
  box-shadow:0 12px 24px rgba(11,42,111,.08);
}

.leaderboard-compact-podium-first{
  display:grid;
  min-width:0;
}

.leaderboard-compact-podium-lower{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;
}

.leaderboard-compact-podium-card{
  width:100%;
  min-width:0;
  max-width:none;
  min-height:58px;
  position:relative;
  display:block;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-sizing:border-box;
  text-align:left;
  overflow:hidden;
}

.leaderboard-compact-podium-first .leaderboard-compact-podium-card{
  width:100%;
  min-height:64px;
}

.leaderboard-compact-podium-card.is-you,
.leaderboard-compact-podium-card.is-profile-match{
  box-shadow:inset 0 0 0 1px rgba(20,184,166,.18);
}

.leaderboard-compact-podium-face{
  min-height:inherit;
  width:100%;
}

.leaderboard-compact-podium-front{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:stretch;
  justify-items:stretch;
  gap:0;
  background:linear-gradient(135deg,#f8fafc,#eef6ff);
}

.leaderboard-compact-podium-first .leaderboard-compact-podium-front{
  background:linear-gradient(135deg,#eef6ff,#ecfeff);
}

.leaderboard-compact-podium-card.is-you .leaderboard-compact-podium-front,
.leaderboard-compact-podium-card.is-profile-match .leaderboard-compact-podium-front{
  background:#ecfeff;
}

.leaderboard-compact-podium-rank{
  min-width:44px;
  height:100%;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:600;
  letter-spacing:0;
  border-radius:0;
}

.leaderboard-compact-podium-card.rank-one .leaderboard-compact-podium-rank{
  background:#0f766e;
}

.leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-rank{
  background:#0b2a6f;
}

.leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-rank{
  background:#334155;
}

.leaderboard-compact-podium-main{
  min-width:0;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  padding:8px 9px;
  --compact-rank-width:44px;
  --compact-safe-edge:52px;
}

.leaderboard-compact-podium-card.rank-one .leaderboard-compact-podium-main{
  padding-right:9px;
}

.leaderboard-compact-value-stack{
  min-width:0;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:2px;
  text-align:center;
}

.leaderboard-compact-podium-card .leaderboard-compact-value-stack{
  position:absolute;
  top:50%;
  left:calc(-1 * var(--compact-rank-width,44px));
  right:0;
  z-index:1;
  box-sizing:border-box;
  width:auto;
  padding:0 var(--compact-safe-edge,52px);
  transform:translateY(-50%);
  pointer-events:none;
}

.leaderboard-compact-name-line{
  min-width:0;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:2px;
  text-align:center;
}

.leaderboard-compact-value-stack small,
.leaderboard-compact-value-stack strong,
.leaderboard-compact-name-line small,
.leaderboard-compact-name-line strong{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.leaderboard-compact-star-button{
  position:relative;
  z-index:2;
  min-width:40px;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:0;
  border-radius:999px;
  background:rgba(245,158,11,.14);
  color:#f59e0b;
  font-size:0;
  line-height:1;
  font-weight:650;
  letter-spacing:0;
  cursor:pointer;
  padding:0 6px;
  touch-action:manipulation;
  align-self:start;
  margin-left:auto;
  margin-top:5px;
}

.leaderboard-compact-star-symbol{
  font-size:29px;
  line-height:1;
}

.leaderboard-compact-star-count{
  font-size:15px;
  line-height:1;
  margin-left:-1px;
  transform:translateY(1px);
}

.leaderboard-compact-star-button:hover,
.leaderboard-compact-star-button:focus-visible{
  background:rgba(245,158,11,.22);
  outline:2px solid rgba(245,158,11,.24);
  outline-offset:2px;
}

.leaderboard-compact-podium-card small{
  width:100%;
  min-width:0;
  color:#475569;
  font-size:clamp(12px,3.5vw,14px);
  line-height:1.08;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:center;
}

.leaderboard-compact-podium-card em{
  width:100%;
  min-width:0;
  color:#0b2a6f;
  justify-self:center;
  text-align:center;
  font-size:var(--compact-value-size,clamp(17px,5.4vw,24px));
  line-height:1.05;
  font-style:normal;
  font-weight:700;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}

.leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-main,
.leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-main{
  --compact-safe-edge:44px;
  gap:0;
  padding-right:6px;
}

.leaderboard-compact-podium-lower .leaderboard-compact-podium-card em{
  font-size:var(--compact-lower-value-size,var(--compact-value-size,16px));
}

.leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-button,
.leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-button{
  min-width:28px;
  min-height:24px;
  padding:0 3px;
  margin-top:4px;
}

.leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-symbol,
.leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-symbol{
  font-size:16px;
}

.leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-count,
.leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-count{
  font-size:9px;
  margin-left:-1px;
  transform:translateY(1px);
}

.leaderboard-compact-podium-card.is-empty{
  color:#94a3b8;
  background:#f8fafc;
}

.leaderboard-compact-podium-card.is-empty .leaderboard-compact-podium-rank{
  background:#94a3b8;
}

.leaderboard-compact-podium-card.is-empty small{
  color:#94a3b8;
  font-size:12px;
  line-height:1.15;
  font-weight:400;
}

.leaderboard-compact-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

.leaderboard-compact-rank-chip{
  min-width:0;
  max-width:calc(100% - 70px);
  display:inline-flex;
  align-items:center;
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  color:#0b2a6f;
  font-size:11px;
  line-height:1.1;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.leaderboard-compact-rank-chip.is-you,
.leaderboard-compact-rank-chip.is-profile-match{
  background:transparent;
  color:#0f766e;
}

.leaderboard-compact-rank-chip.is-profile-match{
  font-size:clamp(12px,3.5vw,14px);
  line-height:1.08;
  font-weight:700;
}

.leaderboard-compact-open{
  flex:0 0 auto;
  margin-left:auto;
  border:0;
  border-radius:999px;
  padding:4px 8px;
  background:transparent;
  color:#0b2a6f;
  font-size:11px;
  line-height:1.1;
  font-weight:600;
  cursor:pointer;
}

.leaderboard-compact-open:hover,
.leaderboard-compact-open:focus-visible{
  background:#dbeafe;
}

.leaderboard-compact-overlay{
  position:fixed;
  inset:0;
  z-index:16040;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(15,23,42,.52);
  box-sizing:border-box;
  overscroll-behavior:contain;
}

.leaderboard-compact-overlay-panel{
  width:min(760px,100%);
  height:min(88vh,760px);
  max-height:calc(100vh - 36px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border-radius:16px;
  background:#fff;
  box-shadow:0 30px 80px rgba(15,23,42,.28);
}

.leaderboard-compact-overlay-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:10px;
  border-bottom:1px solid rgba(15,23,42,.08);
  background:#eef6ff;
}

.leaderboard-compact-overlay-head button{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  font-size:18px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
}

.leaderboard-compact-overlay-close{
  background:#0f172a !important;
}

.leaderboard-compact-overlay-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  gap:8px;
  padding:10px;
  border-top:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
}

.leaderboard-compact-overlay-nav .leaderboard-compact-product-disclosure{
  grid-column:1 / -1;
  display:block;
  padding:7px 9px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:10px;
  background:#fff;
  color:#475569;
  font-size:11px;
  line-height:1.2;
  font-weight:600;
  text-align:center;
}

.leaderboard-compact-overlay-nav button{
  min-width:0;
  min-height:58px;
  width:100%;
  border:1px solid rgba(11,42,111,.12);
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  padding:10px;
  background:#eef6ff;
  color:#0b2a6f;
  font-size:clamp(.9rem,2.8vw,1.05rem);
  line-height:1.08;
  font-weight:500;
  text-align:left;
  cursor:pointer;
}

.leaderboard-compact-overlay-nav button[data-compact-overlay-next]{
  justify-content:flex-end;
  text-align:right;
}

.leaderboard-compact-overlay-nav button span{
  flex:0 0 auto;
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#0b2a6f;
  color:#fff;
  font-size:clamp(.82rem,2.3vw,.95rem);
  line-height:1;
  font-weight:600;
}

.leaderboard-compact-overlay-nav button strong{
  min-width:0;
  max-width:100%;
  color:inherit;
  font-size:inherit;
  line-height:1.08;
  font-weight:500;
  white-space:normal;
  overflow-wrap:anywhere;
}

.leaderboard-compact-overlay-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}

.leaderboard-compact-overlay-title-group{
  min-width:0;
  display:grid;
  align-content:center;
  gap:3px;
}

.leaderboard-compact-overlay-title-group > strong{
  max-width:100%;
  color:#0f172a;
  font-size:clamp(22px,5.7vw,30px);
  line-height:1.02;
  font-weight:650;
  white-space:normal;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
  align-self:center;
}

.leaderboard-compact-overlay-head-actions span{
  color:#64748b;
  font-size:11px;
  line-height:1.1;
  font-weight:400;
  white-space:nowrap;
}

.leaderboard-compact-overlay-body{
  min-height:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  gap:5px;
  padding:12px;
}

body.leaderboard-compact-overlay-open .mobile-bottom-menu,
body.leaderboard-compact-overlay-open #mobileBottomMenu,
body.leaderboard-compact-overlay-open #mobileTopToggle,
body.leaderboard-compact-overlay-open .mobile-top-toggle,
body.leaderboard-compact-overlay-open .tile-jump-menu{
  display:none !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.leaderboard-compact-overlay-open{
  overflow:hidden !important;
  overscroll-behavior:none;
}

.leaderboard-compact-top-winner{
  position:relative;
  display:grid;
  align-items:stretch;
  min-height:112px;
  height:112px;
  box-sizing:border-box;
  padding:0;
  border-radius:14px;
  background:linear-gradient(135deg,#eef6ff,#ecfeff);
  border:1px solid rgba(11,42,111,.12);
  overflow:hidden;
}

.leaderboard-compact-top-winner.is-product-link,
.leaderboard-compact-row.is-product-link{
  text-decoration:none;
  cursor:pointer;
}

.leaderboard-compact-top-winner.is-product-link:hover .leaderboard-item-title,
.leaderboard-compact-top-winner.is-product-link:focus-visible .leaderboard-item-title,
.leaderboard-compact-row.is-product-link:hover .leaderboard-item-title,
.leaderboard-compact-row.is-product-link:focus-visible .leaderboard-item-title{
  text-decoration:underline;
  text-underline-offset:2px;
}

.leaderboard-compact-top-winner.is-product-link:focus-visible,
.leaderboard-compact-row.is-product-link:focus-visible{
  outline:2px solid rgba(11,42,111,.28);
  outline-offset:2px;
}

.leaderboard-compact-top-winner.is-you,
.leaderboard-compact-top-winner.is-profile-match{
  outline:2px solid rgba(20,184,166,.45);
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front{
  min-height:0 !important;
  height:100% !important;
  display:flex;
  align-items:stretch;
  gap:0;
  background:transparent;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-face{
  min-height:0 !important;
  height:100% !important;
  width:100%;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front > span{
  flex:0 0 58px;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  background:#0f766e;
  color:#fff;
  font-size:18px;
  font-weight:600;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front > div{
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "value name"
    "item paid";
  align-items:center;
  align-content:center;
  gap:5px 10px;
  padding:12px;
  background:transparent;
  overflow:hidden;
}

.leaderboard-compact-overlay-name,
.leaderboard-compact-top-winner .leaderboard-compact-podium-front strong{
  display:block;
  color:#475569;
  font-size:14px;
  line-height:1.1;
  font-weight:500;
  padding:0;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}

.leaderboard-compact-top-winner .leaderboard-compact-value-stack{
  grid-area:value;
  justify-items:start;
  text-align:left;
}

.leaderboard-compact-top-winner .leaderboard-compact-overlay-name{
  grid-area:name;
  max-width:min(38vw,190px);
}

.leaderboard-paid-link-note{
  grid-area:paid;
  align-self:end;
  justify-self:end;
  display:block;
  min-width:max-content;
  margin:0;
  color:#64748b;
  font-size:10px;
  line-height:1;
  font-weight:700;
  text-align:right;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front em{
  display:block;
  color:#0b2a6f;
  font-size:var(--compact-value-size,24px);
  line-height:1.1;
  font-style:normal;
  font-weight:700;
  padding:0;
  justify-self:start;
  text-align:left;
  min-width:0;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front .leaderboard-item-title{
  display:-webkit-box;
  grid-column:1 / -1;
  grid-area:item;
  max-width:100%;
  max-height:2.5em;
  min-height:0;
  padding:0;
  color:#0b2a6f;
  font-size:12px;
  line-height:1.22;
  font-weight:500;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-decoration:none;
}

.leaderboard-compact-top-winner .leaderboard-compact-podium-front .leaderboard-item-title[aria-hidden="true"]{
  visibility:hidden;
  pointer-events:none;
}

.leaderboard-compact-row .leaderboard-item-title[aria-hidden="true"]{
  display:none;
}

.leaderboard-compact-overlay-list{
  display:grid;
  margin-top:0;
  gap:5px;
}

.leaderboard-rank-card-compact{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:stretch !important;
  gap:8px !important;
  min-height:0 !important;
  padding:12px !important;
  border-radius:10px !important;
}

.leaderboard-compact-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-areas:
    "rank main name"
    "rank main paid";
  align-items:start;
  gap:5px 8px;
  min-width:0;
  padding:7px 8px;
  border-radius:8px;
  background:#f8fafc;
  color:#334155;
}

.leaderboard-compact-row.is-you,
.leaderboard-compact-row.is-profile-match{
  outline:2px solid rgba(20,184,166,.45);
  background:#ecfeff;
}

.leaderboard-compact-top-winner.is-placeholder,
.leaderboard-compact-row.is-placeholder{
  opacity:.62;
}

.leaderboard-compact-top-winner.is-placeholder .leaderboard-compact-podium-front > span,
.leaderboard-compact-row.is-placeholder .leaderboard-compact-rank{
  color:#64748b;
}

.leaderboard-compact-top-winner.is-placeholder .leaderboard-compact-podium-front > span{
  background:#94a3b8;
}

.leaderboard-compact-top-winner.is-placeholder .leaderboard-compact-podium-front em,
.leaderboard-compact-row.is-placeholder .leaderboard-compact-value{
  color:#64748b;
  font-weight:400;
}

.leaderboard-compact-row.is-placeholder .leaderboard-compact-name{
  display:block;
  visibility:hidden;
}

.leaderboard-compact-rank{
  grid-area:rank;
  color:#0b2a6f;
  font-size:12px;
  line-height:1.1;
  font-weight:600;
}

.leaderboard-compact-row-main{
  grid-area:main;
  min-width:0;
  display:grid;
  gap:2px;
}

.leaderboard-compact-name{
  grid-area:name;
  min-width:0;
  max-width:min(32vw,160px);
  color:#64748b;
  font-size:11px;
  line-height:1.15;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:right;
}

.leaderboard-compact-name span,
.leaderboard-compact-overlay-name span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.leaderboard-compact-value{
  color:#0b2a6f;
  font-size:14px;
  line-height:1.05;
  font-style:normal;
  font-weight:650;
  text-align:left;
  white-space:nowrap;
}

.leaderboard-price-value-wrap{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-width:0;
}

.leaderboard-price-info{
  width:16px;
  height:16px;
  border:1px solid rgba(37,99,235,.34);
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:#2563eb;
  background:#eff6ff;
  font-size:10px;
  line-height:1;
  font-style:normal;
  font-weight:900;
  cursor:pointer;
}

.leaderboard-price-info:focus-visible{
  outline:2px solid rgba(37,99,235,.35);
  outline-offset:2px;
}

.leaderboard-compact-row .leaderboard-item-title{
  display:-webkit-box;
  min-width:0;
  max-width:100%;
  margin-top:1px;
  color:#0b2a6f;
  font-size:12px;
  line-height:1.22;
  font-weight:500;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  text-decoration:none;
}

.leaderboard-compact-row .leaderboard-item-title:hover,
.leaderboard-compact-row .leaderboard-item-title:focus-visible{
  text-decoration:underline;
  text-underline-offset:2px;
}

@media(max-width:700px){
  .leaderboard-layout-toggle button{
    min-width:72px;
  }

  .leaderboard-compact-overlay{
    padding:10px;
  }

  .leaderboard-compact-overlay-panel{
    height:calc(100svh - 20px);
    max-height:calc(100vh - 20px);
    border-radius:13px;
  }

  .leaderboard-compact-overlay-head{
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
    padding:8px;
  }

  .leaderboard-compact-overlay-head button{
    width:34px;
    height:34px;
  }

  .leaderboard-compact-overlay-nav{
    padding:8px;
    gap:7px;
  }

  .leaderboard-compact-overlay-nav button{
    min-height:54px;
    padding:8px;
    font-size:clamp(.88rem,3.8vw,1rem);
  }

  .leaderboard-compact-overlay-nav button span{
    width:20px;
    height:20px;
    font-size:13px;
  }
}

@media(max-width:360px){
  .leaderboard-compact-podium{
    gap:1px;
  }

  .leaderboard-compact-podium-lower{
    gap:1px;
  }

  .leaderboard-compact-podium-card{
    grid-template-columns:38px minmax(0,1fr);
    min-height:54px;
  }

  .leaderboard-compact-podium-first .leaderboard-compact-podium-card{
    min-height:60px;
  }

  .leaderboard-compact-podium-rank{
    min-width:38px;
    font-size:14px !important;
  }

  .leaderboard-compact-podium-main{
    padding:7px;
    --compact-rank-width:44px;
    --compact-safe-edge:42px;
    gap:0;
  }

  .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-main,
  .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-main{
    --compact-safe-edge:42px;
    gap:0;
    padding-right:5px;
  }

  .leaderboard-compact-podium-card.rank-one .leaderboard-compact-podium-main{
    padding-right:7px;
  }

  .leaderboard-compact-star-button{
    min-width:34px;
    min-height:28px;
    padding:0 5px;
    margin-top:5px;
  }

  .leaderboard-compact-star-symbol{
    font-size:25px;
  }

  .leaderboard-compact-star-count{
    font-size:13px;
  }

  .leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-button,
  .leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-button{
    min-width:24px;
    min-height:22px;
    padding:0 2px;
    margin-top:4px;
  }

  .leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-symbol,
  .leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-symbol{
    font-size:14px;
  }

  .leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-count,
  .leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-count{
    font-size:8px;
  }

  .leaderboard-compact-name-line{
    max-width:100%;
  }

  .leaderboard-compact-podium-card small{
    font-size:11.5px;
  }
}

/* v419 Firebase leaderboards integration */
#reportLeaderboardSubmission.report-leaderboard-submission{
  display:block !important;
}

[data-action="jump-to-report-submit"]{
  display:inline-flex !important;
}

@media(max-width:700px){
  .purchaseatlas-leaderboard-auth{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .leaderboard-auth-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .leaderboard-auth-actions label{
    min-width:0;
  }

  .purchaseatlas-leaderboard-auth button{
    width:100%;
  }

  .directions-upload-step .report-upload-panel,
  .report-upload-inline{
    display:flex !important;
    justify-content:center !important;
    width:100vw !important;
    max-width:100vw !important;
    margin:10px 0 34px calc(50% - 50vw) !important;
  }

  .directions-upload-step .upload-button,
  .report-upload-inline .upload-button{
    width:max-content !important;
    max-width:calc(100vw - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  #mobileBottomMenu .mobile-bottom-primary{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  #mobileBottomMenu .mobile-bottom-primary button{
    min-width:0 !important;
    width:100% !important;
    padding:9px 5px !important;
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    text-align:center !important;
  }

  .mobile-bottom-menu,
  #mobileBottomMenu,
  .mobile-floating-search,
  #mobileFloatingSearch,
  body:not(.has-report) .mobile-bottom-menu,
  body:not(.has-report) #mobileBottomMenu,
  body:not(.has-report) .mobile-floating-search,
  body:not(.has-report) #mobileFloatingSearch,
  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-floating-idle #mobileFloatingSearch:not(.is-open),
  body.mobile-preview-mode .mobile-bottom-menu,
  body.mobile-preview-mode #mobileBottomMenu,
  body.mobile-preview-mode .mobile-floating-search,
  body.mobile-preview-mode #mobileFloatingSearch,
  body.mobile-preview-mode:not(.has-report) .mobile-bottom-menu,
  body.mobile-preview-mode:not(.has-report) #mobileBottomMenu,
  body.mobile-preview-mode:not(.has-report) .mobile-floating-search,
  body.mobile-preview-mode:not(.has-report) #mobileFloatingSearch,
  body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-preview-mode.mobile-floating-idle #mobileFloatingSearch:not(.is-open){
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .mobile-bottom-menu-toggle,
  .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  #mobileTopToggle,
  body.mobile-preview-mode .mobile-bottom-menu-toggle,
  body.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode .mobile-floating-search:not(.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode #mobileTopToggle{
    opacity:.34 !important;
    transition:opacity .16s ease !important;
  }

  .mobile-bottom-menu.is-open .mobile-bottom-menu-toggle,
  .mobile-bottom-menu.is-open ~ .mobile-floating-search .mobile-floating-search-open,
  .mobile-bottom-menu.is-open ~ .mobile-floating-search .mobile-floating-cloud,
  .mobile-floating-search.is-open .mobile-floating-search-open,
  .mobile-floating-search.is-open .mobile-floating-cloud,
  body:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body:has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body:has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body:has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body.word-cloud-open .mobile-bottom-menu-toggle,
  body.word-cloud-open .mobile-floating-search-open,
  body.word-cloud-open .mobile-floating-cloud,
  body.word-cloud-open #mobileTopToggle,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-bottom-menu-toggle,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-search-open,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-cloud,
  body.mobile-preview-mode:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body.mobile-preview-mode.word-cloud-open .mobile-bottom-menu-toggle,
  body.mobile-preview-mode.word-cloud-open .mobile-floating-search-open,
  body.mobile-preview-mode.word-cloud-open .mobile-floating-cloud,
  body.mobile-preview-mode.word-cloud-open #mobileTopToggle{
    opacity:1 !important;
  }

  .mobile-bottom-panel,
  .mobile-bottom-menu.is-open .mobile-bottom-panel,
  body.mobile-preview-mode .mobile-bottom-panel,
  body.mobile-preview-mode .mobile-bottom-menu.is-open .mobile-bottom-panel{
    opacity:1 !important;
    background:#fff !important;
  }
}

/* v416 final mobile rail/search cascade lock */
@media(max-width:700px){
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child{
    left:0 !important;
    right:auto !important;
    top:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }

  #storyFeedDashboard .money-meter-sidebar .money-meter-mark span,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child span,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child span,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark span,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child span,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child span{
    display:block !important;
    position:absolute !important;
    left:var(--label-percent) !important;
    top:50% !important;
    bottom:auto !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:23% !important;
    padding:0 !important;
    margin:0 !important;
    color:#fff !important;
    font-size:clamp(12px,3vw,17px) !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    animation:none !important;
  }

  #storyFeedDashboard .money-meter-sidebar .money-meter-mark i,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark i{
    position:absolute !important;
    left:var(--mark-percent) !important;
    top:0 !important;
    bottom:0 !important;
    width:2px !important;
    height:100% !important;
    transform:translateX(-50%) !important;
  }

}

/* v415 money rail segment labels and mobile search filter order */
@media(max-width:700px){
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child{
    left:0 !important;
    right:auto !important;
    top:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }

  #storyFeedDashboard .money-meter-sidebar .money-meter-mark span,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark span,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child span,
  #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child span{
    display:block !important;
    position:absolute !important;
    left:var(--label-percent) !important;
    top:50% !important;
    bottom:auto !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:23% !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#fff !important;
    font-size:clamp(12px,3vw,17px) !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    text-shadow:0 2px 5px rgba(0,0,0,.28) !important;
    animation:none !important;
  }

  #storyFeedDashboard .money-meter-sidebar .money-meter-mark i,
  body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark i{
    position:absolute !important;
    left:var(--mark-percent) !important;
    top:0 !important;
    bottom:0 !important;
    width:2px !important;
    height:100% !important;
    transform:translateX(-50%) !important;
  }

}

body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle #mobileTopToggle{
  opacity:.46 !important;
  transform:none !important;
  pointer-events:auto !important;
}

/* v407 graph labels, feedback button, address pin orientation */
.mobile-bottom-feedback{
  width:32px !important;
  height:32px !important;
  border:0 !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:#eef2ff !important;
  color:#0b2a6f !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  text-decoration:none !important;
  box-shadow:inset 0 0 0 1px rgba(11,42,111,.12) !important;
}

.feed-address-card .address-map-pin,
.feed-address-card.feed-in-view .address-map-pin,
.feed-address-card.map-reveal-running .address-map-pin,
.feed-address-card.map-reveal-complete .address-map-pin,
.feed-address-card.tile-animation-completed .address-map-pin,
body.mobile-preview-mode #storyFeedDashboard .feed-address-card .address-map-pin{
  transform:translate(-50%,-54%) rotate(45deg) scale(1) !important;
  animation:none !important;
}

.money-meter-mark em{
  white-space:normal !important;
  text-align:center !important;
  line-height:1.05 !important;
}

.cart-builder-status{
  justify-content:flex-end !important;
}

.cart-builder-status span{
  margin-left:auto !important;
}

/* v408 graph single-letter months and Big Number month/year dates */
.money-meter-mark em{
  display:block !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.05 !important;
}

.money-meter-mark em br{
  display:block !important;
  content:"" !important;
}

body.mobile-preview-mode .money-meter-mark em{
  display:block !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.05 !important;
}

/* v409 Big Number date stack and graph drag capture */
.money-meter-mark em{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:max-content !important;
  min-width:44px !important;
  max-width:72px !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
  line-height:1.05 !important;
}

.money-meter-mark em .meter-date-month,
.money-meter-mark em .meter-date-year{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* v410 align money-meter price/date labels */
.money-meter-mark em{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:96% !important;
  min-width:0 !important;
  max-width:96% !important;
  color:#fff !important;
  font-size:clamp(15px,1.45vw,23px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:-.06em !important;
  text-align:center !important;
  text-shadow:0 2px 5px rgba(0,0,0,.30) !important;
}

.money-meter-mark em .meter-date-month,
.money-meter-mark em .meter-date-year{
  width:100% !important;
  text-align:center !important;
  margin:0 auto !important;
}

#spendingChart{
  touch-action:none !important;
}

/* v411 final fixes: meter label alignment, address pin, delivery state game */
.money-meter-mark span,
.money-meter-mark em{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  font-size:clamp(15px,1.45vw,23px) !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:-.06em !important;
  text-align:center !important;
  writing-mode:horizontal-tb !important;
}

.money-meter-mark em{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}

.money-meter-mark em .meter-date-month,
.money-meter-mark em .meter-date-year{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  white-space:nowrap !important;
  text-align:center !important;
}

.feed-address-card .address-map-pin,
.feed-address-card.feed-in-view .address-map-pin,
.feed-address-card.map-reveal-running .address-map-pin,
.feed-address-card.map-reveal-complete .address-map-pin,
.feed-address-card.tile-animation-completed .address-map-pin,
#storyFeedDashboard .feed-address-card .address-map-pin,
body.mobile-preview-mode #storyFeedDashboard .feed-address-card .address-map-pin{
  transform:translate(-50%,-54%) rotate(-45deg) scale(1) !important;
  animation:none !important;
}

.delivery-state-game{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:#eff6ff;
  border:1px solid rgba(37,99,235,.16);
}

.delivery-state-game-head{
  display:grid;
  gap:3px;
}

.delivery-state-game-head span{
  color:#2563eb;
  font-size:11px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.delivery-state-game-head strong{
  color:#0f172a;
  font-size:13px;
  line-height:1.15;
  font-weight:1000;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.delivery-state-game-head em{
  color:#64748b;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:850;
}

.delivery-state-game-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.delivery-state-game-options button{
  border:1px solid rgba(37,99,235,.16);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  padding:8px 10px;
  font-size:12px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
}

.delivery-state-game-options button.is-correct{
  background:#dcfce7;
  border-color:rgba(22,163,74,.28);
  color:#166534;
}

.delivery-state-game-options button.is-wrong{
  background:#fee2e2;
  border-color:rgba(220,38,38,.22);
  color:#991b1b;
}

.delivery-state-game-result{
  min-height:14px;
  color:#334155;
  font-size:12px;
  line-height:1;
  font-weight:900;
}

/* v412 Delivery States mode switch */
.delivery-state-mode-toggle{
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  margin:4px 0 12px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.12);
}

.delivery-state-mode-toggle button{
  border:0;
  border-radius:999px;
  background:transparent;
  color:#2563eb;
  padding:8px 12px;
  font-size:12px;
  line-height:1;
  font-weight:1000;
  cursor:pointer;
}

.delivery-state-mode-toggle button.active{
  background:#fff;
  color:#0f172a;
  box-shadow:0 8px 18px rgba(37,99,235,.12);
}

.delivery-state-game{
  margin:0;
}

.delivery-state-game .delivery-state-game-refresh{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  justify-self:end;
}

/* v413 Delivery States game-only tab */
#storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-area-hero,
#storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-zip-map{
  display:none !important;
}

#storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-view-frame{
  display:block !important;
  width:100% !important;
  margin-top:0 !important;
}

#storyFeedDashboard .feed-address-card.delivery-state-game-mode #deliveryStateProductPanel{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  opacity:1 !important;
  transform:none !important;
}

#storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-state-game{
  width:100%;
  box-sizing:border-box;
}

.delivery-state-game-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
}

.delivery-state-game-top span{
  color:#2563eb;
  font-size:11px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.delivery-state-game-product{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  color:#0f172a;
  font-size:14px;
  line-height:1.18;
  font-weight:1000;
  text-decoration:none;
}

.delivery-state-game-label{
  color:#64748b;
  font-size:12px;
  line-height:1;
  font-style:normal;
  font-weight:850;
}

.delivery-state-game-note,
.delivery-state-game-message p{
  margin:0;
  color:#475569;
  font-size:12px;
  line-height:1.25;
  font-weight:750;
}

/* v414 mobile controls, money rail, state game width, peak calm */
@media(max-width:700px){
  .mobile-bottom-menu,
  #mobileBottomMenu,
  .mobile-floating-search,
  #mobileFloatingSearch,
  #mobileTopToggle,
  body:not(.has-report) .mobile-bottom-menu,
  body:not(.has-report) #mobileBottomMenu{
    opacity:.34 !important;
    transform:none !important;
    pointer-events:auto !important;
    transition:opacity .16s ease !important;
  }

  .mobile-bottom-menu.is-open,
  #mobileBottomMenu.is-open,
  .mobile-floating-search.is-open,
  #mobileFloatingSearch.is-open,
  body:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu,
  body:has(.mobile-bottom-menu.is-open) .mobile-floating-search,
  body:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
  body:has(.mobile-floating-search.is-open) .mobile-bottom-menu,
  body:has(.mobile-floating-search.is-open) .mobile-floating-search,
  body:has(.mobile-floating-search.is-open) #mobileTopToggle,
  body:has(#wordCloudView:not(.hidden)) .mobile-floating-search,
  body:has(#wordCloudView:not(.hidden)) .mobile-bottom-menu,
  body:has(#wordCloudView:not(.hidden)) #mobileTopToggle,
  body.word-cloud-open .mobile-floating-search,
  body.word-cloud-open .mobile-bottom-menu,
  body.word-cloud-open #mobileTopToggle{
    opacity:1 !important;
  }

  body.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
  body.mobile-floating-idle #mobileBottomMenu:not(.is-open),
  body.mobile-floating-idle .mobile-floating-search:not(.is-open),
  body.mobile-floating-idle #mobileFloatingSearch:not(.is-open),
  body.mobile-floating-idle #mobileTopToggle{
    opacity:.34 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .money-meter-sidebar{
    cursor:default !important;
  }

  .money-meter-mark{
    left:0 !important;
    top:0 !important;
    bottom:auto !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    transform:none !important;
    pointer-events:none !important;
  }

  .money-meter-mark i{
    left:var(--mark-percent) !important;
    top:0 !important;
    bottom:0 !important;
    width:2px !important;
    height:100% !important;
    transform:translateX(-50%) !important;
  }

  .money-meter-mark span{
    display:block !important;
    position:absolute !important;
    left:var(--label-percent) !important;
    top:50% !important;
    right:auto !important;
    transform:translate(-50%,-50%) !important;
    width:auto !important;
    min-width:0 !important;
    max-width:24% !important;
    color:#fff !important;
    font-size:clamp(13px,3.2vw,18px) !important;
    line-height:1 !important;
    font-weight:1000 !important;
    letter-spacing:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
    text-shadow:0 2px 5px rgba(0,0,0,.28) !important;
  }

  .money-meter-mark em,
  .feed-money-chapter.money-meter-show-values .money-meter-mark em{
    display:none !important;
  }

  #storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-view-frame,
  #storyFeedDashboard .feed-address-card.delivery-state-game-mode #deliveryStateProductPanel{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  #storyFeedDashboard .feed-address-card.delivery-state-game-mode .delivery-state-game{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    border-radius:14px !important;
  }

  .feed-peak-card,
  .feed-peak-card *,
  .feed-peak-card::before,
  .feed-peak-card::after{
    animation:none !important;
    transition:none !important;
  }

  .feed-peak-card .peak-context,
  .feed-peak-card > .feed-chapter-content > p,
  .feed-peak-card .peak-comparison-strip,
  .feed-peak-card .peak-comparison-track,
  .feed-peak-card #spendingPeakReveal{
    opacity:1 !important;
    visibility:visible !important;
    filter:none !important;
    transform:none !important;
    pointer-events:auto !important;
  }
}

body.mobile-preview-mode .mobile-bottom-menu,
body.mobile-preview-mode #mobileBottomMenu,
body.mobile-preview-mode .mobile-floating-search,
body.mobile-preview-mode #mobileFloatingSearch,
body.mobile-preview-mode #mobileTopToggle,
body.mobile-preview-mode:not(.has-report) .mobile-bottom-menu,
body.mobile-preview-mode:not(.has-report) #mobileBottomMenu,
body.mobile-preview-mode.mobile-floating-idle .mobile-bottom-menu:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle #mobileBottomMenu:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle .mobile-floating-search:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle #mobileFloatingSearch:not(.is-open),
body.mobile-preview-mode.mobile-floating-idle #mobileTopToggle{
  opacity:.34 !important;
  transform:none !important;
  pointer-events:auto !important;
}

body.mobile-preview-mode .mobile-bottom-menu.is-open,
body.mobile-preview-mode #mobileBottomMenu.is-open,
body.mobile-preview-mode .mobile-floating-search.is-open,
body.mobile-preview-mode #mobileFloatingSearch.is-open,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-bottom-menu,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) .mobile-floating-search,
body.mobile-preview-mode:has(.mobile-bottom-menu.is-open) #mobileTopToggle,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-bottom-menu,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) .mobile-floating-search,
body.mobile-preview-mode:has(.mobile-floating-search.is-open) #mobileTopToggle,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) .mobile-floating-search,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) .mobile-bottom-menu,
body.mobile-preview-mode:has(#wordCloudView:not(.hidden)) #mobileTopToggle,
body.mobile-preview-mode.word-cloud-open .mobile-floating-search,
body.mobile-preview-mode.word-cloud-open .mobile-bottom-menu,
body.mobile-preview-mode.word-cloud-open #mobileTopToggle{
  opacity:1 !important;
}
/* v424 eof stable detached profile / close action slot */
.hero-brand .page-view-row,
body.mobile-preview-mode .hero-brand .page-view-row{
  width:100% !important;
  max-width:100% !important;
  margin:6px 0 0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  align-items:center !important;
  gap:10px !important;
}

.hero-brand .page-view-row .page-view-tabs,
body.mobile-preview-mode .hero-brand .page-view-row .page-view-tabs{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.page-view-row .report-session-action,
body.mobile-preview-mode .page-view-row .report-session-action{
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  display:inline-grid !important;
  place-items:center !important;
  justify-self:end !important;
  align-self:center !important;
  border:1px solid rgba(15,23,42,.12) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:#0f172a !important;
  box-shadow:0 10px 24px rgba(15,23,42,.08) !important;
  padding:0 !important;
  font-size:20px !important;
  font-weight:950 !important;
  line-height:1 !important;
  cursor:pointer !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:18px !important;
}

.page-view-row .report-session-action.hidden,
.page-view-row .report-session-action[hidden],
body.mobile-preview-mode .page-view-row .report-session-action.hidden,
body.mobile-preview-mode .page-view-row .report-session-action[hidden]{
  display:inline-grid !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media(max-width:700px){
  .hero-brand .page-view-row,
  body.mobile-preview-mode .hero-brand .page-view-row{
    grid-template-columns:minmax(0,1fr) 38px !important;
    gap:8px !important;
  }

  .page-view-row .report-session-action,
  body.mobile-preview-mode .page-view-row .report-session-action{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
    height:38px !important;
    min-height:38px !important;
    max-height:38px !important;
    font-size:19px !important;
  }
}

/* v426 true eof neutral leaderboard profile icon states */
.page-view-row .report-session-action[data-action="leaderboard-profile"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"]{
  font-size:0 !important;
  position:relative !important;
  overflow:visible !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"] svg,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"] svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.1 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-out"]{
  background:#f1f5f9 !important;
  color:#64748b !important;
  border-color:rgba(100,116,139,.18) !important;
  box-shadow:0 10px 22px rgba(100,116,139,.10) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"],
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]{
  background:#dbeafe !important;
  color:#0b2a6f !important;
  border-color:rgba(11,42,111,.34) !important;
  box-shadow:0 12px 28px rgba(11,42,111,.20), inset 0 0 0 2px rgba(255,255,255,.75) !important;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after{
  content:"";
  position:absolute;
  right:5px;
  bottom:5px;
  width:9px;
  height:9px;
  border-radius:999px;
  background:#14b8a6;
  box-shadow:0 0 0 2px #fff;
}

.page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after,
body.mobile-preview-mode .page-view-row .report-session-action[data-action="leaderboard-profile"][data-leaderboard-auth-state="signed-in"]::after{
  content:none !important;
  display:none !important;
}

@media(max-width:380px){
  .leaderboard-auth-actions label small{
    white-space:normal;
  }
}
/* PurchaseAtlas legal/footer pages */
.purchaseatlas-footer{
  width:100%;
  max-width:1120px;
  margin:18px auto 28px;
  padding:0 18px;
  box-sizing:border-box;
  color:#64748b;
}

.purchaseatlas-footer nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px 16px;
  padding:12px 0 0;
  border-top:1px solid rgba(15,23,42,.08);
}

.purchaseatlas-footer a{
  color:#64748b;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  text-decoration:none;
}

.purchaseatlas-footer a:hover{
  color:#0b2a6f;
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-page-body{
  min-height:100vh;
  margin:0;
  background:#f8fafc;
  color:#0f172a;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.legal-page{
  width:min(900px,calc(100% - 32px));
  margin:0 auto;
  padding:26px 0 10px;
}

.legal-page-header{
  display:flex;
  justify-content:center;
  margin:0 0 20px;
}

.legal-wordmark-logo{
  display:block;
  width:min(340px,82vw);
  height:auto;
}

.legal-card{
  padding:24px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.07);
}

.legal-kicker{
  margin:0 0 6px;
  color:#0f766e;
  font-size:12px;
  line-height:1.2;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.legal-card h1{
  margin:0 0 14px;
  color:#0f172a;
  font-size:clamp(32px,6vw,50px);
  line-height:1;
  font-weight:1000;
  letter-spacing:0;
}

.legal-card p{
  margin:0 0 13px;
  color:#334155;
  font-size:15px;
  line-height:1.55;
  font-weight:700;
}

.legal-card p:last-child{
  margin-bottom:0;
}

.legal-card section{
  margin:0 0 18px;
}

.legal-card section:last-child{
  margin-bottom:0;
}

.legal-card h2{
  margin:0 0 7px;
  color:#0f172a;
  font-size:17px;
  line-height:1.2;
  font-weight:1000;
  letter-spacing:0;
}

.legal-card a{
  color:#0b2a6f;
  font-weight:950;
  text-decoration:underline;
  text-underline-offset:2px;
}

.data-safety-list{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.data-safety-list li{
  display:grid;
  gap:3px;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:10px;
  background:#f8fafc;
}

.data-safety-list strong{
  color:#0f172a;
  font-size:14px;
  line-height:1.2;
  font-weight:1000;
}

.data-safety-list span{
  color:#475569;
  font-size:13px;
  line-height:1.4;
  font-weight:750;
}

.legal-footer{
  margin-top:6px;
}

@media(max-width:620px){
  .purchaseatlas-footer{
    margin-bottom:88px;
  }

  .legal-page{
    width:min(100% - 24px,900px);
    padding-top:20px;
  }

  .legal-card{
    padding:19px;
    border-radius:10px;
  }
}

/* Final guardrail for the experimental compact leaderboard layout. */
.leaderboard-rank-grid[data-leaderboard-layout="compact"]{
  grid-template-columns:1fr !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-rank-card-compact{
  min-height:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:stretch !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-list-view{
  width:100% !important;
  max-width:100% !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-summary-card{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:1fr !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium{
  width:100% !important;
  max-width:100% !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-lower{
  width:100% !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

/* v428 Big Number milestone two-line labels */
#storyFeedDashboard .money-meter-sidebar .money-meter-mark span,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark span{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  height:auto !important;
  min-height:0 !important;
  white-space:nowrap !important;
}

#storyFeedDashboard .money-meter-sidebar .money-meter-mark span b,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark span b{
  display:block !important;
  color:inherit !important;
  font:inherit !important;
  line-height:1 !important;
  letter-spacing:inherit !important;
}

#storyFeedDashboard .money-meter-sidebar .money-meter-mark span em,
#storyFeedDashboard .money-meter-sidebar .money-meter-mark.is-max span em,
#storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child span em,
#storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child span em,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark span em,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark.is-max span em,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:first-child span em,
body.mobile-preview-mode #storyFeedDashboard .money-meter-sidebar .money-meter-mark:last-child span em{
  display:block !important;
  position:static !important;
  left:auto !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  color:inherit !important;
  font:inherit !important;
  font-style:normal !important;
  line-height:1 !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
  text-align:center !important;
  white-space:nowrap !important;
  text-shadow:inherit !important;
}

/* v429 Compact leaderboard lower-rank content centering */
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium{
  --compact-lower-gap:2px;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-one .leaderboard-compact-value-stack{
  left:var(--compact-lower-gap,2px) !important;
  right:0 !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-front,
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-front{
  grid-template-columns:44px minmax(0,1fr) !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-rank,
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-rank{
  width:44px !important;
  min-width:44px !important;
  flex:0 0 44px !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-main,
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-main{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  align-items:center !important;
  justify-items:center !important;
  justify-content:stretch !important;
  padding:7px 34px 7px 7px !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-value-stack,
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-value-stack{
  position:static !important;
  inset:auto !important;
  width:100% !important;
  max-width:100% !important;
  padding:0 !important;
  transform:none !important;
  justify-self:center !important;
  pointer-events:none !important;
}

.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-star-button,
.leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-star-button{
  position:absolute !important;
  right:4px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin:0 !important;
}

@media(max-width:360px){
  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-front,
  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-front{
    grid-template-columns:38px minmax(0,1fr) !important;
  }

  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-rank,
  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-rank{
    width:38px !important;
    min-width:38px !important;
    flex-basis:38px !important;
  }

  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-two .leaderboard-compact-podium-main,
  .leaderboard-rank-grid[data-leaderboard-layout="compact"] .leaderboard-compact-podium-card.rank-three .leaderboard-compact-podium-main{
    padding:7px 28px 7px 6px !important;
  }
}

/* Final mobile search filter flow */
@media(max-width:700px){
  #searchView #normalSearchControls{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    row-gap:8px !important;
  }

  #searchView #timelineControls.timeline-controls{
    order:1 !important;
    flex:0 0 100% !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  #searchView #timelineControls.timeline-controls.hidden{
    display:none !important;
  }

  #searchView #searchTotal.search-total{
    order:2 !important;
    flex:0 0 100% !important;
    margin:0 !important;
  }

  #searchView #dateSortBtn,
  #searchView #priceSortBtn{
    order:3 !important;
  }

  #searchView .exact-search-toggle{
    order:4 !important;
  }

  #searchView .timeline-filter-stack,
  #searchView #timelineControls.timeline-controls{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
  }

  #searchView .timeline-date-pair,
  #searchView .timeline-price-controls{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    grid-area:auto !important;
  }

  #searchView .timeline-date-pair > label,
  #searchView .timeline-price-controls > label,
  #searchView .timeline-price-controls .price-input-shell{
    width:150px !important;
    max-width:calc((100vw - 56px) / 2) !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 1 150px !important;
    grid-area:auto !important;
  }

  #searchView .timeline-date-pair input,
  #searchView .timeline-price-controls input{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  #searchView #timelinePresets.timeline-presets,
  #searchView .timeline-presets{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    max-width:100% !important;
    grid-area:auto !important;
  }

  #searchView #timelinePresets.timeline-presets button,
  #searchView .timeline-presets button{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
}

@media(max-width:380px){
  #searchView #timelinePresets.timeline-presets,
  #searchView .timeline-presets{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

.leaderboard-compact-summary-card.is-date-board .leaderboard-compact-podium-card.rank-one em{
  font-size:var(--compact-value-size,clamp(17px,5.4vw,24px)) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}

body.sample-report-mode #storyFeedDashboard .feed-address-card .delivery-area-list,
body.sample-report-mode #storyFeedDashboard .feed-address-card #deliveryZipList,
body.sample-report-mode #storyFeedDashboard .feed-address-card .delivery-state-product-panel .delivery-state-purchases,
body.sample-report-mode #storyFeedDashboard .feed-address-card .delivery-state-purchases{
  overflow:hidden !important;
  overflow-y:hidden !important;
  max-height:240px !important;
  overscroll-behavior:none !important;
  scrollbar-width:none !important;
}

body.sample-report-mode #storyFeedDashboard .feed-address-card .delivery-area-list::-webkit-scrollbar,
body.sample-report-mode #storyFeedDashboard .feed-address-card #deliveryZipList::-webkit-scrollbar,
body.sample-report-mode #storyFeedDashboard .feed-address-card .delivery-state-purchases::-webkit-scrollbar{
  display:none !important;
}

.sample-refresh-locked,
.sample-refresh-locked:hover,
.sample-refresh-locked:focus-visible{
  opacity:.46 !important;
  filter:grayscale(.45) !important;
  transform:none !important;
  cursor:pointer !important;
}

/* Final report visual polish */
.report-feature-list li::before{
  background:#62c5a2 !important;
}

.story-accent-money .feed-chapter-number:not(.money-meter-sidebar){
  background:#62c5a2 !important;
}

#storyFeedDashboard .feed-money-chapter .money-meter-sidebar,
body.mobile-preview-mode #storyFeedDashboard .feed-money-chapter .money-meter-sidebar{
  background:#0ea5e9 !important;
}

#storyFeedDashboard .feed-money-chapter .money-meter-fill,
body.mobile-preview-mode #storyFeedDashboard .feed-money-chapter .money-meter-fill{
  background:#62c5a2 !important;
  box-shadow:10px 0 24px rgba(98,197,162,.24) !important;
}

.feed-money-chapter .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.money-stage-complete .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.money-reveal-complete .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.tile-animation-completed .big-number-subtitle .subtitle-token-highlight,
.feed-money-chapter.money-subtitle-locked .big-number-subtitle .subtitle-token-highlight,
.big-number-subtitle.subtitle-final-visible .subtitle-token-highlight{
  background:rgba(98,197,162,.18) !important;
  box-shadow:0 0 0 2px rgba(98,197,162,.10) !important;
  color:#14532d !important;
}

.beginning-now-purchases-body .feed-latest-panel{
  background:linear-gradient(135deg,#e8f8f2,#62c5a2) !important;
  border-color:#62c5a2 !important;
}

.feed-money-chapter .feed-metric-row div{
  text-align:center !important;
  display:grid !important;
  justify-items:center !important;
  align-content:center !important;
}

.amazon-zip-directions .directions-upload-step .report-upload-panel.report-upload-inline,
.amazon-zip-directions .report-upload-panel.report-upload-inline{
  width:100% !important;
  max-width:100% !important;
  margin:10px 0 0 !important;
  box-sizing:border-box !important;
}

.amazon-zip-directions .report-upload-inline .report-local-note{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

.amazon-zip-directions .report-local-note a{
  white-space:normal !important;
}

.amazon-zip-directions .directions-upload-step{
  padding-bottom:0 !important;
}

body[data-view-mode="report"] .page{
  padding-bottom:0;
}

body[data-view-mode="report"] .purchaseatlas-footer{
  margin-top:10px;
}

body.production-frame-shell-active{
  background:#fff !important;
  overflow:hidden !important;
}

body.production-frame-shell-active .app-layout-root{
  display:none !important;
}

.production-frame-shell{
  position:fixed;
  inset:0;
  z-index:2147481000;
  display:flex;
  justify-content:center;
  align-items:stretch;
  background:#fff;
}

.production-frame-shell iframe{
  width:min(100vw,680px);
  max-width:680px;
  height:100vh;
  border:0;
  background:#fff;
  display:block;
}

@media(min-width:681px){
  body.production-frame-shell-active,
  body.production-frame-shell-active .production-frame-shell{
    background:#f4f4f4 !important;
  }
}
