@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f2f2f7;--surface:#fff;--card:#f2f2f7;--elevated:#fff;--label:#000;--label2:#1c1c1e;--muted:#3c3c43;--muted2:#8e8e93;--line:rgba(60,60,67,.18);--line-s:#c6c6c8;--dawn:#007aff;--dawn-d:#0062cc;--tide:#34c759;--tide-d:#248a3d;--warn:#ff3b30;--energy:#ff9500;--lime:#32d74b;--purple:#af52de;--shadow-sm:0 1px 3px rgba(0,0,0,.07),0 0 0 .5px rgba(0,0,0,.04);--shadow-md:0 4px 16px rgba(0,0,0,.08),0 0 0 .5px rgba(0,0,0,.04)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;background:var(--bg);color:var(--label);min-height:100dvh;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"kern" 1}:root{--ease-apple:cubic-bezier(0.25,0.46,0.45,0.94);--ease-spring:cubic-bezier(0.19,1.00,0.22,1.00);--ease-out:cubic-bezier(0.00,0.00,0.20,1.00)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .65s var(--ease-apple),transform .65s var(--ease-apple);will-change:opacity,transform}.reveal.in{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:90ms}.reveal-d2{transition-delay:.18s}.reveal-d3{transition-delay:.27s}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-inner{animation:pageIn .5s var(--ease-apple) both}@keyframes heroIn{0%{opacity:0;transform:scale(.97) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.hero{animation:heroIn .9s var(--ease-spring) .08s both}@keyframes topnavIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.topnav{animation:topnavIn .45s var(--ease-apple) both}.topnav-link:before{content:"";position:absolute;bottom:0;left:11px;right:11px;height:2px;border-radius:1px 1px 0 0;background:var(--muted2);transform:scaleX(0);transform-origin:left center;transition:transform .2s var(--ease-apple),background .2s}.topnav-link:hover:before{transform:scaleX(1)}.topnav-link.active:before{background:var(--dawn);transform:scaleX(1)}.topnav-link.active:after{display:none}.widget{transition:transform .25s var(--ease-apple),box-shadow .25s var(--ease-apple)!important}.widget:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 14px 40px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}[data-theme=dark] .widget:hover{box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 0 .5px hsla(0,0%,100%,.06);transform:translateY(-6px) scale(1.01)}.accord,.chart-card,.nutri-recipe-card,.prog-roadmap-phase,.prog-session-card,.race-chip,.stat{transition:transform .22s var(--ease-apple),box-shadow .22s var(--ease-apple)!important}.accord:hover,.chart-card:hover,.race-chip:hover,.stat:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.1),0 0 0 .5px rgba(0,0,0,.04)}.accord-anim{transition:grid-template-rows .38s var(--ease-apple)}.accord-head,.bottom-nav-link,.btn,.btn-danger,.btn-ghost,.btn-primary,.db-scale-btn,.db-status-btn,.mood-btn,.pin-key,.prog-pain-btn,.topnav-pill{transition:transform .12s var(--ease-apple),opacity .12s var(--ease-apple),background .15s,color .15s,border-color .15s!important}.accord-head:active,.btn-ghost:active,.btn-primary:active,.btn:active,.mood-btn:active,.pin-key:active,.prog-pain-btn:active{transform:scale(.96)}.bento-header{padding-bottom:6px}@media (prefers-reduced-motion:reduce){.hero,.page-inner,.reveal,.topnav{animation:none!important;transition-duration:.01ms!important;opacity:1!important;transform:none!important}.accord,.chart-card,.race-chip,.stat,.widget{transition:none!important}}h2{font-size:22px;font-weight:700;letter-spacing:-.01em}h3{font-size:15px;font-weight:600}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--dawn)}section{margin-top:clamp(20px,3vw,32px)}.shead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 2px}.shead h2{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.shead .hint{font-size:12px;color:var(--muted2)}.hero{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-sm);padding:clamp(22px,3vw,40px) clamp(20px,3.5vw,48px) clamp(20px,3vw,36px);overflow:hidden;display:flex;flex-direction:column;gap:0}@media (min-width:900px){.hero{flex-direction:row;align-items:flex-end;gap:40px}.hero-text{flex:1 1}.hero-progress-wrap{flex:0 0 340px}}.hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dawn);margin-bottom:6px}.hero-goal{font-family:Inter,-apple-system,sans-serif;font-size:clamp(52px,8vw,96px);font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--label)}.hero-why{font-size:clamp(13px,1.2vw,15px);color:var(--label2);font-style:italic;margin-top:14px;max-width:48ch;line-height:1.6}.hero-progress-wrap{margin-top:20px}@media (min-width:900px){.hero-progress-wrap{margin-top:0}}.hero-progress-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.hero-progress-sub{font-size:11.5px;color:var(--muted2);margin-top:8px;font-weight:500}.water{position:relative;margin-top:18px;height:40px;border-radius:10px;background:var(--bg);overflow:hidden}.water-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--dawn),var(--tide));transition:width .8s cubic-bezier(.2,.8,.2,1)}.water-cap{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;font-size:13px;font-weight:600;color:#fff;letter-spacing:.01em}.bento{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px)}.bento-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.bento-title{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.03em;color:var(--label)}.bento-date{font-size:14px;color:var(--muted);font-weight:400}.bento-row{display:grid;grid-gap:14px;gap:14px}.bento-row-2{grid-template-columns:1fr 1fr}.bento-row-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:400px){.bento-row-3{grid-template-columns:1fr 1fr}}.widget{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-sm);padding:clamp(14px,2vw,22px) clamp(14px,2vw,20px) clamp(16px,2vw,22px);display:flex;flex-direction:column;gap:0}.widget-cat{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:5px}.widget-val{font-size:clamp(40px,5vw,56px);font-weight:800;line-height:.88;color:var(--label);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.widget-val-of{font-size:24px;color:var(--muted);font-weight:600}.widget-unit{font-size:12.5px;color:var(--muted);margin-top:8px;font-weight:400}.widget-sub{font-size:11.5px;color:var(--muted2);margin-top:3px}.widget-bar{height:4px;border-radius:2px;background:var(--line);margin-top:14px;overflow:hidden}.widget-bar-fill{height:100%;border-radius:2px;transition:width .7s cubic-bezier(.2,.8,.2,1);min-width:4px}.accord{background:var(--surface);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden}.accord-head{display:flex;align-items:center;gap:10px;width:100%;padding:18px 20px;background:none;border:none;border-bottom:.5px solid transparent;cursor:pointer;text-align:left}.accord-head:hover{background:rgba(0,0,0,.025)}.accord.open .accord-head{border-bottom-color:var(--line)}.accord-icon{font-size:18px;flex:none}.accord-title{font-size:16px;font-weight:700;color:var(--label);flex:1 1;letter-spacing:-.01em}.accord-badge{font-size:12.5px;font-weight:700;color:var(--muted2);background:var(--bg);border-radius:999px;padding:3px 10px;letter-spacing:.01em;flex:none}.accord-chevron{color:var(--muted2);flex:none;display:flex;align-items:center}.accord-anim{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s var(--ease-apple,cubic-bezier(.25,.46,.45,.94))}.accord.open .accord-anim{grid-template-rows:1fr}.accord-body{overflow:hidden}.accord-body section{margin-top:0}.accord-body .shead{display:none}.accord-body .item-list{border-radius:0;box-shadow:none}.accord-body>section>p.muted{padding:8px 16px 14px;margin:0;font-style:italic}.dash-aside,.dash-main{display:flex;flex-direction:column;gap:clamp(12px,2vw,18px)}.stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:14px}.stat{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:14px 10px;text-align:center}.stat-n{font-size:32px;font-weight:800;line-height:1;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-k{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-weight:600}.stat-lvl .stat-n{color:var(--dawn)}.stat-streak .stat-n{color:var(--tide)}.think{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px}.think-q{font-size:clamp(17px,4.5vw,22px);font-weight:600;line-height:1.35;letter-spacing:-.01em;color:var(--label)}.think-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.btn-ghost{background:none;border:1px solid rgba(0,0,0,.12);color:var(--dawn);font-size:13px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .12s}.btn-ghost:hover{background:rgba(0,122,255,.06)}.btn-primary,.btn-tide{background:var(--dawn);color:#fff;border:none;border-radius:12px;padding:14px 20px;font-weight:700;font-size:15px;letter-spacing:.01em;cursor:pointer;transition:background .12s;width:100%}.btn-primary:hover,.btn-tide:hover{background:var(--dawn-d)}.btn-primary:disabled,.btn-tide:disabled{opacity:.35;cursor:not-allowed}.btn-warn{width:100%;margin-top:16px;background:var(--warn);color:#fff;border:none;border-radius:12px;padding:14px;font-weight:700;font-size:17px;cursor:pointer}.btn-warn:hover{background:#e0302a}.charts-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:500px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px}.chart-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}.chart-legend{display:flex;gap:12px;margin-bottom:8px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.legend-dot{width:10px;height:10px;border-radius:50%;flex:none}canvas.chart-canvas{width:100%;height:150px;display:block}canvas.chart-mood{width:100%;height:88px;display:block}.cal-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px}.cal-header{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;margin-bottom:5px}.cal-header span{text-align:center;font-size:10px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-day{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.cal-day.clean{background:var(--tide);color:#fff}.cal-day.smoked{background:var(--warn);color:#fff}.cal-day.nodata{background:var(--bg);color:var(--muted2)}.cal-day.future{background:transparent;border:1px dashed var(--line);color:var(--muted2)}.cal-day.today{outline:2px solid var(--dawn);outline-offset:1px}.cal-legend{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap}.cal-leg-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.cal-leg-dot{width:12px;height:12px;border-radius:3px;flex:none}.item-list{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:14px;background:transparent;border:none;border-radius:0;border-bottom:.5px solid var(--line);padding:13px 16px;cursor:pointer;transition:background .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.item:last-child{border-bottom:none}.item:hover{background:rgba(0,0,0,.02)}.item:active{background:rgba(0,0,0,.04)}.item-box{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line-s);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .15s}.item-box svg{width:14px;height:14px;opacity:0;transform:scale(.4);transition:opacity .2s,transform .2s}.item-txt{flex:1 1;font-size:15px;font-weight:500;color:var(--label);transition:color .2s}.item-xp{font-size:13px;font-weight:700;color:var(--dawn);letter-spacing:.01em}.item.done .item-box{background:var(--dawn);border-color:var(--dawn);transform:scale(1.05)}.item.done .item-box svg{opacity:1;transform:scale(1)}.item.done .item-txt{text-decoration:line-through;-webkit-text-decoration-color:var(--muted2);text-decoration-color:var(--muted2);color:var(--muted)}.item.done .item-xp{color:var(--muted2)}.item.quest.done .item-box{background:var(--tide);border-color:var(--tide)}.cig-card{position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:24px;padding:28px;gap:22px;min-height:360px;color:#fff;transition:background 1.2s ease}.cig-card.clean{background:linear-gradient(150deg,#081c14,#0c2a1c 45%,#081422)}.cig-card.smoked{background:linear-gradient(150deg,#1f0908,#2e1206 45%,#1a0a14)}.cig-glow{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:260px;height:260px;border-radius:50%;pointer-events:none;transition:background 1.2s ease}.cig-card.clean .cig-glow{background:radial-gradient(circle,rgba(48,209,88,.18) 0,transparent 70%)}.cig-card.smoked .cig-glow{background:radial-gradient(circle,rgba(255,107,50,.2) 0,transparent 70%)}.cig-top-row{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.cig-state-badge{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.65}.cig-undo{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.18);color:hsla(0,0%,100%,.75);border-radius:20px;padding:5px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,opacity .15s;letter-spacing:-.01em}.cig-undo:hover{background:hsla(0,0%,100%,.2)}.cig-center{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}.cig-num{font-size:100px;font-weight:900;letter-spacing:-.05em;line-height:.9;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:color .5s,text-shadow .5s}.cig-card.clean .cig-num{color:#30d158;text-shadow:0 0 48px rgba(48,209,88,.55)}.cig-card.smoked .cig-num{color:#ff6b35;text-shadow:0 0 48px rgba(255,107,53,.55)}@keyframes cigHit{0%{transform:scale(1)}20%{transform:scale(1.3) rotate(-5deg)}50%{transform:scale(.88) rotate(3deg)}75%{transform:scale(1.06)}to{transform:scale(1) rotate(0deg)}}.cig-num.hit{animation:cigHit .65s var(--ease-spring) forwards}.cig-unit{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.45;margin-top:8px;font-weight:700}.cig-streak{display:flex;align-items:center;gap:12px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:13px 18px;position:relative;z-index:1}.cig-streak-fire{font-size:22px;flex-shrink:0}.cig-streak-content{display:flex;align-items:baseline;gap:7px}.cig-streak-n{font-size:28px;font-weight:900;color:#30d158;letter-spacing:-.02em}.cig-streak-k{font-size:13px;color:hsla(0,0%,100%,.6);font-weight:500}.cig-add-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#ff3b30;color:#fff;border:none;border-radius:18px;font-size:15px;font-weight:800;padding:17px 20px;cursor:pointer;font-family:inherit;letter-spacing:-.01em;transition:transform .14s,box-shadow .15s,background .15s;box-shadow:0 6px 24px rgba(255,59,48,.45);position:relative;z-index:1}.cig-add-btn:hover{background:#d63029;transform:translateY(-2px);box-shadow:0 10px 32px rgba(255,59,48,.55)}.cig-add-btn:active{transform:scale(.97)}.cig-add-plus{font-size:20px;line-height:1;font-weight:900}.cig-coach{display:flex;align-items:flex-start;gap:10px;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:14px;padding:13px 16px;font-size:13px;line-height:1.6;color:hsla(0,0%,100%,.75);animation:rise .4s var(--ease-apple);position:relative;z-index:1}.cig-coach-icon{font-size:17px;flex-shrink:0;margin-top:1px}.gallery-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px}.upload-zone{padding-bottom:18px;border-bottom:.5px solid var(--line);margin-bottom:18px}.upload-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;display:block;margin-bottom:10px}.upload-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:8px}@media (max-width:420px){.upload-fields{grid-template-columns:1fr}}.inp{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--label);font-family:inherit;font-size:15px;padding:11px 13px;width:100%;transition:border-color .15s}.inp:focus{outline:none;border-color:var(--dawn)}.inp::placeholder{color:var(--muted2)}.file-pick{display:flex;align-items:center;gap:10px;background:var(--bg);border:1.5px dashed rgba(0,0,0,.15);border-radius:12px;padding:14px 16px;cursor:pointer;color:var(--muted);font-size:14px;transition:border-color .15s;width:100%;margin-bottom:8px}.file-pick:hover{border-color:var(--dawn);color:var(--label)}.file-info{font-size:12px;color:var(--tide);margin-bottom:8px;min-height:16px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-gap:10px;gap:10px}.gal-item{position:relative;border-radius:12px;overflow:hidden;background:var(--bg);box-shadow:var(--shadow-sm)}.gal-item img,.gal-item video{width:100%;aspect-ratio:1;object-fit:cover;display:block}.gal-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.65));padding:7px 8px 8px}.gal-date{font-size:10px;color:hsla(0,0%,100%,.8);letter-spacing:.02em}.gal-note{font-size:12px;color:#fff;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gal-actions{display:flex;gap:5px;margin-top:5px}.gal-btn{background:hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.3);color:#fff;border-radius:999px;padding:4px 9px;font-size:11px;cursor:pointer;transition:background .12s}.gal-btn:hover{background:hsla(0,0%,100%,.35)}.gal-btn.del:hover{background:rgba(255,59,48,.6)}.gal-empty{text-align:center;padding:28px 14px;color:var(--muted);font-size:14px;line-height:1.6}.mind-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:20px}.mind-lead{font-size:14px;color:var(--label2);line-height:1.6}.mblock{margin-top:20px}.mblock h3{margin-bottom:10px}.mood-btn,.moods{display:flex;gap:7px}.mood-btn{flex:1 1;text-align:center;background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:12px 4px 10px;cursor:pointer;font-size:11px;color:var(--muted);transition:all .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-direction:column;align-items:center}.mood-dot{width:14px;height:14px;border-radius:50%;flex:none;opacity:.6;transition:opacity .15s}.mood-btn.sel{background:rgba(0,122,255,.08);border-color:rgba(0,122,255,.35);color:var(--label)}.mood-btn.sel .mood-dot{opacity:1}.mood-chart-wrap{background:var(--bg);border-radius:12px;padding:14px}.mood-chart-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.jhint,.mood-chart-title{color:var(--muted);margin-bottom:8px}.jhint{font-size:13px;line-height:1.5}.gin,.jbox{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--label);font-family:inherit;font-size:15px;padding:12px 13px;transition:border-color .15s}.gin:focus,.jbox:focus{outline:none;border-color:var(--dawn);box-shadow:0 0 0 3px rgba(0,122,255,.12)}.gin::placeholder,.jbox::placeholder{color:var(--muted2)}.jbox{min-height:88px;line-height:1.5;resize:vertical}.grat{display:flex;flex-direction:column;gap:8px}.breathe-wrap{text-align:center}.btn-breathe{background:var(--tide);color:#fff;border:none;border-radius:12px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer}.btn-breathe:hover{background:var(--tide-d)}.breathe-panel{display:none;flex-direction:column;align-items:center;padding:20px 0 4px}.breathe-panel.on{display:flex}.bcircle{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#34c759,#248a3d);transform:scale(.8);transition:transform 4s ease}.blabel{margin-top:16px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:16px;color:var(--tide)}.support{margin-top:18px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:16px}.support h3{color:var(--dawn);font-size:16px;margin-bottom:7px}.support p{font-size:13.5px;line-height:1.5}.support-links{margin-top:9px;display:flex;flex-wrap:wrap;gap:8px}.support-link{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--label);text-decoration:none;font-size:13px;transition:border-color .15s}.support-link:hover{border-color:var(--dawn)}.support-src{font-size:11.5px;color:var(--muted);margin-top:11px}.foot{margin-top:30px;text-align:center;font-size:12px;line-height:1.6}.btn-reset,.foot{color:var(--muted)}.btn-reset{background:none;border:none;text-decoration:underline;cursor:pointer;font:inherit}.save-indicator{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.save-dot{width:6px;height:6px;border-radius:50%;background:var(--tide);flex:none}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--dawn);outline-offset:2px}body{padding:0}.app-root{display:block;min-height:100dvh}.topnav{position:fixed;top:0;left:0;right:0;background:rgba(242,242,247,.88);backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(20px) saturate(200%);border-bottom:.5px solid rgba(0,0,0,.1);z-index:100}.topnav-inner{display:flex;align-items:center;height:52px;width:100%;padding:0 clamp(16px,3vw,40px);gap:0}.topnav-brand{display:flex;flex-direction:column;justify-content:center;text-decoration:none;flex:none;margin-right:28px;gap:1px}.topnav-logo{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--dawn);line-height:1}.topnav-sub{font-size:9.5px;font-weight:500;color:var(--muted);line-height:1;letter-spacing:.01em}.topnav-links{flex:1 1;gap:0}.topnav-link,.topnav-links{display:flex;align-items:center}.topnav-link{position:relative;padding:0 11px;height:52px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .12s}.topnav-link:hover{color:var(--label)}.topnav-link.active{color:var(--label);font-weight:600}.topnav-link.active:after{content:"";position:absolute;bottom:0;left:11px;right:11px;height:2px;border-radius:1px 1px 0 0;background:var(--dawn)}.topnav-stats{display:flex;align-items:center;gap:6px;flex:none;margin-left:16px}.topnav-pill{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.01em;line-height:1}.topnav-pill.tide{background:rgba(52,199,89,.12);color:#248a3d}.topnav-pill.dawn{background:rgba(0,122,255,.1);color:#0062cc}.topnav-pill.purple{background:rgba(175,82,222,.1);color:#7b2fa8}.topnav-progress-bar{height:2px;background:rgba(0,0,0,.06);position:relative;overflow:hidden}.topnav-progress-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--dawn),var(--purple));transition:width .8s ease}.page-main{margin-left:0;min-height:100dvh;padding:82px clamp(16px,3vw,40px) 80px}.page-inner{width:100%}.page-title-block{margin-bottom:28px;padding-bottom:18px;border-bottom:.5px solid var(--line)}.page-title-block h1{font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-.03em;color:var(--label);line-height:1}.page-title-block p{font-size:clamp(13px,1.5vw,16px);color:var(--muted);margin-top:7px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(14px,2vw,24px);gap:clamp(14px,2vw,24px);align-items:stretch}@media (max-width:768px){.two-col{grid-template-columns:1fr}}.three-col{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(14px,2vw,22px);gap:clamp(14px,2vw,22px);align-items:start}@media (max-width:1024px){.three-col{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.three-col{grid-template-columns:1fr}}.dash-grid{display:grid;grid-template-columns:1fr 360px;grid-gap:clamp(16px,2.5vw,28px);gap:clamp(16px,2.5vw,28px);align-items:start}@media (max-width:960px){.dash-grid{grid-template-columns:1fr}}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:clamp(10px,1.5vw,16px);gap:clamp(10px,1.5vw,16px)}@media (max-width:768px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}.dash-content{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(14px,2vw,24px);gap:clamp(14px,2vw,24px);align-items:start}@media (max-width:900px){.dash-content{grid-template-columns:1fr}}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:hsla(0,0%,98%,.94);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top:.5px solid rgba(0,0,0,.1);z-index:50;height:62px}.bottom-nav-inner{display:flex;height:100%;width:100%}.bottom-nav-link{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted2);text-decoration:none;font-size:clamp(7px,2.1vw,9.5px);letter-spacing:-.01em;font-weight:600;text-transform:uppercase;transition:color .12s;padding:0 1px;overflow:hidden;white-space:nowrap}.bottom-nav-link svg{width:22px;height:22px;flex:none}.bottom-nav-link.active{color:var(--dawn)}.bottom-nav-link:hover{color:var(--label)}@media (max-width:767px){.topnav-links,.topnav-stats{display:none}.page-main{padding:68px 16px 82px}.bottom-nav{display:flex}}@media (max-width:1024px) and (min-width:768px){.topnav-link{padding:0 8px;font-size:12px}.topnav-brand{margin-right:14px}.topnav-stats{gap:4px;margin-left:8px}.topnav-pill{font-size:10.5px;padding:2px 7px}}.wrap{max-width:none!important;margin:0!important}.prog-week-section{width:100%}.prog-session-races{display:grid;grid-template-columns:3fr 1fr;grid-gap:clamp(16px,2vw,24px);gap:clamp(16px,2vw,24px);align-items:start;margin-top:clamp(24px,3vw,40px)}.prog-detail-col{margin-top:0!important}@media (max-width:768px){.prog-session-races{grid-template-columns:1fr}.prog-races-col{position:static}}.prog-races-col{position:-webkit-sticky;position:sticky;top:96px}.prog-races-list{border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.prog-race-item{padding:12px 14px;border-left:3px solid var(--race-color,var(--dawn));border-bottom:.5px solid var(--line);display:flex;flex-direction:column;gap:5px;background:var(--surface);transition:background .15s}.prog-race-item:last-child{border-bottom:none}.prog-race-item:hover{background:rgba(0,122,255,.04)}.prog-race-item.past{opacity:.4;pointer-events:none}.prog-race-item-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prog-race-item-name{font-size:13px;font-weight:700;color:var(--label);letter-spacing:-.01em;line-height:1.2}.prog-race-item-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.prog-race-item-date{font-size:11px;color:var(--race-color,var(--dawn));font-weight:700}.prog-race-item-dist{font-size:10px;color:var(--muted);line-height:1.4;letter-spacing:.01em}.prog-phase-banner{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:18px 20px;display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px}.prog-phase-left{flex:1 1;min-width:200px}.prog-phase-week{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dawn);margin-bottom:4px;font-weight:700}.prog-phase-label{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--label)}.prog-phase-tagline{font-size:13px;color:var(--label2);margin-top:4px}.prog-phase-focus{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start}.prog-focus-tag{background:rgba(0,122,255,.08);border:1px solid rgba(0,122,255,.2);color:var(--dawn);border-radius:999px;padding:4px 12px;font-size:11px;letter-spacing:.04em;font-weight:600}.prog-week-section{margin-top:22px}.prog-week-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.prog-week-title{font-size:13px;color:var(--muted);letter-spacing:.03em;text-align:center;flex:1 1;font-weight:500}.prog-nav-btn{font-size:12px!important;padding:4px 10px!important}.prog-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}@media (max-width:600px){.prog-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}}.prog-day-cell{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:10px 6px;text-align:center;cursor:pointer;transition:box-shadow .12s;display:flex;flex-direction:column;align-items:center;gap:4px}.prog-day-cell:hover{box-shadow:var(--shadow-md)}.prog-day-cell.today{outline:2px solid var(--session-color,var(--dawn));outline-offset:1px}.prog-day-cell.open{background:rgba(0,122,255,.06);outline:2px solid var(--dawn);outline-offset:1px}.prog-day-cell.past{opacity:.4}.prog-day-name{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.prog-day-date-num{font-size:12px;color:var(--label);font-weight:600}.prog-day-session{font-size:11px;font-weight:600;color:var(--session-color,var(--label));line-height:1.2}.prog-day-dur{font-size:10px;color:var(--muted)}.prog-pain-check{background:rgba(255,59,48,.04);border:1px solid rgba(255,59,48,.15);border-radius:14px;padding:14px 16px;margin-bottom:14px}.prog-pain-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:600}.prog-pain-row{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}.prog-pain-label{font-size:13px;color:var(--label);min-width:90px}.prog-pain-scale{display:flex;gap:4px;flex-wrap:wrap}.prog-pain-btn{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:all .1s}.prog-pain-btn.sel{background:var(--dawn);border-color:var(--dawn);color:#fff}.prog-pain-btn.danger{border-color:rgba(255,59,48,.3)}.prog-pain-btn.danger.sel{background:var(--warn);border-color:var(--warn);color:#fff}.prog-pain-rule{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}.prog-pain-alert{background:rgba(255,59,48,.06);border:1px solid rgba(255,59,48,.2);border-radius:12px;padding:14px 16px;color:var(--warn);font-size:14px;line-height:1.5;margin-bottom:14px}.prog-session-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);border-top:3px solid var(--session-color,var(--dawn));overflow:hidden}.prog-session-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:.5px solid var(--line)}.prog-session-label{font-size:18px;font-weight:700;color:var(--label);letter-spacing:-.01em}.prog-session-desc{font-size:13px;color:var(--label2);margin-top:3px}.prog-session-dur{font-size:13px;color:var(--session-color,var(--dawn));text-align:right;white-space:nowrap;font-weight:700}.prog-exercise-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;padding:16px}.prog-ex-card{background:var(--bg);border-radius:12px;padding:14px 16px;border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;transition:box-shadow .2s,transform .2s var(--ease-apple)}.prog-ex-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}.prog-ex-card.required{border-left:3px solid var(--tide)}.prog-ex-card.warning{border-left:3px solid var(--warn)}.prog-ex-name{font-size:13px;font-weight:700;color:var(--label);letter-spacing:-.01em}.prog-ex-card.required .prog-ex-name{color:var(--tide)}.prog-ex-card.warning .prog-ex-name{color:var(--warn)}.prog-ex-detail{font-size:12px;color:var(--muted);line-height:1.5}.prog-ex-sets{font-size:12px;color:var(--dawn);font-weight:700;letter-spacing:.01em}.prog-notes{margin-top:12px;background:var(--bg);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.prog-note{font-size:13px;color:var(--label2);font-style:italic;line-height:1.5}.prog-roadmap{display:flex;flex-direction:column;gap:8px}.prog-roadmap-phase{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden;opacity:.5;transition:opacity .2s}.prog-roadmap-phase.current{opacity:1;outline:2px solid rgba(0,122,255,.3);outline-offset:1px}.prog-roadmap-phase:has(.prog-roadmap-details){opacity:1}.prog-roadmap-header{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;text-align:left}.prog-roadmap-header-left{display:flex;flex-direction:column;align-items:flex-start;min-width:80px}.prog-roadmap-weeks{font-size:12px;color:var(--dawn);letter-spacing:.04em;font-weight:700}.prog-roadmap-period{font-size:10px;color:var(--muted);margin-top:1px}.prog-roadmap-header-center{flex:1 1;display:flex;flex-direction:column;gap:2px;text-align:left}.prog-roadmap-name{font-size:14px;font-weight:600;color:var(--label)}.prog-roadmap-tagline{font-size:12px;color:var(--label2)}.prog-roadmap-chevron{font-size:10px;color:var(--muted);margin-left:auto;padding-left:8px}.prog-roadmap-details{display:flex;flex-direction:column;gap:12px;border-top:.5px solid var(--line);padding:12px 14px 14px}.prog-roadmap-milestone{font-size:13px;font-weight:600;padding:8px 12px;border-radius:10px;border:1px solid}.prog-roadmap-focus{display:flex;flex-wrap:wrap;gap:5px}.prog-roadmap-week-template{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.prog-template-day{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg);border-radius:8px;padding:6px 4px}.prog-template-day-name{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.prog-template-sess{font-size:11px;font-weight:600;text-align:center;line-height:1.2}.prog-template-dur{font-size:9px;color:var(--muted);text-align:center}.prog-roadmap-notes{display:flex;flex-direction:column;gap:4px}.prog-roadmap-note{font-size:12px;color:var(--label2);font-style:italic;line-height:1.5}.strava-panel{background:var(--surface);border-radius:20px;box-shadow:var(--shadow-sm);border:1px solid var(--line);overflow:hidden;margin-top:clamp(24px,3vw,40px)}.strava-panel.loading{padding:24px}.strava-skeleton{height:72px;border-radius:12px;background:linear-gradient(90deg,var(--line) 25%,var(--bg) 50%,var(--line) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.strava-connect-inner{display:flex;align-items:center;gap:18px;padding:22px 24px;flex-wrap:wrap}.strava-logo-wrap{width:48px;height:48px;border-radius:14px;background:#fc4c02;display:flex;align-items:center;justify-content:center;flex-shrink:0}.strava-icon{width:26px;height:26px;color:#fff}.strava-connect-text{flex:1 1;min-width:180px}.strava-connect-title{font-size:16px;font-weight:700;color:var(--label);letter-spacing:-.01em}.strava-connect-sub{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.5}.strava-connect-btn{background:#fc4c02;color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;padding:11px 22px;cursor:pointer;text-decoration:none;display:inline-block;font-family:inherit;transition:background .15s,transform .12s;white-space:nowrap;box-shadow:0 4px 16px rgba(252,76,2,.3)}.strava-connect-btn:hover{background:#e04400;transform:translateY(-1px)}.strava-head{justify-content:space-between;padding:16px 20px;border-bottom:.5px solid var(--line)}.strava-head,.strava-head-left{display:flex;align-items:center;gap:12px}.strava-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}.strava-head-name{font-size:15px;font-weight:700;color:var(--label)}.strava-head-sub{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:2px}.strava-icon-sm{width:12px;height:12px;color:#fc4c02;flex-shrink:0}.strava-disconnect{background:none;border:1px solid var(--line);border-radius:10px;font-size:12px;font-weight:600;color:var(--muted);padding:6px 13px;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s}.strava-disconnect:hover{border-color:var(--warn);color:var(--warn)}.sc-carousel-wrap{padding:20px 0 0}.sc-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 12px;scrollbar-width:none}.sc-scroll::-webkit-scrollbar{display:none}.sc-footer{display:flex;justify-content:flex-end;padding:10px 20px 16px}.sc-nav-pills{display:flex;gap:6px}.sc-nav-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);color:var(--label);font-size:20px;display:flex;align-items:center;justify-content:center;padding-bottom:1px;cursor:pointer;transition:background .15s,opacity .2s,transform .12s;box-shadow:0 1px 4px rgba(0,0,0,.08)}.sc-nav-btn:hover:not(.disabled){background:var(--bg);transform:scale(1.1)}.sc-nav-btn.disabled{opacity:.3;cursor:default}.sc-card{flex:0 0 260px;border-radius:18px;overflow:hidden;cursor:pointer;background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 12px rgba(0,0,0,.08);scroll-snap-align:start;transition:transform .18s,box-shadow .18s}.sc-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px rgba(0,0,0,.16)}.sc-card-header{position:relative;height:148px;background-size:cover;background-position:50%;overflow:hidden}.sc-route-svg{position:absolute;inset:0;width:100%;height:100%}.sc-card-header-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.6))}.sc-card-header-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 12px 10px}.sc-type-badge{display:flex;align-items:center;gap:5px;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:4px 10px;border:.5px solid hsla(0,0%,100%,.2)}.sc-card-date{font-size:11px;font-weight:600;color:hsla(0,0%,100%,.85);text-shadow:0 1px 3px rgba(0,0,0,.5)}.sc-card-body{padding:12px 14px 14px}.sc-card-name{font-size:14px;font-weight:700;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:10px}.sc-card-cta{font-size:11px;font-weight:600;color:#fc4c02;margin-top:10px;letter-spacing:.01em}.sc-metrics{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.sc-metric{background:var(--bg);border-radius:10px;padding:8px 10px;border:.5px solid var(--line)}.sc-metric-val{font-size:14px;font-weight:800;color:var(--label);letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sc-metric-lbl{font-size:9px;color:var(--muted);margin-top:1px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.sc-load-more-card{flex:0 0 130px;border-radius:18px;border:1.5px dashed var(--line);display:flex;align-items:center;justify-content:center;scroll-snap-align:start}.sc-load-more-btn{background:none;border:none;font-size:12px;font-weight:700;line-height:1.4;color:var(--muted);cursor:pointer;font-family:inherit;padding:20px;transition:color .15s;text-align:center;white-space:pre-line}.sc-load-more-btn:hover{color:var(--label)}.sdm-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width:640px){.sdm-overlay{align-items:center;padding:24px}}.sdm-panel{background:var(--surface);border-radius:24px 24px 0 0;width:100%;max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 48px rgba(0,0,0,.3)}@media (min-width:640px){.sdm-panel{border-radius:24px;max-width:680px;max-height:90dvh}}.sdm-header{gap:12px;padding:18px 20px;border-bottom:.5px solid var(--line)}.sdm-header,.sdm-type-badge{display:flex;align-items:center;flex-shrink:0}.sdm-type-badge{gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:4px 11px}.sdm-header-info{flex:1 1;min-width:0}.sdm-name{font-size:16px;font-weight:800;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sdm-date{font-size:12px;color:var(--muted);margin-top:2px}.sdm-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--muted);font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s;font-family:inherit}.sdm-close:hover{background:var(--line)}.sdm-body{overflow-y:auto;flex:1 1}.sdm-loading{padding:40px;text-align:center;color:var(--muted);font-size:14px}.sdm-no-map{height:80px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted);background:var(--bg)}.sdm-map{height:280px;width:100%}@media (min-width:640px){.sdm-map{height:340px}}.sdm-photos{padding:16px 20px 0}.sdm-photo-main{position:relative;border-radius:16px;overflow:hidden}.sdm-photo-img{width:100%;max-height:240px;object-fit:cover;display:block}.sdm-photo-nav{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.sdm-photo-dot{width:7px;height:7px;border-radius:50%;background:hsla(0,0%,100%,.5);border:none;cursor:pointer;transition:background .15s}.sdm-photo-dot.active{background:#fff}.sdm-section{padding:16px 20px;border-top:.5px solid var(--line)}.sdm-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}.sdm-metrics{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}@media (max-width:480px){.sdm-metrics{grid-template-columns:1fr 1fr}}.sdm-metric{background:var(--bg);border-radius:12px;padding:12px 14px;border:.5px solid var(--line)}.sdm-metric-val{font-size:18px;font-weight:900;color:var(--label);letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sdm-metric-lbl{font-size:10px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.sdm-description{font-size:14px;color:var(--label2);line-height:1.65;white-space:pre-wrap}.sdm-gear{display:flex;align-items:center;gap:14px;background:var(--bg);border-radius:14px;padding:12px 16px;border:.5px solid var(--line)}.sdm-gear-icon{font-size:24px;flex-shrink:0}.sdm-gear-name{font-size:14px;font-weight:700;color:var(--label)}.sdm-gear-sub{font-size:12px;color:var(--muted);margin-top:2px}@media (max-width:480px){.strava-connect-inner{gap:12px;padding:16px}.sc-card{flex-grow:0;flex-shrink:0;flex-basis:calc(100vw - 56px)}}@media (max-width:580px){.prog-roadmap-header{padding:10px 12px;gap:8px}.prog-roadmap-header-left{min-width:64px}.prog-template-sess{font-size:10px}.prog-template-dur{display:none}}.nutri-goals{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:22px}@media (max-width:480px){.nutri-goals{grid-template-columns:1fr 1fr}}.nutri-goal{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:14px 12px;text-align:center}.nutri-goal-n{font-size:28px;font-weight:800;color:var(--dawn);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nutri-goal-k{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:5px;font-weight:600}.nutri-goal-rule{border:1.5px solid rgba(52,199,89,.4)}.nutri-goal-rule .nutri-goal-n{color:var(--tide)}.nutri-day-tabs{display:flex;gap:5px;margin-bottom:14px;flex-wrap:wrap}.nutri-day-tab{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;box-shadow:var(--shadow-sm)}.nutri-day-tab:hover{color:var(--label)}.nutri-day-tab.active{background:var(--dawn);border-color:var(--dawn);color:#fff;box-shadow:none}.nutri-day-plan{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}.nutri-day-total{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:.5px solid var(--line);background:var(--bg)}.nutri-day-name{font-size:16px;font-weight:700;color:var(--label);text-transform:uppercase;letter-spacing:.02em}.nutri-day-kcal{font-size:13px;color:var(--dawn);font-weight:700}.nutri-meal{padding:14px 18px;border-bottom:.5px solid var(--line)}.nutri-meal:last-child{border-bottom:none}.nutri-meal-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-weight:600}.nutri-meal-name{font-size:14px;font-weight:600;color:var(--label)}.nutri-meal-desc{font-size:12.5px;color:var(--label2);margin-top:3px;line-height:1.45}.nutri-meal-meta{display:flex;gap:14px;margin-top:6px}.nutri-meal-meta span{font-size:12px;color:var(--tide);font-weight:700}.nutri-meal-tip{margin-top:7px;font-size:12px;color:var(--dawn);background:rgba(0,122,255,.06);border-radius:8px;padding:7px 10px;line-height:1.45}.nutri-recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;margin-bottom:16px}.nutri-recipe-card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:14px;text-align:left;cursor:pointer;transition:box-shadow .12s}.nutri-recipe-card:hover{box-shadow:var(--shadow-md)}.nutri-recipe-card.open{outline:2px solid var(--dawn);outline-offset:1px}.nutri-recipe-cat{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dawn);font-weight:600;margin-bottom:4px}.nutri-recipe-name{font-size:14px;font-weight:600;color:var(--label);line-height:1.3;margin-bottom:8px}.nutri-recipe-meta{display:flex;flex-wrap:wrap;gap:8px}.nutri-recipe-meta span{font-size:11px;color:var(--muted)}.nutri-recipe-detail{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-md);padding:20px;margin-top:2px;animation:rise .2s ease;border:1.5px solid rgba(0,122,255,.2)}.nutri-recipe-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:.5px solid var(--line)}.nutri-recipe-detail-cat{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--tide);font-weight:600}.nutri-recipe-detail-name{font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--label);margin-top:3px}.nutri-recipe-detail-meta{font-size:13px;color:var(--dawn);margin-top:4px;font-weight:600}.nutri-recipe-cols{display:grid;grid-template-columns:1fr 1.4fr;grid-gap:20px;gap:20px}@media (max-width:600px){.nutri-recipe-cols{grid-template-columns:1fr}}.nutri-recipe-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:10px}.nutri-ingredients{list-style:none;display:flex;flex-direction:column;gap:6px}.nutri-ingredients li{font-size:13.5px;color:var(--label);padding-left:12px;position:relative;line-height:1.4}.nutri-ingredients li:before{content:"—";position:absolute;left:0;color:var(--tide)}.nutri-steps{padding-left:20px;display:flex;flex-direction:column;gap:8px}.nutri-steps li{font-size:13.5px;color:var(--label);line-height:1.5}.nutri-recipe-tip{margin-top:16px;padding:12px 14px;background:rgba(0,122,255,.06);border:1px solid rgba(0,122,255,.15);border-radius:10px;font-size:13px;color:var(--dawn);line-height:1.5}.nutri-tips{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);border:1px solid rgba(52,199,89,.2);padding:16px 18px;display:flex;flex-direction:column;gap:9px;animation:rise .2s ease}.nutri-tip{font-size:13.5px;color:var(--label);line-height:1.5;padding-left:14px;position:relative}.nutri-tip:before{content:"·";position:absolute;left:4px;color:var(--tide);font-size:18px;line-height:1;top:0}.nutri-tip-note{font-size:12px;color:var(--muted);border-top:.5px solid var(--line);padding-top:9px;margin-top:4px;line-height:1.5}.nutri-week-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm)}.nutri-week-btn{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--label);font-size:15px;padding:5px 12px;cursor:pointer;flex-shrink:0;transition:border-color .12s}.nutri-week-btn:hover{border-color:var(--dawn)}.nutri-week-label{flex:1 1;text-align:center}.nutri-week-title{display:block;font-size:18px;font-weight:700;color:var(--label);letter-spacing:-.01em}.nutri-week-dates{font-size:12px;color:var(--muted)}.nutri-week-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-bottom:18px}@media (max-width:560px){.nutri-week-grid{grid-template-columns:repeat(4,1fr)}}.nutri-wd{background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:9px 5px 8px;text-align:center;cursor:pointer;transition:box-shadow .12s;display:flex;flex-direction:column;align-items:center;gap:3px}.nutri-wd:hover{box-shadow:var(--shadow-md)}.nutri-wd.sel{background:rgba(0,122,255,.04)}.nutri-wd.sel,.nutri-wd.today{outline:2px solid var(--dawn);outline-offset:1px}.nutri-wd-dayname{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.nutri-wd-datenum{font-size:22px;font-weight:800;color:var(--label);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nutri-wd.today .nutri-wd-datenum{color:var(--dawn)}.nutri-wd-sess{font-size:10px;color:var(--muted);max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutri-wd-load{font-size:11px;font-weight:700;letter-spacing:.02em}.nutri-wd-kcal{font-size:10px;color:var(--muted)}.nutri-day-header{display:flex;flex-direction:column;gap:10px;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px 18px;margin-bottom:14px}.nutri-day-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.nutri-day-date{font-size:20px;font-weight:800;color:var(--label);letter-spacing:-.01em;text-transform:capitalize}.nutri-sess-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px}.nutri-day-targets{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.nutri-target-block{display:flex;align-items:baseline;gap:4px}.nutri-target-val{font-size:24px;font-weight:800;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nutri-target-lbl{font-size:11px;color:var(--muted)}.nutri-load-pill{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.nutri-slots{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:10px}.nutri-slot{border-bottom:.5px solid var(--line)}.nutri-slot:last-child{border-bottom:none}.nutri-slot-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.nutri-slot-head:hover{background:rgba(0,0,0,.02)}.nutri-slot-icon{font-size:18px;flex-shrink:0}.nutri-slot-info{flex:1 1;min-width:0}.nutri-slot-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.nutri-slot-name{font-size:14px;font-weight:600;color:var(--label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutri-slot-macros{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.nutri-slot-macros span{font-size:12px;color:var(--tide);font-weight:700;white-space:nowrap}.nutri-slot-arrow{color:var(--muted2);font-size:10px;flex-shrink:0}.nutri-slot-body{padding:10px 14px 13px;background:var(--bg);animation:rise .2s ease}.nutri-slot-desc{font-size:13px;color:var(--label2);line-height:1.5;margin:0 0 8px}.nutri-slot-ings{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:3px}.nutri-slot-ings li{font-size:12.5px;color:var(--label)}.nutri-slot-ings strong{color:var(--dawn)}.nutri-slot-tip{font-size:12px;color:var(--energy);background:rgba(255,149,0,.07);border-radius:8px;padding:6px 10px;line-height:1.45}.nutri-hydra{font-size:12.5px;color:var(--muted);background:rgba(0,122,255,.05);border:1px solid rgba(0,122,255,.1);border-radius:10px;padding:10px 14px;line-height:1.5}.nutri-shop{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;margin-top:8px}.nutri-shop-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:.5px solid var(--line);background:var(--bg)}.nutri-shop-nav-lbl{font-size:12px;color:var(--muted)}.nutri-shop-range{font-size:15px;font-weight:700;color:var(--label)}.nutri-shop-pantry{padding:12px 16px;border-bottom:.5px solid var(--line);background:rgba(255,149,0,.03)}.nutri-shop-pantry-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--energy);font-weight:600;margin-bottom:7px}.nutri-shop-pantry-tags{display:flex;flex-wrap:wrap;gap:5px}.nutri-pantry-tag{font-size:11.5px;color:var(--label);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 9px}.nutri-shop-cats{display:grid;grid-template-columns:1fr 1fr}@media (max-width:560px){.nutri-shop-cats{grid-template-columns:1fr}}.nutri-shop-cat{padding:12px 16px;border-right:.5px solid var(--line);border-bottom:.5px solid var(--line)}.nutri-shop-cat:nth-child(2n){border-right:none}.nutri-shop-cat-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--dawn);margin-bottom:8px}.nutri-shop-item{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;transition:opacity .12s}.nutri-shop-item input[type=checkbox]{accent-color:var(--dawn);cursor:pointer;flex-shrink:0}.nutri-shop-item.done{opacity:.4}.nutri-shop-item.done .nutri-shop-name{text-decoration:line-through}.nutri-shop-name{font-size:13px;color:var(--label);flex:1 1}.nutri-shop-occ{font-size:11px;color:var(--muted);flex-shrink:0}.pin-screen{position:fixed;inset:0;z-index:9999;background:var(--bg);justify-content:center}.pin-box,.pin-screen{display:flex;align-items:center}.pin-box{flex-direction:column;padding:40px 32px;width:100%;max-width:340px}.pin-logo{font-size:32px;font-weight:800;letter-spacing:-.02em;color:var(--dawn);margin-bottom:4px}.pin-tagline{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:36px}.pin-dots{display:flex;gap:16px;margin-bottom:36px}.pin-dots.error{animation:pin-shake .35s ease}@keyframes pin-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--line-s);transition:all .15s}.pin-dot.filled{background:var(--dawn);border-color:var(--dawn)}.pin-dot.err{background:var(--warn);border-color:var(--warn)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;width:100%}.pin-key{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);color:var(--label);font-size:26px;font-weight:700;letter-spacing:-.01em;padding:18px 0;cursor:pointer;text-align:center;border:none;transition:box-shadow .1s,transform .08s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pin-key:hover{box-shadow:var(--shadow-md)}.pin-key:active{transform:scale(.95);box-shadow:var(--shadow-sm)}.pin-key:disabled{opacity:.35;cursor:not-allowed}.pin-key-enter{background:var(--dawn);color:#fff}.pin-key-enter:hover{background:var(--dawn-d)}.pin-key-del{color:var(--muted);font-size:20px}.mob-expand-btn{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;padding:3px 6px;margin-right:6px;display:flex;align-items:center;flex:none;transition:border-color .12s}.mob-expand-btn:hover{border-color:var(--dawn);color:var(--dawn)}.mob-routine{background:var(--surface);border-radius:0 0 14px 14px;box-shadow:var(--shadow-sm);padding:14px 16px 16px;margin-top:4px;display:flex;flex-direction:column;gap:10px;animation:rise .2s ease}.mob-routine-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--dawn);font-weight:600;margin-bottom:4px}.mob-ex{padding:10px 12px;background:var(--bg);border-radius:10px}.mob-ex-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px}.mob-ex-name{font-size:14px;font-weight:600;color:var(--label)}.mob-ex-dur{font-size:12px;color:var(--dawn);font-weight:700;white-space:nowrap}.mob-ex-detail{font-size:12.5px;color:var(--label2);line-height:1.45}.mob-ex-tag{display:inline-block;margin-top:6px;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--tide);background:rgba(52,199,89,.08);border:1px solid rgba(52,199,89,.2);border-radius:999px;padding:2px 8px;font-weight:600}.mob-routine-note{font-size:12px;color:var(--muted);text-align:center;padding-top:4px;line-height:1.5}.gear-list{display:flex;flex-direction:column;gap:0;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.gear-item{display:flex;align-items:flex-start;gap:14px;background:transparent;border-bottom:.5px solid var(--line);padding:14px 16px;cursor:pointer;transition:background .1s,opacity .15s}.gear-item:last-child{border-bottom:none}.gear-item:hover{background:rgba(0,0,0,.02)}.gear-item.done{opacity:.4}.gear-check{flex:none;width:24px;height:24px;border-radius:50%;border:2px solid var(--line-s);margin-top:1px;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}.gear-item.done .gear-check{background:var(--tide);border-color:var(--tide)}.gear-num{flex:none;width:24px;text-align:center;font-size:14px;font-weight:700;margin-top:2px;color:var(--muted2)}.gear-content{flex:1 1;min-width:0}.gear-name{font-size:14px;font-weight:600;color:var(--label);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gear-item.done .gear-name{text-decoration:line-through;-webkit-text-decoration-color:var(--muted2);text-decoration-color:var(--muted2);color:var(--muted)}.gear-price{font-size:13px;color:var(--muted);font-weight:400}.gear-note{font-size:12.5px;color:var(--label2);margin-top:4px;line-height:1.5}.gear-brands{font-size:12px;color:var(--dawn);margin-top:4px;line-height:1.4}.gear-when{font-size:11px;letter-spacing:.05em;text-transform:uppercase;margin-top:5px;font-weight:700}.races-note{font-size:12px;color:var(--muted);font-style:italic;margin-bottom:12px;line-height:1.5}.races-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px}.race-chip{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);border-left:3px solid var(--race-color,var(--dawn));padding:14px 16px;display:flex;flex-direction:column;gap:6px;transition:opacity .2s,transform .2s var(--ease-apple),box-shadow .2s}.race-chip:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.race-chip.past{opacity:.45;pointer-events:none}.race-chip-top{display:flex;align-items:center;gap:8px}.race-type-badge{font-size:10px;font-weight:700;letter-spacing:.06em;padding:3px 9px;border-radius:999px;border:1px solid;text-transform:uppercase}.race-countdown{font-family:SF Mono,ui-monospace,Fira Code,monospace;font-size:12px;font-weight:700;color:var(--muted);margin-left:auto;letter-spacing:.02em}.race-countdown.soon{color:var(--energy)}.race-countdown.past{color:var(--muted2)}.race-optional{font-size:10px;color:var(--muted);background:var(--bg);padding:2px 7px;border-radius:10px;border:1px solid var(--line);font-style:italic}.race-chip-name{font-size:14px;font-weight:800;color:var(--label);letter-spacing:-.01em;text-transform:uppercase}.race-chip-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.race-chip-meta span:first-child{font-size:12px;color:var(--race-color,var(--dawn));font-weight:700}.race-chip-dist,.race-chip-loc{font-size:11px;color:var(--muted)}.race-card-name{font-size:16px;font-weight:800;color:var(--label);letter-spacing:-.01em;text-transform:uppercase}.prog-day-cell.race-day{border-top:2px solid var(--energy)!important}.prog-day-race-badge{position:absolute;top:3px;right:4px;font-size:11px;line-height:1}.prog-day-cell{position:relative}@media (max-width:480px){.race-card{padding:12px}.race-card-name{font-size:14px}}.debrief-wrap{margin-top:14px}.debrief-toggle{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:0;width:100%}.db-toggle-pill{font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;text-transform:uppercase}.db-toggle-pill.db-toggle-empty{background:rgba(0,122,255,.1);color:var(--dawn);border:1px solid rgba(0,122,255,.25)}.db-toggle-hint{font-size:12px;color:var(--muted)}.debrief-body{margin-top:10px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:16px;display:flex;flex-direction:column;gap:16px}.db-last{background:var(--bg);border-radius:10px;padding:12px}.db-last-title{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-weight:600}.db-last-row{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted)}.db-last-row span{color:var(--label)}.db-last-notes{font-size:13px;color:var(--label2);font-style:italic;margin-top:8px}.db-form{gap:14px}.db-field,.db-form{display:flex;flex-direction:column}.db-field{gap:6px}.db-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.db-field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.db-status-row{display:flex;flex-wrap:wrap;gap:6px}.db-status-btn{font-size:11px;padding:6px 12px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;transition:all .15s}.db-status-btn,.db-status-btn.sel{font-weight:700}.db-status-btn:hover:not(.sel){border-color:rgba(0,0,0,.2);color:var(--label)}.db-scale{display:flex;gap:4px;flex-wrap:wrap}.db-scale-btn{width:30px;height:30px;border-radius:10px;font-size:12px;font-weight:700;background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:pointer;transition:all .15s}.db-scale-btn.sel{background:var(--dawn);border-color:var(--dawn);color:#fff}.db-scale-btn.hi{color:var(--warn)}.db-scale-btn.hi.sel{background:var(--warn);border-color:var(--warn);color:#fff}.db-stars{display:flex;gap:5px}.db-star{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted2);transition:color .1s;padding:2px}.db-star.on{color:var(--dawn)}.db-textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--label);font-family:inherit;font-size:13px;line-height:1.5;padding:10px 12px;resize:vertical;width:100%;transition:border-color .15s}.db-textarea:focus{outline:none;border-color:var(--dawn);box-shadow:0 0 0 3px rgba(0,122,255,.1)}.db-textarea::placeholder{color:var(--muted2)}.db-alert{background:rgba(255,59,48,.06);border:1px solid rgba(255,59,48,.2);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--warn)}.db-save{align-self:flex-start;font-size:13px;padding:8px 18px;width:auto!important}.prog-nav-label-short{display:none}@media (max-width:480px){.page-title-block h1{font-size:28px}.page-title-block p{font-size:13px}.hero-goal{font-size:44px}.prog-nav-label-full{display:none}.prog-nav-label-short{display:inline}.prog-week-grid{gap:4px}.prog-day-cell{padding:7px 3px;gap:2px;border-radius:10px}.prog-day-session{font-size:10px}.prog-day-name{font-size:9px}.prog-day-date-num{font-size:10px}.prog-session-header{padding:13px 14px}.prog-exercise{padding:10px 14px}.nutri-day-tab{padding:6px 10px;font-size:12px}.db-field-row{grid-template-columns:1fr}.db-scale-btn{width:26px;height:26px;font-size:11px}.cig-card{padding:20px;gap:16px;min-height:300px;border-radius:20px}.cig-num{font-size:76px}.cig-streak-n{font-size:22px}.cig-add-btn{padding:14px 16px;font-size:14px}.prog-exercise-grid{grid-template-columns:1fr;padding:12px;gap:8px}}@media (max-width:360px){.bottom-nav-link span{display:none}.bottom-nav-link svg{width:24px;height:24px}.bottom-nav{height:54px}.page-main{padding-bottom:68px!important}}@media (prefers-reduced-motion:no-preference){html.theme-transitioning,html.theme-transitioning .accord,html.theme-transitioning .bottom-nav,html.theme-transitioning .cal-card,html.theme-transitioning .chart-card,html.theme-transitioning .debrief-body,html.theme-transitioning .gallery-card,html.theme-transitioning .gear-item,html.theme-transitioning .gear-list,html.theme-transitioning .hero,html.theme-transitioning .item,html.theme-transitioning .item-list,html.theme-transitioning .mind-card,html.theme-transitioning .nutri-day-header,html.theme-transitioning .nutri-goal,html.theme-transitioning .nutri-recipe-card,html.theme-transitioning .nutri-shop,html.theme-transitioning .nutri-slot,html.theme-transitioning .nutri-slot-body,html.theme-transitioning .nutri-slots,html.theme-transitioning .nutri-wd,html.theme-transitioning .nutri-week-nav,html.theme-transitioning .pin-key,html.theme-transitioning .pin-screen,html.theme-transitioning .prog-day-cell,html.theme-transitioning .prog-phase-banner,html.theme-transitioning .prog-roadmap-phase,html.theme-transitioning .prog-session-card,html.theme-transitioning .race-chip,html.theme-transitioning .stat,html.theme-transitioning .support,html.theme-transitioning .think,html.theme-transitioning .topnav,html.theme-transitioning .widget,html.theme-transitioning body{transition:background-color .6s ease,color .4s ease,border-color .5s ease,box-shadow .5s ease!important}}[data-theme=dark]{--bg:#000;--surface:#1c1c1e;--card:#2c2c2e;--elevated:#3a3a3c;--label:#fff;--label2:#e5e5ea;--muted:#8e8e93;--muted2:#636366;--line:hsla(0,0%,100%,.1);--line-s:#48484a;--dawn:#0a84ff;--dawn-d:#06c;--tide:#30d158;--tide-d:#25a244;--warn:#ff453a;--energy:#ff9f0a;--purple:#bf5af2;--shadow-sm:none;--shadow-md:none}[data-theme=dark] body{background:var(--bg);color:var(--label)}[data-theme=dark] .accord,[data-theme=dark] .cal-card,[data-theme=dark] .chart-card,[data-theme=dark] .debrief-body,[data-theme=dark] .gallery-card,[data-theme=dark] .hero,[data-theme=dark] .mind-card,[data-theme=dark] .nutri-day-header,[data-theme=dark] .nutri-day-plan,[data-theme=dark] .nutri-day-total,[data-theme=dark] .nutri-goal,[data-theme=dark] .nutri-recipe-card,[data-theme=dark] .nutri-recipe-detail,[data-theme=dark] .nutri-shop,[data-theme=dark] .nutri-slots,[data-theme=dark] .nutri-tips,[data-theme=dark] .nutri-wd,[data-theme=dark] .nutri-week-nav,[data-theme=dark] .pin-key,[data-theme=dark] .prog-day-cell,[data-theme=dark] .prog-notes,[data-theme=dark] .prog-pain-check,[data-theme=dark] .prog-phase-banner,[data-theme=dark] .prog-roadmap-phase,[data-theme=dark] .prog-session-card,[data-theme=dark] .race-chip,[data-theme=dark] .stat,[data-theme=dark] .support,[data-theme=dark] .think,[data-theme=dark] .widget{box-shadow:none;border:1px solid var(--line)}[data-theme=dark] .item-list{background:var(--surface);box-shadow:none;border-radius:14px;overflow:hidden}[data-theme=dark] .item{background:transparent}[data-theme=dark] .gear-list{background:var(--surface);box-shadow:none}[data-theme=dark] .gear-item{background:transparent}[data-theme=dark] .accord-head:hover,[data-theme=dark] .gear-item:hover,[data-theme=dark] .item:hover,[data-theme=dark] .nutri-slot-head:hover,[data-theme=dark] .prog-day-cell:hover{background:hsla(0,0%,100%,.04)}[data-theme=dark] .topnav{background:hsla(0,0%,4%,.88);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom-color:var(--line)}[data-theme=dark] .topnav-link{color:var(--muted)}[data-theme=dark] .topnav-link.active,[data-theme=dark] .topnav-link:hover{color:var(--label)}[data-theme=dark] .topnav-progress-bar{background:hsla(0,0%,100%,.06)}[data-theme=dark] .topnav-pill.tide{background:rgba(48,209,88,.15);color:#30d158}[data-theme=dark] .topnav-pill.dawn{background:rgba(10,132,255,.15);color:#0a84ff}[data-theme=dark] .topnav-pill.purple{background:rgba(191,90,242,.15);color:#bf5af2}[data-theme=dark] .bottom-nav{background:rgba(0,0,0,.8);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-top-color:var(--line)}[data-theme=dark] .db-textarea,[data-theme=dark] .gin,[data-theme=dark] .inp,[data-theme=dark] .jbox{background:var(--card);border-color:var(--line);color:var(--label)}[data-theme=dark] .db-textarea::placeholder,[data-theme=dark] .gin::placeholder,[data-theme=dark] .inp::placeholder,[data-theme=dark] .jbox::placeholder{color:var(--muted2)}[data-theme=dark] .db-textarea:focus,[data-theme=dark] .gin:focus,[data-theme=dark] .jbox:focus{border-color:var(--dawn);box-shadow:0 0 0 3px rgba(10,132,255,.2)}[data-theme=dark] .btn-ghost{border-color:hsla(0,0%,100%,.2)}[data-theme=dark] .nutri-week-btn{background:var(--card);border-color:var(--line)}[data-theme=dark] .nutri-day-tab{background:var(--surface);border-color:var(--line)}[data-theme=dark] .nutri-day-tab.active{background:var(--dawn);border-color:var(--dawn)}[data-theme=dark] .db-scale-btn,[data-theme=dark] .db-status-btn,[data-theme=dark] .mood-btn,[data-theme=dark] .prog-pain-btn{background:var(--card);border-color:var(--line)}[data-theme=dark] .mood-btn.sel{background:rgba(10,132,255,.15);border-color:rgba(10,132,255,.4)}[data-theme=dark] .mood-chart-wrap,[data-theme=dark] .nutri-slot-body,[data-theme=dark] .water{background:var(--card)}[data-theme=dark] .nutri-shop-pantry{background:rgba(255,149,0,.05)}[data-theme=dark] .nutri-pantry-tag{background:var(--card);border-color:var(--line)}[data-theme=dark] .mob-ex,[data-theme=dark] .nutri-shop-nav,[data-theme=dark] .prog-notes,[data-theme=dark] .prog-template-day{background:var(--card)}[data-theme=dark] .prog-ex-card.required{border-left-color:var(--tide)}[data-theme=dark] .prog-ex-card.warning{border-left-color:var(--warn)}[data-theme=dark] .cal-day.nodata{background:hsla(0,0%,100%,.05)}[data-theme=dark] .accord-badge{background:var(--card)}[data-theme=dark] .file-pick{background:var(--card);border-color:hsla(0,0%,100%,.2);color:var(--muted)}[data-theme=dark] .db-last,[data-theme=dark] .gal-item{background:var(--card)}[data-theme=dark] .pin-screen{background:var(--bg)}[data-theme=dark] .pin-key{background:var(--surface);color:var(--label)}[data-theme=dark] .support-link{background:var(--card);border-color:var(--line);color:var(--label)}[data-theme=dark] .nutri-day-total{background:var(--card)}[data-theme=dark] .nutri-shop-cat,[data-theme=dark] .nutri-slot,[data-theme=dark] .upload-zone{border-color:var(--line)}[data-theme=dark] .bento-date{color:var(--muted)}[data-theme=dark] :focus-visible{outline-color:var(--dawn)}