@font-face{font-family:Fredoka;src:url(/fonts/fredoka-latin-wght.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Nunito;src:url(/fonts/nunito-latin-wght.woff2)format("woff2");font-weight:200 1000;font-display:swap}:root{--coral:#d9432a;--coral-deep:#a8321d;--coral-soft:#ffe9e4;--sun:#ffc83d;--sun-deep:#d9a21b;--sun-soft:#fff6da;--sun-soft-2:#fff1c7;--on-sun:#1a2340;--blue:#2463eb;--blue-deep:#1a47ae;--blue-soft:#e6eeff;--green:#12985a;--green-deep:#0c6b3f;--green-soft:#d7f5e4;--disabled-bg:#eef4ff;--disabled-ink:#8a93ab;--tile-body:#3fcb7e;--tile-body-deep:#2eb06a;--tile-body-edge:#249457;--tile-face:#fffcf3;--tile-face-hi:#fff;--tile-face-lo:#f6eed8;--tile-face-line:#d6c9a6;--tile-face-rim:#d6c9a68c;--tile-seam:#e9dfc2;--tile-side-dark:#1f8a4f;--tile-drop:#04282461;--tile-ivory:#fffaee;--tile-outline:#1d6b55;--suit-a:#2463eb;--suit-b:#e0362c;--suit-c:#12985a;--suit-f:#c2410c;--suit-0:#1a2340;--ground:#eef4ff;--surface:#fff;--surface-2:#f5f8ff;--ink:#1a2340;--muted:#56607a;--line:#d5ddf0;--primary:var(--coral);--primary-deep:var(--coral-deep);--primary-ink:#fff;--accent:var(--blue);--accent-soft:var(--blue-soft);--accent-ink:#fff;--good:var(--green);--bad:#c8321c;--warn:#a85a00;--felt:#1ba393;--felt-mid:#12857a;--felt-deep:#0d6c63;--felt-ink:#fff;--felt-muted:#cfede8;--night:#1a2340;--night-ink:#fff;--night-muted:#cfd6ea;--seat-south:#8648d6;--glow:var(--sun);--ok-felt:#9bf0c4;--bad-felt:#ffb3a6;--warn-felt:#ffc83d;--press:var(--line);--press-card:0 6px 0 var(--press);--press-btn:0 4px 0 var(--press);--shadow:0 2px 4px #1a234014, 0 16px 40px #1a234029;--r-btn:14px;--r-btn-big:18px;--r-card:24px;--r-big:32px;--display:"Fredoka", "Nunito", system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--sans:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--serif:var(--display);--mono:Consolas, "Courier New", monospace;--panel:var(--surface);--ink-2:var(--muted);--gold:var(--sun-deep);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--coral:#f0603f;--coral-deep:#a33a22;--coral-soft:#3a2220;--sun-soft:#3a3218;--sun-soft-2:#44391a;--blue:#6e9bff;--blue-deep:#3a5fc0;--blue-soft:#1e2c55;--green:#3ccb86;--green-deep:#1f8452;--green-soft:#173a2c;--disabled-bg:#222b48;--disabled-ink:#6f7896;--suit-a:#7fa8ff;--suit-b:#ff7a6b;--suit-c:#4fd893;--suit-f:#ff9a5c;--suit-0:#e8ecf8;--ground:#10162b;--surface:#1a2240;--surface-2:#212a4b;--ink:#eef2ff;--muted:#a3adc8;--line:#323e66;--press:#0a0f20;--accent-ink:#0b1020;--bad:#ff7a6b;--warn:#ffb35c;--felt:#168a7d;--felt-mid:#0f7066;--felt-deep:#0a5550;--tile-face:#f4efdf;--tile-face-hi:#faf7ee;--tile-face-lo:#e8dfc6;--tile-face-line:#bfb08a;--tile-face-rim:#aa9b738c;--tile-seam:#d9cdaa;--tile-side-dark:#186f40;--tile-drop:#00000080;--tile-ivory:#f4efdf;--seat-south:#9563e8;--shadow:0 2px 4px #0000004d, 0 16px 40px #00000073}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--ground);margin:0}body{color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}h1,h2,h3{text-wrap:balance;line-height:1.3;font-family:var(--display);margin:0;font-weight:700}p{margin:0}a{color:var(--accent)}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn{font:inherit;font-family:var(--display);border-radius:var(--r-btn);background:var(--surface);min-height:44px;color:var(--ink);box-shadow:var(--press-btn);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-weight:600;transition:translate 80ms,box-shadow 80ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--press);translate:0 3px}.btn.primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 5px 0 var(--primary-deep)}.btn.primary:active:not(:disabled){box-shadow:0 2px 0 var(--primary-deep)}.btn.big{border-radius:var(--r-btn-big);min-height:56px;padding:12px 26px;font-size:18px;font-weight:700}.btn.blue{background:var(--blue);color:#fff;box-shadow:0 4px 0 var(--blue-deep)}.btn.blue:active:not(:disabled){box-shadow:0 1px 0 var(--blue-deep)}.btn.danger{color:var(--bad)}.btn.small{padding:6px 12px;font-size:14px}.btn:disabled{background:var(--disabled-bg);color:var(--disabled-ink);box-shadow:none;cursor:not-allowed}input[type=text],input[type=password],input[type=number],input[type=email],input[type=search],select,textarea{font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-radius:var(--r-btn);max-width:100%;min-height:44px;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}input:disabled,select:disabled,textarea:disabled{background:var(--disabled-bg);color:var(--disabled-ink)}textarea{resize:vertical}.seg{background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--line);border-radius:999px;gap:2px;padding:4px;display:inline-flex}.seg button{font:inherit;min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:700}.seg button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.check{align-items:center;gap:8px;min-height:44px;font-size:14px;display:inline-flex}.check input{width:20px;height:20px;accent-color:var(--accent)}.linklike{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--press-card)}.tag{background:var(--surface-2);color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:800;display:inline-flex}dialog.modal{border-radius:var(--r-card);background:var(--surface);width:min(460px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow);border:0;padding:0}dialog.modal::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a234099}dialog.modal:focus{outline:none}.modal-body{gap:14px;padding:24px;display:grid}.modal-body h2{font-family:var(--display);font-size:24px}.modal-close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-self:end;min-width:44px;min-height:44px;margin:-10px -10px 0 0;font-size:22px;line-height:1}.tile-art{display:block}.board{--tw:clamp(28px, 3.6vw, 50px);background:radial-gradient(120% 90% at 50% 30%, var(--felt), var(--felt-deep));color:var(--felt-ink);min-height:300px;box-shadow:var(--shadow);border-radius:14px;grid-template-columns:minmax(0,1fr);align-content:center;gap:16px;padding:20px clamp(10px,2vw,24px) 22px;display:grid;overflow-x:auto}.b-title{font-family:var(--serif);text-align:center;font-size:20px;font-weight:900}.b-row{justify-items:center;gap:6px;display:grid}.b-row.mid{--tw:clamp(24px, 3vw, 42px)}.b-row.dense{--tw:clamp(20px, 2.4vw, 34px)}.b-cap{color:var(--felt-muted);font-size:13.5px}.b-groups{flex-wrap:wrap;justify-content:center;gap:10px 12px;display:flex}.b-picker{justify-items:center;gap:14px;min-width:0;display:grid}.b-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.b-chip{min-height:44px;color:var(--felt-ink);font:800 15px var(--body);cursor:pointer;background:#ffffff29;border:0;border-radius:999px;padding:0 18px;box-shadow:inset 0 0 0 1.5px #ffffff59}.b-chip:hover{background:#ffffff42}.b-chip:focus-visible{outline:3px solid var(--glow);outline-offset:2px}.b-chip[aria-pressed=true]{background:var(--sun);color:var(--on-sun);box-shadow:0 4px 0 var(--sun-deep)}.b-group{border-radius:10px;align-content:start;justify-items:center;gap:6px;max-width:100%;padding:6px;display:grid}.b-tiles{flex-wrap:wrap;justify-content:center;gap:2px;display:flex}.bt{width:var(--tw);background:0 0;border:0;border-radius:6px;padding:0;transition:translate .15s;display:block}button.bt{cursor:pointer}.bt svg{filter:drop-shadow(0 2px 2px #00000059);width:100%;height:auto;display:block}@media (hover:hover){button.bt:hover{translate:0 -3px}}@media (hover:none){button.bt:hover{translate:none}}.bt.hl{outline:4px solid var(--glow);outline-offset:2px;border-radius:7px}.bt.slot{aspect-ratio:64/88;border:2px dashed var(--glow);border-radius:7px}.b-label{text-align:center;font-size:13px;font-weight:700}.m-focus{box-shadow:inset 0 0 0 1.5px var(--glow);background:#ffffff1a}.m-dim{opacity:.45}.m-good{box-shadow:inset 0 0 0 1.5px var(--ok-felt)}.m-bad{box-shadow:inset 0 0 0 1.5px var(--bad-felt)}.m-good .b-label:before{content:"✓ ";color:var(--ok-felt)}.m-bad .b-label:before{content:"✗ ";color:var(--bad-felt)}.flagged{box-shadow:inset 0 0 0 2px var(--warn-felt)}.b-flag{background:var(--warn-felt);color:#2a1a00;border-radius:99px;padding:1px 8px;font-size:12px;font-weight:700}.b-note,.b-empty{text-align:center;color:var(--felt-muted);font-size:14px}.board.text-only .b-note{color:var(--felt-ink);justify-self:center;max-width:30em;font-size:19px;font-weight:700}.b-group.exposed{background:#0000003d;order:1;margin-left:14px;padding:6px 8px 15px;box-shadow:inset 0 0 0 1.5px #ffffff4d}.b-group.exposed~.b-group.exposed{margin-left:0}.b-group.exposed .b-tiles{transform-origin:50% 100%;transform:perspective(320px)rotateX(24deg)}.b-group.exposed .bt{position:relative}.b-group.exposed>.b-label{margin-top:8px}.b-group.exposed .bt:after{content:"";background:var(--tile-side-dark);height:15px;box-shadow:0 3px 3px var(--tile-drop);z-index:-1;border-radius:0 0 6px 6px;position:absolute;bottom:-12px;left:1px;right:1px}.b-group.wall{--wall-t:12px}.b-group.wall .b-tiles{padding-top:var(--wall-t)}.b-group.wall .bt{translate:0 calc(var(--wall-t) * -1)}.b-group.wall .bt:after{bottom:calc(var(--wall-t) * -2);height:calc(var(--wall-t) * 2 + 3px);background:linear-gradient(var(--tile-side-dark) calc(50% - 1px), #00000052 calc(50% - 1px), #00000052 calc(50% + 1px), var(--tile-side-dark) calc(50% + 1px))}.b-group.wall .wall-gap{display:block;position:relative}.b-group.wall .wall-gap .bt{translate:none}.b-group.wall .wall-gap .bt:after{bottom:calc(var(--wall-t) * -1);height:calc(var(--wall-t) + 3px);background:var(--tile-side-dark)}.b-group.wall .wall-gap:before{content:"";left:-1px;right:-1px;top:calc(var(--wall-t) * -1 - 1px);bottom:calc(var(--wall-t) - 1px);border:3px dashed var(--glow);z-index:1;pointer-events:none;border-radius:8px;position:absolute}.b-group.exposed.flat3d{background:#ffffff1a;padding-bottom:8px}.b-group.flat3d .b-tiles{transform:none}.b-group.flat3d .bt{width:calc(var(--tw) * 1.07);aspect-ratio:var(--flat-ar)}.b-group.flat3d .bt:after{display:none}.b-group.flat3d .bt img{width:100%;height:100%;display:block}.b-group.exposed.flat3d>.b-label{margin-top:2px}.b-group.wall.wall3d{box-shadow:none;background:0 0;padding:0}.b-group.wall.wall3d .b-tiles{padding-top:0;transform:none}.b-group.wall.wall3d .bt{width:calc(var(--tw) * 1.065);aspect-ratio:var(--wall-ar);translate:none}.b-group.wall.wall3d .bt:after{display:none}.b-group.wall.wall3d .bt img{width:100%;height:100%;display:block}.b-group.wall.wall3d .wall-gap:before{left:2px;right:2px;top:calc(var(--gap-t) * 100%);bottom:calc((1 - var(--gap-b)) * 100%);border-radius:6px}.b-lines{justify-self:center;justify-items:center;gap:6px;width:min(100%,560px);display:grid}.b-lines.cols{width:min(100%,780px)}.b-lblocks{gap:8px;width:100%;display:grid}.b-lines.cols .b-lblocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}.b-lblock{align-content:start;gap:6px;display:grid}.b-lsec{letter-spacing:.08em;text-transform:uppercase;color:var(--felt-muted);margin:0;font-size:12px;font-weight:800}.b-line{background:var(--surface);color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:7px 14px;display:flex;box-shadow:0 4px #00000038}.b-lmain{gap:1px;min-width:0;display:grid}.b-line .card-line{font:700 19px/1.25 var(--display);letter-spacing:.02em;flex-wrap:wrap;display:flex}.b-line .card-line .cg{margin-right:.45em}.b-line .card-line .cg:last-child{margin-right:0}.b-lnote{color:var(--muted);justify-self:start;font-size:12.5px;font-weight:700;line-height:1.3}.b-lval{font:700 17px/1 var(--display);white-space:nowrap;flex:none;align-items:center;gap:.35em;display:flex}.b-grid{background:var(--surface);width:min(100%,560px);color:var(--ink);border-radius:12px;justify-self:center;overflow:hidden;box-shadow:0 4px #00000038}.b-grid table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.3}.b-grid th,.b-grid td{text-align:center;overflow-wrap:anywhere;padding:9px 12px}.b-grid thead th{color:var(--muted);background:var(--surface-2);font-size:12.5px;font-weight:800}.b-grid tbody th{text-align:center;font-weight:800}.b-grid td{font:700 17px/1.25 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal}@media (width<=480px){.b-grid th,.b-grid td{padding:8px}.b-grid td{font-size:15px}}.b-grid tbody tr+tr>*{border-top:1.5px solid var(--line)}.b-circle{box-shadow:0 0 0 3px var(--sun);border-radius:999px;margin:-3px 2px;padding:3px 7px;display:inline-block}.b-frames{min-width:0;display:grid}.b-frame{grid-area:1/1;grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;display:grid}.b-frame:not(.on){visibility:hidden}.b-frame .b-tiles:empty{min-height:calc(var(--tw) * 88 / 64);min-width:var(--tw)}.b-frames.fade .b-frame.on{animation:.35s both frameIn}@keyframes frameIn{0%{opacity:0}to{opacity:1}}.b-fcap{text-align:center;background:#00000042;border-radius:99px;justify-self:center;margin:0;padding:3px 14px;font-size:14.5px;font-weight:800}.board.animate .b-frame:not(:first-child) .bt{animation:none}.board.animate .bt{animation:.45s cubic-bezier(.2,.8,.2,1) both tileIn;animation-delay:calc(var(--i,0) * 26ms)}@keyframes tileIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}.table-view{grid-template-columns:auto minmax(120px,1fr) auto;place-items:center;gap:10px;display:grid}.tv-top{grid-column:1/-1;justify-items:center;gap:4px;display:grid}.tv-left,.tv-right{grid-row:2;align-items:center;gap:6px;display:flex}.tv-left{grid-column:1}.tv-right{flex-direction:row-reverse;grid-column:3}.tv-center{aspect-ratio:1;grid-area:2/2;width:min(180px,100%);position:relative}.tv-center svg{width:100%;height:100%;display:block}.tv-center .arw{fill:none;stroke:var(--glow);stroke-width:4px;stroke-linecap:round;stroke-dasharray:8 6;animation:1s linear infinite dash}.tv-center .ahead{fill:var(--glow)}@keyframes dash{to{stroke-dashoffset:-14px}}.tv-label{white-space:nowrap;background:#0000004d;border-radius:99px;padding:2px 10px;font-size:12.5px;position:absolute;top:0;left:50%;translate:-50%}.tv-you{grid-column:1/-1;justify-items:center;gap:6px;display:grid}.seat-box{justify-items:center;gap:4px;display:grid}.table-view.fan{position:relative}.table-view.fan .tv-center{width:min(140px,100%)}.tv-arrows{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tv-arrows .arw{fill:none;stroke:var(--glow);stroke-width:4px;stroke-linecap:round;stroke-dasharray:8 6;animation:1s linear infinite dash}.tv-arrows .ahead{fill:var(--glow)}.tv-alabel{color:var(--felt-ink);white-space:nowrap;pointer-events:none;background:#0000004d;border-radius:99px;padding:2px 10px;font-size:12.5px;font-weight:800;position:absolute}.tv-alabel.l{translate:-100% -50%}.tv-alabel.r{translate:0 -50%}.tv-alabel.t{translate:-50% -100%}.tv-alabel.b{translate:-50%}.b-pass{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 16px;display:flex}.b-pass-arrow{justify-items:center;gap:2px;width:min(140px,30vw);display:grid}.b-pass-arrow svg{width:100%;height:auto;display:block}.b-pass-label{font:700 18px var(--display)}.b-pass-to{font:700 18px var(--display);white-space:nowrap;background:#ffffff29;border-radius:99px;padding:8px 18px;box-shadow:inset 0 0 0 1.5px #ffffff59}.b-pass .arw,.b-swap .arw{fill:none;stroke:var(--glow);stroke-width:4px;stroke-linecap:round}.b-pass .arw{stroke-dasharray:8 6;animation:1s linear infinite dash}.b-pass .ahead,.b-swap .ahead{fill:var(--glow)}.board.has-swap{position:relative}.board.has-swap .b-row+.b-row{margin-top:26px}.board.has-swap .b-cap{z-index:1;background:#00000038;border-radius:99px;padding:1px 10px;position:relative}.b-swap{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.b-swap .arw{stroke-width:3.5px}.b-swap-label{background:var(--sun);color:var(--on-sun);white-space:nowrap;pointer-events:none;border-radius:99px;padding:2px 10px;font-size:12.5px;font-weight:800;position:absolute;translate:0 -50%}.board.swap-h .b-group.exposed{margin-left:64px}.board.swap-h .b-row{padding-top:22px}.b-swap-label.h{translate:-50% -100%}.seat{color:var(--felt-muted);font-size:12.5px;font-weight:700}.table-view.slim{grid-template-columns:auto minmax(96px,1fr) auto;gap:6px}.table-view.slim .tv-center{width:min(132px,100%)}.table-view.slim .seat{letter-spacing:.02em;color:var(--felt-ink);text-shadow:0 1px #00000059;font-size:24px}.table-view.slim .tv-you .rack{--tw:clamp(26px, 3vw, 44px)}.table-view.slim .bt.hl{outline:4px solid var(--glow);outline-offset:2px;border-radius:7px;box-shadow:0 0 0 8px #ffd65c2e,0 8px 16px #0000004d}.table-view.slim .tv-you .rack .bt:not(.hl){opacity:.88}.seat.you{color:var(--felt-ink)}.rack{gap:1px;display:flex}.rack.you{--tw:clamp(24px, 2.8vw, 40px);flex-wrap:wrap;justify-content:center;gap:2px}.rack .bt.sm{width:16px}.rack.v{flex-direction:column;gap:1px}.rack.v .bt.sm{width:18px;height:13px;position:relative}.rack.v .bt.sm svg{width:13px;position:absolute;top:-2.5px;left:2.5px;transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.board.animate .bt,.tv-center .arw,.tv-arrows .arw,.b-pass .arw,.b-frames.fade .b-frame.on{animation:none}.bt{transition:none}}.form{gap:12px;display:grid}.field{color:var(--muted);gap:4px;font-size:13.5px;font-weight:700;display:grid}.field input,.field select,.field textarea{width:100%;font-size:15px;font-weight:400}.inline,.btns{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.grow{flex:200px}.small{font-size:13.5px}.msg-line{min-height:1.4em;font-size:14px}.msg-line:empty{min-height:0}.msg-line.ok{color:var(--good);font-weight:700}.msg-line.err{color:var(--bad);font-weight:700}.msg-line.warn{color:var(--warn)}.err{color:var(--bad);font-weight:700}.danger{color:var(--bad)}.odds-exact{color:var(--warn)}
