.poker-card{width:66px;height:90px;border-radius:8px;position:relative;perspective:1000px}.poker-card .poker-card-back,.poker-card .poker-card-front{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;transition:transform .7s ease}.poker-card .poker-card-front{display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;padding:6px;box-sizing:border-box;box-shadow:0 2px 4px rgba(0,0,0,.1);background:#fff;border:1px solid #d6d6d6;z-index:1;transform:rotateY(0deg);border-radius:4px;line-height:14px}.poker-card .poker-card-front .poker-card-suit{font-size:20px}.poker-card .poker-card-front .poker-card-rank{width:100%;text-align:left}.poker-card .poker-card-front .poker-card-rank-bottom{transform:rotate(180deg)}.poker-card .poker-card-back{background-image:url(/back.png);background-size:100% 100%;background-repeat:no-repeat}.poker-card .poker-card-back,.poker-card.poker-card-flipped .poker-card-front{z-index:0;transform:rotateY(180deg)}.poker-card.poker-card-flipped .poker-card-back{transform:rotateY(0deg);z-index:2}.game-page-container{width:100%;height:100vh;position:relative;overflow:hidden;z-index:0}.connection-status-bar{width:min(88vw,380px);display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;border:1px solid rgba(255,228,152,.18);background:rgba(67,43,24,.88);box-shadow:0 12px 24px rgba(0,0,0,.22);backdrop-filter:blur(8px)}.connection-status-bar--connected{border-color:rgba(107,200,129,.28)}.connection-status-bar--connecting,.connection-status-bar--reconnecting{border-color:rgba(255,205,87,.35)}.connection-status-bar--disconnected,.connection-status-bar--expired{border-color:rgba(255,135,135,.3)}.connection-status-dot{width:10px;height:10px;border-radius:999px;background:#74d47f;flex-shrink:0}.connection-status-bar--connecting .connection-status-dot,.connection-status-bar--reconnecting .connection-status-dot{background:#ffd15b}.connection-status-bar--disconnected .connection-status-dot,.connection-status-bar--expired .connection-status-dot{background:#ff7c7c}.connection-status-copy{min-width:0;flex:1}.connection-status-title{color:#ffe498;font-size:13px;font-weight:700;line-height:1.2}.connection-status-detail{color:rgba(255,228,152,.75);font-size:11px;line-height:1.3;margin-top:2px}.connection-status-pill{flex-shrink:0;padding:5px 8px;border-radius:999px;background:rgba(255,228,152,.14);color:#ffe498;font-size:11px;font-weight:700;line-height:1}.desktop-background{width:94%;height:88%;background:radial-gradient(circle at center,rgba(0,0,0,.1) 0,rgba(0,0,0,.5) 100%),#183f25;border:17px solid #462f1e;outline:4px solid #553926;box-sizing:border-box;box-shadow:inset 0 0 15px rgba(0,0,0,.9);border-radius:208px;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;z-index:-1}.custom-modal{min-width:82vw;max-width:400px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9;background:#614427;box-shadow:0 18px 40px rgba(0,0,0,.42),0 4px 14px rgba(0,0,0,.18),inset 0 0 25px rgba(0,0,0,.5);border:2px solid #4d3015;border-radius:16px}.room-modal{opacity:0;transform:translate(-50%,-46%) scale(.96);transform-origin:center;transition:opacity .24s ease,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease;will-change:opacity,transform}.room-modal--visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.room-modal--hidden{opacity:0;transform:translate(-50%,-45%) scale(.97);pointer-events:none}.room-modal__body{overflow:hidden;transition:height .28s cubic-bezier(.22,1,.36,1)}.room-modal__content{display:flex;flex-direction:column;gap:16px}.custom-button{background:#955d29;box-shadow:inset 0 0 12px rgba(0,0,0,.411);color:#dbac6e;border:1px solid #4d3015;font-weight:700;border-radius:6px}.custom-button-general{background:#77512d}.text-chips{color:#dbb81c}.placeholder-sm{font-size:14px}.placeholder-sm::placeholder{font-size:12px}.community-cards-container{width:80vw;max-width:400px}.community-cards-container .community-cards-wrapper{display:flex;justify-content:space-between;align-items:center}.community-cards-container .community-cards-wrapper .card-slot{width:70px;height:90px;border:1px dashed rgba(248,248,248,.1764705882);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:border-color .24s ease,background-color .24s ease,transform .28s cubic-bezier(.22,1,.36,1)}.community-cards-container .community-cards-wrapper .card-slot--filled{border-color:rgba(255,228,152,.22);background:hsla(0,0%,100%,.04)}.community-cards-container .community-cards-wrapper .poker-card{width:92%;height:95%;max-width:100%;max-height:100%}.community-card-reveal{width:100%;height:100%;display:flex;align-items:center;justify-content:center;animation:community-card-enter .28s cubic-bezier(.22,1,.36,1)}.community-card-reveal__card{width:92%;height:95%;max-width:100%;max-height:100%;flex-shrink:0;will-change:transform,opacity}.player-area-container,.table-top-area{width:100%}.action-hint-card{width:min(92vw,430px);margin:0 auto 12px;padding:8px 12px;border-radius:14px;background:rgba(92,62,33,.92);border:1px solid rgba(255,228,152,.12);box-shadow:0 10px 18px rgba(0,0,0,.18)}.action-hint-copy{animation:action-hint-swap .24s cubic-bezier(.22,1,.36,1)}.action-hint-title{color:#ffe498;font-size:13px;font-weight:700;line-height:1.2}.action-hint-detail{color:rgba(255,228,152,.78);font-size:11px;line-height:1.4;margin-top:4px}.quick-bet-buttons{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none;transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}.quick-bet-buttons::-webkit-scrollbar{display:none}.quick-bet-button{flex:0 0 auto;min-width:76px;min-height:40px;padding:6px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;line-height:1.15}.quick-bet-button strong{font-size:13px;color:#5b3b18}.quick-bet-hint{margin-top:8px;color:rgba(255,228,152,.72);font-size:11px;line-height:1.35;overflow:hidden;transition:max-height .24s ease,opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1),margin-top .24s ease}.quick-bet-hint--visible{max-height:60px;opacity:1;transform:translateY(0)}.quick-bet-hint--hidden{max-height:0;opacity:0;transform:translateY(-8px);margin-top:0;pointer-events:none}.bet-controls-row{display:flex;align-items:flex-start;gap:10px;transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}.bet-input{width:108px;min-width:108px;text-align:center}.players{width:100%;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap}.players .player-item{width:23%;background:#66492c;padding:5px;border-radius:10px;border:1px solid #825933;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .24s ease,box-shadow .24s ease,background-color .24s ease}.players .player-current{position:relative;transform:translateY(-2px);border-color:rgba(255,228,152,.42);box-shadow:0 10px 20px rgba(0,0,0,.2);background:#715033}.player-message-bubble{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;padding:3px 8px;border-radius:999px;background:rgba(255,228,152,.12);color:#ffe7b8;line-height:1.35;animation:player-message-enter .24s cubic-bezier(.22,1,.36,1)}.player-message-bubble__icon{flex-shrink:0;font-size:12px}.player-message-bubble__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.winner-community-cards{display:flex;align-items:center;justify-content:space-around;gap:6px}.winner-community-cards .poker-card{width:66px;height:88px}.title-color{color:#eebe46}.winner-overlay{position:fixed;inset:0;z-index:20;padding:16px;background:rgba(0,0,0,0);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s ease,background-color .22s ease}.winner-overlay--visible{opacity:1;background:rgba(0,0,0,.42)}.winner-overlay--hidden{opacity:0;background:rgba(0,0,0,0);pointer-events:none}.winner-modal{width:min(92vw,440px);max-height:calc(100vh - 32px);overflow-y:auto;opacity:0;transform:translate(-50%,-46%) scale(.96);transition:opacity .24s ease,transform .3s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.winner-overlay--visible .winner-modal{opacity:1;transform:translate(-50%,-50%) scale(1)}.winner-overlay--hidden .winner-modal{opacity:0;transform:translate(-50%,-45%) scale(.97)}.winner-summary{padding:10px 12px;border-radius:14px;background:rgba(141,96,46,.34);border:1px solid rgba(255,228,152,.12)}.winner-section{opacity:0;transform:translateY(14px)}.winner-section--delay-1{animation-delay:.04s}.winner-section--delay-2{animation-delay:.1s}.winner-section--delay-3{animation-delay:.16s}.winner-section--delay-4{animation-delay:.22s}.winner-section--delay-5{animation-delay:.28s}.winner-overlay--visible .winner-section{animation:winner-section-enter .38s cubic-bezier(.22,1,.36,1) forwards}.winner-summary__title{color:#ffe498;font-size:15px;font-weight:700}.winner-summary__detail{margin-top:4px;color:rgba(255,228,152,.78);font-size:12px;line-height:1.4}.winner-list{display:flex;flex-direction:column;gap:10px}.winner-list__item{padding:10px 12px;border-radius:14px;background:rgba(82,56,30,.84);border:1px solid rgba(255,228,152,.12);opacity:0;transform:translateY(12px)}.winner-overlay--visible .winner-list__item{animation:winner-item-enter .34s cubic-bezier(.22,1,.36,1) forwards}.winner-overlay--visible .winner-list__item:first-child{animation-delay:.22s}.winner-overlay--visible .winner-list__item:nth-child(2){animation-delay:.28s}.winner-overlay--visible .winner-list__item:nth-child(3){animation-delay:.34s}.winner-overlay--visible .winner-list__item:nth-child(4){animation-delay:.4s}.winner-overlay--visible .winner-list__item:nth-child(5){animation-delay:.46s}.winner-overlay--visible .winner-list__item:nth-child(n+6){animation-delay:.52s}.winner-list__meta{display:flex;align-items:center;gap:8px;color:#ffe7b8}.winner-list__badge{padding:2px 8px;border-radius:999px;background:#eebe46;color:#6b4118;font-size:11px;font-weight:700}.winner-list__cards{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.winner-list__cards .poker-card{width:52px;height:72px}.settlement-ranking{display:flex;flex-direction:column;gap:8px}.settlement-ranking__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(82,56,30,.72);color:#ffe7b8;opacity:0;transform:translateY(12px)}.winner-overlay--visible .settlement-ranking__item{animation:winner-item-enter .34s cubic-bezier(.22,1,.36,1) forwards}.winner-overlay--visible .settlement-ranking__item:first-child{animation-delay:.3s}.winner-overlay--visible .settlement-ranking__item:nth-child(2){animation-delay:.35s}.winner-overlay--visible .settlement-ranking__item:nth-child(3){animation-delay:.4s}.winner-overlay--visible .settlement-ranking__item:nth-child(4){animation-delay:.45s}.winner-overlay--visible .settlement-ranking__item:nth-child(5){animation-delay:.5s}.winner-overlay--visible .settlement-ranking__item:nth-child(n+6){animation-delay:.55s}.settlement-ranking__item--winner{border:1px solid rgba(238,190,70,.42);box-shadow:inset 0 0 0 1px rgba(255,228,152,.08)}.settlement-ranking__left{min-width:0;display:flex;align-items:center;gap:8px}.settlement-ranking__place{width:30px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,228,152,.12);color:#ffe498;font-size:11px;font-weight:700}.settlement-footer-card{padding:12px;border-radius:14px;background:rgba(82,56,30,.78);border:1px solid rgba(255,228,152,.12);color:#ffe7b8;box-shadow:0 8px 18px rgba(0,0,0,.14)}.settlement-footer-card--summary{gap:10px}.settlement-footer-card--action,.settlement-footer-card--summary,.settlement-footer-stack{display:flex;flex-direction:column}.settlement-footer-stack{gap:14px}.settlement-footer-list{display:flex;flex-direction:column;gap:8px}.settlement-footer-list__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:10px;background:rgba(255,228,152,.05)}.settlement-action-note__title{color:#ffe498;font-size:14px;font-weight:700;line-height:1.25}.settlement-action-note__detail{margin-top:4px;color:rgba(255,228,152,.78);font-size:12px;line-height:1.45}.settlement-action-buttons{display:flex;flex-direction:column;gap:10px;margin-top:14px}.waiting-panel{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:14px;background:rgba(92,62,33,.88);color:#ffe498;box-shadow:0 8px 16px rgba(0,0,0,.16);overflow:hidden;transition:max-height .3s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1),padding .24s ease,margin .24s ease,border-color .24s ease,box-shadow .24s ease}.waiting-panel--visible{max-height:120px;opacity:1;transform:translateY(0)}.waiting-panel--hidden{max-height:0;opacity:0;transform:translateY(10px);padding-top:0;padding-bottom:0;margin:0;border-color:rgba(0,0,0,0);box-shadow:none;pointer-events:none}.waiting-panel__title{font-size:12px;font-weight:700}.waiting-panel__detail{font-size:11px;line-height:1.35;color:rgba(255,228,152,.74)}.bottom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px calc(env(safe-area-inset-bottom, 0px) + 2px);pointer-events:none;margin-top:20px}.bottom-toolbar>*{pointer-events:auto}.bottom-toolbar__slot{pointer-events:auto;opacity:0;transform:translateY(10px) scale(.96);animation:toolbar-slot-enter .32s cubic-bezier(.22,1,.36,1) forwards}.bottom-toolbar__slot--nav{animation-delay:.04s}.bottom-toolbar__slot--chips{animation-delay:.1s}.bottom-toolbar__slot--message{animation-delay:.16s}.player-actions-panel{width:min(92vw,430px);margin-left:auto;margin-right:auto;box-sizing:border-box;display:flex;flex-direction:column;gap:10px}.turn-actions{display:flex;flex-direction:column;overflow:hidden;transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1)}.turn-actions>*{transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}.turn-actions--visible{max-height:480px}.turn-actions--visible,.turn-actions--visible>*{opacity:1;transform:translateY(0)}.turn-actions--hidden{max-height:0;opacity:0;transform:translateY(10px);pointer-events:none}.turn-actions--hidden>*{opacity:0;transform:translateY(8px)}.player-actions-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1)}@keyframes community-card-enter{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes action-hint-swap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes player-message-enter{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes winner-section-enter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-item-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toolbar-slot-enter{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.connection-status-bar{width:min(94vw,360px);gap:8px;padding:7px 10px}.connection-status-title{font-size:12px}.connection-status-detail{font-size:10px}.connection-status-pill{padding:4px 7px;font-size:10px}.desktop-background{width:96%;height:90%;border-width:12px;outline-width:3px;border-radius:140px}.table-top-area{top:64px}.players .player-item{width:48%;margin-bottom:8px}.community-cards-container{width:88vw;top:35%}.player-area-container{top:51%}.bet-controls-row{align-items:flex-start;gap:8px}.bet-input{width:92px;min-width:92px}.quick-bet-buttons{flex:1}.quick-bet-button{min-width:68px;min-height:38px;padding:5px 6px}.bottom-toolbar{gap:10px;padding:0 16px calc(env(safe-area-inset-bottom, 0px) + 2px)}.winner-overlay{align-items:flex-end;padding:10px}.winner-modal{width:100%;max-height:calc(100vh - 20px)}.winner-list__cards .poker-card{width:66px;height:88px}}