:root{--paper:#f6f5f0;--ink:#24352e;--muted:#7c8980;--line:#e3e5dc;--green:#315d49;--green-light:#e8eee6;--peach:#f5e7d9;--lilac:#ece8f4;--white:#fffefa;--shadow:0 8px 28px #2e48390c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}.topbar{height:74px;padding:0 max(calc((100vw - 1180px)/2),28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e9e2}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:-.04em;font-size:18px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 48% 12%;background:var(--green);color:white;font:italic 22px 'Playfair Display',serif;transform:rotate(-8deg)}.top-actions{display:flex;align-items:center;gap:18px}.save-state{font-size:12px;color:var(--muted)}.save-state i{display:inline-block;width:7px;height:7px;background:#77a785;border-radius:50%;margin-right:6px}.icon-button{border:0;background:transparent;color:var(--ink);font-size:19px;cursor:pointer;padding:8px}main{max-width:1180px;margin:auto;padding:0 28px}.welcome{margin:54px 0 34px;background:#e8eee5;border-radius:5px;min-height:230px;padding:36px 48px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:#829087;margin:0 0 10px}.welcome h1{font:500 46px/1.06 'Playfair Display',serif;letter-spacing:-.03em;margin:0 0 12px}.welcome h1 em{color:var(--green)}.intro{margin:0;color:#64736a;max-width:440px;font-size:14px;line-height:1.6}.welcome-art{position:relative;width:245px;height:170px;margin-right:65px}.sun{position:absolute;right:35px;top:16px;width:132px;height:132px;background:#efc7a6;border-radius:50%}.leaf{position:absolute;display:block;background:#75917b;border-radius:100% 0 100% 0;transform:rotate(-38deg)}.leaf-one{width:67px;height:112px;right:100px;top:33px}.leaf-two{width:60px;height:100px;right:151px;top:72px;transform:rotate(-70deg);background:#9eb19a}.leaf-three{width:54px;height:95px;right:65px;top:91px;transform:rotate(25deg);background:#55795e}.art-dot{position:absolute;right:15px;bottom:11px;width:13px;height:13px;background:#c58861;border-radius:50%}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:28px}.tab{background:transparent;border:0;color:#818c84;font:600 13px 'DM Sans',sans-serif;padding:0 0 14px;cursor:pointer;position:relative}.tab.active{color:var(--green)}.tab.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--green)}.view{display:none}.view.active{display:block}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 0 18px}.section-heading h2,.dialog-head h2{font:500 30px 'Playfair Display',serif;margin:0;letter-spacing:-.02em}.section-heading .eyebrow{margin-bottom:6px}.section-heading input[type=date]{border:1px solid var(--line);background:var(--white);border-radius:4px;padding:9px 11px;color:var(--ink);font:12px 'DM Sans',sans-serif}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{background:var(--white);border:1px solid #e9e9e1;border-radius:6px;padding:24px;box-shadow:var(--shadow)}.card-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.card-title h3,.journal-card h3{margin:0;font-size:16px}.card-title p,.journal-card label p{margin:4px 0 0;color:var(--muted);font-size:12px}.round-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:17px;color:var(--green)}.peach{background:var(--peach)}.lavender{background:var(--lilac)}form label{display:block;font-size:11px;font-weight:600;color:#66756b;margin:0 0 13px}input:not([type=checkbox]):not([type=date]):not([type=time]),textarea,select{width:100%;margin-top:6px;border:1px solid #e3e6df;border-radius:4px;background:#fff;padding:10px 11px;font:13px 'DM Sans',sans-serif;color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:#91aa96!important;box-shadow:0 0 0 3px #91aa961a}textarea{resize:vertical;line-height:1.5}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.two-col input[type=time]{width:100%;margin-top:6px;padding:9px 10px;border:1px solid #e3e6df;border-radius:4px;background:#fff;color:var(--ink);font:13px 'DM Sans',sans-serif}.primary-button,.secondary-button{border:0;border-radius:4px;padding:11px 15px;background:var(--green);color:#fff;font:600 12px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}.primary-button:hover{background:#244936}.secondary-button{border:1px solid var(--line);background:transparent;color:var(--green)}.compact{padding:9px 12px}.optional{font-weight:400;color:#a0a9a1;margin-left:4px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 16px}.checks label{margin:0;cursor:pointer}.checks input{position:absolute;opacity:0}.checks span{display:block;background:#f7f7f2;border:1px solid #e8e9e3;border-radius:20px;padding:7px 9px;font-size:10px;font-weight:500;color:#6d7b71}.checks input:checked+span{background:#e6eee5;border-color:#aac1a9;color:var(--green)}.today-list{border-top:1px solid var(--line);margin-top:17px;padding-top:4px}.empty-state{font-size:11px;color:#a0a9a1;padding:9px 0}.entry-item{display:flex;justify-content:space-between;align-items:flex-start;padding:9px 0;border-bottom:1px solid #f0f0eb;font-size:12px;gap:12px}.entry-item:last-child{border-bottom:0}.entry-item strong{font-weight:600}.entry-item small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:2px}.entry-meta{white-space:nowrap;color:#87928a;font-size:10px}.delete-button{border:0;background:none;color:#a9b0aa;cursor:pointer}.note-card{margin:18px 0 35px;background:#f1eee5;border-radius:5px;padding:16px 20px;display:flex;gap:13px;align-items:flex-start}.note-icon{color:#9e7f4d;font-size:17px}.note-card strong{font-size:12px}.note-card p{margin:4px 0 0;color:#778177;font-size:11px;line-height:1.5}.section-intro{max-width:650px;color:#758178;font-size:13px;line-height:1.6;margin:-5px 0 23px}.rating-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.rating-column{background:#fffefa;border:1px solid var(--line);border-radius:5px;padding:19px;min-height:160px}.rating-heading{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid #eff0e9}.rating-heading span{font:italic 12px 'Playfair Display',serif;color:#9aa59b}.rating-heading h3{margin:0;font:500 17px 'Playfair Display',serif}.good .rating-heading h3{color:#4d7859}.moderate .rating-heading h3{color:#a37b43}.avoid .rating-heading h3{color:#a45e56}.rating-items{padding-top:8px}.rating-item{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f0f0eb;font-size:12px}.rating-item:last-child{border:0}.rating-item small{display:block;color:#87928a;font-size:10px;margin-top:3px;line-height:1.5}.rating-remove{background:none;border:0;color:#a9b0aa;cursor:pointer}.watch-card{margin-bottom:32px}.inline-form{display:flex;gap:9px;align-items:center}.inline-form label{flex:1;margin:0}.inline-form input{margin:0!important}.chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.chip{border:1px solid #ead5c8;background:#fcf3ec;color:#845f49;padding:6px 9px;border-radius:30px;font-size:11px;display:flex;gap:7px;align-items:center}.chip button{border:0;background:none;color:#a07e68;font-size:14px;cursor:pointer;padding:0}.journal-card{max-width:800px}.journal-card label{margin-bottom:14px}.journal-card textarea{margin:0}.autosave{display:block;text-align:right;font-size:10px;color:#9aa49c;margin-top:7px}.history-heading{margin-top:43px}.timeline{max-width:800px}.timeline-day{margin:18px 0}.timeline-day h3{font:500 18px 'Playfair Display',serif;margin:0 0 9px}.timeline-day .card{padding:15px 18px;margin-bottom:8px}.timeline-day .entry-item{padding:8px 0}footer{border-top:1px solid var(--line);margin-top:55px;padding:19px 0 27px;display:flex;justify-content:space-between;color:#9aa39b;font-size:9px;letter-spacing:.12em}footer span:last-child{letter-spacing:0}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:19px}.dialog-head h2{font-size:25px}dialog{border:1px solid var(--line);border-radius:7px;padding:25px;width:min(440px,calc(100% - 28px));background:var(--white);color:var(--ink);box-shadow:0 20px 90px #1c30284a}dialog::backdrop{background:#23372e66;backdrop-filter:blur(2px)}dialog form>label{margin:0 0 14px}.dialog-copy,.privacy-note{color:#69796f;font-size:12px;line-height:1.6}.privacy-note{font-size:10px;color:#9aa49c;margin:17px 0 0}.data-actions{display:flex;gap:9px;margin-top:19px}.file-label{display:inline-flex;align-items:center;cursor:pointer}.toast{position:fixed}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#253b30;color:white;border-radius:4px;padding:11px 16px;font-size:12px;transition:.2s;z-index:5}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.topbar{height:62px;padding:0 18px}.save-state{font-size:0}.save-state i{margin:0}main{padding:0 16px}.welcome{margin:24px 0 25px;padding:25px 22px;min-height:215px}.welcome h1{font-size:37px}.intro{font-size:12px;max-width:270px}.welcome-art{position:absolute;right:-112px;bottom:-25px;transform:scale(.72);opacity:.72}.tabs{gap:24px;margin-bottom:24px}.section-heading{margin:25px 0 14px}.section-heading h2{font-size:26px}.entry-grid{grid-template-columns:1fr;gap:13px}.card{padding:19px}.rating-grid{grid-template-columns:1fr;gap:10px}.rating-column{min-height:0}.inline-form{align-items:stretch}.inline-form .primary-button{white-space:nowrap;padding:9px}.history-heading{align-items:center}.history-heading h2{font-size:23px}.history-heading .secondary-button{font-size:10px;padding:8px}footer{margin-top:38px}.note-card{margin-bottom:25px}}
@media(max-width:390px){.welcome-art{opacity:.38}.welcome{padding-left:18px}.welcome h1{font-size:34px}.two-col{gap:8px}.card{padding:16px}.tabs{gap:18px}.tab{font-size:12px}}
 .sync-status{font-size:11px;color:#7d8c81;margin:10px 0 -5px}.data-actions .primary-button,.data-actions .secondary-button{font-size:11px}
