@font-face{font-family:Margoa Mono;src:url(/assets/jetbrains-mono-Db4Uuiha.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:Margoa Sans;src:url(/assets/instrument-sans-CclBWeUS.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}.margoa{--mg-version: "5";--mg-black: #000000;--mg-white: #FFFFFF;--mg-yellow: #FFE845;--mg-orange: #FF6A00;--mg-pink: #FFBCD8;--mg-blue: #97D4FF;--mg-red: #FF3B00;--mg-ground: var(--mg-white);--mg-ink: var(--mg-black);--mg-house: var(--mg-yellow);--mg-warn: var(--mg-red);--mg-rule: var(--mg-ink);--mg-font: "Margoa Sans", ui-sans-serif, system-ui, sans-serif;--mg-font-mono: "Margoa Mono", ui-monospace, "SF Mono", Menlo, monospace;--mg-size-label: 11px;--mg-size-control: 12px;--mg-size-small: 14px;--mg-size-dense: 16px;--mg-size-body: 17px;--mg-size-lead: 20px;--mg-size-h3: 22px;--mg-size-h2: 26px;--mg-size-figure: 46px;--mg-size-h1: clamp(48px, 7vw, 92px);--mg-weight-normal: 400;--mg-weight-mid: 500;--mg-weight-bold: 700;--mg-track-display: -.045em;--mg-track-tight: -.025em;--mg-track-label: .12em;--mg-leading-display: .88;--mg-leading-tight: 1.15;--mg-leading-body: 1.5;--mg-space-1: 4px;--mg-space-2: 8px;--mg-space-3: 12px;--mg-space-4: 16px;--mg-space-5: 24px;--mg-space-6: 32px;--mg-space-7: 48px;--mg-space-8: 80px;--mg-rule-hair: 1px;--mg-rule-thick: 2px;--mg-rule-fat: 6px;--mg-measure: 66ch;--mg-wrap: 960px;--mg-form: 36rem;--mg-control-h: 44px}.margoa *,.margoa *:before,.margoa *:after{box-sizing:border-box}.margoa{margin:0;background:var(--mg-ground);color:var(--mg-ink);font-family:var(--mg-font);font-size:var(--mg-size-body);font-weight:var(--mg-weight-normal);line-height:var(--mg-leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.margoa :where(h1,h2,h3,h4){font-weight:var(--mg-weight-bold);letter-spacing:var(--mg-track-tight);line-height:var(--mg-leading-tight);text-wrap:balance}.margoa :where(h1){font-size:var(--mg-size-h1);text-transform:uppercase;letter-spacing:var(--mg-track-display);line-height:var(--mg-leading-display)}.margoa :where(h2){font-size:var(--mg-size-h2)}.margoa :where(h3){font-size:var(--mg-size-h3)}.margoa :where(h4){font-size:var(--mg-size-label);text-transform:uppercase;letter-spacing:var(--mg-track-label)}.margoa :where(p,li){max-width:var(--mg-measure)}.margoa :where(a:not(.mg-btn)){color:inherit;text-decoration:none;background:var(--mg-house);box-shadow:0 2px 0 0 var(--mg-ink);padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.margoa :where(a:not(.mg-btn)):visited{color:inherit}.margoa :where(a:not(.mg-btn)):hover,.margoa :where(a:not(.mg-btn)):visited:hover{background:var(--mg-ink);color:var(--mg-ground)}.margoa strong{font-weight:var(--mg-weight-bold)}.margoa small{font-size:var(--mg-size-small)}.margoa :where(ul,ol){padding-left:var(--mg-space-5)}.margoa li+li{margin-block-start:var(--mg-space-2)}.margoa hr{border:0;border-top:var(--mg-rule-fat) solid var(--mg-rule)}.margoa :where(code,pre){font-family:var(--mg-font-mono);font-size:.9em}.margoa code{background:var(--mg-house);padding:1px 4px}.margoa pre{background:var(--mg-ink);color:var(--mg-ground);padding:var(--mg-space-4);overflow-x:auto}.margoa pre code{background:none;color:inherit;padding:0}.margoa blockquote{padding-left:var(--mg-space-4);border-left:var(--mg-rule-fat) solid var(--mg-rule);font-size:var(--mg-size-lead);font-weight:var(--mg-weight-mid)}.margoa :where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--mg-warn);outline-offset:2px}.margoa ::selection{background:var(--mg-house);color:var(--mg-ink)}.margoa :where(main,article,section,form,.mg-prose,.mg-flow)>*{margin-block:0}.margoa :where(main)>*+*{margin-block-start:var(--mg-space-7)}.margoa :where(article,section)>*+*{margin-block-start:var(--mg-space-5)}.margoa :where(form)>*+*{margin-block-start:var(--mg-space-4)}.margoa :where(form){max-width:var(--mg-form)}.margoa :where(input,select,textarea){max-width:100%}.margoa :where(.mg-prose)>*+*{margin-block-start:var(--mg-space-4)}.margoa :where(.mg-flow)>*+*{margin-block-start:var(--mg-flow, var(--mg-space-5))}.margoa .mg-flow--tight>*+*{margin-block-start:var(--mg-space-3)}.margoa .mg-flow--loose>*+*{margin-block-start:var(--mg-space-7)}.margoa :where(.mg-columns,.mg-row)>*+*{margin-block-start:0}.margoa :where(.mg-prose,.mg-flow,article)>*+:where(h2,h3,h4){margin-block-start:var(--mg-space-6)}.margoa :where(.mg-prose,.mg-flow,article)>:where(h1,h2,h3,h4)+*{margin-block-start:var(--mg-space-3)}.margoa :where(h1,.mg-display)+.mg-lead{margin-block-start:var(--mg-space-4)}.margoa main{padding-block:var(--mg-space-7)}.margoa .mg-attach{margin-block-start:var(--mg-space-3)}.mg-wrap{max-width:var(--mg-wrap);margin-inline:auto;padding-inline:var(--mg-space-5)}.mg-prose{max-width:var(--mg-measure)}.margoa .mg-display{font-size:var(--mg-size-h1);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-display);line-height:var(--mg-leading-display);margin:0 0 var(--mg-space-5);text-wrap:balance}.margoa .mg-title{font-size:var(--mg-size-h2);text-transform:none;letter-spacing:var(--mg-track-tight);line-height:var(--mg-leading-tight)}.mg-lead{font-size:var(--mg-size-lead);font-weight:var(--mg-weight-mid);line-height:var(--mg-leading-tight);max-width:46ch}.mg-label{font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);line-height:1}.mg-figure{font-size:var(--mg-size-figure);font-weight:var(--mg-weight-bold);letter-spacing:-.05em;line-height:.9;font-variant-numeric:tabular-nums}.mg-rule{border:0;border-top:var(--mg-rule-hair) solid var(--mg-rule);margin:0}.mg-rule--fat{border-top-width:var(--mg-rule-fat)}.mg-row{display:flex;gap:var(--mg-space-2);align-items:stretch;flex-wrap:wrap}.mg-row--baseline{align-items:baseline}.mg-row--between{justify-content:space-between}.mg-push{flex:1}.mg-columns{display:grid;grid-template-columns:repeat(var(--mg-columns, 4),1fr);border-top:var(--mg-rule-fat) solid var(--mg-rule)}.mg-columns>*{padding:var(--mg-space-3) var(--mg-space-4) var(--mg-space-4) 0;display:flex;flex-direction:column}.mg-columns .mg-figure{margin-top:auto}.mg-columns>*+*{border-left:var(--mg-rule-hair) solid var(--mg-rule);padding-left:var(--mg-space-4)}.mg-loud{--mg-ground: var(--mg-loud-ground, var(--mg-house));background:var(--mg-ground);color:var(--mg-ink);border-top:var(--mg-rule-fat) solid var(--mg-rule);padding-block:var(--mg-space-8)}.mg-loud--orange{--mg-loud-ground: var(--mg-orange)}.mg-loud--pink{--mg-loud-ground: var(--mg-pink)}.mg-loud--blue{--mg-loud-ground: var(--mg-blue)}.mg-loud :where(a:not(.mg-btn)){background:var(--mg-ink);color:var(--mg-ground)}.mg-swatch{display:inline-block;width:12px;height:12px;margin-right:var(--mg-space-2);background:var(--mg-swatch-fill, var(--mg-house));border:var(--mg-rule-hair) solid var(--mg-ink);vertical-align:baseline}.mg-swatch--yellow{--mg-swatch-fill: var(--mg-yellow)}.mg-swatch--orange{--mg-swatch-fill: var(--mg-orange)}.mg-swatch--pink{--mg-swatch-fill: var(--mg-pink)}.mg-swatch--blue{--mg-swatch-fill: var(--mg-blue)}.mg-swatch--ink{--mg-swatch-fill: var(--mg-ink)}.mg-swatch--none{--mg-swatch-fill: var(--mg-ground)}.mg-masthead{background:var(--mg-ink);color:var(--mg-ground)}.mg-masthead>.mg-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--mg-space-5);padding-block:var(--mg-space-3);flex-wrap:wrap}.mg-wordmark{font-size:var(--mg-size-lead);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-tight)}.mg-masthead nav{display:flex;gap:var(--mg-space-5);flex-wrap:wrap}.mg-masthead a{color:inherit;text-decoration:none;font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label)}.mg-masthead a[aria-current]{background:var(--mg-house);color:var(--mg-ink);padding:var(--mg-space-1) var(--mg-space-2);margin:calc(var(--mg-space-1) * -1) calc(var(--mg-space-2) * -1)}.mg-masthead a:hover{background:var(--mg-ground);color:var(--mg-ink)}.margoa table{width:auto;max-width:100%;border-collapse:collapse;font-size:var(--mg-size-dense);font-variant-numeric:tabular-nums}.margoa :where(thead th){text-align:left;font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);white-space:nowrap;padding:0 var(--mg-space-3) var(--mg-space-2) 0;border-bottom:var(--mg-rule-fat) solid var(--mg-rule)}.margoa :where(tbody td,tbody th){padding:var(--mg-space-3) var(--mg-space-3) var(--mg-space-3) 0;border-bottom:var(--mg-rule-hair) solid var(--mg-rule);vertical-align:baseline;text-align:left;max-width:none}.margoa :where(tbody th){font-weight:var(--mg-weight-bold)}.margoa :where(tbody td){white-space:nowrap}.margoa :where(tbody th){white-space:normal}.margoa :where(thead,tbody) :where(th,td):last-child{padding-right:0}.margoa tbody tr:hover :where(td,th){background:var(--mg-house)}.margoa :where(th,td).mg-num{text-align:right;white-space:nowrap;font-family:var(--mg-font-mono);font-size:.94em}.margoa :where(thead th).mg-num{font-family:var(--mg-font);font-size:var(--mg-size-label)}.mg-mono{font-family:var(--mg-font-mono);font-variant-numeric:tabular-nums}.margoa caption{text-align:left;font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);padding-bottom:var(--mg-space-3)}.margoa .mg-table--dense{font-size:var(--mg-size-small)}.margoa .mg-table--dense :where(tbody td,tbody th){padding-block:var(--mg-space-2)}.mg-scroll{overflow-x:auto}.margoa dl{display:grid;grid-template-columns:max-content 1fr;max-width:var(--mg-form);border-top:var(--mg-rule-fat) solid var(--mg-rule)}.margoa dt{font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);padding:var(--mg-space-3) var(--mg-space-5) var(--mg-space-3) 0;border-bottom:var(--mg-rule-hair) solid var(--mg-rule);align-self:stretch}.margoa dd{margin:0;padding-block:var(--mg-space-3);border-bottom:var(--mg-rule-hair) solid var(--mg-rule)}.margoa dd.mg-num{font-family:var(--mg-font-mono);font-size:.94em;text-align:left}.margoa :where(button,.mg-btn,input,select,textarea){font:inherit;color:var(--mg-ink);background:var(--mg-ground);border:var(--mg-rule-thick) solid var(--mg-ink);border-radius:0}.margoa :where(button,.mg-btn){display:inline-flex;align-items:center;justify-content:center;height:var(--mg-control-h);padding-inline:var(--mg-space-4);font-size:var(--mg-size-control);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);text-decoration:none;cursor:pointer}.margoa :where(button,.mg-btn):hover{background:var(--mg-house)}.margoa :where(button,.mg-btn).mg-btn--primary{background:var(--mg-ink);color:var(--mg-ground)}.margoa :where(button,.mg-btn).mg-btn--primary:hover{background:var(--mg-house);color:var(--mg-ink)}.margoa :where(input,select){height:var(--mg-control-h);padding-inline:var(--mg-space-3);font-size:var(--mg-size-small)}.margoa textarea{padding:var(--mg-space-3);font-size:var(--mg-size-small);min-height:calc(var(--mg-control-h) * 2)}.margoa :where(input,textarea)::placeholder{color:var(--mg-ink);opacity:.55}.margoa :where(input[type=file]){height:auto;padding:0;border:0;background:none;font-size:var(--mg-size-small)}.margoa :where(input[type=file])::file-selector-button{font:inherit;font-size:var(--mg-size-control);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);height:var(--mg-control-h);padding-inline:var(--mg-space-4);margin-right:var(--mg-space-3);border:var(--mg-rule-thick) solid var(--mg-ink);border-radius:0;background:var(--mg-ground);color:var(--mg-ink);cursor:pointer}.margoa :where(input[type=file])::file-selector-button:hover{background:var(--mg-house)}.margoa :where(input[type=checkbox],input[type=radio]){height:var(--mg-space-4);width:var(--mg-space-4);padding:0;accent-color:var(--mg-ink)}.margoa label{display:inline-block;font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label)}.margoa .mg-field{display:flex;flex-direction:column;gap:var(--mg-space-2)}.margoa :where(button,.mg-btn,input,select,textarea):disabled,.margoa .mg-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed}.mg-tag{display:inline-block;padding:var(--mg-space-1) var(--mg-space-2);border:var(--mg-rule-thick) solid var(--mg-ink);background:var(--mg-tag-fill, transparent);color:var(--mg-ink);font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label);line-height:1;white-space:nowrap}.mg-tag--warn{--mg-tag-fill: var(--mg-warn)}.mg-tag--house{--mg-tag-fill: var(--mg-house)}.mg-tag--orange{--mg-tag-fill: var(--mg-orange)}.mg-tag--pink{--mg-tag-fill: var(--mg-pink)}.mg-tag--blue{--mg-tag-fill: var(--mg-blue)}.mg-tag--ink{--mg-tag-fill: var(--mg-ink);color:var(--mg-ground)}.margoa{--wine-red: #C41E00;--wine-white: #FFE845;--wine-rose: #FFBCD8;--wine-orange: #FF6A00;--wine-sparkling: #97D4FF;--wine-dessert: #0D8774;--wine-fortified: #000000}.type-red{--mg-swatch-fill: var(--wine-red)}.type-white{--mg-swatch-fill: var(--wine-white)}.type-rose{--mg-swatch-fill: var(--wine-rose)}.type-orange{--mg-swatch-fill: var(--wine-orange)}.type-sparkling{--mg-swatch-fill: var(--wine-sparkling)}.type-dessert{--mg-swatch-fill: var(--wine-dessert)}.type-fortified{--mg-swatch-fill: var(--wine-fortified)}.app{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--mg-ink);color:var(--mg-ground);display:flex;align-items:center;justify-content:space-between;gap:var(--mg-space-5);padding:var(--mg-space-3) var(--mg-space-5)}.header-nav{display:flex;align-items:center;gap:var(--mg-space-3)}.header-link,.header-add{color:inherit;text-decoration:none;font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label)}.header-link,.header-add{background:none;box-shadow:none;padding:0}.header-link:hover,.header-add:hover{background:var(--mg-house);color:var(--mg-ink)}.header-sep{opacity:.5}.header-add{font-size:var(--mg-size-lead);line-height:1}.main{flex:1;width:100%;max-width:var(--mg-wrap);margin-inline:auto;padding:var(--mg-space-7) var(--mg-space-5)}.filters{padding-bottom:var(--mg-space-5)}.filter-badges{display:flex;flex-wrap:wrap;gap:var(--mg-space-2)}.sort-buttons{display:flex;gap:0}.sort-btn{height:auto;padding:var(--mg-space-1) var(--mg-space-2);font-size:var(--mg-size-label);border:1px solid var(--mg-ink);background:transparent;color:var(--mg-ink);font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:var(--mg-track-label);transition:none}.sort-btn:first-child{border-right:none}.sort-btn+.sort-btn{border-left:none}.sort-btn.active{background:var(--mg-ink);color:var(--mg-ground)}.filter-badge{height:auto;padding:var(--mg-space-1) var(--mg-space-2);font-size:var(--mg-size-label);background:var(--mg-ground)}.filter-badge.active{background:var(--mg-ink);color:var(--mg-ground)}.filter-badge:hover{background:var(--mg-house);color:var(--mg-ink)}.wine-row{cursor:pointer}.wine-row-type{text-transform:uppercase;font-size:var(--mg-size-label);letter-spacing:var(--mg-track-label)}.wine-row-rating{white-space:nowrap}.btn-danger{background:var(--mg-warn)}.btn-danger:hover{background:var(--mg-ink);color:var(--mg-ground)}.loading,.empty-state,.error-state{padding-block:var(--mg-space-8);text-align:center}.empty-state>*+*,.error-state>*+*{margin-block-start:var(--mg-space-4)}.detail-image{max-width:var(--mg-form);display:block;border:var(--mg-rule-thick) solid var(--mg-ink)}.detail-actions{display:flex;gap:var(--mg-space-2);flex-wrap:wrap}.form-group{display:flex;flex-direction:column;gap:var(--mg-space-2)}.form-row{display:flex;gap:var(--mg-space-3);flex-wrap:wrap}.form-row>*{flex:1;min-width:160px}.receipt-uploader{border:var(--mg-rule-thick) dashed var(--mg-ink);padding:var(--mg-space-5);text-align:center;cursor:pointer}.receipt-uploader:hover{background:var(--mg-house)}.extracted-wine-row{display:flex;gap:var(--mg-space-2);align-items:center;flex-wrap:wrap}.stars{display:inline-flex;gap:var(--mg-space-1)}.stars button{height:auto;padding:var(--mg-space-1) var(--mg-space-2)}.stars button.selected{background:var(--mg-house)}.rating-display{white-space:nowrap}.tabs{display:flex;gap:var(--mg-space-2);border-bottom:var(--mg-rule-fat) solid var(--mg-rule)}.tab{height:auto;padding:var(--mg-space-2) var(--mg-space-4);border-bottom:0}.tab.active{background:var(--mg-ink);color:var(--mg-ground)}.consume-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--mg-ink);display:flex;align-items:center;justify-content:center;padding:var(--mg-space-5)}.consume-dialog{background:var(--mg-ground);border:var(--mg-rule-thick) solid var(--mg-ink);padding:var(--mg-space-5);max-width:480px;width:100%}.consume-dialog>*+*{margin-block-start:var(--mg-space-4)}.toast{position:fixed;bottom:var(--mg-space-5);left:50%;transform:translate(-50%);background:var(--mg-ink);color:var(--mg-ground);padding:var(--mg-space-3) var(--mg-space-4);font-size:var(--mg-size-label);font-weight:var(--mg-weight-bold);text-transform:uppercase;letter-spacing:var(--mg-track-label)}
