:root{--ink:#2f2830;--muted:#857882;--wine:#481c32;--wine2:#6c3049;--red:#a74d55;--gold:#bc955c;--cream:#f7f4ef;--border:#e7e0da;--white:#fff;--soft:#f4edf0;--shadow:0 18px 50px rgba(59,27,41,.08);--radius:17px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c7a46f;outline-offset:2px}.app-shell{min-height:100dvh;display:flex}.sidebar{width:252px;min-width:252px;background:var(--wine);color:#fff;padding:34px 23px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}.brand{display:flex;align-items:center;gap:12px;margin:0 0 64px 3px}.brand-mark{background:#e6c396;color:var(--wine);width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-family:Georgia,serif;font-size:28px;font-weight:bold;position:relative}.grape-dot{font-size:9px;position:absolute;bottom:7px;right:6px}.brand strong{font:700 22px/1 Georgia,serif;letter-spacing:3px}.brand small{display:block;color:#d6bfc9;font-size:9px;letter-spacing:2.15px;margin-top:6px}.side-label,.mini-tag{font-size:10px;letter-spacing:1.45px;color:#bfa7b3;font-weight:750;margin:0 0 15px 12px}.main-nav{display:grid;gap:9px}.nav-button{background:transparent;border:0;border-radius:12px;color:#e6dbe0;text-align:left;padding:13px 13px;display:flex;gap:13px;align-items:center;font-size:14px;font-weight:550;transition:.18s}.nav-button:hover,.nav-button.active{background:#704055;color:#fff}.nav-icon{font-size:21px;line-height:1;width:23px;text-align:center;color:#e5c29b}.sidebar-bottom{margin-top:auto;background:#593047;border:1px solid #76556a;padding:18px;border-radius:14px;font-size:12px;color:#ddcbd4}.sidebar-bottom .mini-tag{margin:0 0 7px;font-size:9px}.sidebar-bottom strong{color:white;font-size:14px}.sidebar-bottom p{margin:10px 0}.link-light{color:#f8dca9;text-decoration:underline;text-underline-offset:3px}.workspace{min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:82px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.62);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4.8vw,78px);gap:15px}.crumb{color:#968b92;text-transform:uppercase;font-size:10px;letter-spacing:1.3px;font-weight:800}.crumb span{margin:0 9px;color:#c1b4bd}.crumb strong{color:var(--wine)}.top-actions{display:flex;align-items:center;gap:20px}.small-status{font-size:12px;color:#7b7176;white-space:nowrap}.small-status i{display:inline-block;width:7px;height:7px;background:#6b9a83;border-radius:50%;margin-right:7px}.main-content{width:100%;max-width:1470px;padding:39px clamp(18px,4.8vw,78px) 68px;margin:0 auto;flex:1}.page-footer{border-top:1px solid var(--border);padding:17px 30px;text-align:center;color:#9e9496;font-size:11px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.0px;color:#9a7d75;text-transform:uppercase;margin:0 0 11px}.page-title{font:normal clamp(31px,3.2vw,45px)/1.16 Georgia,"Times New Roman",serif;letter-spacing:-.9px;color:var(--wine);margin:0 0 9px}.page-lead{color:var(--muted);max-width:790px;margin:0 0 25px}.hero{border-radius:23px;background:linear-gradient(122deg,#481c32,#71344e);padding:36px 36px 37px;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero:after{content:'✧';position:absolute;right:170px;top:-100px;color:#ffffff11;font:normal 380px Georgia,serif;transform:rotate(18deg);pointer-events:none}.hero .eyebrow{color:#dbc39c}.hero h1{font:normal clamp(32px,4vw,54px)/1.08 Georgia,serif;letter-spacing:-1.6px;max-width:660px;margin:0 0 18px}.hero p{color:#e7d6df;margin:0 0 25px;max-width:450px}.hero-art{height:218px;min-width:205px;position:relative;display:grid;place-items:center}.glass{font-family:Georgia,serif;font-size:148px;line-height:1;filter:drop-shadow(0 10px 5px #24101e44);transform:rotate(-8deg)}.glass:after{content:''}.hero-art:before{content:'';width:210px;height:210px;border:1px solid #ffffff28;border-radius:50%;position:absolute}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:white;color:var(--wine);padding:10px 15px;border-radius:10px;font-weight:750;font-size:13px;gap:8px;text-align:center;transition:.15s;white-space:normal}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px #32102119}.btn-primary{color:white;background:var(--wine);border-color:var(--wine)}.btn-gold{background:#e2bd83;border-color:#e2bd83;color:#482238}.btn-outline-light{color:#fce9df;background:#ffffff18;border-color:#ffffff55}.btn-soft{background:#f5edf0;border-color:#e9d9df;color:var(--wine)}.btn-sm{padding:9px 13px}.btn-danger{color:#ac3e4d;border-color:#efd1d7;background:#fff5f6}.btn-icon{width:36px;height:36px;min-width:36px;border:1px solid var(--border);background:white;border-radius:10px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:22px}.metric{background:#fff;border:1px solid var(--border);border-radius:15px;padding:18px 21px;box-shadow:0 3px 12px #32102107}.metric .value{color:var(--wine);font:normal 31px/1.2 Georgia,serif;display:block;margin:5px 0}.metric .label{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.4px}.section-head{margin:37px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.section-head h2{margin:0;font:normal 27px Georgia,serif;color:var(--wine)}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:22px;box-shadow:0 3px 15px #2d162408}.card.interactive{cursor:pointer;transition:.15s}.card.interactive:hover{transform:translateY(-2px);border-color:#d5bbca;box-shadow:var(--shadow)}.card h3{font:normal 22px/1.2 Georgia,serif;color:var(--wine);margin:4px 0 9px}.card p{margin:0;color:#766c73;font-size:13px}.card .subtitle{display:block;color:#9b7f8e;font-size:11px;letter-spacing:.3px;font-weight:700;margin-top:13px}.card .footerline{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #f0ebea;margin-top:16px;padding-top:12px;font-size:12px;color:var(--red);font-weight:700}.card-tag,.pill{display:inline-block;padding:5px 10px;border-radius:999px;background:#f5edf0;color:#894d64;font-size:11px;font-weight:750}.pill.light{background:#f7f4e9;color:#927545}.pill.green{background:#eaf6ee;color:#4d8669}.intro-split{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}.accent-card{background:#f5eadd;border:1px solid #eaddcd}.art-card{background:linear-gradient(130deg,#f4e9d9,#efe2d8);border:1px solid #e5d5c8}.art-card h3{font-size:29px}.tool-search{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 18px}.search-input{flex:1;min-width:210px;position:relative}.search-input input{width:100%;padding:13px 13px 13px 40px;border:1px solid #ded6d4;border-radius:12px;background:white;outline:none}.search-input:before{content:'⌕';position:absolute;left:15px;top:7px;font-size:24px;color:#a28b96}.select{border:1px solid #ded6d4;border-radius:12px;padding:12px 12px;background:white;color:var(--ink);max-width:100%}.tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:5px}.tab{border:1px solid var(--border);border-radius:10px;background:#fff;padding:9px 15px;font-size:12px;font-weight:750;white-space:nowrap;color:#8f7b87}.tab.active{background:var(--wine);border-color:var(--wine);color:#fff}.region-card{position:relative;min-height:188px}.region-card:before{content:'';position:absolute;top:19px;right:20px;width:36px;height:36px;border-radius:50%;background:#f5e6e1}.region-card:nth-child(3n+1):before{background:#f1ebd6}.region-card:nth-child(3n+2):before{background:#ede4f0}.cap{color:#9d7b8b;font-size:11px;font-weight:750;letter-spacing:1px}.region-card .desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grape-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#7a5364;font-weight:800}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;background:#f0d794;border:2px solid #e6c36e}.dot.red{background:#8b3652;border-color:#6d2b40}.stars{color:#ba8b4d;letter-spacing:1px}.wine-card{display:flex;gap:14px;align-items:flex-start}.wine-thumb{width:65px;height:88px;min-width:65px;background:linear-gradient(150deg,#ede2df,#f9f3ef);border-radius:10px;display:grid;place-items:center;color:#7b465f;font-size:37px;overflow:hidden}.wine-thumb img{width:100%;height:100%;object-fit:cover}.wine-body{min-width:0;flex:1}.wine-card h3{margin:0 0 4px}.wine-card .meta{font-size:12px;color:#9b8490;margin:6px 0;line-height:1.5}.wine-card .qty{font-weight:800;color:var(--wine)}.wine-card .cta{font-size:12px;color:#ac5f68;margin-top:11px;font-weight:800}.empty-state{background:#fff;border:1px dashed #d3c5cc;border-radius:18px;padding:50px 25px;text-align:center}.empty-state .empty-icon{font-size:53px}.empty-state h3{font:normal 26px Georgia,serif;margin:12px 0 6px;color:var(--wine)}.empty-state p{color:#8c7d84;margin:0 auto 20px;max-width:510px}.info-note{border-left:3px solid #c09e6c;background:#fff8ec;padding:12px 15px;border-radius:0 12px 12px 0;font-size:12px;color:#7c6650}.info-note p{margin:3px 0}.statbar{display:grid;grid-template-columns:105px 1fr 30px;align-items:center;gap:10px;font-size:12px;margin:7px 0;color:#6c636b}.statbar .track{background:#eee9e7;height:6px;border-radius:10px;overflow:hidden}.statbar .fill{background:#91546e;height:100%;border-radius:10px}.callout{display:flex;align-items:flex-start;gap:12px;background:#f7f2ea;border-radius:12px;padding:13px 15px;margin-top:14px;font-size:12px;color:#665d62}.detail-title{font:normal 34px/1.16 Georgia,serif;margin:5px 0 15px;color:var(--wine)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.detail-box{border:1px solid #eee5e5;border-radius:12px;padding:13px;background:#fff}.detail-box strong{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#977283;margin-bottom:5px}.detail-box p{font-size:13px;color:#51464d;margin:0;white-space:pre-line}.detail-box.wide{grid-column:span 2}.modal-root:empty{display:none}.modal-root{position:fixed;inset:0;background:#1d0a1687;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.modal{background:var(--cream);border-radius:22px;width:min(725px,100%);max-height:min(93dvh,950px);overflow:auto;box-shadow:0 25px 85px #1e0d1a88}.modal.wide{width:min(800px,100%)}.modal-head{padding:21px 25px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:10px;align-items:flex-start;position:sticky;top:0;background:var(--cream);z-index:1}.modal-head h2{margin:0;font:normal 27px Georgia,serif;color:var(--wine)}.modal-content{padding:23px 25px 28px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-weight:750;font-size:12px;color:#594955}.field input,.field textarea,.field select{width:100%;background:white;border:1px solid #ded6d4;border-radius:10px;padding:11px 12px;font-size:14px;color:#433844}.field textarea{resize:vertical;min-height:78px}.field input[type=file]{padding:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px}.form-grid .full{grid-column:span 2}.modal-actions{display:flex;justify-content:space-between;align-items:center;gap:13px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:20px;margin-top:8px}.picture-preview{width:80px;height:90px;object-fit:cover;border-radius:10px;border:1px solid var(--border);display:block;margin-top:6px}.settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid var(--border)}.settings-row h3{font-size:15px;margin:0 0 4px;color:var(--wine)}.settings-row p{font-size:12px;color:var(--muted);margin:0;max-width:560px}.settings-row .btn{flex-shrink:0}.source-link{display:block;color:#92576d;font-size:13px;text-decoration:underline;text-underline-offset:2px;margin:8px 0}.smallcaps{font-size:10px;color:#967984;letter-spacing:1.3px;text-transform:uppercase;font-weight:800}.loading{padding:30px;color:var(--muted)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#34202c;color:white;padding:12px 20px;border-radius:12px;font-size:13px;transition:.22s;z-index:100;max-width:90vw;text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}.mobile-nav{display:none}.guide-search-item{display:grid;gap:4px;border-bottom:1px solid #eee7e7;padding:11px 0}.guide-search-item strong{color:var(--wine);font-size:14px}.guide-search-item small{color:var(--muted)}.guide-search-item span{font-size:12px;color:#6f636c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-search-item button{margin-top:5px;width:max-content}.mini-chart{display:flex;gap:4px;align-items:end;height:26px}.mini-chart b{width:8px;border-radius:3px 3px 0 0;background:#b28296}
@media(max-width:1180px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{width:214px;min-width:214px;padding-inline:15px}}
@media(max-width:760px){body{font-size:14px}.sidebar{display:none}.topbar{height:64px;padding:0 18px}.small-status{display:none}.main-content{padding:25px 17px 100px}.page-footer{display:none}.hero{padding:26px 22px}.hero-art{display:none}.hero h1{font-size:38px;letter-spacing:-1px}.metrics{gap:10px;margin-top:13px}.metric{padding:15px}.metric .value{font-size:26px}.grid,.grid.two,.intro-split{grid-template-columns:1fr}.grid{gap:12px}.section-head{margin-top:30px}.section-head h2{font-size:24px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:75px;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box;display:flex;align-items:center;justify-content:space-around;background:#fff;border-top:1px solid var(--border);z-index:25;box-shadow:0 -10px 35px #32102110}.mobile-nav button{border:0;background:transparent;display:grid;place-items:center;gap:1px;color:#9f8f97;font-size:10px;font-weight:750;min-width:52px}.mobile-nav button span{font-size:23px;line-height:1.3}.mobile-nav button.active{color:var(--wine)}.modal-root{padding:0;align-items:flex-end}.modal{border-radius:20px 20px 0 0;max-height:93dvh;width:100%}.modal-head,.modal-content{padding-left:18px;padding-right:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.detail-grid{grid-template-columns:1fr}.detail-box.wide{grid-column:auto}.settings-row{flex-direction:column}.crumb{font-size:9px}.top-actions .btn{font-size:12px;padding:8px 10px}.toast{bottom:93px}.tool-search{gap:9px}.search-input{min-width:100%}.tabs{margin-right:-17px}.page-title{font-size:34px}.topbar .crumb{max-width:50%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(min-width:761px){.card.tall{min-height:225px}}

/* WineAndMe v2 additions */
.brand strong{font-size:19px;letter-spacing:1.3px}.brand small{letter-spacing:1.6px}.stack-actions{display:flex;flex-direction:column;gap:8px}.stack-actions .btn{white-space:nowrap}
.pair-planner{display:flex;gap:20px;align-items:center;justify-content:space-between;border:1px solid #e5d0b6;background:linear-gradient(130deg,#fff8ec,#faf3ec);border-radius:18px;padding:23px;margin:20px 0 25px}
.pair-planner h3{font:normal 25px Georgia,serif;color:var(--wine);margin:7px 0}.pair-planner p{max-width:560px;font-size:12px;color:#796c72;margin:0}.pair-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.pair-controls select{max-width:250px;min-width:185px}.label-quickadd{background:#fff8ed;border:1px solid #eadac5;border-radius:14px;padding:15px 16px;margin-bottom:19px}.label-quickadd p{font-size:12px;line-height:1.5;color:#75626c;margin:7px 0 10px}.label-quickadd textarea{width:100%;border-radius:10px;border:1px solid #d9c4c0;padding:12px;resize:vertical;background:white;font:inherit}.label-quickadd .btn{margin-top:10px}.label-quickadd #label-message{margin:6px 0 0;color:#755246;font-weight:700}.match-title{font:normal 25px Georgia,serif;margin:25px 0 15px;color:var(--wine)}.recommendation{display:flex;align-items:center;gap:14px;border:1px solid #eee0e4;border-radius:12px;background:#fff;margin:10px 0;padding:13px}.recommendation>div:nth-child(2){min-width:0;flex:1}.recommendation b{color:var(--wine)}.recommendation p{color:#88717d;font-size:12px;margin:4px 0}.recommendation small{font-size:11px;color:#73666d}.limitations{color:#846f7a;font-size:11px;margin-top:15px}@media(max-width:850px){.pair-planner{flex-wrap:wrap}.pair-controls{width:100%}.pair-controls select{flex:1;max-width:none}}@media(max-width:500px){.recommendation{flex-wrap:wrap}.recommendation .wine-thumb{width:45px;min-width:45px;height:62px}.recommendation .btn{margin-left:auto}.pair-planner{padding:16px}.pair-controls{display:grid;grid-template-columns:1fr}.pair-controls select{width:100%}}

/* WineAndMe v2.1 — discover wine by photo or name */
.lookup-head{display:flex;gap:14px;align-items:center;border:1px solid #eadfe0;border-radius:16px;padding:18px;background:linear-gradient(130deg,#fbf4ed,#fff)}
.lookup-head h3{font:normal 30px Georgia,serif;color:var(--wine);margin:0 0 4px}.lookup-head p{font-size:13px;color:#7c6d72;margin:0}.lookup-head .eyebrow{font-size:10px;margin:0 0 5px}
.lookup-icon{border-radius:50%;width:64px;height:64px;min-width:64px;background:#f2e7e4;display:grid;place-items:center;font-size:30px}
.finder-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.finder-card{cursor:pointer;display:flex;flex-direction:column;gap:6px;min-height:142px;border:1px solid #ddcdd1;border-radius:14px;background:#fff;padding:17px;transition:transform .2s,border-color .2s}
.finder-card:hover{border-color:#97667d;transform:translateY(-1px)}.finder-card b{color:var(--wine);font-size:14px}.finder-card small{color:#877781;line-height:1.4;font-size:12px}.finder-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.finder-symbol{font-size:29px}
.lookup-name{margin:18px 0 10px}.lookup-name span{font-size:12px;font-weight:750;color:#594955}.lookup-name input{font-size:16px!important;padding:15px!important}
.lookup-row{display:flex;gap:9px;flex-wrap:wrap}.lookup-tip{font-size:11px;color:#86767d;line-height:1.55;margin:15px 0}.lookup-status{border-radius:11px;padding:11px 13px;color:#7d6067;background:#f7f1ef;font-size:12px;line-height:1.55;margin:15px 0}.lookup-status:empty{display:none}.lookup-status.loading{background:#f6f0e8;color:#815f42}.lookup-status.warn{background:#fff7e7;color:#7d5d38}.lookup-status.success{background:#edf5ed;color:#426248}
.lookup-results-title{margin:20px 0 7px;color:#8a6676;font-size:10px;letter-spacing:1px;font-weight:800}.lookup-result{display:flex;text-align:left;width:100%;padding:13px 10px;background:#fff;border:1px solid #e7dde1;border-radius:13px;margin:8px 0;cursor:pointer;gap:12px;align-items:center}.lookup-result:hover{border-color:#a8758c;background:#fffafb}.result-photo{width:54px;height:66px;min-width:54px;border-radius:9px;background:#f7efed;display:grid;place-items:center;color:#7c4d62;font-size:27px;overflow:hidden}.result-photo img{object-fit:contain;max-width:100%;max-height:100%}.result-text{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.result-text b{font-size:14px;color:var(--wine)}.result-text small{font-size:11px;color:#756b70}.result-text em{font-size:11px;color:#956d80;font-style:normal}.result-arrow{font-size:18px;color:#965878}
.lookup-links{display:flex;flex-wrap:wrap;gap:14px;margin:15px 0}.lookup-links a,.source-strip a{color:#8a345c;text-decoration:underline;text-underline-offset:2px;font-size:12px}.lookup-photo-preview{display:flex;gap:12px;padding:12px;border:1px solid #e5d8d9;border-radius:12px;background:#fff}.lookup-photo-preview[hidden]{display:none}.lookup-photo-preview img{width:95px;max-height:120px;border-radius:9px;object-fit:contain}.lookup-photo-preview p{font-size:11px;color:#74666e;white-space:pre-line;margin:4px 0;max-height:120px;overflow:auto}.lookup-photo-preview strong{color:var(--wine);font-size:12px}
.source-strip{border-left:3px solid #b98e64;background:#fff9f2;padding:12px 15px;margin:15px 0;border-radius:0 11px 11px 0;font-size:12px;color:#68595c}.source-strip p{margin:5px 0 0;color:#7d7378}
@media(max-width:500px){.lookup-head{padding:13px}.lookup-icon{width:47px;height:47px;min-width:47px;font-size:25px}.lookup-head h3{font-size:25px}.finder-cards{gap:9px}.finder-card{padding:12px;min-height:157px}.finder-card b{font-size:12px}.finder-card small{font-size:11px}.lookup-row .btn{flex:1;white-space:normal;line-height:1.35}}

/* WineAndMe v3 — editable food library, independent live research */
.food-intro{background:#fbf4ef;color:#6b5660;border-radius:12px;padding:13px;font-size:13px;line-height:1.55;margin-bottom:15px}
.food-tags{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 13px;border:1px solid #e8dde0;padding:15px;border-radius:12px;background:#fcf9fa}
.food-tags label{font-size:13px;display:flex;gap:7px;align-items:center;color:#594a50;cursor:pointer}.food-tags input{accent-color:#7a3452;width:16px;height:16px}
.research-links{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.research-links a{background:#fff8f2;border:1px solid #e7d9cf;border-radius:9px;padding:9px 12px;color:#86405d;text-decoration:none;font-size:12px;font-weight:650}.research-links a:hover{background:#f7ece8}
.source-intro{font-size:12px;color:#7e6c74;margin:6px 0 12px}.research-card{display:flex;flex-direction:column;gap:5px;border:1px solid #e8dae0;border-radius:12px;padding:13px 15px;background:#fff;text-decoration:none;color:#4c3040;margin:8px 0}.research-card b{font-size:14px}.research-card span{font-size:12px;line-height:1.5;color:#756a71}.research-loading{font-size:12px;color:#947b80;padding:14px;border:1px dashed #e2d4da;border-radius:10px}
@media(max-width:480px){.food-tags{grid-template-columns:1fr}.research-links a{flex:1 1 100%;text-align:center}}

/* V3.1 scanned-text correction */
.lookup-recognized{margin:16px 0;border:1px solid #e6d9e0;padding:14px;border-radius:12px;background:#fdfafb}
.lookup-recognized[hidden]{display:none!important}
.lookup-recognized>label{font-weight:700;display:block;font-size:13px;color:var(--wine);margin-bottom:8px}
.lookup-recognized textarea{width:100%;min-height:98px;box-sizing:border-box;border:1px solid #d8c5ce;border-radius:8px;background:#fff;padding:10px;font:14px/1.4 system-ui,sans-serif}
.lookup-recognized .lookup-row{margin-top:10px;flex-wrap:wrap}

/* WineAndMe 4.0 Cloudflare Vision */
.vision-config{margin:14px 0;border:1px solid #dec8cc;border-radius:14px;background:#faf3f4;padding:15px;display:grid;gap:8px}
.vision-config>div{display:flex;flex-direction:column;gap:3px}.vision-config>div b{color:var(--wine);font-size:15px}.vision-config small{font-size:12px;color:#66535f;line-height:1.5}
.vision-config label{font-weight:700;color:#533d4a;font-size:12px}.vision-config input{min-width:160px;flex:1;padding:11px 13px;border-radius:9px;border:1px solid #d6bfc7;font-size:14px;background:white}.vision-config .lookup-tip{margin:1px 0 0}
.vision-result{border:1px solid #dcbfa0;border-radius:15px;padding:17px;background:#fff9f2;margin:14px 0}.vision-result[hidden]{display:none}.vision-result h3{color:var(--wine);font:normal 27px Georgia,serif;margin:11px 0}.vision-result p{font-size:12px;line-height:1.5;color:#604c54}.vision-ribbon{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center}.vision-ribbon span{font-size:10px;letter-spacing:.6px;font-weight:850;color:#783c53}.vision-ribbon small{font-size:10px;color:#865a54}.vision-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0}.vision-facts>div{display:flex;flex-direction:column;gap:3px;border:1px solid #ecd9cf;border-radius:9px;padding:10px}.vision-facts b{font-size:10px;text-transform:uppercase;color:#94677c}.vision-facts span{color:#4b3442;font-size:13px}.vision-warning{background:#fff0d7;border-radius:9px;padding:10px}@media(max-width:450px){.vision-facts{grid-template-columns:1fr}}
/* v4.1: name lookup is the first, standalone action. Works without AI binding. */
.lookup-name-first {padding:14px 0 18px;border-bottom:1px solid #e8dce1;}
.lookup-name-first .lookup-name {margin-top:10px;}
.lookup-name-first .lookup-row {margin-top:12px;}
.lookup-camera-section {margin-top:20px;padding-top:4px;}
.lookup-camera-section>.eyebrow {display:block;margin-bottom:12px;}
.wine-online-ref {border:1px solid #e1d4d8;background:#fff;border-radius:13px;padding:14px;margin:10px 0;}
.wine-online-ref-head {display:flex;gap:8px;justify-content:space-between;align-items:start;color:#471c31;}
.wine-online-ref-head span {white-space:nowrap;font-size:11px;color:#705968;padding:3px 7px;border-radius:7px;background:#f5eaf0;}
.wine-online-ref p {font-size:14px;line-height:1.6;color:#614c59;margin:8px 0;}
.wine-online-ref-actions {display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0;}
.wine-online-ref-actions a{color:#6f334e;text-decoration:underline;font-size:13px;}
.wine-online-ref small{color:#806b77;font-size:12px;}
.wine-catalogue-note{padding:8px 2px;}
.wine-name-draft{background:#f8f4eb;padding:15px;border-radius:12px;margin-top:16px;}
.wine-name-draft p {margin:0 0 9px;font-size:14px;}
@media(max-width:600px){.wine-online-ref-actions>.btn{width:100%;}}
