:root{--bg0:#fff4e8;--bg1:#ffd9b8;--bg2:#f0a878;--sky-deep:#2a1540;--sky-plum:#3d1f4a;--sky-dusk:#5c2a4a;--sky-warm:#c45c3a;--card:#fffaf2f0;--card-solid:#fffaf3;--card-border:#c45c3a2e;--ink:#2c1a22;--ink-soft:#6b4a52;--muted:#5c3d46;--cream:#fff6eb;--accent:#e86a35;--accent-deep:#c44e22;--gold:#e8b84a;--gold-soft:#f5d78a;--dusk:#d4563a;--terracotta:#c65d3b;--plum:#4a2848;--success:#2a7a4b;--danger:#b91c1c;--shadow:0 12px 36px #2a154024;--shadow-warm:0 8px 24px #c45c3a2e;--radius:20px;--font:"DM Sans", system-ui, sans-serif;--display:"Fraunces", Georgia, serif;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--tab-h:64px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;font-size:100%}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;background:radial-gradient(95% 55% at 50% -8%,#ffba788c 0%,#0000 52%),radial-gradient(70% 40% at 85% 20%,#e8b84a38 0%,#0000 50%),linear-gradient(#2a1540 0%,#3d1f4a 12%,#6b2f4a 28%,#c45c3a 48%,#e8a06a 68%,#ffe4c8 88%,#fff4e8 100%);overflow:hidden}#root{flex-direction:column;display:flex}button,input,select{font:inherit;color:inherit;touch-action:manipulation}button{appearance:none}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;font-weight:600}h1{font-size:1.65rem;line-height:1.2}h2{font-size:1.15rem}h3{font-size:1.05rem}.display-italic{font-family:var(--display);font-style:italic;font-weight:500}p{margin:.4rem 0;line-height:1.45}.app-shell{background:linear-gradient(#2a154047 0%,#5c2a4a1f 22%,#ffe4c859 48%,#fff4e8b8 100%);flex-direction:column;flex:1;width:100%;max-width:430px;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 80px #2a154059}.app-main{-webkit-overflow-scrolling:touch;min-height:0;padding:calc(1rem + var(--safe-top)) 1rem calc(var(--tab-h) + var(--safe-bottom) + 1rem);flex:1;overflow-y:auto}.screen__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.screen__header>div:first-child{flex:1;min-width:0}.screen__header h1{color:var(--cream);text-shadow:0 2px 12px #2a154059;overflow-wrap:anywhere}.screen__header .eyebrow{color:var(--gold-soft)}.screen__header .muted{color:#fff6ebc7}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-deep);margin:0 0 .15rem;font-size:.72rem;font-weight:600}.muted{color:var(--muted)}.muted.small,.small{font-size:.8rem}.edu-note{color:var(--ink-soft);background:#e8b84a2e;border:1px solid #e8b84a47;border-radius:10px;margin:.6rem 0;padding:.5rem .65rem;font-size:.78rem}.warn-text{color:var(--accent-deep);font-size:.85rem}.success-text{color:var(--success);font-size:.85rem;font-weight:500}.card{background:var(--card);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.1rem 1.15rem}.card--hero{box-shadow:var(--shadow), inset 0 1px 0 #ffffffb3;background:linear-gradient(165deg,#fffcf6f7 0%,#ffe8c8e0 55%,#ffd2aad1 100%);border-color:#e8b84a59;padding-top:.65rem}.card__title{margin-bottom:.65rem}.sun-arc{width:100%;height:auto;display:block}.arc-label{fill:var(--ink-soft);font-size:.75rem;font-family:var(--font)}.sun-times{text-align:center;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.25rem;display:grid}.sun-times .muted{font-size:.7rem;display:block}.sun-times strong{font-size:.95rem}.conditions-card__top{justify-content:space-between;gap:.5rem;margin-bottom:.75rem;display:flex}.hint-line{color:var(--ink);margin:.2rem 0 0;font-weight:500}.conditions-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.stat{text-align:center;background:#4a28480f;border:1px solid #c45c3a1a;border-radius:12px;padding:.55rem .25rem}.stat__label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;display:block}.stat__value{font-family:var(--display);font-size:1.35rem;font-weight:600;display:block}.stat__sub{color:var(--ink-soft);font-size:.7rem}.pill{color:var(--plum);background:#e8b84a59;border-radius:999px;height:fit-content;padding:.2rem .55rem;font-size:.72rem;font-weight:600}.prompt-list{flex-direction:column;gap:.55rem;display:flex}.prompt-row{cursor:pointer;background:#c45c3a14;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.prompt-row strong{font-size:.9rem;display:block}.prompt-row .muted{font-size:.75rem;display:block}.prompt-row input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent)}.progress-row{justify-content:space-around;gap:.5rem;margin-bottom:.5rem;display:flex}.progress-ring{text-align:center}.progress-ring__val{fill:var(--ink);font-size:14px;font-weight:700;font-family:var(--display)}.progress-ring__unit{fill:var(--muted);font-size:.75rem}.progress-ring__sub{color:var(--muted);margin:0;font-size:.72rem}.streak-badge{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#e8b84a,#e86a35);border-radius:999px;padding:.45rem .75rem;font-size:.8rem;font-weight:600;box-shadow:0 4px 14px #c45c3a66}.tip-card h3{margin-top:.15rem}.moon-inline{color:var(--ink-soft);align-items:center;gap:.5rem;margin-top:.75rem;font-size:.85rem;display:flex}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-deep);background:#e86a3524;border-radius:6px;margin-bottom:.35rem;padding:.2rem .5rem;font-size:.68rem;font-weight:600;display:inline-block}.btn{cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.25rem;font-weight:600;transition:transform .12s,box-shadow .12s,opacity .12s}.btn:active{opacity:.92}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{color:#fff;background:#7a2e12;box-shadow:0 6px 20px #7a2e1259}.btn--secondary{color:var(--ink);background:#e8b84a47}.btn--accent{background:var(--gold);color:var(--ink)}.btn--ghost{color:var(--ink-soft);background:0 0;border:1px solid #4a28482e}.btn.btn--apple{color:#fff;background:#000;justify-content:center;align-items:center;gap:.55rem;display:inline-flex}.btn--apple svg{flex-shrink:0;width:1.05rem;height:1.05rem}.btn--danger{background:var(--danger);color:#fff}.btn--block{text-align:center;width:100%;display:block}.btn--sm{min-height:44px;padding:.45rem .95rem;font-size:.8rem}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.icon-btn{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:.25rem;font-size:1.1rem;display:inline-flex}.timer-card{text-align:center}.timer-display{font-family:var(--display);letter-spacing:.04em;color:var(--ink);text-shadow:0 2px #e8b84a59;margin:.5rem 0;font-size:3.4rem;font-weight:600;line-height:1}.timer-card .btn-row{justify-content:center;margin-top:.75rem}.chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.chip{cursor:pointer;background:#ffffffa6;border:1px solid #c45c3a47;border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:500}.chip.is-active{color:#fff;background:linear-gradient(135deg,#e8b84a,#e86a35);border-color:#0000}.slider{width:100%;accent-color:var(--accent);margin-top:.75rem}.stats-row{text-align:center;grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.mini-stat strong{font-family:var(--display);font-size:1.4rem;display:block}.mini-stat span{color:var(--muted);font-size:.72rem}.bar-chart{align-items:flex-end;gap:.4rem;height:120px;padding-top:.5rem;display:flex}.bar-chart__col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.bar-chart__track{background:#4a28480f;border-radius:8px 8px 4px 4px;flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex;overflow:hidden}.bar-chart__bar{background:linear-gradient(#e8b84a,#e86a35);border-radius:6px 6px 2px 2px;width:70%;min-height:2px;transition:height .3s}.bar-chart__value,.bar-chart__label{color:var(--ink-soft);margin-top:.35rem;font-size:.75rem}.session-list{margin:0;padding:0;list-style:none}.session-item{border-bottom:1px solid #c45c3a26;justify-content:space-between;gap:.75rem;padding:.7rem 0;display:flex}.session-item:last-child{border-bottom:none}.session-item strong{display:block}.session-item .muted{font-size:.75rem;display:block}.session-item__right{text-align:right;font-size:.85rem}.iu-pill{color:var(--accent-deep);font-size:.75rem;font-weight:600;display:block}.moon-card{align-items:center;gap:1rem;display:flex}.moon-card__emoji{font-size:2.8rem;line-height:1}.learn-grid{flex-direction:column;gap:0;display:flex}.compass{flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.compass__dial{background:radial-gradient(circle,#fff8f0,#ffd9b8);border:3px solid #c45c3a59;border-radius:50%;width:140px;height:140px;transition:transform .2s;position:relative}.compass__n{color:var(--dusk);font-size:.85rem;font-weight:700;position:absolute;top:8px;left:50%;transform:translate(-50%)}.compass__needle{background:linear-gradient(180deg, var(--dusk), transparent);transform-origin:bottom;border-radius:2px;width:4px;height:50px;margin-top:-50px;margin-left:-2px;position:absolute;top:50%;left:50%}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field span{color:var(--ink-soft);font-size:.8rem;font-weight:600}.field input,.field select{background:#ffffffc7;border:1px solid #c45c3a47;border-radius:12px;padding:.65rem .8rem}.link-stack{flex-direction:column;gap:.55rem;display:flex}.text-link{text-align:left;color:var(--accent-deep);cursor:pointer;background:0 0;border:none;align-items:center;min-height:44px;padding:.35rem 0;font-weight:600;display:inline-flex}.text-link--danger{color:var(--danger)}.disclaimer{color:var(--ink-soft);background:#fffaf2eb;border:1px solid #4a284824;border-radius:12px;margin-top:1rem;padding:.85rem .9rem;font-size:.78rem;line-height:1.45;box-shadow:0 4px 16px #2a154014}.disclaimer strong{color:var(--ink)}.disclaimer--compact{margin-top:.5rem;font-size:.74rem}.tab-bar{width:100%;max-width:430px;height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:40;background:#fff8f0f5;border-top:1px solid #4a28481f;margin-inline:auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 28px #2a15401f}.tab-bar__btn{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.35rem;display:flex}.tab-bar__btn.is-active{color:var(--accent-deep)}.tab-bar__icon{font-size:1.15rem;line-height:1}.tab-bar__label{font-size:.65rem;font-weight:600}.modal-backdrop{z-index:100;background:#2a15408c;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--card-solid);border:1px solid #e8b84a40;border-radius:20px 20px 16px 16px;width:100%;max-width:400px;max-height:80vh;padding:1.1rem 1.2rem 1.4rem;overflow:auto;box-shadow:0 24px 56px #2a154059}.modal__header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.modal__body p{color:var(--ink-soft);font-size:.92rem}.onboarding{-webkit-overflow-scrolling:touch;width:100%;max-width:430px;min-height:0;padding:calc(1.25rem + var(--safe-top)) 1.25rem calc(1.25rem + var(--safe-bottom));background:linear-gradient(165deg,#2a1540 0%,#6b2f4a 35%,#e86a35 70%,#ffd9b8 100%);flex-direction:column;flex:1;align-items:center;margin:0 auto;display:flex;overflow-y:auto}.onboarding__card{box-shadow:var(--shadow);text-align:center;background:#fffcf7f5;border:1px solid #e8b84a4d;border-radius:24px;flex-shrink:0;width:100%;margin-top:auto;margin-bottom:auto;padding:1.75rem 1.4rem}.onboarding__logo{filter:drop-shadow(0 4px 10px #e86a3573);margin-bottom:.35rem;font-size:3rem}.onboarding__step{text-align:left;margin-top:1.25rem}.onboarding__step .btn{margin-top:.55rem}.walkthrough-dots{justify-content:center;gap:.4rem;margin:.85rem 0 .35rem;display:flex}.walkthrough-dots span{background:#4a28482e;border-radius:999px;width:8px;height:8px}.walkthrough-dots span.is-active{background:linear-gradient(135deg,#e8b84a,#e86a35);width:22px}.walkthrough-count{text-align:center;margin-top:0}.walkthrough-step h2{margin-bottom:.35rem}.walkthrough-step h2:focus{outline:2px solid var(--accent-deep);outline-offset:3px}.walkthrough-phase{flex-wrap:wrap;gap:.35rem;margin:.35rem 0 .15rem;display:flex}.walkthrough-phase span{color:var(--ink-soft);background:#e8b84a33;border:1px solid #e8b84a59;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.walkthrough-replay{text-align:center;margin-top:.35rem}.legal-box{text-align:left;background:#e8b84a2e;border:1px solid #e8b84a47;border-radius:12px;margin-bottom:.75rem;padding:.85rem;font-size:.88rem}.ack-row{text-align:left;cursor:pointer;align-items:flex-start;gap:.6rem;margin:.75rem 0;font-size:.9rem;display:flex}.ack-row input{accent-color:var(--accent);margin-top:.2rem}.goal-chip{color:var(--cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a154061;border:1px solid #e8b84a59;border-radius:999px;margin:.4rem 0 0;padding:.25rem .7rem;font-size:.78rem;font-weight:600;display:inline-block}.phase-hero__name{letter-spacing:-.02em;margin:.1rem 0 .35rem;font-size:1.6rem}.phase-hero__blurb{color:var(--ink-soft);margin:0 0 .75rem;font-size:.88rem;line-height:1.45}.phase-timeline{scrollbar-width:none;gap:.15rem;margin-bottom:.35rem;padding:.85rem .15rem .4rem;display:flex;overflow-x:auto}.phase-timeline::-webkit-scrollbar{display:none}.phase-dot{flex-direction:column;flex:1 1 0;align-items:center;gap:.28rem;min-width:0;display:flex;position:relative}.phase-dot__mark{background:#4a284833;border:2px solid #e8b84a8c;border-radius:50%;width:10px;height:10px}.phase-dot.is-here .phase-dot__mark{background:linear-gradient(135deg,#e8b84a,#e86a35);border-color:#fff;width:13px;height:13px;box-shadow:0 0 0 4px #e86a3566,0 0 16px #e8b84a8c}.phase-dot__name{color:var(--muted);text-align:center;max-width:100%;font-size:.56rem;font-weight:600;line-height:1.1}.phase-dot.is-here .phase-dot__name{color:var(--accent-deep);font-weight:700}.phase-dot__you{letter-spacing:.04em;text-transform:uppercase;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#e8b84a,#e86a35 60%,#c44e22);border-radius:999px;max-width:100%;padding:.12rem .28rem;font-size:.5rem;font-weight:800;box-shadow:0 3px 10px #c44e2266}.wave-strip{margin:.5rem 0 .25rem}.wave-strip__caption{color:var(--muted);margin:0 0 .4rem;font-size:.68rem}.wave-strip__bars{align-items:flex-end;gap:.4rem;height:56px;display:flex}.wave-strip--compact .wave-strip__bars{height:40px}.wave-bar{flex-direction:column;flex:1;align-items:center;gap:.22rem;height:100%;display:flex}.wave-bar__track{background:#4a284814;border:1px solid #4a28480f;border-radius:7px 7px 3px 3px;flex:1;align-items:flex-end;width:100%;max-width:20px;display:flex;overflow:hidden}.wave-bar__fill{opacity:1;border-radius:6px 6px 2px 2px;width:100%;min-height:4px;transition:height .35s;box-shadow:0 0 8px #0000001f}.wave-bar__label{color:var(--ink-soft);letter-spacing:.02em;font-size:.55rem;font-weight:700}.plan-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.plan-progress-pill{color:var(--accent-deep);background:#e86a352e;font-weight:700}.plan-intro{margin:0 0 .85rem}.plan-list{flex-direction:column;gap:.7rem;margin:0;padding:0;list-style:none;display:flex}.plan-step{background:#fff8f0d9;border:1px solid #c45c3a29;border-radius:16px;flex-direction:column;gap:.65rem;padding:.95rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.plan-step.is-now{background:linear-gradient(145deg,#fff8ecfa,#ffe2bef2);border-color:#e86a35a6;box-shadow:0 6px 22px #e86a352e,inset 0 0 0 1px #e8b84a59}.plan-step.is-done{opacity:.78;background:#e8f5ec99;border-color:#2a7a4b47}.plan-step__title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.plan-step__title-row strong{font-family:var(--display);letter-spacing:-.015em;font-size:1.02rem;font-weight:600}.plan-step__meta{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin-top:.35rem;display:flex}.plan-step__window{color:var(--ink);letter-spacing:-.01em;font-size:.8rem;font-weight:600}.plan-step__mins{color:var(--accent-deep);letter-spacing:.01em;background:#e86a351f;border-radius:999px;padding:.18rem .5rem;font-size:.72rem;font-weight:700}.plan-step__why{color:var(--ink-soft);margin:.15rem 0 0;font-size:.8rem;line-height:1.4}.plan-step__actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.plan-step__actions .btn--primary{letter-spacing:.01em;flex:1;min-width:7.5rem;padding:.55rem 1rem;font-size:.85rem}.plan-step__actions .btn--ghost{flex:none}.pill--now{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#e8b84a,#e86a35 55%,#c44e22);padding:.28rem .6rem;font-size:.68rem;font-weight:800;animation:2.4s ease-in-out infinite now-pulse;box-shadow:0 3px 12px #c44e2273}@keyframes now-pulse{0%,to{box-shadow:0 3px 12px #c44e2273}50%{box-shadow:0 4px 18px #e8b84aa6}}.tomorrow-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.tomorrow-list li{background:#4a28480d;border:1px solid #c45c3a1a;border-radius:12px;flex-direction:column;padding:.55rem .7rem;display:flex}.tomorrow-card .card__title{margin-bottom:.55rem}.goal-picker{flex-direction:column;gap:.5rem;margin:.75rem 0 .5rem;display:flex}.goal-option{text-align:left;cursor:pointer;background:#ffffffb3;border:1.5px solid #c45c3a38;border-radius:14px;align-items:flex-start;gap:.75rem;padding:.75rem .85rem;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.goal-option.is-active{border-color:var(--accent);background:#ffe2bea6;box-shadow:0 4px 14px #e86a3533}.goal-option__emoji{font-size:1.35rem;line-height:1}.goal-option__text{flex-direction:column;gap:.15rem;display:flex}.goal-option__text strong{font-size:.95rem}.phase-learn-card .wave-strip{margin-top:.65rem}.home-screen .card__title{letter-spacing:-.015em}.segmented{background:#4a284814;border:1px solid #c45c3a2e;border-radius:12px;gap:.15rem;padding:.2rem;display:inline-flex}.segmented__btn{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;border-radius:10px;min-width:3.5rem;min-height:44px;padding:.45rem 1rem;font-weight:600}.segmented__btn.is-active{color:#fff;background:linear-gradient(135deg,#e8b84a,#e86a35);box-shadow:0 3px 10px #c44e224d}.alarm-list{margin-top:.5rem}.alarm-row{flex-direction:column;gap:.35rem;display:flex}.alarm-offset{margin:0 0 .35rem .65rem}.alarms-home-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem;display:flex}.home-alerts{flex-direction:column;gap:.5rem;margin-bottom:.25rem;display:flex}.alarm-banner{box-shadow:var(--shadow-warm);background:#fffaf2f2;border:1px solid #c45c3a38;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.alarm-banner--active{background:linear-gradient(135deg,#ffe2bef2,#fffaf2fa);border-color:#e86a3573}.alarm-banner--soon{border-color:#e8b84a80}.alarm-banner__body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.toast-banner{background:var(--plum);color:#fff6eb;box-shadow:var(--shadow);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;font-size:.9rem;font-weight:600;display:flex}.toast-banner .btn--ghost{color:#fff6eb;border-color:#fff6eb59}.affiliate-card__header{margin-bottom:.35rem}.affiliate-note{margin:0 0 .75rem}.affiliate-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.affiliate-item{background:#4a28480d;border:1px solid #c45c3a1f;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;display:flex}.affiliate-item__main{flex:1;gap:.65rem;min-width:0;display:flex}.affiliate-item__emoji{font-size:1.35rem;line-height:1.2}.affiliate-item__main strong{margin-bottom:.15rem;font-size:.92rem;display:block}.affiliate-tag{vertical-align:middle;margin:0 0 .25rem .35rem;display:inline-block}.affiliate-disclosure{color:var(--muted);margin:.75rem 0 0;font-size:.72rem;font-style:italic}.affiliate-card--compact .affiliate-item{padding:.55rem .65rem}.affiliate-card code{background:#c45c3a1a;border-radius:4px;padding:.05rem .3rem;font-size:.78em}a.btn[aria-disabled=true]{opacity:.65;pointer-events:none;cursor:not-allowed}.auth-card{text-align:center}.auth-providers{flex-direction:column;gap:.65rem;margin-top:1rem;display:flex}.auth-providers .btn{min-height:48px;font-size:1rem}.auth-apple-note{color:var(--ink-soft);margin:-.15rem 0 .1rem;font-size:.78rem;line-height:1.35}.auth-tabs{background:#c45c3a1a;border-radius:14px;gap:.35rem;margin-top:.35rem;padding:.25rem;display:flex}.auth-tabs__btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:11px;flex:1;padding:.55rem .75rem;font-weight:600}.auth-tabs__btn.is-active{color:var(--ink);background:#fffcf7f2;box-shadow:0 2px 8px #2a15401a}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:.75rem;margin:1rem 0 .85rem;font-size:.8rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#c45c3a38;flex:1;height:1px}.auth-google{margin-top:0}.auth-error{color:var(--danger);text-align:left;margin:0 0 .65rem;font-size:.88rem}.auth-recovery{text-align:left;color:var(--ink);margin:.85rem 0 0;font-size:.84rem;line-height:1.4}.auth-guest{margin-top:.75rem}.auth-guest--emphasis{color:var(--ink);background:#fff8f0fa;border-color:#c44e228c;margin-top:.45rem;font-weight:700}.guest-banner{color:var(--ink);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffecd2f2,#fffaf2fa);border:1px solid #c45c3a47;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding:.7rem .9rem;font-size:.88rem;font-weight:600;display:flex}.guest-banner span{text-align:left;overflow-wrap:anywhere;flex:12rem;min-width:0;line-height:1.35}a.text-link{text-decoration:none}.paywall{-webkit-overflow-scrolling:touch;width:100%;max-width:430px;min-height:0;padding:calc(1.15rem + var(--safe-top)) 1.15rem calc(1.4rem + var(--safe-bottom));color:var(--ink);background:radial-gradient(90% 40% at 50% 0,#e8b84a47,#0000 60%),linear-gradient(#fff8f1 0%,#fff4e8 55%,#ffe4cc 100%);flex:1;margin:0 auto;overflow-y:auto}.paywall__hero{text-align:center;margin-bottom:1rem}.paywall__brand{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin:0;font-size:.75rem;font-weight:700}.paywall h1{color:var(--sky-deep);margin:.35rem 0 .55rem;font-size:2.05rem;line-height:1.12}.paywall h1 .display-italic{color:var(--accent-deep)}.paywall__lede{max-width:22rem;color:var(--ink-soft);margin:0 auto;font-size:.95rem}.paywall__benefits{background:var(--card-solid);box-shadow:var(--shadow);text-align:left;border:1px solid #e8b84a59;border-radius:22px;margin-bottom:1.35rem;padding:1rem 1.1rem .85rem}.paywall__benefits h2{color:var(--sky-deep);margin-bottom:.45rem;font-size:1.05rem}.paywall__benefits ul{margin:0;padding:0;list-style:none}.paywall__benefits li{color:var(--ink-soft);padding:.38rem 0 .38rem 1.35rem;font-size:.9rem;line-height:1.35;position:relative}.paywall__benefits li:before{content:"☀";font-size:.85rem;position:absolute;top:.35rem;left:0}.paywall__plans{flex-direction:column;gap:.95rem;margin:.4rem 0 1.1rem;padding-top:.35rem;display:flex}.paywall-plan{text-align:left;cursor:pointer;background:#fff;border:1.5px solid #4a28481f;border-radius:18px;align-items:center;gap:.75rem;width:100%;padding:.95rem .95rem .9rem;display:flex;position:relative;box-shadow:0 8px 22px #2a15400f}.paywall-plan.is-selected{border:2px solid var(--accent);padding-top:1.15rem;box-shadow:0 10px 26px #c44e2229}.paywall-plan__badge{color:#fff;letter-spacing:.08em;white-space:nowrap;background:linear-gradient(135deg,#e8b84a,#e86a35 55%,#c44e22);border-radius:999px;padding:.32rem .75rem;font-size:.68rem;font-weight:800;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #c44e2247}.paywall-plan__copy{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.paywall-plan__name{letter-spacing:.08em;text-transform:uppercase;color:var(--sky-deep);font-size:.78rem;font-weight:800}.paywall-plan__price{flex-wrap:wrap;align-items:baseline;gap:.15rem;display:flex}.paywall-plan__amount{font-family:var(--display);letter-spacing:-.03em;color:var(--sky-deep);font-size:1.85rem;font-weight:650;line-height:1.1}.paywall-plan__amount.is-muted{color:var(--muted);font-size:1.35rem;font-weight:600}.paywall-plan__period{color:var(--muted);font-size:.82rem;font-weight:500}.paywall-plan__trial{color:var(--ink-soft);font-size:.78rem;font-weight:600}.paywall-plan__radio{color:#0000;border:2px solid #c45c3a73;border-radius:50%;flex-shrink:0;place-items:center;width:1.7rem;height:1.7rem;font-size:.95rem;font-weight:700;display:grid}.paywall-plan__radio.is-on{color:#fff;background:linear-gradient(135deg,#e8b84a,#e86a35);border-color:#0000}.paywall__cta{margin-top:.15rem;padding:.95rem 1.25rem;font-size:1.05rem}.paywall__renewal,.paywall__message{text-align:center;color:var(--ink-soft);margin:.7rem .2rem .2rem;font-size:.78rem;line-height:1.4}.paywall__message{color:var(--accent-deep);font-weight:600}.paywall-consent{text-align:left;color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:.7rem;margin:1rem .1rem .4rem;font-size:.82rem;line-height:1.4;display:flex}.paywall-consent input{appearance:none;border:2px solid var(--accent);background:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:1.35rem;height:1.35rem;margin-top:.1rem;display:grid}.paywall-consent input:checked{background-color:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.2l3.1 3.1 6.5-6.6'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:.9rem}.paywall__links{justify-content:space-between;gap:.5rem;margin:1rem 0 .35rem;display:flex}.paywall__links a,.paywall__links button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;padding:.5rem .35rem;font-size:.84rem;font-weight:600;text-decoration:none;display:inline-flex}.paywall__links a:hover,.paywall__links button:hover{color:var(--accent-deep)}.paywall__skip{width:100%;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;margin:.35rem 0 .2rem;font-size:.84rem;text-decoration:underline;display:flex}.premium-lock .btn{margin-top:.75rem}.paywall .disclaimer--compact{margin-top:.85rem}.score-share{margin-top:.9rem}.progress-card .score-share,.history-screen .score-share{padding-top:.15rem}.score-share__value{font-family:var(--display);letter-spacing:-.03em;margin:.15rem 0 .35rem;font-size:2.6rem;font-weight:600;line-height:1}.score-share__value span{font-family:var(--font);color:var(--muted);letter-spacing:0;margin-left:.2rem;font-size:1rem;font-weight:600}.score-share__meta{margin-top:0}.score-share .btn{margin-top:.75rem}.score-share--compact{text-align:left;margin-top:.85rem}.score-prompt{margin-bottom:1rem}.score-prompt .btn-row{margin-top:.75rem}.score-share-modal{margin-bottom:calc(var(--tab-h) + var(--safe-bottom));max-height:min(80vh, calc(100vh - var(--tab-h) - var(--safe-bottom) - 1.5rem))}.score-share-sheet__variants{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.score-share-sheet__preview{object-fit:contain;background:#2a1540;border-radius:16px;width:auto;max-width:100%;max-height:42vh;margin:0 auto .75rem;display:block}.score-preview{min-height:0;color:var(--ink);background:#fff4e8;flex:1;padding:1.5rem 1.25rem 3rem;overflow:auto}.score-preview__intro{max-width:720px;margin:0 auto 1.5rem}.score-preview__intro h1{color:var(--ink);text-shadow:none}.score-preview__cards{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.score-preview__cards figure{margin:0}.score-preview__cards figcaption{margin-bottom:.5rem;font-size:.85rem;font-weight:600}.score-preview__cards img{width:min(280px,100%);height:auto;box-shadow:var(--shadow);border-radius:28px;display:block}.score-preview__phone{background:linear-gradient(#2a154033,#fff4e866);border-radius:28px;width:min(390px,100%);margin:0 auto;padding:1rem}
