@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--gold:#d6aa35;--gold-light:#f4d873;--burgundy:#8e0028;--burgundy-light:#b80036;--surface:#11100f;--surface-raised:#191715;--border:#4c402b;--teal:var(--gold);--teal-dark:var(--gold-light);--teal-soft:#2a1017;--gray:#c8bda9;--gray-dark:#f8f0e2;--gray-soft:#28231e;color:var(--gray-dark);font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 100% 0,#520018 0,#0000 34rem),radial-gradient(circle at 0 100%,#261800 0,#0000 30rem),#000;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2{color:var(--gray-dark);margin:0 0 1rem;font-family:Playfair Display,Georgia,serif}h1{font-size:clamp(2rem,7vw,3.5rem);line-height:1.05}h2{font-size:1.35rem}.center-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.auth-page{isolation:isolate;background:url(/login-cover.jpg) 50%/cover no-repeat fixed;position:relative}.auth-page:before{content:"";z-index:-1;background:linear-gradient(135deg,#000000c7,#3c001294),#00000047;position:absolute;inset:0}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f0e0de0;border:1px solid #80632c;border-radius:28px;width:min(100%,430px);padding:2rem;position:relative;box-shadow:0 20px 60px #000c}.logo{color:var(--gold-light);align-items:center;gap:.65rem;margin-bottom:1.75rem;font-size:1.15rem;display:inline-flex}.logo img{object-fit:cover;border:1px solid #5d4a26;border-radius:12px;width:42px;height:42px;box-shadow:0 4px 16px #000}.eyebrow{letter-spacing:.14em;color:var(--teal);margin:0 0 .6rem;font-size:.72rem;font-weight:700}.stack{gap:1rem;display:grid}label{color:var(--gray);gap:.4rem;font-size:.88rem;font-weight:600;display:grid}input,textarea,select{border:1px solid var(--border);width:100%;color:var(--gray-dark);background:#090909;border-radius:12px;outline:none;padding:.85rem .9rem}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #008c9518}.primary,.secondary{border:0;border-radius:14px;padding:.9rem 1rem;font-weight:700}.primary{background:linear-gradient(135deg, #ad7d17, var(--gold-light));color:#160d00;box-shadow:0 9px 24px #9d6c183f}.primary:disabled{opacity:.6}.secondary{background:linear-gradient(135deg, #65001d, var(--burgundy-light));color:#fff4e3}.text-button{color:var(--teal);background:0 0;border:0;width:100%;padding:1rem 0 0}.google-button{border:1px solid var(--border);width:100%;color:var(--gray-dark);background:#171513;border-radius:14px;justify-content:center;align-items:center;gap:.7rem;padding:.85rem 1rem;font-weight:700;display:flex}.google-button span{color:#fff;background:conic-gradient(from -45deg, #4285f4 0 25%, #34a853 0 50%, #fbbc05 0 75%, #ea4335 0);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.78rem;display:grid}.auth-divider{color:var(--gray);align-items:center;gap:.75rem;margin:1rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#d9dddd;flex:1;height:1px}.demo-badge{background:var(--teal-soft);color:var(--teal-dark);text-align:center;letter-spacing:.04em;border-radius:10px;margin:-.25rem 0 1rem;padding:.65rem .8rem;font-size:.72rem;font-weight:700}.demo-ribbon{z-index:20;background:var(--gray-dark);color:#fff;text-align:center;letter-spacing:.03em;padding:.38rem 1rem;font-size:.7rem;position:sticky;top:0}.notice,.error{border-radius:10px;padding:.75rem;font-size:.86rem}.notice{color:#f4d873;background:#30230c}.error{color:#ffb6c8;background:#3a0817}.muted{color:var(--gray)}.app-shell{min-height:100vh;padding-bottom:6.5rem}header{justify-content:space-between;align-items:center;height:76px;padding:1rem max(1.2rem,50vw - 440px);display:flex}header .logo{margin:0}.avatar{border:1px solid var(--gold);color:#fff;background:var(--burgundy);border-radius:50%;width:40px;height:40px;font-weight:700;box-shadow:0 4px 14px #000}.content{width:min(100% - 2rem,880px);margin:1rem auto}.home-hero{isolation:isolate;border-radius:26px;min-height:270px;position:relative;overflow:hidden;box-shadow:0 18px 44px #26373735}.home-hero img{object-fit:cover;object-position:42% center;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.home-hero-shade{z-index:-1;background:linear-gradient(90deg,#081213d1 0%,#0812134d 58%,#0812131a 100%);position:absolute;inset:0}.home-hero-copy{color:#fff;flex-direction:column;justify-content:end;min-height:270px;padding:1.5rem;display:flex}.home-hero-copy .eyebrow{color:#75d5da}.home-hero-copy h1{color:#fff;margin-bottom:.35rem}.home-hero-copy span{color:#f1f6f6}.stats{grid-template-columns:1fr 1fr;gap:.85rem;margin:1.5rem 0;display:grid}.stats article{background:var(--surface);border:1px solid var(--border);border-radius:18px;gap:.4rem;padding:1rem;display:grid}.stats span{color:var(--gray);font-size:.78rem}.stats strong{color:var(--teal);font:700 2.1rem Playfair Display,serif}.scan-card{text-align:left;color:#fff;background:linear-gradient(135deg, #5f001b, var(--burgundy-light));border:1px solid #b48727;border-radius:20px;align-items:center;gap:1rem;width:100%;padding:1rem;display:flex;box-shadow:0 14px 35px #6f001f55}.scan-card div{flex:1;gap:.25rem;display:grid}.scan-card small{opacity:.76}.camera{background:#ffffff1c;border-radius:14px;place-items:center;width:46px;height:46px;font-size:1.4rem;display:grid}.section-title{align-items:center;gap:.65rem;margin-top:2.2rem;display:flex}.section-title h2{margin:0}.section-title span{background:var(--teal-soft);color:var(--teal-dark);border-radius:99px;padding:.2rem .5rem;font-size:.75rem}.tasting-list{gap:.65rem;margin-top:.8rem;display:grid}.tasting-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;align-items:center;gap:.8rem;padding:.8rem;display:flex}.kind-icon{color:#fff;border-radius:10px;place-items:center;width:44px;height:52px;font-weight:800;display:grid}.kind-icon.wine{background:var(--burgundy)}.kind-icon.beer{background:var(--gold);color:#160d00}.tasting-thumbnail{object-fit:cover;object-position:center;background:#080706;border:1px solid #80632c;border-radius:11px;flex:0 0 52px;width:52px;height:52px}.tasting-card div:nth-child(2){flex:1;display:grid}.tasting-card small{color:var(--gray);margin-top:.2rem}.rating{color:var(--teal-dark);font-weight:700}.empty{text-align:center;background:#0b0a09;border:1px dashed #80662f;border-radius:16px;margin-top:1rem;padding:2rem}.empty button{color:var(--gold-light);background:0 0;border:0;font-weight:700}.bottom-nav{z-index:10;left:50%;bottom:max(.8rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);background:#0d0c0bee;border-radius:22px;grid-template-columns:repeat(4,1fr);width:min(100% - 1.4rem,520px);padding:.45rem;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 12px 36px #000}.bottom-nav button{color:var(--gray);background:0 0;border:0;place-items:center;gap:.15rem;font-size:.7rem;display:grid}.bottom-nav button span{font-size:1.35rem}.bottom-nav .active{color:var(--gold-light);font-weight:700}.bottom-nav .add-button span{background:linear-gradient(135deg, var(--burgundy), var(--gold));color:#fff;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:1rem}.segmented{background:#080808;border-radius:14px;grid-template-columns:1fr 1fr;padding:.25rem;display:grid}.segmented button{color:var(--gray);background:0 0;border:0;border-radius:11px;padding:.7rem}.segmented .selected{color:var(--gold-light);background:#38101b;font-weight:700;box-shadow:0 3px 8px #000}.two-columns{grid-template-columns:2fr 1fr;gap:.7rem;display:grid}.photo-input input{opacity:0;pointer-events:none;position:absolute}.photo-input span{color:var(--gold-light);text-align:center;background:#17120a;border:1px dashed #9b7729;border-radius:12px;place-items:center;height:100%;padding:1rem;display:grid}.photo-input small{color:var(--gray);font-weight:400}.range{accent-color:var(--gold);padding:0}.group-list{gap:.7rem;margin-top:1rem;display:grid}.group-list article{background:var(--surface);border:1px solid var(--border);border-radius:16px;grid-template-columns:42px 1fr;align-items:center;padding:.8rem;display:grid}.group-list article span{color:var(--gold);grid-row:span 2;font-size:1.5rem}.group-list small{color:var(--gray)}.feed-heading{justify-content:space-between;align-items:end;gap:1rem;margin:2rem 0 1rem;display:flex}.feed-heading h2{margin:0}.compact-button{background:linear-gradient(135deg, #ad7d17, var(--gold-light));color:#160d00;white-space:nowrap;border:0;border-radius:12px;padding:.65rem .85rem;font-weight:700}.community-list{gap:.85rem;display:grid}.community-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 8px 24px #000}.review-head{align-items:center;gap:.8rem;display:flex}.review-head>div:nth-child(2){flex:1;display:grid}.review-head small{color:var(--gray);margin-top:.15rem}.review-notes{color:#ddd1be;margin:.9rem 0;line-height:1.55}.community-card footer{border-top:1px solid var(--gray-soft);color:var(--gray);justify-content:space-between;gap:.7rem;padding-top:.75rem;font-size:.78rem;display:flex}.community-card footer span{color:var(--gold-light);font-weight:700}.clickable-card{cursor:pointer;transition:transform .18s,border-color .18s,background .18s}.clickable-card:hover,.clickable-card:focus-visible{border-color:var(--gold);background:#18140f;outline:none;transform:translateY(-2px)}.back-button{color:var(--gold-light);background:0 0;border:0;margin-bottom:1rem;padding:.4rem 0;font-weight:700}.review-detail{gap:1.25rem;display:grid}.detail-heading{grid-template-columns:minmax(110px,190px) 1fr;align-items:center;gap:1.25rem;display:grid}.detail-heading .tasting-thumbnail{aspect-ratio:1;border-radius:20px;width:100%;height:auto}.detail-heading .kind-icon{aspect-ratio:1;border-radius:20px;width:100%;height:auto;font-size:2rem}.detail-heading h1{margin-bottom:.35rem}.detail-heading p{color:var(--gray);margin:0}.rating-details{grid-template-columns:repeat(2,1fr);gap:.65rem;display:grid}.rating-details>div{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:.3rem;padding:.85rem;display:grid}.rating-details span{color:var(--gray);font-size:.76rem}.rating-details strong{color:var(--gold-light)}.detail-notes{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem}.detail-notes h2{margin-bottom:.5rem}.detail-notes p{color:#ddd1be;white-space:pre-wrap;margin:0;line-height:1.6}.detail-meta{color:var(--gray);flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;display:flex}.bottle-photo{object-fit:contain;border:1px solid var(--border);background:#080706;border-radius:18px;width:min(100%,460px);max-height:620px}.edit-label-preview{object-fit:cover;border:1px solid var(--gold);border-radius:16px;width:112px;height:112px}.demo-group-button{width:100%;margin-top:1rem}.photo-choice{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.photo-choice .photo-input{min-width:0}.field-group{color:var(--gray);gap:.55rem;font-size:.88rem;font-weight:600;display:grid}.field-group>span small{font-weight:400}.selected-file{color:var(--gold-light);overflow-wrap:anywhere}.ratings-section{background:#0b0908;border:1px solid #5d4825;border-radius:18px;gap:.9rem;padding:1rem;display:grid}.ratings-section h2{margin-bottom:.15rem}.ratings-section>div>small{color:var(--gray)}.star-field{background:#12100e;border:1px solid #382f24;border-radius:14px;margin:0;padding:.85rem}.star-field legend{color:var(--gold-light);padding:0 .35rem;font-weight:700}.star-field p{color:var(--gray);margin:0 0 .75rem;font-size:.78rem;line-height:1.45}.star-control{flex-wrap:wrap;align-items:center;gap:.28rem;display:flex}.star-control button{background:0 0;border:0}.star-control .star{color:#625746;padding:.12rem;font-size:1.75rem;line-height:1}.star-control .star.selected{color:var(--gold-light);filter:drop-shadow(0 0 5px #d6aa3555)}.star-control .zero{min-width:2.1rem;height:2.1rem;color:var(--gray);border:1px solid #625746;border-radius:50%}.star-control .zero.selected{border-color:var(--gold);color:var(--gold-light);background:#2e220d}.star-control .clear-rating{color:var(--gray);margin-left:auto;font-size:.72rem;text-decoration:underline}.logout-button{color:#ffb3c5;background:0 0;border:1px solid #b80036;border-radius:14px;padding:.9rem 1rem;font-weight:700}input:disabled{opacity:.72;color:#d2c7b6}.site-footer{text-align:center;color:var(--gray);margin-top:1.5rem;font-size:.72rem;line-height:1.55}.site-footer p{margin:.8rem 0 0}.app-version{color:#8f8575;letter-spacing:.04em;margin-top:.18rem;font-size:.66rem;display:inline-block}.legal-links{color:var(--gray);flex-wrap:wrap;justify-content:center;gap:.55rem 1rem;font-size:.75rem;display:flex}.site-footer a,.legal-card a{color:var(--teal-dark)}.legal-page{min-height:100vh;padding:1.25rem}.legal-card{border:1px solid var(--border);background:#0f0e0df5;border-radius:26px;width:min(100%,820px);margin:1rem auto;padding:clamp(1.25rem,4vw,3rem);box-shadow:0 20px 60px #65001d44}.legal-card .logo{margin:1.25rem 0 2rem}.legal-card h1{font-size:clamp(2rem,6vw,3.2rem)}.legal-card h2{margin:2rem 0 .65rem}.legal-card p,.legal-card li{line-height:1.7}.legal-card ul{padding-left:1.25rem}.legal-updated{color:var(--gray);font-size:.85rem}.back-link{font-weight:700;text-decoration:none;display:inline-block}code{background:#efe4d8;border-radius:6px;padding:.15rem .35rem}@media (width<=520px){.profile-name{grid-template-columns:1fr}.detail-heading{grid-template-columns:92px 1fr;gap:.85rem}.rating-details{grid-template-columns:1fr}}@media (width>=700px){.form-card{padding:1.5rem}.content{margin-top:2rem}.stats article{padding:1.3rem}.home-hero,.home-hero-copy{min-height:360px}.home-hero-copy{padding:2rem}}
