.searchbar{align-items:center;gap:var(--space-2);min-height:var(--tap);margin-bottom:var(--space-4);padding:0 var(--space-1) 0 var(--space-4);border:var(--line-width) solid var(--line-control);border-radius:var(--r-field);background:var(--surface);color:var(--text-2);display:flex}.searchbar:focus-within{border-color:var(--accent-text)}.searchbar .input{background:0 0;border:0;flex:1;min-height:44px;padding:0}.searchbar .input:focus,.searchbar .input:focus-visible{outline:none}.searchbar .input::-webkit-search-cancel-button{opacity:.6}.diary__filter-toggle{border-radius:var(--r-round);width:44px;height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid;position:relative}.diary__filter-toggle.is-active{background:var(--tint-accent);color:var(--accent-text)}.diary__filter-count{border-radius:var(--r-pill);background:var(--accent);min-width:18px;height:18px;color:var(--on-accent);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:0 5px;line-height:18px;position:absolute;top:4px;right:4px}.diary__filters{margin-bottom:var(--space-5);padding:var(--space-4);border:var(--line-width) solid var(--line);border-radius:var(--r-card);background:var(--surface)}.diary__toolbar{margin:0 calc(-1 * var(--space-5)) var(--space-5);padding:0 var(--space-5);scrollbar-width:none;overflow-x:auto}.chips{gap:var(--space-2);width:max-content;display:flex}.entries{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.entry{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border:var(--line-width) solid var(--line);border-radius:var(--r-card);background:var(--surface);color:inherit;transition:border-color var(--dur-fast) var(--ease);text-decoration:none;display:flex}a.entry:active{border-color:var(--accent)}.entry__bottle{border:var(--line-width) solid var(--line);border-radius:var(--r-photo);width:56px;height:75px;color:var(--text-3);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.entry__bottle.is-cutout{border-color:#0000}.entry__bottle img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.entry__bottle.is-cutout img{object-fit:contain}.entry__text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.entry__name{font-family:var(--font-head);font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text)}.entry__meta{font-size:var(--fs-sm);color:var(--text-2)}.entry__status{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);font-size:var(--fs-sm);color:var(--text-3);display:flex}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rows__title{margin:var(--space-6) 0 var(--space-2);font-size:var(--fs-lg)}.rows__footer{margin:var(--space-6) 0 0;justify-content:center;display:flex}.row{gap:var(--space-3);min-height:64px;padding:var(--space-3) 0;border-top:var(--line-width) solid var(--line);color:var(--text);grid-template-columns:44px minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.row--skeleton{border-top-color:#0000}.row__lead{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.row__vintage{font-size:var(--fs-sm);color:var(--text-2);font-variant-numeric:tabular-nums}.row__text{flex-direction:column;gap:2px;min-width:0;display:flex}.row__name{font-family:var(--font-head);font-size:var(--fs-lg);line-height:var(--lh-tight);overflow-wrap:anywhere}.row__meta{align-items:center;gap:var(--space-1);font-size:var(--fs-sm);color:var(--text-2);display:flex}.row__meta--closing{color:var(--accent-text)}.row__end{align-items:center;display:flex}.row__qty{font-family:var(--font-head);font-size:var(--fs-xl);font-variant-numeric:tabular-nums}.style-dot{border:var(--line-width) solid var(--line-control);border-radius:var(--r-round);width:9px;height:9px;display:inline-block}.style-dot--red{background:var(--wine-red)}.style-dot--white{background:var(--wine-white)}.style-dot--rose{background:var(--wine-rose)}.style-dot--sparkling{background:var(--wine-sparkling)}.style-dot--orange{background:var(--wine-orange)}.style-dot--dessert{background:var(--wine-dessert)}.style-dot--fortified{background:var(--wine-fortified)}.tasting-hero{margin:var(--space-7) 0 var(--space-2);perspective:900px;color:var(--text);touch-action:pan-y;text-decoration:none;display:block}.tasting-hero__stage{gap:var(--space-4) var(--space-5);padding:var(--space-5);border-radius:var(--r-card);background:var(--surface);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform var(--dur) var(--ease);grid-template-columns:96px minmax(0,1fr);grid-template-areas:"bottle score""text text";align-items:end;display:grid}.tasting-hero__bottle{margin-top:calc(-1 * var(--space-8));transform-style:preserve-3d;animation:bottle-turn var(--dur-slow) var(--ease) both;grid-area:bottle;justify-items:center;display:grid;position:relative;transform:translateZ(48px)}.tasting-hero .bottle{z-index:1;width:96px;height:240px;position:relative}.tasting-hero__shadow{background:var(--bottle-shadow);filter:blur(6px);border-radius:50%;height:14px;position:absolute;bottom:-6px;left:18%;right:18%}.tasting-hero__score{padding-bottom:var(--space-2);grid-area:score;transform:translateZ(36px)}.tasting-hero__score .score__of{white-space:nowrap}.tasting-hero__text{gap:var(--space-2);min-width:0;padding-bottom:var(--space-1);flex-direction:column;grid-area:text;display:flex;transform:translateZ(24px)}.tasting-hero__label{font-size:var(--fs-sm);color:var(--text-2)}.tasting-hero__name{font-family:var(--font-head);font-size:var(--fs-lg);overflow-wrap:anywhere;line-height:1.25}.tasting-hero__meta{font-size:var(--fs-sm);line-height:var(--lh-base);color:var(--text-2)}@keyframes bottle-turn{0%{opacity:0;transform:translateZ(48px)translateY(16px)rotateY(-32deg)}}@media (prefers-reduced-motion:reduce){.tasting-hero__stage{transform:none}.tasting-hero__bottle{animation:none}}.bottle{color:var(--text-3);flex:none;place-items:center;display:grid;overflow:hidden}.bottle img{object-fit:contain;width:100%;height:100%}.bottle:not(.is-cutout) img{object-fit:cover;border-radius:var(--r-photo)}
