:root{font-family:Manrope,-apple-system,BlinkMacSystemFont,Arial,sans-serif;color:#123d42;background:#dce9e7;font-synthesis:none;-webkit-font-smoothing:antialiased}@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-400.ttf')}@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-600.ttf');font-weight:600}@font-face{font-family:Manrope;src:url('./assets/fonts/manrope-700.ttf');font-weight:700 900}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{max-width:430px;min-height:100dvh;margin:0 auto;background:radial-gradient(circle at 90% 3%,#e6f4e9 0,transparent 240px),#f7faf7;box-shadow:0 0 30px #0a3b4320;position:relative}.topbar{height:calc(76px + env(safe-area-inset-top));padding:calc(15px + env(safe-area-inset-top)) 22px 12px;display:flex;align-items:center;justify-content:space-between;background:#f7faf7e8;backdrop-filter:blur(18px);position:sticky;top:0;z-index:15}.brand{display:flex;align-items:center;gap:10px}.brand img{border-radius:12px;box-shadow:0 4px 10px #0a6d6f25}.brand strong{font-size:19px;letter-spacing:-.06em;color:#073d44;line-height:1;display:block}.brand strong span{color:#ff8f61}.brand small{font-size:8px;font-weight:800;letter-spacing:.14em;color:#65878a;white-space:nowrap}.weight-pill{border:1px solid #c9dcdb;border-radius:99px;color:#005d64;font-size:15px;font-weight:800;padding:7px 10px}.weight-pill span{font-size:10px;font-weight:700}main{padding:5px 20px calc(125px + env(safe-area-inset-bottom));min-height:calc(100dvh - 76px)}.bottom-nav{position:fixed;bottom:calc(8px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(calc(100% - 20px),410px);padding:7px 9px;display:grid;grid-template-columns:repeat(5,1fr);background:#ffffffee;backdrop-filter:blur(18px);border:1px solid #e3ede9;border-radius:21px;box-shadow:0 10px 28px #07383f24;z-index:20}.bottom-nav button{border:0;background:none;color:#7b9696;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;font-size:10px;font-weight:700;min-height:52px;border-radius:14px}.bottom-nav button.active{color:#006b70;background:#eaf5f0}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#088887}.page-title{font-size:34px;line-height:1.04;letter-spacing:-.065em;margin:7px 0 5px;color:#083c42}.page-sub{color:#6a8587;font-size:13px;line-height:1.45;margin:0 0 21px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:25px 1px 12px}.section-head h2{font-size:18px;margin:0;letter-spacing:-.045em}.section-head button,.text-link{background:none;border:0;color:#007a7c;font-size:12px;font-weight:800;padding:5px 0}.hero{background:linear-gradient(127deg,#073f49 0%,#005965 62%,#00787c 100%);border-radius:28px;padding:21px;color:white;position:relative;overflow:hidden;box-shadow:0 18px 34px #00545d2c;min-height:306px}.hero:after{display:none}.hero:before{content:"";position:absolute;width:200px;height:200px;right:-90px;top:-90px;border-radius:50%;background:#47b9ae3b;filter:blur(35px)}.hero-art{position:absolute;right:-12px;top:31px;width:170px;height:170px;color:#95d8d0;opacity:.58;transform:rotate(-8deg)}.hero-art svg{width:100%;height:100%}.hero-content{position:relative;z-index:1}.hero-top{display:inline-flex;gap:7px;align-items:center;font-size:10px;font-weight:800;color:#c8ebe7;letter-spacing:.1em;text-transform:uppercase;background:#ffffff1b;border:1px solid #ffffff27;padding:7px 10px;border-radius:99px}.pulse-dot{width:6px;height:6px;background:#a7e8d2;border-radius:50%;box-shadow:0 0 0 4px #9ff0cf24}.hero h2{font-size:28px;letter-spacing:-.06em;line-height:1.08;margin:22px 0 8px;max-width:260px}.hero h2 em{font-style:normal;color:#b9e2dd}.hero p{font-size:11px;line-height:1.55;color:#d4eeeb;margin:0 0 21px;max-width:235px}.hero-info{display:flex;gap:20px;margin-bottom:17px;padding-top:13px;border-top:1px solid #c9e7e448;max-width:285px}.hero-info div{display:flex;flex-direction:column;gap:2px}.hero-info strong{font-size:16px}.hero-info span{font-size:9px;color:#bce2df}.primary{width:100%;border:0;border-radius:15px;background:linear-gradient(120deg,#ffb083,#ff8c68);color:#173c3d;min-height:53px;padding:12px 17px;font-weight:900;font-size:14px;box-shadow:0 8px 18px #032d342c;display:flex;align-items:center;justify-content:center;gap:9px}.hero .primary{justify-content:space-between}.button-arrow{background:#ffffff50;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:18px;line-height:1}.primary:active,.soft-button:active,.nav-card:active{transform:scale(.985)}.primary.teal{background:#006b71;color:white;box-shadow:none}.soft-button{border:0;background:#e5f2ef;color:#006c70;border-radius:14px;padding:12px 15px;font-weight:800}.outline-button{border:1px solid #bed8d7;background:white;color:#00666a;border-radius:14px;padding:12px 15px;font-weight:800}.card{background:white;border:1px solid #e0ebe8;border-radius:20px;padding:16px;box-shadow:0 8px 25px #0d51500e}.weekly-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekday{text-align:center;min-width:0}.weekday small{font-size:10px;color:#93abaa;font-weight:700;display:block;margin-bottom:7px}.weekday span{height:30px;width:30px;margin:auto;display:grid;place-items:center;border-radius:10px;background:#eef4f2;font-size:12px;font-weight:800;color:#94aaa9}.weekday.done span{background:#006d73;color:white}.weekday.today span{outline:2px solid #ff986b;outline-offset:2px}.split-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.split-card h3,.nav-card h3{margin:4px 0 4px;font-size:16px;letter-spacing:-.03em}.split-card p,.nav-card p{margin:0;color:#789294;font-size:11px;line-height:1.4}.round-arrow{width:34px;height:34px;border-radius:50%;background:#e7f4f1;color:#006b70;display:grid;place-items:center;font-size:20px;flex-shrink:0}.mini-row{display:flex;gap:10px;align-items:center}.mini-icon{height:42px;width:42px;border-radius:14px;background:#e3f2ef;display:grid;place-items:center;color:#007177;font-size:20px;font-weight:900;flex-shrink:0}.muted{color:#748f91}.tiny{font-size:11px}.stage-track{display:flex;gap:8px;overflow:auto;margin:17px -20px 16px;padding:0 20px 4px;scrollbar-width:none}.stage-track::-webkit-scrollbar{display:none}.stage-chip{white-space:nowrap;background:#e7f0ee;color:#50777a;border:1px solid transparent;border-radius:99px;padding:9px 13px;font-weight:800;font-size:12px}.stage-chip.active{background:#00666e;color:#fff}.stage-main{background:#e0f0ed;border-radius:22px;padding:19px;position:relative;overflow:hidden}.stage-main:after{content:attr(data-number);position:absolute;font-size:125px;font-weight:900;line-height:1;right:6px;top:2px;color:#cadfda;pointer-events:none}.stage-main>*{position:relative;z-index:1}.stage-main h2{font-size:25px;margin:8px 0 6px;letter-spacing:-.05em}.stage-main p{font-size:13px;line-height:1.4;color:#557d7e;margin:0 0 15px;max-width:270px}.day-list{display:grid;gap:10px}.nav-card{width:100%;text-align:left;border:1px solid #dfece9;background:white;border-radius:18px;padding:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 5px 15px #0752570a}.nav-card .day-index{font-size:10px;letter-spacing:.1em;font-weight:900;color:#088583}.exercise-list{display:grid;gap:9px}.exercise-row{width:100%;background:white;border:1px solid #dfece9;border-radius:16px;padding:11px 13px;display:flex;align-items:center;gap:11px;text-align:left}.exercise-row strong{font-size:14px;color:#143e42;display:block}.exercise-row small{font-size:11px;color:#82999a;display:block;margin-top:3px}.exercise-row .chevron{margin-left:auto;color:#93aaa8;font-size:22px}.exercise-glyph{width:36px;height:36px;flex-shrink:0;border-radius:12px;background:#e7f3ef;display:grid;place-items:center;color:#04747a;font-weight:800;font-size:13px}.detail-panel{background:#fff;border-radius:22px;padding:19px;border:1px solid #e1ece9}.detail-panel h3{margin:0 0 9px;font-size:16px}.checklist{margin:0;padding:0;list-style:none;display:grid;gap:9px}.checklist li{display:flex;gap:9px;font-size:12px;line-height:1.35;color:#476d70}.checklist li:before{content:"✓";color:#008282;font-weight:900}.warning{background:#fff5ed;color:#8e593e;border-radius:14px;padding:12px;font-size:11px;line-height:1.45}.timer-modes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mode-card{border:1px solid #d9e9e6;background:white;border-radius:16px;padding:13px;text-align:left;color:#0c4c51}.mode-card.active{border-color:#00878b;background:#e3f3ef;box-shadow:inset 0 0 0 1px #00878b}.mode-card strong{font-size:13px;display:block}.mode-card small{font-size:10px;color:#748f90;line-height:1.3;display:block;margin-top:4px}.timer-face{margin:20px auto 17px;border:8px solid #d8ebe6;width:220px;height:220px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,#fff,#eef7f4)}.timer-face.running{border-color:#008388}.timer-face.rest{border-color:#ff9a6f}.timer-face strong{font-size:54px;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.timer-face span{font-size:12px;font-weight:800;color:#608789;letter-spacing:.08em;text-transform:uppercase}.timer-controls{display:flex;gap:9px}.timer-controls .primary{flex:1}.timer-controls .outline-button{flex:0 0 35%}.timer-settings{display:flex;gap:12px}.timer-settings label{flex:1;font-size:11px;font-weight:800;color:#56797c}.timer-settings input{display:block;width:100%;margin-top:6px;border:1px solid #d4e6e2;border-radius:11px;padding:11px;background:white;color:#174e52;font-weight:800;font-size:16px}.empty{text-align:center;background:#fff;border:1px dashed #c8dfda;border-radius:20px;padding:30px 18px;color:#6e898a}.empty .big-icon{font-size:38px;display:block;margin-bottom:7px}.empty strong{display:block;color:#184b50;font-size:17px;margin-bottom:5px}.journal-entry{background:white;border:1px solid #e0ebe8;border-radius:18px;padding:15px;margin-bottom:9px}.journal-entry-top{display:flex;justify-content:space-between;align-items:center}.journal-entry h3{margin:4px 0;font-size:15px}.journal-entry p{margin:0;color:#789092;font-size:11px}.journal-entry .badge{background:#e5f3f0;color:#006e71;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.note-input{width:100%;resize:vertical;min-height:74px;border:1px solid #d6e7e4;border-radius:12px;padding:12px;background:white;color:#15454a}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.stat{background:white;border:1px solid #e0ebe8;border-radius:17px;padding:15px}.stat strong{display:block;font-size:26px;letter-spacing:-.055em}.stat span{font-size:11px;color:#7e9695}.bars{height:120px;display:flex;align-items:end;gap:8px;padding:5px 2px}.bar-col{flex:1;min-width:0;display:flex;align-items:center;flex-direction:column;justify-content:end;height:100%;gap:5px}.bar{background:#b5dcd4;border-radius:7px 7px 3px 3px;width:100%;min-height:4px}.bar.current{background:#006b71}.bar-col small{font-size:9px;color:#8ba2a1}.milestone{display:flex;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eef3f1}.milestone:last-child{border-bottom:0}.milestone .dot{height:10px;width:10px;border:2px solid #9cbab5;border-radius:50%;flex-shrink:0}.milestone.done .dot{background:#00797e;border-color:#00797e}.milestone strong{display:block;font-size:12px}.milestone small{font-size:10px;color:#819a99}.overlay{position:fixed;inset:0;z-index:30;background:#072e34aa;display:flex;align-items:flex-end;justify-content:center}.sheet{width:min(100%,430px);max-height:calc(100dvh - 20px);overflow:auto;background:#f4f8f7;border-radius:27px 27px 0 0;padding:17px 20px calc(25px + env(safe-area-inset-bottom));box-shadow:0 -16px 48px #082b3133}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.sheet-header h2{margin:0;font-size:23px;letter-spacing:-.05em}.close{width:36px;height:36px;border:0;border-radius:50%;background:#e0edeb;color:#29565a;font-size:23px;line-height:1}.motion-card{height:198px;background:linear-gradient(145deg,#e5f3ef,#d1eae5);border-radius:20px;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.motion-card svg{height:100%;width:100%;max-width:300px}.motion-card line{stroke:#00636b;stroke-width:8;stroke-linecap:round}.motion-card .head{fill:#00636b}.motion-card .bell{fill:#ff956a;stroke:#a7553c;stroke-width:3}.motion-card .handle{fill:none;stroke:#a7553c;stroke-width:4}.motion-card .floor{stroke:#a9d4ca;stroke-width:2}.steps{padding-left:19px;margin:7px 0 16px;color:#456d70;font-size:13px;line-height:1.55}.steps li{margin-bottom:7px}.session-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.session-timer{font-size:24px;letter-spacing:-.04em;font-weight:800;font-variant-numeric:tabular-nums}.session-progress{height:7px;background:#d8e9e4;border-radius:9px;overflow:hidden;margin:13px 0 18px}.session-progress div{height:100%;background:#008286;border-radius:9px;transition:width .25s}.session-exercise{font-size:25px;letter-spacing:-.05em;margin:0 0 3px}.session-caption{color:#719092;font-size:12px;margin:0 0 13px}.session-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.session-actions .primary{grid-column:1/-1}.set-dots{display:flex;gap:7px;margin:15px 0}.set-dots span{height:10px;flex:1;border-radius:10px;background:#dceae6}.set-dots span.done{background:#007c80}.set-dots span.current{background:#ff986b}.rest-box{padding:12px;border-radius:14px;background:#fff2e9;color:#8b573c;font-size:13px;font-weight:800;text-align:center;margin:10px 0}.source-list{font-size:11px;line-height:1.5;color:#759092}.source-list a{color:#006e72}#toast{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;background:#0a464d;color:white;padding:11px 15px;border-radius:12px;z-index:50;font-size:12px;max-width:350px;text-align:center;transition:.2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(min-width:500px){body{background:#dce9e7;padding:22px 0}.app-shell{border-radius:30px;overflow:hidden;min-height:calc(100dvh - 44px)}.bottom-nav{bottom:22px;border-radius:21px}.overlay{align-items:center}.sheet{border-radius:26px;max-height:90dvh}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
