:root{color-scheme:dark;--bg: #241a12;--panel: #1b2b20;--card: #1e2e22;--border: #37483b;--text: #e8e7db;--muted: #9aa08d;--accent: #3f7052;--accent-2: #6fa87d;--green: #6fa87d;--terra: #c07a48;--amber: #d1a24a;--red: #cf6a54;--btn-text: #f1f0e4}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.06'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-attachment:fixed}button{cursor:pointer;font:inherit}img{max-width:100%}.site{min-height:100vh}.nav{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem;border-bottom:1px solid var(--border);background:#1c130b;position:sticky;top:0;z-index:10}.nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);opacity:.7}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.15rem;background:transparent;border:none;padding:0;color:inherit}.brand:hover{opacity:.85}.logo{height:34px;width:auto;display:block}.tabs{display:flex;gap:.4rem}.tab{background:transparent;color:var(--muted);border:1px solid transparent;border-radius:8px;padding:.45rem .95rem;font-weight:600;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--card);border-color:var(--border)}.content{width:75%;margin:0 auto;padding:2rem 0 4rem}.home-logo{width:132px;height:auto;display:block;margin-bottom:.5rem}.home h1{font-size:2.4rem;margin:.25rem 0}.lead{color:var(--muted);margin:0 0 2rem}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.home-card{background:var(--card);border:1px solid #000;border-radius:14px;padding:1.5rem;box-shadow:0 8px 26px #00000047}.home-card h2{margin-top:0}.home-card.muted{opacity:.6}.home-card button,.pour{background:var(--accent);color:var(--btn-text);border:1px solid #000;border-radius:9px;padding:.6rem 1.1rem;font-weight:700;box-shadow:0 2px 8px #00000040}.home-card button:hover,.pour:not(:disabled):hover{filter:brightness(1.12)}.pour:disabled{background:#2c322a;color:var(--muted);cursor:not-allowed}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:100%;max-width:360px;background:var(--card);border:1px solid #000;border-radius:14px;padding:1.75rem;display:flex;flex-direction:column;gap:.7rem;box-shadow:0 12px 40px #0006}.auth-logo{width:84px;align-self:center}.auth-card h1{margin:0 0 .5rem;text-align:center;font-size:1.6rem}.auth-card label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--muted)}.auth-card input{background:#0b0d0a;border:1px solid #000;border-radius:7px;padding:.5rem .6rem;color:var(--text);font:inherit;font-size:.95rem}.auth-card .pour{margin-top:.4rem}.auth-card .link{align-self:center}.tab.logout{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .6rem;color:var(--muted)}.tab.logout:hover{color:var(--text)}.tab.logout svg{display:block}.admin-add .checkbox{flex-direction:row;align-items:center;gap:.5rem;color:var(--text)}.admin-add .checkbox input{width:auto}.user-list{display:flex;flex-direction:column;gap:.4rem;margin-top:1.25rem}.user-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .7rem;background:#0b0d0a;border:1px solid #000;border-radius:8px}.user-email{display:flex;align-items:center;gap:.5rem}.tag-admin,.tag-temp{font-size:.68rem;font-weight:700;padding:.1rem .4rem;border-radius:999px}.tag-admin{background:#6fa87d2e;color:var(--green)}.tag-temp{background:#d1a24a2e;color:var(--amber)}.smartbar{overflow-x:clip}.page{display:none}.page.active{display:block}.page.active.fwd{animation:pageFwd .28s ease}.page.active.back{animation:pageBack .28s ease}@keyframes pageFwd{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes pageBack{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.page.active.fwd,.page.active.back{animation:none}}.subtabs{display:flex;gap:.3rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem;overflow-x:auto;scrollbar-width:none}.subtabs::-webkit-scrollbar{display:none}.subtab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:.55rem .95rem;font-weight:600;margin-bottom:-1px;white-space:nowrap}.subtab:hover{color:var(--text)}.subtab.active{color:var(--text);border-bottom-color:var(--accent)}.mybar{margin:0}.mybar .panel{position:static;top:auto}.mybar .bottles{max-height:none;overflow:visible}@media(max-width:520px){.content{width:85%;padding:1.25rem 0 3rem}.nav{padding:.6rem 1rem}.brand{font-size:1.05rem}.logo{height:30px}.menu{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.home h1{font-size:1.9rem}.home-logo{width:108px}.tabs{gap:.15rem}.tab{padding:.4rem .55rem}.btype{margin-bottom:1.1rem}.btype-name{margin:.9rem 0 .6rem}.bottle{margin-bottom:1.15rem}.bottle-head{font-size:.95rem;margin-bottom:.5rem}.slider{height:30px}.slidertrack{height:14px}.slider input[type=range]{height:30px}.slider input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-5px}.slider input[type=range]::-moz-range-thumb{width:24px;height:24px}}.panel{background:var(--panel);border:1px solid #000;border-radius:14px;padding:1.1rem 1.2rem;position:sticky;top:4.5rem;box-shadow:0 8px 26px #00000047}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.panel-head h2{margin:0;font-size:1.1rem}.reset{background:transparent;color:var(--muted);border:1px solid #000;border-radius:7px;padding:.3rem .7rem;font-size:.8rem}.reset:hover{color:var(--text)}.bottles{display:flex;flex-direction:column;gap:.9rem;max-height:70vh;overflow-y:auto;padding-right:.25rem}.btype{margin-bottom:.5rem}.btype-name{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:.4rem 0}.bottle{margin-bottom:.7rem}.bottle-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.9rem;margin-bottom:.3rem}.bottle-label{font-weight:600;flex:1}.bottle-name{font-weight:600}.del,.icon-btn{background:transparent;border:none;color:var(--muted);font-size:1.05rem;line-height:1;padding:0 .15rem}.icon-btn{font-size:.9rem}.del:hover{color:var(--red)}.icon-btn:hover{color:var(--accent-2)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.buy:hover:not(:disabled){color:var(--amber)}.low-count{margin-left:.5rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle;padding:.1rem .45rem;border-radius:999px;border:1px solid #000;background:var(--amber);color:#241a12}.buy-count{margin-left:.5rem;font-size:.6rem;font-weight:800;vertical-align:middle;padding:.1rem .5rem;border-radius:999px;border:1px solid #000;background:var(--accent);color:var(--btn-text)}.shop-section{margin-top:1rem}.shop-title{font-size:.95rem;margin:0 0 .5rem}.shop-group{margin-bottom:.8rem}.shop-kind{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.35rem}.shop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.shop-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;background:#0b0d0a;border:1px solid #000;border-radius:8px}.shop-item.suggest{background:transparent;border-style:dashed;border-color:var(--border)}.shop-name{flex:1;font-weight:600}.bought-btn{background:transparent;color:var(--green);border:1px solid var(--green);border-radius:999px;padding:.1rem .55rem;font-size:.72rem;font-weight:700;white-space:nowrap}.bought-btn:hover{background:var(--green);color:#241a12}.bottle-edit{display:flex;flex-direction:column;gap:.45rem;padding:.3rem 0 .5rem}.bottle-edit input{background:#0b0d0a;border:1px solid #000;border-radius:7px;padding:.4rem .5rem;color:var(--text);font:inherit;font-size:.88rem}.edit-cap{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--muted)}.edit-actions{display:flex;gap:.6rem;align-items:center}.edit-actions button:first-child{background:var(--accent);color:var(--btn-text);border:1px solid #000;border-radius:7px;padding:.35rem .8rem;font-weight:600}.head-actions{display:flex;gap:.5rem}.add-btn{background:var(--accent);color:var(--btn-text);border:1px solid #000;border-radius:7px;padding:.3rem .75rem;font-size:.8rem;font-weight:700}.add-btn:hover{filter:brightness(1.1)}.add-btn.ghost{background:transparent;color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.modal{width:100%;max-width:420px;background:var(--card);border:1px solid #000;border-radius:14px;padding:1.2rem 1.35rem 1.35rem;box-shadow:0 20px 55px #00000080;max-height:84vh;overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.modal-head h3{margin:0;font-size:1.05rem}.add-form{display:flex;flex-direction:column;gap:.7rem}.add-submit{margin-top:.2rem}.add-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}.add-form input,.add-form select,.wish-add select{width:100%;background:#0b0d0a;border:1px solid #000;border-radius:7px;padding:.45rem .55rem;color:var(--text);font:inherit;font-size:.9rem}.add-form .row2{display:flex;gap:.5rem}.add-form .row2 label{flex:1;min-width:0}.link{background:transparent;border:none;color:var(--accent-2);padding:0;text-align:left;font-size:.82rem}.new-type{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border:1px solid #000;border-radius:8px}.new-type button{background:var(--accent);color:var(--btn-text);border:1px solid #000;border-radius:7px;padding:.4rem;font-weight:600}.wishlist{margin-top:1rem;border-top:1px solid var(--border);padding-top:.85rem}.wishlist h3{margin:0 0 .5rem;font-size:.9rem}.wish-items{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.muted-text{color:var(--muted);font-size:.85rem}.chip{display:inline-flex;align-items:center;gap:.35rem;background:#d1a24a1f;color:var(--amber);border-radius:999px;padding:.2rem .6rem;font-size:.82rem}.chip button{background:transparent;border:none;color:inherit;padding:0;font-size:.95rem;line-height:1}.wish-add{display:flex;gap:.4rem}.wish-add select{flex:1}.wish-add button{background:var(--accent);color:var(--btn-text);border:1px solid #000;border-radius:7px;padding:.4rem .7rem;font-weight:600}.wish-add button:disabled{background:#2c322a;color:var(--muted)}.bottle-vol{color:var(--text);font-variant-numeric:tabular-nums;font-size:.85rem}.unit{color:var(--muted)}.slider{position:relative;height:22px;width:100%}.slidertrack{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:11px;border-radius:6px;background:#0b0d0a;overflow:hidden}.fill{height:100%;background:var(--accent);transition:width .15s ease}.btype-name{display:flex;align-items:center}.cat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.45rem}.slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;z-index:2;width:100%;height:22px;margin:0;background:transparent;cursor:pointer}.slider input[type=range]::-webkit-slider-runnable-track{height:11px;background:transparent}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;width:19px;height:19px;border-radius:50%;background:var(--c, var(--accent));border:2px solid #0e100d;box-shadow:0 1px 3px #00000080}.slider input[type=range]::-moz-range-track{height:11px;background:transparent}.slider input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--c, var(--accent));border:2px solid #0e100d}.stock-badge{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:.05rem .4rem;border-radius:999px;border:1px solid #000;line-height:1.4}.stock-badge.low{background:var(--amber);color:#241a12}.stock-badge.empty{background:var(--red);color:#241a12}.bottle.is-empty{opacity:.72}.quick-row{display:flex;gap:.4rem;margin-top:.4rem}.quick-row button{flex:1;background:#0b0d0a;color:var(--text);border:1px solid #000;border-radius:7px;padding:.3rem .4rem;font-size:.75rem;font-weight:600}.quick-row button:hover:not(:disabled){background:var(--accent);color:var(--btn-text)}.quick-row button:disabled{opacity:.4}.color-pick{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.3rem}.swatch{width:26px;height:26px;padding:0;border-radius:50%;border:1px solid #000;cursor:pointer}.swatch.sel{outline:2px solid var(--text);outline-offset:1px}.swatch.auto{width:auto;border-radius:999px;padding:0 .5rem;height:26px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#0b0d0a;color:var(--muted)}.swatch.auto.sel{color:var(--text)}.swatch.custom{background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swatch.custom::-webkit-color-swatch-wrapper{padding:0}.swatch.custom::-webkit-color-swatch{border:none;border-radius:50%}.swatch.custom::-moz-color-swatch{border:none;border-radius:50%}.cap{text-transform:capitalize}.kentry{display:flex;align-items:center;gap:.5rem;padding:.4rem 0}.kentry-qty{font-weight:700;font-variant-numeric:tabular-nums;border-left:3px solid var(--accent);padding-left:.5rem;min-width:4.5rem}.kentry-spacer{flex:1}.kstep{display:inline-flex;gap:.25rem}.kstep button{width:26px;height:26px;padding:0;background:#0b0d0a;color:var(--text);border:1px solid #000;border-radius:6px;font-size:1rem;line-height:1}.kstep button:hover:not(:disabled){background:var(--accent);color:var(--btn-text)}.kstep button:disabled{opacity:.4}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.servings{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.9rem}.servings button{background:var(--card);color:var(--text);border:1px solid #000;border-radius:7px;width:34px;height:34px;font-weight:700}.servings button.active{background:var(--accent);color:var(--btn-text);border-color:var(--accent)}.toast{background:#6fa87d26;color:var(--green);border:1px solid rgba(111,168,125,.4);border-radius:8px;padding:.4rem .8rem;font-size:.88rem}.error{background:#cf6a5426;color:#eb8a76;border:1px solid rgba(207,106,84,.4);border-radius:8px;padding:.55rem .85rem;margin-bottom:1rem;font-size:.9rem}.menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.cocktail{background:var(--card);border:1px solid #000;border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 6px 20px #00000040}.cocktail.missing{opacity:.62}.cocktail.ready{border-color:#6fa87d80;box-shadow:0 0 0 1px #6fa87d2e,0 6px 20px #00000040}.c-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.c-head-right{display:flex;align-items:center;gap:.4rem}.add-form textarea{background:#0b0d0a;border:1px solid #000;border-radius:7px;padding:.45rem .55rem;color:var(--text);font:inherit;font-size:.9rem;resize:vertical}.req-editor{display:flex;flex-direction:column;gap:.45rem}.req-editor-head{font-size:.8rem;color:var(--muted)}.req-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.req-row select{flex:1;min-width:7rem}.req-row .unit-select{flex:0 0 auto;min-width:0;width:4.6rem}.req-row .oz-input{width:4.2rem;flex-shrink:0}.req-opt{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--muted);flex-shrink:0}.req-opt input{width:auto}.editor-actions{display:flex;align-items:center;gap:.75rem;margin-top:.3rem}.danger{background:transparent;color:var(--red);border:1px solid var(--red);border-radius:8px;padding:.5rem .9rem;font-weight:600}.danger:hover{background:#cf6a541f}.c-name{font-weight:700;font-size:1.05rem}.badge{font-size:.72rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;white-space:nowrap}.badge.ready{background:#6fa87d2e;color:var(--green)}.badge.substitute{background:#c07a482e;color:var(--terra)}.badge.low{background:#d1a24a2e;color:var(--amber)}.badge.missing{background:#9aa08d2e;color:var(--muted)}.c-meta{font-size:.85rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.35rem}.c-meta strong{color:var(--text)}.warn{color:var(--amber)}.reqs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.req{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.req-sym{width:1.1rem;text-align:center;font-weight:700}.req.ok .req-sym{color:var(--green)}.req.substitute .req-sym{color:var(--terra)}.req.low .req-sym{color:var(--amber)}.req.missing .req-sym{color:var(--red)}.req-name{flex:1}.req-name em{color:var(--muted);font-style:normal;font-size:.78rem}.req-amt{color:var(--muted);font-variant-numeric:tabular-nums}.req-sub{color:var(--terra);font-size:.78rem;background:#c07a4824;padding:.05rem .4rem;border-radius:6px}.shop{font-size:.82rem;color:var(--amber);background:#d1a24a1a;border-radius:7px;padding:.35rem .55rem;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.shop-label{font-weight:600}.shop-chip{font-size:.78rem;font-weight:600;color:var(--amber);background:transparent;border:1px solid var(--amber);border-radius:999px;padding:.1rem .5rem}.shop-chip:hover:not(:disabled){background:var(--amber);color:#241a12}.shop-chip:disabled{opacity:.55;border-style:dashed}.pour{margin-top:.2rem}
