/* SINGLEJACK shares the existing preference IDs and account model. */
:root{--bg:#090a0b;--card:#161718;--card2:#212223;--gold:#c5a171;--gold2:#ecd0a5;--text:#f5eee4;--muted:#aca69c;--line:#494034}
body[data-theme="vanilla-rose"]{--bg:#f8efe5;--card:#fff8f0;--card2:#f2e3d6;--gold:#ad7967;--gold2:#8b5949;--text:#4c342c;--muted:#92786c;--line:#e2cabe}
.brand h1{font-size:clamp(20px,5vw,27px);letter-spacing:5px;font-weight:750}.tag{letter-spacing:3px}
.brand{padding:4px 0 16px}.brand:after{margin-top:12px}#installShortcut{display:none}
.bottom{padding-bottom:0}.nav{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.mark{background:url('./assets/singlejack-mark-gold.svg') center/contain no-repeat;border-radius:0;box-shadow:none;filter:drop-shadow(0 6px 12px #0004);width:104px;height:104px}
body[data-theme="vanilla-rose"] .mark{background-image:url('./assets/singlejack-mark-rose.svg');filter:drop-shadow(0 6px 12px #ad796722)}
.card{border-color:color-mix(in srgb,var(--gold) 22%,transparent);box-shadow:0 8px 24px #00000016}
.primary{background:linear-gradient(135deg,#ecd2aa,#b48b58);color:#17120c}
body[data-theme="vanilla-rose"] .primary{background:linear-gradient(135deg,#e6bdad,#b88370);color:#452b22}
body[data-theme="vanilla-rose"]{background-image:linear-gradient(180deg,#fff5eac2,#f8efe5e6 50%,#f8efe5fa),url('./assets/training-bg-rose.jpg')}
body[data-theme="vanilla-rose"] .card{background:linear-gradient(145deg,#fff9f2ed,#f4e5dbee)}
body[data-theme="vanilla-rose"] .bottom{background:#fff8f0ed}
body[data-theme="vanilla-rose"] .tabs button.active{background:#b8837020;border-color:var(--gold);color:var(--gold2)}
body[data-theme="vanilla-rose"] .bar i,body[data-theme="vanilla-rose"] .train-progress i{background:linear-gradient(90deg,#ad7967,#e0baa5)}
body[data-theme="vanilla-rose"] .chart polyline{stroke:var(--gold)}body[data-theme="vanilla-rose"] .chart circle{fill:var(--gold2)}
.nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.nav button{min-height:48px;color:var(--muted);cursor:pointer}.nav button.active{color:var(--gold2)}
.sj-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}
.sj-shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:90px;padding:12px 5px;border:1px solid var(--line);border-radius:17px;color:var(--text);background:linear-gradient(145deg,#272726dc,#151515ed);box-shadow:0 5px 18px #0002;cursor:pointer;font-size:12px}
.sj-shortcut svg{width:27px;height:27px;stroke:var(--gold);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body[data-theme="vanilla-rose"] .sj-shortcut{background:linear-gradient(145deg,#fffaf4,#f4e4d9);box-shadow:0 5px 18px #8b594915}
.sj-greeting{margin:20px 0 6px}.sj-greeting h2{font-size:30px;margin:5px 0}.sj-greeting p{margin:0;color:var(--muted)}
.sj-workout-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}.sj-workout-tabs button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted)}.sj-workout-tabs button[aria-selected="true"]{color:var(--gold2);border-color:var(--gold)}
.sj-exercise-row{padding:15px 0;border-bottom:1px solid var(--line)}.sj-exercise-row:last-child{border:0}.sj-exercise-row small{display:block;color:var(--muted);margin-top:5px}
.sj-hero-copy{line-height:1.6}.sj-crew{width:100%;text-align:left}
button:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--gold2);outline-offset:4px}
@media(max-width:360px){.app{padding-left:12px;padding-right:12px}.workout{gap:8px;flex-wrap:wrap}.workout-actions{margin-left:auto}.sj-shortcuts{gap:7px}.nav{padding-left:5px;padding-right:5px}.nav button{font-size:10px}.brand h1{letter-spacing:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* v0.16.1: compact brand masthead, three primary destinations. */
.app{position:relative;padding-top:max(10px,env(safe-area-inset-top))}
.brand{display:grid;grid-template-columns:76px 1fr;grid-template-rows:1fr 1fr;column-gap:5px;width:min(300px,calc(100% - 42px));min-height:104px;margin:0 auto 8px;padding:0;text-align:left}
.brand .mark{grid-row:1/3;width:76px;height:104px;background-size:160px;margin:0}
.brand h1{align-self:end;white-space:nowrap;font-size:20px;letter-spacing:3px;margin:0 0 3px;text-shadow:none}
.brand .tag{align-self:start;font-size:9px;letter-spacing:2px;margin:3px 0 0}
.brand:after{display:none}
.sj-menu{position:absolute;left:12px;top:max(22px,env(safe-area-inset-top));z-index:11;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--gold2);display:grid;place-items:center;cursor:pointer}
.nav{grid-template-columns:repeat(3,minmax(0,1fr))}
.sj-greeting{margin:10px 0 4px}.sj-greeting h2{font-size:28px;margin:3px 0}.sj-greeting p{font-size:14px}
.sj-shortcuts{margin:14px 0 18px}.sj-shortcut{min-height:76px;gap:8px}
#home>.section-title{margin-top:12px}#home .workout h3{font-size:18px}
#more>.cloudbar{margin:12px 0 18px}
@media(max-width:360px){.brand{grid-template-columns:68px 1fr;width:calc(100% - 38px);column-gap:2px}.brand .mark{width:68px}.brand h1{font-size:17px;letter-spacing:2px}.brand .tag{font-size:8px;letter-spacing:1.5px}}

/* v0.16.2: approved refined concept, applied to live functional UI. */
body{font-family:"Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:#0b0c0d;background-image:none;color:#efece5;font-weight:400}
body[data-theme="vanilla-rose"]{background:#fbf1e8;background-image:none;--bg:#fbf1e8;--card:#fff8f1;--card2:#f6e9de;--text:#56392e;--muted:#a38678;--gold:#bb8b72;--gold2:#a96952;--line:#e9d2c2;color:var(--text)}
.app{isolation:isolate;min-height:100dvh;padding-top:max(14px,env(safe-area-inset-top))}
.app:before{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:530px;background:linear-gradient(180deg,#0b0c0d55,#0b0c0d65 36%,#0b0c0ddd 80%,#0b0c0d),url('./assets/singlejack-portrait-gold.png') center top/100% auto no-repeat;pointer-events:none}
body[data-theme="vanilla-rose"] .app:before{background:linear-gradient(180deg,#fbf1e845,#fbf1e855 36%,#fbf1e8e6 80%,#fbf1e8),url('./assets/singlejack-portrait-rose.png') center top/100% auto no-repeat}
.brand{grid-template-columns:58px 1fr;column-gap:10px;min-height:96px;width:min(290px,calc(100% - 48px));margin-bottom:16px}
.brand .mark{width:58px;height:96px;background-size:147px;filter:none}
.brand h1{font-size:17px;font-weight:500;letter-spacing:4px;margin-bottom:5px}
.brand .tag{font-size:8px;letter-spacing:3px;font-weight:400}
.sj-menu{top:max(31px,env(safe-area-inset-top));color:var(--gold);left:11px}
.sj-greeting{margin:18px 0 4px}.sj-greeting p{font-size:16px;font-weight:300;color:#ccc7be}.sj-greeting h2{font-size:34px;line-height:1.2;font-weight:300;letter-spacing:-.5px;margin:5px 0 0}
body[data-theme="vanilla-rose"] .sj-greeting p{color:#947362}
.sj-shortcuts{gap:8px;margin:22px 0 28px}.sj-shortcut{min-height:86px;border-radius:14px;border-color:#b5935d70;background:linear-gradient(145deg,#242421a6,#141514b3);box-shadow:none;font-size:13px;font-weight:400;gap:9px}
.sj-shortcut svg{width:26px;height:26px;stroke-width:1.5}
body[data-theme="vanilla-rose"] .sj-shortcut{background:linear-gradient(145deg,#fffaf4dd,#f8eee5ed);border-color:#dfc3b3a8;box-shadow:0 5px 20px #91664e0a}
.section-title h3,.card h3{font-weight:500}.btn,.mini,.tabs button,.theme-choice b,.eyebrow{font-weight:500}
#home>.section-title{margin-top:0;margin-bottom:16px}#home>.section-title h3{font-size:19px;font-weight:550}
#home #newWorkout{padding:11px 14px;min-height:44px;border:1px solid #b5935d8a;border-radius:10px;background:#24242175;font-size:14px;font-weight:400}
body[data-theme="vanilla-rose"] #home #newWorkout{border-color:#dcb7a5;background:#fff6ef66}
.card{border-radius:15px;box-shadow:none}
body .card.workout{background:linear-gradient(145deg,#282827bf,#171817db);border:1px solid #a989585b;margin:14px 0;padding:17px 14px;min-height:91px;gap:10px}
body[data-theme="vanilla-rose"] .card.workout{background:linear-gradient(145deg,#fffaf4ec,#faf0e7ef);border-color:#e5ccbca6;box-shadow:0 7px 24px #92654908}
#home .workout h3{font-size:17px;font-weight:500;line-height:1.35;margin:0 0 7px}.workout .muted{font-size:13px;font-weight:300}
.workout>div:first-child{flex:1;min-width:0}.workout-actions{gap:6px;flex-shrink:0}.workout-actions .mini{display:grid;place-items:center;width:34px;height:40px;min-width:34px;padding:6px;border-radius:8px;background:#28282775;border:1px solid #88847c40;color:#dedad1}
.workout-actions .mini.danger{color:#e2a296}
.workout-actions .start{white-space:nowrap;min-width:90px;min-height:44px;padding:12px 12px;border-radius:9px;font-size:14px;font-weight:500;background:linear-gradient(135deg,#e6c695,#b48e57);color:#211a10}
body[data-theme="vanilla-rose"] .workout-actions .mini{background:#fbf1e8aa;border-color:#dfbdae;color:#996450}
body[data-theme="vanilla-rose"] .workout-actions .mini.danger{color:#b06f60}
body[data-theme="vanilla-rose"] .workout-actions .start{background:linear-gradient(135deg,#e6c2b0,#c28d76);color:#563729}
.bottom{background:#0d0e0ef5;border-top-color:#a989583d}.nav{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.nav button{position:relative;font-weight:400;font-size:12px;color:#aaa7a0;padding:8px 4px 12px}.nav b{font-weight:400;margin-bottom:5px}.nav button.active:after{content:"";height:2px;width:38px;background:var(--gold);position:absolute;bottom:3px;left:calc(50% - 19px)}
body[data-theme="vanilla-rose"] .bottom{background:#fff8f1f5;border-top-color:#e3c9b85e}
.hero h2,.exercise-title h2,.finish-title{font-weight:500}.big,.number strong,.number input,.train-meta b{font-weight:500}
@media(max-width:360px){.brand{grid-template-columns:51px 1fr;column-gap:6px;width:calc(100% - 40px)}.brand .mark{width:51px}.brand h1{font-size:15px;letter-spacing:2.7px}.brand .tag{font-size:7px;letter-spacing:2px}.sj-greeting h2{font-size:31px}.sj-shortcut{min-height:80px;font-size:12px}.workout-actions{gap:4px}.workout-actions .mini{width:29px;min-width:29px;height:38px}.workout-actions .start{min-width:77px;padding:11px 8px;font-size:13px}#home .workout h3{font-size:15px}.card.workout{padding:14px 11px!important}.workout{flex-wrap:nowrap}}

/* v0.16.3: reviewed logo and approved quiet inner-page atmosphere. */
.brand .mark{background-size:auto 96px}
.sj-cardio-link{margin-top:6px;min-height:46px;font-weight:400;font-size:13px;border-color:var(--line);background:var(--card)}
.cardio-date-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.cardio-date-shortcuts .mini{min-height:44px;font-weight:400}
#disableWorkoutPush{margin-top:10px}#pushPlanStatus{line-height:1.5}
body:not([data-screen="home"]) .app:before{position:fixed;width:min(520px,100%);left:50%;right:auto;transform:translateX(-50%);height:100dvh;background-image:linear-gradient(#0b0c0d65,#0b0c0d90),url('./assets/singlejack-inner-backgrounds.png');background-size:100% 100%,200% 100%;background-position:center,left top;background-repeat:no-repeat}
body[data-theme="vanilla-rose"]:not([data-screen="home"]) .app:before{background-image:linear-gradient(#fbf1e845,#fbf1e865),url('./assets/singlejack-inner-backgrounds.png');background-position:center,right top}
body:not([data-screen="home"]) .card{background:linear-gradient(145deg,#202121bf,#111213d9);backdrop-filter:blur(5px)}
body[data-theme="vanilla-rose"]:not([data-screen="home"]) .card{background:linear-gradient(145deg,#fffaf4e6,#faf0e7ec)}
#progress>.hero h2,#calendar .sj-calendar-hero h2{font-size:31px;font-weight:300;margin:12px 0 6px}
.sj-calendar-hero{margin:8px 0 20px}.sj-calendar-hero p{margin:0;color:var(--muted);line-height:1.5}
.calendar-grid button{font-weight:400}.calendar-weekdays span{font-weight:400}.calendar-grid{gap:6px}
.sj-cardio-history-row .pill{font-size:9px;letter-spacing:1px;font-weight:400}
.sj-progress-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sj-progress-stats .card{margin:6px 0 14px;padding:15px}.sj-progress-stats strong{display:block;font-size:28px;font-weight:400;margin:5px 0}.sj-progress-stats small{display:block;font-size:11px}
.sj-page-subtitle{font-weight:300;line-height:1.5;margin:0 0 20px}
.sj-calendar-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.sj-calendar-hero .btn{border:1px solid var(--line);font-weight:400;min-height:44px}
#progressExercise{background:var(--card2)!important;color:var(--text)!important;border-color:var(--line)!important;min-height:42px;font-family:inherit}
.chart{background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#ffffff10 45px)}body[data-theme="vanilla-rose"] .chart{background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#8c665c17 45px);border-color:var(--line)}
.calendar-day{background:transparent;border-color:transparent;min-height:43px;border-radius:9px;font-size:13px}.calendar-day.today{border-color:var(--gold)}.calendar-day.has-plan{background:color-mix(in srgb,var(--gold) 17%,transparent)}
.plan-row b{font-weight:500}.calendar-weekdays{margin-bottom:16px}

/* v0.16.4: More restored alongside the three training tabs. */
.nav{grid-template-columns:repeat(4,minmax(0,1fr))}
#more>.hero{margin:14px 0 22px}
#more>.hero h2{font-size:31px;font-weight:300;margin:6px 0;letter-spacing:-.3px}
#more .setting-line b,#more .exercise-row b{font-weight:500}
#more>.card{border-color:color-mix(in srgb,var(--gold) 24%,transparent)}
#more>.sj-crew{display:block;text-align:left;width:100%;color:var(--text);cursor:pointer}
#more .theme-grid{gap:10px}
#more .theme-choice{background:color-mix(in srgb,var(--card2) 80%,transparent);font-weight:400}

/* Pending home concept: compact masthead and direct milestone access. */
#home .sj-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 24px}
#home .sj-shortcut{min-height:88px;border-radius:17px;border-color:#c5a17199;background:linear-gradient(145deg,#242421aa,#111212cf)}
#home .sj-shortcut svg{width:28px;height:28px;stroke-width:1.5}
#home #weekSummary{margin:26px 0 14px}
#home #weekSummary .quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#home #weekSummary .card{display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:12px;align-items:center;min-height:93px;margin:0;padding:15px 12px;border:1px solid #c5a17170;border-radius:16px;background:linear-gradient(145deg,#252421a6,#121313d9)}
.sj-stat-icon{grid-column:1;grid-row:1/3;color:var(--gold2)}.sj-stat-icon svg{width:31px;height:31px}
#home #weekSummary .muted{grid-column:2;font-size:12px;font-weight:400}
#home #weekSummary .big{grid-column:2;font-size:27px;line-height:1.2;margin-top:4px;font-weight:500;color:var(--text)}
body[data-theme="vanilla-rose"] #home .sj-shortcut,body[data-theme="vanilla-rose"] #home #weekSummary .card{background:linear-gradient(145deg,#fffaf5ee,#f2ded3ed);border-color:#b8796580;box-shadow:0 6px 18px #74504410}
body[data-theme="vanilla-rose"] #home .sj-stat-icon{color:#9c5e50}
@media(max-width:360px){#home #weekSummary .card{column-gap:8px;padding:13px 10px;grid-template-columns:29px minmax(0,1fr)}.sj-stat-icon svg{width:27px;height:27px}}

/* Reference header: centered brand over a monochrome athletic tank-top portrait. */
.sj-account{position:absolute;right:12px;top:max(31px,env(safe-area-inset-top));z-index:11;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--gold2);cursor:pointer}
body[data-screen="home"] .brand{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;height:310px;min-height:310px;padding:128px 0 14px;margin:0 0 12px;text-align:center;gap:0}
body[data-screen="home"] .brand .mark{flex-shrink:0;width:62px;height:106px;background-size:auto 100px;margin:0 0 8px}
body[data-screen="home"] .brand h1{align-self:center;font-size:21px;letter-spacing:5px;font-weight:400;margin:0 0 8px}
body[data-screen="home"] .brand .tag{align-self:center;font-size:9px;letter-spacing:3px;margin:0;font-weight:400}
body[data-screen="home"] .brand:after{content:"";display:block;width:62px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:13px auto 0}
body[data-screen="home"]:not([data-theme="vanilla-rose"]) .app:before{height:510px;background:linear-gradient(180deg,#08090900 0%,#08090900 30%,#0b0c0d80 65%,#0b0c0d 95%),url('./assets/singlejack-header-athletic-tanktop-branded.png') right top/auto 350px no-repeat}
body[data-screen="home"] .sj-menu,body[data-screen="home"] .sj-account{top:max(17px,env(safe-area-inset-top))}
body:not([data-screen="home"]) .sj-account{display:none}
body[data-screen="home"] .sj-greeting{margin:12px 0 0}
@media(max-width:360px){body[data-screen="home"] .brand{height:285px;min-height:285px;padding-top:108px}body[data-screen="home"] .brand h1{font-size:19px;letter-spacing:4px}}
