:root{--main-purple:#8205b1;--dark-purple:#5d0480;--light-purple-bg:#f0e6f7;--light-blue-bg:#eef;--danger-color:#721c24;--danger-bg:#f8d7da;--danger-border:#f5c6cb;--leaderboard-link-color:gold;--theme-button-color:#add8e6;--modal-content-background-color:#fff}body{align-items:flex-start;background-attachment:fixed;background-color:var(--background-color);background-image:url(/images/fond.png);background-position:50%;background-size:cover;box-sizing:border-box;color:var(--text-color);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:5vh;padding:6vh 0 0}body.webp-supported{background-image:url(/images/fond.webp)}#app{background-color:var(--modal-content-background-color);border-radius:10px;box-shadow:0 0 20px #0006;display:flex;flex-direction:column;gap:20px;margin:0;max-width:100%;padding:20px;width:95%}header h1{color:var(--dark-purple);font-size:1.8em;margin:0 0 20px;text-align:center}#auth-section{background-color:var(--lobby-actions-background-color);border:1px solid #ccc;border-radius:8px;padding:20px;text-align:center}#auth-section input{border:1px solid #ddd;border-radius:5px;margin:5px;max-width:250px;padding:10px;width:calc(50% - 12px)}#auth-section button{background-color:var(--main-purple);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;margin:10px 5px;padding:10px 20px}#auth-section button:hover{background-color:var(--dark-purple)}#auth-message{color:red;font-weight:700}#lobby-section{display:flex;flex-direction:column;gap:20px}#lobby-columns-container{border:1px solid #ddd;border-radius:8px;display:flex;flex-wrap:wrap;overflow:hidden}#lobby-left-column{background-color:var(--table-row-fond);border-right:1px solid #ddd;display:flex;flex-direction:column;gap:5px;padding:5px}#lobby-right-column{align-items:stretch;display:flex;flex:3;flex-direction:row;gap:5px;min-width:400px;overflow:hidden;padding:5px}#chat-column{display:flex;flex:1;flex-direction:column}#chat-box{border:1px solid #ccc;border-radius:5px;height:300px;overflow-wrap:break-word;overflow-y:auto;padding:5px;width:99%}#chat-box p{line-height:1.4;margin:3px 0;padding:0}.chat-reply-quote{background-color:#8205b112;border-left:3px solid var(--main-purple);color:#666;display:block;font-size:.85em;margin:0 0 2px;overflow-wrap:break-word;padding:2px 6px}.chat-reply-quote strong{color:var(--main-purple)}.chat-reply-button{background:none;border:none;color:#999;cursor:pointer;font-size:.9em;margin-left:6px;opacity:0;padding:0 2px;transition:opacity .15s ease;vertical-align:initial}#chat-box p:hover .chat-reply-button{opacity:1}.chat-reply-button:hover{color:var(--main-purple)}#chat-reply-preview{align-items:center;background-color:#8205b112;border-left:3px solid var(--main-purple);border-radius:3px;color:#555;display:flex;font-size:.85em;gap:8px;justify-content:space-between;margin-top:4px;padding:4px 8px}#chat-reply-preview-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#chat-reply-preview-text strong{color:var(--main-purple)}#chat-reply-cancel{background:none;border:none;color:#999;cursor:pointer;font-size:1.1em;line-height:1;padding:0 4px}#chat-reply-cancel:hover{color:#333}#chat-input-controls{display:flex}#chat-input{background-color:var(--chat-background-color);border:1px solid #ddd;border-radius:4px;flex:1;padding:8px}#send-chat{background-color:var(--main-purple);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 15px}#send-chat:hover{background-color:var(--dark-purple)}#player-table-list{align-content:start;background-color:#eee;border:1px solid #ddd;border-radius:4px;display:grid;gap:1px;grid-template-columns:1fr;max-height:340px;min-height:340px;overflow-y:auto}.player-table-header,.player-table-row{padding:8px 10px;text-align:left}.player-table-header{background-color:var(--dark-purple);color:#fff;font-weight:700;text-align:center}.player-table-row{align-items:center;background-color:#fff;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1px}#game-list-container{background-color:var(--game-list-row-background-color);border:1px solid #ddd;border-radius:5px;padding:2px}#game-list{list-style:none;margin:0;padding:0}#game-list li{align-items:center;border-bottom:1px dashed #eee;display:flex;justify-content:space-between;padding:8px 0}#game-list li button{background-color:var(--main-purple);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;margin-left:10px;padding:5px 10px}#game-list li button:hover{background-color:var(--dark-purple)}#score-board{background-color:var(--light-purple-bg);border:1px solid #ddd;border-radius:8px;font-weight:700;padding:10px;text-align:center}#game-info-summary{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #00000040;color:var(--dark-purple,#4a148c);display:flex;flex-wrap:wrap;font-size:1em;font-weight:400;gap:15px;padding:8px 15px;text-align:center;text-shadow:none}#game-info-summary span{background-color:initial;border-radius:4px;color:#311b92;font-weight:700;padding:3px 8px}#game-columns-container{display:flex;flex-grow:1;flex-wrap:wrap;gap:20px;min-height:0}#game-main-column{align-self:flex-start;display:flex;flex:2;flex-direction:column;gap:20px}#game-right-column{display:flex;flex:1;flex-direction:column;gap:5px;justify-content:flex-end;min-height:0}#game-area{background-image:linear-gradient(#0006,#0006),url(../images/table_background.png);background-position:50%;background-repeat:no-repeat;background-size:cover;border:5px solid var(--dark-purple);border-radius:15px;box-shadow:0 10px 20px #00000080;height:450px;position:relative;width:100%}.webp-supported #game-area{background-image:linear-gradient(#0006,#0006),url(../images/table_background.webp)}#player-positions{height:100%;position:absolute;width:100%;z-index:10}.game-player{align-items:center;border:4px solid #0000;border-radius:12px;color:#fff;display:flex;flex-direction:column;font-weight:700;gap:5px;min-width:80px;padding:10px;position:absolute;text-shadow:1px 1px 2px #0009;transition:all .3s ease-in-out;z-index:20}#player-top{left:50%;top:10px;transform:translateX(-50%)}#player-left{left:10px}#player-left,#player-right{top:50%;transform:translateY(-50%)}#player-right{right:10px}#player-bottom{bottom:0;color:#9acd32;height:0;left:45%;transform:translateX(-10%)}#game-table{height:60%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%;z-index:1}#played-cards{height:100%;position:relative;width:100%}.card{align-items:center;background-color:initial;border:none;box-shadow:0 2px 5px #0000004d;display:flex;justify-content:center}.card img{border-radius:5px;height:110%;object-fit:contain;width:110%}.card span{display:none}.card.diamonds,.card.hearts{color:red}.card.spades{color:#000}.card.clubs{color:green}.card.selected{border:3px solid blue;box-shadow:0 0 10px blue;transform:translateY(-20px)}.played-card{cursor:default;position:absolute;transition:transform .6s cubic-bezier(.25,1,.5,1),opacity .4s ease-out;will-change:transform,opacity}#your-hand{background-color:initial;border:none;border-radius:8px;padding:0;text-align:center}#hand-cards{bottom:-310px;display:flex;flex-wrap:wrap;gap:8px;height:300px;justify-content:center;left:50%;margin-top:10px;position:absolute;transform:translateX(-50%);width:1px;z-index:5}#in-game-chat-container{background-color:var(--game-list-row-background-color);display:flex;flex-direction:column;flex-grow:1;gap:10px;height:200px;min-height:0;min-width:0;overflow-y:auto}#in-game-chat-box{background-color:var(--chat-background-color);border:1px solid #ccc;border-radius:5px;flex-grow:1;height:100%;min-width:0;overflow-wrap:break-word;overflow-y:auto;padding:10px;word-break:break-all}#in-game-chat-box p{line-height:1.4;margin:3px 0;padding:0;word-break:break-all}#in-game-chat-input-controls{display:flex;gap:10px}#in-game-chat-input{background-color:var(--chat-background-color);border:1px solid #ddd;border-radius:4px;flex:1;min-width:0;padding:8px}#send-in-game-chat{background-color:var(--create-game-button-bg);border:none;border-radius:4px;color:#000;cursor:pointer;font-weight:700;padding:8px 15px}#game-messages{background-color:#230a30;border:1px solid #ffffff26;border-radius:var(--border-radius);box-shadow:inset 0 1px 4px #00000059;height:120px;overflow-y:auto;padding:10px 12px}#game-messages p{font-size:.9em;margin:3px 0}.game-message{color:#e0e0e0}#game-messages .info{color:#4dabf7}#game-messages .error{color:#ff6b6b;font-weight:700}#game-messages p.announcement{color:#3bd6ef;font-style:italic;font-weight:700}#game-messages .bid-announcement:before,#game-messages .contract-failed:before,#game-messages .contract-met:before,#game-messages .error:before,#game-messages .info:before,#game-messages .pass-announcement:before,#game-messages .trick-points:before,#game-messages .warning-inactivity:before,#game-messages p.announcement:before{display:inline-block;margin-right:5px}#game-messages .info:before{content:"ℹ️"}#game-messages .error:before{content:"⛔"}#game-messages p.announcement:before{content:"📢"}#game-messages .trick-points:before{content:"🎯"}#game-messages .contract-met:before{content:"✅"}#game-messages .contract-failed:before{content:"❌"}#game-messages .warning-inactivity:before{content:"⏰"}#game-messages .bid-announcement:before{content:"🗣️"}#game-messages .pass-announcement:before{content:"🙅"}#action-container{background-color:var(--lobby-actions-background-color);border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;padding:10px}#game-controls{margin:0 auto}.icon-button{background:none;border:none;border-radius:50%;cursor:pointer;font-size:1.4em;height:44px;padding:8px;position:relative;transition:all .2s ease;width:44px}.icon-button:hover{background-color:#ffffff26;color:#000}.icon-button.leave{color:#ff4d4d}.icon-button.leave:hover{background-color:#ff4d4d;color:#fff}.icon-button.active{color:#ff4d4d}.icon-button[data-tooltip]:before{background-color:#333;border-radius:var(--border-radius);color:#fff;content:attr(data-tooltip);font-size:.8rem;padding:6px 10px;transform:translateX(-50%);white-space:nowrap}.icon-button[data-tooltip]:after,.icon-button[data-tooltip]:before{bottom:125%;left:50%;opacity:0;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;z-index:100}.icon-button[data-tooltip]:after{border:5px solid #0000;border-top-color:#333;content:"";transform:translateX(-50%) translateY(100%)}.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:hover:before{opacity:1;visibility:visible}#announcement-controls,#bid-controls{text-align:center}#bid-controls,#coinche-bid-controls{bottom:auto;flex-wrap:nowrap;left:auto;margin:0 auto;position:static;transform:none;width:auto}#bid-buttons-container{display:grid;gap:5px;grid-template-columns:repeat(5,1fr)}.bid-button{background-color:#f0f0f0;border:1px solid #ccc;border-radius:5px;cursor:pointer;font-size:1em;font-weight:700;padding:10px 15px;transition:background-color .2s}#bid-buttons-container .bid-button:hover{background-color:#a7d1ff}#bid-buttons-container .bid-button[data-suit=pass]{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41;grid-column:1/-1}.modal{align-items:center;animation:fadeIn .3s ease-out;background-color:#00000080;display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1001}.modal-content{animation:slideUp .4s ease-out;background-color:var(--modal-content-background-color);border-radius:10px;box-shadow:0 5px 25px #0003;display:flex;flex-direction:column;max-height:90%;max-width:500px;overflow:hidden;position:relative;width:90%}.close-button{color:#999;cursor:pointer;font-size:32px;font-weight:700;line-height:1;position:absolute;right:15px;top:12px;transition:color .2s ease,transform .2s ease}.close-button:hover{color:#333;transform:scale(1.1)}#create-game-modal .modal-content{align-items:center;display:flex;flex-direction:column;gap:15px;max-width:800px;width:90%}#game-closed-modal .modal-content{padding:30px;text-align:center;width:500px}#announcement-modal .modal-content,#last-trick-modal .modal-content{max-width:600px;min-width:400px;text-align:center;width:auto}#soundboard-modal .modal-content{width:400px}#proposed-card-container{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}#proposed-card-container h4{color:#fff;margin:0 0 10px;text-shadow:1px 1px 2px #000}#proposed-card-display .card{box-shadow:0 0 15px #ff0;cursor:default}@keyframes flip-deal-in{0%{opacity:0;transform:scale(.5) rotateY(90deg)}to{opacity:1;transform:scale(1) rotateY(0deg)}}#proposed-card-display .card.dealt-in-center{animation:flip-deal-in .6s ease-out}#soundboard-grid{display:grid;gap:15px;grid-template-columns:1fr 1fr;padding:20px 0}.sound-btn{background-color:#f8f9fa;border:1px solid #ddd;cursor:pointer;font-size:1.2em;padding:20px;transition:background-color .2s}.sound-btn:active{transform:scale(.95)}.sound-indicator{animation:fade-up 2s ease-out;font-size:2em;position:absolute;top:-20px}@keyframes fade-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}#announcement-cards-display{gap:10px}#announcement-cards-display,#last-trick-cards-display{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;width:100%}#last-trick-cards-display{gap:15px;min-height:120px}#last-trick-cards-display .played-card-in-modal{align-items:center;display:flex;flex-direction:column;gap:5px}#game-list-table{background-color:var(--background-color);background-image:var(--background-image-fond-chat);background-repeat:no-repeat;background-size:cover;border-radius:8px;display:flex;flex-direction:row;gap:5px;min-height:270px;overflow-x:auto;overflow-y:hidden;padding:2px}.game-list-row{display:flex;flex-direction:column;flex-shrink:0;gap:5px}.game-list-players,.game-list-row{align-items:center;justify-content:center}.game-list-players{background-image:url(/images/table.png);background-position:50%;background-repeat:no-repeat;background-size:contain;display:grid;gap:10px;grid-template-areas:"ouest . nord" "sud centre est";grid-template-columns:1fr auto 1fr;grid-template-rows:repeat(3,auto);height:200px;padding:10px;width:300px}.webp-supported .game-list-players{background-image:url(/images/table.webp)}.game-list-details-center{align-items:center;background-color:var(--game-list-details-center-background-color);border-radius:10px;color:#fff;display:flex;flex-direction:column;grid-area:centre;justify-content:center;padding:5px;pointer-events:none;text-align:center;text-shadow:1px 1px 3px #000000e6}.game-list-details-center h4{color:#fff;font-size:1.1em;margin:0 0 5px}.game-list-details-center p{font-size:.8em;margin:2px 0}.player-slot{align-items:center;background-color:#ffffffb3;border:1px solid #ccc;border-radius:5px;display:flex;font-size:.9em;font-weight:700;justify-content:center;min-width:80px;padding:5px;text-align:center}.player-slot.north{grid-area:nord}.player-slot.south{grid-area:sud}.player-slot.east{grid-area:est}.player-slot.west{grid-area:ouest}.player-slot .join-slot-button{background-color:var(--main-purple);border:none;border-radius:4px;box-sizing:border-box;color:#fff;cursor:pointer;font-weight:700;padding:8px 12px;transition:background-color .2s ease;white-space:nowrap}.player-slot .join-slot-button:hover{background-color:var(--dark-purple)}#bid-buttons-container .pass-button{background-color:#d9534f;border-color:#d43f3a;color:#fff;font-size:1.1em;font-weight:700;grid-column:1/-1}#bid-buttons-container .pass-button:hover{background-color:#c9302c}#game-type-display{color:#555;font-style:italic;margin-bottom:15px;margin-top:-10px;text-align:center}.spectate-game-button{background-color:#17a2b8;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:700;padding:8px 15px;transition:background-color .2s ease}.spectate-game-button:hover{background-color:#138496}.chat-join-game-button{background-color:var(--main-purple);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;font-weight:700;margin-left:6px;padding:2px 8px;transition:background-color .2s ease;vertical-align:initial}.chat-join-game-button:hover{background-color:var(--dark-purple)}.user-display-container{background-color:#e9ecef;border-radius:4px;font-weight:500;margin-bottom:15px;padding:10px;text-align:center}.lobby-actions a,.lobby-actions button,.lobby-actions-btn{align-items:center;border:none;border-radius:5px;box-sizing:border-box;cursor:pointer;display:inline-block;font-size:1em;font-weight:700;justify-content:center;line-height:1.5;margin:0;padding:12px 20px;text-align:center;text-decoration:none;transition:all .2s ease}.lobby-actions{align-items:center;display:flex;gap:5px;margin-top:0}.lobby-actions a:active,.lobby-actions button:active{transform:scale(.97)}#moderation-link{background-color:red;color:#000;display:none}#moderation-link:hover{background-color:#fa4040}.logout-btn{background-color:#6c757d;color:#fff}.logout-btn:hover{background-color:#5a6268}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{background-color:var(--modal-content-background-color);border-bottom:1px solid #e0e0e0;padding:6px 14px}.modal-header h2{color:var(--dark-purple);font-size:1.5em;margin:0}.modal-body{overflow-y:auto;padding:10px 14px}.modal-footer{background-color:var(--modal-content-background-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.modal-content button.modal-button{border:1px solid #0000;border-radius:5px;cursor:pointer;font-size:.9em;font-weight:700;padding:10px 20px}#capture-screenshot-button{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:5px;margin-top:10px}#screenshot-preview{border:1px solid #ddd;display:block;display:none;height:auto;margin-bottom:10px;margin-top:10px;max-width:100%}#screenshot-message{color:gray;font-size:.9em;margin-bottom:10px;text-align:center}.modal-button.secondary{background-color:#e9ecef;border-color:#e9ecef;color:#495057}.modal-button.secondary:hover{background-color:#dee2e6}#create-game-modal .modal-body input,#create-game-modal .modal-body select{box-sizing:border-box;padding:8px;width:100%}.password-field-wrapper{display:flex;gap:8px;margin-top:5px}.password-field-wrapper input{flex:1}#toggle-password-visibility{background-color:#f8f9fa;border:1px solid #ccc;border-radius:4px;cursor:pointer;flex-shrink:0;font-size:1.1em;line-height:1;padding:0 12px}#toggle-password-visibility:hover{background-color:#e9ecef}.danger-zone{background-color:#f2dede;border:2px solid #d9534f;border-radius:8px;padding:15px}.danger-zone h2{color:#a94442}.danger-zone button{background-color:#d9534f;color:#fff}.danger-zone button:hover{background-color:#c9302c}.current-turn-highlight{border-color:gold;box-shadow:0 0 14px 5px #ffd70080;transform:scale(1.05);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.current-turn-highlight:after{animation:turn-pulse-glow 1.5s ease-in-out infinite;border-radius:inherit;bottom:0;box-shadow:0 0 20px 8px #ffd700bf;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}.current-turn-highlight.my-turn-active{border-color:#00e676;box-shadow:0 0 18px 6px #00e6768c}.current-turn-highlight.my-turn-active:after{animation:my-turn-pulse-glow .9s ease-in-out infinite;box-shadow:0 0 28px 10px #00e676d9}#your-turn-banner{animation:my-turn-banner-pulse .9s ease-in-out infinite;background-color:#00e676;border-radius:999px;bottom:10px;box-shadow:0 0 20px 6px #00e676cc;color:#063d21;font-weight:700;padding:8px 18px;pointer-events:none;position:absolute;right:10px;white-space:nowrap;z-index:50}.summary-turn{margin-left:auto}.player-cell{align-items:center;display:flex;gap:10px;min-width:0}.player-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-avatar-wrapper{display:inline-flex;flex-shrink:0;position:relative}.player-avatar-wrapper .typing-indicator-wrapper{background-color:#fff;border-radius:50%;bottom:-2px;box-shadow:0 0 0 1px #00000026;height:15px;margin:0;position:absolute;right:-2px;width:15px}.player-avatar-wrapper .typing-indicator-icon{color:#000}.lobby-avatar{border:1px solid #ddd;border-radius:50%;height:32px;object-fit:cover;width:32px}.player-mod-menu{display:inline-block;position:relative}.player-mod-toggle{background:none;border:none;border-radius:4px;color:var(--text-color);cursor:pointer;font-size:1.2em;font-weight:700;line-height:1;padding:4px 10px}.player-mod-toggle:hover{background-color:var(--light-purple-bg)}.player-mod-content{background-color:var(--modal-content-background-color);border-radius:5px;box-shadow:0 8px 16px 0 #0003;display:none;min-width:170px;position:fixed;z-index:20}.player-mod-menu.active>.player-mod-content{display:block}.player-mod-content button{background:none;border:none;color:var(--text-color);cursor:pointer;display:block;font-size:.95em;font-weight:700;padding:10px 14px;text-align:left;width:100%}.player-mod-content button:hover{background-color:var(--light-purple-bg)}.game-avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 0 5px #00000080;height:50px;margin-bottom:5px;object-fit:cover;width:50px}.game-list-avatar{border:1px solid #ccc;border-radius:50%;height:24px;margin-right:8px;object-fit:cover;width:24px}.player-slot.empty-slot{background-color:initial;border-color:#0000;padding:0}#radio-player-container{align-items:center;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;flex-shrink:0;gap:8px;height:100%;width:150px}#radio-controls{align-items:center;display:flex;flex-direction:row;gap:5px;justify-content:space-evenly;width:100%}#forum-posts-container{border-top:1px solid #ddd;display:flex;flex-direction:column;height:100%}#forum-posts-container h3{color:var(--dark-purple);font-size:1.1em;margin-bottom:10px;margin-top:0}#forum-posts-content{flex:1;font-family:Arial,Helvetica,sans-serif;font-size:14px;min-height:0;overflow-y:auto}#forum-posts-content a{color:var(--forum-link-color);font-size:.9em;text-decoration:none}#forum-posts-content a:hover{text-decoration:underline}#radio-now-playing-container{height:35px;overflow:hidden;text-align:center;width:100%}#zoom-level-display{align-items:center;color:var(--zoom-display-color);display:inline-flex;font-weight:700;justify-content:center;min-width:40px;padding:0 5px}#radio-now-playing{animation:none;display:inline-block;font-size:.9em;font-weight:700;padding:0 5px;white-space:nowrap;will-change:transform}#radio-listeners-count{display:inline-block;font-size:.8em;font-weight:700;margin-left:10px}#radio-now-playing.scrolling{animation:marquee 5s linear infinite alternate}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-100% + 150px))}}#radio-mute-btn,#radio-play-pause-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1.2em;height:28px;justify-content:center;line-height:1;margin:0;padding:0;transition:transform .1s,opacity .2s;width:28px}#radio-mute-btn:hover,#radio-play-pause-btn:hover{transform:scale(1.1)}#radio-mute-btn:active,#radio-play-pause-btn:active{transform:scale(.95)}#radio-volume-slider{cursor:pointer;transition:opacity .3s;width:70px}#radio-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4caf50;border-radius:50%;cursor:pointer;height:14px;width:14px}#radio-volume-slider::-moz-range-thumb{background:#4caf50;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.kick-bot-btn{background:#ffc107;border:none;border-radius:4px;color:#212529;cursor:pointer;font-size:11px;font-weight:700;margin-left:8px;opacity:.8;padding:4px 8px;text-transform:uppercase;transition:all .2s}.kick-bot-btn:hover{background:#e0a800;opacity:1}.kick-player-game-btn{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8em;margin-left:5px;padding:4px 8px;transition:background-color .2s ease}.kick-player-game-btn:hover{background-color:#c82333}#color-swatch-grid{display:grid;gap:15px;grid-template-columns:repeat(4,1fr);padding:20px}.color-swatch{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 5px #0003;cursor:pointer;height:50px;transition:transform .2s ease;width:50px}.color-swatch:hover{transform:scale(1.1)}#game-color-picker-btn{background-color:#f0f0f0;border:1px solid #ccc;border-radius:4px;cursor:pointer}.card span:last-child{font-size:1.9em;line-height:.9}#bid-buttons-container .bid-button .bid-symbol{font-size:2.2em;line-height:1}#bid-buttons-container .bid-button[data-suit=diamonds],#bid-buttons-container .bid-button[data-suit=hearts]{color:#d32f2f!important}#bid-buttons-container .bid-button[data-suit=clubs]{color:green!important}#bid-buttons-container .bid-button[data-suit=spades]{color:#000!important}#bid-buttons-container .bid-button[data-suit=sans-atout],#bid-buttons-container .bid-button[data-suit=tout-atout]{color:#1a237e!important}.card.clubs .suit-symbol{color:green}.card.spades .suit-symbol{color:#000}.whisper{animation:fadeIn .25s ease-in;background-color:#f3e5f5;border-left:3px solid #6a1b9a;border-radius:4px;color:#6a1b9a;display:block;font-style:italic;position:relative}#chat-box .whisper{margin:4px 0;padding:5px 8px 5px 26px}.whisper:before{content:"💬";font-style:normal;left:6px;position:absolute}.whisper-reply-button{background-color:#fff;border:1px solid #6a1b9a;border-radius:3px;color:#6a1b9a;cursor:pointer;font-size:.85em;font-style:normal;margin-left:8px;padding:1px 8px}.whisper-reply-button:hover{background-color:#6a1b9a;color:#fff}#whisper-modal .modal-body{display:flex;flex-direction:column;gap:15px}#whisper-modal label{display:block;font-weight:700;margin-bottom:5px}#whisper-modal select,#whisper-modal textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:1em;padding:10px;width:100%}#whisper-modal-message{min-height:1.2em}.whisper-recipient-preview{align-items:center;background-color:#f3e5f5;border-radius:4px;display:flex;gap:8px;margin-top:-10px;padding:6px 10px}.whisper-recipient-preview .lobby-avatar{height:24px;width:24px}.whisper-recipient-preview #whisper-recipient-name{font-weight:700}.whisper-recipient-status{color:#2e7d32;font-size:.85em;margin-left:auto}.whisper-recipient-status.in-game{color:#ef6c00}.whisper-char-counter{color:#777;font-size:.85em;margin-top:-11px;text-align:right}.whisper-char-counter.limit-near{color:#ef6c00}.whisper-char-counter.limit-reached{color:#c62828;font-weight:700}#open-smiley-modal-btn,#open-whisper-modal-btn{background-color:var(--background-color);border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1.1em}#admin-popup-modal{z-index:2000}#lobby-color-picker-btn{background-color:var(--background-color);border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1.1em}#coinche-bid-controls{background-color:var(--light-purple-bg);border:1px solid var(--main-purple);border-radius:8px;display:flex;flex-direction:column;gap:15px;padding:15px}#coinche-bid-controls h3{color:var(--dark-purple);margin:0;text-align:center}.coinche-contract-display{background-color:#fff;border-radius:5px;font-weight:700;padding:8px;text-align:center}.coinche-contract-display span{color:var(--main-purple)}.coinche-bid-actions{flex-direction:column}.coinche-bid-actions,.contract-bid-section{display:flex;gap:10px}#coinche-bid-value{border:1px solid #ccc;border-radius:5px;flex:1;font-size:1.1em;padding:10px}#coinche-suit-buttons{display:grid;gap:5px;grid-template-columns:repeat(4,1fr)}#coinche-suit-buttons button{font-size:2em;font-weight:700}#coinche-suit-buttons button[data-suit=spades]{color:#333}#coinche-suit-buttons button[data-suit=diamonds],#coinche-suit-buttons button[data-suit=hearts]{color:#e74c3c}#coinche-suit-buttons button[data-suit=clubs]{color:green}#coinche-suit-buttons button[data-suit=sans-atout],#coinche-suit-buttons button[data-suit=tout-atout]{color:#2c3e50;font-size:1.5em;font-weight:400}.special-bid-section{display:grid;gap:10px;grid-template-columns:1fr 1fr}#coinche-pass-btn{background-color:#f8d7da;border-color:#f5c6cb}#coinche-coinche-btn{background-color:#ffc107;border-color:#e0a800}#coinche-coinche-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}#game-category-selection{display:flex;justify-content:center}.category-btn{background-color:#f8f9fa;border:1px solid #ccc;color:#495057;cursor:pointer;font-size:1.1em;padding:8px 20px;position:relative;transition:all .2s ease-in-out}.category-btn:first-child{border-bottom-left-radius:20px;border-right:none;border-top-left-radius:20px}.category-btn:last-child{border-bottom-right-radius:20px;border-left:none;border-top-right-radius:20px}.category-btn:hover{background-color:#e2e6ea;z-index:1}.category-btn.active{background-color:#007bff;border-color:#007bff;box-shadow:0 2px 4px #007bff4d;color:#fff;font-weight:600;z-index:2}#game-type-selection-cards{display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}@media (min-width:600px){#game-type-selection-cards{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){#game-type-selection-cards{grid-template-columns:repeat(5,1fr)}}.game-type-card{align-items:center;background-color:var(--light-purple-bg);border:2px solid #ddd;border-color:var(--dark-purple);border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:60px;padding:15px 10px;transition:all .2s ease-in-out}.game-type-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-3px)}.game-type-card.active{background-color:#e7f1ff;border:2px solid #007bff;box-shadow:0 0 0 1px #007bff;transform:scale(1.02)}.game-type-card h3{color:var(--dark-purple);font-size:1em;margin:0;text-align:center}.game-type-card p{color:#555;font-size:.85em;margin:0}.game-options-grid{align-items:center;display:grid;gap:15px 30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:15px}.option-item{align-items:center;display:flex;gap:15px;justify-content:flex-start;padding:5px 0}.option-item label{color:var(--text-color);font-weight:500;margin-bottom:0}.option-item input[type=number]{border:1px solid #ccc;border-radius:4px;padding:5px;width:80px}.option-item input[type=text]{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;padding:8px;width:60%}.switch{display:inline-block;height:34px;position:relative;width:60px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;width:26px}input:checked+.slider{background-color:var(--main-purple)}input:focus+.slider{box-shadow:0 0 1px var(--main-purple)}input:checked+.slider:before{transform:translateX(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.bid-button-symbol{font-size:2em}#game-messages .trick-points{background-color:#fff3e0;border-radius:4px;color:#fd7e14;font-weight:700;padding:3px 6px}#game-messages .contract-met{background-color:#d4edda;border-radius:4px;color:#28a745;font-weight:700;padding:3px 6px}#game-messages .contract-failed{background-color:#f8d7da;border-radius:4px;color:#dc3545;font-weight:700;padding:3px 6px}.private-game-container{align-items:center;display:flex;gap:15px;margin-top:15px}#password-input-container{margin-top:15px;width:100%}#password-input-container input{box-sizing:border-box;width:100%}.game-actions-container{align-items:center;display:flex;gap:5px}.close-game-btn{background-color:#dc3545;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1em;line-height:1;margin-left:0;padding:8px 12px;transition:background-color .2s ease}#smiley-search{background-color:var(--background-color);border:1px solid #ccc;border-radius:6px;box-sizing:border-box;color:var(--text-color);font-size:.95em;margin-bottom:10px;padding:8px 12px;width:100%}#smiley-search:focus{border-color:var(--main-purple);outline:none}#smiley-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));max-height:360px;overflow-y:auto;padding:4px}#smiley-empty{color:gray;padding:20px 0;text-align:center}.smiley-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:background-color .15s ease,transform .1s ease}.smiley-item:hover{background-color:#f0f2f5;transform:scale(1.12)}.smiley-item.smiley-item--picked{background-color:var(--light-purple-bg);transform:scale(1.2)}.smiley-item img{height:40px;object-fit:contain;pointer-events:none;width:40px}.chat-smiley{margin:0 2px;vertical-align:middle}#player-bottom .game-avatar,#player-bottom>span,#your-hand h3{display:none}.card-holder{bottom:0;height:100%;left:0;position:absolute;transform-origin:bottom center;width:1px}.card-holder .card{bottom:100%;height:112px;left:-40px;position:absolute;transition:transform .2s ease-out;width:80px}.card-holder:hover .card{transform:translateY(-20px);z-index:100}html{overflow:hidden}body,html{height:100%;margin:0}body{overflow-x:hidden;overflow-y:hidden}#game-section{display:flex;flex-direction:column}#in-game-chat-input-container{flex-shrink:0}#game-status-bar{align-items:center;background-color:initial;background-image:url(../images/fond-barre.png);background-position:50%;background-size:100% 100%;box-shadow:0 10px 20px #00000080;display:grid;gap:10px;grid-template-columns:1fr 1fr 2fr 1fr 1fr;height:70px;justify-content:space-between;margin:5px auto 10px;padding:8px;width:99%}.webp-supported #game-status-bar{background-image:url(../images/fond-barre.webp)}.team-score{background-color:#0003;border-radius:var(--border-radius);flex-basis:20%;padding:5px;text-align:center}.team-score span{display:block}#team1-names,#team2-names{color:#ccc;font-size:.8em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#team1-score,#team2-score{color:#fff;font-size:1.4em;font-weight:700}#game-main-info{color:#ff0;font-size:1.25em;font-weight:700;margin-bottom:2px;text-shadow:0 1px 3px #000c,0 0 6px #0009}#game-main-info:not(:empty):before{display:inline-block;margin-right:6px;text-shadow:none}#game-phase-info[data-phase=bidding] #game-main-info:before{content:"🗣️"}#game-phase-info[data-phase=playing] #game-main-info:before{content:"🃏"}#game-turn-info{color:#f0f0f0;font-size:.95em;font-weight:500;text-shadow:0 1px 3px #000c}#lobby-lists-area{flex-grow:1;margin-top:0;min-height:0;overflow-y:auto}.status-dot{border-radius:50%;height:12px;width:12px}.status-dot.registering{background-color:#28a745}.status-dot.in-progress{background-color:#ffc107}.status-dot.finished{background-color:#6c757d}.status-text{color:#e2e8f0;font-weight:500}.game-message.warning-inactivity{color:#dc3545;font-weight:700}.player-count{color:#fff;font-size:1.1em;font-weight:600;margin-bottom:5px}.player-progress-bar{background-color:#0006;border-radius:3px;height:6px;overflow:hidden;width:100%}.player-progress-bar .progress{background-color:var(--primary-color);border-radius:3px;height:100%;transition:width .3s ease}.modal-options-container{display:flex;gap:20px;margin-bottom:15px;width:100%}.announcement-switch-container,.private-container{gap:10px}.tarot-game #proposed-card-display .card,.tarot-game .card,.tarot-game .card img,.tarot-game .played-card{height:122px;width:65px}.modal-content.large{max-width:90%;width:1200px}#ecart-chien-container,#ecart-hand-container{text-align:center}#ecart-chien-cards,#ecart-hand-cards{background-color:#0003;border-radius:var(--border-radius);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:130px;padding:10px}#ecart-hand-cards .card{cursor:pointer;transition:all .2s ease}#ecart-hand-cards .card:hover{transform:translateY(-5px)}#ecart-hand-cards .card.selected{box-shadow:0 0 15px 5px var(--primary-color);opacity:.7;transform:scale(.9)}#ecart-counter{color:var(--primary-color);font-weight:700;margin:10px 0}@keyframes turn-pulse-arrow-glow{0%,to{opacity:0}50%{opacity:1}}#turn-compass{background-color:#0003;border:2px solid #ffffff1a;border-radius:50%;height:100px;left:6%;position:absolute;top:10%;transform:translate(-50%,-50%);width:100px;z-index:1}#compass-pointer{height:100%;position:relative;transition:transform .5s cubic-bezier(.4,1.8,.5,1);width:100%}#compass-pointer:after,#compass-pointer:before{border-left:15px solid #0000;border-right:15px solid #0000;content:"";height:0;left:50%;position:absolute;top:6px;transform:translateX(-50%);width:0}#compass-pointer:before{border-bottom:30px solid var(--primary-color,#ffc107)}#compass-pointer:after{animation:turn-pulse-arrow-glow 1.5s ease-in-out infinite;border-bottom:30px solid #fff3c4;opacity:0}#tarot-score-banner{background-color:#0000004d;border:1px solid #ffffff1a;border-radius:var(--border-radius-large);display:flex;justify-content:space-around;margin:5px auto 10px;max-width:800px;padding:8px;width:100%}.tarot-player-score{color:#fff;padding:5px 10px;text-align:center}.tarot-player-score .player-name{color:#ccc;display:block;font-size:.9em}.tarot-player-score .player-score{display:block;font-size:1.3em;font-weight:700}.round-score-change{font-size:.8em;font-weight:400}.round-score-change.positive{color:#28a745}.round-score-change.negative{color:#dc3545}.player-score-slot{background-color:#0003;border-radius:var(--border-radius);display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:5px;text-align:center}.player-score-slot .player-name{color:#ccc;display:block;font-size:.8em;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#refresh-client-text{font-weight:700}.player-score-slot .player-score{color:#fff;display:block;font-size:1.4em;font-weight:700}.options-section{margin-bottom:20px}.options-section:last-child{margin-bottom:0}.options-section h3{border-bottom:1px solid var(--border-color);color:var(--text-color);font-size:1em;margin:0 0 10px;padding-bottom:6px}.options-row{align-items:center;color:var(--text-color);display:flex;gap:10px;justify-content:space-between}#options-sound-toggle-btn{background-color:#fff;border:1px solid var(--main-purple);border-radius:5px;color:#333;cursor:pointer;font-weight:700;padding:8px 14px;transition:all .2s ease}#options-sound-toggle-btn:hover{background-color:var(--light-purple-bg)}#options-sound-toggle-btn.active{background-color:#e9ecef;color:#555}.options-links{border:1px solid var(--border-color);border-radius:5px;display:flex;flex-direction:column;overflow:hidden}.options-links a,.options-links button{background:none;border:none;border-bottom:1px solid var(--border-color);box-sizing:border-box;color:var(--text-color);cursor:pointer;display:block;font-size:1em;font-weight:700;padding:12px 16px;text-align:left;text-decoration:none;width:100%}.options-links a:last-child,.options-links button:last-child{border-bottom:none}.options-links a:hover,.options-links button:hover{background-color:var(--light-purple-bg)}#game-phase-info{background-color:#00000059;border:1px solid #ffffff26;border-radius:var(--border-radius);box-shadow:inset 0 1px 3px #0006;padding:4px 12px;text-align:center}#loading-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%}#loading-box{background-color:#2c3e50;border-radius:10px;box-shadow:0 5px 15px #00000080;padding:30px 40px;text-align:center}#dealer-info-display{align-items:center;background-color:var(--main-purple);border-radius:8px;box-shadow:0 2px 5px #0000004d;color:#fff;display:flex;font-weight:700;gap:8px;justify-content:center;text-align:center}#loading-title{font-size:1.2em;margin-bottom:20px}#loading-bar-container{background-color:#34495e;border-radius:10px;height:20px;margin:0 auto;overflow:hidden;width:300px}#loading-bar{background-color:#2980b9;border-radius:10px;height:100%;transition:width .2s ease-out;width:0}#loading-progress-text{font-size:1em;margin-top:15px}@keyframes turn-pulse-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes my-turn-pulse-glow{0%,to{opacity:.6}50%{opacity:1}}@keyframes my-turn-banner-pulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.trick-winner-highlight{animation:pulse 1.5s ease-out;box-shadow:0 0 15px 5px #ffd700cc}@keyframes pulse{0%{box-shadow:0 0 15px 5px #ffd700b3}50%{box-shadow:0 0 25px 10px gold}to{box-shadow:0 0 15px 5px #ffd700b3}}.game-message.bid-announcement{color:red;font-style:italic;font-weight:700}.game-message.pass-announcement{color:#51cf66;font-style:italic}.bid-tooltip{animation:fadeIn .3s ease-out;border:1px solid #fff3;border-radius:12px;color:#fff;font-size:.9em;font-weight:700;left:50%;padding:5px 10px;pointer-events:none;position:absolute;top:-20px;transform:translateX(-50%);white-space:nowrap;z-index:10}.bid-tooltip.pass{background-color:#555}.bid-tooltip.take{background-color:#27ae60}#player-top .bid-tooltip{bottom:-20px;top:auto}#player-top-left{left:10%;position:absolute;top:25%;transform:translate(-50%,-50%)}#bug-report-modal .modal-content{gap:15px;max-width:600px;padding:25px}#bug-report-modal h2{color:var(--dark-purple);margin-bottom:20px;text-align:center}#bug-report-modal input[type=email],#bug-report-modal input[type=text],#bug-report-modal select,#bug-report-modal textarea{border:1px solid #ccc;border-radius:5px;box-sizing:border-box;font-family:inherit;font-size:1em;margin-bottom:15px;padding:10px;width:100%}#bug-report-modal textarea{min-height:120px;resize:vertical}#bug-report-modal .modal-footer{border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;padding-top:15px}#bug-report-modal .modal-footer button{font-size:.9em;padding:10px 20px;width:auto}#bug-report-modal #bug-report-message{font-weight:700;margin-bottom:10px;margin-top:-10px;text-align:center}#bug-report-modal #bug-report-message.error{color:var(--danger-color)}#bug-report-modal #bug-report-message.success{color:#28a745}.king-call-container{display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-top:20px}.king-call-btn{align-items:center;border:2px solid var(--border-color,#0f3460);border-radius:var(--border-radius-medium,6px);color:var(--text-color,#dcdcdc);cursor:pointer;display:flex;font-size:1.2em;justify-content:center;padding:15px;transition:all .2s ease}.king-call-btn:hover{background-color:var(--main-purple,#6f42c1);border-color:var(--main-purple,#6f42c1);color:#fff}.king-symbol{font-size:1.5em;margin-right:10px}.king-symbol.clubs,.king-symbol.spades{color:#555}.king-symbol.diamonds,.king-symbol.hearts{color:#e74c3c}.game-list-players.three-player-layout{grid-template-areas:"ouest . nord" ". centre ." ". sud .";grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;padding:15px}.three-player-layout .player-slot.south{justify-self:center}.game-list-players.five-player-layout{grid-template-areas:"north-west center north-east" "west south east";grid-template-columns:1fr auto 1fr;grid-template-rows:1fr 1fr;padding:20px 15px}.player-slot.north-west{align-self:start;grid-area:north-west;justify-self:start}.player-slot.north-east{align-self:start;grid-area:north-east;justify-self:end}.five-player-layout .player-slot.west{align-self:center;grid-area:west;justify-self:start}.five-player-layout .player-slot.east{align-self:center;grid-area:east;justify-self:end}.five-player-layout .player-slot.south{align-self:end;grid-area:south;justify-self:center}.five-player-layout .game-list-details-center{align-self:start;grid-area:center}.five-player-game #player-top{left:70%;top:10px;transform:translateX(-50%)}.five-player-game #player-top-left{left:25%;top:10px;transform:translateX(-50%)}.five-player-game #player-top-right{left:75%;top:10px;transform:translateX(-50%)}#tarot-score-bar{align-items:center;background-image:url(../images/fond-barre.png);background-position:50%;background-size:100% 100%;box-shadow:0 10px 20px #00000080;display:none;gap:10px;grid-template-columns:2fr 5fr;height:70px;margin:5px auto 10px;padding:8px;width:99%}#tarot-player-scores{display:grid;gap:10px;grid-template-columns:repeat(5,1fr)}#tarot-game-phase-info{background-color:#00000059;border:1px solid #ffffff26;border-radius:var(--border-radius);box-shadow:inset 0 1px 3px #0006;padding:4px 12px;text-align:center}#tarot-game-main-info{color:#ff0;font-size:1.25em;font-weight:700;margin-bottom:2px;text-shadow:0 1px 3px #000c,0 0 6px #0009}#tarot-game-main-info:not(:empty):before{display:inline-block;margin-right:6px;text-shadow:none}#tarot-game-phase-info[data-phase=bidding] #tarot-game-main-info:before{content:"🗣️"}#tarot-game-phase-info[data-phase=callingKing] #tarot-game-main-info:before{content:"👑"}#tarot-game-phase-info[data-phase=ecart] #tarot-game-main-info:before{content:"🎴"}#tarot-game-phase-info[data-phase=playing] #tarot-game-main-info:before{content:"🃏"}#tarot-game-turn-info{color:#f0f0f0;font-size:.95em;font-weight:500;text-shadow:0 1px 3px #000c}#profile-link{color:green}#leaderboard-link{color:var(--leaderboard-link-color)}#open-theme-modal-btn{color:var(--theme-button-color)}#create-game{background-color:var(--create-game-button-bg);color:#000;width:180px}.btn-admin-red{background-color:#dc3545;color:#fff}.btn-admin-red:hover{background-color:#c82333}.private-game-icon{color:#ffc107;font-size:.9em;margin-left:5px;vertical-align:middle}.tournament-game-badge{background-color:gold;color:#333}.private-game-badge,.tournament-game-badge{border-radius:4px;font-size:.7em;font-weight:700;margin-left:5px;padding:2px 6px}.private-game-badge{background-color:#6c757d;color:#fff}#tarot-chien-modal .modal-content{max-width:600px;text-align:center}#tarot-chien-display-modal{background-color:#0003;border-radius:var(--border-radius);display:flex;flex-wrap:wrap;gap:10px;justify-content:center;min-height:130px;padding:10px}#tarot-chien-display-modal .card{box-shadow:0 2px 5px #0000004d;height:122px;width:65px}.typing-indicator-wrapper{align-items:center;display:inline-flex;flex-shrink:0;margin:0 4px;opacity:0;transition:opacity .3s ease-in-out;vertical-align:middle}.typing-indicator-wrapper.active{opacity:1}.typing-indicator-icon{animation:typing-icon-pulse 1.4s ease-in-out infinite;color:#90a4ae}@keyframes typing-icon-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}#belote-modal{align-items:flex-start;background-color:initial;height:auto;justify-content:flex-end;pointer-events:none;position:absolute;right:20px;top:20px;width:auto;z-index:100}#belote-modal .modal-content{animation:slideInRight .3s ease-out;background-color:#ffffffe6;border-radius:8px;box-shadow:0 4px 15px #0003;max-width:300px;padding:15px;pointer-events:auto;width:auto}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.server-update-notification{align-items:center;animation:server-update-slide-in .3s ease-out;background-color:#ffc107;border-radius:8px;box-shadow:0 2px 8px #00000040;color:#212121;display:flex;font-size:.95em;gap:10px;padding:10px 14px;position:fixed;right:10px;top:10px;z-index:1000}.server-update-notification[hidden]{display:none}@keyframes server-update-slide-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.server-update-dismiss-btn,.server-update-refresh-btn{border:none;border-radius:5px;cursor:pointer;font-weight:600}.server-update-refresh-btn{background-color:#212121;color:#ffc107;padding:6px 12px}.server-update-refresh-btn:focus-visible,.server-update-refresh-btn:hover{background-color:#000}.server-update-dismiss-btn{background:#0000;color:#212121;font-size:1.2em;line-height:1;padding:0 4px}.server-update-dismiss-btn:focus-visible,.server-update-dismiss-btn:hover{color:#000}.app-version-badge{background-color:#0000008c;border-radius:12px;bottom:8px;color:#fff;cursor:pointer;font-size:.75em;line-height:1.4;padding:3px 9px;position:fixed;right:8px;transition:background-color .2s ease,opacity .2s ease;user-select:text;z-index:9999}.app-version-badge:empty{display:none}.app-version-badge:focus-visible,.app-version-badge:hover{background-color:#000000bf}.app-version-badge.copied{background-color:#2e7d32}.history-item{align-items:center;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:inherit;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px 15px;text-decoration:none;transition:transform .2s ease}.history-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.history-item.win{border-left:5px solid #28a745}.history-item.loss{border-left:5px solid #dc3545}.history-item.cancelled{border-left:5px solid #ffc107;opacity:.7}.history-details{flex-grow:1}#belote-announcement-message{color:#000}.history-score{color:#343a40;font-weight:700;margin-bottom:5px}.players{color:#6c757d;font-size:.9em}.game-type{color:#adb5bd;font-size:.8em;margin-top:5px}.game-status{color:#ffc107;font-size:.9em;font-weight:700;margin-top:5px}.history-date{color:#6c757d;font-size:.8em;margin-left:15px;white-space:nowrap}#charts-container,#stats-tab-content{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}#charts-container{width:100%}.chart-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:400px;padding:20px;width:100%}#profile-avatar{border:3px solid var(--main-purple);border-radius:50%;box-shadow:0 0 10px #0003;height:100px;margin-bottom:15px;object-fit:cover;width:100px}.server-status-table{border-collapse:collapse;margin-top:20px;width:100%}.server-status-table td,.server-status-table th{border:1px solid #ddd;color:#000;padding:8px;text-align:left}.server-status-table th{background-color:var(--dark-purple);color:#fff}.played-card.is-called-king{border:3px solid gold;box-shadow:0 0 15px #ffd700cc;transform:scale(1.05);z-index:100}.confetti-container{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:1002}.confetti-piece{animation-fill-mode:forwards;animation-name:confetti-fall;animation-timing-function:ease-in;height:14px;opacity:.9;position:absolute;top:-12px;width:8px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px) rotate(0deg)}to{opacity:.85;transform:translateY(105vh) rotate(2turn)}}