/* nevera.css — La Nevera (fuerza psicológica de la zanahoria + salida por control) */

/* Barra de salida (igual que el resto de efectos) */
.exit-bar { position:fixed; top:10px; right:10px; display:flex; gap:8px; z-index:60; }
.exit-btn { font-size:12px; font-weight:600; padding:6px 11px; border-radius:9px; border:1px solid var(--line); background:rgba(255,255,255,.92); color:var(--muted); cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.08); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.exit-btn:active { transform:translateY(1px); }
.exit-btn.danger { color:var(--danger); border-color:#f3c9d2; }
#logout-btn { display:none; }

/* ===================== JUEGO ===================== */
.nv-screen { min-height:100svh; min-height:100vh; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse at 50% 15%, #2c3440 0%, #1a212c 50%, #0d1118 100%); color:#cfd6e4; overflow:hidden; }
.nv-screen .exit-btn { background:rgba(34,42,56,.85); color:#9aa6bb; border-color:#3a4658; }
.nv-inner { position:relative; width:100%; max-width:480px; min-height:100svh; min-height:100vh; padding:24px 18px 40px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; text-align:center; }
.nv-title { font-family:Georgia, "Times New Roman", serif; font-size:19px; font-weight:700; letter-spacing:6px; margin:0; color:#c8d2e4; text-transform:uppercase; text-shadow:0 0 18px rgba(150,180,255,.25); }
.nv-conn { margin:0; min-height:18px; font-size:13px; color:#8a94a8; font-style:italic; }
.nv-conn.is-error { color:#d66; }
.nv-caption { margin:0; font-family:Georgia, serif; font-size:13px; letter-spacing:2px; color:#7d8698; font-style:italic; }

/* La nevera retro */
.nv-scene { perspective:1100px; }
.nv-fridge { position:relative; width:min(250px, 68vw); aspect-ratio:5/8; }

/* Interior */
.nv-box { position:absolute; inset:0; border-radius:18px; background:linear-gradient(180deg,#e9edf2 0%, #cdd6de 100%); box-shadow:inset 0 0 30px rgba(0,0,0,.35), 0 18px 50px rgba(0,0,0,.55); overflow:hidden; }
.nv-light { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 28%, rgba(255,246,200,.95) 0%, rgba(255,246,200,.25) 45%, transparent 75%); opacity:0; transition:opacity .5s ease .25s; }
.nv-shelf { position:absolute; left:6%; right:6%; height:5px; border-radius:3px; background:linear-gradient(180deg,#aab6c2,#7e8a96); box-shadow:0 2px 5px rgba(0,0,0,.25); }
.nv-shelf.s1 { top:56%; }
.nv-shelf.s2 { top:82%; }

/* La verdura sobre el estante */
.nv-item { position:absolute; left:50%; top:56%; transform:translate(-50%,-100%) scale(.7); display:flex; flex-direction:column; align-items:center; gap:2px; opacity:0; transition:opacity .5s ease .45s, transform .6s cubic-bezier(.2,.9,.3,1.25) .45s; }
.nv-veg { width:104px; height:104px; }
.nv-veg svg { width:100%; height:100%; display:block; filter:drop-shadow(0 6px 10px rgba(0,0,0,.3)); }
.nv-name { font-family:Georgia, serif; font-size:15px; font-weight:700; letter-spacing:2px; color:#3a4456; text-transform:uppercase; padding-bottom:6px; }

/* Puerta (gira con bisagra izquierda) */
.nv-door { position:absolute; inset:0; border-radius:18px; background:linear-gradient(160deg,#f4f7fa 0%, #d7dfe7 55%, #b9c4cf 100%); box-shadow:inset 0 2px 0 rgba(255,255,255,.8), inset 0 -3px 8px rgba(0,0,0,.15), 6px 10px 26px rgba(0,0,0,.35); transform-origin:left center; transition:transform 1.1s cubic-bezier(.4,0,.2,1); transform:rotateY(0deg); display:flex; align-items:center; justify-content:center; }
.nv-fridge.open .nv-door { transform:rotateY(-112deg); }
.nv-fridge.open .nv-light { opacity:1; }
.nv-fridge.open .nv-item { opacity:1; transform:translate(-50%,-100%) scale(1); }

.nv-handle { position:absolute; right:10px; top:22%; width:9px; height:33%; border-radius:6px; background:linear-gradient(90deg,#9aa6b2,#5f6b77); box-shadow:2px 3px 6px rgba(0,0,0,.3); }
.nv-brand { position:absolute; bottom:12px; left:0; right:0; text-align:center; font-size:10px; letter-spacing:3px; color:#8a96a4; font-weight:700; }

/* Nota pegada en la puerta */
.nv-note { width:56%; padding:12px 8px; background:#fff9c2; color:#6a5c1e; font-family:Georgia, serif; font-size:13.5px; font-style:italic; line-height:1.45; box-shadow:0 4px 10px rgba(0,0,0,.22); transform:rotate(-4deg); }
.nv-note::before { content:""; position:absolute; left:50%; top:-7px; width:44px; height:14px; margin-left:-22px; background:rgba(200,205,215,.75); transform:rotate(2deg); }

/* ===================== CONTROL ===================== */
.nvc-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; width:100%; }
.nvc-veg { display:flex; flex-direction:column; align-items:center; gap:2px; padding:8px 2px 6px; border-radius:12px; border:2px solid var(--line); background:#fff; cursor:pointer; transition:border-color .15s, box-shadow .15s; }
.nvc-veg svg { width:40px; height:40px; }
.nvc-veg span { font-size:9.5px; font-weight:700; color:#5a6270; }
.nvc-veg:active { transform:translateY(1px); }
.nvc-veg.sel { border-color:var(--brand1); box-shadow:0 0 0 3px rgba(108,92,231,.18); }
.nvc-veg.sel span { color:var(--brand1); }

.nvc-open { width:100%; padding:14px; border-radius:13px; border:none; cursor:pointer; color:#fff; font-weight:800; font-size:15px; letter-spacing:1px; background:linear-gradient(135deg,#22c58b,#0f9d63); }
.nvc-open:active { transform:translateY(1px); }
.nvc-close { width:100%; padding:12px; border-radius:13px; border:none; cursor:pointer; color:#e6e9f2; font-weight:800; letter-spacing:.5px; background:#3a4150; }
.nvc-close:active { transform:translateY(1px); }
