@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Unbounded:wght@500;600&display=swap";:root{--ink: #14151b;--muted: #686b75;--paper: #f6f5f1;--white: #ffffff;--accent: #f54f54;--accent-2: #ff8b8f;--line: #14151b1f;--surface-audience: #eae8e1;--surface-form: #f7f6f2;--surface-icon: #fff1ec;--surface-input: #ffffff;--line-input: #dedcd8;--contact-from: #1b1c24;--contact-to: #101116;--footer: #0c0d11;--theme: #11131a;--accent-hover: #d9353e;--accent-glow: #f54f5440;--accent-soft: #f54f541f;--accent-ring: #f54f5473;--accent-dot-ring: #f54f5424;--color-brand-red: var(--accent);--color-white: var(--white);--color-dark-gray: var(--ink);--color-light-gray-bg: var(--paper);--color-medium-gray: var(--muted);--color-accent-cta: var(--accent);--color-primary: var(--accent);--color-text: var(--ink);--color-text-muted: var(--muted);--color-bg: var(--paper);--color-bg-alt: var(--surface-audience);--font-display: Unbounded, Arial, sans-serif;--font-body: Manrope, Arial, sans-serif;--shadow-nav: 0 12px 40px #14151b14;--shadow-card: 0 12px 40px #14151b1f;--shadow-card-hover: 0 20px 50px #14151b14;--shadow-btn: 0 12px 30px var(--accent-glow);--shadow-photo: 0 20px 35px #15151926;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 20px;--radius-3xl: 32px;--radius-pill: 100px;--radius-icon: 13px;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 32px;--spacing-xl: 48px;--spacing-2xl: 64px;--section-y: 120px;--container: min(1200px, calc(100% - 48px) )}.brand-btn-primary{background:var(--accent);color:var(--white);border:1px solid transparent;border-radius:var(--radius-md);padding:17px 22px;font-family:var(--font-body);font-weight:700;box-shadow:var(--shadow-btn);cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .25s}.brand-btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.brand-btn-ghost{background:#ffffff80;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);padding:17px 22px;font-family:var(--font-body);font-weight:700;cursor:pointer}.brand-btn-ghost:hover{background:var(--white)}.brand-btn-dark{background:var(--ink);color:var(--white);border:1px solid transparent;border-radius:var(--radius-md);font-weight:700}.brand-section-light{background:var(--paper);color:var(--ink)}.brand-section-alt{background:var(--surface-audience);color:var(--ink)}.brand-section-dark{background:var(--ink);color:var(--white);border-radius:var(--radius-3xl)}.brand-heading{color:var(--ink);font-family:var(--font-display);font-weight:600;letter-spacing:-.05em;line-height:1.08}.brand-kicker{color:var(--accent);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.brand-kicker-on-dark{color:var(--accent-2)}.brand-accent{color:var(--accent)}.brand-text-muted{color:var(--muted)}.brand-wordmark{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink);text-decoration:none}.brand-wordmark span{color:var(--accent)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{min-height:100dvh}button,input,textarea{font:inherit}#app{min-height:100dvh;display:flex;flex-direction:column}.app-shell{width:min(560px,100%);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.wordmark{font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.wordmark span{color:var(--accent)}.kicker{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.04em;line-height:1.15;margin:0}h1{font-size:clamp(28px,7vw,36px)}h2{font-size:20px}.muted{color:var(--muted);line-height:1.55}.screen{flex:1;display:flex;flex-direction:column;gap:16px;animation:rise .35s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hero-card{background:var(--ink);color:var(--white);border-radius:var(--radius-3xl);padding:22px 20px;box-shadow:var(--shadow-card)}.hero-card .kicker{color:var(--accent-2)}.hero-card h1 em{font-style:normal;color:var(--accent)}.hero-card p{margin:10px 0 0;color:#c8cad1;font-size:15px;line-height:1.55}.actions{display:flex;flex-direction:column;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:var(--radius-md);padding:15px 18px;font-weight:700;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--accent);color:var(--white);box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--white);color:var(--ink);border-color:var(--line)}.btn-dark{background:var(--ink);color:var(--white)}.btn-danger{background:transparent;color:var(--accent);border-color:var(--line)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--white);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.field textarea,.field input{width:100%;border:1px solid var(--line-input);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);padding:14px;outline:none;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:220px;resize:vertical;line-height:1.45}.field input[type=date]{min-height:48px}.date-field{margin-bottom:4px}.comment-field textarea{min-height:96px}.field textarea:focus,.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.hero-card.hero-compact{padding:18px 20px}.hero-card.hero-compact h1{font-size:clamp(24px,6vw,30px)}.calendar{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-2xl);padding:16px 14px 18px;display:grid;gap:12px}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-title{font-size:17px;text-align:center;flex:1}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-weekday{text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 0}.cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:12px;font-size:14px;font-weight:600;color:var(--ink);border:1.5px solid transparent;background:transparent;min-height:40px;box-sizing:border-box}.cal-day.is-empty{visibility:hidden;pointer-events:none}.cal-day.is-today{position:relative;font-weight:800;border-color:transparent}.cal-day.is-today:after{content:"";position:absolute;bottom:4px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translate(-50%);pointer-events:none}.cal-day.is-today:not(.has-workout){background:var(--ink);color:var(--white)}button.cal-day.is-free.is-today{background:var(--ink);color:var(--white)}button.cal-day.is-free.is-today:hover,button.cal-day.is-free.is-today:active{background:#2a2c36;color:var(--white)}.cal-day.has-workout.is-today.is-done{border-color:var(--ink)}.cal-day.has-workout.is-today.is-open{border-color:var(--ink);color:var(--ink)}button.cal-day.is-free{font:inherit;font-weight:600;padding:0;cursor:pointer;color:var(--ink);background:transparent}button.cal-day.is-free:hover,button.cal-day.is-free:active{background:var(--surface-audience);transform:scale(1.04)}.cal-day.is-past{color:var(--muted);opacity:.55}.cal-day.has-workout{cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.cal-day.has-workout.is-done{background:var(--surface-icon);color:#c43a3f;border-color:#f5b8ba;box-shadow:none}.cal-day.has-workout.is-open{background:#e4e2dc;color:var(--muted);border-color:transparent;box-shadow:none}button.cal-day.has-workout{font:inherit;font-weight:700;padding:0}.cal-day.has-workout.is-done:hover,.cal-day.has-workout.is-done:active{background:#ffe4de;transform:scale(1.04)}.cal-day.has-workout.is-open:hover,.cal-day.has-workout.is-open:active{background:#d4d2cc;color:var(--ink);transform:scale(1.04)}.cal-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:4px 0 0;font-size:13px}.cal-plan-hint{color:var(--muted);opacity:.75;font-size:12px}.cal-missed{color:#9a6b2f;font-weight:600}.cal-left{color:#3d6b4f;font-weight:600}.cal-dot{width:8px;height:8px;border-radius:50%;background:#e8a0a3;flex-shrink:0}.session-list{display:flex;flex-direction:column;gap:10px}.session-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);padding:16px;display:grid;gap:10px;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:left;width:100%;color:inherit}.session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.session-card .meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}.progress-bar{height:6px;border-radius:100px;background:var(--surface-audience);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .3s ease}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:4px}.topbar .title-wrap{flex:1;min-width:0}.topbar h1{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}.progress-head strong{font-family:var(--font-display);font-size:18px;letter-spacing:-.03em}.exercise{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden}.exercise-head{padding:16px 16px 12px;border-bottom:1px solid var(--line)}.exercise-head h2{font-size:18px}.exercise-head .count{margin-top:4px;font-size:13px;color:var(--muted)}.set-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);transition:background .2s}@media(max-width:420px){.set-row{grid-template-columns:28px minmax(0,1fr) auto auto;grid-template-areas:"idx info check check" "idx weight reps check";row-gap:8px}.set-row .idx{grid-area:idx;align-self:start}.set-row .info{grid-area:info}.set-row .fact-wrap:has([data-weight]){grid-area:weight;justify-self:start}.set-row .fact-wrap:has([data-reps]){grid-area:reps;justify-self:start}.set-row .check{grid-area:check;justify-self:end;align-self:center}}.set-row:last-child{border-bottom:none}.set-row.done{background:#fff8f7}.set-row .idx{width:28px;height:28px;border-radius:9px;background:var(--surface-icon);color:var(--accent);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.set-row .info{min-width:0}.set-row .weight{font-weight:700;font-size:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.set-row .plan{font-weight:600;font-size:13px;color:var(--muted)}.set-row .note{font-size:12px;color:var(--muted);margin-top:2px}.fact-wrap{display:flex;flex-direction:column;align-items:center;gap:2px}.fact-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.reps-input{width:58px;border:1px solid var(--line-input);border-radius:10px;padding:8px 6px;text-align:center;font-weight:700;background:var(--white)}.weight-input{width:54px}.reps-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.reps-input::placeholder{color:#b0b3bb;font-weight:500}.check{width:28px;height:28px;border-radius:9px;border:1.5px solid var(--line-input);background:var(--white);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:all .15s;padding:0}.check[aria-checked=true]{background:var(--accent);border-color:var(--accent);color:var(--white);box-shadow:0 6px 16px var(--accent-glow)}.cardio-card{background:var(--surface-audience);border-radius:var(--radius-xl);padding:16px;display:grid;gap:12px}.cardio-card.done{background:#fff8f7}.cardio-card .row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px}.cardio-card .info{min-width:0}.cardio-card .note{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.4}.mins-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.mins-row{display:inline-flex;align-items:center;gap:4px}.mins-unit{font-size:12px;font-weight:700;color:var(--muted)}.sticky-footer{position:sticky;bottom:0;margin-top:auto;padding-top:16px;background:linear-gradient(to top,var(--paper) 70%,transparent)}.empty{text-align:center;padding:28px 12px;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-icon);color:var(--accent);font-size:12px;font-weight:700}.badge.done{background:#e8f6ee;color:#1f7a45}.banner-error{background:#fff1ec;border:1px solid #f5c2c2;color:#8b1e1e;border-radius:var(--radius-lg);padding:12px 14px;font-size:14px;line-height:1.4;margin-bottom:12px}.failure-tag{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.report-box{margin:0;padding:16px;width:100%;flex:1 1 auto;min-height:min(55dvh,420px);height:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);font-family:var(--font-body);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--ink);resize:vertical;-webkit-user-select:text;user-select:text;overflow:auto;-webkit-overflow-scrolling:touch}.screen.report-screen{min-height:calc(100dvh - 80px)}.screen.report-screen .sticky-footer{flex-shrink:0;position:sticky;bottom:0;z-index:2;margin-top:8px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:var(--paper)}
