@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zen-maru-gothic-latin-400-normal-D528XlL5.woff2)format("woff2"),url(/assets/zen-maru-gothic-latin-400-normal-C2uKpwdv.woff)format("woff")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/zen-maru-gothic-latin-ext-400-normal-DXWUyGHN.woff2)format("woff2"),url(/assets/zen-maru-gothic-latin-ext-400-normal-Dx7B9sAp.woff)format("woff")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/zen-maru-gothic-latin-700-normal-CSiy1nnP.woff2)format("woff2"),url(/assets/zen-maru-gothic-latin-700-normal-Cb4EHpDE.woff)format("woff")}@font-face{font-family:Zen Maru Gothic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/zen-maru-gothic-latin-ext-700-normal-rJjj6LE-.woff2)format("woff2"),url(/assets/zen-maru-gothic-latin-ext-700-normal-B9XjTL2e.woff)format("woff")}@font-face{font-family:Kaushan Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kaushan-script-latin-400-normal-DtTcRpVb.woff2)format("woff2"),url(/assets/kaushan-script-latin-400-normal-DZZZR3n8.woff)format("woff")}@font-face{font-family:Kaushan Script;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/kaushan-script-latin-ext-400-normal-CW-Pyyvv.woff2)format("woff2"),url(/assets/kaushan-script-latin-ext-400-normal-Dmz6mG63.woff)format("woff")}:root{--indigo:#1f2a44;--indigo-deep:#151d31;--zinnober:#c8442f;--creme:#f4ede0;--paper:#fbf6ec;--gold:#c9a24a;--holz:#8a5a3b;--holz-dark:#6a432a;--ink-soft:#1f2a44b8;--line:#1f2a4422;--radius:14px;--gap:12px;--font-ui:"Zen Maru Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;--font-brush:"Kaushan Script", "Zen Maru Gothic", cursive;--ease-out:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-ui);color:var(--indigo);background:var(--creme);-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{background-color:var(--creme);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .22 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");min-height:100dvh;margin:0}h1,h2{margin:0;font-weight:700;line-height:1.2}h2{font-size:1.05rem}p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{max-width:760px;padding:12px 16px calc(24px + env(safe-area-inset-bottom));gap:var(--gap);flex-direction:column;margin:0 auto;display:flex}.page--home{max-width:440px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 1px #1f2a440d}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--ink-soft)}.small{font-size:.875rem}.error{color:var(--zinnober);font-weight:700}.brand{text-align:center;flex-direction:column;align-items:center;padding:16px 0 4px;display:flex}.brand__fish{width:112px;height:112px;margin-bottom:-8px}.brand__title{font-family:var(--font-brush);font-size:4rem;font-weight:400;line-height:1}.brand__tagline{color:var(--ink-soft);margin-top:6px}.rules summary{cursor:pointer;font-weight:700}.rules p{margin-top:8px}input{font:inherit;color:inherit;background:#fff;border:1.5px solid #1f2a4440;border-radius:10px;width:100%;padding:12px 14px}.input--code{text-transform:uppercase;letter-spacing:.3em;font-weight:700}.btn{font:inherit;border:1.5px solid var(--indigo);min-height:44px;color:var(--indigo);cursor:pointer;transition:transform .12s var(--ease-out), background-color .12s;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--indigo);color:var(--creme)}.btn--light{background:var(--creme);color:var(--indigo);border-color:var(--creme);align-self:flex-start}.btn--ghost{text-underline-offset:3px;border-color:#0000;text-decoration:underline}.btn--round{width:44px;padding:0;font-size:1.4rem}.btn--chip{border-color:var(--player);background:var(--paper);padding-left:8px}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.tag{white-space:nowrap;background:#1f2a4414;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:700;display:inline-block}.tag--gold{background:var(--gold);color:var(--indigo)}.tag--red{background:var(--zinnober);color:var(--creme)}.tag--bot{color:var(--creme);background:#1f2a44}.tag--muted{color:var(--ink-soft);background:#1f2a440f}.mon{flex:none;display:block}.mon--chip{width:22px;height:22px}.mon--big{width:64px;height:64px}.lobby__code{font-family:var(--font-brush);letter-spacing:.04em;font-size:2.6rem;font-weight:400}.lobby__players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lobby__player{border-left:4px solid var(--player);background:#fff8;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.lobby__player .mon--chip{width:28px;height:28px}.lobby__name{font-weight:700}.lobby__remove{margin-left:auto}.lobby__botbar{flex-wrap:wrap;gap:8px;display:flex}.btn--icon{border-color:var(--line);width:36px;min-height:36px;padding:0;font-size:1.3rem}.lobby__player.is-offline .lobby__name{opacity:.5}.topbar{color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:10px;font-size:.9rem;display:flex}.topbar__brand{font-family:var(--font-brush);color:var(--indigo);font-size:1.5rem}.topbar__code{letter-spacing:.12em;color:var(--indigo);font-weight:700}.topbar__round{margin-left:auto}.banner{border-radius:var(--radius);background:var(--indigo);color:var(--creme);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.banner__text{font-weight:700}.banner__sub{opacity:.9;font-size:.9rem}.banner--success{background:var(--gold);color:var(--indigo)}.banner--success .btn--light{background:var(--indigo);border-color:var(--indigo);color:var(--creme)}.banner--fail{background:var(--zinnober)}.table{--seat-w:min(31%, 168px);--seat-h:128px;height:340px;position:relative}.table--n1,.table--n2{--seat-w:min(42%, 190px);height:250px}.table--n3{height:312px}.table__surface{background:radial-gradient(ellipse at 50% 35%, #ffffff12, transparent 60%), repeating-radial-gradient(circle at 50% 120%, transparent 0 14px, #ffffff08 14px 16px), var(--indigo);box-shadow:0 0 0 6px var(--holz), 0 0 0 8px var(--holz-dark), 0 10px 24px #1f2a4433, inset 0 0 40px #0006;border-radius:50%;position:absolute;inset:16% 3% 4%}.table__center{top:calc(var(--seat-h) + 4px);bottom:6%;left:calc(var(--seat-w) + 2%);right:calc(var(--seat-w) + 2%);text-align:center;color:var(--creme);flex-direction:column;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex;position:absolute}.table--n1 .table__center,.table--n2 .table__center{left:8%;right:8%}.center__bid{flex-direction:column;align-items:center;line-height:1;display:flex}.center__label{letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:.75rem}.center__value{font-family:var(--font-brush);font-size:2.6rem}.center__value b{color:var(--gold);font-weight:400}.center__of{opacity:.8;font-size:1.4rem}.center__who{margin-top:2px;font-size:.8rem;font-weight:700}.center__last{opacity:.75;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.75rem;display:-webkit-box;overflow:hidden}.seat{width:var(--seat-w);left:calc((100% - var(--seat-w)) * var(--x) / 100);top:calc((100% - var(--seat-h)) * var(--y) / 100);font:inherit;color:inherit;text-align:left;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--player);transition:box-shadow .2s, transform .2s var(--ease-out);border-radius:12px;flex-direction:column;gap:4px;padding:6px 8px 8px;font-size:.82rem;display:flex;position:absolute;box-shadow:0 4px 10px #1f2a4426}.seat.is-active{box-shadow:0 0 0 3px var(--gold), 0 6px 14px #1f2a4433;transform:translateY(-2px)}.seat.is-out{opacity:.55;filter:grayscale(.7)}button.seat{cursor:pointer}.seat.is-target{box-shadow:0 0 0 3px var(--zinnober), 0 6px 14px #c8442f44}.seat__head{align-items:center;gap:5px;min-width:0;display:flex}.seat__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.seat__meta{white-space:nowrap;color:var(--ink-soft);align-items:center;gap:6px;font-size:.7rem;display:flex}.seat__tags{flex-wrap:wrap;gap:3px;min-height:0;display:flex}.seat__tags:empty{display:none}.seat__cta{text-align:center;color:var(--creme);background:var(--zinnober);border-radius:999px;align-self:stretch;padding:2px 6px;font-size:.78rem;font-weight:700}.plate{width:100%;height:100%;display:block}.pile{--plate:36px;min-height:var(--plate);align-items:center;display:flex}.pile--big{--plate:58px}.pile__plate+.pile__plate{margin-left:calc(var(--plate) * -.45)}.flip{width:var(--plate);height:var(--plate);perspective:420px;flex:none;position:relative}.flip__inner{transform-style:preserve-3d;position:absolute;inset:0}.flip.is-flipped .flip__inner{transform:rotateY(180deg)}.flip__face{backface-visibility:hidden;position:absolute;inset:0}.flip__front{transform:rotateY(180deg)}.is-own-hidden .plate{opacity:.62;filter:saturate(.55)}.me{flex-direction:column;gap:10px;display:flex}.tray{color:var(--creme);background:repeating-linear-gradient(97deg, transparent 0 9px, #00000012 9px 11px, transparent 11px 23px, #ffffff0d 23px 25px), linear-gradient(180deg, #9b6845, var(--holz));box-shadow:inset 0 0 0 3px var(--holz-dark), inset 0 3px 0 4px #ffffff14, 0 6px 14px #1f2a4426;border-radius:16px;flex-direction:column;gap:8px;padding:10px 12px 12px;transition:box-shadow .2s;display:flex;position:relative}.tray.is-active{box-shadow:inset 0 0 0 3px var(--holz-dark), 0 0 0 3px var(--gold), 0 6px 14px #1f2a4433}.tray--master{box-shadow:inset 0 0 0 3px var(--gold), inset 0 0 0 6px var(--holz-dark), 0 6px 14px #1f2a4426}.tray__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tray__label{opacity:.8;font-size:.8rem}.tray__cta{background:var(--creme);color:var(--indigo);border-color:var(--creme);align-self:flex-start}.master{flex:none;align-items:center;gap:2px;display:inline-flex}.master .hanko{width:20px;height:20px;transform:rotate(-8deg)}.seat__meta .master{margin-left:auto}.master__count{color:var(--zinnober);font-size:.7rem;font-weight:700}.master:not(.master--small){position:absolute;top:8px;right:10px}.master:not(.master--small) .hanko{background:#f4ede0e6;border-radius:12px;width:54px;height:54px}.me__lost{color:var(--ink-soft);font-size:.82rem}.hand{flex-wrap:wrap;gap:8px;display:flex}.hand__tile{font:inherit;color:inherit;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;width:84px;transition:transform .15s var(--ease-out), box-shadow .15s;flex-direction:column;align-items:center;gap:4px;padding:8px 6px 6px;display:flex}.hand__tile .plate{width:66px;height:66px}.hand__tile:disabled{cursor:default}.hand__tile:disabled .plate{opacity:.75}.hand__tile:not(:disabled){border-color:var(--indigo);box-shadow:0 3px 0 var(--indigo)}@media (hover:hover){.hand__tile:not(:disabled):hover{transform:translateY(-3px)}}.hand__tile:not(:disabled):active{box-shadow:0 1px 0 var(--indigo);transform:translateY(1px)}.hand__label{font-size:.78rem;font-weight:700}.actionbar{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.stepper{align-items:center;gap:6px;display:flex}.stepper__value{text-align:center;min-width:2ch;font-family:var(--font-brush);font-size:1.8rem;line-height:1}.choice{flex-direction:column;gap:8px;display:flex}.choice__row{flex-flow:wrap}.choice__title{font-size:.95rem}.finale{background:var(--paper);border:2px solid var(--gold);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:18px 16px 16px;display:flex;position:relative;box-shadow:0 8px 20px #1f2a4426}.finale__title{font-family:var(--font-brush);font-size:2.2rem;line-height:1.1}.finale__sub{color:var(--ink-soft)}.finale__stamp{width:76px;height:76px;position:absolute;top:10px;right:12px;transform:rotate(-10deg)}.finale__stamp .hanko{width:100%;height:100%}.log{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}.log summary{cursor:pointer;font-weight:700}.log ol{max-height:40vh;margin:8px 0 0;padding-left:20px;font-size:.875rem;overflow:auto}.footer{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 0;font-size:.85rem;display:flex}.footer a{color:inherit;text-underline-offset:3px}.footer__links{gap:8px;display:flex}.lang{border:1.5px solid var(--line);border-radius:999px;display:inline-flex;overflow:hidden}.lang__btn{font:inherit;min-height:32px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px 12px;font-size:.8rem;font-weight:700}.lang__btn.is-active{background:var(--indigo);color:var(--creme)}.page--legal{max-width:720px}.legal__back{align-self:flex-start}.legal h1{font-family:var(--font-brush);margin-bottom:4px;font-size:2.2rem;font-weight:400}.legal h2{margin-top:18px;margin-bottom:4px}.legal p,.legal li{margin:6px 0;line-height:1.6}.legal ul{padding-left:20px}.toast{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));background:var(--indigo);max-width:calc(100% - 32px);color:var(--creme);z-index:10;animation:toast-in .22s var(--ease-out) both;border-radius:999px;padding:10px 18px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 6px 16px #1f2a4440}.toast--error{background:var(--zinnober)}@media (width>=640px){.table{--seat-h:136px;height:400px}.table--n1,.table--n2{height:290px}.seat{font-size:.9rem}.pile{--plate:44px}.pile--big{--plate:64px}}.is-revealing .flip__inner{animation:plate-flip .34s var(--ease-out) both;animation-delay:var(--anim-offset,0s)}.is-puffing .flip__front .plate{animation:.24s ease-out both fugu-puff;animation-delay:calc(var(--anim-offset,0s) + .34s)}.is-dropping{animation:plate-drop .3s var(--ease-out) both;animation-delay:var(--anim-offset,0s)}.is-shaking{animation:.38s ease-in-out both shake;animation-delay:var(--anim-offset,0s)}.is-stamping .hanko,.finale__stamp.is-stamping{animation:stamp .46s var(--ease-out) both;animation-delay:var(--anim-offset,0s)}@keyframes plate-flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)scale(1.12)}to{transform:rotateY(180deg)}}@keyframes fugu-puff{0%{filter:drop-shadow(0 0 #c8442f00);transform:scale(1)}45%{filter:drop-shadow(0 0 6px #c8442fcc);transform:scale(1.38)}75%{transform:scale(.94)}to{filter:drop-shadow(0 0 #c8442f00);transform:scale(1)}}@keyframes plate-drop{0%{opacity:0;transform:translateY(-22px)scale(1.15)}to{opacity:1;transform:none}}@keyframes shake{0%,to{translate:0}20%,60%{translate:-5px}40%,80%{translate:5px}}@keyframes stamp{0%{opacity:0;transform:scale(2.6)rotate(-24deg)}60%{opacity:1;transform:scale(.9)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-10deg)}}@keyframes toast-in{0%{opacity:0;translate:0 10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-delay:0s!important}}
