:root{--bg:#0a0a0a;--panel:#141414;--panel-2:#1c1c1c;--line:#2a2a2a;--text:#f2f2f2;--muted:#9a9a9a;--accent:#e8734a;--accent-dim:#7a3b26;--ok:#4ea36b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px;padding:8px 12px}button:hover{border-color:var(--accent-dim)}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}button.primary:hover{filter:brightness(1.05)}button.primary.big{border-radius:10px;padding:12px 22px;font-size:16px}button.ghost{background:0 0}button.small{padding:5px 10px;font-size:13px}button.danger{color:#e2a;border-color:#5a2338}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical}a{color:var(--accent)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.brand{align-items:center;gap:10px;display:inline-flex}.wordmark{align-items:baseline;gap:8px;display:inline-flex}.wm-main{letter-spacing:.04em;font-size:16px;font-weight:700}.wm-sub{color:var(--accent);white-space:nowrap;font-size:14px;font-weight:600}.wm-sub:before{content:"| ";color:var(--muted)}.brandlogo{filter:invert();width:auto;height:26px;display:block}.muted{color:var(--muted)}.small{font-size:13px}.ok{color:var(--ok)}.err{color:#e2a;font-size:13px}.warn{color:#d9a441}.row{align-items:center;gap:10px;display:flex}.col{flex-direction:column;gap:10px;display:flex}.spacer{flex:1}.mainnav{border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;gap:4px;padding:8px 14px;display:flex;overflow-x:auto}.mainnav button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:8px 14px;font-weight:600}.mainnav button:hover{color:var(--text)}.mainnav button.active{background:var(--panel-2);color:var(--accent)}.navemoji{margin-right:6px}.content{flex:1;min-height:0}.wrap{width:100%;max-width:900px;margin:0 auto;padding:20px}.wrap h2{margin:0 0 10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.gate{max-width:440px;margin:8vh auto;padding:28px}.gate h1{margin:0 0 6px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tabs button{border-radius:999px;padding:6px 12px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:#1a1a1a}.uploadbtn{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;display:inline-flex;position:relative;overflow:hidden}.uploadbtn.primary{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}.uploadbtn.ghost{background:0 0}.uploadbtn.small{padding:6px 10px;font-size:13px}.uploadbtn input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chips.suggest{margin-top:4px}.chip{background:var(--panel-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip.ok{color:var(--ok);border-color:var(--accent-dim)}.chip.add{cursor:pointer;color:var(--muted);border-style:dashed}.chip.add:hover{color:var(--text);border-color:var(--accent-dim)}.chip.removable{padding-right:4px}.chip .x{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:15px;line-height:1}.chip .x:hover{color:#e2a}.pantry-group{margin-top:10px}.pantry-cat{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:2px;font-size:11px}.segmented{flex-wrap:wrap;gap:6px;display:inline-flex}.segmented button{border-radius:8px}.segmented button.active{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}.cookbar{position:sticky;bottom:0}.cardgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.recipe-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:16px;display:flex}.recipe-card.asbtn{text-align:left;cursor:pointer;width:100%}.recipe-card.asbtn:hover{border-color:var(--accent-dim)}.recipe-card h3{margin:0}.rc-meta{flex-wrap:wrap;gap:6px;display:flex}.rc-why{color:var(--muted);margin:2px 0;font-size:13px;font-style:italic}.rc-toggle{align-self:flex-start}.rc-detail{border-top:1px solid var(--line);padding-top:8px}.rc-detail h4{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:8px 0 4px;font-size:13px}.rc-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.sauce-pill{background:var(--panel-2);border:1px solid var(--accent-dim);border-radius:10px;padding:8px 12px;font-size:13px}.sauce-pill.big{margin:12px 0;padding:12px 14px;font-size:15px}.ing{margin:0;padding:0;list-style:none}.ing li{border-bottom:1px solid var(--line);padding:4px 0}.ing li .tick{width:20px;color:var(--muted);display:inline-block}.ing li.have .tick{color:var(--ok)}.ing li.need .tick{color:var(--accent)}.steps{margin:0;padding-left:20px}.steps li{padding:4px 0}.nutri{flex-wrap:wrap;align-items:baseline;gap:10px;padding:4px 0;display:flex}.nutri .kcal{color:var(--accent);font-weight:700}.nutri .macros{color:var(--muted);font-size:13px}.nutri-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:18px;margin:12px 0;padding:12px 16px;display:flex}.nutri-cell{flex-direction:column;display:flex}.nutri-cell b{font-size:20px;line-height:1.1}.nutri-cell span{color:var(--muted);font-size:12px}.nutri-note{width:100%}.intake .intake-row{gap:22px;margin-top:6px;display:flex}.toggle{border-radius:999px}.toggle.on{background:var(--ok);border-color:var(--ok);color:#0a0a0a;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-weight:600}.rv-head h1{margin:6px 0 4px}.rv-cols{grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;display:grid}.stars{gap:4px}.star{color:var(--line);background:0 0;border:none;padding:0 2px;font-size:26px}.star.on{color:var(--accent)}.photostrip{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.photostrip img{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:84px;height:84px}.logentry{border-bottom:1px solid var(--line);padding:8px 0}@media (width<=820px){.topbar{gap:8px;padding:8px 12px}.brandlogo{height:22px}.wordmark{flex-direction:column;align-items:flex-start;gap:0;line-height:1.12}.wm-main{font-size:15px}.wm-sub{font-size:11px;font-weight:500}.wm-sub:before{content:""}.useremail{display:none}.wrap{padding:16px}.rv-cols{grid-template-columns:1fr}}
