@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&display=swap');
:root{--paper:#352536;--ink:#f2d0cd;--line:#f1e6cd;--muted:#cfbbcc;--green:#b7c83f;color-scheme:dark;font-family:Futura,'Futura PT','Century Gothic',Jost,sans-serif;background:var(--paper);color:var(--line)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit}button{cursor:pointer;border:1px solid #86717f;border-radius:5px;padding:10px 14px;background:transparent;color:var(--line);min-height:44px}button:hover{background:#ffffff0a}button:disabled{opacity:.45;cursor:default}input,select,textarea{color:var(--line);background:#2b1e2d;border:1px solid #796575;border-radius:5px;width:100%;padding:11px;font-size:16px;min-width:0}textarea{min-height:105px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}input[type=color]{height:46px}input[type=range]{padding:0}label{display:grid;gap:6px}h1,h2,h3,p{margin:0}h1{font-size:clamp(32px,7vw,52px);line-height:1.05;color:var(--ink);font-weight:500;letter-spacing:1px}h2{font-size:23px;font-weight:500}p{line-height:1.6}header{max-width:1060px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 22px 15px;gap:16px}header a{text-decoration:none;font-size:26px;color:var(--ink);font-weight:600}header a span{display:block;font-size:11px;letter-spacing:2px;color:var(--muted)}#status{text-align:center;font-size:10px;letter-spacing:1.7px;color:var(--muted);padding:4px 12px 18px}main{max-width:1000px;margin:auto;padding:10px 22px 120px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 24px}.eyebrow{font-size:11px;letter-spacing:1.2px;color:var(--muted);margin-bottom:10px}.count{color:var(--muted);font-size:13px;margin:18px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.row>*{min-width:0}.primary{background:var(--line);color:var(--paper);border-color:var(--line)}.tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.tabs button{flex:1;font-size:13px;padding:9px}.tabs [aria-pressed=true]{background:var(--line);color:var(--paper)}.shelves{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:radial-gradient(ellipse at 50% 10%,#96704d33,transparent 65%),repeating-linear-gradient(0deg,#21171c,#251a21 23%,#2c2027 50%);padding:20px 8px 0;border-left:10px solid #53392d;border-right:10px solid #53392d;box-shadow:inset 0 0 35px #0007;gap:0}.bottle{border:0;border-radius:0;border-bottom:12px solid #6e4934;box-shadow:0 4px 0 #30201b;padding:8px 7px 22px;display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:240px;margin-bottom:19px;background:linear-gradient(0deg,#7e51351a,transparent 24%)}.bottle svg{width:100%;max-width:115px;height:185px;display:block}.bottle span{font-size:11px;min-height:30px;line-height:1.25}.bottle small{font-size:10px;line-height:1.2;color:var(--muted);margin-top:7px}.bottle-preview{max-width:130px;margin:15px auto}.pantry{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pantry label{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #ffffff15}.pantry input{margin-left:auto}.swatch{width:16px;height:16px;border-radius:50%;flex-shrink:0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.filters label{font-size:12px;color:var(--muted)}.check{display:flex;align-items:center;gap:10px}.check input{flex-shrink:0}.ready{color:#d1dbac}.missing{color:#dfb2b4}.filters>.ready{font-size:12px;align-self:center}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px}.recipe-card{padding:0;border:0;text-align:left;background:transparent}.recipe-card:hover{background:transparent}.card-glass{height:190px;display:flex;align-items:center;justify-content:center;margin-bottom:13px}.card-glass .glass{height:100%;width:100%;max-height:190px;overflow:visible}.recipe-card h2{color:var(--ink);font-size:25px;line-height:1.05;min-height:54px}.card-meta{display:flex;justify-content:space-between;gap:7px;font-size:11px;margin-top:12px;color:var(--muted)}.matrix-wrap{position:relative;padding:30px 34px;margin:12px auto 25px;max-width:630px}.plot{position:relative;aspect-ratio:3/5;background-image:linear-gradient(110deg,transparent 50%,#a3915833 50%),linear-gradient(35deg,#66735c 0%,#4e6267 34%,#747052 60%,#687459 100%);border:1px solid #d0d1aa77}.plot:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ebe7cb25 1px,transparent 1px),linear-gradient(90deg,#ebe7cb25 1px,transparent 1px);background-size:10% 10%;pointer-events:none}.axis{position:absolute;font-size:10px;letter-spacing:1.5px;color:var(--line)}.top{top:8px;left:50%;transform:translateX(-50%)}.bottom{bottom:8px;left:50%;transform:translateX(-50%)}.left{left:9px;top:50%;writing-mode:vertical-rl;transform:rotate(180deg) translateY(50%)}.right{right:9px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%)}.marker{position:absolute;transform:translate(-50%,-50%);width:65px;height:87px;border:0;padding:0;display:flex;align-items:center;flex-direction:column;justify-content:center;touch-action:none;z-index:1}.marker .glass{width:38px;height:58px;filter:drop-shadow(0 2px 2px #0005)}.marker span{font-size:8px;line-height:1.1;text-align:center;background:#352536dd;padding:3px 4px;border-radius:2px;max-width:90px}.marker:hover,.marker:focus{z-index:3;background:#35253666}.back{border:0;padding-left:0}.recipe-hero{max-width:440px;margin:12px auto 0;min-height:calc(100svh - 160px);padding:8px 0 40px}.recipe-title{font-size:clamp(42px,11vw,64px);line-height:1.02;color:transparent;-webkit-text-stroke:1.1px var(--ink);font-weight:600;letter-spacing:-.5px;margin:14px 0 28px}.hero-glass{padding:0 10px}.hero-glass .glass{width:100%;height:auto;max-height:460px;overflow:visible}.glass text{font-family:Futura,Jost,sans-serif;fill:#2b1a2b;font-size:16px;font-weight:600;letter-spacing:.2px}.glass text.quantity{font-size:14px;font-weight:500}.cold-symbol{width:100%;height:100%;color:var(--line);display:flex;align-items:center;justify-content:center}.cold-symbol svg{display:block;width:100%;height:100%;fill:none;stroke:var(--line);stroke-width:1.8}.cold-symbol.is-diamond svg{fill:var(--line);stroke-width:1}.garnish{text-align:center;font-size:12px;margin:16px 0}.tiny{display:flex;flex-direction:column;align-items:center;font-size:12px;gap:5px}.drops{color:#bd8d79;font-size:17px}.make{max-width:560px;margin:30px auto 60px}.method{font-size:20px;margin:22px 0}.make>p{margin:20px 0}.recipe-matrix{max-width:630px;margin:0 auto}.recipe-matrix>h2{color:var(--ink)}.surprise{text-align:center;margin:30px 0}.surprise button{border:0;padding:0;display:inline-flex;flex-direction:column;align-items:center;width:190px}.surprise svg{width:175px;height:230px}.surprise button span{font-size:24px;letter-spacing:4px;margin:12px 0}.empty{text-align:center;padding:30px 12px;color:var(--muted)}.empty p{margin:15px 0}.empty h2{color:var(--ink)}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:#291c2bdd;border-top:1px solid #b19aab50;backdrop-filter:blur(12px);padding:9px 12px calc(9px + env(safe-area-inset-bottom));z-index:10}nav a{width:150px;min-height:53px;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:11px;color:var(--muted)}nav svg{width:21px;height:21px}nav a[aria-current]{color:var(--line)}dialog{width:min(560px,calc(100% - 24px));max-height:calc(100svh - 40px);overflow:auto;background:var(--paper);color:var(--line);border:1px solid #8d7484;border-radius:12px;padding:30px 22px}dialog::backdrop{background:#140d1bd9}dialog h2{padding-right:35px;margin-bottom:22px}dialog form{display:grid;gap:18px}dialog p{margin:14px 0;font-size:14px;color:var(--muted)}dialog button{margin-right:5px}.close{position:absolute;right:8px;top:8px;font-size:24px;border:0;min-width:44px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.part{display:grid;grid-template-columns:minmax(0,1fr) 65px 90px 36px;gap:6px;margin-bottom:10px}.part select,.part input{padding:8px;font-size:14px}.part button{padding:4px}.toast,#toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--line);color:var(--paper);border-radius:6px;max-width:calc(100% - 30px);width:max-content;padding:12px 18px;z-index:100;font-size:14px}
@media(max-width:700px){.shelves{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-grid{grid-template-columns:1fr 1fr;gap:26px 18px}.filters{grid-template-columns:1fr 1fr}.pantry{grid-template-columns:1fr}.recipe-card h2{font-size:22px}.card-glass{height:160px}.card-meta{font-size:10px}.marker{width:56px}.marker span{font-size:8px}main{padding-left:18px;padding-right:18px}.bottle{min-height:230px;padding-left:3px;padding-right:3px}.bottle svg{height:168px}.recipe-hero{min-height:calc(100svh - 130px)}.part{grid-template-columns:minmax(0,1fr) 57px 72px 30px}.part select,.part input{font-size:16px}.matrix-wrap{padding-left:29px;padding-right:29px}.left{left:3px}.right{right:3px}}
@media(prefers-reduced-motion:no-preference){.bottle svg{transition:transform .2s}.bottle:hover svg{transform:translateY(-4px)}}
.measurements{display:grid;gap:4px;margin-top:22px}.measurements>div{display:flex;justify-content:space-between;gap:12px;color:#2b1a2b;padding:8px 12px;font-size:14px}.drops{display:inline-flex;gap:3px;vertical-align:middle}.drops svg{width:12px;height:16px}
.catalog-art{height:185px;width:115px;max-width:100%;display:grid;justify-items:center;align-items:end}
.catalog-art .lupi-bottle-frame{display:block;position:relative;height:100%;aspect-ratio:146/240;pointer-events:none}
.catalog-art .lupi-bottle-cut{position:absolute;bottom:0;overflow:hidden;pointer-events:none}
.catalog-art .lupi-bottle-cut img{position:absolute;max-width:none;height:auto;display:block}
.catalog-art .lupi-pending-bottle{height:90%;width:85px;max-width:100%;border:1px dashed #c89a5266;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:8px;line-height:1.3;color:var(--muted);font-size:10px}
.catalog-art .lupi-pending-bottle span{min-height:0;font-size:10px}
.catalog-art .lupi-pending-bottle b{font-size:12px;font-weight:400;color:var(--line)}
.bottle-filter{margin:14px 0;font-size:13px;color:var(--muted)}

.original-bottle{width:100%;max-width:125px;height:185px;object-fit:contain;display:block}.bottle-preview{max-width:280px}.bottle-preview .original-bottle{max-width:280px;height:380px}.art-pending{height:185px;width:100%;max-width:115px;display:grid;place-items:center;border:1px dashed #f1e6cd44;color:var(--muted)}.art-pending span{font-size:9px;letter-spacing:.12em;line-height:1.6;min-height:0}@media(max-width:600px){.bottle .original-bottle,.bottle .art-pending{height:168px}}
