:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--line-height-base:1.4;--color-bg:#fff;--color-surface:#f7f5f3;--color-border:#ddd6d0;--color-text:#1f1a17;--color-text-muted:#6b6259;--color-accent:#7a1f2b;--color-accent-contrast:#fff;--color-danger:#b3261e;--color-star:#b7791f;--color-online:#2f6db5;--map-land:#e8e4e0;--map-border:#fff;--map-level-1:#f0cfd4;--map-level-2:#d98f9a;--map-level-3:#b04a5a;--map-level-4:#7a1f2b;--map-selected:#1f1a17;--color-other-cellar:#1d4e89;--color-other-cellar-contrast:#fff;--color-user-owner:#1d4e89;--color-user-owner-contrast:#fff;--color-user-member:#dbe8f6;--color-user-member-border:#a9c4e4;--color-user-disabled:#e4e4e4;--color-user-disabled-border:#bdbdbd;--color-signin-bg:#3b0a24;--color-signin-text:#fff;--color-signin-button:#f4e3ea;--color-signin-field-border:#8e1b3f;--color-switch-on:#1e7b34;--color-switch-off:#767676;--card-text:#1f1a17;--card-muted:#4f4339;--type-rouge-bg:#f8dada;--type-rose-bg:#fbdbe7;--type-blanc-bg:#fbf4cc;--type-vendanges_tardives-bg:#e8bd45;--due-soon:#b35900;--due-past:#c62828;--due-past-text:#fff;--radius-md:8px;--touch-target-min:44px;--content-max-width:480px}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0;padding:0}body{overflow-x:hidden}button,input,select{font:inherit}button{min-height:var(--touch-target-min)}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{min-height:var(--touch-target-min);font-size:1rem}input[type=date],input[type=month]{appearance:none;width:100%;min-width:0;max-width:100%;height:var(--touch-target-min);align-items:center;line-height:normal;display:flex}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=month]::-webkit-date-and-time-value{text-align:left;margin:0}main{overflow-wrap:anywhere;padding:var(--space-4);max-width:960px;margin:0 auto}.label-scan{margin-bottom:var(--space-4)}.label-scan__message{margin:var(--space-2) 0 0}.suggestions__message{margin:var(--space-2) 0}.suggestions__google{width:100%;height:72px;margin-bottom:var(--space-2);border:0;display:block}.online-rating{margin-bottom:var(--space-4)}.online-score{align-items:center;gap:var(--space-1);color:var(--color-online);display:inline-flex}.online-score .rating-stars{margin-right:0}.online-score .rating-stars__empty,.online-score .rating-stars__filled{stroke:var(--color-online)}.online-score .rating-stars__filled{fill:var(--color-online)}.online-rating__found{margin:var(--space-2) 0}.wine-notes{padding-left:var(--space-4);margin:0}.top-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:52px;color:var(--color-text);display:flex}.top-bar--other-cellar{background:var(--color-other-cellar);border-bottom-color:var(--color-other-cellar);color:var(--color-other-cellar-contrast)}.top-bar a{color:inherit;min-height:var(--touch-target-min);align-items:center;display:inline-flex}.top-bar__settings{min-width:var(--touch-target-min);flex-shrink:0;justify-content:center}.top-bar__cellar-name{overflow-wrap:anywhere;min-width:0;font-weight:600}.tab-bar{z-index:10;padding-bottom:env(safe-area-inset-bottom);background:var(--color-bg);border-top:1px solid var(--color-border);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar__item{min-height:56px;font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.tab-bar__item[aria-current=page]{color:var(--color-accent);font-weight:600}.tab-bar~main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}#root:has(.tab-bar){flex-direction:column;height:100dvh;display:flex}#root:has(.tab-bar) .top-bar{flex-shrink:0;position:static}#root:has(.tab-bar) .tab-bar{flex-shrink:0;order:1;position:static}#root:has(.tab-bar) main{overscroll-behavior:contain;width:100%;max-width:none;min-height:0;padding-inline:max(var(--space-4), calc((100% - 960px) / 2 + var(--space-4)));padding-bottom:var(--space-6);flex:auto;overflow:hidden auto}.sign-in{background:var(--color-signin-bg);min-height:100dvh;color:var(--color-signin-text);justify-content:center;align-items:center;display:flex}.sign-in__panel{width:100%;max-width:400px;padding:var(--space-6) var(--space-5);text-align:center}.sign-in__logo{margin:0 auto var(--space-4);display:block}.sign-in__welcome{margin:0 0 var(--space-6);font-size:var(--font-size-lg);font-weight:400}.sign-in__form{text-align:left;flex-direction:column;display:flex}.sign-in__form label{margin-bottom:var(--space-2);font-weight:600}.sign-in__form input{min-height:48px;padding:0 var(--space-3);border:1px solid var(--color-signin-field-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff;font-size:1rem}.password-input{display:flex;position:relative}.password-input input{flex:1;min-width:0;padding-right:52px}.password-input__toggle{width:48px;height:100%;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.password-input__toggle:focus-visible{outline:3px solid var(--color-signin-button);outline-offset:-3px;border-radius:var(--radius-md)}.sign-in__form input::placeholder{color:var(--color-text-muted)}.sign-in__submit{margin-top:var(--space-6);border-radius:var(--radius-md);background:var(--color-signin-button);min-height:56px;color:var(--color-signin-bg);font-size:var(--font-size-lg);cursor:pointer;border:none;font-weight:700}.sign-in__submit:focus-visible,.sign-in__form input:focus-visible{outline:3px solid var(--color-signin-button);outline-offset:2px}.sign-in__error{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-signin-button);color:var(--color-signin-bg)}.sign-in__form input+label{margin-top:var(--space-4)}.sign-in__rules{margin:0 0 var(--space-4);font-size:var(--font-size-sm)}.sign-in__problems{margin:var(--space-2) 0 0;padding-left:var(--space-5);font-size:var(--font-size-sm);color:var(--color-signin-button)}.sign-in__submit:disabled{opacity:.6;cursor:default}.sign-in__link{margin-top:var(--space-4);min-height:var(--touch-target-min);color:var(--color-signin-text);cursor:pointer;background:0 0;border:none;font-size:1rem;text-decoration:underline}.sign-in__notice{margin-top:var(--space-4)}.rating-stars{vertical-align:middle;margin-right:var(--space-2);gap:2px;display:inline-flex}.rating-stars__star{width:18px;height:18px}.rating-stars__empty{fill:none;stroke:var(--color-star);stroke-width:1.5px}.rating-stars__filled{fill:var(--color-star);stroke:var(--color-star);stroke-width:1.5px}.rating-stars__defs{position:absolute}.wine-card{--card-bg:var(--color-bg);background:var(--card-bg);color:var(--card-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);min-width:0;position:relative}.wine-card h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg);overflow-wrap:anywhere}.wine-card h2 a{min-height:var(--touch-target-min);align-items:center;display:inline-flex}.wine-card__subtitle{color:var(--card-muted);overflow-wrap:anywhere}.wine-card__stock{font-weight:600}.wine-card__rating{flex-wrap:wrap;align-items:center;display:flex}.drink-form{color:var(--color-text);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;display:flex}.drink-form__title{margin:0;font-weight:600}.drink-form select,.drink-form textarea{min-height:var(--touch-target-min);width:100%;font:inherit}.drink-form__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.drink-form__confirm{background:var(--color-accent);color:var(--color-accent-contrast);border-radius:var(--radius-md);padding:0 var(--space-4);border:none}.wine-card--rouge{--card-bg:var(--type-rouge-bg)}.wine-card--rose{--card-bg:var(--type-rose-bg)}.wine-card--blanc{--card-bg:var(--type-blanc-bg)}.wine-card--vendanges_tardives{--card-bg:var(--type-vendanges_tardives-bg);background-image:linear-gradient(135deg, #f6db7d 0%, var(--type-vendanges_tardives-bg) 55%, #dfb23c 100%)}.wine-card h2 a{color:var(--card-text)}.wine-card h2{padding-right:28px}.drink-by{font-weight:600}.wine-card__trend{margin-left:var(--space-2);font-size:.85em}.wine-card.stock-card{padding:var(--space-4);align-content:center;gap:6px;display:grid}.stock-card__row{align-items:center;gap:var(--space-2);display:flex}.wine-card h2.stock-card__name{flex:1;min-width:0;margin:0;font-size:1rem}.wine-card .stock-card__name a{min-height:0;color:inherit;margin:-12px 0;padding:12px 0;text-decoration:none;display:inline-block}.stock-card__name a:after{content:"";border-radius:inherit;position:absolute;inset:0}.stock-card__figure{white-space:nowrap;font-size:var(--font-size-base);color:var(--card-text);flex-shrink:0;font-weight:700}.stock-card__place,.stock-card__variety{font-size:var(--font-size-sm);color:var(--card-muted);overflow-wrap:anywhere;margin:0}.stock-card__variety{flex:1;min-width:0}.filter-bar{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}.filter-bar__search{gap:var(--space-1);display:grid}.filter-bar__search input,.filter-bar__field select{min-height:var(--touch-target-min);width:100%;min-width:0;font-size:1rem}.filter-bar__toggle{justify-self:start}.filter-bar__panel{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.filter-bar__field{gap:var(--space-1);min-width:0;display:grid}.filter-bar__empty{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);grid-column:1/-1;display:flex}.filter-bar__empty input{width:22px;height:22px}.multi-select{position:relative}.multi-select__button{align-items:center;gap:var(--space-2);width:100%;min-width:0;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);text-align:left;font-size:1rem;display:flex}.multi-select__button:after{content:"▾";margin-left:auto}.multi-select__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.multi-select__list{z-index:10;max-height:16rem;margin-top:var(--space-1);padding:var(--space-1) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.multi-select__option{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:0 var(--space-3);display:flex}.multi-select .multi-select__option input{flex-shrink:0;width:22px;height:22px}.multi-select__search{width:calc(100% - 2 * var(--space-2));margin:var(--space-2);box-sizing:border-box;display:block}.multi-select__add{width:calc(100% - 2 * var(--space-2));margin:0 var(--space-2) var(--space-2);display:block}.year-picker__year{width:100%;min-height:var(--touch-target-min);text-align:left;padding:0 var(--space-3);background:0 0;border:0;border-radius:0;display:block}.year-picker__year[aria-pressed=true],.year-picker__year--focus{background:var(--color-surface);font-weight:700}.inventory-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.inventory-count{align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.inventory-count__reset{min-height:var(--touch-target-min);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.empty-state{padding:var(--space-5) var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.inventory-title{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.inventory-title h1{margin:0}.inventory-actions{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.inventory-actions>:only-child{grid-column:1/-1}.inventory-actions>*{min-width:0;padding:var(--space-1) var(--space-3);white-space:normal;text-align:center;justify-self:stretch}.card-grid:has(.stock-card){gap:var(--space-2)}.inventory-actions button[aria-expanded=true]{border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.number-stepper{grid-template-columns:var(--touch-target-min) minmax(0, 1fr) var(--touch-target-min);align-items:center;gap:var(--space-2);margin:var(--space-2) 0;display:grid}.number-stepper__label{grid-column:1/-1}.number-stepper button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--font-size-lg);padding:0}.number-stepper__value{text-align:center;width:100%;font-size:var(--font-size-lg);font-weight:700}.drink-page input[type=search],.drink-page textarea{box-sizing:border-box;width:100%}.drink-page__results{margin:var(--space-3) 0 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.drink-result{text-align:left;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--card-bg,var(--color-bg));color:var(--card-text);display:block}.drink-result.wine-card--rouge{--card-bg:var(--type-rouge-bg)}.drink-result.wine-card--rose{--card-bg:var(--type-rose-bg)}.drink-result.wine-card--blanc{--card-bg:var(--type-blanc-bg)}.drink-result.wine-card--vendanges_tardives{--card-bg:var(--type-vendanges_tardives-bg)}.drink-result__body{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.drink-result__name{overflow-wrap:anywhere;font-weight:700}.drink-result__stock{white-space:nowrap;color:var(--card-muted)}.drink-page__form{gap:var(--space-2);flex-direction:column;display:flex}.drink-page__form>.drink-result__body{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.rating-stepper{align-items:center;gap:var(--space-2);margin:var(--space-2) 0;display:flex}.rating-stepper__label{flex:1;font-weight:600}.rating-stepper button{min-width:var(--touch-target-min);min-height:var(--touch-target-min)}.rating-stepper__value{text-align:center;min-width:7.5rem;font-size:var(--font-size-lg);font-weight:700}.camera{z-index:100;color:#fff;background:#000;grid-template-rows:auto 1fr auto;height:100dvh;display:grid;position:fixed;inset:0}.camera__video{object-fit:cover;grid-area:1/1/-1;width:100%;height:100%}.camera__step{z-index:1;padding:calc(env(safe-area-inset-top) + var(--space-3)) var(--space-4) var(--space-3);text-align:center;background:#0009;grid-area:1/1;margin:0;font-weight:700}.camera__bar{z-index:1;gap:var(--space-2);padding:var(--space-3) var(--space-3) calc(env(safe-area-inset-bottom) + var(--space-3));background:#0009;grid-area:3/1;grid-template-columns:1fr 1.6fr 1fr;align-items:center;display:grid}.camera__shoot{min-height:56px}.camera__skip{justify-items:center;gap:var(--space-1);font-size:.85rem;display:grid}.camera__thumb{object-fit:cover;border-radius:var(--radius-md);width:40px;height:40px}.purchase-form fieldset{gap:var(--space-1);margin:0 0 var(--space-4);padding:var(--space-3);min-width:0;display:grid}.purchase-form label{margin-top:var(--space-2)}.purchase-form input,.purchase-form select,.purchase-form textarea{box-sizing:border-box;width:100%;min-width:0}.purchase-tools{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;grid-auto-flow:dense;display:grid}.purchase-tools>div{display:contents}.purchase-tools>div>:not(button){grid-column:1/-1;margin:0}.purchase-tools button{width:100%}.label-scan__back{gap:var(--space-2);grid-template-columns:64px 1fr;align-items:center;display:grid}.label-scan__preview{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);width:64px;height:64px}.label-scan__actions{gap:var(--space-2);grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.tasting-history{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.tasting-history__item{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.tasting-history__head{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.tasting-history__date{font-variant-numeric:tabular-nums;font-weight:600}.tasting-history__unrated{color:var(--color-text-muted)}.tasting-history__outside{padding:0 var(--space-2);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;font-size:.85rem}.tasting-history__notes{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.tasting-history__edit{margin-left:auto}.tasting-history__editor{gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.delete-confirmation{margin:var(--space-2) 0}.delete-confirmation__open,.delete-confirmation__confirm{color:var(--color-danger)}.delete-confirmation--open{padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.delete-confirmation__warning{overflow-wrap:anywhere;margin-top:0}.label-photos__sides{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.label-photos__side{gap:var(--space-2);min-width:0;margin:0;display:grid}.label-photos__side img,.label-photos__empty{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;display:block}.label-photos__empty{padding:var(--space-2);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg);place-items:center;display:grid}.label-photos__side figcaption{text-align:center;font-weight:600}.label-photos__link{display:block}.label-photos__take{width:100%;min-height:0;font:inherit;font-size:var(--font-size-sm);cursor:pointer}.label-photos__frame{position:relative}.label-photos__remove{width:var(--touch-target-min);min-width:var(--touch-target-min);height:var(--touch-target-min);box-shadow:none;color:#fff;text-shadow:0 0 3px #000000e6,0 1px 2px #000000e6;background:0 0;border:none;justify-content:flex-end;align-items:flex-start;padding:2px 6px 0 0;font-size:1.75rem;font-weight:700;line-height:1;display:flex;position:absolute;top:0;right:0}.label-photos__confirm{align-content:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);text-align:center;background:#ffffffeb;display:grid;position:absolute;inset:0}.label-photos__confirm p{margin:0;font-weight:600}.label-photos__confirm-delete{color:var(--color-danger)}.wine-detail__section{gap:var(--space-2);margin-top:var(--space-5,2rem);display:grid}.wine-detail__section>:first-child,.wine-detail__record>:first-child{margin-top:0}.wine-detail__section h2,.wine-detail__section h3{margin:0}.wine-detail__section h3{font-size:1rem}.wine-detail__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.wine-detail__edit{flex-shrink:0}.wine-detail__values{gap:var(--space-2);margin:0;display:grid}.wine-detail__value{gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.wine-detail__value:last-child{border-bottom:none;padding-bottom:0}.wine-detail__value dt{color:var(--color-text-muted)}.wine-detail__value dd{text-align:left;white-space:pre-line;margin:0;font-weight:600}.wine-detail__form{gap:var(--space-2);display:grid}.wine-detail__form fieldset{gap:var(--space-2);border:none;margin:0;padding:0;display:grid}.wine-detail__actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.wine-detail__records{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.wine-detail__record{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid}.wine-detail h1 .wine-detail__stock{white-space:nowrap}.wine-detail__add-section legend{margin-bottom:var(--space-2);padding:0;font-size:1.5rem;font-weight:700}.wine-detail__top{gap:var(--space-2);align-items:stretch;display:grid}.wine-detail__top .online-rating{display:contents}.wine-detail__top>button,.wine-detail__top .online-rating>button{width:100%;min-width:0;padding:var(--space-1) var(--space-2);white-space:normal;font-size:.9rem;line-height:1.2}.wine-detail__top .online-rating>:not(button){grid-column:1/-1}.delete-cellar{margin:var(--space-3) 0}.delete-cellar__open,.delete-cellar__confirm{color:var(--color-danger)}.delete-cellar--confirming{padding:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius-md)}.delete-cellar__warning{overflow-wrap:anywhere;margin-top:0}.delete-cellar__acknowledge{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);display:flex}.delete-cellar__acknowledge input{flex-shrink:0;width:22px;height:22px}.delete-cellar__actions{gap:var(--space-3);margin-top:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.delete-cellar__confirm:disabled{color:var(--color-text-muted)}.people__add{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.people__add input{min-height:var(--touch-target-min);width:100%}.people__field{position:relative}.people__field input{padding-right:var(--touch-target-min)}.people__clear{width:var(--touch-target-min);min-width:var(--touch-target-min);height:100%;box-shadow:none;color:var(--color-text-muted);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;position:absolute;top:0;right:0}.people__invalid{margin:calc(-1 * var(--space-1)) 0 0;color:var(--color-danger);font-size:var(--font-size-sm)}.people__list{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.people__person{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);min-width:0;position:relative}.people__person--owner{background:var(--color-user-owner);border-color:var(--color-user-owner);color:var(--color-user-owner-contrast)}.people__person--member{background:var(--color-user-member);border-color:var(--color-user-member-border)}.people__person--disabled{background:var(--color-user-disabled);border-color:var(--color-user-disabled-border)}.people__email{overflow-wrap:anywhere;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding-right:64px;font-weight:600;display:flex}.people__pill{padding:2px var(--space-2);background:var(--color-other-cellar);color:var(--color-other-cellar-contrast);font-size:var(--font-size-sm);border-radius:999px;font-weight:600;display:inline-block}.people__status{margin:var(--space-1) 0 var(--space-2)}.people__switch{top:var(--space-2);right:var(--space-2);width:56px;min-height:var(--touch-target-min);cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.people__switch:before{content:"";background:var(--color-switch-off);border-radius:999px;height:28px;transition:background .15s;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%)}.people__switch[aria-checked=true]:before{background:var(--color-switch-on)}.people__switch-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:left .15s;position:absolute;top:50%;left:7px;transform:translateY(-50%);box-shadow:0 1px 3px #0000004d}.people__switch[aria-checked=true] .people__switch-thumb{left:27px}.people__switch:disabled{cursor:default;opacity:.6}.people__switch:focus-visible{outline:2px solid var(--color-other-cellar);outline-offset:2px;border-radius:999px}.inline-field{align-items:center;gap:var(--space-1) var(--space-3);grid-template-columns:minmax(7rem,auto) 1fr;min-width:0;display:grid}.inline-field__label{color:var(--color-text-muted)}.inline-field__value{min-width:var(--touch-target-min);max-width:100%;padding:0 var(--space-1);color:var(--color-text);font:inherit;text-align:left;-webkit-text-decoration:underline dotted var(--color-text-muted);text-decoration:underline dotted var(--color-text-muted);text-underline-offset:4px;overflow-wrap:anywhere;background:0 0;border:none;justify-self:start}.inline-field__value:after{content:" ✎";color:var(--color-text-muted);text-decoration:none}.inline-field__form,.inline-field__error{grid-column:1/-1}.inline-field__form{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.inline-field__editor{gap:var(--space-2);flex-wrap:wrap;display:flex}.inline-field__editor input,.inline-field__editor select,.inline-field__editor textarea{min-height:var(--touch-target-min);flex:8rem;min-width:0;font-size:1rem}.inline-field__actions{gap:var(--space-2);display:flex}.inline-field__error{color:var(--color-danger);margin:0}.settings__section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.settings__section h2{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.settings__hint{color:var(--color-text-muted);margin-top:0}.settings__section a{min-height:var(--touch-target-min);align-items:center;display:inline-flex}.cellar-selector{width:100%}.settings__language,.settings__digest{border:none;border-top:1px solid var(--color-border);margin:var(--space-5) 0 0;padding:var(--space-4) 0 0}.settings__language legend,.settings__digest legend{float:left;width:100%;margin-bottom:var(--space-2);font-size:var(--font-size-lg);font-weight:700}.settings__language-option{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);clear:both;display:flex}.settings__language-option input{width:22px;height:22px}.cellar-metrics{gap:var(--space-2);margin:0 0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cellar-metrics__item{border:1.5px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5) var(--space-2) var(--space-3);min-width:0;color:var(--color-text);background:#fff;flex-direction:column;text-decoration:none;display:flex;position:relative}.cellar-metrics__item:after{content:"›";top:50%;right:var(--space-2);color:var(--color-accent);font-size:1.4em;line-height:1;position:absolute;transform:translateY(-50%)}.cellar-metrics__title{font-size:var(--font-size-sm);color:var(--color-text-muted)}.cellar-metrics__figure{margin:var(--space-1) 0 0;align-items:baseline;column-gap:var(--space-1);flex-wrap:wrap;display:flex}.cellar-metrics__value{font-size:var(--font-size-lg);white-space:nowrap;font-weight:600}.cellar-metrics__unit{font-size:var(--font-size-sm);color:var(--color-text-muted)}.cellar-metrics__item--alert .cellar-metrics__figure{color:var(--color-danger)}.home-actions{gap:var(--space-2);margin:0 0 var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-actions .home-action{min-height:56px;padding:0 var(--space-2);gap:var(--space-1);line-height:1.2}.home-action span{font-size:1.3rem;line-height:1}.home-action:active{transform:scale(.98)}.expiring .inventory-actions>:only-child{grid-column:auto}.expiring__group h2{font-size:1.125rem}:root{--color-page:#f6f0ed;--color-plum:#3b0a24;--color-plum-2:#6d1636;--radius-sm:10px;--radius-md:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #3b0a240f, 0 1px 3px #3b0a2414;--shadow-md:0 2px 6px #3b0a240f, 0 8px 24px #3b0a2414;--focus-ring:0 0 0 3px #7a1f2b59}body{background-color:var(--color-page);background-image:radial-gradient(120% 340px at 50% -120px, #7a1f2b29, transparent 70%), linear-gradient(180deg, #f9eef0 0, var(--color-page) 420px);-webkit-font-smoothing:antialiased;background-repeat:no-repeat}:where(.tab-bar~main) :where(h1){margin:var(--space-2) 0 var(--space-4);letter-spacing:-.02em;font-size:1.75rem;font-weight:800;line-height:1.15}:where(.tab-bar~main) :where(h2){letter-spacing:-.01em}:where(.tab-bar~main) :where(a){color:var(--color-accent);text-underline-offset:3px}:where(.tab-bar~main) :where(button){padding:0 var(--space-4);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#fff;border-radius:999px;font-weight:600}.cta-action,:where(.tab-bar~main) :where(button[type=submit]){justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5,20px);border:1px solid var(--color-accent);background:linear-gradient(180deg, #8c2533, var(--color-accent));box-shadow:var(--shadow-sm);color:var(--color-accent-contrast);text-align:center;cursor:pointer;border-radius:999px;font-weight:700;text-decoration:none;display:inline-flex}.cta-nav{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-4);border:1.5px solid var(--color-accent);color:var(--color-accent);cursor:pointer;background:#fff;border-radius:999px;font-weight:700;text-decoration:none;display:inline-flex}.cta-nav:after{content:"›";font-size:1.4em;font-weight:400;line-height:1}.cta-nav--plain{justify-content:center}.cta-nav--plain:after{content:none}:where(.tab-bar~main) :where(button:disabled){opacity:.55;cursor:default}:where(.tab-bar~main) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:#fff}:where(.tab-bar~main) :where(textarea){padding:var(--space-2) var(--space-3)}:where(.tab-bar~main) :where(input,select,textarea,button,a):focus-visible{box-shadow:var(--focus-ring);outline:none}:where(.tab-bar~main) :where(input[type=checkbox],input[type=radio]){accent-color:var(--color-accent);width:20px;height:20px}.top-bar{z-index:10;min-height:56px;padding-top:env(safe-area-inset-top);background:linear-gradient(135deg, var(--color-plum), var(--color-plum-2));color:#fff;border-bottom:none;position:sticky;top:0;box-shadow:0 2px 12px #3b0a2440}.top-bar--other-cellar{background:linear-gradient(135deg, #123a6b, var(--color-other-cellar))}.top-bar__cellar-name{letter-spacing:.01em;font-size:1.05rem;font-weight:700;text-decoration:none}.top-bar__cellar-name:before{content:"🍷";margin-right:var(--space-2)}.tab-bar{-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:#ffffffdb;border-top:1px solid #3b0a2414;box-shadow:0 -4px 20px #3b0a240f}.tab-bar__item[aria-current=page] .tab-bar__icon{filter:drop-shadow(0 2px 4px #7a1f2b40)}.inventory-header>a{align-items:center;gap:var(--space-2);min-height:var(--touch-target-min);padding:0 var(--space-4);background:linear-gradient(180deg, #8c2533, var(--color-accent));color:var(--color-accent-contrast);box-shadow:var(--shadow-md);border-radius:999px;font-weight:700;text-decoration:none;display:inline-flex}.inventory-header>a:before{content:"+";font-size:1.25rem;line-height:1}.cellar-metrics__item{border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5) var(--space-3) var(--space-3);box-shadow:var(--shadow-md);background:#fff;border:none}.cellar-metrics__value{letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.wine-card{border-radius:var(--radius-lg);padding:var(--space-4) var(--space-4) var(--space-3);box-shadow:var(--shadow-md);border:none}.wine-card h2 a{color:var(--card-text);letter-spacing:-.01em;font-weight:800;text-decoration:none}.wine-card__stock{margin:var(--space-2) 0;padding:2px var(--space-3);background:#3b0a2412;border-radius:999px;display:inline-block}.wine-card--stage-5 .wine-card__stock{background:#fff3}.drink-form{border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:none}.filter-bar{padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff}.stock__list{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;border:none}.stock__row:active{background:#7a1f2b0d}.stock__count{background:linear-gradient(180deg, #8c2533, var(--color-accent));color:#fff;border:none}.settings__section,.settings__language,.settings__digest,.wine-detail__section{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;border:none}.purchase-form{padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff}.purchase-form fieldset{margin:0 0 var(--space-4);border:none;padding:0}.purchase-form legend{margin-bottom:var(--space-2);font-size:1.1rem;font-weight:800}.inline-field__value{border-radius:var(--radius-sm);font-weight:inherit}:where(.tab-bar~main) :where(legend){padding:0}.cellar-metrics__item--rouge{border-top:4px solid #7a1f2b}.cellar-metrics__item--blanc{border-top:4px solid #d9b44a}.cellar-metrics__item--rose{border-top:4px solid #e48aa0}.cellar-metrics__item--vendanges_tardives{border-top:4px solid #c9962a}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-title{align-items:center;gap:var(--space-2);display:flex}.page-title h1{margin:0}.back-button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}
