:root{--bg:#fff8f2;--paper:#ffffff;--card:#ffffff;--border:#efe3dc;--ink:#2b2a2a;--muted:#6b7280;--radius:16px;--radius-lg:22px;--brand:#ff6b6b;--brand-dark:#e95858;--brand-2:#ffa94d;--brand-3:#ffe08a;--chip:#fff2e6}html,body{height:100%}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(60rem 40rem at -15% -20%,rgba(255,170,77,.15) 0,transparent 60%),radial-gradient(60rem 40rem at 115% -15%,rgba(255,107,107,.12) 0,transparent 60%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}.container{max-width:1080px;margin:28px auto;padding:0 16px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.hero{display:flex;gap:16px;align-items:center;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 12px 28px #ff6b6b14,0 2px 10px #0000000d}.lead{color:var(--muted);margin:6px 0 0}.topbar{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(180deg,#ffffffdb,#ffffffb3);border-bottom:1px solid var(--border)}.navwrap{max-width:1080px;margin:0 auto;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.4px}.brand-badge{background:var(--brand-3);border:1px solid #ffe8ab;border-radius:999px;padding:6px 10px}.card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 12px 28px #ff6b6b14,0 2px 10px #0000000d}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid transparent;text-decoration:none;color:#fff;background:#2f3640;transition:transform .06s,filter .15s,box-shadow .2s}.btn:active{transform:translateY(1px)}.btn-primary{background:linear-gradient(180deg,var(--brand),var(--brand-dark));border-color:var(--brand-dark);box-shadow:0 10px 24px #ff6b6b40}.btn-primary:hover{filter:brightness(1.05)}.btn-ghost{background:#fff;color:#374151;border:1px solid var(--border)}.btn-danger{background:#e03131;border-color:#bf2b2b;color:#fff;box-shadow:0 10px 24px #e0313138}.form{display:grid;gap:14px}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.label{font-weight:800;color:#3b3b3b;margin-bottom:6px;display:block}.hint{color:var(--muted)}.input,.select,.textarea{width:100%;padding:12px 14px;border-radius:12px;background:#fff;color:var(--ink);border:1px solid var(--border);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder,.textarea::placeholder{color:#9aa3b2}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ff6b6b33;background:#fffdfb}.select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9aa3b2 50%),linear-gradient(135deg,#9aa3b2 50%,transparent 50%),linear-gradient(to right,transparent,transparent);background-position:calc(100% - 22px) calc(1em + 2px),calc(100% - 16px) calc(1em + 2px),0 0;background-size:6px 6px,6px 6px,0 0;background-repeat:no-repeat}.chip{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--chip);border:1px solid #ffd9bf;color:#8a4b0f;font-weight:700}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef3ff;border:1px solid #d7e2ff;color:#3949ab;font-weight:700}.meal-card{display:block;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:0 10px 26px #ff6b6b14;transition:transform .12s ease,box-shadow .2s ease,border-color .2s ease;cursor:pointer}.meal-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 18px 50px #ffaa4d2e;border-color:#ffd9bf}.meal-title{margin:10px 0 6px;font-weight:800;line-height:1.2;font-size:1.05rem}.meal-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.thumb{width:100%;height:160px;object-fit:cover;border-radius:12px;border:1px solid var(--border)}.auth-wrap{min-height:calc(100vh - 56px);display:grid;place-items:center;background:radial-gradient(60rem 40rem at -15% -20%,rgba(255,170,77,.2) 0,transparent 60%),radial-gradient(60rem 40rem at 115% -15%,rgba(255,107,107,.16) 0,transparent 60%),var(--bg)}.auth-card{width:min(780px,92vw);padding:26px 22px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffffbf,#fff9),var(--paper);border:1px solid rgba(0,0,0,.06);box-shadow:0 22px 60px #0000001a,0 8px 26px #ffaa4d1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-title{margin:0 0 8px;font-weight:900;letter-spacing:.3px}.auth-tabs{display:flex;gap:8px;flex-wrap:wrap}.auth-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.sk-block{background:#f1eee9;border-radius:12px;position:relative;overflow:hidden}.sk-animate:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:sk 1.2s infinite}@keyframes sk{to{transform:translate(100%)}}.sk-thumb{height:160px}.sk-title{height:16px;width:70%;margin:10px 0 6px}.sk-chip{height:24px;width:100px;border-radius:999px;display:inline-block}.link-back{background:#e03131;border:1px solid #bf2b2b;color:#fff;padding:8px 12px;border-radius:10px;text-decoration:none}.flag{width:18px;height:12px;object-fit:cover;border-radius:2px;border:1px solid #e5e7eb;vertical-align:middle;box-shadow:0 1px 2px #0000000f}
