:root{--night:#1b130e;--wood:#4b301e;--wood-hi:#734a2b;--paper:#f2e7cd;--paper-dim:#ddcfae;--ink:#2b1b11;--lantern:#d4442a;--amber:#f1b53d;--text:#f7efe2;--muted:#c6b398;--f-display:"Dela Gothic One", "Black Han Sans", sans-serif;--f-body:"Gowun Dodum", "M PLUS Rounded 1c", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden}body{background:var(--night);color:var(--text);font:14px var(--f-body);-webkit-user-select:none;user-select:none;touch-action:none}.app{position:fixed;inset:0}.loading{font:28px var(--f-display);color:var(--paper);place-items:center;display:grid;position:fixed;inset:0}#stage{position:fixed;inset:0}#stage canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}#labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{color:var(--text);text-shadow:0 1px #000,0 0 4px #000;white-space:nowrap;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,calc(-100% - 4px))}.label.me{color:var(--amber)}.bubble{background:var(--paper);color:var(--ink);border:2px solid var(--ink);white-space:nowrap;border-radius:12px;padding:6px 11px;font-size:15px;font-weight:700;position:absolute;transform:translate(-50%,calc(-100% - 26px));box-shadow:0 2px #0006}.bubble:after{content:"";border:6px solid #0000;border-top-color:var(--ink);border-bottom:0;margin-left:-6px;position:absolute;bottom:-8px;left:50%}.burst{font-family:var(--f-display);color:var(--amber);-webkit-text-stroke:2px var(--ink);text-shadow:0 4px 0 var(--lantern);pointer-events:none;font-size:44px;animation:1.3s ease-out forwards pop;position:absolute;transform:translate(-50%,-50%)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.4)}20%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-90%)scale(1)}}.top{padding:calc(10px + env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.sign{background:var(--wood);border:2px solid var(--wood-hi);pointer-events:auto;border-radius:6px;padding:6px 12px;box-shadow:0 3px #00000073}.sign b{font-family:var(--f-display);letter-spacing:.04em;color:var(--paper);font-size:18px}.sign small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.dot{background:var(--muted);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.dot.on{background:#8fce6a}.topBtns{pointer-events:auto;gap:6px;display:flex}.iconBtn{background:var(--wood);color:var(--paper);border:2px solid var(--wood-hi);font:700 12px var(--f-body);cursor:pointer;border-radius:6px;padding:6px 10px}.hud{padding:0 max(12px, env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.hud>*{pointer-events:auto}.hint{color:var(--text);text-align:center;background:#1b130ed1;border-radius:999px;padding:6px 12px;font-size:13px;pointer-events:none!important}.stats{color:var(--muted);font-variant-numeric:tabular-nums;background:#1b130ebf;border-radius:999px;padding:4px 10px;font-size:12px;pointer-events:none!important}.bar{flex-wrap:wrap;justify-content:center;gap:8px;max-width:680px;display:flex}.btn{font:800 15px var(--f-body);background:var(--paper);color:var(--ink);border:2px solid var(--ink);cursor:pointer;min-width:68px;box-shadow:0 3px 0 var(--ink);border-radius:10px;padding:10px 14px;transition:transform 60ms}.btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.btn:disabled{background:var(--paper-dim);color:#8b7a63;cursor:default;border-color:#8b7a63;box-shadow:0 3px #8b7a63}.btn.main{background:var(--lantern);color:var(--paper);border-color:#5a160b;box-shadow:0 3px #5a160b}.btn.amber{background:var(--amber)}.btn kbd{font:500 10px var(--f-body);opacity:.6;margin-left:4px}.btn:focus-visible,.iconBtn:focus-visible,.chip:focus-visible,.tab:focus-visible,.phrase:focus-visible,.seg button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.targets{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.chip{font:700 13px var(--f-body);color:var(--text);border:2px solid var(--wood-hi);cursor:pointer;background:#1b130ed9;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:flex}.chip.sel{border-color:var(--amber);color:var(--amber)}.cup{flex-direction:column;gap:2px;display:inline-flex}.cup i{border:1px solid;border-radius:1px;width:10px;height:4px}.cup i.f{background:var(--amber);border-color:var(--amber)}.sheet{background:var(--paper);width:min(640px,100%);color:var(--ink);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.tabs{scrollbar-width:none;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.tab{font:800 13px var(--f-body);color:var(--ink);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:none;padding:5px 10px}.tab.sel{background:var(--ink);color:var(--paper)}.phrases{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;max-height:30vh;display:grid;overflow-y:auto}.phrase{font:700 14px var(--f-body);color:var(--ink);border:2px solid var(--ink);cursor:pointer;text-align:center;background:#fff8e8;border-radius:8px;padding:9px 8px}.phrase:active{background:var(--amber)}.joy{left:calc(18px + env(safe-area-inset-left,0px));bottom:calc(120px + env(safe-area-inset-bottom,0px));touch-action:none;background:#f2e7cd1f;border:2px solid #f2e7cd59;border-radius:50%;width:110px;height:110px;position:fixed}.knob{background:var(--paper);opacity:.85;border-radius:50%;width:40px;height:40px;position:absolute;top:35px;left:35px}.toast{left:50%;top:calc(70px + env(safe-area-inset-top,0px));background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:0 3px 0 var(--ink);text-align:center;pointer-events:none;border-radius:10px;max-width:calc(100% - 32px);padding:8px 14px;font-size:14px;font-weight:800;transition:opacity .25s;position:fixed;transform:translate(-50%)}.gate{padding:calc(16px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:linear-gradient(#1b130e59,#1b130ed9);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.noren{background:var(--paper);width:min(420px,100%);color:var(--ink);border:2px solid var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:4px;flex-direction:column;gap:14px;padding:22px 22px 20px;display:flex;position:relative}.noren:before{content:"";background:var(--wood);border:2px solid var(--ink);border-radius:4px 4px 0 0;height:14px;position:absolute;top:-14px;left:-2px;right:-2px}.noren h1{font-family:var(--f-display);letter-spacing:.02em;text-wrap:balance;margin:0;font-size:38px;line-height:1}.noren h1 span{color:var(--lantern)}.noren p{color:#5b4532;margin:0;font-size:14px;line-height:1.6}.noren label{flex-direction:column;gap:6px;font-size:13px;font-weight:800;display:flex}.noren input[type=text]{font:700 16px var(--f-body);border:2px solid var(--ink);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff8e8;border-radius:8px;padding:10px 12px}.seg{gap:6px;display:flex}.seg button{font:800 14px var(--f-body);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff8e8;border-radius:8px;flex:1;padding:9px}.seg button.sel{background:var(--ink);color:var(--paper)}.keys{color:#7a6450;font-size:12px;line-height:1.6}@media (prefers-reduced-motion:reduce){.burst{animation-duration:10ms}}@media (max-width:480px){.btn{min-width:58px;padding:9px 10px;font-size:14px}.sign b{font-size:16px}}.signRow{align-items:center;gap:6px;margin-top:6px;display:flex}.miniBtn{font:800 12px var(--f-body);background:var(--paper);color:var(--ink);border:2px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);border-radius:6px;padding:3px 8px}.miniBtn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(1px)}.chPick{position:relative}.chTrigger{font:800 12px var(--f-body);background:var(--night);color:var(--paper);border:2px solid var(--wood-hi);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:3px 8px 3px 9px;display:inline-flex;box-shadow:0 2px #00000073}.chTrigger:disabled{opacity:.5;cursor:default}.chTrigger[aria-expanded=true]{border-color:var(--amber);color:var(--amber)}.chCaret{border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;transition:transform .15s}.chTrigger[aria-expanded=true] .chCaret{transform:rotate(180deg)}.chMenu{z-index:20;background:var(--paper);width:214px;max-width:calc(100vw - 32px);color:var(--ink);border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:-6px}.chMenu:before{content:"";border:7px solid #0000;border-bottom-color:var(--ink);border-top:0;position:absolute;top:-8px;left:22px}.chMenuTitle{font:800 11px var(--f-body);letter-spacing:.06em;color:#7a6450;padding:2px 6px 4px}.chItem{width:100%;font:800 13px var(--f-body);color:var(--ink);cursor:pointer;text-align:left;font-variant-numeric:tabular-nums;background:0 0;border:2px solid #0000;border-radius:7px;grid-template-columns:54px 1fr auto;align-items:center;gap:8px;padding:6px;display:grid}.chItem:hover:not(:disabled),.chItem:focus-visible{border-color:var(--ink);background:#fff8e8;outline:none}.chItem.here{background:var(--ink);color:var(--paper)}.chItem.here .chCount{color:var(--paper-dim)}.chItem:disabled{cursor:default;opacity:.55}.chName{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.chDot{background:var(--lantern);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #d4442a4d}.chMeter{background:#2b1b1124;border-radius:3px;height:6px;overflow:hidden}.chItem.here .chMeter{background:#f2e7cd38}.chMeter i{background:#6aa84f;border-radius:3px;height:100%;display:block}.chMeter.busy i{background:var(--amber)}.chMeter.full i{background:var(--lantern)}.chCount{color:#7a6450;white-space:nowrap;font-size:12px}.miniBtn:focus-visible,.chTrigger:focus-visible,.venueCard:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.overlay{padding:calc(16px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:#120c099e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.picker{background:var(--paper);width:min(520px,100%);color:var(--ink);border:2px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:10px;flex-direction:column;align-items:stretch;gap:14px;padding:18px;display:flex}.picker h2{font:28px var(--f-display);text-align:center;text-wrap:balance;margin:0}.venues{grid-template-columns:1fr 1fr;gap:10px;display:grid}.venueCard{text-align:left;border:2px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);font-family:var(--f-body);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:16px 14px 14px;display:flex;position:relative}.venueCard b{font:24px var(--f-display)}.venueCard span{font-size:13px;line-height:1.5}.venueCard em{opacity:.75;font-size:11px;font-style:normal;font-weight:800;position:absolute;top:8px;right:10px}.venueCard.izakaya{color:var(--paper);background:#24324f}.venueCard.pocha{color:#fff8ec;background:#e0702a}.venueCard.here{opacity:.7}.venueCard:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.picker>.btn{align-self:center}@media (max-width:420px){.venues{grid-template-columns:1fr}}
