/* App presentation, using the existing shared routes and records. */
:root{--sage:#727c66;--sand:#ece4d8;--soft-white:#fdfbf8}
html{scroll-behavior:smooth;scroll-padding-top:90px}body{overscroll-behavior-y:none}button,a,input,select,textarea{touch-action:manipulation}button:disabled{cursor:default}button:disabled.btn{opacity:.55}
.skip-link{position:fixed;left:16px;top:-100px;z-index:50;background:var(--ink);color:#fff;padding:12px 20px}.skip-link:focus{top:12px}#app:focus{outline:none}.header-actions{display:flex;align-items:center;gap:20px}.app-menu-button{display:none}.asidebottom>button{display:block;min-height:44px;padding:7px 14px}
nav a{align-items:center;gap:12px}nav a[hidden]{display:none!important}nav a .nav-icon{display:flex;width:21px;height:21px;align-items:center;justify-content:center;flex-shrink:0}svg.app-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.card,.softcard,.quote,.programcard,.formcard,.welcome{border-radius:17px}.btn{border-radius:25px;padding:13px 22px;min-height:44px}.btn.small{padding:10px 17px;min-height:40px}input,select,textarea{font-size:16px}.toolbar{align-items:center}.daypick{min-height:66px}
.today-intro .eyebrow{color:#7a756c}.today-intro h1{font-size:47px}.coach-greeting{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-top:14px}.coach-greeting img{width:28px;height:28px;border-radius:50%;object-fit:cover;object-position:center 25%}
.dailyworkout{border-radius:20px;background:var(--sand)}.dailyworkout .dailyvisual{height:300px}.dailyvisual>img.ava-app-cover{object-position:center 46%}.dailyworkout .dailybody{padding:27px 30px 30px}.dailyvisual .focuslabel{background:var(--soft-white);color:var(--ink);font-size:9px;letter-spacing:1.4px;padding:6px 13px}.dailybody h2{font-size:35px}.dailybody p{max-width:490px}.daystrip{margin:25px 0 18px}.microstatus{margin:5px 0;color:#6f6a62}.todaylayout{grid-template-columns:1.35fr 1fr}.rings{justify-content:space-around}.quote blockquote{font-size:29px}
.today-jumplinks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:23px 0 30px}.today-jumplinks button{display:flex;align-items:center;gap:13px;background:var(--soft-white);border:1px solid var(--line);border-radius:14px;padding:16px;text-align:left;color:var(--ink);font-size:12px}.today-jumplinks .linkicon{display:grid;place-items:center;border-radius:50%;background:var(--sand);width:36px;height:36px;flex-shrink:0}.today-jumplinks small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.training-editorial{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px}.training-editorial button{position:relative;border:0;border-radius:18px;overflow:hidden;padding:0;background:var(--sand);height:250px;color:white;text-align:left}.training-editorial img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}.training-editorial button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#151710b8,transparent 70%)}.training-editorial button>span{position:absolute;left:24px;bottom:20px;z-index:1;font:32px Georgia,serif;letter-spacing:-.5px}.training-editorial small{display:block;font:9px Arial,sans-serif;letter-spacing:1.8px;margin-bottom:7px}.training-editorial .editorial-arrow{position:absolute;right:20px;bottom:25px;z-index:2;font:24px Arial,sans-serif}
.coach-hello{display:flex;align-items:center;gap:15px;padding:19px;background:#eee6da;border-radius:16px;margin-bottom:22px}.coach-hello img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:center 25%}.coach-hello h3{font-size:22px;margin:0 0 4px}.coach-hello p{font-size:12px;margin:0;color:var(--muted)}
.install-card{display:flex;align-items:center;gap:15px;padding:17px 20px;background:#eee7db;border:1px solid var(--line);border-radius:15px;margin-top:30px}.install-card img{width:48px;height:48px;border-radius:11px}.install-card p{margin:2px 0 0;font-size:11px;color:var(--muted)}.install-card strong{font:19px Georgia,serif}.install-card .textbtn{margin-left:auto;white-space:nowrap;min-height:44px}
.install-brand{display:flex;align-items:center;gap:15px;margin-bottom:27px}.install-brand img{width:66px;height:66px;border-radius:16px}.install-brand h2{font-size:26px;margin:0}.install-brand p{margin:4px 0 0;font-size:12px;color:var(--muted)}.install-steps{padding-left:22px}.install-steps li{padding:7px 0 7px 5px;font-size:14px}.install-tabs{display:flex;gap:8px;margin:24px 0 15px}.install-tabs button{flex:1}.install-footnote{padding-top:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.menu-grid button{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--soft-white);color:var(--ink);padding:17px 13px;text-align:left;min-height:62px;font-size:12px}.menu-grid button svg{flex-shrink:0}.menu-note{font-size:12px;color:var(--muted);margin-top:20px}
#connectionStatus,#updateNotice{padding:10px 5%;background:#ece5d8;color:#564b3b;font-size:12px}#updateNotice:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:10px}#toast{bottom:30px;max-width:90vw;width:max-content;text-align:center;z-index:30}
.app-menu-button{background:transparent;border:1px solid var(--line);border-radius:50%;width:42px;height:42px;color:var(--ink);font-weight:600;letter-spacing:2px}dialog{max-width:650px;padding:36px;border-radius:22px}dialog .close{min-width:44px;min-height:44px;right:8px;top:5px}.thumb video{height:100%;object-fit:cover}.mobilecoach{display:none!important}
@media(min-width:701px){.today-jumplinks button:hover,.menu-grid button:hover{background:var(--sand)}.card .body{padding:24px}.sectionhead{margin-top:34px}}
@media(max-width:1100px){.todaylayout{grid-template-columns:1fr}.dailyaside{display:grid;grid-template-columns:1fr 1fr}.dailyworkout .dailyvisual{height:330px}}
@media(max-width:700px){
html{scroll-padding-top:85px}body{padding-bottom:calc(88px + env(safe-area-inset-bottom));font-size:14px}aside{height:auto;min-height:76px;padding:calc(15px + env(safe-area-inset-top)) 22px 15px;background:#f7f3edfa;backdrop-filter:blur(12px);border-bottom:1px solid #e4ddd390;z-index:15}.brand{font:26px/.9 Georgia,serif;letter-spacing:-1px}.brand br{display:block}.brand small{font:7px Arial,sans-serif;letter-spacing:3px;margin-top:8px}.app-menu-button{display:block}header{height:0;padding:0;border:0;overflow:hidden}header .profile{display:none}.shell{min-height:80dvh}main{padding:27px 22px 35px}h1{font-size:35px;letter-spacing:-1px;line-height:1.12}h2{font-size:27px}h3{font-size:23px}.today-intro h1{font-size:39px;margin-bottom:8px}.intro{margin-bottom:19px}.intro p{font-size:12px;line-height:1.6}.intro .eyebrow{font-size:8px;letter-spacing:1.8px;margin-bottom:10px}.coach-greeting{font-size:11px;margin-top:11px}.microstatus{font-size:10px;line-height:1.6;margin:5px 0 15px}.daystrip{gap:5px;margin:17px -4px 20px}.daypick{padding:9px 2px;min-width:30px;min-height:67px;font-size:9px;border-radius:30px;background:transparent}.daypick b{font:21px Georgia,serif;margin-top:5px}.daypick.selected{background:var(--ink)}.weekmove{min-width:16px;padding:0;font-size:21px}.sectionhead{margin:24px 0 14px;gap:10px;align-items:center}.sectionhead h2{font-size:25px;max-width:72%}.textbtn{font-size:11px;min-height:40px;padding:7px 3px}.dailyworkout .dailyvisual{height:242px}.dailyvisual>img.ava-app-cover{object-position:center 48%}.dailyworkout .dailybody{padding:23px}.dailybody h2{font-size:31px}.dailybody p{font-size:12px;line-height:1.7}.dailybody .inline{gap:9px}.btn{font-size:12px;padding:12px 19px;min-height:44px}.todaylayout{gap:17px}.dailyaside{display:flex;gap:17px}.softcard,.quote{padding:22px}.softcard h3{font-size:23px}.rings{margin-top:16px}.ring{width:80px;height:80px}.ring b{font-size:16px}.ringitem>span{font-size:10px}.quote blockquote{font-size:28px;margin:12px 0}.today-jumplinks{gap:8px;margin:20px 0 25px}.today-jumplinks button{flex-direction:column;align-items:flex-start;gap:10px;padding:13px 10px;font-size:10px;line-height:1.4}.today-jumplinks small{font-size:9px}.today-jumplinks .linkicon{width:31px;height:31px}.today-jumplinks .app-icon{width:18px;height:18px}.stats{gap:8px;margin:18px 0}.stat{padding:17px 10px;line-height:1.5;border-radius:14px;font-size:10px}.stat b{font-size:29px;line-height:1.2;margin-bottom:6px}.grid,.grid.two{gap:17px}.thumb{height:230px}.toolbar{gap:8px;margin:20px 0}.toolbar input{min-width:0;flex-basis:100%}.toolbar .chip{font-size:11px;padding:8px 12px;min-height:40px}.training-editorial{gap:10px;margin:23px 0}.training-editorial button{height:220px;border-radius:15px}.training-editorial button>span{left:15px;bottom:19px;font-size:27px}.training-editorial small{font-size:7px;letter-spacing:1.2px}.training-editorial .editorial-arrow{right:12px;bottom:16px;font-size:19px}.training-editorial img{object-position:48% 57%}.training-editorial button:last-child img{object-position:56% center}.programsgrid .empty{padding:25px 20px}.programsgrid .empty h3{font-size:24px}.empty{padding:28px 20px}.formcard{padding:22px}.layoutbanner{padding:18px;flex-wrap:wrap}.layoutbanner .btn{margin-top:4px}.event{padding:19px 16px}.event h3{font-size:23px}.event .inline{flex-wrap:wrap}.install-card{padding:15px;gap:11px;flex-wrap:wrap}.install-card strong{font-size:18px}.install-card p{font-size:10px}.install-card img{width:43px;height:43px}.install-card .textbtn{margin-left:0;width:100%;border-top:1px solid var(--line);text-align:left;padding-top:12px;min-height:35px}.coach-hello{padding:17px;gap:13px}.coach-hello h3{font-size:22px}.coach-hello img{width:54px;height:54px}
footer{margin:0 22px;font-size:8px;justify-content:center;padding:22px 0}aside nav{padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:#fdfbf8f5;backdrop-filter:blur(18px);box-shadow:0 -3px 20px #29272405;border-top:1px solid var(--line);z-index:20;gap:3px}aside nav a{min-width:0;flex:1;justify-content:center;font-size:9px;gap:5px;padding:6px 2px;border-radius:14px;color:#777168;min-height:52px}aside nav a.active{background:#eee7dc;color:#292724}aside nav a .nav-icon{height:21px;width:21px}aside nav a[href$='#home'],aside nav a[href$='#workouts'],aside nav a[href$='#food'],aside nav a[href$='#community'],aside nav a[href$='#progress']{min-width:0}.nav-label{display:block;line-height:1.2}
#toast{bottom:calc(100px + env(safe-area-inset-bottom));font-size:12px;padding:12px 20px;border-radius:12px}dialog{padding:34px 23px 23px;border-radius:24px;max-height:calc(90dvh - env(safe-area-inset-top));width:calc(100% - 28px)}.menu-grid{gap:9px}.menu-grid button{font-size:11px;padding:15px 11px}.install-steps{padding-left:19px}.install-steps li{font-size:13px}.install-brand h2{font-size:24px}.install-brand img{width:58px;height:58px}.install-footnote{font-size:10px}.photoCompare img{height:220px}.row{flex-wrap:wrap}.nutritiongrid{gap:9px}.nutritiongrid .stat{padding:15px}.logrow{overflow-x:auto}.profile{min-height:44px}#connectionStatus,#updateNotice{padding:10px 22px;font-size:11px}
}
@media(max-width:360px){main{padding-left:17px;padding-right:17px}.training-editorial button{height:190px}.today-jumplinks small{display:none}.today-intro h1{font-size:35px}.ring{width:70px;height:70px}.dailybody .inline .btn{padding:12px 14px}.sectionhead h2{font-size:23px}}
@media(display-mode:standalone){.install-card,.install-top,[data-install]{display:none!important}body{min-height:100dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
