:root{color-scheme:dark;--bg:#080d0f;--panel:#11191b;--panel-2:#172124;--line:#344044;--text:#f5f5f2;--muted:#acb5b7;--gold:#ffa91f;--orange:#ff9f1c;--green:#39d88b;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-behavior:smooth;background:#080c0e}body{margin:0;background:radial-gradient(ellipse at 50% 0%,#26302c 0,#111819 38%,#080c0e 80%);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}.app-shell{max-width:940px;min-height:100vh;margin:0 auto;padding:0 14px 96px}button,input{font:inherit}button{color:inherit;cursor:pointer}.hero{height:172px;position:relative;margin:0 -14px 14px;padding:0 18px;overflow:hidden;background:#111819 url('/hero-cocktail.png') 58% 47%/cover no-repeat;border-radius:0 0 16px 16px}.hero::before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(5,10,11,.98) 0%,rgba(5,10,11,.89) 38%,rgba(5,10,11,.2) 82%,rgba(5,10,11,.18) 100%),linear-gradient(0deg,rgba(5,10,11,.4),transparent 55%)}.hero-brand{position:absolute;left:17px;bottom:19px;display:flex;align-items:center;gap:12px}.martini-mark{width:47px;height:56px;display:grid;place-items:center;color:var(--gold)}.martini-mark svg{width:47px;height:56px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.hero-title-wrap h1{margin:0;font-family:var(--sans);font-size:clamp(25px,6.9vw,39px);font-weight:750;line-height:1.12;letter-spacing:-1.2px;white-space:nowrap}.title-accent{color:var(--gold)}.signature{margin:3px 0 0;color:white;font-size:20px;line-height:1.2}.settings-button{position:absolute;z-index:1;top:13px;right:17px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:#101516ad;color:#fff}.settings-button svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.search-panel{margin:0 0 15px}.search-box{height:58px;padding:0 15px;display:flex;align-items:center;gap:12px;border-radius:16px;background:#f6f7f8;color:#77808a;box-shadow:0 6px 22px #0003}.search-box>svg{width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#1d2429;font-size:14px}.search-box input::placeholder{color:#66717d;opacity:1}.search-box:focus-within{box-shadow:0 0 0 2px var(--gold)}.clear-search{width:35px;height:42px;border:0;background:transparent;color:#707a84;font-size:28px}.search-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.button{min-height:58px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:15px;font-size:13px;font-weight:600;line-height:1.35;transition:transform .15s,filter .15s,background .2s}.button:active{transform:scale(.98)}.button svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button span{display:grid;gap:2px;text-align:left}.button strong{font-size:12px}.button small{font-size:10px;font-weight:400;opacity:.93}.button-primary{background:linear-gradient(110deg,#ffb329,#ff981b);color:#111514}.button-primary:hover{filter:brightness(1.08)}.button-secondary{border-color:#344044;background:linear-gradient(120deg,#172124,#101719);color:#f8f8f5}.button-secondary svg{color:#f5f6f3}.pantry{margin:0 0 14px;padding:10px 9px 9px;border:1px solid #344044;border-radius:16px;background:linear-gradient(130deg,rgba(22,31,34,.97),rgba(13,20,22,.95));box-shadow:0 8px 22px #0003}.section-heading,.result-heading{min-height:27px;margin:0 2px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px}.heading-with-icon{display:flex;align-items:center;gap:9px;min-width:0}.section-heading h2,.result-heading h2{margin:0;font-size:14px;font-weight:750;letter-spacing:.15px;white-space:nowrap}.section-icon{font-size:23px;line-height:1;color:var(--text)}.gold-icon{color:var(--gold)}.count{min-width:26px;height:22px;padding:0 7px;display:inline-grid;place-items:center;border:0;border-radius:20px;background:#263135;color:#e8eff0;font-size:11px;font-weight:600}.edit-link{min-height:38px;padding:4px 5px;border:0;background:transparent;color:var(--gold);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.bottle-grid{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 1px 1px}.bottle-grid::-webkit-scrollbar,.result-strip::-webkit-scrollbar{display:none}.bottle-card,.add-ingredient{position:relative;width:76px;min-width:76px;height:122px;padding:7px 4px 6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;overflow:hidden;border:1px solid #3a4549;border-radius:12px;background:linear-gradient(145deg,#263135,#172023);text-align:center}.bottle-card::before{position:absolute;inset:0 0 auto;height:4px;background:var(--bottle-color,var(--gold));content:""}.bottle-icon{width:52px;height:75px;display:grid;place-items:end center}.bottle-icon svg{width:42px;height:63px;filter:drop-shadow(0 6px 4px #0008)}.bottle-icon .glass{fill:var(--bottle-fill,#ad5b2b);stroke:var(--bottle-color,#dc9a57);stroke-width:1.2}.bottle-icon .neck{fill:#171b19;stroke:var(--bottle-color,#dc9a57);stroke-width:1}.bottle-icon .shine{fill:none;stroke:#f5d5a0;stroke-width:1.4;opacity:.7}.bottle-name{display:-webkit-box;max-width:100%;overflow:hidden;color:#f0f1ef;font-size:10px;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bottle-card.is-editing{padding-right:4px}.remove-ingredient{position:absolute;top:5px;right:4px;width:27px;height:27px;display:grid;place-items:center;border:1px solid #573b34;border-radius:50%;background:#351e1b;color:#ffb19b;font-size:19px;line-height:1}.add-ingredient{justify-content:center;gap:9px;border-style:dashed;color:#f6f5ef;font-size:10px;line-height:1.25}.add-icon{width:36px;height:36px;display:grid;place-items:center;border:1.5px solid #99a4a9;border-radius:50%;font-size:26px;font-weight:300;line-height:1}.results{margin:7px 0 14px}.results[hidden],.recipe-feature[hidden]{display:none}.result-heading{margin-bottom:9px}.filter-button{height:36px;padding:0 12px;border:1px solid #536065;border-radius:20px;background:transparent;color:#f1f4f1;font-size:11px}.filter-button span{padding-right:5px}.result-strip{display:flex;gap:9px;margin-right:-14px;padding:0 14px 8px 2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.result-card{width:120px;min-width:120px;padding:0 0 4px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:0;border-radius:13px;background:transparent;text-align:left}.result-image{width:120px;height:112px;object-fit:cover;border:1px solid #41494a;border-radius:13px;background:#1f2628}.result-card:first-child .result-image{border:2px solid var(--gold)}.result-card strong{padding:0 3px;overflow:hidden;max-width:100%;font-size:11px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.availability{padding:0 4px;display:flex;align-items:center;gap:5px;color:#ffc130;font-size:10px;line-height:1.25}.availability i{width:11px;height:11px;flex:0 0 auto;border-radius:50%;background:#ffb423}.availability.available{color:#49e29b}.availability.available i{background:#39d88b}.source-credit{margin:2px 0;color:#939b9b;font-size:9px}.source-credit a,.detail-source a{color:#ecb84d}.empty-message{margin:9px 0;padding:12px;border:1px solid var(--line);border-radius:10px;color:#c5cbca;font-size:12px;line-height:1.5}.feature-loading{min-height:130px;display:flex;align-items:center;justify-content:center;gap:10px;color:#b7c0bf}.spinner{width:19px;height:19px;border:2px solid #51564d;border-top-color:var(--gold);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.detail-card{padding:10px;display:grid;grid-template-columns:minmax(115px,.78fr) minmax(0,1.5fr);gap:11px;border:1px solid #374246;border-radius:17px;background:linear-gradient(130deg,#11191b,#0d1416);box-shadow:0 10px 25px #0003}.detail-photo{width:100%;height:100%;min-height:350px;max-height:440px;object-fit:cover;border:1px solid #364145;border-radius:13px;background:#222}.detail-content{min-width:0;padding:1px 1px 0}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:5px}.detail-title-row h2{margin:0 0 7px;font-size:25px;font-weight:750;line-height:1.08}.detail-chips{display:flex;flex-wrap:wrap;gap:5px}.chip{padding:5px 9px;border-radius:18px;background:#303a3e;color:#f4f4f0;font-size:9px;white-space:nowrap}.chip.warning{background:#ffb52b;color:#21190b;font-weight:700}.chip.success{background:#153729;color:#68edaa}.favorite-button{width:38px;height:38px;flex:0 0 auto;border:0;background:transparent;color:#fff;font-size:29px;line-height:1}.favorite-button.selected{color:var(--gold)}.detail-description{margin:9px 0 11px;color:#e2e6e3;font-size:12px;line-height:1.45}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.recipe-ingredients-panel h3,.preparation-title{margin:10px 0 5px;color:#f1f2ef;font-size:11px;font-weight:750}.recipe-ingredients-panel h3 span,.preparation-title span{padding-right:6px;color:var(--gold);font-size:15px}.recipe-ingredients{margin:0;padding:0;list-style:none}.recipe-ingredients li{min-height:29px;padding:4px 0;display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;align-items:center;gap:5px;border-top:1px solid #344044;font-size:10px}.ingredient-status-icon{width:13px;height:13px;display:grid;place-items:center;border-radius:50%;font-size:9px;font-weight:800}.ingredient-status-icon.has{background:#15412d;color:#75e8aa}.ingredient-status-icon.lacks{background:#4b2220;color:#ffaea0}.ingredient-recipe-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ingredient-measure{color:#e7e6df;white-space:nowrap}.ingredient-pill{padding:4px 6px;border-radius:12px;font-size:8px;white-space:nowrap}.ingredient-pill.has{background:#17432f;color:#8cf0b8}.ingredient-pill.lacks{background:#612624;color:#ffc1b5}.preparation-title{margin-top:12px}.preparation-steps{margin:6px 0 0;padding:0;list-style:none;counter-reset:step}.preparation-steps li{position:relative;margin:0 0 5px;padding-left:20px;color:#e0e3df;font-size:10px;line-height:1.45;counter-increment:step}.preparation-steps li::before{position:absolute;left:0;top:0;width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:#d9d4cc;color:#222;font-size:9px;font-weight:700;content:counter(step)}.drink-facts{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.drink-facts>div{display:flex;align-items:center;gap:7px;padding:7px;border-top:1px solid #344044}.drink-facts>div>span{color:#eab744;font-size:19px}.drink-facts p{margin:0;color:#dbe0dc;font-size:9px;line-height:1.35}.drink-facts b{display:block;color:#fff;font-size:9px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0 0}.detail-actions .button{min-height:43px;padding:6px 8px;gap:5px;border-radius:22px;font-size:10px}.detail-actions .button span{font-size:17px}.button-outline{border-color:var(--gold);background:transparent;color:#f3f0e9}.detail-source{margin:8px 0 1px;color:#86908e;font-size:8px}.bottom-nav{position:fixed;z-index:5;left:50%;bottom:0;width:min(100%,940px);min-height:68px;padding:7px 7px max(7px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #323d40;border-bottom:0;border-radius:17px 17px 0 0;background:rgba(9,15,17,.97);box-shadow:0 -6px 25px #0007;backdrop-filter:blur(12px)}.nav-item{min-width:0;min-height:49px;padding:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#edf0ed;font-size:9px;line-height:1.1}.nav-item span{font-size:23px;line-height:1}.nav-item.active{color:var(--gold);font-weight:700}.ingredient-dialog{width:min(440px,calc(100% - 32px));padding:24px;border:1px solid #515a59;border-radius:16px;background:#182022;color:var(--text);box-shadow:0 24px 90px #0009}.ingredient-dialog::backdrop{background:#050809bd;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.section-kicker{margin:0;color:#d4ae62;font-size:9px;font-weight:700;letter-spacing:1.5px}.dialog-close{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#252c2d;color:#c6c9c5;font-size:22px}.ingredient-dialog h2{margin:12px 0 5px;font-size:23px}.dialog-copy{margin:0 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.dialog-label{display:block;margin-bottom:8px;font-size:12px}.dialog-input{width:100%;height:49px;padding:0 12px;border:1px solid #46504f;border-radius:9px;outline:0;background:#101617;color:var(--text)}.dialog-input:focus{border-color:var(--gold)}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.dialog-actions .button{min-height:45px}
@media(min-width:650px){.app-shell{padding:0 24px 100px}.hero{height:210px;margin:0 -24px 18px;padding:0 30px;border-radius:0 0 19px 19px}.hero-brand{left:30px;bottom:23px;gap:17px}.hero-title-wrap h1{font-size:44px}.signature{font-size:23px}.search-panel{margin-bottom:20px}.search-box{height:62px;border-radius:17px}.search-actions{gap:13px;margin-top:14px}.button{min-height:68px}.button strong{font-size:15px}.button small{font-size:12px}.pantry{padding:13px;margin-bottom:19px}.bottle-grid{gap:9px}.bottle-card,.add-ingredient{width:92px;min-width:92px;height:151px}.bottle-icon{height:96px}.bottle-icon svg{width:48px;height:76px}.bottle-name{font-size:11px}.result-strip{gap:12px;margin-right:-24px;padding-right:24px}.result-card{width:138px;min-width:138px}.result-image{width:138px;height:128px}.result-card strong{font-size:12px}.availability{font-size:11px}.detail-card{grid-template-columns:minmax(190px,.78fr) minmax(0,1.5fr);gap:15px;padding:12px}.detail-photo{min-height:470px}.detail-content{padding:3px 4px}.detail-title-row h2{font-size:31px}.detail-description{font-size:13px}.detail-columns{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.recipe-ingredients li{min-height:33px;font-size:11px}.ingredient-pill{font-size:9px}.preparation-steps li{font-size:11px}.drink-facts{margin-top:0;grid-template-columns:1fr;gap:0;align-content:center}.drink-facts>div{min-height:57px}.bottom-nav{min-height:76px;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.nav-item{font-size:11px}.nav-item span{font-size:25px}}
@media(max-width:370px){.app-shell{padding-right:10px;padding-left:10px}.hero{margin-right:-10px;margin-left:-10px}.search-actions{gap:6px}.button{padding-right:7px;padding-left:7px;gap:5px}.button strong{font-size:10px}.button small{font-size:9px}.bottle-card,.add-ingredient{width:71px;min-width:71px}.section-heading h2,.result-heading h2{font-size:12px}.result-card{width:108px;min-width:108px}.result-image{width:108px;height:103px}.detail-card{grid-template-columns:92px minmax(0,1fr);gap:8px;padding:7px}.detail-photo{min-height:360px}.detail-title-row h2{font-size:21px}.chip{font-size:8px;padding:4px 6px}.recipe-ingredients li{grid-template-columns:13px minmax(0,1fr) auto;gap:4px}.ingredient-pill{grid-column:2 / 4;justify-self:start}.drink-facts{gap:3px}.drink-facts>div{padding:5px}.drink-facts p{font-size:8px}}
.section-icon{width:22px;height:24px;display:grid;place-items:center;color:var(--text)}.section-icon svg{width:21px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.gold-icon{color:var(--gold)}
.ingredient-toggle{min-width:0;min-height:40px;padding:0;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);text-align:left}.ingredient-toggle h2{margin:0;font-size:14px;font-weight:750;letter-spacing:.15px;white-space:nowrap}.ingredient-toggle .chevron{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.ingredient-toggle.expanded .chevron{transform:rotate(180deg)}.bottle-grid[hidden]{display:none!important}.edit-link{min-width:56px;min-height:40px}.section-heading{margin-bottom:0}.pantry:has(.bottle-grid:not([hidden])) .section-heading{margin-bottom:9px}

.bottle-card{justify-content:flex-start}.bottle-icon{height:75px;flex:0 0 75px}.bottle-name{height:25px;flex:0 0 25px;align-self:stretch;justify-content:center;text-align:center}.bottle-card.is-editing .bottle-name{padding-right:8px}
@media(min-width:650px){.bottle-icon{height:96px;flex-basis:96px}.bottle-name{height:28px;flex-basis:28px}}
