@charset "UTF-8";
:root{--ink:#101010;--gold:#C7A45B;--paper:#F5F1E8;--surface:#fffdf8;--muted:#726d64;--line:#dfd9ce;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--danger:#943f30;--radius:12px;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button{color:inherit}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,label.file-label:focus-within{outline:3px solid #9a732c;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h1{font-size:42px;line-height:1.15;margin-bottom:10px}h2{font-size:27px;line-height:1.2;margin-bottom:14px}h3{font-size:14px;font-weight:500}p{line-height:1.65}button{border:0;background:transparent}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.flipped{transform:rotate(180deg)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:16px;padding:14px;background:var(--ink);color:var(--paper);z-index:1000}.skip-link:focus{top:16px}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.65}.eyebrow{font-size:10px;letter-spacing:.18em;line-height:1.5;font-weight:600;text-transform:uppercase;display:block;color:var(--muted);margin-bottom:12px}.gold{color:var(--gold)}.tiny-label{font-size:9px;letter-spacing:.2em}.version{font-size:10px;letter-spacing:.08em;color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--ink);color:var(--paper);padding:40px 24px 28px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin:0 6px 66px}.brand-monogram{font-family:var(--serif);font-size:49px;line-height:1;position:relative;color:var(--gold)}.brand-monogram span{position:absolute;font:24px var(--sans);top:5px;left:17px}.brand-wordmark{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1.6}.brand-wordmark span{display:block;color:var(--gold)}.sidebar-label{font-size:9px;letter-spacing:.19em;color:#8e8b82;margin:0 14px 18px}.side-nav{display:flex;flex-direction:column;gap:8px}.nav-link{height:52px;display:flex;align-items:center;gap:14px;text-align:left;width:100%;color:#c7c3ba;border-radius:7px;padding:0 14px;font-size:13px}.nav-link .icon{width:19px;height:19px}.nav-link:hover{background:#1c1b18}.nav-link.active{background:#27231b;color:var(--gold)}.nav-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:30px 12px 0}.sidebar-bottom .tiny-label{color:var(--gold)}.sidebar-bottom p{font:italic 20px/1.5 var(--serif);color:#a9a59b;margin:12px 0 28px;max-width:150px}.sidebar-bottom .version{color:#8d887d;font-size:9px}.workspace{margin-left:232px}.topbar{height:87px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 44px;gap:18px}.topbar-path{font-size:10px;letter-spacing:.11em;color:var(--muted)}.topbar-path span{margin:0 14px;color:#c5bcac}.topbar-right{display:flex;align-items:center;gap:22px}.local-pill{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.local-pill .icon{width:14px;height:14px}.language-switch{display:flex;align-items:center;font-size:10px;gap:0}.language-switch button{padding:12px 7px;min-height:44px;color:var(--muted);font-size:10px}.language-switch button[aria-pressed=true]{font-weight:bold;color:#8a631d}.language-switch span{color:#bab09f}.avatar{width:34px;height:34px;background:#e9e0cf;border:1px solid #d5c7ae;border-radius:50%;font:17px var(--serif);color:#785a23}.mobile-brand{display:none}.bottom-nav{display:none}main{max-width:1420px;margin:0 auto;padding:38px 44px 24px;min-height:calc(100vh - 165px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading .eyebrow{margin-bottom:9px;font-size:9px;letter-spacing:.16em}.page-description{font-size:13px;color:var(--muted);margin:0}.page-heading h1:focus{outline:none}.date-picker,.week-picker{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:6px;flex-shrink:0;height:43px;background:#faf7f0;font-size:11px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:5px;color:var(--muted);padding:10px}.icon-button .icon{width:17px;height:17px}.icon-button:hover:not(:disabled){background:#ebe5d9;color:var(--ink)}.date-picker .icon-button{min-width:32px;min-height:40px;padding:8px}.date-label{position:relative;padding:10px 8px;min-width:90px;text-align:center;line-height:1.6;overflow:hidden}.date-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;min-height:0}.date-label input::-webkit-calendar-picker-indicator{width:100%;height:100%;position:absolute;inset:0;cursor:pointer}.date-label:focus-within{outline:2px solid var(--gold)}
.hero{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);border-radius:var(--radius);min-height:304px;padding:35px 39px;margin-bottom:25px}.hero-copy{max-width:440px;position:relative;z-index:2}.hero h2{font-size:44px;line-height:1.08;margin-bottom:16px;letter-spacing:-.04em}.hero h2 em{color:var(--gold);font-weight:400}.hero p{font-size:12px;color:#c2beb5;max-width:335px;margin-bottom:18px;line-height:1.75}.hero .eyebrow{font-size:9px;letter-spacing:.19em;margin-bottom:17px}.hero-link{display:flex;align-items:center;gap:25px;color:var(--gold);font-size:11px;padding:9px 0;min-height:44px}.hero-link .icon{width:18px;height:18px}.hero-index{position:absolute;right:25px;bottom:19px;font-size:8px;letter-spacing:.22em;color:#a89a7c}.orbit-art{position:absolute;right:1.5%;top:-6px;width:330px;height:325px;color:var(--gold);opacity:.85;transform:rotate(-11deg)}.orbit{border:1px solid #75603a;border-radius:48%;position:absolute;inset:15px 65px 25px 65px;transform:rotate(25deg)}.orbit-two{inset:30px 45px 45px 45px;transform:rotate(-12deg)}.orbit-three{inset:55px 25px 65px 25px;transform:rotate(-50deg);border-color:#4b412c}.orbit-star{position:absolute;top:0;right:83px;font-size:77px;line-height:1;transform:rotate(11deg)}.orbit-word{font-size:14px;line-height:1.65;letter-spacing:.26em;position:absolute;top:132px;left:101px;transform:rotate(11deg);text-align:center}.orbit-caption{position:absolute;bottom:19px;left:90px;font-size:7px;letter-spacing:.2em;transform:rotate(11deg)}.today-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:25px}.today-primary,.today-secondary{display:flex;flex-direction:column;gap:23px;min-width:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.section-heading h2,.section-heading h3{margin:0}.section-heading .eyebrow{font-size:9px;margin-bottom:8px}.section-heading h2{font-size:25px}.count-pill{background:#eee9df;border:1px solid #e5ddce;border-radius:20px;padding:7px 11px;font-size:12px;flex-shrink:0;display:inline-flex;gap:3px;align-items:center}.count-pill>span{color:var(--muted);font-size:10px}.goal-list{list-style:none;padding:0;margin:0}.goal-row{display:flex;align-items:center;border-top:1px solid #eee9df;gap:2px;min-height:64px}.goal-check{display:flex;align-items:center;gap:13px;font-size:13px;line-height:1.5;flex:1;cursor:pointer;min-height:56px;position:relative;overflow-wrap:anywhere}.goal-check>span:last-child{flex:1}.goal-check input{position:absolute;opacity:0;width:24px;height:24px;left:0;margin:0}.check-box{border:1px solid #c8bfae;border-radius:50%;width:23px;height:23px;flex-shrink:0;display:grid;place-items:center;background:var(--surface)}.check-box .icon{width:14px;height:14px;opacity:0}.goal-check input:focus-visible+.check-box{outline:3px solid var(--gold);outline-offset:4px}.is-done .check-box{background:var(--gold);border-color:var(--gold)}.is-done .check-box .icon{opacity:1}.is-done .goal-check>span:last-child{color:var(--muted);text-decoration:line-through;text-decoration-color:#c6b99e}.goal-row .subtle{min-width:36px;padding:6px;color:#948a78}.goal-row .subtle .icon{width:14px;height:14px}.goals-empty{display:flex;gap:16px;align-items:center;padding:13px 0 22px}.empty-number{font:36px var(--serif);color:#d8c9aa}.goals-empty strong{font-size:12px;font-weight:500}.goals-empty p{font-size:11px;color:var(--muted);margin:7px 0 0}.add-goal{display:flex;align-items:center;background:#f8f5ee;border:1px dashed #d3c8b4;border-radius:6px;overflow:hidden;margin-bottom:25px}.add-goal input{flex:1;width:100%;padding:15px 13px;background:transparent;border:0;font-size:12px;min-width:0;margin:0;border-radius:0}.add-goal .icon-button{margin-right:3px;color:#8a682f}.goal-limit{margin:13px 0 20px}.habit-section{border-top:1px solid var(--line);padding-top:22px}.section-heading.compact{margin-bottom:15px}.compact h3{font-size:12px}.habit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.habit{border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:16px 4px;font-size:10px;position:relative;min-height:83px;color:var(--muted)}.habit .icon{width:19px;height:19px;color:#8f7850}.habit-check{position:absolute;top:5px;right:5px;display:none}.habit-check .icon{width:11px;height:11px}.habit.checked{background:#eee4d0;border-color:#c7a45b;color:#684c1e}.habit.checked .habit-check{display:block}.quick-journal{background:#ebe6dc;border-color:#ded5c5;display:flex;flex-direction:column;gap:14px}.quick-journal .eyebrow{font-size:9px}.quick-journal h2{font-size:25px}.quick-journal p{font-size:12px;color:var(--muted);margin-bottom:0;max-width:380px}.quick-actions{display:flex;gap:9px;flex-wrap:wrap}.button{display:inline-flex;gap:9px;justify-content:center;align-items:center;min-height:46px;padding:13px 18px;font-size:12px;font-weight:500;border-radius:6px;border:1px solid transparent;text-decoration:none;line-height:1.4;transition:background .15s}.button .icon{width:17px;height:17px}.dark{background:var(--ink);color:var(--paper)}.dark:hover:not(:disabled){background:#302a20}.secondary{border-color:#c7bcaa;background:transparent}.secondary:hover:not(:disabled){background:#ece5d7}.gold-button{background:var(--gold);color:var(--ink)}.gold-button:hover{background:#ddbc76}.text-button{display:inline-flex;align-items:center;gap:18px;font-size:11px;min-height:44px;text-decoration:none;padding:7px 0;font-weight:500}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.text-button .icon{width:17px;height:17px}.weekly-intention{padding:25px 24px 23px;background:#ece3d0;border:1px solid #dacfba;border-radius:var(--radius);position:relative;overflow:hidden}.weekly-intention .eyebrow{color:#7c6235;font-size:9px;margin-bottom:4px}.weekly-intention .small{font-size:10px}.weekly-intention h2{font-size:27px;line-height:1.22;margin-top:23px;margin-bottom:18px;overflow-wrap:anywhere}.weekly-intention .text-button{position:relative;z-index:1}.intention-line{position:absolute;width:180px;height:180px;border:1px solid #d5c5a2;border-radius:50%;right:-90px;bottom:-105px}.challenge-preview{border-radius:var(--radius);border:1px solid var(--line);padding:24px;background:var(--surface)}.challenge-preview .eyebrow{font-size:9px;margin:0;letter-spacing:.12em}.challenge-preview>.section-heading>.icon{color:#9f8148;width:18px;height:18px}.challenge-preview h2{font-size:28px;margin:20px 0 13px}.challenge-preview p{font-size:12px;color:var(--muted);margin-bottom:19px}.mini-progress{display:flex;justify-content:space-between;gap:6px;margin:18px 0 10px}.mini-progress>span{font-size:10px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;color:var(--muted)}.mini-progress .done{background:var(--gold);border-color:var(--gold);color:var(--ink)}.mini-progress .icon{width:13px;height:13px}.local-note{display:flex;align-items:flex-start;gap:11px;margin:25px 0 0;color:var(--muted);padding:0 3px}.local-note>.icon{width:16px;height:16px;margin-top:2px}.local-note p{font-size:10px;margin:0;max-width:800px;line-height:1.7}.page-footer{display:flex;align-items:center;justify-content:space-between;max-width:1420px;margin:0 auto;padding:24px 44px 30px;gap:20px;color:var(--muted);font-size:9px}.page-footer>span:first-child{font-size:8px;letter-spacing:.18em}.page-footer>span:nth-child(2){font-family:var(--serif);font-style:italic;font-size:12px}.page-footer a{text-decoration:none;display:flex;align-items:center;gap:9px}.page-footer .icon{width:12px;height:12px}
.challenge-intro{background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:38px;display:flex;justify-content:space-between;gap:40px;overflow:hidden;margin-bottom:26px}.challenge-intro>div{max-width:620px}.challenge-intro h2{font-size:36px;margin-bottom:20px}.challenge-intro p{font-size:13px;color:#c8c1b5}.challenge-intro .eyebrow{font-size:9px}.giant-seven{font:220px/.9 var(--serif);color:var(--gold);display:flex;flex-direction:column;align-items:center;opacity:.75;padding:8px 20px}.giant-seven>span{font:10px var(--sans);letter-spacing:.3em;margin-top:20px}.challenge-status{font-size:12px;color:var(--gold);display:flex;gap:10px;align-items:center;flex-wrap:wrap}.challenge-status .icon{width:17px;height:17px}.challenge-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.25fr);gap:26px}.day-list{display:flex;flex-direction:column;gap:5px}.day-option{display:flex;align-items:center;gap:15px;text-align:left;padding:13px 15px;border-radius:8px;min-height:77px;border:1px solid transparent}.day-option.selected{background:#eae2d2;border-color:#d4c6aa}.day-option:hover{background:#ebe5d9}.day-number{display:grid;place-items:center;font:21px var(--serif);width:42px;height:42px;border:1px solid #d7cdbb;border-radius:50%;flex-shrink:0}.day-number.done{background:var(--gold);border-color:var(--gold)}.day-number .icon{width:18px;height:18px}.day-option small{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em;margin-bottom:7px}.day-option strong{font-size:12px;font-weight:500}.day-status{margin-left:auto;font-size:9px;color:var(--muted)}.day-status .icon{width:15px;height:15px}.challenge-task{align-self:start;padding:37px;position:sticky;top:25px}.challenge-task h2{font-size:39px;margin-top:27px}.task-description{font-size:16px;line-height:1.85;margin:25px 0 35px}.challenge-task blockquote{margin:0 0 36px;border-left:2px solid var(--gold);padding:8px 0 8px 20px;font:italic 21px/1.5 var(--serif);color:#7f663a}.challenge-task .button{margin-bottom:16px}.segmented{display:inline-flex;padding:5px;border:1px solid var(--line);border-radius:8px;margin-bottom:26px;gap:5px;background:#eae4d8}.segmented button{min-height:45px;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 21px;font-size:12px;border-radius:5px;color:var(--muted)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #241a0a12}.segmented .icon{width:17px;height:17px}.journal-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.25fr);gap:25px}.form-panel h2{font-size:29px}.form-panel .eyebrow{font-size:9px}form>label{display:block;font-size:12px;line-height:1.5;margin:20px 0 8px}input,textarea,select{border:1px solid #cec4b2;background:#fffdf8;border-radius:5px;min-height:46px;color:var(--ink);padding:12px;width:100%;font-size:14px}textarea{resize:vertical;line-height:1.7;display:block}input::placeholder,textarea::placeholder{color:#8c8578;opacity:1}select{cursor:pointer;line-height:1.5}.form-actions{display:flex;align-items:center;gap:12px;margin-top:23px;flex-wrap:wrap}.form-actions>.button{flex:1}.entries-panel{align-self:start}.empty-state{text-align:center;padding:62px 15px}.empty-state>.icon{width:34px;height:34px;color:#b29763;margin-bottom:20px}.empty-state h3{font:23px var(--serif);line-height:1.3}.empty-state p{font-size:12px;color:var(--muted);max-width:280px;margin:0 auto}.workout-entry{display:flex;gap:14px;border-top:1px solid var(--line);padding:23px 0}.workout-entry:last-child{padding-bottom:0}.entry-icon{width:36px;height:36px;border-radius:50%;background:#eee7da;color:#8b6b35;display:grid;place-items:center;flex-shrink:0}.entry-icon .icon{width:17px;height:17px}.entry-copy{min-width:0;flex:1}.entry-copy .eyebrow{font-size:8px;margin:0 0 8px;letter-spacing:.1em}.entry-copy h3{font-size:13px;line-height:1.5;margin-bottom:9px}.entry-copy h3>span{font-weight:400;color:var(--muted)}.entry-copy p{font-size:12px;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.entry-actions{display:flex;flex-direction:column}.entry-actions>.icon-button{min-width:36px;min-height:36px;padding:8px}.entry-actions .icon{width:14px;height:14px}.reflection-top{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.reflection-top>p{font-size:12px;color:var(--muted);margin:0}.reflection-panel{max-width:900px}.reflection-panel>.section-heading{border-bottom:1px solid var(--line);padding-bottom:20px;flex-wrap:wrap}.reflection-panel>.section-heading>.eyebrow{margin:0}.save-status{font-size:10px;color:#63714c}.save-status.unsaved{color:var(--danger)}.reflection-field{margin:28px 0}.reflection-field label{display:flex;align-items:center;gap:12px;margin-bottom:15px;font:24px var(--serif);line-height:1.4}.reflection-field label>.icon{width:20px;height:20px;color:#947541}.reflection-field textarea{background:#faf8f2;padding:15px;font-size:14px;border-color:#ded5c6;min-height:130px}.review-intention{border-left:2px solid var(--gold);padding:8px 0 8px 25px;margin:35px 0 30px}.review-intention h2{font-size:27px;margin-bottom:0;max-width:760px;overflow-wrap:anywhere}.review-intention .eyebrow{font-size:9px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.stat-card{position:relative;border:1px solid var(--line);border-radius:9px;padding:25px;background:var(--surface);display:flex;flex-direction:column;gap:13px}.stat-card>.icon{position:absolute;top:23px;right:20px;color:#ad9059;width:17px;height:17px}.stat-card>strong{font:36px var(--serif);margin-top:15px}.stat-card>span{font-size:11px;color:var(--muted)}.week-picker>span{padding:0 7px;white-space:nowrap;font-size:10px}.weekly-chart{padding:30px}.bar-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:22px;padding:25px 12px 0}.bar-column{display:flex;align-items:center;flex-direction:column;gap:10px;font-size:11px;min-width:0}.bar-value{font-size:11px;color:var(--muted)}.bar-track{height:150px;width:100%;max-width:48px;background:#f0ebe2;border-radius:4px;display:flex;align-items:flex-end;overflow:hidden}.bar-fill{width:100%;display:block;background:var(--gold);border-radius:4px 4px 0 0}.level-0{height:0}.level-1{height:16.666%}.level-2{height:33.333%}.level-3{height:50%}.level-4{height:66.666%}.level-5{height:83.333%}.level-6{height:100%}.bar-day{margin-top:3px;text-transform:capitalize;color:var(--muted);line-height:1.6}.bar-day.is-today{color:#825f24;font-weight:bold}.bar-date{font-size:10px;color:var(--muted)}.bar-column.future{opacity:.45}.review-facts{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:27px;padding-top:22px;font-size:10px;color:var(--muted)}.review-prompt{display:flex;gap:22px;padding:35px 10px 10px}.review-prompt>.icon{width:28px;height:28px;color:#a78a52;margin-top:3px}.review-prompt h2{font-size:27px}.review-prompt p{font-size:13px;color:var(--muted);margin-bottom:0}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.settings-panel h2{font-size:28px}.settings-panel p{font-size:12px;color:var(--muted)}.settings-panel .small{font-size:10px}.setting-row{display:flex;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.setting-row strong,.setting-row>label{font-size:12px;line-height:1.6;font-weight:500}.setting-row p{font-size:11px;margin:6px 0 0}.setting-row select{width:130px;flex-shrink:0;font-size:12px}.privacy-panel{grid-column:1/-1;grid-row:2}.privacy-panel>.icon{float:right;color:#a78a52;width:28px;height:28px}.privacy-panel p{max-width:900px}.data-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.file-label{cursor:pointer}.data-actions:has(#import-file:focus-visible) .file-label{outline:3px solid var(--gold);outline-offset:3px}.settings-panel>.eyebrow{font-size:9px}.website-link{display:flex;width:max-content;margin-top:12px}.danger-panel{border-color:#d9bfb3;grid-column:1/-1}.button.danger{border:1px solid #bc8876;color:#873e2b;background:#faf0e9}.button.danger:hover{background:#f3dfd3}.storage-alert{display:flex;align-items:center;gap:12px;margin:20px 44px 0;padding:15px 18px;background:#f4dfcf;border:1px solid #c6a084;border-radius:8px;font-size:12px;line-height:1.6}.storage-alert>.icon{flex-shrink:0}.storage-alert>.text-button{flex-shrink:0}#toast{position:fixed;bottom:25px;left:calc(50% + 116px);transform:translate(-50%,20px);max-width:calc(100% - 40px);width:max-content;background:#222018;color:var(--paper);padding:15px 22px;border:1px solid #a48a56;border-radius:8px;font-size:12px;line-height:1.6;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #cabea7;border-radius:12px;padding:37px;max-width:510px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);box-shadow:0 20px 100px #0004;max-height:calc(100dvh - 40px);overflow-y:auto}dialog::backdrop{background:#101010aa;backdrop-filter:blur(4px)}dialog h2{font-size:32px;margin-top:15px;line-height:1.2}dialog p{font-size:12px;color:var(--muted)}dialog .eyebrow{font-size:9px;margin-top:10px}.dialog-close{position:absolute;right:10px;top:10px}.full-width{width:100%;margin-top:24px}dialog form>.small{display:block;margin-bottom:9px}dialog textarea{background:var(--surface)}
@media(min-width:1600px){.hero{min-height:325px}.hero-copy{max-width:590px}.hero h2{font-size:52px}.orbit-art{right:8%}.today-grid{grid-template-columns:1.8fr 1fr}.goals-panel{padding:31px}.hero p{font-size:14px;max-width:400px}.hero-link{font-size:12px}}
@media(max-width:1200px){.sidebar{width:205px;padding:34px 18px}.workspace{margin-left:205px}.topbar{padding:0 30px}.topbar-path{font-size:8px}.topbar-right{gap:15px}.local-pill{display:none}main{padding:30px 30px 20px}.page-footer{padding:24px 30px}.today-grid{gap:19px;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}.panel{padding:23px}.hero{padding:32px}.orbit-art{right:-25px;opacity:.65}.hero-copy{max-width:380px}.hero h2{font-size:41px}.hero p{max-width:290px}.section-heading h2{font-size:23px}.count-pill{padding:6px 9px}.quick-actions>.button{font-size:11px;padding:12px 14px}.challenge-layout,.journal-layout{gap:20px}.challenge-task{padding:28px}.settings-grid{gap:20px}.stat-card{padding:20px}.stats-grid{gap:12px}#toast{left:calc(50% + 102px)}.storage-alert{margin:18px 30px 0}}
@media(max-width:960px) and (min-width:761px){.sidebar{width:178px;padding:30px 12px}.workspace{margin-left:178px}.brand{gap:8px}.brand-wordmark{font-size:10px}.nav-link{font-size:12px;gap:10px;padding:0 10px}main{padding:28px 23px}.topbar{padding:0 23px}.topbar-path{letter-spacing:.04em}.topbar-path span{margin:0 7px}h1{font-size:35px}.page-heading{align-items:flex-start}.page-description{max-width:300px}.hero-copy{max-width:320px}.hero p{max-width:260px}.orbit-art{right:-90px;opacity:.42}.today-grid{grid-template-columns:1fr}.today-secondary{display:grid;grid-template-columns:1fr 1fr}.weekly-intention h2{margin-top:24px}.challenge-preview h2{font-size:24px}.challenge-layout,.journal-layout{grid-template-columns:1fr}.day-list{display:grid;grid-template-columns:1fr 1fr}.challenge-task{position:static}.stats-grid{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}.privacy-panel{grid-column:auto;grid-row:auto}.danger-panel{grid-column:auto}.page-footer>span:nth-child(2){display:none}#toast{left:calc(50% + 89px)}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin:0}.topbar{height:70px;padding:env(safe-area-inset-top,0px) 21px 0}.mobile-brand{display:block;text-decoration:none;font-size:24px;font-weight:bold;letter-spacing:-.06em}.mobile-brand>span{font-size:9px;vertical-align:top;margin-left:3px;color:#917039;letter-spacing:0}.topbar-path{display:none}.topbar-right{gap:15px}.language-switch{font-size:11px}.language-switch button{font-size:11px;padding:12px 8px}.avatar{width:32px;height:32px;font-size:15px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));background:#101010fa;color:#a9a49a;border-top:1px solid #302b20;z-index:50;backdrop-filter:blur(16px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:51px;font-size:9px;line-height:1.2;padding:5px 0}.bottom-nav .icon{width:20px;height:20px}.bottom-nav button.active{color:var(--gold)}.bottom-nav button.active>.icon{filter:drop-shadow(0 0 9px #c7a45b45)}main{padding:28px 20px 12px;min-height:calc(100dvh - 215px)}.page-heading{display:block;margin-bottom:24px}.page-heading .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:9px}h1{font-size:35px;letter-spacing:-.045em}.page-description{font-size:12px;line-height:1.7;max-width:340px}.page-heading>.date-picker{margin-top:18px;width:max-content;height:40px}.date-picker{height:42px}.date-label{font-size:11px}.hero{padding:28px 25px 25px;min-height:302px;margin-bottom:21px;border-radius:10px}.hero h2{font-size:39px;margin-bottom:17px;line-height:1.1}.hero .eyebrow{font-size:8px;margin-bottom:18px}.hero p{font-size:11px;line-height:1.8;max-width:248px;margin-bottom:14px}.hero-copy{max-width:300px}.hero-link{font-size:11px;gap:18px;padding-bottom:0}.orbit-art{width:270px;height:300px;right:-127px;top:5px;opacity:.33}.orbit-word,.orbit-caption{display:none}.orbit-star{font-size:50px;right:82px;top:10px}.hero-index{font-size:6px;right:17px;bottom:13px;letter-spacing:.1em}.today-grid{grid-template-columns:1fr;gap:20px}.today-primary,.today-secondary{gap:20px}.panel{padding:23px 20px;border-radius:10px}.section-heading{margin-bottom:19px;gap:10px}.section-heading .eyebrow{font-size:8px;letter-spacing:.13em}.section-heading h2{font-size:25px}.goals-panel .section-heading h2{font-size:24px}.count-pill{font-size:11px;padding:6px 9px}.goal-row{min-height:67px}.goal-check{font-size:13px;gap:12px}.goal-check>span:last-child{padding:12px 0}.goal-row>.subtle{min-width:30px;min-height:44px;padding:5px}.goals-empty{padding-top:12px;gap:14px}.goals-empty strong{font-size:12px}.goals-empty p{font-size:11px}.empty-number{font-size:33px}.add-goal input{font-size:16px;padding:13px 12px;min-height:50px}.add-goal input::placeholder{font-size:12px}.habit-grid{gap:9px}.habit{min-height:85px;padding:15px 5px;font-size:10px}.habit .icon{width:21px;height:21px}.quick-journal{padding:25px 22px}.quick-journal h2{font-size:27px}.quick-journal .eyebrow{font-size:8px}.quick-journal p{font-size:12px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-actions>.button{padding:12px 8px;font-size:10px;gap:7px}.quick-actions>.button>.icon{width:16px;height:16px}.weekly-intention{padding:25px}.weekly-intention h2{font-size:30px;max-width:290px;margin-top:20px}.weekly-intention .eyebrow{font-size:9px}.challenge-preview{padding:25px}.challenge-preview h2{font-size:31px}.challenge-preview .eyebrow{font-size:9px}.mini-progress{justify-content:flex-start;gap:10px}.mini-progress>span{width:29px;height:29px}.local-note{padding:0 4px;margin-top:22px;gap:10px}.local-note p{font-size:10px;line-height:1.8}.page-footer{padding:25px 24px calc(100px + env(safe-area-inset-bottom,0px));font-size:9px;gap:12px}.page-footer>span:nth-child(2){display:none}.page-footer>span:first-child{font-size:7px;letter-spacing:.1em}.page-footer a{font-size:9px}.challenge-intro{padding:28px 24px;position:relative;margin-bottom:20px;gap:0}.challenge-intro>div{position:relative;z-index:1}.challenge-intro h2{font-size:33px;max-width:290px}.challenge-intro p{font-size:12px;max-width:340px}.challenge-intro .eyebrow{font-size:8px}.giant-seven{position:absolute;right:-10px;top:0;font-size:220px;opacity:.1;padding:0}.giant-seven>span{display:none}.challenge-layout{grid-template-columns:1fr;gap:20px}.day-list{display:flex;flex-direction:row;gap:9px;overflow-x:auto;padding:3px 0 12px;scrollbar-width:thin}.day-option{flex-direction:column;min-height:110px;min-width:94px;max-width:94px;padding:10px 5px;text-align:center;gap:7px;background:#eee8dc;border-color:var(--line)}.day-option.selected{border-color:#9d7c3f;background:#e5d7ba}.day-option small{font-size:7px;margin:2px 0 0}.day-option strong{display:none}.day-status{font-size:8px;margin:0}.day-number{width:36px;height:36px;font-size:20px}.day-status .icon{height:12px;width:12px}.challenge-task{position:static;padding:28px 24px}.challenge-task h2{font-size:35px;margin-top:24px}.task-description{font-size:15px;margin:22px 0 28px}.challenge-task blockquote{font-size:21px;margin-bottom:28px}.challenge-task>.button{width:100%;font-size:11px}.challenge-status{font-size:11px}.segmented{display:flex;width:100%;padding:4px;margin-bottom:21px;gap:4px}.segmented button{flex:1;padding:10px 6px;font-size:11px;gap:7px}.segmented .icon{width:16px;height:16px}.journal-layout{grid-template-columns:1fr;gap:20px}.form-panel h2{font-size:28px}.form-panel .eyebrow{font-size:8px}input,select,textarea{font-size:16px;min-height:49px}form>label{font-size:12px;margin-top:20px}.button{font-size:12px;min-height:48px}.empty-state{padding:35px 10px}.empty-state h3{font-size:23px}.workout-entry{gap:11px;padding:22px 0}.entry-icon{width:31px;height:31px}.entry-copy h3{font-size:13px}.entry-copy .eyebrow{font-size:8px}.entry-actions>.icon-button{min-height:44px;min-width:32px}.entry-copy p{font-size:12px}.reflection-top{flex-direction:column;align-items:flex-start;gap:15px}.reflection-top>p{font-size:12px}.reflection-panel{padding:23px 20px}.save-status{font-size:9px;line-height:1.6}.reflection-panel>.section-heading{gap:10px}.reflection-field{margin:25px 0}.reflection-field label{font-size:24px;gap:10px}.reflection-field textarea{font-size:16px;min-height:150px;padding:13px}.reflection-field textarea::placeholder{font-size:14px}.reflection-panel .button{width:100%}.week-picker{margin-top:20px;width:max-content}.week-picker>span{font-size:11px}.review-intention{padding-left:19px;margin:28px 0 25px}.review-intention h2{font-size:26px}.review-intention .eyebrow{font-size:8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat-card{padding:18px;gap:10px;min-height:140px}.stat-card>strong{font-size:35px;margin-top:16px}.stat-card>span{font-size:10px}.stat-card>.icon{top:16px;right:17px;width:16px;height:16px}.weekly-chart{padding:24px 18px}.weekly-chart .section-heading{flex-wrap:wrap;align-items:flex-start}.weekly-chart h2{font-size:26px}.weekly-chart .count-pill{font-size:11px}.weekly-chart>p{font-size:10px}.bar-chart{gap:11px;padding:20px 0 0}.bar-track{height:130px;max-width:28px}.bar-day{font-size:10px}.bar-date{font-size:9px}.bar-column{gap:8px}.review-facts{flex-direction:column;gap:10px;font-size:10px;line-height:1.6}.review-prompt{gap:14px;padding:29px 0 5px}.review-prompt>.icon{width:22px;height:22px}.review-prompt h2{font-size:26px}.review-prompt p{font-size:12px}.settings-grid{grid-template-columns:1fr;gap:20px}.privacy-panel{grid-row:auto;grid-column:auto}.danger-panel{grid-column:auto}.settings-panel h2{font-size:27px}.settings-panel p{font-size:12px}.setting-row{gap:15px}.setting-row .button{padding:11px 12px;font-size:11px}.setting-row select{font-size:16px;width:130px}.data-actions{flex-direction:column;align-items:stretch;gap:11px}.data-actions .button{font-size:12px}.danger-panel>.button{width:100%}.settings-panel .small{font-size:11px}.storage-alert{margin:18px 20px 0;padding:15px;align-items:flex-start;flex-wrap:wrap;font-size:11px}.storage-alert>span{flex:1;min-width:180px}.storage-alert>.text-button{margin-left:30px}#toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 32px);padding:14px 18px;font-size:12px}dialog{padding:29px 24px;max-height:calc(100dvh - 32px)}dialog h2{font-size:30px}dialog p{font-size:12px}.dialog-close{top:7px;right:7px}.full-width{margin-top:22px}}
@media(max-width:370px){main{padding-left:15px;padding-right:15px}.topbar{padding-left:17px;padding-right:17px}.hero{padding:27px 22px}.hero h2{font-size:36px}.hero p{max-width:230px}.hero-link{font-size:10px}.panel{padding:22px 17px}.goals-panel .section-heading h2{font-size:22px}.quick-actions{grid-template-columns:1fr}.page-description{font-size:11px}.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav button{font-size:8px}.goal-row>.subtle{min-width:28px}.mini-progress{gap:9px}.bar-chart{gap:8px}.setting-row{flex-wrap:wrap}}
/* Keep phone reading sizes and touch targets comfortable, including narrow phones. */
@media(max-width:760px){.page-description{font-size:13px}.hero p{font-size:13px;max-width:270px}.hero{min-height:329px}.hero-link{font-size:12px}.quick-journal p,.challenge-preview p,.challenge-intro p,.reflection-top>p,.settings-panel p,.review-prompt p{font-size:14px}.quick-journal .eyebrow,.challenge-preview .eyebrow{font-size:9px}.goal-row>.subtle{min-width:44px;min-height:44px}.avatar{width:44px;height:44px}.goals-empty strong{font-size:13px}.goals-empty p{font-size:12px}.habit{font-size:12px}.quick-actions>.button{font-size:12px;padding:13px 9px}.quick-actions{grid-template-columns:1fr}.bottom-nav button{font-size:10px}.setting-row strong,.setting-row>label{font-size:14px}.workout-entry .entry-copy p{font-size:14px}.local-note p{font-size:11px}.button,.text-button{min-height:48px}.text-button{font-size:12px}dialog p{font-size:14px}.local-pill{font-size:11px}.challenge-preview .mini-progress{flex-wrap:wrap}.day-option{min-width:94px}.language-switch button{min-width:44px}}
/* Keep the free hosting badge clear of the mobile app navigation. */
@media(max-width:760px){#nl-badge-frame{bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}
/* v0.2: a guided path, with rewards grounded in personal records. */
.top-settings{flex-shrink:0}.onboarding-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:28px;align-items:start}.onboarding-panel{padding:36px}.onboarding-panel h2{font-size:34px;margin:16px 0 20px}.onboarding-panel form>.eyebrow{display:block;margin-top:35px}.onboarding-panel .form-actions{margin:27px 0 20px;justify-content:space-between}.onboarding-panel .form-actions>.button:last-child{margin-left:auto}.onboarding-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;gap:8px}.onboarding-steps li{border-top:2px solid var(--line);padding-top:16px;display:flex;gap:9px;align-items:center;color:var(--muted)}.onboarding-steps li.current,.onboarding-steps li.complete{border-color:#997338;color:var(--ink)}.onboarding-steps span{border:1px solid var(--line);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px}.onboarding-steps .current span{background:var(--ink);color:var(--paper)}.onboarding-steps small{font-size:11px;line-height:1.5}.focus-options{border:0;padding:0;margin:25px 0;display:grid;gap:12px;min-width:0}.focus-option{position:relative;display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:8px;padding:18px 16px;cursor:pointer;min-height:68px;font-size:14px}.focus-option:has(input:checked){border-color:#9d7c3f;background:#f0e8d8}.focus-option input{min-height:22px;width:22px;height:22px;accent-color:#80602f;flex-shrink:0}.focus-icon{color:#8c6934;display:flex}.onboarding-aside{background:var(--ink);color:var(--paper);padding:38px 32px;border-radius:12px}.onboarding-aside h2{font-size:35px;margin:24px 0 20px;line-height:1.16}.onboarding-aside p{color:#c5bfb1;line-height:1.9;font-size:14px}.onboarding-aside .text-button{color:var(--gold);margin-top:18px}.path-preview{display:grid;gap:0;margin-top:25px}.path-preview span{padding:16px 0;border-top:1px solid #38332a;font-size:13px;color:#e3d6bd}.commitment-note{display:flex;gap:12px;padding:16px;background:#f0e9dd;border-radius:8px;margin-top:20px}.commitment-note>.icon{flex-shrink:0;margin-top:4px}.commitment-note p{margin:0;font-size:13px;line-height:1.8}.journey-hero{background:var(--ink);color:var(--paper);border-radius:12px;padding:38px;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:40px;margin-bottom:24px}.journey-hero h2{font-size:37px;line-height:1.2;margin:20px 0;overflow-wrap:anywhere}.journey-hero p{font-size:14px;line-height:1.8;color:#c5bfb1;white-space:pre-wrap;overflow-wrap:anywhere}.journey-hero .hero-link{margin-top:15px}.points-total{border-left:1px solid #484034;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-left:30px;gap:9px}.points-total strong{font-family:var(--serif);font-size:78px;line-height:1.1;color:var(--gold)}.points-total>span:not(.eyebrow){font-size:10px;letter-spacing:.17em}.points-total small{font-size:11px;line-height:1.7;color:#c5bfb1;margin-top:10px}.next-step{display:flex;align-items:center;gap:22px;padding:26px 0 31px;border-bottom:1px solid var(--line);margin-bottom:30px}.next-step h2{font-size:26px;margin:9px 0 0}.next-step .button{margin-left:auto;flex-shrink:0}.step-number{font-family:var(--serif);font-size:40px;color:#92703a}.journey-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.journey-grid>div{display:grid;gap:24px;align-content:start}.milestone-list{list-style:none;padding:0;margin:30px 0 15px}.milestone-list li{display:flex;gap:20px;position:relative;padding:0 0 30px}.milestone-list li:not(:last-child):before{content:'';position:absolute;left:21px;top:43px;bottom:0;border-left:1px solid var(--line)}.milestone-number{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:14px;flex-shrink:0}.milestone-list .done .milestone-number{background:var(--ink);border-color:var(--ink);color:var(--gold)}.milestone-list h3{font-size:17px;margin:3px 0 8px}.milestone-list p{font-size:13px;color:var(--muted);line-height:1.8;margin:0;overflow-wrap:anywhere}.milestone-list .text-button{margin:6px 0 0}.weekly-reward{margin:24px 0}.journey-grid .weekly-reward{margin:0}.weekly-reward h2{font-size:26px}.weekly-reward p{font-size:13px;line-height:1.9;margin-bottom:0}.weekly-reward .small{font-size:12px}.reward-chip{background:#eee4cf;color:#60471e;border-radius:30px;padding:9px 12px;font-size:12px;white-space:nowrap;display:flex;gap:6px;align-items:center}.reward-chip .icon{width:16px;height:16px}.success-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:26px 0 18px}.success-date{display:flex;flex-direction:column;gap:10px;align-items:center;font-size:11px;color:var(--muted)}.success-date strong{border:1px solid var(--line);height:38px;width:38px;border-radius:50%;display:grid;place-items:center;font-weight:400;color:var(--ink)}.success-date.current-day strong{border-color:#9d7c3f}.success-date.achieved strong{background:var(--ink);color:var(--gold);border-color:var(--ink)}.success-date .icon{width:18px;height:18px}.reward-rules h2{font-size:27px}.reward-rules dl{margin:20px 0}.reward-rules dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:16px 0;font-size:13px;line-height:1.7}.reward-rules dd{margin:0;flex-shrink:0;font-weight:600}.reward-rules .small{line-height:1.8}.badges-panel{margin:24px 0}.badge-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:25px}.badge-card{border:1px solid var(--line);border-radius:8px;text-align:center;padding:23px 12px;display:flex;flex-direction:column;align-items:center}.badge-medal{width:57px;height:57px;display:grid;place-items:center;background:#ebe6da;color:#918a7d;border:1px solid #ded7c9;border-radius:50%}.badge-card.earned{background:#f3ebdb;border-color:#b49761}.badge-card.earned .badge-medal{background:var(--ink);color:var(--gold);border-color:var(--ink)}.badge-medal .icon{width:27px;height:27px}.badge-card h3{font-size:14px;margin:20px 0 8px;line-height:1.5}.badge-card p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 15px}.badge-state{font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:auto;color:#6c604e}.badge-card.earned .badge-state{color:#71501c}.bonus-panel{background:#eee5d3}.bonus-panel h2{font-size:32px;margin:13px 0}.bonus-panel p{font-size:14px;line-height:1.9}.bonus-panel progress{width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;background:#d5cab4;accent-color:#8c6934;margin:18px 0}.bonus-panel progress::-webkit-progress-bar{background:#d5cab4}.bonus-panel progress::-webkit-progress-value{background:#8c6934}.bonus-questions{padding-left:23px;line-height:1.9;font-size:15px}.bonus-questions li{padding:10px 0 10px 7px}.bonus-panel .button{margin-top:14px}.day-reward{border:1px solid #c7b48e;background:#f0e9db;border-radius:10px;padding:23px;display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:0 0 24px}.day-reward.achieved{background:#e9e4d6;border-color:#a08a5f}.reward-symbol{border:1px solid #baa477;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;color:#785b28}.day-reward h2{font-size:24px;margin:7px 0}.day-reward p{font-size:12px;margin:0;line-height:1.8}.day-reward p span{padding:0 8px}.day-reward>.text-button{margin-left:auto}.day-points{margin-left:auto;font-family:var(--serif);font-size:34px;white-space:nowrap}.day-points small{font-family:var(--sans);font-size:11px;font-weight:400}.start-reminder{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px;font-size:14px}.reflection-reward{padding:16px 18px;border-radius:8px;background:#eee5d3;font-size:13px;line-height:1.8}.vip-hero{position:relative;overflow:hidden;border-radius:12px;background:var(--ink);color:var(--paper);padding:42px;margin-bottom:24px}.coming-pill{display:inline-block;border:1px solid #79633c;color:var(--gold);padding:10px 14px;border-radius:30px;font-size:10px;letter-spacing:.12em;position:relative;z-index:1}.vip-hero h2{font-size:51px;line-height:1.08;margin:30px 0 22px;position:relative;z-index:1}.vip-hero h2 em{color:var(--gold);font-weight:400}.vip-hero p{max-width:430px;font-size:14px;line-height:1.9;color:#c5bfb1;position:relative;z-index:1}.vip-star{position:absolute;width:300px;height:300px;right:25px;top:60px;color:#c7a45b22;stroke-width:.6;transform:rotate(12deg)}.vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.vip-card>.icon{width:30px;height:30px;color:#8c6934;display:block;margin-bottom:25px}.vip-card h2{font-size:27px;margin:12px 0}.vip-card p{font-size:14px;color:var(--muted);line-height:1.9}.free-promise{display:flex;gap:22px;margin-top:24px}.free-promise>.icon{flex-shrink:0;color:#8c6934;margin-top:5px}.free-promise h2{font-size:29px}.free-promise p{font-size:14px;line-height:1.9}.journey-hero,.onboarding-aside,.vip-hero{background-image:radial-gradient(ellipse at top right,#c7a45b14,transparent 70%)}
@media(max-width:1100px){.onboarding-layout{grid-template-columns:1fr}.onboarding-aside{padding:30px}.path-preview{grid-template-columns:1fr 1fr;gap:0 20px}.onboarding-aside h2 br{display:none}.journey-hero{grid-template-columns:minmax(0,1fr) 180px;gap:25px;padding:30px}.journey-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vip-grid{grid-template-columns:1fr}.vip-card{display:block}.next-step h2{font-size:23px}.day-reward>.text-button{width:100%;justify-content:flex-start;margin:0}}
@media(max-width:760px){.topbar-right{gap:3px}.top-settings{min-width:44px;min-height:44px}.onboarding-layout{gap:20px}.onboarding-panel{padding:24px 20px}.onboarding-panel h2{font-size:30px}.onboarding-panel p{font-size:14px;line-height:1.8}.onboarding-steps{gap:7px}.onboarding-steps li{flex-direction:column;align-items:flex-start;gap:8px}.onboarding-steps small{font-size:10px}.onboarding-panel form>.eyebrow{margin-top:30px}.focus-option{font-size:14px;padding:16px 11px;gap:10px}.focus-icon .icon{width:20px;height:20px}.onboarding-aside{padding:30px 24px}.onboarding-aside h2{font-size:34px}.path-preview{grid-template-columns:1fr}.commitment-note{padding:14px;gap:10px}.commitment-note p{font-size:12px}.journey-hero{grid-template-columns:1fr;padding:28px 24px;gap:24px}.journey-hero h2{font-size:32px}.points-total{border-left:0;border-top:1px solid #484034;padding:23px 0 0;align-items:flex-start;text-align:left;gap:7px}.points-total strong{font-size:65px}.points-total small{margin-top:3px}.next-step{gap:12px;flex-wrap:wrap;padding:5px 0 25px}.next-step>div{flex:1}.next-step h2{font-size:24px}.next-step>.button{margin-left:40px}.step-number{font-size:33px}.journey-grid{gap:20px}.journey-grid>div{gap:20px}.milestone-list{margin-top:25px}.milestone-list li{gap:15px}.milestone-list h3{font-size:16px;line-height:1.5}.milestone-list p{font-size:13px}.milestone-list li{padding-bottom:26px}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.badge-card{padding:22px 10px}.badge-card:last-child{grid-column:1 / -1}.badge-card h3{font-size:14px}.badge-card p{font-size:12px}.badge-state{font-size:9px}.bonus-panel h2{font-size:29px}.bonus-panel p{font-size:14px}.bonus-questions{font-size:14px}.weekly-reward{margin:20px 0;padding:23px 18px}.weekly-reward h2{font-size:25px}.weekly-reward .section-heading{align-items:flex-start;flex-wrap:wrap}.success-week{gap:4px}.success-date{font-size:10px}.success-date strong{width:32px;height:32px}.weekly-reward p{font-size:13px}.reward-rules dl>div{flex-direction:column;gap:5px;font-size:14px}.day-reward{padding:20px 18px;gap:12px}.day-reward>div:not(.reward-symbol){flex:1;min-width:180px}.day-reward h2{font-size:25px}.day-reward p{font-size:12px}.day-reward p span{display:block;font-size:0;line-height:4px}.reward-symbol{width:36px;height:36px}.day-points{font-size:30px;margin-left:48px}.day-reward>.text-button{font-size:12px;margin-top:0}.start-reminder{flex-direction:column;align-items:flex-start;gap:5px;font-size:14px}.reflection-reward{font-size:13px}.vip-hero{padding:30px 24px}.vip-hero h2{font-size:38px}.coming-pill{font-size:8px;letter-spacing:.08em;padding:10px 11px}.vip-star{width:230px;height:230px;right:-90px;top:90px}.vip-hero p{font-size:14px}.vip-grid{gap:20px}.vip-card h2{font-size:29px}.vip-card p{font-size:14px}.free-promise{gap:14px;padding:25px 20px}.free-promise h2{font-size:28px}.free-promise p{font-size:14px}.bottom-nav button{font-size:10px}.onboarding-panel textarea{min-height:140px}}
.newsletter-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;margin:24px 0;position:relative;overflow:hidden;background:#eee6d6;border-color:#d1bea0}.newsletter-intro h2{font-size:34px;line-height:1.15;margin:15px 0}.newsletter-intro p{font-size:14px;line-height:1.9;margin:0 0 17px}.newsletter-optional{font-size:12px;color:#6b6150;line-height:1.8;display:block}.newsletter-form{min-width:0;position:relative}.newsletter-form>label:first-child{margin-top:0;font-size:13px}.newsletter-input-row{display:flex;gap:10px;align-items:stretch;margin-top:10px}.newsletter-input-row input{width:100%;min-width:0;background:#faf7f0}.newsletter-input-row .button{white-space:nowrap;flex-shrink:0}.newsletter-consent{display:flex;align-items:flex-start;gap:12px;margin:19px 0 14px!important;cursor:pointer;padding:7px 0}.newsletter-consent input{width:21px;height:21px;min-height:21px;flex-shrink:0;accent-color:#80602f;margin:2px 0 0}.newsletter-consent span{font-size:12px;line-height:1.85;font-weight:400}.newsletter-privacy{font-size:11px;line-height:1.85;color:#6b6150;margin:0}.newsletter-privacy a{color:#5d451c;text-underline-offset:3px;display:inline-block}.newsletter-provider{display:inline-flex;align-items:center;min-height:44px;margin-top:13px;max-width:100%}.newsletter-provider img{max-width:100%;width:165px;height:30px;object-fit:contain}.newsletter-honeypot{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}.page-footer{flex-wrap:wrap}.page-footer .footer-newsletter{font-size:11px;letter-spacing:0;min-height:44px}.page-footer .footer-newsletter:hover{color:#735420}dialog .newsletter-panel{display:block;border:0;margin:0;padding:0;background:transparent;overflow:visible}dialog .newsletter-intro h2{font-size:32px}dialog .newsletter-form{margin-top:24px}dialog .newsletter-input-row{flex-direction:column}dialog .newsletter-intro p{font-size:14px}
@media(max-width:1100px){.newsletter-panel{grid-template-columns:1fr;gap:25px}.newsletter-intro p{max-width:600px}.newsletter-input-row{max-width:650px}}
@media(max-width:760px){.newsletter-panel{padding:27px 22px;gap:24px;margin:20px 0}.newsletter-intro h2{font-size:30px}.newsletter-intro p{font-size:14px}.newsletter-optional{font-size:12px}.newsletter-input-row{flex-direction:column;gap:12px}.newsletter-input-row input{font-size:16px;min-height:52px}.newsletter-input-row .button{width:100%;font-size:14px;min-height:50px}.newsletter-consent{gap:12px;min-height:44px}.newsletter-consent span{font-size:13px}.newsletter-privacy{font-size:12px}.newsletter-privacy a{padding:7px 0}.newsletter-provider{margin-top:9px}.page-footer .footer-newsletter{font-size:11px}.newsletter-form>label:first-child{font-size:14px}dialog .newsletter-intro h2{font-size:30px}.newsletter-honeypot input{min-height:0}}
.self-review{margin:24px 0;background:#f0eadf}.self-review summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;min-height:48px;list-style:none}.self-review summary::-webkit-details-marker{display:none}.self-review summary>span:first-child{display:flex;align-items:center;gap:13px}.self-review summary strong{font-family:var(--serif);font-size:28px;font-weight:400}.self-review .review-deduction{font-size:12px;white-space:nowrap;color:#775d38;border:1px solid #c9b895;border-radius:20px;padding:8px 11px}.self-review>p{font-size:14px;line-height:1.9;margin-top:20px}.self-review form{max-width:650px}.self-review .button{margin-top:20px}.setback-list{list-style:none;padding:0;margin:25px 0 0}.setback-list li{border-top:1px solid var(--line);padding:20px 0;display:flex;align-items:flex-start;gap:20px}.setback-list li>div{flex:1;min-width:0}.setback-list strong{font-size:14px}.setback-list p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.setback-list li>div>span{display:block;font-size:12px;color:#775d38;margin-top:8px}.point-progress{margin:24px 0}.point-progress h2{font-size:29px;margin:12px 0}.point-progress p{font-size:14px}.point-progress progress,.point-milestone progress{width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;accent-color:#8c6934;background:#ddd3be;margin:15px 0}.point-progress progress::-webkit-progress-bar,.point-milestone progress::-webkit-progress-bar{background:#ddd3be}.point-progress progress::-webkit-progress-value,.point-milestone progress::-webkit-progress-value{background:#8c6934}.point-milestones{margin:24px 0}.point-milestones>h2{font-size:34px;margin:15px 0 25px}.point-milestone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.point-milestone{padding:26px 20px;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.point-milestone.earned{background:#f2eadb;border-color:#ae9158}.milestone-score{font-family:var(--serif);font-size:52px;color:#80602f;line-height:1}.milestone-score small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.12em;margin-top:9px}.point-milestone h3{font-family:var(--serif);font-size:29px;margin:24px 0 15px;font-weight:400}.point-milestone p{font-size:13px;line-height:1.85}.point-milestone>.badge-state{margin-top:0;margin-bottom:15px;line-height:1.6}.point-milestone blockquote{font-family:var(--serif);font-size:22px;line-height:1.4;margin:10px 0 20px;padding:0;border:0}.point-milestone .text-button{font-size:12px;text-align:left}.video-reward-preview{background:var(--ink);padding:18px 15px;border-radius:8px;color:var(--paper);margin-top:20px;width:100%}.video-reward-preview .coming-pill{font-size:8px;letter-spacing:.07em;padding:8px 10px}.video-reward-preview p{font-size:12px;color:#d0c8b8;margin-bottom:0}.point-milestones>.small{margin-top:24px;line-height:1.8}.point-breakdown{font-size:14px;line-height:2}.day-reward p>strong{font-size:14px}.day-reward .day-points{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.point-milestone-grid{grid-template-columns:1fr}.point-milestone{padding:25px}.video-reward-preview{max-width:500px}}
@media(max-width:760px){.self-review{margin:20px 0;padding:22px 20px}.self-review summary{align-items:flex-start;gap:12px}.self-review summary>span:first-child{align-items:flex-start;gap:10px}.self-review summary .icon{width:20px;height:20px;flex-shrink:0;margin-top:6px}.self-review summary strong{font-size:26px;line-height:1.2}.self-review .review-deduction{font-size:10px;padding:7px 9px}.self-review>p{font-size:14px}.self-review .button{width:100%}.setback-list li{gap:12px}.setback-list p{font-size:14px}.point-progress{margin:20px 0}.point-progress h2{font-size:28px}.point-milestones{margin:20px 0}.point-milestones>h2{font-size:30px}.point-milestone{padding:24px 20px}.point-milestone h3{font-size:30px}.point-milestone p{font-size:14px}.point-milestone blockquote{font-size:24px}.video-reward-preview p{font-size:13px}.point-milestones>.small{font-size:12px}.setback-list .icon-button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* v0.4 — public introduction and account sign-in */
.auth-page{min-height:100dvh;background:#101010;color:#f5f1e8;display:flex;flex-direction:column}.auth-header,.auth-footer{width:min(1180px,calc(100% - 64px));margin:0 auto;display:flex;align-items:center}.auth-header{padding:30px 0;border-bottom:1px solid #ffffff20;gap:24px}.auth-logo{font-size:29px;font-weight:800;letter-spacing:-2px;color:#f5f1e8;text-decoration:none}.auth-logo span{color:#c7a45b;margin-left:5px}.auth-wordmark{font-size:10px;letter-spacing:2.3px;color:#bbb5a8}.auth-header .language-switch{margin-left:auto}.auth-header .language-switch button{color:#a5a196}.auth-header .language-switch button[aria-pressed=true]{color:#e0c185}.auth-layout{width:min(1180px,calc(100% - 64px));margin:0 auto;padding:64px 0 70px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);gap:90px;align-items:start;flex:1}.auth-intro{padding-top:20px}.auth-intro h1{font-size:clamp(40px,4.8vw,68px);line-height:1.07;font-weight:400;letter-spacing:-2.3px;margin:20px 0 24px}.auth-intro h1 em{font-weight:400;color:#c7a45b}.auth-description{max-width:470px;line-height:1.8;font-size:15px;color:#bcb8af}.auth-steps{list-style:none;padding:0;margin:35px 0;display:grid;gap:20px}.auth-steps li{display:flex;gap:18px;align-items:start}.auth-steps li>span{color:#c7a45b;font-size:11px;letter-spacing:1px;border:1px solid #c7a45b55;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;flex:none}.auth-steps strong{font-size:14px;font-weight:500}.auth-steps p{font-size:12px;color:#9d998f;margin:5px 0;line-height:1.6}.auth-signature{font-size:9px;letter-spacing:3px;color:#92816a}.auth-card{background:#f5f1e8;color:#101010;border:1px solid #d9ceba;padding:34px;border-radius:3px;box-shadow:0 22px 70px #0005;min-width:0}.auth-card h2{font-weight:400;font-size:31px;letter-spacing:-.5px;margin:11px 0 22px}.auth-card>p{font-size:14px;line-height:1.7}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#e8e3d8;border-radius:3px;margin-bottom:22px;gap:4px}.auth-tabs button{border:0;background:transparent;padding:12px 4px;min-height:44px;font:inherit;font-size:13px;color:#696358;cursor:pointer}.auth-tabs button[aria-pressed=true]{background:#101010;color:#f5f1e8;box-shadow:0 2px 5px #0001;border-radius:2px}.auth-card form{display:grid;gap:9px}.auth-card form>label{font-size:12px;font-weight:500;margin-top:8px}.auth-card input[type=email],.auth-card input[type=password]{width:100%;min-width:0;min-height:50px;padding:13px;background:#fbf9f4;color:#101010;border:1px solid #d4cbbc;border-radius:2px;font:inherit;font-size:16px}.auth-card input:focus{outline:2px solid #ae843e;outline-offset:2px}.auth-card .auth-remember{display:flex;align-items:start;gap:9px;margin:10px 0 15px;font-size:12px;font-weight:400;line-height:1.6}.auth-remember input{width:18px;height:18px;flex:none;accent-color:#101010;margin:0}.auth-card .button{min-height:50px}.auth-card .button span{margin-left:auto;font-size:20px;color:#c7a45b}.auth-card .auth-subaction{display:block;min-height:44px;margin:5px auto;text-align:center;font-size:12px}.auth-message{font-size:13px;line-height:1.65;padding:12px 14px;border-left:3px solid #947134;background:#e7ddc9;margin:0 0 15px;overflow-wrap:anywhere}.auth-message.is-error{border-color:#994c3d;background:#f3e0da;color:#753c30}.auth-local{display:flex;align-items:start;gap:10px;border-top:1px solid #d9d0c0;margin-top:23px;padding-top:18px}.auth-local>span{color:#8b6c35;font-size:24px;line-height:1}.auth-local p{font-size:11px;line-height:1.75;color:#706a5f;margin:0}.auth-privacy{margin-top:17px;font-size:11px;line-height:1.8;color:#706a5f}.auth-privacy summary{cursor:pointer;min-height:35px;padding:8px 0;color:#4e493f;text-decoration:underline;text-underline-offset:3px}.auth-privacy a{color:#5d4927}.auth-email{font-size:15px;display:block;overflow-wrap:anywhere;margin:16px 0 22px}.auth-footer{gap:28px;justify-content:space-between;border-top:1px solid #ffffff20;font-size:9px;color:#8f8a80;letter-spacing:.7px;padding:24px 0}.auth-footer a{color:#c7a45b}.account-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.account-panel h2{font-size:30px;margin:8px 0}.account-email{overflow-wrap:anywhere;font-size:15px}.account-actions{display:grid;gap:9px;min-width:170px}.account-actions .text-button{font-size:12px;min-height:44px;justify-content:center}.danger-text{color:#995246}.legacy-notice{display:flex;align-items:center;gap:25px;padding:22px;background:#eadfc9;border:1px solid #cfb98c;margin-bottom:26px}.legacy-notice strong{font-size:14px}.legacy-notice p{font-size:12px;line-height:1.7;margin:8px 0 0}.legacy-notice>div:last-child{display:grid;gap:8px;flex-shrink:0}.legacy-notice button{font-size:12px;min-height:44px}.auth-card .small{font-size:11px;line-height:1.7}.auth-card button:disabled{opacity:.55;cursor:wait}
@media(max-width:950px){.auth-layout{gap:40px;grid-template-columns:1fr 1fr}.auth-card{padding:26px}.auth-intro h1{font-size:44px;letter-spacing:-1.5px}.auth-wordmark{display:none}}
@media(max-width:700px){.auth-header,.auth-footer{width:calc(100% - 40px)}.auth-header{padding:19px 0}.auth-logo{font-size:26px}.auth-layout{width:calc(100% - 40px);display:flex;flex-direction:column;padding:32px 0 36px;gap:28px}.auth-intro{padding:0}.auth-intro h1{font-size:40px;margin:15px 0 17px}.auth-description{font-size:13px;line-height:1.75;margin:0}.auth-steps{margin:23px 0 0;gap:14px}.auth-steps li{gap:12px}.auth-steps li>span{width:28px;height:28px;font-size:9px}.auth-steps strong{font-size:12px}.auth-steps p{font-size:11px;margin-top:3px}.auth-signature{display:none}.auth-card{padding:25px 22px;width:100%;box-sizing:border-box}.auth-card h2{font-size:28px;margin:10px 0 20px}.auth-footer{flex-wrap:wrap;gap:13px;padding:22px 0;font-size:8px}.auth-footer>span:nth-child(2){display:none}.account-panel,.legacy-notice{display:block}.account-actions{margin-top:20px}.legacy-notice>div:last-child{margin-top:15px}.auth-privacy p{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.auth-page *{scroll-behavior:auto}}

body:has(.auth-page){background:#101010;padding-bottom:0}.auth-jump{display:none}@media(max-width:700px){.auth-jump{display:flex;align-items:center;justify-content:space-between;color:#c7a45b;border-bottom:1px solid #c7a45b55;font-size:12px;min-height:48px;margin-top:16px;text-decoration:none}.auth-remember{min-height:44px}}
/* v0.6 — personal rhythms and recorded progress */
.routine-list,.routine-manage-list{list-style:none;margin:0;padding:0}.routine-list li+li{border-top:1px solid var(--line)}.routine-check{display:flex;width:100%;align-items:center;text-align:left;gap:14px;padding:15px 0;min-height:54px;font-size:14px;overflow-wrap:anywhere}.routine-check .check-box{display:grid;place-items:center;flex:none;border:1px solid #b8ad98;border-radius:5px;width:25px;height:25px}.routine-check .check-box .icon{opacity:0}.routine-check.checked .check-box{background:#101010;border-color:#101010;color:#c7a45b}.routine-check.checked .check-box .icon{opacity:1}.routine-check small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.routine-empty{font:italic 19px/1.6 Georgia,serif;margin:24px 0;color:var(--muted)}.routine-manager{border-top:1px solid var(--line);margin-top:15px;padding-top:8px}.routine-manager summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;min-height:52px;font-size:12px;list-style:none}.routine-manager summary::-webkit-details-marker{display:none}.routine-manager summary .icon{width:16px}.routine-manager form>label{display:block;font-size:12px;line-height:1.6;margin:18px 0 8px}.routine-manager input[name=title]{width:100%;min-height:48px;background:#fbf9f4;border:1px solid var(--line);border-radius:5px;padding:12px;min-width:0;font-size:16px}.weekday-picker{border:0;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:7px}.weekday-picker legend{font-size:12px;margin-bottom:12px}.weekday-picker label{position:relative;cursor:pointer}.weekday-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.weekday-picker span{display:grid;place-items:center;min-width:44px;min-height:44px;padding:7px;border:1px solid var(--line);border-radius:5px;font-size:11px}.weekday-picker input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--gold)}.weekday-picker input:focus-visible+span{outline:3px solid #9a732c;outline-offset:3px}.routine-manage-list{margin-top:24px}.routine-manage-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:10px 0}.routine-manage-list li>span{min-width:0;overflow-wrap:anywhere;font-size:12px}.routine-manage-list small{display:block;font-size:10px;color:var(--muted);line-height:1.7;margin-top:5px}.checkin-panel h2{font-size:29px}.checkin-field{margin:25px 0}.checkin-field h3{display:flex;justify-content:space-between;gap:15px;font-size:13px;margin-bottom:12px}.checkin-field h3 span{font-size:11px;color:var(--muted)}.checkin-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.checkin-scale button{border:1px solid var(--line);border-radius:7px;background:#f8f4eb;min-height:72px;padding:9px 3px;display:flex;flex-direction:column;gap:7px;align-items:center;justify-content:center;min-width:0}.checkin-scale strong{font:25px Georgia,serif}.checkin-scale small{font-size:9px;line-height:1.4;overflow-wrap:anywhere}.checkin-scale button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--gold)}.progress-calendar{margin-bottom:24px;max-width:760px}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:10px}.calendar-month h3{font:22px Georgia,serif;margin:0;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{text-align:center;font-size:10px;color:var(--muted);padding:10px 0}.calendar-day{border:1px solid var(--line);border-radius:6px;min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:14px;background:#fbf9f4}.calendar-day small{font-size:14px;height:16px;line-height:16px;color:#b5ab9b}.calendar-day.recorded{border-color:#b49c6a;background:#eee4d1}.calendar-day.recorded small{color:#795b20}.calendar-day.success{background:var(--ink);border-color:var(--ink);color:var(--gold)}.calendar-day.success small{color:var(--gold)}.calendar-day.is-today{outline:2px solid #a37c37;outline-offset:2px}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 18px;font-size:10px;margin:24px 0 16px;line-height:1.6}.calendar-legend>span{display:flex;align-items:center;gap:6px}.calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}.success-dot{background:#101010}.recorded-dot{background:#c7a45b}.checkin-summary{margin-bottom:24px}.checkin-summary>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid var(--line);padding:20px 0;margin:20px 0}.checkin-summary article h3{font-size:12px;color:var(--muted)}.checkin-summary article strong{font:29px Georgia,serif;color:#795b20}.checkin-summary article p{font-size:11px;margin:10px 0 0;color:var(--muted)}.vip-preview{margin:24px 0}.vip-preview p{font-size:13px;color:var(--muted)}.vip-preview-tools{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.vip-preview-tools button{white-space:normal;text-align:left;line-height:1.6}.vip-planned{border-top:1px solid var(--line);padding-top:24px}.vip-planned p{margin:16px 0 0}
@media(max-width:760px){.routine-panel,.checkin-panel,.progress-calendar,.checkin-summary,.vip-preview{padding:24px 20px}.calendar-grid{gap:5px}.calendar-day{min-height:52px}.calendar-month h3{font-size:21px}.checkin-scale{gap:5px}.checkin-scale button{min-height:70px}.checkin-scale small{font-size:9px}.vip-preview-tools{display:grid;grid-template-columns:1fr}}
@media(max-width:370px){.routine-panel,.checkin-panel,.progress-calendar,.checkin-summary,.vip-preview{padding:22px 15px}.calendar-grid{gap:3px}.calendar-day{min-height:48px;font-size:12px}.calendar-weekday{font-size:9px}.checkin-scale{gap:3px}.checkin-scale small{font-size:8px}.checkin-field h3{font-size:12px}.weekday-picker{gap:6px}.weekday-picker span{min-width:44px}.calendar-legend{gap:10px;font-size:9px}}
/* v0.7 — Stripe test checkout */
.billing-hero{position:relative;overflow:hidden;border-radius:12px;background:#101010;color:#f5f1e8;padding:36px 40px;margin-bottom:25px;border:1px solid #3b3323}.billing-hero h2{font-size:43px;line-height:1.12;margin:23px 0 18px;max-width:600px}.billing-hero h2 em{color:#c7a45b;font-weight:400}.billing-hero>p{color:#bdb6a9;font-size:13px;max-width:590px;margin-bottom:25px}.billing-provider{display:flex;align-items:center;gap:9px;color:#c7a45b;font-size:12px;letter-spacing:.04em}.billing-provider .icon{width:17px}.billing-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;align-items:start}.billing-plan,.billing-account{min-width:0;padding:30px}.billing-description{color:var(--muted);font-size:13px}.billing-period{display:flex;border:1px solid var(--line);border-radius:7px;padding:4px;background:#f2ece1;margin:26px 0}.billing-period button{min-height:46px;flex:1;font-size:13px;border-radius:4px}.billing-period button[aria-pressed=true]{background:#101010;color:#c7a45b}.billing-price{margin:28px 0;min-height:86px}.billing-price>strong{font:31px/1.25 Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}.billing-price>span{font-size:12px;color:var(--muted);margin-left:7px;white-space:nowrap}.billing-price>small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:12px}.billing-setup{background:#f1e9d9;border-left:3px solid #c7a45b;padding:16px 18px;font-size:12px;line-height:1.7;margin:22px 0}.billing-plan>.small{margin:17px 0 0}.billing-status{display:flex;align-items:center;gap:11px;background:#f1ece2;border:1px solid var(--line);border-radius:7px;padding:17px;margin:24px 0 16px;font-size:12px;line-height:1.6}.billing-status-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#9b9589}.billing-status-dot.active{background:#9c7934;box-shadow:0 0 0 4px #c7a45b33}.billing-controls{display:grid;gap:12px;margin:23px 0}.billing-controls .text-button{min-height:44px;text-align:left;justify-content:space-between;line-height:1.7;white-space:normal;font-size:12px}.billing-account hr{border:0;border-top:1px solid var(--line);margin:27px 0}.billing-account h3{font-size:14px;line-height:1.6}.billing-account>.text-button{display:flex;min-height:44px;text-align:left;line-height:1.7;white-space:normal;font-size:12px;gap:14px}.billing-feedback{border:1px solid #c7a45b80;background:#efe5d1;border-radius:8px;padding:17px 22px;font-size:13px;line-height:1.7;margin-bottom:22px}.billing-feedback.is-error{border-color:#b58b7e;background:#f6eae4;color:#813b2d}.vip-billing-link{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:25px 0}.vip-billing-link span{font-size:11px;color:var(--muted)}.billing-plan .button{white-space:normal;line-height:1.6}
@media(max-width:1000px){.billing-layout{grid-template-columns:1fr}.billing-hero h2{font-size:38px}}
@media(max-width:760px){.billing-hero{padding:27px 23px}.billing-hero h2{font-size:34px}.billing-hero .coming-pill{font-size:8px;letter-spacing:.1em;white-space:normal;line-height:1.7}.billing-plan,.billing-account{padding:26px 22px}.billing-price>strong{font-size:29px}.billing-layout{gap:20px}.billing-feedback{padding:16px 18px}.billing-setup{padding:15px}.vip-billing-link{display:grid;gap:12px}.vip-billing-link .button{white-space:normal;line-height:1.6;text-align:left}}
@media(max-width:370px){.billing-hero{padding:24px 19px}.billing-hero h2{font-size:29px}.billing-plan,.billing-account{padding:24px 18px}.billing-price>strong{font-size:26px}.billing-period{margin-top:22px}}
/* v0.5 — private profile */
.avatar{overflow:hidden;padding:0;display:grid;place-items:center}.avatar-image{display:block;width:100%;height:100%;object-fit:cover}.profile-hero{padding:30px 34px;background:#101010;color:#f5f1e8;border:1px solid #393124;border-radius:12px;margin-bottom:22px;display:flex;justify-content:space-between;gap:25px;align-items:center}.profile-identity{display:flex;align-items:center;gap:25px;min-width:0}.profile-identity>div:last-child{min-width:0}.profile-identity h2{font-size:34px;overflow-wrap:anywhere;margin:8px 0 10px}.profile-identity p{font-size:12px;color:#b7b0a2;margin:0}.profile-portrait{width:112px;height:112px;object-fit:cover;border-radius:50%;border:2px solid #c7a45b;display:block;flex:none;background:#28231b}.profile-initial{display:grid;place-items:center;color:#c7a45b;font:50px Georgia,serif}.profile-photo-actions{display:grid;justify-items:start;gap:7px;flex:none;max-width:240px}.profile-photo-picker{background:#c7a45b;color:#101010;cursor:pointer;font-size:12px;white-space:normal;line-height:1.5}.profile-photo-actions .text-button{color:#d7c6a2;min-height:44px;font-size:11px}.profile-photo-actions .small{color:#9c9588;font-size:10px}.profile-facts{display:grid;grid-template-columns:1fr 1fr 1.5fr;border:1px solid var(--line);background:#eee7da;border-radius:10px;margin-bottom:26px}.profile-facts article{padding:23px 26px;min-width:0}.profile-facts article+article{border-left:1px solid #d9cdb8}.profile-facts article>span{display:block;font-size:8px;font-weight:600;letter-spacing:.12em;color:#786c57;margin-bottom:12px}.profile-facts strong{font:32px Georgia,serif;display:block;color:#554225}.profile-facts small{font-size:10px;color:#81735d;display:block;line-height:1.65;margin-top:7px}.profile-facts p{font-size:12px;overflow-wrap:anywhere;margin:0}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.profile-columns .panel{height:100%;min-width:0}.profile-columns h2{font-size:28px}.profile-field{display:grid;gap:9px;margin-top:21px;min-width:0}.profile-field label{font-size:12px;line-height:1.5;font-weight:500}.profile-field input,.profile-field textarea,.profile-field select{font-size:15px;min-width:0;width:100%;border:1px solid var(--line);background:#fbf9f4;border-radius:5px;color:var(--ink);padding:13px;min-height:48px;line-height:1.55}.profile-field input[readonly]{background:#f0ebe2;color:#777065}.profile-field textarea{resize:vertical}.profile-field p{margin:0}.profile-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-save-bar{border:1px solid var(--line);background:var(--surface);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0;padding:22px 26px}.profile-save-bar strong{font-size:13px}.profile-save-bar p{font-size:11px;margin:7px 0 0;color:var(--muted)}.profile-save-bar>div:last-child{display:flex;gap:10px;flex-shrink:0}.profile-save-bar button{font-size:12px}.profile-extras{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.profile-extras button{font-size:12px}.side-nav{min-height:0;overflow-y:auto}.sidebar-bottom{flex-shrink:0}
@media(max-width:1100px){.profile-hero{align-items:start;flex-direction:column}.profile-photo-actions{display:flex;flex-wrap:wrap;align-items:center;max-width:none}.profile-photo-actions .small{width:100%}.profile-facts article{padding:20px}.profile-save-bar{flex-wrap:wrap}.profile-columns{gap:18px}.profile-columns h2{font-size:24px}}
@media(max-width:760px){.profile-hero{padding:24px 22px;gap:22px}.profile-identity{gap:17px;align-items:start}.profile-portrait{width:80px;height:80px}.profile-initial{font-size:38px}.profile-identity h2{font-size:28px;margin:5px 0 8px}.profile-identity .eyebrow{font-size:8px;letter-spacing:.12em}.profile-identity p{font-size:11px}.profile-photo-picker{font-size:11px}.profile-facts{grid-template-columns:1fr 1fr}.profile-facts article{padding:20px}.profile-facts article:last-child{grid-column:1/-1;border-left:0;border-top:1px solid #d9cdb8}.profile-facts strong{font-size:30px}.profile-columns{grid-template-columns:1fr;gap:18px}.profile-columns .panel{padding:25px 22px}.profile-field input,.profile-field textarea,.profile-field select{font-size:16px}.profile-field-pair{gap:12px}.profile-save-bar{padding:22px;gap:18px}.profile-save-bar>div:last-child{display:grid;width:100%;grid-template-columns:1fr}.profile-save-bar>div:last-child button:last-child{grid-row:1}.profile-extras{display:grid;grid-template-columns:1fr;width:100%}}
@media(max-width:370px){.profile-identity{gap:12px}.profile-portrait{width:66px;height:66px}.profile-identity h2{font-size:25px}.profile-hero{padding:22px 18px}.profile-facts article{padding:18px 15px}.profile-facts article>span{font-size:7px}.profile-columns .panel{padding:23px 18px}.profile-field-pair{grid-template-columns:1fr}.profile-field-pair .profile-field+.profile-field{margin-top:0}}
/* Cloud saving controls reuse the NRNS palette and comfortable touch targets. */
.cloud-panel{margin-bottom:24px;max-width:100%;overflow-wrap:anywhere}
.cloud-panel>h2{margin-top:12px}
.cloud-panel p{line-height:1.65}
.cloud-status{display:block;padding:16px 18px;margin:20px 0 12px;background:var(--paper,#F5F1E8);border:1px solid rgba(199,164,91,.35);border-radius:10px;font-size:14px}
.cloud-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.cloud-actions .button{min-height:48px;white-space:normal}
.cloud-conflict{padding:18px;border:1px solid #C7A45B;border-radius:12px;background:#f8f1e2}
.cloud-warning{padding:14px;border-left:3px solid #C7A45B;background:#f8f1e2}
.sync-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:20px;border:1px solid rgba(199,164,91,.3);border-radius:10px;background:#faf7ef;font-size:13px;line-height:1.5}
.sync-notice .text-button{min-height:44px;flex-shrink:0}
.sync-notice.needs-attention{background:#f5e9cb;border-color:#C7A45B}
@media(max-width:600px){.cloud-actions{display:grid;grid-template-columns:minmax(0,1fr)}.cloud-actions .button{width:100%}.sync-notice{align-items:flex-start;flex-direction:column;gap:4px}.cloud-panel{padding:22px 18px}}

/* Password controls preserve the field value and offer a full-size touch target. */
.password-control{position:relative;min-width:0;margin:0 0 14px}
.password-control>input{width:100%;padding-right:58px!important;margin:0!important;min-height:50px}
.password-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:0;background:transparent;color:#625a4b;cursor:pointer;border-radius:4px}
.password-toggle svg{width:22px;height:22px;pointer-events:none}
.password-toggle:hover{background:rgba(199,164,91,.14)}
.password-toggle:focus-visible{outline:2px solid #8a652b;outline-offset:1px}

/* Personal day counters follow the existing NRNS typography and palette. */
.counter-shortcut{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px;background:#eee7d9;border-color:#d8c8a8}
.counter-shortcut h2{font-size:28px;margin:9px 0 10px;line-height:1.15}
.counter-shortcut p{font-size:13px;color:#625a4b;margin:0}
.counter-shortcut>.button{flex-shrink:0;min-height:48px}
.counter-shortcut-list{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:16px}
.counter-shortcut-list>div{display:flex;gap:10px;align-items:baseline;font-size:12px;min-width:0}
.counter-shortcut-list strong{font-weight:500;overflow-wrap:anywhere}
.counter-shortcut-list span{font-weight:600;white-space:nowrap;color:#7a591f}
.counter-intro{display:flex;gap:16px;align-items:center;max-width:780px;margin:0 0 28px;font-size:14px;line-height:1.7;color:#625a4b}
.counter-intro-icon,.counter-empty-icon{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border:1px solid #d7c7a5;border-radius:50%;color:#8a652b}
.counter-intro p{margin:0}
.counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
.counter-card{margin:0;min-width:0;padding:30px}
.counter-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.counter-card-top .eyebrow{font-size:9px;letter-spacing:.14em}
.counter-leaf{display:grid;place-items:center;border:1px solid #d7c7a5;border-radius:50%;width:36px;height:36px;color:#947037;flex-shrink:0}
.counter-card h2{font-size:30px;line-height:1.12;margin:24px 0 16px;overflow-wrap:anywhere}
.counter-number{display:flex;gap:16px;align-items:baseline;margin:0 0 18px}
.counter-number strong{font:normal 88px/.95 Georgia,serif;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.counter-number>span{font-size:13px;color:#625a4b}
.counter-start{font-size:12px;line-height:1.7;margin:0 0 26px;color:#625a4b}
.counter-start strong{font-weight:500}
.counter-next{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-bottom:10px}
.counter-next>strong{white-space:nowrap;color:#806026}
.counter-card progress{width:100%;height:5px;margin:0 0 24px;accent-color:#C7A45B}
.counter-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:19px 0;border-top:1px solid #ddd5c7;border-bottom:1px solid #ddd5c7}
.counter-facts span{display:block;font-size:10px;color:#625a4b;margin-bottom:7px}
.counter-facts strong{font-size:18px;font-weight:500}
.counter-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
.counter-actions .button{justify-content:center;font-size:11px;min-height:48px;padding:11px 12px;white-space:normal}
.counter-actions .icon{width:16px;height:16px;flex-shrink:0}
.counter-history{margin:24px 0 0;font-size:12px;line-height:1.6}
.counter-history summary{cursor:pointer;min-height:44px;padding:12px 0}
.counter-history ol{list-style:none;margin:0;padding:0}
.counter-history li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-top:1px solid #ddd5c7}
.counter-history li>span{font-size:11px}
.counter-delete{font-size:11px;min-height:44px;margin-top:10px;text-decoration:underline;color:#736450}
.counter-card:first-child{background:#101010;color:#F5F1E8;border-color:#101010}
.counter-card:first-child .eyebrow,.counter-card:first-child .counter-next>strong{color:#C7A45B}
.counter-card:first-child .counter-number>span,.counter-card:first-child .counter-start,.counter-card:first-child .counter-facts span,.counter-card:first-child .counter-delete{color:#c8c0b2}
.counter-card:first-child .counter-facts,.counter-card:first-child .counter-history li{border-color:#39352f}
.counter-card:first-child .button.secondary{background:transparent;border-color:#685a40;color:#F5F1E8}
.counter-card:first-child .counter-leaf{border-color:#685a40;color:#C7A45B}
.counter-empty{text-align:center;padding:48px 28px;margin-bottom:28px}
.counter-empty-icon{margin:0 auto 24px;width:64px;height:64px}
.counter-empty h2{font-size:38px;margin-bottom:14px}
.counter-empty p{font-size:14px;line-height:1.8;max-width:520px;margin:0 auto 24px;color:#625a4b}
.counter-help h2{font-size:26px;margin-bottom:15px}
.counter-help p{font-size:13px;line-height:1.8;max-width:850px;color:#625a4b}
@media(max-width:1000px){.counter-grid{grid-template-columns:1fr}.counter-shortcut{align-items:flex-start;flex-direction:column;gap:20px}.counter-shortcut>.button{max-width:100%;white-space:normal}.counter-shortcut-list{gap:10px 18px}}
@media(max-width:760px){.counter-card{padding:25px 22px}.counter-grid{gap:18px}.counter-number strong{font-size:78px}.counter-card h2{font-size:30px}.counter-shortcut{padding:24px 22px}.counter-shortcut h2{font-size:26px}.counter-shortcut>.button{width:100%;justify-content:center}.counter-intro{font-size:12px;align-items:flex-start}.counter-intro-icon{width:40px;height:40px}.counter-help{padding:24px 22px}.counter-empty{padding:38px 22px}.counter-empty h2{font-size:31px}#counter-form input{font-size:16px}}
@media(max-width:370px){.counter-card{padding:23px 18px}.counter-card-top .eyebrow{font-size:8px}.counter-actions{grid-template-columns:1fr}.counter-number strong{font-size:72px}.counter-number{gap:12px}.counter-shortcut{padding:23px 18px}.counter-shortcut-list{flex-direction:column}}
/* The newsletter record is separate from the private journal export. */
.auth-newsletter { margin: 22px 0; font-size: .8rem; line-height: 1.6; }
.newsletter-form > input[readonly] { width: 100%; margin: 8px 0 18px; }
.newsletter-settings { margin-bottom: 20px; }
.newsletter-admin { margin-bottom: 20px; }
.newsletter-admin > button { margin: 6px 8px 6px 0; }
.newsletter-records { display: grid; gap: 10px; margin-top: 18px; }
.newsletter-records article { display: grid; gap: 6px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; overflow-wrap: anywhere; }
.newsletter-records small { opacity: .7; }
[data-newsletter-status]:empty { display: none; }
