:root{--gold:#C9A84C;--gold-2:#E8D08A;--bg:#0a0a0a;--card:#151515;--card-2:#1d1d1d;--line:rgba(255,255,255,.09);--text:#f2ede3;--muted:rgba(242,237,227,.66);--ok:#4caf7d;--bad:#e06c5f;--radius:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.5;min-height:100vh}
a{color:var(--gold)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
[hidden]{display:none!important}

/* top bar */
.tk-top{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));display:flex;align-items:center;gap:12px}
.tk-top img{height:34px;width:auto}
.tk-top .tk-who{margin-left:auto;font-size:.85rem;color:var(--muted);text-align:right;line-height:1.3}
.tk-top .tk-who b{color:var(--text);display:block;font-weight:600}
.tk-icon-btn{background:none;border:1px solid var(--line);border-radius:10px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text)}
.tk-coachbar{background:var(--gold);color:#0a0a0a;font-weight:600;font-size:.9rem;padding:8px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tk-coachbar button{margin-left:auto;background:#0a0a0a;color:var(--gold);border:0;border-radius:8px;padding:6px 12px;min-height:36px;font-weight:600}

/* layout */
.tk-app{max-width:760px;margin:0 auto;padding:16px 16px 120px}
.tk-h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.9rem;line-height:1.15;margin:6px 0 4px}
.tk-h1 em{color:var(--gold)}
.tk-h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.35rem;margin:22px 0 10px}
.tk-sub{color:var(--muted);font-size:.95rem}
.tk-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:12px}
.tk-card.gold{border-color:rgba(201,168,76,.5);background:linear-gradient(135deg,rgba(201,168,76,.12),rgba(201,168,76,.02))}
.tk-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tk-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tk-stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px}
.tk-stat b{display:block;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.6rem;color:var(--gold);line-height:1.1}
.tk-stat span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.tk-muted{color:var(--muted);font-size:.88rem}
.tk-small{font-size:.8rem;color:var(--muted)}
.tk-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.tk-empty{text-align:center;color:var(--muted);padding:28px 12px}

/* buttons */
.tk-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:10px;border:0;background:var(--gold);color:#0a0a0a;font-weight:700;font-size:.95rem;text-decoration:none}
.tk-btn:hover{background:var(--gold-2)}
.tk-btn.ghost{background:transparent;border:1px solid rgba(201,168,76,.55);color:var(--gold)}
.tk-btn.ghost:hover{background:rgba(201,168,76,.08)}
.tk-btn.plain{background:var(--card-2);color:var(--text);border:1px solid var(--line)}
.tk-btn.danger{background:transparent;color:var(--bad);border:1px solid rgba(224,108,95,.4)}
.tk-btn.block{width:100%}
.tk-btn.sm{min-height:38px;padding:6px 12px;font-size:.85rem}
.tk-btn:disabled{opacity:.5;cursor:not-allowed}
.tk-link{background:none;border:0;color:var(--gold);font-weight:600;padding:6px 0;min-height:36px}

/* forms */
.tk-field{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.tk-field label{font-size:.82rem;color:var(--muted);font-weight:600}
.tk-input,.tk-select,.tk-textarea{width:100%;background:#0f0f0f;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:11px 12px;min-height:46px;color:var(--text)}
.tk-input:focus,.tk-select:focus,.tk-textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}
.tk-textarea{min-height:80px;resize:vertical}

/* bottom nav */
.tk-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(12,12,12,.98);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:6px 4px;padding-bottom:max(6px,env(safe-area-inset-bottom))}
.tk-nav button{flex:1;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600;min-height:52px;padding:4px 2px;border-radius:10px}
.tk-nav button svg{width:22px;height:22px}
.tk-nav button[aria-current="page"]{color:var(--gold)}
@media(min-width:900px){.tk-nav{left:50%;right:auto;transform:translateX(-50%);width:640px;bottom:14px;border:1px solid var(--line);border-radius:16px}}

/* workout */
.ex{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:12px;overflow:hidden}
.ex-head{display:flex;align-items:flex-start;gap:10px;padding:14px 14px 6px}
.ex-head h3{font-size:1.02rem;font-weight:700;line-height:1.3}
.ex-head .tk-small{margin-top:2px}
.ex-head .ex-act{margin-left:auto;display:flex;gap:4px}
.ex-how p{margin:0}
.ex-vid{margin:0 0 8px}
.ex-vid-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.ex-vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ex-vid-tabs{margin:8px 0 2px;justify-content:center;flex-wrap:wrap;overflow:visible}
.tk-icon-btn.has-vid{color:var(--gold)}
.vid-pill{font-size:.62rem;vertical-align:middle;margin-left:4px}
.ex-how{margin:0 14px 8px;font-size:.85rem;color:var(--muted);background:rgba(201,168,76,.06);border-left:2px solid var(--gold);padding:8px 10px;border-radius:0 8px 8px 0}
.ex-target{margin:0 14px 6px;font-size:.82rem;color:var(--gold-2)}
.sets{width:100%;border-collapse:collapse}
.sets th{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;padding:6px 4px;text-align:center}
.sets td{padding:4px;text-align:center}
.sets td:first-child{width:38px;color:var(--muted);font-weight:700}
.sets .prev{font-size:.78rem;color:var(--muted);white-space:nowrap}
.sets input{width:100%;max-width:90px;text-align:center;background:#0f0f0f;border:1px solid rgba(255,255,255,.14);border-radius:8px;min-height:42px;padding:6px;color:var(--text)}
.sets tr.done input{border-color:rgba(76,175,125,.5);background:rgba(76,175,125,.08)}
.chk{width:42px;height:42px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:transparent;display:inline-flex;align-items:center;justify-content:center}
.chk[aria-pressed="true"]{background:var(--ok);border-color:var(--ok);color:#fff}
.ex-foot{display:flex;gap:8px;padding:8px 14px 14px;flex-wrap:wrap}
.pr-badge{display:inline-block;background:var(--gold);color:#0a0a0a;font-size:.68rem;font-weight:800;border-radius:6px;padding:2px 6px;margin-left:6px;vertical-align:middle}

/* rest timer */
.rest{position:fixed;left:50%;transform:translateX(-50%);bottom:84px;z-index:70;background:#111;border:1px solid var(--gold);border-radius:16px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.6);width:min(520px,calc(100% - 24px))}
.rest b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.9rem;color:var(--gold);min-width:84px;text-align:center}
.rest .bar{flex:1;height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.rest .bar i{display:block;height:100%;background:var(--gold);width:100%;transition:width 1s linear}
.rest button{background:var(--card-2);border:1px solid var(--line);border-radius:8px;min-width:44px;min-height:40px;font-weight:700}

/* picker / modal */
.modal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.75);display:flex;align-items:flex-end;justify-content:center}
.modal-box{background:#111;border:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column}
@media(min-width:700px){.modal{align-items:center}.modal-box{border-radius:18px}}
.modal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.modal-head h2{font-size:1.05rem;font-weight:700}
.modal-head button{margin-left:auto}
.modal-body{overflow-y:auto;padding:12px 16px 20px}
.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0;scrollbar-width:none}
.chips button{flex:0 0 auto;border:1px solid rgba(201,168,76,.35);background:transparent;color:var(--text);border-radius:999px;padding:6px 12px;min-height:36px;font-size:.85rem}
.chips button[aria-pressed="true"]{background:var(--gold);color:#0a0a0a;border-color:var(--gold);font-weight:700}
.pick-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:12px 4px;min-height:56px}
.pick-item b{font-weight:600;display:block}
.pick-item span{font-size:.8rem;color:var(--muted)}
.pick-item .plus{margin-left:auto;color:var(--gold);font-size:1.4rem;line-height:1}

/* lists */
.li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.li:last-child{border-bottom:0}
.li .grow{flex:1;min-width:0}
.li b{display:block;font-weight:600}
.li .tk-small{display:block}
.pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;background:rgba(255,255,255,.07);color:var(--muted)}
.pill.ok{background:rgba(76,175,125,.15);color:#7fd3a6}
.pill.warn{background:rgba(224,108,95,.15);color:#f09a8e}
.pill.gold{background:rgba(201,168,76,.18);color:var(--gold-2)}
details.wk{border-bottom:1px solid var(--line);padding:10px 0}
details.wk summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px}
details.wk summary::-webkit-details-marker{display:none}
details.wk .wk-body{padding:8px 0 4px;font-size:.88rem;color:var(--muted)}
details.wk .wk-body p{margin:3px 0}
details.wk .wk-body b{color:var(--text);font-weight:600}

/* calendar */
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.cal .dow{font-size:.7rem;color:var(--muted);text-align:center;font-weight:700;padding:4px 0}
.cal button{aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:var(--card);color:var(--muted);font-size:.85rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:40px}
.cal button.has{background:rgba(201,168,76,.18);color:var(--text);border-color:rgba(201,168,76,.45);font-weight:700}
.cal button.today{outline:2px solid var(--gold);outline-offset:-2px}
.cal button.pad{visibility:hidden}
.cal button i{width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* builder */
.bday{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px;background:#121212}
.bex{display:grid;grid-template-columns:1fr 64px 76px 70px 40px;gap:6px;align-items:center;margin-top:8px}
.bex .nm{font-size:.9rem;font-weight:600;line-height:1.25}
.bex input{min-height:40px;padding:6px;text-align:center;font-size:.9rem}
.bex-h{display:grid;grid-template-columns:1fr 64px 76px 70px 40px;gap:6px;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:8px}
@media(max-width:480px){.bex,.bex-h{grid-template-columns:1fr 48px 60px 56px 36px}}

/* photos */
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.photos figure{position:relative;border-radius:10px;overflow:hidden;background:#111;aspect-ratio:3/4}
.photos img{width:100%;height:100%;object-fit:cover}
.photos figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:.72rem;padding:14px 6px 5px}

/* toast + celebration */
.toast{position:fixed;left:50%;top:76px;transform:translateX(-50%);z-index:120;background:#111;border:1px solid var(--gold);color:var(--text);padding:10px 16px;border-radius:12px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.6);max-width:calc(100% - 32px);text-align:center}
.toast.pr{background:var(--gold);color:#0a0a0a;font-size:1.05rem}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:119;overflow:hidden}
.confetti i{position:absolute;top:-10px;width:8px;height:14px;border-radius:2px;animation:fall 1.6s ease-in forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg);opacity:.2}}
@media (prefers-reduced-motion:reduce){.confetti{display:none}.rest .bar i{transition:none}}

/* landing */
.land{max-width:960px;margin:0 auto;padding:28px 16px 60px}
.land-hero{text-align:center;padding:28px 0 10px}
.land-hero h1{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:clamp(2rem,6vw,3.2rem);line-height:1.1}
.land-hero h1 em{color:var(--gold)}
.land-hero p{color:var(--muted);max-width:620px;margin:14px auto 0;font-size:1.05rem}
.signin{max-width:420px;margin:26px auto 0;background:var(--card);border:1px solid rgba(201,168,76,.4);border-radius:16px;padding:20px;text-align:center}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;border-radius:10px;border:0;background:#fff;color:#1f1f1f;font-weight:600;font-size:1rem}
.gbtn svg{width:20px;height:20px}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}
.feat div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.feat h3{font-size:1rem;margin-bottom:4px}
.feat p{font-size:.88rem;color:var(--muted)}
.land-copy{max-width:760px;margin:40px auto 0}
.land-copy h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.6rem;margin:26px 0 8px}
.land-copy p,.land-copy li{color:var(--muted);margin-bottom:10px}
.land-copy ul{padding-left:20px}
.land-copy details{border-bottom:1px solid var(--line);padding:12px 0}
.land-copy summary{cursor:pointer;font-weight:600;color:var(--text)}
@media(max-width:760px){.feat{grid-template-columns:1fr}}
@media(max-width:420px){.tk-stat{padding:10px}.tk-stat b{font-size:1.35rem}.tk-stat span{font-size:.68rem}}
.chart-box{position:relative;height:220px;margin-top:8px}

.bex-top{display:flex;align-items:center;gap:6px;justify-content:space-between}
.bex-mv{display:inline-flex;gap:4px;flex-shrink:0}
.tk-icon-btn.sm{min-width:32px;min-height:32px;border-radius:8px}
.ex-mode{display:flex;align-items:center;gap:10px;margin:0 14px 8px}
.ex-mode label{font-size:.8rem;color:var(--muted);flex-shrink:0}
.ex-mode .tk-select{min-height:38px;padding-top:6px;padding-bottom:6px;font-size:.9rem}
.bex-mode{margin-top:4px;min-height:34px;font-size:.8rem;padding-top:4px;padding-bottom:4px}

/* coach notifications */
.tk-bell{position:relative}
.tk-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:#0a0a0a;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.tk-notif{display:flex;gap:12px;align-items:flex-start;width:100%;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:8px;color:var(--text);font:inherit;cursor:pointer}
.tk-notif b{display:block;font-weight:600}
.tk-notif-dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex-shrink:0;background:transparent}
.tk-notif.new{border-color:rgba(201,168,76,.45)}
.tk-notif.new .tk-notif-dot{background:var(--gold)}
/* ---------- coach hub ---------- */
.tk-who-btn{display:flex;align-items:center;gap:10px;background:none;border:0;color:inherit;font:inherit;text-align:right;padding:4px;border-radius:12px;cursor:pointer}
.tk-who-btn > span:first-child{display:flex;flex-direction:column;line-height:1.25}
.tk-who-btn:hover{background:var(--card)}
.tk-ava{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;flex:none;border:1px solid rgba(201,168,76,.45);background:var(--card-2)}
.tk-ava-i{color:var(--gold);font-weight:700;font-family:'DM Serif Display',Georgia,serif}
.hub-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.hub-tile{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;min-height:96px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;font-weight:700;font-size:1rem;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}
.hub-tile:hover{border-color:rgba(201,168,76,.55);transform:translateY(-1px)}
.hub-tile svg{width:30px;height:30px;color:var(--gold);flex:none}
.hub-tile small{display:block;font-weight:500;font-size:.75rem;color:var(--muted);margin-top:4px}
.hub-tile.soon{opacity:.6}
.hub-stat{font:inherit;text-align:left;cursor:pointer;color:inherit}
.hub-h{margin:22px 0 0;font-size:1.15rem}
.hub-h + .tk-card{margin-top:8px}
.menu-me{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-top:6px}
.menu{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-top:8px;overflow:hidden}
.menu-item{display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:10px 16px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--text);font:inherit;text-align:left;cursor:pointer;text-decoration:none}
.menu-item:last-child{border-bottom:0}
.menu-item:hover{background:var(--card-2)}
.menu-item > svg{width:22px;height:22px;color:var(--gold);flex:none}
.menu-item > span:not(.pill):not(.menu-arrow){flex:1;display:flex;flex-direction:column}
.menu-item small{color:var(--muted);font-size:.78rem;margin-top:2px}
.menu-item.soon{opacity:.6}
.menu-arrow{color:var(--muted);font-size:1.4rem}
.coach-card .tk-ava{border-color:var(--gold)}
@media(max-width:420px){.hub-tile{min-height:84px;padding:14px;font-size:.92rem}.hub-tile svg{width:26px;height:26px}.tk-who-btn > span:first-child{display:none}}

/* exercise picker: watch demo before adding */
.pick-row{border-bottom:1px solid var(--line)}
.pick-line{display:flex;align-items:center;gap:8px}
.pick-row .pick-item{border-bottom:0;flex:1;min-width:0}
.pick-watch{border:0;cursor:pointer;font:inherit;font-size:.72rem;padding:6px 10px;white-space:nowrap}
.pick-watch[aria-expanded=true]{outline:1px solid var(--gold)}
.pick-add{background:none;border:0;color:var(--gold);font-size:1.5rem;line-height:1;padding:8px 10px;cursor:pointer;min-width:44px;min-height:44px}
.pick-vid{padding:0 4px 14px}

/* photo viewer */
.ph-btn{all:unset;cursor:zoom-in;display:block;border-radius:10px}
.ph-btn:focus-visible{outline:2px solid var(--gold,#C9A84C);outline-offset:2px}
.pv{position:fixed;inset:0;z-index:5000;background:#000;display:flex;flex-direction:column}
.pv-top{display:flex;align-items:center;gap:12px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));color:#fff;font-size:.9rem;background:#000;position:relative;z-index:2}
.pv-cap{flex:1;min-width:0;opacity:.85}
.pv-orig{color:var(--gold,#C9A84C);font-size:.85rem;text-decoration:underline}
.pv-x{background:#1d1d1d;border:1.5px solid var(--gold,#C9A84C);color:#fff;min-height:48px;padding:0 16px 0 12px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.95rem;cursor:pointer;flex-shrink:0}
.pv-stage{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:0 8px 8px;-webkit-overflow-scrolling:touch}
.pv-stage img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;border-radius:6px}
.pv-stage.zoom{display:block}
.pv-stage.zoom img{max-width:none;max-height:none;width:240%;cursor:zoom-out}
.pv-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:0;color:#fff;font-size:2rem;width:48px;height:64px;border-radius:10px;cursor:pointer}
.pv-prev{left:8px}.pv-next{right:8px}
.pv-hint{text-align:center;color:rgba(255,255,255,.5);font-size:.75rem;margin:0 0 8px}
.pv-bot{padding:6px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#000;position:relative;z-index:2}
.pv-close2{display:block;width:100%;max-width:420px;margin:0 auto;min-height:52px;border-radius:12px;border:0;background:var(--gold,#C9A84C);color:#0a0a0a;font-weight:700;font-size:1rem;cursor:pointer}
.pv-stage img{transition:opacity .15s}
@media(min-width:900px){.pv-stage.zoom img{width:160%}}
/* InBody auto-read */
.ai-status{margin-top:8px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05);font-size:.85rem;line-height:1.5}
.ai-status.ok{background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.4)}
.ai-spin{display:inline-block;width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:aispin .8s linear infinite;vertical-align:-1px;margin-right:6px}
@keyframes aispin{to{transform:rotate(360deg)}}
.tk-input.ai-filled{border-color:var(--gold,#C9A84C);box-shadow:0 0 0 1px rgba(201,168,76,.4)}

.b-prev{display:flex;align-items:center;gap:12px;margin-top:10px}
.b-prev img{width:96px;height:128px;object-fit:cover;border-radius:8px;border:1px solid rgba(201,168,76,.4);display:block}
/* ---------- habits ---------- */
.hb-card .hb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.hb-streak{display:block;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.25rem;color:var(--gold);margin-top:2px}
.hb{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.hb-item{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.hb-item .tk-input{min-height:44px}
.hb-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px;flex-wrap:wrap}
.hb-top label,.hb-top>span:first-child,.hb-lab{font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--text)}
.hb-top svg,.hb-lab svg{color:var(--gold)}
.hb-bar{height:6px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.hb-bar i{display:block;height:100%;background:rgba(201,168,76,.6);border-radius:6px;transition:width .3s}
.hb-bar.done i{background:var(--ok)}
.hb-step{display:flex;align-items:center;justify-content:space-between;gap:8px}
.hb-step .tk-icon-btn{font-size:1.3rem;font-weight:600;color:var(--gold)}
.hb-step b{font-size:1.4rem;font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.hb-step b small{font-size:.8rem;color:var(--muted);font-family:inherit}
.hb-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.hb-scale button{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:600;font-size:1rem;padding:0}
.hb-scale.mood button{font-size:1.25rem}
.hb-scale button[aria-pressed="true"]{background:var(--gold);color:#0a0a0a;border-color:var(--gold)}
.hb .tk-field{grid-column:1/-1;margin-top:0}
.hb-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}
.hb-saved{color:var(--ok)}
.hb-back{background:none;border:0;padding:8px 0;min-height:44px;cursor:pointer}
.hb-days{margin-top:4px;flex-wrap:wrap}
.hb-dot{color:var(--ok)}
.hb-moodrow{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin-top:10px}
.hb-mday{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.hb-memo{font-size:1.05rem;line-height:1}
.hb-en{width:8px;height:34px;border-radius:4px;background:rgba(255,255,255,.08);position:relative;overflow:hidden}
.hb-en::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--e);background:var(--gold)}
.hb-mday small{font-size:.68rem;color:var(--muted)}
@media (max-width:360px){.hb{grid-template-columns:1fr}}
.hb-wide{grid-column:1/-1}
.hb-wide .hb-scale{max-width:360px}
.hb-step b{white-space:nowrap}
/* ---------- badges ---------- */
.bd-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.bd{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;opacity:.55}
.bd .bd-ic{font-size:1.6rem;filter:grayscale(1)}
.bd b{font-size:.8rem;line-height:1.2}
.bd small{font-size:.68rem;color:var(--muted);line-height:1.25}
.bd.on{opacity:1;border-color:rgba(201,168,76,.55);background:linear-gradient(180deg,rgba(201,168,76,.14),var(--card-2))}
.bd.on .bd-ic{filter:none}
.bd.on small{color:var(--gold)}
.bd-pop{text-align:center;position:relative;padding:8px 0 4px;overflow:hidden}
.bd-pop h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.6rem;color:var(--gold);margin:6px 0 4px}
.bd-big{font-size:4rem;display:inline-block;animation:bdPop .6s cubic-bezier(.2,1.6,.4,1) both}
.bd-burst{position:absolute;left:50%;top:48px;width:0;height:0}
.bd-burst i{position:absolute;width:8px;height:8px;border-radius:2px;background:var(--gold);opacity:0;animation:bdFly 1s ease-out .15s both}
.bd-burst i:nth-child(odd){background:var(--gold-2)}
.bd-burst i:nth-child(3n){background:var(--ok)}
.bd-burst i:nth-child(1){--x:-90px;--y:-40px}.bd-burst i:nth-child(2){--x:90px;--y:-40px}.bd-burst i:nth-child(3){--x:-60px;--y:-80px}.bd-burst i:nth-child(4){--x:60px;--y:-80px}.bd-burst i:nth-child(5){--x:0;--y:-95px}.bd-burst i:nth-child(6){--x:-110px;--y:10px}.bd-burst i:nth-child(7){--x:110px;--y:10px}.bd-burst i:nth-child(8){--x:-80px;--y:50px}.bd-burst i:nth-child(9){--x:80px;--y:50px}.bd-burst i:nth-child(10){--x:-30px;--y:-60px}.bd-burst i:nth-child(11){--x:30px;--y:-60px}.bd-burst i:nth-child(12){--x:-120px;--y:-70px}.bd-burst i:nth-child(13){--x:120px;--y:-70px}
@keyframes bdPop{0%{transform:scale(.2);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes bdFly{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(200deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.bd-big,.bd-burst i{animation:none}.bd-burst{display:none}}
.hb-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* ---------- calories burnt ---------- */
.kc-box{background:var(--card-2);border:1px solid rgba(201,168,76,.3);border-radius:12px;padding:12px;margin-top:14px;text-align:left}
.kc-top{display:flex;gap:10px;align-items:flex-start}
.kc-top b{display:block}
.kc-ic{font-size:1.5rem;line-height:1}
.kc-edit{margin-top:10px}
.kc-edit .tk-row{gap:8px;margin-top:4px}
.kc-edit .tk-input{flex:1;min-width:0}
/* ---------- daily calorie target ---------- */
.nut .chips{margin-top:2px}
.nut-big{display:flex;align-items:baseline;gap:8px;margin-top:10px}
.nut-big b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:2.6rem;color:var(--gold);line-height:1}
.nut-big span{color:var(--muted)}
.nut-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.nut-macros div{background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.nut-macros b{display:block;font-size:1.15rem}
.nut-macros span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.nut-set{color:var(--ok);margin-top:8px}
.nut-how,.nut-ovr{margin-top:12px}
.nut-how summary,.nut-ovr summary{cursor:pointer}
.nut-how ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px}
/* ---------- food log ---------- */
.fd-sum{margin-top:8px}
.fd-kcal{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fd-kcal b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:2rem;color:var(--gold);line-height:1}
.fd-sum.big .fd-kcal b{font-size:2.6rem}
.fd-kcal span{color:var(--muted)}
.fd-kcal em{font-style:normal;margin-left:auto;font-weight:700;color:var(--ok)}
.fd-kcal em.over{color:var(--bad)}
.fd-main{height:10px;margin-top:10px}
.hb-bar.over i{background:var(--bad)}
.fd-macs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.fd-mac-top{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}
.fd-mac-top span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fd-mac-top b{font-size:.95rem}
.fd-mac-top small{color:var(--muted);font-weight:400}
.fd-meal .li{border-bottom:1px solid var(--line)}
.fd-add{margin-top:10px}
.fd-tabs{margin-top:-4px}
.fd-res{max-height:52vh;overflow:auto}
.fd-pick{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:2px}
.fd-calc{background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.35);border-radius:12px;padding:12px;margin-top:12px;display:flex;flex-direction:column;gap:2px}
.fd-calc b{font-size:1.3rem;color:var(--gold)}
.fd-calc span{font-size:.85rem;color:var(--muted)}
.fd-cam{margin-top:10px;cursor:pointer}
#fPrev img{max-width:100%;max-height:220px;border-radius:10px;display:block;margin:10px auto 0}
.fd-ai{display:flex;gap:10px;align-items:flex-start;background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:10px;margin-top:8px}
.fd-ai-chk input{width:22px;height:22px;margin-top:10px;accent-color:#C9A84C}
.fd-ai-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.fd-ai-row{display:flex;align-items:center;gap:10px}
.fd-ai-row label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}
.fd-ai-row .tk-input{width:90px}
.fd-ai-row{flex-wrap:wrap}
.fd-ai-sel{width:auto;min-width:72px;min-height:40px;padding:6px 28px 6px 10px}
.fd-ai-k{margin-left:auto;font-weight:700;color:var(--gold)}
.fd-cams{margin-top:10px}.fd-cams .fd-cam{margin-top:0;text-align:center}
/* mood scale: line icons + labels instead of emojis */
.hb-scale.mood button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:58px;color:var(--gold);font-size:1rem}
.hb-scale.mood button svg{width:24px;height:24px}
.hb-scale.mood button small{font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.02em}
.hb-scale.mood button[aria-pressed="true"]{color:#0a0a0a}
.hb-scale.mood button[aria-pressed="true"] small{color:#0a0a0a}
.hb-memo{color:var(--gold);display:inline-flex}
.hb-memo svg{width:18px;height:18px}
.fd-ai-row label[hidden]{display:none}

/* ---------- watch data (Apple Watch + Whoop) ---------- */
.wt-card .hb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.wt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.wt-stat{background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.wt-stat span{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.wt-stat span svg{color:var(--gold);flex:none}
.wt-stat b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.45rem;color:var(--text);line-height:1.15}
.wt-stat b small{font-family:inherit;font-size:.8rem;color:var(--muted)}
.wt-stat em{font-style:normal;font-size:.74rem;color:var(--muted)}
.wt-stat i{font-style:normal}
.wt-g{color:var(--ok)}.wt-y{color:var(--gold)}.wt-r{color:#e07a6b}
.wt-foot{margin-top:10px}.wt-foot .tk-link{padding:0;min-height:0;font-size:inherit}
.wt-err{color:#e07a6b;margin-top:4px}
.wt-steps{margin:12px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:14px}
.wt-steps li>b{display:block;margin-bottom:4px}
.wt-steps .tk-small{display:block;margin-top:6px;line-height:1.5}
.wt-code{display:flex;align-items:center;gap:10px;background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-top:6px}
.wt-code code{flex:1;font-size:1rem;letter-spacing:.04em;word-break:break-all;color:var(--gold)}
@media(max-width:520px){.wt-grid{grid-template-columns:repeat(2,1fr)}}
/* cardio: photo of the machine screen */
.ex-cardio{padding:4px 14px 0}
.ex-cbtn{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:rgba(201,168,76,.08);border:1px dashed rgba(201,168,76,.45);border-radius:10px;padding:10px 12px;color:var(--text);font-size:.88rem;line-height:1.4;min-height:44px}
.ex-cbtn svg{flex:none;color:var(--gold)}
.ex-kc{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:.88rem;color:var(--muted)}
.ex-kc span{display:flex;align-items:center;gap:6px;color:var(--text)}
.ex-kc input{width:84px;text-align:center;background:#0f0f0f;border:1px solid rgba(201,168,76,.5);border-radius:8px;min-height:42px;padding:6px;color:var(--text)}
/* last workout: tap to see the details */
.li-btn{width:100%;background:none;border:0;border-bottom:1px solid var(--line);text-align:left;color:var(--text);min-height:44px}
.li-btn:hover .li-more,.li-btn:focus-visible .li-more{text-decoration:underline}
.li-more{flex:none;color:var(--gold);font-weight:600;font-size:.9rem}
.wd-ex{margin-top:14px;padding:12px 14px;background:var(--card-2);border:1px solid var(--line);border-radius:12px}
.wd-sets{width:100%;border-collapse:collapse;margin-top:8px;font-size:.92rem}
.wd-sets th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:4px 0}
.wd-sets td{padding:6px 0;border-top:1px solid var(--line)}
.wd-sets td:first-child,.wd-sets th:first-child{width:52px;color:var(--muted)}
.wd-notes{margin-top:14px}
.wd-notes p{margin-top:6px;color:var(--muted)}
/* food log: meal photo */
button.fd-ph{border:1px solid rgba(201,168,76,.5);background:rgba(201,168,76,.12);color:var(--gold-2);cursor:pointer;font-weight:600;min-height:28px}
.fd-photo{display:block;width:100%;height:auto;border-radius:12px}

/* ===================== Noir & Gold (v2 look) ===================== */
:root{--gold:#D9B95E;--gold-2:#F0D78C;--gold-3:#B8923A;--bg:#0A0A0B;--card:#131313;--card-2:#1B1B1B;--line:rgba(255,255,255,.07);--line-gold:rgba(201,168,76,.22);--text:#F3EEE4;--muted:#A79F92;--radius:20px}
body{font-feature-settings:"cv11","ss01";letter-spacing:-.005em;background:radial-gradient(420px 320px at 15% -60px,rgba(201,168,76,.13),transparent 70%) no-repeat,var(--bg)}
.tk-top{background:rgba(10,10,11,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.04)}
.tk-icon-btn{border-radius:50%;border-color:var(--line-gold);background:rgba(255,255,255,.03)}
.tk-h1{font-weight:400;font-size:2rem;letter-spacing:-.01em;line-height:1.12}
.tk-h1 em{font-style:italic;color:var(--gold)}
.tk-h2{font-weight:400}
.tk-card{border-radius:var(--radius);padding:18px;margin-top:12px;background:var(--card);border-color:var(--line)}
.tk-card.gold{border-color:var(--line-gold);background:linear-gradient(160deg,#17150F 0%,#121212 65%)}
.tk-stat{border-radius:16px;background:var(--card-2);border-color:var(--line)}
.tk-stat b{color:var(--text);font-weight:400}
.tk-tag{font-size:.7rem;letter-spacing:.14em;font-weight:600;color:var(--gold)}
.tk-btn{border-radius:14px;min-height:50px;font-weight:600;letter-spacing:.01em;background:linear-gradient(135deg,#E3C673,var(--gold-3));color:#17120A;box-shadow:0 6px 20px rgba(201,168,76,.18)}
.tk-btn:hover{background:linear-gradient(135deg,#ECD48A,#C39C42)}
.tk-btn.ghost{background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.35);color:var(--text);box-shadow:none}
.tk-btn.ghost:hover{background:rgba(201,168,76,.08)}
.tk-btn.plain{background:var(--card-2);border:1px solid var(--line);color:var(--text);box-shadow:none}
.tk-btn.danger{box-shadow:none;background:transparent}
.tk-btn.sm{min-height:40px;border-radius:12px}
.tk-input,.tk-select,.tk-textarea{border-radius:12px;background:#0E0E0F;border-color:rgba(255,255,255,.12)}
.chips button{border-color:rgba(201,168,76,.28);background:rgba(255,255,255,.02)}
.chips button[aria-pressed="true"]{background:linear-gradient(135deg,#E3C673,var(--gold-3));border-color:transparent;color:#17120A}
.li{border-bottom-color:var(--line)}
.pill.gold{background:rgba(201,168,76,.14)}
.ex{border-radius:var(--radius)}
.sets input{border-radius:10px;background:#0E0E0F}
.chk{border-radius:12px}
.modal{background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal-box{background:#121212;border-color:rgba(255,255,255,.08);border-radius:24px 24px 0 0}
@media(min-width:700px){.modal-box{border-radius:24px}}
.modal-head h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.25rem}
.rest{border-radius:20px;background:rgba(18,18,18,.96);border-color:var(--line-gold);box-shadow:0 10px 30px rgba(0,0,0,.5)}
/* floating bottom menu */
.tk-nav{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(22,22,22,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:6px 4px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.tk-nav button{color:#8E877B;font-weight:500;font-size:.68rem}
.tk-nav button[aria-current="page"]{color:var(--gold);font-weight:600}
.tk-app{padding-bottom:130px}
@media(min-width:900px){.tk-nav{left:50%;right:auto;width:640px}}
/* Today: greeting */
.td-date{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.td-hello{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:2rem;line-height:1.1;margin:6px 0 2px;letter-spacing:-.01em}
.td-hello em{color:var(--gold);font-style:italic}
/* Today: food ring card */
.fd-ring-card{border-color:var(--line-gold);background:linear-gradient(160deg,#17150F 0%,#121212 62%)}
.fd-ring-row{display:flex;gap:18px;align-items:center;margin-top:12px}
.fd-ring{position:relative;width:128px;height:128px;flex:none}
.fd-ring svg{display:block}
.fd-ring-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.fd-ring-mid b{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.85rem;line-height:1}
.fd-ring-mid span{font-size:.7rem;color:var(--muted);margin-top:4px}
.fd-ring-mid.over b{color:var(--bad)}
.fd-ring-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.fd-ring-side .fd-eaten{font-size:.78rem;color:var(--muted)}
.fd-mini-top{display:flex;justify-content:space-between;font-size:.8rem}
.fd-mini-top span:last-child{color:var(--muted)}
.fd-mini-top b{color:var(--text);font-weight:600}
.fd-mini{height:5px;border-radius:3px;background:rgba(255,255,255,.07);margin-top:5px;overflow:hidden}
.fd-mini i{display:block;height:100%;border-radius:3px;background:var(--gold)}
.fd-mini.c i{background:#B08D45}.fd-mini.f i{background:#8C7238}
.fd-mini.over i{background:var(--bad)}
.fd-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.fd-acts .tk-btn{min-height:50px}
.fd-acts svg{flex:none}
/* stats strip */
.td-stats .tk-stat{text-align:left}
.td-stats .tk-stat b{font-size:1.5rem}
/* food tabs and photo buttons with icons */
.fd-tabs button svg,.fd-cam svg{vertical-align:-3px;margin-right:6px}
/* Today: last workout + weight tiles */
.td-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.td-tile{text-align:left;padding:16px;border-radius:var(--radius);background:var(--card);border:1px solid var(--line);color:var(--text);display:flex;flex-direction:column;gap:4px;min-width:0}
button.td-tile:hover{border-color:var(--line-gold)}
.td-tl{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.td-tv{font-family:'DM Serif Display',Georgia,serif;font-size:1.15rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-tv.td-big{font-size:1.7rem}
.td-tv small{font-family:'Inter',sans-serif;font-size:.85rem;color:var(--muted)}
.td-ts{font-size:.76rem;color:var(--muted)}
.td-go{font-size:.78rem;color:var(--gold);font-weight:600;margin-top:4px}
.hb-step{gap:4px}.hb-step .tk-icon-btn{min-width:40px;min-height:40px;width:40px;height:40px;flex:none}.hb-step b{font-size:1.25rem}
.hb-head .tk-btn{white-space:nowrap;flex:none}
/* first-open welcome: connect Apple Watch */
.ob{position:fixed;inset:0;z-index:120;background:radial-gradient(480px 380px at 50% -80px,rgba(201,168,76,.22),transparent 70%) no-repeat,#0A0A0B;display:flex;justify-content:center;overflow-y:auto}
.ob-box{position:relative;width:100%;max-width:520px;min-height:100%;display:flex;flex-direction:column;padding:max(64px,calc(env(safe-area-inset-top) + 56px)) 24px max(24px,env(safe-area-inset-bottom))}
.ob-x{position:absolute;right:16px;top:max(14px,calc(env(safe-area-inset-top) + 8px))}
.ob-back{position:absolute;left:16px;top:max(14px,calc(env(safe-area-inset-top) + 8px));font-size:1.5rem}
.ob-hero,.ob-body{flex:1;display:flex;flex-direction:column;gap:12px}
.ob-hero{align-items:center;justify-content:center;text-align:center}
.ob-ic{width:104px;height:104px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:var(--gold);background:linear-gradient(160deg,#211C10,#141414);border:1px solid var(--line-gold);box-shadow:0 14px 40px rgba(201,168,76,.18);margin-bottom:8px}
.ob-ic.ok{color:#0A0A0B;background:linear-gradient(135deg,#E3C673,#B8923A)}
.ob-ic.ok svg{width:44px;height:44px}
.ob-k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.ob h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:2.1rem;line-height:1.1;outline:none}
.ob h2 em{color:var(--gold);font-style:italic}
.ob p{color:var(--muted);line-height:1.6;font-size:.98rem}
.ob p b,.ob-steps b,.ob-tip b{color:var(--text)}
.ob-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:10px;align-items:flex-start}
.ob-list li{display:flex;align-items:center;gap:10px;font-weight:500}
.ob-list svg{width:20px;height:20px;color:#0A0A0B;background:var(--gold);border-radius:50%;padding:3px}
.ob-steps{padding-left:22px;display:flex;flex-direction:column;gap:10px;color:var(--muted);line-height:1.55;margin-top:4px}
.ob-steps li::marker{color:var(--gold);font-weight:700}
.ob-tip{margin-top:6px;padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line-gold);display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--muted);line-height:1.55}
.ob-msg{min-height:1.4em;font-size:.88rem;color:var(--gold-2)}
.ob-foot{display:flex;flex-direction:column;align-items:stretch;padding-top:20px}
.ob-later{align-self:center;margin-top:8px;color:var(--muted)}
.ob-dots{display:flex;justify-content:center;gap:6px;margin-top:16px}
.ob-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.15)}
.ob-dots i.on{width:22px;border-radius:4px;background:var(--gold)}
.ob-dots i.done{background:rgba(201,168,76,.5)}
/* Plan: week strip + picture cards */
.pl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:16px}
.pl-head .tk-h2{margin-top:2px}
.pl-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pl-notes{margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.pl-notes summary{cursor:pointer;color:var(--gold);font-weight:600;font-size:.88rem}
.pl-notes p{margin-top:8px;color:var(--muted);line-height:1.55;font-size:.9rem}
.pl-strip{display:flex;gap:6px;margin:16px -4px 0;padding:4px;overflow-x:auto;scrollbar-width:none}
.pl-strip::-webkit-scrollbar{display:none}
.pl-day{flex:1 0 44px;min-width:44px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 7px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:.72rem}
.pl-day b{font-size:1.05rem;color:var(--text);font-weight:600}
.pl-day i{width:5px;height:5px;border-radius:50%;margin-top:2px;background:transparent}
.pl-day i.has{background:rgba(201,168,76,.55)}
.pl-day i.done{background:var(--ok)}
.pl-day.today span:first-child{color:var(--gold);font-weight:600}
.pl-day.on{border-color:var(--gold);background:rgba(201,168,76,.1)}
.pl-dayhead{margin:18px 0 4px;text-align:center}
.pl-dayhead h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.15}
.pl-sum{display:flex;justify-content:center;gap:16px;margin-top:6px;color:var(--muted);font-size:.85rem}
.pl-sum span{display:flex;align-items:center;gap:6px}.pl-sum svg{color:var(--gold)}
.pc{margin-top:14px;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line)}
.pc-media{position:relative;display:block;width:100%;aspect-ratio:3/2;border:0;padding:0;background:#0f0f10;overflow:hidden;color:var(--text)}
button.pc-media{cursor:pointer}
.pc-anim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-anim img+img{animation:pcflip 2.4s steps(1,end) infinite}
@keyframes pcflip{0%{opacity:0}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.pc-anim img+img{animation:none;opacity:0}}
.pc-none{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(201,168,76,.45);background:radial-gradient(circle at 50% 40%,#1c1a14,#101010)}
.pc-none svg{width:56px;height:56px}
.pc-play{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:rgba(10,10,11,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.75rem;font-weight:600;color:var(--gold-2)}
.pc-play svg{width:11px;height:11px}
.pc-target{position:absolute;left:10px;bottom:10px;padding:6px 11px;border-radius:999px;background:rgba(10,10,11,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.82rem;font-weight:600;color:var(--text)}
.pc-info{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px}
.pc-info b{font-size:1rem}
.pc-m{font-size:.8rem;color:var(--muted)}
.pc-n{font-size:.8rem;color:var(--gold-2)}
.pl-rest{text-align:center;margin-top:18px;padding:28px 18px}
.pl-rest-ic{color:var(--gold);margin-bottom:8px}
.pl-rest h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:1.5rem;margin-bottom:4px}
.pl-start{position:sticky;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 84px);z-index:5;margin-top:16px;padding-top:6px}
.pl-start .tk-btn{min-height:56px;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.55),0 6px 20px rgba(201,168,76,.25)}
.pc-media:has(.pc-none){aspect-ratio:auto;height:120px}
.pl-sec{margin:24px 0 2px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.pl-sec .tk-small{text-transform:none;letter-spacing:0}.pl-off{opacity:.85}

/* quick cardio log */
.qc-photo{display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:14px 16px;border-radius:14px;border:1.5px dashed rgba(201,168,76,.65);background:rgba(201,168,76,.07);color:var(--text);text-align:left;cursor:pointer}
.qc-photo svg{width:34px;height:34px;color:var(--gold);flex:0 0 auto}
.qc-photo b{display:block;font-size:1.02rem;color:var(--gold)}
.qc-photo small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.qc-prev{display:flex;align-items:center;gap:12px}
.qc-prev img{width:96px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.qc-chips{flex-wrap:wrap;overflow:visible}
.qc-nums{gap:8px}.qc-nums .tk-field{margin-bottom:0}
.qc-nums .tk-input{text-align:center;font-size:1.05rem}
.qc-shots{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.qc-shot{display:block;max-width:100%;max-height:340px;border-radius:12px;border:1px solid var(--line)}
.qc-att{margin:6px 14px 0;display:flex;align-items:center;gap:6px;color:var(--gold-2)}
.td-cardio{display:flex;align-items:center;gap:14px;width:100%;margin:4px 0 14px;padding:14px 16px;min-height:72px;border-radius:16px;border:1px solid rgba(201,168,76,.55);background:linear-gradient(135deg,rgba(201,168,76,.18),rgba(201,168,76,.05));color:var(--text);text-align:left;cursor:pointer}
.td-cardio svg{width:30px;height:30px;color:var(--gold);flex:0 0 auto}
.td-cardio span{flex:1}.td-cardio b{display:block;font-size:1.05rem;color:var(--gold)}
.td-cardio small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px}
.td-cardio i{font-style:normal;font-size:1.6rem;color:var(--gold)}

/* food history */
.fd-dayrow{display:flex;align-items:center;gap:8px}.fd-dayrow .hb-days{flex:1;min-width:0}
.fd-date{position:relative;flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);color:var(--gold);cursor:pointer}
.fd-date svg{width:22px;height:22px}
.fd-date input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.fd-h30{margin-top:10px;gap:8px}.fd-h30 small{font-size:.7em;color:var(--muted);font-weight:400}
.fd-hlist{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.fd-hrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--text);text-align:left;cursor:pointer}
.fd-hrow.sel{border-color:rgba(201,168,76,.7);background:rgba(201,168,76,.08)}
.fd-hd{flex:1;min-width:0}.fd-hd b,.fd-hk b{display:block;font-size:.95rem}
.fd-hd small,.fd-hk small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.fd-hk{text-align:right}.fd-hk i{font-style:normal}.fd-hk i.ok{color:#7bc47f}.fd-hk i.over{color:#e06c5f}.fd-hk i.under{color:#e0b25f}
.fd-hgo{color:var(--gold);font-size:1.3rem}
.cl-row{display:flex;flex-wrap:wrap;align-items:center}.cl-row .pick-item{flex:1 1 100%;min-width:0}
.cl-row .pick-item{border-bottom:0}.cl-row{border-bottom:1px solid var(--line)}.cl-row:last-child{border-bottom:0}
.cl-row .cl-food{flex:0 0 auto;gap:6px;margin:-2px 0 12px 56px;min-height:36px}.cl-food svg{width:16px;height:16px}

.fd-th{flex:0 0 auto;width:56px;height:56px;padding:0;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.04);cursor:pointer;margin-right:10px}
.fd-th img{width:100%;height:100%;object-fit:cover;display:block}
.fd-hph{flex:1 1 100%;display:flex;gap:6px;align-items:center}
.fd-hph img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04)}
.fd-hph em{font-style:normal;color:var(--muted);font-size:.85rem;margin-left:2px}

/* calories in vs out */
.bal-card .bal-row{margin-top:12px}
.bal-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.bal-top span{display:flex;align-items:center;gap:6px;font-size:.92rem;color:var(--text)}
.bal-top span svg{width:16px;height:16px;color:var(--gold)}
.bal-top b{font-size:1.25rem}.bal-top small{font-size:.75rem;color:var(--muted);font-weight:400}
.bal-bar{height:14px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:6px}
.bal-bar i{display:block;height:100%;border-radius:999px;min-width:6px;transition:width .4s}
.bal-bar.burn i{background:linear-gradient(90deg,#B8923A,#F0D78C)}
.bal-bar.eat i{background:linear-gradient(90deg,#8a8f98,#d9dde3)}
.bal-parts{font-size:.78rem;color:var(--muted);margin-top:5px}.bal-parts i{font-style:normal;color:#e0b25f}
.bal-res{margin-top:14px;padding:11px 13px;border-radius:12px;border:1px solid}
.bal-res b{display:block;font-size:.98rem}.bal-res span{display:block;font-size:.8rem;color:var(--muted);margin-top:2px}
.bal-res.good{border-color:rgba(123,196,127,.45);background:rgba(123,196,127,.08)}.bal-res.good b{color:#8fd393}
.bal-res.warn{border-color:rgba(224,178,95,.45);background:rgba(224,178,95,.08)}.bal-res.warn b{color:#e8bf72}
.bal-past{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-top:12px}
.bal-past div{padding:9px 10px;border-radius:10px;border:1px solid var(--line)}
.bal-past span{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.bal-past b{display:block;font-size:.95rem;margin-top:3px}.bal-past b small{display:block;font-size:.72rem;font-weight:400;opacity:.85}.bal-past b.dn{color:#8fd393}.bal-past b.up{color:#e8bf72}
.bal-note{margin-top:8px}
.bal-help{margin:6px 0 10px 18px;color:var(--muted)}.bal-help li{margin-bottom:8px}.bal-help b{color:var(--text)}
.bal-add{margin-top:8px;gap:6px}.bal-add svg{width:14px;height:14px}
.bk-in{font-size:1.3rem;text-align:center}

/* simpler Today: quick actions + tappable balance rows + breakdown sheets */
.td-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 14px}
.td-quick .td-cardio{margin:0;min-height:68px;padding:12px;gap:10px}
.td-quick .td-cardio svg{width:24px;height:24px}
.td-quick .td-cardio b{font-size:.98rem}.td-quick .td-cardio small{font-size:.74rem}
.bal-tap{display:block;width:100%;padding:10px 12px;margin-top:10px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--text);text-align:left;cursor:pointer;font:inherit}
.bal-tap:hover,.bal-tap:focus-visible{border-color:rgba(201,168,76,.6)}
.bal-tap .bal-top,.bal-tap .bal-bar,.bal-tap .bal-parts{display:flex}
.bal-tap .bal-bar{display:block}
.bal-top b i{font-style:normal;color:var(--gold);margin-left:8px;font-size:1.2rem}
.bs-total{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0 12px;border-bottom:1px solid var(--line)}
.bs-total span{color:var(--muted);font-size:.9rem}.bs-total b{font-size:1.6rem}.bs-total small{font-size:.8rem;color:var(--muted);font-weight:400}
.bs-list{display:flex;flex-direction:column}
.bs-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;font:inherit}
button.bs-item{cursor:pointer}
.bs-item.off{opacity:.45}
.bs-ic{flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(201,168,76,.1);color:var(--gold)}
.bs-ic svg{width:18px;height:18px}
.bs-nm{flex:1;min-width:0}.bs-nm b{display:block;font-size:.95rem}.bs-nm small{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.bs-k{text-align:right;font-weight:600}.bs-k small{display:block;font-size:.7rem;color:var(--muted);font-weight:400}
.bs-item i{font-style:normal;color:var(--gold);font-size:1.2rem}
.bs-note{margin-top:8px}
.bs-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px}
.bs-macros span{padding:8px;border-radius:10px;border:1px solid var(--line);font-size:.75rem;color:var(--muted);text-align:center}
.bs-macros b{display:block;color:var(--text);font-size:1rem}
.bs-meal{margin-top:12px}.bs-mh{display:flex;justify-content:space-between;color:var(--gold);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:4px;border-bottom:1px solid var(--line)}
.bs-meal .fd-th{margin-right:0;width:44px;height:44px}
