@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#f3f0ea;--bg-2:#faf8f4;--surface:#fffdf9;--surface-2:#efebe4;--line:#e5dfd5;--gold:#b08a5a;--gold-soft:#7d5f38;--wine:#9e2f34;--wine-bright:#b9443f;--text:#2b2622;--muted:#7b7168;--faint:#a8a097;--oak-light:#dcc6a3;--oak:#c8ad86;--oak-dark:#a88c64;--st-late:#c2533c;--st-peak:#4c8f4f;--st-soon:#c8902c;--st-keep:#5d72a0;--st-none:#9a918a;--radius:18px;--shadow:0 1px 2px #3c2d1e0f, 0 6px 18px #3c2d1e12;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--serif:"Playfair Display", Georgia, serif;--sans:"Inter", -apple-system, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:15px;line-height:1.45}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gold-soft)}img{max-width:100%;display:block}.app{max-width:560px;padding:calc(var(--safe-top) + 14px) 16px calc(var(--safe-bottom) + 110px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.topbar h1{font-family:var(--serif);color:#3a302a;margin:0;font-size:34px;font-weight:600;line-height:1.1}.topbar .sub{color:var(--muted);margin-top:3px;font-size:13px}.icon-btn{background:var(--surface);border:1px solid var(--line);cursor:pointer;width:42px;height:42px;color:var(--muted);box-shadow:var(--shadow);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.back{color:var(--gold-soft);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:15px}h2{font-family:var(--serif);margin:26px 0 10px;font-size:22px;font-weight:600}h3{text-transform:uppercase;letter-spacing:1.2px;color:var(--gold);margin:22px 0 8px;font-size:12.5px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.stack{gap:10px;display:grid}.tabbar{z-index:20;padding:8px 12px calc(var(--safe-bottom) + 6px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);background:#fffdf9eb;position:fixed;bottom:0;left:0;right:0}.tabbar nav{grid-template-columns:repeat(4,1fr);max-width:560px;margin:0 auto;display:grid}.tab{color:var(--muted);justify-items:center;gap:3px;padding:4px 0;font-size:12px;text-decoration:none;display:grid}.tab.active{color:var(--gold)}.tab svg{width:26px;height:26px}.fab{z-index:21;right:max(16px,50% - 264px);bottom:calc(var(--safe-bottom) + 78px);color:#fff;background:linear-gradient(150deg, var(--wine-bright), var(--wine));border-radius:50%;place-items:center;width:58px;height:58px;text-decoration:none;display:grid;position:fixed;box-shadow:0 8px 22px #9e2f3461,inset 0 1px #ffffff40}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--text);border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-weight:500;text-decoration:none;display:inline-flex;box-shadow:0 1px 2px #3c2d1e0f}.btn.primary{background:linear-gradient(150deg, var(--wine-bright), var(--wine));color:#fff;border-color:#0000}.btn.gold{background:linear-gradient(150deg, #c9a472, var(--gold));color:#fff;border-color:#0000;font-weight:600}.btn.ghost{box-shadow:none;background:0 0}.btn.block{width:100%}.btn:disabled{opacity:.5}.chip{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.chip.on{background:var(--gold);color:#fff;border-color:var(--gold);font-weight:600}.pill{white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.icon-star{color:var(--gold)}.pills{scrollbar-width:none;gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.pill-btn{border:1px solid var(--line);color:#4a423c;cursor:pointer;background:#e9e5de;border-radius:999px;flex-shrink:0;padding:8px 15px;font-size:14px}.pill-btn.on{background:var(--surface);border-color:var(--gold);color:var(--gold-soft);box-shadow:var(--shadow);font-weight:600}label.field{color:var(--muted);gap:5px;font-size:13px;display:grid}.input,select.input,textarea.input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--text);border-radius:12px;padding:11px 12px;font-size:16px}.input.search{border:1.5px solid #cfb58d;border-radius:14px;padding-top:12px;padding-bottom:12px}textarea.input{resize:vertical;min-height:90px}.input:focus{border-color:var(--gold);outline:2px solid #b08a5a59}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg{background:#e9e5de;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:9px 4px;font-size:13px}.seg button.on{background:var(--surface);color:var(--gold-soft);font-weight:600;box-shadow:0 1px 3px #3c2d1e1f}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:10px 12px}.stat b{color:var(--text);font-size:22px;font-weight:600;line-height:1.2;display:block}.stat span{color:var(--muted);font-size:12.5px}.stat.glow{text-align:center;background:linear-gradient(#fffffff2,#f4f0e9e6);align-content:center;justify-items:center;gap:1px;padding:12px 6px 14px;display:grid;position:relative;box-shadow:0 1px 2px #3c2d1e0f,0 14px 22px -14px #d6a050bf,inset 0 1px #fff}.stat.glow:after{content:"";background:radial-gradient(#e2aa5ae6,#0000 70%);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:30%;right:30%}.stat.glow svg{color:var(--gold-soft);width:24px;height:24px;margin-bottom:2px}.stat.glow span{color:#4a423c;font-size:13px}.stat.glow b.money{font-size:16px}.fridge{background:linear-gradient(#232323,#111);border-radius:10px;margin-top:14px;padding:10px 10px 0 26px;position:relative;box-shadow:0 18px 30px -10px #281e1473,inset 0 1px #ffffff14}.fridge:before{content:"";background:linear-gradient(#fbf9f5,#e2dcd2);border:1px solid #d8d0c3;border-bottom:0;border-radius:4px 4px 0 0;height:14px;position:absolute;top:-14px;left:-4px;right:-4px}.fridge-door{position:relative}.fridge-handle{background:linear-gradient(90deg,#555,#cfcfcf 45%,#6d6d6d);border-radius:4px;width:6px;position:absolute;top:18%;bottom:30%;left:-18px;box-shadow:1px 0 2px #0009}.fridge-glass{background:radial-gradient(at 50% 0,#ffd6a033,#0000 55%),linear-gradient(#2c2724,#1c1917 60%,#151312);border-radius:4px;padding:16px 10px 8px 22px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f,inset 0 0 30px #0009}.fridge-led{background:#fff3dd;border-radius:2px;height:3px;position:absolute;top:5px;left:24%;right:24%;box-shadow:0 0 10px 3px #ffe2aa8c}.fridge-glare{pointer-events:none;background:linear-gradient(112deg,#ffffff12 0 22%,#0000 22% 48%,#ffffff09 48% 56%,#0000 56%);position:absolute;inset:0}.fridge-grille{background:repeating-linear-gradient(90deg,#0c0c0c 0 3px,#262626 3px 5px);border-top:2px solid #0a0a0a;border-radius:0 0 10px 10px;height:26px;margin:8px -10px 0 -26px;-webkit-mask:linear-gradient(90deg,#0000 6%,#000 6% 47%,#0000 47% 53%,#000 53% 94%,#0000 94%);mask:linear-gradient(90deg,#0000 6%,#000 6% 47%,#0000 47% 53%,#000 53% 94%,#0000 94%)}.shelf{padding:6px 0 14px;position:relative}.shelf-label{color:#ffebcd73;font-size:10.5px;font-weight:600;position:absolute;top:50%;left:-16px;transform:translateY(-60%)}.shelf-bottles{z-index:1;grid-template-columns:repeat(5,1fr);gap:8px;display:grid;position:relative}.shelf-wood{background:repeating-linear-gradient(90deg, transparent 0 13px, #5a3c1e59 13px 15px), linear-gradient(180deg, #ecd6b0, var(--oak) 55%, #9c7f57);border-radius:2px;height:11px;position:absolute;bottom:2px;left:-12px;right:-10px;box-shadow:0 4px 6px #0000008c}.bottle-end{aspect-ratio:1;cursor:pointer;background:radial-gradient(circle at 42% 38%, #ffffff8c 0 4%, transparent 9%), radial-gradient(circle, var(--cap,#a8323a) 0 27%, #0d0b0a 28% 31%, var(--glass,#1c1614) 32% 64%, #0b0908 66% 71%, #2a2420 72% 76%, transparent 77%);filter:drop-shadow(0 3px 3px #00000073);border:0;border-radius:50%;width:100%;padding:0;position:relative}.bottle-end .st{border:2px solid #fff;border-radius:50%;width:26%;max-width:12px;height:26%;max-height:12px;position:absolute;bottom:6%;right:6%;box-shadow:0 1px 2px #0006}.bottle-end .star{color:#e5bd6e;text-shadow:0 1px 2px #000000b3;font-size:13px;position:absolute;top:-6px;right:-4px}.bottle-end.empty{filter:none;background:radial-gradient(circle,#0000 0 60%,#ffffff12 61% 76%,#0000 77%)}.bottle-end.pick{outline-offset:2px;outline:2.5px solid #e5bd6e}.rack-unit{filter:drop-shadow(0 16px 18px #3c2d1e40);margin-top:14px;position:relative}.rack-top{background:linear-gradient(#fbf9f5,#e2dcd2);border:1px solid #d8d0c3;border-bottom:0;border-radius:4px 4px 0 0;height:14px;margin:0 -4px}.rack{background:linear-gradient(90deg,#d6bf9b,#cbb28c 50%,#d3bb96);grid-template-columns:repeat(4,1fr);gap:7px;padding:7px;display:grid}.cell{aspect-ratio:1;background:linear-gradient(#4a3b2d,#2d241c 60%,#251d17);border-radius:2px;place-items:center;padding:13%;display:grid;position:relative;box-shadow:inset 0 6px 8px #00000073,inset 0 -1px #ffffff14}.cell:after{content:"";background:linear-gradient(#0000,#c8aa822e);height:18%;position:absolute;bottom:0;left:0;right:0}.cell .num{color:#ffe6c873;font-size:10px;position:absolute;top:3px;left:6px}.cell .bottle-end{z-index:1}.rack-plinth{background:linear-gradient(#d9c7a8,#c7b18e);border-radius:0 0 3px 3px;height:26px;margin:0 5%}.bottle-row{background:var(--surface);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow);border-radius:18px;grid-template-columns:70px 1fr;align-items:center;gap:14px;padding:12px;text-decoration:none;display:grid;position:relative}.bottle-row+.bottle-row{margin-top:10px}.thumb{object-fit:cover;background:#efece6;border-radius:12px;place-items:center;width:70px;height:84px;display:grid;overflow:hidden}.bottle-row .title{font-size:17px;font-weight:600;line-height:1.2}.bottle-row .meta{color:var(--muted);margin-top:2px;font-size:13.5px}.bottle-row .pill{margin-top:6px}.window{height:40px;margin:8px 0 22px;position:relative}.window .track{background:var(--surface-2);border-radius:6px;height:12px;position:absolute;top:14px;left:0;right:0}.window .drink{background:#c8902c73;border-radius:6px;height:12px;position:absolute;top:14px}.window .peak{background:linear-gradient(90deg,#6aa86a,#8dbd76);border-radius:6px;height:12px;position:absolute;top:14px}.window .now{background:var(--text);border-radius:1px;width:2px;height:32px;position:absolute;top:4px}.window .now:after{content:"hoy";color:var(--text);font-size:10.5px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.window .tick{color:var(--muted);font-size:10.5px;position:absolute;top:30px;transform:translate(-50%)}.hero{grid-template-columns:110px 1fr;align-items:start;gap:16px;display:grid}.hero .photo{object-fit:cover;border:1px solid var(--line);background:#efece6;border-radius:14px;width:110px;height:150px}.hero h1{font-family:var(--serif);margin:0 0 4px;font-size:30px;line-height:1.08}.kv{grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.scanner{aspect-ratio:4/3;background:#000;border-radius:16px;position:relative;overflow:hidden}.scanner video{object-fit:cover;width:100%;height:100%}.scanner .frame{border:2px solid #e5bd6e;border-radius:12px;position:absolute;inset:30% 12%;box-shadow:0 0 0 999px #00000059}.toast{left:50%;bottom:calc(var(--safe-bottom) + 150px);color:#fff;z-index:50;background:#2b2622;border-radius:12px;max-width:90vw;padding:10px 16px;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #0003}.banner{color:#6e5330;background:#f6ecd9;border:1px solid #e6d2ad;border-radius:12px;margin-bottom:14px;padding:10px 12px;font-size:13px}.spinner{border:2px solid #0000001f;border-top-color:var(--gold);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--muted);padding:40px 10px}input[type=range]{width:100%;accent-color:var(--gold)}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:14px 2px 0;font-size:12px;display:flex}
