*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--text-primary: #3a2817;--text-secondary: #5a4a3a}@media (prefers-color-scheme: dark){:root{--text-primary: #d4c5a0;--text-secondary: #b8a888}}body.dark-mode{--text-primary: #d4c5a0;--text-secondary: #b8a888}html,body{width:100%;height:100%;margin:0;padding:0}body{min-width:320px;min-height:100vh;background-color:#f9f1e6;background-image:url(/assets/background-Ces2v1qt.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;position:relative;overflow-x:hidden;color:var(--text-primary);transition:background-image .3s ease,color .3s ease}@media (prefers-color-scheme: dark){body{background-image:url(/assets/background_dark-BQ74hq9f.jpg)}}body.dark-mode{background-image:url(/assets/background_dark-BQ74hq9f.jpg)}#root{width:100%;height:100%;position:relative;z-index:10}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:1000}.splash-logo{max-width:300px;height:auto;opacity:0;animation:fadeIn 2s ease-in-out forwards}.main-menu{min-height:100vh;max-width:900px;margin:0 auto;position:relative;color:var(--text-primary)}.header{padding:20px;position:absolute;top:0;left:0}.header-logo{width:150px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.menu-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px}.title-banner{max-width:450px;width:100%;height:auto;margin-bottom:50px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.game-modes{display:flex;gap:40px;flex-wrap:wrap;justify-content:center}.game-mode{cursor:pointer;transition:transform .3s ease;display:flex;flex-direction:column;align-items:center;gap:0}.game-mode:hover{transform:scale(1.05)}.game-mode-image{width:250px;height:auto;display:block;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.banner-container{position:relative;display:inline-block}.game-mode-overlay{width:200px;height:auto;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3));display:block}.banner-text{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);color:#fff;font-family:Arial,sans-serif;font-size:18px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.8);pointer-events:none;white-space:nowrap}@media (prefers-color-scheme: dark){.banner-text{color:var(--text-primary);text-shadow:2px 2px 4px rgba(255,255,255,.3)}}@media (max-width: 768px){.header-logo{width:100px}.title-banner{max-width:70%}.game-modes{flex-direction:column;gap:20px}.game-mode-image{width:160px}.game-mode-overlay{width:128px}.banner-text{font-size:14px}}.start-game-dialog-backdrop{position:fixed;inset:0;background-color:#0009;z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.start-game-dialog{background-color:#000000e6;border-radius:12px;padding:0;width:400px;max-width:90vw;box-shadow:0 4px 20px #00000080;animation:slideIn .3s ease-out;font-family:Arial,sans-serif;overflow:hidden}.start-game-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.start-game-dialog-header h2{margin:0;color:gold;font-size:20px;font-weight:700}.start-game-dialog-close{background:none;border:none;color:gold;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.start-game-dialog-close:hover{transform:scale(1.1)}.start-game-dialog-content{padding:20px}.start-game-dialog-section{margin-bottom:24px}.start-game-dialog-label{display:block;color:#fff;font-size:16px;margin-bottom:12px;font-weight:500}.start-game-dialog-options{display:flex;gap:12px;justify-content:center}.start-game-dialog-option{border:2px solid rgba(255,255,255,.3);background-color:#ffffff1a;color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:18px;font-weight:700;transition:all .2s ease;min-width:60px}.start-game-dialog-option:hover{background-color:#fff3;border-color:#ffffff80}.start-game-dialog-option.selected{background-color:gold;color:#000;border-color:gold}.start-game-dialog-option.selected:hover{background-color:#ffed4e;border-color:#ffed4e}.start-game-dialog-toggle-group{display:flex;gap:0;background-color:#ffffff1a;border-radius:8px;padding:4px}.start-game-dialog-toggle{flex:1;border:none;background-color:transparent;color:#ffffffb3;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.start-game-dialog-toggle:hover:not(.selected){color:#fff;background-color:#ffffff1a}.start-game-dialog-toggle.selected{background-color:gold;color:#000;font-weight:700}.start-game-dialog-toggle.selected:hover{background-color:#ffed4e}.start-game-dialog-actions{display:flex;gap:12px;justify-content:center;margin-top:32px}.start-game-dialog-button{border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;min-width:100px}.start-game-dialog-button.cancel{background-color:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.start-game-dialog-button.cancel:hover{background-color:#fff3;border-color:#ffffff80}.start-game-dialog-button.start{background-color:gold;color:#000}.start-game-dialog-button.start:hover{background-color:#ffed4e;transform:translateY(-1px);box-shadow:0 2px 8px #ffd70066}.start-game-dialog-button.start:active{transform:translateY(0)}@media (max-width: 768px){.start-game-dialog{width:320px}.start-game-dialog-header h2{font-size:18px}.start-game-dialog-label{font-size:14px}.start-game-dialog-option{padding:10px 20px;font-size:16px}.start-game-dialog-actions{flex-direction:column-reverse;gap:8px}.start-game-dialog-button{width:100%}.start-game-dialog-toggle{font-size:13px;padding:8px 12px}}.invite-friends-dialog-backdrop{position:fixed;inset:0;background-color:#0009;z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.invite-friends-dialog{background-color:#000000e6;border-radius:12px;padding:0;width:400px;max-width:90vw;box-shadow:0 4px 20px #00000080;animation:slideIn .3s ease-out;font-family:Arial,sans-serif;overflow:hidden}.invite-friends-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.invite-friends-dialog-header h2{margin:0;color:gold;font-size:20px;font-weight:700}.invite-friends-dialog-close{background:none;border:none;color:gold;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.invite-friends-dialog-close:hover{transform:scale(1.1)}.invite-friends-dialog-content{padding:20px}.invite-friends-dialog-room-code{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;padding:12px;background-color:#ffffff1a;border-radius:8px}.room-code-label{color:#ffffffb3;font-size:14px}.room-code-value{color:gold;font-size:20px;font-weight:700;letter-spacing:2px}.invite-friends-dialog-share-button{width:100%;padding:12px 24px;margin-bottom:24px;background-color:gold;color:#000;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.invite-friends-dialog-share-button:hover{background-color:#ffed4e;transform:translateY(-1px);box-shadow:0 2px 8px #ffd70066}.invite-friends-dialog-share-button:active{transform:translateY(0)}.invite-friends-dialog-share-button .share-icon{width:20px;height:20px;flex-shrink:0}.invite-friends-dialog-share-button span{flex:1}.invite-friends-dialog-players{margin-bottom:20px}.players-title{color:#fff;font-size:16px;margin:0 0 12px;font-weight:500}.players-list{display:flex;flex-direction:column;gap:8px}.player-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:#ffffff0d;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.player-name{color:#fff;font-size:14px}.player-status{display:flex;align-items:center}.status-bubble{font-size:12px;line-height:1}.status-bubble.online{color:#4ade80;animation:pulse 2s ease-in-out infinite}.status-bubble.waiting{color:#ffffff4d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.invite-friends-dialog-message{padding:12px;border-radius:6px;text-align:center;margin-bottom:20px;font-size:14px;font-weight:500}.invite-friends-dialog-message.success{background-color:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.invite-friends-dialog-actions{display:flex;justify-content:center}.invite-friends-dialog-button.cancel{padding:10px 24px;background-color:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3);border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:120px}.invite-friends-dialog-button.cancel:hover{background-color:#fff3;border-color:#ffffff80}@media (max-width: 768px){.invite-friends-dialog{width:320px}.invite-friends-dialog-header h2,.room-code-value{font-size:18px}.invite-friends-dialog-share-button{font-size:14px;padding:10px 20px}.players-title{font-size:14px}.player-item{padding:8px 10px}.player-name{font-size:13px}}.card{position:relative;display:inline-block;border-radius:8px;overflow:hidden;transition:border-color .2s ease,transform .1s ease;box-shadow:0 4px 8px #0003;background-color:#fff;cursor:pointer;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;will-change:transform;transform:translateZ(0)}.card:active{transform:scale(.95) translateZ(0)}.card.card-type-placeholder{cursor:default}.card.card-type-placeholder:active{transform:none}.card.card-type-back{cursor:default}.card.card-type-back:active{transform:none}.card.dark-mode{background-color:#9a9a9a}.card.card-type-stack{background-color:transparent}.card-small,.card-medium,.card-large{width:87px;height:130px}.card-layer{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.card-background{z-index:1;display:none}.card-decoration{z-index:2}.card-suit{z-index:3}.card-back{z-index:2}.card-number{position:absolute;font-family:Arial,sans-serif;font-weight:700;z-index:4;color:#3a2817;text-shadow:1px 1px 2px rgba(255,255,255,.5);user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;pointer-events:none}.card.dark-mode .card-number{color:#d4c5a0;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.card-small .card-number{font-size:14px}.card-medium .card-number{font-size:20px}.card-large .card-number{font-size:26px}.card-small .card-number-top{top:7%;left:12%}.card-small .card-number-bottom{bottom:7%;right:12%;transform:rotate(180deg)}.card-medium .card-number-top{top:7%;left:12%}.card-medium .card-number-bottom{bottom:7%;right:12%;transform:rotate(180deg)}.card-large .card-number-top{top:7%;left:12%}.card-large .card-number-bottom{bottom:7%;right:12%;transform:rotate(180deg)}.border-brown{border:3px solid #8B4513}.border-green{border:3px solid #228B22}.border-red{border:3px solid #DC143C}.border-blue{border:3px solid #1E90FF}.border-none{border:none}.card.dark-mode.border-brown{border:3px solid #D2691E}.card.dark-mode.border-green{border:3px solid #32CD32}.card.dark-mode.border-red{border:3px solid #FF6347}.card.dark-mode.border-blue{border:3px solid #87CEEB}.card-type-stack{background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center}.card-type-placeholder{background:transparent;box-shadow:none}.card-stack{position:relative;width:70%;height:70%}.stack-card{position:absolute;width:100%;height:100%;border-radius:6px;overflow:hidden;box-shadow:0 2px 4px #0006;background-color:#fff}.card.dark-mode .stack-card{background-color:#9a9a9a}.stack-card-1{top:4px;left:4px;z-index:3}.stack-card-2{top:0;left:0;z-index:2}.stack-card-3{top:-4px;left:-4px;z-index:1}.card-small .stack-card-1{top:3px;left:3px}.card-small .stack-card-2{top:0;left:0}.card-small .stack-card-3{top:-3px;left:-3px}.card-large .stack-card-1{top:6px;left:6px}.card-large .stack-card-2{top:0;left:0}.card-large .stack-card-3{top:-6px;left:-6px}.card-placeholder{width:100%;height:100%;border:3px dashed rgba(0,0,0,.3);border-radius:8px;background-color:#ffffff4d}.card.dark-mode .card-placeholder{border-color:#ffffff4d;background-color:#0000004d}.card-test-page{min-height:100vh;padding:20px;background-image:url(../assets/background.jpg);background-size:cover;background-position:center;background-attachment:fixed}.dark-mode .card-test-page{background-image:url(../assets/background_dark.jpg)}.card-test-page h1{text-align:center;color:#3a2817;font-size:48px;margin-bottom:30px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.dark-mode .card-test-page h1{color:#d4c5a0}.controls{display:flex;justify-content:center;gap:30px;margin-bottom:40px;padding:20px;background-color:#fffc;border-radius:10px;box-shadow:0 4px 8px #0003}.dark-mode .controls{background-color:#0009}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-weight:700;color:#3a2817}.dark-mode .control-group label{color:#d4c5a0}.control-group select{padding:5px 10px;border-radius:5px;border:2px solid #3a2817;background-color:#fff;color:#3a2817;font-size:16px}.dark-mode .control-group select{background-color:#1a1a1a;color:#d4c5a0;border-color:#d4c5a0}.mode-toggle{padding:8px 16px;border-radius:5px;border:2px solid #3a2817;background-color:#fff;color:#3a2817;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease}.mode-toggle:hover{background-color:#3a2817;color:#fff;transform:scale(1.05)}.dark-mode .mode-toggle{background-color:#1a1a1a;color:#d4c5a0;border-color:#d4c5a0}.dark-mode .mode-toggle:hover{background-color:#d4c5a0;color:#1a1a1a}.card-section{margin-bottom:60px;padding:30px;background-color:#ffffffe6;border-radius:15px;box-shadow:0 4px 8px #0003}.dark-mode .card-section{background-color:#000000b3}.card-section h2{color:#3a2817;font-size:32px;margin-bottom:20px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.dark-mode .card-section h2{color:#d4c5a0}.suit-group{margin-bottom:30px}.suit-group h3{color:#5a4a3a;font-size:24px;margin-bottom:15px}.dark-mode .suit-group h3{color:#b8a888}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:20px;justify-items:center}.special-cards{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.special-card-item{text-align:center}.special-card-item h3{color:#5a4a3a;font-size:20px;margin-bottom:10px}.dark-mode .special-card-item h3{color:#b8a888}.size-comparison,.border-comparison{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}.size-example,.border-example{text-align:center}.size-example h3,.border-example h3{color:#5a4a3a;font-size:18px;margin-bottom:10px}.dark-mode .size-example h3,.dark-mode .border-example h3{color:#b8a888}@media (max-width: 768px){.controls{flex-direction:column;gap:15px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:10px}.card-test-page{padding:10px}.card-section{padding:15px}}.player-score{position:absolute;background-color:#000c;border-radius:6px;padding:5px 8px;color:#fff;font-family:Arial,sans-serif;font-size:12px;display:flex;align-items:center;gap:6px;box-shadow:0 2px 8px #0000004d;transition:background-color .3s ease,box-shadow .3s ease}.player-score.current-player{background-color:#228b22e6;box-shadow:0 0 12px #228b2299}.player-score.current-player.dark-mode{background-color:#32cd32e6;box-shadow:0 0 12px #32cd3299}.player-score-top{top:calc(50% - var(--board-height) / 2);left:50%;transform:translate(-50%) translateY(-100%) translateY(-10px);z-index:10}.player-score-bottom{bottom:calc(50% - var(--board-height) / 2);left:50%;transform:translate(-50%) translateY(100%) translateY(10px);z-index:10}.player-score-left{left:calc(50% - 392px)!important;top:50%!important;transform:translateY(-50%) rotate(90deg)!important;transform-origin:center!important}.player-score-right{right:calc(50% - 392px)!important;top:50%!important;transform:translateY(-50%) rotate(270deg)!important;transform-origin:center!important}.player-score-header{font-weight:700;white-space:nowrap;color:gold}.player-score-icons{display:flex;gap:4px;align-items:center}.player-score-left .player-score-icons,.player-score-right .player-score-icons{flex-direction:row;gap:8px}.score-item{display:flex;align-items:center;gap:0px}.score-icon{width:12px;height:12px;object-fit:contain}.score-value{color:#fff;font-weight:700;min-width:16px;text-align:center}.player-score-total{font-size:14px;font-weight:700;color:gold;min-width:18px;text-align:center}.player-score-left .player-score-total,.player-score-right .player-score-total{margin-top:0}@media (max-width: 768px){.player-score{font-size:12px;padding:6px 10px;gap:8px}.player-score-top{top:calc(50% - var(--board-height) / 2);transform:translate(-50%) translateY(-100%) translateY(-10px)}.player-score-bottom{bottom:calc(50% - var(--board-height) / 2);transform:translate(-50%) translateY(100%) translateY(10px)}.player-score-left{left:calc(50% - var(--board-width) / 2)!important;transform:translateY(-50%) translate(-100%) translate(-10px) rotate(90deg)!important}.player-score-right{right:calc(50% - var(--board-width) / 2)!important;transform:translateY(-50%) translate(100%) translate(10px) rotate(270deg)!important}.score-icon{width:14px;height:14px}.player-score-icons{gap:6px}.player-score-left .player-score-icons,.player-score-right .player-score-icons{gap:3px}.player-score-total{font-size:16px}}.game-info{position:absolute;top:90px;right:20px;background-color:#000c;border-radius:6px;padding:5px 8px;color:#fff;font-family:Arial,sans-serif;font-size:12px;display:flex;flex-direction:column;gap:6px;box-shadow:0 2px 8px #0000004d;transition:background-color .3s ease,box-shadow .3s ease;z-index:10;min-width:80px}@media (prefers-color-scheme: dark){.game-info{background-color:#000c;color:#fff;box-shadow:0 2px 8px #0000004d}}.game-info-item{display:flex;flex-direction:column;align-items:center;gap:2px}.game-info-label{font-size:12px;font-weight:700;color:gold;line-height:1}.game-info-value{font-size:12px;font-weight:700;color:#fff;line-height:1;font-variant-numeric:tabular-nums}@media (max-width: 768px){.game-info{top:70px;right:10px;padding:6px 10px;gap:8px}.game-info-label,.game-info-value{font-size:12px}}.game-board-header .multiplayer-status~.game-info{position:absolute;top:90px;right:20px;margin-left:0}@media (max-width: 768px){.game-board-header .multiplayer-status~.game-info{top:70px;right:10px}}._container_12vgm_1{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:300px}._notification_12vgm_12{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000001a;animation:_slideIn_12vgm_1 .3s ease-out}@keyframes _slideIn_12vgm_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}._icon_12vgm_35{font-size:20px;flex-shrink:0}._message_12vgm_40{flex:1;font-size:14px;color:#856404}._countdown_12vgm_46{color:#666;font-weight:400}@media (max-width: 768px){._container_12vgm_1{top:10px;right:10px;left:10px;max-width:none}._notification_12vgm_12{font-size:13px}}.game-over-dialog-backdrop{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease-out}.game-over-dialog{background-color:#000000e6;border-radius:12px;box-shadow:0 4px 20px #00000080;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out;font-family:Arial,sans-serif}.game-over-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.game-over-dialog-header h2{margin:0;font-size:20px;color:gold;font-weight:700}.game-over-dialog-close{background:none;border:none;color:gold;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.game-over-dialog-close:hover{transform:scale(1.1)}.game-over-dialog-content{padding:20px}.game-over-message{text-align:center;margin-bottom:32px}.win-message{font-size:16px;color:#4caf50;margin:0}.lose-message{font-size:16px;color:#ff5252;margin:0}.leaderboard{background-color:#ffffff0d;border-radius:8px;padding:20px}.leaderboard h3{margin:0 0 16px;font-size:16px;color:#fff;text-align:center}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#ffffff0d;border-radius:6px;color:#fff;transition:background-color .2s;min-height:44px}.leaderboard-item.current-player{background-color:#ffd7001a;border:1px solid rgba(255,215,0,.3)}.leaderboard-item.winner .rank{color:#4caf50}.player-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.leaderboard-item .rank{font-weight:700;font-size:16px;min-width:35px;color:gold;flex-shrink:0}.leaderboard-item .player-name{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-item .player-score{font-weight:700;font-size:16px;color:gold;white-space:nowrap;flex-shrink:0}.player-position{text-align:center;margin-top:16px;font-size:14px;color:gold}.game-over-dialog-actions{display:flex;justify-content:center;padding:20px;border-top:1px solid rgba(255,255,255,.1)}.play-again-button{padding:12px 32px;font-size:16px;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:all .2s;background-color:gold;color:#000}.play-again-button:hover{background-color:#ffed4e;transform:translateY(-1px);box-shadow:0 2px 8px #ffd70066}.play-again-button:active{transform:translateY(0)}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1001}@media (max-width: 768px){.game-over-dialog{max-width:100%}.game-over-dialog-header h2{font-size:24px}.win-message{font-size:18px}.lose-message{font-size:16px}.leaderboard h3{font-size:18px}.leaderboard-item{padding:10px 12px}.leaderboard-item .rank{font-size:16px;width:35px}.leaderboard-item .player-name{font-size:14px}.leaderboard-item .player-score{font-size:16px}.play-again-button,.return-lobby-button{padding:14px 20px;font-size:16px}}.game-board{max-width:900px;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;position:relative;margin:0 auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.game-board-header{position:absolute;top:20px;left:20px;right:20px;z-index:10;display:flex;justify-content:space-between;align-items:flex-start}.game-board-logo-container{display:flex;flex-direction:column;gap:8px}.game-board-logo{width:120px;height:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.connection-status{display:flex;align-items:center;gap:6px;font-size:12px;font-family:Arial,sans-serif;padding-left:8px}.connection-indicator{font-size:16px;line-height:1}.connection-indicator.connected{color:#4ade80}.connection-indicator.disconnected{color:#ef4444}.connection-text{color:#fffc;font-weight:500}.game-message{background-color:#000c;color:#fff;padding:10px 20px;border-radius:8px;font-size:16px;font-weight:700;text-align:center;animation:fadeIn .3s ease-in;box-shadow:0 4px 8px #0000004d;margin-left:auto;margin-right:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.cards-container-top,.cards-container-bottom,.cards-container-left,.cards-container-right{position:absolute;display:flex;gap:5px;flex-wrap:nowrap;justify-content:center;align-items:center}.cards-container-top{top:calc(50% - var(--board-height) / 2 - 200px);left:50%;transform:translate(-50%)}.cards-container-bottom{bottom:calc(50% - var(--board-height) / 2 - 200px);left:50%;transform:translate(-50%)}.cards-container-left{left:calc(50% - var(--board-width) / 2 - 220px);top:50%;transform:translateY(-50%) rotate(90deg)}.cards-container-right{right:calc(50% - var(--board-width) / 2 - 220px);top:50%;transform:translateY(-50%) rotate(-90deg)}.board-cards{display:flex;flex-wrap:wrap;gap:15px;align-items:center;justify-content:center;width:525px;height:375px;align-content:center}.board-cards-small,.board-cards-dynamic{gap:10px}.board-cards-dynamic>div{position:relative}.board-cards-dynamic .card,.board-cards-dynamic .card-custom{width:100%;height:100%}.board-cards-dynamic .card-number{font-size:var(--card-font-size, 16px)}.board-cards-dynamic .card-number-top{top:7%;left:12%}.board-cards-dynamic .card-number-bottom{bottom:7%;right:12%;transform:rotate(180deg)}.cards-container-dynamic{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center}.cards-container-dynamic>div{position:relative}.cards-container-dynamic .card,.cards-container-dynamic .card-custom{width:100%;height:100%}.cards-container-dynamic .card-number{font-size:var(--card-font-size, 16px)}.cards-container-dynamic .card-number-top{top:7%;left:12%}.cards-container-dynamic .card-number-bottom{bottom:7%;right:12%;transform:rotate(180deg)}@media (max-width: 768px){.game-board{padding:10px}.board-cards{width:calc(100vw - 40px);max-width:490px;height:300px;gap:10px}.cards-container-top{top:calc(50% - var(--board-height) / 2 - 190px);gap:10px}.cards-container-bottom{bottom:calc(50% - var(--board-height) / 2 - 190px);gap:10px}.cards-container-left{left:calc(50% - var(--board-width) / 2 - 190px);gap:10px}.cards-container-right{right:calc(50% - var(--board-width) / 2 - 190px);gap:10px}.game-board-header{top:10px;left:10px}.game-board-logo{width:80px}.connection-status{font-size:11px;gap:4px;padding-left:6px}.connection-indicator{font-size:14px}}.controls-panel{position:absolute;bottom:20px;left:20px;display:flex;flex-direction:row;gap:10px;z-index:1000}.control-button{background-color:#ffffffe6;border:2px solid #333;border-radius:8px;padding:10px 15px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:100px;text-align:center}@media (max-width: 768px){.controls-panel{bottom:10px;left:10px;gap:5px}.control-button{padding:6px 8px;font-size:12px;min-width:auto;border-radius:6px}}.control-button:hover{background-color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.control-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}@media (prefers-color-scheme: dark){.control-button{background-color:#323232e6;color:#fff;border-color:#666}.control-button:hover{background-color:#464646}}.game-menu-backdrop{position:fixed;inset:0;background-color:#0009;z-index:1000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-menu{background-color:#000000e6;border-radius:12px;padding:0;width:320px;max-width:90vw;max-height:80vh;overflow:hidden;box-shadow:0 4px 20px #00000080;animation:slideIn .3s ease-out;font-family:Arial,sans-serif}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.game-menu-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.game-menu-header h2{margin:0;color:gold;font-size:20px;font-weight:700}.game-menu-close{background:none;border:none;color:gold;font-size:28px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.game-menu-close:hover{transform:scale(1.1)}.game-menu-content{padding:20px}.game-menu-item{margin-bottom:20px}.game-menu-item:last-child{margin-bottom:0}.game-menu-label{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:16px;cursor:pointer}.game-menu-separator{height:1px;background-color:#fff3;margin:20px 0;width:100%}.toggle-switch{position:relative;width:50px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ffffff4d;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:gold}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.score-selector{display:flex;gap:10px}.mode-select{background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 30px 8px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;font-family:Arial,sans-serif;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px}.mode-select:hover{background-color:#fff3;border-color:#ffffff80}.mode-select:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd70033}.mode-select option{background-color:#1a1a1a;color:#fff;padding:8px}.score-option{background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease}.score-option:hover{background-color:#fff3;border-color:#ffffff80}.score-option.active{background-color:gold;border-color:gold;color:#000}.exit-game-button{width:100%;background-color:#ff4336cc;border:none;color:#fff;padding:12px 20px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .2s ease}.exit-game-button:hover{background-color:#ff4336}.exit-game-button:active{transform:scale(.98)}.check-update-button{width:100%;background-color:#ffffff1a;border:2px solid rgba(255,255,255,.3);color:#fff;padding:12px 20px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;transition:all .2s ease}.check-update-button:hover{background-color:#fff3;border-color:gold}.check-update-button:active{transform:scale(.98)}.version-info{text-align:left;padding-top:10px;padding-bottom:5px;padding-left:0}.version-text{color:#ffffff80;font-size:14px;font-weight:400;display:block}.server-version{margin-top:5px}@media (max-width: 768px){.game-menu{width:280px}.game-menu-header h2{font-size:18px}.game-menu-label{font-size:14px}.score-option{font-size:14px;padding:6px 14px}.mode-select{font-size:12px;padding:6px 26px 6px 10px;background-size:14px}.game-menu-separator{margin:15px 0}.exit-game-button,.check-update-button{font-size:14px;padding:10px 16px}.version-text{font-size:13px}}.update-dialog-backdrop{position:fixed;inset:0;background-color:#0009;z-index:2000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.update-dialog{background-color:#000000e6;border-radius:12px;padding:24px;width:320px;max-width:90vw;box-shadow:0 4px 20px #00000080;animation:slideIn .3s ease-out;font-family:Arial,sans-serif;text-align:center}.update-dialog-icon{margin-bottom:16px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.update-dialog-title{margin:0 0 12px;color:gold;font-size:24px;font-weight:700}.update-dialog-message{margin:0 0 20px;color:#fff;font-size:14px;line-height:1.5;opacity:.9}.update-dialog-actions{display:flex;gap:12px;justify-content:center}.update-dialog-button{border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;min-width:100px}.update-now{background-color:gold;color:#000}.update-now:hover{background-color:#ffed4e;transform:translateY(-1px);box-shadow:0 2px 8px #ffd70066}.update-now:active{transform:translateY(0)}.update-later{background-color:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.update-later:hover{background-color:#fff3;border-color:#ffffff80}@media (max-width: 768px){.update-dialog{width:280px;padding:20px}.update-dialog-title{font-size:20px}.update-dialog-message{font-size:13px}.update-dialog-actions{flex-direction:column;gap:8px}.update-dialog-button{width:100%}}.update-status-backdrop{position:fixed;inset:0;background-color:#0009;z-index:3000;display:flex;justify-content:center;align-items:center;animation:fadeIn .2s ease-out}.update-status-dialog{background-color:#000000e6;border-radius:12px;padding:24px;width:280px;max-width:90vw;box-shadow:0 4px 20px #00000080;animation:slideIn .3s ease-out;font-family:Arial,sans-serif;text-align:center}.update-status-spinner{margin-bottom:16px}.spinner{width:48px;height:48px;border:3px solid rgba(255,215,0,.2);border-top-color:gold;border-radius:50%;margin:0 auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.update-status-icon{margin-bottom:16px;animation:checkmark .5s ease-out}@keyframes checkmark{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.update-status-title{margin:0 0 8px;color:gold;font-size:18px;font-weight:700}.update-status-message{margin:0;color:#fff;font-size:14px;line-height:1.4;opacity:.9}@media (max-width: 768px){.update-status-dialog{width:260px;padding:20px}.update-status-title{font-size:16px}.update-status-message{font-size:13px}.spinner{width:40px;height:40px}}*{-webkit-tap-highlight-color:transparent}button,a,[role=button]{touch-action:manipulation}#root{width:100%;height:100%;margin:0;padding:0}.app-container{position:relative;max-width:900px;margin:0 auto;width:100%;height:100%}.corner-menu-container{position:absolute;top:0;right:0;width:80px;height:80px;z-index:100}.corner-shape{position:absolute;top:0;right:0;width:100%;height:auto;pointer-events:none}.menu-button{position:absolute;top:40%;left:60%;transform:translate(-50%,-50%);width:30px;height:30px;cursor:pointer;transition:transform .2s ease}.menu-button:hover{transform:translate(-50%,-50%) scale(1.1)}.menu-button:active{transform:translate(-50%,-50%) scale(.95)}@media (max-width: 768px){.corner-menu-container{width:60px;height:60px}.menu-button{width:24px;height:24px}}
