*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0a;--surface:#111;--surface2:#1a1a1a;--surface3:#232323;--accent:#e8ff00;--accent-soft:#b8c93a;--accent-wash:#e8ff0014;--accent-line:#e8ff004d;--accent-glow:#e8ff0080;--text:#f0f0f0;--muted:#a8a8a8;--border:#ffffff14;--error:#ff6040;--success:#4ade80;--radius-xs:4px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:14px;--radius-4xl:16px;--radius-pill:20px;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 24px -8px #0000008c, 0 2px 8px -2px #0006;--shadow-3:0 24px 48px -16px #000000a6, 0 8px 20px -6px #00000080;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:15px;--text-lg:18px;--text-xl:24px;--text-2xl:32px;--text-3xl:44px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:DM Sans,sans-serif}.nav-wrapper{background:var(--bg);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}nav{flex-direction:column;gap:8px;max-width:860px;margin:0 auto;padding:12px 16px;display:flex}.nav-top-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.logo{letter-spacing:.1em;color:var(--accent);flex-shrink:0;font-family:Bebas Neue,sans-serif;font-size:24px}.logo span{color:var(--text)}.globe-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:var(--radius-xl);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;transition:border-color .15s;display:flex}.nav-tabs{flex-wrap:wrap;align-items:center;gap:0;display:flex}.nav-tab{color:var(--muted);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:5px 8px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;transition:all .15s}.nav-tab.active{color:var(--accent);background:#1a1a1a}.nav-sep{color:var(--muted);opacity:.4;font-size:11px}.container{max-width:860px;margin:0 auto;padding:20px 16px}.page{display:none}.page.active{animation:.18s pageIn;display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hero{background:var(--surface);border-radius:var(--radius-3xl);border:1px solid var(--border);margin-bottom:20px;padding:28px;position:relative;overflow:hidden}.hero-tag{background:var(--accent-soft);color:#000;border-radius:var(--radius-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;padding:3px 9px;font-size:10px;font-weight:600;display:inline-block}.hero h1{font-family:Bebas Neue,sans-serif;font-size:var(--text-3xl);margin-bottom:10px;line-height:1}.hero h1 span{color:var(--accent-soft)}.hero p{color:var(--muted);max-width:340px;margin-bottom:18px;font-size:13px;line-height:1.65}.hero-stats{flex-wrap:wrap;gap:16px;margin-bottom:18px;display:flex}.hero-loggedin,body:not(.locked) .hero:not(.hero-loggedin){display:none}body:not(.locked) .hero-loggedin{display:block}.stat-num{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);color:var(--accent-soft);line-height:1}.stat-label{color:var(--muted);font-size:11px}.btn-accent{background:var(--accent);color:#000;border-radius:var(--radius-lg);cursor:pointer;box-shadow:0 2px 0 #00000026, 0 6px 16px -6px var(--accent-glow);border:none;padding:10px 20px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s}.btn-accent:active{box-shadow:0 1px 0 #00000026, 0 4px 10px -6px var(--accent-glow);transform:translateY(1px)}.btn-accent:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-full{width:100%}.progress-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:20px;padding:22px}.progress-log-row{align-items:flex-end;gap:10px;margin-bottom:8px;display:flex}.progress-log-row .calc-field{flex:1}.progress-log-row .btn-accent{flex-shrink:0}.progress-log-xp{color:var(--muted);margin-bottom:4px;font-size:11px}.progress-log-msg{min-height:16px;margin-bottom:14px;font-size:12px;font-weight:600}.progress-log-msg.success{color:var(--success)}.progress-log-msg.error{color:var(--error)}.progress-stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.progress-stat{background:var(--surface2);border-radius:var(--radius-xl);text-align:center;padding:10px 8px}.progress-stat-num{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);font-variant-numeric:tabular-nums;line-height:1}.progress-stat-num.good{color:var(--success)}.progress-stat-num.warn{color:#ff9a40}.progress-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:9.5px}.progress-chart-svg{width:100%;height:110px;display:block}.progress-chart-empty{text-align:center;color:var(--muted);padding:20px 10px;font-size:12px;line-height:1.6;animation:.35s backwards rowIn}.progress-chart-empty.error{color:var(--error)}.progress-chart-dates{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.photo-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:20px;padding:22px}.photo-msg{min-height:16px;margin-top:8px;font-size:12px;font-weight:600}.photo-msg.success{color:var(--success)}.photo-msg.error{color:var(--error)}.photo-filmstrip{gap:8px;margin-top:14px;padding-bottom:2px;display:flex;overflow-x:auto}.photo-filmstrip-empty{color:var(--muted);text-align:center;width:100%;padding:14px 10px;font-size:12px;animation:.35s backwards rowIn}.photo-filmstrip-empty.error{color:var(--error)}.photo-thumb{border-radius:var(--radius-xl);cursor:pointer;border:1px solid var(--border);background:var(--surface2);flex-shrink:0;width:76px;height:96px;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb-date{color:#fff;text-align:center;font-variant-numeric:tabular-nums;background:linear-gradient(#0000,#000000bf);padding:10px 2px 3px;font-size:8.5px;position:absolute;bottom:0;left:0;right:0}.photo-lightbox-content{text-align:center;width:100%;max-width:420px;margin:auto}.photo-lightbox-content img{border-radius:var(--radius-2xl);max-width:100%;max-height:65vh;margin:0 auto;display:block}.photo-lightbox-date{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:12px;font-size:12px}.photo-lightbox-actions{justify-content:center;gap:20px;margin-top:10px;display:flex}#photo-lightbox-delete{color:var(--error)}.photo-compare-pickers{align-items:center;gap:10px;margin-bottom:12px;display:flex}.photo-compare-pickers select{flex:1;min-width:0}.photo-compare-arrow{color:var(--muted);flex-shrink:0;font-size:14px}.photo-compare-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.photo-compare-col{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--surface2);overflow:hidden}.photo-compare-col img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.photo-compare-date{text-align:center;color:var(--muted);padding:6px 0;font-size:10px}.photo-compare-stats{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.measure-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:20px;padding:22px}.measure-grid-inputs{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.measure-snapshot{flex-direction:column;gap:6px;margin-top:14px;display:flex}.measure-row{background:var(--surface2);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.measure-row-label{color:var(--muted);flex:1}.measure-row-value{font-variant-numeric:tabular-nums;font-weight:600}.measure-delta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.achievement-toast-container{z-index:500;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:380px;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.achievement-toast{background:var(--surface);border:1px solid var(--accent-soft);border-radius:var(--radius-2xl);opacity:0;align-items:center;gap:12px;padding:12px 16px;transition:opacity .3s,transform .3s;display:flex;transform:translateY(-16px);box-shadow:0 8px 24px #00000080}.achievement-toast.show{opacity:1;transform:translateY(0)}.achievement-toast-icon{flex-shrink:0;font-size:28px}.achievement-toast-label{color:var(--accent-soft);text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.achievement-toast-title{letter-spacing:.03em;font-family:Bebas Neue,sans-serif;font-size:16px}.achievement-toast-share{border:1px solid var(--accent-line);color:var(--accent);border-radius:var(--radius-md);cursor:pointer;pointer-events:auto;background:0 0;flex-shrink:0;min-width:44px;min-height:44px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.xp-toast{border-color:var(--accent);padding:10px 16px}.xp-toast .achievement-toast-icon{font-size:22px}.xp-toast .achievement-toast-title{color:var(--accent)}.achievements-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.achievement-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);text-align:center;padding:14px 8px;transition:opacity .2s,filter .2s}.achievement-card.locked{opacity:.35;filter:grayscale()}.achievement-card.unlocked{border-color:var(--accent-soft);background:var(--surface2)}.achievement-icon{margin-bottom:6px;font-size:26px}.achievement-title{font-size:10.5px;font-weight:600;line-height:1.3}.achievement-desc{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.3}.focus-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:20px;padding:22px}.focus-intro{color:var(--muted);margin-bottom:16px;font-size:12px;line-height:1.65}.focus-xp-preview{text-align:center;color:var(--accent-soft);margin-bottom:14px;font-size:13px;font-weight:600}.focus-timer-wrap{width:200px;height:200px;margin:0 auto 20px;position:relative}.focus-ring{--deg:0deg;background:conic-gradient(var(--accent-soft) var(--deg), var(--surface2) var(--deg));border-radius:50%;width:200px;height:200px;transition:background .3s linear;position:relative}.focus-ring-inner{background:var(--bg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:172px;height:172px;display:flex;position:absolute;top:14px;left:14px}.focus-ember{font-size:40px;transition:transform .4s ease-out;display:inline-block}.focus-time{letter-spacing:.05em;font-variant-numeric:tabular-nums;margin-top:6px;font-family:Bebas Neue,sans-serif;font-size:26px}.focus-xp-live{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:14px;font-size:13px}.focus-warning{text-align:center;color:var(--error);border-radius:var(--radius-lg);background:#ff503214;border:1px solid #ff503240;padding:10px;font-size:11px}.motivation-banner{border:1px solid var(--accent-wash);border-radius:var(--radius-2xl);background:linear-gradient(135deg,#111 0%,#1a1a00 100%);align-items:center;gap:10px;margin-bottom:18px;padding:12px 16px;display:flex}.quote-text{color:var(--text);flex:1;font-size:12px;font-style:italic;line-height:1.5}.quote-text span{color:var(--accent-soft);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:10px;font-style:normal;font-weight:600;display:block}.quote-refresh{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:14px}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);letter-spacing:.05em}.section-link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px}.cta-box{background:var(--accent-soft);border-radius:var(--radius-3xl);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;padding:20px 22px;display:flex}.cta-box h3{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);color:#000;line-height:1.1}.cta-box p{color:#0000008c;margin-top:2px;font-size:11px}.btn-dark{color:var(--accent);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;background:#000;border:none;flex-shrink:0;padding:10px 18px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:14px;padding:22px}.about-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.avatar{background:var(--accent-soft);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-family:Bebas Neue,sans-serif;font-size:24px;display:flex}.about-name{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);margin-bottom:3px;line-height:1}.about-tagline{color:var(--muted);font-size:12px}#account-handle-display[data-has-handle="0"]{color:var(--accent-soft);cursor:pointer;text-decoration:underline}.about-bio{color:var(--muted);margin-bottom:18px;font-size:13px;line-height:1.75}.values-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.value-item{background:var(--surface2);border-radius:var(--radius-lg);align-items:center;gap:8px;padding:10px 12px;display:flex}.value-item i{color:var(--accent-soft);font-size:16px}.value-item span{font-size:12px;font-weight:500}.social-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.social-card{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:18px;transition:border-color .15s}button.card-reset{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:block}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:16px}.feature-icon-badge{border-radius:var(--radius-xl);background:var(--surface2);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:9px;display:flex}.feature-icon-badge svg{width:20px;height:20px;stroke:var(--accent-soft)}.hero,.progress-box,.photo-box,.measure-box,.focus-box,.about-card,.calc-box,.analyzer-intro,.analysis-result,.quest-header-card,.feature-card{background:linear-gradient(180deg, var(--surface3), var(--surface));box-shadow:var(--shadow-2)}.feature-card{transition:transform .18s,box-shadow .18s,border-color .15s}.social-icon-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.social-name{letter-spacing:.06em;font-family:Bebas Neue,sans-serif;font-size:16px}.social-handle{color:var(--accent-soft);margin-bottom:3px;font-size:12px}.social-followers{color:var(--muted);font-size:11px}.btn-follow{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);cursor:pointer;background:0 0;width:100%;margin-top:10px;padding:6px 12px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;transition:all .15s}.btn-follow.active{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.macro-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.macro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);text-align:center;padding:14px 10px}.macro-icon{margin-bottom:5px;font-size:22px}.macro-num{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);color:var(--accent-soft);line-height:1}.macro-unit{color:var(--muted);font-size:9px}.macro-label{margin-top:3px;font-size:11px;font-weight:500}.tip-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);align-items:flex-start;gap:10px;margin-bottom:8px;padding:14px 16px;display:flex}.tip-num{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);color:var(--accent-soft);flex-shrink:0;width:22px;line-height:1}.tip-title{margin-bottom:3px;font-size:13px;font-weight:600}.tip-body{color:var(--muted);font-size:12px;line-height:1.6}.nutrient-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.nutrient-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:12px 14px}.nutrient-icon{margin-bottom:6px;font-size:19px}.nutrient-name{margin-bottom:4px;font-size:12.5px;font-weight:600}.nutrient-why{color:var(--muted);margin-bottom:6px;font-size:11px;line-height:1.5}.nutrient-sources{color:var(--accent-soft);font-size:10.5px;line-height:1.4}.food-cols{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.food-col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:14px}.food-col-title{letter-spacing:.03em;margin-bottom:10px;font-family:Bebas Neue,sans-serif;font-size:14px}.food-col.eat .food-col-title{color:var(--accent-soft)}.food-col.avoid .food-col-title{color:var(--error)}.food-item{color:var(--text);font-size:11px;line-height:1.75}.meal-grid{gap:7px;margin-bottom:20px;display:grid}.meal-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:10px;padding:11px 14px;display:flex}.meal-time{font-family:DM Sans,sans-serif;font-weight:600;font-size:var(--text-xs);color:var(--accent-soft);letter-spacing:.02em;flex-shrink:0;width:60px}.meal-name{flex:1;font-size:12px;font-weight:500}.meal-cals{color:var(--muted);font-size:11px}.calc-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:20px;padding:20px}.calc-box h3{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);letter-spacing:.05em;margin-bottom:12px}.calc-row{gap:8px;margin-bottom:8px;display:flex}.calc-field{flex:1}.calc-label{color:var(--muted);margin-bottom:4px;font-size:10px}.calc-input,.calc-select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;color:var(--text);padding:8px 10px;font-family:DM Sans,sans-serif;font-size:12px}.calc-input:focus,.calc-select:focus{border-color:var(--accent);outline:none}.accent-swatch{border:2px solid var(--border);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0;transition:transform .15s,border-color .15s}.accent-swatch.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}#accent-color-picker{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background:0 0;width:44px;height:36px;padding:2px}.bg-theme-swatch{cursor:pointer;border:3px solid;border-radius:50%;width:32px;height:32px;padding:0;transition:transform .15s}.bg-theme-swatch.active{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.calc-result{background:var(--surface2);border-radius:var(--radius-xl);margin-top:12px;padding:12px 14px;display:none}.calc-result.show{display:block}.result-num{font-family:Bebas Neue,sans-serif;font-size:var(--text-2xl);color:var(--accent-soft);line-height:1}.result-label{color:var(--muted);margin-top:2px;font-size:11px}.result-macros{border-top:1px solid var(--border);gap:16px;margin-top:8px;padding-top:8px;display:flex}.result-macro-item{font-size:12px}.result-macro-item span{color:var(--accent-soft);font-weight:600}.category-tabs{gap:6px;margin-bottom:16px;display:flex}.category-tab{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-lg);cursor:pointer;flex:1;padding:10px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.category-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.muscle-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.muscle-tab{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;padding:5px 12px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;transition:all .15s}.muscle-tab.active{background:var(--accent);color:#000;border-color:var(--accent)}.env-toggle{gap:6px;margin-bottom:16px;display:flex}.env-btn{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-lg);cursor:pointer;flex:1;padding:8px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.env-btn.active{background:var(--surface2);color:var(--accent);border-color:var(--accent)}.sport-list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:border-color .15s;display:flex}.sport-list-icon{text-align:center;flex-shrink:0;width:30px;font-size:24px}.sport-list-info{flex:1;min-width:0}.sport-list-name{margin-bottom:2px;font-size:13px;font-weight:600}.sport-list-desc{color:var(--muted);font-size:11px;line-height:1.5}.sport-list-arrow{color:var(--muted);flex-shrink:0;font-size:16px}.workout-cards{gap:10px;display:grid}.workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);cursor:pointer;padding:16px;transition:border-color .15s;animation:.35s backwards rowIn}.workout-card.featured{border-color:var(--accent)}.wc-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.wc-icon{flex-shrink:0;font-size:22px}.wc-title{margin-bottom:3px;font-size:14px;font-weight:600}.wc-meta{color:var(--muted);font-size:11px}.wc-badges{flex-wrap:wrap;gap:5px;display:flex}.badge{border-radius:var(--radius-xs);letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;font-size:9px;font-weight:600}.badge-level-beginner{color:var(--success);background:#4ade8026}.badge-level-intermediate{background:var(--accent-wash);color:var(--accent-soft)}.badge-level-advanced{color:var(--error);background:#ff503226}.badge-env{background:var(--surface2);color:var(--muted)}.badge-hot{background:var(--accent-soft);color:#000}.workout-modal{z-index:200;background:#000000e6;padding:16px;display:none;position:fixed;inset:0;overflow-y:auto}.workout-modal.open{justify-content:center;align-items:flex-start;display:flex}.workout-sheet{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-4xl);width:100%;max-width:600px;margin:auto;overflow:hidden}.workout-sheet-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.workout-sheet-header h2{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);letter-spacing:.05em}.close-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xl);cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;display:flex}.workout-sheet-body{padding:18px 20px}.language-list{flex-direction:column;gap:6px;max-height:60vh;display:flex;overflow-y:auto}.language-row{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);text-align:start;cursor:pointer;padding:12px 14px;font-family:inherit;font-size:14px}.language-row.active{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}.ws-meta{flex-wrap:wrap;gap:7px;margin-bottom:16px;display:flex}.ws-tag{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);padding:3px 10px;font-size:11px}.ws-tag.accent{border-color:var(--accent-line);color:var(--accent-soft)}.week-block{border-bottom:2px solid var(--border);margin-bottom:24px;padding-bottom:4px}.week-block:last-child{border-bottom:none}.week-label{letter-spacing:.05em;color:var(--text);background:var(--surface2);border-radius:var(--radius-lg);margin-bottom:8px;padding:8px 12px;font-family:Bebas Neue,sans-serif;font-size:17px}.week-note{color:var(--muted);margin-bottom:14px;padding:0 2px;font-size:12px;line-height:1.6}.day-block{margin-bottom:20px}.day-label{letter-spacing:.06em;color:var(--accent-soft);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:5px;font-family:Bebas Neue,sans-serif;font-size:14px}.exercise-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:8px;padding:8px 0;display:flex}.exercise-row:last-child{border-bottom:none}.exercise-row.clickable{cursor:pointer;border-radius:var(--radius-md);transition:background .15s}.ex-num{color:var(--accent-line);text-align:end;flex-shrink:0;width:18px;font-family:Bebas Neue,sans-serif;font-size:16px}.ex-name{flex:1;font-size:13px;font-weight:500}.ex-suggestion{color:var(--accent-soft);margin-top:2px;font-size:10.5px;font-weight:400}.ex-sets{background:var(--surface2);border-radius:var(--radius-sm);color:var(--accent-soft);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.ex-rest{color:var(--muted);white-space:nowrap;font-size:10px}.ex-log-toggle{border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:14px;display:flex}.exercise-log-panel{background:var(--surface2);border-radius:var(--radius-lg);margin:0 0 8px;padding:10px 12px}.exercise-log-inputs{align-items:center;gap:8px;display:flex}.exercise-log-inputs .calc-input{flex:1;min-width:0;margin:0}.workout-tip{background:var(--surface2);border-radius:var(--radius-xl);color:var(--muted);margin-bottom:14px;padding:11px 13px;font-size:12px;line-height:1.6}.inline-banner{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius-xl);color:var(--text);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}.inline-banner button{border:1px solid var(--accent-line);color:var(--accent-soft);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;min-height:44px;padding:5px 10px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:600}.workout-tip strong{color:var(--accent-soft)}.btn-xs{white-space:nowrap;width:auto;margin-top:0;padding:6px 12px;font-size:11px}.day-session-bar{background:var(--surface2);border-radius:var(--radius-xl);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.day-timer{letter-spacing:.04em;color:var(--accent-soft);min-width:48px;font-family:Bebas Neue,sans-serif;font-size:16px}.day-progress{color:var(--muted);text-align:end;flex:1;min-width:40px;font-size:11px}.day-session-msg{color:var(--success);margin-top:6px;font-size:11px}.day-session-msg.error{color:var(--error)}.rest-timer-banner{background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius-xl);align-items:center;gap:10px;margin-bottom:10px;padding:8px 12px;font-size:12px;display:flex}.rest-timer-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}.rest-timer-count{letter-spacing:.03em;color:var(--accent);font-variant-numeric:tabular-nums;flex:1;font-family:Bebas Neue,sans-serif;font-size:20px}.session-tools-panel{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.session-tools-panel .plate-calc{margin-bottom:0}.plate-calc{background:var(--surface2);border-radius:var(--radius-xl);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.plate-calc .calc-input{flex:1;min-width:90px;margin:0}.plate-calc-sep{color:var(--muted)}.plate-calc-result{color:var(--accent-soft);font-variant-numeric:tabular-nums;flex-basis:100%;font-size:12px}.status-msg.success{color:var(--success)}.status-msg.error{color:var(--error)}.day-completed-badge{color:var(--success);border-radius:var(--radius-lg);text-align:center;background:#4ade801f;margin-bottom:10px;padding:8px 12px;font-size:12px;font-weight:600}.ex-check{border-radius:var(--radius-md);border:1px solid var(--border);width:44px;height:44px;color:var(--accent);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;line-height:1;transition:transform .1s,background .15s,border-color .15s,color .15s;display:flex}.ex-check.checked{background:var(--accent);border-color:var(--accent);color:#000}.ex-check:active{transform:scale(.88)}.exercise-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:8px;padding:14px 16px}.exercise-card-name{margin-bottom:5px;font-size:13px;font-weight:600}.exercise-card-caption{color:var(--muted);margin-bottom:10px;font-size:12px;line-height:1.6}.exercise-card-link{color:var(--accent);font-size:12px;font-weight:500;text-decoration:none}.brain-article-card{cursor:pointer;transition:border-color .15s}.brain-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.brain-card-top .badge{background:var(--surface2);color:var(--muted)}.brain-card-meta{color:var(--accent-soft);font-size:11px;font-weight:600}.brain-article-meta{color:var(--muted);margin-bottom:14px;font-size:11px}.brain-article-p{color:var(--text);margin-bottom:14px;font-size:13px;line-height:1.75}.chat-wrap{flex-direction:column;height:calc(100vh - 140px);min-height:480px;display:flex}.chat-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl) 14px 0 0;align-items:center;gap:10px;padding:14px 18px;display:flex}.chat-avatar{background:var(--accent-soft);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-family:Bebas Neue,sans-serif;font-size:14px;display:flex}.chat-header-info h3{font-size:14px;font-weight:600}.chat-header-info p{color:var(--muted);font-size:11px}.online-dot{background:var(--success);border-radius:50%;width:7px;height:7px;margin-inline-end:4px;display:inline-block}.chat-messages{background:var(--surface2);border-inline-start:1px solid var(--border);border-inline-end:1px solid var(--border);flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:3px;max-width:82%;display:flex}.msg.user{align-self:flex-end;align-items:flex-end}.msg.ai{align-self:flex-start;align-items:flex-start}.msg-bubble{border-radius:var(--radius-3xl);padding:9px 13px;font-size:13px;line-height:1.55}.msg.user .msg-bubble{background:var(--accent-soft);color:#000;border-start-start-radius:14px;border-start-end-radius:14px;border-end-end-radius:4px;border-end-start-radius:14px}.msg.ai .msg-bubble{background:var(--surface);border:1px solid var(--border);border-start-start-radius:14px;border-start-end-radius:14px;border-end-end-radius:14px;border-end-start-radius:4px}.msg-time{color:var(--muted);font-size:10px}.typing-bubble{background:var(--surface);border:1px solid var(--border);border-start-start-radius:14px;border-start-end-radius:14px;border-end-end-radius:14px;border-end-start-radius:4px;align-items:center;gap:4px;padding:11px 14px;display:flex}.typing-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.quick-chips{background:var(--surface2);border-inline-start:1px solid var(--border);border-inline-end:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px 14px 0;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:11px;transition:all .15s}.chat-input-row{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 14px 14px;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.chat-input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--text);resize:none;flex:1;height:40px;max-height:110px;padding:9px 12px;font-family:DM Sans,sans-serif;font-size:13px;overflow-y:auto}.chat-input:focus{border-color:var(--accent);outline:none}.chat-send{background:var(--accent);border-radius:var(--radius-xl);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chat-send i{color:#000;font-size:16px}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-saved-toggle{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;flex-shrink:0;margin-inline-start:auto;padding:6px 10px;font-family:DM Sans,sans-serif;font-size:11px}.chat-save-notice{background:var(--surface2);border-inline-start:1px solid var(--border);border-inline-end:1px solid var(--border);color:var(--muted);padding:8px 14px;font-size:11px;line-height:1.5}.chat-save-btn{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-self:flex-start;margin-top:2px;padding:3px 9px;font-family:DM Sans,sans-serif;font-size:10px}.chat-save-btn.saved{border-color:var(--accent);color:var(--accent);cursor:default}.chat-save-btn:disabled{opacity:.6}#chat-live-view{flex-direction:column;flex:1;min-height:0;display:flex}#chat-saved-view{background:var(--surface2);border:1px solid var(--border);border-top:none;border-radius:0 0 14px 14px;flex:1;padding:14px;overflow-y:auto}.saved-chat-count{color:var(--muted);margin-bottom:10px;font-size:11px}.saved-chat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:10px;padding:12px 14px}.saved-chat-q{color:var(--accent-soft);margin-bottom:6px;font-size:12px;font-weight:600}.saved-chat-a{color:var(--text);margin-bottom:8px;font-size:12px;line-height:1.55}.saved-chat-delete{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-lg);cursor:pointer;background:0 0;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:11px}.analyzer-intro{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);text-align:center;margin-bottom:14px;padding:22px}.analyzer-intro .big-icon{margin-bottom:10px;font-size:44px}.analyzer-intro h2{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);letter-spacing:.05em;margin-bottom:7px}.analyzer-intro h2 span{color:var(--accent-soft)}.analyzer-intro p{color:var(--muted);max-width:400px;margin:0 auto 18px;font-size:13px;line-height:1.65}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-2xl);text-align:center;cursor:pointer;background:var(--surface2);margin-bottom:14px;padding:28px 18px;transition:all .2s}.upload-zone i{color:var(--muted);margin-bottom:8px;font-size:32px}.upload-zone p{color:var(--muted);font-size:13px}.upload-zone strong{color:var(--accent)}#body-file-input{display:none}.photo-preview{margin-bottom:14px;position:relative}.photo-preview img{object-fit:cover;border-radius:var(--radius-2xl);border:1px solid var(--border);width:100%;max-height:320px}.remove-btn{color:var(--text);border-radius:var(--radius-md);cursor:pointer;background:#000000b3;border:none;padding:4px 9px;font-size:11px;position:absolute;top:8px;right:8px}.analysis-result{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:14px;padding:20px}.analysis-result h3{font-family:Bebas Neue,sans-serif;font-size:var(--text-lg);letter-spacing:.05em;margin-bottom:14px}.analysis-section{margin-bottom:16px}.analysis-section h4{color:var(--accent-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600}.analysis-section p{color:var(--muted);font-size:13px;line-height:1.65}.analysis-tags{flex-wrap:wrap;gap:6px;display:flex}.a-tag{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 10px;font-size:11px}.a-tag.green{color:var(--success);border-color:#4ade8066}.a-tag.yellow{border-color:var(--accent-line);color:var(--accent-soft)}.privacy-note{color:var(--muted);text-align:center;padding:6px 0;font-size:11px}.loading-state{text-align:center;padding:28px}.loading-state .spin{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--muted);font-size:13px}.plan-intro-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:14px;padding:14px 16px}.quest-header-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:16px;padding:16px}.quest-level-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.quest-level-badge{letter-spacing:.05em;background:var(--accent-soft);color:#000;border-radius:var(--radius-md);padding:3px 10px;font-family:Bebas Neue,sans-serif;font-size:16px}.quest-streak{color:var(--muted);font-size:13px;font-weight:500}.xp-bar-track{background:var(--surface2);border-radius:var(--radius-pill);height:10px;overflow:hidden}.xp-bar-fill{background:var(--accent-soft);border-radius:var(--radius-pill);height:100%;transition:width .3s}.xp-bar-label{color:var(--muted);margin-top:6px;font-size:11px}.day-strip{gap:6px;margin-bottom:16px;display:flex;overflow-x:auto}.day-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;cursor:pointer;color:var(--muted);flex:1;padding:8px 4px;font-family:DM Sans,sans-serif;transition:all .15s}.day-chip.active{background:var(--accent);border-color:var(--accent);color:#000}.day-chip-label{text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.day-chip-num{margin-top:2px;font-family:Bebas Neue,sans-serif;font-size:16px}.quest-push-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.quest-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;transition:opacity .25s;animation:.35s backwards rowIn;display:flex}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-line{border-radius:var(--radius-xs);background:var(--surface2);height:10px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-circle{background:var(--surface2);border-radius:50%;flex-shrink:0;width:32px;height:32px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-quest-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.skeleton-quest-row .skeleton-lines{flex-direction:column;flex:1;gap:7px;display:flex}.skeleton-forum-post{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:10px;padding:14px 16px}.skeleton-post-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.skeleton-forum-post .skeleton-line{margin-bottom:8px}.skeleton-forum-post .skeleton-line:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.skeleton-line,.skeleton-circle{opacity:.7!important;animation:none!important}}.quest-row.completed{opacity:.55}.quest-row.completed .quest-title{text-decoration:line-through}.quest-check{border:2px solid var(--border);width:44px;height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;transition:transform .1s,background .15s,border-color .15s,color .15s;display:flex}.quest-check:active{transform:scale(.88)}.quest-row.completed .quest-check{background:var(--accent);border-color:var(--accent);color:#000}.quest-info{flex:1;min-width:0}.quest-title{font-size:13px;font-weight:500}.quest-time{color:var(--muted);margin-top:2px;font-size:11px}.quest-xp{color:var(--accent-soft);white-space:nowrap;font-size:11px;font-weight:600}.quest-delete{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:13px}.auth-tabs{gap:6px;margin-bottom:18px;display:flex}.auth-tabs .muscle-tab{text-align:center;border-radius:var(--radius-lg);flex:1;padding:8px}.auth-form{flex-direction:column;display:flex}#auth-message{min-height:16px;font-size:12px}.breath-round-label{text-align:center;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:600}.breath-circle-wrap{justify-content:center;align-items:center;height:220px;margin-bottom:8px;display:flex;position:relative}.breath-circle{background:radial-gradient(circle at 35% 30%,#e8ff00f2,#e8ff0040);border-radius:50%;width:110px;height:110px;transition-property:transform;transition-timing-function:ease-in-out;transform:scale(1);box-shadow:0 0 40px #e8ff0026}.breath-circle.breath-in{transform:scale(1.9)}.breath-circle.breath-out{transform:scale(1)}.breath-circle.breath-hold{transition-duration:.6s;transform:scale(.75)}.breath-phase-label{letter-spacing:.06em;color:var(--text);text-align:center;text-shadow:0 2px 8px #0009;font-family:Bebas Neue,sans-serif;font-size:16px;position:absolute}.breath-counter{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;min-height:20px;margin-bottom:18px;font-size:13px}.tour-body-wrap{text-align:center;padding:32px 24px 24px}.tour-progress{color:var(--muted);letter-spacing:.05em;margin-bottom:14px;font-size:11px;font-weight:600}.tour-icon{margin-bottom:14px;font-size:48px}.tour-title{font-family:Bebas Neue,sans-serif;font-size:var(--text-xl);letter-spacing:.05em;color:var(--accent-soft);margin-bottom:10px}.tour-desc{color:var(--muted);min-height:70px;margin-bottom:22px;font-size:13px;line-height:1.7}.tour-dots{justify-content:center;gap:6px;margin-bottom:22px;display:flex}.tour-dot{background:var(--border);border-radius:50%;width:6px;height:6px;transition:all .15s}.tour-dot.active{background:var(--accent-soft);border-radius:3px;width:18px}.tour-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.forum-post{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:10px;padding:14px 16px;animation:.35s backwards rowIn}.forum-post-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.forum-post-avatar{background:var(--accent-soft);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-family:Bebas Neue,sans-serif;font-size:14px;display:flex}.forum-post-who{flex:1;min-width:0}.forum-post-author{font-size:13px;font-weight:600}.forum-post-time{color:var(--muted);font-size:11px}.forum-mod-btn{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 8px;font-size:10px}.forum-mod-btn.small{margin-top:4px;padding:2px 6px;font-size:9px}.forum-post-body{white-space:pre-wrap;word-break:break-word;margin-bottom:10px;font-size:13px;line-height:1.6}.forum-post-image{object-fit:cover;border-radius:var(--radius-xl);width:100%;max-height:400px;margin-bottom:10px;display:block}.forum-post-actions{border-top:1px solid var(--border);gap:16px;padding-top:8px;display:flex}.forum-action-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;display:flex}.forum-like-btn.liked,.forum-like-btn.liked i{color:var(--accent)}.forum-comments{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.forum-comment-list{margin-bottom:10px}.forum-comment{background:var(--surface2);border-radius:var(--radius-lg);margin-bottom:6px;padding:8px 10px}.forum-comment-author{color:var(--accent-soft);margin-bottom:2px;font-size:11px;font-weight:600}.forum-comment-body{word-break:break-word;font-size:12px;line-height:1.5}.forum-comment-add{gap:8px;display:flex}.forum-comment-add input{flex:1}.dm-convo-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;transition:border-color .15s;display:flex}.dm-convo-row.unread{border-color:var(--accent-line)}.dm-convo-avatar{background:var(--accent-soft);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-family:Bebas Neue,sans-serif;font-size:14px;display:flex}.dm-convo-info{flex:1;min-width:0}.dm-convo-name{margin-bottom:2px;font-size:13px;font-weight:600}.dm-convo-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dm-convo-row.unread .dm-convo-preview{color:var(--text);font-weight:500}.dm-convo-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.dm-convo-time{color:var(--muted);font-size:10px}.dm-convo-dot{background:var(--accent-soft);border-radius:50%;width:8px;height:8px}.rank-badge{color:var(--accent-soft);background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius-sm);vertical-align:middle;margin-inline-start:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.leaderboard-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.leaderboard-row.me{border-color:var(--accent-soft);background:var(--accent-wash)}.leaderboard-rank{letter-spacing:.03em;text-align:center;flex-shrink:0;width:38px;font-family:Bebas Neue,sans-serif;font-size:18px}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.leaderboard-you{color:var(--accent-soft);font-weight:500}.leaderboard-xp{color:var(--muted);flex-shrink:0;font-size:12px}#dm-thread-view .close-btn{transform:none}.msg-time .forum-mod-btn{margin-inline-start:6px}.ad-slot{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);margin-bottom:20px;padding:14px}.ad-slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:9px}.ad-slot-placeholder{min-height:90px;color:var(--muted);background:var(--surface2);border-radius:var(--radius-lg);border:1px dashed var(--border);justify-content:center;align-items:center;font-size:12px;display:flex}body.locked .nav-tab.gated,body.locked .nav-sep,body.locked .motivation-banner{display:none}body.locked .page{display:none!important}body.locked #page-account{display:block!important}body.locked #account-page-title{display:none}body.locked .container{flex-direction:column;display:flex}body.locked #page-account{order:1}body.locked #page-plans{order:2;display:block!important}body.locked #page-about{order:3;display:block!important}body.locked #page-plans:before{content:"PREVIEW — LOG IN TO TRACK YOUR PROGRESS";text-align:center;letter-spacing:.08em;color:var(--accent-soft);background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--radius-lg);margin-bottom:16px;padding:8px;font-size:10px;font-weight:600;display:block}body.locked [data-preview-locked],body.locked .workout-card.preview-locked{opacity:.4;filter:grayscale(.6)}body.locked [data-preview-locked]:after,body.locked .workout-card.preview-locked:after{content:"🔒";margin-inline-start:6px;font-size:11px}.nav-wrapper{padding-top:env(safe-area-inset-top)}body{padding-bottom:env(safe-area-inset-bottom)}@media (width<=899px){.nav-tabs{z-index:100;background:var(--bg);border-top:1px solid var(--border);padding:4px 4px calc(4px + env(safe-area-inset-bottom));flex-wrap:nowrap;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-tab{white-space:normal;text-align:center;flex:1 1 0;justify-content:center;align-items:center;min-width:0;min-height:48px;padding:6px 3px;font-size:10.5px;line-height:1.15;display:flex}.nav-sep{display:none}body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}body.locked .nav-tabs{display:none}body.locked{padding-bottom:env(safe-area-inset-bottom)}}@media (width<=680px){.container{padding:16px 14px}.hero{padding:22px 20px}.hero h1{font-size:38px}.hero:after{font-size:90px}.hero p{max-width:none}.workout-modal{align-items:flex-end;padding:0}.workout-modal.open{align-items:flex-end}.workout-sheet{border-radius:var(--radius-pill) 20px 0 0;width:100%;max-width:none;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;animation:.22s ease-out sheet-up;display:flex}.workout-sheet-body{overflow-y:auto}.chat-wrap{height:calc(100dvh - 128px)}.calc-row{flex-wrap:wrap}.calc-row .calc-field{min-width:100px}.calc-input,.calc-select,.chat-input{font-size:16px}}@media (width<=420px){.hero h1{font-size:32px}.macro-card{padding:12px 6px}.macro-num{font-size:22px}}@media (width>=681px){.workout-sheet{max-width:420px}}@media (width>=900px){.nav-wrapper{top:0;border-bottom:none;border-inline-end:1px solid var(--border);width:96px;height:100vh;padding-top:env(safe-area-inset-top);align-items:stretch;display:flex;position:fixed;inset-inline-start:0}nav{flex-direction:column;justify-content:flex-start;align-items:center;gap:24px;width:100%;max-width:none;height:100%;padding:20px 8px;overflow-y:auto}.nav-top-row{flex-direction:column;gap:14px}.nav-tabs{flex-direction:column;gap:4px;width:100%}.nav-tab{text-align:center;width:100%;padding:10px 4px}.nav-sep{display:none}body{margin-inline-start:96px}.container{max-width:1040px}.workout-cards{grid-template-columns:repeat(2,1fr)}.achievements-grid{grid-template-columns:repeat(4,1fr)}}@keyframes sheet-up{0%{opacity:.5;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.celebration-overlay{z-index:700;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebration-particle{background:var(--accent);width:8px;height:8px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) rotate(45deg);opacity:0;animation:celebrate-burst .9s cubic-bezier(.2,.8,.3,1) var(--delay) forwards;border-radius:2px;position:absolute;top:50%;left:50%}.celebration-particle:nth-child(3n){background:var(--accent-soft)}.celebration-particle:nth-child(5n){background:var(--success);border-radius:50%}@keyframes celebrate-burst{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) rotate(45deg)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * var(--dist))) rotate(180deg)}}.celebration-text{font-family:Bebas Neue,sans-serif;font-size:var(--text-2xl);letter-spacing:.04em;color:var(--text);background:var(--surface);border:1px solid var(--accent-line);border-radius:var(--radius-4xl);box-shadow:var(--shadow-3);opacity:0;padding:18px 32px;animation:.9s cubic-bezier(.2,.8,.3,1) forwards celebrate-text;transform:scale(.85)}@keyframes celebrate-text{0%{opacity:0;transform:scale(.85)}30%{opacity:1;transform:scale(1.05)}45%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.celebration-particle{display:none}.celebration-text{opacity:1!important;animation:none!important;transform:scale(1)!important}}@keyframes rowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.quest-row:first-child,.workout-card:first-child,.forum-post:first-child{animation-delay:30ms}.quest-row:nth-child(2),.workout-card:nth-child(2),.forum-post:nth-child(2){animation-delay:80ms}.quest-row:nth-child(3),.workout-card:nth-child(3),.forum-post:nth-child(3){animation-delay:.13s}.quest-row:nth-child(4),.workout-card:nth-child(4),.forum-post:nth-child(4){animation-delay:.18s}.quest-row:nth-child(5),.workout-card:nth-child(5),.forum-post:nth-child(5){animation-delay:.23s}.quest-row:nth-child(n+6),.workout-card:nth-child(n+6),.forum-post:nth-child(n+6){animation-delay:.28s}@media (prefers-reduced-motion:reduce){.quest-row,.workout-card,.forum-post,.feature-card,.btn-accent,.ex-check,.quest-check{transition:none!important;animation:none!important}}.workout-card:active,.forum-post:active,.dm-convo-row:active,.sport-list-row:active,.quest-row:active{transition:transform 80ms;transform:scale(.985)}.empty-fade{animation:.35s backwards rowIn}@media (prefers-reduced-motion:reduce){.dm-convo-row,.sport-list-row,.page,.empty-fade{transition:none!important;animation:none!important}}@media (hover:hover) and (pointer:fine){.globe-btn:hover{border-color:var(--accent)}.nav-tab:hover:not(.active){color:var(--text)}.btn-accent:hover{box-shadow:0 2px 0 #00000026, 0 8px 20px -6px var(--accent-glow);background:#f2ff4d;transform:translateY(-1px)}.achievement-toast-share:hover{background:var(--accent-wash)}.quote-refresh:hover{color:var(--accent)}.social-card:hover{border-color:var(--accent-line)}.feature-card:hover{box-shadow:var(--shadow-3);transform:translateY(-2px)}.btn-follow:hover{border-color:var(--accent);color:var(--accent)}.accent-swatch:hover,.bg-theme-swatch:hover{transform:scale(1.1)}.sport-list-row:hover,.workout-card:hover,.language-row:hover{border-color:var(--accent)}.exercise-row.clickable:hover{background:#ffffff0a}.inline-banner button:hover{border-color:var(--accent);color:var(--accent)}.exercise-card-link:hover{text-decoration:underline}.brain-article-card:hover{border-color:var(--accent)}.chip:hover,.chat-saved-toggle:hover,.chat-save-btn:hover{border-color:var(--accent);color:var(--accent)}.saved-chat-delete:hover{border-color:var(--error);color:var(--error)}.upload-zone:hover{border-color:var(--accent)}.quest-delete:hover{color:var(--error)}.forum-mod-btn:hover{border-color:var(--accent);color:var(--accent)}.forum-action-btn:hover{color:var(--text)}.dm-convo-row:hover{border-color:var(--accent)}}
