:root{--font:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-family:var(--font);color:#253c33;background:#f6f5ef;--green:#346452;--muted:#778179;--line:#dce2d8;--q0:#28618f;--q1:#81b4db;--q2:#dcecf8;--q3:#dcebdc;--q4:#80b28c;--q5:#32634e}*{box-sizing:border-box}body{margin:0}.shell{max-width:1120px;margin:auto;padding:0 36px}header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;border-bottom:1px solid var(--line)}.brand{font:700 30px var(--font);color:var(--green);text-decoration:none;letter-spacing:-1.3px}.brand span{display:block;font:600 9px var(--font);letter-spacing:2.1px;margin-top:7px}.local{font-size:12px;color:var(--muted)}.heading{display:flex;justify-content:space-between;align-items:center;margin:38px 0 28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:bold}h1{font:650 44px var(--font);letter-spacing:-1px;margin:12px 0}h2{font:600 26px var(--font);margin:0 0 18px}h3{font-size:15px}.sub{font-size:14px;color:var(--muted)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:inherit;border-radius:10px;padding:11px 14px;min-height:44px}button:hover{border-color:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b58a43;outline-offset:3px}.secondary{background:transparent;font-size:12px}nav{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:26px}nav button{border:0;background:transparent;border-radius:0;padding:15px 25px;color:var(--muted)}nav button.active{color:var(--green);border-bottom:3px solid var(--green);font-weight:bold}.layout{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:27px}.step{display:flex;align-items:center;gap:10px;margin-bottom:14px}.step b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ecf0e7;font-size:12px}.step h3{margin:0}.hint{font-size:12px;color:var(--muted);line-height:1.6}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:13px;background:#fafbf7}.chip.selected{background:#e5eee3;border-color:var(--green)}.search{display:flex;gap:8px;margin:14px 0 22px}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;color:inherit}.search input{min-width:0}.search button{font-size:12px}.food-row{border-top:1px solid var(--line);padding:16px 0}.food-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px}.remove{border:0;min-height:30px;padding:3px 9px;color:var(--muted)}.ratings{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.rating{padding:8px 2px;font-size:10px;min-height:58px;border:2px solid transparent;line-height:1.3}.rating strong{display:block;font-size:16px;margin-bottom:4px}.rating[aria-pressed=true]{border-color:#253c33;box-shadow:0 0 0 2px white inset}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}label{font-size:12px;display:block}label input{margin-top:8px}.contexts{margin:14px 0 24px}.primary{background:var(--green);color:white;border:0;width:100%;font-weight:bold;padding:15px}.primary:disabled{opacity:.45;cursor:not-allowed}.today{background:#eef1e7}.today .date{color:var(--muted);font-size:12px}.entry{display:block;width:100%;text-align:left;background:white;margin:10px 0;padding:15px}.entry-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.entry p{font-size:14px;margin:9px 0 0;line-height:1.6}.dot{width:12px;height:12px;display:inline-block;border-radius:50%;border:1px solid #00000020}.empty{padding:24px 0;color:var(--muted);font-size:14px;line-height:1.7}.period{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.period h2{margin:0;text-transform:capitalize}.period-controls{display:flex;gap:6px}.legend{display:flex;gap:13px;flex-wrap:wrap;margin-top:20px;font-size:11px;color:#59695d}.legend span{display:flex;gap:5px;align-items:center}.calendar-scroll{overflow-x:auto}.week{min-width:720px;display:grid;grid-template-columns:46px repeat(7,1fr);gap:0}.day-head{text-align:center;padding:10px 0 17px;font-size:11px;color:var(--muted)}.day-head strong{display:block;font:600 23px var(--font);margin-top:8px;color:#253c33}.day-head.is-today strong{color:var(--green);text-decoration:underline}.hours,.day-track{height:650px;position:relative}.hours span{position:absolute;font-size:10px;color:var(--muted);transform:translateY(-50%)}.day-track{border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,var(--line) 0,var(--line) 1px,transparent 1px,transparent calc(650px / 24))}.meal-block{position:absolute;left:3px;right:3px;min-height:25px;padding:4px;border-radius:5px;font-size:10px;text-align:left;overflow:hidden;border:1px solid #ffffff80;line-height:1.35}.meal-block strong{display:block}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekday{text-align:center;font-size:11px;color:var(--muted);padding:10px 0}.month-day{min-height:90px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;border-radius:10px;padding:10px;font-size:14px}.month-day small{font-size:10px}.month-day.is-today{outline:2px solid var(--green);outline-offset:2px}.q0{background:var(--q0);color:white}.q1{background:var(--q1)}.q2{background:var(--q2)}.q3{background:var(--q3)}.q4{background:var(--q4);color:#193d25}.q5{background:var(--q5);color:white}footer{padding:25px 0;color:var(--muted);font-size:11px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}footer button{font-size:11px;background:transparent;padding:0 6px;border:0;text-decoration:underline}footer span{margin-left:auto}#banner{background:#fff0cc;padding:14px;border-radius:10px;margin-bottom:20px;font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#253c33;color:white;border-radius:12px;padding:15px 24px;z-index:5;display:none;max-width:90vw}dialog{border:1px solid var(--line);border-radius:20px;max-width:550px;width:calc(100% - 30px);padding:28px;color:inherit}dialog::backdrop{background:#15251b66}.close{float:right;border:0}.detail-item{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.detail-actions{display:flex;gap:10px;margin-top:22px}.danger{color:#9b4130}.count{font-size:11px;background:white;border-radius:20px;padding:5px 10px;float:right}@media(max-width:700px){.shell{padding:0 16px}header{padding:20px 0}.brand{font-size:27px}.heading{margin:25px 0 20px;align-items:flex-start;gap:12px}h1{font-size:35px}.eyebrow{font-size:8px;letter-spacing:1px}.sub{font-size:12px;max-width:230px;line-height:1.6}.heading button{font-size:10px;padding:8px;margin-top:12px}nav button{flex:1;padding:13px 5px;font-size:13px}.layout{grid-template-columns:1fr}.card{padding:19px;border-radius:14px}.ratings{gap:3px}.rating{font-size:9px}.period h2{font-size:21px}.period-controls button{padding:8px;font-size:11px}.month{gap:4px}.month-day{min-height:70px;padding:7px;font-size:12px}.month-day small{font-size:8px}footer span{margin-left:0}.calendar-card{padding:15px}.legend{gap:9px}.today{margin-top:0}}

.food-help{margin:-10px 0 24px}

.rating{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-height:82px;padding:10px 3px}
.quantity-symbol{display:grid;place-items:center;height:27px;font-size:17px;font-weight:700}
.plate-icon{position:relative;display:block;flex-shrink:0;width:27px;height:27px;border-radius:50%;border:2px solid currentColor;background:conic-gradient(currentColor 0 var(--fill),transparent var(--fill) 360deg);box-shadow:inset 0 0 0 3px var(--plate-bg)}
.plate-2{--fill:90deg;--plate-bg:var(--q2)}
.plate-3{--fill:180deg;--plate-bg:var(--q3)}
.plate-4{--fill:360deg;--plate-bg:var(--q4)}
.plate-5{--fill:360deg;--plate-bg:var(--q5)}
.plate-more{position:absolute;right:-8px;top:-7px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:white;color:var(--green);font-size:16px;font-weight:700;line-height:1}

.texture-picker{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.texture-label{font-size:12px;color:var(--muted)}.texture-picker .chips{flex:1;flex-wrap:nowrap}.texture-picker .chip{flex:1;padding:10px 8px}.texture-note{display:block;font-size:12px;color:var(--muted);margin-top:5px}

[hidden]{display:none!important}.auth-panel{max-width:460px;margin:48px auto}.auth-panel label,#account-panel label{margin:18px 0}.form-status{color:#9b4130;line-height:1.5}.auth-panel button:disabled{opacity:.5}#account-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}#identity{font-size:12px;overflow-wrap:anywhere}#account-panel{margin-top:24px}#account-panel form{max-width:460px}#members h2{margin-top:32px}.member-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid var(--line)}.member-row span{flex:1;overflow-wrap:anywhere}.member-row small{display:block;color:var(--muted);margin-top:6px}#invite-link{font-size:12px}@media(max-width:700px){header{gap:12px;align-items:flex-start}#account-tools{max-width:60%}#identity{width:100%;text-align:right}.auth-panel{margin:28px auto}}
