/* ATHLETE 6.0: monochrome mint cards, purposeful electric violet accents. */
:root{--violet:#bc35ee;--violet-glow:rgba(188,53,238,.15)}
/* Consistent cards remain soft aqua. These are narrow highlights, not new card colors. */
.session-card,.metric,.exercise,.meal{position:relative;isolation:isolate}
.session-card::before,.metric::before,.exercise:not(.done)::before,.meal::before{
 content:"";position:absolute;top:14px;right:13px;width:16px;height:4px;
 background:#bc35ee!important;border-radius:10px;opacity:.82;pointer-events:none;z-index:1;
 box-shadow:0 0 9px rgba(188,53,238,.16);
}
/* Avoid overlap with the interactive session controls. */
.exercise:not(.done)::before{right:auto;top:0;left:20px;width:29px;height:3px;border-radius:0 0 8px 8px}
.exercise.done::before{background:var(--violet)!important;width:4px}
.session-card .session-glyph{position:relative}
.session-card .session-glyph::after{content:"";width:9px;height:9px;position:absolute;right:-3px;top:-3px;border:2px solid #e2f9f8;background:var(--violet);border-radius:50%}
.metric::before{left:auto!important;right:13px!important;bottom:auto!important;top:12px!important;inset:12px 13px auto auto!important}
/* Interactive violet details, never purple copy inside a tile. */
.session-dial .dial,.round-meter{position:relative}
.session-dial .dial::after,.round-meter::after{content:"";width:9px;height:9px;border:2px solid #dff9f8;background:var(--violet);border-radius:50%;position:absolute;top:0;right:5px;box-shadow:0 0 0 3px var(--violet-glow)}
.day-cell.selected{box-shadow:inset 0 -3px 0 var(--violet),0 5px 14px rgba(15,188,188,.1)!important}
.day-cell .dot.food{background:var(--violet)!important}
.nav-btn.active::after{background:var(--violet)!important;width:5px;height:5px;bottom:2px}
.meal-icon{position:relative}
.meal-icon::after{content:"";position:absolute;right:0;bottom:0;width:6px;height:6px;border:1.5px solid #d7f9f6;border-radius:50%;background:var(--violet)}
/* Small interactive violet feedback across the app. */
.set-toggle.checked,.star.active{background:var(--violet)!important;border-color:#9b1bcf!important;color:#fff!important}
.detail-chip.active{box-shadow:inset 0 -3px 0 var(--violet)!important}
.timer-preset.active{background:#d7f8f6!important;border:1px solid var(--violet)!important;color:#067e84!important;box-shadow:0 0 0 2px var(--violet-glow)!important}
.timer-face{background:linear-gradient(#e2f9f8,#e2f9f8) padding-box,conic-gradient(#12c9c7 0%,#21e1d8 75%,#bc35ee 89%,#9deae7 100%) border-box!important}
/* Standalone opening experience, with a safe minimum delay and a close button. */
#launch-screen{position:fixed;inset:0;inset:0 0 0 0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,#e4fbfa 0%,#fff 54%);color:#11383f;padding:calc(20px + env(safe-area-inset-top)) 26px calc(20px + env(safe-area-inset-bottom));opacity:1;visibility:visible;transition:opacity .35s ease,visibility .35s ease}
#launch-screen.closing{opacity:0;visibility:hidden;pointer-events:none}
.launch-content{width:100%;max-width:320px;display:flex;align-items:center;flex-direction:column;text-align:center;transform:translateY(-15px);animation:launch-enter .65s cubic-bezier(.2,.8,.2,1) both}
.launch-emblem{position:relative;width:116px;height:116px;display:grid;place-items:center;margin-bottom:25px}
.launch-emblem::before{content:"";position:absolute;inset:0;border:3px solid #a4eeeb;border-top-color:var(--violet);border-right-color:#19ccc9;border-radius:50%;animation:launch-spin 2s linear infinite}
.launch-emblem::after{content:"";position:absolute;inset:13px;border-radius:50%;border:1px solid rgba(10,181,186,.22)}
.launch-a{font-size:70px;line-height:1;letter-spacing:-6px;font-weight:950;color:#08bfc6;transform:skew(-9deg);text-shadow:0 9px 20px rgba(4,185,192,.14)}
.launch-orb{position:absolute;width:13px;height:13px;right:7px;top:11px;background:var(--violet);border:3px solid #f0fefd;border-radius:50%;box-shadow:0 0 17px rgba(188,53,238,.36)}
.launch-wordmark{font-size:33px;line-height:1;letter-spacing:5px;font-weight:900;color:#10353b}.launch-wordmark span{color:#13c9c7}
.launch-label{font-size:10px;font-weight:850;letter-spacing:3.2px;color:#658c92;margin-top:13px}
.launch-track{margin-top:45px;width:134px;height:4px;background:#caeeed;border-radius:30px;overflow:hidden;position:relative}
.launch-track span{position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,#17d5d2,#bb37f6);border-radius:20px;animation:launch-slide 1.05s ease-in-out infinite alternate}
.launch-status{font-size:11px;color:#6d9498;letter-spacing:1.2px;font-weight:750;margin-top:12px}
.launch-bottom{position:absolute;bottom:calc(28px + env(safe-area-inset-bottom));font-size:10px;color:#7b9a9d;font-weight:750;letter-spacing:1.5px}
@keyframes launch-spin{to{transform:rotate(360deg)}}
@keyframes launch-slide{from{transform:translateX(-10%)}to{transform:translateX(145%)}}
@keyframes launch-enter{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(-15px) scale(1)}}
@media(prefers-reduced-motion:reduce){.launch-content,.launch-emblem::before,.launch-track span{animation:none!important}#launch-screen{transition:none!important}}

/* Reliable video UX: real poster with explicit external fallback */
.video-launch{width:100%;aspect-ratio:16/9;position:relative;display:block;margin:12px 0 10px;padding:0;overflow:hidden;border-radius:19px;border:1px solid #8fe4e3;background:#102628;color:#fff}
.video-launch img{width:100%;height:100%;display:block;object-fit:cover;opacity:.88}
.video-launch::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,23,30,.56),transparent 50%)}
.video-launch-symbol{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(130deg,#16d8d1,#05b3c7);box-shadow:0 4px 28px #0005;font-size:23px;color:#fff;padding-left:5px}
.video-launch-label{position:absolute;left:0;right:0;bottom:16px;font-size:10px;letter-spacing:2px;font-weight:850;color:#fff}
.video-search-tile{width:100%;min-height:175px;border:1px solid #9de8e7;border-radius:20px;background:linear-gradient(140deg,#e7fffd,#d9f9f9);display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;text-align:center;padding:18px;color:#27585b}
.video-search-symbol{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#10c8cb;color:#fff;font-size:23px}
.video-search-tile strong{font-size:12px;letter-spacing:1px}.video-search-tile span:last-child{font-size:12px;color:#61888b}
.video-open-link{min-height:52px}.video-search-link{display:block;text-align:center;padding:14px 0 11px;font-size:12px;color:#008c95;text-decoration:none;font-weight:800}
.video-player{min-height:205px;margin:12px 0;border-radius:19px;background:#0b1b1d;display:block}

/* All text within normal tiles remains dark teal; purple is a shape-only accent. */
.mini-btn.hud{color:#027f8b!important;border-color:#a4e9e6!important}
