@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer utilities{@layer daisyui.l1.l2.l3{:where(.btn){width:unset}.btn{--size:calc(var(--size-field,.25rem) * 10);--btn-p:1rem;--btn-fg:var(--color-base-content);cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;border-width:var(--border);touch-action:manipulation;--btn-bg:var(--btn-color,var(--color-base-200));--btn-border:var(--btn-color,var(--color-base-200));border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 calc(var(--depth) * 5%))}}.btn{--btn-soft-bg:initial;--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));height:var(--size);padding-inline:var(--btn-p);font-size:var(--fontsize,.875rem);background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);border-style:var(--btn-border-style,solid);outline-color:var(--btn-color,var(--color-base-content));--tw-prose-links:var(--btn-fg);background-image:none,var(--fx-noise);background-size:auto,calc(var(--noise,0) * 100%);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));box-shadow:var(--btn-inset) inset,var(--btn-shadow)}.btn:is([type=checkbox],[type=radio]){appearance:none}.btn:is([type=checkbox],[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(:checked:not(.filter [type=radio].btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto,calc(var(--noise) * 100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));flex-shrink:0;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.btn-outline{--btn-bg:#0000;color:var(--btn-rest-fg,var(--btn-color,var(--color-base-content)));--btn-border:var(--btn-color,var(--color-base-content));--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@layer daisyui.l1{@media(hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:hover{color:var(--btn-fg);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:hover{--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active,[aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0)}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-bg:var(--btn-color,var(--color-base-200));color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){isolation:isolate}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}}@layer daisyui.l1.l2{.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:is([aria-pressed=true],[aria-checked=true],[aria-current]:not([aria-current=false],[aria-current=""])){--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);isolation:isolate}.btn-block{width:100%}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content);--btn-soft-bg:initial}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem) * 12)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);--btn-soft-bg:initial}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content);--btn-soft-bg:initial}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}}@layer daisyui{.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){color:color-mix(in oklch,var(--color-base-content) 20%,#0000)}}.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]){--btn-bg:#0000;--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:is(.btn-disabled,:disabled,[disabled],[aria-disabled=true]):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content) 10%,transparent)}}}.absolute{position:absolute}.relative{position:relative}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--bg:#f4efe6;--card:#fffbf5;--stroke:#e5d9c8;--primary:#8c3b3b;--primary-pressed:#6f2e2e;--ink:#2c241b;--ink-muted:#6b5e52;--chip-playable-bg:#e4d8c4;--chip-playable-fg:#6b4e32;--chip-soon-bg:#e7dfd2;--chip-soon-fg:#6b5e52;--chip-soon-border:#c4a06a;--ink-strong:#1c1a17;--meta:#8b8680;--wood:#d7b07a;--table:#c4a06a;--table-edge:#b8955e;--table-center:#cdb587;--frame:#6b4e32;--grid:#3d2e22b3;--shadow:#1c1a1714;--radius-card:12px;--radius-button:10px;color:var(--ink);background:#e7dfd2;font-family:WenQuanYi Micro Hei,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button:not(.btn),input{font:inherit;color:inherit}button.btn{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-frame{background:radial-gradient(circle at 20% 0,#fffbf5b3,#0000 40%),#e7dfd2;justify-content:center;min-height:100dvh;display:flex}.phone{background:var(--bg);flex-direction:column;width:min(100%,440px);min-height:100dvh;display:flex;box-shadow:0 0 0 1px #6b4e3214}.phone.home-column{width:min(100%,780px)}.topbar{border-bottom:1px solid var(--stroke);align-items:center;gap:8px;min-height:52px;padding:8px 12px;display:flex}.topbar h1{flex:1;margin:0;font-size:18px;font-weight:600}.icon-button,.text-button,.primary,.ghost{border-radius:var(--radius-button);border:1px solid #0000;min-height:40px}.icon-button{border-color:var(--stroke);background:0 0;width:40px}.primary{background:var(--primary);color:#fff;border:0;min-height:48px;padding:0 16px;font-weight:600}.primary:hover:not(:disabled){background:var(--primary-pressed)}.ghost{background:var(--card);border-color:var(--stroke);padding:0 14px;font-weight:600}.text-button{color:var(--ink);background:0 0;border:0;padding:8px 12px}.page{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.page h2{margin:0;font-size:22px;font-weight:600}.muted{color:var(--ink-muted);font-size:14px;line-height:1.45}.section-title{margin:0;font-size:16px;font-weight:600}.home-head{padding:16px 16px 0}.home-title{color:var(--ink-strong);margin:0;font-size:28px;font-weight:700;line-height:1.25}.home-head .meta{color:var(--meta);margin:6px 0 0;font-size:13px;line-height:1.45}.grid{grid-template-columns:1fr 1fr;gap:8px;padding:8px 16px 16px;display:grid}.game-card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius-card);text-align:left;padding:0;overflow:hidden;box-shadow:0 1px 2px #1c1a170f}.card a{color:var(--primary)}.cover{aspect-ratio:4/3;background:linear-gradient(160deg,#fffbf533,transparent 50%),var(--wood);place-items:center;display:grid;position:relative;overflow:hidden}.cover-art{object-fit:cover;object-position:center center;width:100%;height:100%;display:block;position:absolute;inset:0}.cover.soon .cover-art{filter:saturate(.62)brightness(.96)}.cover.soon:after{content:"";pointer-events:none;background:#f4efe647;position:absolute;inset:0}.cover span.glyph{color:var(--frame);z-index:1;font-size:42px;font-weight:700}.chip{z-index:2;box-sizing:border-box;border:1px solid #0000;border-radius:999px;align-items:center;height:24px;min-height:24px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:8px;left:8px}.chip-playable{background:var(--chip-playable-bg);color:var(--chip-playable-fg);border-color:var(--chip-playable-fg)}.chip-soon{background:var(--chip-soon-bg);color:var(--chip-soon-fg);border-color:var(--chip-soon-border)}.card-body{padding:8px 8px 10px}.card-body strong{color:var(--ink-strong);font-size:17px;font-weight:700;line-height:1.3;display:block}.card-body .card-summary{color:var(--ink-strong);margin:4px 0 0;font-size:14px;line-height:1.45}.settings-bar{border-top:1px solid var(--stroke);background:#e7dfd2;min-height:52px;margin-top:auto}.settings-bar button{width:100%;height:52px;min-height:44px;color:var(--ink-strong);background:0 0;border:0;font-size:16px;font-weight:600}.about-capability{flex-direction:column;gap:4px;margin-top:8px;display:flex}.about-capability p{color:var(--ink-strong);margin:0;font-size:14px;line-height:1.5}.about-fold{border-top:1px solid var(--stroke);margin-top:10px}.about-fold summary{cursor:pointer;color:#6b4e32;align-items:center;min-height:44px;font-size:15px;font-weight:600;display:flex}.about-fold p{margin:0 0 8px}.card{background:var(--card);border:1px solid var(--stroke);border-radius:var(--radius-card);padding:16px}.row{gap:8px;display:flex}.row>*{flex:1}.choice{border-radius:var(--radius-button);border:1px solid var(--stroke);background:var(--card);min-height:44px;font-weight:700}.choice.selected{border:2px solid var(--primary);color:var(--primary);background:#fbf6f0}.field{flex-direction:column;gap:6px;font-size:14px;display:flex}.field input{border-radius:var(--radius-button);border:1px solid var(--stroke);background:#fff;min-height:44px;padding:0 12px}.room-code{letter-spacing:4px;margin:0;font-family:ui-monospace,DejaVu Sans Mono,Noto Sans Mono,monospace;font-size:30px;font-weight:700;line-height:1.1}.error{color:var(--primary);font-size:14px}.banner{border-radius:var(--radius-card);background:var(--card);border:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.banner strong{font-size:16px}.banner.hud-status{background:var(--card);border-color:var(--stroke);box-shadow:0 2px #c4a06a}.banner.hud-status[data-phase=bidding]{box-shadow:inset 3px 0 #8c3b3b,0 2px #c4a06a}.hud-phase.badge{border:0;height:auto;min-height:1.6rem;font-size:15px;font-weight:700}.hud-meta.badge{height:auto;min-height:1.5rem;color:var(--ink-muted);background:#f4efe6;border-color:#e5d9c8;font-size:13px}.hud-actions{flex-direction:column;gap:8px;display:flex}.hud-resign.btn{min-height:40px}.toast{background:var(--ink);color:#fffbf5;border-radius:8px;padding:8px 10px;font-size:13px}.board-wrap{background:var(--wood);border:7px solid var(--frame);touch-action:manipulation;border-radius:12px;position:relative}.board-wood{background:linear-gradient(160deg,#e6c892,#d7b07a 52%,#c4a06a)}.board-wrap svg{width:100%;height:auto;display:block}.board-shake{position:relative}.board-lock,.board-lock *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.board-lock ::selection{background:0 0}.piece-layer{--gap:10.833%;pointer-events:none;position:absolute;inset:0}.xq-piece{width:calc(var(--gap) * .98);aspect-ratio:1;pointer-events:auto;cursor:pointer;background:0 0;border:0;margin:0;padding:0;line-height:0;transition:transform .12s,filter .12s;position:absolute;transform:translate(-50%,-50%)}.xq-piece:disabled{opacity:1;cursor:default}.xq-piece img{pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.xq-piece.fx-lift{filter:drop-shadow(0 7px 5px #2c241b61);z-index:4;transform:translate(-50%,calc(-50% - 4px))scale(1.07)}.xq-piece.fx-flash img{animation:.24s ease-out fx-flash}.xq-check-ring{border:2px solid var(--primary);pointer-events:none;border-radius:50%;position:absolute;inset:4%}.xq-trail{width:calc(var(--gap) * .92);aspect-ratio:1;pointer-events:none;background:#6b4e322e;border-radius:4px;position:absolute;transform:translate(-50%,-50%)}.fx-dot{aspect-ratio:1;pointer-events:none;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.fx-dot.empty{width:calc(var(--gap) * .35);background:#8c3b3b47}.fx-dot.capture{width:calc(var(--gap) * .22);z-index:5;background:#8c3b3b}.table-stage{background:radial-gradient(ellipse at center,#fff8e62e,transparent 55%),var(--bg);border-radius:16px;height:460px;position:relative;overflow:hidden}.table-oval{background:radial-gradient(ellipse at 50% 42%,var(--table-center),var(--table) 58%,var(--table-edge));border:8px solid var(--frame);border-radius:50%;position:absolute;inset:16% 12% 18%;box-shadow:inset 0 0 0 2px #ffecc459,0 10px 18px #6b4e322e}.seat{text-align:center;background:#fffbf5f0;border:1px solid #e5d9c8;border-radius:12px;width:96px;padding:4px 4px 6px;font-size:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px 14px #2c241b1f}.seat .name{max-width:100%;height:auto;min-height:1.2rem;color:var(--ink);background:#fffbf5;border-color:#e5d9c8;margin-bottom:2px;font-size:11px;font-weight:700}.seat.actor{border-color:#8c3b3b}.seat.actor .name{color:var(--primary);border-color:#8c3b3b}.seat.actor .mat,.seat.target .mat{box-shadow:0 0 0 4px #8c3b3b}.seat.target .mat{animation:1s ease-in-out infinite fx-pulse}.seat.out{opacity:.45}.mat{border:2px solid var(--frame);background:#efe4cf 50%/cover no-repeat;border-radius:50%;width:72px;height:72px;margin:0 auto;position:relative}.stack{justify-content:center;align-items:center;display:flex;position:absolute;inset:10px}.disc{background:#f7f1e4 50%/cover no-repeat;border:2px solid #6b4e32;border-radius:50%;width:46px;height:46px;display:inline-block;box-shadow:0 2px #6b4e3240}.disc-key{justify-content:center;gap:20px;display:flex}.disc-key figure{flex-direction:column;align-items:center;gap:4px;margin:0;display:flex}.disc-key img{object-fit:cover;background:#f7f1e4;border:2px solid #6b4e32;border-radius:50%;width:40px;height:40px;display:block;box-shadow:0 2px #6b4e3259}.disc-key figcaption{color:var(--ink-muted);font-size:13px;line-height:1.2}.disc.stacked{position:absolute}.hand{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.hand button.disc{width:64px;height:64px;padding:0}.veil{color:#fffbf5;text-align:center;background:#2c241bb8;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.dialog-back{z-index:20;background:#2c241b73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--card);border:1px solid var(--stroke);border-radius:12px;width:min(100%,360px);padding:16px}.dialog h3{margin:0 0 8px}.coach{border:1px solid var(--frame);background:#fff7ea;border-radius:12px;padding:12px}.samples{justify-content:center;gap:12px;display:flex}.sample{border:3px solid #0000;border-radius:50%;width:54px;height:54px}.sample.black{background:radial-gradient(circle at 35% 35%,#4a4a4a,#1a1a1a)}.sample.white{background:radial-gradient(circle at 35% 35%,#fff,#f7f4ee);border-color:#d9d0c4}.sample.hot{outline:3px solid var(--primary)}.summary{margin:0;padding-left:18px}.summary li{margin:4px 0;font-size:14px}.switch{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.switch+.switch{border-top:1px solid var(--stroke)}.switch input[type=checkbox]{appearance:none;border:1px solid var(--stroke);cursor:pointer;background:#e7dfd2;border-radius:999px;flex:none;width:44px;height:26px;margin:0;position:relative}.switch input[type=checkbox]:after{content:"";background:#fffbf5;border-radius:50%;width:20px;height:20px;transition:transform .14s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #2c241b40}.switch input[type=checkbox]:checked{background:#8c3b3b;border-color:#8c3b3b}.switch input[type=checkbox]:checked:after{transform:translate(18px)}.switch input[type=checkbox]:focus-visible{outline-offset:2px;outline:2px solid #8c3b3b}.result{background:var(--card);border:1px solid var(--stroke);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.table-stage,.table-stage *{-webkit-user-select:none;user-select:none}.fx-table-flash{pointer-events:none;border-radius:16px;animation:.28s ease-out fx-flash-ring;position:absolute;inset:0}.primary.fx-hint{box-shadow:0 0 0 3px #fffbf559,0 0 0 6px #8c3b3b8c}.disc.fx-hint{animation:1.1s ease-in-out infinite fx-pulse;box-shadow:0 0 0 4px #8c3b3b}.bid-row.fx-hint{outline-offset:4px;border-radius:12px;outline:2px solid #8c3b3b73}.fx-confirm{animation:.28s ease-out fx-confirm}.fx-pop{transform-box:fill-box;transform-origin:50%;animation:.2s ease-out fx-pop}.fx-shake{animation:.28s ease-in-out fx-shake}@keyframes fx-pop{0%{transform:scale(.55)}70%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes fx-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes fx-flash{0%{filter:brightness(1.45)}to{filter:brightness()}}@keyframes fx-flash-ring{0%{box-shadow:inset 0 0 0 3px #8c3b3b8c}to{box-shadow:inset 0 0 0 3px #8c3b3b00}}@keyframes fx-confirm{0%{box-shadow:0 0 #8c3b3b66}to{box-shadow:0 0 0 8px #8c3b3b00}}@keyframes fx-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.ek-rules{color:var(--ink);font-size:14px;line-height:1.5}.ek-rules summary{align-items:center;min-height:44px;font-weight:700;display:flex}.ek-rules p{margin:8px 0 0}.page>.ek-dock,.ek-dock{margin-top:auto}.ek-dock{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f4efe6;border-top:1px solid #e5d9c8;flex-direction:column;gap:8px;display:flex}.ek-dock .primary,.ek-dock .ghost,.ek-lobby .primary{width:100%;height:48px;min-height:48px}.ek-lobby .primary:disabled{color:#8b8680;opacity:1;background:#d5cdc3}.segment .choice.selected{border:2px solid #8c3b3b}.ek-board{flex-direction:column;gap:8px;min-height:calc(100dvh - 140px);display:flex}.page:has(.ek-end) .ek-board{min-height:0}.page:has(.ek-end) .ek-mid{flex:0;min-height:96px}.page:has(.ek-end) .ek-bottom{min-height:0}.ek-top,.ek-piles{align-items:center;gap:8px;display:flex}.ek-top{flex-direction:column;align-items:stretch}.ek-pile{color:#1c1a17;background:#fffbf5;border:1px solid #e5d9c8;border-radius:12px;flex:1;align-items:center;gap:8px;min-height:44px;padding:6px;font-weight:700;display:flex}.ek-mid{background:#c4a06a;border:4px solid #6b4e32;border-radius:18px;flex-wrap:wrap;flex:1;align-content:center;gap:8px;min-height:140px;padding:12px;display:flex;position:relative}.ek-bottom{flex-direction:column;justify-content:flex-end;gap:8px;min-height:33vh;display:flex}.ek-seat{color:#1c1a17;text-align:left;background:#f4efe6;border:1px solid #6b4e32;border-radius:12px;min-width:104px;min-height:72px;padding:8px}.ek-seat.active{background:#fffbf5;border:2px solid #8c3b3b}.ek-seat strong{font-size:15px;display:block}.ek-count{color:#8b8680;font-size:13px}.ek-backs{gap:4px;margin-top:6px;display:flex}.ek-backs i{background:repeating-linear-gradient(135deg,#6b4e32,#6b4e32 4px,#c4a06a 4px 8px);border-radius:4px;width:22px;height:30px}.ek-hand{gap:8px;min-height:112px;padding:4px 2px 8px;display:flex;overflow-x:auto}.ek-card{color:#1c1a17;background:#fffbf5;border:1px solid #6b4e32;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:72px;min-width:72px;height:104px;padding:6px;font-size:13px;font-weight:700;display:inline-flex}button.ek-card{min-height:104px}.ek-card.picked{outline:3px solid #8c3b3b}.ek-card.back,.ek-card.back.mini{color:#0000;background:repeating-linear-gradient(135deg,#c4a06a,#c4a06a 6px,#d7b07a 6px 12px)}.ek-card.mini,.ek-pile .ek-card.back.mini{width:36px;min-width:36px;height:48px;min-height:48px}.ek-pile .ek-card{width:56px;min-width:56px;height:76px;min-height:76px;font-size:11px}.ek-card[data-kind=ek]{color:#fffbf5;background:#8c3b3b}.ek-card[data-kind=defuse]{background:#f4efe6}.ek-card[data-kind=nope]{color:#fffbf5;background:#6b4e32}.ek-card[data-kind=attack]{background:#f3e4d4}.ek-card[data-kind=skip]{background:#efe6d6}.ek-card[data-kind=peek]{background:#f7f1e6}.ek-card[data-kind=shuffle]{background:#eadcc6}.ek-card[data-kind=favor]{background:#e7d3c4}.ek-card[data-kind^=cat-]{background:#e4d8c4}.ek-mark{border:2px solid;border-radius:50%;width:26px;height:26px;display:block}.ek-card[data-kind=ek] .ek-mark{border-radius:4px}.ek-toast{z-index:3;color:#fffbf5;background:#8c3b3b;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;font-weight:700;display:flex;position:absolute;top:12px;left:12px;right:12px}.ek-peek{z-index:4;color:#1c1a17;background:#fffbf5;border:2px solid #6b4e32;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;top:16px;left:12px;right:12px}.ek-insert{color:#1c1a17;flex-direction:column;gap:8px;display:flex}.ek-slider{accent-color:#8c3b3b;width:100%;height:44px;margin:0}.ek-digit{background:#fffbf5;border:1px solid #6b4e32;border-radius:10px;min-width:64px;min-height:44px;font-weight:700}.ek-end{background:#fffbf5;border:1px solid #c4a06a;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.ek-end h2{color:#1c1a17;margin:0;font-size:22px;font-weight:700;line-height:1.35}.ek-end .primary,.ek-end .ghost{width:100%;min-height:48px}.ek-lobby{flex-direction:column;gap:12px;display:flex}.ek-code-row{align-items:center;gap:8px;display:flex}.ek-code-row .room-code{font-size:30px}.ek-ratio{color:#1c1a17;margin:0;font-size:18px;font-weight:700}.ek-ring{height:240px;position:relative}.ek-ring .ek-seat{width:112px;position:absolute}@layer base{:where(:root),:root:has(input.theme-controller[value=warmwood]:checked),[data-theme=warmwood]{color-scheme:light;--color-base-100:#f4efe6;--color-base-200:#e7dfd2;--color-base-300:#e5d9c8;--color-base-content:#2c241b;--color-primary:#8c3b3b;--color-primary-content:#fffbf5;--color-secondary:#c4a06a;--color-secondary-content:#2c241b;--color-accent:#6b4e32;--color-accent-content:#fffbf5;--color-neutral:#6b5e52;--color-neutral-content:#fffbf5;--color-info:#6b4e32;--color-info-content:#fffbf5;--color-success:#2f6f4e;--color-success-content:#f4efe6;--color-warning:#c4a06a;--color-warning-content:#2c241b;--color-error:#8c3b3b;--color-error-content:#fffbf5;--radius-selector:.5rem;--radius-field:.625rem;--radius-box:.75rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
