.domino-shell{border:0;margin:0;padding:0;background:transparent;color:inherit}.domino-shell--board{position:absolute;transition:left .34s cubic-bezier(.22,.8,.24,1),top .34s cubic-bezier(.22,.8,.24,1),width .34s cubic-bezier(.22,.8,.24,1),height .34s cubic-bezier(.22,.8,.24,1)}.domino-shell--hand{position:relative;flex:0 0 auto;cursor:pointer;transition:transform .18s ease,filter .18s ease}.domino-shell--hand:hover:not(:disabled){transform:translateY(-6px);filter:drop-shadow(0 10px 12px rgba(0,0,0,.24))}.domino-shell--hand.is-dimmed{cursor:default;opacity:.6;filter:saturate(.72)}.domino-shell--hand.is-dimmed:hover{transform:none}.domino-shell--hand.is-selected{transform:translateY(-12px);filter:drop-shadow(0 12px 16px rgba(0,0,0,.34))}.domino-shell:disabled{cursor:default}.domino-tile{position:absolute;display:block;width:var(--tile-w);height:var(--tile-h);overflow:hidden;background:#fffdf0;border:max(2px,calc(var(--tile-h) * .055)) solid #15110d;border-radius:var(--tile-radius);box-shadow:0 3px 8px #00000029;transform-origin:center;transition:transform .34s cubic-bezier(.22,.8,.24,1),opacity .22s ease}.domino-face{position:absolute;top:0;bottom:0;width:50%}.domino-face--left{left:0}.domino-face--right{right:0}.domino-divider{position:absolute;top:16%;bottom:16%;left:50%;width:max(1px,calc(var(--tile-h) * .045));background:#17130f;border-radius:99px;transform:translate(-50%);opacity:.9}.domino-pip{position:absolute;width:var(--pip-size);height:var(--pip-size);background:radial-gradient(circle at 35% 35%,#4b4339 0,#4b4339 18%,#111 55%,#050403);border-radius:50%;transform:translate(-50%,-50%);box-shadow:none}.domino-tile--hidden{background:linear-gradient(135deg,rgba(255,255,255,.08) 25%,transparent 25%) 0 0 / 12px 12px,linear-gradient(135deg,transparent 75%,rgba(0,0,0,.16) 75%) 0 0 / 12px 12px,#35475b;border-color:#111923}.domino-tile--hidden:after{position:absolute;top:22%;right:34%;bottom:22%;left:34%;content:"";border:2px solid rgba(255,255,255,.36);border-radius:50%}.domino-shell.is-selected .domino-tile{border-color:#f4ca51;box-shadow:0 8px 18px #00000038}.domino-tile--hint{background:#ffffff14;border-style:dashed;border-color:#f4ca51db;box-shadow:none}.domino-shell.is-hint{cursor:pointer}.domino-shell.is-hint:hover .domino-tile--hint{background:#f4ca512e}.domino-shell.is-entering .domino-tile{animation:domino-appear .28s ease both}@keyframes domino-appear{0%{opacity:0;scale:.72}to{opacity:1;scale:1}}.domino-tile{background:var(--theme-tile-bg);border-color:var(--theme-tile-border)}.domino-divider{background:var(--theme-tile-ink)}.domino-pip{background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--theme-tile-ink) 55%,white) 0 18%,var(--theme-tile-ink) 55%,var(--theme-tile-pip) 100%)}.domino-tile--hidden{background:linear-gradient(135deg,rgba(255,255,255,.08) 25%,transparent 25%) 0 0 / 12px 12px,linear-gradient(135deg,transparent 75%,rgba(0,0,0,.16) 75%) 0 0 / 12px 12px,var(--theme-tile-hidden);border-color:var(--theme-tile-hidden-border)}.domino-shell.is-selected .domino-tile{border-color:var(--theme-accent);box-shadow:0 8px 18px #00000038}.domino-tile--hint{background:var(--theme-faint);border-color:var(--theme-accent);box-shadow:none}.domino-shell.is-hint:hover .domino-tile--hint{background:var(--theme-accent-line)}.domino-shell.is-coach .domino-tile{border-color:var(--theme-accent);box-shadow:0 3px 8px #00000029}.domino-shell.is-owner-highlight .domino-tile{background:radial-gradient(circle at 24% 28%,color-mix(in srgb,var(--theme-accent) 34%,white 10%),transparent 42%),linear-gradient(135deg,color-mix(in srgb,var(--theme-accent) 38%,transparent),transparent 68%),color-mix(in srgb,var(--theme-accent) 30%,var(--theme-tile-bg))}.domino-shell.is-coach:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border-radius:calc(var(--tile-radius) + 5px);border:2px solid var(--theme-accent);opacity:.85;pointer-events:none;animation:domino-coach-pulse 1.4s ease-in-out infinite}@keyframes domino-coach-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.35;transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){.domino-shell.is-coach:after{animation:none!important;opacity:.7;transform:none}}.domino-chain-wrap{position:absolute;top:14px;right:12px;bottom:14px;left:12px;overflow:hidden;touch-action:manipulation}.domino-table.has-side-seats .domino-chain-wrap{left:146px;right:146px}.domino-table:not(.has-side-seats) .domino-chain-wrap{right:108px}@media (max-width: 680px){.domino-table.has-side-seats .domino-chain-wrap{left:116px;right:116px}.domino-table:not(.has-side-seats) .domino-chain-wrap{right:92px}}.empty-board{position:absolute;left:50%;top:50%;color:var(--theme-muted);font-size:.95rem;font-weight:800;transform:translate(-50%,-50%)}.domino-hand{display:grid;gap:8px;justify-items:center;min-width:0}.domino-hand__header{display:inline-flex;align-items:center;gap:8px;min-height:26px;padding:4px 10px;color:#f6f1df;background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%);border:none;border-radius:13px;font-size:.82rem;font-weight:700}.domino-hand__header strong{display:grid;place-items:center;min-width:22px;height:22px;color:#1d1711;background:#f4ca51;border-radius:50%;font-size:.78rem}.domino-hand__tiles{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:calc(var(--hand-tile-h, 44px) + 16px);padding:0 10px}.domino-hand__header{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%)}.domino-hand__header strong{color:var(--theme-accent-text);background:var(--theme-accent)}.dominup{--dominup-size: 48px;display:inline-flex;align-items:center;gap:.1em;font-family:Inter,ui-sans-serif,system-ui,Segoe UI,sans-serif;font-size:var(--dominup-size);font-weight:900;letter-spacing:-.03em;line-height:1;white-space:nowrap;-webkit-user-select:none;user-select:none}.dominup--lg{--dominup-size: clamp(48px, 15vw, 80px)}.dominup--sm{--dominup-size: 38px}.dominup__word{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.dominup__word--silver{background-image:linear-gradient(180deg,#fff 6%,#e9edf1 44%,#aab2ba 96%);text-shadow:0 .02em 0 #cdd3d9,0 .04em 0 #b4bbc2,0 .06em 0 #9aa1a9,0 .08em 0 #838a92,0 .1em .01em rgba(0,0,0,.35),0 .13em .1em rgba(0,0,0,.45)}.dominup__word--gold{background-image:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 42%,#ffffff) 6%,color-mix(in srgb,var(--theme-accent) 80%,#ffffff) 34%,var(--theme-accent) 60%,color-mix(in srgb,var(--theme-accent) 60%,#000000) 98%);text-shadow:0 .02em 0 color-mix(in srgb,var(--theme-accent) 72%,#000),0 .04em 0 color-mix(in srgb,var(--theme-accent) 56%,#000),0 .06em 0 color-mix(in srgb,var(--theme-accent) 42%,#000),0 .08em 0 color-mix(in srgb,var(--theme-accent) 30%,#000),0 .1em .01em rgba(0,0,0,.4),0 .13em .1em rgba(0,0,0,.5)}.dominup__tile{position:relative;width:.6em;height:1.16em;margin:0 .06em;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:.1em 0;transform:rotate(-12deg);border-radius:.16em;background:linear-gradient(158deg,#45464a,#17181b 52%,#050506);border:.018em solid rgba(255,255,255,.16);box-shadow:inset 0 .03em .03em #fff6,inset 0 -.05em .06em #000000b3,.05em .09em .14em #0009}.dominup__tile:before{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset .03em 0 .02em #ffffff47;content:"";pointer-events:none}.dominup__half{position:relative;width:100%;height:.48em}.dominup__bar{width:82%;height:.05em;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--theme-accent) 55%,#000),var(--theme-accent) 50%,color-mix(in srgb,var(--theme-accent) 55%,#000));box-shadow:0 0 .04em var(--theme-accent-glow)}.dominup__tile i{position:absolute;width:.13em;height:.13em;border-radius:50%;background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--theme-accent) 45%,#ffffff) 0%,var(--theme-accent) 52%,color-mix(in srgb,var(--theme-accent) 58%,#000) 100%);box-shadow:0 .01em .01em #0000008c,inset 0 -.01em .01em #0006;transform:translate(-50%,-50%)}.dominup__half--top i:nth-child(1){left:30%;top:30%}.dominup__half--top i:nth-child(2){left:70%;top:70%}.dominup__half--bottom i:nth-child(1){left:26%;top:24%}.dominup__half--bottom i:nth-child(2){left:50%;top:50%}.dominup__half--bottom i:nth-child(3){left:74%;top:76%}.coach-bubble{position:absolute;z-index:55;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;width:min(400px,calc(100% - 32px));padding:12px 16px;border-radius:18px;border:none;background:var(--theme-surface-solid);box-shadow:0 14px 28px #00000038;color:var(--theme-ink);text-align:left;cursor:pointer;animation:coach-bubble-rise .24s cubic-bezier(.22,.8,.24,1) both}.coach-bubble--hand{bottom:calc(100% + 8px)}.coach-bubble--top{top:10px}.coach-bubble__title{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--theme-accent)}.coach-bubble__body{font-size:14px;line-height:1.45;color:var(--theme-ink)}.coach-bubble__hint{align-self:flex-end;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-muted)}.coach-bubble:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}@keyframes coach-bubble-rise{0%{transform:translate(-50%) translateY(10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.coach-bubble{animation:none!important}}:root{--gold: #d8b250;--gold-soft: rgba(216, 178, 80, .42);--gold-line: rgba(216, 178, 80, .28);--ink: #f3e9d2;--panel: rgba(18, 13, 8, .82)}.domino-board{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;overflow:hidden;color:var(--ink);background:linear-gradient(180deg,var(--theme-bg-1) 0%,var(--theme-bg-0) 48%,var(--theme-bg-2) 100%);font-feature-settings:"kern"}.domino-head{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px clamp(10px,2vw,22px)}.domino-head__left{display:flex;align-items:center;gap:12px;min-width:0}.domino-head__opponent{justify-self:center;position:relative;z-index:15;display:flex;flex-direction:column;align-items:center;gap:4px;overflow:visible}.head-opp-card{display:flex;align-items:center;gap:8px;padding:6px 12px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:16px;box-shadow:none}.head-opp-card.current{background:color-mix(in srgb,var(--theme-accent) 14%,var(--theme-surface-solid));box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.head-opp-card .avatar{width:38px;height:38px;font-size:.76rem}.head-opp-card__info{display:grid;gap:1px;min-width:0}.head-opp-card__info strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.head-opp-card__info em{color:var(--gold);font-size:.6rem;font-style:normal;font-weight:800}.domino-head__opponent .speech{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:20}.domino-head__right{justify-self:end;display:flex;align-items:center}.icon-btn{display:grid;place-items:center;width:42px;height:42px;color:var(--gold);background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%);border:none;border-radius:14px;font-size:1.25rem;cursor:pointer;transition:background .16s ease,transform .16s ease}.icon-btn:hover{background:color-mix(in srgb,var(--theme-surface-solid) 76%,white 8%)}.icon-btn:active{transform:scale(.94)}.domino-head__logo{display:grid;gap:0;min-width:0}.domino-head__title{display:flex;align-items:center;gap:6px}.domino-crown{display:grid;place-items:center;color:var(--gold);font-size:1rem;line-height:1;filter:none}.domino-head__brand{--dominup-size: clamp(20px, 4.6vw, 30px)}.domino-head__sub{color:#d8b250b8;font-size:.56rem;font-weight:800;letter-spacing:.34em;text-indent:.34em}.head-menu__scrim,.emote-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:transparent}.head-menu{position:absolute;top:calc(100% + 6px);left:clamp(10px,2vw,22px);z-index:31;display:grid;gap:4px;width:min(268px,calc(100vw - 20px));max-height:min(78dvh,calc(100dvh - 84px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px;background:var(--theme-surface-solid);border:none;border-radius:18px;box-shadow:0 18px 36px #0000003d;scrollbar-width:thin;scrollbar-color:var(--gold-soft) transparent}.head-menu::-webkit-scrollbar{width:5px}.head-menu::-webkit-scrollbar-thumb{background:var(--gold-soft);border-radius:5px}@media (orientation: portrait) and (max-width: 1100px){.app-shell.is-game .head-menu{max-height:min(78dvw,calc(100dvw - 84px))}}.head-menu button{padding:11px 12px;color:var(--ink);background:transparent;border:0;border-radius:9px;font-size:.9rem;font-weight:700;text-align:left;cursor:pointer;transition:background .14s ease}.head-menu button:hover{background:color-mix(in srgb,var(--theme-surface-2) 86%,white 4%)}.head-menu__leave{margin-top:2px;color:#f0b3b3!important;border-top:1px solid rgba(255,255,255,.08)!important;border-radius:0 0 8px 8px!important}.table-sound-btns{position:absolute;right:12px;bottom:12px;z-index:5;display:flex;flex-direction:row;gap:6px}.table-sound-btn{display:grid;place-items:center;width:36px;height:36px;color:var(--theme-muted);background:color-mix(in srgb,var(--theme-surface-solid) 88%,black 6%);border:none;border-radius:13px;font-size:1.1rem;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease;-webkit-backdrop-filter:none;backdrop-filter:none}.table-sound-btn:hover{color:var(--gold);background:color-mix(in srgb,var(--theme-surface-solid) 78%,white 7%)}.table-sound-btn:active{transform:scale(.92)}.table-sound-btn.toggle-off{color:#f3e9d240;background:color-mix(in srgb,var(--theme-surface-solid) 72%,black 14%)}.domino-scores{display:flex;align-items:stretch;gap:6px}.score-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:62px;padding:4px 10px;background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%);border:none;border-radius:14px;box-shadow:none}.score-box strong{font-size:1.4rem;font-weight:900;line-height:1}.score-box__label{color:var(--gold);font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.score-box__row{display:flex;align-items:center;gap:10px}.score-box__people{display:grid;place-items:center;color:var(--gold);font-size:1.4rem}.score-box.team-A,.score-box.sc-red{background:color-mix(in srgb,var(--theme-team-a-bg) 42%,var(--theme-surface-solid))}.score-box.team-B,.score-box.sc-blue{background:color-mix(in srgb,var(--theme-team-b-bg) 42%,var(--theme-surface-solid))}.score-box.sc-gold{background:color-mix(in srgb,var(--theme-accent) 34%,var(--theme-surface-solid))}.score-box.sc-green{background:color-mix(in srgb,#2f8f6b 42%,var(--theme-surface-solid))}.score-box--mid{min-width:62px;padding:4px 10px;background:color-mix(in srgb,var(--theme-surface-solid) 82%,black 8%)}.score-box__divider{width:70%;height:1px;margin:1px 0;background:var(--theme-faint)}.score-box__target{color:var(--ink);font-size:1.2rem;font-weight:900;line-height:1}.score-box--me{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-solid));box-shadow:none}.domino-table{position:relative;min-height:0;margin:0 clamp(8px,1.8vw,20px);overflow:hidden;border:none;border-radius:22px;background:color-mix(in srgb,var(--theme-bg-0) 84%,black 8%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-faint) 70%,transparent)}.domino-table.is-block-pulse:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none;border:none;border-radius:inherit;box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--theme-accent-soft) 30%,transparent);content:"";animation:domino-block-pulse 1.5s ease-out both}@keyframes domino-block-pulse{0%{opacity:0;transform:scale(.992)}18%{opacity:.95}to{opacity:0;transform:scale(1.01)}}.seat-spot{position:absolute;display:grid;justify-items:center;gap:6px;pointer-events:none}.seat-1{left:12px;top:50%;transform:translateY(-50%)}.seat-2{left:50%;top:12px;transform:translate(-50%)}.seat-3{right:12px;top:50%;transform:translateY(-50%)}.seat-0{left:50%;bottom:12px;transform:translate(-50%)}.seat-card{display:grid;justify-items:center;gap:5px;width:124px;padding:10px 10px 8px;background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%);border:none;border-radius:18px;box-shadow:none}.seat-2 .seat-card{grid-auto-flow:column;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-items:start;width:auto;min-width:210px;gap:10px;padding:8px 12px}.seat-card--sit{pointer-events:auto;cursor:pointer;color:var(--gold);background:color-mix(in srgb,var(--theme-surface-solid) 82%,black 8%);box-shadow:inset 0 0 0 1px var(--theme-accent-line);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.seat-card--sit:hover,.seat-card--sit:focus-visible{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-solid));box-shadow:inset 0 0 0 1px var(--theme-accent-line);outline:none}.seat-spot.current .seat-card{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-surface-solid));box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.avatar{display:grid;position:relative;overflow:visible;place-items:center;width:50px;height:50px;color:#fff;background:#233;border:2px solid var(--gold);border-radius:50%;font-size:.9rem;font-weight:900;box-shadow:none}.avatar-photo{width:100%;height:100%;border-radius:50%;object-fit:cover}.avatar.team-A,.avatar.sc-red{border-color:#d98a8a;background:#5a2a2a}.avatar.team-B,.avatar.sc-blue{border-color:#8ab0e0;background:#26405f}.avatar.sc-gold{border-color:#e7c264;background:#6e5320}.avatar.sc-green{border-color:#6fcfa0;background:#2c5240}.avatar-badge{position:absolute;right:-8px;bottom:-7px;z-index:8;min-width:22px;height:22px;display:grid;place-items:center;overflow:hidden;padding:0 3px;color:var(--theme-ink);background:var(--theme-surface-solid);border:1px solid var(--theme-accent);border-radius:999px;font-size:12px;line-height:1;box-shadow:0 3px 8px #00000038}.avatar-badge--art{width:22px;padding:0;background:none;border:none}.avatar-badge--art.avatar-badge--lg{width:30px}.avatar-badge--art img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 0 0 1.5px var(--theme-accent),0 3px 8px #0006}.avatar-badge--art.avatar-badge--epic img{box-shadow:0 0 0 1.5px var(--theme-accent-2),0 0 12px var(--theme-accent-glow)}.avatar-badge--lg{right:-10px;bottom:-8px;min-width:30px;height:30px;border-width:2px;font-size:16px;box-shadow:0 0 12px var(--theme-accent-glow),0 4px 10px #0006}.avatar-badge--epic{border-color:var(--theme-accent-2);box-shadow:0 3px 8px #00000038}.avatar-badge--epic.avatar-badge--lg{box-shadow:0 0 12px var(--theme-accent-glow),0 4px 10px #0006}.seat-card__info{display:grid;justify-items:center;gap:1px;min-width:0;text-align:center}.seat-2 .seat-card__info{justify-items:start;text-align:left}.seat-card__info strong{max-width:110px;overflow:hidden;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.seat-card__info em{color:var(--gold);font-size:.64rem;font-style:normal;font-weight:800}.count-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 6px;color:var(--ink);background:color-mix(in srgb,var(--theme-surface-2) 82%,black 8%);border:none;border-radius:999px;font-size:.8rem;font-weight:800}.count-badge__ico{position:relative;width:12px;height:17px;background:#fbf7e8;border:1px solid #2a1d10;border-radius:3px}.count-badge__ico:before{position:absolute;left:1px;right:1px;top:50%;height:1px;background:#2a1d10;content:"";transform:translateY(-.5px)}.count-badge__ico:after{position:absolute;left:50%;top:26%;width:2px;height:2px;background:#2a1d10;border-radius:50%;box-shadow:0 7px #2a1d10;content:"";transform:translate(-50%,-50%)}.boneyard-pile{position:absolute;right:20px;top:16px;z-index:4;display:grid;justify-items:center;gap:7px;pointer-events:none}.boneyard-stack{position:relative;width:48px;height:66px}.boneyard-stack span{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--theme-surface-solid) 80%,black 10%);border:2px solid color-mix(in srgb,var(--theme-accent) 54%,white 18%);border-radius:10px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-bg-2) 64%,black)}.boneyard-stack span:nth-child(1){transform:translate(-9px,5px) rotate(-9deg)}.boneyard-stack span:nth-child(2){transform:translate(0) rotate(3deg)}.boneyard-stack span:nth-child(3){transform:translate(9px,-4px) rotate(11deg)}.boneyard-pile strong{color:var(--gold);font-size:1.9rem;font-weight:900;line-height:1;text-shadow:none}.boneyard-label{display:inline-flex;align-items:center;gap:5px;color:#d8b250b8;font-size:.58rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;pointer-events:auto}.boneyard-label .help-hint{pointer-events:auto}.speech{width:max-content;max-width:170px;padding:6px 10px;color:var(--ink);background:var(--theme-surface-solid);border:none;border-radius:13px;font-size:.78rem;font-weight:900;text-align:center;white-space:nowrap}.speech.green{background:#1d7a55}.speech.orange{background:#c05c10}.speech.white{color:#18221f;background:#f0ece4}.speech.forbidden{background:#7a2424}.speech.speech--signal,.speech.speech--signal.green,.speech.speech--signal.orange,.speech.speech--signal.white,.speech.speech--signal.forbidden{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;color:var(--ink);background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 4%);border:none}.signal-value{font-size:.92rem;letter-spacing:0}.signal-stars,.signal-chip__stars{display:inline-flex;gap:2px}.star{font-size:.8rem;color:#ffffff4d}.star--filled{color:#ffd76a;text-shadow:none;animation:star-pop .3s ease backwards}.star--filled:nth-child(1){animation-delay:0s}.star--filled:nth-child(2){animation-delay:.08s}.star--filled:nth-child(3){animation-delay:.16s}@keyframes star-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.4)}to{transform:scale(1);opacity:1}}.signal-glow{animation:signal-glow-pulse 1.6s ease-in-out infinite}@keyframes signal-glow-pulse{0%,to{box-shadow:inset 0 0 0 1px var(--theme-accent-line)}50%{box-shadow:inset 0 0 0 2px var(--theme-accent)}}.seat-2 .speech{order:2}.speech--me{position:absolute;left:24px;bottom:calc(100% + 6px);z-index:8}.emote-pop{position:absolute;z-index:25;top:-66px;width:66px;height:66px;pointer-events:none;animation:emote-pop 4.2s ease forwards}.seat-2 .emote-pop{top:auto;bottom:-66px}.domino-head__opponent .emote-pop{top:calc(100% + 8px);bottom:auto;left:50%;transform:translate(-50%)}@keyframes emote-pop{0%{transform:scale(.2);opacity:0}10%{transform:scale(1.2);opacity:1}18%{transform:scale(1)}78%{transform:scale(1) translateY(0);opacity:1}to{transform:scale(.9) translateY(-16px);opacity:0}}.domino-player{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;padding:8px clamp(8px,2vw,22px) 14px}.hand-banner{color:var(--gold);font-size:.74rem;font-weight:900;letter-spacing:.26em;text-indent:.26em;text-transform:uppercase}.hand-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-width:0}.hand-frame{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-width:0;padding:8px 16px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:20px;box-shadow:none}.hand-frame.current{background:color-mix(in srgb,var(--theme-accent) 13%,var(--theme-surface-solid));box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.hand-frame__choose{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;padding:6px 12px}.hand-frame__choose strong{color:var(--gold);font-size:.95rem;font-weight:900;letter-spacing:.04em}.hand-frame__choose span{color:#f0e4c8c7;font-size:.78rem}.hand-frame__choose button{margin-top:4px;padding:4px 14px;color:#f0e4c8d9;background:color-mix(in srgb,var(--theme-surface-2) 82%,black 6%);border:none;border-radius:999px;font-size:.74rem;font-weight:700;cursor:pointer}.hand-frame__choose button:hover{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-2));color:var(--gold)}.hand-frame__me{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding-right:14px;border-right:1px solid var(--theme-faint)}.me-avatar{display:grid;position:relative;overflow:visible;place-items:center;width:62px;height:62px;color:#fff;border:2.5px solid var(--gold);border-radius:50%;font-size:1rem;font-weight:900;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent-soft) 42%,transparent),0 8px 20px #0006}.me-avatar.team-A,.me-avatar.sc-red{background:#5a2a2a;border-color:#d98a8a}.me-avatar.team-B,.me-avatar.sc-blue{background:#26405f;border-color:#8ab0e0}.me-avatar.sc-gold{background:#6e5320;border-color:#e7c264}.me-avatar.sc-green{background:#2c5240;border-color:#6fcfa0}.me-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.turn-ring{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);transform:rotate(-90deg);pointer-events:none;overflow:visible}.turn-ring circle{fill:none;stroke:var(--gold);stroke-width:6;stroke-linecap:round;stroke-dasharray:289;filter:none;animation-name:turn-ring-deplete;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes turn-ring-deplete{0%{stroke-dashoffset:0}to{stroke-dashoffset:289}}.seat-badge{position:absolute;right:-6px;bottom:-6px;padding:1px 5px;border-radius:7px;font-size:.5rem;font-weight:900;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;box-shadow:none}.seat-badge--bot{color:#1a120a;background:var(--gold);border:1px solid rgba(255,255,255,.35)}.seat-badge--disconnected{color:#fff;background:#8a2a2a;border:1px solid rgba(255,180,180,.4)}.me-info{display:grid;gap:1px;min-width:0}.me-tag{width:max-content;color:#d8b250cc;font-size:.54rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.me-info strong{font-size:.92rem;line-height:1.05}.me-info em{color:#f3e9d294;font-size:.66rem;font-style:normal;font-weight:700}.hand-frame__tiles{display:flex;align-items:center;flex:1;min-width:0}.hand-frame__tiles .domino-hand,.hand-frame__tiles .domino-hand__tiles{width:100%;max-width:100%}.domino-hand--vertical .domino-hand__tiles{flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding:2px 4px;overflow-x:auto}.emote-pop--me{left:24px;top:-66px;bottom:auto}.action-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:76px;min-height:60px;padding:8px 14px;color:var(--ink);background:color-mix(in srgb,var(--theme-surface-solid) 88%,white 3%);border:none;border-radius:16px;font-size:.82rem;font-weight:800;cursor:pointer;transition:transform .14s ease,filter .14s ease,opacity .14s ease}.action-btn svg{font-size:1.5rem}.action-btn:active:not(:disabled){transform:scale(.96)}.action-btn:disabled{cursor:default;opacity:.4}.action-btn--side{flex:0 0 auto}.action-btn--pass{color:#1a1206;background:linear-gradient(180deg,#f6dd8c,#d4a23c);box-shadow:none;font-weight:900}.action-btn--pass:not(:disabled):hover{filter:brightness(1.06)}.action-btn--pass:disabled{color:var(--ink);background:color-mix(in srgb,var(--theme-surface-solid) 72%,black 12%);box-shadow:none}.emote-picker{position:absolute;left:50%;bottom:calc(100% - 4px);z-index:31;display:grid;grid-template-columns:repeat(7,44px);gap:6px;padding:12px;background:var(--theme-surface-solid);border:none;border-radius:18px;box-shadow:0 16px 34px #0000003d;transform:translate(-50%)}.emote-choice{display:grid;place-items:center;width:44px;height:44px;padding:4px;background:transparent;border:none;border-radius:13px;cursor:pointer}.emote-choice:hover{background:color-mix(in srgb,var(--theme-surface-2) 82%,white 5%)}.emote-choice img{width:34px;height:34px}.round-reveal{position:absolute;z-index:12;left:50%;top:50%;width:min(860px,calc(100% - 36px));max-height:calc(100% - 36px);display:grid;gap:10px;padding:16px;overflow:auto;background:var(--theme-surface-solid);border:none;border-radius:22px;box-shadow:0 18px 42px #00000047;transform:translate(-50%,-50%)}.round-reveal__title{display:grid;gap:3px;text-align:center}.round-reveal__title span{color:var(--gold);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.round-reveal__title strong{font-size:clamp(1rem,2vw,1.3rem)}.round-reveal__hands{display:grid;gap:7px;min-width:0}.round-reveal__hand{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:8px 10px;background:color-mix(in srgb,var(--theme-surface-2) 88%,white 3%);border:none;border-radius:14px}.round-reveal__hand.team-A{border-left:3px solid #d98a8a}.round-reveal__hand.team-B{border-left:3px solid #8ab0e0}.round-reveal__player{display:grid;gap:2px;min-width:0}.round-reveal__player strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.round-reveal__player span,.round-reveal__empty{color:var(--gold);font-size:.68rem;font-weight:900}.round-reveal__tiles{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;min-height:34px}.round-reveal .domino-shell--hand,.round-reveal .domino-shell--hand:hover{cursor:default;transform:none;filter:none}@media (orientation: landscape) and (max-height: 540px),(orientation: portrait) and (max-width: 540px){.domino-head{padding:4px 8px;gap:8px}.icon-btn{width:34px;height:34px;font-size:1rem;border-radius:9px}.domino-head__brand{--dominup-size: clamp(17px, 4.4vw, 22px)}.domino-head__sub,.domino-crown{display:none}.head-opp-card{padding:4px 8px;gap:6px}.head-opp-card .avatar{width:28px;height:28px;font-size:.64rem}.head-opp-card__info strong{font-size:.72rem}.head-opp-card__info em{font-size:.54rem}.domino-scores{gap:4px}.score-box{min-width:0;padding:3px 7px}.score-box strong{font-size:1rem}.score-box--mid{min-width:52px}.score-box__sub{display:none}.domino-table{margin:0 6px;border-radius:12px}.seat-card{width:96px;padding:6px;gap:3px}.seat-2 .seat-card{min-width:168px;padding:5px 9px}.avatar{width:38px;height:38px;font-size:.76rem}.seat-card__info strong{font-size:.72rem;max-width:86px}.seat-card__info em{font-size:.56rem}.count-badge{font-size:.68rem;padding:2px 6px}.domino-player{gap:4px;padding:3px 8px 6px}.hand-banner{font-size:.6rem;letter-spacing:.18em}.hand-row{gap:8px}.hand-frame{gap:9px;padding:5px 10px;border-radius:13px}.hand-frame__me{gap:7px;padding-right:9px}.me-avatar{width:52px;height:52px;font-size:.88rem}.me-info strong{font-size:.76rem}.me-info em{font-size:.56rem}.me-tag{font-size:.5rem}.domino-hand--vertical .domino-hand__tiles{gap:6px}.action-btn{min-width:60px;min-height:48px;padding:5px 10px;font-size:.68rem;gap:2px}.action-btn svg{font-size:1.2rem}.emote-picker{grid-template-columns:repeat(7,38px);gap:5px;padding:8px}.emote-choice{width:38px;height:38px}.emote-choice img{width:30px;height:30px}}.domino-board{color:var(--theme-ink);background:radial-gradient(120% 80% at 50% -10%,var(--theme-bg-1) 0%,transparent 55%),radial-gradient(80% 60% at 50% 110%,var(--theme-bg-2) 0%,transparent 60%),var(--theme-bg-0)}.domino-head__sub,.domino-crown,.score-box__label,.head-opp-card__info em,.seat-card__info em,.hand-banner,.me-tag,.boneyard-pile strong,.boneyard-label,.round-reveal__title span,.round-reveal__player span,.round-reveal__empty{color:var(--theme-accent-2)}.head-opp-card,.seat-card,.head-menu,.emote-picker,.round-reveal,.speech,.hand-frame{color:var(--theme-ink);background:var(--theme-surface-solid)}.head-opp-card,.seat-card{background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%)}.head-opp-card.current,.seat-spot.current .seat-card,.score-box--me,.hand-frame.current{background:color-mix(in srgb,var(--theme-accent) 15%,var(--theme-surface-solid));box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.icon-btn,.table-sound-btn,.action-btn{color:var(--theme-accent-strong);background:var(--theme-surface-2)}.icon-btn:hover,.table-sound-btn:hover,.head-menu button:hover,.emote-choice:hover{color:var(--theme-accent);background:var(--theme-surface-3);border-color:var(--theme-accent-soft)}.domino-table{border-color:var(--theme-accent-line);background:radial-gradient(120% 100% at 50% 42%,var(--theme-felt-0) 0%,var(--theme-felt-1) 68%,var(--theme-felt-2) 100%);box-shadow:inset 0 0 0 1px #00000059,inset 0 0 80px #00000061,inset 0 2px 0 var(--theme-accent-line)}.score-box{background:var(--theme-panel);border-color:var(--theme-accent-line)}.score-box.team-A,.score-box.sc-red{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-team-a-bg) 82%,transparent),#00000052);border-color:var(--theme-team-a-border)}.score-box.team-B,.score-box.sc-blue{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-team-b-bg) 82%,transparent),#00000052);border-color:var(--theme-team-b-border)}.score-box.sc-gold{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 55%,transparent),#00000052);border-color:var(--theme-accent)}.score-box.sc-green{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent-strong) 62%,transparent),#00000052);border-color:var(--theme-accent-strong)}.avatar.team-A,.avatar.sc-red,.me-avatar.team-A,.me-avatar.sc-red,.round-reveal__hand.team-A{border-color:var(--theme-team-a-border)}.avatar.team-A,.avatar.sc-red,.me-avatar.team-A,.me-avatar.sc-red{background:var(--theme-team-a-bg)}.avatar.team-B,.avatar.sc-blue,.me-avatar.team-B,.me-avatar.sc-blue,.round-reveal__hand.team-B{border-color:var(--theme-team-b-border)}.avatar.team-B,.avatar.sc-blue,.me-avatar.team-B,.me-avatar.sc-blue{background:var(--theme-team-b-bg)}.avatar.sc-gold,.me-avatar.sc-gold{background:color-mix(in srgb,var(--theme-accent) 55%,#1a120a);border-color:var(--theme-accent)}.avatar.sc-green,.me-avatar.sc-green{background:color-mix(in srgb,var(--theme-accent-strong) 55%,#102820);border-color:var(--theme-accent-strong)}.count-badge,.speech.speech--signal,.speech.speech--signal.green,.speech.speech--signal.orange,.speech.speech--signal.white,.speech.speech--signal.forbidden{color:var(--theme-ink);border-color:var(--theme-accent-line);background:color-mix(in srgb,var(--theme-surface-solid) 72%,transparent)}.speech.green,.speech.orange,.speech.forbidden{color:#fff}.speech.white{color:#18221f}.count-badge__ico{background:var(--theme-tile-bg);border-color:var(--theme-tile-border)}.count-badge__ico:before,.count-badge__ico:after{background:var(--theme-tile-ink);box-shadow:0 7px 0 var(--theme-tile-ink)}.boneyard-stack span{background:linear-gradient(135deg,color-mix(in srgb,var(--theme-tile-hidden) 82%,#000),var(--theme-bg-0));border-color:color-mix(in srgb,var(--theme-accent) 54%,white 18%)}.star--filled,.turn-ring circle{color:var(--theme-accent);stroke:var(--theme-accent)}.star--filled{text-shadow:none}.action-btn--pass{color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent));box-shadow:none}.action-btn--pass:disabled{color:var(--theme-muted);background:var(--theme-surface-2);box-shadow:none}.hand-frame{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-surface) 92%,white 4%),var(--theme-surface))}.me-info em{color:var(--theme-muted)}.round-reveal__hand{background:var(--theme-faint);border-color:#ffffff1a}.head-menu__section{display:grid;gap:7px;padding:3px 3px 9px;margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.08)}.head-menu__label{color:var(--theme-accent-2);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.head-menu__themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.head-menu__theme{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:32px;padding:5px 7px;color:var(--theme-muted);background:color-mix(in srgb,var(--theme-faint) 72%,transparent);border:1px solid var(--theme-accent-line);border-radius:10px;font-size:.66rem;font-weight:900;text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.head-menu__theme:hover{background:var(--theme-surface-2);border-color:var(--theme-accent-soft);transform:translateY(-1px)}.head-menu__theme.is-selected{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-2));box-shadow:none}.head-menu__theme.is-selected:after{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:12px;height:12px;color:var(--theme-accent-text);background:var(--theme-accent);border-radius:50%;content:"";box-shadow:none}.head-menu__theme-swatches{display:grid;grid-template-columns:repeat(5,1fr);width:32px;height:18px;overflow:hidden;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 8px #0003}.head-menu__theme span:last-child{padding-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-reveal{color:var(--theme-ink);background:var(--theme-surface-solid);box-shadow:0 18px 42px #00000047}.round-reveal__title strong{color:var(--theme-ink)}.round-reveal__title span,.round-reveal__player span,.round-reveal__empty{color:var(--theme-accent-2)}.round-reveal__hand{background:color-mix(in srgb,var(--theme-surface-2) 88%,white 3%)}@media (prefers-reduced-motion: reduce){.domino-table.is-block-pulse:after{animation:none;opacity:0}}.rolling-counter{font-variant-numeric:tabular-nums;display:inline-block}.flying-coins{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none;z-index:2}.flying-coins__coin{position:absolute;left:0;top:0;font-size:26px;line-height:1;opacity:0;transform:translate(-50%,-50%);animation-name:flying-coin-in;animation-timing-function:cubic-bezier(.25,.9,.3,1);animation-fill-mode:both;will-change:transform,opacity;filter:drop-shadow(0 2px 4px rgba(0,0,0,.45))}@keyframes flying-coin-in{0%{transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) scale(.45) rotate(var(--rot));opacity:0}18%{opacity:1}72%{opacity:1}to{transform:translate(-50%,-50%) scale(1.1) rotate(0);opacity:0}}.game-recap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center}.game-recap__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#08060399;animation:game-recap-backdrop-in .32s ease both}.game-recap__panel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;width:min(860px,calc(100vw - 24px));min-height:0;max-height:calc(100dvh - 24px);overflow:hidden;padding:18px 12px;border:none;background:none;box-shadow:none;color:#f3e9d2;text-align:center}.game-recap__cards{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}.game-recap__card{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;background:color-mix(in srgb,var(--theme-surface-solid) 66%,transparent);border:1px solid var(--theme-faint);border-radius:16px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;animation:game-recap-card-in .52s cubic-bezier(.22,.8,.24,1) both}.game-recap__card:nth-child(1){animation-delay:60ms}.game-recap__card:nth-child(2){animation-delay:.24s}.game-recap__card:nth-child(3){animation-delay:.42s}@keyframes game-recap-card-in{0%{opacity:0;transform:translate(54%) scale(.86)}55%{opacity:1}to{opacity:1;transform:translate(0) scale(1)}}.game-recap__slide-label{color:var(--theme-accent-2, #d8b250);font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.game-recap__rewards{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%}.game-recap__panel>.game-recap__actions{flex-shrink:0}.game-recap__panel.is-entering{animation:game-recap-panel-in .48s cubic-bezier(.22,.8,.24,1) both}.game-recap__panel.is-win{border-color:#d8b250;box-shadow:0 0 0 1px #d8b25073,0 24px 80px #000000a6,0 0 50px #d8b25040}.game-recap__panel.is-loss{border-color:#d8b2502e}@keyframes game-recap-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes game-recap-panel-in{0%{transform:translateY(48px);opacity:0}to{transform:translateY(0);opacity:1}}.game-recap__title{display:flex;flex-direction:column;gap:4px}.game-recap__title span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#d8b250}.game-recap__title strong{font-size:22px}.game-recap__coins{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;font-size:30px;font-weight:800}.game-recap__coin-icon{font-size:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.game-recap__coin-value{color:#f0cf76;text-shadow:0 0 14px rgba(216,178,80,.5);font-variant-numeric:tabular-nums}.game-recap__coin-value.is-waiting{animation:game-recap-wait-pulse 1.1s ease-in-out infinite}.game-recap__coin-wait{position:absolute;left:50%;bottom:-16px;transform:translate(-50%);font-size:11px;font-weight:600;letter-spacing:.04em;color:#f3e9d280;animation:game-recap-wait-pulse 1.1s ease-in-out infinite}@keyframes game-recap-wait-pulse{0%,to{opacity:.45}50%{opacity:.9}}.game-recap__xp{position:relative;width:100%;display:flex;flex-direction:column;gap:6px}.game-recap__xp-bar{width:100%;height:10px;border-radius:999px;background:#f3e9d21a;border:1px solid rgba(243,233,210,.08);overflow:hidden}.game-recap__xp-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#6f9fe0,#8ab0e0 55%,#f0cf76);box-shadow:0 0 12px #8ab0e080;transition:width 70ms linear}.game-recap__xp-readout{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#f3e9d2d9}.game-recap__level{font-weight:700;display:inline-block;transform-origin:left center}.game-recap__level.is-bumped{color:#f0cf76;animation:game-recap-level-bump .7s cubic-bezier(.2,.9,.3,1.4)}@keyframes game-recap-level-bump{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}.game-recap__levelup{position:absolute;top:-14px;right:-10px;bottom:-14px;left:-10px;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:900;letter-spacing:.02em;color:#1a1207;background:radial-gradient(circle at center,#f0cf76f2,#d8b250d9 45%,#d8b25000 72%);text-shadow:0 1px 0 rgba(255,255,255,.4);border-radius:16px;pointer-events:none;animation:game-recap-levelup-flash 1.3s cubic-bezier(.2,.8,.3,1) both}@keyframes game-recap-levelup-flash{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1.18)}35%{transform:scale(1)}78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.game-recap__streak{display:flex;flex-direction:column;align-items:center;gap:8px}.game-recap__streak-chain{display:flex;gap:6px}.game-recap__streak-day{width:10px;height:10px;border-radius:999px;background:#d8b250;box-shadow:0 0 8px #d8b25099;animation:game-recap-day-light .28s ease both}@keyframes game-recap-day-light{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.game-recap__streak-readout{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;color:#f3e9d2d9}.game-recap__streak-bonus{color:#d8b250;font-weight:600}.game-recap__actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;width:100%;max-width:560px;margin:12px auto 0;padding-top:14px;border-top:1px solid var(--theme-faint);animation:game-recap-actions-in .32s ease both}.game-recap__rematch{min-width:0;padding:9px 12px;border:none;border-radius:11px;background:linear-gradient(180deg,var(--theme-accent-2, #f0cf76),var(--theme-accent, #d8b250));color:var(--theme-accent-text, #1a1207);font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.game-recap__rematch-pending{width:100%;text-align:center;color:#f3e9d2b3;font-size:12px;font-weight:700}@keyframes game-recap-actions-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.game-recap__replay{padding:9px 16px;border-radius:11px;border:none;background:linear-gradient(180deg,#f0cf76,#d8b250);color:#1a1207;font-size:14px;font-weight:800;box-shadow:0 8px 20px #d8b2504d}.game-recap__home{padding:9px 16px;border-radius:11px;border:1px solid rgba(243,233,210,.25);background:transparent;color:#f3e9d2bf;font-size:13px;font-weight:700}@media (prefers-reduced-motion: reduce){.game-recap__backdrop,.game-recap__panel.is-entering,.game-recap__levelup,.game-recap__level.is-bumped,.game-recap__coin-value.is-waiting,.game-recap__coin-wait,.game-recap__streak-day,.game-recap__actions{animation:none!important}.game-recap__panel.is-win{box-shadow:0 0 0 1px #d8b25073,0 24px 80px #000000a6}}.game-recap__backdrop{background:color-mix(in srgb,var(--theme-bg-0) 78%,rgba(0,0,0,.72));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.game-recap__panel{color:var(--theme-ink);border:none;background:none;box-shadow:none}.game-recap__panel.is-win,.game-recap__panel.is-loss{border:none;box-shadow:none}.game-recap__title span,.game-recap__streak-bonus{color:var(--theme-accent-2)}.game-recap__coin-value{color:var(--theme-accent);text-shadow:0 0 14px var(--theme-accent-glow)}.game-recap__coin-wait{color:var(--theme-muted)}.game-recap__xp-bar{background:var(--theme-faint);border-color:var(--theme-accent-line)}.game-recap__xp-fill{background:linear-gradient(90deg,var(--theme-accent-strong),var(--theme-accent-2) 55%,var(--theme-accent));box-shadow:0 0 14px var(--theme-accent-glow)}.game-recap__xp-readout,.game-recap__streak-readout{color:var(--theme-muted)}.game-recap__level.is-bumped{color:var(--theme-accent)}.game-recap__levelup{color:var(--theme-accent-text);background:radial-gradient(circle at center,var(--theme-accent) 0%,var(--theme-accent-2) 44%,transparent 73%);text-shadow:0 1px 0 rgba(255,255,255,.28)}.game-recap__streak-day{background:var(--theme-accent);box-shadow:0 0 8px var(--theme-accent-glow)}.game-recap__replay{color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent));box-shadow:0 10px 28px var(--theme-accent-glow)}.game-recap__home{color:var(--theme-muted);background:var(--theme-faint);border-color:var(--theme-accent-line)}.game-recap__moment{width:100%;display:grid;gap:4px;padding:10px 14px;border-radius:12px;border:1px solid var(--theme-accent-line);background:var(--theme-faint);text-align:left;animation:game-recap-actions-in .32s ease both}.game-recap__moment-label{color:var(--theme-accent);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.game-recap__moment-text{margin:0;color:var(--theme-ink);font-size:13px;font-weight:650;line-height:1.4}.game-recap__moment-button{display:grid;gap:4px;width:100%;padding:0;color:var(--theme-ink);background:transparent;border:0;text-align:left;cursor:pointer}.game-recap__moment-button em{color:var(--theme-accent);font-size:11px;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.game-recap__moment-button:disabled{cursor:wait;opacity:.75}.game-recap__social{width:100%;display:grid;gap:8px;text-align:left;animation:game-recap-actions-in .32s ease both}.game-recap__social-label{color:var(--theme-muted);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.game-recap__social-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.game-recap__social-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-recap__social-identity{display:inline-flex;align-items:center;gap:8px;min-width:0}.game-recap__social-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--theme-accent-line)}.game-recap__social-avatar--empty{display:inline-grid;place-items:center;background:var(--theme-surface-2);color:var(--theme-muted);font-size:12px;font-weight:800}.game-recap__social-name{color:var(--theme-ink);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-recap__social-add{flex:none;padding:6px 12px;border-radius:9px;border:1px solid var(--theme-accent);background:var(--theme-surface-2);color:var(--theme-ink);font-size:12px;font-weight:700;cursor:pointer;transition:filter .14s ease}.game-recap__social-add:hover{filter:brightness(1.08)}.game-recap__social-badge,.game-recap__social-sent{flex:none;padding:5px 10px;border-radius:999px;border:1px solid var(--theme-accent-line);background:var(--theme-faint);color:var(--theme-muted);font-size:11px;font-weight:800}.game-recap__social-badge{color:var(--theme-accent);border-color:var(--theme-accent-soft)}.game-recap__rematch{background:var(--theme-surface-2);color:var(--theme-ink);border:1px solid var(--theme-accent);box-shadow:none}.game-recap__rematch-pending{padding:8px 12px;color:var(--theme-muted);font-size:12.5px;font-weight:650;line-height:1.35;text-align:center}@media (prefers-reduced-motion: reduce){.game-recap__moment,.game-recap__exploit,.game-recap__social{animation:none!important}}@media (prefers-reduced-motion: reduce){.game-recap__panel.is-win{box-shadow:0 0 0 1px var(--theme-accent-soft),0 24px 80px #000000a6}}.game-recap{padding:clamp(10px,2.4vw,26px);pointer-events:none}.game-recap__backdrop{pointer-events:none;background:radial-gradient(70% 55% at 50% 44%,var(--theme-accent-soft),transparent 58%),radial-gradient(120% 90% at 50% 50%,transparent 0 46%,color-mix(in srgb,var(--theme-bg-0) 52%,transparent) 100%);opacity:.86;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.game-recap__panel{pointer-events:auto;width:min(100%,calc(100vw - 20px));min-height:0;gap:16px;padding:18px 12px;overflow:hidden;border:none;border-radius:0;background:none}.game-recap__skip{position:absolute;right:12px;top:12px;z-index:3;min-height:30px;padding:6px 10px;color:var(--theme-muted);background:var(--theme-faint);border:1px solid var(--theme-accent-line);border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.game-recap__skip:hover,.game-recap__skip:focus-visible{color:var(--theme-ink);border-color:var(--theme-accent);outline:none}.game-recap__title{padding-right:0}.game-recap__title span{font-size:10px;font-weight:900}.game-recap__title strong{max-width:100%;font-size:clamp(16px,2.4vw,22px);line-height:1.05}.game-recap__score{display:grid;gap:12px;width:100%;animation:game-recap-stage-in .36s cubic-bezier(.22,.8,.24,1) both}.game-recap__steps{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;width:100%}.game-recap__step{position:relative;min-width:0;padding:7px 6px;color:var(--theme-muted);background:var(--theme-faint);border:1px solid var(--theme-accent-line);border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.game-recap__step.is-done{color:var(--theme-ink);border-color:var(--theme-accent-soft)}.game-recap__step.is-active{color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent));border-color:#ffffff3d;box-shadow:0 0 18px var(--theme-accent-glow)}.game-recap__score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px}.game-recap__score-card{display:grid;gap:4px;min-width:0;padding:11px 12px;background:color-mix(in srgb,var(--theme-surface-2) 78%,transparent);border:1px solid var(--theme-accent-line);border-radius:14px;text-align:left}.game-recap__score-card span,.game-recap__score-card em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-recap__score-card span{color:var(--theme-muted);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.game-recap__score-card strong{color:var(--theme-ink);font-size:24px;font-weight:950;line-height:.95}.game-recap__score-card em{color:var(--theme-accent-2);font-size:11px;font-style:normal;font-weight:900;text-transform:uppercase}.game-recap__score-card.is-winner{border-color:var(--theme-accent);background:linear-gradient(180deg,var(--theme-accent-line),transparent 70%),var(--theme-surface-2);box-shadow:0 0 18px var(--theme-accent-glow)}.game-recap__score-card.is-me{box-shadow:inset 0 0 0 1px var(--theme-accent-soft),0 0 16px var(--theme-accent-glow)}.game-recap__exploit{width:100%;display:grid;justify-items:center;gap:6px;padding:4px;color:var(--theme-ink);background:none;border:none;animation:game-recap-stage-in .36s cubic-bezier(.22,.8,.24,1) both}.game-recap__exploit-art{width:66px;height:66px;border-radius:50%;object-fit:cover;border:2px solid var(--theme-accent-line);box-shadow:0 6px 16px #0006}.game-recap__exploit.is-new .game-recap__exploit-art{border-color:var(--theme-accent);box-shadow:0 0 18px var(--theme-accent-glow)}.game-recap__exploit-glyph{font-size:34px;line-height:1;filter:drop-shadow(0 0 10px var(--theme-accent-glow))}.game-recap__exploit strong{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;font-size:15px;font-weight:950;line-height:1.1}.game-recap__exploit p{max-width:100%;margin:0;color:var(--theme-muted);font-size:11px;font-weight:750;line-height:1.3}.game-recap__beat-label{color:var(--theme-accent-2);font-size:10px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.game-recap__coins{width:100%;min-height:122px;flex-direction:column;gap:5px;padding:14px 16px 18px;background:radial-gradient(circle at 50% 42%,var(--theme-accent-soft),transparent 54%),var(--theme-faint);border:1px solid var(--theme-accent-line);border-radius:18px;animation:game-recap-stage-in .36s cubic-bezier(.22,.8,.24,1) both}.game-recap__coin-icon{font-size:28px;filter:drop-shadow(0 0 12px var(--theme-accent-glow)) drop-shadow(0 4px 8px rgba(0,0,0,.45));animation:game-recap-coin-pop .9s ease-in-out infinite}.game-recap__coin-total{line-height:1}.game-recap__coin-value{font-size:clamp(24px,5vw,32px);font-weight:950;letter-spacing:.02em}.game-recap__coin-wait{bottom:7px}.game-recap__coins .flying-coins__coin{font-size:32px;filter:drop-shadow(0 0 8px var(--theme-accent-glow)) drop-shadow(0 4px 8px rgba(0,0,0,.5))}.game-recap__celebration{display:grid;gap:5px;width:100%;padding:12px 14px;color:var(--theme-ink);background:linear-gradient(90deg,transparent,var(--theme-accent-soft),transparent),var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:15px;animation:game-recap-celebration-pulse .76s ease-in-out infinite alternate}.game-recap__celebration span{color:var(--theme-accent-2);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.game-recap__celebration strong{font-size:17px;line-height:1.18}.game-recap__xp{padding:12px 14px 14px;background:var(--theme-faint);border:1px solid var(--theme-accent-line);border-radius:16px;animation:game-recap-stage-in .36s cubic-bezier(.22,.8,.24,1) both}.game-recap__xp-bar{height:18px}.game-recap__xp-fill{position:relative;overflow:hidden}.game-recap__xp-fill:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);content:"";transform:translate(-100%);animation:game-recap-xp-sheen .9s linear infinite}.game-recap__fireworks{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.game-recap__spark{position:absolute;width:7px;height:7px;background:var(--spark-color);border-radius:999px;box-shadow:0 0 8px var(--spark-color),0 0 18px var(--spark-color);opacity:0;transform:translate(-50%,-50%);animation:game-recap-spark both cubic-bezier(.2,.9,.2,1)}.game-recap__actions{flex-direction:row}.game-recap__replay,.game-recap__home{flex:1;cursor:pointer}@keyframes game-recap-stage-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes game-recap-coin-pop{0%,to{transform:translateY(0) rotate(-4deg) scale(1)}50%{transform:translateY(-6px) rotate(5deg) scale(1.08)}}@keyframes game-recap-celebration-pulse{0%{box-shadow:0 0 10px var(--theme-accent-glow)}to{box-shadow:0 0 28px var(--theme-accent-glow)}}@keyframes game-recap-xp-sheen{to{transform:translate(100%)}}@keyframes game-recap-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}14%{opacity:1}74%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(.08)}}@media (max-width: 680px),(max-height: 560px){.game-recap{align-items:start;padding:8px}.game-recap__panel{width:min(100%,calc(100vw - 12px));max-height:calc(100dvh - 12px);gap:12px;padding:14px 8px;border-radius:0;background:none;border:none}.game-recap__title{padding-right:0}.game-recap__step{padding:6px 4px;font-size:9px}.game-recap__coins{min-height:0;padding:0}.game-recap__coin-icon{font-size:22px}.game-recap__coin-value{font-size:26px}}@media (prefers-reduced-motion: reduce){.game-recap__coin-icon,.game-recap__celebration,.game-recap__xp-fill:after,.game-recap__spark,.game-recap__score,.game-recap__coins,.game-recap__xp{animation:none!important}}.help-popup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:18px}.help-popup__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--theme-bg-0) 76%,rgba(0,0,0,.72));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:help-popup-fade .2s ease both}.help-popup__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(460px,100%);min-height:0;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;border-radius:18px;border:1px solid var(--theme-accent-line);background:radial-gradient(120% 80% at 50% 0%,var(--theme-accent-soft),transparent 46%),var(--theme-surface-solid);box-shadow:0 24px 70px #0000008c,0 0 30px var(--theme-accent-glow);color:var(--theme-ink);animation:help-popup-rise .24s cubic-bezier(.22,.8,.24,1) both}.help-popup__panel>*{flex-shrink:0}.help-popup__panel--topic{width:min(380px,100%)}.help-popup__panel--guide{width:min(720px,100%)}.help-popup__head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px;background:var(--theme-surface-solid);border-radius:18px 18px 0 0}.help-popup__title{margin:0;font-size:18px;font-weight:800;color:var(--theme-accent)}.help-popup__close{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2);color:var(--theme-ink);font-size:14px;font-weight:700;cursor:pointer;transition:background .14s ease,border-color .14s ease}.help-popup__close:hover{border-color:var(--theme-accent);background:var(--theme-surface-3)}.help-popup__close:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.help-popup__body{padding:4px 18px 18px}.help-popup__body p{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--theme-muted)}.help-popup__body p:last-child{margin-bottom:0}.help-section{padding:16px;margin-bottom:10px;background:var(--theme-surface-solid);border:1px solid var(--theme-faint);border-radius:16px}.help-section:last-child{margin-bottom:0}.help-section__head{display:flex;align-items:center;gap:9px;margin:0 0 8px}.help-section__icon{flex:none;display:grid;place-items:center;min-width:34px;height:26px;padding:0 8px;color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent));border-radius:9px;box-shadow:0 8px 18px var(--theme-accent-glow);font-size:11px;font-weight:900;letter-spacing:.04em}.help-section__title{margin:0;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--theme-accent)}.help-list{display:grid;gap:7px;margin:10px 0 0;padding:0;list-style:none}.help-list li{position:relative;padding:3px 0 3px 18px;color:var(--theme-muted);font-size:13px;font-weight:650;line-height:1.4}.help-list li:before{position:absolute;left:2px;top:9px;width:6px;height:6px;background:var(--theme-accent);border-radius:50%;content:""}.help-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.help-signal-card{display:grid;gap:4px;min-width:0;padding:10px;background:var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:12px}.help-signal-card__stars{color:var(--theme-accent);font-size:16px;font-weight:900;letter-spacing:.08em}.help-signal-card strong{color:var(--theme-ink);font-size:13px}.help-signal-card span:last-child{color:var(--theme-muted);font-size:12px;line-height:1.35}.help-examples{display:grid;gap:10px;margin-top:12px}.help-example{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:radial-gradient(100% 90% at 100% 0%,var(--theme-accent-soft),transparent 52%),var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:14px}.help-example__copy{display:grid;gap:4px;min-width:0}.help-example__copy strong{color:var(--theme-ink);font-size:13px}.help-example__copy span{color:var(--theme-muted);font-size:12px;line-height:1.4}.help-example__positions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.help-position-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;color:var(--theme-ink);background:var(--theme-faint);border:1px solid var(--theme-accent-line);border-radius:999px}.help-position-chip small{color:var(--theme-muted);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.help-position-chip strong{color:var(--theme-accent);font-size:12px}.help-example__tiles{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.help-example__tile{display:grid;justify-items:center;gap:6px;margin:0}.help-example__tile .domino-shell--hand,.help-example__tile .domino-shell--hand:hover{cursor:default;transform:none;filter:none}.help-example__tile figcaption{color:var(--theme-accent-2);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.help-hint{flex:none;display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border-radius:999px;border:1px solid var(--theme-accent);background:var(--theme-surface-2);color:var(--theme-accent);font-size:13px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 0 10px var(--theme-accent-glow);transition:transform .14s ease,background .14s ease}.help-hint:hover{background:var(--theme-surface-3)}.help-hint:active{transform:scale(.9)}.help-hint:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.help-hint--inline{width:20px;height:20px;font-size:12px}.help-topic-popover{position:fixed;top:0;right:0;bottom:0;left:0;z-index:59;display:grid;place-items:center;padding:18px;pointer-events:none}.help-topic-card{pointer-events:auto;position:relative;display:grid;gap:10px;width:min(520px,calc(100vw - 28px));max-height:min(76vh,620px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;padding:14px;color:var(--theme-ink);background:radial-gradient(120% 80% at 0% 0%,var(--theme-accent-soft),transparent 48%),radial-gradient(120% 80% at 100% 0%,var(--theme-faint),transparent 52%),var(--theme-surface-solid);border:1px solid var(--theme-accent-line);border-radius:18px;box-shadow:0 24px 64px #00000080,0 0 30px var(--theme-accent-glow);animation:help-topic-card-in .22s cubic-bezier(.22,.8,.24,1) both}.help-topic-card:before{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--theme-faint);border-radius:13px;content:"";pointer-events:none}.help-topic-card__head{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.help-topic-card__badge{display:grid;place-items:center;width:30px;height:30px;color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent));border-radius:11px;box-shadow:0 8px 18px var(--theme-accent-glow);font-size:13px;font-weight:900}.help-topic-card h2{margin:0;color:var(--theme-accent);font-size:15px;font-weight:850;letter-spacing:.02em;line-height:1.2}.help-topic-card__close{display:grid;place-items:center;width:30px;height:30px;color:var(--theme-ink);background:var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:10px;font-weight:900;cursor:pointer}.help-topic-card__close:hover,.help-topic-card__close:focus-visible{border-color:var(--theme-accent);background:var(--theme-surface-3);outline:none}.help-topic-card__body{position:relative;z-index:1;display:grid;gap:8px}.help-topic-card__body p{margin:0;color:var(--theme-muted);font-size:12px;font-weight:650;line-height:1.45}.help-topic-card__body .help-topic-card__lead{color:var(--theme-ink);font-size:12.5px;font-weight:750}.help-topic-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.help-topic-list li{position:relative;padding:7px 9px 7px 27px;color:var(--theme-ink);background:color-mix(in srgb,var(--theme-surface-2) 82%,transparent);border:1px solid var(--theme-accent-line);border-radius:10px;font-size:11.5px;font-weight:700;letter-spacing:0;line-height:1.34}.help-topic-list li:before{position:absolute;left:10px;top:50%;width:7px;height:7px;background:var(--theme-accent);border-radius:50%;box-shadow:0 0 8px var(--theme-accent-glow);content:"";transform:translateY(-50%)}.help-topic-card .help-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0}.help-topic-card .help-signal-card{padding:7px}.help-topic-card .help-signal-card__stars{font-size:13px}.help-topic-card .help-signal-card strong{font-size:11.5px}.help-topic-card .help-signal-card span:last-child{font-size:10.5px;line-height:1.3}.help-topic-card .help-example{margin-top:0;animation:help-topic-example-in .26s ease both}.help-topic-card .help-example__copy strong{font-size:11.5px;font-weight:800}.help-topic-card .help-example__copy span{font-size:11px;line-height:1.34}.help-topic-card .help-position-chip{padding:4px 7px}.help-topic-card .help-position-chip small{font-size:9px}.help-topic-card .help-position-chip strong{font-size:11px}.help-topic-card .help-example__tile figcaption{font-size:9px}@keyframes help-topic-card-in{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes help-topic-example-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes help-popup-fade{0%{opacity:0}to{opacity:1}}@keyframes help-popup-rise{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.help-popup__backdrop,.help-popup__panel,.help-topic-card,.help-topic-card .help-example{animation:none!important}}@media (max-width: 680px){.help-popup{padding:10px}.help-popup__panel{max-height:calc(100% - 8px);border-radius:14px}.help-popup__head{padding:13px 14px 8px}.help-popup__body{padding:4px 14px 14px}.help-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.help-example{grid-template-columns:1fr}.help-example__tiles{justify-content:flex-start}.help-topic-popover{align-items:start;padding:10px}.help-topic-card{width:min(420px,calc(100vw - 20px));max-height:min(82vh,calc(100vh - 20px));padding:12px;border-radius:15px}.help-topic-card h2{font-size:14px}.help-topic-card .help-signal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.replay-screen{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;overflow:hidden;color:var(--theme-ink);background:radial-gradient(120% 80% at 50% -10%,var(--theme-bg-1) 0%,transparent 55%),radial-gradient(80% 60% at 50% 110%,var(--theme-bg-2) 0%,transparent 60%),var(--theme-bg-0)}.replay-head,.replay-controls{display:flex;align-items:center;gap:12px;padding:10px clamp(10px,2vw,22px);background:#00000047;border-color:var(--theme-accent-line)}.replay-head{border-bottom:1px solid var(--theme-accent-line)}.replay-icon-btn,.replay-head button,.replay-nav button,.replay-rounds button,.replay-library button{color:var(--theme-ink);border:1px solid var(--theme-accent-line);border-radius:10px;background:var(--theme-surface-2);font-weight:900}.replay-icon-btn{display:grid;place-items:center;width:42px;height:42px;color:var(--theme-accent)}.replay-title{display:grid;gap:1px;min-width:0}.replay-title span,.replay-library__head span{color:var(--theme-accent);font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.replay-title strong,.replay-library__head strong{overflow:hidden;font-size:clamp(1rem,2vw,1.35rem);text-overflow:ellipsis;white-space:nowrap}.replay-counter{display:inline-flex;align-items:baseline;gap:4px;margin-left:auto;padding:7px 12px;background:var(--theme-surface);border:1px solid var(--theme-accent-line);border-radius:999px;font-weight:900}.replay-counter span{color:var(--theme-accent)}.replay-counter em{color:var(--theme-muted);font-style:normal;font-size:.82rem}.replay-table{margin:clamp(8px,1.5vw,16px);min-height:0;overflow:hidden;background:radial-gradient(120% 100% at 50% 42%,var(--theme-felt-0),var(--theme-felt-1) 55%,var(--theme-felt-2) 100%)}.domino-table.replay-table.has-side-seats .domino-chain-wrap{top:74px;right:156px;bottom:118px;left:156px}.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:86px;right:122px;bottom:118px;left:122px}.replay-seat{position:absolute;z-index:8;display:grid;gap:6px;justify-items:center;min-width:0}.replay-seat--top{top:10px;left:50%;transform:translate(-50%)}.replay-seat--bottom{right:10px;bottom:8px;left:10px}.replay-seat--left{top:50%;left:10px;transform:translateY(-50%)}.replay-seat--right{top:50%;right:10px;transform:translateY(-50%)}.replay-seat__badge{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:min(280px,42vw);padding:6px 9px;background:#0000006b;border:1px solid var(--theme-accent-line);border-radius:12px;box-shadow:0 8px 20px #00000047}.replay-seat.is-current .replay-seat__badge,.replay-seat.is-pov .replay-seat__badge{border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent-soft),0 0 18px var(--theme-accent-glow)}.replay-seat__badge .avatar{width:36px;height:36px;font-size:.68rem;border-width:1px}.replay-seat__name{display:grid;min-width:0;text-align:left}.replay-seat__name strong{max-width:150px;overflow:hidden;font-size:.8rem;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.replay-seat__name em{color:var(--theme-accent);font-size:.58rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.replay-seat__count{display:grid;place-items:center;min-width:22px;height:22px;color:var(--theme-accent-text);background:var(--theme-accent);border-radius:50%;font-size:.74rem;font-weight:900}.replay-hand{display:flex;align-items:center;justify-content:center;gap:5px;max-width:100%;min-width:0;padding:2px 4px;overflow:auto hidden;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent}.replay-hand--compact{max-width:156px;flex-wrap:wrap;overflow:visible}.replay-hand--vertical{max-width:96px}.replay-hand__empty{padding:5px 9px;color:var(--theme-muted);background:var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.replay-move-label{position:absolute;right:14px;bottom:118px;z-index:10;max-width:min(420px,calc(100% - 28px));padding:8px 12px;color:var(--theme-ink);background:#0000008a;border:1px solid var(--theme-accent-line);border-radius:12px;font-size:.84rem;font-weight:900;box-shadow:0 8px 22px #0000004d}.replay-controls{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(140px,260px);border-top:1px solid var(--theme-accent-line)}.replay-rounds,.replay-nav{display:flex;align-items:center;gap:6px;min-width:0}.replay-rounds{overflow-x:auto}.replay-rounds button,.replay-nav button{min-height:34px;padding:0 10px;white-space:nowrap}.replay-rounds button.is-active,.replay-nav__play{color:var(--theme-accent-text)!important;background:var(--theme-accent)!important;border-color:var(--theme-accent)!important}.replay-nav button:disabled,.replay-slider:disabled{opacity:.42}.replay-slider{width:100%;accent-color:var(--theme-accent)}.replay-library-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:58;display:grid;place-items:center;padding:14px;background:#00000052}.replay-library{width:min(520px,calc(100vw - 28px));max-height:min(82vh,calc(100dvh - 28px));display:flex;flex-direction:column;gap:10px;padding:14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;color:var(--theme-ink);background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 36%),var(--theme-surface-solid);border:1px solid var(--theme-accent-line);border-radius:14px;box-shadow:0 22px 70px #0000008c}.replay-library>*{flex-shrink:0}.replay-library__head{position:sticky;top:-14px;z-index:2;margin:-14px -14px 0;padding:14px 14px 8px;background:var(--theme-surface-solid)}.replay-library__actions{position:sticky;bottom:-14px;z-index:2;margin:0 -14px -14px;padding:8px 14px 14px;background:var(--theme-surface-solid)}.replay-library__head,.replay-library__actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.replay-library__head div{display:grid;min-width:0}.replay-library__head button{width:36px;height:36px;color:var(--theme-accent)}.replay-library__list{display:grid;gap:8px;padding-right:2px}.replay-library__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;text-align:left}.replay-library__result{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:28px;padding:0 9px;border-radius:999px;font-size:.7rem;font-weight:900;text-transform:uppercase}.replay-library__result.is-win{color:var(--theme-accent-text);background:var(--theme-accent)}.replay-library__result.is-loss{color:var(--theme-ink);background:var(--theme-surface-3);border:1px solid var(--theme-accent-line)}.replay-library__meta{display:grid;min-width:0}.replay-library__meta strong,.replay-library__meta em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-library__meta strong{font-size:.88rem}.replay-library__meta em{color:var(--theme-muted);font-size:.72rem;font-style:normal}.replay-library__cta{color:var(--theme-accent);font-size:.76rem;font-weight:900}.replay-library__message{margin:0;padding:10px 12px;color:var(--theme-muted);background:var(--theme-surface-2);border:1px solid var(--theme-accent-line);border-radius:10px;font-size:.84rem;font-weight:800}.replay-library__message--accent{color:var(--theme-accent)}@media (max-width: 760px){.replay-head{gap:8px;padding:8px 10px}.replay-title strong{font-size:.98rem}.replay-counter{padding:6px 9px}.domino-table.replay-table.has-side-seats .domino-chain-wrap,.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:70px;right:104px;bottom:116px;left:104px}.replay-seat--left,.replay-seat--right{top:50%}.replay-seat__badge{max-width:178px;gap:6px;padding:5px 7px}.replay-seat__badge .avatar{width:30px;height:30px}.replay-seat__name strong{max-width:94px;font-size:.72rem}.replay-seat__name em{font-size:.5rem}.replay-hand--compact{max-width:112px;gap:3px}.replay-move-label{right:10px;bottom:112px;font-size:.74rem}.replay-controls{grid-template-columns:1fr;gap:7px;padding:8px 10px}.replay-nav{justify-content:center;flex-wrap:wrap}.replay-rounds{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.replay-nav__play{opacity:.45}}.domino-table.replay-table.has-side-seats .domino-chain-wrap{top:68px;right:142px;bottom:48px;left:142px}.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:74px;right:110px;bottom:48px;left:110px}.replay-move-label{right:12px;bottom:10px;max-width:min(360px,calc(100% - 24px));padding:7px 10px;font-size:.78rem}.replay-player{display:grid;gap:7px;padding:7px clamp(10px,2vw,22px) 9px;background:linear-gradient(180deg,#0000000f,#00000057),var(--theme-bg-0);border-top:1px solid var(--theme-accent-line)}.replay-hand-row{display:grid;grid-template-columns:68px minmax(0,1fr) 68px;align-items:center;gap:10px;width:min(100%,1080px);margin:0 auto}.replay-hand-switch{position:relative;display:grid;justify-items:start}.replay-hand-switch__button,.replay-round-display,.replay-video-controls button{display:inline-grid;place-items:center;color:var(--theme-ink);background:linear-gradient(180deg,#ffffff0f,#fff0),var(--theme-surface-2);border:1px solid var(--theme-accent-line);box-shadow:0 8px 22px #00000040}.replay-hand-switch__button{width:58px;height:58px;padding:5px;border-radius:16px;cursor:pointer}.replay-hand-switch__button .avatar{width:34px;height:34px;font-size:.68rem}.replay-hand-switch__button svg{width:15px;height:15px;fill:var(--theme-accent)}.replay-hand-switch__menu{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;display:grid;gap:5px;width:min(210px,58vw);padding:7px;background:var(--theme-surface-solid);border:1px solid var(--theme-accent-line);border-radius:14px;box-shadow:0 18px 50px #00000080}.replay-hand-switch__menu button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:7px 9px;color:var(--theme-ink);background:var(--theme-faint);border:1px solid transparent;border-radius:10px;font-size:.78rem;font-weight:900;text-align:left;cursor:pointer}.replay-hand-switch__menu button.is-selected{color:var(--theme-accent-text);background:var(--theme-accent);border-color:var(--theme-accent)}.replay-hand-switch__menu span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-hand-switch__menu em{display:grid;place-items:center;min-width:22px;height:22px;color:var(--theme-accent-text);background:var(--theme-accent);border-radius:999px;font-size:.7rem;font-style:normal}.replay-hand-switch__menu button.is-selected em{color:var(--theme-accent);background:var(--theme-accent-text)}.replay-hand-frame{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:calc(var(--replay-hand-tile-h) + 22px);min-width:0;padding:7px 12px;background:radial-gradient(70% 130% at 50% 0%,var(--theme-accent-soft),transparent 64%),color-mix(in srgb,var(--theme-surface) 82%,transparent);border:1px solid var(--theme-accent-line);border-radius:18px;box-shadow:inset 0 0 0 1px #ffffff08,0 0 20px var(--theme-accent-glow)}.replay-hand-frame.is-current,.replay-hand-frame.is-acted{border-color:var(--theme-accent);box-shadow:inset 0 0 0 1px var(--theme-accent-soft),0 0 24px var(--theme-accent-glow)}.replay-bottom-bubble{position:absolute;left:50%;bottom:calc(100% + 6px);z-index:26;transform:translate(-50%);pointer-events:none}.replay-hand-frame__identity{display:grid;min-width:106px;padding-right:12px;border-right:1px solid var(--theme-accent-line)}.replay-hand-frame__identity strong,.replay-hand-frame__identity em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-hand-frame__identity strong{font-size:.92rem;line-height:1.08}.replay-hand-frame__identity em{color:var(--theme-accent);font-size:.62rem;font-style:normal;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.replay-hand--viewer{justify-content:flex-start;gap:6px;padding:0;overflow-x:auto;overflow-y:hidden}.replay-round-display{justify-self:end;min-width:58px;height:58px;color:var(--theme-accent-text);background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.28),transparent 48%),var(--theme-accent);border-color:var(--theme-accent);border-radius:16px;font-size:.95rem;font-weight:950}.replay-video-controls{display:flex;align-items:center;gap:8px;width:min(100%,760px);margin:0 auto}.replay-video-controls button{width:36px;height:34px;padding:0;border-radius:12px;cursor:pointer}.replay-video-controls__play{width:42px!important;color:var(--theme-accent-text)!important;background:var(--theme-accent)!important;border-color:var(--theme-accent)!important}.replay-video-controls button:disabled{cursor:default;opacity:.38}.replay-video-controls svg{width:20px;height:20px;fill:currentColor}.replay-frame-count{color:var(--theme-muted);font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.replay-slider-wrap{position:relative;flex:1 1 auto;min-width:90px;display:flex;align-items:center}.replay-coach-cta-zone,.replay-coach-nav{display:flex;align-items:center;gap:6px}.replay-video-controls .replay-coach-cta{width:auto;padding:0 12px;font-size:.7rem;font-weight:900;letter-spacing:.04em;color:var(--theme-accent);white-space:nowrap}.replay-video-controls .replay-coach-cta.is-retry{color:var(--theme-ink)}.replay-coach-status{color:var(--theme-muted);font-size:.7rem;font-weight:800;white-space:nowrap}.replay-video-controls .replay-coach-nav button{display:inline-flex;align-items:center;justify-content:center;gap:3px;width:40px;font-size:.8rem;line-height:1;color:var(--theme-accent)}.replay-video-controls .replay-coach-nav button span{display:inline-flex;line-height:1}.replay-video-controls .replay-coach-marker{position:absolute;top:50%;width:12px;height:12px;padding:0;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--theme-surface-solid);box-shadow:0 0 8px #0006;cursor:pointer;z-index:1}.replay-video-controls .replay-coach-marker.is-turning{background:#f0a53c}.replay-video-controls .replay-coach-marker.is-good{background:#58c47a}.replay-coach-panel{position:absolute;z-index:56;left:50%;bottom:12px;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;width:min(440px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;padding:12px 14px;border-radius:16px;border:1px solid var(--theme-accent-line);background:radial-gradient(120% 80% at 50% 0%,var(--theme-accent-soft),transparent 46%),var(--theme-surface-solid);box-shadow:0 16px 44px #00000080,0 0 24px var(--theme-accent-glow);color:var(--theme-ink);text-align:left;animation:replay-coach-rise .22s cubic-bezier(.22,.8,.24,1) both}.replay-coach-panel>*{flex-shrink:0}.replay-coach-panel.is-good{border-color:#58c47a8c}.replay-coach-panel__main{display:flex;flex-direction:column;gap:6px;padding:0;border:none;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.replay-coach-panel__title{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-accent)}.replay-coach-panel.is-good .replay-coach-panel__title{color:#58c47a}.replay-coach-panel__body{font-size:14px;line-height:1.45}.replay-coach-panel__revealed{font-size:13px;font-style:italic;color:var(--theme-muted)}.replay-coach-panel__moves{display:flex;align-items:center;gap:16px;margin-top:2px}.replay-coach-panel__move{display:flex;align-items:center;gap:6px}.replay-coach-panel__move em{font-size:10px;font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--theme-muted)}.replay-coach-panel__move strong{font-size:12px}.replay-coach-panel__move.is-played{opacity:.68}.replay-coach-panel__hint{align-self:flex-end;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--theme-muted)}.replay-coach-panel__numbers-toggle{align-self:flex-start;padding:0;border:none;background:none;color:var(--theme-accent);font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}.replay-coach-panel__numbers{display:flex;flex-direction:column;gap:3px;font-size:12px}.replay-coach-panel__numbers>em{font-size:11px;color:var(--theme-muted)}.replay-coach-panel__row{display:grid;grid-template-columns:1fr auto minmax(52px,auto);gap:8px;font-variant-numeric:tabular-nums}.replay-coach-panel__row.is-best strong{color:#58c47a}.replay-coach-panel__row.is-played{color:var(--theme-accent)}.replay-coach-panel__row em{font-size:10px;font-style:normal;color:var(--theme-muted);text-align:right}@keyframes replay-coach-rise{0%{transform:translate(-50%) translateY(10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.replay-coach-panel{animation:none!important}}@media (max-width: 760px),(max-height: 520px){.replay-head{padding:6px 8px}.replay-icon-btn{width:34px;height:34px}.replay-title strong{font-size:.86rem}.replay-counter{padding:5px 8px;font-size:.76rem}.replay-table{margin:6px 8px 0}.domino-table.replay-table.has-side-seats .domino-chain-wrap,.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:52px;right:94px;bottom:38px;left:94px}.replay-seat__badge{max-width:156px;gap:5px;padding:4px 6px;border-radius:10px}.replay-seat__badge .avatar{width:26px;height:26px}.replay-seat__name strong{max-width:82px;font-size:.66rem}.replay-seat__count{min-width:19px;height:19px;font-size:.62rem}.replay-move-label{right:8px;bottom:7px;padding:6px 8px;font-size:.66rem}.replay-player{gap:5px;padding:6px 8px 7px}.replay-hand-row{grid-template-columns:50px minmax(0,1fr) 50px;gap:7px}.replay-hand-switch__button,.replay-round-display{width:48px;min-width:48px;height:48px;border-radius:13px;font-size:.78rem}.replay-hand-switch__button .avatar{width:28px;height:28px}.replay-hand-frame{grid-template-columns:minmax(0,1fr);gap:5px;min-height:calc(var(--replay-hand-tile-h) + 30px);padding:6px 8px;border-radius:14px}.replay-hand-frame__identity{display:flex;min-width:0;gap:6px;padding-right:0;border-right:0}.replay-hand-frame__identity strong{max-width:112px;font-size:.7rem}.replay-hand-frame__identity em{font-size:.52rem}.replay-hand--viewer{gap:4px}.replay-video-controls{gap:6px}.replay-video-controls button{width:30px;height:30px;border-radius:10px}.replay-video-controls__play{width:36px!important}.replay-frame-count{font-size:.62rem}}.replay-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(84px,1fr);align-items:center}.replay-head__left{display:flex;align-items:center;gap:10px;min-width:0}.replay-head__opponent{position:relative;z-index:16;display:grid;justify-items:center;min-width:0}.replay-head__opponent .speech{position:absolute;top:calc(100% + 4px);left:50%;z-index:22;transform:translate(-50%)}.replay-head-player-card{pointer-events:auto;cursor:pointer;color:var(--theme-ink);background:linear-gradient(180deg,#ffffff0f,#fff0),color-mix(in srgb,var(--theme-surface-solid) 86%,transparent);border-color:var(--theme-accent-line)}.replay-head-player-card.current,.replay-head-player-card.is-acted{border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent-soft),0 0 18px var(--theme-accent-glow)}.replay-head-player-card .head-opp-card__info strong,.replay-seat-card .seat-card__info strong{color:var(--theme-ink)}.replay-head-player-card .head-opp-card__info em,.replay-seat-card .seat-card__info em{color:var(--theme-accent)}.replay-counter{justify-self:end;margin-left:0}.replay-seat-spot{z-index:12}.replay-seat-card{pointer-events:auto;cursor:pointer;width:104px;padding:7px 7px 6px;color:var(--theme-ink);background:radial-gradient(90% 100% at 50% 0%,var(--theme-accent-soft),transparent 72%),color-mix(in srgb,var(--theme-surface-solid) 84%,transparent);border-color:var(--theme-accent-line);border-radius:13px}.replay-seat-spot.current .replay-seat-card,.replay-seat-spot.is-acted .replay-seat-card{border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent-soft),0 0 18px var(--theme-accent-glow)}.replay-seat-card .avatar{width:36px;height:36px;font-size:.72rem}.replay-seat-card .seat-card__info strong{max-width:82px;font-size:.72rem}.replay-seat-card .seat-card__info em{font-size:.54rem}.replay-head-player-card .count-badge,.replay-seat-card .count-badge{color:var(--theme-ink);background:var(--theme-faint);border-color:var(--theme-accent-line)}.replay-screen .speech{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-surface-solid) 92%,transparent);border-color:var(--theme-accent-line)}.replay-screen .speech.speech--signal,.replay-screen .speech.speech--signal.green,.replay-screen .speech.speech--signal.orange,.replay-screen .speech.speech--signal.white,.replay-screen .speech.speech--signal.forbidden{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-surface-solid) 70%,transparent);border-color:var(--theme-accent)}.domino-table.replay-table.has-side-seats .domino-chain-wrap{top:32px;right:108px;bottom:36px;left:108px}.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:32px;right:74px;bottom:36px;left:74px}@media (max-width: 760px),(max-height: 520px){.replay-head{grid-template-columns:minmax(0,1fr) auto minmax(58px,.8fr);gap:6px}.replay-head__left{gap:7px}.replay-head-player-card{gap:6px;padding:5px 8px}.replay-head-player-card .avatar{width:30px;height:30px;font-size:.62rem}.replay-head-player-card .head-opp-card__info strong{max-width:96px;font-size:.72rem}.replay-head-player-card .head-opp-card__info em{font-size:.5rem}.replay-head-player-card .count-badge{padding:2px 6px;font-size:.62rem}.replay-seat-card{width:82px;padding:5px 5px 4px;gap:3px}.replay-seat-card .avatar{width:28px;height:28px;font-size:.6rem}.replay-seat-card .seat-card__info strong{max-width:68px;font-size:.62rem}.replay-seat-card .seat-card__info em{font-size:.46rem}.replay-seat-card .count-badge{padding:1px 5px;font-size:.58rem}.replay-seat-card .count-badge__ico{display:none}.domino-table.replay-table.has-side-seats .domino-chain-wrap,.domino-table.replay-table:not(.has-side-seats) .domino-chain-wrap{top:24px;right:72px;bottom:30px;left:72px}}.settings-section{display:flex;flex-direction:column;gap:10px;padding:13px;background:var(--theme-surface-solid);border:1px solid var(--theme-faint);border-radius:16px}.settings-section__title{margin:0;color:var(--theme-accent-2);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.settings-account{margin-bottom:4px}.settings-account__pitch{margin:0;color:var(--theme-muted);font-size:13px;line-height:1.5}.settings-account__google{display:flex;justify-content:center;min-height:44px}.settings-account__btn{padding:12px 16px;border-radius:11px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2);color:var(--theme-ink);font-size:15px;font-weight:700;cursor:pointer}.settings-account__btn:disabled{opacity:.55;cursor:default}.settings-account__btn--soon{font-size:13px;font-weight:600}.settings-account__linked{display:flex;flex-direction:column;gap:6px}.settings-account__badge{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;border:1px solid var(--theme-accent-soft);background:var(--theme-surface-3);color:var(--theme-ink);font-size:13px;font-weight:800}.settings-account__badge-logo{font-size:15px}.settings-account__email{margin:0;color:var(--theme-ink);font-size:14px;font-weight:600}.settings-account__hint{margin:0;color:var(--theme-muted);font-size:12px}.settings-account__logout{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding-top:12px;border-top:1px solid var(--theme-accent-line)}.settings-account__logout-btn{align-self:flex-start;padding:10px 16px;border-radius:11px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2);color:var(--theme-ink);font-size:14px;font-weight:700;cursor:pointer;transition:filter .14s ease}.settings-account__logout-btn:hover{filter:brightness(1.08)}.settings-account__logout-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-account__logout-actions .settings-account__logout-btn{flex:1;min-width:110px;align-self:stretch;text-align:center}.settings-account__logout-cancel{flex:1;min-width:110px;padding:10px 16px;border-radius:11px;border:1px solid var(--theme-accent);background:var(--theme-surface-3);color:var(--theme-ink);font-size:14px;font-weight:700;cursor:pointer}.settings-appearance{padding:12px;margin-bottom:16px;border-radius:12px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2)}.settings-appearance .theme-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-appearance .theme-choice{font-size:.7rem}.settings-danger{padding:12px;border-radius:12px;border:1px solid rgba(224,90,90,.45);background:#e05a5a14}.settings-danger__title{color:#e7a0a0}.settings-danger__btn{padding:12px 16px;border-radius:11px;border:1px solid rgba(224,90,90,.6);background:linear-gradient(180deg,#c0413f,#962f2f);color:#fff3f3;font-size:15px;font-weight:700;cursor:pointer;transition:filter .14s ease}.settings-danger__btn:hover:not(:disabled){filter:brightness(1.08)}.settings-danger__btn:disabled{opacity:.6;cursor:default}.settings-danger__warn{color:var(--theme-ink)}.settings-danger__actions{display:flex;gap:10px;flex-wrap:wrap}.settings-danger__cancel{flex:1;min-width:110px;padding:12px 16px;border-radius:11px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2);color:var(--theme-ink);font-size:15px;font-weight:700;cursor:pointer}.settings-danger__actions .settings-danger__btn{flex:1;min-width:110px}.settings-danger__error{color:#e7a0a0;font-size:13px;font-weight:600}.settings-coach{padding:12px;margin-bottom:16px;border-radius:12px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2)}.settings-coach__btn{align-self:flex-start;padding:10px 16px;border-radius:11px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-2);color:var(--theme-ink);font-size:14px;font-weight:700;cursor:pointer;transition:filter .14s ease}.settings-coach__btn:hover{filter:brightness(1.08)}.settings-privacy-link{margin-bottom:8px}.settings-privacy-link a{color:var(--theme-accent);text-decoration:none}.settings-privacy-link a:hover{text-decoration:underline}.friends-section{display:flex;flex-direction:column;gap:10px}.friends-section__title{margin:0;color:var(--theme-accent-2);font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.friends-card{padding:13px;margin-bottom:14px;border-radius:16px;border:1px solid var(--theme-faint);background:var(--theme-surface-solid)}.friends-hint{margin:0;color:var(--theme-muted);font-size:13px;line-height:1.5}.friends-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.friends-code{flex:1 1 auto;padding:9px 14px;border-radius:12px;border:none;background:var(--theme-bg-0);color:var(--theme-accent);font-size:18px;font-weight:900;letter-spacing:.16em;text-align:center}.friends-btn{min-height:38px;padding:8px 14px;border-radius:11px;border:none;background:var(--theme-bg-0);color:var(--theme-ink);font-size:13px;font-weight:800;line-height:1.1;white-space:nowrap;cursor:pointer;transition:filter .14s ease}.friends-btn:hover:not(:disabled){filter:brightness(1.08)}.friends-btn:disabled{opacity:.55;cursor:default}.friends-btn--primary{border-color:var(--theme-accent);background:linear-gradient(180deg,var(--theme-accent-strong),var(--theme-accent));color:var(--theme-accent-text);font-weight:900}.friends-add-row{display:flex;gap:8px}.friends-input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--theme-accent-line);background:var(--theme-surface-3);color:var(--theme-ink);font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.friends-feedback{margin:0;color:var(--theme-ink);font-size:13px;font-weight:600}.friends-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.friends-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;background:var(--theme-bg-0);border-radius:12px}.friends-row__identity{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1}.friends-row__name{color:var(--theme-ink);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-row__presence{color:var(--theme-muted);font-size:12px}.friends-row__actions{display:inline-flex;gap:6px;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end}.friends-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.friends-dot--online{background:#37b26b;box-shadow:0 0 6px #37b26b99}.friends-dot--in_game{background:var(--theme-accent);box-shadow:0 0 6px var(--theme-accent-glow)}.friends-dot--offline{background:var(--theme-muted);opacity:.5}.friends-guest{align-items:flex-start}@media (max-width: 520px){.friends-card{padding:10px}.friends-add-row{display:grid;grid-template-columns:1fr}.friends-row{align-items:stretch}.friends-row__actions{width:100%}.friends-row__actions .friends-btn{flex:1}}.profile-page{height:100%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.profile-page>*{flex-shrink:0}.profile-hero-v2{position:relative;display:grid;justify-items:center;gap:6px;padding:22px 16px 18px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-surface-solid) 82%,white 4%),transparent);border-bottom:none}.profile-hero-v2__avatar{position:relative;width:96px;height:96px;display:grid;place-items:center;padding:0;color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-strong),var(--theme-accent));border:3px solid color-mix(in srgb,var(--theme-accent) 58%,white 24%);border-radius:50%;font-size:30px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px #0000002e}.profile-hero-v2__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-hero-v2__avatar-edit{position:absolute;left:-4px;top:-4px;width:28px;height:28px;display:grid;place-items:center;color:var(--theme-accent-text);background:var(--theme-accent);border-radius:50%;font-size:13px;box-shadow:none}.profile-hero-v2__badge{position:absolute;right:-8px;bottom:-6px;width:36px;height:36px;display:grid;place-items:center;overflow:hidden;background:var(--theme-surface-solid);border:none;border-radius:50%;font-size:18px;box-shadow:0 8px 16px #0000002e}.profile-hero-v2__badge img{width:100%;height:100%;object-fit:cover}.profile-hero-v2__name{display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:2px 8px;border:none;background:none;color:var(--theme-ink);cursor:pointer}.profile-hero-v2__name strong{font-size:clamp(22px,4vw,30px);letter-spacing:.02em}.profile-hero-v2__name span{color:var(--theme-muted);font-size:13px}.profile-hero-v2__rename{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.profile-hero-v2__rename input{width:min(220px,56vw);padding:8px 12px;color:var(--theme-ink);background:var(--theme-surface-2);border:none;border-radius:14px;font-size:17px;font-weight:800;text-align:center}.profile-hero-v2__rename.is-error input{box-shadow:inset 0 0 0 1px #e05555}.profile-hero-v2__rename button{width:36px;height:36px;display:grid;place-items:center;color:var(--theme-accent);background:var(--theme-surface-2);border:none;border-radius:12px;font-size:15px;cursor:pointer}.profile-hero-v2__sub{color:var(--theme-muted);font-size:13px;font-weight:750;min-height:1.2em}.profile-hero-v2__sub em{font-style:normal;color:var(--theme-accent-2)}.profile-hero-v2__xp{width:min(300px,72%);height:10px;margin-top:4px;overflow:hidden;background:var(--theme-surface-2);border:none;border-radius:999px}.profile-hero-v2__xp span{display:block;height:100%;background:linear-gradient(90deg,var(--theme-accent-strong),var(--theme-accent-2),var(--theme-accent));border-radius:inherit}.profile-tabs-v2{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px;background:var(--theme-bg-0);border-bottom:none}.profile-tabs-v2 button{min-width:0;padding:9px 6px;overflow:hidden;border:none;border-radius:999px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);color:var(--theme-muted);font-size:12.5px;font-weight:900;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}.profile-tabs-v2 button.is-active{background:var(--theme-accent);color:var(--theme-accent-text)}.profile-body{display:grid;gap:14px;width:min(760px,100%);margin:0 auto;padding:14px clamp(12px,3vw,20px) 20px}.profile-empty{min-height:200px;display:grid;place-items:center;gap:8px;color:var(--theme-muted);text-align:center}.profile-empty strong{color:var(--theme-ink);font-size:18px}.profile-stats{display:grid;gap:16px;width:min(500px,calc(100% - 10px));margin:0 auto}.profile-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;background:color-mix(in srgb,var(--theme-surface-solid) 82%,black 12%);border-radius:14px}.profile-mode-tabs button{min-width:0;padding:8px 10px;border:none;border-radius:11px;background:transparent;color:var(--theme-muted);font-size:12px;font-weight:900;cursor:pointer}.profile-mode-tabs button.is-active{color:var(--theme-ink);background:color-mix(in srgb,var(--theme-bg-2) 78%,black 18%)}.profile-section{display:grid;gap:12px}.profile-section__title{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-section__title span{color:var(--theme-accent-2);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.profile-section__title em{color:var(--theme-muted);font-size:12px;font-style:normal;font-weight:900}.profile-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-record{position:relative;min-width:0;display:grid;align-content:space-between;gap:10px;min-height:80px;padding:15px 16px;background:color-mix(in srgb,var(--theme-surface-solid) 86%,white 5%);border:none;border-radius:20px}.profile-record span{color:color-mix(in srgb,var(--theme-muted) 86%,white 12%);font-size:13px;font-weight:900;letter-spacing:0;line-height:1.3}.profile-record strong{color:var(--theme-ink);font-size:clamp(24px,5vw,30px);font-variant-numeric:tabular-nums;line-height:1}.profile-record--gold strong{color:var(--theme-accent);text-shadow:none}.profile-replays{display:grid;gap:8px}.profile-replay{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 12px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:18px;color:var(--theme-ink);text-align:left;cursor:pointer}.profile-replay__result{padding:5px 9px;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.profile-replay__result.is-win{color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-2),var(--theme-accent))}.profile-replay__result.is-loss{color:var(--theme-muted);background:var(--theme-surface-2);border:none}.profile-replay__meta{min-width:0;display:grid;gap:2px}.profile-replay__meta strong{font-size:13px}.profile-replay__meta em,.profile-replay__meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-replay__meta em{color:var(--theme-muted);font-size:11px;font-style:normal}.profile-replay__cta{color:var(--theme-accent);font-size:14px}.profile-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.profile-badge-card{min-width:0;display:grid;justify-items:center;gap:6px;padding:14px 10px 10px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:18px;color:var(--theme-ink);text-align:center;cursor:default}button.profile-badge-card{cursor:pointer}button.profile-badge-card:disabled{cursor:default}.profile-badge-card__art{position:relative;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:none;border-radius:50%;background:var(--theme-surface-2);box-shadow:0 8px 16px #0000002e}.profile-badge-card__art img{width:100%;height:100%;object-fit:cover}.profile-badge-card__glyph{font-size:30px}.profile-badge-card.is-owned .profile-badge-card__art{background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-2));box-shadow:0 8px 16px #0000002e}.profile-badge-card.is-locked{opacity:.78}.profile-badge-card.is-locked .profile-badge-card__art img,.profile-badge-card.is-locked .profile-badge-card__glyph{filter:grayscale(1) brightness(.55)}.profile-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:22px;background:#00000047}.profile-badge-card__check{position:absolute;right:2px;bottom:2px;width:22px;height:22px;display:grid;place-items:center;color:var(--theme-accent-text);background:var(--theme-accent);border-radius:50%;font-size:12px;font-weight:900}.profile-badge-card.is-equipped{background:color-mix(in srgb,var(--theme-accent) 16%,var(--theme-surface-solid));box-shadow:none}.profile-badge-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.profile-badge-card em{width:calc(100% + 20px);margin:2px -10px 0;padding:8px 10px 0;border-top:none;color:var(--theme-muted);font-size:10.5px;font-style:normal;font-weight:750;line-height:1.3}.profile-badge-card.is-owned em{color:var(--theme-accent-2);font-weight:900;letter-spacing:.05em;text-transform:uppercase}.profile-note{margin:0;padding:12px;color:var(--theme-muted);background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:18px;font-size:13px;font-weight:700}@media (max-width: 720px),(max-height: 560px){.profile-records{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-hero-v2{padding:14px 12px 12px}.profile-hero-v2__avatar{width:78px;height:78px}.profile-badge-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}:root{--theme-bg-0: #102a43;--theme-bg-1: #00c781;--theme-bg-2: #08a6ff;--theme-surface: rgba(12, 30, 56, .9);--theme-surface-solid: #0c1e38;--theme-surface-2: rgba(0, 54, 95, .72);--theme-surface-3: rgba(0, 255, 135, .18);--theme-panel: rgba(11, 38, 61, .72);--theme-text: #f5fffb;--theme-ink: #f5fffb;--theme-muted: rgba(245, 255, 251, .72);--theme-faint: rgba(245, 255, 251, .1);--theme-accent: #d7ff33;--theme-accent-strong: #00ff87;--theme-accent-2: #7cf8ff;--theme-accent-text: #071728;--theme-accent-soft: rgba(0, 255, 135, .42);--theme-accent-line: rgba(124, 248, 255, .3);--theme-accent-glow: rgba(0, 255, 135, .38);--theme-felt-0: #20d77f;--theme-felt-1: #119d63;--theme-felt-2: #086044;--theme-tile-bg: #fffdf0;--theme-tile-border: #15110d;--theme-tile-ink: #17130f;--theme-tile-pip: #050403;--theme-tile-hidden: #35475b;--theme-tile-hidden-border: #111923;--theme-team-a-bg: #5a2a2a;--theme-team-a-border: #d98a8a;--theme-team-b-bg: #26405f;--theme-team-b-border: #8ab0e0;color:var(--theme-ink);background:var(--theme-bg-0);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}html{height:100vh;height:100dvh}body{background:var(--theme-bg-0)}.app-shell[data-theme=cartouche]{--theme-bg-0: #0f1445;--theme-bg-1: #2457ff;--theme-bg-2: #8f42ff;--theme-surface: rgba(13, 18, 64, .9);--theme-surface-solid: #0d1240;--theme-surface-2: rgba(28, 45, 135, .76);--theme-surface-3: rgba(0, 229, 255, .16);--theme-panel: rgba(15, 20, 69, .74);--theme-text: #f7fbff;--theme-ink: #f7fbff;--theme-muted: rgba(247, 251, 255, .7);--theme-faint: rgba(247, 251, 255, .1);--theme-accent: #00e5ff;--theme-accent-strong: #6c7dff;--theme-accent-2: #ff6ff0;--theme-accent-text: #07102e;--theme-accent-soft: rgba(0, 229, 255, .4);--theme-accent-line: rgba(255, 111, 240, .28);--theme-accent-glow: rgba(0, 229, 255, .42);--theme-felt-0: #304cff;--theme-felt-1: #1b7de8;--theme-felt-2: #0f3b9a;--theme-tile-bg: #f7fbff;--theme-tile-border: #0f1445;--theme-tile-ink: #202a7a;--theme-tile-pip: #060a22;--theme-tile-hidden: #202a7a;--theme-tile-hidden-border: #07102e;--theme-team-a-bg: #bf3bd9;--theme-team-a-border: #ff6ff0;--theme-team-b-bg: #2457ff;--theme-team-b-border: #00e5ff}.app-shell[data-theme=gambit]{--theme-bg-0: #f4ead7;--theme-bg-1: #c09a5b;--theme-bg-2: #7b1e2b;--theme-surface: rgba(244, 234, 215, .94);--theme-surface-solid: #f4ead7;--theme-surface-2: rgba(255, 248, 235, .78);--theme-surface-3: rgba(123, 30, 43, .18);--theme-panel: rgba(255, 248, 235, .72);--theme-text: #171313;--theme-ink: #171313;--theme-muted: rgba(23, 19, 19, .66);--theme-faint: rgba(23, 19, 19, .1);--theme-accent: #7b1e2b;--theme-accent-strong: #1f5c45;--theme-accent-2: #c09a5b;--theme-accent-text: #f8efe0;--theme-accent-soft: rgba(123, 30, 43, .32);--theme-accent-line: rgba(31, 92, 69, .28);--theme-accent-glow: rgba(192, 154, 91, .42);--theme-felt-0: #2f7a5c;--theme-felt-1: #1f5c45;--theme-felt-2: #173f33;--theme-tile-bg: #fff8eb;--theme-tile-border: #171313;--theme-tile-ink: #171313;--theme-tile-pip: #050404;--theme-tile-hidden: #7b1e2b;--theme-tile-hidden-border: #171313;--theme-team-a-bg: #7b1e2b;--theme-team-a-border: #b04a55;--theme-team-b-bg: #1f5c45;--theme-team-b-border: #4e9676}.app-shell[data-theme=shutter]{--theme-bg-0: #101014;--theme-bg-1: #ff3d00;--theme-bg-2: #00d4ff;--theme-surface: rgba(16, 16, 20, .9);--theme-surface-solid: #101014;--theme-surface-2: rgba(31, 32, 41, .8);--theme-surface-3: rgba(255, 61, 0, .2);--theme-panel: rgba(18, 18, 23, .78);--theme-text: #ffffff;--theme-ink: #ffffff;--theme-muted: rgba(255, 255, 255, .68);--theme-faint: rgba(255, 255, 255, .1);--theme-accent: #ff8a00;--theme-accent-strong: #00d4ff;--theme-accent-2: #ff3d00;--theme-accent-text: #101014;--theme-accent-soft: rgba(0, 212, 255, .38);--theme-accent-line: rgba(255, 138, 0, .3);--theme-accent-glow: rgba(255, 61, 0, .44);--theme-felt-0: #22242e;--theme-felt-1: #171922;--theme-felt-2: #0f1016;--theme-tile-bg: #fff6e6;--theme-tile-border: #101014;--theme-tile-ink: #1a1a21;--theme-tile-pip: #050506;--theme-tile-hidden: #1f2029;--theme-tile-hidden-border: #050506;--theme-team-a-bg: #ff3d00;--theme-team-a-border: #ff8a00;--theme-team-b-bg: #006fff;--theme-team-b-border: #00d4ff}.app-shell[data-theme=kawaii]{--theme-bg-0: #2a1157;--theme-bg-1: #7b2ff7;--theme-bg-2: #f7b733;--theme-surface: rgba(43, 17, 88, .9);--theme-surface-solid: #2b1158;--theme-surface-2: rgba(83, 31, 142, .76);--theme-surface-3: rgba(247, 183, 51, .18);--theme-panel: rgba(48, 20, 92, .74);--theme-text: #fff8df;--theme-ink: #fff8df;--theme-muted: rgba(255, 248, 223, .7);--theme-faint: rgba(255, 248, 223, .1);--theme-accent: #f7b733;--theme-accent-strong: #00f5d4;--theme-accent-2: #ff4ecd;--theme-accent-text: #271047;--theme-accent-soft: rgba(247, 183, 51, .4);--theme-accent-line: rgba(0, 245, 212, .28);--theme-accent-glow: rgba(255, 78, 205, .44);--theme-felt-0: #7b2ff7;--theme-felt-1: #5a1fc2;--theme-felt-2: #351170;--theme-tile-bg: #fff8df;--theme-tile-border: #271047;--theme-tile-ink: #271047;--theme-tile-pip: #110720;--theme-tile-hidden: #2a1157;--theme-tile-hidden-border: #110720;--theme-team-a-bg: #ff4ecd;--theme-team-a-border: #ff94df;--theme-team-b-bg: #00a6fb;--theme-team-b-border: #00f5d4}.app-shell[data-theme=blackout]{--theme-bg-0: #03070a;--theme-bg-1: #00ff87;--theme-bg-2: #08a6ff;--theme-surface: rgba(3, 7, 10, .92);--theme-surface-solid: #03070a;--theme-surface-2: rgba(8, 20, 28, .84);--theme-surface-3: rgba(0, 255, 135, .16);--theme-panel: rgba(5, 12, 17, .78);--theme-text: #f5fffb;--theme-ink: #f5fffb;--theme-muted: rgba(245, 255, 251, .68);--theme-faint: rgba(245, 255, 251, .08);--theme-accent: #d7ff33;--theme-accent-strong: #00ff87;--theme-accent-2: #08a6ff;--theme-accent-text: #03070a;--theme-accent-soft: rgba(0, 255, 135, .36);--theme-accent-line: rgba(8, 166, 255, .28);--theme-accent-glow: rgba(0, 255, 135, .44);--theme-felt-0: #0f2a20;--theme-felt-1: #071812;--theme-felt-2: #020504;--theme-tile-bg: #fff3df;--theme-tile-border: #1a1410;--theme-tile-ink: #1a1410;--theme-tile-pip: #050403;--theme-tile-hidden: #0b0f17;--theme-tile-hidden-border: #00ff87;--theme-team-a-bg: #0f766e;--theme-team-a-border: #00ff87;--theme-team-b-bg: #075985;--theme-team-b-border: #08a6ff}.app-shell[data-theme=kombat]{--theme-bg-0: #202226;--theme-bg-1: #2a2d33;--theme-bg-2: #17191d;--theme-surface: rgba(45, 48, 55, .96);--theme-surface-solid: #2c2f35;--theme-surface-2: #363a42;--theme-surface-3: rgba(238, 187, 67, .12);--theme-panel: rgba(44, 47, 53, .9);--theme-text: #ffffff;--theme-ink: #ffffff;--theme-muted: rgba(255, 255, 255, .58);--theme-faint: rgba(255, 255, 255, .055);--theme-accent: #e7b83f;--theme-accent-strong: #f0ca61;--theme-accent-2: #858dff;--theme-accent-text: #211a08;--theme-accent-soft: rgba(231, 184, 63, .16);--theme-accent-line: rgba(231, 184, 63, .18);--theme-accent-glow: rgba(231, 184, 63, .18);--theme-felt-0: #33363d;--theme-felt-1: #25272c;--theme-felt-2: #191b1e;--theme-tile-bg: #fff6e3;--theme-tile-border: #15110d;--theme-tile-ink: #17130f;--theme-tile-pip: #050403;--theme-tile-hidden: #2b2e34;--theme-tile-hidden-border: #101114;--theme-team-a-bg: #a03a3a;--theme-team-a-border: #e08585;--theme-team-b-bg: #33509e;--theme-team-b-border: #8aa4ef;--theme-cta: #5c63ec;--theme-cta-strong: #767cf4;--theme-cta-text: #ffffff;--theme-logo-filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .28))}.app-shell[data-theme=cafe],.app-shell[data-theme=cartouche],.app-shell[data-theme=shutter],.app-shell[data-theme=kawaii],.app-shell[data-theme=blackout]{--theme-logo-filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .34))}.app-shell[data-theme=gambit]{--theme-logo-filter: drop-shadow(0 1px 0 rgba(23, 19, 19, .72)) drop-shadow(0 8px 18px rgba(23, 19, 19, .24))}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}.app-shell{--gold: var(--theme-accent-strong);--gold-soft: var(--theme-accent-soft);--gold-line: var(--theme-accent-line);--ink: var(--theme-ink);--panel: var(--theme-panel);width:100%;height:100%;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:linear-gradient(180deg,var(--theme-bg-1) 0%,var(--theme-bg-0) 42%,var(--theme-bg-2) 100%)}.loading{width:100%;height:100%;display:grid;place-items:center;color:#f7f1df;font-size:18px;font-weight:900}.lobby{width:100%;height:100%;display:grid;place-items:center;padding:20px}.lobby--play{place-items:start center;padding-top:clamp(10px,3vh,28px)}.brand-panel{width:min(430px,calc(100vw - 40px));max-height:100%;overflow-y:auto;display:grid;gap:12px;padding:22px;border:none;border-radius:24px;scrollbar-width:thin;scrollbar-color:rgba(247,201,86,.4) transparent;background:var(--theme-surface-solid);box-shadow:0 18px 36px #00000038}.lobby-col{width:min(440px,calc(100vw - 32px));max-height:100%;overflow-y:auto;overflow-x:hidden;display:grid;gap:14px;padding:6px;scrollbar-width:thin;scrollbar-color:rgba(247,201,86,.4) transparent}.lobby-col::-webkit-scrollbar{width:4px}.lobby-col::-webkit-scrollbar-thumb{background:#f7c95666;border-radius:4px}.panel{min-width:0;display:grid;gap:12px;padding:20px;border:none;border-radius:22px;background:var(--theme-surface-solid);box-shadow:0 14px 28px #0000002e}.lobby-card{gap:10px}.panel h1{margin:2px 0 0;color:#fff9e8;font-size:40px;line-height:1}.lobby-tagline{margin:0 0 2px;max-width:34ch;color:var(--theme-text, #fff9e8);opacity:.66;font-size:13.5px;line-height:1.4}.diamond-rule{display:flex;align-items:center;justify-content:center;gap:10px;margin:-2px 0 2px}.diamond-rule:before,.diamond-rule:after{content:"";width:64px;height:1px;background:linear-gradient(90deg,transparent,rgba(247,201,86,.55))}.diamond-rule:after{transform:scaleX(-1)}.diamond-rule span{width:7px;height:7px;background:#f5c84f;transform:rotate(45deg);box-shadow:none}.eyebrow{margin:0;display:inline-flex;align-items:center;gap:6px;color:#f8d978;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.eyebrow svg{width:1.3em;height:1.3em}.brand-panel h1{margin:0 0 8px;color:#fff9e8;font-size:38px;line-height:1}.brand-panel::-webkit-scrollbar{width:4px}.brand-panel::-webkit-scrollbar-thumb{background:#f7c95666;border-radius:4px}.text-input{width:100%;min-height:44px;padding:0 12px;color:#fff9e8;border:none;border-radius:14px;outline:none;background:color-mix(in srgb,var(--theme-surface-2) 82%,white 4%)}.code-input{text-transform:uppercase}.primary-button,.secondary-button,.color-button{min-height:44px;border:none;border-radius:14px;color:#fff9e8;font-weight:900}.primary-button{background:linear-gradient(180deg,var(--theme-accent-strong),var(--theme-accent));color:var(--theme-accent-text);box-shadow:none}.primary-button:disabled{opacity:.56}.secondary-button{background:color-mix(in srgb,var(--theme-surface-2) 88%,white 3%);color:var(--theme-ink)}.compact{min-width:96px;padding:0 14px}.inline-error{margin:0;color:#ffd899;font-size:13px;font-weight:800}.seat-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mode-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.section-head{display:flex;align-items:center;gap:8px;margin:0;color:#f8d978;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.section-head svg{width:1.3em;height:1.3em}.section-head:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(247,201,86,.45),transparent)}.lobby-section__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lobby-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-size:15px}.lobby-btn svg{width:1.25em;height:1.25em}.online-play__modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mode-card{display:grid;justify-items:center;gap:6px;padding:14px 6px 12px;border:none;border-radius:18px;background:var(--theme-surface-2);color:#fff9e8;cursor:pointer}.mode-card:disabled{opacity:.56}.mode-card--selected{background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-surface-2));box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.mode-card__icon{font-size:30px;color:#f5c84f;display:grid;place-items:center}.mode-card__title{font-size:21px;font-weight:800}.mode-card__divider{width:34px;height:1px;background:#f7c95680}.mode-card__caption{font-size:10.5px;line-height:1.3;color:#fff9e89e;text-align:center}.info-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:none;border-radius:16px;background:color-mix(in srgb,var(--theme-surface-2) 82%,black 4%);color:#fff9e8c7;font-size:13px;line-height:1.35}.info-note svg{width:20px;height:20px;color:#f8d978;flex:0 0 auto;margin-top:1px}.seat-choice{min-height:56px;display:grid;gap:3px;place-items:center;color:#fff9e8;border:none;border-radius:14px;background:var(--theme-surface-2)}.seat-choice span{color:#f8d978;font-size:11px;font-weight:900}.seat-choice.selected{background:color-mix(in srgb,var(--theme-accent) 24%,var(--theme-surface-2))}.seat-choice:disabled{opacity:.32;cursor:not-allowed}.dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:14px;background:#00000047}.dialog{width:min(440px,calc(100vw - 28px));max-height:min(86vh,calc(100dvh - 20px));overflow-y:auto;display:grid;gap:10px;padding:12px;border:none;border-radius:22px;background:var(--theme-surface-solid);box-shadow:0 18px 42px #00000047;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{min-width:0;line-height:1.15}.dialog-head__actions{display:flex;align-items:center;gap:8px}.lobby-utility-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.lobby-utility-row--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-utility-row .lobby-btn{min-width:0;padding:0 8px;overflow:hidden;white-space:nowrap;font-size:13px;gap:6px}.lobby-btn__text,.lobby-btn__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-btn--friends{position:relative}.lobby-utility-row .lobby-btn--friends{overflow:visible;z-index:1}.tab-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;padding:6px;background:color-mix(in srgb,var(--theme-surface-solid) 92%,black 8%);border:none;border-radius:22px;box-shadow:0 12px 24px #0000003d}.tab-bar__item{position:relative;min-width:0;display:grid;justify-items:center;gap:3px;padding:8px 2px 6px;border:none;border-radius:15px;background:none;color:var(--theme-muted);cursor:pointer}.tab-bar__item svg{width:22px;height:22px}.tab-bar__item>span:not(.tab-bar__badge):not(.tab-bar__avatar){max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;letter-spacing:.03em}.tab-bar__item.is-active{color:var(--theme-accent);background:color-mix(in srgb,var(--theme-bg-0) 82%,black 8%);box-shadow:none}.tab-bar__avatar{width:24px;height:24px;display:grid;place-items:center;overflow:hidden;border:2px solid color-mix(in srgb,var(--theme-accent) 54%,white 22%);border-radius:50%;background:color-mix(in srgb,var(--theme-surface-2) 76%,black 8%);box-shadow:none}.tab-bar__avatar img{width:100%;height:100%;object-fit:cover}.tab-bar__badge{position:absolute;top:0;right:calc(50% - 22px);z-index:1;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--theme-accent);color:var(--theme-accent-text);font-size:10px;font-weight:900;line-height:16px}.lobby{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.tab-page{height:100%;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--theme-accent-line) transparent;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.tab-page>*{flex-shrink:0}.tab-page__head{position:sticky;top:0;z-index:3;padding:16px clamp(14px,4vw,24px) 10px;background:var(--theme-bg-0);border-bottom:none}.tab-page__head h1{margin:0;color:var(--theme-accent);font-size:clamp(22px,4vw,28px)}.tab-page__body{display:grid;gap:12px;width:min(640px,100%);margin:0 auto;padding:14px clamp(12px,3vw,20px) 20px}.play-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer}.play-hero__avatar{width:54px;height:54px;display:grid;place-items:center;overflow:hidden;color:var(--theme-accent-text);background:linear-gradient(180deg,var(--theme-accent-strong),var(--theme-accent));border:3px solid color-mix(in srgb,var(--theme-accent) 58%,white 26%);border-radius:50%;font-size:18px;font-weight:950;box-shadow:none}.play-hero__avatar img{width:100%;height:100%;object-fit:cover}.play-hero__id{min-width:0;display:grid;gap:2px}.play-hero__id strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px}.play-hero__id em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--theme-muted);font-size:12px;font-style:normal}.play-hero__go{color:var(--theme-accent);font-size:26px;font-weight:900}.lobby-topcard{display:grid;gap:14px;width:100%;padding:14px 12px 16px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-solid)),var(--theme-surface-solid) 34%),var(--theme-surface-solid);border:none;border-radius:26px;box-shadow:0 16px 32px #0003}.stat-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;background:transparent;border-radius:0}.stat-chip{min-width:0;display:grid;justify-items:center;gap:4px;padding:10px 6px;background:color-mix(in srgb,var(--theme-surface-2) 82%,black 4%);border-radius:13px}.stat-chip+.stat-chip{border-left:none}.stat-chip em{max-width:100%;overflow:hidden;white-space:nowrap;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.04em}.stat-chip--orange em{color:#fd9346}.stat-chip--blue em{color:#85a0f5}.stat-chip--green em{color:#6dd37e}.stat-chip strong{max-width:100%;overflow:hidden;white-space:nowrap;color:var(--theme-ink);font-size:13px;font-weight:900}.lobby-balance{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:var(--theme-ink);font-size:clamp(26px,6vw,34px);font-weight:950;font-variant-numeric:tabular-nums;letter-spacing:.01em}.lobby-balance__coin{font-size:.92em;filter:none}.lobby-level{display:grid;gap:5px}.lobby-level__row{display:flex;align-items:center;justify-content:space-between;color:var(--theme-muted);font-size:11px;font-weight:800}.lobby-level__row strong{color:var(--theme-ink)}.lobby-level__bar{height:8px;overflow:hidden;background:color-mix(in srgb,var(--theme-bg-0) 76%,white 4%);border-radius:999px}.lobby-level__bar span{display:block;height:100%;background:linear-gradient(90deg,var(--theme-accent),var(--theme-accent-strong));border-radius:inherit}.play-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.play-brand{display:flex;justify-content:center;padding:6px 0 22px}.welcome-panel{grid-template-columns:minmax(0,1fr)}.welcome-panel h1,.welcome-panel .lobby-tagline{text-align:center}.welcome-panel .lobby-tagline{justify-self:center}.welcome-logo{align-self:center;justify-self:center;margin:-4px 0 2px;max-width:100%;--dominup-size: clamp(38px, 11vw, 60px)}.play-card{min-width:0;display:grid;justify-items:start;gap:8px;padding:15px;background:color-mix(in srgb,var(--theme-surface-solid) 90%,white 3%);border:none;border-radius:20px;color:var(--theme-ink);text-align:left;cursor:pointer;box-shadow:none;transition:background .14s ease,transform .14s ease}.play-card:hover{background:color-mix(in srgb,var(--theme-surface-solid) 78%,white 8%);transform:translateY(-1px)}.play-card__icon{width:38px;height:38px;display:grid;place-items:center;color:var(--theme-accent);background:var(--theme-bg-0);border-radius:12px}.play-card__icon svg{width:20px;height:20px}.play-card strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900}.play-card em{color:var(--theme-muted);font-size:11px;font-style:normal;font-weight:700;line-height:1.35}.play-card--primary{justify-items:start;background:linear-gradient(180deg,var(--theme-cta-strong, var(--theme-accent-strong)),var(--theme-cta, var(--theme-accent)));border:none;color:var(--theme-cta-text, var(--theme-accent-text));box-shadow:none}.play-card--primary .play-card__icon{color:inherit;background:#ffffff29}.play-card--primary em{color:color-mix(in srgb,var(--theme-cta-text, var(--theme-accent-text)) 75%,transparent)}.welcome-start{width:100%;margin-top:4px}.welcome-hint{margin:0;color:#e05555;font-size:12px;font-weight:800;text-align:center}.friends-badge{position:absolute;top:-6px;right:-6px;z-index:100;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--theme-accent);color:var(--theme-accent-text);font-size:11px;font-weight:800;line-height:18px;text-align:center;box-shadow:none}.friend-invite-banner{display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--theme-accent) 18%,var(--theme-surface-solid));border:none;animation:friend-invite-blink 1.4s ease-in-out infinite}@keyframes friend-invite-blink{0%,to{box-shadow:none;opacity:1}50%{box-shadow:none;opacity:.88}}@media (prefers-reduced-motion: reduce){.friend-invite-banner{animation:none;box-shadow:none}}.friend-invite-banner__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.friend-invite-banner__text{min-width:0;flex:1;color:var(--theme-ink);font-size:14px;font-weight:700;line-height:1.25}.lobby-auth{display:flex;flex-direction:column;align-items:stretch;gap:8px}.lobby-auth:empty{display:none}.account-compact{display:flex;flex-direction:column;align-items:center;gap:10px}.account-divider{display:flex;align-items:center;gap:10px;width:100%;color:var(--theme-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.account-divider:before,.account-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--theme-accent-line),transparent)}.account-linked-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--theme-muted);font-size:12px;font-weight:600;line-height:1.3}.account-linked-note__logo{flex:none;font-size:14px}.account-linked-note strong{color:var(--theme-ink);font-weight:800;word-break:break-all}.lobby-btn--settings{position:relative;flex-direction:column;gap:5px}.lobby-btn__label{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%}.lobby-btn__palette{display:inline-flex;gap:4px;max-width:100%;overflow:hidden;padding:3px 5px;border-radius:999px;background:#0000002e;box-shadow:none}.lobby-btn__palette span{width:11px;height:11px;border-radius:3px;box-shadow:none}.dialog h2{margin:0;color:#fff9e8;font-size:18px}.dialog p{margin:0;color:#fff9e8c7;font-weight:700}.dialog-head button{width:30px;height:30px;color:#fff9e8;border:none;border-radius:12px;background:color-mix(in srgb,var(--theme-surface-2) 88%,white 3%);font-weight:900}.dialog-head .help-hint--inline{width:30px;height:30px;font-size:12px}.dialog-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px}.dialog-actions>button{min-width:0;min-height:34px;padding:0 10px;white-space:nowrap;font-size:12px}.dialog p.waiting-hint{color:#fff9e899;font-size:13px;font-weight:600}.spectator-note{margin:0;color:#fff9e8b8;font-size:13px;font-weight:700}.profile-block{display:grid;justify-items:center;gap:12px}.field{position:relative;width:100%}.field__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:#f8d978;font-size:18px;pointer-events:none}.field .text-input{width:100%;padding-left:40px;text-align:left}.field__badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;font-size:16px;pointer-events:none}.field--badged .text-input{padding-right:40px}.avatar-ring{position:relative;width:130px;height:130px;display:grid;place-items:center;margin:2px 0}.avatar-ring:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1.5px dotted rgba(247,201,86,.4)}.avatar-pick{position:relative;width:104px;height:104px;display:grid;place-items:center;border-radius:50%;border:3px solid transparent;background:linear-gradient(#120d07f5,#120d07f5) padding-box,linear-gradient(150deg,#ffe9a8,#b9842f) border-box;box-shadow:0 0 24px #f5c85052,inset 0 3px 10px #0000008c;color:#fff9e899;cursor:pointer}.avatar-pick img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-placeholder{display:grid;place-items:center;font-size:46px;color:#fff9e880}.avatar-badge{position:absolute;right:2px;bottom:2px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(150deg,#ffe09a,#d8a93f);color:#18140b;border:2px solid rgba(18,13,7,.95);font-size:15px}.avatar-caption{display:grid;justify-items:center;gap:2px;text-align:center}.avatar-caption strong{color:#f8d978;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.avatar-caption span{color:#fff9e899;font-size:12px}.seat-choice.free{border-color:#d8b25099}.seat-meta{display:inline-flex;align-items:center;gap:5px}.seat-dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #00000059}.seat-dot--red{background:#d98a8a}.seat-dot--blue{background:#8ab0e0}.seat-dot--gold{background:#e7c264}.seat-dot--green{background:#6fcfa0}.seat-status-line{font-size:10px;opacity:.85}.waiting-bar{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:9px 14px;border:none;border-radius:18px;background:var(--theme-surface-solid);box-shadow:0 14px 28px #00000038}.waiting-bar__text{display:grid;gap:2px}.waiting-bar__text strong{color:#fff9e8;font-size:14px}.waiting-bar__text span{color:#fff9e8b3;font-size:11px}.waiting-bar__actions{display:flex;gap:8px}.waiting-bar__actions .compact{display:inline-flex;align-items:center;gap:6px;min-width:auto}.waiting-bar__actions svg{width:1.1em;height:1.1em}.seat-card--sit,.head-opp-card--sit{cursor:pointer;border-style:dashed}.seat-card--sit:hover,.head-opp-card--sit:hover{border-color:#f5c84f}.seat-leave{position:absolute;top:-6px;right:-6px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;border:2px solid rgba(0,0,0,.6);background:#c0392b;color:#fff;font-size:15px;line-height:1;cursor:pointer;z-index:6}.color-button{min-width:92px;padding:0 14px}.color-button.green{background:#1d7a55}.color-button.orange{background:#c05c10}.color-button.white{color:#17211e;background:#f0ece4}.color-button.forbidden{background:#7a2424}.signal-picker{display:grid;gap:8px}.signal-picker__chips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.signal-picker--with-empty .signal-picker__chips{grid-template-columns:repeat(4,1fr)}.signal-chip{display:grid;justify-items:center;gap:3px;min-height:52px;padding:7px 6px;min-width:0;color:var(--theme-ink);border:none;border-radius:16px;background:var(--theme-surface-2);font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.signal-chip:active{transform:scale(.96)}.signal-chip__stars{display:inline-flex;gap:2px}.signal-chip__stars .star{font-size:.95rem}.signal-chip__label{max-width:100%;color:var(--theme-muted);font-size:.62rem;letter-spacing:.08em;line-height:1.2;text-align:center;text-transform:uppercase;white-space:nowrap}.signal-chip--3{background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-surface-2));box-shadow:none}.signal-chip--3:hover,.signal-chip--3:focus-visible{box-shadow:none}.signal-chip--2:hover,.signal-chip--2:focus-visible{box-shadow:none}.signal-chip--1:hover,.signal-chip--1:focus-visible{box-shadow:none}.signal-chip--0{background:color-mix(in srgb,var(--theme-surface-2) 78%,black 10%)}.signal-chip--0:hover,.signal-chip--0:focus-visible{box-shadow:none}.signal-skip{justify-self:center;min-height:32px;font-size:12px}.toast{position:fixed;z-index:30;left:50%;bottom:14px;max-width:min(680px,calc(100vw - 28px));padding:10px 14px;color:#fff9e8;border:1px solid rgba(247,201,86,.42);border-radius:8px;background:#1c140cf7;font-size:13px;font-weight:900;transform:translate(-50%)}.install-prompt{position:fixed;z-index:35;left:50%;bottom:14px;display:flex;align-items:center;gap:12px;width:min(420px,calc(100vw - 28px));padding:12px 14px;color:#fff9e8;border:1px solid rgba(247,201,86,.42);border-radius:8px;background:#1c140cf7;box-shadow:0 18px 42px #00000057;transform:translate(-50%)}.install-prompt__icon{width:34px;height:34px;flex:0 0 auto;background:linear-gradient(90deg,transparent calc(50% - 1px),#17120d calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),radial-gradient(circle at 30% 35%,#16110d 0 9%,transparent 10%),radial-gradient(circle at 68% 64%,#16110d 0 9%,transparent 10%),#fffdf0;border:2px solid #17120d;border-radius:7px;box-shadow:0 3px 8px #0000003d}.install-prompt__body{display:grid;flex:1;gap:4px;min-width:0}.install-prompt__body strong{font-size:.86rem}.install-prompt__body p{margin:0;color:#fff9e8c7;font-size:.74rem;font-weight:600;line-height:1.3}.install-prompt__actions{display:grid;flex:0 0 auto;gap:6px}.install-prompt__actions button{min-height:34px;font-size:.78rem}.panel,.brand-panel{color:var(--theme-text);border-color:var(--theme-accent-line);background:var(--theme-surface-solid)}.panel h1,.brand-panel h1,.dialog h2,.waiting-bar__text strong{color:var(--theme-text)}.eyebrow,.section-head,.field__icon,.avatar-caption strong,.mode-card__icon,.seat-choice span{color:var(--theme-accent-2)}.diamond-rule span,.primary-button,.mode-card__divider{background:var(--theme-accent)}.diamond-rule span{box-shadow:none}.diamond-rule:before,.diamond-rule:after,.section-head:after{background:linear-gradient(90deg,transparent,var(--theme-accent-soft))}.text-input{color:var(--theme-text);background:color-mix(in srgb,var(--theme-surface-2) 82%,white 4%)}.text-input:focus{box-shadow:inset 0 0 0 1px var(--theme-accent-line)}.primary-button{color:var(--theme-accent-text)}.secondary-button,.mode-card,.seat-choice,.info-note,.dialog-head button{color:var(--theme-text);background:color-mix(in srgb,var(--theme-surface-2) 88%,white 3%)}.mode-card{background:var(--theme-surface-2)}.mode-card--selected,.seat-choice.selected{background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-surface-2));box-shadow:none}.mode-card__caption,.info-note,.dialog p,.spectator-note,.avatar-caption span,.waiting-bar__text span,.install-prompt__body p{color:var(--theme-muted)}.dialog,.waiting-bar,.toast,.install-prompt{color:var(--theme-text);border-color:transparent;background:var(--theme-surface-solid)}.inline-error{color:var(--theme-accent-2)}.theme-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.theme-choice{display:grid;gap:6px;min-width:0;padding:8px;color:var(--theme-muted);background:color-mix(in srgb,var(--theme-surface-2) 86%,black 4%);border:none;border-radius:14px;font-size:.64rem;font-weight:900;cursor:pointer}.theme-choice--selected{color:var(--theme-text);background:color-mix(in srgb,var(--theme-accent) 22%,var(--theme-surface-2));box-shadow:none}.theme-choice__swatches{display:grid;grid-template-columns:repeat(5,1fr);height:18px;overflow:hidden;border-radius:6px;box-shadow:none}.theme-choice__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 680px){.lobby{padding:12px}.brand-panel{width:min(430px,calc(100vw - 24px));padding:16px}.brand-panel h1{font-size:32px}.dialog{width:min(420px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow-y:auto;padding:11px}.dialog-head{align-items:flex-start}.dialog-head h2{font-size:17px;line-height:1.16}.dialog-actions{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.signal-picker__chips{grid-template-columns:repeat(3,minmax(0,1fr))}.signal-picker--with-empty .signal-picker__chips{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-utility-row{gap:6px}.lobby-utility-row .lobby-btn{min-height:46px;padding:0 6px;font-size:12px}.lobby-btn__palette{gap:3px;padding:2px 4px}.lobby-btn__palette span{width:8px;height:8px}}@media (max-width: 380px){.lobby-btn__palette{display:none}}@media (orientation: portrait) and (max-width: 1100px){.app-shell.is-game{position:fixed;top:0;left:0;width:100vh;width:100dvh;height:100vw;height:100dvw;transform-origin:top left;transform:rotate(90deg) translateY(-100%)}.app-shell.is-game .dialog,.app-shell.is-game .help-topic-card,.app-shell.is-game .game-recap__panel{max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:auto;transform:translateZ(0)}.app-shell.is-game .dialog{width:min(440px,calc(100% - 8px))}.app-shell.is-game .help-topic-card{width:min(420px,calc(100% - 8px))}.app-shell.is-game .game-recap__panel{width:min(520px,calc(100% - 8px));max-height:calc(100% - 8px)}.app-shell.is-game .game-recap__scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:auto;transform:translateZ(0)}.app-shell.is-game .help-popup__panel{max-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;transform:translateZ(0)}.app-shell.is-game .replay-library{max-height:calc(100% - 8px);width:min(520px,calc(100% - 8px));overscroll-behavior:contain;transform:translateZ(0)}.app-shell.is-game .replay-coach-panel{overscroll-behavior:contain;transform:translate(-50%) translateZ(0)}}@media (orientation: landscape) and (max-height: 560px){.app-shell:not(.is-game){position:fixed;top:0;left:0;width:100vh;width:100dvh;height:100vw;height:100dvw;transform-origin:top left;transform:rotate(-90deg) translate(-100%)}.app-shell:not(.is-game) .lobby-col{width:min(440px,calc(100dvh - 32px));max-height:calc(100dvw - 24px)}.app-shell:not(.is-game) .profile-page,.app-shell:not(.is-game) .tab-page{overscroll-behavior:contain;transform:translateZ(0)}}
