:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:16px/1.5 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{min-height:100vh;margin:0;padding:0}*{box-sizing:border-box}button{font-family:inherit}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){filter:brightness(.92)}button:disabled{cursor:not-allowed;opacity:.5}.cosmic-bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.cosmic-bg:before,.cosmic-bg:after{content:"";opacity:.7;background-image:radial-gradient(1px 1px at 12% 25%,#ffffffd9,#0000 50%),radial-gradient(1.5px 1.5px at 27% 70%,#c7d2fecc,#0000 50%),radial-gradient(1px 1px at 48% 18%,#ffffffb3,#0000 50%),radial-gradient(1.2px 1.2px at 65% 55%,#c4b5fdb3,#0000 50%),radial-gradient(1px 1px at 82% 33%,#ffffffe6,#0000 50%),radial-gradient(1.5px 1.5px at 92% 78%,#a5f3fcbf,#0000 50%),radial-gradient(1px 1px at 9% 88%,#fff9,#0000 50%),radial-gradient(1.2px 1.2px at 55% 92%,#c4b5fdb3,#0000 50%),radial-gradient(1px 1px at 38% 42%,#fffc,#0000 50%),radial-gradient(1.5px 1.5px at 73% 12%,#ffffffd9,#0000 50%);background-size:100% 100%;animation:90s linear infinite starsDrift;position:absolute;inset:0}.cosmic-bg:after{opacity:.5;background-image:radial-gradient(1.5px 1.5px at 22% 35%,#22d3eeb3,#0000 50%),radial-gradient(1px 1px at 70% 22%,#a855f799,#0000 50%),radial-gradient(2px 2px at 50% 78%,#22d3ee80,#0000 50%),radial-gradient(1px 1px at 88% 60%,#a855f7b3,#0000 50%),radial-gradient(1.5px 1.5px at 15% 65%,#f43f5e80,#0000 50%);animation-duration:120s;animation-direction:reverse}@keyframes starsDrift{0%{transform:translate(0)}50%{transform:translate(-20px,30px)}to{transform:translate(0)}}.cosmic-grid{z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,#6366f114 1px,#0000 1px),linear-gradient(#6366f114 1px,#0000 1px);background-size:60px 60px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000000b3 0%,#0000 70%);mask-image:radial-gradient(#000000b3 0%,#0000 70%)}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 8px var(--text-accent)) drop-shadow(0 0 16px var(--primary-glow))}50%{filter:drop-shadow(0 0 14px var(--text-accent)) drop-shadow(0 0 28px var(--primary-glow))}}.logo-pulse{animation:3s ease-in-out infinite logoGlow}@keyframes cardDealIn{0%{opacity:0;transform:translateY(140px)scale(.6)rotate(-12deg)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.card-deal-in{animation:.5s cubic-bezier(.2,.8,.3,1.1) both cardDealIn}.card-deal-in:nth-child(2){animation-delay:60ms}.card-deal-in:nth-child(3){animation-delay:.12s}.card-deal-in:nth-child(4){animation-delay:.18s}.glass-panel{background:var(--surface-glass);-webkit-backdrop-filter:blur(12px)saturate(140%);border:1px solid var(--border);box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff0f}@keyframes pulseGlow{0%,to{box-shadow:0 0 8px var(--danger,#ef4444);transform:scale(1)}50%{box-shadow:0 0 18px var(--danger,#ef4444), 0 0 24px var(--danger,#ef4444);transform:scale(1.06)}}@keyframes turnPulse{0%,to{box-shadow:0 0 0 0 var(--primary-glow), var(--shadow-md)}50%{box-shadow:0 0 0 10px transparent, var(--shadow-md), 0 0 28px var(--primary-glow)}}.turn-pulse{animation:2s ease-in-out infinite turnPulse}@keyframes ownHandFloat{0%,to{opacity:1;filter:brightness()}50%{opacity:.55;filter:brightness(1.3)}}.own-hand-cell{animation:1.8s ease-in-out infinite ownHandFloat}.public-card-map-layer{width:100%}.public-card-map-toggle{cursor:pointer;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.public-card-map-player-legend{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.public-card-map-player-chip{border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.public-card-map-player-dot,.public-card-map-history-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.public-card-map-history-content,.public-card-map-history-dots{justify-content:center;align-items:center;gap:2px;display:inline-flex}@keyframes cardBackRankPulse{0%,to{opacity:.18;transform:scale(.96)}50%{opacity:.55;transform:scale(1.04)}}.card-back-rank-overlay{animation:2.4s ease-in-out infinite cardBackRankPulse}@keyframes nextRankGlow{0%,to{filter:drop-shadow(0 0 4px var(--primary-glow))}50%{filter:drop-shadow(0 0 12px var(--primary-glow)) drop-shadow(0 0 18px var(--primary-glow))}}.next-rank-glow{animation:2.6s ease-in-out infinite nextRankGlow}.modal-slot{width:100%;transition:min-height .18s}.modal-slot:empty{display:none}.btn-glow{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;border:1px solid var(--border-accent);cursor:pointer;letter-spacing:.5px;box-shadow:0 4px 12px var(--primary-glow), inset 0 1px 0 #fff3;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:800;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.btn-glow:hover:not(:disabled){box-shadow:0 8px 20px var(--primary-glow), inset 0 1px 0 #ffffff4d;transform:translateY(-1px)}.btn-glow:active:not(:disabled){transform:translateY(0)}.btn-danger{background:linear-gradient(135deg, var(--danger) 0%, #b91c1c 100%);box-shadow:0 4px 12px #f43f5e66,inset 0 1px #fff3}.btn-danger:hover:not(:disabled){box-shadow:0 8px 20px #f43f5e80,inset 0 1px #ffffff4d}.settings-section-select{display:none}@media (width<=600px){.settings-panel{max-height:calc(100vh - 24px)!important;padding:14px!important}.settings-section-select{width:100%;margin-bottom:12px;display:block}.settings-section{display:none}.settings-section.settings-section-active{display:block}.settings-panel .settings-header{margin-bottom:10px!important;padding-bottom:8px!important}.settings-panel .settings-section{margin-bottom:10px!important}.settings-panel .settings-item-row{padding:7px 9px!important}.settings-panel .settings-item-description{display:none}.settings-panel .settings-preview-panel{margin-top:8px!important;padding:8px!important}.settings-panel .settings-footer{margin-top:10px!important;padding-top:8px!important}.room-waiting-panel{border-radius:10px!important;padding:10px!important}.room-waiting-title{margin-bottom:8px!important}.room-code-panel{margin-bottom:7px!important;padding:7px 12px!important}.room-waiting-count{margin-bottom:7px!important}.room-player-list{gap:4px!important;margin-bottom:9px!important}.room-player-row{padding:6px 10px!important}.room-settings-panel{margin-bottom:8px!important;padding:8px!important}.room-setting-slider{margin-top:4px!important}.room-actions .btn-glow{padding:10px!important}.public-card-map-layer{margin-top:3px;padding:0;position:static;overflow:visible}.game-screen{padding:5px!important;padding-top:calc(5px + var(--devmode-banner-h,0px))!important}.phase-banner{gap:5px!important;margin-bottom:4px!important;padding:4px 7px!important}.game-table-layout{gap:3px!important}.game-middle-row{gap:5px!important}.opponent-seat{border-radius:9px!important;gap:3px!important;padding:5px!important}.opponent-seat-left,.opponent-seat-right{min-width:68px!important;max-width:72px!important}.opponent-seat-top{min-width:142px!important;max-width:190px!important}.center-pile{border-radius:10px!important;min-height:94px!important;padding:5px!important}.center-pile-field-badge{border-radius:8px!important;top:5px!important;left:5px!important}.center-pile-field-badge-content{padding:4px 8px!important}.center-pile-timer-badge{border-radius:8px!important;min-width:50px!important;padding:4px 6px!important;top:5px!important;right:5px!important}.center-pile-timer-value{font-size:22px!important}.center-pile-stack{min-height:48px!important}.center-pile-info{margin-top:1px!important}.viewer-seat{border-radius:9px!important;padding:5px!important}.game-action-panel{gap:5px!important;margin-top:4px!important;margin-bottom:3px!important;padding:5px!important}.game-footer-action{margin-top:5px!important}.card-view:not(.card-view-small){border-radius:6px!important;width:40px!important;height:58px!important;margin:2px!important}.card-view-selected{transform:translateY(-8px)scale(1.03)!important}.card-view-inner-border{border-radius:3px!important;inset:3px!important}.card-view-rank{font-size:10px!important}.card-view-rank-top{top:2px!important;left:3px!important}.card-view-rank-bottom{bottom:2px!important;right:3px!important}.card-view-suit{font-size:22px!important}.card-view-joker-label{font-size:9px!important}.card-view-joker-mark{font-size:26px!important}.card-back-rank-overlay{letter-spacing:0!important;font-size:30px!important}.public-card-map{border-radius:7px!important;margin-bottom:0!important;padding:6px!important}.public-card-map-header{gap:5px!important;margin-bottom:4px!important}.public-card-map-header>span:first-child{font-size:12px!important}.public-card-map-toggle{padding:3px 7px!important;font-size:10px!important}.public-card-map-player-legend{gap:3px!important;margin-bottom:4px!important}.public-card-map-player-chip{gap:3px!important;padding:2px 4px!important;font-size:9px!important}.public-card-map-stats{gap:4px!important;font-size:9px!important;line-height:1.05!important}.public-card-map-table-wrap{overflow:visible!important}.public-card-map-table{border-spacing:2px!important;min-width:0!important}.public-card-map-rank{border-radius:2px!important;padding:0!important;font-size:10px!important}.public-card-map-suit{border-radius:2px!important;padding:0!important;font-size:14px!important}.public-card-map-cell{border-radius:2px!important;height:22px!important;padding:0!important;font-size:10px!important;line-height:1!important}.public-card-map-legend{display:none!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
