@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Sora:wght@600;700&display=swap";:root{--bg-start:#0f2a3a;--bg-end:#1e4e6b;--bg-deep:#081b26;--surface:#0c212fc2;--surface-strong:#091823eb;--surface-soft:#ffffff0d;--text:#fff;--muted:#c7d6e0;--line:#c7d6e029;--accent:#2fb6ff;--accent-deep:#1e4e6b;--accent-soft:#2fb6ff29;--danger:#ff9caf;--danger-soft:#ff9caf24;--shadow:0 24px 60px #020a1261;--shadow-soft:0 14px 32px #020a1247;--heading:"Sora", "Segoe UI", sans-serif;--body:"Inter", "Segoe UI", sans-serif;font-family:var(--body);color:var(--text);background:linear-gradient(180deg, var(--bg-start) 0%, var(--bg-end) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-height:100%}body{background:radial-gradient(circle at top left, #2fb6ff38, transparent 28%), radial-gradient(circle at 85% 18%, #1e4e6b73, transparent 32%), linear-gradient(180deg, var(--bg-start) 0%, var(--bg-end) 100%);min-height:100svh;color:var(--text);margin:0}body,button,input{font-family:var(--body)}button,input{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img,iframe{max-width:100%;display:block}#root{min-height:100svh}h1,h2{color:var(--text);font-family:var(--heading);margin:0;line-height:1.1}h1{letter-spacing:-.01em;font-size:clamp(2rem,8vw,2.9rem);font-weight:700}h2{letter-spacing:-.005em;font-size:clamp(1.35rem,5vw,1.7rem);font-weight:600}p{color:var(--muted);letter-spacing:.01em;margin:0;line-height:1.55}.boot-screen,.login-shell,.app-shell{min-height:100svh;position:relative;overflow:hidden}.boot-screen{color:var(--muted);place-items:center;padding:2rem;animation:.45s rise-in;display:grid}.login-shell,.app-shell{padding:1rem}.login-shell__ambient,.app-shell__ambient{filter:blur(12px);opacity:.88;border-radius:999px;position:absolute}.login-shell__ambient--one,.app-shell__ambient--one{background:#2fb6ff2e;width:13rem;height:13rem;top:-4rem;left:-3rem}.login-shell__ambient--two,.app-shell__ambient--two{background:#1e4e6b57;width:15rem;height:15rem;bottom:10rem;right:-4rem}.login-card,.app-shell__frame{z-index:1;width:min(100%,29rem);margin:0 auto;animation:.55s rise-in;position:relative}.login-card{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#0e2534f5,#081822eb);border-radius:1.9rem;margin-top:max(2rem,7svh);padding:1.4rem}.login-card__lead{max-width:24rem;margin-top:1rem}.brand-mark{color:var(--text);font-family:var(--heading);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:1.2rem;font-size:.95rem;font-weight:600;display:inline-flex}.hero-panel .brand-mark{margin-bottom:0}.brand-mark__icon{object-fit:contain;filter:drop-shadow(0 0 .45rem #2fb6ff29);width:1.45rem;height:1.45rem}.eyebrow,.section-kicker{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:600}.login-form,.stack-section,.hero-panel__content,.video-panel,.completion-sheet__panel{gap:1rem;display:grid}.login-form{margin-top:1.6rem}.field{gap:.5rem;display:grid}.field__control{position:relative}.field span{color:var(--muted);letter-spacing:.02em;font-size:.82rem;font-weight:500}.field input{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffff0d;border-radius:1rem;outline:none;padding:.95rem 1rem;transition:border-color .15s,transform .15s,box-shadow .15s}.field__control .field input,.field__control input{padding-right:3.4rem}.field input::placeholder,.load-dialog__input::placeholder{color:#c7d6e09e}.field input:focus,.load-dialog__input:focus{border-color:#2fb6ff73;transform:translateY(-1px);box-shadow:0 0 0 .24rem #2fb6ff24}.field input[readonly]{color:#ffffffd1;cursor:default}.password-toggle{width:2.2rem;height:2.2rem;color:var(--muted);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex;position:absolute;top:50%;right:.55rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:#ffffff0f}.password-toggle svg{width:1.05rem;height:1.05rem}.primary-button,.ghost-button,.primary-link{letter-spacing:.02em;border-radius:1rem;justify-content:center;align-items:center;min-height:3.1rem;padding:.9rem 1.15rem;font-weight:600;transition:transform .15s,background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.primary-button,.primary-link{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:var(--text);box-shadow:var(--shadow-soft);border:0}.primary-link{width:100%}.primary-button:disabled{cursor:not-allowed;opacity:.72}.ghost-button{border:1px solid var(--line);color:var(--text);background:#ffffff0d}.primary-button:hover,.ghost-button:hover,.primary-link:hover,.exercise-row:hover,.back-link:hover{transform:translateY(-1px)}.primary-button:active,.ghost-button:active,.primary-link:active,.load-trigger:active,.video-status:active{transform:translateY(1px)}.form-error{background:var(--danger-soft);color:var(--danger);border:1px solid #ff9caf33;border-radius:1rem;padding:.9rem 1rem}.info-panel,.workout-card,.history-card,.streak-card,.hero-panel,.video-panel,.exercise-row{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft)}.app-shell__frame{padding-bottom:8.5rem}.hero-panel{background:radial-gradient(circle at 100% 0,#2fb6ff2e,#0000 34%),linear-gradient(#10293af5,#081721eb);border-radius:2rem;padding:1.2rem;position:relative;overflow:hidden}.hero-panel:after{content:"";pointer-events:none;background:#2fb6ff1f;border-radius:999px;width:9.5rem;height:9.5rem;position:absolute;top:-3rem;right:-3rem}.hero-panel__top,.section-heading,.streak-card__header,.exercise-row__header,.workout-card__header,.hero-panel__actions,.sticky-cta{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.hero-panel__top,.section-heading,.streak-card__header,.exercise-row__header,.workout-card__header,.sticky-cta{flex-wrap:wrap}.hero-panel__top,.back-link,.hero-panel__content{z-index:1;position:relative}.hero-panel__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center}.hero-panel__subtitle{max-width:23rem}.hero-panel__slot{gap:.8rem;display:grid}.workout-hero-stack,.workout-hero-meta{flex-wrap:wrap;gap:.65rem;display:flex}.workout-hero-stack{display:grid}.tag,.status-pill,.streak-card__range,.icon-button{border:1px solid var(--line);min-height:2.1rem;color:var(--muted);letter-spacing:.03em;background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.76rem;font-weight:600;display:inline-flex}.tag,.status-pill,.streak-card__range{min-height:2.1rem}.hero-fire-pill{border:1px solid var(--line);min-height:2.2rem;color:var(--text);background:#ffffff0f;border-radius:1rem;align-items:center;gap:.45rem;padding:.45rem .8rem;display:inline-flex}.hero-fire-pill__icon{width:1rem;height:1rem;color:var(--accent)}.fire-icon--neon{color:var(--accent);filter:drop-shadow(0 0 .25rem #2fb6ffe6)drop-shadow(0 0 .55rem #2fb6ff73)}.hero-fire-pill__value{font-family:var(--heading);font-size:1rem;font-weight:700;line-height:1}.icon-button{width:2.75rem;min-width:2.75rem;color:var(--text);border-radius:1rem;padding:0;transition:transform .15s,border-color .15s,background-color .15s,box-shadow .15s}.icon-button:hover{border-color:#2fb6ff57;transform:translateY(-1px)}.icon-button--active{background:linear-gradient(135deg,#2fb6ff2e,#1e4e6b4d);border-color:#2fb6ff52}.icon-button__icon{width:1.05rem;height:1.05rem}.student-avatar{background:linear-gradient(#12354ad6,#081822eb);border:1px solid #2fb6ff33;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.student-avatar--sm{width:2.35rem;height:2.35rem}.student-avatar--md{width:2.9rem;height:2.9rem}.student-avatar--lg{width:4.7rem;height:4.7rem}.student-avatar__icon,.student-avatar__photo{width:100%;height:100%}.student-avatar__photo{object-fit:cover}.student-avatar__icon{color:var(--accent);justify-content:center;align-items:center;display:inline-flex}.student-avatar__icon svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:58%;height:58%}.medal-icon{border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.medal-icon svg{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.1rem;height:1.1rem}.medal-icon--gold{color:#ffd76d;background:#ffd76d1f}.medal-icon--silver{color:#d9e6ef;background:#d9e6ef1f}.medal-icon--bronze{color:#e5a56b;background:#e5a56b1f}.medal-summary{border:1px solid var(--line);background:#ffffff0a;border-radius:1.35rem;gap:.85rem;padding:1rem;display:grid}.medal-summary--compact{gap:.7rem}.medal-summary__headline,.medal-summary__grid,.medal-chip{align-items:center;display:flex}.medal-summary__headline,.medal-summary__grid{justify-content:space-between;gap:.75rem}.medal-summary__headline strong{color:var(--text);font-family:var(--heading);font-size:1.8rem;font-weight:700;line-height:1}.medal-chip{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;gap:.55rem;padding:.55rem .7rem}.medal-chip strong{color:var(--text);font-family:var(--heading);font-size:.95rem}.minimal-week-strip{gap:.85rem;display:grid}.minimal-week-strip__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;display:grid}.minimal-week-strip__day{color:#c7d6e08a;min-height:2.7rem;font-family:var(--heading);letter-spacing:.04em;place-items:center;font-size:1.15rem;font-weight:600;display:grid;position:relative}.minimal-week-strip__day--done{color:var(--text)}.minimal-week-strip__current{border:1px solid var(--line);background:#ffffff0d;border-radius:999px;place-items:center;width:2.7rem;height:2.7rem;display:grid}.minimal-week-strip__current--done{background:linear-gradient(135deg,#2fb6ff4d,#1e4e6b61);border-color:#2fb6ff57}.minimal-week-strip__current-letter{color:var(--accent);font-family:var(--heading);letter-spacing:.02em;font-size:1rem;font-weight:700}.minimal-week-strip__current-fire{width:1.05rem;height:1.05rem}.minimal-week-strip__calendar-link{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;justify-self:start;padding:0;font-size:.82rem;font-weight:600}.minimal-week-strip__calendar-link:hover{color:var(--text)}.status-pill--active{color:var(--text);background:linear-gradient(135deg,#2fb6ff2e,#1e4e6b47);border-color:#2fb6ff47}.back-link{width:fit-content;color:var(--muted);align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.92rem;display:inline-flex}.back-link:before{content:"<"}.app-shell__content{padding-bottom:calc(4.9rem + env(safe-area-inset-bottom));gap:1rem;margin-top:1rem;display:grid}.section-heading--compact{align-items:center}.stack-section,.workout-card,.history-card,.streak-card,.video-panel,.exercise-row,.info-panel{border-radius:1.5rem;padding:1rem}.info-panel--error{background:linear-gradient(#501d2c7a,#34111b75);border-color:#ff9caf33}.info-panel--offline{background:linear-gradient(#12364c85,#091e2b80);border-color:#2fb6ff3d}.info-panel--success{background:linear-gradient(#134a687a,#08253480);border-color:#2fb6ff3d}.card-stack,.history-stack,.exercise-list,.streak-grid{gap:.9rem;display:grid}.card-stack>*{animation:.4s both rise-in}.card-stack>:nth-child(2){animation-delay:40ms}.card-stack>:nth-child(3){animation-delay:80ms}.workout-card__body{gap:.8rem;margin-top:.95rem;display:grid}.workout-card__stat{border:1px solid var(--line);background:#ffffff0d;border-radius:1rem;gap:.18rem;width:fit-content;padding:.8rem .9rem;display:inline-grid}.workout-card__stat-value,.streak-card__metric,.streak-day__count,.exercise-metric__value,.load-trigger__value,.load-dialog__value-row strong{color:var(--text);font-family:var(--heading);font-variant-numeric:tabular-nums}.workout-card__stat-value{font-size:1.95rem;font-weight:700;line-height:1}.workout-card__stat-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:600}.workout-card__history{max-width:22rem}.history-card strong{color:var(--text);font-family:var(--heading);font-size:1.03rem;font-weight:600}.streak-card__summary{background:linear-gradient(135deg,#2fb6ff24,#1e4e6b38);border:1px solid #2fb6ff2e;border-radius:1.2rem;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.streak-card__metric{font-size:clamp(2.4rem,10vw,3rem);font-weight:700;line-height:1}.streak-card__summary-copy{gap:.3rem;display:grid}.streak-card__summary-label{color:var(--text);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:600}.streak-card--compact h2{font-size:1.25rem}.streak-card--compact .streak-card__summary{padding:.85rem .95rem}.streak-card--compact .streak-card__summary-copy p+p{display:none}.streak-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.streak-day{border:1px solid var(--line);color:var(--muted);background:#ffffff08;border-radius:1rem;justify-items:center;gap:.25rem;padding:.85rem .3rem;display:grid}.streak-day__count{font-size:1.3rem;font-weight:700}.streak-day--completed{background:linear-gradient(#2fb6ff38,#1e4e6b47);border-color:#2fb6ff59}.streak-day__weekday,.streak-day__status,.exercise-metric__label,.load-trigger__label,.exercise-video__label{letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:600}.streak-day__status{color:var(--muted)}.streak-day--completed .streak-day__status{color:var(--text)}.video-panel{gap:1rem}.video-panel--empty{align-content:center;min-height:13rem}.video-frame,.exercise-video__frame{aspect-ratio:16/9;background:#ffffff0d;border-radius:1.2rem;overflow:hidden}.video-frame iframe,.exercise-video__frame iframe{border:0;width:100%;height:100%}.exercise-row{text-align:left;background:linear-gradient(#0c212feb,#081822db);width:100%}.exercise-row__header{flex-direction:column;gap:.95rem}.exercise-row__topline{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.exercise-row__index{color:var(--accent);font-family:var(--heading);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:700}.exercise-row__main{gap:.85rem;display:grid}.exercise-row__name{color:var(--text);font-family:var(--heading);font-size:1.08rem;font-weight:600;line-height:1.25}.exercise-row__meta{flex-wrap:wrap;gap:.6rem;width:100%;display:flex}.exercise-metrics{flex-wrap:wrap;gap:.65rem;display:flex}.exercise-metric{border:1px solid var(--line);background:#ffffff0a;border-radius:1rem;gap:.18rem;min-width:5.1rem;padding:.75rem .85rem;display:grid}.exercise-metric__value{font-size:1.5rem;font-weight:700;line-height:1}.exercise-metric__label{color:var(--muted)}.exercise-row__notes{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin-top:.95rem;font-size:.9rem;display:flex}.exercise-row__notes span{border:1px solid var(--line);background:#ffffff0d;border-radius:999px;padding:.42rem .7rem}.exercise-video{border-top:1px solid var(--line);gap:.8rem;margin-top:.95rem;padding-top:.95rem;display:grid}.exercise-video__label{color:var(--accent)}.load-trigger,.video-status{border:1px solid var(--line);color:var(--text);background:#ffffff0d;border-radius:1rem;flex:10rem;justify-content:center;align-items:center;transition:transform .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.load-trigger{justify-items:start;gap:.15rem;min-width:0;min-height:3.2rem;padding:.75rem .9rem;display:inline-grid}.load-trigger__label{color:var(--muted)}.load-trigger__value{font-size:1rem;font-weight:600;line-height:1.2}.video-status{letter-spacing:.03em;text-align:center;min-width:0;min-height:2.5rem;padding:.7rem .95rem;font-size:.78rem;font-weight:600}.video-status--active{background:linear-gradient(135deg,#2fb6ff29,#1e4e6b47);border-color:#2fb6ff4d}.load-trigger:hover,.video-status:hover{border-color:#2fb6ff4d;transform:translateY(-1px)}.video-status:disabled{cursor:default;opacity:.6}.load-dialog__card,.load-dialog__edit-row{gap:.85rem;display:grid}.load-dialog__card{border:1px solid var(--line);background:#ffffff0d;border-radius:1.25rem;padding:1rem}.load-dialog__value-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.85rem;display:grid}.load-dialog__value-row strong{font-size:1.45rem;font-weight:700}.load-dialog__edit-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.load-dialog__input{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);background:#ffffff0d;border-radius:1rem;outline:none;padding:.95rem 1rem}.load-dialog__hint{font-size:.84rem}.settings-form,.settings-install-card,.identity-card{gap:.9rem;display:grid}.settings-install-card,.identity-card,.settings-toggle-card,.ranking-summary,.ranking-list__item,.public-profile-sheet,.monthly-result-sheet__winner{border:1px solid var(--line);background:#ffffff0a;border-radius:1.3rem;padding:1rem}.settings-install-card__hint{font-size:.88rem}.identity-card__preview,.identity-card__modes,.identity-card__upload,.settings-toggle-card,.ranking-summary__hero,.ranking-progress__copy,.ranking-list__item,.public-profile-sheet__hero,.monthly-result-sheet__winner,.monthly-result-sheet__entry{align-items:center;display:flex}.identity-card__preview,.public-profile-sheet__hero{gap:.9rem}.identity-card__preview strong,.settings-toggle-card strong,.ranking-list__copy strong,.monthly-result-sheet__entry-copy strong{color:var(--text);font-family:var(--heading)}.identity-card__modes,.identity-card__upload{flex-wrap:wrap;gap:.7rem}.identity-card__upload input{display:none}.identity-card__upload-trigger{position:relative;overflow:hidden}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.avatar-grid__option{border:1px solid var(--line);color:var(--muted);background:#ffffff0a;border-radius:1.1rem;justify-items:center;gap:.45rem;padding:.8rem .55rem;transition:transform .15s,border-color .15s,background-color .15s;display:grid}.avatar-grid__option--active,.avatar-grid__option:hover,.ghost-button--active{color:var(--text);background:linear-gradient(135deg,#2fb6ff1f,#1e4e6b3d);border-color:#2fb6ff57}.avatar-grid__option span{letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:600}.settings-toggle-card{justify-content:space-between;gap:1rem}.toggle-pill{border:1px solid var(--line);background:#ffffff0f;border-radius:999px;width:3.1rem;height:1.9rem;padding:0;transition:border-color .15s,background-color .15s;position:relative}.toggle-pill span{background:var(--muted);border-radius:999px;width:1.35rem;height:1.35rem;transition:transform .18s,background-color .18s;position:absolute;top:50%;left:.22rem;transform:translateY(-50%)}.toggle-pill--active{background:#2fb6ff2e;border-color:#2fb6ff57}.toggle-pill--active span{background:var(--accent);transform:translate(1.15rem,-50%)}.settings-logout{width:100%}.sticky-cta{left:50%;bottom:calc(env(safe-area-inset-bottom) + 4.55rem);z-index:20;border:1px solid var(--line);width:min(100vw - 1.5rem,29rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;pointer-events:none;will-change:opacity, transform;background:linear-gradient(#0c212ff5,#081822f0);border-radius:1.4rem;padding:.95rem;transition:opacity .22s,transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s;position:fixed;transform:translate(-50%)translateY(1rem)scale(.98)}.sticky-cta--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)scale(1)}.sticky-cta strong{color:var(--text);font-family:var(--heading);font-size:1rem;font-weight:600;display:block}.sticky-cta .primary-button{flex-shrink:0}.completion-sheet{z-index:30;position:fixed;inset:0}.completion-sheet__backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020a129e;position:absolute;inset:0}.completion-sheet__panel{border:1px solid var(--line);width:min(100vw - 1.5rem,29rem);box-shadow:var(--shadow);background:linear-gradient(#0e2534fa,#081822f5);border-radius:1.7rem;padding:1.25rem;animation:.22s sheet-in;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.completion-sheet__timestamp{color:var(--text);font-weight:500}.completion-sheet__status{color:var(--muted)}.calendar-sheet{gap:1rem}.calendar-sheet__header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.calendar-sheet__nav{align-items:center;gap:.55rem;display:inline-flex}.calendar-sheet__nav-button{border:1px solid var(--line);width:2.35rem;height:2.35rem;color:var(--text);background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:transform .15s,border-color .15s,background-color .15s;display:inline-flex}.calendar-sheet__nav-button:hover{border-color:#2fb6ff57;transform:translateY(-1px)}.calendar-sheet__nav-button:disabled{cursor:wait;opacity:.6}.calendar-sheet__nav-button svg{width:1rem;height:1rem}.calendar-sheet__status{color:var(--muted);font-size:.88rem}.calendar-sheet__weekdays,.calendar-sheet__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.calendar-sheet__weekdays span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-self:center;font-size:.72rem;font-weight:600}.calendar-sheet__day{aspect-ratio:1;background:#ffffff0a;border:1px solid #c7d6e033;border-radius:999px;place-items:center;width:100%;display:grid}.calendar-sheet__day--empty{background:0 0;border-color:#0000}.calendar-sheet__day--today{border-color:#2fb6ff57}.calendar-sheet__day--done{background:linear-gradient(135deg,#2fb6ff2e,#1e4e6b52);border-color:#2fb6ff57}.calendar-sheet__fire{width:1rem;height:1rem}.calendar-sheet__day-number{color:var(--text);font-family:var(--heading);font-size:.95rem;font-weight:600;line-height:1}.install-prompt{gap:.9rem}.install-prompt__brand{border:1px solid var(--line);width:fit-content;color:var(--text);font-family:var(--heading);letter-spacing:.08em;text-transform:uppercase;background:#ffffff0d;border-radius:999px;align-items:center;gap:.55rem;padding:.45rem .7rem;font-size:.82rem;font-weight:600;display:inline-flex}.install-prompt__brand .brand-mark{margin-bottom:0;font-size:.82rem}.install-prompt__actions{gap:.7rem;display:grid}.install-prompt__actions .primary-button{width:100%}.install-prompt__dismiss{color:var(--muted);letter-spacing:.01em;background:0 0;border:0;justify-self:center;padding:0;font-size:.92rem;font-weight:500}.install-prompt__dismiss:hover{color:var(--text)}.ranking-summary{gap:1rem}.ranking-summary__hero{background:linear-gradient(135deg,#2fb6ff24,#1e4e6b38);border:1px solid #2fb6ff33;border-radius:1.2rem;justify-content:space-between;gap:1rem;padding:1rem}.ranking-summary__hero strong{color:var(--text);font-family:var(--heading);font-size:clamp(2.6rem,14vw,3.4rem);line-height:1}.ranking-progress{gap:.6rem;display:grid}.ranking-progress__copy{justify-content:space-between;gap:1rem}.ranking-progress__copy strong{color:var(--text);font-family:var(--heading)}.ranking-progress__track{background:#ffffff14;border-radius:999px;width:100%;height:.7rem;overflow:hidden}.ranking-progress__fill{border-radius:inherit;background:linear-gradient(135deg, var(--accent), var(--accent-deep));height:100%;display:block}.ranking-list{gap:.75rem;display:grid}.ranking-list__item{text-align:left;justify-content:space-between;gap:.8rem;width:100%;transition:transform .15s,border-color .15s,background-color .15s}.ranking-list__item:hover,.monthly-result-sheet__entry:hover{border-color:#2fb6ff57;transform:translateY(-1px)}.ranking-list__position,.monthly-result-sheet__position{color:var(--accent);font-family:var(--heading);font-size:1.05rem;font-weight:700}.ranking-list__copy,.public-profile-sheet__copy,.monthly-result-sheet__entry-copy{gap:.16rem;display:grid}.ranking-list__copy{flex:1;min-width:0}.public-profile-sheet,.monthly-result-sheet{gap:1rem}.monthly-result-sheet__winner{justify-content:center;gap:.75rem}.monthly-result-sheet__winner strong{color:var(--text);font-family:var(--heading);font-size:1.2rem}.monthly-result-sheet__ranking{gap:.7rem;display:grid}.monthly-result-sheet__entry{border:1px solid var(--line);text-align:left;background:#ffffff0a;border-radius:1.15rem;justify-content:space-between;gap:.75rem;width:100%;padding:.85rem .9rem}.monthly-result-sheet__entry-copy{flex:1;min-width:0}.bottom-nav{z-index:22;width:min(100vw,31rem);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav__bar{padding:.3rem .45rem calc(.45rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081822f5;border-top:1px solid #c7d6e01f;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid;box-shadow:0 -12px 28px #020a1229}.bottom-nav__item{color:#c7d6e08a;justify-items:center;gap:.18rem;padding:.28rem .2rem 0;display:grid;position:relative}.bottom-nav__icon-shell{border-radius:.9rem;place-items:center;width:2.25rem;height:2.25rem;transition:background-color .18s,color .18s,opacity .18s;display:grid}.bottom-nav__icon{justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.bottom-nav__icon svg{stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.bottom-nav__label{letter-spacing:.01em;font-size:.72rem;font-weight:500}.bottom-nav__item--active{color:var(--text)}.bottom-nav__item--active .bottom-nav__icon-shell{background:#2fb6ff14}.bottom-nav__item--active:before{content:"";background:var(--accent);border-radius:999px;width:1.55rem;height:.16rem;position:absolute;top:-.3rem}@media (width>=48rem){.login-shell,.app-shell{padding:1.5rem}.login-card,.app-shell__frame,.sticky-cta,.completion-sheet__panel{width:min(100%,31rem)}.hero-panel,.stack-section,.workout-card,.history-card,.streak-card,.video-panel,.exercise-row,.info-panel{padding:1.15rem}.exercise-row__header,.sticky-cta{flex-direction:row}.exercise-row__main{flex:14rem;min-width:0}.exercise-row__meta{flex-wrap:nowrap;flex:100%;place-content:flex-start stretch;width:100%}.load-trigger,.video-status{flex:1 1 0}.avatar-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width<=30rem){.minimal-week-strip__current{width:2.35rem;height:2.35rem}.minimal-week-strip__day{min-height:2rem;font-size:.98rem}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sheet-in{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}
