:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--felt:#1b4332;--felt-mid:#2d6a4f;--felt-deep:#081c15;--bone:#f4efe4;--muted:#b7c4b3;--ink:#081c15;--gold:#d8c38d;--sans:system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--felt-deep);min-height:100dvh;color:var(--bone);font-family:var(--sans);margin:0}#app{min-height:100svh}.table{height:100svh;min-height:100svh;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr) auto;gap:8px;display:grid}.chrome,.toolbar{justify-content:space-between;align-items:end;gap:12px;display:flex}.chrome-trailing{align-items:center;gap:10px;display:flex}.user-lozenge{border:1px solid var(--gold);max-width:min(16rem,42vw);height:2.25rem;color:var(--bone);font:inherit;white-space:nowrap;background:#081c15;border-radius:999px;align-items:center;gap:6px;padding:0 .7rem 0 .45rem;font-size:.82rem;display:inline-flex}.user-lozenge-icon,.user-lozenge-gold{flex:none;width:1.1rem;height:1.1rem}.user-lozenge-name{text-overflow:ellipsis;overflow:hidden}.user-lozenge-upgrade{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:.65rem}.page-lang{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));position:absolute}.lobby-stats{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:9;padding:.35rem .7rem;font-size:.85rem;position:absolute}.match-lobby--stats .page-lang{top:calc(max(10px, env(safe-area-inset-top)) + 2.4rem)}.lobby-account{top:max(10px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));align-items:center;gap:8px;max-width:calc(100% - 140px);display:flex;position:absolute}.lobby-account__avatar{background:var(--felt-mid);border-radius:50%;flex:none;place-content:center;width:30px;height:30px;display:grid;overflow:hidden}.lobby-account__avatar-img{object-fit:cover;width:100%;height:100%;display:block}.lobby-account__avatar-initial{color:var(--gold);font-size:.95rem;line-height:1}.lobby-account__name{white-space:nowrap;text-overflow:ellipsis;max-width:12rem;color:var(--bone);font-size:.9rem;display:inline-block;overflow:hidden}.lobby-account__button{flex:none;align-items:center;gap:6px;padding:.35rem .7rem;font-size:.85rem;display:inline-flex}.lobby-account__gear{flex:none;width:1.05em;height:1.05em}.lobby-account__logout{flex:none;align-items:center;padding:.35rem .7rem;font-size:.85rem;display:inline-flex}.login-account{align-items:center;gap:10px;margin-bottom:.35rem;display:flex}.login-account__name{white-space:nowrap;text-overflow:ellipsis;max-width:16rem;color:var(--bone);font-size:.9rem;overflow:hidden}.login-account__logout{flex:none;padding:.3rem .65rem;font-size:.85rem}.account{text-align:center;place-content:center;justify-items:center;gap:12px;min-height:100svh;padding:24px 20px;display:grid}.account__name{color:var(--gold);font-size:1.1rem}.account__stub{color:var(--muted)}.account{padding-top:max(48px, calc(env(safe-area-inset-top) + 40px));place-content:start center}.account-form{text-align:left;gap:14px;width:min(34rem,100%);display:grid}.account-section{background:#081c158c;border:1px solid #d8c38d40;border-radius:12px;padding:14px 16px}.account-section h2{color:var(--gold);margin:0 0 10px;font-size:1rem}.account-row{color:var(--bone);align-items:center;gap:10px;margin:8px 0;font-size:.95rem;display:flex}.account-row input[type=text],.account-row select{background:var(--felt-deep);min-width:0;color:var(--bone);font:inherit;border:1px solid #d8c38d66;border-radius:8px;flex:1;padding:.45rem .7rem;font-size:.9rem}.account-row input[type=checkbox]{accent-color:var(--gold);width:1.05rem;height:1.05rem}.account-hint{color:var(--muted);margin:6px 0 0;font-size:.8rem}.account-card-current{color:var(--muted);align-items:center;gap:.4rem;margin:6px 0 0;font-size:.85rem;display:flex}.account-card-current strong{color:var(--ink,inherit)}.card-about>.setting-hint__bubble{max-width:min(22rem,80vw)}.account-card-import{justify-content:flex-start;gap:.5rem}.account-card-import .ghost[disabled]{opacity:.55;cursor:progress}.account-palette{border:none;margin:12px 0 0;padding:0}.account-palette legend{color:var(--muted);padding:0;font-size:.9rem}.account-palette__row{flex-wrap:wrap;gap:.6rem;margin-top:.5rem;display:flex}.account-palette__swatch{cursor:pointer;flex-direction:column;align-items:center;gap:.3rem;display:flex}.account-palette__swatch input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.account-palette__chip{background:var(--palette-hex);border:2px solid #ffffff40;border-radius:50%;width:2rem;height:2rem}.account-palette__swatch input:checked+.account-palette__chip{outline:2px solid var(--gold,#d4a017);outline-offset:2px}.account-palette__swatch input:focus-visible+.account-palette__chip{outline:2px solid var(--ink,#fff);outline-offset:2px}.account-palette__name{color:var(--muted);font-size:.72rem}.account-error{color:#f5b5bf;margin:4px 0 0;font-size:.8rem}.account-avatar__preview{cursor:pointer;width:3rem;height:3rem;font:inherit;border:1px solid var(--gold);background:var(--felt-mid);border-radius:50%;flex:none;place-content:center;margin:0;padding:0;display:grid}.account-avatar__preview:hover,.account-avatar__preview:focus-visible{border-color:var(--gold-bright,#ffd977);box-shadow:0 0 0 2px #ffd97759}.account-avatar__preview-inner{border-radius:50%;place-content:center;width:100%;height:100%;display:grid;overflow:hidden}.account-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.account-avatar__initial{color:var(--gold);font-size:1.4rem;line-height:1}input[name=avatar-url]{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;top:auto;left:-10000px}.account-avatar-actions{align-items:center;gap:10px;min-height:58px;display:flex}.account-avatar__remove{color:var(--text);cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff38;border-radius:999px;padding:.45rem .8rem;font-family:inherit;font-size:.85rem;transition:background .15s,border-color .15s}.account-avatar__remove:hover{background:#ffffff1a;border-color:#fff6}.account-avatar__remove:focus{box-shadow:0 0 0 3px var(--highlight,#f0b83366);outline:none}.account-options-lang{justify-content:space-between}.account-billing{flex-wrap:wrap;justify-content:space-between}.account-tier{align-items:baseline;gap:8px;margin:0;display:flex}.account-tier strong{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.account-actions{justify-content:space-between;gap:12px;display:flex}.account-save{border-color:var(--gold);background:var(--felt-mid)}.subscription{width:min(34rem,100%)}.subscription .account-section{width:100%}.subscription-price{color:var(--gold);letter-spacing:.02em;margin:0;font-size:1.6rem;font-weight:600}.subscription-currency{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0 .25rem;display:flex}.subscription-currency__label{opacity:.85;font-size:.9rem}.subscription-currency__select{border:1px solid var(--line,#ffffff2e);background:var(--felt-mid,#14392c);min-width:12rem;color:inherit;font:inherit;border-radius:8px;padding:.45rem .6rem}.subscription-currency__select:disabled{opacity:.55}.subscription-currency__status{margin:.1rem 0 .4rem}.subscription-currency__status.account-error{color:var(--danger,#f87171)}.subscription-manage__loading{opacity:.75;margin:1rem 0}.subscription-manage__status{gap:.4rem;margin:.5rem 0;display:grid}.subscription-manage__row{justify-content:space-between;gap:1rem;display:flex}.subscription-manage__row dt{opacity:.75}.subscription-manage__row dd{margin:0;font-weight:600}.subscription-manage__toggle-row{align-items:center;margin:.5rem 0;display:flex}.subscription-manage__switch{border:1px solid var(--line,#ffffff2e);background:var(--felt-dark,#0d271e);cursor:pointer;border-radius:999px;width:3rem;height:1.6rem;padding:0;transition:background .15s;position:relative}.subscription-manage__switch.is-on{background:var(--gold,#d4af37)}.subscription-manage__switch:disabled{opacity:.6;cursor:wait}.subscription-manage__switch-knob{background:#fff;border-radius:50%;width:1.2rem;height:1.2rem;transition:transform .15s;position:absolute;top:50%;left:.18rem;transform:translateY(-50%)}.subscription-manage__switch.is-on .subscription-manage__switch-knob{transform:translate(1.35rem,-50%)}.subscription-manage__renewal-state{margin:.25rem 0}.subscription-manage__owned{gap:.3rem;margin:.4rem 0;padding:0;list-style:none;display:grid}.subscription-manage__catalog{gap:.4rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.subscription-manage__catalog-row{align-items:center;gap:.75rem;display:flex}.subscription-manage__catalog-name{flex:1}.subscription-manage__catalog-price{color:var(--gold);font-variant-numeric:tabular-nums}.account-toast{z-index:60;border-radius:8px;max-width:min(22rem,80vw);padding:.6rem .9rem;font-size:.85rem;position:fixed;bottom:5.5rem;right:1rem;box-shadow:0 4px 14px #00000059}.account-toast.is-ok{color:#f7fee7;background:#2f6f4f}.account-toast.is-error{color:#fff1f2;background:#9f3448}.account-toast.is-info{color:var(--ink);background:var(--gold)}.page-lang--title{align-self:center;margin-bottom:.25rem;position:static}.lobby{position:relative}.lang-picker{z-index:8;align-items:center;gap:8px;display:flex;position:relative}.lang-hover-label{color:var(--muted);letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;opacity:0;font-size:.78rem}.lang-picker:hover .lang-hover-label,.lang-picker.is-open .lang-hover-label,.lang-picker:focus-within .lang-hover-label{opacity:1}.lang-picker-globe{border-radius:999px;place-items:center;width:2.25rem;height:2.25rem;padding:0;display:grid}.lang-picker--prominent .lang-picker-globe{width:3rem;height:3rem}.lang-picker-icon{width:1.25rem;height:1.25rem}.lang-picker--prominent .lang-picker-icon{width:1.7rem;height:1.7rem}.lang-picker-menu{border:1px solid var(--gold);background:#081c15;border-radius:12px;min-width:11rem;margin:0;padding:6px;list-style:none;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 28px #00000059}.lang-picker--settings .lang-picker-menu{background:#1f2937;left:0;right:auto}.lang-picker--settings .lang-hover-label{display:none}.lang-picker.is-open .lang-picker-menu{gap:2px;display:grid}.lang-option{width:100%;color:var(--bone);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:.4rem .55rem;display:flex}.lang-option.is-current{outline:1px solid var(--gold)}.lang-flag{font-size:1.1rem}.settings-lang{justify-content:space-between;align-items:flex-start}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem}h1{margin:.15rem 0 0;font-size:clamp(1.25rem,4vw,1.8rem);font-weight:600}.meta,.hint,.center-label,.center-count{color:var(--muted);margin:0;font-size:.85rem}.felt{background:radial-gradient(circle at 50% 42%, var(--felt-mid) 0%, transparent 42%), linear-gradient(180deg, var(--felt) 0%, var(--felt-deep) 100%);border-radius:18px;grid-template-rows:auto minmax(10rem,1fr) auto;min-height:0;padding:8px 10px 10px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #d8c38d2e,inset 0 0 40px #00000047}.mid{grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:6px;min-height:10rem;display:grid}.mid>*{min-height:0}.center-label{max-width:16rem;margin-inline:auto;font-size:.8rem;line-height:1.35}.center-count{color:var(--gold);font-variant-numeric:tabular-nums;margin-top:4px}.distance{max-width:16rem;color:var(--gold);overflow-wrap:anywhere;text-align:center;margin:6px auto 0;font-size:.85rem;font-weight:600;line-height:1.35}.call-hint{max-width:16rem;color:var(--gold);margin:4px auto 0;font-size:.75rem;font-weight:600;line-height:1.3}.center-label,.center-count,.distance,.call-hint{z-index:4;pointer-events:none;background:#081c15b8;border:1px solid #d8c38d38;border-radius:10px;width:fit-content;max-width:min(24rem,90%);margin-inline:auto;padding:.28rem .65rem;display:block;position:relative;box-shadow:0 2px 10px #00000052}.center-label{color:var(--bone)}.is-call-window .pool-field{top:4.7rem}.center{text-align:center;min-width:0;min-height:10rem;position:relative}.center-copy{z-index:3;pointer-events:none;position:relative}.return-menu{z-index:3;pointer-events:auto;background:var(--gold);color:#081c15;margin-top:.6rem;font-weight:600;position:relative}.discard-well{pointer-events:none;position:absolute;inset:0}.pool-field{pointer-events:auto;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(2.1rem,auto);grid-auto-flow:row;align-content:start;justify-items:center;gap:3px;display:grid;position:absolute;inset:2.2rem 6px 6px;overflow:auto}.pool-field>.tile{width:100%;max-width:2.4rem}.pool-choice{z-index:2;pointer-events:auto;background:#1b4332eb;border-radius:14px;grid-area:3/4/span 3/span 6;justify-content:center;align-items:center;gap:12px;width:100%;min-width:0;padding:8px 10px;display:flex}.pool-choice .tile{width:clamp(1.55rem,6.2vw,3rem)}.or-label{color:var(--gold);letter-spacing:.08em;font-size:.85rem;font-weight:700}.draw-choice{outline:2px solid var(--gold);outline-offset:2px}.pool-choice{position:relative}.tap-to-continue{white-space:nowrap;color:#d8c38d8c;letter-spacing:.03em;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:0;font-size:.7rem;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%,4px)}@media (hover:none){.tap-to-continue.is-touch{animation:1.8s ease-in-out infinite tap-pulse}}@keyframes tap-pulse{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.take-choice{outline:2px solid var(--gold);outline-offset:2px}.joker-btn{background:linear-gradient(135deg, var(--gold,#c9a227) 0%, var(--gold-soft,#b8941f) 50%, var(--gold,#c9a227) 100%);color:var(--ink,#1a1a10);border:1px solid var(--gold-deep,#8f7010);transition:transform 90ms ease-out,box-shadow .12s ease-out;position:relative}.joker-btn:hover{box-shadow:0 0 0 2px var(--gold,#c9a227), 0 2px 10px #c9a22759}.joker-btn:active{transform:scale(.97)}.joker-btn.is-sparkle:after{content:"";border-radius:inherit;pointer-events:none;animation:.8s ease-out forwards joker-sparkle;position:absolute;inset:-4px}@keyframes joker-sparkle{0%{box-shadow:0 0 0 0 var(--gold,#c9a227), 0 0 2px 1px #ffffdce6;opacity:1}60%{opacity:.7;box-shadow:0 0 0 6px #c9a22766,0 0 14px 4px #ffffdc80}to{opacity:0;box-shadow:0 0 0 10px #c9a22700,0 0 20px 8px #ffffdc00}}.pool-latest .tile,.pool-choice .is-latest{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.rack h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center;margin:0 0 4px;font-size:.68rem;font-weight:600}.tiles{justify-content:center;align-items:end;display:flex}.tile{aspect-ratio:60/84;flex:none;width:clamp(1.55rem,6.2vw,3rem);margin:0}.tile+.tile{margin-left:clamp(-.7rem,-2.4vw,-.35rem)}.tile svg{filter:drop-shadow(0 1px 1px #00000059);width:100%;height:100%;display:block}.rack-north .tiles,.rack-south .tiles{min-height:0}.rack-south .tile{cursor:pointer;touch-action:none;width:clamp(1.85rem,6.8vw,3.4rem);transition:transform .14s;position:relative}.rack-south{padding-top:1.4rem}.rack-south .tile.is-selected{z-index:2;outline:2px solid var(--gold);outline-offset:1px;border-radius:.35rem;transform:translateY(-50%);box-shadow:0 0 .6rem #d8c38dbf}.rack-south .tile.is-discarding{z-index:6;pointer-events:none;animation:.32s forwards tile-discard-fade}@keyframes tile-discard-fade{0%{opacity:1;transform:translateY(-50%)scale(1)}to{opacity:0;transform:translateY(-50%)scale(.55)}}.pool-choice .tile.is-fresh-discard{animation:.45s ease-out both tile-discard-land}@keyframes tile-discard-land{0%{opacity:0;transform:translateY(-1.2rem)scale(1.25)}55%{opacity:1;transform:translateY(0)scale(1)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.rack-south .tile.is-discarding,.pool-choice .tile.is-fresh-discard{animation:none}}.rack-south .tile.is-dragging{z-index:5;opacity:.92;transition:none}.rack-south .tile.drop-before{margin-left:.85rem}.exposures{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.exposure{gap:1px;display:flex}.tile.is-exposed{width:clamp(1.15rem,3.8vw,1.85rem)}.tile.is-redeemable{outline:2px solid var(--gold);outline-offset:1px}.rack-body{display:contents}.rack-west,.rack-east{flex-direction:column;width:max-content;min-width:0;display:flex}.rack-west .rack-body,.rack-east .rack-body{flex-direction:row;flex:1;justify-content:center;align-items:center;gap:4px;min-height:0;display:flex}.rack-east .rack-body{flex-direction:row-reverse}.rack-west .rack-body>.tiles,.rack-east .rack-body>.tiles{flex-wrap:wrap;flex:none;place-content:center;align-self:center;row-gap:.75rem;width:calc(2.9*clamp(1.35rem,4.6vw,2.2rem));max-height:100%}.rack-west .exposures,.rack-east .exposures{flex-flow:column wrap;flex:none;place-content:center;gap:4px 2px;max-height:100%;margin-top:0}.rack-west .exposure,.rack-east .exposure{flex-direction:column;align-items:center;margin:0}.rack-west .exposure .tile+.tile,.rack-east .exposure .tile+.tile{margin-left:0}.rack-west .tiles,.rack-east .tiles{flex-direction:column;align-items:center}.rack-west .tile,.rack-east .tile{width:clamp(1.35rem,4.6vw,2.2rem)}.rack-west .tiles .tile+.tile,.rack-east .tiles .tile+.tile{margin-top:clamp(-1.15rem,-4vw,-.7rem);margin-left:0}.rack-west .tiles .tile{transform:rotate(90deg)}.rack-east .tiles .tile{transform:rotate(-90deg)}.toolbar{justify-content:flex-start;align-items:center}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button{appearance:none;border:1px solid var(--gold);color:var(--bone);font:inherit;background:#081c15;border-radius:999px;padding:.55rem 1rem;font-size:.95rem}button:disabled{opacity:.45}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.seat-label{flex-direction:column;align-items:center;gap:2px;margin-bottom:4px;display:flex}.portrait{aspect-ratio:1;flex:none;width:2.1rem;height:2.1rem}.chair-grid{grid-template-columns:1fr 1fr;gap:8px;width:min(22rem,100%);display:grid}.chair{text-align:left;border:1px solid #d8c38d59;border-radius:10px;margin:0;padding:8px}.chair h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.7rem}.chair p{margin:4px 0 0}.login .actions,.signup .actions,.signin .actions,.match-lobby .actions{justify-content:center}.auth-switch{text-align:center;margin:0}@media (orientation:portrait) and (height<=640px){.lobby.signup{gap:8px;padding-top:12px;padding-bottom:16px}}.auth-switch button{min-height:44px;font:inherit;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:.9rem;text-decoration:underline}.auth-switch button:hover,.auth-switch button:focus-visible{color:var(--gold)}@media (orientation:portrait) and (height<=640px){.auth-switch{padding-right:40vw}}.form-errors{text-align:left;color:var(--gold);gap:4px;margin:0;padding:0;font-size:.85rem;list-style:none;display:grid}.form-errors:empty{display:none}.lobby{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px;text-align:center;place-content:center;justify-items:center;gap:12px;display:grid;position:relative}.lede{max-width:28rem;color:var(--muted);line-height:1.45}.start-form{gap:12px;width:min(22rem,100%);display:grid}.start-form label{text-align:left;color:var(--muted);gap:6px;font-size:.85rem;display:grid}.start-form input:not([type=checkbox]):not([type=radio]){appearance:none;border:1px solid var(--gold);color:var(--bone);font:inherit;background:#081c15;border-radius:10px;padding:.65rem .8rem}.start-form label.signin-remember{cursor:pointer;flex-direction:row;align-items:center;gap:8px;display:flex}.signin-remember input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;-moz-appearance:checkbox;width:1.05rem;height:1.05rem;accent-color:var(--gold);cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;margin:0;padding:0}.match-lobby .tutorial-entry{background:var(--felt-mid);border-color:var(--gold);color:var(--bone);margin-top:calc(2.4em + 12px)}.match-lobby .tutorial-entry:hover{color:var(--ink);background:#40916c}.match-lobby .tutorial-entry:active{color:var(--bone);background:#1b4332}@media (hover:none){.match-lobby .tutorial-entry:hover{background:var(--felt-mid);color:var(--bone)}.match-lobby .tutorial-entry:active{background:var(--felt-deep);color:var(--bone)}}.opponents{margin-top:8px}.opponents h2,.opponents ul{margin:0}.opponents ul{color:var(--muted);padding:0;font-size:.9rem;list-style:none}.dice-list{text-align:left;width:min(22rem,100%);margin:8px 0 16px;padding:0;list-style:none}.dice-list li{border-bottom:1px solid #d8c38d40;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.east-call{color:var(--gold);margin:0 0 12px;font-size:1.35rem}.dice-pair{align-items:center;gap:6px;display:inline-flex}.die{filter:drop-shadow(0 1px 1px #00000059);width:2rem;height:2rem}.dice-total{text-align:right;min-width:1.4rem;color:var(--gold)}.card-backdrop{z-index:20;background:#081c15b8;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.card-sheet{color:#1f2937;background:#f4efe4;border-radius:8px;width:min(72rem,100%);max-height:min(90dvh,52rem);padding:12px 14px 16px;overflow:auto;box-shadow:0 16px 40px #00000059}.settings-sheet,.rules-sheet{width:min(28rem,100%)}.settings-body,.rules-body{text-align:left;max-height:min(70dvh,36rem);margin-top:12px;overflow:auto}.settings-row{align-items:center;gap:10px;margin:10px 0;font-size:.95rem;display:flex}.settings-row input[type=number]{width:4.5rem;padding:.25rem .4rem}.settings-row input[type=number]:disabled{opacity:.4;cursor:not-allowed}.settings-row__contents,.account-row__contents{align-items:center;gap:10px;min-width:0;margin:0;display:flex}.setting-hint{width:1.15rem;height:1.15rem;color:inherit;font:inherit;opacity:.75;cursor:help;background:0 0;border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.setting-hint:hover,.setting-hint:focus-visible,.setting-hint:active{opacity:1}.setting-hint__icon{transform:translateY(-.5px)}.setting-hint__bubble{z-index:30;color:#f4efe4;text-align:left;white-space:normal;pointer-events:none;background:#1f2937;border-radius:8px;width:max-content;max-width:min(17rem,68vw);padding:.5rem .65rem;font-size:.8rem;font-weight:400;line-height:1.35;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000059}.setting-hint__bubble:after{content:"";border:5px solid #0000;border-bottom-color:#1f2937;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.setting-hint:hover>.setting-hint__bubble,.setting-hint:focus>.setting-hint__bubble,.setting-hint:active>.setting-hint__bubble{display:block}.setting-hint[data-hint=showDistance]>.setting-hint__bubble{top:auto;bottom:calc(100% + 8px)}.setting-hint[data-hint=showDistance]>.setting-hint__bubble:after{border-top-color:#1f2937;border-bottom-color:#0000;top:100%;bottom:auto}.settings-sheet .setting-hint{color:#4b5563}.settings-sheet .setting-hint:hover,.settings-sheet .setting-hint:focus-visible{color:#1f2937}.settings-tabs{margin-top:8px}.settings-account{grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:8px 12px;margin:4px 0 0;font-size:.95rem;display:grid}.settings-account dt{color:#4b5563;margin:0;font-weight:600}.settings-account dd{overflow-wrap:anywhere;margin:0}.settings-account [data-account-tier=paid]{color:#b45309;font-weight:600}.settings-rename{border-top:1px solid #1f29371f;margin-top:14px;padding-top:12px;font-size:.95rem}.settings-rename-label{color:#4b5563;margin-bottom:6px;font-weight:600;display:block}.settings-rename-row{align-items:center;gap:8px;display:flex}.settings-rename-input{min-width:0;color:inherit;font:inherit;background:#fff;border:1px solid #1f293759;border-radius:6px;flex:1;padding:.4rem .55rem}.settings-rename-input:disabled{opacity:.6}.settings-rename-save{color:#fff;font:inherit;cursor:pointer;background:#1f2937;border:1px solid #1f293759;border-radius:6px;flex:none;padding:.4rem .9rem}.settings-rename-save:hover:not(:disabled){background:#111827}.settings-rename-save:disabled{opacity:.6;cursor:wait}.settings-rename-hint{color:#6b7280;margin:6px 0 0;font-size:.8rem}.settings-rename-status{color:#b91c1c;margin:6px 0 0;font-size:.85rem}.settings-rename-status:not([data-rename-error]){color:#15803d}.setting-lock{color:#4b5563;width:1.6rem;height:1.6rem;font:inherit;cursor:help;opacity:.85;background:#fff;border:1px solid #1f293759;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.setting-lock:hover,.setting-lock:focus-visible,.setting-lock:active{opacity:1;color:#1f2937}.setting-lock__icon{justify-content:center;align-items:center;display:inline-flex}.setting-lock__bubble{z-index:30;color:#f4efe4;text-align:left;white-space:normal;pointer-events:none;background:#1f2937;border-radius:8px;width:max-content;max-width:min(17rem,68vw);padding:.5rem .65rem;font-size:.8rem;font-weight:400;line-height:1.35;display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000059}.setting-lock__bubble:after{content:"";border:5px solid #0000;border-bottom-color:#1f2937;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.setting-lock:hover>.setting-lock__bubble,.setting-lock:focus>.setting-lock__bubble,.setting-lock:active>.setting-lock__bubble{display:block}.settings-sheet .setting-lock{color:#4b5563}.settings-sheet .setting-lock:hover,.settings-sheet .setting-lock:focus-visible{color:#1f2937}.settings-card-section{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:10px}.settings-card-actions{align-items:center;gap:6px;display:inline-flex;position:relative}.settings-card-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:500}.settings-card-btn:hover:not(.is-locked){background:#f3f4f6;border-color:#9ca3af}.settings-card-btn.is-locked{cursor:not-allowed;opacity:.5}.settings-card-lock{color:#4b5563;width:1.6rem;height:1.6rem;font:inherit;cursor:not-allowed;background:#fff;border:1px solid #1f293759;border-radius:6px;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.settings-card-lock:hover,.settings-card-lock:focus-visible{color:#1f2937}.settings-card-lock__icon{justify-content:center;align-items:center;display:inline-flex}.settings-card-lock__bubble{z-index:30;color:#f4efe4;text-align:left;white-space:normal;pointer-events:none;background:#1f2937;border-radius:8px;width:max-content;max-width:min(17rem,68vw);padding:.5rem .65rem;font-size:.8rem;font-weight:400;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #00000059}.settings-card-lock__bubble:after{content:"";border:5px solid #0000;border-top-color:#1f2937;position:absolute;top:100%;left:50%;transform:translate(-50%)}.settings-card-lock:hover>.settings-card-lock__bubble,.settings-card-lock:focus>.settings-card-lock__bubble,.settings-card-lock:active>.settings-card-lock__bubble{display:block}.settings-upgrade{background:#fdf6e3;border:1px solid #e5c98f;border-radius:10px;margin-top:12px;padding:10px 12px}.settings-upgrade__head{color:#92610c;margin:0 0 6px;font-size:.95rem}.settings-upgrade__list{color:#4b5563;margin:0 0 8px;padding-left:18px;font-size:.9rem}.settings-upgrade__list li{margin:2px 0}.settings-upgrade__cta{color:#fff;cursor:pointer;background:#b45309;border:none;border-radius:8px;padding:6px 14px;font-weight:600;display:inline-block}.settings-upgrade__cta:disabled{opacity:.6;cursor:default}.settings-upgrade-notice{margin:8px 0 0;font-size:.9rem;font-weight:600}.settings-upgrade-notice.is-error{color:#b91c1c}.settings-upgrade-notice.is-ok{color:#15803d}.rules-body h3{margin:12px 0 4px;font-size:.95rem}.rules-body p{margin:0 0 8px;font-size:.9rem;line-height:1.4}.card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.card-head-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.card-nav{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.card-tab{color:#7f1d1d;background:#efe2c6;border-color:#d6c7a8;border-radius:999px;margin:0;padding:.35rem .75rem;font-size:.85rem}.card-tab.is-active{color:#f4efe4;background:#7f1d1d;border-color:#7f1d1d}.card-close{background:#7f1d1d;border-color:#7f1d1d;margin:0}.card-book{gap:10px;display:grid}.card-page{background:#fffaf0;border:1px solid #d6c7a8;padding:8px 10px 12px;display:none}.card-page.is-active{display:block}.card-section h4{letter-spacing:.06em;text-transform:uppercase;margin:8px 0 4px;font-size:.8rem}.card-line{border-bottom:1px solid #ead9b5;padding:4px 0}.card-line.is-close{border:2px solid var(--close-color);background:color-mix(in srgb, var(--close-color) 14%, #fffaf0);border-radius:10px;margin:0 -6px;padding:2px 6px}.card-line.is-close--orange{--close-color:#ea580c}.card-line.is-close--yellow{--close-color:#ca8a04}.card-line.is-close--green{--close-color:#16a34a}.card-line.is-close--blue{--close-color:#2563eb}.card-line.is-close--purple{--close-color:#7c3aed}.card-legend{color:#1f2937;background:#fffaf0;border:1px solid #d6c7a8;border-radius:8px;margin:0;padding:6px 8px 8px}.card-legend-toggle{cursor:pointer;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:700;list-style:none}.card-legend-toggle::-webkit-details-marker{display:none}.card-legend-list{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.card-legend-row{align-items:center;gap:8px;font-size:.78rem;line-height:1.25;display:flex}.card-legend-swatch{box-sizing:border-box;border:2px solid;border-radius:999px;flex:none;width:.85rem;height:.85rem}.card-legend-swatch--orange{color:#ea580c}.card-legend-swatch--yellow{color:#ca8a04}.card-legend-swatch--green{color:#16a34a}.card-legend-swatch--blue{color:#2563eb}.card-legend-swatch--purple{color:#7c3aed}.card-line.is-winning .card-pattern{font-weight:700}.card-line.is-winning .card-line-name{color:#9a3412;font-weight:700}.card-line-name{color:#7f1d1d;margin:0;font-size:.8rem}.card-pattern{margin:0;font-family:ui-monospace,Consolas,monospace;font-size:.92rem}.card-pattern-black{color:#1f2937}.card-pattern-red{color:#b3122b;font-weight:700}.card-pattern-green{color:#15803d;font-weight:700}.card-pattern-black.is-group-start,.card-pattern-red.is-group-start,.card-pattern-green.is-group-start{box-shadow:inset 0 -2px}.card-line.is-winning .card-pattern-black{color:#1f2937}.card-line.is-winning .card-pattern-red{color:#b3122b}.card-line.is-winning .card-pattern-green{color:#15803d}.card-line-spec{color:#15803d;margin-left:.35em;font-family:inherit;font-size:.78em}.card-line-marker{margin-left:.5em;font-family:ui-monospace,Consolas,monospace;font-weight:700}.card-line-marker--X{color:#1f2937}.card-line-marker--C{color:#7c2d12}.card-line-value{float:right;color:#1f2937;font-family:ui-monospace,Consolas,monospace}.card-footnote{letter-spacing:.04em;text-transform:uppercase;color:#374151;margin:10px 0 0;font-size:.72rem}@media (width>=860px){.card-nav{display:none}.card-nav.settings-tabs{display:flex}.card-book{grid-template-columns:1fr 1fr 1fr}.card-page{display:block}.card-body--with-legend{grid-template-columns:minmax(0,1fr) 11.5rem;align-items:start;gap:12px;display:grid}details.card-legend:not([open])>:not(summary){display:block}.card-legend{position:sticky;top:0}}@media (width>=720px){.table{max-width:980px;margin:0 auto}.tile,.pool-choice .tile{width:2.6rem}.rack-south .tile{width:3.15rem}.portrait{width:3.25rem;height:3.25rem}.rack-west,.rack-east{min-width:clamp(4.5rem,16vw,7rem)}}@media (width>=1024px){.portrait{width:4rem;height:4rem}.seat-label{gap:4px}.rack-west .exposure .tile,.rack-east .exposure .tile{width:clamp(3.15rem,8.7vw - 4px,4.4rem)}.rack-west .exposure .tile+.tile,.rack-east .exposure .tile+.tile{margin-top:-.9rem}.rack-west .exposures,.rack-east .exposures{width:calc(2*clamp(3.15rem,8.7vw - 4px,4.4rem) + 2px)}}@media (width>=1024px) and (height<=790px){.user-lozenge{max-width:min(14rem,36vw);height:2rem;font-size:.78rem}.rack-west .exposure .tile,.rack-east .exposure .tile{width:clamp(2.4rem,5.4vw,3.1rem)}.rack-west .exposures,.rack-east .exposures{width:calc(2*clamp(2.4rem,5.4vw,3.1rem) + 2px)}}@media (hover:none){.lang-picker--discrete{display:none}}@media (orientation:landscape) and (hover:none) and (height<=540px){.card-body--with-legend{flex-direction:column;display:flex}details.card-legend:not([open])>:not(summary){display:none}.table{max-width:none;padding:max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));gap:4px;margin:0}.lang-picker--discrete{display:none}.chrome{align-items:center;gap:8px}.chrome h1{margin:0;font-size:1rem}.eyebrow{font-size:.58rem}.meta,.hint,.center-label,.center-count{font-size:.72rem}.felt{border-radius:10px;grid-template-rows:auto minmax(5rem,1fr) auto;padding:4px 6px 6px}.mid{gap:4px;min-height:5rem}.center{min-height:5rem}.center-label{max-width:min(92%,22rem);font-size:.7rem}.distance{margin-top:2px;font-size:.72rem}.tile{width:clamp(1.15rem,4.2vw,1.85rem)}.tile+.tile{margin-left:clamp(-.55rem,-1.8vw,-.28rem)}.rack-south{padding-top:.55rem}.rack-south .tile{width:clamp(1.45rem,5.2vw,2.25rem)}.rack-south .tile.is-selected{transform:translateY(-32%)}.rack-west,.rack-east{width:clamp(2.6rem,10vw,3.6rem)}.rack-west .tile,.rack-east .tile{width:clamp(.95rem,3vw,1.35rem)}.rack-west .tile+.tile,.rack-east .tile+.tile{margin-top:clamp(-.85rem,-2.8vw,-.5rem)}.rack-west .rack-body>.tiles,.rack-east .rack-body>.tiles{row-gap:.4rem;width:calc(2.9*clamp(.95rem,3vw,1.35rem))}.portrait{width:1.35rem;height:1.35rem}.rack h2{margin-bottom:2px;font-size:.52rem}.pool-field{grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:minmax(1.55rem,auto);gap:2px;inset:1.35rem 4px 4px}.pool-field>.tile{max-width:1.7rem}.pool-choice{grid-area:2/3/span 2/span 6;gap:8px;padding:4px 6px}.pool-choice .tile{width:clamp(1.35rem,5vw,2rem)}.tile.is-exposed{width:clamp(.9rem,3vw,1.35rem)}.rack-west .exposure .tile,.rack-east .exposure .tile{width:clamp(1.45rem,5.2vw,2.25rem)}.rack-west .exposure .tile+.tile,.rack-east .exposure .tile+.tile{margin-top:clamp(-.55rem,-1.8vw,-.28rem)}.toolbar{padding-bottom:0}.actions{gap:6px}button{padding:.38rem .72rem;font-size:.8rem}.lobby{min-height:100svh;padding:max(8px, env(safe-area-inset-top)) 16px max(8px, env(safe-area-inset-bottom));place-content:center;gap:8px}.lobby h1{font-size:1.25rem}.lede{margin:0;font-size:.82rem}.start-form{grid-template-columns:1fr auto;align-items:end;width:min(28rem,100%)}.dice-list{width:min(36rem,100%);margin:4px 0 8px}.card-sheet{width:min(56rem,100%);max-height:min(94dvh,100%)}.settings-sheet,.rules-sheet{width:min(26rem,100%)}}@media (hover:none) and (orientation:portrait) and (width<=480px){.chrome h1{margin:0;font-size:1rem}.eyebrow,.meta{font-size:.7rem}.felt{grid-template-rows:auto minmax(4.5rem,1fr) auto;padding:5px 6px 6px}.mid{overscroll-behavior-x:contain;min-height:4.5rem;overflow-x:auto}.center{min-width:12.5rem;min-height:4.5rem}.rack-north .tile{width:clamp(1.15rem,4.6vw,1.6rem)}.rack-north .exposure .tile,.rack-north .tile.is-exposed{width:clamp(1rem,4vw,1.3rem)}.rack-west,.rack-east{width:auto}.rack-west .tile,.rack-east .tile{width:1.05rem}.rack-west .tiles .tile+.tile,.rack-east .tiles .tile+.tile{margin-top:-.6rem}.rack-west .rack-body>.tiles,.rack-east .rack-body>.tiles{row-gap:.5rem;width:3.045rem}.rack-west .exposures,.rack-east .exposures{max-width:3.6rem}.rack-west .exposure .tile,.rack-east .exposure .tile,.tile.is-exposed{width:1rem}.rack h2{font-size:.5rem}.pool-field{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:minmax(1.3rem,auto);gap:2px}.pool-choice{flex-direction:column;grid-area:2/2/span 4/span 6;gap:3px;padding:4px}.pool-choice .tile{width:1.4rem}.center-label{max-width:100%;font-size:.72rem}.distance,.call-hint{max-width:100%;font-size:.68rem}.rack-south{padding-top:.5rem}.rack-south .tile{width:clamp(1.45rem,5.6vw,2.1rem)}}.table{--zoom-in-scale:1.35}.rack-south{transform-origin:50% 100%}.table.is-zoomed .rack-south{transform:scale(var(--zoom-in-scale));z-index:2;position:relative}.table.is-zoomed .rack-north,.table.is-zoomed .mid{opacity:.08;pointer-events:none}.rack-north,.mid{transition:opacity .28s}.table.is-zoomed .rack-south .tiles{flex-wrap:wrap;place-content:end center;margin-inline:auto}@keyframes rack-zoom-in{0%{transform:scale(1)}}@keyframes rack-zoom-out{0%{transform:scale(var(--zoom-in-scale))}}.table.is-zoomed .rack-south.zoom-in-anim{animation:.28s rack-zoom-in}.rack-south.zoom-out-anim{animation:.28s rack-zoom-out}@media (prefers-reduced-motion:reduce){.table.is-zoomed .rack-south.zoom-in-anim,.rack-south.zoom-out-anim{animation:none}.rack-north,.mid{transition:none}}.zoom-fab{right:max(12px, env(safe-area-inset-right));bottom:max(64px, calc(env(safe-area-inset-bottom) + 64px));z-index:20;color:var(--gold);letter-spacing:.03em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#081c15e0;border:1px solid #d8c38d8c;border-radius:999px;padding:.55rem .9rem;font-size:.82rem;font-weight:600;position:fixed;box-shadow:0 2px 10px #00000059}.zoom-fab[aria-pressed=true]{background:var(--gold);color:#081c15}@media (hover:none) and (orientation:portrait) and (width<=480px){.table{--zoom-in-scale:1.8}.table.is-zoomed .zoom-fab{inset:48px auto auto 12px}}@media (hover:none) and (orientation:portrait) and (height<=640px){.table{max-width:none;padding:max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));gap:4px;margin:0}.lang-picker--discrete{display:none}.chrome{align-items:center;gap:8px}.chrome h1{margin:0;font-size:1rem}.eyebrow{font-size:.58rem}.meta,.hint,.center-label,.center-count{font-size:.72rem}.felt{border-radius:10px;grid-template-rows:auto minmax(5rem,1fr) auto;padding:4px 6px 6px}.mid{gap:4px;min-height:5rem}.center{min-height:5rem}.center-label{max-width:none;font-size:.7rem}.distance{margin-top:2px;font-size:.72rem}.tile{width:clamp(1.9rem,8vw,2.6rem)}.tile+.tile{margin-left:clamp(-1.35rem,-3.4vw,-.55rem)}.rack-south{padding-top:.55rem}.rack-south .tile{width:clamp(2.3rem,9.6vw,3.2rem)}.rack-south .tile.is-selected{transform:translateY(-32%)}.portrait{width:1.6rem;height:1.6rem}.rack h2{margin-bottom:2px;font-size:.52rem}.pool-field{grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:minmax(calc(1.55rem * var(--pool-scale,1)), auto);gap:2px;inset:1.35rem 4px 4px}.pool-field>.tile{max-width:calc(1.9rem * var(--pool-scale,1))}.pool-choice{grid-area:2/3/span 2/span 5;gap:8px;padding:4px 6px}.pool-choice .tile{width:clamp(1.5rem,6vw,2.2rem)}.tile.is-exposed{width:clamp(1.35rem,4.6vw,1.8rem)}.rack-west .exposure .tile,.rack-east .exposure .tile{width:clamp(1.7rem,6.4vw,2.3rem)}.rack-west .exposure .tile+.tile,.rack-east .exposure .tile+.tile{margin-top:clamp(-.9rem,-4vw,-.55rem)}.toolbar{padding-bottom:0}.actions,.actions-tail{gap:6px}button{padding:.38rem .72rem;font-size:.8rem}}@media (width>=1600px) and (hover:hover){.table{max-width:1400px}.tile,.pool-choice .tile{width:clamp(2.6rem,2.6vw,3.8rem)}.rack-south .tile{width:clamp(3.15rem,3.4vw,4.6rem)}}.ad-mount{z-index:15;pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.ad-slot{pointer-events:auto;background:var(--bone);width:min(728px,100%);color:var(--ink);border-top:2px solid var(--gold);border-radius:10px 10px 0 0;gap:4px;padding:6px 12px 10px;display:grid}.ad-slot[hidden]{display:none}.ad-slot-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.62rem}.ad-slot-fill{place-items:center;min-height:90px;display:grid}.ad-slot-placeholder{color:var(--muted);margin:0;font-size:.9rem}.chen-panel{background:color-mix(in srgb, var(--felt-deep) 88%, transparent);border:1px solid var(--gold);border-radius:12px;gap:4px;width:min(48rem,100%);padding:8px 12px 10px;display:grid}.chen-panel--centered{left:50%;bottom:max(12px, env(safe-area-inset-bottom));max-width:min(40rem,92vw);position:fixed;transform:translate(-50%)}.chen-head{align-items:center;gap:8px;display:flex}.chen-avatar{background:var(--gold);width:1.6rem;height:1.6rem;color:var(--ink);border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;display:grid}.chen-name{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.72rem}.chen-rule{color:var(--muted);margin:0;font-size:.72rem}.chen-say{color:var(--bone);margin:0;font-size:.85rem;line-height:1.35}.chen-blocked{color:#ffb4a2;margin:2px 0 0;font-size:.8rem}.chen-cta{justify-self:start;margin-top:2px}.chen-cta--muted{opacity:.45;cursor:not-allowed;pointer-events:none}.chen-say--paged{animation:.18s ease-out chen-page-in}@keyframes chen-page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.chen-say--paged{animation:none}}.chen-pager{letter-spacing:.08em;color:var(--muted);text-align:right;margin:2px 0 0;font-size:.68rem}@media (orientation:landscape) and (hover:none) and (height<=540px){.chen-pager{font-size:.58rem}}.tut-glow{border-radius:6px;animation:1.2s ease-in-out infinite tut-pulse}@keyframes tut-pulse{0%,to{box-shadow:0 0 0 1px var(--gold)}50%{box-shadow:0 0 10px 2px var(--gold)}}.tut-glow--card-line{--tut-glow-yellow:gold;background:#ffd70014;animation:1.2s ease-in-out infinite tut-pulse-card-line}@keyframes tut-pulse-card-line{0%,to{box-shadow:0 0 0 2px var(--tut-glow-yellow), 0 0 10px 2px #ffd7008c}50%{box-shadow:0 0 0 3px var(--tut-glow-yellow), 0 0 18px 6px #ffd700bf}}.tut-dim{opacity:.35;pointer-events:none}.leave-confirm-backdrop{z-index:1;background:#081c158c;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.leave-confirm-card{border:1px solid var(--gold);text-align:center;background:#081c15f0;border-radius:12px;justify-items:center;gap:14px;width:min(26rem,92vw);padding:22px 30px;display:grid;box-shadow:0 16px 40px #00000073}.leave-confirm-message{color:#f4efe4;margin:0;font-size:1.05rem;line-height:1.4}.leave-confirm-actions{gap:10px;display:flex}.meld-choice-backdrop{z-index:25;background:#081c159e;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.meld-choice-card{border:1px solid var(--gold);text-align:center;background:#081c15f5;border-radius:12px;justify-items:center;gap:14px;width:min(28rem,92vw);max-height:min(90vh,40rem);padding:22px 30px;display:grid;overflow:auto;box-shadow:0 16px 40px #00000073}.meld-choice-head{color:var(--gold);margin:0;font-size:1.15rem}.meld-choice-prompt{color:#f4efe4;margin:0;font-size:1rem;line-height:1.4}.meld-choice-options{gap:8px;width:100%;display:grid}button.meld-choice-option{width:100%;font-size:1.05rem}.meld-choice-cancel{margin-top:2px}.rules-footer{border-top:1px solid #1f293726;justify-content:center;margin-top:14px;padding-top:12px;display:flex}button.leave-game-btn{color:#b3402a;background:0 0;border:1px solid #b3402a}button.leave-game-btn:hover{background:#b3402a14}.match-choice-backdrop{z-index:30;background:#081c159e;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.match-choice-card{border:1px solid var(--gold);text-align:center;background:#081c15f5;border-radius:12px;justify-items:center;gap:14px;width:min(28rem,92vw);padding:22px 30px;display:grid;box-shadow:0 16px 40px #00000073}.match-choice-head{color:var(--gold);margin:0;font-size:1.15rem}.match-choice-prompt{color:#f4efe4;margin:0;font-size:1rem;line-height:1.4}.match-choice-actions{gap:10px;display:flex}button.match-choice-confirm{background:var(--gold);border-color:var(--gold);color:var(--ink);padding:.65rem 1.6rem;font-size:1rem}button.match-choice-discard{border:1px dashed var(--muted);color:var(--muted);background:0 0;padding:.65rem 1.6rem;font-size:1rem}.precard-backdrop{z-index:25;background:#081c15b8;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;padding:12px;display:flex;position:fixed;inset:0}.precard-bubble{background:var(--felt-deep);border:1px solid gold;border-radius:12px;gap:6px;width:min(38rem,92vw);padding:10px 14px 12px;display:grid;position:relative;box-shadow:0 0 18px 2px #ffd70059}.precard-bubble:after{content:"";background:var(--felt-deep);border-bottom:1px solid gold;border-right:1px solid gold;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.precard-title{color:gold;margin:0;font-size:1rem}.precard-body{color:var(--bone);margin:0;font-size:.85rem;line-height:1.4}.precard-line{color:gold;font-weight:700}.precard-cta{justify-self:start;margin-top:2px}.precard-body--short{display:none}@media (orientation:landscape) and (hover:none) and (height<=540px){.precard-body--full{display:none}.precard-body--short{display:block}.precard-bubble{width:min(30rem,92vw)}}.tutorial-entry{align-items:center;gap:12px;display:flex}.tiles-scene{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.tiles-top-bar{top:max(10px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));justify-content:space-between;align-items:center;gap:10px;display:flex;position:absolute}.tiles-progress{align-items:center;gap:5px;display:inline-flex}.tiles-dot{background:color-mix(in srgb, var(--bone) 30%, transparent);border-radius:50%;width:6px;height:6px}.tiles-dot.is-on{background:var(--gold)}.tiles-skip{border-radius:999px;padding:4px 12px;font-size:.75rem}.tiles-stage{justify-items:center;gap:10px;padding-bottom:22dvh;animation:.18s ease-out tiles-arrive;display:grid}@keyframes tiles-arrive{0%{opacity:0;transform:translateY(-12px)scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.tiles-stage{animation:none}}.tiles-stage .tile--focus{cursor:pointer;border-radius:10px;width:clamp(4.5rem,22vw,11rem)}.tiles-stage .tile--focus[role=presentation],.tiles-stage .tile--focus.tile--decorative{cursor:default}.tile-label{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.85rem}.tiles-row{justify-content:center;align-items:flex-end;gap:clamp(8px,2.5vw,18px);display:flex}.tiles-row .tile+.tile{margin-left:0}.tile-stamp{flex-direction:column;flex:none;align-items:center;gap:6px;margin:0;display:flex}.tile-stamp figcaption{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);text-align:center;font-size:.85rem}@media (orientation:landscape) and (hover:none) and (height<=540px){.tiles-stage{padding-bottom:26dvh}.tiles-stage .tile--focus{width:min(22vw,34dvh)}.tiles-row--stacked .tile--focus,.tiles-row--stacked .tile--focus:not([role=button]){width:min(clamp(1.5rem,4.5vw,3rem),10.2222vw - 6.66667px,5.5dvh)}.tiles-row--stacked-pair .tile--focus,.tiles-row--stacked-pair .tile--focus:not([role=button]){width:min(clamp(1.75rem,5vw,3.25rem),23vw - 15px,11dvh)}.tile-label{font-size:.68rem}.tiles-skip{padding:3px 9px;font-size:.65rem}.lobby.dice:has(+.chen-panel--centered){min-height:auto}.lobby.dice+.chen-panel--centered{margin:0 auto;position:static;transform:none}.table:has(>.chen-panel:not(.chen-panel--centered)){grid-template-columns:minmax(0,1fr) auto}.table>.chen-panel:not(.chen-panel--centered){grid-area:1/2/-1;align-self:start;width:min(15rem,34vw);max-height:100%;overflow-y:auto}}@media (orientation:portrait) and (height<=640px){.lobby.dice:has(+.chen-panel--centered){min-height:auto}.lobby.dice+.chen-panel--centered{margin:0 auto;position:static;transform:none}}@media (hover:none) and (orientation:portrait) and (height<=640px){.lobby.dice:has(+.chen-panel--centered){min-height:auto}.lobby.dice+.chen-panel--centered{margin:0 auto;position:static;transform:none}}button.ghost{border:1px dashed var(--muted);color:var(--muted);background:0 0}.dice-roll{padding:14px 26px;font-size:1.1rem}@media (orientation:landscape) and (hover:none) and (height<=540px){.chen-panel{padding:5px 8px 6px}.chen-say{font-size:.68rem;line-height:1.25}.chen-rule{font-size:.6rem}.chen-avatar{width:1.1rem;height:1.1rem;font-size:.65rem}}.bug-report{pointer-events:none;z-index:30;position:fixed;inset:0}.bug-report-fab,.bug-report-modal{pointer-events:auto}.bug-report-fab{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));background:#7f1d1d;border-color:#9a3412;border-radius:999px;margin:0;padding:.45rem .8rem;font-size:.8rem;position:absolute;box-shadow:0 8px 20px #00000059}.bug-report.is-open .bug-report-fab{visibility:hidden}.bug-report-modal{z-index:31;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.bug-report-modal[hidden]{display:none}.bug-report-backdrop{background:#081c15b8;position:absolute;inset:0}.bug-report-sheet{z-index:1;width:min(28rem,100%);position:relative}.bug-report-form{gap:12px;margin-top:12px;display:grid}.bug-report-label textarea{resize:vertical;width:100%;min-height:8rem;font:inherit;color:#1f2937;background:#fffaf0;border:1px solid #d6c7a8;border-radius:6px;padding:.6rem .7rem}.bug-report-actions{justify-content:flex-end;gap:8px;display:flex}.bug-report-toast{z-index:60;border-radius:8px;max-width:min(22rem,80vw);padding:.6rem .9rem;font-size:.85rem;position:fixed;bottom:5.5rem;right:1rem;box-shadow:0 4px 14px #00000059}.bug-report-toast.is-ok{color:#f7fee7;background:#2f6f4f}.bug-report-toast.is-error{color:#fff1f2;background:#9f3448}.winner-detail{justify-items:center;gap:8px;max-width:min(92vw,560px);display:grid}.winner-avatar .portrait{border:2px solid var(--gold);border-radius:50%;width:clamp(3.25rem,9vw,5rem);height:clamp(3.25rem,9vw,5rem);box-shadow:0 4px 14px #00000073}.winner-avatar--initial{border:2px solid var(--gold);color:#7f1d1d;background:#fde68a;border-radius:50%;place-items:center;width:clamp(3.25rem,9vw,5rem);height:clamp(3.25rem,9vw,5rem);font-size:2rem;font-weight:800;display:grid}.winner-name{color:#f4efe4;margin:0;font-size:1.1rem;font-weight:700}.winner-hand{flex-wrap:wrap;justify-content:center;gap:6px 8px;padding-top:4px;display:flex}.winner-hand-group{display:flex}.winner-hand .tile{width:clamp(1.35rem,3.4vw,2.1rem)}.winner-hand .tile+.tile,.winner-hand-group .tile+.tile{margin-left:clamp(-.6rem,-1.4vw,-.3rem)}.tile.is-winning-card{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.winner-card-entry{border:1px dashed var(--gold);background:#fde68a14;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:6px 14px;display:flex}.winner-card-entry .tile{width:clamp(1.6rem,4vw,2.4rem)}.winner-card-entry-label{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:700}.winner-card-entry-line{color:#f4efe4;font-size:.9rem;font-weight:600}.winner-card-hand-block{justify-items:center;gap:6px;max-width:100%;display:grid}.winner-card-hand-label{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-size:.72rem;font-weight:700}.winner-card-hand{color:#1f2937;text-align:center;background:#fffaf0;border:1px solid #d6c7a8;border-radius:8px;max-width:min(92vw,420px);padding:8px 12px 10px}.winner-card-hand-name{color:#7f1d1d;margin:0;font-size:.8rem}.winner-card-hand-pattern{word-break:break-word;margin:0;font-family:ui-monospace,Consolas,monospace;font-size:.92rem}.winner-card-hand-pattern-black{color:#1f2937}.winner-card-hand-pattern-red{color:#b3122b;font-weight:700}.winner-card-hand-pattern-green{color:#15803d;font-weight:700}.winner-card-hand-spec{color:#15803d;margin-left:.35em;font-family:inherit;font-size:.78em}.winner-card-hand-marker{margin-left:.5em;font-family:ui-monospace,Consolas,monospace;font-weight:700}.winner-card-hand-marker--X{color:#1f2937}.winner-card-hand-marker--C{color:#7c2d12}.winner-card-hand-value{float:right;color:#1f2937;font-family:ui-monospace,Consolas,monospace}.winner-card-hand--tiles{border:1px dashed var(--gold);background:#fde68a14;border-radius:10px;flex-wrap:wrap;justify-content:center;gap:8px 10px;display:flex}.winner-card-hand-group{display:flex}.winner-card-hand-group .tile{width:clamp(1.25rem,3.2vw,1.9rem)}.winner-card-hand-group .tile+.tile{margin-left:clamp(-.55rem,-1.2vw,-.25rem)}.game-end-backdrop{z-index:30;background:#081c158c;place-items:center;padding:12px;animation:.24s ease-out both game-end-fade;display:grid;position:fixed;inset:0}.game-end-card{border:1px solid var(--gold);text-align:center;background:#081c15e0;border-radius:14px;justify-items:center;gap:10px;padding:24px 36px;animation:.24s cubic-bezier(.2,1.4,.4,1) both game-end-pop;display:grid;box-shadow:0 16px 40px #00000073}.game-end-result{letter-spacing:.04em;color:#f4efe4;text-shadow:0 2px 12px #0009;margin:0;font-size:clamp(3rem,10vw,6rem);font-weight:800;line-height:1.05}.game-end--winner .game-end-result{color:var(--gold)}.game-end-icon{width:64px;height:auto}.game-end-hint{color:#f4efe4b3;margin:0;font-size:.8rem}@keyframes game-end-fade{0%{opacity:0}to{opacity:1}}@keyframes game-end-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.game-end-backdrop,.game-end-card{animation:none}}.dash{max-width:1280px;padding:max(16px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:18px;margin:0 auto;display:flex}.dash-head{justify-content:space-between;align-items:end;gap:12px;display:flex}.dash-head h1{margin:0}.dash-head-actions{align-items:center;gap:10px;display:flex}.dash-spinner{color:var(--gold);font-size:1.4rem;animation:1s ease-in-out infinite dash-pulse}@keyframes dash-pulse{50%{opacity:.3}}.dash-error{color:#f0c0b2;background:#c984721f;border:1px solid #c98472;border-radius:12px;margin:0;padding:10px 14px}.dash-filters{background:#081c1599;border:1px solid #d8c38d59;border-radius:14px;padding:12px 16px 14px}.dash-filters h2,.dash-panel h2{letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-size:1rem}.dash-filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px 14px;display:grid}.dash-filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.dash-filters input,.dash-filters select{font:inherit;color:var(--bone);border:1px solid var(--gold);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#081c15;border-radius:10px;padding:.45rem .6rem;font-size:.9rem}.dash-filter-actions{align-items:end;gap:8px;display:flex}.dash-token{max-width:320px;margin-top:10px}.dash-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.dash-card{background:var(--felt);border:1px solid #d8c38d59;border-radius:14px;padding:12px 16px}.dash-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0;font-size:.8rem}.dash-card-value{color:var(--bone);margin:6px 0 0;font-size:1.9rem;font-weight:600}.dash-card-hint{color:var(--muted);margin:4px 0 0;font-size:.75rem}.dash-panels{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;display:grid}.dash-panel{background:#2d6a4f2e;border:1px solid #d8c38d59;border-radius:14px;min-width:0;padding:14px 16px}.dash-chart{width:100%;height:auto;display:block}.dash-grid{stroke:#f4efe41f;stroke-width:1px}.dash-axis{fill:var(--muted);font-size:11px;font-family:var(--sans)}.dash-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.dash-dot{fill:var(--felt-deep);stroke:#f4efe4a6;stroke-width:1px}.dash-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.8rem;display:flex}.dash-legend-item{align-items:center;gap:6px;display:inline-flex}.dash-legend-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.dash-empty{color:var(--muted);font-size:.9rem}.dash-bars{flex-direction:column;gap:6px;display:flex}.dash-bar-row{grid-template-columns:96px minmax(0,1fr) 48px;align-items:center;gap:8px;font-size:.85rem;display:grid}.dash-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);overflow:hidden}.dash-bar-track{background:#f4efe414;border-radius:7px;height:14px;overflow:hidden}.dash-bar-track i{border-radius:7px;min-width:2px;height:100%;display:block}.dash-bar-value{text-align:right;color:var(--bone);font-variant-numeric:tabular-nums}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:.85rem}.dash-table th,.dash-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f4efe41a;padding:6px 10px}.dash-table th{color:var(--gold);font-weight:600}.dash-table td{color:var(--muted)}.dash-pager{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:.85rem;display:flex}@media (width<=900px){.dash-panels{grid-template-columns:minmax(0,1fr)}}.pw{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-deep) 60%);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100vh;padding:24px 16px 40px;display:flex}.pw .page-lang{align-self:flex-end}.pw-card{border:1px solid var(--gold);text-align:center;background:#081c15eb;border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(520px,100%);padding:28px 26px 22px;display:flex;box-shadow:0 12px 40px #00000073}.pw-avatar-slot{justify-content:center;align-items:center;display:flex}.pw-avatar{border:2px solid var(--gold);background:var(--felt-mid);width:56px;height:56px;color:var(--gold);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:inline-flex}.pw-coin{border:1px solid var(--gold);background:linear-gradient(180deg, #3a2f12 0%, var(--felt-deep) 100%);color:#ffd977;letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:6px 16px;font-weight:700;display:inline-flex}.pw-eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:600}.pw-heading{color:var(--bone);margin:0;font-size:1.6rem;line-height:1.2}.pw-body{color:var(--bone);margin:0;font-size:1rem;line-height:1.5}.pw-bullets{text-align:left;color:var(--muted);margin:4px 0 0;padding:0 0 0 20px;font-size:.95rem;line-height:1.5}.pw-bullets li{margin:6px 0}.pw-bullets li::marker{color:var(--gold)}.pw-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%;margin-top:8px;display:flex}.pw-cta{color:#fff;cursor:pointer;background:#b45309;border:none;border-radius:8px;padding:12px 18px;font-size:1rem;font-weight:600}.pw-cta:hover,.pw-cta:focus-visible{outline:2px solid var(--gold);outline-offset:2px;background:#c2610f}.pw-maybe{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #d8c38d80;border-radius:8px;padding:8px 14px;font-size:.9rem}.pw-maybe:hover,.pw-maybe:focus-visible{color:var(--bone);border-color:var(--gold);outline:none}.pw-player{color:var(--muted);margin:6px 0 0;font-size:.8rem}@media (width<=600px){.pw{justify-content:flex-start;padding-top:48px}.pw-card{padding:22px 18px 18px}.pw-heading{font-size:1.35rem}.pw-cta{width:100%}}.statistics{text-align:left;place-content:start center;gap:16px;max-width:60rem;margin-inline:auto}.statistics h1{margin:0}.statistics-guest-warning{color:#fbbf24;background:#d977062e;border:1px solid #d97706;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:.65rem 1rem;font-size:.92rem;line-height:1.35;display:flex}.statistics-guest-warning__text{flex:14rem}.statistics-guest-warning__cta{color:#1c1204;font:inherit;cursor:pointer;background:#d97706;border:none;border-radius:8px;flex:none;padding:.4rem 1rem;font-weight:700}.statistics-guest-warning__cta:hover{background:#f59e0b}.statistics-guest-warning__cta:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.statistics-guest-warning__signin{color:#fbbf24;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;flex:none;padding:.4rem .6rem;font-weight:600;text-decoration:underline}.statistics-guest-warning__signin:hover{text-decoration-thickness:2px}.statistics-guest-warning__signin:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.statistics-summary{flex-wrap:wrap;gap:12px;margin:0;display:flex}.statistics-summary__item{border:1px solid var(--gold);background:#00000040;border-radius:10px;justify-items:center;gap:2px;min-width:6.5rem;padding:.6rem 1rem;display:grid}.statistics-summary__item dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.statistics-summary__item dd{color:var(--bone);margin:0;font-size:1.3rem;font-weight:600}.statistics-summary__item--win dd{color:var(--gold)}.statistics-history-head{color:var(--muted);margin:.5rem 0 0;font-size:1rem}.statistics-table{border-collapse:collapse;width:100%;font-size:.9rem}.statistics-table th,.statistics-table td{text-align:left;border-bottom:1px solid #f4efe41f;padding:.45rem .6rem}.statistics-table th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.statistics-table td[data-field=score],.statistics-table td[data-field=points]{font-variant-numeric:tabular-nums}.statistics-table tr[data-outcome=win] td[data-field=result]{color:var(--gold)}.statistics-table tr[data-outcome=loss] td[data-field=result]{color:var(--bone)}.statistics-table tr[data-outcome=draw] td[data-field=result],.statistics-empty{color:var(--muted)}.statistics-back{justify-self:start;margin-top:8px}.claim-group button[data-call=mahjong]{background:linear-gradient(135deg, var(--gold) 0%, #e8d9a8 100%);color:var(--ink);border-color:#f0e3ba;font-weight:700;box-shadow:0 0 0 1px #d8c38d8c,0 0 12px 2px #d8c38d73,inset 0 0 6px #ffffff59}.claim-group button[data-call=mahjong]:hover,.claim-group button[data-call=mahjong]:focus-visible{background:linear-gradient(135deg, #e8d9a8 0%, var(--gold) 100%);box-shadow:0 0 0 1px #d8c38dbf,0 0 16px 4px #d8c38d8c,inset 0 0 6px #fff6}.claim-group button[data-call=mahjong]:active{background:linear-gradient(135deg, var(--felt-mid) 0%, var(--gold) 100%);color:var(--bone);box-shadow:0 0 0 1px #d8c38d80,0 0 8px 1px #d8c38d59}.claim-group[data-mahjong-active] button:not([data-call=mahjong]){opacity:.45}@media (hover:none){.claim-group button[data-call=mahjong]:hover{background:linear-gradient(135deg, var(--gold) 0%, #e8d9a8 100%);box-shadow:0 0 0 1px #d8c38d8c,0 0 12px 2px #d8c38d73,inset 0 0 6px #ffffff59}}.claim-group button[data-call=mahjong]{position:relative;overflow:hidden}.claim-group button[data-call=mahjong]:after{content:"";pointer-events:none;will-change:transform;background:linear-gradient(105deg,#fff0 0% 40%,#ffffff8c 50%,#fff0 60% 100%);width:250%;height:100%;animation:2.8s linear infinite mahjong-sparkle;position:absolute;inset:0;transform:translate(-100%)}.claim-group button[data-call=mahjong]:hover:after,.claim-group button[data-call=mahjong]:focus-visible:after{background:linear-gradient(105deg,#fff0 0% 38%,#ffffffbf 50%,#fff0 62% 100%);animation-duration:1.8s}@keyframes mahjong-sparkle{0%{transform:translate(-100%)}to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.claim-group button[data-call=mahjong]:after{background:radial-gradient(60% 55% at 22% 30%,#ffffff73 0%,#fff0 65%),radial-gradient(50% 45% at 78% 72%,#ffffff59 0%,#fff0 60%);animation:none;transform:none}}.actions[data-phase=play]{width:100%}.subscription-notice{margin:0 0 12px;font-size:.9rem;font-weight:600;line-height:1.4}.subscription-notice.is-error{color:#b91c1c}.chen-nav{align-items:center;gap:8px;margin-top:2px;display:flex}.chen-nav--choices{flex-direction:column;align-items:stretch;gap:10px;margin-top:10px}.chen-nav--choices button{white-space:normal;justify-self:stretch;width:100%;line-height:1.25}.tiles-row--grouped{gap:clamp(14px,4vw,34px)}.tiles-group{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent);background:color-mix(in srgb, var(--bone) 6%, transparent);border-radius:12px;align-items:flex-end;gap:clamp(4px,1.2vw,10px);padding:clamp(4px,1vw,8px);display:flex}.tiles-row--grouped .tile--focus,.tiles-row--grouped .tile--focus:not([role=button]){width:clamp(2.75rem,9vw,5.5rem)}.tiles-row--stacked{flex-direction:column;align-items:center;gap:clamp(6px,1.6vh,14px)}.tiles-row--stacked .tile--focus,.tiles-row--stacked .tile--focus:not([role=button]){width:min(clamp(2rem,6vw,4.5rem),10.2222vw - 11.1111px,6dvh)}.tiles-row--stacked-pair .tile--focus,.tiles-row--stacked-pair .tile--focus:not([role=button]){width:min(clamp(2.75rem,11vw,6rem),23vw - 20px,9dvh)}.tiles-set-stage{max-width:min(1400px,96vw);padding-bottom:clamp(140px,22dvh,190px)}.tiles-scene--recap{justify-content:flex-start;padding-top:clamp(48px,7dvh,64px)}.tiles-set-name{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-align:center;margin:0 0 4px;font-size:.62rem}.tiles-sets{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1.4vw,18px);display:flex}.tiles-set{--set-tile:clamp(1.5rem, 2.15vw, 2.3rem);border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);background:color-mix(in srgb, var(--felt-deep) 35%, transparent);border-radius:10px;padding:clamp(4px,.6vw,8px)}.tiles-set-grid{grid-template-columns:repeat(4, var(--set-tile));gap:clamp(2px,.35vw,5px);display:grid}.tiles-set-grid .tile{width:var(--set-tile);margin:0}@media (width>=1024px){.tiles-set-name{font-size:.68rem}}@media (orientation:landscape) and (hover:none) and (height<=540px){.tiles-set{--set-tile:clamp(1.05rem, 1.9vw, 1.5rem);border-radius:7px}.tiles-set-name{font-size:.52rem}.tiles-set-stage{padding-bottom:28dvh}.tiles-scene--recap{justify-content:flex-start;padding-top:46px}.tiles-scene--recap .tiles-sets{overscroll-behavior:contain;max-height:50dvh;overflow-y:auto}}.jokers-fan{--jokers-fan-tile:clamp(2.4rem, 7vw, 4.6rem);gap:clamp(4px,1.2vw,12px)}.jokers-fan .tile--mini{width:var(--jokers-fan-tile)}.jokers-scene .tile--mini{border-radius:7px;width:clamp(2.6rem,6.5vw,4.4rem)}.jokers-meld-box .tile--mini+.tile--mini,.jokers-well .tile--mini+.tile--mini{margin-left:0}.jokers-discard-row{justify-content:center;align-items:center;gap:clamp(14px,3vw,30px);display:flex}.jokers-no-claim{align-items:center;width:clamp(64px,10vw,120px);display:inline-flex;position:relative}.jokers-arrow{background:var(--danger,#f87171);border-radius:2px;flex:1;height:3px;position:relative}.jokers-arrow:after{content:"";border-top:3px solid var(--danger,#f87171);border-right:3px solid var(--danger,#f87171);width:10px;height:10px;position:absolute;top:50%;right:-2px;transform:translateY(-50%)rotate(45deg)}.jokers-bar{border:4px solid var(--danger,#f87171);border-radius:50%;flex:none;width:clamp(34px,5vw,56px);height:clamp(34px,5vw,56px);position:relative}.jokers-bar:after{content:"";background:linear-gradient(to top right, transparent calc(50% - 2px), var(--danger,#f87171) calc(50% - 2px), var(--danger,#f87171) calc(50% + 2px), transparent calc(50% + 2px));border-radius:50%;position:absolute;inset:-2px}.jokers-seq{justify-items:center;gap:clamp(10px,2.2dvh,20px);display:grid}.jokers-seq-row{opacity:0;align-items:center;gap:clamp(10px,2vw,18px);transition:opacity .26s,transform .26s;display:flex;transform:translateY(8px)}.jokers-seq-row.is-shown{opacity:1;transform:none}.jokers-seq-who{text-align:right;letter-spacing:.06em;text-transform:uppercase;min-width:4.5ch;color:var(--bone,#d8cbb0);opacity:.85;margin:0;font-size:.8rem}.jokers-well,.jokers-meld-box,.jokers-swap-box{border:1px dashed color-mix(in srgb, var(--gold) 50%, transparent);border-radius:10px;align-items:flex-end;gap:4px;padding:clamp(5px,.8vw,9px);display:flex}.jokers-meld-box{border-style:solid}.jokers-meld-box[data-land=true]{animation:.32s ease-out jokers-land}@keyframes jokers-land{0%{transform:translateY(-14px)scale(.97)}to{transform:none}}.jokers-swap-arrow{color:var(--gold);align-self:center;padding:0 4px;font-size:clamp(1.1rem,2.4vw,1.7rem)}@media (prefers-reduced-motion:reduce){.jokers-seq-row,.jokers-meld-box[data-land=true]{transition:none;animation:none}}@media (orientation:landscape) and (hover:none) and (height<=540px){.jokers-scene .tile--mini{width:clamp(1.8rem,5vw,2.8rem)}.jokers-seq{gap:6px}.jokers-seq-who{font-size:.6rem}}.winner-avatar__img{border:2px solid var(--gold);object-fit:cover;border-radius:50%;width:clamp(3.25rem,9vw,5rem);height:clamp(3.25rem,9vw,5rem);display:block;box-shadow:0 4px 14px #00000073}.game-end-actions{visibility:hidden;pointer-events:auto;justify-content:center;align-items:center;gap:12px;display:flex}.game-end-actions.is-ready{visibility:visible}.game-end-actions button.game-end-action{padding:12px 26px;font-size:1rem}.game-end-actions button.game-end-action--lobby{border:1px solid var(--gold);color:var(--gold);background:0 0}.boot-loading{place-content:center;justify-items:center;gap:12px;display:grid;position:fixed;inset:0}.boot-loading__dot{border:3px solid #d8c38d59;border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite boot-loading-spin}.boot-loading__text{color:var(--gold);letter-spacing:.2em;font-size:1.1rem}@keyframes boot-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.boot-loading__dot{animation-duration:2.4s}}.marketing{--mk-max:68rem;background:radial-gradient(120rem 60rem at 50% -10%, #14532d 0%, transparent 60%), radial-gradient(90rem 50rem at 85% 30%, #1b4332 0%, transparent 55%), var(--felt-deep);min-height:100dvh;color:var(--bone);overflow-x:clip}.mk-nav{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#081c15b8;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:12px;padding:12px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.mk-brand{letter-spacing:.02em;color:var(--bone);font-weight:700}.mk-nav-right{align-items:center;gap:12px;display:flex}.mk-session{align-items:center;gap:8px;min-width:0;display:inline-flex}.mk-session__name{white-space:nowrap;text-overflow:ellipsis;max-width:14rem;color:var(--muted);font-size:.9rem;overflow:hidden}.mk-link{color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 4px}.mk-link:hover,.mk-link:focus-visible{color:#f0dda8;text-decoration:underline}.marketing section{width:min(var(--mk-max), 100% - 2 * clamp(16px, 5vw, 48px));margin-inline:auto;padding-block:clamp(56px,10vh,120px)}.mk-eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:.85rem;font-weight:700}.marketing h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.06}.marketing h2{letter-spacing:-.01em;text-wrap:balance;margin:0 0 18px;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.15}.marketing h3{margin:12px 0 6px;font-size:1.15rem}.marketing p{color:color-mix(in srgb, var(--bone) 88%, transparent);text-wrap:pretty;margin:0 0 14px;line-height:1.6}.mk-center{text-align:center}.mk-lede{max-width:42rem;color:var(--muted);margin-inline:auto;font-size:clamp(1.05rem,1.6vw,1.25rem)}.mk-hero{text-align:center;flex-direction:column;align-items:center;gap:18px;padding-top:clamp(64px,14vh,140px);display:flex}.mk-cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;display:flex}.mk-cta{border:1px solid var(--gold);color:#241a05;font:inherit;cursor:pointer;background:linear-gradient(#e7cf94 0%,#c9ab63 100%);border-radius:999px;padding:14px 30px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s}.mk-cta:hover,.mk-cta:focus-visible{transform:translateY(-1px);box-shadow:0 10px 30px #d8c38d40}.mk-cta--ghost{color:var(--gold);background:0 0}.mk-cta--ghost:hover,.mk-cta--ghost:focus-visible{background:#d8c38d1a}.mk-tile{aspect-ratio:60/84;width:clamp(3rem,7vw,4.4rem);transform:rotate(var(--mk-tilt,0deg));filter:drop-shadow(0 6px 14px #00000073);margin:0;transition:transform .2s}.mk-tile svg{width:100%;height:100%;display:block}.mk-hero-art{justify-content:center;margin-top:clamp(24px,5vh,48px);display:flex}.mk-hero-art .mk-tile{transform-origin:50% 140%;transform:rotate(var(--mk-tilt,0deg)) translateY(0)}.mk-hero-art .mk-tile+.mk-tile{margin-left:-.9rem}.mk-art{flex-direction:column;align-items:center;gap:14px;display:flex}.mk-art-caption{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.85rem}.mk-art--table{width:min(100%,24rem)}.mk-table-felt{aspect-ratio:1/.85;background:radial-gradient(60% 60% at 50% 45%, var(--felt-mid) 0%, var(--felt) 70%);border:1px solid #ffffff14;border-radius:18px;width:100%;position:relative;box-shadow:inset 0 0 60px #00000073}.mk-wall{gap:3px;display:flex;position:absolute}.mk-wall .mk-tile{width:clamp(1.7rem,4vw,2.5rem)}.mk-wall--top{top:8%;left:50%;translate:-50%}.mk-wall--bottom{bottom:6%;left:50%;translate:-50%}.mk-wall--left,.mk-wall--right{flex-direction:column;top:50%;translate:0 -50%}.mk-wall--left{left:7%}.mk-wall--right{right:7%}.mk-dice{gap:6px;display:flex;position:absolute;top:46%;left:50%;translate:-50% -50%}.mk-pip-dot{background:var(--bone);width:14px;height:14px;box-shadow:inset 0 0 0 2px #d9cbb0, inset 6px 6px 0 -3px var(--ink);border-radius:4px}.mk-tile-row{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.mk-tile-row .mk-tile{width:clamp(2.1rem,4.4vw,3rem)}.mk-tile-row--odd .mk-tile{width:clamp(2.4rem,5vw,3.4rem)}.mk-chs-ring{aspect-ratio:1;place-items:center;width:min(16rem,70vw);display:grid;position:relative}.mk-chs-arrows{fill:none;width:100%;height:100%;stroke:var(--gold);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:5 7;opacity:.85;position:absolute;inset:0}.mk-chs-seat{color:var(--muted);letter-spacing:.1em;font-weight:700;position:absolute}.mk-chs-seat--n{top:-4px}.mk-chs-seat--s{bottom:-4px}.mk-chs-seat--e{right:-8px}.mk-chs-seat--w{left:-8px}.mk-chs-ring .mk-tile{width:clamp(2.6rem,6vw,3.6rem)}.mk-chs-ring .mk-tile+.mk-tile{margin-left:-.6rem}.mk-win-line{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.mk-group{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:8px;display:flex}.mk-group .mk-tile{width:clamp(1.6rem,3.4vw,2.2rem)}.mk-group .mk-tile+.mk-tile{margin-left:-.3rem}.mk-art--call{justify-content:center;gap:10px}.mk-call-slam .mk-tile{width:clamp(3rem,7vw,4rem);filter:drop-shadow(0 8px 18px #0000008c), drop-shadow(0 0 18px #d8c38d59)}.mk-call-word{color:var(--gold);letter-spacing:.06em;font-size:1.1rem;font-weight:800}.mk-split{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,5vw,56px);display:grid}.mk-split--flip>.mk-art{order:-1}.mk-thirds{grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,32px);margin-top:26px;display:grid}.mk-fun{text-align:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:16px;flex-direction:column;align-items:center;padding:22px 18px;display:flex}.mk-fun .mk-art{justify-content:center;min-height:9.5rem}.mk-features{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(14px,2.4vw,24px);margin-top:26px;display:grid}.mk-feature{background:linear-gradient(#2d6a4f42 0%,#0000 80%);border:1px solid #ffffff14;border-radius:16px;padding:22px 20px 30px;position:relative}.mk-feature h3{margin-top:26px}.mk-feature p{color:var(--muted);margin:0;font-size:.95rem}.mk-feature-icon{width:40px;height:40px;color:var(--gold);background:#d8c38d24;border-radius:12px;place-items:center;display:grid}.mk-feature-icon svg{width:22px;height:22px}.mk-feature .mk-tile{opacity:.95;width:clamp(2.2rem,4vw,2.8rem);position:absolute;top:-14px;right:14px}.mk-section--cta{text-align:center;padding-bottom:clamp(72px,14vh,160px)}.mk-fineprint{color:var(--muted);margin-top:18px;font-size:.9rem}.mk-link--inline{font:inherit;font-size:inherit;padding:0}.mk-footer{padding:22px clamp(16px, 4vw, 40px) calc(22px + env(safe-area-inset-bottom));text-align:center;color:var(--muted);border-top:1px solid #ffffff0f;font-size:.85rem}@media (width<=900px){.mk-split,.mk-split--flip{grid-template-columns:1fr}.mk-split--flip>.mk-art{order:0}.mk-thirds{grid-template-columns:1fr}}@media (width<=480px){.marketing h1{font-size:clamp(1.9rem,9vw,2.6rem)}.mk-hero-art .mk-tile+.mk-tile{margin-left:-1.1rem}.mk-group .mk-tile+.mk-tile{margin-left:-.5rem}.mk-cta{width:100%}}@media (prefers-reduced-motion:reduce){.mk-tile,.mk-cta{transition:none}}
