
:root{color-scheme:dark;--bg:#101514;--panel:#19211e;--line:#303b35;--muted:#a1b0a6;--lime:#d0ef91;--text:#f1f4ee}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 'Segoe UI',sans-serif}button,input,select{font:inherit}button,.import{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#26312a;color:var(--text);padding:10px 15px}button:hover{border-color:var(--lime);color:var(--lime)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--lime);color:#182414;border-color:var(--lime);font-weight:650}input,select{background:#101714;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:9px;max-width:100%}input[type=checkbox]{accent-color:var(--lime)}input[type=range]{accent-color:var(--lime);width:100%}aside{width:252px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column}.brand{font-size:27px;color:var(--lime);font-weight:750;text-decoration:none}.brand span{font-size:11px;margin-left:8px;border:1px solid var(--line);padding:3px;border-radius:5px}aside p{font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-bottom:44px}nav{display:grid;gap:9px}nav button{text-align:left;background:transparent;border-color:transparent}nav button.active{background:#2c3929;color:var(--lime)}.local{margin-top:auto;font-size:13px;color:var(--lime)}small{display:block;color:var(--muted);font-size:12px}.local button,.import{display:block;margin-top:12px;font-size:12px}.import input{display:none}main{margin-left:252px;padding:26px 42px;max-width:1800px}header{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:24px}.badge,.tag{border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px;letter-spacing:0;color:var(--lime)}h1{font-size:38px;line-height:1.15;letter-spacing:-1.5px;margin:30px 0 12px}h2{font-size:21px;letter-spacing:-.4px}h3{margin:0 0 8px;font-size:16px}p{color:var(--muted)}.title,.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.hero{background:radial-gradient(ellipse at 85% 10%,#435a32,transparent 65%),#202d24;border:1px solid #43553b;border-radius:20px;padding:26px;margin:26px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.hero h2{font-size:29px;margin:8px 0}.hero p{margin:8px 0}.hero-art{font-size:85px;filter:drop-shadow(0 12px 20px #0005);transform:rotate(-12deg);padding:0 30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px}.stat b{display:block;font-size:25px}.stat span{color:var(--muted);font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:14px}.weekday{text-align:center;color:var(--muted);font-size:11px;padding:5px}.day{min-height:96px;text-align:left;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.day.selected{border-color:var(--lime);background:#2a3726}.day strong{display:block;margin-bottom:8px}.day small{font-size:10px}.day .dots{color:var(--lime);font-size:11px}.planner{display:grid;grid-template-columns:1fr 310px;gap:20px;align-items:start}.meal{border-top:1px solid var(--line);padding:15px 0}.meal .row{flex-wrap:nowrap}.meal button{padding:5px 9px}.meal a{cursor:pointer;color:var(--lime)}.meal input[type=number]{width:65px}.hint{font-size:12px;color:var(--muted)}.warn{color:#efbd87}.swipe-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:24px}.swipe{touch-action:pan-y;user-select:none;background:radial-gradient(circle at 50% 32%,#485d38,#202b22 65%);min-height:340px;border-radius:22px;border:1px solid #4d5f40;text-align:center;padding:35px;box-shadow:0 12px 0 -5px #253023,0 22px 0 -10px #1b241c;transition:transform .1s}.illustration{font-size:100px;display:block;margin:10px 0 20px}.swipe h2{font-size:30px;margin:0}.actions{display:flex;justify-content:center;gap:10px;margin:30px 0 16px}progress{width:100%;accent-color:var(--lime)}.ingredient{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;gap:10px}.ingredient select{font-size:12px;width:125px}.form{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.recipe-art{height:130px;display:grid;place-items:center;background:radial-gradient(ellipse,#4c5e35,#263329 70%);border-radius:12px;font-size:64px;margin-bottom:16px}.recipe-card{display:flex;flex-direction:column}.recipe-card p{font-size:13px}.recipe-card .row{margin-top:auto}.nutrition{max-width:850px}.slider{margin:25px 0}.slider label{display:flex;justify-content:space-between}.shopping-row{padding:12px;border-bottom:1px solid var(--line);display:flex;gap:14px}.shopping-row:has(input:checked){opacity:.5;text-decoration:line-through}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:18px;max-width:600px;width:90%;max-height:90vh}dialog::backdrop{background:#000a}footer{margin-top:45px;padding:20px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--lime);color:#182414;padding:12px 20px;border-radius:10px;display:none;z-index:10}a{color:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px}@media(min-width:1500px){.day{min-height:115px}}@media(max-width:1150px){aside{width:210px;padding:25px 15px}main{margin-left:210px;padding:22px}.planner{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--line)}aside p,.local{display:none}nav{display:flex;overflow:auto;margin-top:14px;gap:3px}nav button{white-space:nowrap;font-size:12px;padding:8px}main{margin:0;padding:18px}header{font-size:8px;gap:8px}h1{font-size:30px}.hero{padding:20px}.hero-art{font-size:55px;padding:0}.hero h2{font-size:22px}.stats{grid-template-columns:repeat(2,1fr)}.swipe-layout,.grid{grid-template-columns:1fr}.day{min-height:76px;padding:6px}.day small{font-size:8px}.calendar{gap:3px}.badge{font-size:9px}.title button{padding:8px}.calendar .day .dots{font-size:9px}}

@media(max-width:700px){.hero-art{padding:0;font-size:45px}.hero{gap:10px}.hero h2{font-size:23px}.local{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;font-size:10px}.local small{display:none}.local button,.import{margin:0;padding:5px 8px;font-size:10px}.local .import{display:block}}
[hidden]{display:none!important}.profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.profile label,.profile input,.profile select{display:block;width:100%}.recipe-art canvas{width:100%;height:100%;object-fit:cover}.panel svg{width:100%;max-height:260px}button[aria-pressed=true]{background:#405037;color:var(--lime)}
.pantry{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:14px 0}.pantry .ingredient{display:grid;align-content:start;background:#222e27;padding:16px;border:1px solid var(--line);border-radius:12px;min-width:0;overflow-wrap:anywhere}.pantry select{width:100%}.swipe-layout>*{min-width:0}#matches label{display:flex;flex-wrap:wrap;justify-content:flex-start}#matches input{width:85px}.recipe-art{position:relative;overflow:hidden}.recipe-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.weekboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:14px}.weekboard .panel{display:flex;flex-direction:column}.weekboard h2{margin:0}.weekboard button{margin-top:auto}.logrow{display:grid;gap:6px;margin:10px 0}.logrow button{justify-self:start}fieldset{border:1px solid var(--line);border-radius:12px;margin:15px 0;display:flex;flex-wrap:wrap;gap:8px}fieldset input{width:95px}
:root[data-skin=coast]{--bg:#101d27;--panel:#1b2c39;--line:#384f60;--muted:#b1c3cf;--lime:#8fdbeb;--text:#edf5fa}
:root[data-skin=berry]{--bg:#221722;--panel:#30212e;--line:#553950;--muted:#cbb5c6;--lime:#f0accb;--text:#fff1f7}
:root[data-mode=light]{color-scheme:light;--bg:#f4f6ef;--panel:#fff;--line:#c5d0bf;--muted:#465744;--lime:#42651e;--text:#182617}
:root[data-mode=light][data-skin=coast]{--bg:#f1f6f8;--panel:#fffefa;--line:#bfd0d8;--muted:#415968;--lime:#126878;--text:#182d37}
:root[data-mode=light][data-skin=berry]{--bg:#fcf4f7;--panel:#fffafd;--line:#dfc7d3;--muted:#674858;--lime:#87335b;--text:#35202d}
:root[data-mode=light] :is(button,.import,input,select,.pantry .ingredient,.day,.local,.swipe,.hero,.recipe-art),:root:not([data-skin=original]) :is(button,.import,input,select,.pantry .ingredient,.day,.swipe,.hero,.recipe-art){background:var(--panel);color:var(--text);border-color:var(--line)}
:root[data-mode=light] .primary,:root:not([data-skin=original]) .primary{background:var(--lime);color:var(--bg)}
:root[data-mode=light] .warn{color:#874015}
:root[data-mode=light] nav button.active,:root:not([data-skin=original]) nav button.active{border-color:var(--lime);color:var(--lime)}
:root[data-skin=coast] .hero,:root[data-skin=berry] .hero{background:linear-gradient(115deg,var(--panel),color-mix(in srgb,var(--lime) 15%,var(--bg)))}
