:root{--ink:#193c35;--muted:#75817b;--paper:#f5f4ee;--line:#e1e5db;--green:#cfe3ab;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{max-width:1240px;margin:auto;padding:0 44px}h1,h2,p{margin:0}h1{font-size:clamp(34px,4.5vw,54px);font-weight:500;letter-spacing:-2px;line-height:1.15}h2{font-size:22px;font-weight:550;letter-spacing:-.7px}button,.button{border:0;border-radius:10px;padding:11px 18px;background:transparent;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px}.primary{background:var(--ink);color:white;box-shadow:0 4px 12px #193c3512}.primary:hover{background:#2c5546}.primary span{font-size:20px;font-weight:400}.quiet{color:var(--ink)}.quiet:hover{background:#e8ebdf}.full{width:100%;justify-content:space-between}.masthead{height:114px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:28px;letter-spacing:-1px;font-weight:600;line-height:1.1}.brand-icon{width:46px;height:46px;display:grid;place-items:center;background:var(--ink);color:var(--green);border-radius:13px;font-family:Georgia,serif;font-size:38px;font-weight:400;padding-bottom:7px}.brand-caption{display:block;font-size:8px;letter-spacing:1.8px;margin-top:7px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#708073}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:46px 0 34px}.page-heading h1{margin:9px 0 10px}.muted{color:var(--muted);font-size:14px}.tabs{background:#e9ecdf;padding:5px;border-radius:12px;display:flex}.tabs button{min-width:94px;font-weight:500;color:#697969}.tabs .active{background:white;box-shadow:0 2px 6px #223b3510;color:var(--ink)}.datebar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.datebar>div:first-child{display:flex;align-items:center;gap:16px}.datebar input{background:transparent;border:0;font-size:16px;color:var(--ink);padding:8px;width:175px}.date-actions{display:flex;align-items:center;gap:4px}.save-state{font-size:11px;color:#5b7a53;border:1px solid #d6dfcb;padding:6px 12px;border-radius:20px;margin-left:8px}.unsaved{color:#9b6422;border-color:#e9d5a5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px 25px}.stat>span{font-size:9px;font-weight:700;letter-spacing:1.6px;display:block;color:#71816e}.stat strong{display:block;font-size:31px;letter-spacing:-1.2px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat small{font-size:11px;color:var(--muted)}.stat-accent{background:var(--ink);border-color:var(--ink);color:#eff5e7}.stat-accent>span{color:var(--green)}.stat-accent small{color:#a4b7a8}.journal-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.main-column{display:flex;flex-direction:column;gap:22px}.card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:28px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}.section-head>div{display:flex;align-items:center;gap:13px}.section-number{font-size:11px;color:#8c9b80;font-weight:600}.tag{font-size:9px;letter-spacing:1.3px;color:#839077;border:1px solid #e0e7da;border-radius:5px;padding:3px 7px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.two-col>*{min-width:0}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#506459}input,select,textarea{width:100%;min-width:0;border:1px solid #dfe4d9;background:#fafbf7;border-radius:8px;padding:12px;color:var(--ink);outline:none;font-size:14px;font-weight:400;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:#6c8b5c;box-shadow:0 0 0 3px #b8d39533}button:focus-visible,a:focus-visible{outline:3px solid #92b76e;outline-offset:3px}textarea{resize:vertical;min-height:70px}input::placeholder,textarea::placeholder{color:#9da69c}.field-hint{font-size:10px;font-weight:400;color:var(--muted)}.add{font-size:12px;padding:7px 12px;background:#eff4e7;color:#526c3f;white-space:nowrap}.add:hover{background:#e1eccf}.empty{text-align:center;padding:23px 8px 25px;color:#7b8878}.empty>span{display:block;font-size:25px;color:#8fa177;margin-bottom:9px}.empty p{font-size:14px;color:#66785f}.empty small{font-size:11px;color:#929c8c}.entry{border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.entry:first-child{margin-top:0}.entry>label{margin-top:14px}.entry-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#929d89;margin-bottom:8px}.remove{font-size:11px;color:#93735d;padding:5px 8px;font-weight:400;letter-spacing:0}.remove:hover{background:#fbf0e8}.notes-card{background:#edf1e4;border-color:#e4e8d8}.notes-card h2{font:italic 31px/1.3 Georgia,serif;margin:12px 0}.notes-card .muted{font-size:12px;line-height:1.7}.notes-card textarea{background:transparent;border:0;border-radius:0;padding:20px 0;line-height:1.9;margin-top:8px;min-height:220px;font-size:13px}.notes-card textarea:focus{box-shadow:none}.note-footer{border-top:1px solid #dce3d0;padding-top:17px;color:#89947c;font-size:10px}.tip{padding:26px 22px;display:flex;gap:17px;align-items:center;color:#8c997c;font-size:12px}.tip>span{font-size:30px}.savebar{position:sticky;bottom:15px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;margin:28px 0 10px;background:#fffffff5;backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 25px #263a2b0a;z-index:2}.savebar strong{font-size:12px;display:block;font-weight:600}.savebar>div>span{font-size:10px;color:var(--muted)}.savebar .primary{min-width:145px;justify-content:space-between}footer{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:48px;padding:25px 0 34px;font-size:11px;color:#8e9a86}footer>span:first-child{color:#64755b;font-weight:600}.footer-right{margin-left:auto;font-size:8px;letter-spacing:1.7px}.message{border:1px solid #ceddbf;background:#eaf1df;border-radius:10px;padding:13px 18px;color:#3c6234;margin:20px 0;font-size:13px}.message.error{background:#fff0e8;border-color:#ecc9b4;color:#97482b}.auth-layout{display:grid;grid-template-columns:1fr 410px;align-items:center;gap:70px;min-height:610px}.welcome h1{font-size:clamp(42px,5vw,66px);margin:22px 0;line-height:1.13;letter-spacing:-3px}.welcome p{color:#82907c;line-height:1.9;font-size:14px}.welcome-detail{border-top:1px solid #dde3d3;margin-top:45px;padding-top:20px;font-size:12px;color:#7b8c70}.welcome-detail span{color:#a0af92;margin-right:15px}.auth-card{background:white;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 12px 40px #273b2310}.auth-card h2{margin-top:12px;font-size:25px}.auth-card .muted{margin-top:10px;font-size:12px}.auth-card form{margin-top:28px}.auth-card label{margin-bottom:18px}.auth-card .primary{margin-top:12px}.privacy{font-size:10px;text-align:center;color:#99a28f;margin-top:24px}.history-filters{display:flex;align-items:end;gap:18px;margin-bottom:24px}.history-filters .two-col{flex:1}.history-row{display:flex;width:100%;border-radius:0;border-top:1px solid var(--line);padding:21px 6px;text-align:left;justify-content:space-between;font-weight:400}.history-row:hover{background:#f6f8f0}.history-row strong{display:block;font-weight:500;font-size:14px}.history-row small{color:#849179;font-size:11px;display:block;margin-top:4px}.history-row>span:last-child{text-align:right}.settings{max-width:560px;margin:30px auto}.settings form{margin-top:25px}.settings label{margin-bottom:15px}.settings p{margin:12px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1000px){.shell{padding:0 26px}.journal-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.card{padding:22px}.stat{padding:20px}.stat strong{font-size:26px}.auth-layout{gap:40px;grid-template-columns:1fr 370px}}@media(max-width:760px){.shell{padding:0 18px}.masthead{height:88px}.brand{font-size:25px}.brand-caption{font-size:7px;letter-spacing:1.3px}.masthead button{padding:8px 10px;font-size:12px}.page-heading{margin:29px 0 24px;align-items:start;gap:20px;flex-direction:column}.page-heading h1{font-size:38px}.tabs{width:100%}.tabs button{width:50%}.journal-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.stat{padding:17px 19px}.stat strong{font-size:28px}.stat small{font-size:10px}.datebar{gap:12px;align-items:stretch;flex-direction:column}.datebar>div:first-child{justify-content:space-between}.date-actions{justify-content:space-between}.date-actions button{font-size:12px;padding:7px 10px}.save-state{margin-left:auto}.card{padding:22px}.section-head h2{font-size:20px}.section-head{gap:8px}.section-head>div{gap:9px}.notes-card textarea{min-height:130px}.tip{display:none}.savebar{bottom:10px;padding:12px;gap:10px}.savebar>div>span{display:none}.savebar strong{font-size:11px}.savebar .primary{min-width:130px;padding:12px 15px}.footer-right{display:none}footer{margin-top:32px;font-size:10px}.auth-layout{grid-template-columns:1fr;gap:32px;min-height:0;margin:35px 0}.welcome h1{font-size:46px;margin:14px 0}.welcome-detail{display:none}.welcome p{font-size:12px}.auth-card{padding:27px}.history-filters{flex-wrap:wrap;gap:12px}.history-filters .two-col{flex-basis:100%}.history-filters>.primary,.history-filters>.button{flex:1}.history-row strong{font-size:13px}.section-head>.muted{font-size:10px}.history-row{gap:12px}}@media(max-width:380px){.shell{padding:0 12px}.card{padding:17px}.section-head h2{font-size:18px}.add{font-size:11px;padding:6px 8px}.two-col{gap:11px}.stat{padding:15px}.stat strong{font-size:25px}.brand-caption{display:none}}
