:root{--color-forest:#1e3a2a;--color-leaf:#4caf4f;--color-lime:#abd08d;--color-cream:#f4f1e7;--color-charcoal:#333;--app-width:430px}*{box-sizing:border-box}html{background:var(--color-cream)}body{background:var(--color-cream);min-width:320px;color:var(--color-forest);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:3px solid var(--color-leaf);outline-offset:3px}.app-frame{width:100%;max-width:var(--app-width);min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px 0;flex-direction:column;margin-inline:auto;display:flex}.brand{width:112px;height:auto}.home-header{z-index:20;background:color-mix(in srgb, var(--color-cream) 90%, white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #1e3a2a1a;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px;min-height:58px;padding:8px 12px 8px 16px;display:grid;position:sticky;top:10px;box-shadow:0 10px 24px #1e3a2a1f,0 2px 5px #1e3a2a0f}.topbar-leading{justify-self:start;align-items:center;gap:13px;min-width:0;display:flex}.home-header>.profile-link{justify-self:end}.profile-link{width:42px;height:42px;color:var(--color-forest);background:#ffffff52;border:1px solid #1e3a2a29;border-radius:50%;place-items:center;display:grid}.profile-link svg{width:21px;height:21px}.profile-link-avatar{border:2px solid var(--color-leaf);overflow:hidden}.profile-link-avatar img{object-fit:cover;width:100%;height:100%}.hero{gap:10px;margin-top:52px;display:grid}.eyebrow{color:var(--color-charcoal);letter-spacing:.02em;margin:0;font-size:14px}h1{letter-spacing:-.04em;max-width:320px;margin:0;font-size:clamp(32px,9vw,42px);line-height:1.02}.practice-card{background:var(--color-forest);color:var(--color-cream);border-radius:28px;margin-top:36px;overflow:hidden;box-shadow:0 16px 40px #1e3a2a24}.practice-image{aspect-ratio:1;object-fit:cover;width:100%;height:auto;display:block}.practice-copy{padding:22px}.practice-copy h2{letter-spacing:-.025em;margin:0;font-size:25px}.practice-copy p{color:var(--color-lime);margin:7px 0 20px}.primary-action{background:var(--color-leaf);width:100%;min-height:52px;color:var(--color-forest);cursor:pointer;border:0;border-radius:999px;place-items:center;font-weight:700;text-decoration:none;display:grid}.quiet-summary{background:#ffffff3d;border:1px solid #1e3a2a1f;border-radius:22px;margin-top:20px;padding:18px 20px}.quiet-summary p{color:var(--color-charcoal);margin:0;font-size:14px}.quiet-summary strong{margin-top:4px;font-size:18px;display:block}.bottom-nav{z-index:10;padding:8px 10px max(8px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--color-cream) 90%, white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #1e3a2a1a;border-radius:999px;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:18px;display:grid;position:sticky;bottom:12px;box-shadow:0 10px 24px #1e3a2a1f,0 2px 5px #1e3a2a0f}.nav-item{min-height:52px;color:var(--color-charcoal);cursor:pointer;background:0 0;border:0;place-items:center;gap:2px;font-size:11px;text-decoration:none;display:grid}.nav-item[aria-current=page]{color:var(--color-forest);font-weight:700}.nav-icon{width:21px;height:21px}.nav-move{width:25px;height:25px}.move-summary{border-bottom:1px solid #1e3a2a1a;margin:22px -4px 0;padding:0 4px 12px}.move-summary-heading{justify-content:space-between;align-items:center;display:flex}.move-period{color:var(--color-forest);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:19px;font-weight:700;display:inline-flex}.move-period svg{width:15px;height:15px}.move-summary-stats{color:var(--color-forest);align-items:center;gap:9px;line-height:1;display:flex}.move-stat{align-items:center;gap:3px;display:inline-flex}.move-stat svg{width:15px;height:15px;color:var(--color-leaf)}.move-summary-stats strong{font-size:13px}.move-summary-stats small{color:var(--color-charcoal);white-space:nowrap;font-size:8px}.week-days{grid-template-columns:repeat(7,1fr);gap:7px;margin-top:14px;display:grid}.week-day{color:var(--color-charcoal);justify-items:center;gap:7px;font-size:10px;display:grid}.week-day small{font-size:9px}.week-day i{border:1px solid #1e3a2a59;border-radius:50%;place-items:center;width:17px;height:17px;font-size:10px;font-style:normal;display:grid}.week-day.is-today i{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-cream)}.shell-placeholder{min-height:100dvh}.placeholder-content{flex:1;align-content:center;justify-items:start;gap:10px;padding-bottom:80px;display:grid}.placeholder-content h1{font-size:38px}.placeholder-content p:last-child{max-width:290px;color:var(--color-charcoal);margin:0;font-size:16px;line-height:1.5}.placeholder-icon{background:var(--color-lime);width:56px;height:56px;color:var(--color-forest);border-radius:18px;place-items:center;display:grid}.community-content{flex:1;align-content:center;gap:12px;padding:24px 8px 80px;display:grid}.community-content h1{font-size:42px}.community-content>p:not(.eyebrow){max-width:300px;color:var(--color-charcoal);margin:0;line-height:1.5}.social-links{gap:10px;margin-top:14px;display:grid}.social-link{min-height:68px;color:var(--color-forest);background:#ffffff57;border:1px solid #1e3a2a24;border-radius:18px;align-items:center;gap:14px;padding:12px 16px;font-weight:700;text-decoration:none;display:flex}.social-link>svg{width:24px;height:24px}.social-link span{gap:2px;display:grid}.social-link small{color:var(--color-charcoal);font-size:11px;font-weight:400}.auth-page .home-header{align-items:center}.back-link{color:var(--color-forest)}.back-button{cursor:pointer;background:0 0;border:0;padding:0}.brand-link{line-height:0}.back-link svg{width:21px;height:21px}.auth-content{flex:1;align-content:center;gap:14px;padding-bottom:80px;display:grid}.auth-content h1{max-width:340px}.profile-content{text-align:center;justify-items:center}.profile-avatar-wrap{margin-bottom:4px;position:relative}.profile-avatar{border:4px solid var(--color-lime);background:var(--color-forest);width:112px;height:112px;color:var(--color-cream);border-radius:50%;place-items:center;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar svg{width:48px;height:48px}.profile-setting{text-align:left;gap:8px;width:min(100%,320px);margin-top:6px;display:grid}.profile-setting-label{color:var(--color-charcoal);font-size:13px;font-weight:700}.setting-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.setting-option{min-height:42px;color:var(--color-forest);cursor:pointer;background:#ffffff47;border:1px solid #1e3a2a29;border-radius:14px;padding-inline:10px;font-size:13px}.setting-option.is-selected{border-color:var(--color-forest);background:var(--color-forest);color:var(--color-cream);font-weight:700}.avatar-upload{border:3px solid var(--color-cream);background:var(--color-leaf);width:38px;height:38px;color:var(--color-forest);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:0;right:-2px}.avatar-upload svg{width:18px;height:18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-copy{max-width:320px;color:var(--color-charcoal);margin:0 0 12px;line-height:1.5}.auth-google-copy{text-align:center;margin-inline:auto}.auth-provider,.secondary-action{background:var(--color-forest);min-height:54px;color:var(--color-cream);cursor:pointer;border:0;border-radius:999px;font-weight:700}.secondary-action{color:#a33d3d;background:0 0;border:1px solid #b84c4c;min-height:46px;padding-inline:24px}.auth-provider{justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.auth-email-choice{min-height:54px;color:var(--color-forest);cursor:pointer;background:0 0;border:1px solid #1e3a2a2e;border-radius:999px;justify-content:center;align-items:center;gap:9px;font-weight:700;display:flex}.auth-email-choice svg{stroke-width:2.2px;width:20px;height:20px}.google-mark{flex:none;width:20px;height:20px}.auth-divider{color:color-mix(in srgb, var(--color-charcoal) 70%, transparent);align-items:center;gap:10px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#1e3a2a24;flex:1;height:1px}.auth-form{gap:8px;display:grid}.auth-form label{font-size:13px;font-weight:700}.email-row{background:#ffffff59;border:1px solid #1e3a2a2e;border-radius:18px;align-items:center;gap:8px;min-height:54px;padding:6px 6px 6px 14px;display:flex}.email-row svg{width:18px;color:var(--color-charcoal);flex:none}.email-row input{min-width:0;color:var(--color-forest);background:0 0;border:0;outline:0;flex:1}.email-row button{background:var(--color-leaf);min-height:42px;color:var(--color-forest);cursor:pointer;border:0;border-radius:13px;padding-inline:14px;font-weight:700}.auth-resend{color:var(--color-forest);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:13px;text-decoration:underline}.otp-inputs{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.otp-input{aspect-ratio:1/1.12;width:100%;min-width:0;color:var(--color-forest);text-align:center;background:#ffffff6b;border:1px solid #1e3a2a33;border-radius:14px;outline:0;font-size:24px;font-weight:700}.otp-input:focus{border-color:var(--color-leaf);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-leaf) 24%, transparent)}.otp-submit{background:var(--color-leaf);min-height:54px;color:var(--color-forest);cursor:pointer;border:0;border-radius:999px;font-weight:700}.otp-submit:disabled{cursor:not-allowed;opacity:.5}.auth-note,.auth-message{color:var(--color-charcoal);margin:0;font-size:13px;line-height:1.4}.auth-entry{padding-bottom:24px}.auth-card{flex:1;align-content:start;gap:12px;padding:18px 8px 70px;display:grid}.auth-asset{object-fit:contain;object-position:center;width:100%;height:min(30dvh,220px);margin-bottom:8px}.auth-card h1{text-align:center;justify-self:center;font-size:34px}.password-form{gap:8px;margin-top:4px;display:grid}.password-form label{font-size:13px;font-weight:700}.password-form input{min-height:52px;color:var(--color-forest);background:#ffffff6b;border:1px solid #1e3a2a2e;border-radius:16px;outline:0;padding:0 15px}.password-form input:focus{border-color:var(--color-leaf);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-leaf) 24%, transparent)}.password-field{position:relative}.password-field input{width:100%;padding-right:52px}.password-toggle{width:32px;height:32px;color:var(--color-charcoal);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.password-toggle svg{width:19px;height:19px}.password-field input[aria-invalid=true]{border-color:#b84c4c}.password-error{color:#a33d3d;margin:-2px 0 0;font-size:12px}.password-submit{background:var(--color-leaf);min-height:54px;color:var(--color-forest);cursor:pointer;border:0;border-radius:999px;margin-top:8px;font-weight:700}.auth-switch{text-align:center;color:var(--color-charcoal);margin:4px 0 0;font-size:13px}.auth-switch a{color:var(--color-forest);font-weight:700}.terms-consent{color:var(--color-charcoal);justify-content:center;align-items:flex-start;gap:9px;margin-top:8px;font-size:13px;line-height:1.4;display:flex}.terms-consent input{width:18px;height:18px;accent-color:var(--color-leaf);margin:0}.terms-consent a{color:var(--color-forest);font-weight:700;text-decoration:underline}.auth-provider:disabled{cursor:not-allowed;opacity:.48}.terms-content{flex:1;padding:24px 8px 72px;overflow-y:auto}.terms-content h1{margin:6px 0 22px;font-size:clamp(32px,9vw,42px)}.terms-content section{margin-top:24px}.terms-content h2{margin:0 0 7px;font-size:17px}.terms-content p{color:var(--color-charcoal);margin:0;font-size:14px;line-height:1.55}.terms-lead{max-width:330px;font-size:16px!important;line-height:1.5!important}.terms-updated{color:color-mix(in srgb, var(--color-charcoal) 70%, transparent)!important;margin-top:28px!important;font-size:12px!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
