@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Nunito:wght@400;600;700;800&display=swap";:root{--ink:#251044;--purple:#5c1fa0;--purple2:#7a2fbd;--orange:#f05a17;--green:#16843c;--gold:#f8b419;--paper:#fffdf9;--cream:#fff8ea;--line:#e7dfd5;--muted:#756d7d;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Nunito",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#f7efe4}body{color:var(--ink);font-family:var(--sans);background:radial-gradient(circle at 15% 8%,#fff7e7 0,#0000 30%),radial-gradient(circle at 88% 16%,#f5eafe 0,#0000 28%),#f8f1e8;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}.lotus-mark{color:#e28a00;font-size:34px;line-height:1;display:block;transform:rotate(45deg)}.journey-stage{min-height:100vh;padding-bottom:40px}.journey-brandbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf8d9;border-bottom:1px solid #eadfcc;justify-content:center;align-items:center;gap:min(13vw,210px);height:178px;padding:20px 6vw;display:flex}.journey-brandbar>div{text-align:center;position:relative}.journey-brandbar .lotus-mark{font-size:27px;position:absolute;top:-28px;left:50%;transform:translate(-50%)rotate(45deg)}.journey-brandbar h1{font-family:var(--serif);letter-spacing:.12em;margin:8px 0 0;font-size:58px;font-weight:600;line-height:1}.journey-brandbar p{font-family:var(--serif);justify-content:center;align-items:center;gap:14px;margin:8px 0 0;font-size:21px;display:flex}.journey-brandbar p b:first-child{color:var(--orange)}.journey-brandbar p b:nth-child(3){color:var(--green)}.journey-brandbar p b:nth-child(5){color:var(--purple)}.journey-brandbar p i{font-size:12px;font-style:normal}.journey-brandbar blockquote{font-family:var(--serif);text-align:center;margin:0;font-size:31px;font-style:italic}.journey-brandbar blockquote small{margin-top:5px;font-size:16px;font-style:normal;display:block}.journey-motto{text-align:center;font-family:var(--serif);color:#50306d;margin:28px 0 0;font-size:20px;font-style:italic}.phone-shell{background:var(--paper);border:1px solid #cfc5ba;border-radius:34px;flex-direction:column;width:min(100% - 32px,450px);height:min(780px,100vh - 216px);min-height:620px;margin:24px auto 0;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #381a5b1d}.screen-body{scrollbar-width:thin;scrollbar-color:#d7c9df transparent;flex:1;overflow-y:auto}.mobile-header{background:#fffefa;border-bottom:1px solid #eee6dd;flex:0 0 76px;grid-template-columns:48px 1fr 48px;align-items:center;height:76px;padding:8px 18px;display:grid}.mobile-header>div{text-align:center;flex-direction:column;gap:2px;display:flex}.mobile-header>div b{font-size:16px}.mobile-header>div small{text-transform:uppercase;letter-spacing:.12em;color:var(--purple);font-size:8px;font-weight:800}.header-action{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:10px;font-size:23px}.header-action:hover{background:#f5eef9}.ui-icon{place-items:center;font-style:normal;display:inline-grid}.toast{z-index:20;color:#fff;text-align:left;cursor:pointer;background:#2d1646;border:0;border-radius:12px;padding:12px 38px 12px 14px;font-size:12px;position:absolute;top:84px;left:16px;right:16px;box-shadow:0 12px 30px #29123e38}.toast span{font-size:18px;position:absolute;top:8px;right:14px}.primary-cta,.secondary-cta{cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;min-height:49px;padding:0 20px;font-weight:800;display:flex}.primary-cta{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;box-shadow:0 8px 18px #6721a329}.primary-cta:hover{filter:brightness(1.07);transform:translateY(-1px)}.secondary-cta{color:var(--purple);background:#f1e5f7}.home-screen,.commitments-screen,.checkin-screen,.progress-screen,.reflection-screen{padding:22px 18px 28px}.welcome-copy{text-align:center;margin:2px 0 20px}.welcome-copy span{font-family:var(--serif);font-size:24px}.welcome-copy h2{font-family:var(--serif);margin:0;font-size:35px;line-height:.95}.welcome-copy h2 em{color:var(--purple);font-size:42px;font-weight:500}.welcome-copy p{color:var(--muted);margin:8px 0 0;font-size:10px}.commitment-links{gap:10px;display:grid}.commitment-links button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:58px 1fr 20px;align-items:center;min-height:78px;padding:10px 16px 10px 10px;display:grid}.commitment-links button:hover{transform:translate(3px);box-shadow:0 8px 20px #32134412}.commitment-links button b{font-size:15px;line-height:1.35}.commitment-links button>i{font-size:30px;font-style:normal}.tone-orange{--tone:var(--orange);--wash:#fff3ea}.tone-green{--tone:var(--green);--wash:#eff9ed}.tone-purple{--tone:var(--purple);--wash:#f6eefb}.commitment-links .tone-orange,.commitment-card.tone-orange,.commitment-links .tone-green,.commitment-card.tone-green,.commitment-links .tone-purple,.commitment-card.tone-purple{background:linear-gradient(90deg,#fff,var(--wash))}.commitment-links button b,.commitment-card>div>b{color:var(--tone)}.commitment-icon{background:var(--tone);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-size:24px;display:grid;box-shadow:inset 0 0 0 2px #fff5}.week-card{margin-top:18px}.week-card h3,.week-dots h3,.progress-list h3{font-family:var(--serif);margin:0 0 9px;font-size:17px}.week-card>div{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.week-card button{border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;align-items:center;padding:12px 4px;display:flex}.week-card button:last-child{border:0}.metric-icon{height:34px;font-size:27px;font-weight:800}.metric-icon.green{color:var(--green)}.metric-icon.orange{color:var(--orange)}.metric-icon.purple{color:var(--purple)}.week-card small{font-size:9px}.week-card b{font-family:var(--serif);margin-top:4px;font-size:16px}.home-screen>.primary-cta{width:100%;margin-top:16px}.commitments-screen>blockquote{text-align:center;background:linear-gradient(135deg,#f8eefc,#fff8fa);border:1px solid #e7d8ed;border-radius:16px;margin:0 0 13px;padding:14px 28px;position:relative}.commitments-screen>blockquote span,.commitments-screen>blockquote i{color:#9b60c5;font-family:var(--serif);font-size:36px;line-height:1;position:absolute}.commitments-screen>blockquote span{top:9px;left:15px}.commitments-screen>blockquote i{bottom:4px;right:15px}.commitments-screen>blockquote p{font-family:var(--serif);margin:0;font-size:17px;font-weight:600}.commitments-screen>blockquote small{color:var(--purple);font-size:10px}.commitment-cards{gap:10px;display:grid}.commitment-card{border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:15px;grid-template-columns:52px 1fr 18px;gap:9px;min-height:124px;padding:13px 12px;display:grid;position:relative}.commitment-card>div p{margin:5px 0 11px;font-size:12px;line-height:1.35}.commitment-card>div small{color:#4c4650;font-size:9px}.commitment-card>div small .ui-icon{margin-right:3px}.commitment-card>i{font-size:27px;font-style:normal}.commitment-card>em{color:#246d30;background:#e9f6dc;border:1px solid #cfe7bd;border-radius:12px;padding:3px 9px;font-size:9px;font-style:normal;position:absolute;bottom:10px;right:12px}.commitment-card .commitment-icon{width:45px;height:45px}.today-label{text-align:center;color:var(--purple);font-weight:800;font-family:var(--serif);margin:2px 0 14px;font-size:17px}.daily-card{background:#fffaf4;border:1px solid #edd7c5;border-radius:16px;overflow:hidden}.daily-commitment{align-items:center;gap:12px;padding:14px;display:flex}.daily-commitment small{color:var(--orange);font-size:10px;font-weight:800}.daily-commitment p{margin:5px 0 0;font-size:13px}.daily-card h3{font-family:var(--serif);border-top:1px solid #edd7c5;margin:0;padding:13px 14px 4px;font-size:16px}.mood-choices{grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 10px 15px;display:grid}.mood-choices button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:12px;padding:4px}.mood-choices button.selected{background:#fff;border-color:#e1d8d0}.mood-choices button span{color:#181018;border-radius:50%;place-items:center;width:58px;height:58px;margin:auto;font-family:Arial,sans-serif;font-size:45px;line-height:1;display:grid}.mood-choices .complete span{background:#85d152}.mood-choices .partial span{background:#ffc53b}.mood-choices .restart span{background:#f15f55}.mood-choices button b{margin-top:6px;font-size:10px;display:block}.note-field{margin-top:18px;display:block}.note-field>span{font-family:var(--serif);justify-content:space-between;font-size:15px;font-weight:700;display:flex}.note-field>span small{font-family:var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px}.note-field textarea,.reflection-field textarea,.adult-card textarea{border:1px solid var(--line);resize:vertical;background:#fff;border-radius:11px;outline:none;width:100%;padding:12px}.note-field textarea{height:75px;margin-top:8px}.checkin-screen>.primary-cta{width:100%;margin-top:16px}.privacy-note{text-align:center;color:var(--muted);margin:10px 0 0;font-size:9px}.period-toggle{border:1px solid #a389ab;border-radius:18px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.period-toggle button{cursor:pointer;background:#fff;border:0;height:34px}.period-toggle button.active{background:linear-gradient(135deg,var(--purple),var(--purple2));color:#fff;font-weight:800}.range-label{text-align:center;font-family:var(--serif);margin:12px 0;font-weight:700}.progress-summary{justify-content:center;align-items:center;gap:34px;margin:10px 0 17px;display:flex}.progress-ring{--progress:240deg;background:conic-gradient(var(--green) var(--progress),#dce9dc 0);border-radius:50%;place-items:center;width:116px;height:116px;display:grid;position:relative}.progress-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:12px}.progress-ring span{z-index:1;font-family:var(--serif);font-size:34px;font-weight:700;position:relative}.progress-summary>div:last-child{flex-direction:column;display:flex}.progress-summary>div:last-child b{font-family:var(--serif);font-size:24px}.week-dots{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0}.week-dots>div{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.week-dots>div>span{flex-direction:column;align-items:center;gap:5px;display:flex}.week-dots small{font-size:9px;font-weight:800}.week-dots i{border:1px solid #bbb2b9;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;display:grid}.week-dots i.done{border-color:var(--green);background:var(--green);color:#fff}.week-dots i.missed{background:#fff0ee;border-color:#ef8b80}.progress-list{padding-top:13px}.progress-row{border:1px solid var(--line);background:var(--wash);border-radius:12px;grid-template-columns:35px 105px 1fr 32px;align-items:center;gap:8px;margin-bottom:7px;padding:7px 9px;display:grid}.progress-row .commitment-icon{width:30px;height:30px;font-size:16px}.progress-row>b{font-size:10px}.progress-row>i{background:#dedbdc;border-radius:7px;height:7px;overflow:hidden}.progress-row>i span{background:var(--tone);border-radius:7px;height:100%;display:block}.progress-row>em{font-size:10px;font-style:normal}.encouragement{font-family:var(--serif);text-align:center;color:var(--purple);margin:15px 15px 0;font-size:14px;font-style:italic}.reflection-range{text-align:center;font-family:var(--serif);margin:0 0 14px;font-weight:700}.reflection-questions{gap:11px;display:grid}.reflection-field{grid-template-columns:30px 1fr;gap:8px;display:grid}.question-icon{font-size:24px;line-height:1}.question-icon.gold{color:var(--gold)}.question-icon.purple{color:#8549bd}.question-icon.orange{color:var(--orange)}.reflection-field b{font-family:var(--serif);margin-bottom:5px;font-size:14px;display:block}.reflection-field textarea{height:52px;padding:9px;font-size:11px}.reflection-screen>.primary-cta{width:100%;margin-top:16px}.lotus-divider{color:#ad73cf;align-items:center;gap:8px;margin:16px 24px 0;display:flex}.lotus-divider span{background:#cba8df;flex:1;height:1px}.lotus-divider b{font-size:27px;transform:rotate(45deg)}.bottom-nav{border-top:1px solid var(--line);background:#fffefa;flex:0 0 68px;grid-template-columns:repeat(3,1fr);height:68px;padding:5px 18px;display:grid}.bottom-nav button{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:10px;display:flex}.bottom-nav .ui-icon{font-size:23px}.bottom-nav button.active{color:var(--purple);font-weight:800}.bottom-nav button.active .ui-icon{transform:translateY(-2px)}.adult-screen{background:#fffcf7;flex:1;padding-bottom:30px;overflow-y:auto}.adult-screen>header{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr 60px;align-items:center;height:76px;padding:8px 14px;display:grid}.adult-screen>header button{cursor:pointer;background:0 0;border:0;font-size:11px}.adult-screen>header button:first-child{text-align:left;font-size:22px}.adult-screen>header div{text-align:center;flex-direction:column;display:flex}.adult-screen>header small{text-transform:uppercase;letter-spacing:.12em;color:var(--purple);font-size:8px}.adult-intro{text-align:center;color:#fff;background:linear-gradient(145deg,#32104e,#6a278f);padding:28px 24px}.adult-intro .lotus-mark{color:#ffc24a}.adult-intro h2{font-family:var(--serif);margin:10px 0 4px;font-size:30px}.adult-intro p{color:#e7dced;font-size:11px;line-height:1.5}.child-select{justify-content:space-between;align-items:center;padding:16px 18px 8px;display:flex}.child-select span{font-size:10px;font-weight:800}.child-select select{border:1px solid var(--line);background:#fff;border-radius:9px;width:70%;padding:8px}.adult-summary{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);margin:8px 18px 14px;display:grid;overflow:hidden}.adult-summary div{text-align:center;border-right:1px solid var(--line);padding:10px 7px}.adult-summary div:last-child{border:0}.adult-summary small{color:var(--muted);font-size:8px;display:block}.adult-summary b{font-family:var(--serif);font-size:20px}.adult-card{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0 18px 13px;padding:16px}.adult-card h3,.recent-notes h3{font-family:var(--serif);margin:0 0 10px;font-size:20px}.adult-card>p{color:var(--muted);font-size:10px}.adult-card label{margin-bottom:9px;display:block}.adult-card label span{margin-bottom:4px;font-size:9px;font-weight:800;display:block}.adult-card input,.adult-card select{border:1px solid var(--line);border-radius:9px;width:100%;padding:10px}.adult-card textarea{height:64px;font-size:11px}.adult-card .primary-cta,.adult-card .secondary-cta{width:100%;min-height:42px;margin-top:8px;font-size:11px}.recent-notes{margin:18px}.recent-notes blockquote{font-family:var(--serif);background:#f5eef9;border-radius:11px;margin:8px 0;padding:12px;font-style:italic}.recent-notes small{font-family:var(--sans);color:var(--purple);margin-top:5px;font-size:8px;font-style:normal;display:block}.login-page{background:var(--paper);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-visual{color:#fff;text-align:center;background:radial-gradient(circle at 50% 15%,#742c98 0,#321044 50%,#1c092a 100%);flex-direction:column;justify-content:center;align-items:center;padding:50px;display:flex;position:relative}.login-visual .lotus-mark{color:#ffba2d;font-size:48px}.login-visual h1{font-family:var(--serif);letter-spacing:.11em;margin:19px 0 0;font-size:72px}.login-visual>p{font-family:var(--serif);gap:14px;font-size:20px;display:flex}.login-visual>p b:first-child{color:#ff8b55}.login-visual>p b:nth-child(3){color:#7fd39a}.login-visual>p b:nth-child(5){color:#c49be3}.login-visual blockquote{font-family:var(--serif);max-width:560px;font-size:20px;font-style:italic;position:absolute;bottom:7%}.login-visual blockquote small{margin-top:8px;font-size:13px;font-style:normal;display:block}.login-panel{align-items:center;padding:70px;display:flex}.login-panel>div{max-width:510px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--orange);font-size:9px;font-weight:800}.login-panel h2{font-family:var(--serif);margin:18px 0;font-size:56px;line-height:.95}.login-panel h2 em{color:var(--purple);font-weight:500}.login-panel p{color:var(--muted);line-height:1.6}.google-button{cursor:pointer;background:#fff;border:1px solid #d8d1dc;border-radius:12px;grid-template-columns:36px 1fr 36px;align-items:center;width:100%;height:52px;margin:28px 0 16px;font-weight:800;display:grid}.google-button b{color:#4285f4;font-family:Arial;font-size:18px}.login-panel>div>small{text-align:center;color:var(--muted);font-size:10px;display:block}.auth-error{color:#a13f2d;background:#fff0ed;border-radius:8px;font-size:11px;padding:10px!important}.auth-loading{color:#fff;background:#2d0f43;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.auth-loading b{font-family:var(--serif);letter-spacing:.13em;font-size:34px}.auth-loading p{color:#dfd2e6;font-family:var(--serif);font-style:italic}@media (max-width:760px){.journey-stage{padding:0}.journey-brandbar,.journey-motto{display:none}.phone-shell{width:100%;height:100dvh;min-height:0;box-shadow:none;border:0;border-radius:0;margin:0}.login-page{grid-template-columns:1fr}.login-visual{min-height:42vh;padding:38px 20px}.login-visual h1{font-size:46px}.login-visual>p{font-size:15px}.login-visual blockquote{display:none}.login-panel{padding:38px 25px}.login-panel h2{font-size:45px}}@media (max-height:710px) and (min-width:761px){.phone-shell{height:660px}.journey-brandbar{height:130px}.journey-brandbar h1{font-size:45px}}.gate-shell{justify-content:center}.access-gate{text-align:center;padding:42px 34px}.access-gate .lotus-mark{margin-bottom:20px}.access-gate h2{font-family:var(--serif);margin:0 0 14px;font-size:32px;line-height:1.05}.access-gate p{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.6}.access-gate small{border-top:1px solid var(--line);color:var(--green);margin-top:24px;padding-top:16px;font-size:9px;font-weight:800;display:block}.fixed-child{margin-bottom:7px}.fixed-child strong{font-family:var(--serif);color:var(--purple);font-size:21px}.access-card{background:#fbf7fd;border-color:#d7c1e5}.access-card .secondary-cta{width:100%;font-size:11px}.access-card button:disabled{opacity:.5;cursor:not-allowed}.adult-card input[type=email]{background:#fff}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
