:root{--accent:#174d42;--on-accent:#fff;--sage:#7a9e86;--gradient-start:#2b6a5b;--gradient-end:#174d42;--bg:#f9f7f2;--card:#fff;--text:#16211e;--secondary:#16211e99;--tertiary:#16211e52;--separator:#16211e1f;--fill:#174d4214;--danger:#c0392b;--success:#3f8f6b;--indigo:var(--accent);--teal:var(--sage);--blue:var(--accent);--orange:#b7893a;--tab-bar:#f9f7f2eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--accent:#8fc1a6;--on-accent:#0f2a23;--sage:#7a9e86;--gradient-start:#2b6a5b;--gradient-end:#123d34;--bg:#101614;--card:#1a2320;--text:#eef1ec;--secondary:#eef1ec99;--tertiary:#eef1ec4d;--separator:#eef1ec1f;--fill:#8fc1a624;--danger:#e5675a;--success:#5fb38c;--orange:#d6ab5c;--tab-bar:#101614eb}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:17px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}main{padding-top:env(safe-area-inset-top);padding-bottom:calc(64px + env(safe-area-inset-bottom));min-height:100dvh}.page{flex-direction:column;gap:20px;max-width:640px;margin:0 auto;padding:16px;display:flex}.large-title{padding:8px 4px 0;font-size:34px;font-weight:700}.logo-header{justify-content:center;display:flex;position:relative}.logo-header img{height:40px;display:block}section{flex-direction:column;gap:10px;display:flex}.section-title{text-transform:uppercase;color:var(--secondary);padding:0 4px;font-size:13px;font-weight:600}.section-title.split{justify-content:space-between;align-items:baseline;display:flex}.section-title.split small{text-transform:none;font-size:11px;font-weight:400}.section-title.with-icon{align-items:center;gap:6px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border-radius:14px}.card.list>*+*{border-top:.5px solid var(--separator)}.card.padded,.padded{padding:12px 14px}.card.list.padded>*+*{border-top:none}.card.list.padded{flex-direction:column;gap:12px;display:flex}.secondary{color:var(--secondary)}.tertiary{color:var(--tertiary)}.italic{font-style:italic}.footnote{color:var(--secondary);padding:0 4px;font-size:13px;line-height:1.4}.center{justify-content:center;padding:40px 0;display:flex}.empty{text-align:center;color:var(--secondary);flex-direction:column;align-items:center;gap:8px;padding:60px 20px;display:flex}.empty h2{color:var(--text);font-size:22px}.spinner{border:2.5px solid var(--fill);border-top-color:var(--secondary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.session-row{background:var(--card);border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex}.session-row:active{opacity:.7}.row-icon{width:40px;height:40px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;flex:none;place-items:center;display:grid}.row-icon.small{border-radius:8px;width:32px;height:32px}.row-icon.tiny{border-radius:6px;width:26px;height:26px}.row-icon.muted{color:var(--secondary);background:var(--fill)}.row-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.row-text strong{font-weight:600}.row-text small{color:var(--secondary);flex-wrap:wrap;gap:0 12px;font-size:12px;display:flex}.chevron{color:var(--tertiary);flex:none}.session-row.highlighted{background:linear-gradient(135deg, var(--gradient-start), var(--gradient-end));color:#fff}.session-row.highlighted .row-icon{color:#fff;background:#fff3}.session-row.highlighted small{color:#fffc}.session-row.highlighted .chevron{color:#fff9}.badge{letter-spacing:.5px;color:#ffffffd9;background:#fff3;border-radius:99px;flex:none;padding:4px 8px;font-size:11px;font-weight:700}.stat-row{justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.stat-row span{color:var(--secondary);font-size:15px}.stat-row strong{color:var(--accent);font-size:20px}.stat-row strong.small{text-align:right;font-size:15px}.history-row{align-items:center;gap:12px;padding:10px 14px;display:flex}.history-row .row-text strong{font-size:15px;font-weight:500}.history-row .row-text small{display:block}.delete-button{background:var(--danger);color:#fff;border:none;border-radius:8px;flex:none;align-items:center;gap:4px;padding:8px 10px;font-size:14px;display:flex}.session-page{height:calc(100dvh - 64px - env(safe-area-inset-bottom) - env(safe-area-inset-top));flex-direction:column;display:flex}.back-bar{grid-template-columns:44px 1fr 44px;align-items:center;padding:4px 8px;display:grid}.back-bar button{color:var(--accent);background:0 0;border:none;place-items:center;height:44px;display:grid}.back-bar h2{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.progress{gap:4px;padding:8px 16px 0;display:flex}.progress span{background:var(--fill);border-radius:2px;flex:1;height:4px}.progress span.filled{background:var(--accent)}.pager{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.pager::-webkit-scrollbar{display:none}.exercise-page{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:0 0 100%;gap:16px;padding:16px;display:flex;overflow-y:auto}.exercise-page h1{font-size:22px;font-weight:700}.exercise-page .secondary{margin-top:4px;font-size:15px}.meta{gap:16px;font-size:15px;display:flex}.meta span{align-items:center;gap:6px;display:flex}.indigo{color:var(--indigo)}.teal{color:var(--teal)}.blue{color:var(--blue)}.orange{color:var(--orange)}.videos{gap:8px;min-height:200px;display:flex}.video{object-fit:cover;background:var(--card);border-radius:12px;flex:1;min-width:0;height:200px}.video-placeholder{color:var(--secondary);border:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.notes{border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.notes p{color:var(--secondary);white-space:pre-line;gap:8px;font-size:12px;line-height:1.5;display:flex}.notes svg{flex:none;margin-top:2px}.rest-timer{background:var(--accent);min-height:56px;color:var(--on-accent);border:none;border-radius:28px;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:600;transition:background .3s;display:flex}.rest-timer.running{background:color-mix(in srgb, var(--accent) 85%, transparent)}.rest-timer.complete{background:var(--success)}.rest-timer .mono{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.ring{background:conic-gradient(var(--on-accent) calc(var(--progress) * 360deg), color-mix(in srgb, var(--on-accent) 30%, transparent) 0);border-radius:50%;place-items:center;width:22px;height:22px;display:grid;-webkit-mask:radial-gradient(circle,#000 0 5px,#0000 5.5px 8.5px,#000 9px);mask:radial-gradient(circle,#000 0 5px,#0000 5.5px 8.5px,#000 9px)}.spacer{flex:1;min-height:8px}.next-up{background:color-mix(in srgb, var(--card) 60%, transparent);border-radius:8px;flex-direction:column;gap:4px;padding:10px;display:flex}.next-up small{text-transform:uppercase;color:var(--tertiary);font-size:11px}.next-up div{color:var(--secondary);justify-content:space-between;font-size:12px;display:flex}.primary-button,.secondary-button{border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px;font-weight:600;display:flex}.primary-button{background:var(--accent);color:var(--on-accent)}.primary-button:disabled{opacity:.6}.secondary-button{background:var(--fill);color:var(--accent)}.secondary-button.danger{background:var(--card);color:var(--danger)}.link-button{color:var(--secondary);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0 4px;font-size:14px;display:flex}.day-picker{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:8px;display:grid}.day-picker button{aspect-ratio:1;background:var(--fill);border:none;border-radius:50%;font-size:15px;font-weight:600}.day-picker button.on{background:var(--accent);color:var(--on-accent)}.field{border-top:.5px solid var(--separator);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.field input,.field select{background:var(--fill);border:none;border-radius:8px;padding:6px 10px}.schedule-row{align-items:center;gap:12px;font-size:15px;display:flex}.schedule-row strong{width:84px;font-weight:500}.info-item{flex-direction:column;gap:4px;font-size:15px;display:flex}.card.padded>p.secondary,.info-item p{font-size:15px;line-height:1.45}.tab-bar{padding-bottom:env(safe-area-inset-bottom);background:var(--tab-bar);-webkit-backdrop-filter:blur(20px);border-top:.5px solid var(--separator);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{color:var(--secondary);flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 0 6px;font-size:10px;font-weight:500;display:flex}.tab-bar a.active{color:var(--accent)}.login{flex-direction:column;justify-content:center;align-items:center;gap:32px;min-height:100dvh;padding:24px;display:flex}.login-logo img{width:110px;display:block}.google-button{border:.5px solid var(--separator);background:var(--card);border-radius:14px;align-items:center;gap:10px;padding:14px 22px;font-weight:600;display:flex}.error{color:var(--danger);text-align:center;font-size:14px}.error-banner{top:calc(env(safe-area-inset-top) + 8px);z-index:20;background:var(--danger);color:#fff;border-radius:12px;padding:12px 14px;font-size:14px;position:fixed;left:16px;right:16px}.logo-dark{display:none!important}@media (prefers-color-scheme:dark){.logo-light{display:none!important}.logo-dark{display:block!important}}@media (width>=700px){.exercise-page{padding-inline:max(16px,50% - 480px)}.videos{min-height:0}.video{aspect-ratio:16/9;height:auto}}.field.first{border-top:none;padding-top:0}.field strong{color:var(--accent)}.switch{appearance:none;background:var(--fill);cursor:pointer;border-radius:16px;width:51px;height:31px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(20px)}.vape-card{flex-direction:column;gap:10px;padding:14px;display:flex}.vape-count{align-items:baseline;gap:8px;display:flex}.vape-count strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.vape-count span{color:var(--secondary)}.vape-footer{justify-content:space-between;align-items:center;font-size:14px;display:flex}.vape-footer .link-button{padding:0}.vape-upcoming{color:var(--accent);font-size:20px}.vape-actions{gap:8px;display:flex}.vape-actions .secondary-button{padding:12px}.button-row{gap:8px;margin-bottom:4px;display:flex}.button-row .secondary-button{padding:12px}.footnote.inset{padding:8px 0 0}.inline-inputs{gap:6px;display:flex}.meditation-card{align-items:center;gap:14px;padding:14px;display:flex}.row-icon.sage{color:var(--sage);background:color-mix(in srgb, var(--sage) 16%, transparent)}.small-button{background:var(--accent);color:var(--on-accent);border:none;border-radius:99px;flex:none;padding:8px 16px;font-size:15px;font-weight:600}.done-badge{background:color-mix(in srgb, var(--success) 18%, transparent);width:32px;height:32px;color:var(--success);border-radius:50%;flex:none;place-items:center;display:grid}
