:root{--bg-1:#fbfbf6;--bg-2:#f0f3e6;--card-bg:#fff;--card-bg-hover:#f6f8ef;--card-border:rgba(20,30,10,.09);--text-primary:#17201a;--text-secondary:rgba(23,32,26,.62);--text-muted:rgba(23,32,26,.4);--accent:#7fa06a;--accent-strong:#547a42;--accent-soft:hsla(97,22%,52%,.16);--accent-border:rgba(84,122,66,.35);--warm:#b0522f;--warm-soft:rgba(196,91,58,.1);--warm-border:rgba(196,91,58,.3);--danger:#dc2626;--danger-soft:rgba(220,38,38,.08)}*{margin:0;padding:0;box-sizing:border-box}body,html{overflow-x:hidden}body{font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;min-height:100vh;background:linear-gradient(160deg,var(--bg-1) 0,var(--bg-2) 100%);background-attachment:fixed;color:var(--text-primary);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft);color:var(--text-primary)}.app-header{justify-content:space-between;padding:18px 28px;border-bottom:1px solid var(--card-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:10;background:hsla(0,0%,100%,.78)}.app-brand,.app-header{display:flex;align-items:center}.app-brand{gap:9px}.app-brand-mark{display:inline-flex;color:var(--accent-strong)}.app-brand-mark svg{width:22px;height:22px;display:block}.app-brand-name{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--accent-strong)}.app-nav{display:flex;align-items:center;gap:14px;font-size:.85rem}.app-nav-user{color:var(--text-secondary)}.app-main{padding:32px 28px 64px;max-width:880px;margin:0 auto}.recipe-card{padding:32px}.ingredient-row{display:grid;grid-template-columns:70px 70px 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}@media (max-width:600px){.app-header{padding:14px 16px}.app-main{padding:20px 14px 40px}.recipe-card{padding:20px 16px}.ingredient-row{grid-template-columns:1fr 1fr auto;row-gap:6px}.ingredient-row input:nth-child(3){grid-column:1/-1}.ingredient-row input:nth-child(4){grid-column:1/span 2}}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 1px 3px rgba(20,30,10,.05);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}li.card:hover{transform:translateY(-2px);border-color:var(--accent-border);background:var(--card-bg-hover);box-shadow:0 14px 28px -16px rgba(84,122,66,.35)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;border:1px solid transparent;font-size:.85rem;font-weight:600;cursor:pointer;padding:9px 18px;transition:background .15s,border-color .15s,color .15s,transform .12s,box-shadow .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-strong);color:#fff;box-shadow:0 6px 16px -8px rgba(84,122,66,.55)}.btn-primary:hover:not(:disabled){background:#436135;transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(84,122,66,.65)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:rgba(20,30,10,.045);border-color:var(--card-border);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);border-color:rgba(20,30,10,.2);background:rgba(20,30,10,.08)}.link-accent{color:var(--accent-strong);font-weight:600;transition:color .15s}.link-accent:hover{color:#3f5c33}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-secondary)}.field input,.field textarea{background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:9px 12px;font-size:.9rem;color:var(--text-primary);font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.form-error{color:var(--danger);background:var(--danger-soft);border:1px solid rgba(220,38,38,.2);border-radius:8px;padding:8px 12px;font-size:.85rem}.tag{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:3px 11px;border-radius:20px;background:var(--warm-soft);border:1px solid var(--warm-border);color:var(--warm)}.meta-row{display:flex;gap:16px;flex-wrap:wrap;font-size:.78rem;color:var(--text-secondary)}.search-bar{display:flex;gap:8px}.search-bar input[type=search]{flex:1 1;background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:9px 14px;font-size:.9rem;color:var(--text-primary);font-family:inherit;transition:border-color .15s,background .15s,box-shadow .15s}.search-bar input[type=search]::placeholder{color:var(--text-muted)}.search-bar input[type=search]:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.meta-row span{display:inline-flex;align-items:center;gap:5px}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Plus_Jakarta_Sans_646807;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Plus_Jakarta_Sans_Fallback_646807;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:__Plus_Jakarta_Sans_646807,__Plus_Jakarta_Sans_Fallback_646807;font-style:normal}.__variable_646807{--font-sans:"__Plus_Jakarta_Sans_646807","__Plus_Jakarta_Sans_Fallback_646807"}