.lunch-app{max-width:1160px;margin:auto}.lunch-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0}.lunch-heading h1{font-size:clamp(34px,5vw,62px);letter-spacing:-2px;margin:12px 0}.lunch-heading h1 span{color:var(--accent)}.lunch-stamp{border:1px solid var(--line);border-radius:50%;height:100px;width:100px;display:grid;place-content:center;transform:rotate(12deg);font-size:20px;font-weight:750;color:var(--accent);text-align:center;flex-shrink:0}.lunch-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:28px}.lunch-tabs button{border:0;border-bottom:2px solid transparent;padding:14px 0;background:none;color:var(--muted);font-weight:650}.lunch-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}.lunch-tabs small{margin-left:6px}.lunch-controls{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:30px}.lunch-controls label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:650}.lunch-controls input,.lunch-controls select{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;font-size:15px;height:46px}.lunch-controls input[type=number]{width:110px}.lunch-controls select{min-width:170px}.lunch-search{flex:1;min-width:220px}.lunch-primary{background:var(--accent);color:white;border:0;border-radius:10px;padding:14px 22px;min-height:46px;margin-left:auto;font-weight:650}.lunch-primary span{margin-left:28px}.lunch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.lunch-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card)}.lunch-art{height:135px;display:grid;place-items:center;background:#c52f2f08;font-size:64px}.lunch-card-body{padding:22px}.lunch-card small{font-size:10px;letter-spacing:1px;color:var(--muted)}.lunch-card h2{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:9px 0}.lunch-card p{font-size:12px}.lunch-card button{display:flex;justify-content:space-between;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:16px 0 0;margin-top:22px;color:var(--ink);font-weight:650;text-align:left}.lunch-empty{text-align:center;padding:60px 20px;border:1px dashed var(--line);border-radius:18px}.lunch-empty>span{font-size:46px;color:var(--accent)}.lunch-empty h2{font-size:24px}.lunch-note{font-size:12px;margin-top:25px}.lunch-shopping{border-top:1px solid var(--line);margin-top:35px;padding-top:22px}.lunch-shopping header{display:flex;align-items:center;justify-content:space-between;gap:16px}.lunch-shopping header span{font-size:13px;color:var(--muted)}.lunch-shopping ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.lunch-shopping label{display:flex;gap:10px;font-size:14px;align-items:baseline}.lunch-shopping input{accent-color:var(--accent)}.lunch-shopping input:checked+span{text-decoration:line-through;opacity:.5}.lunch-dialog{position:fixed;border:1px solid var(--line);border-radius:22px;width:min(760px,calc(100% - 32px));max-height:85vh;padding:36px;background:var(--card);color:var(--ink);overflow:auto}.lunch-dialog::backdrop{background:#10101877;backdrop-filter:blur(6px)}.lunch-close{float:right;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:50%;width:36px;height:36px;font-size:23px}.lunch-recipe-icon{display:block;font-size:55px;margin-bottom:20px}.lunch-dialog h2{font-size:30px;letter-spacing:-1px;margin:10px 0 28px}.lunch-recipe-columns{display:grid;grid-template-columns:1fr 1.4fr;gap:35px}.lunch-recipe-columns ul{list-style:none;padding:0}.lunch-recipe-columns li{font-size:14px;line-height:1.7;margin-bottom:12px}.lunch-recipe-columns ol{padding-left:22px}body:has(.lunch-dialog[open]){overflow:hidden}@media(max-width:800px){.lunch-grid{grid-template-columns:repeat(2,1fr)}.lunch-shopping ul{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.lunch-grid,.lunch-shopping ul,.lunch-recipe-columns{grid-template-columns:1fr}.lunch-stamp{display:none}.lunch-primary{width:100%}.lunch-dialog{padding:24px}.lunch-shopping header{align-items:start;flex-direction:column}}
