@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body,#root{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{border:none;background:none;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}html{touch-action:manipulation}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#111;color:#fff;overscroll-behavior:none}.drink-button{--p: 0;--gold: hsl(38 85% 65%);width:200px;height:200px;border:none;padding:0;background:transparent;display:grid;place-items:center;position:relative;user-select:none;-webkit-user-select:none}.rim{width:190px;height:190px;border-radius:50%;padding:14px;background:radial-gradient(circle at center,#1a1a1a 55%,#141414,#101010 75%,#0b0b0b);box-shadow:inset 0 6px 10px #ffffff0a,inset 0 -6px 14px #000000e6}.hole{width:100%;height:100%;border-radius:50%;background:#0d0d0d;display:grid;place-items:center;position:relative;overflow:hidden;box-shadow:inset 0 8px 16px #000000e6}.hole:before{content:"";position:absolute;inset:-20%;border-radius:50%;background:radial-gradient(circle at center,var(--gold),transparent 65%);opacity:calc(var(--p) * .6);filter:blur(28px);transition:opacity .08s linear}.button-core{width:150px;height:150px;padding:10px;border-radius:50%;background:#1f1f1f;position:relative;display:grid;place-items:center;transition:transform .08s ease;box-shadow:0 1px 2px #ffffff0a,0 -2px 4px #000c}.drink-button.is-holding .button-core{transform:scale(.985)}.inner-ring{position:absolute;inset:10px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p) * 360deg),rgba(255,255,255,.15) 0deg);mask:radial-gradient(transparent 70%,#000 70%,#000 77%,transparent 77%);-webkit-mask:radial-gradient(transparent 70%,#000 70%,#000 77%,transparent 77%);filter:drop-shadow(0 0 4px var(--gold));opacity:calc(.4 + var(--p) * .6)}.label{position:relative;z-index:1;font-size:1.2rem;letter-spacing:.3em;color:#ffffffbf;transition:color .12s ease,text-shadow .12s ease}.drink-button.is-holding .label{color:#fcefd9;text-shadow:0 0 calc(8px + var(--p) * 14px) var(--gold)}.drink-button.is-confirmed .button-core{animation:confirm-pulse .28s ease-out}@keyframes confirm-pulse{0%{box-shadow:0 0 #0000}to{box-shadow:0 0 22px var(--gold)}}.guard{display:flex;flex-direction:column;gap:.75rem}.guard ul{list-style:none;padding:0;margin:0}.guard li{font-size:.9rem;line-height:1.68;display:flex;gap:.5rem}.guard li:before{content:"⚠️"}.guard .actions{display:flex;gap:.75rem;justify-content:flex-end}.guard .actions button{padding:.45rem .9rem;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#ffffffe6;font-size:.85rem;cursor:pointer}.guard .actions button:hover{background:#ffffff14}.guard .actions button:last-child{background:#ffffff26;border-color:#ffffff59}.ui-button{padding:.5rem .9rem;border-radius:10px;background:transparent;border:1px solid rgba(255,255,255,.25);color:#ffffffe6;font-size:.85rem;cursor:pointer}.ui-button[disabled]{opacity:.5;pointer-events:none}.ui-button--primary{background:#ffffff1a;border-color:#ffffff59}.ui-button--danger{border-color:#ff787859;color:#ff7878e6}.ui-button--active{background:#fff3;border-color:#ffffff73}.ui-button--wide{width:100%}.ui-button--square{height:100%;aspect-ratio:1/1;font-size:1.2rem}.ui-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ui-dialog{width:min(90vw,320px);padding:1.25rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#ffffffe6;box-shadow:0 10px 30px #0006;display:flex;flex-direction:column;gap:1rem;animation:dialogIn .15s ease-out}@keyframes dialogIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.screen{height:100vh;display:flex;justify-content:center;flex-direction:column}.screen.top{justify-content:flex-start;padding-top:2rem}.ui-sheet{width:100%;max-height:85vh;background:#111;border-top-left-radius:18px;border-top-right-radius:18px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem;align-self:flex-end;animation:slide-up .15s ease-out;overflow-y:auto}.ui-sheet--closing{animation:slide-up .15s ease-in}.ui-sheet__header{display:flex;justify-content:space-between;align-items:center}.ui-sheet__title{font-weight:500;font-size:1.1rem;opacity:.8}.ui-sheet__close-button{background:none;border:none;color:#fff9;font-size:1.25rem;cursor:pointer}.ui-sheet__close-button:active{color:#ffffffe6}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.list{display:flex;flex-direction:column;gap:.5rem}.list .item{padding:.75rem 1rem;border-radius:12px;background:#ffffff0a;border:none;color:#ffffffe6;text-align:left;cursor:pointer;width:100%;display:inline-flex;justify-content:space-between}.list .item-volume{opacity:.7}.list .item--new{font-style:italic;opacity:.75}.swipe-row{position:relative;display:flex;width:100%;overflow:hidden;touch-action:pan-y}.swipe-row__main{flex:1 1 auto;transition:margin-right .2s ease}.swipe-row__actions{flex:0 0 auto;width:0;overflow:hidden;transition:width .2s ease;display:flex;align-items:center}.swipe-row__actions-inner{display:flex;align-items:center;padding-right:.25rem}.swipe-row__action{display:flex;justify-content:center;align-items:center}.ui-icon-button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff26;border:none;color:#fff;cursor:pointer}.ui-icon-button.transparent{background:none}.form{display:flex;flex-direction:column;gap:.75rem}.ui-input{padding:.9rem 1rem;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#fffffff2;font-size:.95rem;outline:none;width:100%}.ui-input:focus{border-color:#ffffff59;background:#ffffff14}.ui-form-control{display:flex;flex-direction:column;gap:.35rem;width:100%}.ui-form-control__label{font-size:.7rem;letter-spacing:.02em;color:#fff9}.ui-form-control__field{display:flex;width:100%;position:relative}.ui-form-control__unit{font-size:.9rem;opacity:.6;position:absolute;right:0;top:50%;transform:translateY(-50%);pointer-events:none;padding-right:1rem;text-align:right}.ui-form-control__buttons{display:inline-flex;gap:.5rem;margin-left:.5rem}.ui-form-control__hint{font-size:.65rem;color:#ffffff73}.ui-divider{height:1px;width:100%;background:#ffffff1a;margin:10px 0}.beverage-selector{display:flex;flex-direction:column;gap:1rem}.categories{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.category{padding:1rem;border-radius:14px;background:#ffffff0d;border:none;color:#ffffffe6;display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer}.category.active{background:#ffffff1f}.edit-bav{display:flex;flex-direction:column;gap:1rem}.edit-bav .actions{display:flex;gap:.5rem;margin-top:.5rem}.edit-bav .danger{margin-top:1rem;background:none;border:none;font-size:.75rem;color:#ff7878cc;cursor:pointer}.session-header{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem 1.25rem;color:#fffc;width:100%}.meta{display:flex;flex-direction:column;gap:.15rem;align-items:center}.venue{font-size:.85rem;opacity:.7}.beverage{font-size:1.6rem;font-weight:500;display:flex;flex-direction:column;align-items:center;text-align:center}.beverage-meta{opacity:.6;font-size:1.2rem}.beverage-name{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.beverage-name--edit{opacity:.4}.change{background:none;border:none;color:#fff9;font-size:.75rem;cursor:pointer}.change:active{color:#ffffffe6}.session{width:100%;display:flex;flex-direction:column;align-items:center;padding:20px}.session-consumptions{margin:.75rem 1.25rem;padding:.6rem .75rem;width:100%;display:flex;flex-direction:column;gap:.35rem;border-radius:12px;background:#ffffff0a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffbf;font-size:.8rem;animation:fadeIn .2s ease-out}.consumption-row{display:flex;justify-content:space-between;align-items:center}.name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count{opacity:.6;font-variant-numeric:tabular-nums}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.tally-group{stroke:#ffffffbf;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tally-marks{display:flex;align-items:flex-end}.tally-marks.reverse{flex-direction:row-reverse}.payment{display:flex;flex-direction:column;gap:1rem;width:100%;height:100%;padding:20px}.items{display:flex;flex-direction:column;gap:.4rem}.items .name-qty{display:inline-flex;gap:.25rem}.items .name{font-weight:500}.items .qty{opacity:.7}.row{display:flex;justify-content:space-between;font-size:.9rem}.subtotal,.total{display:flex;justify-content:space-between;margin-top:.5rem}.tips{display:flex;gap:.5rem}.tips>*{flex:1}.currency-step{min-height:100vh;padding:2rem 1.5rem;display:flex;flex-direction:column;justify-content:center;gap:2rem;background:#111;color:#ffffffe6}.title{text-align:center;font-size:1.2rem;font-weight:500;opacity:.85}.options{display:flex;gap:1rem;justify-content:center}.currency-option{flex:1;max-width:160px;padding:1.25rem 1rem;border-radius:14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#fffffff2;display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer}.currency-option:active{background:#ffffff1a}.code{font-size:1.4rem;letter-spacing:.08em}.label{font-size:.75rem;opacity:.6}.greeting{text-align:center;font-size:.95rem;font-weight:500;opacity:.75}.subtitle{text-align:center;font-size:.75rem;opacity:.5;margin-top:-.25rem}.venue-step{min-height:100vh;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;background:#111;color:#ffffffe6}.greeting{text-align:center;font-size:.9rem;font-weight:500;opacity:.7}.subtitle{text-align:center;font-size:.75rem;opacity:.45;margin-top:-.5rem}.title{margin-top:.5rem;margin-bottom:.75rem;text-align:center;font-size:1.2rem;font-weight:500;opacity:.85}.venue-input{width:100%;padding:.9rem 1rem;background:#ffffff0d;border:none;border-radius:14px;color:#fffffff2;font-size:1rem;outline:none}.venue-input::placeholder{color:#fff6}.list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;max-height:40vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.venue-item{padding:.75rem 1rem;background:#ffffff08;border:none;border-radius:12px;color:#ffffffe6;font-size:.95rem;text-align:left;cursor:pointer}.venue-item:active{background:#ffffff14}.venue-item--new{background:#ffffff0f;font-style:italic;opacity:.85}.beverage-step{min-height:100vh;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;background:#111;color:#ffffffe6}.beverage-step.compact{min-height:auto;padding:1rem}.navigation{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;top:0;z-index:10;width:100%;background-color:#0f0f0f;justify-content:space-between;align-items:center;padding:.75rem 1.25rem}.navigation-center{text-align:center}.navigation-side{display:inline-flex}.navigation-side.right{justify-content:flex-end}.settings-header{padding:20px 0 12px;border-bottom:1px solid rgba(255,255,255,.06)}.settings-header h2{margin:0;font-size:1.1rem;font-weight:500;color:#ffffffe6;letter-spacing:.05em}.session-row{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border:1px solid rgba(255,255,255,.1);border-radius:14px}.session-row .session-main{display:flex;flex-direction:column;gap:4px}.session-row .session-venue{font-size:.95rem;color:#ffffffe6}.session-row .session-date{font-size:.8rem;color:#ffffff73}.session-row .session-amount{font-size:.95rem;font-weight:500;color:#ffffffd9;white-space:nowrap}.session-row .session-tally{display:inline-flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.session-row .session-row:active{background:#ffffff08}.session-empty{padding:40px 24px;text-align:center}.session-empty p{margin:0 0 6px;font-size:.95rem;color:#fffc}.session-empty span{font-size:.8rem;color:#ffffff73}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
