:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f7f8f3;--color-surface:#fff;--color-ink:#203c38;--color-muted:#65756f;--color-accent:#267268;--color-accent-soft:#e9f0e9;--color-border:#e5e9e0;--color-warning:#8a5b15;--color-focus:#bd9244;--radius-card:1.25rem;--shadow-card:0 .5rem 1.5rem #203c3812;--tg-safe-top:0px;--tg-safe-right:0px;--tg-safe-bottom:0px;--tg-safe-left:0px;--tg-viewport-height:100dvh}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;color:var(--color-ink);background:var(--color-canvas);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{min-width:44px;min-height:44px;color:inherit;font:inherit;cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,h2,h3,p{margin:0}.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}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.mediary-root{min-height:var(--tg-viewport-height);padding-right:var(--tg-safe-right);padding-left:var(--tg-safe-left)}.app-layout{min-height:var(--tg-viewport-height);max-width:43rem;margin:0 auto}.page-content{min-height:var(--tg-viewport-height);padding:calc(1.5rem + var(--tg-safe-top)) 1.25rem calc(6.75rem + var(--tg-safe-bottom))}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header h1{letter-spacing:-.04em;font-size:clamp(1.8rem,8vw,2.25rem);line-height:1.1}.eyebrow{color:var(--color-muted);margin-bottom:.35rem;font-size:.75rem;font-weight:650}.icon-button{color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;flex:0 0 44px;place-items:center;display:grid}.placeholder-card,.state-panel{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card)}.placeholder-card{padding:1.25rem}.placeholder-card__line{background:var(--color-accent);border-radius:1rem;width:2.5rem;height:.25rem;margin-bottom:1.25rem;display:block}.placeholder-card h2{margin-bottom:.5rem;font-size:1.1rem}.placeholder-card p,.state-panel p{color:var(--color-muted);font-size:.9rem;line-height:1.55}.settings-page{min-width:0}.settings-current,.timezone-confirmation,.settings-message{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.settings-current{padding:1.1rem}.settings-current__label,.settings-current>p:last-child,.timezone-picker__hint,.timezone-option small,.timezone-confirmation p{color:var(--color-muted);font-size:.76rem;line-height:1.5}.settings-current__value{overflow-wrap:anywhere;margin:.25rem 0 .4rem;font-size:1rem;font-weight:700}.timezone-picker{border:0;min-width:0;margin:1.4rem 0 0;padding:0}.timezone-picker legend{padding:0;font-size:1rem;font-weight:700}.timezone-picker__hint{margin-top:.3rem}.timezone-options{gap:.5rem;margin-top:.75rem;display:grid}.timezone-option{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:.9rem;align-items:center;gap:.75rem;min-width:0;min-height:52px;padding:.7rem .85rem;display:flex}.timezone-option--suggested{background:var(--color-accent-soft);border-color:#26726859;margin-top:.85rem}.timezone-option:has(input:checked){border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.timezone-option:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.timezone-option input{width:1.15rem;height:1.15rem;accent-color:var(--color-accent);flex:0 0 1.15rem;margin:0}.timezone-option input:focus-visible{outline:none}.timezone-option span{gap:.1rem;min-width:0;display:grid}.timezone-option strong,.timezone-option small{overflow-wrap:anywhere}.timezone-option strong{font-size:.86rem}.timezone-picker:disabled .timezone-option{cursor:wait;opacity:.65}.timezone-confirmation{gap:.85rem;margin-top:1rem;padding:1rem;display:grid}.timezone-confirmation h2{font-size:.95rem}.timezone-confirmation p{overflow-wrap:anywhere;margin-top:.25rem}.timezone-confirmation button{color:#fff;background:var(--color-accent);border-radius:.8rem;width:100%;font-size:.84rem;font-weight:700}.timezone-confirmation button:disabled{cursor:wait;opacity:.65}.settings-message{margin-top:.85rem;padding:.85rem 1rem;font-size:.8rem;line-height:1.5}.settings-message--error{color:#764d10;background:#fffaf0;border-color:#8a5b1559}.settings-message--success{color:#1d6259;background:var(--color-accent-soft);border-color:#26726859}.bottom-navigation{right:var(--tg-safe-right);bottom:0;left:var(--tg-safe-left);z-index:2;max-width:43rem;min-height:calc(4.5rem + var(--tg-safe-bottom));padding:.5rem .75rem calc(.5rem + var(--tg-safe-bottom));border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#fdfefbf5;gap:.25rem;margin:0 auto;display:flex;position:fixed}.bottom-navigation__item{color:var(--color-muted);background:0 0;border-radius:.8rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;display:flex}.bottom-navigation__item.is-active{color:var(--color-accent);background:var(--color-accent-soft)}.centered-page{min-height:var(--tg-viewport-height);padding:calc(1.5rem + var(--tg-safe-top)) 1rem calc(1.5rem + var(--tg-safe-bottom));place-content:center;display:grid}.state-panel{text-align:center;width:min(100%,24rem);padding:1.5rem}.state-panel__mark{color:#fff;background:var(--color-accent);border-radius:1rem;place-items:center;width:3rem;height:3rem;margin:0 auto 1rem;font-weight:750;display:grid}.state-panel h1{margin-bottom:.65rem;font-size:1.4rem;line-height:1.2}.primary-button{color:#fff;background:var(--color-accent);border-radius:.8rem;width:100%;margin-top:1.25rem;font-weight:650}.inline-notice{width:min(100%,24rem);color:var(--color-muted);background:var(--color-accent-soft);text-align:center;border-radius:.75rem;margin-top:.75rem;padding:.8rem 1rem;font-size:.8rem}.today-page{min-width:0}.today-page__header{margin-bottom:1.2rem}.today-page__header h1{letter-spacing:-.04em;font-size:clamp(1.8rem,8vw,2.25rem);line-height:1.1}.today-page__header p{color:var(--color-muted);margin-top:.35rem;font-size:.78rem}.week-picker{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;margin-bottom:1.25rem;display:grid}.week-picker__day{min-width:0;color:var(--color-muted);background:0 0;border-radius:.85rem;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem 0;font-size:.62rem;display:flex}.week-picker__day strong{color:var(--color-ink);font-size:.93rem;font-weight:600}.week-picker__day i{background:currentColor;border-radius:50%;width:.2rem;height:.2rem}.week-picker__day.is-selected{color:#d1e1d9;background:var(--color-accent)}.week-picker__day.is-selected strong{color:#fff}.day-progress{margin-bottom:1.25rem}.day-progress__header{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.55rem;font-size:.72rem;display:flex}.day-progress__header span:last-child{color:var(--color-muted);text-align:right}.day-progress__track{background:#e1e8dd;border-radius:1rem;gap:.25rem;min-height:.25rem;display:flex}.day-progress__track i{background:#e1e8dd;border-radius:1rem;flex:1;height:.25rem}.day-progress__track i.is-complete{background:#619483}.day-progress--unknown .day-progress__track{background:repeating-linear-gradient(90deg,#dbe3d8 0 1rem,#eef1eb 1rem 1.5rem)}.today-refresh{color:var(--color-muted);margin:-.3rem 0 .75rem;font-size:.75rem}.today-state{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);text-align:center;padding:1.4rem 1.1rem}.today-state h2{font-size:1rem}.today-state p{color:var(--color-muted);margin-top:.4rem;font-size:.8rem;line-height:1.5}.today-state--error{border-color:#bd92446b}.today-state__retry{color:#fff;background:var(--color-accent);border-radius:.8rem;width:100%;margin-top:1rem;font-size:.82rem;font-weight:650}.today-state__loader,.today-state__empty-mark{width:2.75rem;height:2.75rem;color:var(--color-accent);background:var(--color-accent-soft);border-radius:.9rem;place-items:center;margin:0 auto .75rem;display:grid}.today-state__loader:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:.8rem;height:.8rem;animation:.8s linear infinite today-spin}.dose-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1.2rem;min-width:0;padding:1rem}.dose-card--primary{box-shadow:var(--shadow-card);border-radius:1.4rem;padding:1.1rem}.dose-card__time-row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;font-size:.75rem;display:flex}.dose-card__tag{color:#657b50;background:#edf2e8;border-radius:.4rem;padding:.3rem .5rem;font-size:.67rem}.dose-card__main{align-items:center;gap:.75rem;min-width:0;display:flex}.dose-card__icon{color:#66826a;background:#edf1e8;border-radius:.85rem;flex:0 0 2.75rem;place-items:center;width:2.75rem;height:2.75rem;display:grid}.dose-card--primary .dose-card__icon{color:#a66c43;background:#f5ebe2}.dose-card__copy{min-width:0}.dose-card__copy h3{overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.dose-card--primary .dose-card__copy h3{font-size:1.18rem}.dose-card__copy p,.dose-card__schedule,.dose-card__limit,.dose-card__action-status{color:var(--color-muted);font-size:.74rem;line-height:1.45}.dose-card__copy p{overflow-wrap:anywhere;margin-top:.25rem}.dose-card__schedule{margin-top:.8rem}.dose-card__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1rem;display:grid}.dose-action{color:#5d7066;background:#f3f5ef;border-radius:.75rem;min-width:0;padding:.45rem .5rem;font-size:.72rem;line-height:1.25}.dose-action--primary{color:#fff;background:var(--color-accent);grid-column:1/-1;justify-content:center;align-items:center;gap:.4rem;font-size:.82rem;font-weight:650;display:flex}.dose-action--primary svg{width:1.05rem;height:1.05rem}.dose-action:disabled{cursor:wait;opacity:.55}.dose-card__limit,.dose-card__action-status{margin-top:.6rem}.dose-card__action-status{color:var(--color-warning)}.today-section{margin-top:1.35rem}.today-section__heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 .2rem .7rem;display:flex}.today-section__heading h2{font-size:.82rem;font-weight:650}.today-section__heading p,.today-section__heading>span{color:var(--color-muted);font-size:.7rem}.today-section__heading p{margin-top:.25rem}.today-section__list{gap:.6rem;display:grid}.today-section--carry{border-top:1px solid var(--color-border);padding-top:1.2rem}.courses-page,.course-page,.course-create-page{min-width:0}.courses-page__header,.course-page__header,.course-create-page>header,.course-review>header{justify-content:space-between;align-items:center;gap:1rem;min-width:0;margin-bottom:1.25rem;display:flex}.course-create-page>header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.35rem}.courses-page__header h1,.course-create-page h1,.course-review h1{letter-spacing:-.04em;font-size:clamp(1.75rem,8vw,2.2rem);line-height:1.1}.courses-page__header p,.course-create-page>header p,.course-review__eyebrow{color:var(--color-muted);margin-top:.35rem;font-size:.76rem}.course-create-page>header p{margin-top:0}.courses-page__header>button{color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;flex:0 0 44px;place-items:center;font-size:1.45rem;display:grid}.courses-page__tabs{background:#e9eee4;border-radius:.8rem;gap:.2rem;margin-bottom:1.25rem;padding:.25rem;display:flex}.courses-page__tabs button{color:var(--color-muted);background:0 0;border-radius:.6rem;flex:1;font-size:.76rem}.courses-page__tabs button[aria-pressed=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:0 .15rem .35rem #233b270f}.courses-page__list{gap:.7rem;display:grid}.course-card,.courses-state,.course-detail-state,.course-page__error,.course-page__recovery,.course-review,.course-restore-notice{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0}.course-card{overflow:hidden}.course-card__open,.course-card__content{text-align:left;background:0 0;width:100%;min-width:0;padding:1rem;display:block}.course-card__heading,.course-card__heading>span:first-child,.course-card__calendar{min-width:0;display:flex}.course-card__heading{justify-content:space-between;align-items:flex-start;gap:.75rem}.course-card__heading>span:first-child{flex-direction:column;gap:.25rem}.course-card__heading strong,.course-card__heading>span:first-child>span,.course-card__schedule,.course-card__calendar span{overflow-wrap:anywhere}.course-card__heading strong{font-size:1rem;line-height:1.25}.course-card__heading>span:first-child>span,.course-card__schedule,.course-card__calendar{color:var(--color-muted);font-size:.73rem;line-height:1.45}.course-card__status{color:var(--color-warning);background:#f7efe0;border-radius:.4rem;flex:none;padding:.25rem .45rem;font-size:.66rem}.course-card__schedule{color:var(--color-ink);border-bottom:1px solid #eef0e9;margin-top:.95rem;padding-bottom:.75rem;display:block}.course-card__calendar{justify-content:space-between;gap:.75rem;margin-top:.75rem}.course-card__calendar span:last-child{text-align:right}.courses-state,.course-detail-state,.course-page__error,.course-page__recovery,.course-restore-notice{padding:1.1rem}.courses-state h2,.course-detail-state h1,.course-page__recovery h2,.course-restore-notice h2{font-size:1rem}.courses-state p,.course-detail-state p,.course-page__error p,.course-page__recovery p,.course-restore-notice p{color:var(--color-muted);margin-top:.4rem;font-size:.78rem;line-height:1.5}.courses-state button,.course-detail-state button,.course-page__recovery button{color:#fff;background:var(--color-accent);border-radius:.75rem;width:100%;margin-top:.8rem}.courses-state--error,.course-page__error,.course-restore-notice{border-color:#bd92446b}.course-restore-notice{background:#fffaf0;margin-bottom:1rem}.course-page{gap:.75rem;display:grid}.course-page__header{justify-content:flex-start;margin-bottom:.25rem}.course-page__header button{background:var(--color-accent-soft);border-radius:50%}.course-page__header h1{font-size:1.25rem}.course-page>button,.course-review__actions button,.course-create-page form>button{border-radius:.8rem;width:100%;font-weight:650}.course-page>button:not(:last-of-type),.course-review__actions button:not(.primary-button){color:var(--color-accent);background:var(--color-accent-soft)}.course-page>button:last-of-type{color:var(--color-warning);background:#f7efe0}.course-page button:disabled,.course-create-page button:disabled{cursor:wait;opacity:.55}.course-create-page form,.course-review{gap:.9rem;display:grid}.course-create-page form>label,.course-create-page fieldset label{color:#536961;font-size:.76rem;font-weight:600}.course-create-page input{width:100%;min-width:0;min-height:44px;color:var(--color-ink);background:var(--color-surface);font:inherit;border:1px solid #dfe5d9;border-radius:.75rem;margin-top:.4rem;padding:0 .75rem}.course-create-page input[aria-invalid=true]{border-color:var(--color-warning)}.course-create-page form>p:not(.inline-notice),.course-create-page fieldset+p{color:var(--color-warning);margin-top:-.65rem;font-size:.72rem}.course-create-page fieldset{border:0;gap:.5rem;min-width:0;margin:0;padding:0;display:grid}.course-create-page legend{color:#536961;margin-bottom:.25rem;font-size:.76rem;font-weight:650}.course-create-page fieldset:first-of-type>div{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.course-create-page fieldset button{color:var(--color-accent);background:var(--color-accent-soft);border-radius:.7rem;padding:0 .75rem}.course-create-page fieldset:nth-of-type(2){grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.course-create-page fieldset:nth-of-type(2) legend{grid-column:1/-1}.course-create-page fieldset:nth-of-type(2) label{background:#eef2e9;border-radius:.55rem;place-items:center;min-width:0;min-height:44px;font-size:.68rem;display:grid}.course-create-page fieldset:nth-of-type(2) input{opacity:0;width:1px;min-height:1px;margin:-1px;position:absolute}.course-create-page fieldset:nth-of-type(2) label:has(input:checked){color:#fff;background:var(--color-accent)}.course-create-page fieldset:nth-of-type(2) label:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:3px}.course-review{padding:1rem}.course-review__details{gap:0;margin:0;display:grid}.course-review__details>div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(5rem,.7fr) minmax(0,1.3fr);gap:.75rem;padding:.75rem 0;display:grid}.course-review__details dt{color:var(--color-muted);font-size:.72rem}.course-review__details dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.8rem}.course-review__actions{gap:.55rem;display:grid}.course-review__actions .primary-button,.course-create-page form>.primary-button{margin-top:0}.course-finish-dialog,.navigation-confirmation{border:1px solid var(--color-border);width:min(100% - 2rem,24rem);color:var(--color-ink);background:var(--color-surface);border-radius:1rem;padding:1.25rem;box-shadow:0 1rem 3rem #203c3833}.course-finish-dialog::backdrop,.navigation-confirmation::backdrop{background:#14231f6b}.course-finish-dialog h2,.navigation-confirmation h2{font-size:1.15rem}.course-finish-dialog p,.navigation-confirmation p{color:var(--color-muted);margin:.55rem 0 1rem;font-size:.8rem;line-height:1.5}.course-finish-dialog button,.navigation-confirmation button{background:var(--color-accent-soft);border-radius:.75rem;width:100%;margin-top:.5rem}.course-finish-dialog button:last-child,.danger-button{color:#fff;background:#8a4f3b!important}.navigation-confirmation__actions{gap:.25rem;display:grid}@keyframes today-spin{to{transform:rotate(360deg)}}@media (orientation:landscape) and (height<=520px){.page-content{padding-top:calc(1rem + var(--tg-safe-top));padding-bottom:calc(5.5rem + var(--tg-safe-bottom))}.page-header{margin-bottom:1rem}.bottom-navigation{min-height:calc(3.75rem + var(--tg-safe-bottom))}.bottom-navigation__item{flex-direction:row}.today-page{grid-template-columns:minmax(13rem,.8fr) minmax(17rem,1.2fr);align-items:start;gap:0 1.25rem;display:grid}.today-page__header,.week-picker,.day-progress{grid-column:1}.dose-card--primary,.today-state,.today-refresh{grid-area:1/2/span 3}.today-section{grid-column:1/-1}}@media (height<=520px){.app-layout:has(.course-create-page input:focus) .bottom-navigation{display:none}}@media (width>=431px){.page-content{padding-left:1.5rem;padding-right:1.5rem}}@media (prefers-reduced-motion:no-preference){button{transition:background-color .15s,transform .15s}button:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.today-state__loader:after{animation:none}}
