/*
 JoyFit AURA · Final interface release / v1.0
 Visual only. No changes to application calculations, routes, forms, APIs or behavior.
 Derived from existing JoyFit DOM; no external CSS library or visual dependency.
 Design intention: an energetic personal movement journal, warm editorial typography,
 sculptural food imagery, and a single vivid Joy Fire signature.
*/
:root{
 --aura-ink:#1C2029; --aura-mid:#454C56; --aura-muted:#65717C;
 --aura-bone:#F5F5F2; --aura-white:#FFFFFF; --aura-ember:#EF6531;
 --aura-copper:#AE3D18; --aura-chalk:#FAF5EF; --aura-night:#151921;
 --aura-water:#168EB1; --aura-violet:#7158C5; --aura-cyan:#B6E9EF;
 --aura-gold:#E4AA49; --aura-line:rgba(36,48,57,.10);
 --aura-ease:cubic-bezier(.2,.8,.2,1);
 --aura-shadow:0 22px 70px rgba(22,31,36,.055),0 3px 14px rgba(22,31,36,.035);
 --aura-shadow-hover:0 28px 64px rgba(32,38,49,.115),0 5px 18px rgba(32,38,49,.06);
 --aura-panel:26px;
 --bg:var(--aura-bone);--card:var(--aura-white);--t:var(--aura-ink);
 --t2:var(--aura-muted);--line:var(--aura-line);--a:var(--aura-ember);
 --fd:'Outfit','Avenir Next',system-ui,sans-serif;
 --fb:'DM Sans','Avenir Next',system-ui,sans-serif;
 --action:var(--aura-copper);--action-hover:#913013;--action-text:#943110;
}
html,body{background:var(--bg);font-family:var(--fb);scroll-behavior:smooth}
body{background-image:radial-gradient(ellipse at 88% -6%,rgba(248,186,143,.18),transparent 36%),radial-gradient(ellipse at 30% 120%,rgba(181,205,207,.12),transparent 40%)}
::selection{background:#f5ac89;color:#231a16}
#app{isolation:isolate}
.jf-screen{max-width:1510px!important;min-width:0;animation:aura-appear .45s var(--aura-ease) both}
@keyframes aura-appear{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.jf-screen h1,.jf-screen h2,.jf-screen h3,.jf-screen .big,.jf-screen .jf-vivo-card-number{font-family:var(--fd);font-weight:800;letter-spacing:-.045em}
.jf-screen p,.jf-screen .jf-footnote{line-height:1.6}
.jf-panel,.card,.ob-shell,.jf-reward-tile{
 border:1px solid var(--aura-line)!important;border-radius:var(--aura-panel);
 box-shadow:var(--aura-shadow);
}
.jf-panel{padding:27px}
.jf-panel,.jf-reward-tile,.jf-vivo-meal,.jf-rank-person{transition:box-shadow .25s var(--aura-ease),border-color .25s var(--aura-ease),transform .25s var(--aura-ease)}
button,a,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role='button']:focus-visible{
 outline:3px solid #F18A54!important;outline-offset:3px!important;
}
button:disabled{filter:saturate(.6);cursor:not-allowed}
.jf-primary,button.jf-primary,.jf-hero-cta{
 border:1px solid #a63816!important;background:#AE3D18!important;color:#fff!important;
 border-radius:14px!important;font-weight:800!important;letter-spacing:-.01em;
 box-shadow:0 9px 22px rgba(147,52,19,.18)!important;
 transition:transform .18s var(--aura-ease),box-shadow .2s,background .2s!important;
}
.jf-primary:hover,button.jf-primary:hover{background:#942F10!important;box-shadow:0 11px 24px #ab3e1c4d!important;transform:translateY(-1px)}
.jf-primary:active,button.jf-primary:active{transform:translateY(0) scale(.985)}
.jf-outline{border:1px solid #D8DBD9!important;background:#FFFFFF!important;color:var(--aura-ink)!important;border-radius:14px!important;box-shadow:none!important}
.jf-outline:hover{border-color:#D27953!important;background:#FFF5EF!important}
.jf-link{color:var(--action-text)!important;font-weight:800;text-decoration-thickness:1px;text-underline-offset:4px}
.jf-tag,.jf-eyebrow,.jf-vivo-kicker,.jf-vivo-eyebrow,.jf-fire-eyebrow,.jf-rank-eyebrow{font-size:10px!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase}
.jf-page-header{gap:16px;margin-bottom:28px;min-height:88px;align-items:center}
.jf-page-header .jf-head-text h1{font-size:clamp(32px,3.5vw,54px)!important;font-weight:850;letter-spacing:-.065em;line-height:1.07;margin:5px 0 4px}
.jf-page-header .jf-head-text p{font-size:14px;color:var(--aura-muted)!important;margin:5px 0 0}
.jf-page-header .jf-eyebrow{color:#BD5932!important}
.jf-avatar{width:69px;height:69px;min-width:69px;min-height:69px;border:3px solid #FFD3BD!important;background:#FFF0E5;box-shadow:0 0 0 6px #FFF8F2;transition:transform .18s}
.jf-avatar:hover{transform:scale(1.04)}
.jf-section-title h2{font-size:clamp(20px,2.1vw,27px)!important;line-height:1.2}
.jf-section-title p{color:var(--aura-muted)}
.jf-progress{height:8px;border-radius:999px;background:#E7E9E6;overflow:hidden}
.jf-progress i{background:linear-gradient(90deg,#E65F2D,#FF9D54);border-radius:999px;transition:width .55s var(--aura-ease)}
/* Dark architectural sidebar, editorial brand mark */
@media(min-width:960px){
 #nav{width:258px!important;background:#171C24!important;border-right:1px solid #2D3440!important;padding:24px 15px 22px!important;box-shadow:16px 0 50px rgba(16,23,31,.065)!important;gap:4px!important}
 #nav:before{content:'joyfit';height:80px;display:flex;align-items:center;background:url('../icons/icon.svg') 14px 8px / 39px 39px no-repeat;color:#fff!important;padding:10px 10px 22px 64px!important;font:800 31px/1 var(--fd)!important;letter-spacing:-.085em!important;text-transform:lowercase}
 #nav:after{content:''!important;display:none!important;color:#98A0AD!important;letter-spacing:.17em!important;left:28px!important;bottom:31px!important;font-size:9px!important;font-weight:800}
 #nav button{color:#ADB7C1!important;font-family:var(--fb);font-weight:700!important;font-size:13px!important;min-height:49px!important;border-radius:14px!important;margin-bottom:2px!important;letter-spacing:.005em!important;transition:background .2s,color .2s,transform .2s}
 #nav button b{width:26px;display:grid;place-items:center;opacity:.78}
 #nav button b svg{width:21px;height:21px}
 #nav button:hover:not(.on){background:#2A303B!important;color:#fff!important;transform:translateX(2px)}
 #nav button.on{background:#F26A39!important;color:#fff!important;box-shadow:0 8px 22px rgba(241,99,52,.27)!important}
 #nav button.on b{opacity:1}
 #nav .dot{background:#fff!important}
 #app{margin-left:258px!important;max-width:none!important;padding:38px clamp(26px,3.5vw,63px) 90px!important}
 #sy{left:276px}
}
/* HOME: signature 'studio desk' composition with architectural photos and living flame */
.jf-vivo-home{display:grid;grid-template-columns:minmax(0,1.67fr) minmax(315px,.89fr);column-gap:20px;row-gap:20px;align-items:start}
.jf-vivo-home>.jf-page-header{grid-row:1;grid-column:1/-1}
.jf-vivo-home>.jf-vivo-hero{grid-row:2;grid-column:1;min-width:0}
.jf-vivo-home>.jf-fire-home{grid-row:2;grid-column:2;min-width:0;margin:0}
.jf-vivo-home>.jf-vivo-home-grid{grid-row:3;grid-column:1/-1;min-width:0;margin-top:3px}
.jf-vivo-hero{
 height:460px!important;min-height:460px;position:relative;overflow:hidden;
 padding:0!important;border:1px solid #F8DCC7!important;border-radius:30px!important;
 background:linear-gradient(120deg,#FFE9DA,#FFE9DB) !important;
 box-shadow:0 16px 46px rgba(161,87,41,.075)!important;
}
.jf-vivo-hero-image{background-image:url('../assets/hero-food.webp');background-size:cover;background-position:center right;inset:0;filter:saturate(1.05) contrast(1.02)}
.jf-vivo-hero:before{background:linear-gradient(90deg,#FFEADC 1%,#FFEADC 31%,rgba(255,234,220,.95) 45%,rgba(255,234,220,.1) 78%,transparent 100%)!important;z-index:-1}
.jf-vivo-hero:after{content:'';position:absolute;right:0;top:0;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,219,189,.06));z-index:0;pointer-events:none}
.jf-vivo-hero-main{max-width:69%;height:calc(100% - 100px);padding:29px 30px 16px;position:relative;z-index:2}
.jf-vivo-hero .jf-vivo-eyebrow{color:#A64624!important}
.jf-vivo-hero h2{font:850 clamp(26px,2.4vw,39px)/1.07 var(--fd)!important;color:#2A2020!important;letter-spacing:-.069em!important;margin:9px 0 11px!important;max-width:580px}
.jf-vivo-hero h2 em{color:#B94E23!important;font-style:normal}
.jf-vivo-calorie-row{margin-top:auto;gap:19px}
.jf-vivo-donut{
 width:126px;height:126px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3),0 6px 30px #A5502F14;
 background:conic-gradient(#B54B25 0 var(--fill),#F1C8AD var(--fill) 100%)!important;
}
.jf-vivo-donut:before{inset:12px;background:#FFF6EF!important}
.jf-vivo-donut strong{font:850 33px/1.1 var(--fd)!important;color:#28232A!important}
.jf-vivo-donut span{font-size:10px;color:#76584B!important}
.jf-vivo-cal-copy strong{font-size:20px;color:#3B2921!important}
.jf-vivo-cal-copy strong small{color:#76584B!important}
.jf-vivo-cal-copy p{font-size:12px;color:#77594B!important}
.jf-vivo-cal-copy .jf-primary{min-height:46px;padding:11px 18px}
.jf-vivo-hero-foot{background:rgba(255,254,251,.91)!important;min-height:100px;height:100px;backdrop-filter:blur(16px) saturate(1.5);border-top:1px solid rgba(173,114,77,.19);padding:19px 24px;gap:24px}
.jf-vivo-macro{min-width:0}.jf-vivo-macro>div{color:#6E5A50!important;font-size:11px}.jf-vivo-macro strong{font-size:12px!important;color:#322A27!important}
.jf-vivo-macro .jf-progress{background:#E6D9CF}.jf-vivo-macro .jf-progress i{background:linear-gradient(90deg,#D96A41,#F4A173)}
.jf-fire-home{
 min-height:460px!important;height:460px!important;display:grid;grid-template-columns:minmax(0,1fr) 125px;
 border-radius:30px!important;padding:26px!important;gap:4px;
 border:1px solid #393341!important;color:#fff;
 background:radial-gradient(circle at 89% 30%,rgba(240,98,56,.28),transparent 41%),radial-gradient(circle at 80% 87%,rgba(148,88,147,.16),transparent 48%),#211D2B!important;
 box-shadow:0 20px 55px rgba(40,24,47,.18)!important;overflow:hidden;isolation:isolate;
}
.jf-fire-home:before{display:block!important;content:'';position:absolute;z-index:0;width:225px;height:225px;right:-45px;top:70px;border:1px solid rgba(255,154,96,.20);border-radius:50%;box-shadow:0 0 0 33px rgba(244,144,95,.055),0 0 0 68px rgba(244,144,95,.025);pointer-events:none}
.jf-fire-copy{z-index:2;max-width:100%}
.jf-fire-eyebrow{color:#FFD4A7!important;font-size:10px!important}
.jf-fire-copy h2{color:#FFFFFF!important;font:850 clamp(37px,3.6vw,60px)/.97 var(--fd)!important;letter-spacing:-.085em!important;margin:14px 0 8px!important}
.jf-fire-copy h2 small{display:block;color:#E6D4E2!important;font-size:15px!important;font-weight:650;line-height:1.5;letter-spacing:0}
.jf-fire-copy>p{color:#D2C9D4!important;font-size:13px!important;line-height:1.55!important;max-width:320px}
.jf-fire-pills{gap:6px!important}
.jf-fire-pills span{border:1px solid #504457!important;background:rgba(255,255,255,.075)!important;color:#F2E5E5!important;border-radius:12px!important;font-size:10px!important;padding:8px 9px!important}
.jf-fire-pills span.is-done{background:#B8F1D8!important;color:#20533C!important;border-color:#B8F1D8!important}
.jf-fire-bottom{margin-top:14px;gap:6px}
.jf-fire-bottom strong{color:#FFE4CA!important;font-size:12px!important}
.jf-fire-bottom small{color:#C1B9C6!important;font-size:10px!important}
.jf-fire-link{color:#FFBF99!important;font-weight:800!important;min-height:39px!important}
.jf-fire-visual{position:relative;z-index:2;align-items:center;justify-content:center}
.jf-fire-visual .jf-fire-svg{width:min(142px,100%)!important;filter:drop-shadow(0 0 18px rgba(255,129,48,.44)) drop-shadow(0 5px 22px rgba(241,101,44,.52))}
.jf-fire-visual-caption{color:#E1BDD2!important;letter-spacing:.06em}
.jf-fire-motion{animation-duration:3.9s}
/* Home modules have different visual personalities, same tokens / hierarchy */
.jf-vivo-home-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px!important}
.jf-vivo-home-grid>.jf-vivo-water-card{grid-column:span 6}
.jf-vivo-home-grid>.jf-vivo-workout-card{grid-column:span 6}
.jf-vivo-home-grid>.jf-vivo-reward-card{grid-column:span 5}
.jf-vivo-home-grid>.jf-vivo-week-card{grid-column:span 7}
.jf-vivo-water-card,.jf-vivo-workout-card{min-height:246px!important;padding:26px!important;border-radius:27px!important;box-shadow:var(--aura-shadow)!important}
.jf-vivo-water-card{background:linear-gradient(135deg,#E9F8FC 0%,#DCF0F6 100%)!important;border-color:#C8E6F0!important}
.jf-vivo-workout-card{background:linear-gradient(135deg,#FCF0DE 0%,#F7E5CD 100%)!important;border-color:#EBD8BF!important}
.jf-vivo-card-copy{z-index:2;max-width:70%}
.jf-vivo-card-copy h2{font-size:clamp(23px,2.2vw,30px)!important;line-height:1.12;color:#203B4A!important}
.jf-vivo-workout-card h2{color:#4E3528!important}
.jf-vivo-card-copy p{font-size:12px!important;color:#4F6B76!important}
.jf-vivo-card-number{font-size:clamp(44px,4vw,66px)!important;letter-spacing:-.075em!important;color:#115B7D!important}
.jf-vivo-card-number span{font-size:.46em!important}
.jf-vivo-card-copy .jf-stat-link,.jf-vivo-card-copy .jf-vivo-pill{color:#154D64!important;font-weight:800}
.jf-vivo-water-art{width:51%;max-height:275px;right:-27px;bottom:-38px;filter:drop-shadow(0 18px 18px rgba(38,124,145,.14))}
.jf-vivo-workout-art{width:53%;max-height:235px;right:-18px;bottom:-18px;filter:drop-shadow(0 16px 18px rgba(104,65,37,.12))}
.jf-vivo-water-card:hover,.jf-vivo-workout-card:hover{transform:translateY(-4px);box-shadow:var(--aura-shadow-hover)!important}
.jf-vivo-reward-card{min-height:238px;background:#EEE9F9!important;border-color:#DDD4ED!important;padding:27px!important}
.jf-vivo-reward-card h2{font-size:clamp(22px,2vw,28px)!important;color:#352847!important}
.jf-vivo-reward-card p{color:#6D6085!important}
.jf-vivo-chest-art{width:43%;max-height:240px;bottom:-24px;right:-9px;filter:drop-shadow(0 10px 18px rgba(95,69,115,.14))}
.jf-vivo-week-card{min-height:238px;padding:26px 27px!important;background:#fff!important}
.jf-week-track{background:#EFF0EC!important;border-radius:10px}
.jf-week-track i{background:linear-gradient(180deg,#FBA86E,#F16A36)!important;border-radius:9px!important}
.jf-week-track i.is-complete{background:linear-gradient(180deg,#78DCC0,#2C9A85)!important}
.jf-vivo-week-card .jf-week-track{height:85px}
.jf-vivo-week-bottom{font-size:12px!important}
/* Ranking — dark story + bright podium; no faux social profile data */
.jf-rank-hero{background:radial-gradient(circle at 78% 10%,rgba(255,139,78,.35),transparent 37%),linear-gradient(135deg,#2A2132,#1B1D28 78%)!important;min-height:290px;border-color:#362C3A!important;box-shadow:0 22px 50px rgba(41,30,47,.14)!important}
.jf-rank-hero:before{background:rgba(255,255,255,.055)!important}
.jf-rank-hero h2{color:#FFFFFF!important;font:850 clamp(30px,3.3vw,48px)/1.07 var(--fd)!important;letter-spacing:-.06em}
.jf-rank-hero p{color:#D2CDD8!important;font-size:13px}
.jf-rank-eyebrow{color:#FFC49E!important}
.jf-rank-pill{background:rgba(255,255,255,.12)!important;color:#FDE1CB!important;border:1px solid rgba(255,255,255,.24)!important}
.jf-rank-hero-art{filter:drop-shadow(0 18px 26px rgba(20,14,22,.27));max-width:420px}
.jf-rank-stat{background:#fff!important;border-color:var(--aura-line)!important;box-shadow:var(--aura-shadow);padding:24px!important;border-radius:22px!important}
.jf-rank-stat:nth-child(1){background:#FFF1E6!important}
.jf-rank-stat:nth-child(2){background:#FFF8E7!important}
.jf-rank-stat:nth-child(3){background:#EEEBFA!important}
.jf-rank-stat strong{color:#222531!important;font-size:43px!important}
.jf-rank-period{border-radius:13px;background:#F3F3F2;border-color:#E4E6E2}
.jf-rank-period button.on,.jf-rank-categories button.on{background:#AE3D18!important;color:#fff!important;border-color:#AE3D18!important}
.jf-rank-categories button{min-height:40px;border-radius:12px!important;font-size:12px!important}
.jf-rank-podium{background:linear-gradient(180deg,#FAF8F4,#F5F0EA)!important;border:1px solid #E9E6E0!important;border-radius:23px!important;min-height:265px!important}
.jf-rank-person{background:var(--card)!important;border-color:var(--line)!important;border-radius:17px!important;min-height:72px!important}
.jf-rank-person.is-you{background:#FFF0E7!important;border-color:#F0C6B0!important}
.jf-rank-person:hover{border-color:#DABCAA!important;transform:translateX(2px)}
.jf-rank-person-score strong{font-size:24px!important;font-family:var(--fd)}
.jf-rank-meter i{background:linear-gradient(90deg,#DC5C2D,#F3A377)!important}
.jf-rank-invite{border-radius:24px!important}
/* Rewards — vitrines com acabamento editorial */
.jf-rewards-hero{min-height:294px!important;background:radial-gradient(circle at 72% 20%,rgba(255,195,89,.35),transparent 40%),linear-gradient(125deg,#342B43,#241E30)!important;border-color:#46394E!important;color:#fff!important;padding:34px 38px!important;box-shadow:0 20px 54px rgba(49,35,59,.2)!important}
.jf-rewards-hero h2{color:#fff!important;font:850 clamp(30px,3vw,46px)/1.08 var(--fd)!important;letter-spacing:-.055em}
.jf-rewards-hero p{color:#DDD2E3!important}
.jf-rewards-hero strong{color:#FFDD9A!important}
.jf-rewards-hero small{color:#D6C5DC!important}
.jf-rewards-hero>img{max-width:215px;filter:drop-shadow(0 16px 28px #140B2080)}
.jf-reward-grid{gap:18px!important}
.jf-reward-tile{border-radius:25px!important;padding:26px!important;min-height:292px;background:#fff!important}
.jf-reward-tile.is-locked{opacity:1;background:#F9F9F7!important;border-style:solid!important}
.jf-reward-tile.is-ready{background:linear-gradient(150deg,#FFF8EC,#FFEDD9)!important;border-color:#EEC795!important}
.jf-reward-tile.is-equipped{background:linear-gradient(150deg,#EDF9F2,#F7FEF7)!important;border-color:#B9DAC6!important}
.jf-reward-tile h3{font-size:22px!important}
.jf-reward-tile p{font-size:12px}
.jf-reward-tile:hover{transform:translateY(-3px);box-shadow:var(--aura-shadow-hover)}
.jf-reward-symbol{width:64px;height:64px;border-radius:20px!important;background:#F4EEE5!important;font-size:38px!important}
.jf-reward-action button{min-height:44px!important}
/* Other destinations: high-quality utility UI */
.jf-diet-summary{border-radius:28px!important;background:linear-gradient(145deg,#221F29,#342536)!important;box-shadow:0 18px 44px #33223C17!important}
.jf-diet-summary h2{color:#fff!important;font-size:29px!important}
.jf-diet-summary .jf-vivo-kicker{color:#FFCDA6!important}
.jf-diet-summary .jf-footnote{color:#E0D3E0!important}
.jf-diet-ring{filter:drop-shadow(0 7px 20px #C7603E30)}
.jf-diet-meals{padding:28px!important}
.jf-vivo-meal{border-radius:16px!important;border:1px solid #E7EAE7!important;background:#FCFCFB!important;margin:7px 0!important;min-height:77px;box-shadow:none}
.jf-vivo-meal:hover{background:#FFF6F1!important;border-color:#EEC3AB!important;transform:translateX(3px)}
.jf-vivo-meal-picture{border-radius:15px!important}
.jf-vivo-meal-copy strong{font-size:14px}
.jf-vivo-meal-add{background:#26252C!important;color:#fff!important;border-radius:50%!important;width:30px;height:30px}
.jf-diet-ai-banner{background:#F0F2F2!important;border-color:#E1E7E8!important}
.jf-diet-ai-banner .jf-primary{min-height:46px}
.jf-water-hero{min-height:385px!important;background:radial-gradient(circle at 85% 19%,rgba(255,255,255,.8),transparent 31%),linear-gradient(130deg,#DFF5FC,#BFE8F4)!important;border-color:#BDE2EA!important;border-radius:30px!important;box-shadow:0 18px 45px #387C9312!important}
.jf-water-hero h2{font-size:clamp(68px,6vw,102px)!important;color:#176C91!important;letter-spacing:-.095em}
.jf-water-illustration{filter:drop-shadow(0 22px 29px #2388AE24)}
.jf-water-actions button{border:1px solid #CFE5EA!important;background:#F4FAFC!important;border-radius:17px!important;min-height:62px!important}
.jf-water-actions button:hover{background:#E8F6FA!important;border-color:#92CDDD!important}
.jf-workout-level,.jp-hero{border-radius:28px!important;box-shadow:var(--aura-shadow)!important}
.jp-hero{background:linear-gradient(126deg,#FDEBD7,#FBE1BF)!important;border:1px solid #F1D8BD!important;overflow:hidden}
.jp-hero h2{font-size:clamp(28px,3.1vw,42px)!important;letter-spacing:-.05em}
.jf-exercise{border-radius:16px!important;border:1px solid var(--line)!important;min-height:60px!important;margin:6px 0}
.jf-exercise.is-done{background:#EEF7F1!important;border-color:#BDE2CC!important}
.jf-workout-level{background:linear-gradient(110deg,#FFF0E4,#FFF9F4)!important}
.jf-workout-level h2{font-size:clamp(33px,3.6vw,50px)!important}
.jf-result-chart{border-radius:28px!important}
.jf-result-metrics .jf-metric{border-radius:21px!important;padding:22px!important;box-shadow:var(--aura-shadow)!important}
.jf-fire-profile,.jf-result-actions,.jf-water-register,.jf-today,.jf-water-week{border-radius:25px!important}
.jf-fire-profile-icon{filter:drop-shadow(0 0 10px #ED873952)}
.jf-fire-profile-sharing{padding:20px 0!important}
/* Login and onboarding: premium product, same system */
#login{background:#271D23 url('../assets/hero-food.webp') center/cover no-repeat!important}
#login:before{background:linear-gradient(95deg,rgba(24,27,36,.76),rgba(24,27,36,.47) 42%,rgba(24,27,36,.09) 100%)!important}
#login .box{background:#FFFFFFF5!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:31px!important;box-shadow:0 32px 92px rgba(11,14,20,.30)!important;padding:36px 32px!important;backdrop-filter:blur(20px)!important}
#login .wm{font:850 42px/1.15 var(--fd)!important;letter-spacing:-.085em!important;color:#C64D22!important}
#login input{min-height:49px;border-radius:13px}
#login button[type='submit']{border-radius:14px!important;min-height:49px!important}
#intro:has(.ob-shell){background:radial-gradient(circle at 85% 20%,#FAD7BB,transparent 45%),#F8F7F3!important}
.ob-shell{border-radius:30px!important;box-shadow:0 24px 70px rgba(35,27,25,.14)!important}
.ob-option{border-radius:16px!important;min-height:53px}
.ob-option.selected{background:#FFEADF!important;color:#963D20!important;border-color:#D9683F!important}
/* Forms, flows and transient states */
.jf-screen input,.jf-screen select,.jf-screen textarea,.jf-journey-modal input,.jf-journey-modal select{
 background:var(--card);border:1px solid #DDE2E1;border-radius:13px;min-height:43px;color:var(--t);
}
.jf-screen input:focus,.jf-screen select:focus,.jf-screen textarea:focus{border-color:#BD653F;box-shadow:0 0 0 3px #F8D6C6}
.sheet .box,.jf-journey-modal{border-radius:28px!important;box-shadow:0 28px 90px #14202A38!important}
.jf-empty,.jf-rank-solo{background:#F7F8F6!important;border-radius:18px!important;border:1px dashed #DADFDB!important}
#upd{border-radius:16px;box-shadow:var(--aura-shadow)}
/* RWD: medium desktop remains a real web app, not squeezed mobile cards */
@media(min-width:960px) and (max-width:1470px){
 .jf-vivo-home{grid-template-columns:minmax(0,1fr) minmax(274px,.72fr)}
 .jf-vivo-hero{height:465px!important}
 .jf-fire-home{height:465px!important;min-height:465px!important;grid-template-columns:minmax(0,1fr) 86px;padding:21px!important}
 .jf-fire-visual .jf-fire-svg{width:93px!important}
 .jf-vivo-hero-main{max-width:73%;padding:26px 22px 10px}
 .jf-vivo-hero h2{font-size:clamp(24px,2.5vw,32px)!important}
 .jf-vivo-donut{width:101px;height:101px}.jf-vivo-donut strong{font-size:26px!important}
 .jf-vivo-calorie-row{gap:11px}.jf-vivo-cal-copy strong{font-size:16px}
 .jf-vivo-hero-foot{gap:10px;padding:16px 17px}
 .jf-fire-copy h2{font-size:clamp(35px,4vw,49px)!important}
 .jf-fire-pills span{font-size:9px!important;padding:6px!important}
}
@media(min-width:960px) and (max-width:1190px){
 #nav{width:224px!important}#app{margin-left:224px!important;padding:27px 25px 70px!important}
 .jf-vivo-home{grid-template-columns:minmax(0,1fr)}
 .jf-vivo-home>.jf-fire-home{grid-column:1;grid-row:3;height:auto!important;min-height:230px!important;grid-template-columns:minmax(0,1fr) 155px}
 .jf-vivo-home>.jf-vivo-home-grid{grid-row:4}
 .jf-vivo-hero-main{max-width:62%}
 .jf-fire-visual .jf-fire-svg{width:132px!important}
}
@media(max-width:959px){
 html,body{overscroll-behavior-y:auto}
 #app{width:100%;max-width:740px!important;margin:0 auto;padding:14px 0 calc(116px + env(safe-area-inset-bottom,0px))!important}
 .jf-screen{padding:0 16px!important;max-width:740px!important}
 .jf-page-header{gap:12px;margin-bottom:12px!important;min-height:69px}
 .jf-page-header .jf-head-text h1{font-size:clamp(28px,6.9vw,36px)!important;margin:3px 0}
 .jf-page-header .jf-head-text p{font-size:12px!important}
 .jf-avatar{width:58px;height:58px;min-width:58px;min-height:58px}
 .jf-vivo-home{grid-template-columns:minmax(0,1fr);gap:14px}
 .jf-vivo-home>.jf-page-header{grid-column:1;grid-row:1}
 .jf-vivo-home>.jf-fire-home{grid-column:1;grid-row:2}
 .jf-vivo-home>.jf-vivo-hero{grid-column:1;grid-row:3}
 .jf-vivo-home>.jf-vivo-home-grid{grid-column:1;grid-row:4}
 .jf-fire-home{min-height:215px!important;height:auto!important;grid-template-columns:minmax(0,1fr) 118px;padding:21px!important;border-radius:24px!important;gap:8px}
 .jf-fire-home:before{width:180px;height:180px;right:-45px;top:2px}
 .jf-fire-copy h2{font-size:clamp(35px,8.8vw,51px)!important;margin:8px 0 5px!important}
 .jf-fire-copy h2 small{font-size:12px!important;display:block}
 .jf-fire-copy>p{font-size:11px!important;max-width:320px}
 .jf-fire-visual .jf-fire-svg{width:112px!important}
 .jf-fire-pills span{font-size:10px!important;padding:6px 7px!important}
 .jf-vivo-hero{height:440px!important;min-height:440px!important;border-radius:25px!important}
 .jf-vivo-hero-main{max-width:100%;height:calc(100% - 117px);padding:21px 20px 10px}
 .jf-vivo-hero-image{background-size:auto 83%!important;background-position:right 2px bottom 97px!important;filter:saturate(1.08)}
 .jf-vivo-hero:before{background:linear-gradient(180deg,#FFEADC 0%,rgba(255,234,220,.98) 24%,rgba(255,234,220,.44) 56%,rgba(255,234,220,.07) 84%)!important}
 .jf-vivo-hero h2{font-size:clamp(25px,6vw,33px)!important;max-width:340px;margin:6px 0!important}
 .jf-vivo-calorie-row{margin-top:15px;gap:12px}
 .jf-vivo-donut{width:106px;height:106px}.jf-vivo-donut strong{font-size:27px!important}
 .jf-vivo-cal-copy strong{font-size:18px!important}
 .jf-vivo-cal-copy .jf-primary{min-height:44px;padding:10px 12px;font-size:11px}
 .jf-vivo-hero-foot{min-height:117px!important;height:117px!important;padding:14px 13px!important;gap:9px!important}
 .jf-vivo-macro>div{font-size:10px!important;gap:3px}
 .jf-vivo-macro strong{font-size:11px!important}
 .jf-vivo-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-top:1px}
 .jf-vivo-home-grid>*{grid-column:1/-1!important}
 .jf-vivo-water-card,.jf-vivo-workout-card{min-height:213px!important;padding:21px!important;border-radius:23px!important}
 .jf-vivo-card-copy{max-width:67%}
 .jf-vivo-card-copy h2{font-size:25px!important}
 .jf-vivo-card-number{font-size:49px!important}
 .jf-vivo-water-art{width:52%;right:-24px;bottom:-31px}
 .jf-vivo-workout-art{width:55%;right:-26px;bottom:-10px}
 .jf-vivo-reward-card{min-height:192px!important;padding:22px!important;border-radius:23px!important}
 .jf-vivo-reward-card h2{font-size:25px!important}
 .jf-vivo-chest-art{width:48%;right:-12px;bottom:-19px}
 .jf-vivo-week-card{min-height:223px;padding:22px!important;border-radius:23px!important}
 .jf-vivo-week-card .jf-week-track{height:72px}
 #nav{position:fixed!important;left:12px!important;right:12px!important;bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;top:auto!important;width:auto!important;max-width:720px!important;margin:0 auto!important;background:rgba(29,32,42,.96)!important;backdrop-filter:blur(24px) saturate(1.25);border:1px solid rgba(255,255,255,.14)!important;border-radius:22px!important;padding:7px 8px!important;box-shadow:0 13px 43px rgba(13,23,34,.27)!important;z-index:80}
 #nav button{min-height:52px!important;color:#C4C9D2!important;font-size:10px!important;font-weight:700!important;border-radius:15px!important;flex:1;min-width:0}
 #nav button b{color:#E1E4E8!important}
 #nav button.on{background:#F16B36!important;color:#FFF!important;box-shadow:0 4px 18px rgba(225,98,50,.27)!important}
 #nav button.on b{color:#fff!important}
 #nav button .dot{background:#fff!important}
 .jf-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important}
 .jf-rank-hero{padding:28px 25px!important}
 .jf-rank-hero-copy{max-width:100%}
 .jf-rank-hero h2{font-size:31px!important}
 .jf-rank-hero p{font-size:12px!important}
 .jf-rank-hero-art{opacity:.45;right:-34px;max-width:270px}
 .jf-rank-content-grid{grid-template-columns:1fr!important}
 .jf-rewards-hero{padding:26px!important;min-height:225px!important}
 .jf-rewards-hero h2{font-size:30px!important}
 .jf-rewards-hero>img{max-width:110px}
 .jf-diet-layout{grid-template-columns:1fr!important}
 .jf-water-hero{min-height:290px!important;border-radius:24px!important}
 .jf-water-hero h2{font-size:clamp(65px,13vw,83px)!important}
 #login .box{padding:27px 24px!important;border-radius:25px!important}
}
@media(max-width:430px){
 .jf-screen{padding:0 12px!important}
 .jf-page-header .jf-head-text h1{font-size:clamp(24px,7vw,32px)!important}
 .jf-fire-home{grid-template-columns:minmax(0,1fr) 83px;padding:17px 15px!important;gap:2px;min-height:210px!important}
 .jf-fire-copy h2{font-size:clamp(30px,8.4vw,40px)!important}
 .jf-fire-visual .jf-fire-svg{width:83px!important}
 .jf-fire-pills span{font-size:9px!important;padding:5px 6px!important}
 .jf-fire-visual-caption{display:none}
 .jf-vivo-hero{height:425px!important;min-height:425px!important}
 .jf-vivo-hero-main{height:calc(100% - 119px)}
 .jf-vivo-hero h2{font-size:24px!important}
 .jf-vivo-calorie-row{gap:9px}
 .jf-vivo-donut{width:94px;height:94px}.jf-vivo-donut strong{font-size:24px!important}
 .jf-vivo-cal-copy strong{font-size:16px!important}.jf-vivo-cal-copy .jf-primary{font-size:10px!important}
 .jf-vivo-hero-foot{height:119px!important;min-height:119px!important}
 .jf-vivo-water-card,.jf-vivo-workout-card{min-height:194px!important}
 .jf-vivo-card-copy h2{font-size:22px!important}
 .jf-vivo-reward-card h2{font-size:22px!important}
 .jf-reward-grid{grid-template-columns:1fr}
 .jf-reward-tile{min-height:248px!important}
 #nav{left:8px!important;right:8px!important;border-radius:18px!important;padding:6px!important}
 #nav button{min-height:48px!important;font-size:9px!important}
}
@media(max-width:350px){
 .jf-fire-home{grid-template-columns:minmax(0,1fr) 64px;padding:15px 12px!important}
 .jf-fire-visual .jf-fire-svg{width:64px!important}
 .jf-vivo-hero h2{font-size:22px!important}
 .jf-vivo-calorie-row{gap:6px}
 .jf-vivo-donut{width:84px;height:84px}.jf-vivo-donut strong{font-size:22px!important}
 .jf-vivo-cal-copy .jf-primary{padding:8px!important}
 .jf-vivo-macro>div{font-size:9px!important}
}
/* Dark appearance must preserve text/surfaces and distinguish illustrated light panels */
:root[data-theme='dark']{
 --bg:#11151D;--card:#1E2530;--t:#F1F3F4;--t2:#B7C0C9;--line:#34404B;
 --aura-line:#35404D;--aura-muted:#B7C0C9;
}
:root[data-theme='dark'] body{background-image:radial-gradient(circle at 75% -8%,#382A34,transparent 38%),linear-gradient(#11151D,#11151D)}
:root[data-theme='dark'] .jf-panel,:root[data-theme='dark'] .jf-rank-person{border-color:#3B424C!important}
:root[data-theme='dark'] .jf-vivo-hero,:root[data-theme='dark'] .jf-vivo-water-card,:root[data-theme='dark'] .jf-vivo-workout-card,:root[data-theme='dark'] .jf-vivo-reward-card{border-color:rgba(255,255,255,.15)!important}
:root[data-theme='dark'] .jf-vivo-week-card{background:#1F2833!important}
:root[data-theme='dark'] .jf-vivo-week-card .jf-week-track{background:#3E4650!important}
:root[data-theme='dark'] .jf-vivo-week-card .jf-week-item span{color:#D6DADD!important}
:root[data-theme='dark'] .jf-rank-hero{border-color:#46384A!important}
:root[data-theme='dark'] .jf-rank-person:not(.is-you){background:#242B36!important}
:root[data-theme='dark'] .jf-rank-person.is-you{background:#50372F!important;color:#F6EAE5!important}
:root[data-theme='dark'] .jf-rank-stat strong{color:#222531!important}
:root[data-theme='dark'] .jf-reward-tile.is-locked{background:#242B34!important;color:#EEF0F3!important}
:root[data-theme='dark'] .jf-reward-tile.is-ready,:root[data-theme='dark'] .jf-reward-tile.is-equipped{color:#2A2A32!important}
:root[data-theme='dark'] .jf-vivo-meal{background:#252C36!important;border-color:#3F4A55!important;color:#F2F3F4!important}
:root[data-theme='dark'] .jf-vivo-meal:hover{background:#34313A!important}
:root[data-theme='dark'] .jf-diet-ai-banner{background:#2D303A!important}
:root[data-theme='dark'] .jf-diet-ai-banner p,:root[data-theme='dark'] .jf-diet-ai-banner h2{color:#ECEDF1!important}
:root[data-theme='dark'] .jf-screen input,:root[data-theme='dark'] .jf-screen textarea,:root[data-theme='dark'] .jf-screen select{background:#242B36;color:#F1F3F4;border-color:#455260}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}.jf-screen,.jf-fire-motion,.jf-fire-spark,.jf-panel,.jf-reward-tile,.jf-vivo-meal,.jf-rank-person{animation:none!important;transition:none!important;transform:none!important}}
/* Fasting — a focused watch face, supportive and opt-in, with no health claims. */
.jp-fast-hero{background:linear-gradient(135deg,#262A34,#19222E)!important;border:1px solid #3E4956!important;color:#F4F7F7!important;box-shadow:0 20px 60px #15253324!important;border-radius:30px!important;padding:32px!important}
.jp-fast-hero h2{font-size:clamp(30px,3vw,46px)!important;color:#FFFFFF!important;letter-spacing:-.06em}
.jp-fast-hero p{color:#C1CFD5!important;max-width:420px}
.jp-fast-hero .jf-vivo-kicker{color:#A9EDE5!important}
.jp-fast-clock{filter:drop-shadow(0 12px 35px #39BBAB22)}
.jp-fast-inner{background:#202B34!important;color:#EAF7F5!important}
.jp-fast-inner strong{font-family:var(--fd);font-weight:800;letter-spacing:-.06em;color:#FFFFFF!important}
.jp-fast-inner small{color:#B7CCD1!important}
.jp-fast-options button{border-radius:17px!important;border:1px solid #53606D!important;background:#323D48!important;color:#EDF1F2!important;min-height:88px}
.jp-fast-options button.selected{border-color:#7BDDC7!important;background:#2D4A4B!important;box-shadow:inset 3px 0 0 #7BDDC7}
.jp-fast-options button strong,.jp-fast-options button span{color:#F2F5F5!important}
.jp-fast-options button p{color:#C2D1D4!important}
.jp-fast-summary .jf-panel{background:var(--card)!important;border-radius:23px!important;min-height:130px}
.jp-fast-summary strong{font-family:var(--fd);font-size:32px!important;font-weight:800;letter-spacing:-.05em}
.jp-fast-calendar{border-radius:27px!important}
.jp-fasting-list>div{border-bottom:1px solid var(--line);padding-block:12px}
.jp-fast-warning{border-radius:14px!important;border:1px solid #EFDEC4!important;line-height:1.55}
/* Studio workout lists, personalized workout editor and social summary */
.jp-main-grid{gap:20px!important}
.jp-workout-row,.jp-ex-row,.jp-week,.jp-today{border-radius:20px!important}
.jp-ex-row{transition:background .15s,border-color .15s}
.jp-ex-row:hover{background:#FFF7F1}
.jp-meter{background:#EDEDE9;border-radius:999px;overflow:hidden}
.jp-meter i{background:linear-gradient(90deg,#EC612F,#F3A26C)}
.jp-level{background:linear-gradient(130deg,#FFF0DF,#FDE3C9)!important;border:1px solid #F0D4B9!important;border-radius:20px!important}
.jp-progress{border-radius:99px!important;overflow:hidden}
.jp-profile-extra,.jp-rec-results,.jp-admin-hero{border-radius:24px!important}
.jp-celebrate-overlay{backdrop-filter:blur(10px)}
.jp-party{border-radius:30px!important;box-shadow:0 35px 90px #19172540}
/* Preserve system appearance for users who haven't manually chosen a theme. */
@media(prefers-color-scheme:dark){
 :root:not([data-theme='light']):not([data-theme='dark']){
  --bg:#11151D;--card:#1E2530;--t:#F1F3F4;--t2:#B7C0C9;--line:#34404B;
  --aura-line:#35404D;--aura-muted:#B7C0C9;
 }
}
@media(max-width:959px){
 .jp-fast-hero{padding:23px!important;border-radius:24px!important}
 .jp-fast-hero h2{font-size:30px!important}
 .jp-fast-inner strong{font-size:clamp(24px,6vw,34px)!important}
 .jp-fast-options button{min-height:73px!important}
 .jp-fast-summary{gap:10px!important}
}
