@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#273b34;--green:#234c40;--muted:#7a827a;--paper:#f7f8f3;--line:#e1e5dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:transparent;color:inherit;border-radius:9px;padding:12px 16px}button:hover{background:#e9eee5}button:focus-visible,a:focus-visible{outline:3px solid #b79748;outline-offset:3px}aside{width:230px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:42px 25px;background:#f0f2eb}.brand{font:800 44px Manrope,sans-serif;color:var(--green);text-decoration:none;letter-spacing:-4px}.brand span{color:#bd9b55;font-size:34px}.small,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}.small{margin:15px 0 55px;color:var(--muted);font-size:9px}nav{display:grid;gap:10px}nav button{text-align:left;display:flex;gap:15px}nav button.active{background:#e0e8db;color:var(--green);font-weight:700}.aside-bottom{position:absolute;bottom:30px;font-size:11px;line-height:1.8}.aside-bottom small{display:block;max-width:160px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;background:#6e886a;border-radius:50%;margin-right:6px}main{margin-left:230px;padding:0 6%;max-width:1500px}header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.avatar{border:1px solid #d9dfd2;border-radius:50%;padding:11px;color:var(--ink)}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(29px,3.4vw,46px);letter-spacing:-1.8px;font-weight:500;margin:12px 0}h2{font-size:24px;letter-spacing:-.8px;font-weight:500}h3{font-size:17px;margin:0 0 8px}.intro{padding:38px 0 25px}.intro p,.muted{color:var(--muted);line-height:1.6}.eyebrow{color:#8b926f}.capture{position:relative;background:white;border:1px solid #dce2d4;border-radius:14px;padding:12px;display:flex;gap:10px;box-shadow:0 4px 18px #223b3104}.capture input{flex:1;min-width:0;border:0;padding:10px;background:transparent;outline:0}.capture:focus-within{border-color:#63876b}.primary{background:var(--green);color:white}.primary:hover{background:#356354}.captureHelp{font-size:11px;color:var(--muted);margin:10px 4px 30px}.suggestions{position:absolute;z-index:5;left:0;right:0;top:65px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 25px #0001}.suggestions button{display:block;width:100%;text-align:left}.hero{background:#e8eddf;border:1px solid #dce3cf;border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 150px;gap:30px}.hero h2{font-size:29px;margin:17px 0 12px;max-width:440px}.hero p{line-height:1.7;color:#68715f;max-width:460px}.orb{width:135px;height:135px;border:1px solid #aebd9c;border-radius:50%;display:grid;place-content:center;align-self:center;background:radial-gradient(circle,#c6d1b6 0%,#e8eddf 67%);font-size:50px;color:#70845b}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.duration{display:flex;gap:5px;margin:23px 0}.duration button{border:1px solid #cbd4bf;padding:8px 15px}.duration button.selected{background:#d0dbc3;border-color:#98ab86}.section-head{display:flex;align-items:center;justify-content:space-between;margin:29px 0 15px}.section-head h2{font-size:18px;margin:0}.section-head button{font-size:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{padding:23px;border:1px solid var(--line);background:#fff;border-radius:13px;cursor:pointer}.card:hover{border-color:#a6b59b}.card .tag{margin-bottom:15px}.tag{display:inline-block;background:#f0f2eb;color:#78836d;padding:5px 9px;border-radius:5px;font-size:10px}.progress{height:4px;border-radius:4px;background:#e9ede3;margin:20px 0 10px;overflow:hidden}.progress i{display:block;background:#8fa47d;height:100%}.card small{color:var(--muted)}.row{display:flex;gap:13px;padding:17px 4px;border-bottom:1px solid var(--line);align-items:center}.check{width:28px;height:28px;flex-shrink:0;border:1px solid #bec9b5;border-radius:50%;padding:0;background:white}.check.done{background:#e0e9d6;color:#3a6146}.row .body{flex:1;min-width:0}.row small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.row .edit{font-size:12px;padding:10px}.doneText{text-decoration:line-through;color:var(--muted)}footer{padding:35px 0;color:#9a9e92;font-size:11px;display:flex;justify-content:space-between;gap:10px;align-items:center}footer button{font-size:10px}.search{width:100%;padding:17px;border:1px solid var(--line);border-radius:12px;background:white;outline-color:#8fa47d}.filters{display:flex;gap:5px;margin:20px 0}.filters .selected{background:#e0e8d8}.back{padding-left:0;color:var(--muted)}.timeline{border-left:1px solid #d9dfcf;margin:25px 0 25px 14px;padding-left:20px}.timeline .row{position:relative}.timeline .check{margin-left:-39px}.session{padding:35px;background:#e8eddf;border-radius:18px}.session .quote{font:500 24px/1.6 Manrope;margin:25px 0}.focus{margin:25px 0;background:white;border-radius:13px;padding:25px}.focus h2{margin:12px 0 25px}.timer{font-variant-numeric:tabular-nums;font-size:13px;color:#7a826b}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--green);color:white;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20}#toast.show{opacity:1}dialog{width:min(450px,92vw);border:1px solid var(--line);border-radius:18px;padding:28px;color:var(--ink)}dialog::backdrop{background:#18362c66}label{display:block;font-size:12px;margin:20px 0}label input,label select{width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #ced6c6;border-radius:8px;background:white}.empty{padding:35px;color:var(--muted);text-align:center}@media(max-width:760px){aside{z-index:10;inset:auto 0 0;width:auto;height:68px;padding:7px 10px;border-right:0;border-top:1px solid var(--line)}aside .brand,aside .small,.aside-bottom{display:none}nav{display:flex;justify-content:space-around;gap:0}nav button{display:grid;gap:2px;text-align:center;font-size:17px;padding:6px 15px}nav button span{font-size:10px}main{margin:0;padding:0 6% 75px}header{height:70px}.intro{padding-top:27px}.hero{padding:23px;grid-template-columns:1fr}.hero h2{font-size:26px}.orb{display:none}.grid{grid-template-columns:1fr}.capture{padding:7px;gap:0}.capture input{font-size:13px}.capture button{padding:10px}footer{flex-direction:column;align-items:flex-start}.session{padding:22px}.session .quote{font-size:20px}#toast{bottom:85px;width:max-content;max-width:90vw}}

#clientHint{display:block;margin-top:8px;color:var(--muted);line-height:1.5}#saveEdit{white-space:normal}

.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{font-size:11px;border:1px solid var(--line);padding:9px 10px}button:disabled{opacity:.4;cursor:default}.header-actions #shake[aria-pressed="true"]{background:#e0e8db}@media(max-width:760px){header{gap:8px;font-size:10px}.header-actions{gap:4px}.header-actions button{font-size:10px;padding:8px 6px}.avatar{display:none}}

/* A brief, local acknowledgement of progress. */
.completion-burst{position:fixed;z-index:30;pointer-events:none;width:48px;height:48px;margin:-24px;display:grid;place-items:center}.completion-burst svg{position:relative;width:40px;height:40px;overflow:visible;animation:completion-pop .65s cubic-bezier(.2,.8,.25,1) both}.completion-burst circle{fill:#234c40;stroke:#edf4df;stroke-width:2}.completion-burst path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:32;stroke-dashoffset:32;animation:completion-check .28s .06s ease forwards}.completion-ring{position:absolute;inset:5px;border:2px solid #a2b885;border-radius:50%;animation:completion-ring .65s ease-out both}.completion-burst i{position:absolute;left:22px;top:22px;width:5px;height:5px;border-radius:2px;background:#94aa7b;animation:completion-spark .65s ease-out both;transform:rotate(var(--angle)) translateX(0)}.completion-burst i:nth-child(even){background:#c1a563}.next-focus{animation:next-focus .35s ease-out}.progress i{transition:width .35s ease}#toast.success-toast{display:flex;align-items:center;gap:13px;padding:15px 18px;max-width:min(520px,calc(100vw - 30px));width:max-content;pointer-events:auto;box-shadow:0 10px 35px #18382c22}#toast.success-toast strong{display:block;font-size:13px}#toast.success-toast small{display:block;margin-top:4px;max-width:290px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d2dfcc;font-size:11px}#toast.success-toast button{padding:8px 10px;color:white;border:1px solid #ffffff45;font-size:12px;flex-shrink:0}#toast.success-toast button:hover{background:#ffffff15}.success-mark{display:grid;place-content:center;width:31px;height:31px;flex-shrink:0;border-radius:50%;background:#ffffff18;color:#dce9cd;font-size:19px}@keyframes completion-pop{0%{transform:scale(.5);opacity:0}28%{transform:scale(1.18);opacity:1}50%{transform:scale(1)}80%{opacity:1}100%{transform:scale(.95);opacity:0}}@keyframes completion-check{to{stroke-dashoffset:0}}@keyframes completion-ring{from{transform:scale(.7);opacity:.7}to{transform:scale(2.1);opacity:0}}@keyframes completion-spark{0%{opacity:0}15%{opacity:1}100%{transform:rotate(var(--angle)) translateX(var(--travel)) scale(.2);opacity:0}}@keyframes next-focus{from{transform:translateY(6px);opacity:.6}to{transform:translateY(0);opacity:1}}.completion-burst.still svg{animation:none}.completion-burst.still path{animation:none;stroke-dashoffset:0}.completion-burst.still .completion-ring{display:none}@media(max-width:760px){#toast.success-toast{gap:9px;padding:13px;max-width:calc(100vw - 24px)}#toast.success-toast small{max-width:165px}}@media(prefers-reduced-motion:reduce){.completion-burst *,.next-focus{animation:none!important}.completion-burst path{stroke-dashoffset:0}.progress i{transition:none}}

#toast.success-toast:not(.show){pointer-events:none;visibility:hidden}#toast.success-toast.show{visibility:visible}

/* Session choices must not inherit full-width form-field styling. */
.plan-choice{display:flex;align-items:center;gap:14px;margin:0;padding:18px 4px;font-size:14px;cursor:pointer}.plan-choice input[type="checkbox"]{display:block;flex:0 0 22px;width:22px;height:22px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}.plan-choice>span{display:block;flex:1;min-width:0;line-height:1.5;overflow-wrap:anywhere}.plan-choice small{display:block;margin-top:4px;font-size:11px}.plan-choice:has(input:checked)>span{color:var(--green)}.plan-choice:hover{background:#ffffff35}.plan-choice:focus-within{outline:2px solid #8fa47d;outline-offset:2px;border-radius:7px}.session>.actions{margin-top:20px}@media(max-width:760px){.plan-choice{padding:16px 2px;font-size:14px}.plan-choice input[type="checkbox"]{flex-basis:22px;width:22px;height:22px}}

.search-wrap{position:relative}.search-suggestions{top:calc(100% + 6px)}.suggestions{max-height:min(360px,48vh);overflow-y:auto}.suggestions button{border-radius:0;padding:12px 15px;border-bottom:1px solid var(--line);display:block}.suggestions button:last-child{border-bottom:0}.suggestions button span{display:block;overflow-wrap:anywhere}.suggestions button small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.suggestions button.keyboard-selected{background:#e1ead8;box-shadow:inset 3px 0 var(--green)}.keyboard-hint{font-size:11px;color:var(--muted);margin:9px 3px 0}.search-wrap:focus-within .search{border-color:#63876b}

.home-capture-space{height:22px}

/* Keep form text at least 16px on touch devices to avoid iOS focus zoom. */
@media (max-width: 900px), (pointer: coarse) {
  input, select, textarea, .capture input, .search, label input, label select {
    font-size: 16px;
  }
}

#syncBody p{line-height:1.6;color:var(--muted)}#syncBody button{margin:5px 6px 12px 0}.conflict-details{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);padding:12px;border-radius:9px;max-height:220px;overflow:auto}#syncStatus[data-state="attention"]{color:#8c6025;background:#f1e5cb}#syncStatus[data-state="connected"]{background:#e0e8db}.aside-bottom{overflow-wrap:anywhere}@media(max-width:760px){header{height:auto;min-height:80px;flex-wrap:wrap;padding:12px 0}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.header-actions button{font-size:11px}}
