@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8298327da6d5bcce-s.3q4n78m6muld7.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.p.1d_6dtvtn9g3_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2b402d8aebffd579-s.16nfeub7ja6ze.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.1mvr14jy3vxq7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.1dqa_6e_ad4sj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_a90d8c07-module__ro7fjG__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_a90d8c07-module__ro7fjG__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c282a6db290773d-s.3njr7m_ajee7p.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/537f068cf010a382-s.p.2zhn7sxq2ls8-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c300beac511639d2-s.2o0bzljage01v.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a01ece5cbe79cced-s.1e8mg4pd4dmg7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/825d4e07c4597d86-s.0h-o_sy-t33o9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/65645b6ef686c6a1-s.2ns-h1x5lwkwz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Condensed;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ef1484efef1c9752-s.p.0vtrapzs99yg4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Condensed Fallback;src:local(Arial);ascent-override:104.44%;descent-override:27.48%;line-gap-override:0.0%;size-adjust:88.83%}.roboto_condensed_c899015-module__TRtioW__className{font-family:Roboto Condensed,Roboto Condensed Fallback;font-style:normal}.roboto_condensed_c899015-module__TRtioW__variable{--font-roboto-condensed:"Roboto Condensed", "Roboto Condensed Fallback"}
:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand-black:#000;--brand-gray:#484848;--brand-zinc:#e9fffc;--brand-sky:#d2edf4;--category-face:#ff9119;--category-oral:#4cc9e9;--category-hair:#e65fbe;--category-body:#fce200;--surface:#e9fffc;--surface-raised:#f7fffe;--surface-subtle:#d2edf4;--text:#132729;--muted:#484848;--border:#a9d2d4;--accent:#00ada9;--accent-strong:#009f9b;--accent-light:#00c8c3;--accent-ink:#003f3d;--inline-product-surface:#f7fffe;--inline-product-text:#132729;--inline-product-label:#006d6a;--danger:#b43c3c;--shadow:0 16px 42px #2442411a;--radius:14px;--app-bg:var(--surface);--app-raised:var(--surface-raised);--app-text:var(--text);--app-muted:var(--muted)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#172022;--surface-raised:#202b2d;--surface-subtle:#2a3638;--text:#edf4f2;--muted:#b7c5c3;--border:#5c6f6d;--accent-strong:#00ada9;--accent-light:#00c8c3;--accent-ink:#d9fffd;--danger:#ff9a9a;--shadow:0 16px 42px #00090a47}*{box-sizing:border-box}html{background:var(--app-bg);scroll-behavior:smooth;max-width:100%;min-height:100%;overflow-x:clip}body{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 34rem), var(--app-bg);min-width:320px;max-width:100%;min-height:100dvh;color:var(--app-text);font-family:var(--font-montserrat), Montserrat, Arial, sans-serif;text-rendering:optimizelegibility;margin:0;overflow-x:clip}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:inherit}img{max-width:100%;display:block}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent)}.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}.skip-link{z-index:30;border-radius:var(--radius);background:var(--app-text);min-height:2.8125rem;color:var(--app-bg);align-items:center;padding:.75rem 1rem;transition:transform .18s;display:inline-flex;position:fixed;inset-block-start:.5rem;inset-inline-start:.5rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-frame,.app-loading,.app-error{width:min(100%,75rem);min-height:100dvh;margin-inline:auto}.app-frame{padding:max(.75rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) calc(5.75rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;display:grid}.app-frame.is-onboarding{padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}.app-topbar,.brand-header{align-items:center;min-height:4.25rem;display:grid}.app-topbar{border-bottom:1px solid color-mix(in srgb, var(--border) 76%, transparent);grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem}.brand-mark{border-radius:var(--radius);object-fit:cover;flex:none;width:2.65rem;height:2.65rem;display:block}.app-heading{min-width:0}.app-heading h1,.app-heading p{margin:0}.app-heading h1{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.02rem,4.5vw,1.65rem);font-weight:720;line-height:1.06;overflow:hidden}.app-heading p{color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.82rem;overflow:hidden}.mode-labels{justify-content:flex-end;min-width:0;display:flex}.mode-label{border:1px solid color-mix(in srgb, var(--accent) 52%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 11%, var(--app-raised));min-height:2rem;color:var(--accent-ink);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;white-space:nowrap;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.offline-label{color:var(--app-text)}.app-content{width:100%;min-width:0;padding-block:1.25rem 2rem}.screen-transition{min-width:0}.app-navigation{z-index:20;inset-inline:max(.6rem, env(safe-area-inset-left)) max(.6rem, env(safe-area-inset-right));border:1px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--app-raised) 95%, transparent);min-height:4.35rem;box-shadow:var(--shadow);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset-block-end:max(.55rem, env(safe-area-inset-bottom));overflow:hidden}.app-navigation button{min-width:0;min-height:3.75rem;color:var(--app-muted);cursor:pointer;background:0 0;border:0;align-content:center;place-items:center;gap:.2rem;display:grid}.app-navigation button+button{border-left:1px solid color-mix(in srgb, var(--border) 62%, transparent)}.app-navigation button[aria-current=page]{background:color-mix(in srgb, var(--accent) 13%, var(--app-raised));color:var(--accent-strong)}.app-navigation button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.68rem;font-weight:650;overflow:hidden}.app-navigation button:active,.button:active,.complete-button:active,.product-link:active,.category-filter:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.app-content:focus,.app-content:focus-visible,.onboarding-copy h2:focus{outline:0}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}.button{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.9rem;padding:.72rem 1rem;font-size:.88rem;font-weight:720;line-height:1;text-decoration:none;transition:transform .18s,background-color .18s,border-color .18s;display:inline-flex}.button-primary{background:var(--accent-strong);color:var(--brand-black)}.button-secondary{border-color:var(--border);background:var(--app-raised);color:var(--app-text)}.button-ghost{color:var(--app-muted);background:0 0;border-color:#0000}.button-danger{border-color:color-mix(in srgb, var(--danger) 46%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--app-raised));color:var(--danger)}.icon-button{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius);background:var(--app-raised);width:2.8125rem;min-width:2.8125rem;height:2.8125rem;color:var(--app-text);cursor:pointer;place-items:center;display:inline-grid}.save-status{min-height:1.3rem;color:var(--app-muted);margin:.5rem 0 0;font-size:.82rem}.app-notice{z-index:25;border-radius:var(--radius);background:var(--app-text);width:fit-content;max-width:calc(100% - 2rem);box-shadow:var(--shadow);color:var(--app-bg);text-align:center;margin:auto;padding:.7rem .9rem;font-size:.82rem;position:fixed;inset-block-end:calc(5.45rem + env(safe-area-inset-bottom));inset-inline:1rem}.app-notice:empty{display:none}.onboarding-flow{align-content:center;gap:1.25rem;width:min(100%,46rem);min-height:34rem;margin-inline:auto;padding-block:clamp(1.5rem,7vw,3.5rem);display:grid}.onboarding-copy{gap:.75rem;display:grid}.onboarding-copy h2{letter-spacing:-.06em;max-width:13ch;margin:0;font-size:clamp(2.2rem,9vw,4.1rem);font-weight:740;line-height:.98}.onboarding-copy p{max-width:34ch;color:var(--app-muted);margin:0;font-size:.96rem;line-height:1.45}.onboarding-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.onboarding-choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--app-raised);min-width:0;min-height:10.5rem;color:var(--app-text);text-align:left;cursor:pointer;align-content:space-between;gap:.65rem;padding:1rem;transition:border-color .18s,background-color .18s,transform .18s;display:grid}.onboarding-choice svg{color:var(--accent-strong)}.onboarding-choice strong{font-size:1.2rem;line-height:1.1}.onboarding-choice span{color:var(--app-muted);font-size:.82rem;line-height:1.35}.onboarding-choice:hover,.onboarding-choice[data-selected=true]{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 12%, var(--app-raised))}.onboarding-choice:focus-visible,.onboarding-skip:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.onboarding-choice:disabled,.onboarding-skip:disabled{cursor:wait;opacity:.65}.onboarding-skip{min-height:2.8125rem;color:var(--app-muted);font:inherit;text-underline-offset:.25rem;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.45rem 0;font-size:.88rem;text-decoration:underline}@media (max-width:350px){.onboarding-choices{grid-template-columns:minmax(0,1fr)}.onboarding-choice{min-height:8.25rem}}.today-view,.protocol-view{gap:1.5rem;display:grid}.today-summary,.protocol-overview{border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%), var(--app-raised);gap:1rem;padding:clamp(1rem,4vw,1.6rem);display:grid}.today-summary{grid-template-columns:minmax(0,1fr) auto;align-items:end}.today-date,.daily-time-note,.time-label{color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;align-items:center;gap:.4rem;font-size:.84rem;font-weight:650;display:inline-flex}.today-lead{letter-spacing:-.045em;max-width:28ch;margin:1.25rem 0 0;font-size:clamp(1.35rem,6vw,2.25rem);font-weight:690;line-height:1.05}.today-progress{text-align:right;gap:.12rem;min-width:5.9rem;display:grid}.today-progress strong{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;font-size:1.3rem}.today-progress span{color:var(--app-muted);font-size:.72rem}.daily-time-note{padding-inline:.2rem}.today-sun-guidance,.city-setup-card,.sun-guidance-card{min-width:0}.city-setup-card,.sun-guidance-card{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-top:3px solid var(--accent-strong);border-radius:var(--radius);background:var(--app-raised);box-shadow:0 .8rem 2rem color-mix(in srgb, var(--brand-black) 8%, transparent);padding:clamp(1rem,4.5vw,1.45rem);position:relative;overflow:hidden}.city-setup-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;display:grid}.city-setup-icon,.sun-guidance-orb{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 16%, var(--surface-subtle));color:var(--accent-strong);place-items:center;display:grid}.city-setup-icon{width:2.9rem;height:2.9rem}.city-setup-heading h2,.city-setup-heading p,.city-setup-lead{margin:0}.city-setup-heading h2{letter-spacing:-.04em;margin-top:.12rem;font-size:clamp(1.25rem,5vw,1.65rem)}.city-setup-heading .eyebrow{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:760}.city-setup-lead{max-width:48ch;color:var(--app-muted);margin-top:.85rem;font-size:.84rem;line-height:1.55}.city-search-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;margin-top:1rem;display:grid}.city-search-form .form-field{min-width:0;margin-top:0}.city-input-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--app-bg);min-width:0;min-height:3rem;color:var(--accent-strong);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding-inline:.75rem;display:grid}.city-input-wrap:focus-within{border-color:var(--accent-strong)}.city-input-wrap input{width:100%;min-width:0;min-height:2.8rem;color:var(--app-text);background:0 0;border:0;outline:0}.city-input-wrap input::placeholder{color:color-mix(in srgb, var(--app-muted) 74%, transparent)}.city-search-button{min-height:3rem}.city-privacy-note{color:var(--app-muted);grid-template-columns:auto minmax(0,1fr);gap:.45rem;margin:.75rem 0 0;font-size:.72rem;line-height:1.45;display:grid}.city-privacy-note svg{color:var(--accent-strong);margin-top:.08rem}.city-results{border:0;gap:.55rem;min-width:0;margin:1rem 0 0;padding:0;display:grid}.city-results legend{color:var(--app-muted);margin-bottom:.5rem;font-size:.74rem;font-weight:700}.city-result{border:1px solid color-mix(in srgb, var(--border) 86%, transparent);border-radius:var(--radius);background:var(--app-bg);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;min-height:3.5rem;padding:.65rem .75rem;display:grid;position:relative}.city-result.is-selected{border-color:var(--accent-strong);background:color-mix(in srgb, var(--accent) 9%, var(--app-raised))}.city-result input{opacity:0;width:1px;height:1px;position:absolute}.city-result:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:3px}.city-result-copy{gap:.18rem;min-width:0;display:grid}.city-result-copy strong{font-size:.84rem}.city-result-copy small{overflow-wrap:anywhere;color:var(--app-muted);font-size:.7rem;line-height:1.35}.city-result>svg{color:var(--accent-strong)}.city-setup-actions{justify-content:flex-end;gap:.55rem;margin-top:.35rem;display:flex}.city-setup-message{min-height:1.1rem;color:var(--app-muted);margin:.55rem 0 0;font-size:.74rem;line-height:1.4}.sun-guidance-extra-protection{border-top-color:var(--category-face)}.sun-guidance-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.8rem;display:grid}.sun-guidance-header h2,.sun-guidance-header p{margin:0}.sun-guidance-header h2{letter-spacing:-.04em;margin-top:.35rem;font-size:clamp(1.25rem,5vw,1.65rem)}.sun-guidance-header h2+p{color:var(--app-muted);margin-top:.2rem;font-size:.72rem}.sun-guidance-kicker{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;align-items:center;gap:.3rem;font-size:.72rem;font-weight:740;display:inline-flex}.sun-guidance-signal{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.85rem;margin-top:1.15rem;display:grid}.sun-guidance-orb{width:3.7rem;height:3.7rem}.sun-guidance-extra-protection .sun-guidance-orb{background:color-mix(in srgb, var(--category-face) 15%, var(--surface-subtle));color:color-mix(in srgb, var(--category-face) 82%, var(--app-text))}.sun-guidance-signal>div{gap:.1rem;min-width:0;display:grid}.sun-guidance-uv{font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:-.055em;font-size:clamp(1.85rem,8vw,2.65rem);line-height:.95}.sun-guidance-label{color:var(--accent-strong);font-size:.8rem;font-weight:750}.sun-guidance-recommendation{margin:.95rem 0 0;font-size:.88rem;font-weight:580;line-height:1.55}.sun-guidance-weather{flex-wrap:wrap;gap:.45rem;min-width:0;margin-top:.85rem;display:flex}.sun-guidance-weather span{border-radius:var(--radius);background:var(--surface-subtle);min-height:2.25rem;color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;align-items:center;gap:.3rem;padding:.45rem .6rem;font-size:.75rem;font-weight:650;display:inline-flex}.sun-guidance-weather svg{color:var(--accent-strong)}.sun-guidance-stale{border-inline-start:3px solid var(--category-face);color:var(--app-muted);margin:.75rem 0 0;padding-inline-start:.55rem;font-size:.72rem;font-weight:700}.sun-guidance-updated,.sun-guidance-disclaimer{color:var(--app-muted);font-size:.68rem;line-height:1.45}.sun-guidance-updated{margin:.75rem 0 0}.sun-guidance-disclaimer{margin:.3rem 0 0}.sun-guidance-footer{border-top:1px solid color-mix(in srgb, var(--border) 74%, transparent);flex-wrap:wrap;gap:.35rem .8rem;margin-top:.85rem;padding-top:.75rem;display:flex}.sun-guidance-footer a{color:var(--app-muted);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 55%, transparent);text-underline-offset:.2rem;font-size:.65rem}.sun-guidance-skeleton{gap:.65rem;display:grid}.sun-guidance-skeleton>span{border-radius:var(--radius);background:var(--surface-subtle);display:block}.sun-guidance-skeleton .skeleton-line{width:100%;height:.75rem;margin:0}.sun-guidance-skeleton .skeleton-short{width:38%}.sun-guidance-skeleton .skeleton-medium{width:68%}.sun-guidance-skeleton .skeleton-uv{width:7.5rem;height:3.7rem}.protocol-group{min-width:0}.protocol-group-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.85rem;display:flex}.protocol-group-header h2{letter-spacing:-.035em;margin:0;font-size:1.25rem}.protocol-track{min-width:0;position:relative}.protocol-rail{background:color-mix(in srgb, var(--accent) 68%, var(--border));transform-origin:top;width:2px;position:absolute;inset-block:1.25rem;inset-inline-start:1.05rem}.protocol-steps{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.protocol-step{grid-template-columns:2.2rem minmax(0,1fr);gap:.7rem;display:grid;position:relative}.protocol-node{z-index:1;border:1px solid var(--accent-strong);background:var(--app-bg);width:2.15rem;height:2.15rem;color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:50%;place-items:center;font-size:.77rem;font-weight:750;display:grid;position:relative}.protocol-step.is-complete .protocol-node{background:var(--accent-strong);color:var(--brand-black)}.protocol-step-content{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius);background:var(--app-raised);min-width:0;padding:.9rem}.protocol-step-heading{grid-template-columns:minmax(0,1fr) auto;gap:.75rem;display:grid}.protocol-step-heading h3,.protocol-step-heading p{margin:0}.protocol-step-heading h3{letter-spacing:-.02em;font-size:.98rem}.protocol-step-heading p{color:var(--app-muted);margin-top:.4rem;font-size:.82rem;line-height:1.5}.protocol-step-heading>span{color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;white-space:nowrap;font-size:.72rem}.frequency-note{color:var(--accent-strong);margin:.65rem 0 0;font-size:.75rem;font-weight:650}.inline-product{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:var(--radius);background:var(--inline-product-surface);min-height:5.25rem;color:var(--inline-product-text);grid-template-columns:4rem minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-top:.8rem;padding:.65rem;text-decoration:none;display:grid;box-shadow:0 .5rem 1.5rem #00ada91f}.inline-product-image,.inline-product-placeholder{border:1px solid color-mix(in srgb, var(--border) 70%, white);border-radius:calc(var(--radius) - 4px);object-fit:contain;background:#fff;width:4rem;height:4rem}.inline-product-placeholder{color:var(--inline-product-label);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;place-items:center;font-weight:800;display:grid}.inline-product-copy{gap:.22rem;min-width:0;display:grid}.inline-product-copy strong,.commercial-label{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.035em;text-transform:uppercase;font-size:.67rem;font-weight:750}.inline-product-copy strong{color:var(--inline-product-label)}.inline-product-copy>span{color:var(--inline-product-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.82rem;font-weight:700;line-height:1.4;display:-webkit-box;overflow:hidden}.inline-product-outbound{border-radius:calc(var(--radius) - 3px);background:var(--brand-black);color:#fff;justify-content:center;align-items:center;gap:.3rem;min-height:2.75rem;padding:.55rem .75rem;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.inline-product-promo{grid-column:1/-1;min-width:0}.complete-button,.completed-label{border-radius:var(--radius);align-items:center;gap:.45rem;min-height:2.75rem;margin-top:.8rem;padding:.55rem .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.complete-button{border:1px solid var(--border);cursor:pointer;background:0 0}.completed-label{color:var(--accent-strong)}.protocol-empty{border-radius:var(--radius);background:var(--surface-subtle);color:var(--app-muted);margin:0;padding:1rem;font-size:.84rem}.guide-trigger{border:1px solid color-mix(in srgb, var(--accent-strong) 72%, var(--border));background:color-mix(in srgb, var(--accent) 8%, transparent);min-height:2.75rem;color:var(--accent-strong);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;margin-top:.75rem;padding:.55rem .8rem;font-size:.76rem;font-weight:750;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.guide-trigger:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}.guide-trigger:active{transform:translateY(1px)scale(.99)}.guide-trigger:focus-visible,.guide-toolbar button:focus-visible,.guide-timer-actions button:focus-visible,.guide-sticky-action button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);outline-offset:2px}.guide-backdrop{z-index:90;isolation:isolate;background:#07202194;align-items:end;min-width:0;display:grid;position:fixed;inset:0;overflow:hidden}.guide-sheet{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 15rem), var(--app-bg);width:min(100%,42rem);min-width:0;height:100dvh;min-height:0;max-height:100dvh;color:var(--app-text);overscroll-behavior:contain;border-radius:1.5rem 1.5rem 0 0;grid-template-rows:auto minmax(0,1fr) auto;margin-inline:auto;display:grid;overflow:hidden;box-shadow:0 -1.25rem 4rem #001c1d33}.guide-toolbar{z-index:2;border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:color-mix(in srgb, var(--app-bg) 94%, transparent);min-height:4.25rem;padding:max(.7rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .7rem max(1rem, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.guide-toolbar>span{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.guide-toolbar button{border:1px solid var(--border);background:var(--app-raised);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:2.75rem;height:2.75rem;display:grid}.guide-scroll{overscroll-behavior-y:contain;min-width:0;padding:.75rem max(1rem, env(safe-area-inset-right)) 2rem max(1rem, env(safe-area-inset-left));scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;overflow:clip auto}.guide-visual{aspect-ratio:4/3;background:var(--surface-subtle);border-radius:1.1rem;width:100%;position:relative;overflow:hidden}.guide-sheet img{object-fit:cover;width:100%;height:100%}.guide-intro{margin-top:1.35rem}.guide-intro p,.guide-intro h2,.guide-intro span{margin:0}.guide-intro p{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:800}.guide-intro h2{letter-spacing:-.055em;text-wrap:balance;max-width:19ch;margin-top:.35rem;font-size:clamp(1.55rem,7vw,2.35rem);line-height:1}.guide-intro>span{max-width:42rem;color:var(--app-muted);margin-top:.75rem;font-size:.84rem;line-height:1.55;display:block}.guide-facts{border:1px solid var(--border);background:var(--app-raised);border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:1.25rem 0 0;display:grid;overflow:hidden}.guide-facts div{min-width:0;padding:.8rem .65rem}.guide-facts div+div{border-left:1px solid var(--border)}.guide-facts dt{color:var(--app-muted);font-size:.62rem}.guide-facts dd{overflow-wrap:anywhere;font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;margin:.25rem 0 0;font-size:.82rem;font-weight:750;line-height:1.25}.guide-section{margin-top:1.7rem}.guide-section>h3,.guide-correct-feel h3{letter-spacing:-.025em;margin:0;font-size:1rem}.guide-checklist,.guide-steps,.guide-mistakes{margin:.85rem 0 0;padding:0;list-style:none}.guide-checklist{gap:.65rem;display:grid}.guide-checklist li{color:var(--app-muted);grid-template-columns:1.5rem minmax(0,1fr);align-items:start;gap:.45rem;font-size:.8rem;line-height:1.45;display:grid}.guide-checklist svg{color:var(--accent-strong)}.guide-steps{counter-reset:guide-step}.guide-steps li{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);grid-template-columns:2.25rem minmax(0,1fr);gap:.8rem;padding-block:.9rem;display:grid}.guide-steps li:last-child{border-bottom:1px solid color-mix(in srgb, var(--border) 72%, transparent)}.guide-steps li>span{border:1px solid var(--accent-strong);width:2.15rem;height:2.15rem;color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:50%;place-items:center;font-size:.76rem;font-weight:800;display:grid}.guide-steps h4,.guide-steps p{margin:0}.guide-steps h4{letter-spacing:-.015em;font-size:.88rem}.guide-steps p{color:var(--app-muted);margin-top:.35rem;font-size:.78rem;line-height:1.5}.guide-timer{border:1px solid color-mix(in srgb, var(--accent) 52%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--app-raised));border-radius:1rem;margin-top:1.5rem;padding:.9rem}.guide-timer>div:first-child{color:var(--accent-strong);align-items:center;gap:.65rem;display:flex}.guide-timer>div:first-child span{gap:.12rem;display:grid}.guide-timer small{color:var(--app-muted);font-size:.64rem}.guide-timer strong{font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.45rem}.guide-timer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.8rem;display:grid}.guide-timer-actions button{border:1px solid var(--border);background:var(--app-raised);cursor:pointer;border-radius:.8rem;justify-content:center;align-items:center;gap:.4rem;min-width:0;min-height:2.75rem;font-size:.72rem;font-weight:750;display:inline-flex}.guide-timer-actions button:disabled{opacity:.48;cursor:default}.guide-timer>p{min-height:1rem;color:var(--accent-strong);margin:.45rem 0 0;font-size:.7rem;font-weight:700}.guide-correct-feel,.guide-safety{border-radius:1rem;grid-template-columns:auto minmax(0,1fr);gap:.7rem;margin-top:1.5rem;padding:1rem;display:grid}.guide-correct-feel{background:var(--app-text);color:var(--app-bg)}.guide-correct-feel p,.guide-safety p{margin:.4rem 0 0;font-size:.78rem;line-height:1.5}.guide-correct-feel svg{color:var(--accent-light)}.guide-mistakes{gap:.55rem;display:grid}.guide-mistakes li{color:var(--app-muted);padding-left:1.15rem;font-size:.78rem;line-height:1.45;position:relative}.guide-mistakes li:before{background:var(--category-face);content:"";border-radius:50%;width:.38rem;height:.38rem;position:absolute;inset-block-start:.65em;inset-inline-start:0}.guide-safety{border:1px solid color-mix(in srgb, var(--category-face) 42%, var(--border));background:color-mix(in srgb, var(--category-face) 7%, var(--app-raised));color:var(--app-muted)}.guide-safety svg{color:color-mix(in srgb, var(--category-face) 80%, var(--app-text))}.guide-safety p{margin:0}.guide-sticky-action{z-index:2;border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);background:var(--app-bg);padding:.75rem max(1rem, env(safe-area-inset-right)) calc(.75rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));position:relative}.guide-sticky-action button{background:var(--accent);width:100%;min-height:3.15rem;color:var(--brand-black);cursor:pointer;border:0;border-radius:.9rem;justify-content:center;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.guide-sticky-action button:disabled{background:color-mix(in srgb, var(--accent) 48%, var(--app-raised));cursor:default}.protocol-overview h2,.protocol-overview p{margin:0}.protocol-overview h2{letter-spacing:-.045em;font-size:clamp(1.45rem,6vw,2.2rem)}.protocol-overview p{max-width:42ch;color:var(--app-muted);margin-top:.45rem;font-size:.84rem;line-height:1.5}.protocol-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.protocol-times div{border-left:2px solid var(--accent);gap:.18rem;padding-left:.7rem;display:grid}.protocol-times dt{color:var(--app-muted);font-size:.7rem}.protocol-times dd{font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;margin:0;font-size:1.15rem;font-weight:750}.safety-panel{border-radius:var(--radius);background:var(--surface-subtle);padding:1rem}.safety-heading{align-items:center;gap:.65rem;display:flex}.safety-heading h2{margin:0;font-size:1rem}.safety-panel ul{color:var(--app-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.2rem;margin:.85rem 0 0;padding-left:1rem;font-size:.76rem;line-height:1.45;display:grid}.catalog-view{min-width:0}.catalog-controls{gap:.8rem;display:grid}.search-field{border:1px solid var(--border);border-radius:var(--radius);background:var(--app-raised);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3.15rem;padding-inline:.85rem;display:grid}.search-field:focus-within{border-color:var(--accent-strong);outline:3px solid color-mix(in srgb, var(--accent) 38%, transparent)}.search-field input{width:100%;min-width:0;min-height:2.85rem;color:var(--app-text);background:0 0;border:0;outline:0;font-size:.88rem}.search-field input::placeholder{color:color-mix(in srgb, var(--app-muted) 88%, transparent)}.search-field button{background:0 0;border:0;place-items:center;width:2.75rem;height:2.75rem;display:grid}.category-scroll{scrollbar-width:none;scroll-snap-type:x proximity;gap:.45rem;max-width:100%;padding:.18rem .12rem .45rem;display:flex;overflow-x:auto}.category-scroll::-webkit-scrollbar{display:none}.category-filter{--category-accent:var(--accent);scroll-snap-align:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--app-raised);flex:none;min-height:2.75rem;padding:.6rem .78rem;font-size:.76rem;font-weight:650}.category-filter[data-category=face-care],.product-card[data-category=face-care]{--category-accent:var(--category-face)}.category-filter[data-category=hair-care],.product-card[data-category=hair-care]{--category-accent:var(--category-hair)}.category-filter[data-category=body-care],.category-filter[data-category=sun-care],.product-card[data-category=body-care],.product-card[data-category=sun-care]{--category-accent:var(--category-body)}.category-filter[data-category=grooming],.product-card[data-category=grooming]{--category-accent:var(--accent-strong)}.category-filter[data-category=fragrance],.category-filter[data-category=gift-set],.category-filter[data-category=other],.product-card[data-category=fragrance],.product-card[data-category=gift-set],.product-card[data-category=other]{--category-accent:var(--accent-light)}.category-filter[aria-pressed=true]{border-color:var(--category-accent);background:color-mix(in srgb, var(--category-accent) 24%, var(--app-raised));color:var(--app-text)}.catalog-count{color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;margin:.65rem 0 .9rem;font-size:.76rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.product-card{--category-accent:var(--accent);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-block-start:3px solid var(--category-accent);border-radius:var(--radius);background:var(--app-raised);grid-template-rows:auto 1fr auto;min-width:0;display:grid;overflow:hidden}.product-media{aspect-ratio:1;background:#edf1ef;overflow:hidden}.product-media img{object-fit:contain;width:100%;height:100%}.missing-media{color:#52605f;align-content:center;place-items:center;gap:.35rem;height:100%;display:grid}.missing-media strong{font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:-.06em;font-size:clamp(1.6rem,10vw,3rem)}.missing-media span{font-size:.68rem}.product-copy{align-content:start;gap:.42rem;padding:.75rem .7rem .5rem;display:grid}.product-copy h2,.product-copy p{margin:0}.product-copy h2{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;font-weight:650;line-height:1.38;display:-webkit-box;overflow:hidden}.product-copy p{color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;font-size:.67rem}.product-link{border-radius:calc(var(--radius) - 3px);background:var(--app-text);min-height:2.85rem;color:var(--app-bg);justify-content:space-between;align-items:center;gap:.4rem;margin:0;padding:.55rem .7rem;font-size:.75rem;font-weight:700;text-decoration:none;display:flex}.product-actions{gap:.45rem;margin:.35rem .55rem .55rem;display:grid}.product-promo{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:calc(var(--radius) - 3px);background:color-mix(in srgb, var(--accent) 9%, var(--app-raised));grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .45rem;min-width:0;padding:.5rem;display:grid}.product-promo[data-demo=true]{border-inline-start:3px solid var(--accent)}.product-promo-label{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.025em;text-transform:uppercase;grid-column:1/-1;font-size:.64rem;font-weight:780}.product-promo code{overflow-wrap:anywhere;min-width:0;color:var(--app-text);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;-webkit-user-select:all;user-select:all;font-size:.78rem;font-weight:800}.product-promo button{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--border));background:var(--app-raised);min-height:2.8125rem;color:var(--accent-ink);cursor:pointer;border-radius:.65rem;justify-content:center;align-items:center;gap:.32rem;padding:.5rem .62rem;font-size:.68rem;font-weight:760;display:inline-flex}.product-actions .product-promo button{grid-column:1/-1}.inline-product .product-promo{color:var(--inline-product-text);background:#e6f7f5}.inline-product .product-promo-label{color:var(--inline-product-label)}.inline-product .product-promo code{color:var(--inline-product-text)}.inline-product .product-promo button{color:var(--inline-product-label);background:#fff}.product-promo button:focus-visible,.product-promo code:focus-visible,.inline-product-outbound:focus-visible{outline:3px solid color-mix(in srgb, var(--accent-light) 64%, white);outline-offset:2px}.product-promo button:active,.inline-product-outbound:active{transform:translateY(1px)}.empty-state,.error-state{border-radius:var(--radius);background:var(--app-raised);justify-items:start;padding:clamp(1.2rem,6vw,2.4rem);display:grid}.empty-state h2,.empty-state p,.error-state h1,.error-state p{margin:0}.empty-state h2,.error-state h1{letter-spacing:-.045em;margin-top:.8rem;font-size:clamp(1.55rem,7vw,2.5rem)}.empty-state p,.error-state p{max-width:32ch;color:var(--app-muted);margin-top:.45rem;font-size:.86rem;line-height:1.5}.empty-state .button,.error-state .button{margin-top:1rem}.settings-view{gap:1rem;display:grid}.settings-section{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius);background:var(--app-raised);padding:clamp(1rem,5vw,1.5rem)}.settings-title{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.settings-title>svg{color:var(--accent-strong)}.settings-title h2,.settings-title p{margin:0}.appearance-section{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 68%), var(--app-raised);overflow:hidden}.theme-segments{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius);background:var(--surface-subtle);grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;margin-top:1.1rem;padding:.3rem;display:grid}.theme-segments button{z-index:0;border-radius:calc(var(--radius) - 4px);min-width:0;min-height:2.75rem;color:var(--app-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .45rem;font-size:.72rem;font-weight:720;display:inline-flex;position:relative;overflow:hidden}.theme-segments button[aria-pressed=true]{color:var(--app-text)}.theme-segment-active{z-index:-1;border:1px solid color-mix(in srgb, var(--accent) 36%, var(--border));border-radius:inherit;background:var(--app-raised);box-shadow:0 .3rem .9rem color-mix(in srgb, var(--app-text) 9%, transparent);position:absolute;inset:0}.theme-current{color:var(--app-muted);margin:.65rem 0 0;font-size:.72rem;line-height:1.45}.settings-title h2{letter-spacing:-.025em;font-size:1.1rem}.settings-title p{max-width:46ch;color:var(--app-muted);margin-top:.35rem;font-size:.8rem;line-height:1.5}.spf-city-saved,.spf-city-empty{border-radius:var(--radius);background:var(--surface-subtle);gap:.25rem;min-width:0;margin-top:1rem;padding:.85rem;display:grid}.spf-city-saved strong,.spf-city-empty strong{overflow-wrap:anywhere;font-size:.86rem}.spf-city-saved>span,.spf-city-empty>span{color:var(--app-muted);font-size:.72rem;line-height:1.4}.spf-city-actions{flex-wrap:wrap;gap:.5rem;margin-top:.65rem;display:flex}.spf-city-empty>.button{justify-self:start;margin-top:.65rem}.toggle-row{border-radius:var(--radius);background:var(--surface-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.2rem;padding:.85rem;display:grid}.toggle-row>span{gap:.2rem;display:grid}.toggle-row strong{font-size:.82rem}.toggle-row small,.form-field small{color:var(--app-muted);font-size:.7rem}.toggle-row input{appearance:none;border-radius:var(--radius);cursor:pointer;background:0 0;border:0;width:3.25rem;height:2.75rem;position:relative}.toggle-row input:before{border:1px solid var(--border);border-radius:var(--radius);background:var(--app-raised);content:"";width:3rem;height:1.75rem;transition:border-color .18s,background-color .18s;position:absolute;inset-block-start:.5rem;inset-inline-start:.125rem}.toggle-row input:after{background:var(--app-muted);content:"";border-radius:50%;width:1.25rem;height:1.25rem;transition:transform .18s,background-color .18s;position:absolute;inset-block-start:.75rem;inset-inline-start:.325rem}.toggle-row input:checked{background:0 0}.toggle-row input:checked:before{border-color:var(--accent-strong);background:var(--accent-strong)}.toggle-row input:checked:after{background:var(--brand-black);transform:translate(1.25rem)}.form-field{gap:.45rem;margin-top:1rem;font-size:.78rem;font-weight:650;display:grid}.time-input-wrap{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-height:3rem;padding-inline:.8rem;display:grid}.time-input-wrap input{min-height:2.75rem;color:var(--app-text);background:0 0;border:0;outline:0}.settings-save{width:100%;margin-top:1rem}.channel-section{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 13%, transparent), transparent 68%), var(--app-raised)}.channel-section .button,.channel-unavailable{width:100%;margin-top:1rem}.channel-unavailable{border-radius:var(--radius);background:var(--surface-subtle);gap:.25rem;padding:.85rem;display:grid}.channel-unavailable strong{font-size:.8rem}.channel-unavailable span{color:var(--app-muted);font-size:.72rem}.course-library-view,.course-detail-view{gap:1.2rem;min-width:0;display:grid}.course-library-intro{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:calc(var(--radius) + 4px);background:linear-gradient(132deg, color-mix(in srgb, var(--accent) 22%, transparent), transparent 58%), var(--app-raised);align-content:end;min-height:9.5rem;padding:clamp(1.1rem,5vw,1.7rem);display:grid;position:relative;overflow:hidden}.course-library-intro:after{border:1.5rem solid color-mix(in srgb, var(--accent) 18%, transparent);content:"";border-radius:50%;width:8rem;height:8rem;position:absolute;inset-block-start:-2.5rem;inset-inline-end:-1.5rem}.course-library-intro h2,.course-library-intro p,.course-stage-section h3,.course-preview-section h3{margin:0}.course-library-intro h2{letter-spacing:-.065em;max-width:9ch;font-size:clamp(2rem,10vw,4rem);font-weight:780;line-height:.92}.course-library-intro p{max-width:36rem;color:var(--app-muted);margin-top:.8rem;font-size:.84rem;line-height:1.55}.course-kicker{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.55rem;font-size:.72rem;font-weight:800;display:block}.course-filter-rail{scroll-snap-type:x proximity;scrollbar-width:thin;gap:.45rem;max-width:100%;padding:.15rem .05rem .5rem;display:flex;overflow-x:auto}.course-filter-rail button{scroll-snap-align:start;border:1px solid var(--border);background:var(--app-raised);min-height:2.75rem;color:var(--app-muted);cursor:pointer;border-radius:999px;flex:none;padding:.65rem .9rem;font-size:.75rem;font-weight:680}.course-filter-rail button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--brand-black)}.course-card-grid{gap:.9rem;min-width:0;display:grid}.course-card,.course-detail-hero{--course-accent:var(--accent)}.course-card[data-category=face],.course-detail-hero[data-category=face]{--course-accent:var(--category-face)}.course-card[data-category=hair],.course-detail-hero[data-category=hair]{--course-accent:var(--category-hair)}.course-card[data-category=body],.course-detail-hero[data-category=body]{--course-accent:var(--category-body)}.course-card{border:1px solid var(--border);border-top:3px solid var(--course-accent);border-radius:calc(var(--radius) + 2px);background:var(--app-raised);gap:1rem;min-width:0;padding:1rem;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #18434212}.course-card.is-featured{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 16%, transparent), transparent 64%), var(--app-raised)}.course-card-cover{aspect-ratio:3/2;border-bottom:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--brand-black);isolation:isolate;margin:-1rem -1rem 0;position:relative;overflow:hidden}.course-card-cover:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#0000,#000a0ac2);position:absolute;inset:42% 0 0}.course-card-cover img,.course-detail-cover img{object-fit:cover}.course-card-cover>span{z-index:2;color:#fff;font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.12em;font-size:.65rem;font-weight:800;position:absolute;inset-block-end:.75rem;inset-inline-start:.8rem}.course-card-topline,.course-badges,.course-card-meta,.course-card-action,.course-detail-badges,.course-detail-meta,.course-lock{align-items:center;display:flex}.course-card-topline{justify-content:space-between;gap:.75rem}.course-category-icon{background:color-mix(in srgb, var(--course-accent) 20%, var(--app-raised));width:2.5rem;height:2.5rem;color:color-mix(in srgb, var(--course-accent) 78%, var(--app-text));border-radius:50%;flex:none;place-items:center;display:inline-grid}.course-badges,.course-detail-badges{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;min-width:0}.course-featured-label,.course-access,.course-lock{min-height:1.75rem;font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:999px;padding:.35rem .6rem;font-size:.68rem;font-weight:760}.course-featured-label{background:color-mix(in srgb, var(--accent) 17%, var(--app-raised));color:var(--accent-ink)}.course-featured-label.is-personal{border:1px solid color-mix(in srgb, var(--accent) 62%, transparent);background:var(--accent);color:var(--brand-black)}.course-access{border:1px solid color-mix(in srgb, var(--accent) 44%, var(--border));background:var(--app-raised);color:var(--accent-ink);align-items:center;gap:.28rem;display:inline-flex}.course-access.is-premium{border-color:color-mix(in srgb, var(--category-body) 58%, var(--border));background:color-mix(in srgb, var(--category-body) 14%, var(--app-raised));color:var(--app-text)}.course-card-copy h3,.course-card-copy p{margin:0}.course-card-copy h3{letter-spacing:-.045em;max-width:15ch;font-size:clamp(1.3rem,6vw,1.85rem);line-height:1}.course-card-copy p{color:var(--app-muted);margin-top:.55rem;font-size:.78rem;line-height:1.5}.course-card-meta,.course-detail-meta{flex-wrap:wrap;gap:.45rem}.course-card-meta span,.course-detail-meta span{background:var(--surface-subtle);min-height:1.8rem;color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:999px;align-items:center;gap:.28rem;padding:.35rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}.course-card-progress{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);gap:.6rem;padding-top:.9rem;display:grid}.course-card-progress>div:first-child{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.72rem;display:flex}.course-card-progress span{color:var(--app-muted)}.course-card-action{border:1px solid color-mix(in srgb, var(--accent) 58%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 12%, var(--app-raised));min-height:2.75rem;color:var(--accent-ink);cursor:pointer;justify-content:center;gap:.45rem;padding:.7rem .9rem;font-size:.78rem;font-weight:760}.course-card-action svg:last-child{margin-inline-start:auto}.course-ribbon{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 5%, var(--app-raised));min-width:0;padding:.8rem .7rem .75rem;position:relative;overflow:hidden}.course-ribbon-header{justify-content:space-between;align-items:baseline;gap:.75rem;min-width:0;padding-inline:.15rem;display:flex}.course-ribbon-header span,.course-ribbon-header strong{line-height:1.2}.course-ribbon-header span{color:var(--app-text);font-size:.72rem;font-weight:760}.course-ribbon-header strong{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;white-space:nowrap;font-size:.68rem;font-weight:760}.course-ribbon-route{min-width:0;margin:.75rem -.2rem 0;padding:.05rem .2rem 0}.course-ribbon-route-inner{--stage-count:1;min-width:100%;position:relative}.course-ribbon-track{z-index:0;inset-block-start:.72rem;inset-inline:calc(50% / var(--stage-count));background:color-mix(in srgb, var(--border) 84%, transparent);border-radius:999px;height:2px;position:absolute;overflow:hidden}.course-ribbon-fill{border-radius:inherit;background:var(--accent);position:absolute;inset:0}.course-ribbon-stages{z-index:1;grid-template-columns:repeat(var(--stage-count), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid;position:relative}.course-ribbon-stages li{min-width:0;color:var(--app-muted);text-align:center;grid-template-rows:1.55rem;align-content:start;justify-items:center;padding-inline:.16rem;display:grid}.course-ribbon-marker{border:1.5px solid color-mix(in srgb, var(--border) 82%, var(--app-muted));background:var(--app-raised);width:1.55rem;height:1.55rem;color:var(--app-muted);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--app-raised) 82%, transparent);border-radius:50%;place-items:center;font-size:.64rem;font-weight:800;display:inline-grid}.course-ribbon-stages li.is-active .course-ribbon-marker{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.course-ribbon-stages li.is-complete .course-ribbon-marker{border-color:color-mix(in srgb, var(--accent) 78%, var(--border));background:color-mix(in srgb, var(--accent) 18%, var(--app-raised));color:var(--accent-strong)}.course-ribbon-focus{border-top:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));grid-template-columns:minmax(0,1fr);gap:.28rem;margin-top:.7rem;padding:.68rem .15rem .05rem;display:grid}.course-ribbon-focus>span{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;white-space:nowrap;font-size:.66rem;font-weight:780}.course-ribbon-focus>div{text-align:start;justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;display:flex}.course-ribbon-focus strong{min-width:0;color:var(--app-text);text-wrap:balance;font-size:.74rem;font-weight:740;line-height:1.25}.course-ribbon-focus small{color:var(--app-muted);white-space:nowrap;flex:none;font-size:.68rem;font-weight:620;line-height:1.2}.course-empty-filter{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;align-content:center;place-items:center;min-height:12rem;padding:1.2rem;display:grid}.course-empty-filter h3,.course-empty-filter p{margin:0}.course-empty-filter p{max-width:32rem;color:var(--app-muted);margin-top:.45rem;font-size:.78rem}.course-empty-filter .button{margin-top:1rem}.course-back{width:max-content;min-height:2.75rem;color:var(--app-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.4rem .2rem;font-size:.78rem;font-weight:700;display:inline-flex}.course-detail-hero,.course-stage-section,.course-preview-section,.course-disclosure{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--app-raised);padding:clamp(1rem,4.5vw,1.5rem)}.course-detail-hero{border-top:4px solid var(--course-accent);background:linear-gradient(140deg, color-mix(in srgb, var(--course-accent) 16%, transparent), transparent 60%), var(--app-raised);gap:1rem;display:grid;position:relative;overflow:hidden}.course-detail-hero.has-cover{background:var(--app-raised);gap:0;padding:0}.course-detail-cover{aspect-ratio:3/2;border-bottom:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));background:var(--brand-black);position:relative;overflow:hidden}.course-detail-hero-content{gap:1rem;min-width:0;display:grid}.course-detail-hero.has-cover .course-detail-hero-content{padding:clamp(1rem,4.5vw,1.5rem)}.course-detail-hero h2,.course-detail-hero p{margin:0}.course-detail-hero h2{letter-spacing:-.07em;max-width:13ch;font-size:clamp(2rem,10vw,4.2rem);font-weight:780;line-height:.9}.course-detail-hero-content>p{max-width:38rem;color:var(--app-muted);font-size:.84rem;line-height:1.55}.course-detail-badges{justify-content:flex-start}.course-lock{background:var(--surface-subtle);color:var(--app-muted);gap:.3rem}.course-evidence{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--border));border-radius:calc(var(--radius) + 2px);background:var(--app-raised);display:grid;overflow:hidden}.course-evidence-safety,.course-source-list{min-width:0;padding:clamp(1rem,4.5vw,1.35rem)}.course-evidence-safety{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 68%), var(--surface-subtle)}.course-evidence-safety h3,.course-evidence-safety p{margin:0}.course-evidence-safety h3{letter-spacing:-.04em;font-size:1.28rem}.course-evidence-safety p{color:var(--app-muted);margin-top:.5rem;font-size:.76rem;line-height:1.55}.course-source-list{border-top:1px solid var(--border);gap:.45rem;display:grid}.course-source-heading{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.25rem;display:flex}.course-source-heading strong{font-size:.78rem}.course-source-heading span{color:var(--app-muted);white-space:nowrap;font-size:.62rem}.course-digest{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);overflow:clip}.course-digest summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;padding:.7rem .75rem;list-style:none;display:flex}.course-digest summary::-webkit-details-marker{display:none}.course-digest-title{gap:.16rem;min-width:0;display:grid}.course-digest-title small{color:var(--accent-strong);letter-spacing:.07em;text-transform:uppercase;font-size:.58rem;font-weight:800}.course-digest-title strong{color:var(--app-text);font-size:.72rem;line-height:1.3}.course-digest summary svg{color:var(--accent-strong);flex:none;transition:transform .18s}.course-digest[open] summary svg{transform:rotate(180deg)}.course-digest-body{border-top:1px solid var(--border);padding:.75rem;animation:.18s both course-digest-reveal}.course-digest-body p{color:var(--app-text);margin:0;font-size:.7rem;font-weight:680;line-height:1.5}.course-digest-body ul{color:var(--app-muted);gap:.45rem;margin:.65rem 0 0;padding-left:1rem;font-size:.68rem;line-height:1.5;display:grid}.course-digest-body li::marker{color:var(--accent-strong)}.course-digest-body>small{color:var(--app-muted);margin-top:.7rem;font-size:.58rem;font-weight:720;display:block}@keyframes course-digest-reveal{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.course-card-action:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--app-raised))}.course-digest:hover{border-color:var(--accent)}.course-digest summary:hover{background:color-mix(in srgb, var(--accent) 18%, var(--app-raised))}}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.section-heading-row h3{letter-spacing:-.035em;font-size:1.2rem}.section-heading-row>strong{color:var(--accent-strong);font-size:1.35rem}.course-stage-list{gap:0;margin:1rem 0 0;padding:0;list-style:none;display:grid}.course-stage-list li{grid-template-columns:2.4rem minmax(0,1fr);align-items:center;gap:.75rem;min-height:3.7rem;display:grid;position:relative}.course-stage-list li:not(:last-child):after{background:var(--border);content:"";width:1px;position:absolute;inset-block:calc(50% + .8rem) calc(.8rem - 50%);inset-inline-start:1.15rem}.course-stage-index{z-index:1;border:1px solid var(--border);background:var(--app-raised);width:2.35rem;height:2.35rem;color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:50%;place-items:center;font-size:.76rem;font-weight:800;display:inline-grid}.course-stage-list li>div{gap:.2rem;display:grid}.course-stage-list small{color:var(--app-muted);font-size:.68rem}.course-day-preview-list{gap:.55rem;margin-top:1rem;display:grid}.course-day-preview{border:1px solid color-mix(in srgb, var(--accent) 32%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--app-raised));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.8rem;display:grid}.course-day-preview.is-locked{border-color:var(--border);background:var(--surface-subtle)}.course-day-preview>span{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;white-space:nowrap;font-size:.68rem;font-weight:800}.course-day-preview h4,.course-day-preview p{margin:0}.course-day-preview h4{font-size:.82rem}.course-day-preview p{color:var(--app-muted);margin-top:.2rem;font-size:.68rem;line-height:1.4}.course-disclosure{background:color-mix(in srgb, var(--accent) 6%, var(--app-raised));border-style:dashed}.course-disclosure strong,.course-disclosure p{margin:0}.course-disclosure strong{font-size:.78rem}.course-disclosure p{color:var(--app-muted);margin-top:.35rem;font-size:.72rem;line-height:1.5}.course-detail-cta{z-index:4;border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--app-bg) 94%, transparent);padding:.45rem;position:sticky;inset-block-end:calc(5rem + env(safe-area-inset-bottom))}.course-detail-cta .button{width:100%}.course-progress-placeholder{min-height:16rem}.course-day-view,.course-progress-view{gap:1rem;min-width:0;display:grid}.course-day-header{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:calc(var(--radius) + 4px);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 20%, transparent), transparent 62%), var(--app-raised);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem 1rem;padding:clamp(1.1rem,5vw,1.65rem);display:grid}.course-day-header>span{color:var(--accent-strong);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.course-day-header>div{justify-items:end;line-height:1;display:grid}.course-day-header>div strong{font-size:.88rem}.course-day-header>div small{color:var(--app-muted);margin-top:.2rem;font-size:.64rem}.course-day-header h2{letter-spacing:-.065em;grid-column:1/-1;max-width:12ch;margin:0;font-size:clamp(2rem,10vw,4rem);line-height:.93}.course-day-header>p{background:var(--surface-subtle);width:max-content;min-height:1.8rem;color:var(--app-muted);border-radius:999px;grid-column:1/-1;align-items:center;gap:.3rem;margin:0;padding:.35rem .6rem;font-size:.7rem;font-weight:700;display:inline-flex}.course-day-locked{border:1px dashed var(--border);border-radius:calc(var(--radius) + 4px);background:var(--app-raised);text-align:center;align-content:center;place-items:center;gap:.7rem;min-height:20rem;padding:1.4rem;display:grid}.course-day-locked span{color:var(--accent-strong);font-size:.7rem;font-weight:800}.course-day-locked h2,.course-day-locked p{margin:0}.course-day-locked p{max-width:28rem;color:var(--app-muted);font-size:.78rem}.course-day-complete{border:1px solid color-mix(in srgb, var(--accent) 44%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 12%, var(--app-raised));min-height:3rem;color:var(--accent-ink);align-items:center;gap:.55rem;padding:.75rem .9rem;font-size:.8rem;display:flex}.course-lesson-card,.course-actions-section,.course-checkin,.course-progress-card,.completed-course-history{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--app-raised);padding:clamp(1rem,4.5vw,1.45rem)}.course-lesson-card{border-left:4px solid var(--accent);box-shadow:0 10px 30px #1945440f}.course-lesson-card p{max-width:54rem;margin:0;font-size:clamp(.92rem,3vw,1.08rem);line-height:1.65}.course-actions-section h3,.course-checkin h3,.course-progress-intro h2,.completed-course-history h3{letter-spacing:-.035em;margin:0}.course-action-list{gap:.65rem;margin-top:1rem;display:grid}.course-action{border:1px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-subtle) 54%, var(--app-raised));grid-template-columns:2.35rem minmax(0,1fr);gap:.75rem;padding:.85rem;display:grid}.course-action.is-complete{border-color:color-mix(in srgb, var(--accent) 44%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--app-raised))}.course-action-number{background:var(--accent);width:2.25rem;height:2.25rem;color:var(--brand-black);font-family:var(--font-roboto-condensed), "Roboto Condensed", sans-serif;border-radius:50%;place-items:center;font-size:.75rem;font-weight:850;display:inline-grid}.course-action-title{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.course-action-title h4,.course-action p{margin:0}.course-action-title h4{font-size:.86rem;line-height:1.25}.course-action-title span{background:var(--app-raised);color:var(--app-muted);border-radius:999px;flex:none;padding:.25rem .4rem;font-size:.58rem;font-weight:750}.course-action p{color:var(--app-muted);margin-top:.45rem;font-size:.72rem;line-height:1.5}.course-action button{border:1px solid color-mix(in srgb, var(--accent) 52%, var(--border));background:var(--app-raised);width:100%;min-height:2.75rem;color:var(--accent-ink);cursor:pointer;border-radius:.7rem;margin-top:.7rem;font-size:.72rem;font-weight:760}.course-action button:disabled{cursor:default;opacity:.66}.course-commercial{border:1px solid color-mix(in srgb, var(--category-body) 46%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--category-body) 8%, var(--app-raised));grid-template-columns:3.4rem minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.7rem;display:grid}.course-commercial img,.course-commercial-mark{object-fit:contain;border-radius:.65rem;width:3.4rem;height:3.4rem}.course-commercial-mark{background:var(--accent);color:var(--brand-black);place-items:center;font-weight:850;display:inline-grid}.course-commercial-copy{gap:.2rem;min-width:0;display:grid}.course-commercial-copy>span{color:var(--app-muted);font-size:.58rem;font-weight:740}.course-commercial-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.course-commercial-actions{grid-column:1/-1;grid-template-columns:1fr;gap:.5rem;min-width:0;display:grid}.course-commercial a{background:var(--app-text);min-height:2.75rem;color:var(--app-bg);border-radius:.7rem;align-items:center;gap:.25rem;padding:.65rem;font-size:.66rem;font-weight:760;text-decoration:none;display:inline-flex}.course-checkin>p{color:var(--app-muted);margin:.45rem 0 0;font-size:.72rem;line-height:1.5}.course-checkin-questions{gap:.85rem;margin-top:1rem;display:grid}.course-checkin fieldset{border:0;min-width:0;margin:0;padding:0}.course-checkin legend{margin-bottom:.45rem;font-size:.72rem;font-weight:720}.course-scale{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;display:grid}.course-scale label{cursor:pointer;display:block;position:relative}.course-scale input{opacity:0;pointer-events:none;position:absolute}.course-scale span{border:1px solid var(--border);background:var(--surface-subtle);border-radius:.7rem;place-items:center;min-height:2.75rem;font-size:.74rem;font-weight:780;display:grid}.course-scale input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--brand-black)}.course-scale input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.course-checkin .button{width:100%;margin-top:1rem}.weekly-photo-editor{border-top:1px solid var(--border);gap:.8rem;margin-top:1.1rem;padding-top:1rem;display:grid}.weekly-photo-heading{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.weekly-photo-icon{background:color-mix(in srgb, var(--accent) 16%, var(--surface-subtle));width:2.65rem;height:2.65rem;color:var(--accent-ink);border-radius:.85rem;place-items:center;display:grid}.weekly-photo-heading>div,.weekly-photo-saved>div{gap:.15rem;min-width:0;display:grid}.weekly-photo-heading strong{font-size:.84rem}.weekly-photo-heading span,.weekly-photo-saved span{color:var(--app-muted);font-size:.64rem;line-height:1.45}.weekly-photo-saved{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 7%, var(--app-raised));grid-template-columns:3.5rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.55rem;display:grid}.weekly-photo-saved img{object-fit:cover;border-radius:.7rem;width:3.5rem;height:3.5rem}.weekly-photo-saved strong{color:var(--accent-ink);align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.weekly-photo-tips{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.weekly-photo-tips span{border:1px solid color-mix(in srgb, var(--border) 76%, transparent);background:var(--surface-subtle);min-height:3.5rem;color:var(--app-muted);border-radius:.7rem;align-content:center;padding:.5rem;font-size:.58rem;line-height:1.35;display:grid}.weekly-photo-picker{border:1px dashed color-mix(in srgb, var(--accent) 66%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--app-raised));min-height:4.5rem;color:var(--accent-ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.8rem;display:grid;position:relative;overflow:hidden}.weekly-photo-picker>span{gap:.12rem;display:grid}.weekly-photo-picker strong{font-size:.72rem}.weekly-photo-picker small{color:var(--app-muted);font-size:.58rem}.weekly-photo-picker input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.weekly-photo-picker:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.weekly-photo-preview{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--surface-subtle);aspect-ratio:3/4;min-height:16rem;position:relative;overflow:hidden}.weekly-photo-preview img{object-fit:cover}.weekly-photo-preview>span{height:100%;color:var(--app-muted);text-align:center;place-items:center;padding:1rem;font-size:.7rem;display:grid}.weekly-photo-preview>button{z-index:2;color:#fff;cursor:pointer;background:#000000b3;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid;position:absolute;inset-block-start:.65rem;inset-inline-end:.65rem}.weekly-photo-error{color:var(--danger);margin:0;font-size:.64rem}.weekly-photo-concerns legend{margin-bottom:.55rem}.weekly-photo-concerns>div{flex-wrap:wrap;gap:.4rem;display:flex}.weekly-photo-concerns button{border:1px solid var(--border);background:var(--app-raised);min-height:2.75rem;color:var(--app-muted);cursor:pointer;border-radius:999px;padding:.5rem .7rem;font-size:.62rem;font-weight:700}.weekly-photo-concerns button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--brand-black)}.weekly-photo-consent{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);cursor:pointer;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.6rem;min-height:4.4rem;padding:.7rem;display:grid}.weekly-photo-consent input{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.weekly-photo-consent>span:first-of-type{color:var(--accent-strong)}.weekly-photo-consent>span:last-child{gap:.15rem;display:grid}.weekly-photo-consent strong{font-size:.68rem}.weekly-photo-consent small{color:var(--app-muted);font-size:.58rem;line-height:1.4}.weekly-photo-privacy{color:var(--app-muted);align-items:center;gap:.4rem;font-size:.6rem;display:flex}.course-save-status{min-height:1.2rem;color:var(--app-muted);text-align:center;margin:0;font-size:.68rem}.course-progress-intro{border-left:4px solid var(--accent);padding:.4rem 0 .4rem 1rem}.course-progress-intro h2{max-width:14ch;font-size:clamp(1.8rem,8vw,3.6rem);line-height:.95}.course-progress-intro p{max-width:34rem;color:var(--app-muted);margin:.65rem 0 0;font-size:.78rem;line-height:1.5}.course-progress-list{gap:.9rem;display:grid}.course-progress-card{gap:.9rem;min-width:0;display:grid}.course-progress-card>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.course-progress-card>header span{color:var(--accent-strong);text-transform:uppercase;font-size:.62rem;font-weight:780}.course-progress-card>header h3{letter-spacing:-.04em;margin:.25rem 0 0;font-size:1.3rem}.course-progress-card>header>strong{color:var(--accent-strong);font-size:1.55rem}.course-progress-bar{background:var(--surface-subtle);border-radius:999px;height:.45rem;overflow:hidden}.course-progress-bar span{border-radius:inherit;background:var(--accent);height:100%;display:block}.course-progress-days{color:var(--app-muted);margin:-.45rem 0 0;font-size:.68rem}.course-streaks{flex-wrap:wrap;gap:.45rem;display:flex}.course-streaks span{background:color-mix(in srgb, var(--category-face) 10%, var(--surface-subtle));border-radius:999px;align-items:center;gap:.3rem;min-height:2rem;padding:.4rem .6rem;font-size:.66rem;font-weight:700;display:inline-flex}.consistency-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;display:grid}.consistency-calendar>span{border:1px solid var(--border);background:var(--surface-subtle);border-radius:.65rem;align-content:center;place-items:center;gap:.15rem;min-width:0;min-height:3rem;display:grid}.consistency-calendar>span.is-complete{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--app-raised));color:var(--accent-ink)}.consistency-calendar>span.is-today{border-color:var(--app-text)}.consistency-calendar small{color:var(--app-muted);text-transform:uppercase;font-size:.52rem}.consistency-calendar strong{font-size:.68rem}.course-milestones{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.course-milestones span{border:1px solid var(--border);min-height:2.4rem;color:var(--app-muted);border-radius:.7rem;align-items:center;gap:.35rem;padding:.5rem;font-size:.64rem;display:inline-flex}.course-milestones span.is-complete{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));color:var(--accent-ink)}.course-self-change{border:1px dashed color-mix(in srgb, var(--accent) 44%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 6%, var(--app-raised));padding:.8rem}.course-self-change h4{margin:0;font-size:.76rem}.course-self-change>div{gap:.4rem;margin-top:.65rem;display:grid}.course-self-change span{justify-content:space-between;align-items:center;gap:1rem;display:flex}.course-self-change small{color:var(--app-muted);font-size:.66rem}.course-self-change strong{color:var(--accent-strong);font-size:1rem}.weekly-reports{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb, var(--accent) 4%, var(--app-raised));gap:.75rem;min-width:0;padding:.8rem;display:grid;overflow:hidden}.weekly-reports-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.weekly-reports-header>span{background:var(--accent);width:2.5rem;height:2.5rem;color:var(--brand-black);border-radius:.8rem;place-items:center;display:grid}.weekly-reports-header h4,.weekly-reports-header p{margin:0}.weekly-reports-header h4{font-size:.8rem}.weekly-reports-header p{color:var(--app-muted);margin-top:.12rem;font-size:.58rem}.weekly-reports-header>svg{color:var(--accent-strong)}.weekly-reports-empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--accent-strong);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.75rem;display:grid}.weekly-reports-empty>div{gap:.15rem;display:grid}.weekly-reports-empty strong{color:var(--app-text);font-size:.68rem}.weekly-reports-empty span{color:var(--app-muted);font-size:.58rem}.weekly-report-tabs{scrollbar-width:none;scroll-snap-type:x proximity;gap:.4rem;min-width:0;padding-bottom:.15rem;display:flex;overflow-x:auto}.weekly-report-tabs::-webkit-scrollbar{display:none}.weekly-report-tabs button{border:1px solid var(--border);background:var(--app-raised);min-width:6.3rem;min-height:2.75rem;color:var(--app-muted);text-align:left;cursor:pointer;scroll-snap-align:start;border-radius:.75rem;flex:none;align-content:center;gap:.08rem;padding:.45rem .6rem;display:grid}.weekly-report-tabs button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--app-raised));color:var(--accent-ink)}.weekly-report-tabs span{font-size:.64rem;font-weight:760}.weekly-report-tabs small{font-size:.52rem}.photo-comparison{gap:.5rem;display:grid}.photo-comparison-stage{border:1px solid var(--border);border-radius:var(--radius);aspect-ratio:3/4;isolation:isolate;background:#071110;width:100%;max-height:33rem;position:relative;overflow:hidden}.photo-comparison-stage img{object-fit:cover}.photo-comparison-current{z-index:1;position:absolute;inset:0;overflow:hidden}.photo-label{z-index:4;color:#fff;background:#000000a8;border:1px solid #ffffff47;border-radius:999px;padding:.32rem .55rem;font-size:.56rem;font-weight:760;position:absolute;inset-block-start:.6rem}.photo-label.is-before{inset-inline-start:.6rem}.photo-label.is-current{inset-inline-end:.6rem}.photo-comparison-handle{z-index:3;color:#fff;pointer-events:none;place-items:center;width:2.25rem;display:grid;position:absolute;inset-block:0;transform:translate(-50%)}.photo-comparison-handle:before{content:"";background:#fff;width:2px;position:absolute;inset-block:0}.photo-comparison-handle svg{z-index:1;box-sizing:content-box;background:var(--accent);color:var(--brand-black);border-radius:50%;padding:.55rem;box-shadow:0 4px 18px #00000047}.photo-comparison-slider{align-items:center;min-height:2.75rem;display:grid}.photo-comparison-slider input{width:100%;accent-color:var(--accent)}.photo-baseline-note{color:var(--app-muted);align-items:flex-start;gap:.4rem;margin:0;font-size:.6rem;line-height:1.45;display:flex}.photo-concern-list{flex-wrap:wrap;gap:.35rem;display:flex}.photo-concern-list span{border:1px solid var(--border);background:var(--app-raised);color:var(--app-muted);border-radius:999px;padding:.35rem .5rem;font-size:.54rem}.photo-analysis{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);gap:.65rem;padding:.75rem;display:grid}.photo-analysis.is-ready{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 9%, var(--app-raised))}.photo-analysis-title,.photo-analysis-state{color:var(--accent-strong);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;display:grid}.photo-analysis-title>div,.photo-analysis-state>div{gap:.1rem;display:grid}.photo-analysis-title strong,.photo-analysis-state strong{color:var(--app-text);font-size:.7rem}.photo-analysis-title span,.photo-analysis-state span{color:var(--app-muted);font-size:.55rem;line-height:1.4}.photo-analysis>p{margin:0;font-size:.7rem;line-height:1.55}.photo-change-list,.photo-analysis-limitations ul{margin:0;padding:0;list-style:none}.photo-change-list{gap:.4rem;display:grid}.photo-change-list li{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:.25rem .7rem;padding-top:.5rem;display:grid}.photo-change-list span,.photo-change-list strong{font-size:.58rem}.photo-change-list strong{color:var(--accent-strong)}.photo-change-list p{color:var(--app-muted);grid-column:1/-1;margin:0;font-size:.58rem;line-height:1.45}.photo-analysis-limitations{border-top:1px solid var(--border);gap:.35rem;padding-top:.55rem;display:grid}.photo-analysis-limitations>strong{font-size:.6rem}.photo-analysis-limitations li{color:var(--app-muted);padding-left:.8rem;font-size:.56rem;line-height:1.45;position:relative}.photo-analysis-limitations li:before{background:var(--accent);content:"";border-radius:50%;width:.3rem;height:.3rem;position:absolute;inset-block-start:.52em;inset-inline-start:0}.photo-analysis-next{background:var(--app-raised);color:var(--accent-strong);border-radius:.7rem;align-items:flex-start;gap:.4rem;padding:.55rem;display:flex}.photo-analysis-next span{color:var(--app-text);font-size:.58rem;line-height:1.45}.photo-analysis-state button{border:1px solid var(--accent);background:var(--app-raised);min-height:2.75rem;color:var(--accent-ink);cursor:pointer;border-radius:.7rem;grid-column:2;justify-self:start;padding:.5rem .75rem;font-size:.62rem;font-weight:760}.photo-analysis-state.is-quiet{color:var(--app-muted)}.weekly-report-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding-top:.65rem;display:flex}.weekly-report-footer p{color:var(--app-muted);margin:0;font-size:.54rem;line-height:1.4}.weekly-report-footer button{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));min-height:2.75rem;color:var(--danger);cursor:pointer;background:0 0;border-radius:.7rem;flex:none;align-items:center;gap:.3rem;padding:.5rem .65rem;font-size:.58rem;font-weight:720;display:inline-flex}.course-progress-continue{width:100%}.completed-course-history{gap:.55rem;display:grid}.completed-course-history>article{border-top:1px solid var(--border);color:var(--accent-strong);gap:.65rem;padding-top:.7rem;display:grid}.completed-course-summary{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;display:grid}.completed-course-summary>div{color:var(--app-text);gap:.15rem;display:grid}.completed-course-history>article span{color:var(--app-muted);font-size:.64rem}.course-progress-protocol{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-subtle);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.8rem;display:grid}.course-progress-protocol>div{gap:.18rem;display:grid}.course-progress-protocol strong{font-size:.72rem}.course-progress-protocol span{color:var(--app-muted);font-size:.62rem;line-height:1.4}.course-progress-protocol button{background:var(--app-text);min-height:2.75rem;color:var(--app-bg);cursor:pointer;border:0;border-radius:.7rem;padding:.6rem;font-size:.66rem;font-weight:750}.app-loading,.app-error{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.brand-header{justify-items:start}.loading-layout,.error-state{margin-top:clamp(2rem,10vh,6rem)}.loading-layout h1{letter-spacing:-.055em;max-width:12ch;margin:0 0 1.5rem;font-size:clamp(2.1rem,10vw,4rem);line-height:.98}.skeleton{border-radius:var(--radius);background:var(--surface-subtle);overflow:hidden}.skeleton-title{width:40%;height:1rem}.skeleton-line{width:72%;height:.75rem;margin-top:.65rem}.skeleton-step{width:100%;height:7rem;margin-top:1.4rem}.skeleton-step.is-short{height:5rem;margin-top:.75rem}@media (prefers-reduced-motion:no-preference){.skeleton{background-image:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--app-raised) 82%, transparent) 48%, transparent 76%);background-size:220% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}}@media (max-width:479px){.inline-product{grid-template-columns:3.5rem minmax(0,1fr)}.inline-product-image,.inline-product-placeholder{width:3.5rem;height:3.5rem}.inline-product-outbound{grid-column:1/-1}}@media (max-width:399px){.city-search-form{grid-template-columns:minmax(0,1fr)}.city-search-button,.city-setup-actions .button,.spf-city-actions .button{width:100%}.city-setup-actions,.spf-city-actions{flex-direction:column;align-items:stretch}.sun-guidance-weather{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sun-guidance-weather span{min-width:0}.sun-guidance-weather .weather-code{display:none}.sun-guidance-footer{flex-direction:column;align-items:flex-start}.app-navigation button span{font-size:.6rem}.guide-scroll{padding-inline:.75rem}.guide-facts div{padding-inline:.5rem}.guide-facts dd{font-size:.76rem}.course-featured-label:not(.is-personal){display:none}.course-commercial{grid-template-columns:3rem minmax(0,1fr)}.course-commercial a{justify-content:center}.weekly-photo-tips{grid-template-columns:1fr}.weekly-photo-tips span{min-height:2.75rem}.weekly-report-footer{flex-direction:column;align-items:stretch}.weekly-report-footer button{justify-content:center}}@media (min-width:640px){.guide-backdrop{padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));align-items:center}.guide-sheet{border-radius:1.5rem;width:min(100%,42rem);height:min(54rem,100dvh - 2rem);max-height:calc(100dvh - 2rem)}.guide-toolbar{padding:.75rem 1.15rem}.guide-scroll{padding-inline:1.25rem}.app-frame{padding-inline:1.5rem}.app-heading h1{font-size:clamp(1.15rem,3vw,1.65rem)}.protocol-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-card-grid,.course-progress-list{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card.is-featured{grid-column:1/-1}.course-action-list{grid-template-columns:repeat(2,minmax(0,1fr))}.course-milestones{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:900px){.app-frame{grid-template-rows:auto 1fr;grid-template-columns:12.5rem minmax(0,1fr);column-gap:2.5rem;padding:1.25rem 2rem 3rem}.app-frame.is-onboarding{max-width:54rem;display:block}.app-topbar{grid-column:1/-1}.app-content{grid-area:2/2;padding-top:2rem}.is-onboarding .app-content{padding-top:2rem}.app-navigation{z-index:1;inset:auto;min-height:auto;box-shadow:none;grid-area:2/1;grid-template-columns:1fr;align-self:start;margin-top:2rem;position:sticky;top:1.25rem}.app-navigation button{grid-template-columns:1.6rem minmax(0,1fr);justify-items:start;min-height:3.2rem;padding-inline:.85rem}.app-navigation button+button{border-top:1px solid color-mix(in srgb, var(--border) 62%, transparent);border-left:0}.app-navigation button span{font-size:.78rem}.app-notice{inset-block-end:1.5rem}.today-view,.protocol-view,.settings-view,.course-library-view,.course-detail-view,.course-day-view,.course-progress-view{gap:1.8rem}.course-detail-cta{inset-block-end:1rem}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.course-commercial-actions{grid-template-columns:minmax(0,1fr) auto}}:root[data-theme=dark] .product-media{background:#243032}.editorial-digest-section{gap:.7rem;min-width:0;display:grid}.editorial-digest-heading{justify-content:space-between;align-items:end;gap:.8rem;display:flex}.editorial-digest-heading h3,.editorial-digest-heading .course-kicker{margin:0}.editorial-digest-heading h3{letter-spacing:-.04em;margin-top:.25rem;font-size:1.28rem}.editorial-digest-heading>span{color:var(--app-muted);font-size:.68rem;font-weight:720}.editorial-digest-rail{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(16.5rem,86%);grid-auto-flow:column;gap:.7rem;max-width:100%;padding:.05rem .05rem .5rem;scroll-padding-inline:.05rem;display:grid;overflow-x:auto}.editorial-digest-motion{scroll-snap-align:start;min-width:0}.editorial-digest-card{border:1px solid color-mix(in srgb, var(--accent) 34%, var(--border));border-radius:calc(var(--radius) + 2px);background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, transparent), transparent 60%), var(--app-raised);height:100%;overflow:clip}.editorial-digest-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.8rem;min-height:6.2rem;padding:1rem;list-style:none;display:flex}.editorial-digest-card summary::-webkit-details-marker{display:none}.editorial-digest-card summary>span{gap:.35rem;display:grid}.editorial-digest-card summary small{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;font-size:.6rem;font-weight:800}.editorial-digest-card summary strong{color:var(--app-text);font-size:.92rem;line-height:1.25}.editorial-digest-card summary svg{color:var(--accent-strong);flex:none;transition:transform .18s}.editorial-digest-card[open] summary svg{transform:rotate(180deg)}.editorial-digest-body{border-top:1px solid var(--border);gap:.75rem;padding:.9rem 1rem 1rem;animation:.18s both course-digest-reveal;display:grid}.editorial-digest-body p,.editorial-digest-body ul{color:var(--app-muted);margin:0;font-size:.72rem;line-height:1.55}.editorial-digest-body>div{border-left:2px solid var(--accent);gap:.25rem;padding-left:.65rem;display:grid}.editorial-digest-body>div>strong{color:var(--app-text);font-size:.7rem}.editorial-digest-body ul{gap:.35rem;padding-left:1rem;display:grid}.editorial-digest-body li::marker{color:var(--accent-strong)}:root[data-theme=dark] .missing-media{color:#aab9b7}::view-transition-old(root){animation-duration:.26s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-new(root){animation-duration:.26s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{to{opacity:0;transform:scale(.995)}}@keyframes theme-fade-in{0%{opacity:0;transform:scale(1.005)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide-backdrop,.guide-sheet,.guide-trigger,.guide-steps li{transition:none!important;animation:none!important;transform:none!important}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
