@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;700;800&family=Sora:wght@500;600;700&display=swap";:root{--bg: #f3f8f6;--bg-panel: #ffffffcc;--bg-accent: #e2f4ec;--surface: #ffffff;--surface-strong: #0f3a33;--text: #16322e;--text-soft: #4f6863;--text-on-strong: #f3fffb;--line: #d4e5df;--line-strong: #8ac8b5;--highlight: #f39f5a;--highlight-soft: #ffe5d0;--shadow: 0 24px 70px rgba(14, 42, 38, .15)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Manrope,Segoe UI,sans-serif;color:var(--text);background:linear-gradient(#f3f8f685,#f3f8f694),url(/trainmind-sport-background.svg),var(--bg);overflow:hidden;background-size:cover;background-position:center;background-attachment:fixed}#root{min-height:100vh;height:100vh}.app-shell{min-height:100vh;height:100vh;display:grid;grid-template-columns:290px 1fr;overflow:hidden}.sidebar{border-right:1px solid var(--line);padding:1.2rem;background:linear-gradient(180deg,#f8fffbd1,#edf7f3b8);height:100vh;overflow:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:1.5rem}.brand-main{display:flex;align-items:center;gap:.8rem;min-width:0}.brand-dot{width:14px;height:14px;border-radius:50%;background:linear-gradient(120deg,#0c8a68,#24b08e);box-shadow:0 0 0 4px #b8e8d7}.brand-name{font-family:Sora,Segoe UI,sans-serif;font-weight:700;margin:0}.brand-sub{margin:.2rem 0 0;color:var(--text-soft);font-size:.82rem}.brand-user{margin:.2rem 0 0;color:#2b5a51;font-size:.86rem;font-weight:700}.brand-sub{margin:.12rem 0 0;color:#57706a;font-size:.8rem}.brand-logout-icon{border:1px solid var(--line);background:#fff;color:#6f2f2f;border-radius:.6rem;width:2rem;height:2rem;display:grid;place-items:center;cursor:pointer;font-size:1rem}.brand-logout-icon:hover{border-color:#e4b5b5;background:#fff2f2}.nav{display:flex;flex-direction:column;gap:.45rem}.nav-link{text-decoration:none;color:var(--text);background:transparent;border:1px solid transparent;padding:.68rem .8rem;border-radius:.8rem;font-weight:700}.nav-link:hover{background:var(--bg-accent);border-color:var(--line)}.nav-link.active{background:var(--surface-strong);color:var(--text-on-strong)}.nav-group{border:1px solid var(--line);border-radius:.85rem;overflow:hidden;background:#ffffffa5;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.nav-group:hover{border-color:var(--line-strong)}.nav-group-dragging{opacity:.72;transform:scale(.985);box-shadow:0 16px 32px #14433a24}.nav-group-drop-target{border-color:#1f8b6f;background:#f2fbf7;box-shadow:0 0 0 2px #1f8b6f24}.nav-group-button{width:100%;display:flex;justify-content:space-between;align-items:center;background:transparent;border:0;padding:.7rem .8rem;color:var(--text);font-weight:700;cursor:pointer}.nav-sub-list{display:flex;flex-direction:column;padding:0 .5rem .6rem;gap:.35rem}.nav-sub-link{text-decoration:none;color:var(--text-soft);font-size:.95rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:.55rem .7rem}.nav-sub-link:hover{border-color:var(--line-strong);color:var(--text)}.nav-sub-link.active{background:var(--highlight-soft);border-color:#f6c797;color:#7b4317}.chevron{display:inline-block;transition:transform .17s ease}.chevron.open{transform:rotate(180deg)}.content{padding:1.4rem;height:100vh;overflow:auto;background:linear-gradient(180deg,#f3f8f62e,#f3f8f60f)}.content-with-footer{min-height:100vh;display:flex;flex-direction:column}.content-stack{flex:1}.content-login{min-height:100vh;background:radial-gradient(circle at 18% 22%,#66bea342,#66bea300 38%),radial-gradient(circle at 82% 78%,#e9a06338,#e9a06300 31%),linear-gradient(180deg,#f3f8f61a,#f3f8f605)}.page{max-width:1060px;margin:0 auto}.legal-card{max-width:760px}.legal-copy{display:grid;gap:.7rem}.legal-copy p{margin:0}.app-footer{margin-top:1.2rem;padding:.9rem 0 .2rem}.app-footer-inner{max-width:1060px;margin:0 auto;padding:.85rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid rgba(122,172,159,.24);color:var(--text-soft);font-size:.92rem}.app-footer-links{display:flex;align-items:center;gap:1rem}.app-footer a{color:var(--text-soft);text-decoration:none}.app-footer a:hover{color:var(--text);text-decoration:underline}.login-page{min-height:calc(100vh - 2.8rem);display:grid;place-items:center}.login-card{width:min(460px,calc(100vw - 2.2rem));background:#ffffffa3;border:1px solid rgba(212,229,223,.76);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 24px 70px #0e2a262e}.hero{padding:1.4rem 1.5rem;border-radius:1.2rem;border:1px solid #dcebe5;background:#ffffffc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#35796d;font-weight:800}h1{margin:.35rem 0 .45rem;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(1.6rem,2.5vw,2.2rem)}.lead{margin:0;color:var(--text-soft);font-size:1.02rem}.grid{display:grid;gap:.95rem;margin-top:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{border:1px solid var(--line);border-radius:1rem;background:var(--surface);padding:1rem}.card h2{margin:0;font-size:1.05rem}.card p{margin:.45rem 0 0;color:var(--text-soft)}.card-highlight{border-color:#f4bc87;background:linear-gradient(160deg,#fff6ec,#fff 70%)}.training-card{display:grid;gap:.8rem}.training-card-highlight{border-color:#98d7c3;background:linear-gradient(155deg,#effbf5,#fff 72%)}.training-metrics-layout{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.training-metric-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.training-metric-tab{border:1px solid var(--line);border-radius:1rem;background:#f4faf7;padding:.9rem 1rem;display:grid;gap:.15rem;text-align:left;cursor:pointer}.training-metric-tab strong{color:#12362f;font-size:1rem}.training-metric-tab span{color:var(--text-soft);font-size:.9rem;font-weight:700}.training-metric-tab.active{border-color:#98d7c3;background:linear-gradient(155deg,#effbf5,#fff 80%);box-shadow:0 0 0 1px #98d7c338}.training-metric-card{display:grid;align-content:start;grid-template-rows:auto auto auto;gap:.8rem}.training-metric-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.training-metric-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#35796d;font-weight:800}.training-head-actions{display:flex;align-items:center;gap:.45rem;margin-right:.1rem}.training-info-button,.training-add-button{width:2.4rem;height:2.4rem;font-size:1.05rem;font-weight:800}.training-current-value-card,.training-empty-state,.training-zones-block,.training-history-block{border:1px solid var(--line);border-radius:.95rem;background:#f8fcfa;padding:.9rem}.training-current-value-card,.training-empty-state{display:grid;gap:.25rem;align-content:start;min-height:8.4rem}.training-current-value-card span,.training-current-value-card small,.training-empty-state span,.training-history-meta,.training-zones-head span{color:var(--text-soft)}.training-current-value-card strong{font-size:clamp(1.7rem,3vw,2.2rem);color:#12362f}.training-empty-state strong{color:#193b34}.training-current-value-card p{margin:0}.training-inline-note{margin:0;color:var(--text-soft)}.training-history-top,.training-zones-head,.training-history-head,.training-history-main,.training-history-meta,.training-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.training-history-actions{display:flex;align-items:center;gap:.45rem}.training-zones-head h3,.training-history-head h3{margin:0}.training-zones-head{align-items:flex-start}.training-zone-head-actions{margin-top:.45rem}.training-zone-reset-button:disabled{opacity:.45;cursor:default}.training-zone-select-wrap{display:grid;gap:.3rem;min-width:min(100%,17rem)}.training-zone-select-wrap span{font-size:.78rem;font-weight:700;color:var(--text-soft)}.training-zone-select-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.training-zone-select-row{display:flex;align-items:center;gap:.45rem}.training-zone-select{min-width:0}.training-zone-help-button{width:1.9rem;height:1.9rem;font-size:.92rem;font-weight:800;flex:0 0 auto}.training-zone-model-note{margin-top:.8rem;border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.7rem .8rem;display:grid;gap:.18rem}.training-zone-model-note strong{color:#193b34}.training-zone-model-note small{color:var(--text-soft)}.training-zone-info-overlay{width:min(980px,calc(100vw - 1.8rem))}.training-source-list{display:grid;gap:.65rem}.training-source-card{border:1px solid var(--line);border-radius:.9rem;background:#fff;padding:.8rem .9rem;display:grid;gap:.2rem;color:inherit;text-decoration:none}.training-source-card strong{color:#12362f}.training-source-card span{color:var(--text-soft);font-size:.92rem;font-weight:500}.training-source-card:hover{border-color:#b8d4c8;background:#fbfdfb}.training-zone-chart-block{margin-top:.8rem;display:grid;gap:.2rem}.training-zone-chart{position:relative;min-height:7.1rem;border:1px solid var(--line);border-radius:1rem;background:#f6faf8;overflow:hidden}.training-zone-segment{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:.85rem .35rem 1rem;text-align:center}.training-zone-segment-content{display:grid;gap:.18rem;justify-items:center}.training-zone-segment-name{font-size:.82rem;font-weight:900;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.12);line-height:1.1}.training-zone-segment-percent{font-size:1rem;font-weight:900;color:#fff;line-height:1}.training-zone-segment-value{font-size:.82rem;font-weight:700;color:#fffffff5;line-height:1}.training-zone-segment.zone-tone-0{background:#f2eff7}.training-zone-segment.zone-tone-1{background:#edf3fb}.training-zone-segment.zone-tone-2{background:#eef8f2}.training-zone-segment.zone-tone-3{background:#fff9e0}.training-zone-segment.zone-tone-3 .training-zone-segment-name,.training-zone-segment.zone-tone-3 .training-zone-segment-percent,.training-zone-segment.zone-tone-3 .training-zone-segment-value{color:#193228;text-shadow:none}.training-zone-segment.zone-tone-4{background:#fff2e7}.training-zone-segment.zone-tone-5{background:#fff1f3}.training-zone-segment.zone-tone-6{background:#f7eefc}.training-zone-segment .training-zone-segment-name,.training-zone-segment .training-zone-segment-percent,.training-zone-segment .training-zone-segment-value{color:#173530;text-shadow:none}.training-zone-boundary-control{position:absolute;top:0;bottom:0;width:30px;transform:translate(-50%);z-index:3}.training-zone-boundary-hitbox{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:transparent;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:ew-resize}.training-zone-boundary-visual{position:absolute;top:-1px;bottom:0;left:50%;width:30px;transform:translate(-50%);pointer-events:none}.training-zone-boundary-top{position:absolute;top:0;left:50%;width:16px;height:16px;transform:translate(-50%);background:#e5ca58;border:1px solid #bf9c18;clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%)}.training-zone-boundary-line{position:absolute;top:14px;bottom:8px;left:50%;width:2px;transform:translate(-50%);background:#1f5c4c}.training-zone-axis{display:flex;justify-content:space-between;gap:.75rem;color:var(--text-soft);font-size:.82rem;font-weight:700}.training-zone-list,.training-history-list{margin-top:.4rem;display:grid;gap:.5rem}.training-zone-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.training-zone-row,.training-history-item{border:1px solid var(--line);border-radius:.85rem;background:#fff;padding:.6rem .75rem;display:grid;gap:.14rem}.training-zone-row{width:100%;text-align:left;cursor:pointer}.training-zone-row span{font-weight:700;color:inherit;text-align:right}.training-zone-row strong,.training-zone-row small{color:inherit}.zone-tone-0{background:#f2eff7;border-color:#c8bfd6}.zone-tone-1{background:#edf3fb;border-color:#c0d1ea}.zone-tone-2{background:#eef8f2;border-color:#bfe0cf}.zone-tone-3{background:#fff9e0;border-color:#ecd98f}.zone-tone-4{background:#fff2e7;border-color:#e7c09b}.zone-tone-5{background:#fff1f3;border-color:#e3b3bc}.zone-tone-6{background:#f7eefc;border-color:#d7b6e8}@media(max-width:720px){.training-metric-tabs{grid-template-columns:1fr}.training-zones-head{flex-direction:column}.training-zone-select-wrap{width:100%}.training-zone-row-top{flex-direction:column;align-items:flex-start;gap:.15rem}.training-zone-row span{text-align:left}.training-zone-segment-percent{font-size:.88rem}.training-zone-segment-value{font-size:.74rem}}.training-history-badge{display:inline-flex;align-items:center;border-radius:999px;background:var(--highlight-soft);color:#7b4317;padding:.2rem .55rem;font-size:.8rem;font-weight:800}.training-overlay-card{width:min(640px,calc(100vw - 1.8rem))}.training-overlay-head{align-items:flex-start}.training-overlay-lead{font-size:1rem}.training-zone-edit-static{border:1px solid var(--line);border-radius:.85rem;background:#f8fcfa;padding:.8rem .9rem;display:grid;gap:.18rem}.training-zone-color-input{display:flex;align-items:center;gap:.6rem}.training-zone-color-picker{width:3rem;height:2.6rem;border:1px solid var(--line);border-radius:.75rem;background:#fff;padding:.15rem}.training-info-stack{display:grid;gap:.8rem}.training-info-point{border:1px solid var(--line);border-radius:.85rem;background:#f8fcfa;padding:.8rem .9rem;color:var(--text)}.training-textarea{resize:vertical;min-height:6.2rem}.training-pill-list{display:flex;flex-wrap:wrap;gap:.55rem}.training-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.45rem .75rem;background:#f7fbf9;color:#234b43;font-size:.9rem;font-weight:700}.training-mini-grid,.training-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.training-mini-card,.training-check-item{border:1px solid var(--line);border-radius:.9rem;background:#f7fbf9;padding:.8rem .85rem}.training-mini-card{display:grid;gap:.2rem}.training-mini-card span,.training-mini-card small{color:var(--text-soft)}.training-mini-card strong{color:#14362f;font-size:1.05rem}.training-check-item{font-weight:700;color:#214740}.training-timeline span,.training-note{color:var(--text-soft)}.training-edit-button{padding:.35rem .6rem;font-size:.88rem}.training-delete-button{padding:.35rem .6rem;font-size:.88rem;border-color:#e8c2c2;background:#fff4f4;color:#8f3030}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top,#fff8deeb,#0e2a26d1);overflow:hidden}.celebration-card{position:relative;width:min(720px,calc(100vw - 2rem));border:1px solid #f4d49e;border-radius:1.3rem;background:#fffffff5;padding:1.4rem;box-shadow:0 30px 90px #0e2a2647;z-index:2}.celebration-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.firework{position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0 8%,transparent 9%),conic-gradient(from 0deg,#ffd166 0deg 25deg,transparent 25deg 50deg,#ef476f 50deg 75deg,transparent 75deg 100deg,#06d6a0 100deg 125deg,transparent 125deg 150deg,#118ab2 150deg 175deg,transparent 175deg 200deg,#f78c6b 200deg 225deg,transparent 225deg 250deg,#ffe66d 250deg 275deg,transparent 275deg 300deg,#7ae582 300deg 325deg,transparent 325deg 360deg);filter:drop-shadow(0 0 24px rgba(255,221,138,.5));opacity:0;animation:firework-burst 1.4s ease-out infinite}.firework-a{top:10%;left:12%}.firework-b{top:16%;right:14%;animation-delay:.22s}.firework-c{bottom:20%;left:20%;animation-delay:.42s}.firework-d{bottom:14%;right:18%;animation-delay:.64s}.firework-e{top:42%;left:50%;transform:translate(-50%);animation-delay:.82s}@keyframes firework-burst{0%{opacity:0;transform:scale(.18)}18%{opacity:1}to{opacity:0;transform:scale(1)}}.ride-summary{margin-top:1rem}.stats-line{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.secondary-button,.primary-button{border:1px solid transparent;border-radius:.65rem;padding:.45rem .75rem;font-weight:700;cursor:pointer}.icon-button{border:1px solid var(--line);border-radius:.65rem;background:#fff;color:var(--text);width:2rem;height:2rem;display:grid;place-items:center;cursor:pointer;line-height:1}.icon-button:hover{background:#f6fbf8}.icon-button.danger{color:#8f3030;border-color:#e8c2c2}.icon-button.danger:hover{background:#fff1f1;border-color:#dfadad}.secondary-button{background:#ecf5f1;border-color:var(--line);color:var(--text)}.primary-button{background:#1f8b6f;color:#fff}.primary-button:disabled{opacity:.5;cursor:not-allowed}.settings-form{margin-top:.9rem;display:grid;gap:.7rem;max-width:420px}.settings-form-wide{max-width:560px}.settings-label{display:grid;gap:.32rem;font-weight:700;color:#244d45;font-size:.92rem;position:relative}.settings-input{border:1px solid var(--line);border-radius:.65rem;padding:.52rem .62rem;font:inherit;color:var(--text);background:#fff;width:100%;min-width:0}.settings-actions{margin-top:.2rem;display:flex;gap:.6rem;flex-wrap:wrap}.settings-static-field{display:flex;align-items:center}.settings-invite-box{margin-top:.9rem;display:grid;gap:.4rem}.settings-invite-box strong{color:#1d433b;font-size:.92rem}.settings-password-rules{display:grid;gap:.1rem}.settings-tabs-layout{margin-top:1rem;display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;align-items:start}.settings-tabs-nav{position:sticky;top:1rem;display:grid;gap:.55rem;padding:.7rem;background:linear-gradient(180deg,#f6fcfa,#eef8f4)}.settings-tab-button{border:1px solid var(--line);border-radius:.9rem;background:#fff;color:var(--text);padding:.8rem .85rem;text-align:left;display:grid;gap:.2rem;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.settings-tab-button strong{font-size:.96rem}.settings-tab-button span{font-size:.82rem;color:var(--text-soft)}.settings-tab-button:hover{border-color:var(--line-strong);background:#f8fffc;transform:translate(2px)}.settings-tab-button.active{border-color:#1f8b6f;background:linear-gradient(135deg,#163d35,#1f8b6f);color:var(--text-on-strong);box-shadow:0 18px 36px #14433a2e}.settings-tab-button.active span{color:#f3fffbcc}.settings-tab-panel{min-width:0}.settings-status-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem}.settings-status-chip{border:1px solid var(--line);border-radius:.85rem;background:#f7fbf9;padding:.75rem .8rem;display:grid;gap:.2rem}.settings-status-chip span{color:var(--text-soft);font-size:.8rem}.settings-status-chip strong{font-size:1rem;color:#193b34}.settings-weight-stack{display:grid;gap:1rem}.settings-weight-list{margin-top:.9rem}.fit-repair-layout{margin-top:1rem;display:block}.fit-repair-main,.fit-repair-side{display:grid;gap:1rem;min-width:0}.fit-repair-pill{border:1px solid #c9dfd7;border-radius:999px;background:#f2faf7;color:#215248;padding:.3rem .7rem;font-size:.82rem;font-weight:800}.fit-power-chart{margin-top:1rem;height:220px;border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,#1f8b6f0d,#1f8b6f05),#f8fcfa;position:relative;padding:.85rem;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(3px,1fr);gap:2px;align-items:end;overflow:hidden}.fit-power-chart-selectable{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none}.fit-chart-tooltip{position:absolute;top:.7rem;transform:translate(-50%);border:1px solid var(--line);border-radius:.85rem;background:#fffffff5;box-shadow:0 12px 28px #0f292324;padding:.45rem .65rem;display:grid;gap:.12rem;pointer-events:none;z-index:2}.fit-chart-tooltip strong{color:#173a34;font-size:.92rem}.fit-chart-tooltip span{color:var(--text-soft);font-size:.76rem}.fit-power-bar-stack{position:relative;height:100%;border-radius:.45rem .45rem 0 0}.fit-power-bar{position:absolute;left:0;right:0;bottom:0;border-radius:999px 999px 0 0}.fit-power-bar-original{background:linear-gradient(180deg,#ffd19a,#f6ad62);opacity:.9}.fit-power-bar-preview{opacity:.92;mix-blend-mode:multiply}.fit-power-bar-cap{background:linear-gradient(180deg,#5fd4a7,#1f8b6f);border-radius:.5rem .5rem 0 0}.fit-power-bar-marker{height:3px!important;background:#d46452;border-radius:999px}.fit-power-bar-stack.selected{background:#1f8b6f29;box-shadow:inset 0 0 0 1px #125b491f}.fit-power-bar-stack.selected .fit-power-bar-cap,.fit-power-bar-stack.selected .fit-power-bar-marker{box-shadow:0 0 0 1px #0d4e3e29}.fit-power-bar-stack.selected .fit-power-bar-original{filter:saturate(1.05) brightness(.98)}.fit-chart-toolbar{margin-top:1rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}.fit-chart-meta{display:flex;flex-wrap:wrap;gap:.55rem}.fit-chart-meta span{border:1px solid var(--line);border-radius:999px;background:#f7fbf9;color:#2c5a50;padding:.28rem .65rem;font-size:.82rem;font-weight:700}.fit-chart-caption{margin-top:.65rem;color:var(--text-soft);font-size:.9rem}.fit-chart-legend{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.85rem;color:var(--text-soft);font-size:.84rem}.fit-chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.legend-swatch{width:.8rem;height:.8rem;border-radius:999px;display:inline-block}.legend-swatch.original{background:#f6ad62}.legend-swatch.preview{background:#1f8b6f}.fit-time-axis{margin-top:.55rem;position:relative;height:2rem;border-top:1px solid #dbe8e2}.fit-time-axis-tick{position:absolute;top:0;transform:translate(-50%);display:grid;justify-items:center;gap:.3rem}.fit-time-axis-line{width:1px;height:.55rem;background:#bed6cd}.fit-time-axis-label{color:var(--text-soft);font-size:.78rem;white-space:nowrap}.fit-range-grid{margin-top:.9rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.fit-dual-range{margin-top:1rem;border:1px solid var(--line);border-radius:1rem;background:#f8fcfa;padding:.85rem .95rem}.fit-dual-range-head{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}.fit-dual-range-head strong{color:#1b433b}.fit-dual-range-head span{color:var(--text-soft);font-size:.9rem}.fit-dual-range-track{position:relative;height:2.7rem;margin-top:.9rem}.fit-dual-range-line,.fit-dual-range-active{position:absolute;top:50%;transform:translateY(-50%);height:.4rem;border-radius:999px}.fit-dual-range-line{left:0;right:0;background:#dce9e4}.fit-dual-range-active{background:linear-gradient(90deg,#1f8b6f,#36b593)}.fit-dual-range-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.fit-dual-range-input::-webkit-slider-runnable-track{height:.4rem;background:transparent}.fit-dual-range-input::-moz-range-track{height:.4rem;background:transparent}.fit-dual-range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1rem;height:1rem;border-radius:50%;background:#fff;border:2px solid #1f8b6f;box-shadow:0 4px 12px #1240382e;margin-top:-.3rem;pointer-events:auto;cursor:ew-resize}.fit-dual-range-input::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:#fff;border:2px solid #1f8b6f;box-shadow:0 4px 12px #1240382e;pointer-events:auto;cursor:ew-resize}.fit-dual-range-labels{margin-top:.3rem;display:flex;justify-content:space-between;gap:.6rem;color:var(--text-soft);font-size:.82rem}.fit-inline-help{color:var(--text-soft);font-size:.83rem;font-weight:600}.fit-range-sliders{margin-top:1rem;display:grid;gap:.8rem}.fit-range-sliders input[type=range]{width:100%}.fit-summary-compare{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.fit-summary-card{border:1px solid var(--line);border-radius:.95rem;background:#f7fbf9;padding:.85rem .9rem}.fit-summary-card span{display:block;color:var(--text-soft);font-size:.82rem}.fit-summary-card strong{display:block;margin-top:.25rem;font-size:1.35rem;color:#1b433b}.fit-summary-card p{margin:.3rem 0 0}.fit-summary-card-accent{background:#fff7ee;border-color:#efcca6}.fit-mode-row{margin-top:.9rem;display:inline-flex;gap:.45rem;flex-wrap:wrap}.fit-mode-button{border:1px solid var(--line);border-radius:999px;background:#f7fbf9;color:#35554f;padding:.45rem .85rem;font:inherit;font-weight:700;cursor:pointer}.fit-mode-button.active{background:var(--surface-strong);border-color:var(--surface-strong);color:var(--text-on-strong)}.fit-adjustment-list{margin-top:.9rem;display:grid;gap:.65rem}.fit-adjustment-item{border:1px solid var(--line);border-radius:.9rem;background:#f8fcfa;padding:.75rem .85rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:center}.fit-adjustment-item p{margin:.25rem 0 0}.fit-repair-download-card{margin-top:1rem;background:linear-gradient(180deg,#fffaf4,#fff);border-color:#edd8bd}.fit-file-pill{max-width:min(100%,18rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fit-section-head{align-items:flex-start}.ingredient-suggest-box{position:absolute;left:0;right:0;top:calc(100% + .2rem);border:1px solid var(--line);border-radius:.7rem;background:#fff;box-shadow:0 10px 24px #142e281f;z-index:200;overflow:hidden}.ingredient-suggest-item{width:100%;border:0;background:#fff;text-align:left;padding:.5rem .62rem;display:grid;gap:.1rem;cursor:pointer}.ingredient-suggest-item strong{color:#1b433b}.ingredient-suggest-item span{font-size:.84rem;color:var(--text-soft)}.ingredient-suggest-item:hover{background:#f3faf7}.nutrition-form-card,.nutrition-list-card{margin-top:1rem}.ingredients-hero{margin-bottom:1rem;position:relative;z-index:20;overflow:visible}.ingredients-hero-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:1rem;align-items:end}.ingredients-hero-search{position:relative;display:grid;gap:.55rem;z-index:30}.ingredients-search-input{font-size:1rem;padding:.72rem .78rem}.ingredients-search-meta{display:flex;flex-wrap:wrap;gap:.5rem}.ingredients-search-meta span{border:1px solid var(--line);border-radius:999px;padding:.28rem .55rem;background:#f8fcfa;color:#315a52;font-size:.84rem;font-weight:700}.ingredients-category-row{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.ingredients-category-pill{border:1px solid var(--line);border-radius:999px;padding:.42rem .72rem;background:#fff;color:var(--text);display:inline-flex;align-items:center;gap:.45rem;font-weight:700;cursor:pointer}.ingredients-category-pill span{color:var(--text-soft);font-size:.82rem}.ingredients-category-pill.active{background:var(--surface-strong);border-color:var(--surface-strong);color:var(--text-on-strong)}.ingredients-category-pill.active span{color:#f3fffbd9}.ingredients-editor{display:grid;gap:1rem;position:relative;z-index:1}.ingredients-section{margin-top:0}.ingredients-basis-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:1rem;align-items:start}.ingredients-basis-grid,.ingredients-macro-grid,.ingredients-origin-grid,.ingredients-details-grid{display:grid;gap:.75rem}.ingredients-basis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredients-health-card{border:1px solid var(--line);border-radius:1rem;background:linear-gradient(180deg,#f8fcfa,#eef7f3);padding:1rem;display:grid;gap:.65rem}.ingredients-health-card strong{font-size:1rem}.ingredients-health-card p{margin:0;color:var(--text-soft)}.ingredients-macro-grid,.ingredients-origin-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ingredients-details-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ingredients-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredients-layout{margin-top:1rem;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:1rem;align-items:start}.ingredients-categories{position:sticky;top:1rem}.ingredients-categories-list{margin-top:.75rem;display:grid;gap:.4rem}.ingredients-categories .nav-sub-link{width:100%;text-align:left;cursor:pointer}.nutrition-form{margin-top:.8rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.nutrition-span-2{grid-column:1 / -1}.nutrition-details-section{border:1px solid var(--line);border-radius:.75rem;background:#f6fbf9;padding:.6rem .7rem}.nutrition-details-section summary{cursor:pointer;font-weight:800;color:#20463e}.nutrition-details-grid{margin-top:.65rem;display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-list{margin-top:.8rem;display:grid;gap:.7rem}.nutrition-entry{border:1px solid var(--line);border-radius:.8rem;background:#f7fbf9;padding:.7rem .8rem}.nutrition-entry-selectable{cursor:pointer}.nutrition-entry-selectable.selected{border-color:#7cc3ae;background:#ecf8f3}.nutrition-entry-head{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.health-indicator-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .52rem;font-size:.76rem;font-weight:800;letter-spacing:.01em;border:1px solid transparent}.health-very_positive{color:#0f5a40;background:#dbf3e8;border-color:#9cd7bb}.health-neutral{color:#6a5a20;background:#fff7d9;border-color:#ebd99a}.health-counterproductive{color:#7c2c2c;background:#ffe4e4;border-color:#edb8b8}.nutrition-entry-head .secondary-button{margin-left:auto}.nutrition-entry-items{margin-top:.5rem;display:grid;gap:.4rem}.nutrition-item{display:flex;gap:.65rem;flex-wrap:wrap;color:#2f564f}.nutrition-entry-summary{margin-top:.55rem;display:flex;gap:.7rem;flex-wrap:wrap;font-size:.92rem;color:#234740}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.section-title-row h2{margin:0}.recipe-draft-row{display:grid;grid-template-columns:minmax(0,1fr) 100px auto auto;gap:.5rem;align-items:center;margin-bottom:.45rem}.recipe-draft-row-wide{grid-template-columns:minmax(0,1fr) 110px 90px 70px auto}.recipe-consume-row{margin-top:.7rem;display:grid;grid-template-columns:220px auto;gap:.6rem;align-items:center}.nutrition-entry-details{margin-top:.55rem}.nutrition-entry-details summary{cursor:pointer;font-weight:700;color:#2e5f54}.recipes-layout{grid-template-columns:minmax(0,1fr) 360px}.recipes-editor-stack{display:grid;gap:1rem}.recipes-sidebar{max-height:calc(100vh - 2rem);overflow:visible}.recipes-list{margin-top:.9rem;max-height:calc(100vh - 14rem);overflow:auto;padding-right:.25rem;display:grid;gap:.45rem}.recipe-visibility-filters{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}.recipe-visibility-pill{border:1px solid var(--line);border-radius:999px;background:#f8fbfa;color:#35554f;padding:.35rem .8rem;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.recipe-visibility-pill.private.active{background:#eef6ff;border-color:#b8d4f1;color:#2d5375}.recipe-visibility-pill.public.active{background:#eef9f2;border-color:#b8dec0;color:#2f6a44}.recipe-sort-chip{border:1px solid var(--line);border-radius:999px;background:#fffdf6;color:#5f5732;padding:.35rem .8rem;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.recipe-sort-chip:hover{background:#fff8df;border-color:#e2d4a1}.recipe-sort-chip.active{background:#efe6be;border-color:#d5c27d;color:#4f4723}.recipe-favorite-filter,.recipe-inline-star{border:1px solid var(--line);border-radius:999px;background:#fbfaf3;color:#5b5850;padding:.25rem .65rem;font:inherit;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.recipe-favorite-filter.active,.recipe-inline-star.active{background:#fff3b8;border-color:#e3c85a;color:#8a6a00;box-shadow:0 0 0 1px #e3c85a33,0 0 14px #e3c85a47}.recipe-sort-wrap{position:relative}.recipe-sort-popover{position:absolute;top:calc(100% + .5rem);right:0;width:min(260px,calc(100vw - 3rem));border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 18px 42px #0f292329;padding:.75rem;z-index:20}.recipe-sort-grid{display:grid;gap:.45rem}.recipe-visibility-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center}.recipe-list-item{width:100%;border:1px solid var(--line);background:#f7fbf9;border-radius:.9rem;padding:.8rem .9rem;text-align:left;font:inherit;color:var(--text);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.recipe-list-item:hover,.recipe-list-item:focus-visible,.recipe-list-item.selected{border-color:#8bc7ba;background:#eff8f4;transform:translateY(-1px)}.recipe-list-item-private{background:#f6f9ff;border-color:#d8e5f5}.recipe-list-item-public{background:#f5fbf6;border-color:#d7eadc}.recipe-hover-card{position:fixed;width:min(340px,calc(100vw - 2rem));border:1px solid var(--line);border-radius:1rem;background:#fff;box-shadow:0 20px 46px #0f292333;padding:.95rem 1rem;z-index:450}.recipe-hover-card-head{align-items:flex-start}.recipe-card-menu{margin-left:auto;position:relative}.recipe-card-menu-popover{margin-top:.55rem;margin-left:auto;width:min(180px,100%);border:1px solid var(--line);border-radius:.8rem;background:#fff;box-shadow:0 12px 28px #142e2824;padding:.35rem;display:grid;gap:.2rem}.recipe-card-menu-popover-floating{position:fixed;margin:0;width:180px;z-index:500}.recipe-card-menu-item{border:0;background:transparent;text-align:left;padding:.55rem .6rem;border-radius:.6rem;color:var(--text);font:inherit;cursor:pointer}.recipe-card-menu-item:hover{background:#f3faf7}.recipe-card-menu-item.danger{color:#8f3030}.recipe-card-menu-item.danger:hover{background:#fff1f1}.nutrition-details-json{margin:.55rem 0 0;border:1px solid var(--line);border-radius:.65rem;background:#fff;padding:.55rem .6rem;font-size:.8rem;overflow-x:auto}.nutrition-notes{margin:.5rem 0 0;font-size:.9rem}.rides-table-wrap{margin-top:1rem;padding:0;overflow:hidden}.table-toolbar{padding:.9rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.table-toolbar h2{margin:0;font-size:1rem}.table-scroll{overflow-x:auto}.rides-table{width:100%;border-collapse:collapse;min-width:860px}.rides-table th,.rides-table td{padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.rides-table th{background:#f7fbf9;font-size:.86rem;color:#345a53;text-transform:uppercase;letter-spacing:.03em}.rides-table tbody tr:hover{background:#f6fbf8}.rides-table tbody tr:nth-child(2n){background:#f2f7f5}.checkbox-header{display:inline-flex;align-items:center;gap:.45rem}.ride-name-cell{display:flex;flex-direction:column;gap:.2rem}.ride-id{color:var(--text-soft);font-size:.82rem}.error-text{color:#a53535}.info-text{margin-top:.75rem;color:#2d5f55}.muted-text{color:var(--text-soft)}.password-rule-text{margin:0;font-size:.92rem;display:flex;align-items:center;gap:.5rem;color:var(--text)}.password-rule-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;font-weight:700}.password-rule-icon-success{color:#1f7a53}.password-rule-icon-fail{color:#d11f1f}.import-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1c1959;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1000}.import-overlay-card{background:#fff;border:1px solid var(--line);border-radius:1rem;width:min(420px,calc(100vw - 2rem));padding:1rem 1.2rem;box-shadow:0 24px 80px #0c26213d;text-align:center}.progress-ring-wrap{position:relative;width:110px;height:110px;margin:0 auto .6rem}.progress-ring{transform:rotate(-90deg)}.progress-ring-bg,.progress-ring-value{fill:none;stroke-width:9}.progress-ring-bg{stroke:#e2ece8}.progress-ring-value{stroke:#1f8b6f;transition:stroke-dashoffset .2s ease;stroke-linecap:round}.progress-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:800;color:#17443b}.import-overlay-title{margin:.15rem 0 .2rem;font-weight:800}.import-overlay-subtitle{margin:0;color:var(--text-soft);font-size:.93rem}.waiting-spinner{width:64px;height:64px;margin:0 auto .8rem;border-radius:50%;border:6px solid #dce9e5;border-top-color:#1f8b6f;animation:ride-wait-spin .9s linear infinite}@keyframes ride-wait-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e1c1959;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:1200}.confirm-card{background:#fff;border:1px solid var(--line);border-radius:1rem;width:min(380px,calc(100vw - 2rem));padding:1rem 1.2rem;box-shadow:0 24px 80px #0c26213d}.recipe-preview-overlay{width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}.recipe-preview-list{margin-top:1rem;display:grid;gap:.8rem}.recipe-preview-mode-toggle{display:inline-flex;gap:.35rem;margin-left:auto;margin-right:.5rem}.recipe-preview-mode-button{border:1px solid var(--line);border-radius:999px;background:#f7fbf9;color:#36564f;padding:.35rem .75rem;font:inherit;cursor:pointer}.recipe-preview-mode-button.active{background:#edf7f3;border-color:#9ecfbe;color:#1f5448}.recipe-coverage-card{position:relative}.recipe-coverage-heading{display:block;margin-bottom:.6rem;color:var(--text-soft)}.recipe-coverage-indicator{position:relative;display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border-radius:.95rem;border:1px solid var(--line);background:#f7fbf9}.recipe-coverage-up{background:#f2f8f4;border-color:#c5d9cb;color:#2f5c43}.recipe-coverage-flat{background:#f5f6f6;border-color:#d3d8d8;color:#596565}.recipe-coverage-down{background:#fbf4f2;border-color:#dfc9c2;color:#7a554c}.recipe-coverage-thumb{font-size:1.3rem;line-height:1}.recipe-coverage-copy{display:grid;gap:.15rem}.recipe-coverage-label{font-weight:700}.recipe-coverage-hint{font-size:.82rem;color:var(--text-soft)}.recipe-coverage-popover{position:absolute;left:0;top:calc(100% + .55rem);width:min(260px,calc(100vw - 4rem));border:1px solid var(--line);border-radius:.95rem;background:#fff;box-shadow:0 18px 36px #0f292326;padding:.8rem .9rem;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease;z-index:20}.recipe-coverage-popover p{margin:.35rem 0 0;font-size:.9rem;color:var(--text-soft)}.recipe-coverage-indicator:hover .recipe-coverage-popover,.recipe-coverage-indicator:focus-within .recipe-coverage-popover{opacity:1;transform:translateY(0)}.confirm-card h2{margin:0}.confirm-card p{margin:.45rem 0 0;color:var(--text-soft)}.confirm-actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.6rem}.week-grid{margin-top:1rem;display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.week-controls{margin-top:.85rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.week-hero-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem;align-items:start}.week-hero-main{min-width:0}.week-hero-right{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.week-hero-summary{box-shadow:none;background:#d9f0e3}.week-title-line{margin:.2rem 0 0;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-soft);font-size:1.02rem}.week-nav-btn{min-width:2.2rem;font-size:1rem;line-height:1}.week-availability{margin-top:.75rem;display:inline-flex;align-items:center;gap:.5rem;color:var(--text-soft);font-size:.92rem}.week-data-indicator{width:.62rem;height:.62rem;border-radius:50%;display:inline-block}.week-data-indicator.has-data{background:#1f8b6f}.week-data-indicator.no-data{background:#c8d7d2}.week-data-select{border:1px solid var(--line);border-radius:.65rem;padding:.45rem .55rem;font:inherit;color:var(--text);background:#fff;min-width:280px;max-width:420px}.week-visualizer{box-shadow:none;background:#fffdf8}.week-visualizer-target{margin:.35rem 0 .6rem;color:var(--text-soft);font-size:.88rem}.week-load-gauge{--progress: 0%;width:110px;height:110px;margin:.2rem auto .8rem;border-radius:50%;background:conic-gradient(#1f8b6f var(--progress),#e8eee9 0);display:grid;place-items:center}.week-load-gauge-inner{width:78px;height:78px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;color:#1a4c41}.week-progress-bars{display:flex;flex-direction:column;gap:.55rem}.week-progress-row{display:grid;grid-template-columns:auto auto;column-gap:.6rem;row-gap:.25rem;align-items:center;font-size:.86rem;color:#244941}.week-progress-row>:nth-child(2){justify-self:end;color:var(--text-soft)}.week-progress-track{grid-column:1 / -1;height:.44rem;background:#e7efeb;border-radius:999px;overflow:hidden}.week-progress-fill{height:100%;border-radius:999px}.week-progress-fill.km{background:linear-gradient(90deg,#1f8b6f,#36b593)}.week-progress-fill.time{background:linear-gradient(90deg,#f39f5a,#f7bf87)}.week-day-card{border:1px solid var(--line);border-radius:1rem;background:#fff;display:flex;flex-direction:column;min-height:260px}.week-day-header{padding:.8rem .9rem;border-bottom:1px solid var(--line);background:#f7fbf9}.week-day-header h3{margin:0;font-family:Sora,Segoe UI,sans-serif;font-size:1rem;display:flex;justify-content:space-between;gap:.6rem}.week-day-header span{color:var(--text-soft);font-family:Manrope,Segoe UI,sans-serif;font-weight:600}.week-day-empty{margin:0;padding:1rem .9rem;color:var(--text-soft)}.week-activities-list{padding:.8rem .9rem;display:flex;flex-direction:column;gap:.7rem}.week-activity-item{border:1px solid var(--line);border-radius:.8rem;background:#d9f0e3;padding:.65rem .7rem}.week-activity-name{margin:0;font-weight:800;color:#173a34}.week-activity-meta,.week-activity-metrics{margin:.25rem 0 0;color:var(--text-soft);font-size:.9rem}.week-day-summary{margin-top:auto;border-top:1px solid var(--line);padding:.7rem .9rem;display:flex;flex-wrap:wrap;gap:.7rem;font-size:.9rem;color:#20443d;background:#f5faf8}@media(max-width:900px){.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;overflow:visible}.content{height:auto;overflow:visible}.week-hero-layout,.week-hero-right,.nutrition-form,.settings-tabs-layout,.fit-repair-layout,.fit-range-grid,.fit-summary-compare,.training-metrics-layout{grid-template-columns:1fr}.fit-chart-toolbar,.fit-dual-range-head{align-items:flex-start}.settings-tabs-nav{position:static;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ingredients-hero-head,.ingredients-basis-layout,.ingredients-details-columns,.ingredients-origin-grid,.ingredients-macro-grid,.ingredients-details-grid{grid-template-columns:1fr}.nutrition-span-2{grid-column:auto}.nutrition-details-grid,.ingredients-layout{grid-template-columns:1fr}.ingredients-categories{position:static}.recipe-draft-row,.recipe-draft-row-wide,.recipe-consume-row,.recipes-layout{grid-template-columns:1fr}}.mobile-mirror-page{max-width:760px}.mobile-mirror-hero{box-shadow:none;background:#f7fcfa}.mobile-mirror-stack{margin-top:1rem;display:grid;gap:.9rem}.mobile-mirror-card{border-radius:.9rem;box-shadow:none}.mobile-mirror-form{grid-template-columns:1fr 1fr}.mobile-mirror-actions .primary-button{width:100%}.mobile-mirror-list-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.mobile-mirror-list-head h2{margin:0}.mobile-mirror-entry{background:#fff}@media(max-width:900px){.mobile-mirror-form{grid-template-columns:1fr}}.achievements-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.achievement-card{align-content:start}.achievement-kicker{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#35796d;font-weight:800}.achievement-list{margin-top:.9rem;display:grid;gap:.55rem}.achievement-item{border:1px solid var(--line);border-radius:.85rem;background:#f7fbf9;padding:.75rem .8rem}.achievement-domain-row{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.achievement-domain-button{border:1px solid var(--line);border-radius:1rem;background:#ffffffd1;padding:.95rem 1rem;text-align:left;display:grid;gap:.25rem;cursor:pointer;color:var(--text);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,background .16s ease}.achievement-domain-button strong{font-size:1rem}.achievement-domain-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#35796d}.achievement-domain-button span{color:var(--text-soft);font-size:.88rem}.achievement-domain-button:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 16px 34px #14433a1f}.achievement-domain-button.active{border-color:#1f8b6f;background:linear-gradient(135deg,#163d35,#1f8b6f);color:var(--text-on-strong)}.achievement-domain-button.active span{color:#f3fffbd6}.achievement-cycling-layout{margin-top:1rem;display:grid;grid-template-columns:290px minmax(0,1fr);gap:1rem;align-items:start}.achievement-cycling-layout-single-nav{grid-template-columns:290px minmax(0,1fr)}.achievement-side-nav{position:sticky;top:1rem;display:grid;gap:.8rem;background:linear-gradient(180deg,#f7fcfa,#edf7f3)}.achievement-side-nav h2{margin:0}.achievement-side-subnav{margin-top:.35rem;padding-top:.95rem;border-top:1px solid var(--line);display:grid;gap:.7rem}.achievement-side-subnav h3{margin:0;font-size:1rem;color:#173b34}.achievement-side-list{display:grid;gap:.55rem}.achievement-side-button{border:1px solid var(--line);border-radius:.95rem;background:#fff;padding:.8rem .85rem;text-align:left;display:grid;gap:.2rem;cursor:pointer;color:var(--text);transition:border-color .16s ease,transform .16s ease,background .16s ease}.achievement-side-button strong{font-size:.95rem}.achievement-side-button span{color:var(--text-soft);font-size:.82rem}.achievement-side-button small{color:#527069;font-size:.78rem;font-weight:800}.achievement-side-button:hover{border-color:var(--line-strong);transform:translate(2px)}.achievement-side-button.active{border-color:#f6c797;background:linear-gradient(135deg,#fff3e5,#fff8ef)}.achievement-domain-side-button.active{border-color:#1f8b6f;background:linear-gradient(135deg,#163d35,#1f8b6f);color:var(--text-on-strong);box-shadow:0 18px 36px #14433a2e}.achievement-domain-side-button.active span,.achievement-domain-side-button.active small{color:#f3fffbd6}.achievement-content-stack{display:grid;gap:1rem}.achievement-hero-panel{box-shadow:none}.achievement-hero-panel h2{margin-bottom:.35rem}.achievement-summary-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.achievement-summary-card{border:1px solid var(--line);border-radius:.95rem;background:#ffffffe0;padding:.8rem .9rem;display:grid;gap:.18rem}.achievement-summary-card span{color:var(--text-soft);font-size:.8rem}.achievement-summary-card strong{color:#173b34;font-size:1rem}.achievement-trophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.achievement-trophy-card{position:relative;border:1px solid var(--line);border-radius:1rem;background:#fff;padding:.95rem;display:grid;gap:.45rem;min-height:220px}.achievement-trophy-card h3{margin:0;font-size:1.05rem}.achievement-trophy-card p{margin:0;color:var(--text-soft)}.achievement-trophy-card small{color:#45635d;font-weight:700}.achievement-date-label{color:#5f7771}.achievement-hover-panel{position:absolute;left:.85rem;right:.85rem;bottom:.85rem;border:1px solid var(--line);border-radius:.9rem;background:#fffffffa;box-shadow:0 18px 34px #112e2829;padding:.75rem .8rem;display:grid;gap:.15rem;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease}.achievement-hover-panel strong{color:#173b34;font-size:.86rem}.achievement-hover-panel span{color:#36564f;font-size:.8rem;font-weight:700}.achievement-hover-panel p{margin:.2rem 0 0;color:var(--text-soft);font-size:.84rem}.achievement-history-list{margin-top:.45rem;display:grid;gap:.35rem}.achievement-history-row{display:flex;justify-content:space-between;gap:.6rem;align-items:center;font-size:.8rem}.achievement-history-row strong{color:#193b34;font-size:.8rem}.achievement-history-row span{color:var(--text-soft);font-size:.78rem}.achievement-trophy-card:hover .achievement-hover-panel,.achievement-trophy-card:focus-within .achievement-hover-panel{opacity:1;transform:translateY(0)}.achievement-trophy-card.earned{background:linear-gradient(160deg,#fffaf0,#fff 72%);border-color:#f0cf97;box-shadow:0 18px 38px #6e521c1f}.achievement-trophy-card.locked{background:linear-gradient(160deg,#f6f7f7,#fff 72%);border-color:#dce5e2;opacity:.58;filter:saturate(.7)}.achievement-trophy-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.achievement-icon{width:3.2rem;height:3.2rem;border-radius:1rem;display:grid;place-items:center;font-family:Sora,Segoe UI,sans-serif;font-weight:800;font-size:.95rem;background:linear-gradient(135deg,#163d35,#1f8b6f);color:#f4fffb;box-shadow:inset 0 0 0 1px #ffffff24}.achievement-icon-endurance{background:linear-gradient(135deg,#156b63,#2ea58f)}.achievement-icon-weekly{background:linear-gradient(135deg,#3e5f9a,#5d8ce0)}.achievement-icon-record{background:linear-gradient(135deg,#8d4d18,#dc8a3c)}.achievement-icon-zone{background:linear-gradient(135deg,#5d496f,#8b6bbb)}.achievement-icon-moment{background:linear-gradient(135deg,#9d5a25,#d28f4e)}.achievement-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.28rem .62rem;font-size:.76rem;font-weight:800}.achievement-status-chip.earned{background:#fff0cf;color:#8a5814}.achievement-status-chip.locked{background:#eef2f1;color:#6a817b}@media(max-width:900px){.achievement-cycling-layout{grid-template-columns:1fr}.achievement-side-nav{position:static}.achievement-summary-grid{grid-template-columns:1fr}}
