/** Shopify CDN: Minification failed

Line 240:0 Unexpected "}"

**/
/* =========================================================================
   ORIBA REVIVAL FESTIVAL — shared stylesheet (Shopify theme + HTML preview)
   Every rule is scoped under .rf so the existing theme is untouched.
   Design tokens first; edit colors / radius / spacing here.
   ========================================================================= */
.rf{
  /* surface */
  --rf-page:#f3ede3;          /* page ivory-beige */
  --rf-panel:#fffcf7;         /* card */
  --rf-soft:#f7f1e7;          /* image wells, stat boxes */
  --rf-line:#ebe2d3;
  /* text */
  --rf-ink:#2f2723;
  --rf-sub:#7d7068;
  --rf-mute:#a99d92;
  /* accents */
  --rf-orange:#ec8a35;
  --rf-orange-2:#f6b35a;
  --rf-red:#e0564a;
  --rf-gold:#e7b23c;
  --rf-silver:#8fa9c4;
  --rf-bronze:#df8a45;
  --rf-brown:#8a5a3b;
  --rf-green:#3d8a57;
  --rf-forest:#2c3a30;
  --rf-forest-2:#3b4b3e;
  --rf-night:#1f2a2a;
  --rf-beige-pill:#f1e3cc;
  /* shape */
  --rf-r:20px;
  --rf-r-sm:12px;
  --rf-shadow:0 1px 2px rgba(60,45,30,.05),0 8px 24px rgba(60,45,30,.06);
  --rf-gap:12px;
  /* type */
  --rf-sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --rf-serif:"Marcellus","Cormorant Garamond","Times New Roman",serif;
  --rf-hand:"Yomogi","Klee One","Hiragino Maru Gothic ProN",cursive;
  background:var(--rf-page);
  color:var(--rf-ink);
  font-family:var(--rf-sans);
  font-feature-settings:"palt";
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
.rf *,.rf *::before,.rf *::after{box-sizing:border-box}
:where(.rf) img{max-width:100%;height:auto;display:block}
:where(.rf) a{color:inherit}
:where(.rf) :is(p,h1,h2,h3,ol,ul){margin:0}
:where(.rf) :is(ol,ul){padding:0;list-style:none}
:where(.rf) button{font-family:inherit}
:where(.rf) :is(h1,h2,h3){font-family:inherit;color:inherit;line-height:inherit;letter-spacing:inherit}
.rf [hidden]{display:none!important}
.rf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- layout ---------- */
.rf-wrap{max-width:960px;margin:0 auto;padding:6px 10px}
.rf-panel{background:var(--rf-panel);border:1px solid var(--rf-line);border-radius:var(--rf-r);box-shadow:var(--rf-shadow);padding:20px 16px 22px}
@media (min-width:750px){.rf-wrap{padding:10px 24px}.rf-panel{padding:32px 36px 36px}}

/* ---------- section header (icon + title + pill) ---------- */
.rf-sh{display:flex;align-items:center;gap:6px;margin-bottom:14px}
.rf-sh>.rf-pill,.rf-sh>.rf-sh__sub,.rf-sh>.rf-sh__right{flex:0 0 auto}
.rf-sh .rf-ic{width:26px;height:26px;flex:0 0 auto}
.rf-sh__title{font-weight:900;font-size:clamp(14px,3.95vw,22px);min-width:0;letter-spacing:0;line-height:1.35}
.rf-sh__sub{font-size:12px;color:var(--rf-sub);font-weight:500}
.rf-sh__right{margin-left:auto;display:flex;align-items:baseline;gap:4px}
.rf-lead{font-size:13px;color:var(--rf-sub);margin:-6px 0 16px!important;line-height:1.8}
.rf-ic{width:20px;height:20px;display:inline-block;vertical-align:middle}
.rf-ic--arrow{width:16px;height:16px}
.rf-i-gold{color:var(--rf-gold)}.rf-i-ink{color:var(--rf-ink)}.rf-i-red{color:var(--rf-red)}.rf-i-brown{color:var(--rf-brown)}

/* ---------- pills / buttons ---------- */
.rf-pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:1.7;white-space:nowrap}
.rf-pill--live{border:1.5px solid var(--rf-red);color:var(--rf-red);background:#fff}
.rf-pill--beige{background:var(--rf-beige-pill);color:var(--rf-brown)}
.rf-pill--red{background:var(--rf-red);color:#fff}
.rf-pill--collab{border:1px solid #e7a0a0;color:#d55b5b;background:#fff;font-size:10px;padding:0 8px}
.rf-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:10px 22px;border-radius:999px;border:1.5px solid var(--rf-ink);background:transparent;color:var(--rf-ink);font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .15s}
.rf-btn:hover{background:var(--rf-ink);color:#fff}
.rf-btn:active{transform:scale(.985)}
.rf-btn--solid{background:var(--rf-ink);color:#fff}
.rf-btn--accent{background:var(--rf-orange);border-color:var(--rf-orange);color:#fff}
.rf-btn--accent:hover{background:#d9772a;border-color:#d9772a}
.rf-btn--light{border-color:rgba(255,255,255,.75);color:#fff}
.rf-btn--light:hover{background:#fff;color:var(--rf-forest)}
.rf-btn--live{background:var(--rf-red);border-color:var(--rf-red);color:#fff}
.rf-btn[disabled]{opacity:.45;pointer-events:none}
.rf-more{margin-top:18px;max-width:420px;margin-left:auto;margin-right:auto}
@media (min-width:750px){.rf-btn{font-size:15px}}

/* ---------- tabs ---------- */
.rf-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.rf-tabs::-webkit-scrollbar{display:none}
.rf-tab{flex:0 0 auto;min-height:36px;padding:6px 11px;border-radius:999px;border:1px solid var(--rf-line);background:#fff;color:var(--rf-ink);font-size:11.5px;font-weight:700;cursor:pointer}
.rf-tab[aria-selected="true"]{background:var(--rf-forest);border-color:var(--rf-forest);color:#fff}

/* ---------- image wells ---------- */
.rf-thumb{background:var(--rf-soft);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.rf-thumb img{width:100%;height:100%;object-fit:contain}
.rf-empty{padding:24px 12px;text-align:center;color:var(--rf-sub);font-size:13px}
.rf-note{margin-top:10px!important;text-align:center;font-size:11px;color:var(--rf-mute)}
.rf-updated{font-size:10.5px;color:var(--rf-mute)}
.rf-skel{background:linear-gradient(90deg,var(--rf-soft) 25%,#fbf7f0 50%,var(--rf-soft) 75%);background-size:200% 100%;animation:rf-skel 1.4s infinite;border-radius:var(--rf-r-sm)}
@keyframes rf-skel{to{background-position:-200% 0}}


/* ---------- real product images (Shopify variant images are white cards with a label) ----------
   Zoom/crop is set from the lineup section (商品画像の拡大率 / 縦位置). White background is
   multiplied into the beige wells so bags look like cut-outs. */
.rf{--rf-zoom:1.9;--rf-zoom-y:42%;--rf-zoom-f:1.6;--rf-zoom-fy:42%}
.rf-thumb img,.rf-item__img img,.rf-feed__hero-img img,.rf-hero__product img{object-fit:cover!important;width:100%!important;height:100%!important;transform:scale(var(--rf-zoom));transform-origin:50% var(--rf-zoom-y);mix-blend-mode:multiply}
.rf-thumb,.rf-item__img,.rf-feed__hero-img{background:#f5efe5}
.rf-cat-furoshiki img{transform:scale(var(--rf-zoom-f))!important;transform-origin:50% var(--rf-zoom-fy)!important}

/* =====================================================================
   ① HERO  (mobile-first; mock: photo right, hand copy top-left, serif title bottom-left)
   ===================================================================== */
.rf-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#f7f2ea 0%,#efe6d8 60%,#e8dcc9 100%);min-height:clamp(430px,116vw,540px)}
.rf-hero__photo{position:absolute;inset:0}
.rf-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:var(--rf-photo-pos,70% 20%)}
/* Photo overlay: the ONLY thing that lightens the photo. Strength = section setting 「画像オーバーレイの濃さ」
   (--rf-hero-ov, 0–0.8). 0 → no overlay at all (photo shown with its own colours/brightness).
   The shape (text side: left + bottom) is fixed; the setting scales it. Text lives outside this layer. */
.rf-hero__photo::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--rf-hero-ov,0);background:
  linear-gradient(90deg,rgba(247,242,234,1) 0%,rgba(247,242,234,.64) 34%,rgba(247,242,234,0) 58%),
  linear-gradient(0deg,rgba(247,242,234,1) 0%,rgba(247,242,234,.6) 22%,rgba(247,242,234,0) 42%)}
.rf-hero--ov0 .rf-hero__photo::after{content:none;display:none}
.rf-hero__product{position:absolute;right:-8%;top:16%;width:66%;max-width:420px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:radial-gradient(circle,#fff 0%,#f3ebdf 70%)}
.rf-hero__product img{mix-blend-mode:multiply}
.rf-hero__placeholder{position:absolute;right:12px;top:12px;font-size:10px;color:var(--rf-sub);background:rgba(255,255,255,.75);padding:2px 8px;border-radius:999px;z-index:2}
.rf-hero__body{position:relative;z-index:1;padding:22px 18px 46px;min-height:inherit;display:flex;flex-direction:column}
.rf-hero__hand{font-family:var(--rf-hand);font-size:clamp(17px,5vw,22px);line-height:1.5;letter-spacing:.05em;transform:rotate(-7deg);transform-origin:left top;margin:14px 0 0 2px!important;color:var(--rf-ink);max-width:62%}
.rf-hero__title{margin-top:auto!important;font-family:var(--rf-serif);font-weight:400;font-size:clamp(38px,11.4vw,52px);line-height:1.02;letter-spacing:.01em;color:var(--rf-ink)}
.rf-hero__title span{display:block}
.rf-hero__dates{margin-top:10px!important;font-family:var(--rf-sans);font-weight:900;font-size:clamp(21px,6.2vw,28px);line-height:1.1;letter-spacing:.01em;white-space:nowrap;display:flex;align-items:baseline;font-variant-numeric:tabular-nums}
.rf-hero__dates small{font-size:.5em;font-weight:900;letter-spacing:.04em;margin:0 0 0 .28em}
.rf-hero__dash{margin:0 .3em;font-weight:500}
.rf-hero__copy{margin-top:8px!important;font-size:clamp(12.5px,3.6vw,14px);line-height:1.75;font-weight:700;color:var(--rf-ink)}
.rf-hero__cta{display:flex;gap:8px;margin-top:18px;max-width:420px}
.rf-hero__cta .rf-btn{min-height:44px;font-size:13px;padding:8px 14px;background:rgba(255,255,255,.7)}
.rf-hero__cta .rf-btn--solid{background:var(--rf-ink)}
@media (min-width:750px){
  .rf-hero:not(.rf-narrow),.rf-hero:not(.rf-narrow) .rf-hero__body{min-height:640px}
  .rf-hero:not(.rf-narrow) .rf-hero__body{max-width:1120px;margin:0 auto;padding:56px 48px}
  .rf-hero:not(.rf-narrow) .rf-hero__product{right:4%;top:auto;bottom:10%;width:44%}
  .rf-hero:not(.rf-narrow) .rf-hero__title{font-size:clamp(54px,7vw,92px)}
  .rf-hero:not(.rf-narrow) .rf-hero__copy{font-size:15px}
}
/* PC: keep the phone-width composition, centred */
.rf-narrow{max-width:480px;margin-left:auto;margin-right:auto}
@media (min-width:750px){.rf-hero.rf-narrow{min-height:600px;border-radius:0 0 4px 4px}}

/* =====================================================================
   ② RECORD
   ===================================================================== */
.rf-record--overlap{position:relative;z-index:2;margin-top:-30px}
.rf-record.rf-narrow{background:transparent}
.rf-record.rf-narrow .rf-wrap{padding:0 10px 10px}
.rf-rec{padding:16px 16px 14px}
.rf-rec .rf-sh{margin-bottom:10px}
.rf-rec .rf-sh .rf-ic{width:28px;height:28px}
.rf-rec .rf-sh__title{font-size:clamp(16px,4.6vw,20px)}
.rf-rec__label{font-size:13px;font-weight:700;line-height:1.4}
.rf-rec__sales{font-weight:900;font-size:clamp(34px,10vw,46px);line-height:1.12;letter-spacing:.005em;font-variant-numeric:tabular-nums;white-space:nowrap}
.rf-rec__sales small{font-size:.78em;margin-right:6px;font-weight:900}
.rf-rec__progress{display:flex;align-items:center;gap:12px;margin-top:4px}
.rf-rec__progress .rf-bar{flex:1 1 auto;margin-top:0}
.rf-rec__goal{flex:0 0 auto;text-align:right;font-size:11px;color:var(--rf-sub);line-height:1.35}
.rf-rec__pct{display:block;font-weight:900;font-size:15px;color:var(--rf-red);font-variant-numeric:tabular-nums}
.rf-bar{position:relative;height:12px;border-radius:999px;background:#eee5d7;overflow:hidden;margin-top:10px}
.rf-bar__fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:linear-gradient(90deg,var(--rf-orange-2),var(--rf-orange));transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.rf-bar--green .rf-bar__fill{background:linear-gradient(90deg,#8cc49b,var(--rf-green) 60%,#2a6a41)}
.rf-stats{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:14px;border-top:1px solid var(--rf-line);padding-top:10px}
.rf-stat{padding:0 10px;border-left:1px solid var(--rf-line);min-width:0}
.rf-stat:first-child{border-left:0;padding-left:0}
.rf-stat__label{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--rf-sub);font-weight:700;white-space:nowrap}
.rf-stat__label .rf-ic{width:15px;height:15px}
.rf-stat__value{font-weight:900;font-size:clamp(17px,5vw,22px);line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap;display:flex;align-items:baseline;gap:4px}
.rf-stat__value small{font-size:12px;font-weight:700}
.rf-cd{font-weight:900;font-size:clamp(16px,4.8vw,21px);line-height:1.25;font-variant-numeric:tabular-nums}
.rf-cd small{font-size:12px;margin:0 2px;font-weight:700}
.rf-cd__time{display:block}
.rf-rec__foot{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.rf-rec__status{font-size:11px;line-height:1.5;color:var(--rf-sub)}
.rf-rec__status:empty{display:none}
.rf-record[data-state="error"] .rf-rec__status,.rf-record[data-state="stale"] .rf-rec__status{color:#b4543f;background:#fbefe9;border-radius:8px;padding:6px 10px}
.rf-record[data-state="error"] [data-rf-sales],.rf-record[data-state="error"] [data-rf-units],.rf-record[data-state="error"] [data-rf-participants],.rf-record[data-state="error"] [data-rf-pct]{color:var(--rf-mute)}
.rf-updated:empty{display:none}
@media (min-width:750px){
  .rf-record:not(.rf-narrow) .rf-rec__foot{flex-direction:row;justify-content:space-between}
  .rf-record:not(.rf-narrow) .rf-cd__time{display:inline;margin-left:6px}
  .rf-record:not(.rf-narrow) .rf-stat{padding:0 20px}
  .rf-record.rf-narrow .rf-panel{padding:18px 18px 16px}
}

/* ---------- PC (≥1200px): REVIVALの記録 inside the FV, on the right-hand free space ----------
   CSS only. Active when the FV is the full-width PC layout with a photo (hero not "スマホ幅") and the
   record section is set to overlap the FV. The FV gets a fixed height; the record section is pulled up by
   exactly that height and is itself that tall, so no empty space is left below the FV.
   Position: FV setting 「PC：記録カードの横位置」 → --rf-rec-x (card centre, % of the FV width).
     --rf-cw  card width  = the space right of the centre ×2 minus the right margin, 340px … 33vw(max 480px)
     --rf-cx  card centre = the setting, but never closer than the 32px right margin
   So a larger value always moves the card's left edge to the right (it gets narrower instead of stopping),
   until the card reaches its minimum width at the right margin.
   Below 1200px the right-hand space is too narrow for the card next to the person → phone layout
   (card under the FV, overlapping 30px), unchanged. */
@media (min-width:1200px){
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo):has(.rf-record--overlap){
    --rf-hero-h:clamp(600px,46vw,760px);--rf-card-w:clamp(360px,33vw,480px);--rf-card-m:32px;
    --rf-cw:clamp(340px,calc((100% - var(--rf-rec-x,84%)) * 2 - var(--rf-card-m) * 2),var(--rf-card-w));
    --rf-cx:min(var(--rf-rec-x,84%),calc(100% - var(--rf-cw) / 2 - var(--rf-card-m)))}
  html:has(.rf-record--overlap) .rf-hero:not(.rf-narrow):has(.rf-hero__photo){height:var(--rf-hero-h);min-height:0}
  html:has(.rf-record--overlap) .rf-hero:not(.rf-narrow):has(.rf-hero__photo) .rf-hero__body{height:100%;min-height:0}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap{
    position:relative;z-index:2;height:var(--rf-hero-h);margin-top:calc(-1 * var(--rf-hero-h));
    max-width:none;background:transparent;pointer-events:none}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-wrap{
    position:absolute;top:50%;left:var(--rf-cx);width:var(--rf-cw);max-width:none;margin:0;padding:0;pointer-events:auto;
    transform:translate(-50%,-50%);container-type:inline-size}
  /* type scales with the card width (cqi = 1% of the card width) so a narrower card never overflows */
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-panel{padding:clamp(18px,5.4cqi,26px) clamp(18px,5.4cqi,26px) clamp(16px,4.2cqi,20px);box-shadow:0 2px 6px rgba(40,30,20,.08),0 18px 40px rgba(40,30,20,.16)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-sh__title{font-size:clamp(14px,4.4cqi,21px);white-space:nowrap}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-sh .rf-ic{width:clamp(22px,5.8cqi,28px);height:clamp(22px,5.8cqi,28px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-rec__sales{font-size:clamp(32px,10.4cqi,50px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-stat{padding:0 clamp(6px,2.4cqi,12px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-stat:first-child{padding-left:0}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-stat__label{font-size:clamp(10px,2.6cqi,11.5px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-stat__value{font-size:clamp(16px,4.6cqi,22px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-cd{font-size:clamp(15px,4.4cqi,21px)}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-cd__time{display:block;margin-left:0}
  html:has(.rf-hero:not(.rf-narrow) .rf-hero__photo) .rf-record--overlap .rf-rec__foot{flex-direction:column}
  /* keep the FV copy left of the card */
  html:has(.rf-record--overlap) .rf-hero:not(.rf-narrow):has(.rf-hero__photo) .rf-hero__body{max-width:none;margin:0;padding:56px max(48px,calc(50vw - 560px));padding-right:calc(100% - var(--rf-cx) + var(--rf-cw) / 2 + 32px)}
}
}

/* =====================================================================
   ③ SECRET ORIBA
   ===================================================================== */
.rf-secret__text{font-size:13px;line-height:1.85;color:var(--rf-ink)}
.rf-secret__text p+p{margin-top:2px}
.rf-secret__stage{position:relative;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;min-height:190px;margin:8px 0 6px}
.rf-secret__hand{font-family:var(--rf-hand);font-size:clamp(16px,4.6vw,22px);line-height:1.6;transform:rotate(-12deg);color:var(--rf-ink);padding-left:4px}
.rf-secret__visual{position:relative;aspect-ratio:1/1;max-width:240px;width:100%;justify-self:center;display:flex;align-items:center;justify-content:center}
.rf-secret__visual::before{content:"";position:absolute;inset:-6%;background:repeating-conic-gradient(from 0deg,rgba(216,186,140,.34) 0 6deg,rgba(216,186,140,0) 6deg 18deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);border-radius:50%}
.rf-secret__img{position:relative;width:92%;aspect-ratio:1;overflow:hidden;border-radius:50%}
.rf-secret__img img{width:100%;height:100%;object-fit:cover;transform:scale(var(--rf-zoom));transform-origin:50% var(--rf-zoom-y);mix-blend-mode:multiply}
.rf-secret__visual.is-locked .rf-secret__img img{filter:grayscale(1) brightness(.62) contrast(60)}
.rf-secret__shape{position:relative;width:70%;height:62%;margin-top:14%;border-radius:10px 10px 18px 18px;background:#1d1a18;box-shadow:0 12px 20px rgba(0,0,0,.25)}
.rf-secret__shape::before{content:"";position:absolute;left:18%;right:18%;top:-34%;height:40%;border:7px solid #1d1a18;border-bottom:0;border-radius:40px 40px 0 0}
.rf-secret__q{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-top:12%;font-weight:900;font-size:clamp(40px,12vw,64px);color:#fff}
.rf-secret__visual:not(.is-locked) .rf-secret__q{display:none}
.rf-me{margin-top:6px}
.rf-me__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.rf-me__label{font-size:13px;font-weight:700}
.rf-me__count{font-weight:900;font-size:28px;line-height:1.1}
.rf-me__count small{font-size:15px;font-weight:700;margin-left:2px}
.rf-me__msg{margin-top:10px!important;font-size:13px;font-weight:700}
.rf-me__msg b{color:var(--rf-red);font-size:15px;margin:0 2px}
.rf-me__note{margin-top:4px!important;font-size:10.5px;color:var(--rf-mute)}
.rf-me__gate{margin-top:6px;padding:14px;border-radius:var(--rf-r-sm);background:var(--rf-soft);text-align:center;font-size:13px}
.rf-me__gate .rf-btn{margin-top:10px;min-height:42px;background:#fff}

/* =====================================================================
   ④ RANKING
   ===================================================================== */
.rf-rank__item{display:grid;grid-template-columns:34px 52px 1fr auto;gap:10px;align-items:center;padding:8px 0}
.rf-rank__item+.rf-rank__item{border-top:1px dashed var(--rf-line)}
.rf-rank__no{display:flex;flex-direction:column;align-items:center;font-size:11px;font-weight:700;color:var(--rf-sub);line-height:1.1}
.rf-rank__no .rf-ic{width:26px;height:26px}
.rf-rank__no--1{color:var(--rf-gold)}.rf-rank__no--2{color:var(--rf-silver)}.rf-rank__no--3{color:var(--rf-bronze)}
.rf-rank__no span{color:var(--rf-ink);margin-top:1px}
.rf-rank__plain{font-size:14px;font-weight:700;color:var(--rf-sub)}
.rf-rank__img{width:52px;height:52px}
.rf-rank__name{font-size:14px;font-weight:700;line-height:1.35}
.rf-rank__meter{height:7px;border-radius:999px;background:#f0e9de;margin-top:6px;overflow:hidden}
.rf-rank__meter span{display:block;height:100%;border-radius:999px;transition:width 1.2s}
.rf-rank__units{font-weight:900;font-size:17px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rf-rank__units small{font-size:11px;margin-left:2px;font-weight:700}
.rf-move{display:block;font-size:10px;font-weight:700;text-align:right}
.rf-move--up{color:var(--rf-green)}.rf-move--down{color:var(--rf-mute)}.rf-move--hot{color:var(--rf-red)}
@media (min-width:750px){.rf-rank__item{grid-template-columns:44px 72px 1fr auto;gap:18px;padding:12px 0}.rf-rank__img{width:72px;height:72px}.rf-rank__name{font-size:15px}.rf-rank__units{font-size:20px}}

/* =====================================================================
   ⑤ COMBOS
   ===================================================================== */
.rf-combo{display:grid;grid-template-columns:28px auto 1fr;gap:10px;align-items:center;padding:10px 0}
.rf-combo+.rf-combo{border-top:1px dashed var(--rf-line)}
.rf-combo__no{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:13px;background:var(--rf-mute)}
.rf-combo:nth-child(1) .rf-combo__no{background:var(--rf-gold)}
.rf-combo:nth-child(2) .rf-combo__no{background:#6f9fd8}
.rf-combo:nth-child(3) .rf-combo__no{background:var(--rf-bronze)}
.rf-combo__imgs{display:flex;gap:6px}
.rf-combo__imgs .rf-thumb{width:54px;height:54px}
.rf-combo__names{font-size:12px;line-height:1.55;font-weight:700}
.rf-combo__names span{color:var(--rf-sub);font-weight:500}
.rf-combo__buyers{margin-top:2px!important;font-size:11px;color:var(--rf-sub)}
.rf-combo__buyers b{font-size:17px;color:var(--rf-ink);margin-right:2px;font-weight:900}
@media (min-width:750px){.rf-combos{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.rf-combo+.rf-combo{border-top:0}.rf-combo{border-bottom:1px dashed var(--rf-line)}.rf-combo__imgs .rf-thumb{width:72px;height:72px}.rf-combo__names{font-size:13px}}

/* =====================================================================
   ⑥ LIVE FEED
   ===================================================================== */
.rf-feed__hero{position:relative;display:block;border-radius:16px;overflow:hidden;border:2px solid #f3d7b8;background:var(--rf-soft);text-decoration:none}
.rf-feed__hero-img{aspect-ratio:1/.82;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#fff 0%,#f4ece0 75%)}
.rf-feed__hero-img{overflow:hidden}
.rf-feed__hero-img img{transform:scale(calc(var(--rf-zoom) * .82))}
.rf-feed__tag{position:absolute;left:10px;top:auto;bottom:66px;background:var(--rf-red);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:6px}
.rf-feed__hero-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-top:1px solid var(--rf-line)}
.rf-feed__hero-bar .rf-thumb{width:40px;height:40px;flex:0 0 auto}
.rf-feed__row{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--rf-line);text-decoration:none;animation:rf-in .5s ease both}
.rf-feed__row:last-child{border-bottom:0}
.rf-feed__row .rf-thumb{width:64px;height:64px}
.rf-feed__name{font-size:13px;font-weight:700;line-height:1.45}
.rf-feed__time{font-size:11px;color:var(--rf-sub)}
.rf-feed__qty{font-weight:900;font-size:13px;color:var(--rf-sub)}
.rf-feed__list{margin-top:6px}
@keyframes rf-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (min-width:750px){.rf-feed__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:start}.rf-feed__list{margin-top:0}}

/* =====================================================================
   ⑦ LINEUP
   ===================================================================== */
.rf-sh--brown .rf-sh__title{color:var(--rf-brown)}
.rf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px}
@media (min-width:750px){.rf-grid{grid-template-columns:repeat(4,1fr);gap:24px 16px}}
@media (min-width:1000px){.rf-grid{grid-template-columns:repeat(5,1fr)}}
.rf-item{display:flex;flex-direction:column;align-items:center;text-align:center;background:none;border:0;padding:0;cursor:pointer;color:inherit;width:100%}
.rf-item__img{position:relative;width:100%;aspect-ratio:1/1.06;border-radius:12px;background:linear-gradient(180deg,#fbf8f3,#f3ece1);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:transform .25s}
.rf-item:hover .rf-item__img{transform:translateY(-2px)}

.rf-item__soldout{position:absolute;inset:auto 0 0 0;background:rgba(47,39,35,.72);color:#fff;font-size:10px;font-weight:700;padding:2px 0}
.rf-item__name{margin-top:6px!important;font-size:12px;font-weight:700;line-height:1.45;min-height:2.9em;display:flex;align-items:center}
.rf-item__price{font-size:11px;color:var(--rf-sub)}
.rf-item .rf-pill--collab{margin-top:3px}
@media (min-width:750px){.rf-item__name{font-size:13px}}
/* size sheet */
.rf-sheet{border:0;padding:0;margin:auto auto 0;width:100%;max-width:520px;border-radius:20px 20px 0 0;background:var(--rf-panel);color:var(--rf-ink);font-family:var(--rf-sans)}
.rf-sheet::backdrop{background:rgba(30,24,20,.45)}
@media (min-width:750px){.rf-sheet{margin:auto;border-radius:20px}}
.rf-sheet__in{padding:20px 18px 24px}
.rf-sheet__head{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center}
.rf-sheet__head .rf-thumb{width:72px;height:72px}
.rf-sheet__name{font-weight:900;font-size:16px;line-height:1.4}
.rf-sheet__close{width:40px;height:40px;border-radius:50%;border:1px solid var(--rf-line);background:#fff;font-size:18px;cursor:pointer}
.rf-sheet__list{margin-top:16px!important;display:grid;gap:8px}
.rf-sheet__link{color:inherit;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:12px;border:1px solid var(--rf-line);background:#fff;text-decoration:none;font-weight:700;font-size:14px}
.rf-sheet__link:hover{border-color:var(--rf-ink)}
.rf-sheet__link small{font-weight:500;color:var(--rf-sub);margin-left:auto;margin-right:10px}
.rf-sheet__link.is-soldout{color:var(--rf-mute);pointer-events:none;background:var(--rf-soft)}

/* =====================================================================
   ⑧ LIVE
   ===================================================================== */
.rf-live{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(180deg,var(--rf-forest-2),var(--rf-forest));color:#fff}
.rf-live__media{position:relative;aspect-ratio:4/3.3;background:linear-gradient(160deg,#55675a,#2f3d33)}
.rf-live__media img{width:100%;height:100%;object-fit:cover}
.rf-live__media::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(0deg,var(--rf-forest-2) 5%,rgba(59,75,62,0))}
.rf-live__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:rgba(255,255,255,.7)}
.rf-live__state{position:absolute;left:12px;top:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:14px;font-weight:700;letter-spacing:.04em;background:#fff;color:var(--rf-ink)}
.rf-live__state .rf-ic{width:18px;height:18px}
.rf-live__state.is-now{background:var(--rf-red);color:#fff}
.rf-live__state.is-now .rf-ic{animation:rf-blink 1.3s infinite}
@keyframes rf-blink{50%{opacity:.35}}
.rf-live__bubble{position:absolute;right:10px;top:14%;z-index:2;max-width:46%;padding:10px 14px;border-radius:50%;background:#fff;color:var(--rf-ink);font-family:var(--rf-hand);font-size:clamp(11px,3.2vw,14px);line-height:1.45;text-align:center;transform:rotate(-10deg);box-shadow:0 4px 12px rgba(0,0,0,.15)}
.rf-live__date{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin:-64px 14px 0;padding:10px 16px;border-radius:12px;background:#fff;color:var(--rf-ink);width:max-content;max-width:calc(100% - 28px);box-shadow:0 6px 16px rgba(0,0,0,.16)}
.rf-live__date .rf-ic{width:30px;height:30px}
.rf-live__day{font-weight:900;font-size:16px;line-height:1.3}
.rf-live__time{font-weight:900;font-size:18px;line-height:1.2;letter-spacing:.02em}
.rf-live__body{position:relative;z-index:1;padding:14px 16px 18px}
.rf-live__title{font-weight:700;font-size:15px;line-height:1.6}
.rf-live__desc{margin-top:4px!important;font-size:13px;line-height:1.8;color:rgba(255,255,255,.88);white-space:pre-line}
.rf-live__cd{margin-top:6px!important;font-size:12px;color:#ffd99b;font-weight:700}
.rf-live__cta{margin-top:14px}
.rf-live__next{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.25);font-size:12px}
.rf-live__next p{color:rgba(255,255,255,.7);margin-bottom:4px!important;font-weight:700}
.rf-live__next li{display:flex;gap:10px;line-height:1.9}
.rf-live__next b{min-width:8.5em}
.rf-edit{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:8px;background:#f6e6c2;color:#6b4a1d;font-size:11px;font-weight:700;text-decoration:none}
.rf-edit .rf-ic{width:14px;height:14px}
@media (max-width:749px){.rf-edit{display:none}}
@media (min-width:750px){
  .rf-live{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto 1fr}
  .rf-live__media{grid-row:1/3;aspect-ratio:auto;min-height:440px}
  .rf-live__date{grid-column:2;align-self:start}
  .rf-live__body{grid-column:2}
  .rf-live__media::after{inset:0 0 0 auto;width:30%;height:auto;background:linear-gradient(270deg,var(--rf-forest-2),rgba(59,75,62,0))}
  .rf-live__date{margin:28px 28px 0}
  .rf-live__body{padding:18px 28px 28px}
  .rf-live__title{font-size:18px}
}

/* =====================================================================
   ⑨ STAMP
   ===================================================================== */
.rf-stamp__now{font-size:13px;font-weight:700}
.rf-stamp__now b{font-size:26px;font-weight:900;margin:0 2px}
.rf-stamp__strip{display:flex;gap:6px;overflow-x:auto;padding:8px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:thin}
.rf-stamp__cell{flex:0 0 auto;width:44px;display:flex;flex-direction:column;align-items:center;gap:4px;scroll-snap-align:start}
.rf-stamp__dot{position:relative;width:38px;height:38px;border-radius:50%;border:1.5px solid #d9cfc0;background:#fff;display:flex;align-items:center;justify-content:center}
.rf-stamp__dot svg{width:20px;height:20px;opacity:0}
.rf-stamp__day{font-size:9.5px;color:var(--rf-sub);white-space:nowrap;font-weight:700}
.rf-stamp__cell.is-today .rf-stamp__dot{border:2px solid var(--rf-orange);box-shadow:0 0 0 4px rgba(236,138,53,.14)}
.rf-stamp__cell.is-today .rf-stamp__day{color:var(--rf-orange)}
.rf-stamp__cell.is-got .rf-stamp__dot{background:var(--rf-green);border-color:var(--rf-green);box-shadow:inset 0 0 0 3px #fff,0 0 0 1.5px var(--rf-green)}
.rf-stamp__cell.is-got .rf-stamp__dot svg{opacity:1}
.rf-stamp__cell.is-new .rf-stamp__dot{animation:rf-pop .6s cubic-bezier(.2,1.6,.4,1) both}
@keyframes rf-pop{from{transform:scale(1.8);opacity:0}to{transform:scale(1);opacity:1}}
.rf-stamp__cell--gift .rf-stamp__dot{border-color:var(--rf-gold);background:#fff7e3;color:var(--rf-gold)}
.rf-stamp__cell--gift .rf-stamp__dot .rf-ic{width:22px;height:22px}
.rf-stamp__cell--gift .rf-stamp__day{color:var(--rf-gold)}
.rf-stamp__form{margin-top:14px;display:grid;gap:8px}
.rf-stamp__form label{font-size:13px;font-weight:700}
.rf-input{width:100%;min-height:50px;padding:12px 16px;border-radius:12px;border:1px solid var(--rf-line);background:#fff;font-size:16px;font-family:inherit;color:var(--rf-ink)}
.rf-input:focus{outline:2px solid var(--rf-orange);outline-offset:1px}
.rf-stamp__msg{min-height:1.6em;font-size:13px;font-weight:700;text-align:center}
.rf-stamp__msg.is-ok{color:var(--rf-green)}.rf-stamp__msg.is-ng{color:var(--rf-red)}
.rf-stamp__gate{margin-top:12px;padding:14px;border-radius:12px;background:var(--rf-soft);text-align:center;font-size:13px}
.rf-stamp__gate .rf-btn{margin-top:10px;background:#fff}
@media (min-width:750px){.rf-stamp__strip{flex-wrap:wrap;overflow:visible}.rf-stamp__cell{width:calc((100% - 6px*9)/10)}.rf-stamp__dot{width:46px;height:46px}.rf-stamp__day{font-size:10.5px}}

/* =====================================================================
   ⑩ STRETCH GOALS
   ===================================================================== */
.rf-panel--night{position:relative;overflow:hidden;color:#fff;border:0;background:
  radial-gradient(120% 60% at 80% -10%,rgba(255,236,190,.28),transparent 60%),
  linear-gradient(180deg,#46545b 0%,#2e3a3d 45%,var(--rf-night) 100%)}
.rf-mount{position:absolute;inset:0 0 auto 0;height:180px;opacity:.5;pointer-events:none}
.rf-goal__eyebrow{position:relative;font-family:var(--rf-serif);font-size:clamp(20px,6vw,28px);letter-spacing:.04em;line-height:1.2}
.rf-goal__heading{position:relative;font-weight:900;font-size:clamp(18px,5.2vw,24px);line-height:1.4}
.rf-goal__lead{position:relative;margin-top:6px!important;font-size:12.5px;line-height:1.8;color:rgba(255,255,255,.88)}
.rf-goals{position:relative;display:flex;gap:8px;overflow-x:auto;padding:24px 2px 4px;scroll-snap-type:x mandatory;scrollbar-width:none}
.rf-goals::-webkit-scrollbar{display:none}
.rf-goal{position:relative;flex:0 0 calc((100% - 16px)/3);min-width:104px;scroll-snap-align:start;background:#fff;color:var(--rf-ink);border-radius:10px;padding:14px 8px 10px;text-align:center}
.rf-goal__state{position:absolute;z-index:1;left:50%;top:-11px;transform:translateX(-50%);padding:1px 10px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap;background:#8e959a;color:#fff}
.rf-goal.is-reached .rf-goal__state,.rf-goal.is-current .rf-goal__state{background:var(--rf-red)}
.rf-goal__amount{font-weight:900;font-size:clamp(12.5px,3.6vw,16px);font-variant-numeric:tabular-nums;white-space:nowrap}
.rf-goal__title{margin-top:2px!important;font-size:10.5px;font-weight:700;line-height:1.45}
.rf-goal__desc{margin-top:2px!important;font-size:10px;color:var(--rf-sub);line-height:1.45}
.rf-goal__img{margin-top:6px;border-radius:6px;overflow:hidden}
.rf-goal.is-locked{background:rgba(255,255,255,.86)}
.rf-goal.is-current{box-shadow:0 0 0 2px #ffd166}
.rf-track{position:relative;height:28px;margin:14px 4px 4px}
.rf-track__line{position:absolute;left:0;right:0;top:50%;height:4px;transform:translateY(-50%);border-radius:4px;background:rgba(255,255,255,.28)}
.rf-track__fill{position:absolute;left:0;top:50%;height:4px;transform:translateY(-50%);border-radius:4px;width:0;background:linear-gradient(90deg,#57b27a,#d9c64a,#ffd166);transition:width 1.4s}
.rf-track__dot{position:absolute;top:50%;width:14px;height:14px;margin-left:-7px;transform:translateY(-50%);border-radius:50%;background:#56615f;border:2px solid rgba(255,255,255,.6)}
.rf-track__dot.is-on{background:#ffe07a;border-color:#fff4c7;box-shadow:0 0 0 4px rgba(255,209,102,.25),0 0 14px 4px rgba(255,209,102,.55)}
.rf-panel--night .rf-btn{margin-top:16px}
@media (min-width:750px){.rf-goal{flex-basis:calc((100% - 40px)/6);min-width:120px}.rf-goal__title{font-size:11.5px}}

/* =====================================================================
   ⑪ INSTAGRAM
   ===================================================================== */
.rf-ic--ig{width:30px!important;height:30px!important}
.rf-ig__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:12px;overflow:hidden}
@media (min-width:750px){.rf-ig__grid{grid-template-columns:repeat(6,1fr);gap:6px}}
.rf-ig__grid a{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--rf-soft)}
.rf-ig__grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.rf-ig__grid a:hover img{transform:scale(1.05)}

/* motion preferences */
@media (prefers-reduced-motion:reduce){.rf *{animation:none!important;transition:none!important}}
