:root{--ink:#0d0b0e;--ink-soft:#151116;--panel:#1a1418;--panel-raised:#21161c;--wine:#8f1830;--wine-bright:#b5354d;--berry:#ce7180;--copper:#d58358;--copper-muted:#8d5947;--cream:#f0e6db;--muted:#bda8a7;--line:#d5835847;--line-soft:#ce71802b;--shadow:0 24px 80px #0000006b;--font-geist-sans:"Segoe UI", system-ui, sans-serif;--font-geist-mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{background:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--cream);font-family:var(--font-geist-sans), "Segoe UI", sans-serif;background:radial-gradient(circle at 72% 20%,#7119321f,#0000 36rem),linear-gradient(145deg,#0d0b0e,#100d11 48%,#0c0a0d);min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.app-shell{background-color:#0000;background-image:linear-gradient(#ffffff03 1px,#0000 1px),linear-gradient(90deg,#ffffff02 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh}.topbar{border-bottom:1px solid var(--line-soft);z-index:30;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0b090ceb;grid-template-columns:auto auto 1fr auto;align-items:stretch;height:94px;display:grid;position:sticky;top:0}.wordmark{border:0;border-right:1px solid var(--line);color:var(--cream);cursor:pointer;letter-spacing:.02em;background:0 0;padding:0 46px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.55rem}.section-mark{color:var(--berry);letter-spacing:.02em;align-items:center;gap:14px;padding:0 34px;font-size:1.18rem;display:flex}.mini-flask,.stat-icon,.compass-icon{border:1px solid var(--copper-muted);border-radius:999px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.mini-flask svg,.stat-icon svg,.compass-icon svg{width:20px;height:20px}.topbar nav{justify-content:flex-end;align-items:stretch;display:flex}.topbar nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;min-width:112px;padding:0 22px;position:relative}.topbar nav button:after{background:var(--copper);content:"";opacity:0;height:1px;transition:all .18s;position:absolute;bottom:20px;left:35%;right:35%;transform:scaleX(0)}.topbar nav button.active,.topbar nav button:hover{color:var(--copper)}.topbar nav button.active:after{opacity:1;transform:scaleX(1)}.account-wrap{align-items:center;padding:0 34px 0 18px;display:flex;position:relative}.avatar{border:1px solid var(--copper);cursor:pointer;background:0 0;border-radius:999px;width:52px;height:52px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.25rem}.account-menu{border:1px solid var(--line);box-shadow:var(--shadow);background:#181217;border-radius:12px;min-width:170px;padding:14px;position:absolute;top:78px;right:28px}.account-menu p{color:var(--cream);margin:2px 6px 12px}.account-menu button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 6px;display:flex}.account-menu svg{width:16px;height:16px}.page{max-width:1440px;margin:0 auto;padding:86px 68px 72px}.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);gap:48px;min-height:360px;display:grid}.hero-copy{padding-top:20px}.eyebrow{color:var(--berry);letter-spacing:.18em;text-transform:uppercase;font-size:.7rem;font-weight:600}.hero-copy h1,.page-heading h1,.detail-hero h1{letter-spacing:-.045em;margin:20px 0 24px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-weight:400;line-height:.98}.hero-copy h1{font-size:clamp(3.7rem,6vw,6.2rem)}.ornament-line{color:var(--copper);align-items:center;max-width:520px;margin:30px 0 38px;display:flex}.ornament-line svg{width:18px;height:18px}.ornament-line span{background:linear-gradient(90deg, var(--copper), transparent);width:100%;height:1px;margin-left:-2px}.hero-actions{flex-wrap:wrap;align-items:center;gap:36px;display:flex}.primary-button,.ghost-button,.text-button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:14px;min-height:58px;padding:0 28px;transition:all .18s;display:inline-flex}.primary-button{border:1px solid var(--copper);color:var(--cream);background:linear-gradient(125deg,#ffffff14,#0000 44%),linear-gradient(135deg,#81152b,#a42038);box-shadow:inset 0 0 28px #ffffff09,0 12px 30px #5f091f4d}.primary-button:hover{transform:translateY(-2px);box-shadow:inset 0 0 32px #ffffff12,0 16px 36px #730c2573}.primary-button:disabled{cursor:wait;opacity:.6;transform:none}.primary-button svg,.ghost-button svg,.text-button svg{width:22px;height:22px}.primary-button.full{width:100%;margin-top:8px}.text-button{color:var(--berry);text-decoration:underline;-webkit-text-decoration-color:var(--copper-muted);text-decoration-color:var(--copper-muted);text-underline-offset:8px;background:0 0;border:0;padding-left:0;text-decoration-style:dotted}.text-button:hover{color:var(--copper)}.palate-map{aspect-ratio:1.28;background:radial-gradient(#9a1e3e61,#3c14242e 35%,#0000 70%);align-self:center;min-height:360px;position:relative;overflow:hidden}.contour{border:1px solid #bb4e6533;border-radius:46% 54% 55% 45%/60% 43% 57% 40%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-7deg)}.c1{width:24%;height:24%}.c2{width:42%;height:42%;transform:translate(-50%,-50%)rotate(8deg)}.c3{width:62%;height:62%;transform:translate(-50%,-50%)rotate(-12deg)}.c4{width:84%;height:84%;transform:translate(-50%,-50%)rotate(13deg)}.map-core{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.map-core span{color:var(--cream);font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:3.3rem}.map-core small,.map-label{color:var(--berry);letter-spacing:.15em;text-transform:uppercase;font-size:.58rem}.map-label,.signal{position:absolute}.map-label.fruit{top:12%;left:48%}.map-label.acid{top:49%;right:8%}.map-label.tannin{bottom:20%;left:9%}.map-label.finish{bottom:6%;left:50%}.signal{color:var(--copper);font-size:1.45rem;font-weight:200}.signal-one{top:28%;left:32%}.signal-two{top:34%;right:24%}.signal-three{bottom:22%;right:32%}.summary-grid{grid-template-columns:.72fr .72fr 2fr;gap:22px;margin-top:4px;display:grid}.stat-card,.recent-card,.review-card,.form-section{border:1px solid var(--line-soft);background:linear-gradient(135deg,#ffffff06,#0000),#1a1418d1;box-shadow:inset 0 1px #ffffff05}.stat-card{min-height:208px;padding:30px}.stat-top{align-items:center;gap:26px;display:flex}.stat-top strong{color:#d8b8bd;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:4rem;font-weight:400}.dotted-rule{border-top:2px dotted #d5835859;margin:18px 0}.stat-card p{color:var(--muted);margin:0 0 0 14px;font-size:1.08rem}.recent-card{cursor:pointer;text-align:left;border-color:#d583588c;grid-template-columns:132px 1fr auto;align-items:center;gap:26px;padding:26px 28px;display:grid}.recent-card:hover{background-color:#2c1821d1;transform:translateY(-2px)}.instrument-dial{aspect-ratio:1;outline-offset:-12px;border:1px solid #d5835859;border-radius:999px;outline:1px dotted #ce718066;justify-content:center;align-items:center;display:flex}.instrument-dial span{background:var(--copper);box-shadow:0 0 28px var(--wine-bright);width:21px;height:21px;transform:rotate(45deg)}.recent-copy h2{margin:8px 0 18px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1.65rem,2.4vw,2.5rem);font-weight:400;line-height:1.1}.recent-meta{color:var(--muted);flex-wrap:wrap;gap:18px;font-size:.78rem;display:flex}.recent-meta span,.detail-meta span{align-items:center;gap:7px;display:inline-flex}.recent-meta svg,.detail-meta svg{width:15px;height:15px}.rating-row{color:var(--berry);align-items:baseline;gap:12px;margin-top:18px;display:flex}.rating-row strong{color:var(--cream)}.round-arrow{border:1px solid var(--copper);border-radius:999px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.round-arrow svg{height:20px}.kyle-line{color:var(--berry);align-items:center;gap:24px;margin-top:58px;display:flex}.kyle-line .line{background:linear-gradient(90deg, var(--line), #d583581a);width:100%;height:1px}.crosshair{color:var(--copper);font-size:1.6rem}.inner-page{max-width:1180px;min-height:calc(100vh - 94px)}.page-heading{max-width:770px;margin-bottom:46px}.page-heading h1,.detail-hero h1{font-size:clamp(3rem,5vw,5rem)}.page-heading>p:last-child{color:var(--muted);font-size:1.05rem;line-height:1.7}.search-field{border:1px solid var(--line-soft);background:#1a1418cc;align-items:center;gap:14px;max-width:560px;margin-bottom:24px;padding:0 20px;display:flex}.search-field input{color:var(--cream);background:0 0;border:0;outline:0;width:100%;min-height:54px}.history-list{border-top:1px solid var(--line)}.history-row{border:0;border-bottom:1px solid var(--line-soft);cursor:pointer;text-align:left;background:0 0;grid-template-columns:42px 1fr 95px 100px 26px;align-items:center;gap:22px;width:100%;padding:25px 12px;display:grid}.history-row:hover{background:linear-gradient(90deg,#8f183024,#0000)}.history-index{color:var(--copper-muted);font-family:var(--font-geist-mono), monospace;font-size:.72rem}.history-main{flex-direction:column;gap:4px;display:flex}.history-main small{color:var(--berry);letter-spacing:.08em;text-transform:uppercase}.history-main strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.5rem;font-weight:400}.history-main span,.history-meta{color:var(--muted);font-size:.78rem}.history-rating{flex-direction:column;align-items:center;display:flex}.history-rating strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2rem;font-weight:400}.history-rating small{color:var(--muted);font-size:.6rem}.back-button,.close-button{color:var(--berry);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;display:inline-flex}.back-button{margin-bottom:44px}.back-button svg{height:18px}.detail-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:44px;display:flex}.detail-meta{color:var(--muted);flex-wrap:wrap;gap:20px;display:flex}.score-seal{border:1px solid var(--copper);outline-offset:-11px;border-radius:999px;outline:1px dotted #ce718080;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:148px;height:148px;display:flex}.score-seal strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:3.2rem;font-weight:400}.score-seal span{color:var(--berry);letter-spacing:.1em;text-transform:uppercase;font-size:.6rem}.occasion-note{border-left:1px solid var(--copper);color:var(--muted);margin:40px 0;padding:10px 0 10px 28px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.4rem;line-height:1.6}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:46px;display:grid}.review-card{min-height:280px;padding:30px}.review-head{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.review-person,.review-fields legend span{border:1px solid var(--copper-muted);background:#8f183038;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.review-head p,.review-head small{margin:0}.review-head small{color:var(--muted);text-transform:capitalize}.review-head>strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2.5rem;font-weight:400}.review-head>strong span{color:var(--muted);font-family:var(--font-geist-sans), sans-serif;font-size:.75rem}.review-notes{color:#d7c8c2;white-space:pre-wrap;line-height:1.8}.price-meta{border:1px solid var(--line-soft);border-radius:999px;padding:4px 10px;color:var(--copper)!important}.review-analysis{flex-direction:column;display:flex}.analysis-block{border-top:1px solid var(--line-soft);padding:26px 0 4px}.analysis-block:first-child{border-top:0;padding-top:4px}.analysis-block h3{color:var(--copper);margin:0 0 18px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.25rem;font-weight:400}.observation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.observation-grid>div{background:#0a080b59;border:1px solid #ce71801f;padding:12px 14px}.observation-grid dt,.vibes-readout small,.aroma-groups h4{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.63rem;font-weight:500}.observation-grid dd{color:#e3d5cf;margin:0}.analysis-prose,.vibes-readout p{color:#d7c8c2;white-space:pre-wrap;line-height:1.65}.aroma-groups{flex-direction:column;gap:18px;display:flex}.descriptor-list{flex-wrap:wrap;gap:8px;display:flex}.descriptor-list span{color:#dfc9c8;background:#8f183026;border:1px solid #ce718038;border-radius:999px;padding:7px 10px;font-size:.82rem}.metric-readout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-readout{background:#0a080b59;border:1px solid #ce71801f;gap:7px;padding:13px 14px;display:grid}.metric-readout>span,.metric-readout small{color:var(--muted);font-size:.65rem}.metric-readout strong{color:#e2c9ca;font-size:.92rem;font-weight:500}.metric-track{background:#ce718026;height:3px;overflow:hidden}.metric-track i{background:linear-gradient(90deg, var(--wine), var(--copper));height:100%;display:block}.vibes-readout>div+div{border-top:1px dotted #d583583d;margin-top:16px;padding-top:16px}.vibes-readout p{margin-bottom:0}.personal-readout{padding-bottom:0}.tasting-heading{justify-content:space-between;align-items:flex-start;max-width:none;display:flex}.close-button{border:1px solid var(--line);border-radius:999px;justify-content:center;width:46px;height:46px}.tasting-form{flex-direction:column;gap:24px;display:flex}.draft-status{border:1px solid var(--line);color:var(--muted);background:#d5835812;border-radius:6px;justify-content:space-between;align-items:center;min-height:48px;padding:10px 14px;font-size:.78rem;display:flex}.draft-status>span{align-items:center;gap:8px;display:flex}.draft-status>span>svg{color:var(--copper);width:16px;height:16px}.draft-status small{color:#7d6c72;margin-left:4px}.draft-status button{color:#9d898d;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 4px;font-size:.72rem;display:inline-flex}.draft-status button:hover{color:var(--copper)}.draft-status button svg{width:14px;height:14px}.draft-status.unavailable{color:#e4b6bd;background:#97192f1f}.form-section{grid-template-columns:62px 1fr;gap:30px;padding:34px;display:grid}.section-number{color:var(--copper);font-family:var(--font-geist-mono), monospace;padding-top:8px;font-size:.75rem}.section-content h2{margin:0 0 28px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2rem;font-weight:400}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{flex-direction:column;gap:9px;display:flex}.field>span,.scientist-picker legend{color:var(--muted);letter-spacing:.06em;font-size:.72rem}.field.wide{grid-column:1/-1}.field input,.field textarea,.field select{color:var(--cream);background:#0a080b9e;border:1px solid #ce718040;border-radius:5px;width:100%;padding:14px 15px}.field input,.field select{min-height:50px}.field textarea{resize:vertical;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#74676d}.scientist-reviews{grid-template-columns:1fr;gap:22px;display:grid}.review-fields{border:1px solid var(--line-soft);margin:0;padding:24px}.review-fields legend{color:var(--cream);align-items:center;gap:12px;padding:0 12px;font-size:1rem;display:flex}.review-fields legend span{width:34px;height:34px}.review-fields .field+.field{margin-top:20px}.field>small{color:#88787e;font-size:.68rem;line-height:1.45}.rich-review-fields{background:#0a080b33;padding:28px}.scientist-instruction{color:var(--muted);margin:4px 0 18px;font-size:.82rem}.observation-group{border:0;border-top:1px solid var(--line-soft);margin-top:0;padding:0}.observation-group summary{color:#e4d4ce;cursor:pointer;align-items:center;gap:12px;padding:22px 2px;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.35rem;list-style:none;display:flex}.observation-group summary::-webkit-details-marker{display:none}.observation-group summary:after{color:var(--copper);content:"+";font-family:var(--font-geist-sans), sans-serif;margin-left:auto;font-size:1rem}.observation-group[open] summary:after{content:"−"}.observation-group summary span{color:var(--copper-muted);font-family:var(--font-geist-mono), monospace;font-size:.62rem}.observation-fields{gap:18px;padding:0 2px 26px;display:grid}.two-column-fields,.metric-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.final-observation{padding:24px 2px 0}.final-observation .observation-fields{padding-bottom:0}.form-actions{justify-content:flex-end;align-items:center;gap:16px;padding:12px 0 40px;display:flex}.ghost-button{border:1px solid var(--line-soft);color:var(--muted);background:0 0}.form-message{border-radius:5px;margin:0;padding:14px 16px}.form-message.error,.error-banner{color:#f4cbd1;background:#97192f2e;border:1px solid #ce71808c}.error-banner{justify-content:space-between;align-items:center;max-width:1180px;margin:18px auto 0;padding:14px 18px;display:flex}.error-banner button{color:var(--copper);cursor:pointer;background:0 0;border:0;text-decoration:underline}.loading-state{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:calc(100vh - 94px);display:flex}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex;position:relative;overflow:hidden}.login-atmosphere{width:min(92vw,920px);height:min(92vw,920px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit{border:1px solid #ce718021;border-radius:46% 54% 53% 47%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(12deg)}.orbit-one{width:52%;height:52%}.orbit-two{width:74%;height:74%;transform:translate(-50%,-50%)rotate(-14deg)}.orbit-three{width:96%;height:96%;transform:translate(-50%,-50%)rotate(7deg)}.login-card{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;z-index:1;background:linear-gradient(145deg,#ffffff09,#0000 46%),#181217ed;width:100%;max-width:460px;padding:46px;position:relative}.brand-mark{border:1px solid var(--copper);outline-offset:6px;border-radius:999px;outline:1px dotted #ce718066;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex}.brand-mark svg{color:var(--berry);height:27px}.login-card h1{margin:10px 0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:3.5rem;font-weight:400}.login-intro{color:var(--muted);max-width:330px;margin:0 auto 32px;line-height:1.6}.scientist-picker{text-align:left;border:0;margin:0 0 22px;padding:0}.scientist-picker legend{margin-bottom:10px}.scientist{border:1px solid var(--line-soft);cursor:pointer;background:#0a080b9e;align-items:center;gap:9px;min-height:44px;margin-right:8px;padding:6px 14px 6px 7px;display:inline-flex}.scientist span{border:1px solid var(--copper-muted);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.scientist.active{border-color:var(--copper);background:#8f183047}.login-card form{text-align:left}.login-card .field+.field{margin-top:18px}.privacy-note{color:#766a6e;text-align:center;margin:24px 0 0;font-size:.66rem}.mobile-nav{display:none}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.lab-home-page{padding-top:70px}.lab-home-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.6fr);align-items:center;gap:80px;min-height:340px;display:grid}.lab-home-hero h1,.area-heading h1,.recipe-detail-copy h1,.area-empty-state h2,.recipe-detail-grid h2{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-weight:400}.lab-home-hero h1{letter-spacing:-.055em;margin:22px 0;font-size:clamp(3.8rem,7vw,6.9rem);line-height:.92}.lab-home-intro{color:var(--muted);max-width:680px;margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.28rem;line-height:1.65}.home-orbit{aspect-ratio:1;justify-self:center;width:100%;max-width:330px;position:relative}.orbit-core,.orbit-dot,.home-orbit-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home-orbit-ring{border:1px solid var(--line);border-radius:999px}.home-orbit-ring.ring-one{width:58%;height:58%}.home-orbit-ring.ring-two{border-color:#899c5640;width:92%;height:92%}.orbit-core{border:1px solid var(--copper);background:radial-gradient(circle,#5d1728,#1a1017 72%);border-radius:999px;justify-content:center;align-items:center;width:96px;height:96px;display:flex;box-shadow:0 0 70px #8f183042}.orbit-core svg{width:34px;height:34px}.orbit-dot{background:var(--panel-raised);border:1px solid var(--line);border-radius:999px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.orbit-dot svg{width:22px;height:22px}.dot-wine{color:var(--berry);transform:translate(78px,-130px)}.dot-pickle{color:#a6b86b;transform:translate(-155px,38px)}.dot-kitchen{color:#e3a26b;transform:translate(82px,82px)}.lab-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:52px;display:grid}.lab-module-card{border:1px solid var(--line-soft);color:var(--cream);text-align:left;background:linear-gradient(145deg,#1f171df0,#130f13f5);border-radius:18px;flex-direction:column;align-items:flex-start;min-height:285px;padding:24px;display:flex;position:relative;overflow:hidden}button.lab-module-card{cursor:pointer}button.lab-module-card:hover{border-color:var(--copper-muted);transform:translateY(-3px)}.lab-module-card:after{content:"";opacity:.1;border:1px solid;border-radius:999px;width:160px;height:160px;position:absolute;top:-64px;right:-62px}.wine-module{color:var(--berry)}.pickle-module{color:#a6b86b}.kitchen-module{color:#e3a26b}.inventory-module{color:#8da2aa;opacity:.68}.module-index{font-family:var(--font-geist-mono);letter-spacing:.14em;opacity:.7;font-size:.72rem}.module-icon{border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;margin:34px 0 30px;display:flex}.module-icon svg{width:24px;height:24px}.module-copy{flex-direction:column;gap:7px;display:flex}.module-copy small{color:currentColor;letter-spacing:.13em;text-transform:uppercase;font-size:.68rem}.module-copy strong{color:var(--cream);font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.8rem;font-weight:400}.module-copy>span{color:var(--muted);font-size:.86rem;line-height:1.45}.area-heading{justify-content:space-between;align-items:flex-end;display:flex}.area-heading h1{letter-spacing:-.05em;margin:15px 0 16px;font-size:clamp(3.3rem,6vw,5.7rem);line-height:.96}.area-heading>div>p:last-child{color:var(--muted);margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.12rem}.kitchen-eyebrow{color:#e3a26b}.pickle-eyebrow{color:#a6b86b}.primary-button.kitchen-button{background:#8b492f;border-color:#e3a26b}.primary-button.pickle-button{background:#5e6d32;border-color:#b6c777}.library-controls{align-items:center;gap:12px;margin:54px 0 28px;display:flex}.search-field{border:1px solid var(--line-soft);background:#191318cc;border-radius:12px;flex:1;align-items:center;gap:12px;padding:0 16px;display:flex}.search-field svg{color:var(--copper-muted);width:18px;height:18px}.search-field input,.compact-select select{color:var(--cream);background:0 0;border:0;width:100%;min-height:50px}.search-field input:focus,.compact-select select:focus{outline:0}.compact-select{border:1px solid var(--line-soft);background:#191318cc;border-radius:12px;min-width:180px;padding:0 12px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.recipe-card{color:var(--cream);cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.recipe-photo-frame{aspect-ratio:1.18;background:radial-gradient(circle at 30% 25%,#e3a26b40,#0000 38%),linear-gradient(145deg,#2a1814,#151116);border:1px solid #e3a26b3b;border-radius:56% 44% 52% 48%/48% 56% 44% 52%;transition:all .18s;display:block;position:relative;overflow:hidden}.recipe-card:hover .recipe-photo-frame{border-color:#e3a26b;transform:rotate(-1deg)scale(1.012)}.recipe-photo-frame img,.recipe-detail-image img,.photo-upload-field img{object-fit:cover;width:100%;height:100%}.recipe-monogram{color:#f0e6dbc2;justify-content:center;align-items:center;height:100%;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:8rem;display:flex}.recipe-category{color:#f0c09c;text-transform:uppercase;background:#0c0a0dc7;border:1px solid #e3a26b57;border-radius:999px;padding:6px 11px;font-size:.7rem;position:absolute;bottom:16px;left:18px}.recipe-card-copy{flex-direction:column;gap:5px;padding:18px 8px 8px;display:flex}.recipe-card-copy strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.55rem;font-weight:400}.recipe-card-copy>span{color:var(--muted);line-height:1.4}.recipe-card-copy small{color:#9d8588;font-family:var(--font-geist-mono);text-transform:uppercase;margin-top:4px;font-size:.69rem}.area-empty-state{border:1px solid var(--line-soft);text-align:center;background:linear-gradient(145deg,#1f171de0,#120e12b8);border-radius:20px;flex-direction:column;align-items:center;min-height:420px;margin-top:56px;padding:56px 28px;display:flex}.area-empty-state h2{max-width:760px;margin:14px 0 12px;font-size:clamp(2.1rem,4vw,3.6rem)}.area-empty-state>p:not(.eyebrow){color:var(--muted);max-width:620px;line-height:1.7}.empty-instrument{color:#e3a26b;border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:78px;height:78px;margin-bottom:18px;display:flex}.pickle-empty .empty-instrument{color:#a6b86b}.area-empty-state .primary-button{margin-top:24px}.recipe-detail-hero{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:center;gap:64px;margin-top:36px;display:grid}.recipe-detail-image{aspect-ratio:1;color:#e3a26b;background:radial-gradient(circle at 30% 20%,#e3a26b47,#0000 42%),#1d1519;border:1px solid #e3a26b47;border-radius:56% 44% 49% 51%/46% 58% 42% 54%;justify-content:center;align-items:center;display:flex;overflow:hidden}.recipe-detail-image>svg{width:92px;height:92px}.recipe-detail-copy h1{letter-spacing:-.055em;margin:17px 0;font-size:clamp(3.4rem,6vw,6.3rem);line-height:.92}.recipe-detail-copy>p:not(.eyebrow){color:var(--muted);max-width:680px;line-height:1.7}.recipe-subtitle{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.28rem;color:#f0c09c!important}.recipe-meta-row,.tag-row{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.recipe-meta-row span{color:var(--muted);align-items:center;gap:7px;margin-right:16px;display:inline-flex}.recipe-meta-row svg{color:#e3a26b;width:16px;height:16px}.tag-row span,.batch-ingredient-cloud span{color:#d8b092;background:#e3a26b14;border:1px solid #e3a26b33;border-radius:999px;padding:6px 10px;font-size:.72rem}.recipe-detail-grid{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:22px;margin-top:72px;display:grid}.recipe-ingredients-panel,.recipe-steps-panel{border:1px solid var(--line-soft);background:#1a1418c7;border-radius:18px;padding:34px}.recipe-detail-grid h2{margin:8px 0 26px;font-size:2.1rem}.recipe-ingredients-panel ul,.recipe-steps-panel ol{margin:0;padding:0;list-style:none}.recipe-ingredients-panel li{border-bottom:1px solid #e3a26b1f;grid-template-columns:90px 1fr;gap:14px;padding:14px 0;display:grid}.ingredient-amount{color:#e3a26b;font-family:var(--font-geist-mono);font-size:.78rem}.recipe-ingredients-panel li>span:last-child{flex-direction:column;gap:3px;display:flex}.recipe-ingredients-panel small{color:var(--muted)}.recipe-steps-panel li{border-bottom:1px solid var(--line-soft);grid-template-columns:34px 1fr auto;align-items:start;gap:18px;padding:18px 0;display:grid}.recipe-steps-panel li>span{color:#e3a26b;font-family:var(--font-geist-mono);font-size:.76rem}.recipe-steps-panel li p{margin:0;line-height:1.65}.recipe-steps-panel li small{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;display:flex}.recipe-steps-panel li svg{width:14px;height:14px}.source-link{color:#e3a26b;margin-top:26px;display:inline-block}.recipe-basics-grid{grid-template-columns:260px 1fr;align-items:start;gap:28px;display:grid}.photo-upload-field label{aspect-ratio:1;color:#e3a26b;cursor:pointer;text-align:center;background:#e3a26b0d;border:1px dashed #e3a26b66;border-radius:56% 44% 50% 50%/44% 56%;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-upload-field label>span{flex-direction:column;align-items:center;gap:10px;max-width:150px;line-height:1.4;display:flex}.photo-upload-field input{display:none}.photo-upload-field small{color:var(--muted);text-align:center;margin-top:10px;display:block}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.section-title-row h2{margin:0}.small-add-button{color:#e3a26b;cursor:pointer;background:0 0;border:1px solid #e3a26b5c;border-radius:999px;align-items:center;gap:6px;padding:8px 13px;font-size:.78rem;display:flex}.small-add-button svg{width:15px;height:15px}.pickle-add{color:#b8c87b;border-color:#a6b86b66}.dynamic-list{flex-direction:column;gap:10px;display:flex}.dynamic-row{border:1px solid var(--line-soft);background:#0a080b45;border-radius:12px;align-items:center;gap:9px;padding:10px;display:grid}.ingredient-row{grid-template-columns:32px 74px 90px minmax(150px,1.2fr) minmax(130px,1fr) auto 38px}.pickle-ingredient-list .ingredient-row{grid-template-columns:32px 74px 90px minmax(180px,1.3fr) minmax(130px,.7fr) 38px}.row-index{color:var(--copper-muted);font-family:var(--font-geist-mono);text-align:center;font-size:.7rem}.dynamic-row input,.dynamic-row textarea,.dynamic-row select{color:var(--cream);background:#130f13;border:1px solid #d5835833;border-radius:8px;width:100%;min-height:42px;padding:9px 10px}.optional-check{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.optional-check input{width:auto;min-height:auto}.icon-delete{color:#9c6b72;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.icon-delete svg{width:17px;height:17px}.step-row{grid-template-columns:32px 1fr 100px 38px;align-items:start}.step-row label{color:var(--muted);font-size:.68rem}.step-row label span{margin:0 0 4px 3px;display:block}.step-row textarea{resize:vertical}.pickle-summary-strip{border-top:1px solid #a6b86b38;border-bottom:1px solid #a6b86b38;grid-template-columns:repeat(3,1fr);margin:54px 0 30px;display:grid}.pickle-summary-strip>div{justify-content:center;align-items:baseline;gap:10px;padding:24px;display:flex}.pickle-summary-strip strong{color:#b8c87b;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2.3rem;font-weight:400}.pickle-summary-strip span{color:var(--muted);text-transform:uppercase;font-size:.76rem}.pickle-batch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.pickle-batch-card{background:linear-gradient(145deg,#4e5b2b1a,#0000 48%),#191417e0;border:1px solid #a6b86b38;border-radius:18px;min-height:300px;padding:24px}.batch-card-topline,.batch-card-footer{color:var(--muted);font-family:var(--font-geist-mono);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.68rem;display:flex}.batch-status{color:#b8c87b;border:1px solid #a6b86b57;border-radius:999px;padding:5px 8px}.pickle-batch-card h2{margin:12px 0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:2rem;font-weight:400}.pickle-batch-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.batch-ingredient-cloud{flex-wrap:wrap;gap:6px;margin:24px 0;display:flex}.batch-ingredient-cloud span{color:#c1ce91;background:#a6b86b14;border-color:#a6b86b33}.batch-card-footer{border-top:1px solid #a6b86b24;margin-top:26px;padding-top:16px}.pickle-notes-grid{margin-top:24px}.no-results{color:var(--muted);text-align:center;padding:64px 0}@media (max-width:1180px){.section-mark{display:none}.topbar{grid-template-columns:auto 1fr auto}.topbar nav button{min-width:92px}.lab-module-grid,.recipe-grid,.pickle-batch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-row,.pickle-ingredient-list .ingredient-row{grid-template-columns:32px 72px 82px minmax(150px,1fr) minmax(120px,.8fr) 38px}.optional-check{grid-column:4/6}}@media (max-width:1050px){.wordmark{padding:0 26px}.section-mark{padding:0 22px}.hero-grid{grid-template-columns:1fr .8fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.recent-card{grid-column:1/-1}}@media (max-width:760px){.topbar{grid-template-columns:1fr auto;height:72px}.wordmark{text-align:left;border:0;padding:0 20px;font-size:1.2rem}.section-mark,.topbar nav{display:none}.account-wrap{padding:0 18px}.avatar{width:42px;height:42px}.account-menu{top:62px;right:14px}.page{padding:44px 20px 116px}.hero-grid{flex-direction:column;gap:10px;display:flex}.hero-copy{padding-top:0}.hero-copy h1{font-size:clamp(3.2rem,15vw,4.8rem)}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .primary-button{width:100%}.hero-actions .text-button{justify-content:flex-start}.palate-map{width:100%;min-height:310px}.summary-grid{grid-template-columns:repeat(2,1fr)}.stat-card{min-height:160px;padding:20px}.stat-top{gap:13px}.stat-top strong{font-size:3rem}.stat-icon{width:40px;height:40px}.stat-card p{margin-left:0;font-size:.86rem}.recent-card{grid-template-columns:1fr auto;gap:16px;padding:22px}.instrument-dial{display:none}.recent-copy h2{font-size:1.8rem}.recent-meta{flex-direction:column;align-items:flex-start;gap:8px}.kyle-line{gap:14px;margin-top:38px}.kyle-line p{flex-shrink:0;font-size:.8rem}.compass-icon{width:38px;height:38px}.history-row{grid-template-columns:30px 1fr auto;gap:12px;padding:21px 4px}.history-rating{grid-area:1/3}.history-meta,.history-row>svg{display:none}.detail-hero{flex-direction:column;align-items:flex-start}.score-seal{width:110px;height:110px}.review-grid,.scientist-reviews,.form-grid,.observation-grid,.metric-readout-grid,.two-column-fields,.metric-form-grid{grid-template-columns:1fr}.review-card{padding:24px 20px}.rich-review-fields{padding:22px 16px}.field.wide{grid-column:auto}.form-section{grid-template-columns:1fr;gap:12px;padding:24px 20px}.form-actions{flex-direction:column-reverse;align-items:stretch}.draft-status{flex-direction:column;align-items:flex-start}.tasting-heading{gap:20px}.login-shell{padding:18px}.login-card{padding:36px 24px}.mobile-nav{border-top:1px solid var(--line);padding:9px 12px max(9px, env(safe-area-inset-bottom));z-index:40;background:#0e0b0ef0;grid-template-columns:repeat(3,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;font-size:.67rem;display:flex}.mobile-nav button svg{width:21px;height:21px}.mobile-nav button.active{color:var(--copper)}.mobile-nav button.create svg{background:var(--wine);border:1px solid var(--copper);border-radius:999px;width:40px;height:40px;margin-top:-25px;padding:9px}.mobile-nav{grid-template-columns:repeat(4,1fr)}.lab-home-page{padding-top:38px}.lab-home-hero{flex-direction:column;gap:34px;min-height:0;display:flex}.lab-home-hero h1{font-size:clamp(3.3rem,15vw,5rem)}.lab-home-intro{font-size:1.08rem}.home-orbit{max-width:250px}.orbit-core{width:76px;height:76px}.orbit-dot{width:46px;height:46px}.dot-wine{transform:translate(55px,-104px)}.dot-pickle{transform:translate(-124px,22px)}.dot-kitchen{transform:translate(62px,64px)}.lab-module-grid,.recipe-grid,.pickle-batch-grid{grid-template-columns:1fr}.lab-module-grid{margin-top:34px}.lab-module-card{min-height:210px}.module-icon{margin:25px 0 20px}.area-heading{flex-direction:column;align-items:stretch;gap:24px}.area-heading h1{font-size:clamp(3.2rem,15vw,4.8rem)}.area-heading>.primary-button{width:100%}.library-controls{flex-direction:column;align-items:stretch;margin-top:38px}.compact-select{width:100%}.recipe-grid{gap:30px}.recipe-photo-frame{aspect-ratio:1.3}.area-empty-state{min-height:0;margin-top:38px;padding:44px 20px}.recipe-detail-hero,.recipe-detail-grid,.recipe-basics-grid{grid-template-columns:1fr}.recipe-detail-hero{gap:34px}.recipe-detail-image{width:100%;max-width:460px}.recipe-detail-copy h1{font-size:clamp(3.2rem,15vw,5rem)}.recipe-detail-grid{margin-top:48px}.recipe-ingredients-panel,.recipe-steps-panel{padding:26px 20px}.recipe-ingredients-panel li{grid-template-columns:72px 1fr}.recipe-steps-panel li{grid-template-columns:28px 1fr}.recipe-steps-panel li small{grid-column:2}.photo-upload-field{max-width:270px}.section-title-row{flex-direction:column;align-items:flex-start;gap:14px}.ingredient-row,.pickle-ingredient-list .ingredient-row{grid-template-columns:30px 1fr 1fr 38px;padding:12px}.ingredient-row .ingredient-name-input{grid-area:1/2/auto/5}.ingredient-row>input:first-of-type{grid-column:2}.ingredient-row>input:nth-of-type(2){grid-column:3}.ingredient-row>input:nth-of-type(4),.pickle-ingredient-list .ingredient-row select,.ingredient-row .optional-check{grid-column:2/4}.ingredient-row .icon-delete{grid-area:2/4}.step-row{grid-template-columns:30px 1fr 38px}.step-row textarea{grid-column:2/4}.step-row label{grid-column:2}.step-row .icon-delete{grid-area:2/3}.pickle-summary-strip>div{flex-direction:column;align-items:center;gap:3px;padding:18px 8px}.pickle-summary-strip strong{font-size:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.pickle-form-fields{border:0;min-width:0;margin:0;padding:0}.pickle-form-fields:disabled{opacity:.7}.pickle-tasting-history{gap:20px;display:grid}.pickle-history-heading{margin:32px 0 18px}.pickle-scores{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0;display:grid}.pickle-scores dt{opacity:.7;font-size:.8rem}.pickle-scores dd{margin:4px 0 0}.pickle-verbatim{white-space:pre-wrap;overflow-wrap:anywhere}.pickle-pairing-result{border-top:1px solid #ffffff20;margin-top:16px;padding-top:14px}.pickle-pair-editor{border-bottom:1px solid #ffffff20;gap:12px;padding:18px 0;display:grid}.pickle-observations{border:1px solid #ffffff20;border-radius:12px;padding:24px}.pickle-observations summary{cursor:pointer;margin-bottom:16px}.pickle-lab-page .batch-card-footer{flex-wrap:wrap;gap:12px}.pickle-lab-page .batch-card-footer button{min-height:44px}.recipe-json-import{background:linear-gradient(135deg,#e3a26b1a,#1a1418d6);border:1px solid #e3a26b4d;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:26px 30px;display:grid}.recipe-json-import h2{margin:5px 0 8px;font-size:1.7rem}.recipe-json-import p:not(.eyebrow){color:var(--muted);max-width:650px;margin:0;line-height:1.55}.recipe-import-actions{flex-direction:column;align-items:stretch;gap:10px;display:flex}.recipe-import-actions button{white-space:nowrap;justify-content:center}.recipe-import-message{grid-column:1/-1;padding-top:4px}.recipe-import-message.success{color:#cbd9a1!important}.recipe-import-message.error{color:#f4cbd1!important}@media (max-width:720px){.recipe-json-import{grid-template-columns:1fr;align-items:stretch;padding:22px 20px}.recipe-import-message{grid-column:auto}}
