.arena{background:var(--panel);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100dvh;min-height:360px;position:relative;overflow:hidden}.stage{cursor:pointer;touch-action:pan-y;position:absolute;inset:0}.stage[data-phase=playing]{touch-action:none}.stage__canvas{width:100%;height:100%;display:block}.arena button.btn{cursor:pointer}.arena button.btn:not(.btn--primary){background-color:color-mix(in srgb, var(--panel) 80%, transparent)}.nav button.btn{cursor:pointer}.nav button.btn:disabled{opacity:.6;cursor:wait}.nav__tool,.nav__wallet{border:1px solid var(--line2);border-radius:var(--r-ctrl);background:0 0;height:34px}.nav__tool{min-width:34px;color:var(--ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 7px;display:inline-flex}.nav__tool:hover{border-color:var(--blue);color:var(--blue-hi)}.nav__tool--board{color:var(--gold-hi);padding:0 12px 0 10px}.nav__tool-label{letter-spacing:.14em;text-transform:uppercase;font-size:11px}.nav__wallet{letter-spacing:.04em;align-items:center;gap:10px;padding:0 2px 0 12px;font-size:12px;display:inline-flex}.nav__out{width:28px;height:28px;color:var(--gray);font:inherit;cursor:pointer;background:0 0;border:0;font-size:18px}.nav__out:hover{color:var(--red)}.toast{z-index:6;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-panel);max-width:min(360px,100% - 28px);color:var(--gold-hi);cursor:pointer;padding:10px 14px;font-size:12px;position:absolute;top:76px;right:14px}.intro{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:flex;position:absolute;inset:80px 0 44%}.intro__lettering{flex-direction:column;align-items:center;gap:8px;width:clamp(160px,117.6svh - 483px,440px);max-width:100%;margin-bottom:10px;display:flex}.intro__call{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--gold-hi);text-shadow:0 0 18px #ffb03c73;font-size:clamp(28px,6svh,48px);font-weight:600;line-height:1.1;animation:1.6s steps(2,jump-none) infinite blink}.intro__hint{letter-spacing:.06em;max-width:46ch;color:var(--gray);font-size:12px}.intro__note{max-width:34ch;color:var(--dim);font-size:11px}.cue-wrap{left:0;right:0;bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;justify-content:center;display:flex;position:absolute}.cue{pointer-events:auto;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);cursor:pointer;align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:inline-flex}.cue span{color:var(--gold);font-size:16px;animation:.6s ease-in-out infinite alternate hop}.cue:hover{color:var(--blue-hi)}.over{pointer-events:none;justify-content:center;align-items:center;padding:16px;animation:.25s .35s both over-in;display:flex;position:absolute;inset:72px 0 56px}@keyframes over-in{0%{opacity:0;transform:translateY(8px)}}.over__card{pointer-events:auto;cursor:default;background:color-mix(in srgb, var(--panel) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line2);border-radius:var(--r-panel);text-align:center;flex-direction:column;align-items:center;gap:8px;width:min(100%,320px);padding:22px 18px 18px;display:flex}.over__score{font-family:var(--display);color:var(--gold-hi);font-size:56px;font-weight:300;line-height:1}.over__score span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gray);font-size:12px}.over__post{color:var(--blue-hi);font-size:12px}.over__post--ok{color:var(--green)}.over__post--bad{color:var(--red)}.over__btns{flex-direction:column;gap:8px;width:100%;margin-top:8px;display:flex}.over__btns .btn{width:100%}.sheet{z-index:40;cursor:default;background:#000000a6;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sheet__box{flex-direction:column;gap:8px;width:min(100%,400px);min-height:0;max-height:calc(100svh - 32px);display:flex}.sheet__box--small{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-panel);width:min(100%,320px);padding:18px}.lb{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-panel);flex-direction:column;gap:10px;min-height:0;padding:20px;display:flex}.lb__head{justify-content:space-between;display:flex}.lb__why{font-family:var(--voice);color:var(--gray);font-size:13px;font-weight:500;line-height:1.5}.lb__empty{color:var(--dim);font-size:12px}.lb__fine{border-top:1px solid var(--line);color:var(--dim);padding-top:10px;font-size:10px;line-height:1.5}.board{flex-direction:column;min-height:0;list-style:none;display:flex;overflow-y:auto}.board__row{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 4px;font-size:13px;display:grid}.board__row:first-child{border-top:0}.board__rank{color:var(--dim)}.board__row:first-child .board__rank,.board__row:nth-child(2) .board__rank,.board__row:nth-child(3) .board__rank{color:var(--gold)}.board__addr{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board__score{font-family:var(--display);color:var(--gold-hi);font-size:18px;font-weight:600}.board__row--me{background:color-mix(in srgb, var(--blue) 14%, transparent);border-radius:var(--r-ctrl)}.board__row--me .board__addr:after{content:" · you";color:var(--blue-hi)}.board__row--gap{border-top:1px dashed var(--line2);margin-top:8px}.picker__item{background:var(--raised);border:1px solid var(--line2);border-radius:var(--r-ctrl);color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.picker__item:hover{border-color:var(--blue)}.picker__item img,.picker__blank{border-radius:4px;flex:none;width:24px;height:24px}.picker__blank{background:var(--blue)}@media (max-width:1280px){.nav__tool-label{display:none}.nav__tool--board{padding:0 7px}}@media (max-width:1180px){.nav .chip,.nav .btn--soon{display:none}}@media (max-width:480px){.nav__name{display:none}}@media (max-height:520px){.intro__lettering{display:none}}@media (prefers-reduced-motion:reduce){.intro__call,.cue span{animation:none}}
