:root{--bg:#0b0812;--card:rgba(255,255,255,.055);--card-border:rgba(255,255,255,.09);--ink:#f5eee9;--muted:#a99d94;--g1:#ff9a3d;--g2:#ff2e63;--g3:#7b2ff7;--grad:linear-gradient(135deg,var(--g1),var(--g2));--radius:20px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{font-family:Outfit,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;overflow-x:hidden}body.modal-open{overflow:hidden}#root{padding-bottom:110px}.blob{position:fixed;border-radius:50%;filter:blur(90px);opacity:.35;z-index:0;pointer-events:none;animation:float 14s ease-in-out infinite alternate}.blob.b1{width:340px;height:340px;background:var(--g2);top:-120px;right:-100px}.blob.b2{width:300px;height:300px;background:var(--g3);top:40%;left:-140px;animation-delay:-5s}.blob.b3{width:260px;height:260px;background:var(--g1);bottom:-100px;right:-60px;animation-delay:-9s}@keyframes float{0%{transform:translateY(0) scale(1)}to{transform:translateY(40px) scale(1.12)}}.wrap{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:0 18px}header{padding:34px 0 8px}.greet{font-size:.85rem;color:var(--muted);font-weight:600;letter-spacing:.4px}h1{font-size:2.1rem;font-weight:900;line-height:1.1;margin-top:4px;background:linear-gradient(135deg,#ffd9a0,var(--g1) 35%,var(--g2) 75%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.sub{font-size:.85rem;color:var(--muted);margin-top:6px}.days{display:flex;gap:9px;overflow-x:auto;padding:20px 2px 6px;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.day-btn{flex:0 0 auto;min-width:62px;padding:12px 8px;border-radius:16px;cursor:pointer;background:var(--card);border:1px solid var(--card-border);color:var(--muted);font-family:inherit;font-weight:700;font-size:.82rem;text-align:center;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.day-btn small{display:block;font-weight:500;font-size:.62rem;margin-top:3px;opacity:.85}.day-btn.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 6px 24px #ff2e6359;transform:translateY(-2px)}.day-btn.today-ring{border-color:var(--g1)}.sec{display:flex;justify-content:space-between;align-items:center;margin:18px 2px 14px}.sec h2{font-size:1.05rem;font-weight:800}.day-cost{font-size:.75rem;font-weight:700;padding:6px 13px;border-radius:999px;background:#ff9a3d1f;color:var(--g1);border:1px solid rgba(255,154,61,.25)}.meal-card{position:relative;display:flex;gap:14px;align-items:center;cursor:pointer;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:16px;margin-bottom:13px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;animation:rise .4s ease backwards}.meal-card:nth-child(2){animation-delay:.07s}.meal-card:nth-child(3){animation-delay:.14s}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.meal-card:hover,.meal-card:active{transform:translateY(-3px);border-color:#ff9a3d66;box-shadow:0 10px 34px #ff2e632e}.meal-emoji{font-size:2rem;width:62px;height:62px;flex-shrink:0;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff9a3d2e,#ff2e632e);border:1px solid rgba(255,154,61,.22)}.meal-info{flex:1;min-width:0}.meal-label{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.meal-name{font-weight:800;font-size:1.02rem;margin:3px 0 2px}.meal-sub{font-size:.74rem;color:var(--muted)}.meal-price{font-weight:800;font-size:.88rem;white-space:nowrap;color:#ffd9a0}.meal-price small{display:block;font-size:.6rem;color:var(--muted);font-weight:600;text-align:right}.fab{position:fixed;bottom:26px;right:calc(50% - 298px);z-index:30;width:62px;height:62px;border-radius:50%;border:none;cursor:pointer;background:var(--grad);color:#fff;font-size:1.6rem;box-shadow:0 10px 30px #ff2e6373;transition:transform .2s ease;font-family:inherit}@media (max-width:680px){.fab{right:22px}}.fab:active{transform:scale(.9) rotate(20deg)}.fab-hint{position:fixed;bottom:38px;right:calc(50% - 224px);z-index:30;font-size:.68rem;color:var(--muted);background:#0b0812cc;padding:6px 12px;border-radius:999px;border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width:680px){.fab-hint{right:96px}}footer{text-align:center;color:var(--muted);font-size:.72rem;margin:34px 0 8px;position:relative;z-index:1}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#05030ab3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal{background:#141019;border:1px solid var(--card-border);border-bottom:none;width:100%;max-width:640px;max-height:90vh;overflow-y:auto;border-radius:26px 26px 0 0;padding:14px 20px 26px;animation:up .3s cubic-bezier(.2,.9,.3,1)}@keyframes up{0%{transform:translateY(60px);opacity:.3}to{transform:translateY(0);opacity:1}}.grab{width:44px;height:5px;background:#ffffff2e;border-radius:99px;margin:0 auto 18px}.m-hero{text-align:center;margin-bottom:14px}.m-hero .big{font-size:3.4rem;display:inline-block;filter:drop-shadow(0 0 24px rgba(255,154,61,.55));animation:bounce 2.4s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.m-hero h2{font-size:1.45rem;font-weight:900;margin-top:6px}.m-vibe{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:6px;line-height:1.5}.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:16px 0 20px}.chip{font-size:.72rem;font-weight:700;padding:7px 14px;border-radius:999px;background:var(--card);border:1px solid var(--card-border)}.chip.hot{background:#ff9a3d24;border-color:#ff9a3d4d;color:#ffd9a0}.m-h{font-weight:800;font-size:.95rem;margin:20px 0 12px;display:flex;align-items:center;gap:8px}.ing-row{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--card-border);border-radius:14px;padding:11px 15px;margin-bottom:8px;font-size:.85rem}.ing-row .i-name{font-weight:600}.ing-row .i-qty{color:var(--muted);font-size:.7rem;margin-top:1px}.ing-row .i-price{font-weight:700;color:#ffd9a0;font-size:.8rem}.total-row{display:flex;justify-content:space-between;align-items:center;background:var(--grad);border-radius:14px;padding:13px 16px;margin-top:10px;font-weight:800;font-size:.9rem;color:#fff;box-shadow:0 8px 26px #ff2e634d}.steps{position:relative;margin-left:6px}.step{position:relative;display:flex;gap:14px;padding-bottom:18px;font-size:.85rem;line-height:1.55;color:#ded4cc}.step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;font-weight:800;font-size:.76rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #ff2e6359;z-index:1}.step:not(:last-child):after{content:"";position:absolute;left:13.5px;top:28px;bottom:0;width:1.5px;background:linear-gradient(#ff9a3d80,#ff2e631a)}.close-btn{width:100%;margin-top:16px;padding:15px;border:none;border-radius:16px;cursor:pointer;background:var(--grad);color:#fff;font-weight:800;font-size:.95rem;font-family:inherit;box-shadow:0 8px 26px #ff2e6359;transition:transform .15s}.close-btn:active{transform:scale(.97)}
