@import "https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&family=Hanken+Grotesk:wght@400;500;600;700&display=swap";.typography{margin:0}.typography-display{letter-spacing:-.02em;font-size:48px;font-weight:600}.typography-h1{font-size:32px;font-weight:500}.typography-h2{font-size:24px;font-weight:500}.typography-h3{font-size:20px;font-weight:500}.typography-body{font-size:16px;font-weight:400;line-height:1.5}.typography-body-lg{font-size:18px;font-weight:400;line-height:1.5}.typography-label{letter-spacing:.05em;text-transform:uppercase;font-size:14px;font-weight:600;font-family:var(--font-body)}@media (width<=768px){.typography-display{font-size:36px}}.btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;min-height:48px;font-size:16px;font-weight:600;transition:all .2s ease-in-out;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);background-color:#4a081b;transform:translateY(-1px)}.btn-ghost{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.btn-ghost:hover:not(:disabled){background-color:#630d260d}.btn:disabled{opacity:.5;cursor:not-allowed}.screen-container{max-width:var(--spacing-container-max,1280px);padding:var(--spacing-xl) var(--spacing-lg);flex-direction:column;min-height:100vh;margin:0 auto;display:flex}.center-content{justify-content:center;align-items:center}.text-center{text-align:center}.text-muted{color:#1a1a1a99}.brand-title{color:var(--color-primary);margin-bottom:var(--spacing-xs)}.brand-subtitle{color:var(--color-tertiary);margin-bottom:var(--spacing-xxl);font-style:italic}.onboarding-card{background:var(--color-white);padding:var(--spacing-xxl);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:480px}.onboarding-form{gap:var(--spacing-xl);flex-direction:column;display:flex}.input-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.text-input{font-family:var(--font-body);padding:var(--spacing-md);border:1px solid #0000001a;border-bottom:2px solid var(--color-primary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background-color:var(--color-neutral);outline:none;font-size:16px;transition:all .2s}.text-input:focus{background-color:var(--color-secondary)}.matchup-header{margin-bottom:var(--spacing-xl)}.matchup-title{margin:var(--spacing-md) 0 var(--spacing-xs) 0}.matchup-canvas{flex-grow:1;align-items:center;display:flex}.cards-grid{gap:var(--spacing-xl);grid-template-columns:1fr;width:100%;display:grid}.matchup-footer{margin-top:var(--spacing-xl);padding-bottom:var(--spacing-xl);justify-content:center;display:flex}.confirm-btn{width:100%;max-width:320px}.results-header{margin-bottom:var(--spacing-xxl)}.category-winners{gap:var(--spacing-xl);margin-bottom:var(--spacing-xxl);grid-template-columns:1fr;display:grid}.winner-card{background:var(--color-white);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;display:flex;position:relative}.winner-category-tag{background-color:var(--color-secondary);color:var(--color-primary);border-radius:var(--radius-full);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;padding:4px 16px;font-size:14px;font-weight:600;position:absolute;top:-12px}.winner-placeholder-img{background-color:var(--color-neutral);border-radius:var(--radius-sm);width:80px;height:200px;margin:var(--spacing-lg) 0}.winner-img{object-fit:contain;max-width:120px;height:200px;margin:var(--spacing-lg) 0}.winner-title{margin-bottom:var(--spacing-md);color:var(--color-tertiary)}.vote-stats{flex-direction:column;align-items:center;display:flex}.vote-count{color:var(--color-primary);line-height:1}.popularity-contest{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}.popularity-card{background:var(--color-neutral);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;border:1px solid #0000000d}.popularity-card.most-popular{border:2px solid #d4af37;animation:2s infinite pulse-gold}@keyframes pulse-gold{0%{box-shadow:0 0 #d4af3766}70%{box-shadow:0 0 0 10px #d4af3700}to{box-shadow:0 0 #d4af3700}}.popularity-card.least-popular{border:2px solid #8b4513}.pop-label{color:var(--color-primary);margin-bottom:var(--spacing-sm);display:block}@media (width>=768px){.cards-grid{grid-template-columns:1fr 1fr}.category-winners{grid-template-columns:repeat(3,1fr)}.popularity-contest{grid-template-columns:1fr 1fr}}.bottle-card{background-color:var(--color-white);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000000d;flex-direction:column;transition:all .3s;display:flex;position:relative;overflow:hidden}.bottle-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.bottle-card.selected{border:2px solid var(--color-primary);box-shadow:var(--shadow-md)}.bottle-image-container{background-color:var(--color-neutral);justify-content:center;align-items:center;width:100%;height:240px;display:flex;overflow:hidden}.bottle-image{object-fit:contain;max-width:100%;max-height:100%}.bottle-placeholder-img{background-color:var(--color-secondary);border-radius:var(--radius-sm);opacity:.5;width:60px;height:180px}.bottle-content{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;flex-grow:1;display:flex}.bottle-title{color:var(--color-tertiary);margin-bottom:var(--spacing-xs)}.bottle-metadata-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.metadata-item{flex-direction:column;gap:2px;display:flex}.metadata-item .typography-label{color:#1a1a1a99}.selection-indicator{top:var(--spacing-md);right:var(--spacing-md);justify-content:center;align-items:center;width:24px;height:24px;animation:.3s cubic-bezier(.175,.885,.32,1.275) popIn;display:flex;position:absolute}@keyframes popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (width>=768px){.bottle-card{flex-direction:row;height:320px}.bottle-image-container{width:200px;height:100%}}.progress-container{width:100%;padding:var(--spacing-md) 0}.progress-bar-bg{border-radius:var(--radius-full);width:100%;height:4px;margin-bottom:var(--spacing-sm);background-color:#630d261a;overflow:hidden}.progress-bar-fill{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.progress-label{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);text-align:center;font-size:14px;font-weight:600}:root{--color-primary:#630d26;--color-secondary:#fadadd;--color-tertiary:#1a1a1a;--color-neutral:#f9f7f5;--color-white:#fff;--color-error:#ba1a1a;--font-headline:"EB Garamond", serif;--font-body:"Hanken Grotesk", sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px #630d260d;--shadow-md:0 4px 12px #630d261a;--shadow-hover:0 8px 24px #630d2626}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-neutral);color:var(--color-tertiary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);font-weight:500;line-height:1.2}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none}#root{flex-direction:column;min-height:100vh;display:flex}
