:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201f1d;--color-accent:#b68235;--color-accent-2:#ac803e;--color-divider:#201f1d29;--color-bordeaux:#7c2d3a;--color-bordeaux-fill:#7c2d3a;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff3e4;--color-accent-200:#ffe3bf;--color-accent-300:#facb8d;--color-accent-400:#e1ad66;--color-accent-500:#c28d41;--color-accent-600:#a06f24;--color-accent-700:#7d5411;--color-accent-800:#5a3b0a;--color-accent-900:#3a270d;--font-heading:"Cormorant Garamond", system-ui, sans-serif;--font-heading-weight:600;--font-body:"Lora", system-ui, sans-serif;--space-1:4.6px;--space-2:9.2px;--space-3:13.8px;--space-4:18.4px;--space-6:27.6px;--space-8:36.8px;--radius-sm:2px;--radius-md:4px;--radius-lg:7px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38}[data-theme=dark]{--color-bg:#2d2b2b;--color-surface:#3d3a39;--color-text:#f4ede4;--color-divider:#f4ede429;--color-bordeaux:#8f3745;--color-bordeaux-fill:#b2555f;--shadow-lg:0 8px 24px #00000080}[data-theme=dark] .tag-accent{background:color-mix(in srgb, var(--color-accent) 22%, transparent);color:var(--color-accent)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{scroll-behavior:smooth}.full-screen{min-height:100dvh}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-size:15px;font-weight:400;line-height:1.55;transition:background-color .15s,color .15s}a,button,[role=button],.card{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:32px}h2{font-size:25px}h3{font-size:20px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}@keyframes weinsammlung-spin{to{transform:rotate(360deg)}}.plate{filter:sepia(.22)saturate(.82)contrast(1.05);box-sizing:border-box;border:4px solid var(--color-surface);outline:1px solid var(--color-divider);background:var(--color-surface);overflow:hidden}.plate img{object-fit:cover;width:100%;height:100%}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .12s ease-out;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:not(:disabled):active{transform:scale(.97)}.btn-primary{color:var(--color-accent);border-color:var(--color-accent)}.btn-primary:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.btn-primary:active{background:color-mix(in srgb, var(--color-accent) 22%, transparent)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 13%, transparent)}.btn-danger{color:var(--color-bordeaux);border-color:var(--color-bordeaux)}.btn-danger:hover{background:color-mix(in srgb, var(--color-bordeaux) 12%, transparent)}.btn-danger:active{background:color-mix(in srgb, var(--color-bordeaux) 22%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{border-radius:50%;width:44px;height:44px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px;display:flex}.input{width:100%;min-height:40px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);border:1px solid var(--color-divider);border-radius:var(--radius-md);background:0 0;padding:8px 10px;font-size:16px;transition:border-color .15s}.input::placeholder{color:color-mix(in srgb, var(--color-text) 40%, transparent)}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;min-height:90px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-divider);background:0 0;flex-direction:column;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-lg{box-shadow:var(--shadow-lg)}button.card,a.card{cursor:pointer}@media (hover:hover){button.card:hover,a.card:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--color-text) 22%, transparent)}}button.card:active,a.card:active{transform:scale(.99)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;transition:background-color .15s,border-color .15s;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent);background:0 0}.tag-outline.is-active{background:color-mix(in srgb, var(--color-accent) 22%, transparent);border-width:2px;font-weight:600}.tag-warn{border:1px solid var(--color-bordeaux);color:var(--color-bordeaux);background:color-mix(in srgb, var(--color-bordeaux) 12%, transparent)}.chat-tab-row{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-divider);gap:4px;padding:3px;display:flex}.chat-tab{text-align:center;white-space:normal;cursor:pointer;line-height:1.2;font:inherit;border-radius:calc(var(--radius-md) * .7);color:var(--color-text);opacity:.7;background:0 0;border:none;flex:1;padding:7px 4px;font-size:12.5px;font-weight:500;transition:background-color .15s,color .15s,opacity .15s}.chat-tab.is-active{background:var(--color-bordeaux);color:#fff;opacity:1;font-weight:600}@keyframes weinsammlung-backdrop-in{0%{opacity:0}}@keyframes weinsammlung-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}.dialog-backdrop{z-index:100;padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;animation:.15s weinsammlung-backdrop-in;display:grid;position:fixed;inset:0}.dialog{width:min(440px,100%);max-height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--space-4) * 2);max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--space-4) * 2);gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);border:1px solid var(--color-divider);flex-direction:column;animation:.18s cubic-bezier(.2,.8,.3,1) weinsammlung-dialog-in;display:flex;overflow-y:auto}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.app-screen{background:var(--color-bg);min-height:100%;color:var(--color-text);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.app-header{padding:20px 20px 8px}.app-header .kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:5px;font-size:10px}.app-header h1{margin:0 0 4px;font-size:32px}.app-header .subtitle{opacity:.6;font-size:13px}.search-row{padding:10px 20px 12px}.search-box{border:1px solid var(--color-divider);border-radius:var(--radius-md);align-items:center;gap:8px;padding:9px 12px;transition:border-color .15s;display:flex}.search-box:focus-within{border-color:var(--color-accent)}.search-box input{min-width:0;color:var(--color-text);text-overflow:ellipsis;background:0 0;border:none;flex:1;font-size:14px}.search-box input::placeholder{opacity:.55}.filter-row-wrap{position:relative}.filter-row-wrap:after{content:"";background:linear-gradient(to right, transparent, var(--color-bg) 75%);pointer-events:none;width:28px;position:absolute;top:0;bottom:20px;right:0}.filter-row{scrollbar-width:none;gap:8px;padding:0 20px 20px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.filter-row .tag-outline{white-space:nowrap;cursor:pointer;font:inherit;background:0 0}.filter-row .tag-outline.is-active{background:var(--color-bordeaux);border-color:var(--color-bordeaux);color:#fff}.filter-row .clear-all-btn{white-space:nowrap;cursor:pointer;font:inherit;border:1.5px solid var(--color-bordeaux);color:var(--color-bordeaux);border-radius:calc(var(--radius-md) * .75);background:0 0;padding:3px 10px;font-weight:600}.wine-grid{grid-template-columns:1fr 1fr;gap:14px;padding:0 20px 100px;display:grid}@media (width>=700px){.wine-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.wine-grid{grid-template-columns:repeat(4,1fr)}}.wine-list{flex-direction:column;gap:8px;padding:0 20px 100px;display:flex}.wine-card{border-radius:var(--radius-md);cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;padding:0;overflow:hidden}@media (hover:hover){.wine-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-text) 25%, transparent);transform:translateY(-2px)}}.wine-card:active{transform:translateY(0)scale(.99)}.wine-card .plate{border-width:4px;height:148px;margin:0}.wine-card-body{padding:10px 12px 12px}.fab{bottom:calc(28px + env(safe-area-inset-bottom));cursor:pointer;background:var(--color-bordeaux);width:56px;height:56px;box-shadow:var(--shadow-lg);z-index:20;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;right:20px}@media (hover:hover){.fab:hover{transform:scale(1.05)}}.fab:active{transform:scale(.95)}.top-bar{top:env(safe-area-inset-top);z-index:5;background:color-mix(in srgb, var(--color-bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky}.icon-btn{background:color-mix(in srgb, var(--color-bg) 60%, white 40%);border:1px solid var(--color-divider);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .1s,border-color .15s;display:flex}.icon-btn:active{transform:scale(.92)}[data-theme=dark] .icon-btn{background:var(--color-surface)}.star-rating{gap:5px;display:flex}.star-rating button{cursor:pointer;background:0 0;border:none;padding:0;line-height:0;transition:transform .1s}.star-rating button:active{transform:scale(.85)}.form-page{max-width:560px;margin:0 auto;padding:20px 20px 48px}.detail-page{max-width:560px;margin:0 auto}.detail-hero-photo{height:380px;margin:0 20px;position:relative}.detail-hero-info{padding:20px 20px 0}@media (width>=900px){.detail-page{max-width:900px}.detail-hero{align-items:flex-start;gap:32px;padding:0 20px;display:flex}.detail-hero-photo{flex:0 0 360px;height:420px;margin:0}.detail-hero-info{flex:1;min-width:0;padding:4px 0 0}}html[data-text-scale=gross]{zoom:1.18}html[data-text-scale=sehr-gross]{zoom:1.38}html[data-text-scale=gross] .top-bar>div,html[data-text-scale=sehr-gross] .top-bar>div{flex-wrap:wrap;justify-content:flex-end;row-gap:8px}html[data-text-scale=gross] .view-controls-row,html[data-text-scale=sehr-gross] .view-controls-row{flex-wrap:wrap;row-gap:8px}html[data-text-scale=gross] .view-controls-row>div,html[data-text-scale=sehr-gross] .view-controls-row>div{flex-shrink:0}html[data-text-scale=gross] .form-page h1,html[data-text-scale=sehr-gross] .form-page h1,html[data-text-scale=gross] .settings-account-email,html[data-text-scale=sehr-gross] .settings-account-email{overflow-wrap:break-word;word-break:break-word}@media (height<=520px){html[data-text-scale=gross] .chat-bubble-btn,html[data-text-scale=sehr-gross] .chat-bubble-btn{bottom:calc(6px + env(safe-area-inset-bottom))!important;width:40px!important;height:40px!important}}
