@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg:#f6f1e8;--bg-elevated:#fffaf2;--surface:#fffaf2d6;--surface-strong:#fffaf2f2;--text:#20302c;--muted:#61706c;--line:#20302c1f;--accent:#d9784f;--accent-strong:#bf5b2f;--sage:#8fa98f;--sage-strong:#587162;--success:#5b8b69;--danger:#9d5848;--shadow:0 24px 60px #6c523129;--shadow-soft:0 16px 35px #5b40281a;--heading:"Fraunces", Georgia, serif;--body:"Plus Jakarta Sans", "Segoe UI", sans-serif;font-family:var(--body);color:var(--text);background:var(--bg);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 0 0,#d9784f33,#0000 32%),radial-gradient(circle at 100% 100%,#8fa98f3d,#0000 30%),linear-gradient(#f9f4ea 0%,#f6f1e8 100%);min-height:100svh;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.05}h1{letter-spacing:-.05em;font-size:clamp(2.3rem,8vw,3.8rem)}h2{letter-spacing:-.03em;font-size:1.55rem}p{color:var(--muted);margin:0;line-height:1.6}.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(8px);opacity:.8;border-radius:999px;position:absolute}.login-shell__ambient--one,.app-shell__ambient--one{background:#d9784f38;width:13rem;height:13rem;top:-4rem;left:-3rem}.login-shell__ambient--two,.app-shell__ambient--two{background:#8fa98f3d;width:14rem;height:14rem;bottom:12rem;right:-4rem}.login-card,.app-shell__frame{z-index:1;width:min(100%,27.5rem);margin:0 auto;animation:.55s rise-in;position:relative}.login-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffaf2f5,#fff8eee6);border:1px solid #ffffff8c;border-radius:2rem;margin-top:max(2rem,7svh);padding:1.35rem}.login-card__lead{max-width:24rem;margin-top:1rem}.brand-mark{letter-spacing:.08em;text-transform:uppercase;color:var(--text);align-items:center;gap:.55rem;margin-bottom:1.2rem;font-size:.95rem;font-weight:700;display:inline-flex}.brand-mark__dot{background:linear-gradient(135deg, var(--accent), var(--sage-strong));border-radius:50%;width:.8rem;height:.8rem;box-shadow:0 0 0 .2rem #d9784f26}.eyebrow,.section-kicker{color:var(--accent-strong);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:700}.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 span{color:var(--text);font-size:.92rem;font-weight:600}.field input{border:1px solid var(--line);width:100%;color:var(--text);background:#ffffffc2;border-radius:1rem;outline:none;padding:.95rem 1rem;transition:border-color .15s,transform .15s,box-shadow .15s}.field input:focus{border-color:#bf5b2f6b;transform:translateY(-1px);box-shadow:0 0 0 .25rem #d9784f1f}.primary-button,.ghost-button,.primary-link{border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.9rem 1.15rem;font-weight:700;transition:transform .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.primary-button,.primary-link{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff8f2;box-shadow:var(--shadow-soft);border:0}.primary-button:disabled{cursor:wait;opacity:.72}.ghost-button{border:1px solid var(--line);color:var(--text);background:#ffffff80}.primary-button:hover,.ghost-button:hover,.primary-link:hover,.exercise-row:hover,.back-link:hover{transform:translateY(-1px)}.form-error{color:var(--danger);background:#9d58481a;border-radius:1rem;padding:.9rem 1rem}.info-panel,.workout-card,.history-card,.streak-card,.hero-panel,.video-panel,.exercise-row{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);border:1px solid #ffffff85}.app-shell__frame{padding-bottom:7rem}.hero-panel{background:linear-gradient(145deg,#fffaf2f5,#f8f0e4e0),linear-gradient(135deg,#d9784f14,#8fa98f14);border-radius:2rem;padding:1.15rem;position:relative;overflow:hidden}.hero-panel:after{content:"";background:#d9784f24;border-radius:999px;width:9rem;height:9rem;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__actions{align-items:center}.hero-panel__subtitle{max-width:23rem}.session-pill,.tag,.status-pill,.streak-card__range{border-radius:999px;align-items:center;padding:.45rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.session-pill,.streak-card__range{color:var(--sage-strong);background:#8fa98f24}.status-pill,.tag{color:var(--text);background:#20302c14}.status-pill--active{color:var(--success);background:#5b8b6924}.back-link{width:fit-content;color:var(--muted);align-items:center;gap:.45rem;margin-bottom:1rem;display:inline-flex}.back-link:before{content:"<"}.app-shell__content{gap:1rem;margin-top:1rem;display:grid}.stack-section,.workout-card,.history-card,.streak-card,.video-panel,.exercise-row,.info-panel{border-radius:1.6rem;padding:1rem}.info-panel--error{background:#9d584817}.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__meta,.workout-card__history{margin-top:.4rem}.history-card strong,.exercise-row strong{color:var(--text)}.streak-card--compact h2{font-size:1.3rem}.streak-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.streak-day{color:var(--muted);background:#ffffff80;border-radius:1rem;justify-items:center;gap:.35rem;padding:.85rem .3rem;display:grid}.streak-day strong{color:inherit}.streak-day--completed{color:var(--success);background:linear-gradient(#5b8b692e,#5b8b691a)}.streak-day__weekday{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.video-panel{gap:1rem}.video-panel--empty{align-content:center;min-height:13rem}.video-frame{aspect-ratio:16/9;background:#20302c0f;border-radius:1.25rem;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%}.exercise-row{text-align:left;border-color:#ffffff75;width:100%}.exercise-row__main{gap:.45rem;display:grid}.exercise-row__meta{justify-items:end;gap:.45rem;display:grid}.exercise-row__notes{color:var(--muted);flex-wrap:wrap;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.exercise-row__notes span{background:#20302c0f;border-radius:999px;padding:.38rem .65rem}.exercise-video{border-top:1px solid #20302c14;gap:.7rem;margin-top:.9rem;padding-top:.9rem;display:grid}.exercise-video__label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);font-size:.84rem;font-weight:700}.exercise-video__frame{aspect-ratio:16/9;background:#20302c0f;border-radius:1.25rem;overflow:hidden}.exercise-video__frame iframe{border:0;width:100%;height:100%}.load-trigger,.video-status{width:fit-content;min-height:2.35rem;color:var(--text);background:#fff9;border:1px solid #20302c14;border-radius:999px;justify-content:center;align-items:center;padding:.55rem .85rem;transition:transform .15s,background-color .15s,border-color .15s,color .15s;display:inline-flex}.load-trigger{justify-self:flex-start;font-weight:600}.video-status{font-size:.84rem;font-weight:700}.video-status--active{color:var(--accent-strong);background:#d9784f24;border-color:#bf5b2f33}.load-trigger:hover,.video-status:hover{transform:translateY(-1px)}.video-status:disabled{cursor:default;opacity:.72}.load-dialog__card,.load-dialog__edit-row{gap:.85rem;display:grid}.load-dialog__card{background:#ffffff8c;border-radius:1.35rem;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{color:var(--text);font-size:1.05rem}.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:#ffffffd1;border-radius:1rem;outline:none;padding:.95rem 1rem}.load-dialog__input:focus{border-color:#bf5b2f6b;box-shadow:0 0 0 .25rem #d9784f1f}.load-dialog__hint{font-size:.88rem}.sticky-cta{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));z-index:20;width:min(100vw - 1.5rem,27.5rem);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffaf2f0;border:1px solid #ffffff7a;border-radius:1.6rem;padding:.85rem .95rem;position:fixed;transform:translate(-50%)}.sticky-cta strong{color:var(--text);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(6px);backdrop-filter:blur(6px);background:#20302c47;position:absolute;inset:0}.completion-sheet__panel{background:var(--surface-strong);width:min(100vw - 1.5rem,27.5rem);box-shadow:var(--shadow);border:1px solid #ffffff7a;border-radius:1.8rem;padding:1.25rem;animation:.22s sheet-in;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}@media (width>=48rem){.login-shell,.app-shell{padding:1.5rem}.login-card,.app-shell__frame,.sticky-cta,.completion-sheet__panel{width:min(100%,28.5rem)}.hero-panel,.stack-section,.workout-card,.history-card,.streak-card,.video-panel,.exercise-row,.info-panel{padding:1.15rem}}@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)}}
