:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#303b32;background:#eeece4;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #496b54;outline-offset:3px}button{color:inherit}button:disabled{cursor:default}.board{max-width:1100px;margin:auto;height:100dvh;display:flex;flex-direction:column;background:#f8f6ef;padding:0 40px;overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;padding:32px 0 25px;flex-shrink:0}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.5px;display:flex;align-items:center;gap:9px;color:#6b7868}.little-sun{height:10px;width:10px;background:#d1a859;border-radius:50%}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,4.5vw,43px);font-weight:400;letter-spacing:-1.5px;margin:10px 0}header p{color:#808477;font-size:14px;margin:0}header p span{padding:0 8px}.icon-button{display:grid;place-items:center;border:0;background:transparent;width:48px;height:48px;border-radius:14px;flex-shrink:0}.icon-button:hover{background:#eae9df}.history-button{border:1px solid #dedfd3;color:#697561}.food-list{overflow-y:auto;min-height:0;flex:1;padding:0 4px 20px 0;scrollbar-width:thin;scrollbar-color:#d5d7c9 transparent;overscroll-behavior:contain}.food-row{display:flex;align-items:center;min-height:76px;border:1px solid #e6e5dc;background:#fffef9;border-radius:15px;margin-bottom:9px;padding:10px 12px 10px 0;overflow:hidden;position:relative;gap:14px}.colour-mark{align-self:stretch;width:12px;min-width:12px;background:var(--tone);margin:-10px 0;display:flex;align-items:center;justify-content:center}.red{--tone:#d77a68}.orange{--tone:#e5ac62}.lime{--tone:#b9c77a}.green{--tone:#80aa87}.colour-mark:has(svg){width:42px;min-width:42px;background:#d77a6820;border-left:12px solid var(--tone);color:#aa5144;padding-left:4px}.colour-mark svg{width:18px;min-width:18px}.food-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}h2{margin:0}.food-title h2{font-size:clamp(18px,2.7vw,23px);line-height:1.25;font-weight:570;overflow-wrap:anywhere}.quantity{white-space:nowrap;font-size:15px;color:#7c8373}.eaten{border:1px solid #e4e7dc;border-radius:10px;background:#f4f6ee;height:48px;padding:0 13px;display:flex;align-items:center;gap:7px;font-size:14px;color:#657657}.eaten:hover{background:#e6eddb}.eaten svg{width:19px}.more{color:#868b7d;width:44px}.composer{flex-shrink:0;padding:20px 0 26px;border-top:1px solid #dedfd2;background:#f8f6ef}.composer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.composer-heading h2{font-size:17px;font-weight:600;display:flex;gap:8px;align-items:center}.composer-heading svg{width:19px}.text-button{border:0;background:none;color:#7c8373;font-size:13px;min-height:36px}.name-line{display:flex;border:1px solid #dcded1;background:#fffef9;border-radius:12px;overflow:hidden}.name-line input{width:100%;min-width:0;background:transparent;border:0;height:58px;padding:0 17px;font-size:18px}.name-line input::placeholder{color:#9a9e91}.mic{border:0;border-left:1px solid #e9e9df;background:none;width:64px;flex-shrink:0;color:#69785d}.mic:hover{background:#eef0e6}.duration-heading{font-size:12px;color:#7a8171;margin:15px 0 8px}.add-line{display:flex;gap:18px;align-items:center}.durations{display:flex;gap:8px;flex:1}.durations button{flex:1;min-width:0;height:48px;border:1px solid #dfe1d5;border-radius:10px;background:#fdfcf6;font-size:16px}.durations button:last-child{font-size:13px;flex:1.4}.durations button.chosen{background:#e4ebd9;border-color:#748865;color:#40543a;box-shadow:inset 0 0 0 1px #748865}.add-button,.primary{border:0;border-radius:10px;background:#506747;color:#fffef7;min-height:48px;padding:0 25px;font-weight:600}.add-button{display:flex;align-items:center;gap:9px}.add-button:disabled{background:#e0e4d7;color:#9aa48e}.quantity-input,.custom-days{margin-top:10px;max-width:240px}.empty{text-align:center;padding:45px 16px;color:#7b8473}.empty h2{font-family:Georgia,serif;font-weight:400;font-size:28px}.toast{position:fixed;bottom:280px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;background:#303e32;color:#fff;border-radius:12px;padding:8px 12px 8px 20px;box-shadow:0 8px 25px #303e3220;max-width:90vw;width:max-content;z-index:2}.toast span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast button{border:0;background:transparent;color:#dae9be;font-weight:700;min-height:44px;padding:0 10px}dialog{border:1px solid #e0e2d5;border-radius:22px;background:#f8f6ef;color:#303b32;padding:24px;width:460px;max-width:calc(100vw - 28px);max-height:90dvh;box-shadow:0 20px 80px #26302425}dialog::backdrop{background:#29312855;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-heading h2{font-family:Georgia,serif;font-weight:400;font-size:29px}label{display:block;font-size:14px;margin:16px 0}label input,.quantity-input,.custom-days{display:block;width:100%;min-height:48px;border:1px solid #d9ddcf;border-radius:9px;padding:10px;background:#fffef9;color:#303b32}label input{margin-top:7px}.date-added{display:flex;flex-direction:column;gap:6px;font-size:14px;padding:12px 0}.date-added strong{font-weight:500}.muted,.date-description{color:#7c8274;line-height:1.5}.date-description{font-size:13px}.modal-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.discard{background:#f3e4db;color:#9a5646;border:0;border-radius:10px;min-height:48px;padding:0 18px}.history-row{padding:18px 0;border-bottom:1px solid #e0e2d5;display:flex;justify-content:space-between;gap:15px}.history-row span{color:#7c8274;font-size:14px}@media(min-width:1000px){.board{padding:0 64px}}@media(max-width:600px){.board{padding:0 16px}header{padding:22px 0 20px}h1{font-size:31px}.eyebrow{font-size:9px}.food-row{gap:9px;min-height:72px;padding-right:6px}.food-title{gap:7px}.food-title h2{font-size:18px}.eaten{padding:0 10px}.eaten span{display:none}.more{width:40px}.quantity{font-size:13px}.composer{padding:12px 0 18px}.add-line{gap:9px}.durations{gap:5px}.add-button{padding:0 13px}.add-button svg{display:none}.name-line input{font-size:16px}.toast{bottom:260px}}@media(max-height:600px){header{padding:12px 0}header .eyebrow,header p{display:none}h1{font-size:28px;margin:0}.composer{padding:8px 0}.composer-heading{margin:0}.name-line input{height:48px}.duration-heading{margin:5px 0}.food-row{min-height:64px}.toast{bottom:215px}}html,body,#root{height:100%;overflow:hidden}.board{position:fixed;top:var(--visible-top, 0px);left:0;right:0;height:var(--visible-height, 100dvh)}.composer{max-height:100%;overflow-y:auto}.compact-viewport header{padding:12px 0}.compact-viewport header .eyebrow,.compact-viewport header p{display:none}.compact-viewport h1{font-size:28px;margin:0}.compact-viewport .composer{padding:8px 0}.compact-viewport .composer-heading{margin:0}.compact-viewport .name-line input{height:48px}.compact-viewport .duration-heading{margin:5px 0}.compact-viewport .food-row{min-height:64px}.composer fieldset{border:0;margin:0;padding:0;min-width:0}.storage-error{flex-shrink:0;padding:12px 16px;margin-bottom:12px;border-radius:10px;background:#f3e4db;color:#844436;font-size:14px}.storage-error button{margin-left:8px;min-height:44px;border:0;background:transparent;text-decoration:underline}.history-row small{display:block;margin-top:4px;font-size:12px}
