:root{--bg:#f8f7f3;--paper:#fff;--ink:#2c302b;--muted:#777b73;--line:#e8e8df;--wine:#672e40;--wine-dark:#4b2030;--wine-soft:#f3e9ec;--green:#456b51;--serif:Georgia,'Times New Roman',serif;--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:var(--wine);text-underline-offset:3px}h1,h2,h3,h4,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-1.1px;line-height:1.15}h1{font-size:43px;margin-bottom:13px}h2{font-size:29px}h3{font-size:17px;line-height:1.4}h4{font-size:14px}svg{width:21px;height:21px;flex-shrink:0}button svg{pointer-events:none}img{max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid #ad8060;outline-offset:4px}button:focus-visible{border-radius:8px}input:focus,textarea:focus,select:focus{outline:2px solid #be9da7;outline-offset:1px}input,select,textarea{max-width:100%;border:1px solid #dedfd6;border-radius:9px;background:#fff;padding:11px 13px;color:var(--ink);min-height:44px}input::placeholder,textarea::placeholder{color:#93968d}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:500}input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--wine)}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#858979;display:block;margin-bottom:12px}.brand-dot{color:var(--wine)}.button{display:inline-flex;gap:9px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:9px;padding:11px 17px;min-height:44px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.5;transition:background .15s,transform .15s}.primary{background:var(--wine);color:#fff;box-shadow:0 3px 5px #672e4010}.primary:hover{background:var(--wine-dark)}.secondary{background:#fff;border-color:#dddcd2;color:#43473f}.secondary:hover{background:#f5f3ee}.text-button{border:0;background:transparent;color:var(--wine);padding:0;text-align:left;font-weight:500}.text-button:hover{text-decoration:underline}.icon-button{height:38px;width:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:#fff}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;border:0}
.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:31px 21px 18px;z-index:20}.brand{display:block;position:relative;font-family:var(--serif);font-size:30px;line-height:1.1;text-decoration:none;color:var(--wine);padding:0 0 0 44px;white-space:nowrap}.brand img{position:absolute;left:0;top:2px;width:34px;height:34px;border-radius:11px}.brand span{display:block;font:7px/2.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:1.5px;color:#888a7d}.nav-label{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#93988e;margin:51px 13px 15px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-height:47px;padding:12px;border:0;border-radius:8px;background:transparent;text-align:left;color:#6f7469;font-size:13px;margin-bottom:6px}.nav-item svg{width:19px;height:19px}.nav-item.active{background:var(--wine-soft);color:var(--wine);font-weight:600}.nav-item:hover{background:#f8f6f1}.nav-count{font-size:10px;padding:0 7px;background:#e8d7dd;border-radius:4px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:30px}.storage-card{background:#f8f8f2;border:1px solid #edeee2;border-radius:10px;padding:20px 17px;margin-bottom:24px}.storage-card>span{color:#7a8c67}.storage-card p{font-family:var(--serif);font-size:18px;line-height:1.4;margin:8px 0}.storage-card small{font-size:10px;line-height:1.6;color:#8b8f82}.logout{font-size:12px;color:#878c83}.main-shell{margin-left:240px;flex:1;min-width:0}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 45px;background:#faf9f6}.breadcrumb{font-size:11px;color:#8a8c81;display:flex;gap:14px}.breadcrumb strong{font-weight:500;color:#4b5045}.private-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#7c8376}.online-dot{width:5px;height:5px;background:#859676;border-radius:50%}.avatar{height:31px;width:31px;background:#e9e8df;border:3px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;margin-left:13px;color:#5d6755}.mobile-brand,.mobile-nav{display:none}.page{padding:39px 45px 0;max-width:1600px;margin:auto;min-height:calc(100vh - 160px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:10px}.page-heading p.muted{margin-bottom:0;font-size:13px}.page-heading>.button{white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;background:#fff;padding:23px 9px;margin-bottom:31px}.stat{display:flex;align-items:center;gap:14px;padding:0 24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat>span{display:flex;align-items:center;justify-content:center;border-radius:50%;width:38px;height:38px;flex-shrink:0;background:#f5f1ea;color:#957954}.stat:nth-child(2)>span{color:#648367;background:#f1f4ed}.stat:nth-child(3)>span{background:#f0f1f4;color:#7c8493}.stat:nth-child(4)>span{background:#f9f2e3;color:#b29557}.stat strong{display:block;font:29px/1.2 var(--serif);margin-bottom:3px}.stat div>span{font-size:10px;color:#85897e;white-space:nowrap}.collection-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:20px}.search-wrap{position:relative;flex:1}.search-wrap>span{position:absolute;top:13px;left:15px;color:#909689;height:20px}.search-wrap svg{width:18px;height:18px}.search-wrap input{width:100%;padding-left:43px;background:#fff;border-color:var(--line);font-size:12px}.collection-toolbar select{font-size:11px;width:170px;border-color:var(--line);background:transparent}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:22px}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.chip{display:flex;gap:7px;align-items:center;border:1px solid #e3e4da;border-radius:7px;background:#fff;padding:7px 13px;font-size:11px;min-height:34px;white-space:nowrap}.chip.active{color:#fff;background:var(--wine);border-color:var(--wine)}.wine-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#793747;flex-shrink:0}.wine-dot.white{background:#cebd78}.wine-dot.rose{background:#d89595}.wine-dot.gold{background:#b99e51}.wine-dot.amber{background:#a6753e}.check-inline{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:11px;font-weight:400;line-height:1.4}.check-inline input{margin:0;flex-shrink:0}.collection-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 0;font-size:11px;color:#8a8d83}.collection-caption select{font-size:11px;background:transparent;min-height:32px;border:0;padding:5px 0;color:#73786d;max-width:180px}.wine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.wine-card{border:1px solid #e5e4db;background:white;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}.wine-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #32342c08}.wine-open{padding:0;border:0;background:none;width:100%;text-align:left;display:block}.wine-visual{height:219px;background:#f2efe9;position:relative;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;padding:25px 20px 12px}.wine-visual.white{background:#f2f2e8}.wine-visual.rose{background:#f8efec}.wine-visual.gold{background:#f0f0e4}.wine-visual.amber{background:#f3ede2}.wine-visual::after{content:'';position:absolute;width:135px;height:12px;background:#322c2714;border-radius:50%;bottom:9px;filter:blur(6px)}.maturity-badge{display:inline-flex;gap:5px;align-items:center;border:1px solid #dadfd0;border-radius:5px;padding:4px 7px;background:#f6f9f1;color:#577148;font-size:9px;font-weight:500;line-height:1.3}.maturity-badge svg{width:12px;height:12px}.wine-visual .maturity-badge{position:absolute;left:12px;top:12px;z-index:2}.maturity-badge.keep{background:#f1f3f6;border-color:#dadee5;color:#667388}.maturity-badge.past{background:#f9efe4;border-color:#ead9c4;color:#9a6330}.maturity-badge.unknown{background:#fff9;border-color:#dedbd1;color:#8b8574}.wine-photo{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;mix-blend-mode:multiply;border-radius:6px}.gift-badge{position:absolute;right:11px;bottom:11px;z-index:3;background:#fffc;width:27px;height:27px;border-radius:50%;display:flex;justify-content:center;align-items:center;color:#a48565}.gift-badge svg{width:14px;height:14px}.wine-info{padding:18px 19px 14px}.wine-category{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.6px;text-transform:uppercase;color:#848779;margin-bottom:7px;line-height:1.5}.wine-category>span:not(.wine-dot){color:#c9c9bd}.wine-info h3{font:21px/1.2 var(--serif);letter-spacing:-.4px;margin-bottom:7px;overflow-wrap:anywhere}.wine-producer{font-size:11px;color:#6b7163;margin-bottom:3px}.wine-region{font-size:10px;color:#909587;margin-bottom:0}.wine-card-footer{border-top:1px solid #efeee8;margin:0 19px;padding:13px 0;display:flex;align-items:center;justify-content:space-between;gap:7px}.rating{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#696653;font-weight:600}.rating svg{width:14px;height:14px;fill:#c3a262;stroke:#c3a262}.rating small{font-size:10px;font-weight:400;color:#9a9b8e}.stock-stepper{display:flex;align-items:center;gap:7px}.stock-stepper button{display:flex;align-items:center;justify-content:center;border:1px solid #e9e8df;border-radius:5px;background:#fff;width:25px;height:26px;padding:3px}.stock-stepper svg{width:12px;height:12px}.stock-stepper>span{min-width:14px;text-align:center;font-size:12px;color:#68705d}.bottom-note{display:flex;align-items:center;justify-content:center;gap:9px;color:#a0a293;font-size:10px;margin:34px 0}.bottom-note svg{width:13px;height:13px}.site-footer{margin:25px 45px 0;padding:20px 0;border-top:1px solid var(--line);font-size:9px;color:#9b9e91;display:flex;justify-content:space-between;gap:15px}.bottle{position:relative;height:146px;width:54px;border-radius:16px 16px 7px 7px;background:linear-gradient(90deg,#182a1c,#334333 24%,#182d20 48%,#122719 80%,#354134);box-shadow:inset -4px 0 7px #0004,3px 4px 8px #0002;z-index:1;margin-top:36px;flex-shrink:0}.bottle::before{content:'';position:absolute;width:21px;height:56px;left:16px;top:-43px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#341a25,#632e42 45%,#341721);box-shadow:inset 0 -25px 0 #1f3225}.bottle::after{content:'';position:absolute;top:-41px;left:16px;width:21px;height:8px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff15}.bottle.white{background:linear-gradient(90deg,#8b9856,#c6ca87 25%,#a6b370 60%,#7f8c43)}.bottle.white::before{background:linear-gradient(90deg,#98844a,#c1b480,#958655);box-shadow:inset 0 -25px 0 #9ea960}.bottle.rose{background:linear-gradient(90deg,#c18166,#e8b79c 35%,#e5aa8e 60%,#b57f64)}.bottle.rose::before{background:linear-gradient(90deg,#baae99,#dfd8c6,#b6ad9b);box-shadow:inset 0 -25px 0 #d49b7b}.bottle.gold{width:66px;border-radius:26px 26px 9px 9px;background:linear-gradient(90deg,#223c28,#526242 30%,#2b452c 65%,#1e3523)}.bottle.gold::before,.bottle.gold::after{left:22px;background:linear-gradient(90deg,#a08a4c,#d5c08b,#a58d50);box-shadow:none}.bottle.amber{background:linear-gradient(90deg,#794a24,#bd8949 30%,#895b2d 70%,#6a421f)}.bottle-label{position:absolute;left:4px;right:4px;top:54px;min-height:58px;background:#f8f0da;padding:7px 2px 5px;text-align:center;color:#6d624d;box-shadow:0 0 1px #241d1920;display:flex;flex-direction:column;justify-content:space-between;gap:3px;overflow:hidden}.bottle-label span{font-size:4px;letter-spacing:.4px;text-transform:uppercase;line-height:1.4;max-height:12px;overflow:hidden}.bottle-label i{font:italic 8px/1.3 var(--serif);max-height:32px;overflow:hidden;overflow-wrap:anywhere}.bottle-label small{font-size:5px;letter-spacing:.5px}.empty-state{grid-column:1/-1;border:1px dashed #d9dacd;border-radius:14px;padding:58px 20px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#f5f1e7,transparent 65%),#fcfcf8}.empty-icon{margin:0 auto 19px;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;color:var(--wine);background:#eee4e5}.empty-icon svg{width:29px;height:29px}.empty-state .eyebrow{font-size:9px}.empty-state h2{font-size:30px;margin-bottom:14px}.empty-state p{color:#828777;font-size:12px;max-width:395px;margin:0 auto 23px}.empty-state .button{font-size:12px}.notice{background:#f2f1e8;color:#686a54;padding:13px 15px;border-radius:8px;border:1px solid #e6e4d4;font-size:12px;line-height:1.7}.notice.error{background:#fcf0f0;border-color:#f0d5d5;color:#983d45}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#313c32;color:#fff;border-radius:10px;padding:13px 22px;box-shadow:0 6px 25px #0002;max-width:calc(100% - 32px);font-size:13px;width:max-content;pointer-events:none}
.dialog{border:1px solid #e2e1d7;border-radius:18px;padding:0;width:640px;max-width:calc(100% - 32px);max-height:90dvh;color:var(--ink);background:#fff;box-shadow:0 20px 80px #0003;overscroll-behavior:contain}.dialog::backdrop{background:#252d266b;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:25px 28px 20px;border-bottom:1px solid var(--line);gap:20px}.dialog-header .eyebrow{font-size:8px;margin-bottom:8px}.dialog-header h2{font-size:28px;margin:0}.dialog-header .icon-button{flex-shrink:0}.dialog-body{padding:25px 28px}.dialog-footer{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.form-divider{display:flex;justify-content:space-between;gap:10px;padding:19px 0;margin-top:5px;border-top:1px solid var(--line);align-items:center}.form-divider span{font-size:9px;color:#858978;letter-spacing:1px}.form-divider small{font-size:9px;color:#969988}.required{display:inline;color:var(--wine)}label:has(.required){display:block}label:has(.required) input{display:block;width:100%;margin-top:7px}.photo-step{display:flex;align-items:center;gap:19px;margin-bottom:16px}.photo-step h3{font-family:var(--serif);font-size:21px;font-weight:400;margin-bottom:7px}.photo-step p{margin-bottom:10px;line-height:1.6}.photo-step small{display:block;font-size:9px;color:#999b8f;margin-top:7px}.photo-preview{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:100px;height:139px;background:#f4f1e8;border:1px dashed #d6d3c4;border-radius:10px;color:#ad9e85;overflow:hidden}.photo-preview>svg{width:33px;height:33px}.photo-preview img{width:100%;height:100%;object-fit:contain}.file-button{position:relative;font-size:11px;min-height:38px;padding:8px 12px;display:inline-flex}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;min-height:0}.file-button:focus-within{outline:3px solid #ad8060;outline-offset:2px}.analyze-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:15px 0 20px}.analyze-controls .check-inline{flex-wrap:wrap;font-size:10px}.analyze-controls .button{font-size:11px;white-space:nowrap}.stack{display:flex;flex-direction:column;gap:18px}.stack p{margin-bottom:0}.detail-hero{height:230px;background:#f2eee5;display:flex;align-items:flex-end;justify-content:center;position:relative;padding:28px}.detail-hero.white,.detail-hero.gold{background:#f0f0e5}.detail-hero.rose{background:#f8eeea}.detail-hero .wine-photo{height:190px;max-width:240px}.detail-hero .maturity-badge{position:absolute;bottom:20px;left:23px}.close-detail{position:absolute;right:17px;top:17px;z-index:5}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.detail-heading h2{margin:7px 0 9px;font-size:32px;overflow-wrap:anywhere}.detail-heading .muted{font-size:12px}.quantity-pill{white-space:nowrap;font-size:11px;background:#f1f3eb;padding:6px 10px;border-radius:6px;color:#6d7d5f}.detail-actions{display:flex;gap:9px;margin:18px 0}.gift-line{display:flex;align-items:center;gap:8px;font-size:12px;color:#8a7354}.gift-line svg{width:15px;height:15px}.personal-note,.tasting-comment{white-space:pre-wrap;overflow-wrap:anywhere}.personal-note{font-size:12px;background:#faf7ef;padding:13px;border-radius:8px}.assessment{border-top:1px solid var(--line);margin-top:25px;padding-top:21px;font-size:13px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 17px}.section-heading h2{font-size:27px;margin:0}.section-heading h3{font:23px var(--serif);margin:0}.section-heading .muted{font-size:11px}.assessment .section-heading{margin:0 0 13px}.confidence{font-size:9px;border-radius:5px;background:#f2f2e9;padding:4px 6px;color:#81866d;white-space:nowrap}.assessment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.assessment-grid h3{font-family:var(--serif);font-size:25px;font-weight:400;margin-bottom:10px}.assessment .eyebrow{font-size:9px;letter-spacing:1.3px}.pairings{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.pairings span{border:1px solid #e6e4d7;padding:5px 9px;background:#faf9f3;border-radius:6px;font-size:11px}.price-band{font-weight:700;letter-spacing:2px;color:#ac9059;margin-left:8px}.sources{padding-left:18px;font-size:11px}.sources a{overflow-wrap:anywhere}.reanalyze{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0}.reanalyze .button{font-size:11px}.reanalyze .check-inline{font-size:10px}.tastings-title{font-family:var(--serif);font-weight:400;font-size:23px;margin:26px 0 10px}.tasting-row{padding:15px 0;border-top:1px solid var(--line)}.tasting-row time{float:right;font-size:10px;color:var(--muted)}.tasting-row p{font-size:12px;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.danger-zone{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.danger{font-size:10px;color:#ae7474}.tasting-dialog{width:540px}.tasting-dialog .stack{gap:17px}.tasting-dialog .dialog-footer{margin-top:0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);padding:26px;border-radius:12px}.panel h2{font-size:25px}.panel p{font-size:13px}.panel p.small{font-size:11px;margin-top:15px;margin-bottom:0}.advice-hero{display:flex;justify-content:space-between;gap:25px;background:#eeeee2;padding:35px;border:1px solid #e2e3d3;border-radius:15px}.advice-hero>div:first-child{flex:1;max-width:630px}.advice-hero h2{font-size:33px;margin-bottom:15px}.advice-hero p{font-size:12px;max-width:430px;color:#7c8270}.advice-hero form{display:flex;gap:10px;margin:20px 0 12px}.advice-hero input{flex:1;min-width:0;font-size:11px}.advice-hero .button{white-space:nowrap;font-size:11px}.advice-hero small{font-size:9px;color:#929681}.advice-drawing{display:flex;align-items:center;justify-content:center;min-width:100px;color:#9caa89}.advice-drawing svg{width:85px;height:85px;stroke-width:.65}.recommendation-intro{margin-top:30px}.recommendation-intro h2{font-size:27px;margin-bottom:10px}.recommendation-intro p{font-size:12px;color:#7a8170}.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recommendation{padding:21px;background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;gap:14px}.pick-number{font-family:var(--serif);font-size:25px;color:#c3af9c}.recommendation h3{font-family:var(--serif);font-size:20px;font-weight:400}.recommendation p,.recommendation .text-button{font-size:12px}.recommendation p{color:#7b806f}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.journal-card{padding:25px;background:#fff;border:1px solid var(--line);border-radius:12px}.journal-top{display:flex;justify-content:space-between;margin-bottom:20px;gap:10px}.journal-top time{font-size:10px;color:#898e7f}.journal-card h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 8px}.journal-card .tasting-comment{font-size:13px;line-height:1.8;color:#636a5b}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:#552a38;color:#f8f0e6;padding:48px 60px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.brand.light{color:#fff;margin-bottom:55px}.brand.light span{color:#cfb6b5}.brand.light img{border:1px solid #ffffff30}.login-story>.brand{align-self:flex-start}.login-story .eyebrow{color:#c8a9a8;font-size:9px}.login-story h1{font-size:48px;line-height:1.15;margin-bottom:22px}.login-story p{color:#cbb3b5;max-width:350px;font-size:13px;line-height:1.9}.login-art{height:290px;position:relative;display:flex;align-items:flex-end;justify-content:center;margin-top:40px}.bottle-large{transform:scale(1.5);transform-origin:bottom center;height:147px;margin-bottom:29px}.bottle-large::before{background:linear-gradient(90deg,#c1a265,#edcf88,#ac8c50);box-shadow:inset 0 -25px 0 #233c2c}.bottle-large .bottle-label{min-height:67px;padding-top:10px;background:#eee2cc}.art-circle{height:250px;width:250px;border:1px solid #d2b49840;border-radius:50%;position:absolute;bottom:-45px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 35px #d2b49809,0 0 0 75px #d2b49805}.art-caption{position:absolute;bottom:-12px;font:italic 13px var(--serif);color:#c6a8a7}.login-panel{display:flex;align-items:center;justify-content:center;padding:45px;background:#f9f8f3}.login-card{width:100%;max-width:365px}.login-card h2{font-size:35px;margin-bottom:15px}.login-card>.muted{font-size:13px;margin-bottom:34px}.login-card label{font-size:12px}.login-card .button{justify-content:space-between;margin-top:7px}.login-foot{font-size:10px;color:#a0a292;margin-top:25px;text-align:center}.error-page{max-width:600px;margin:15vh auto;padding:30px}.error-page h1{font-size:36px}
@media(min-width:1500px){.wine-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wine-visual{height:245px}.page{padding-left:55px;padding-right:55px}}
@media(max-width:1180px){.sidebar{width:205px;padding-left:15px;padding-right:15px}.main-shell{margin-left:205px}.brand{font-size:26px}.brand span{font-size:6px;letter-spacing:1.3px}.page{padding:30px 27px 0}.topbar{padding:0 27px}.site-footer{margin-left:27px;margin-right:27px}.stat{padding:0 14px;gap:9px}.stat>span{width:30px;height:30px}.stat div>span{font-size:9px}.stat svg{width:18px;height:18px}.wine-grid{gap:16px}.wine-info{padding-left:14px;padding-right:14px}.wine-card-footer{margin-left:14px;margin-right:14px}.wine-card-footer .rating small{font-size:9px}.advice-drawing{display:none}.recommendation-grid{grid-template-columns:1fr}.page-heading h1{font-size:38px}}
@media(max-width:980px){.wine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-row{align-items:flex-start;flex-direction:column;gap:15px}.stats{padding:19px 4px}.stat{padding:0 12px;gap:6px}.stat>span{display:none}.page-heading>.button{font-size:11px;padding:10px}.page-heading>.button svg{width:17px}.page-heading h1{font-size:35px}.page-heading p.muted{font-size:11px}.settings-grid{grid-template-columns:1fr}.login-story{padding:40px}.login-story h1{font-size:40px}.login-panel{padding:35px}.journal-grid{grid-template-columns:1fr}}
@media(max-width:720px){body{font-size:14px}.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:65px;padding:0 21px;background:var(--bg)}.breadcrumb{display:none}.mobile-brand{display:block;text-decoration:none;font:27px var(--serif);color:var(--ink)}.private-label{font-size:9px}.avatar{margin-left:6px}.page{padding:28px 19px 0;min-height:calc(100dvh - 170px)}.page-heading{margin-bottom:25px;align-items:flex-start}.page-heading h1{font-size:35px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.6px}.page-heading p.muted{font-size:12px;line-height:1.6;max-width:265px}.page-heading>.button{width:42px;height:42px;min-height:42px;padding:10px;font-size:0;flex-shrink:0;margin-top:26px;gap:0}.page-heading>.button svg{width:22px;height:22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;margin-bottom:24px}.stat{padding:17px 18px;gap:13px;border-bottom:1px solid var(--line)}.stat:nth-child(even){border-right:0}.stat:nth-child(n+3){border-bottom:0}.stat>span{display:flex;width:30px;height:30px}.stat strong{font-size:27px}.stat div>span{font-size:9px}.collection-toolbar{gap:8px;margin-bottom:17px}.collection-toolbar select{width:120px;padding:12px 6px;font-size:10px}.search-wrap input{font-size:11px;padding-left:35px;padding-right:8px}.search-wrap>span{left:11px}.filter-row{padding-bottom:16px;gap:14px}.filter-chips{gap:6px;flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:3px}.chip{font-size:10px;padding:7px 11px;min-height:35px}.check-inline{font-size:10px}.collection-caption{font-size:10px;margin:12px 0}.collection-caption select{font-size:10px;max-width:146px}.wine-grid{gap:13px}.wine-visual{height:191px;padding-bottom:11px}.wine-visual .maturity-badge{font-size:8px;top:8px;left:7px;padding:4px 5px;gap:3px}.wine-visual .maturity-badge svg{width:10px;height:10px}.wine-visual .bottle{transform:scale(.85);transform-origin:bottom}.wine-info{padding:13px 12px}.wine-info h3{font-size:19px}.wine-category{font-size:8px;gap:4px;margin-bottom:7px;flex-wrap:wrap}.wine-producer{font-size:10px}.wine-region{font-size:9px}.wine-card-footer{margin:0 11px;padding:11px 0;flex-wrap:wrap;gap:9px}.wine-card-footer .rating small{font-size:9px}.wine-card-footer .rating{font-size:11px}.stock-stepper{margin-left:auto;gap:4px}.stock-stepper button{width:29px;height:30px}.stock-stepper>span{font-size:11px;min-width:12px}.rating svg{width:12px;height:12px}.bottom-note{font-size:9px;margin:27px 0}.site-footer{margin:20px 19px 92px;font-size:8px;flex-wrap:wrap;gap:5px;padding:17px 0}.mobile-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;left:0;right:0;bottom:0;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:9px 8px calc(8px + env(safe-area-inset-bottom));z-index:30}.mobile-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:2px;color:#8c9284;font-size:9px;width:20%;padding:4px 0}.mobile-nav button>span{display:flex;align-items:center;justify-content:center}.mobile-nav button svg{height:21px;width:21px}.mobile-nav button.active{color:var(--wine);font-weight:600}.mobile-nav button.mobile-add{width:43px;height:43px;background:var(--wine);color:white;border-radius:13px;margin:0 9px;flex-shrink:0;justify-content:center}.mobile-nav .mobile-add svg{height:25px;width:25px}.toast{bottom:90px;font-size:12px}.empty-state{padding:41px 19px}.empty-state h2{font-size:27px}.empty-state p{font-size:12px}.empty-state .eyebrow{font-size:8px}.advice-hero{padding:25px 22px}.advice-hero h2{font-size:29px}.advice-hero form{flex-direction:column}.advice-hero input{font-size:12px}.advice-hero .button{font-size:12px}.section-heading h2{font-size:24px}.section-heading .muted{font-size:9px}.journal-card{padding:21px}.journal-card h3{font-size:22px}.settings-grid{gap:15px}.panel{padding:23px}.panel p{font-size:12px}.dialog{max-width:calc(100% - 16px);max-height:94dvh;border-radius:15px}.dialog-header{padding:22px 20px 17px;gap:10px}.dialog-header h2{font-size:25px}.dialog-body{padding:21px 20px}.dialog-footer{gap:8px}.dialog-footer .button{font-size:11px;padding:11px}.photo-step{gap:12px}.photo-preview{width:76px;height:120px}.photo-step h3{font-size:19px}.photo-step p{font-size:10px}.file-button{font-size:9px;padding:7px;min-height:35px}.file-button svg{height:16px;width:16px}.photo-step small{font-size:8px}.analyze-controls{flex-direction:column;align-items:stretch;gap:13px}.analyze-controls .button{font-size:12px}.form-divider{flex-direction:column;align-items:flex-start;gap:5px}.form-grid{gap:14px 11px}label{font-size:11px}input,select,textarea{font-size:16px;padding:10px;width:100%}.check-inline input{width:16px}.detail-hero{height:213px}.detail-heading h2{font-size:28px}.detail-heading{align-items:flex-start}.quantity-pill{font-size:10px;padding:5px 8px}.detail-actions .button{font-size:11px;padding:10px}.assessment-grid{grid-template-columns:1fr;gap:0}.assessment .section-heading{flex-wrap:wrap;gap:10px}.assessment .section-heading h3{font-size:23px}.reanalyze{flex-direction:column;align-items:stretch;gap:14px}.tasting-dialog h2{font-size:23px}.tasting-dialog .stack{gap:15px}.login-layout{display:flex;flex-direction:column}.login-story{padding:27px 25px 31px;min-height:280px}.login-story .brand{margin-bottom:30px;font-size:25px}.login-story h1{font-size:34px;margin-bottom:14px}.login-story .eyebrow{font-size:8px}.login-story p{font-size:11px;margin-bottom:0;max-width:280px}.login-art{display:none}.login-panel{padding:35px 25px;flex:1;align-items:flex-start}.login-card{max-width:420px}.login-card h2{font-size:28px}.login-card>.muted{font-size:12px;margin-bottom:23px}.login-card .eyebrow{font-size:8px}.login-card input{font-size:16px}.login-story h1 br{display:none}.login-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:720px){.wine-producer{font-size:12px}.wine-region{font-size:11px}.wine-category{font-size:9px}.wine-visual .maturity-badge{font-size:9px}.stat div>span{font-size:10px}.stock-stepper button{width:40px;height:40px}.stock-stepper{gap:7px}.wine-card-footer .rating small{font-size:10px}.wine-card-footer .rating{font-size:12px}.file-button{flex-direction:row;flex-wrap:wrap}}
