@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{font-family:DM Sans,sans-serif;color:#252a22;background:#f7f6f1;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 80% 0%,#edf0e3 0,transparent 34rem),#f7f6f1}.page-shell{max-width:1040px;margin:0 auto;padding:0 48px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e5dc}.brand{display:flex;align-items:center;gap:10px;color:#273527;font-size:21px;font-weight:700;letter-spacing:-1px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:28px;height:28px;background:#486248;color:#fff;border-radius:9px 9px 9px 3px;font:italic 600 21px Playfair Display,serif}.private-note{font-size:12px;color:#70786d;display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;background:#88a36e;border-radius:50%}.intro{padding:76px 0 64px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#89927e;margin:0 0 15px}.intro h1{font:500 clamp(48px,7vw,72px)/.99 "Playfair Display",serif;letter-spacing:-2.2px;margin:0;color:#273527}.intro h1 em{color:#80916b}.intro-copy{margin:24px 0 0;color:#7a8075;font-size:15px}.workspace{max-width:730px;margin-left:auto;margin-right:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{font:500 26px Playfair Display,serif;margin:0}.count{font:500 12px DM Sans,sans-serif;color:#8e9587;background:#e9ebdf;border-radius:20px;padding:5px 9px;vertical-align:4px;margin-left:5px}.add-panel{background:#fff;border:1px solid #e8e9e1;border-radius:13px;padding:20px 22px;box-shadow:0 5px 22px #34452b08}.recipe-form label{display:block;font-size:11px;font-weight:600;color:#6f776b;margin-bottom:9px}.form-row{display:flex;gap:9px}.form-row input{flex:1;min-width:0;border:1px solid #e3e5dc;border-radius:8px;padding:12px 13px;font:14px DM Sans,sans-serif;color:#30362c;outline:none;transition:border-color .18s,box-shadow .18s}.form-row input:focus{border-color:#7b906c;box-shadow:0 0 0 3px #7b906c1c}.form-row input::placeholder{color:#b2b8ad}.primary-button{border:0;border-radius:8px;background:#496149;color:#fff;padding:0 19px;font:600 13px DM Sans,sans-serif;cursor:pointer;transition:background .18s}.primary-button:hover{background:#354b36}.primary-button:disabled{opacity:.6;cursor:wait}.quiet-button{border:0;background:transparent;color:#6d7569;cursor:pointer}.character-count{display:block;text-align:right;margin-top:7px;color:#a1a79b;font-size:10px}.field-error,.error-banner{color:#a0473f;font-size:12px;margin:8px 0 0}.error-banner{background:#fbefec;border-radius:8px;padding:11px 14px}.success-banner{color:#355a3b;background:#edf4e9;border-radius:8px;padding:11px 14px;font-size:13px}.auth-shell{min-height:100vh}.auth-panel{width:min(100%,440px);margin:72px auto;padding:34px;background:#fff;border:1px solid #e8e9e1;border-radius:14px;box-shadow:0 5px 22px #34452b08}.auth-panel h1{margin:0;color:#273527;font:500 34px Playfair Display,serif}.auth-intro{margin:12px 0 24px;color:#7a8075;font-size:14px}.auth-notice{padding:12px 14px;color:#536247;background:#f0f3e9;border-radius:8px;font-size:13px;line-height:1.5}.auth-form label{display:block;margin:17px 0 8px;color:#6f776b;font-size:12px;font-weight:600}.auth-form input{width:100%;border:1px solid #e3e5dc;border-radius:8px;padding:12px 13px;color:#30362c;font:14px DM Sans,sans-serif}.auth-form input:focus{outline:none;border-color:#7b906c;box-shadow:0 0 0 3px #7b906c1c}.password-rules{margin:11px 0 0;padding-left:19px;color:#8e756d;font-size:12px;line-height:1.8}.password-rules .rule-passed{color:#456149}.auth-submit{width:100%;min-height:44px;margin-top:21px}.google-button{width:100%;min-height:44px;margin-top:21px;border:1px solid #dfe3d9;border-radius:8px;background:#fff;color:#30362c;font:600 14px DM Sans,sans-serif;cursor:pointer}.google-button:disabled{opacity:.6;cursor:wait}.auth-divider{margin:15px 0 0;color:#8a9085;text-align:center;font-size:12px}.auth-switch{margin:21px 0 0;color:#72796e;text-align:center;font-size:13px}.auth-switch .quiet-button{padding:4px;color:#496149;font-weight:600}.account-actions{display:flex;align-items:center;gap:14px}.account-actions .quiet-button{font-size:12px}.empty-state{text-align:center;padding:53px 20px 56px;color:#858c80}.empty-illustration{font-size:27px;color:#a5b092;margin-bottom:13px}.empty-state h3{font:500 22px Playfair Display,serif;color:#485144;margin:0 0 8px}.empty-state p{font-size:13px;margin:0}.recipe-list{list-style:none;padding:0;margin:18px 0 0;border-top:1px solid #e3e5dc}.recipe-row{min-height:69px;display:flex;align-items:center;gap:17px;border-bottom:1px solid #e3e5dc}.recipe-index{font-size:10px;color:#9aa08f;font-variant-numeric:tabular-nums}.recipe-title{flex:1;font:500 17px Playfair Display,serif}.row-actions{display:flex;gap:5px;opacity:.5;transition:opacity .18s}.recipe-row:hover .row-actions,.row-actions:focus-within{opacity:1}.icon-button{width:31px;height:31px;border:1px solid transparent;background:transparent;border-radius:7px;color:#687262;font-size:17px;cursor:pointer}.icon-button:hover{background:#e9ecdf;border-color:#dce1d2}.delete-button{font-size:22px;color:#9c655f}.inline-editor{flex:1}.inline-editor .form-row input{padding:9px 11px}.inline-editor .recipe-form label,.inline-editor .character-count{display:none}.inline-editor .primary-button{padding:0 12px}.list-footnote{font-size:11px;color:#999f94;text-align:right;margin:13px 0 0}.state-message{text-align:center;padding:40px;color:#858c80;font-size:13px}footer{margin:79px 0 30px;text-align:center;color:#a4aa9b;font-size:9px;letter-spacing:1.4px}footer span{color:#91a17d;margin-left:4px}@media(max-width:620px){.page-shell{padding:0 22px}.topbar{height:72px}.private-note{font-size:10px}.intro{padding:58px 0 48px}.intro h1{font-size:55px}.form-row{flex-wrap:wrap}.form-row input{flex-basis:100%}.primary-button,.quiet-button{min-height:42px}.recipe-row{gap:11px}.recipe-title{font-size:15px}.row-actions{opacity:1}}
