:root{--ink:#171918;--ink-deep:#101211;--ink-soft:#202321;--ivory:#f3eee5;--paper:#ebe4d9;--paper-deep:#ded4c5;--muted:#a59e94;--copper:#d18860;--copper-solid:#bc6a45;--copper-dark:#6c3825;--green:#789a7a;--line:#f3eee524;--dark-line:#17191829;--shadow:0 24px 64px #090a0938;--page-pad:clamp(1.1rem, 4vw, 4.5rem);--content:1480px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.auth-loading{color:#f3eee5;background:#111312;place-items:center;min-height:100vh;padding:24px;font:500 16px/1.5 Arial,sans-serif;display:grid}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 0%, #d1886014, transparent 24rem), var(--ink);min-width:320px;color:var(--ivory);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Ubuntu,Trebuchet MS,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button{color:inherit}:is(button,label:has(input)){-webkit-tap-highlight-color:transparent}:is(button:active,label:has(input):active){transform:scale(.985)}:is(button:focus-visible,input:focus-visible,textarea:focus-visible,label:has(input):focus-within){outline:3px solid color-mix(in srgb, var(--copper) 72%, white);outline-offset:3px}.app-shell{min-height:100svh;overflow:clip}.skip-link{z-index:100;background:var(--ivory);min-height:44px;color:var(--ink-deep);align-items:center;padding:0 1rem;display:flex;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-header{min-height:78px;padding:0 var(--page-pad);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#111312;justify-content:space-between;align-items:center;gap:2rem;display:flex}.wordmark{align-items:center;min-height:44px;padding:7px 10px;display:inline-flex}.brand-logo{width:92px;height:auto;display:block}.profile{align-items:center;gap:.8rem;display:flex}.profile-copy{text-align:right;line-height:1.2;display:grid}.profile-copy strong{font-size:.9rem;font-weight:600}.profile-copy small{color:var(--muted);margin-top:.25rem;font-size:.875rem}.signout-button{border:1px solid var(--line);min-width:58px;min-height:44px;color:var(--paper-deep);font:inherit;cursor:pointer;background:0 0;padding:0 .75rem}.signout-button:hover{border-color:var(--copper);color:var(--ivory)}.signout-button:active{transform:scale(.97)}.signout-button:disabled{cursor:wait;opacity:.65}.avatar{border:1px solid var(--copper);width:42px;height:42px;color:var(--copper);border-radius:50%;place-items:center;font-weight:700;display:grid}main{width:min(100%, var(--content));padding:0 var(--page-pad) 5rem;margin-inline:auto}.intro{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;padding:clamp(3.75rem,8vw,7rem) 0 clamp(2.8rem,5vw,4.5rem);display:grid;position:relative}.intro:before{content:"";background:linear-gradient(transparent, var(--copper));width:1px;height:52%;position:absolute;top:0;left:0}.intro>div:first-child{padding-left:clamp(1.25rem,2.7vw,2.75rem)}.eyebrow{color:var(--copper);letter-spacing:.18em;margin:0 0 .8rem;font-size:.875rem;font-weight:700;line-height:1.35}h1,h2,p{overflow-wrap:break-word}h1,h2{text-wrap:balance}h1{letter-spacing:-.06em;margin:0;font-size:clamp(3.1rem,7vw,6.8rem);font-weight:500;line-height:.93}h1 span{color:var(--copper)}h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.4vw,3.65rem);font-weight:500;line-height:1}p{margin:0}.intro-copy{max-width:580px;color:var(--paper-deep);margin-top:1.45rem;font-size:clamp(1rem,1.5vw,1.25rem)}.today-card{border:1px solid var(--line);background:var(--ink-soft);min-width:245px;box-shadow:var(--shadow);align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}.today-card svg{fill:none;width:24px;stroke:var(--copper);stroke-width:1.5px}.today-card span{display:grid}.today-card small{color:var(--muted);letter-spacing:.14em;font-size:.875rem}.today-card strong{text-transform:capitalize;margin-top:.18rem;font-weight:600}.day-strip{border:1px solid var(--line);background:var(--ink-deep);scrollbar-width:thin;grid-template-columns:repeat(7,minmax(78px,1fr)) minmax(108px,.8fr);gap:.45rem;margin-bottom:1.2rem;padding:.45rem;display:grid;overflow-x:auto}.day{min-height:64px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .18s,color .18s;display:grid;position:relative}.day span{white-space:pre-line;text-align:center;text-transform:capitalize;font-size:.875rem;line-height:1.35}.day:hover{color:var(--ivory);background:#f3eee50d}.day.active{background:var(--copper-solid);color:var(--ink-deep);font-weight:700}.day-status{background:#f3eee538;border-radius:50%;width:5px;height:5px;position:absolute;bottom:7px;right:7px}.day-status.started{background:var(--copper)}.day-status.complete{background:var(--ivory);box-shadow:0 0 0 3px #f3eee524}.archive-button{border-left:1px solid var(--line);min-height:64px;color:var(--paper-deep);cursor:pointer;place-items:center;display:grid;position:relative}.archive-button span{font-size:.875rem;font-weight:700}.archive-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.history-notice{background:#d1886014;border:1px solid #d1886047;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem 1.25rem;display:flex}.history-notice>svg{fill:none;width:23px;stroke:var(--copper);stroke-width:1.5px;flex:none}.history-notice p{flex:1;display:grid}.history-notice strong{text-transform:capitalize}.history-notice span{color:var(--muted);font-size:.875rem}.history-notice button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:44px;padding:0 1rem}.routine-grid{grid-template-columns:1.1fr .9fr;gap:1.2rem;display:grid}.module{border:1px solid var(--line);background:var(--ink-soft);min-width:0;box-shadow:var(--shadow);padding:clamp(1.4rem,3vw,2.6rem);animation:.56s both enter;position:relative}.module:nth-child(2){animation-delay:80ms}.module:nth-child(3){animation-delay:.13s}.module:nth-child(4){animation-delay:.18s}.module:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 25%,#ffffff09,#0000 75%);transition:transform .8s;position:absolute;inset:0;transform:translate(-100%)}.module:hover:after{transform:translate(100%)}.module-index{color:var(--muted);align-items:center;gap:.8rem;margin-bottom:2rem;font-size:.875rem;display:flex}.module-index i{background:var(--copper);width:44px;height:1px}.module-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.duration{border:1px solid var(--line);color:var(--muted);letter-spacing:.11em;flex:none;padding:.55rem .75rem;font-size:.875rem}.module-intro{color:var(--muted);margin-top:1.1rem}.video-stage{background:var(--ink-deep);border:1px solid var(--line);margin-top:2rem}.video-stage video{aspect-ratio:16/9;object-fit:cover;background:var(--ink-deep);width:100%;display:block}.video-caption{min-height:48px;color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;padding:0 1rem;font-size:.875rem;display:flex}.video-caption button{min-height:44px;color:var(--ivory);cursor:pointer;background:0 0;border:0}.video-collapsed{border:1px solid var(--line);background:var(--ink-deep);text-align:left;cursor:pointer;align-items:center;gap:1rem;width:100%;min-height:82px;margin-top:2rem;padding:1rem;display:flex}.video-collapsed>span:nth-child(2){flex:1;display:grid}.video-collapsed small{color:var(--muted);margin-top:.2rem}.video-collapsed>svg{fill:none;width:22px;stroke:var(--copper);stroke-width:1.5px}.play-icon{border:1px solid var(--copper);border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.play-icon svg{fill:none;width:21px;stroke:var(--copper);stroke-width:1.5px}.completion-button{border:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:.8rem;min-height:48px;margin-top:1.1rem;padding:0 1rem;transition:border-color .18s,background .18s;display:flex}.completion-button span{border:1px solid var(--muted);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.completion-button svg{fill:none;stroke:#0000;stroke-width:2px;width:15px}.completion-button.selected{background:#789a7a1a;border-color:#789a7a85}.completion-button.selected span{border-color:var(--green);background:var(--green)}.completion-button.selected svg{stroke:var(--ink-deep)}.checkin-list{gap:0;margin-top:1.7rem;display:grid}fieldset{border:0;border-top:1px solid var(--line);min-width:0;margin:0;padding:1.25rem 0}fieldset:last-child{border-bottom:1px solid var(--line)}legend{grid-template-columns:28px auto 1fr;align-items:baseline;gap:.65rem;width:100%;padding:0;display:grid}legend span{color:var(--copper);font-size:.875rem}legend strong{font-size:1.05rem}legend small{color:var(--muted);text-align:right;font-size:.875rem}.choice-row{grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.85rem;display:grid}.choice{border:1px solid var(--line);min-height:48px;color:var(--paper-deep);cursor:pointer;background:0 0;padding:.45rem;font-size:.875rem;transition:background .17s,border-color .17s,color .17s}.choice:hover{border-color:#d1886080}.choice.selected{border-color:var(--copper);background:color-mix(in srgb, var(--copper) 16%, var(--ink-soft));color:var(--ivory)}fieldset:disabled .choice{cursor:default;opacity:.74}.writing-module label{color:var(--paper-deep);margin-top:2rem;margin-bottom:.65rem;font-size:.95rem;font-weight:600;display:block}textarea{resize:vertical;border:1px solid var(--line);background:var(--ink-deep);width:100%;min-height:126px;color:var(--ivory);border-radius:0;padding:1.05rem;font-size:1rem;line-height:1.55;transition:border-color .18s,background .18s}textarea::placeholder{color:#77736c}textarea:hover,textarea:focus{background:#131514;border-color:#d188608c}textarea:disabled{opacity:.82;cursor:default}.notes-module textarea{min-height:210px}.field-meta{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:.55rem;font-size:.875rem;display:flex}.day-close,.complete-panel{background:linear-gradient(110deg,#d188601f,#202321f5 45%);border:1px solid #d188605c;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin-top:1.2rem;padding:clamp(1.6rem,3.5vw,3.25rem);display:grid}.day-close p:not(.eyebrow),.complete-panel p:not(.eyebrow){max-width:620px;color:var(--paper-deep);margin-top:.75rem}.close-action{justify-items:end;gap:.6rem;min-width:min(100%,310px);display:grid}.save-state{min-height:21px;color:var(--muted);font-size:.875rem}.save-state.saved{color:#9db99f}.save-state.error{color:#e1a58f}.primary-button{border:1px solid var(--copper);background:var(--copper-solid);min-height:56px;color:var(--ink-deep);cursor:pointer;justify-content:center;align-items:center;gap:1rem;padding:0 1.25rem;font-weight:700;transition:background .18s,transform .12s,opacity .18s;display:inline-flex}.primary-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:22px}.primary-button:hover:not(:disabled){background:var(--copper)}.primary-button:disabled{opacity:.34;cursor:not-allowed}.complete-panel{grid-template-columns:auto 1fr}.complete-panel>span{border:1px solid var(--green);background:#789a7a1f;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.complete-panel>span svg{fill:none;width:28px;stroke:var(--green);stroke-width:1.8px}.readonly .module{box-shadow:none}.readonly .module:after{display:none}footer{width:min(100%, var(--content));padding:2rem var(--page-pad);border-top:1px solid var(--line);color:var(--muted);background:#111312;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;font-size:.875rem;display:flex}.access-link{min-height:44px;color:var(--paper-deep);text-underline-offset:4px;align-items:center;display:inline-flex}.footer-actions{align-items:center;gap:1.25rem;display:flex}.install-link{min-height:44px;color:var(--copper);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.install-dialog-backdrop{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090a09c2;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.install-dialog{border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);background:#111312;padding:clamp(1.5rem,5vw,2.5rem)}.install-dialog h2{margin-top:.55rem;font-size:clamp(2rem,8vw,3rem)}.install-dialog p:not(.eyebrow),.install-dialog ol{color:var(--paper-deep);margin:1.5rem 0 0}.install-dialog ol{padding-left:1.4rem}.install-dialog li+li{margin-top:.7rem}.install-dialog-close{border:1px solid var(--copper);background:var(--copper-solid);min-height:48px;color:var(--ink-deep);cursor:pointer;margin-top:1.75rem;padding:0 1.15rem;font-weight:700}.wordmark.compact{min-height:44px;padding:6px 9px}.wordmark.compact .brand-logo{width:80px}.demo-badge{border:1px solid var(--line);color:var(--copper);letter-spacing:.1em;padding:.45rem .6rem}.access-page{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);width:100%;min-height:100svh;padding:0;display:grid}.access-panel{background:#111312;flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(2rem,7vw,7rem);display:flex}.access-wordmark{align-items:center;min-height:44px;padding:9px 12px;text-decoration:none;display:inline-flex;position:absolute;top:2rem}.access-wordmark img{width:108px;height:auto;display:block}.access-copy{max-width:650px}.access-copy h1{font-size:clamp(3rem,6.5vw,6.5rem)}.access-copy>p:last-child{max-width:540px;color:var(--paper-deep);margin-top:1.5rem;font-size:clamp(1rem,1.4vw,1.2rem)}.access-form{max-width:650px;margin-top:3rem}.access-form>label{margin-bottom:.7rem;font-size:.9rem;font-weight:600;display:block}.access-form>div{grid-template-columns:1fr auto;display:grid}.access-form input{border:1px solid var(--line);background:var(--ink-deep);min-width:0;min-height:58px;color:var(--ivory);border-right:0;border-radius:0;padding:0 1rem}.access-form button{border:1px solid var(--copper);background:var(--copper-solid);min-height:58px;color:var(--ink-deep);cursor:pointer;padding:0 1.25rem;font-weight:700}.access-form button:disabled{cursor:wait;opacity:.68}.access-primary{border:1px solid var(--copper);background:var(--copper-solid);width:fit-content;min-height:58px;color:var(--ink-deep);align-items:center;gap:.8rem;margin-top:3rem;padding:0 1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.access-form>p{color:var(--muted);margin-top:.7rem;font-size:.875rem}.access-privacy{border-top:1px solid var(--line);max-width:650px;color:var(--muted);margin-top:3rem;padding-top:1rem;font-size:.875rem}.access-aside{background:var(--paper);color:var(--ink);place-items:center;display:grid;position:relative;overflow:hidden}.access-aside:before,.access-aside:after{content:"";border:1px solid #6c382538;border-radius:50%;position:absolute}.access-aside:before{aspect-ratio:1;width:64vw;max-width:780px}.access-aside:after{aspect-ratio:1;width:42vw;max-width:510px}.threshold{z-index:1;grid-template-columns:auto 1fr;align-items:center;gap:1.1rem 1.5rem;display:grid;position:relative}.threshold span{color:var(--copper-dark);letter-spacing:.18em;font-size:.875rem;font-weight:700}.threshold i{background:var(--copper-solid);height:1px}.threshold strong{letter-spacing:-.05em;grid-column:1/-1;font-size:clamp(2.4rem,4vw,4.8rem);font-weight:500;line-height:.98}.access-confirmation{background:#789a7a1a;border:1px solid #789a7a7a;grid-template-columns:auto 1fr;gap:1rem;max-width:650px;margin-top:3rem;padding:1.4rem;display:grid}.access-confirmation>span{border:1px solid var(--green);width:42px;height:42px;color:var(--green);border-radius:50%;place-items:center;font-weight:700;display:grid}.access-confirmation p{color:var(--paper-deep);margin-top:.25rem}.access-confirmation button{width:fit-content;min-height:44px;color:var(--copper);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;grid-column:2;padding:0;text-decoration:underline}@keyframes enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (max-width:980px){.routine-grid{grid-template-columns:1fr}.day-strip{grid-template-columns:repeat(7,minmax(70px,1fr)) 100px}.module{animation-delay:0s!important}}@media (max-width:680px){.app-header{min-height:66px}.profile-copy{display:none}.brand-logo{width:82px}.avatar{width:40px;height:40px}main{padding-bottom:3rem}.intro{grid-template-columns:1fr;align-items:start;padding-top:3.4rem}.intro:before{height:42%}.today-card{width:100%;min-width:0}.day-strip{margin-inline:calc(var(--page-pad) * -1);padding-left:var(--page-pad);scrollbar-width:none;border-inline:0}.day-strip::-webkit-scrollbar{display:none}.history-notice{flex-wrap:wrap;align-items:flex-start}.history-notice p{flex-basis:calc(100% - 48px)}.history-notice button{margin-left:38px}.module-heading{align-items:flex-start}.duration{padding:.45rem .55rem;font-size:.875rem}.choice-row{grid-template-columns:1fr}.choice{text-align:left;padding-inline:1rem}legend{grid-template-columns:25px 1fr}legend small{text-align:left;grid-column:2}.day-close{grid-template-columns:1fr}.close-action{justify-items:stretch;width:100%;min-width:0}.save-state{text-align:right}.primary-button{width:100%}.video-caption{flex-direction:column;align-items:flex-start;padding-top:.8rem}.video-caption button{margin-top:-.3rem}footer{flex-direction:column;align-items:flex-start}.footer-actions{flex-direction:column;align-items:flex-start;gap:0;width:100%}.access-page{grid-template-columns:1fr}.access-panel{min-height:74svh;padding-top:7rem}.access-aside{min-height:46svh}.access-form>div{grid-template-columns:1fr;gap:.55rem}.access-form input{border-right:1px solid var(--line)}}@media (max-width:390px){:root{--page-pad:1rem}h1{font-size:2.8rem}.module{padding:1.2rem}.module-heading{flex-direction:column}.duration{align-self:flex-start}.field-meta span:first-child{max-width:180px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
