:root { --muted: #aaa; }
[hidden] { display: none !important; }
button, select, summary { cursor: pointer; touch-action: manipulation; }
button { transition: background .18s, border-color .18s, transform .18s; }
button:active { transform: scale(.97); }
:focus-visible { outline: 2px solid #ff6f70; outline-offset: 4px; }
a { color: #ff9293; text-underline-offset: 3px; }
.app-logo { width: 52px; height: 52px; object-fit: cover; border-radius: 14px; box-shadow: 0 0 0 1px #4b2628, 0 8px 24px #0008; animation: mark-in .6s ease both; }
.brand { position: relative; }
.mascot-button { width: 52px; height: 52px; flex: 0 0 auto; padding: 0; overflow: hidden; border: 0; border-radius: 14px; background: transparent; }
.mascot-button[data-mood="sad"] { filter: saturate(.65); }
.mascot-button[data-mood="super"] { filter: saturate(1.12); box-shadow: 0 0 22px #ef2b2d66; }
.mascot-button[data-mood="bikini"] { filter: saturate(1.16); box-shadow: 0 0 26px #ef2b2d88; }
.app-logo.mood-pop { animation: mascot-pop .46s cubic-bezier(.18,.9,.22,1.35) both; }
.mascot-speech { position: absolute; z-index: 45; top: 60px; left: 3px; width: 210px; padding: 10px 12px; border: 1px solid #743236; border-radius: 4px 13px 13px; color: #fff; background: #281315f2; box-shadow: 0 12px 35px #000c; font-size: 12px; font-weight: 800; line-height: 1.35; }
.mascot-speech.show { animation: speech-in .3s cubic-bezier(.18,.9,.22,1.25) both; }
.top-actions { display: flex; align-items: center; gap: 7px; }
.help-mode-btn { width: 40px; height: 40px; border: 1px solid #4b4b4b; border-radius: 50%; color: #ddd; background: #171717; font-weight: 900; font-size: 18px; }
.help-mode-btn.active { border-color: #ff595b; color: #fff; background: #541a1d; animation: help-pulse 1s ease-in-out infinite; }
.brand-copy strong { font-size: 19px; line-height: .9; letter-spacing: .035em; }
.brand-copy strong small { display: block; margin-bottom: 3px; color: #aaa; font: 700 9px/1 Inter,system-ui,sans-serif; letter-spacing: .15em; }
.brand-copy span { font-size: 12px; }
.overview { padding-top: 12px; }
.athlete-card { margin-bottom: 18px; }
.catchup-button { width: 100%; min-height: 46px; margin: -7px 0 18px; padding: 10px 12px; border: 1px dashed #604244; border-radius: 10px; color: #d8c2c3; background: #161112; font-size: 13px; font-weight: 800; }
.catchup-banner { margin: -7px 0 12px; padding: 14px; border: 1px solid #8b363a; border-radius: 12px; background: linear-gradient(135deg,#351517,#171010); box-shadow: 0 0 22px #ef2b2d1f; }
.catchup-banner .debt-stamp { display: inline-block; margin-bottom: 7px; padding: 3px 7px; border: 1px solid #ff7779; color: #ff9a9b; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; transform: rotate(-2deg); }
.catchup-banner strong { display: block; font: 900 22px/1 'Barlow Condensed',Impact,sans-serif; text-transform: uppercase; }
.catchup-banner p { margin: 7px 0 12px; color: #c8aeb0; font-size: 12px; line-height: 1.45; }
.catchup-banner-actions { display: grid; grid-template-columns: 1.5fr 1fr; gap: 7px; }
.catchup-banner-actions button { min-height: 42px; padding: 8px; border: 1px solid #683639; border-radius: 7px; color: #fff; background: #251416; font-size: 11px; font-weight: 800; }
.catchup-banner-actions button:first-child { border-color: #e12a2d; background: #d92326; box-shadow: 0 0 16px #ef2b2d38; }
.athlete-method, .tag, .field label, .intel-label, .protocol span, .body-exercise small, .split-day-head span, .day-btn .type, .body-part span { font-size: 12px; line-height: 1.35; }
.intel-label { color: #aaa; }
.exercise-title { line-height: 1.18; overflow: visible; overflow-wrap: anywhere; }
.muscle-actions { display:flex; align-items:center; gap:8px; }
.muscle-actions button { min-height:34px; padding:7px 9px; border:1px solid #702d30; border-radius:7px; color:#ff9697; background:#251315; font-size:11px; font-weight:900; text-transform:uppercase; box-shadow:0 0 14px #ef2b2d24; }
.exercise-detail { padding-left: 16px; }
.exercise.open .exercise-detail { animation: reveal .23s ease both; }
.exercise, .progress-card, .body-exercise { border-radius: 10px; }
.check { transition: background .2s, border-color .2s; }
.exercise.done .check { animation: check-in .25s ease both; }
.bottom-inner { grid-template-columns: repeat(4, minmax(0, 1fr)) 58px repeat(2, minmax(0, 1fr)); gap: 2px; }
.nav-btn { min-width:0; padding-right:4px; padding-left:4px; font-size: 13px; letter-spacing: .01em; border-radius: 8px; overflow:hidden; text-overflow:ellipsis; }
.nav-btn.active { color: #ff9293; background: #251214; }
.nav-btn.active { box-shadow: inset 0 0 0 1px #6a282b, 0 0 14px #ef2b2d2e; }
.timer-btn { width: 52px; height: 52px; font-size: 17px; box-shadow: none; }
.body-map { max-width: 290px; }
.split-results, .muscle-results, .exercise { scroll-margin-top: 90px; }
.body-intro { font-size: 14px; }
.body-part { min-height: 90px; }
#libraryView { padding-top: 24px; }
#libraryView h1, #assessmentView h1, #dashboardView h1, #bebezonaView h1 { font-size: clamp(38px, 12vw, 56px); }
#dashboardView { padding-top: 24px; }
.dashboard-heading { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-bottom:18px; }
.dashboard-heading h1 { margin:2px 0 0; }
.month-chip { padding:7px 9px; border:1px solid #4f2b2d; border-radius:999px; color:#ff9697; background:#211214; font-size:11px; font-weight:800; text-transform:capitalize; white-space:nowrap; }
.checkin-callout { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; padding:14px; border:1px solid #315842; border-radius:12px; background:linear-gradient(135deg,#13231a,#101010); }
.checkin-callout.due { border-color:#763638; background:linear-gradient(135deg,#291416,#101010); }
.checkin-callout strong, .checkin-callout span { display:block; }
.checkin-callout strong { color:#fff; font-size:14px; }
.checkin-callout span { margin-top:4px; color:#aaa; font-size:12px; line-height:1.4; }
.checkin-callout button { min-height:40px; flex:0 0 auto; padding:8px 10px; border:1px solid #b92d30; border-radius:8px; color:#fff; background:#d92326; font-size:12px; font-weight:800; }
.performance-visual { display:grid; grid-template-columns:136px minmax(0,1fr); min-height:190px; padding:18px; align-items:center; gap:18px; border:1px solid #6f292c; border-radius:16px; background:radial-gradient(circle at 8% 45%,#47171b,#171010 38%,#0b0b0b 78%); box-shadow:0 14px 34px #0007,0 0 24px #ef2b2d1d; }
.adherence-orbit { position:relative; display:grid; width:124px; height:124px; place-items:center; border-radius:50%; background:conic-gradient(#ff3437 0deg,#2b2425 0); box-shadow:0 0 30px #ef2b2d55; }
.adherence-orbit::before { position:absolute; width:94px; height:94px; border:1px solid #473436; border-radius:50%; background:#0b0b0b; content:''; }
.adherence-orbit > div { position:relative; z-index:1; text-align:center; }
.adherence-orbit strong,.adherence-orbit span { display:block; }.adherence-orbit strong { font:900 34px/.9 'Barlow Condensed',Impact,sans-serif; }.adherence-orbit span { margin-top:6px; color:#999; font-size:10px; font-weight:800; text-transform:uppercase; }
.visual-chart-copy { min-width:0; }.visual-chart-copy .eyebrow { margin:0 0 4px; }.visual-chart-copy h2 { margin:0 0 13px; font:900 25px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
.visual-bars { display:grid; height:70px; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:10px; }
.visual-week { display:grid; height:100%; min-width:0; padding:0 3px; grid-template-columns:1fr 1fr; align-items:end; gap:3px; border:0; border-radius:7px; color:inherit; background:transparent; }.visual-week.active { background:#ef2b2d14; box-shadow:inset 0 0 0 1px #ef2b2d33; }
.visual-week i { display:block; min-height:4px; border-radius:4px 4px 2px 2px; transition:height .4s ease; }.visual-week i.complete { background:linear-gradient(#ff7779,#c71e22); box-shadow:0 0 12px #ef2b2d55; }.visual-week i.volume { background:linear-gradient(#a7a7a7,#3d3d3d); }
.visual-week b { grid-column:span 2; margin-top:4px; color:#888; font-size:9px; text-align:center; text-transform:uppercase; }
.visual-legend { display:flex; margin-top:10px; flex-wrap:wrap; gap:10px; color:#8f8f8f; font-size:9px; }.visual-legend span { display:flex; align-items:center; gap:4px; }.visual-legend i { width:7px; height:7px; border-radius:2px; }.visual-legend .complete { background:#ef2b2d; }.visual-legend .volume { background:#777; }
.dashboard-data-gate { margin-top:12px; }.dashboard-data-gate:empty { display:none; }.data-gate { display:grid; grid-template-columns:36px minmax(0,1fr) auto; padding:13px; align-items:center; gap:10px; border:1px solid #704043; border-radius:12px; background:#211315; }.data-gate > i { display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:#ef2b2d22; font-size:17px; font-style:normal; }.data-gate strong,.data-gate small { display:block; }.data-gate strong { font-size:13px; }.data-gate small { margin-top:3px; color:#aa8e90; font-size:10px; line-height:1.4; }.data-gate button { min-height:38px; padding:8px 10px; border:1px solid #c72a2d; border-radius:8px; color:#fff; background:#bd2023; font-size:11px; font-weight:800; }
.dashboard-panel.data-locked { position:relative; min-height:210px; overflow:hidden; }.dashboard-panel.data-locked > :not(.panel-lock) { filter:blur(8px); opacity:.22; pointer-events:none; }.panel-lock { position:absolute; z-index:3; inset:0; display:grid; padding:26px; place-content:center; text-align:center; background:linear-gradient(#1010108f,#101010e8); }.panel-lock i { font-size:28px; font-style:normal; }.panel-lock strong { margin-top:8px; font:900 22px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }.panel-lock p { max-width:280px; margin:8px auto 0; color:#aaa; font-size:12px; line-height:1.5; }
.metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.metric-card { min-height:118px; padding:15px; border:1px solid #303030; border-radius:14px; background:linear-gradient(145deg,#181818,#0d0d0d); box-shadow:0 12px 32px #0004; }
.metric-card.hot { border-color:#6d292c; background:radial-gradient(circle at 88% 0,#4a171b,#171010 54%,#0d0d0d); }
.metric-card span,.metric-card small { display:block; color:#969696; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.metric-card strong { display:block; margin:10px 0 6px; color:#fff; font:900 37px/.9 'Barlow Condensed',Impact,sans-serif; }
.dashboard-panel { margin-top:12px; padding:17px; border:1px solid #303030; border-radius:15px; background:#121212; }
.panel-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:16px; }
.panel-heading .eyebrow { margin:0 0 5px; }
.panel-heading h2 { margin:0; font:900 27px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
.panel-heading > strong { color:#ff7779; font:900 28px/1 'Barlow Condensed',Impact,sans-serif; }
.panel-heading > span { color:#999; font-size:11px; text-align:right; }
.week-chart { display:grid; gap:14px; }
.week-bar-meta { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; }
.week-bar-meta strong { font-size:13px; }
.week-bar-meta span { color:#999; font-size:12px; }
.week-bar-track { height:10px; overflow:hidden; border-radius:999px; background:#292929; }
.week-bar-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#991f22,#f04447); box-shadow:0 0 16px #ef2b2d99; transition:width .35s ease; }
.panel-note { margin:14px 0 0; color:#929292; font-size:12px; line-height:1.55; }
.reward-progress > div { height:8px; overflow:hidden; border-radius:999px; background:#292929; }
.reward-progress i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#8f1c20,#ff4245,#ffb24a); box-shadow:0 0 18px #ef2b2d99; transition:width .35s ease; }
.reward-progress span { display:block; margin:8px 0 14px; color:#aaa; font-size:11px; }
.reward-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.reward-card { min-width:0; padding:0 0 12px; overflow:hidden; border:1px solid #3b3031; border-radius:12px; color:#fff; background:#0b0b0b; text-align:left; }
.reward-card.unlocked { border-color:#773236; box-shadow:0 0 18px #ef2b2d1f; }
.reward-image { position:relative; display:block; aspect-ratio:1; overflow:hidden; background:#050505; }
.reward-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease,filter .25s ease; }
.reward-card.unlocked:active .reward-image img { transform:scale(1.05); }
.reward-card.locked .reward-image img { filter:blur(16px) grayscale(1) brightness(.16); transform:scale(1.16); }
.reward-image i { position:absolute; top:8px; right:8px; display:grid; width:32px; height:32px; place-items:center; border:1px solid #ffffff2e; border-radius:50%; background:#050505d9; font-size:17px; font-style:normal; }
.reward-card strong,.reward-card small { display:block; margin-right:10px; margin-left:10px; }
.reward-card strong { margin-top:10px; overflow:hidden; font:800 17px/1.05 'Barlow Condensed',Impact,sans-serif; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.reward-card small { margin-top:5px; color:#8d8d8d; font-size:10px; }
.gain-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.gain-card { min-height:105px; padding:13px; border:1px solid #3b3031; border-radius:11px; background:#0d0d0d; }
.gain-card:first-child { grid-column:span 2; background:linear-gradient(120deg,#251315,#101010); }
.gain-card span,.gain-card small { display:block; color:#969696; font-size:10px; font-weight:800; text-transform:uppercase; }
.gain-card strong { display:block; margin:9px 0 7px; font:900 29px/.95 'Barlow Condensed',Impact,sans-serif; }
.gain-card.up strong { color:#ff7779; }.gain-card.down strong { color:#80d6ad; }.gain-card.steady strong,.gain-card.empty strong { color:#aaa; }
.checkin-panel form { scroll-margin-top:90px; }
.checkin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 10px; }
#weeklyCheckinForm label { color:#bbb; font-size:13px; font-weight:700; }
#weeklyCheckinForm input,#weeklyCheckinForm select { width:100%; min-width:0; min-height:46px; margin:5px 0 11px; padding:9px 10px; border:1px solid #414141; border-radius:8px; color:#fff; background:#080808; font:500 16px/1.3 Inter,system-ui,sans-serif; }
.checkin-history { margin-top:20px; padding-top:4px; border-top:1px solid #303030; }
.checkin-history h3 { margin:14px 0 8px; font:800 19px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
.checkin-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; width:100%; min-height:58px; padding:9px 0; align-items:center; gap:10px; border:0; border-bottom:1px solid #292929; color:#fff; background:transparent; text-align:left; }
.checkin-row span,.checkin-row strong,.checkin-row small { display:block; }
.checkin-row strong { font-size:14px; text-transform:capitalize; }.checkin-row small { margin-top:3px; color:#888; font-size:10px; }
.checkin-row b { font-size:13px; }.checkin-row i { color:#d76d6f; font-size:11px; font-style:normal; }
.codes-panel { margin:14px 0 28px; border:1px solid #333; border-radius:12px; background:#111; }
.codes-panel summary { padding:16px; color:#eee; font-size:14px; font-weight:800; }
.codes-panel summary span { float:right; color:#888; font-size:10px; text-transform:uppercase; }
.codes-panel .legend-list,.codes-panel .reset-btn { margin-right:14px; margin-left:14px; }
#assessmentView { padding-top: 24px; }
.profile-hero { display:grid; grid-template-columns:104px minmax(0,1fr); margin:18px 0 12px; padding:16px; align-items:center; gap:16px; border:1px solid #5d292c; border-radius:16px; background:radial-gradient(circle at 0 0,#401519,#171010 45%,#101010); }
.profile-photo-wrap { display:grid; justify-items:center; gap:7px; }.profile-photo-button { position:relative; display:grid; width:92px; height:92px; padding:0; overflow:hidden; place-items:center; border:2px solid #a62a2d; border-radius:50%; color:#fff; background:linear-gradient(145deg,#442024,#121212); box-shadow:0 0 26px #ef2b2d42; }.profile-photo-button img { width:100%; height:100%; object-fit:cover; }.profile-photo-button span { font:900 30px/1 'Barlow Condensed',Impact,sans-serif; }.profile-photo-button i { position:absolute; right:2px; bottom:3px; display:grid; width:28px; height:28px; place-items:center; border:2px solid #171010; border-radius:50%; background:#ef2b2d; font-size:18px; font-style:normal; }.remove-profile-photo { padding:2px 4px; border:0; color:#999; background:transparent; font-size:9px; text-decoration:underline; }.profile-hero-copy { min-width:0; }.profile-kicker { display:block; color:#ff7779; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }.profile-hero-copy > strong { display:block; margin-top:5px; overflow:hidden; font:900 29px/1 'Barlow Condensed',Impact,sans-serif; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.profile-hero-copy > small { display:block; margin-top:5px; color:#aaa; font-size:11px; }.profile-completion { margin-top:13px; }.profile-completion div { height:8px; overflow:hidden; border-radius:999px; background:#31292a; }.profile-completion i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#a91f23,#ff484b); box-shadow:0 0 14px #ef2b2d88; transition:width .3s ease; }.profile-completion b { display:block; margin-top:6px; color:#d6c0c1; font-size:10px; }
.profile-missing { margin-bottom:12px; padding:13px 14px; border:1px dashed #4b3a3b; border-radius:12px; background:#111; }.profile-missing.complete { border-color:#2d6147; background:#101b15; }.profile-missing strong { display:block; margin-bottom:8px; font-size:13px; }.profile-missing-list { display:flex; flex-wrap:wrap; gap:6px; }.profile-missing-list span { padding:6px 8px; border-radius:999px; color:#d7bfc0; background:#2a1719; font-size:10px; }.profile-missing.complete p { margin:0; color:#9bc9af; font-size:12px; }
#assessmentForm { margin: 20px 0 28px; }
#assessmentForm fieldset { margin: 0 0 14px; padding: 16px; border: 1px solid #353535; border-radius: 14px; background: #121212; }
#assessmentForm legend { padding: 0 8px; color: #ff7779; font: 800 17px/1 'Barlow Condensed',Impact,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
#assessmentForm input, #assessmentForm select, #assessmentForm textarea { width: 100%; min-height: 48px; margin: 6px 0 12px; padding: 10px 12px; border: 1px solid #414141; border-radius: 8px; color: #fff; background: #080808; font: 500 16px/1.4 Inter,system-ui,sans-serif; }
#assessmentForm textarea { min-height: 88px; resize: vertical; }
.assessment-grid { display: grid; gap: 0 12px; }
.assessment-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.choice-label { margin: 5px 0 10px; color: #ccc; font-size: 14px; font-weight: 700; }
.choice-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.choice-chips label { position: relative; }
.choice-chips input { position: absolute; width: 1px !important; height: 1px; min-height: 0 !important; margin: 0 !important; opacity: 0; }
.choice-chips label { padding: 9px 11px; border: 1px solid #3c3c3c; border-radius: 999px; color: #bbb; background: #1a1a1a; font-size: 13px; font-weight: 700; }
.choice-chips label:has(input:checked) { border-color: #b92d30; color: #fff; background: #351719; }
.choice-chips label:has(input:focus-visible) { outline: 2px solid #ff6f70; outline-offset: 3px; }
.screening-question { margin-top: 8px; padding: 15px; border: 1px solid #663b3d; border-radius: 10px; background: #201315; }
.screening-question strong { display: block; font-size: 16px; }
.screening-question p { color: #d0b8b9; font-size: 14px; line-height: 1.5; }
.screening-question label { display: flex; min-height: 44px; align-items: center; gap: 10px; color: #eee; }
.screening-question input { width: 20px !important; min-height: 20px !important; margin: 0 !important; accent-color: #ef2b2d; }
.privacy-note { padding: 12px; border-radius: 9px; color: #aaa; background: #101010; font-size: 12px; line-height: 1.55; }
.assessment-clear { width: 100%; margin-top: 4px; }
.assessment-status { display: flex; margin: 18px 0; padding: 12px 14px; justify-content: space-between; gap: 12px; border-left: 3px solid #ef2b2d; color: #eee; background: #171212; }
.assessment-status span { color: #aaa; font-size: 12px; text-align: right; }
#bebezonaView { padding-top:24px; }.bebezona-now { display:grid; grid-template-columns:132px minmax(0,1fr); margin:20px 0 12px; overflow:hidden; border:1px solid #7b2c30; border-radius:17px; background:radial-gradient(circle at 0 50%,#4b171b,#171010 40%,#0b0b0b); box-shadow:0 16px 38px #0008,0 0 25px #ef2b2d20; }.bebezona-now-image { min-height:210px; background:#050505; }.bebezona-now-image img { display:block; width:100%; height:100%; object-fit:cover; }.bebezona-live { min-width:0; padding:18px 16px; }.bebezona-live > span { display:inline-block; padding:5px 7px; border:1px solid #7a3033; border-radius:999px; color:#ff8c8e; background:#2a1315; font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.bebezona-live h2 { margin:9px 0 6px; font:900 31px/.95 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }.bebezona-live p { min-height:52px; margin:0; color:#c5abad; font-size:12px; line-height:1.45; }.bebezona-progress { margin-top:12px; }.bebezona-progress div { height:7px; overflow:hidden; border-radius:999px; background:#34292a; }.bebezona-progress i { display:block; width:0; height:100%; border-radius:inherit; background:#ef2b2d; box-shadow:0 0 13px #ef2b2d99; transition:width .35s ease; }.bebezona-progress span { display:block; margin-top:5px; color:#858585; font-size:9px; }.bebezona-speak { width:100%; min-height:38px; margin-top:12px; padding:8px; border:1px solid #bd292c; border-radius:8px; color:#fff; background:#c92124; font-size:10px; font-weight:900; }
.bebezona-guide-panel { margin-top:12px; padding:17px; border:1px solid #303030; border-radius:15px; background:#121212; }.mood-band-grid { display:grid; gap:8px; }.mood-band-card { padding:14px; border:1px solid #393333; border-radius:11px; background:#0c0c0c; }.mood-band-card.high { border-color:#6e2e31; background:linear-gradient(120deg,#2a1315,#0c0c0c); }.mood-band-card strong,.mood-band-card span { display:block; }.mood-band-card strong { color:#fff; font:900 26px/.9 'Barlow Condensed',Impact,sans-serif; }.mood-band-card span { margin-top:5px; color:#ff8385; font-size:11px; font-weight:800; text-transform:uppercase; }.mood-band-card p { margin:8px 0 0; color:#9a9a9a; font-size:11px; line-height:1.45; }.mood-band-card p b { color:#eee; }.bebezona-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.bebezona-rule-grid article { min-height:130px; padding:14px; border:1px solid #343434; border-radius:11px; background:#0c0c0c; }.bebezona-rule-grid strong { font:800 19px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }.bebezona-rule-grid p { margin:8px 0 0; color:#949494; font-size:11px; line-height:1.5; }.reward-roadmap { display:grid; gap:8px; }.reward-roadmap-row { display:grid; grid-template-columns:62px minmax(0,1fr) auto; min-height:70px; padding:7px; align-items:center; gap:10px; border:1px solid #373031; border-radius:11px; color:#fff; background:#0b0b0b; text-align:left; }.reward-roadmap-row img { width:62px; height:62px; border-radius:8px; object-fit:cover; }.reward-roadmap-row.locked img { filter:blur(7px) grayscale(1) brightness(.25); }.reward-roadmap-row strong,.reward-roadmap-row small { display:block; }.reward-roadmap-row strong { font:800 18px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }.reward-roadmap-row small { margin-top:5px; color:#888; font-size:9px; }.reward-roadmap-row > i { padding:8px; color:#ff8f91; font-size:17px; font-style:normal; }
#recommendationResults { scroll-margin-top: 92px; }
.recommendation-empty { padding: 28px 18px; border: 1px dashed #444; border-radius: 12px; color: #aaa; text-align: center; }
.recommendation-head { margin: 28px 0 16px; padding: 18px; border: 1px solid #573335; border-radius: 14px; background: linear-gradient(135deg,#291416,#111 70%); }
.recommendation-head h2 { margin: 5px 0 8px; font: 900 30px/1 'Barlow Condensed',Impact,sans-serif; text-transform: uppercase; }
.recommendation-head p { color: #eee; font-size: 15px; line-height: 1.5; }
.recommendation-head small { display: block; color: #aaa; font-size: 12px; line-height: 1.55; }
.split-plan { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 14px 0; }
.split-plan span { padding: 9px 10px; border: 1px solid #492b2d; border-radius: 8px; color: #eee; background: #170f10; font-size: 12px; }
.split-plan b { display: block; margin-bottom: 3px; color: #d76d6f; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.assessment-alert { margin: 14px 0; padding: 15px; border: 1px solid #725b2f; border-radius: 10px; color: #f0dcae; background: #211d12; }
.assessment-alert.danger { border-color: #8d3538; color: #ffd5d5; background: #281315; }
.assessment-alert strong { display: block; margin-bottom: 5px; }
.assessment-alert p { margin: 0; font-size: 14px; line-height: 1.55; }
.suggestion-title { display: flex; align-items: baseline; justify-content: space-between; margin-top: 24px; }
.suggestion-title h3 { font: 800 24px/1 'Barlow Condensed',Impact,sans-serif; }
.suggestion-title span { color: #aaa; font-size: 12px; }
.suggestion-grid { display: grid; gap: 10px; }
.suggestion-card { display: grid; grid-template-columns: 108px minmax(0,1fr); min-height: 112px; overflow: hidden; border: 1px solid #333; border-radius: 12px; background: #141414; }
.suggestion-card > .photo-frame { overflow: hidden; }
.suggestion-card img { width: 100%; height: 100%; object-fit: cover; }
.suggestion-card > div { display: flex; min-width: 0; padding: 12px; flex-direction: column; justify-content: center; }
.suggestion-card strong { font: 800 20px/1.1 'Barlow Condensed',Impact,sans-serif; }
.suggestion-card small { margin: 5px 0 9px; color: #aaa; font-size: 11px; }
.suggestion-card button { align-self: flex-start; min-height: 38px; padding: 8px 10px; border: 1px solid #724043; border-radius: 7px; color: #ff9b9c; background: #251416; font-size: 12px; font-weight: 800; }
.assessment-sources { margin: 26px 0; color: #888; font-size: 11px; line-height: 1.6; }
.catalog-tools { margin: 22px 0; padding: 16px; border: 1px solid #333; border-radius: 14px; background: #141414; }
label { display: block; color: #bcbcbc; font-size: 14px; line-height: 1.5; }
.catalog-tools input, select, #mixForm input { width: 100%; min-width: 0; min-height: 48px; margin: 6px 0 12px; padding: 10px 12px; border: 1px solid #414141; border-radius: 8px; color: #fff; background: #080808; font: 500 16px/1.4 Inter, system-ui, sans-serif; }
.filter-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 12px; }
.text-btn { min-height: 44px; padding: 8px 10px; border: 1px solid #444; border-radius: 7px; background: transparent; color: #ddd; font-size: 14px; }
.microcopy { color: #aaa; font-size: 13px; line-height: 1.6; }
.catalog-card { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 15px; align-items: stretch; width: 100%; margin-bottom: 12px; padding: 0; overflow: hidden; border: 1px solid #303030; border-radius: 14px; background: #121212; color: #f4f4f1; text-align: left; animation: reveal .2s ease both; }
.catalog-card:hover { border-color: #754244; background: #1a1414; }
.catalog-copy { display: block; align-self: center; padding: 15px 13px 15px 0; min-width: 0; }
.catalog-card strong { display: block; padding-right: 10px; font: 700 23px/1.15 'Barlow Condensed', Impact, sans-serif; }
.catalog-card .original-name { display: block; margin-top: 4px; color: #999; font-size: 12px; }
.catalog-photo { position: relative; display: grid; min-height: 132px; place-items: center; overflow: hidden; background: #080808; }
.catalog-photo .photo-frame, .catalog-photo img { width: 100%; height: 100%; }
.catalog-photo img { display: block; object-fit: cover; }
.photo-count { position: absolute; left: 7px; bottom: 7px; padding: 4px 7px; border-radius: 999px; color: #fff; background: #000c; font-size: 10px; font-weight: 800; }
.photo-hint { display: block; margin-top: 11px; color: #ff8a8b; font-size: 12px; font-weight: 800; }
.catalog-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.catalog-tags span { padding: 4px 7px; border-radius: 4px; color: #ccc; background: #252525; font-size: 12px; }
.catalog-tags span:first-child { background: #301618; color: #ff9697; }
.catalog-cta, .primary-btn { display: block; width: 100%; min-height: 50px; margin: 18px 0 8px; padding: 12px 16px; border: 1px solid #ef2b2d; border-radius: 9px; background: #ef2b2d; color: #fff; font-weight: 700; font-size: 16px; }
.glow-action, .video-link { box-shadow: 0 0 0 1px #ff737533, 0 0 18px #ef2b2d32; }
.glow-action { animation: action-glow 2.4s ease-in-out infinite; }
button.help-target { position: relative; z-index: 1; outline: 2px solid #ff6567; outline-offset: 3px; box-shadow: 0 0 22px #ef2b2d99 !important; animation: help-target 1s ease-in-out infinite !important; }
.button-explanation { position: fixed; z-index: 120; right: 14px; bottom: calc(88px + env(safe-area-inset-bottom)); left: 14px; width: min(calc(100% - 28px),550px); margin: 0 auto; padding: 16px 48px 16px 16px; border: 1px solid #8b3438; border-radius: 14px; color: #fff; background: #211113f2; box-shadow: 0 20px 60px #000b,0 0 28px #ef2b2d33; backdrop-filter: blur(15px); }
.button-explanation.show { animation: explanation-in .28s cubic-bezier(.2,.85,.24,1) both; }
.button-explanation strong { display: block; font: 800 20px/1.1 'Barlow Condensed',Impact,sans-serif; }
.button-explanation p { margin: 7px 0 0; color: #dec6c7; font-size: 13px; line-height: 1.5; }
.button-explanation button { position: absolute; top: 10px; right: 10px; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #fff; background: #3a2022; font-size: 20px; }
#myMix { border: 1px solid #563335; border-radius: 10px; background: #1d1112; }
#myMix summary { padding: 15px; font-weight: 700; font-size: 16px; }
#mixCount { float: right; color: #ff8587; }
#mixList { padding: 0 14px 14px; }
.mix-item { padding: 14px 0; border-top: 1px solid #473234; }
.mix-item strong { display: block; font-size: 16px; line-height: 1.5; }
.mix-origin { margin: 8px 0; padding: 10px; border-left: 2px solid var(--red); color: #e6babc; font-size: 14px; line-height: 1.4; background: #211517; }
dialog { width: min(94vw, 570px); max-height: 88dvh; margin: auto; padding: 20px; border: 1px solid #554044; border-radius: 18px; background: #121212; color: #f4f4f1; overflow-y: auto; overscroll-behavior: contain; }
dialog::backdrop { background: #000c; backdrop-filter: blur(8px); }
dialog[open] { transform-origin: 50% 72%; animation: modal-in .32s cubic-bezier(.2,.85,.24,1) both; }
dialog[open]::backdrop { animation: backdrop-in .28s ease both; }
dialog.is-closing { pointer-events: none; animation: modal-out .18s ease both; }
dialog.is-closing::backdrop { animation: backdrop-out .18s ease both; }
.dialog-top { position: sticky; z-index: 3; top: -20px; display: flex; margin: -20px -20px 8px; padding: 14px 20px 10px; justify-content: space-between; align-items: center; gap: 14px; border-bottom: 1px solid #2b2b2b; background: #121212ef; backdrop-filter: blur(12px); }
dialog h2 { margin: 12px 0; font: 800 32px/1.1 'Barlow Condensed', sans-serif; overflow-wrap: anywhere; }
dialog h3 { font-size: 18px; }
dialog p, dialog li { font-size: 15px; line-height: 1.6; }
dialog ol { padding-left: 22px; }
dialog li { margin-bottom: 10px; }
#mixForm { margin-top: 22px; padding-top: 8px; border-top: 1px solid #383838; }
#catchUpForm input, #catchUpForm select { width: 100%; min-height: 48px; margin: 6px 0 13px; padding: 10px 12px; border: 1px solid #414141; border-radius: 8px; color: #fff; background: #080808; font: 500 16px/1.4 Inter,system-ui,sans-serif; }
.catchup-history { margin-top: 20px; border-top: 1px solid #333; }
.catchup-history summary { padding: 15px 0; font-weight: 800; }
.catchup-history summary span { float: right; color: #ff8587; }
.catchup-history-row { display: grid; gap: 3px; padding: 12px 0; border-top: 1px solid #2e2e2e; }
.catchup-history-row strong { font-size: 14px; }
.catchup-history-row span { color: #ccc; font-size: 12px; }
.catchup-history-row small { color: #8d8d8d; font-size: 11px; }
#mixMessage { font-size: 14px; color: #ffb6b7; }
.tonnage-hint { margin:7px 0 0; color:#858585; font-size:10px; line-height:1.45; }
.quick-current { margin:12px 0; padding:13px; border:1px solid #333; border-radius:12px; background:#0c0c0c; }
.quick-current h3 { margin:0 0 8px; font:800 18px/1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
.quick-current-row { display:flex; min-height:46px; padding:7px 0; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #292929; }
.quick-current-row:first-child { border-top:0; }
.quick-current-row span,.quick-current-row strong,.quick-current-row small { display:block; }
.quick-current-row strong { font-size:13px; }.quick-current-row small { margin-top:3px; color:#858585; font-size:10px; }
.quick-current-row button { min-height:34px; padding:7px 10px; border:1px solid #543234; border-radius:7px; color:#ff9293; background:#251315; font-size:11px; font-weight:800; }
.quick-controls { padding:14px; border:1px solid #4d3032; border-radius:12px; background:#1b1011; }
.quick-controls input,.quick-controls select { width:100%; min-height:46px; margin:5px 0 11px; padding:9px 10px; border:1px solid #414141; border-radius:8px; color:#fff; background:#080808; font:500 16px/1.3 Inter,system-ui,sans-serif; }
.quick-exercise-results { display:grid; gap:9px; margin-top:13px; }
.quick-exercise-card { display:grid; grid-template-columns:92px minmax(0,1fr); width:100%; min-height:108px; padding:0; overflow:hidden; border:1px solid #333; border-radius:12px; color:#fff; background:#111; text-align:left; }
.quick-exercise-card .catalog-photo { min-height:108px; height:100%; }
.quick-exercise-card > span:last-child { display:flex; min-width:0; padding:11px; flex-direction:column; justify-content:center; }
.quick-exercise-card strong,.quick-exercise-card small,.quick-exercise-card b { display:block; }
.quick-exercise-card strong { font:800 19px/1.1 'Barlow Condensed',Impact,sans-serif; text-transform:uppercase; }
.quick-exercise-card small { margin-top:5px; color:#888; font-size:10px; }
.quick-exercise-card b { margin-top:9px; color:#ff8587; font-size:11px; }
#quickMuscleDialog .dialog-top h2 { margin:3px 0 0; font-size:25px; }
.result-count { font-variant-numeric: tabular-nums; }
.exercise-media { margin: 14px 0 18px; padding: 14px; border: 1px solid #3b3031; border-radius: 12px; background: #0b0b0b; }
.media-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.media-heading strong { font: 800 22px/1 'Barlow Condensed',Impact,sans-serif; text-transform: uppercase; }
.media-heading span { color: #aaa; font-size: 11px; }
.photo-strip { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.photo-strip button { display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid #303030; border-radius: 9px; color: #ddd; background: #151515; text-decoration: none; }
.photo-open { position: relative; cursor: zoom-in; }
.photo-open::after { position: absolute; top: 8px; right: 8px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #ffffff3b; border-radius: 50%; color: #fff; background: #000c; content: '＋'; font-size: 18px; }
.photo-frame { display: grid; place-items: center; background: #090909; }
.photo-strip .photo-frame { aspect-ratio: 4/3; overflow: hidden; }
.photo-strip img { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo-strip button > span:last-child { display: block; padding: 8px; font-size: 11px; font-weight: 700; text-align: center; }
.photo-open img { transition: transform .3s ease, filter .3s ease; }
.photo-open:active img { transform: scale(1.045); filter: brightness(.8); }
.image-dialog { width: 100vw; max-width: none; height: 100dvh; max-height: none; padding: max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom)); border: 0; border-radius: 0; background: #050505; overflow: hidden; }
.lightbox-top { display: flex; min-height: 62px; align-items: center; justify-content: space-between; gap: 16px; }
.lightbox-top div { min-width: 0; }
.lightbox-top span { display: block; margin-bottom: 4px; color: #f04a4c; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lightbox-top strong { display: block; max-width: 75vw; overflow: hidden; font: 800 23px/1 'Barlow Condensed',Impact,sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.lightbox-top button { width: 46px; height: 46px; flex: 0 0 auto; border: 1px solid #444; border-radius: 50%; color: #fff; background: #171717; font-size: 28px; }
.lightbox-stage { display: grid; height: calc(100dvh - 154px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); place-items: center; overflow: hidden; border-radius: 14px; background: radial-gradient(circle at 50% 45%,#242424,#090909 68%); }
.lightbox-stage img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 24px 34px #000c); }
.lightbox-stage img.from-right { animation: image-focus .42s cubic-bezier(.16,.84,.22,1) both; }
.lightbox-stage img.from-left { animation: image-focus-left .42s cubic-bezier(.16,.84,.22,1) both; }
.lightbox-controls { display: grid; grid-template-columns: 48px minmax(0,1fr) 48px; min-height: 70px; align-items: center; gap: 10px; }
.lightbox-controls button { width: 46px; height: 46px; border: 1px solid #3c3c3c; border-radius: 50%; color: #fff; background: #171717; font-size: 20px; }
.lightbox-controls span { color: #888; font-size: 11px; text-align: center; }
.lightbox-controls button:not([hidden]) { animation: control-in .25s .16s ease both; }
.photo-error { display: grid; padding: 14px; place-items: center; color: #999; font-size: 11px; text-align: center; }
.media-note { margin: 10px 0; padding: 10px; border-left: 2px solid #ef2b2d; color: #f0cdce; background: #211315; font-size: 13px; line-height: 1.5; }
.media-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.media-links a { display: flex; min-height: 56px; padding: 10px; flex-direction: column; justify-content: center; border-radius: 8px; text-decoration: none; font-size: 13px; font-weight: 800; }
.media-links small { display: block; margin-top: 3px; color: inherit; opacity: .7; font-size: 9px; font-weight: 600; }
.video-link { color: #fff; background: #d92326; }
.search-video { border: 1px solid #444; color: #eee; background: #1a1a1a; }
.media-credit { margin: 12px 0 0; color: #888; font-size: 10px; line-height: 1.5; }
.view-enter { animation: reveal .25s ease both; }
@keyframes reveal { from { opacity: .3; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes modal-in { from { opacity: 0; transform: translateY(26px) scale(.94); filter: blur(7px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes modal-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(16px) scale(.97); } }
@keyframes backdrop-in { from { background:#0000; backdrop-filter:blur(0); } to { background:#000c; backdrop-filter:blur(8px); } }
@keyframes backdrop-out { from { background:#000c; backdrop-filter:blur(8px); } to { background:#0000; backdrop-filter:blur(0); } }
@keyframes image-focus { from { opacity: 0; transform: translateX(24px) scale(.92); filter: blur(5px); } to { opacity: 1; transform: none; filter: drop-shadow(0 24px 34px #000c); } }
@keyframes image-focus-left { from { opacity: 0; transform: translateX(-24px) scale(.92); filter: blur(5px); } to { opacity: 1; transform: none; filter: drop-shadow(0 24px 34px #000c); } }
@keyframes control-in { from { opacity:0; transform:scale(.75); } to { opacity:1; transform:none; } }
@keyframes action-glow { 50% { box-shadow: 0 0 0 1px #ff848555,0 0 28px #ef2b2d66; filter:brightness(1.08); } }
@keyframes help-pulse { 50% { box-shadow: 0 0 0 7px #ef2b2d24,0 0 20px #ef2b2d55; } }
@keyframes help-target { 50% { outline-color:#ffb0b1; box-shadow:0 0 30px #ef2b2dcc !important; } }
@keyframes explanation-in { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes mascot-pop { from { opacity:.4; transform:scale(.68) rotate(-7deg); } to { opacity:1; transform:none; } }
@keyframes speech-in { from { opacity:0; transform:translateY(-8px) scale(.88); transform-origin:top left; } to { opacity:1; transform:none; } }
@keyframes mark-in { from { opacity: 0; transform: scale(.85) rotate(-8deg); } to { opacity: 1; transform: none; } }
@keyframes check-in { from { transform: scale(.82); } to { transform: scale(1); } }
@media(max-width:430px) { .topbar { padding: 11px 12px 9px; } .brand { gap: 8px; } .brand-copy strong { font-size: 16px; } .brand-copy span { font-size: 9px; } .app-logo, .mascot-button { width: 46px; height: 46px; } .week-btn { padding: 0 9px; font-size: 14px; } .nav-btn { font-size: 10px; letter-spacing:0; } .assessment-grid.two { grid-template-columns: 1fr; } .assessment-status { flex-direction: column; } .assessment-status span { text-align: left; } .dashboard-heading { align-items:flex-start; flex-direction:column; gap:6px; } .checkin-callout { align-items:flex-start; flex-direction:column; } .performance-visual { grid-template-columns:112px minmax(0,1fr); padding:14px; gap:13px; }.adherence-orbit { width:106px; height:106px; }.adherence-orbit::before { width:80px; height:80px; }.adherence-orbit strong { font-size:29px; }.visual-chart-copy h2 { font-size:21px; }.profile-hero { grid-template-columns:92px minmax(0,1fr); padding:13px; gap:12px; }.profile-photo-button { width:82px; height:82px; }.bebezona-now { grid-template-columns:112px minmax(0,1fr); }.bebezona-now-image { min-height:220px; }.bebezona-live { padding:14px 12px; }.bebezona-rule-grid { grid-template-columns:1fr; }.bebezona-rule-grid article { min-height:0; }.log-grid { grid-template-columns:1fr 1fr; }.log-grid .field:last-child { grid-column:span 2; } .muscle-head { align-items:flex-end; }.muscle-actions { align-items:flex-end; flex-direction:column; gap:5px; } }
@media(max-width:360px) { .filter-grid { gap: 0 8px; } .athlete-card { grid-template-columns: 1fr; } .catalog-card { grid-template-columns: 92px minmax(0,1fr); } .catalog-card strong { font-size: 20px; } .catalog-photo { min-height: 122px; } .media-links { grid-template-columns: 1fr; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
