:root{--ink:#17354b;--muted:#5f7485;--blue:#225f8d;--sky:#e9f2f8;--paper:#fff;--canvas:#f3f7fa;--line:#d8e3eb;--leaf:#436953;--rose:#9a4646;font-family:Charter,"Iowan Old Style",Georgia,serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}button,input,select,textarea,nav,table,.meta,.eyebrow,footer,label,.privacy,.stat small,.stat strong{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;font-size:14px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:10px 15px}button:hover{background:var(--sky)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c89539;outline-offset:3px}a{color:var(--blue)}aside{width:232px;flex-shrink:0;background:var(--paper);padding:35px 20px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{text-decoration:none;font-size:46px;color:var(--ink);padding:0 12px}.brand span{display:block;font:13px -apple-system,sans-serif;color:var(--muted);margin-top:8px}nav{display:grid;gap:5px;margin-top:45px}nav button{text-align:left;border:0;background:transparent;padding:12px 15px;border-radius:6px}nav button.active{background:var(--sky);color:var(--blue);font-weight:650;border-left:3px solid var(--blue)}.aside-bottom{margin-top:auto;display:grid;gap:8px}.privacy{font-size:12px;color:var(--muted);padding:10px}.aside-bottom button{text-align:left;font-size:12px;border:0}main{margin-left:232px;padding:35px 5vw 25px;width:calc(100% - 232px);max-width:1550px}header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}#date-line{font:13px -apple-system,sans-serif;color:var(--muted);margin:0 0 9px}h1{font-weight:500;font-size:clamp(30px,3.2vw,45px);margin:0;letter-spacing:-.7px}h2{font-size:25px;font-weight:500;margin:0 0 15px}h3{font-size:19px;margin:0 0 10px;font-weight:600}p{font-size:16px;line-height:1.55;max-width:75ch}.primary{background:var(--blue);color:white;border-color:var(--blue);font-weight:600}.primary:hover{background:#184c73}.intro{font-size:18px;max-width:760px;color:var(--muted);margin:0 0 25px}.columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr);gap:25px}.panel{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:22px}.panel.tint{background:var(--sky);border:none}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h2{margin:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-bottom:28px;border-block:1px solid var(--line);padding:18px 0}.stat{padding:0 20px;border-right:1px solid var(--line)}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat small{display:block;color:var(--muted);font-size:12px;margin-bottom:9px}.stat strong{font-size:25px;font-weight:600}.stat span{font-size:12px;display:block;color:var(--muted);margin-top:6px}.empty{color:var(--muted);padding:15px 0;margin:0}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.agenda{list-style:none;padding:0;margin:0}.agenda li{display:grid;grid-template-columns:60px 1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.agenda time{font:13px -apple-system,sans-serif;color:var(--muted)}.agenda .done{font-size:12px;padding:7px 10px}.agenda strong{display:block;font:500 14px -apple-system,sans-serif}.agenda small{font:11px -apple-system,sans-serif;color:var(--muted);display:block;margin-top:4px}.meta{font-size:12px;color:var(--muted)}.entry{padding:14px 0;border-bottom:1px solid var(--line)}.entry p{margin:7px 0;white-space:pre-wrap;overflow-wrap:anywhere}.entry-top{display:flex;justify-content:space-between;gap:12px}.entry .remove{font-size:11px;padding:4px 8px;border:0;color:var(--muted)}.tag{font:11px -apple-system,sans-serif;border-radius:4px;background:var(--sky);padding:4px 7px;color:var(--blue)}.good{color:var(--leaf)}table{border-collapse:collapse;font-size:13px;width:100%}th{text-align:left;font-weight:500;color:var(--muted);padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:13px 8px;border-bottom:1px solid var(--line)}.table-wrap{overflow:auto}td button{font-size:11px;padding:6px 8px}table small{display:block;color:var(--muted);margin-top:4px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.photo-grid figure{margin:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.photo-grid img{width:100%;height:240px;object-fit:contain;background:var(--sky)}figcaption{padding:12px;font:12px -apple-system,sans-serif}.book{padding:16px 0;border-bottom:1px solid var(--line)}.book-head{display:flex;justify-content:space-between;gap:15px}progress{width:100%;height:7px;accent-color:var(--leaf);margin:12px 0}.note{font:13px/1.6 -apple-system,sans-serif;color:var(--muted)}.error{color:var(--rose)}.chart{width:100%;height:200px;overflow:visible}.chart text{font:11px -apple-system,sans-serif;fill:var(--muted)}.legend{display:flex;gap:15px;font:12px -apple-system,sans-serif;color:var(--muted)}.legend span:before{content:'';display:inline-block;width:9px;height:9px;background:var(--blue);border-radius:50%;margin-right:5px}.legend span:nth-child(2):before{background:#ad8a49}.connection{padding:18px 0;border-bottom:1px solid var(--line)}.connection p{font-size:14px}.connection strong{font:600 15px -apple-system,sans-serif}input,select,textarea{width:100%;padding:11px;border:1px solid #b6c9d7;border-radius:6px;background:white;color:var(--ink);font-size:15px}textarea{min-height:110px;resize:vertical}label{display:block;font-size:13px;margin:16px 0 6px}label small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}dialog{border:1px solid var(--line);border-radius:12px;padding:27px;width:min(530px,94vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:rgba(14,37,54,.45)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.close{border:0;font-size:24px;padding:0 8px}#save-record{margin-top:18px;width:100%}#form-error{font:13px/1.5 -apple-system,sans-serif;color:var(--rose)}#notice{padding:13px 16px;background:#e9f3eb;border-radius:6px;font:14px -apple-system,sans-serif;margin-bottom:20px}#notice.error{background:#fceeee}footer{font-size:11px;color:var(--muted);margin-top:35px}code{font-family:inherit;background:var(--sky);padding:2px 4px}.checklist{padding-left:20px;line-height:1.8}.checklist small{color:var(--muted)}@media(max-width:1000px){main{padding:28px}.columns{grid-template-columns:1fr}aside{width:195px;padding:25px 12px}main{margin-left:195px;width:calc(100% - 195px)}}@media(max-width:680px){body{display:block}aside{position:static;width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:32px;padding:0}.brand span{display:inline;font-size:12px;margin-left:12px}nav{display:flex;overflow-x:auto;margin-top:18px;gap:5px;padding-bottom:3px}nav button{white-space:nowrap;padding:9px 12px;font-size:12px}nav button.active{border-left:0;border-bottom:3px solid var(--blue)}.aside-bottom{display:none}main{margin:0;width:100%;padding:22px 16px}header{align-items:flex-start}header>.primary{font-size:12px;max-width:130px}h1{font-size:31px}.panel{padding:18px}.stat{padding:0 10px}.stat strong{font-size:21px}.stat small{font-size:11px}.form-row{grid-template-columns:1fr;gap:0}.photo-grid{grid-template-columns:1fr 1fr}.photo-grid img{height:210px}}
.chart{height:auto}.chart svg{display:block;width:100%;height:auto}.note{white-space:pre-wrap;overflow-wrap:anywhere}body:has(#login){display:grid;place-items:center;background:var(--sky)}body:has(#login) main{margin:40px 16px;padding:36px;width:min(430px,calc(100% - 32px));background:white;border:1px solid var(--line);border-radius:12px}#login button{margin-top:22px;background:var(--blue);color:white;width:100%}
.momentum-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;padding:32px;background:#e3eff1;border-radius:12px;margin-bottom:24px}.momentum-hero h2{font-size:34px;margin:8px 0}.momentum-hero p{font-size:15px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:11px!important;color:#487078}.momentum-counts{display:flex;gap:26px;margin-top:24px;font:12px -apple-system,sans-serif;color:#516d76}.momentum-counts strong{display:block;font-size:30px;color:var(--ink);margin-bottom:5px}.week-strip{align-self:center}.week-strip>div{display:flex;gap:9px;justify-content:space-between}.day-cell{display:block;text-align:center;flex:1}.day-cell i{display:grid;place-items:center;width:100%;height:43px;border:1px solid #c8dce0;border-radius:7px;font:22px -apple-system,sans-serif;background:#f6fafb;color:#8aa4ae}.day-cell.has-work i{background:#337b82;color:white;border-color:#337b82}.day-cell small{display:block;font:10px -apple-system,sans-serif;margin-top:8px;color:#56737e}.goals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 40px}.goal-card{background:white;border:1px solid var(--line);border-radius:10px;padding:21px;display:flex;flex-direction:column}.goal-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:18px}.goal-category{font:10px -apple-system,sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.goal-status{font:10px -apple-system,sans-serif;color:#628079;background:#eef5f2;border-radius:5px;padding:5px 7px;white-space:nowrap}.goal-status.behind{background:#fbefdf;color:#8f622c}.goal-status.not_started{background:#edf2f5;color:#627987}.goal-card h3{min-height:44px;font-size:21px;line-height:1.2}.goal-progress{display:flex;align-items:center;gap:15px}.goal-progress svg{width:90px;height:90px;flex-shrink:0}.goal-progress text{font:500 19px -apple-system,sans-serif;fill:#294f63}.goal-progress strong{font:500 25px -apple-system,sans-serif}.goal-progress strong span{font-size:16px;color:var(--muted)}.goal-progress p{margin:6px 0;font-size:11px}.goal-next{font-size:14px;line-height:1.5;border-top:1px solid var(--line);padding-top:15px;margin-top:16px}.goal-next span{display:block;font:10px -apple-system,sans-serif;text-transform:uppercase;color:var(--muted);letter-spacing:.7px;margin-bottom:7px}.goal-pace{font:12px -apple-system,sans-serif;color:var(--muted);margin:8px 0 0}.goal-card details{font:12px/1.5 -apple-system,sans-serif;color:var(--muted);margin-bottom:16px}.goal-card details p{font-size:12px}.goal-actions{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:auto}.goal-actions button{font-size:11px;padding:8px 10px}.goal-actions .meta{font-size:10px}.needs-attention{border-top:3px solid #c69a64}.attention-note{background:#fff3e2;border-left:3px solid #c28b47;padding:16px 20px;font:14px/1.6 -apple-system,sans-serif;margin-bottom:28px}.long-goals .goal-card{background:#f9fbfc}.long-goals .goal-progress svg{width:65px;height:65px}.long-goals .goal-card h3{font-size:19px}@media(max-width:1200px){.goals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.momentum-hero{grid-template-columns:1fr}}@media(max-width:680px){.goals-grid{grid-template-columns:1fr}.momentum-hero{padding:22px;gap:15px}.momentum-hero h2{font-size:29px}.momentum-counts{gap:18px}.momentum-counts strong{font-size:25px}.goal-card{padding:20px}.goal-card h3{min-height:0}.goal-top{margin-bottom:12px}}

.library-link{display:inline-block;color:#174f77;font-weight:700;padding:.65rem 0;text-underline-offset:.25em}.library-link:focus-visible{outline:2px solid #337b82;outline-offset:4px}

.life-roadmap{background:#1c2828;color:#e6eee9;border-radius:18px;padding:26px;margin-bottom:32px}.roadmap-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.roadmap-heading h2{font-family:'Avenir Next','Trebuchet MS',sans-serif;font-size:29px;letter-spacing:-.8px;margin:0 0 8px;color:#f2f6f1}.roadmap-heading p{color:#bccbc5;margin:0}.roadmap-heading button{background:transparent;color:#e6eee9;border-color:#658079;white-space:nowrap}.roadmap-context{font-size:13px;color:#bccbc5;margin:22px 0 10px}.roadmap-scroll{overflow-x:auto;scrollbar-color:#658079 #1c2828}.roadmap-chart{width:100%;min-width:960px;display:block;font-family:'Avenir Next','Trebuchet MS',sans-serif}.road-grid{stroke:#344441;stroke-width:1}.road-month{font-size:15px;fill:#bdc9c2}.road-label{font-size:15px;fill:#e0e8e1}.road-bar{stroke-width:1.1;fill-opacity:.66}.road-bar.place{fill:#137561;stroke:#56b9a1}.road-bar.body{fill:#a05c3b;stroke:#dc9a73}.road-bar.portable{fill:#6956a7;stroke:#b7a5e8}.road-bar.work{fill:#487492;stroke:#9ac2db}.road-bar.travel{fill:#5a6660;stroke:#a5b4aa}.road-bar.maintain{fill-opacity:.23;stroke-opacity:.55}.road-bar.optional{fill-opacity:.08;stroke-dasharray:4 4;stroke-opacity:.8}.road-bar-label{fill:#f0f4ee;font-size:12px;pointer-events:none}.road-departure{stroke:#c9d6cd;stroke-width:1.1;stroke-dasharray:6 4}.road-flight{stroke:#e4a786;stroke-width:1;stroke-dasharray:2 5}.road-marker-label,.road-flight-label{fill:#d2ded5;font-size:11px}.road-flight-label{fill:#e4a786}.roadmap-key{display:flex;gap:22px;flex-wrap:wrap;font-size:12px;margin:10px 0;color:#d2ded5}.roadmap-key span{display:flex;align-items:center;gap:8px}.roadmap-key i{width:23px;height:13px;border:1px solid #73a995;border-radius:3px;background:#286c59}.roadmap-key .key-maintain{opacity:.45}.roadmap-key .key-optional{background:transparent;border-style:dashed}.roadmap-footnote{color:#b1c2b8;font-size:12px;line-height:1.6;max-width:100ch;margin-bottom:0}.longterm-overview{margin:28px 0 40px}.longterm-overview>.panel-head{align-items:flex-start}.longterm-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}.longterm-goal{padding:20px 0;border-top:1px solid #dce5e5}.longterm-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.longterm-top h3{font-size:16px;line-height:1.45;margin:0;color:#183f57}.longterm-top span{font-size:12px;color:#607679;white-space:nowrap;padding-top:4px}.longterm-goal progress{width:100%;height:6px;margin:14px 0 5px;accent-color:#2b837d}.longterm-goal>p{font-size:13px;color:#62747a;line-height:1.55;margin:8px 0 12px;max-width:68ch}.longterm-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.longterm-actions button{font-size:12px;padding:5px 9px}.roadmap-scroll:focus-visible{outline:2px solid #8ec5b3;outline-offset:4px}@media(max-width:720px){.life-roadmap{padding:18px 14px;border-radius:12px}.roadmap-heading{display:block}.roadmap-heading button{margin-top:16px}.roadmap-heading h2{font-size:25px}.longterm-list{grid-template-columns:1fr}.roadmap-key{gap:10px 16px}.longterm-overview>.panel-head{display:block}.longterm-overview>.panel-head>button{margin:8px 0 16px}}

.more-goals{border-block:1px solid var(--line);padding:16px 0;margin-top:12px}.more-goals>summary{font:600 14px -apple-system,sans-serif;color:var(--blue);cursor:pointer;padding:8px 0}.more-goals[open]>summary{margin-bottom:15px}

#fields .inline-check{display:flex;align-items:center;gap:10px}#fields .inline-check input{width:auto;margin:0}
