:root{--cream: #FFF9ED;--green-100: #A8DDB5;--green-500: #6FBE83;--green-900: #315C3C;--bg: var(--cream);--surface: #FFFFFF;--surface-cream: #FFFDF8;--surface-soft: #EEF7EF;--surface-sunk: #F6F0E2;--primary: var(--green-500);--primary-press: #5CAB70;--primary-strong: var(--green-900);--primary-light: var(--green-100);--primary-100: #D6EFDC;--primary-050: #F2FAF3;--on-primary: #FFFFFF;--ink: #26382B;--ink-soft: #5E7064;--ink-faint: #7C8B80;--line: #EDE5D3;--line-green: #D6EFDC;--warn: #D9A04E;--warn-bg: #FDF3E1;--warn-line: #F1DDB8;--warn-ink: #7A5620;--danger: #CF6A5E;--danger-bg: #FCEDEA;--danger-line: #F2CEC8;--danger-ink: #8C3A30;--gold: #E2B84F;--r-xs: 12px;--r-sm: 16px;--r-md: 20px;--r-lg: 24px;--r-xl: 28px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(49, 92, 60, .04), 0 2px 8px rgba(49, 92, 60, .05);--shadow-md: 0 6px 20px rgba(49, 92, 60, .08);--shadow-lg: 0 14px 36px rgba(49, 92, 60, .12);--shadow-cta: 0 6px 16px rgba(111, 190, 131, .35);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--font: "Rubik", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--fs-display: 34px;--fs-h1: 26px;--fs-h2: 21px;--fs-h3: 18px;--fs-body: 16px;--fs-small: 14px;--fs-tiny: 13px;--fs-micro: 12px;--tab-h: 70px;--header-h: 60px;--max-w: 480px;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg)}body{font-family:var(--font);color:var(--ink);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}#root{min-height:100%;max-width:var(--max-w);margin:0 auto;background:var(--bg);position:relative;box-shadow:0 0 0 1px #315c3c0a,var(--shadow-md);overflow-x:clip}h1,h2,h3,h4{font-weight:700;color:var(--primary-strong);line-height:1.25;letter-spacing:-.01em}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p,li,span,strong{overflow-wrap:anywhere}strong{color:var(--primary-strong);font-weight:600}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:16px;color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--ink-faint);opacity:1}a{color:var(--primary-strong);text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:20px;height:20px;flex:none}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}.btn:focus-visible,.chip:focus-visible,.option:focus-visible{outline-offset:3px;border-radius:var(--r-pill)}[hidden]{display:none!important}.screen{min-height:100dvh;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + var(--sp-6));animation:fade-in .25s ease}.screen--plain{padding-bottom:var(--sp-8)}.screen-pad{padding:var(--sp-5)}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--sp-3);min-height:var(--header-h);padding:calc(env(safe-area-inset-top) + var(--sp-3)) var(--sp-5) var(--sp-3);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px)}.app-header h1{font-size:22px;min-width:0}.app-header .back{width:44px;height:44px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);box-shadow:var(--shadow-sm);font-size:22px;line-height:1;color:var(--primary-strong);flex:none;transition:transform .12s ease}.app-header .back:active{transform:scale(.92)}.icon-btn{width:44px;height:44px;flex:none;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface-soft);color:var(--primary-strong);font-size:19px;line-height:1;transition:transform .12s ease}.icon-btn:active{transform:scale(.92)}.chev{color:var(--primary);font-size:22px;line-height:0;flex:none;display:grid;place-items:center}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm)}button.card{width:100%;text-align:start;font-size:inherit;color:inherit}.card--soft{background:var(--surface-soft);box-shadow:none}.card--flat{box-shadow:none;border:1px solid var(--line)}.card--tap{transition:transform .12s ease,box-shadow .12s ease}.card--tap:active{transform:scale(.985);box-shadow:none}.card--hero{background:radial-gradient(120% 90% at 100% 0%,#a8ddb559,#a8ddb500 60%),var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.card--celebrate{background:linear-gradient(120deg,#FFF3D9 0%,var(--surface-soft) 100%);box-shadow:none}.card--accent,.card--accent-strong,.card--accent-warn{position:relative;padding-inline-start:calc(var(--sp-5) + 6px)}.card--accent:before,.card--accent-strong:before,.card--accent-warn:before{content:"";position:absolute;inset-inline-start:10px;top:var(--sp-5);bottom:var(--sp-5);width:4px;border-radius:var(--r-pill);background:var(--primary-light)}.card--accent-strong:before{background:var(--primary)}.card--accent-warn:before{background:var(--warn)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:14px 22px;border-radius:var(--r-pill);font-size:17px;font-weight:600;line-height:1.25;text-align:center;transition:transform .12s ease,background .15s ease,box-shadow .15s ease;min-height:54px;width:100%}.btn:active{transform:scale(.97)}.btn--primary{background:var(--primary);color:var(--on-primary);font-weight:700;box-shadow:var(--shadow-cta);text-shadow:0 1px 1px rgba(49,92,60,.25)}.btn--primary:active{background:var(--primary-press);box-shadow:none}.btn--dark{background:var(--primary-strong);color:#fff}.btn--ghost{background:var(--surface);color:var(--primary-strong);border:1.5px solid var(--line-green)}.btn--soft{background:var(--surface-soft);color:var(--primary-strong)}.btn--line{background:var(--surface-cream);border:1.5px solid var(--primary-light);color:var(--primary-strong)}.btn--sm{min-height:44px;padding:9px 16px;font-size:14px}.btn--danger{background:var(--danger);color:#fff}.btn:disabled{background:var(--surface-sunk);color:var(--ink-faint);box-shadow:none;border-color:transparent;text-shadow:none;pointer-events:none}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 14px;border-radius:var(--r-pill);font-size:var(--fs-tiny);font-weight:500;background:var(--surface-soft);color:var(--primary-strong);white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .12s ease}button.chip{min-height:40px;font-size:14px}button.chip:active{transform:scale(.95)}.chip--line{background:var(--surface);border:1.5px solid var(--line);color:var(--ink-soft)}.chip--active{background:var(--primary-light);border:1.5px solid var(--primary);color:var(--primary-strong);font-weight:600}.icon-chip{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-pill);background:var(--surface-soft);color:var(--primary-strong)}.icon-chip:active{transform:scale(.9)}.pill-row{display:flex;gap:var(--sp-2);flex-wrap:wrap}.input{width:100%;min-height:52px;padding:12px 18px;border-radius:var(--r-sm);background:var(--surface);border:1.5px solid var(--line);color:var(--ink);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease;-moz-appearance:textfield}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-100)}.input::-webkit-outer-spin-button,.input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:24px}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"";width:9px;height:9px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease;opacity:.7}details[open]>summary:after{transform:rotate(-135deg) translateY(-2px)}details[open]>summary{margin-bottom:var(--sp-3)}.option{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:60px;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);text-align:start;font-size:16px;font-weight:500;color:var(--ink);transition:transform .1s ease,background .15s ease,border-color .15s ease;border:2px solid transparent}.option:active{transform:scale(.985)}.option--selected{border-color:var(--primary);background:var(--primary-050);box-shadow:none}.option .emoji{font-size:22px;line-height:1;width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--surface-soft)}.option--selected .emoji{background:var(--surface)}.option .check{margin-inline-start:auto;flex:none;min-width:28px;height:28px;padding:0 9px;display:inline-grid;place-items:center;border-radius:var(--r-pill);background:var(--primary);color:var(--on-primary);font-size:13px;font-weight:700}.option .check--secondary{background:var(--primary-100);color:var(--primary-strong)}.bar{height:10px;border-radius:var(--r-pill);background:var(--primary-100);overflow:hidden}.bar>i{display:block;height:100%;min-width:0;border-radius:var(--r-pill);background:var(--primary);transition:width .6s cubic-bezier(.22,1,.36,1)}.steps{display:flex;gap:6px;padding:0 var(--sp-5) var(--sp-2)}.steps>i{flex:1;height:6px;border-radius:var(--r-pill);background:var(--line);transition:background .2s ease}.steps>i.done{background:var(--primary)}.steps>i.now{background:var(--primary-light)}.plant{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r-pill);background:var(--surface-soft);font-size:19px}.plant--lg{width:60px;height:60px;font-size:30px}.level-tag{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-tiny);font-weight:600;color:var(--primary-strong)}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.tiny{font-size:var(--fs-tiny)}.eyebrow{font-size:var(--fs-micro);font-weight:600;letter-spacing:.04em;color:#3f7a4e;text-transform:uppercase}.center{text-align:center}.stack>*+*{margin-top:var(--sp-4)}.stack-sm>*+*{margin-top:var(--sp-2)}.stack-lg>*+*{margin-top:var(--sp-6)}.row{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.ltr{direction:ltr;unicode-bidi:isolate}.safety-note{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--r-md);padding:var(--sp-4);color:var(--warn-ink);font-size:var(--fs-small);line-height:1.55}.safety-note--stop{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}.note{background:var(--primary-050);border:1px solid var(--line-green);border-radius:var(--r-md);padding:var(--sp-4);color:var(--primary-strong);font-size:var(--fs-small);line-height:1.55}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--max-w);height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding:0 var(--sp-2) env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--surface-cream) 94%,transparent);backdrop-filter:saturate(1.2) blur(14px);-webkit-backdrop-filter:saturate(1.2) blur(14px);border-top:1px solid var(--line);box-shadow:0 -4px 20px #315c3c0d;z-index:50}.tabbar a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11.5px;font-weight:500;color:var(--ink-faint);position:relative;isolation:isolate}.tabbar a .ti{width:52px;height:32px;line-height:0;display:grid;place-items:center;border-radius:var(--r-pill);color:var(--ink-faint);transition:color .18s ease,background .18s ease}.tabbar a.active{color:var(--primary-strong);font-weight:600}.tabbar a.active .ti{color:var(--primary-strong);background:var(--primary-light);animation:tab-pop .32s cubic-bezier(.22,1,.36,1)}@keyframes tab-pop{0%{transform:scale(.85)}55%{transform:scale(1.08)}to{transform:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes grow-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes float-up{0%{transform:translateY(0);opacity:1}to{transform:translateY(-40px);opacity:0}}@keyframes leaf-fall{0%{transform:translateY(-10px) rotate(0);opacity:0}10%{opacity:1}to{transform:translateY(320px) rotate(220deg);opacity:0}}.pop{animation:pop .4s cubic-bezier(.22,1,.36,1)}@keyframes check-draw-kf{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.check-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:check-draw-kf .45s .1s cubic-bezier(.65,0,.35,1) forwards}.check-badge{display:grid;place-items:center;width:84px;height:84px;border-radius:var(--r-pill);background:var(--primary);color:#fff;box-shadow:0 0 0 10px var(--primary-100),0 12px 28px #6fbe8373;animation:pop .4s cubic-bezier(.22,1,.36,1)}@keyframes burst-ring{0%{transform:scale(.6);opacity:.55}to{transform:scale(1.9);opacity:0}}.burst{position:relative}.burst:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--primary-light);animation:burst-ring .9s ease-out forwards;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.check-draw{stroke-dashoffset:0}}.confetti-leaf{position:absolute;top:0;font-size:20px;animation:leaf-fall 2.4s ease-in forwards;pointer-events:none}.live{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(90% 45% at 50% 38%,#a8ddb552,#a8ddb500 70%),var(--bg);padding:calc(env(safe-area-inset-top) + var(--sp-4)) var(--sp-5) calc(env(safe-area-inset-bottom) + var(--sp-5))}.live h2{font-weight:700;text-align:center}.live-timer{font-size:72px;font-weight:700;line-height:1.05;color:var(--primary-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em;direction:ltr;unicode-bidi:isolate}.live-ring{width:min(240px,72vw);min-height:150px;padding:var(--sp-4);display:grid;place-items:center;border-radius:var(--r-pill)}.empty{text-align:center;padding:var(--sp-10) var(--sp-6);color:var(--ink-soft)}.empty .big{font-size:40px;width:88px;height:88px;margin:0 auto var(--sp-4);display:grid;place-items:center;border-radius:var(--r-pill);background:var(--surface-soft)}.hscroll{display:flex;gap:var(--sp-3);overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--sp-5) * -1);padding:var(--sp-1) var(--sp-5);-webkit-overflow-scrolling:touch}.hscroll::-webkit-scrollbar{display:none}.hscroll>*{scroll-snap-align:start;flex:0 0 auto}.journey{position:relative;padding-inline-start:32px}.journey:before{content:"";position:absolute;inset-inline-start:11px;top:12px;bottom:12px;width:2px;border-radius:2px;background:var(--primary-100)}.journey-node{position:relative;padding:var(--sp-2) 0 var(--sp-4)}.journey-node:before{content:"";position:absolute;inset-inline-start:-27px;top:12px;width:16px;height:16px;border-radius:var(--r-pill);background:var(--surface);border:2px solid var(--primary-light)}.journey-node.done:before{background:var(--primary);border-color:var(--primary)}.journey-node.current:before{background:var(--primary-light);border-color:var(--primary);box-shadow:0 0 0 5px var(--primary-100)}.cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:var(--r-pill);font-size:14px;font-variant-numeric:tabular-nums}.cal-day{border:2px solid transparent;color:var(--ink);background:transparent;width:100%;min-width:0}.cal-day--today{background:var(--surface-soft);font-weight:600;color:var(--primary-strong)}.cal-day--done{background:var(--primary-light);color:var(--primary-strong);font-weight:600}.cal-day--sel{border-color:var(--primary-strong)}.welcome{background:radial-gradient(70% 40% at 50% 30%,#a8ddb573,#a8ddb500 70%),var(--bg)}.welcome-mark{width:148px;height:148px;margin:0 auto;display:grid;place-items:center;border-radius:44px;background:var(--surface);box-shadow:var(--shadow-lg);animation:pop .5s cubic-bezier(.22,1,.36,1)}.welcome-word{font-size:44px;font-weight:800;letter-spacing:.08em;direction:ltr}.exanim{display:grid;place-items:center;margin:0 auto}.exanim-svg{width:100%;height:100%;overflow:visible}.exanim-video{width:100%;height:100%;object-fit:contain;display:block}.exanim-svg *,.exanim-svg g,.exanim-svg line,.exanim-svg circle,.exanim-svg path{transform-box:view-box}.ex-ground{stroke:var(--line-green);stroke-width:2.5;stroke-linecap:round}.ex-sprout{fill:var(--primary-light);transform-origin:80px 140px;animation:ex-sway 3.5s ease-in-out infinite}@keyframes ex-sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.exanim-svg .seg{stroke:var(--primary-light);stroke-width:7.5;stroke-linecap:round;fill:none}.exanim-svg .seg.near{stroke:var(--primary-strong)}.exanim-svg .spine{stroke:var(--primary-strong);stroke-width:10;stroke-linecap:round;fill:none}.exanim-svg .foot{stroke:var(--primary-strong);stroke-width:6;stroke-linecap:round}.exanim-svg .foot:not(.near){stroke:var(--primary-light)}.exanim-svg .head{fill:var(--primary)}.fig,.pbody,.sbody,.spbody{transform-box:view-box}.ankleNear,.shinNear{transform-origin:80px 138px}.thighNear{transform-origin:80px 112px}.pelvis,.torso,.thighFar{transform-origin:80px 86px}.shinFar{transform-origin:80px 112px}.upperNear,.upperFar{transform-origin:80px 52px}.foreNear,.foreFar{transform-origin:80px 72px}.exanim-svg .thighFar{transform:rotate(0)}@media(prefers-reduced-motion:reduce){.exanim-svg *{animation-duration:1ms!important}}.ex-squat .shinNear{animation:sq-shin 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .thighNear{animation:sq-thigh 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .torso{animation:sq-torso 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .thighFar{animation:sq-thighFar 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .shinFar{animation:sq-shinFar 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .upperNear,.ex-squat .upperFar{animation:sq-arm 2.6s cubic-bezier(.5,0,.5,1) infinite}.ex-squat .foreNear,.ex-squat .foreFar{transform:rotate(24deg)}@keyframes sq-shin{0%,8%,to{transform:rotate(0)}50%{transform:rotate(40deg)}}@keyframes sq-thigh{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-92deg)}}@keyframes sq-torso{0%,8%,to{transform:rotate(0)}50%{transform:rotate(46deg)}}@keyframes sq-thighFar{0%,8%,to{transform:rotate(0)}50%{transform:rotate(50deg)}}@keyframes sq-shinFar{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-80deg)}}@keyframes sq-arm{0%,8%,to{transform:rotate(0)}50%{transform:rotate(74deg)}}.ex-calf .fig{animation:calf-fig 1.5s ease-in-out infinite}.ex-calf .foot,.ex-calf .foot.near{animation:calf-foot 1.5s ease-in-out infinite;transform-origin:80px 138px}.ex-calf .foreNear,.ex-calf .foreFar{transform:rotate(150deg)}@keyframes calf-fig{0%,to{transform:translateY(0)}45%{transform:translateY(-13px)}}@keyframes calf-foot{0%,to{transform:rotate(0)}45%{transform:rotate(44deg)}}.ex-hinge .torso{animation:hinge-torso 2.8s ease-in-out infinite}.ex-hinge .thighNear,.ex-hinge .thighFar{animation:hinge-thigh 2.8s ease-in-out infinite}.ex-hinge .shinNear,.ex-hinge .shinFar{animation:hinge-shin 2.8s ease-in-out infinite}.ex-hinge .armNear,.ex-hinge .armFar{animation:hinge-arm 2.8s ease-in-out infinite;transform-origin:80px 52px}@keyframes hinge-torso{0%,7%,to{transform:rotate(0)}50%{transform:rotate(76deg)}}@keyframes hinge-thigh{0%,7%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}@keyframes hinge-shin{0%,7%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}@keyframes hinge-arm{0%,7%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}.ex-lunge .shinNear{animation:lg-shinFront 2.8s ease-in-out infinite}.ex-lunge .thighNear{animation:lg-thighFront 2.8s ease-in-out infinite}.ex-lunge .thighFar{animation:lg-thighBack 2.8s ease-in-out infinite}.ex-lunge .shinFar{animation:lg-shinBack 2.8s ease-in-out infinite}.ex-lunge .torso{animation:lg-torso 2.8s ease-in-out infinite}@keyframes lg-torso{0%,8%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes lg-shinFront{0%,8%,to{transform:rotate(0)}50%{transform:rotate(26deg)}}@keyframes lg-thighFront{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-34deg)}}@keyframes lg-thighBack{0%,8%,to{transform:rotate(0)}50%{transform:rotate(90deg)}}@keyframes lg-shinBack{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-96deg)}}.ex-row .torso{transform:rotate(56deg)}.ex-row .thighNear,.ex-row .thighFar{transform:rotate(-6deg)}.ex-row .shinNear,.ex-row .shinFar{transform:rotate(6deg)}.ex-row .upperNear,.ex-row .upperFar{animation:row-upper 1.9s ease-in-out infinite}.ex-row .foreNear,.ex-row .foreFar{animation:row-fore 1.9s ease-in-out infinite}.ex-row .upperFar,.ex-row .foreFar{animation-delay:-.05s}@keyframes row-upper{0%,to{transform:rotate(6deg)}50%{transform:rotate(-46deg)}}@keyframes row-fore{0%,to{transform:rotate(2deg)}50%{transform:rotate(34deg)}}.ex-press .upperNear{transform-origin:80px 52px;animation:pr-upN 1.9s ease-in-out infinite}.ex-press .upperFar{transform-origin:80px 52px;animation:pr-upF 1.9s ease-in-out infinite}.ex-press .foreNear{transform-origin:80px 72px;animation:pr-foN 1.9s ease-in-out infinite}.ex-press .foreFar{transform-origin:80px 72px;animation:pr-foF 1.9s ease-in-out infinite}@keyframes pr-upN{0%,to{transform:rotate(205deg)}50%{transform:rotate(216deg)}}@keyframes pr-upF{0%,to{transform:rotate(155deg)}50%{transform:rotate(144deg)}}@keyframes pr-foN{0%,to{transform:rotate(58deg)}50%{transform:rotate(2deg)}}@keyframes pr-foF{0%,to{transform:rotate(-58deg)}50%{transform:rotate(-2deg)}}.ex-pullapart .upperNear{transform-origin:80px 52px;animation:pa-near 2s ease-in-out infinite}.ex-pullapart .upperFar{transform-origin:80px 52px;animation:pa-far 2s ease-in-out infinite}.ex-pullapart .foreNear,.ex-pullapart .foreFar{transform:rotate(0)}@keyframes pa-near{0%,to{transform:rotate(272deg)}50%{transform:rotate(230deg)}}@keyframes pa-far{0%,to{transform:rotate(268deg)}50%{transform:rotate(310deg)}}.ex-walk .torso{transform:rotate(7deg)}.ex-walk .shinNear{animation:wk-stance 1.05s ease-in-out infinite}.ex-walk .thighNear{animation:wk-stanceT 1.05s ease-in-out infinite}.ex-walk .thighFar{animation:wk-swingT 1.05s ease-in-out infinite}.ex-walk .shinFar{animation:wk-swingS 1.05s ease-in-out infinite}.ex-walk .foreFar{transform:rotate(4deg)}.ex-walk .upperNear{animation:wk-armN 1.05s ease-in-out infinite}.ex-walk .upperFar{animation:wk-armF 1.05s ease-in-out infinite}.ex-walk .pelvis{animation:wk-bob .525s ease-in-out infinite}@keyframes wk-stance{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes wk-stanceT{0%,to{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}@keyframes wk-swingT{0%,to{transform:rotate(28deg)}50%{transform:rotate(-30deg)}}@keyframes wk-swingS{0%,to{transform:rotate(-4deg)}25%{transform:rotate(-46deg)}60%{transform:rotate(0)}}@keyframes wk-armN{0%,to{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}@keyframes wk-armF{0%,to{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}@keyframes wk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.ex-run .torso{transform:rotate(14deg)}.ex-run .fig{animation:rn-bounce .62s ease-in-out infinite}.ex-run .shinNear{animation:rn-stance .62s ease-in-out infinite}.ex-run .thighFar{animation:rn-swingT .62s ease-in-out infinite}.ex-run .shinFar{animation:rn-swingS .62s ease-in-out infinite}.ex-run .foreNear,.ex-run .foreFar{transform:rotate(78deg)}.ex-run .upperNear{animation:rn-armN .62s ease-in-out infinite}.ex-run .upperFar{animation:rn-armF .62s ease-in-out infinite}@keyframes rn-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-7px)}65%{transform:translateY(1px)}}@keyframes rn-stance{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}@keyframes rn-swingT{0%,to{transform:rotate(56deg)}50%{transform:rotate(-34deg)}}@keyframes rn-swingS{0%,to{transform:rotate(-70deg)}50%{transform:rotate(-6deg)}}@keyframes rn-armN{0%,to{transform:rotate(-46deg)}50%{transform:rotate(40deg)}}@keyframes rn-armF{0%,to{transform:rotate(40deg)}50%{transform:rotate(-46deg)}}.pbody{transform-box:view-box}.parm,.pupper{transform-origin:98px 88px}.pfore{transform-origin:96px 112px}.ex-pushup .pbody{animation:pu-body 2.2s ease-in-out infinite;transform-origin:30px 126px}.ex-pushup .pupper{animation:pu-upper 2.2s ease-in-out infinite}.ex-pushup .pfore{animation:pu-fore 2.2s ease-in-out infinite}@keyframes pu-body{0%,8%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(16px) rotate(2deg)}}@keyframes pu-upper{0%,8%,to{transform:rotate(0)}50%{transform:rotate(46deg)}}@keyframes pu-fore{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-46deg)}}.ex-plank .pbody{animation:pl-breath 3.6s ease-in-out infinite;transform-origin:60px 92px}@keyframes pl-breath{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.ex-pike .pbody{transform:rotate(-30deg);transform-origin:96px 90px}.ex-pike .pupper{animation:pu-upper 2.2s ease-in-out infinite}.ex-pike .pfore{animation:pu-fore 2.2s ease-in-out infinite}.sbody{transform-box:view-box}.sthigh{transform-origin:86px 122px}.sshin{transform-origin:104px 102px}.sarm{transform-origin:48px 122px}.ex-bridge .sbody{animation:br-lift 2.6s ease-in-out infinite;transform-origin:44px 122px}.ex-bridge .sshin{animation:br-shin 2.6s ease-in-out infinite}.ex-bridge .sarm{transform:rotate(96deg)}@keyframes br-lift{0%,12%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes br-shin{0%,12%,to{transform:rotate(0)}50%{transform:rotate(28deg)}}.ex-situp .sbody{animation:si-curl 2.4s ease-in-out infinite;transform-origin:92px 122px}.ex-situp .sarm{transform:rotate(0)}@keyframes si-curl{0%,8%,to{transform:rotate(0)}50%{transform:rotate(-42deg)}}.ex-deadbug .sarm{animation:db-arm 2.6s ease-in-out infinite}.ex-deadbug .sthigh{animation:db-thigh 2.6s ease-in-out infinite}.ex-deadbug .sshin{animation:db-shin 2.6s ease-in-out infinite}.ex-deadbug .sthigh{transform:rotate(-64deg)}@keyframes db-arm{0%,to{transform:rotate(0)}50%{transform:rotate(74deg)}}@keyframes db-thigh{0%,to{transform:rotate(-64deg)}50%{transform:rotate(-18deg)}}@keyframes db-shin{0%,to{transform:rotate(0)}50%{transform:rotate(-30deg)}}.qarm{transform-origin:58px 92px}.qleg{transform-origin:100px 92px}.ex-birddog .qarm{animation:bd-arm 3s ease-in-out infinite}.ex-birddog .qleg{animation:bd-leg 3s ease-in-out infinite}@keyframes bd-arm{0%,15%,to{transform:rotate(74deg)}45%,60%{transform:rotate(0)}}@keyframes bd-leg{0%,15%,to{transform:rotate(-66deg)}45%,60%{transform:rotate(0)}}.spbody{transform-box:view-box}.sptop{transform-origin:80px 118px}.ex-sideplank .spbody{animation:sp-hold 3.4s ease-in-out infinite;transform-origin:44px 128px}.ex-sideplank .sptop{animation:sp-arm 3.4s ease-in-out infinite}@keyframes sp-hold{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)}}@keyframes sp-arm{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}.ex-catcow .fig{animation:cc-arch 3.6s ease-in-out infinite;transform-origin:79px 92px}.ex-catcow .head{animation:cc-head 3.6s ease-in-out infinite;transform-origin:48px 90px}@keyframes cc-arch{0%,to{transform:translateY(-3px) scaleY(.96)}50%{transform:translateY(3px) scaleY(1.05)}}@keyframes cc-head{0%,to{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}
