/* System fonts avoid external font requests for a private diary. */
:root{--bg:#f5f4ee;--paper:#fffefa;--ink:#303e36;--muted:#748077;--green:#4e6b58;--line:#e2e5dc;--soft:#e9eee3;--peach:#f3e9de}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Manrope,system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9bb89c;outline-offset:4px}button{border:0}a{color:var(--green)}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{padding:40px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font:28px Prata,Georgia,serif;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand span{font:30px Georgia;color:var(--green)}.caption{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.side .caption{margin:12px 0 48px}.nav{display:grid;gap:10px}.nav button{text-align:left;padding:15px 18px;background:transparent;border-radius:14px;display:flex;align-items:center;gap:14px;color:var(--muted)}.nav button.active{background:#e4eadf;color:var(--ink);font-weight:700}.nav i{font-style:normal;font-size:20px;width:22px}.side-bottom{margin-top:auto;font-size:12px;line-height:1.8;color:var(--muted)}.side-bottom b{display:block;color:var(--green);font-weight:500}.main{padding:34px 48px 70px;max-width:1160px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.badge{border:1px solid var(--line);padding:7px 12px;border-radius:50px;color:var(--muted);font-size:11px}.avatar{border-radius:50%;background:#e7e9de;width:38px;height:38px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:1px;margin-bottom:12px}h1{font:40px/1.25 Prata,Georgia,serif;margin:0 0 15px;letter-spacing:-1px}h2{font-size:18px;font-weight:600;margin:0}h3{margin:0 0 8px;font-size:16px}p{line-height:1.75}.intro{color:var(--muted);margin:0 0 30px}.hero{background:#e7ecdf;border:1px solid #dde5d6;border-radius:24px;padding:30px 34px;position:relative;overflow:hidden;margin:28px 0}.hero p{max-width:370px;color:#65745f;margin:10px 0 22px}.hero h2{font:27px/1.4 Prata,Georgia,serif;max-width:430px}.art{position:absolute;right:45px;bottom:-15px;width:190px;height:205px;opacity:.75}.art .stem{position:absolute;width:2px;height:155px;background:#8a9b73;left:90px;bottom:0;transform:rotate(10deg)}.art .leaf{position:absolute;background:#a8b590;border-radius:90% 0 90% 0;width:65px;height:35px;transform:rotate(-20deg);left:95px;top:50px}.art .leaf:nth-child(2){left:30px;top:90px;transform:rotate(80deg);background:#b6c1a4}.art .leaf:nth-child(3){top:110px;left:90px;width:75px;height:40px}.art .leaf:nth-child(4){left:45px;top:25px;transform:rotate(100deg);width:40px;height:65px}.primary,.secondary,.danger{padding:13px 20px;border-radius:12px;font-weight:600;min-height:44px}.primary{background:var(--green);color:white}.secondary{background:#eceee6}.danger{background:#f5e5de;color:#8c4d40}.section-head{display:flex;justify-content:space-between;align-items:center;margin:32px 0 18px;gap:12px}.text-button{background:transparent;color:var(--muted);font-size:12px;padding:8px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.card{border:1px solid var(--line);border-radius:19px;padding:23px;background:var(--paper);text-align:left;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #35463208}.card p{color:var(--muted);font-size:12px;margin:8px 0 16px}.card .icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--soft);font-size:23px;margin-bottom:20px}.card:nth-child(2n) .icon{background:#efe9e3}.card-bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.two{display:grid;grid-template-columns:1.5fr 1fr;gap:24px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px}.empty{color:var(--muted);padding:26px 0;line-height:1.8;font-size:13px}.quiet{font-size:12px;color:var(--muted);line-height:1.8}.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row p{margin:5px 0 0;font-size:12px;color:var(--muted)}.row .actions{display:flex;gap:7px}.tiny{background:var(--soft);border-radius:9px;padding:9px 12px;font-size:12px}.toggle{width:42px;height:25px;border-radius:30px;background:#d9ded5;padding:3px;flex-shrink:0}.toggle:before{content:'';display:block;width:19px;height:19px;background:white;border-radius:50%;transition:transform .2s}.toggle.on{background:var(--green)}.toggle.on:before{transform:translateX(17px)}.quote{font:20px/1.7 Prata,Georgia,serif;color:#7a8471;padding:16px 0}.tag{display:inline-block;background:var(--soft);padding:5px 10px;border-radius:20px;font-size:11px;margin:3px}.backdrop{position:fixed;inset:0;background:#27352d55;backdrop-filter:blur(5px);z-index:20;display:grid;place-items:center;padding:22px}.modal{background:var(--paper);border-radius:25px;width:100%;max-width:560px;max-height:90vh;overflow:auto;padding:32px;animation:rise .25s ease-out}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.close{background:var(--soft);width:34px;height:34px;border-radius:50%;font-size:21px}.modal h2{font:27px Prata,Georgia,serif}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}label{display:block;font-size:12px;font-weight:600;margin:18px 0 8px}input:not([type=checkbox]):not([type=range]),select,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f9f9f4;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#849d7f}textarea{min-height:90px;resize:vertical}input[type=range]{width:100%;accent-color:var(--green)}.range-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:10px 14px;background:#f1f1ea;border:1px solid transparent;border-radius:30px}.chip.selected{background:var(--soft);border-color:#a3b395}.step{color:var(--muted);font-size:11px;margin-bottom:25px}.welcome-symbol{height:95px;width:95px;background:var(--soft);border-radius:50%;display:grid;place-items:center;font-size:46px;color:var(--green);margin:0 auto 25px}.welcome{text-align:center}.welcome h2{font-size:31px;line-height:1.5}.welcome p{color:var(--muted)}.progress{display:flex;gap:6px;margin-bottom:25px}.progress span{height:4px;background:var(--line);flex:1;border-radius:5px}.progress span.done{background:#829777}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 24px;border-radius:14px;z-index:50;display:none;max-width:90%;font-size:13px}.entry{margin:12px 0;border:1px solid var(--line);border-radius:15px;padding:18px}.entry time{font-size:11px;color:var(--muted)}.entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.mobile-brand{display:none}.notice{border-radius:12px;padding:13px 16px;background:#efeee5;color:#717865;font-size:12px;line-height:1.7}.checkline{display:flex;align-items:center;gap:9px;font-weight:400}.checkline input{accent-color:var(--green)}.day-list{display:flex;gap:5px;flex-wrap:wrap}.day-list label{margin:5px 0;font-weight:400}.source{margin-bottom:18px}.source p{font-size:12px;color:var(--muted)}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}main{animation:rise .3s ease-out}@media(min-width:1200px){.main{padding-left:60px;padding-right:60px}}@media(max-width:850px){.layout{grid-template-columns:190px 1fr}.side{padding:30px 18px}.main{padding:28px}.two{grid-template-columns:1fr}.art{right:12px;opacity:.4}.hero h2,.hero p{position:relative;z-index:1}}@media(max-width:600px){.layout{display:block}.side{position:fixed;bottom:0;top:auto;height:auto;width:100%;background:#fffefaf5;padding:8px 7px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);z-index:10}.side .brand,.side .caption,.side-bottom{display:none}.nav{display:flex;justify-content:space-around;gap:0}.nav button{flex-direction:column;gap:4px;font-size:9px;padding:8px 10px;border-radius:12px}.nav i{font-size:19px}.main{padding:23px 20px 110px}.top{margin-bottom:30px}.mobile-brand{display:block;font:23px Prata,Georgia,serif}.top .caption{display:none}h1{font-size:31px}.intro{font-size:13px}.hero{padding:24px;border-radius:20px}.hero h2{font-size:23px}.hero p{max-width:240px;font-size:12px}.art{right:-40px;opacity:.35}.grid{gap:10px}.card{padding:18px}.card h3{font-size:14px}.card p{font-size:11px}.card .icon{margin-bottom:15px}.section-head h2{font-size:16px}.modal{padding:24px;max-height:88vh}.backdrop{padding:12px}.modal-footer .primary{flex:1}.badge{font-size:9px}.quote{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
html{overflow-x:clip;scrollbar-gutter:stable}body{overscroll-behavior-y:none;overflow-x:clip}input,select,textarea{font-size:16px!important;touch-action:manipulation}.main{min-width:0}.modal{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(var(--visible-height,100dvh) - 32px);overflow-x:hidden;padding-bottom:60px}.backdrop{overflow:hidden;overscroll-behavior:none}.keyboard-dismiss{position:fixed;right:16px;z-index:60;background:var(--ink);color:white;border-radius:30px;padding:12px 18px;box-shadow:0 3px 20px #0002;font-size:13px}.keyboard-dismiss[hidden]{display:none}.startup{max-width:600px;margin:12vh auto;padding:24px;text-align:center}.startup p{color:var(--muted);margin-bottom:32px}.startup a{display:inline-block;text-decoration:none;margin:8px}.startup button{margin:8px}.badge{max-width:65%;cursor:pointer}.modal-head{position:sticky;top:-32px;padding:12px 0;background:var(--paper);z-index:2}.modal-head h2{max-width:85%;font-size:24px}.main{view-transition-name:main-content}@keyframes leave{to{opacity:0;transform:translateY(-5px)}}::view-transition-old(main-content){animation:leave .15s ease-in both}::view-transition-new(main-content){animation:rise .25s ease-out both}.card,.primary,.secondary,.chip{transition:background .2s,transform .2s,box-shadow .2s}.primary:active,.secondary:active,.chip:active{transform:scale(.98)}@media(max-width:600px){html{scrollbar-gutter:auto}.backdrop{padding:10px;align-items:end}.modal{border-radius:22px 22px 12px 12px;max-height:calc(var(--visible-height,100dvh) - 20px);padding:22px 20px 68px}.modal-head{top:-22px}.row{flex-wrap:wrap}.row>div:first-child{min-width:0}.row h3,.row p{overflow-wrap:anywhere}.main{padding-top:calc(22px + env(safe-area-inset-top))}.nav button{padding:8px;min-width:48px}.grid>div{min-width:0}input[type=date],input[type=datetime-local],input[type=time]{min-width:0;max-width:100%}}@media(max-width:360px){.grid{grid-template-columns:1fr}.main{padding-left:16px;padding-right:16px}.nav button{font-size:9px;padding:8px 5px}h1{font-size:29px}}@media(prefers-reduced-motion:reduce){::view-transition-old(main-content),::view-transition-new(main-content){animation:none!important}}
.brand{font-size:24px;white-space:nowrap}.welcome .welcome-purpose{font-size:17px;font-weight:600;color:var(--ink);line-height:1.55;margin-top:12px}.mobile-brand{white-space:nowrap}
.test-options{display:grid;gap:12px;margin:24px 0}.test-options .chip{border-radius:12px;min-height:48px;text-align:left}.panel details,.panel summary{cursor:pointer}details{margin:16px 0}summary{padding:8px 0}.row>div:first-child{flex:1}.modal section{border-top:1px solid var(--line);padding:16px 0}.modal section p{white-space:pre-wrap;overflow-wrap:anywhere}
.role-choice{display:flex;align-items:center;gap:14px;border:1px solid #b6c5ae;background:#e9eee3;border-radius:14px;padding:16px;margin:0 0 24px;cursor:pointer}.role-choice input{accent-color:var(--green);width:20px;height:20px;flex-shrink:0}.role-choice b{display:block;font-size:15px}.role-choice small{display:block;color:var(--muted);font-size:12px;font-weight:400;line-height:1.6;margin-top:4px}.mode-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.mode-panel p{margin:5px 0 0}.tabs{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.client-card{text-align:left}.client-card-head{display:flex;align-items:center;gap:14px}.client-card-head h3{overflow-wrap:anywhere;margin:0 0 5px}.client-avatar{height:45px;width:45px;border-radius:15px;background:var(--soft);display:grid;place-items:center;flex-shrink:0;font-size:20px}.client-card .primary,.client-card .secondary{width:100%;margin-top:8px}.diary-filters{margin-bottom:24px}.intro-steps p{padding:13px 0;border-bottom:1px solid var(--line)}.intro-steps b{color:var(--green);margin-right:10px}.entry .section-head{margin:0 0 15px;flex-wrap:wrap}.section-head{flex-wrap:wrap}@media(max-width:600px){.client-grid{grid-template-columns:1fr}.role-choice{padding:14px}.mode-panel{padding:19px}.tabs{gap:7px}.tabs .chip{font-size:12px;padding:10px 13px}}
.client-card-head>div:last-child{min-width:0;overflow-wrap:anywhere}
body.keyboard-editing .modal{padding-bottom:calc(var(--visible-height,100dvh) - 110px)}body.keyboard-editing .main{padding-bottom:calc(var(--visible-height,100dvh) + 100px)}body.keyboard-editing textarea:focus,body.keyboard-editing [contenteditable=true]:focus{max-height:var(--editing-field-height,40dvh);min-height:min(90px,var(--editing-field-height,40dvh));overflow-y:auto}body.keyboard-editing .backdrop{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh)}
.primary,.secondary,.danger,.tiny,.chip,.close{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.35}.primary,.secondary,.danger,.tiny,.chip{white-space:normal;overflow-wrap:anywhere}.chip{min-height:40px}.test-options .chip{justify-content:flex-start;text-align:left;width:100%}.tag,.badge{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;vertical-align:middle}.close{padding:0;flex-shrink:0}.nav button{line-height:1.3}.modal-footer>button{min-width:0}.role-choice span{min-width:0}@media(max-width:600px){.nav button{justify-content:center}}
.panel.empty{padding:26px 24px;text-align:center}.panel.empty>p{margin:10px 0;overflow-wrap:anywhere}.panel.empty>h3{margin:0 0 8px}
.support-footer{margin-top:36px;text-align:center}.support-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;font-size:12px;line-height:1.4;color:var(--muted);text-underline-offset:4px}
.support-settings{margin-top:24px}.support-settings a{text-decoration:none}
.side{view-transition-name:app-navigation}::view-transition-group(app-navigation),::view-transition-old(app-navigation),::view-transition-new(app-navigation){animation:none!important}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}@media(max-width:600px){.side{height:calc(72px + env(safe-area-inset-bottom));padding:8px 7px calc(8px + env(safe-area-inset-bottom));transform:none;animation:none}.nav{height:56px;align-items:stretch}.nav button{flex:1;min-width:0;height:56px;padding:5px 2px;gap:4px;white-space:nowrap;font-size:9px;line-height:12px}.nav i{display:block;height:22px;line-height:22px;flex-shrink:0}.main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}body.keyboard-editing .side{visibility:hidden;pointer-events:none}}
