:root{--bg:#f6f1e9;--surface:#fffdf9;--surface-2:#f3ede2;--border:#241d1517;--border-strong:#241d1521;--ink:#241d15;--ink-2:#5d5346;--muted:#8b8072;--accent:#b25438;--on-accent:#fbf6ee;--accent-soft:#b254381f;--chip-active-bg:#241d15;--chip-active-ink:#f6f1e9;--track:#241d151a;--scrim:#1c150e59;--sheet:#fbf7f0;--shadow-accent:0 8px 24px #b2543859;--shadow-sheet:0 -12px 40px #1c150e2e;--cat-red:#8e3b47;--cat-white:#d3b156;--cat-rose:#e09a8c;--cat-sparkling:#b8a66e;--cat-porto:#5c3a4d;--cat-dessert:#c08a3e;--cat-other:#8b8072;--beer-1:#e6c04a;--beer-2:#d59a26;--beer-3:#b0651e;--beer-4:#6d4122;--beer-5:#2f2219;--beer-unknown:#8b8072;--font-sans:"Instrument Sans", system-ui, sans-serif;--font-serif:"Instrument Serif", serif}[data-theme=dark]{--bg:#191410;--surface:#241e18;--surface-2:#2e2720;--border:#f1e9dd1a;--border-strong:#f1e9dd29;--ink:#f1e9dd;--ink-2:#c4b7a6;--muted:#9c8f7f;--accent:#d0805f;--on-accent:#1d1610;--accent-soft:#d0805f29;--chip-active-bg:#f1e9dd;--chip-active-ink:#191410;--track:#f1e9dd1f;--scrim:#00000080;--sheet:#211b15;--shadow-accent:0 8px 24px #0006;--shadow-sheet:0 -12px 40px #00000073;--cat-red:#c96f7c;--cat-porto:#8f6480;--beer-4:#8f5730;--beer-5:#55402f;--beer-unknown:#9c8f7f}*{box-sizing:border-box}:root{--page-top:0px}html.impersonating{--page-top:34px}#root{padding-top:var(--page-top)}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{-webkit-user-select:text;user-select:text}#root{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex}button{font-family:var(--font-sans);color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,select,textarea{font-family:var(--font-sans);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-weight:400}.serif{font-family:var(--font-serif)}.pill-btn{background:var(--accent);height:54px;color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;font-size:16px;font-weight:600;display:flex}.pill-btn:disabled{opacity:.5}.pill-btn.secondary{background:var(--surface);color:var(--ink-2);border:1px solid var(--border-strong)}.icon-btn{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--muted);border-radius:999px;flex:none;justify-content:center;align-items:center;display:flex}.chip{background:var(--surface);border:1px solid var(--border);height:34px;color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;display:inline-flex}.chip.active{background:var(--chip-active-bg);color:var(--chip-active-ink);border-color:#0000;font-weight:600}.chip .dot,.dot{border-radius:99px;flex:none;width:8px;height:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px}.field{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;outline:none;width:100%;height:50px;padding:0 16px;font-size:15px}.field:focus{border-color:var(--accent)}input.field[type=date]{appearance:none;min-width:0}input.field[type=date]::-webkit-date-and-time-value{text-align:left}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.bottom-sheet-body{max-height:88dvh}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2.5px solid var(--track);border-top-color:var(--accent);border-radius:999px;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes drawBottle{0%{stroke-dashoffset:620px;opacity:.9}55%{stroke-dashoffset:0;opacity:1}80%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-620px;opacity:.4}}@keyframes bubbleRise{0%{opacity:0;transform:translateY(0)}15%{opacity:.8}to{opacity:0;transform:translateY(-46px)}}.gen-bottle-path{stroke-dasharray:620;animation:2.8s ease-in-out infinite drawBottle}@keyframes sommSwirl{to{transform:rotate(360deg)}}@keyframes sommBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes sommRing{0%{opacity:.45;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}.somm-swirl{animation:7s linear infinite sommSwirl}.somm-breathe{animation:3.4s ease-in-out infinite sommBreathe}.somm-ring{border:2px solid var(--accent);pointer-events:none;border-radius:999px;animation:1.4s ease-out infinite sommRing;position:absolute;inset:0}.somm-spin-slow{animation:2.4s linear infinite spin}@keyframes sommDots{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.somm-dot{background:var(--ink-2);border-radius:999px;width:5px;height:5px;animation:1.25s ease-in-out infinite sommDots}.somm-dot:nth-child(2){animation-delay:.16s}.somm-dot:nth-child(3){animation-delay:.32s}@keyframes sommBubble{0%{opacity:0;transform:translateY(0)}20%{opacity:.55}to{opacity:0;transform:translateY(-16px)}}.somm-bubble{animation:1.6s ease-in infinite sommBubble}.somm-bubble:nth-child(2){animation-delay:.5s}.somm-bubble:nth-child(3){animation-delay:1s}@keyframes sommCardIn{0%{opacity:0;transform:translate(var(--card-dx,0px), 110px) rotate(var(--card-rot,0deg))}to{opacity:1;transform:translate(0)rotate(0)}}.somm-card-enter{animation:.6s cubic-bezier(.34,1.56,.64,1) backwards sommCardIn}@keyframes sommDrop{0%{opacity:0;transform:translate(0)scale(1)}12%{opacity:.95}to{transform:translate(var(--dx), var(--dy)) scale(.5);opacity:0}}.somm-drop{animation:.85s cubic-bezier(.2,.5,.6,1) both sommDrop}@keyframes remyWobble{0%,86%,to{transform:rotate(0)}89%{transform:rotate(-9deg)}92%{transform:rotate(8deg)}95%{transform:rotate(-5deg)}98%{transform:rotate(2deg)}}.remy-entry{animation:5s ease-in-out infinite remyWobble}@keyframes askShimmer{0%{background-position:0 0,0 0}to{background-position:0 0,200% 0}}.ask-remy-shimmer{background:linear-gradient(color-mix(in srgb, var(--surface) 85%, transparent), color-mix(in srgb, var(--surface) 85%, transparent)) padding-box, linear-gradient(110deg, var(--border-strong) 40%, var(--accent) 50%, var(--border-strong) 60%) border-box;background-size:100% 100%,200% 100%;border:1px solid #0000;animation:7.5s linear 2 both askShimmer}.remy-ring-shimmer{background:linear-gradient(var(--bg), var(--bg)) padding-box, linear-gradient(110deg, var(--border-strong) 40%, var(--accent) 50%, var(--border-strong) 60%) border-box;background-size:100% 100%,200% 100%;border:1px solid #0000;border-radius:999px;padding:2px;animation:7.5s linear 2 both askShimmer,5s ease-in-out infinite remyWobble;position:relative}.ask-remy-shimmer.shimmer-done{border-color:var(--border);background:linear-gradient(color-mix(in srgb, var(--surface) 85%, transparent), color-mix(in srgb, var(--surface) 85%, transparent)) padding-box, linear-gradient(var(--border), var(--border)) border-box;animation:none}.remy-ring-shimmer.shimmer-done{border-color:var(--border);background:linear-gradient(var(--bg), var(--bg)) padding-box, linear-gradient(var(--border), var(--border)) border-box;animation:none}@keyframes remyShake{0%,to{transform:rotate(0)}20%{transform:rotate(-12deg)}45%{transform:rotate(9deg)}70%{transform:rotate(-6deg)}88%{transform:rotate(3deg)}}.remy-ring-shimmer:hover svg{animation:.55s ease-in-out remyShake}.remy-ring-shimmer:after{content:"Converse with Rémy";background:var(--chip-active-bg);color:var(--chip-active-ink);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-accent);z-index:30;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.remy-ring-shimmer:hover:after{opacity:1;transform:translateY(0)}.gen-bubble{animation:2.2s ease-in infinite bubbleRise}.gen-bubble:nth-child(2){animation-delay:.6s}.gen-bubble:nth-child(3){animation-delay:1.3s}@media (width>=900px){#root{max-width:1180px}.dt-narrow{width:100%;max-width:620px;margin-left:auto;margin-right:auto}.dt-mid,.dt-controls{width:100%;max-width:860px;margin-left:auto;margin-right:auto}.wine-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cellar-grid{grid-template-columns:1fr 1fr;align-items:start;column-gap:16px;display:grid!important}.cellar-grid>*{grid-column:1/-1}.cellar-grid>.cellar-card{grid-column:auto}}@keyframes dialogIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}[data-wine-card]:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px;border-radius:18px}.chip:focus-visible,[data-cat-chips] button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width>=900px){[data-cat-chips]{margin:-4px auto;padding:4px}}[data-mode-tabs] button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:999px}@keyframes laserSweep{0%{top:8px}50%{top:calc(100% - 11px)}to{top:8px}}
