:root{--ink:#f4f1e4;--dim:#f4f1e4a8;--glass:#0c180c75;--line:#f4f1e429;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--sat:env(safe-area-inset-top,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);font-family:var(--sans);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#0b150a;margin:0;overflow:hidden}canvas#c{touch-action:none;width:100%;height:100%;display:block;position:fixed;top:0;bottom:0;left:0;right:0}kbd{font:600 11px/1 var(--sans);border:1px solid var(--line);background:#ffffff14;border-radius:5px;margin:0 1px;padding:3px 6px}#hud{pointer-events:none;transition:opacity .8s;position:fixed;top:0;bottom:0;left:0;right:0}#hud.hidden{opacity:0}#top{top:calc(14px + var(--sat));flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:94vw;display:flex;position:absolute;left:50%;transform:translate(-50%)}#tracker{background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);opacity:0;border-radius:14px;gap:5px;padding:9px 13px;transition:opacity .35s,transform .35s;display:flex;transform:translateY(-8px)}#tracker.on{opacity:1;transform:none}#tracker .slot{background:repeating-linear-gradient(to top, transparent 0 8px, var(--line) 8px 9px);background-position:0 3px;width:17px;height:46px;position:relative}#tracker .slot i{background:0 0;border:1px dashed #f4f1e438;border-radius:50%;width:11px;height:11px;margin-left:-5.5px;transition:bottom .18s cubic-bezier(.3,1.6,.5,1),background .15s,transform .2s;position:absolute;bottom:0;left:50%}#tracker .slot.fill i{background:currentColor;border:none;animation:.3s pop;box-shadow:0 0 10px}#tracker.charging .slot.fill i{animation:.12s linear infinite shake}@keyframes pop{0%{transform:scale(2.1)}to{transform:scale(1)}}@keyframes shake{0%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}to{transform:translate(-1px)}}#prompt{font:500 13px/1.3 var(--sans);letter-spacing:.02em;color:var(--dim);text-shadow:0 1px 6px #000000b3;text-align:center;min-height:18px;transition:opacity .3s}#banner{left:50%;bottom:calc(104px + var(--sab));text-align:center;opacity:0;text-shadow:0 2px 18px #000000bf,0 0 2px #0009;width:min(520px,88vw);transition:opacity .5s,transform .6s cubic-bezier(.2,1.3,.4,1);position:absolute;transform:translate(-50%,12px)}#banner.on{opacity:1;transform:translate(-50%)}#banner .pattern{font:600 11px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}#banner h2{font:italic 500 clamp(30px, 5.2vw, 48px) / 1.02 var(--serif);letter-spacing:-.01em;margin:8px 0}#banner p{font:400 15px/1.45 var(--serif);color:#f4f1e4e6;max-width:36ch;margin:0 auto}#banner .stats{justify-content:center;gap:16px;margin-top:13px;display:flex}#banner .stats label{font:600 9.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);flex-direction:column;align-items:center;gap:6px;display:flex}#banner .stats i{background:#f4f1e433;border-radius:2px;width:74px;height:4px;display:block;overflow:hidden}#banner .stats b{background:currentColor;border-radius:2px;width:0%;height:100%;transition:width .9s cubic-bezier(.2,.9,.3,1) .2s;display:block}#cellar{left:calc(14px + var(--sal));top:calc(14px + var(--sat));flex-direction:column;gap:7px;display:flex;position:absolute}#cellar .w{font:500 12px/1 var(--sans);color:#f4f1e466;text-shadow:0 1px 5px #000c;align-items:center;gap:8px;display:flex}#cellar .w u{border:1.5px dashed #f4f1e44d;border-radius:50%/62% 62% 38% 38%;width:15px;height:15px;text-decoration:none;transition:all .5s;display:inline-block;transform:rotate(180deg)}#cellar .w.found{color:var(--ink)}#cellar .w.found u{background:radial-gradient(circle at 35% 70%, #fff8 0 12%, transparent 30%), var(--c);box-shadow:0 0 12px var(--c);border:none}#cellar .w span{opacity:0;transition:all .5s .15s;transform:translate(-4px)}#cellar .w.found span{opacity:1;transform:none}#jarinfo{right:calc(16px + var(--sar));top:calc(14px + var(--sat));font:500 12px/1 var(--sans);color:var(--dim);text-shadow:0 1px 5px #000c;opacity:0;transition:opacity .5s;position:absolute}#jarinfo.on{opacity:1}#drink{right:calc(18px + var(--sar));bottom:calc(40vh + var(--sab));pointer-events:auto;font:600 13px/1 var(--sans);color:var(--ink);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;cursor:pointer;border-radius:999px;padding:10px 14px;transition:all .3s;position:absolute;transform:translateY(6px)scale(.96)}#drink.on{opacity:1;visibility:visible;transform:none}#drink.full{color:#14200f;background:#f4f1e4eb;animation:1.1s ease-in-out infinite nudge}#drink.full kbd{border-color:#00000040}@keyframes nudge{50%{transform:translateY(-4px)}}#crosshair{background:#ffffff8c;border-radius:50%;width:5px;height:5px;margin:-2.5px;position:absolute;top:50%;left:50%;box-shadow:0 0 4px #0009}#notes{left:50%;bottom:calc(18px + var(--sab));pointer-events:auto;background:linear-gradient(#d9b34a 0%,#b98a2c 55%,#8e671d 100%);border-radius:999px;gap:10px;padding:9px 16px;transition:filter .3s,transform .3s;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 8px 26px #00000073,inset 0 2px #ffffff59,inset 0 -3px 6px #3c230580}#notes:before,#notes:after{content:"";background:#462d0a8c;width:5px;position:absolute;top:0;bottom:0;box-shadow:1px 0 #ffffff40}#notes:before{display:none;left:22px}#notes:after{display:none;right:22px}#notes button{width:50px;height:50px;color:var(--ink);font:700 12px/1 var(--sans);cursor:pointer;touch-action:none;background:radial-gradient(circle at 50% 60%,#100a03 0 46%,#3a2408 60%,#6d4c15 72%,#0000 74%);border:none;border-radius:50%;transition:transform 80ms;position:relative}#notes button span{opacity:.8;position:relative;top:1px}#notes button:after{content:"";background:var(--c);opacity:0;filter:blur(1px);box-shadow:0 0 18px 6px var(--c);border-radius:50%;transition:opacity .35s;position:absolute;top:9px;bottom:9px;left:9px;right:9px}#notes button.hit{transform:scale(.92)}#notes button.hit:after{opacity:.95;transition:none}#notes.near{filter:drop-shadow(0 0 14px #ffdc788c)}#stick{opacity:0;background:#ffffff0f;border:1.5px solid #ffffff47;border-radius:50%;width:124px;height:124px;margin:-62px;transition:opacity .15s;position:absolute}#stick.on{opacity:1}#knob{background:#fff6;border-radius:50%;width:52px;height:52px;margin:-26px;position:absolute;top:50%;left:50%}#toast{left:50%;top:calc(112px + var(--sat));font:500 13px/1.3 var(--sans);background:var(--glass);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);opacity:0;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:92vw;padding:8px 14px;transition:all .35s;position:absolute;overflow:hidden;transform:translate(-50%,8px)}#toast.on{opacity:1;transform:translate(-50%)}#start{z-index:5;background:radial-gradient(at 50% 40%,#08120840,#060e06d1);place-items:center;padding:24px;transition:opacity .9s,visibility .9s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}#start.gone{opacity:0;visibility:hidden;pointer-events:none}#start .card{text-align:center;text-shadow:0 2px 16px #0009;max-width:470px}#start .eyebrow{font:600 11px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--dim)}#start h1{font:500 clamp(46px, 11vw, 84px) / .95 var(--serif);letter-spacing:-.02em;margin:14px 0 18px}#start h1 em{background:linear-gradient(90deg,#ff5a78,#ffb238 22%,#4fe08a 44%,#37d6e3 62%,#a878ff 80%,#ff6fb5);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 auto;padding-bottom:.08em;font-style:italic;display:table}#start .lede{font:400 17px/1.5 var(--serif);color:#f4f1e4eb;max-width:38ch;margin:0 auto 8px}#start .lede.small{color:var(--dim);font-size:15px}#enter{font:600 15px/1 var(--sans);letter-spacing:.04em;color:#14200f;cursor:pointer;background:#f4f1e4;border:none;border-radius:999px;margin:22px 0;padding:15px 30px;transition:transform .15s,opacity .3s;box-shadow:0 10px 34px #0006}#enter:disabled{opacity:.55;cursor:default}#enter:not(:disabled):hover{transform:translateY(-2px)scale(1.03)}.help{font:500 12px/1.6 var(--sans);color:var(--dim);flex-wrap:wrap;justify-content:center;gap:8px 16px;display:flex}.help.touch,body.touch .help.desktop{display:none}body.touch .help.touch{display:flex}body.touch #crosshair,body.touch #drink kbd{display:none}body.touch #notes{gap:8px;padding:9px 14px}body.touch #notes button{width:54px;height:54px}body.touch #notes button span{display:none}@media (max-width:640px){#cellar .w span{display:none}#banner h2{margin:5px 0}#banner p{font-size:14px}#banner .stats i{width:58px}body.touch #notes button{width:50px;height:50px}}@media (max-height:480px){#banner p,#banner .stats{display:none}#cellar{gap:5px}#start h1{margin:6px 0 8px;font-size:44px}#start .lede{margin-bottom:2px;font-size:14px}#enter{margin:10px 0;padding:12px 24px}}#act{pointer-events:auto;font:600 14px/1 var(--sans);color:#14200f;border:1px solid var(--line);opacity:0;visibility:hidden;cursor:pointer;white-space:nowrap;background:#f4f1e4eb;border-radius:999px;padding:11px 18px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:calc(50% + 46px);left:50%;transform:translate(-50%,6px)scale(.96);box-shadow:0 6px 24px #0000004d}#act.on{opacity:1;visibility:visible;transform:translate(-50%)}#act:active{transform:translate(-50%,1px)scale(.96)}#act kbd{color:inherit;background:#14200f1f;border-color:#14200f40}body.touch #act{padding:14px 24px;font-size:16px}body.touch #act kbd{display:none}.slot.sing i{animation:.32s ease-out sing}@keyframes sing{0%{filter:brightness(2.2);transform:scale(2.3)}to{filter:none;transform:none}}#swap{right:calc(18px + var(--sar));bottom:calc(40vh + 46px + var(--sab));pointer-events:auto;font:600 13px/1 var(--sans);color:var(--ink);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);cursor:pointer;border-radius:999px;padding:10px 14px;position:absolute}body.touch #swap kbd{display:none}
