/* JoyFit B2: Joy Fire original, visual autêntico e responsivo. */
.jf-fire-home{display:grid;grid-template-columns:minmax(0,1fr) 178px;align-items:center;gap:20px;min-height:252px;margin-top:17px;padding:27px 30px;border-color:#f5d8be;background:linear-gradient(114deg,#fff5e9 0%,#ffead5 64%,#ffd9b1 100%);color:#473026;overflow:hidden;position:relative}
.jf-fire-home:before{position:absolute;right:3%;top:-65px;width:270px;height:270px;border-radius:50%;border:27px solid #fff9ed7e;content:"";pointer-events:none}
.jf-fire-copy{z-index:1;max-width:710px}.jf-fire-eyebrow{color:#bb6538;letter-spacing:.13em;font-size:10px;font-weight:850}
.jf-fire-copy h2{margin:9px 0 4px;font:850 clamp(37px,4vw,53px)/1 "Outfit",var(--fd);letter-spacing:-.065em;color:#602e25}
.jf-fire-copy h2 small{font:750 17px "DM Sans",var(--fb);letter-spacing:-.02em;color:#8c5e48}
.jf-fire-copy>p{font-size:13px;color:#895b4c;line-height:1.5;margin:9px 0 17px}
.jf-fire-pills{display:flex;gap:7px;flex-wrap:wrap;max-width:650px}
.jf-fire-pills span{border:1px solid #edccad;background:#fff9f2;box-shadow:0 2px 6px #bd85500b;padding:8px 10px;font-size:11px;font-weight:700;color:#946e5b;border-radius:11px;white-space:nowrap}
.jf-fire-pills .is-done{background:#e5f3e9;border-color:#b9dcc7;color:#387454}
.jf-fire-bottom{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:baseline;margin-top:15px}
.jf-fire-bottom strong{font-size:12px;color:#874b2f}.jf-fire-bottom small{font-size:10px;color:#8b735f}
.jf-fire-link{display:inline-flex;align-items:center;min-height:38px;box-shadow:none!important;background:transparent!important;padding:9px 0;color:#9d4c25!important;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:800}
.jf-fire-visual{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.jf-fire-svg{width:min(100%,140px);height:auto;overflow:visible;filter:drop-shadow(0 8px 17px #ef8d4380)}
.jf-fire-motion{transform-origin:70px 131px;animation:jf-flame-float 3.5s ease-in-out infinite}.jf-fire-spark{animation:jf-flame-spark 2.6s ease-in-out infinite}
.jf-fire-visual-caption{font-weight:750;font-size:10px;letter-spacing:.05em;color:#b27745;white-space:nowrap}
.jf-fire-phase-0 .jf-fire-svg{filter:saturate(.65);opacity:.85}.jf-fire-phase-3 .jf-fire-svg{filter:drop-shadow(0 9px 18px #e98b4e95)}.jf-fire-phase-4 .jf-fire-svg{filter:drop-shadow(0 9px 20px #f57835ac)}.jf-fire-phase-5 .jf-fire-svg{filter:drop-shadow(0 0 16px #fbb958cf)}
@keyframes jf-flame-float{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
@keyframes jf-flame-spark{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}}
.jf-fire-profile{display:grid;gap:20px;margin-top:18px}.jf-fire-profile-heading{display:flex;gap:16px;align-items:center}.jf-fire-profile-icon{display:block;width:80px;flex:none}.jf-fire-profile-icon .jf-fire-svg{width:78px}
.jf-fire-profile h2{margin:7px 0 3px;font:800 24px "Outfit",var(--fd)}.jf-fire-profile-heading p{margin:0;font-size:12px;color:var(--t2)}
.jf-fire-profile-sharing{padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.jf-fire-profile-sharing strong{font-size:13px}.jf-fire-profile-sharing p{font-size:11px;line-height:1.5;color:var(--t2);margin:4px 0 0;max-width:500px}
.jf-switch{position:relative;flex:none;width:49px;height:30px;cursor:pointer}.jf-switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.jf-switch span{display:block;height:30px;border-radius:99px;background:#dbd3ce;transition:background .2s}.jf-switch span:after{content:"";display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 2px 6px #0002}.jf-switch input:checked+span{background:#ee8153}.jf-switch input:checked+span:after{transform:translateX(19px)}.jf-switch input:focus-visible+span{outline:3px solid #ee8153;outline-offset:3px}.jf-switch input:disabled+span{opacity:.45;cursor:not-allowed}
.jf-equipped-badge{display:inline-block;margin-top:8px;font-size:10px;font-weight:850;color:#ae783c;border-radius:10px;background:#fff1e0;padding:6px 9px}
.jf-rewards{max-width:1380px}.jf-rewards-hero{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:260px;background:linear-gradient(115deg,#ffeedc,#fff7ef);border-color:#f3dbbf;padding:30px 36px;overflow:hidden}
.jf-rewards-hero>div{max-width:600px}.jf-rewards-hero h2{font:830 clamp(28px,3vw,40px)/1.1 "Outfit",var(--fd);margin:10px 0;color:#542f28}.jf-rewards-hero p{font-size:14px;line-height:1.5;color:#936e59;max-width:510px}
.jf-rewards-hero strong,.jf-rewards-hero small{display:block;margin-top:7px;color:#a55b36}.jf-rewards-hero small{font-size:11px;color:#a28774}.jf-rewards-hero>img{max-width:210px;max-height:220px;object-fit:contain;flex:1}
.jf-rewards-filters{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px;gap:12px}.jf-rewards-filters span{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--t2)}
.jf-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.jf-reward-tile{padding:22px;display:flex;flex-direction:column;min-height:270px;gap:9px;border-radius:21px;position:relative;overflow:hidden}.jf-reward-tile.is-locked{background:var(--card);opacity:.78}.jf-reward-tile.is-ready{background:linear-gradient(145deg,#fff8ee,#fff1df);border-color:#ecc99d}.jf-reward-tile.is-equipped{background:linear-gradient(145deg,#f2fcf5,#fff9f0);border-color:#b7dabc}
.jf-reward-level{color:#ab784e;font-size:10px;font-weight:850;letter-spacing:.11em}.jf-reward-symbol{display:grid;place-items:center;width:51px;height:51px;background:#ffebd9;border:1px solid #f7d5b1;border-radius:16px;color:#db733c;font-size:32px}
.jf-reward-tile h3{font:750 19px "Outfit",var(--fd);margin:1px 0 0}.jf-reward-tile p{margin:0;color:var(--t2);font-size:12px;line-height:1.5;min-height:32px}.jf-reward-slot{font-size:10px;color:#aa7856;font-weight:750}.jf-reward-action{margin-top:auto;padding-top:10px}.jf-reward-action button{min-width:115px;min-height:38px;padding:8px 12px;font-size:11px;border-radius:11px}.jf-reward-owned{color:#4b865a;font-weight:800;font-size:12px}.jf-reward-locked{color:var(--t2);font-size:12px}
.jf-reward-disclaimer{font-size:11px;color:var(--t2);margin:18px 0 25px;line-height:1.6}
.jf-rank-categories{display:flex;gap:8px;margin:12px 0 15px;flex-wrap:wrap}.jf-rank-categories button{padding:8px 14px;border-radius:11px;font-size:11px;font-weight:790;background:#fff7f0!important;border:1px solid #f4ddcd;color:#91614e!important;min-height:35px}.jf-rank-categories button.on{background:#f87641!important;color:#fff!important;border-color:#f87641}
.jf-rank-fire{display:inline-flex;align-items:center;vertical-align:middle;margin:5px 0 4px;padding:3px 7px;border-radius:99px;background:#fff2da;color:#ac6032;font-size:10px;font-weight:850;width:max-content;max-width:100%}
.jf-rank-podium-person .jf-rank-fire{margin:0}.jf-reward-nav b{font-size:19px;color:#e77a4c;line-height:1}
body[data-joy-frame="level_005"] .jf-avatar,body[data-joy-frame="level_020"] .jf-avatar{border-color:#eda14f!important;box-shadow:0 0 0 5px #ffe3ae,0 0 0 7px #fff5e1!important}
body[data-joy-frame="level_020"] .jf-avatar{border-color:#e4b045!important;box-shadow:0 0 0 5px #ffe08a,0 0 0 8px #e7bc5d!important}
body[data-joy-flame="level_010"] .jf-fire-svg{filter:drop-shadow(0 0 12px #fd9276af)!important}
body[data-joy-flame="level_025"] .jf-fire-svg{filter:drop-shadow(0 0 14px #ffe06bcc)!important}
@media(min-width:960px){.jf-reward-nav{display:flex!important}}
@media(max-width:959px){#nav .jf-reward-nav{display:none!important}.jf-fire-home{grid-template-columns:minmax(0,1fr) 103px;padding:18px;gap:4px;min-height:240px}.jf-fire-copy h2{font-size:38px}.jf-fire-copy h2 small{display:block;font-size:13px;margin-top:2px}.jf-fire-copy>p{font-size:12px}.jf-fire-visual{align-self:center}.jf-fire-visual-caption{font-size:9px}.jf-fire-pills{gap:5px}.jf-fire-pills span{font-size:10px;padding:6px 7px}.jf-fire-bottom{display:grid;gap:4px}.jf-fire-link{font-size:11px}.jf-fire-profile-heading{align-items:flex-start}.jf-rewards-hero{padding:24px;min-height:210px}.jf-rewards-hero>img{width:100px;max-height:155px}.jf-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.jf-reward-tile{padding:16px;min-height:262px}.jf-reward-tile h3{font-size:17px}}
@media(max-width:430px){.jf-fire-home{grid-template-columns:minmax(0,1fr) 82px;padding:17px 14px;gap:2px}.jf-fire-copy h2{font-size:34px}.jf-fire-copy h2 small{font-size:12px}.jf-fire-visual .jf-fire-svg{width:84px}.jf-fire-visual-caption{display:none}.jf-fire-pills{max-width:270px}.jf-reward-grid{grid-template-columns:1fr}.jf-reward-tile{min-height:230px}.jf-rewards-hero>img{max-width:89px}.jf-rewards-hero h2{font-size:27px}.jf-rewards-hero p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.jf-fire-motion,.jf-fire-spark{animation:none!important}}
:root[data-theme=dark] .jf-fire-home,:root[data-theme=dark] .jf-rewards-hero{color:#472f24}.jf-fire-home h2,.jf-rewards-hero h2{color:#542d24}:root[data-theme=dark] .jf-fire-home p,:root[data-theme=dark] .jf-rewards-hero p{color:#84523d}

/* Every frame/flame unlock has an actual cosmetic effect; values are derived from fixed reward IDs. */
body[data-joy-frame]:not([data-joy-frame=""]) .jf-avatar{border-color:var(--joy-frame-accent,#e6a248)!important;box-shadow:0 0 0 5px var(--joy-frame-light,#ffebba)!important}
body[data-joy-flame]:not([data-joy-flame=""]) .jf-fire-svg{filter:hue-rotate(var(--joy-flame-hue,0deg)) drop-shadow(0 0 17px #f5a453a8)!important}
