:root{--bg-primary:#1a1510;--bg-secondary:#2a2015;--bg-card:#3d2d1f;--bg-hover:#4a3828;--maroon:#722f37;--maroon-dark:#5a252c;--maroon-light:#8b3a44;--gold:#d4a84b;--gold-light:#e8c76b;--gold-dark:#b8923f;--cream:#f5e6d3;--cream-dark:#d9c4a9;--parchment:#f5e6c8;--parchment-dark:#d4bc82;--text-primary:#f5e6d3;--text-secondary:#c9b89d;--text-muted:#8a7a65;--border-color:#5a4535;--border-gold:#8b7355;--card-red:#8b0000;--card-black:#1a1a1a;--danger:#a33;--danger-dark:#822;--font-display:"Cinzel",serif;--font-decorative:"Cinzel Decorative",serif;--font-body:"Crimson Text",serif}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;background:#1a1510;background:var(--bg-primary);color:#f5e6d3;color:var(--text-primary);font-family:Crimson Text,serif;font-family:var(--font-body);font-size:16px;line-height:1.6}#root{display:flex;flex-direction:column;min-height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#2a2015;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#b8923f;background:var(--gold-dark);border-radius:4px}.app{background:radial-gradient(ellipse at top,#722f3733 0,#0000 50%),radial-gradient(ellipse at bottom,#1a1510e6 0,#0000 70%),linear-gradient(180deg,#1a1510,#0d0a07);background:radial-gradient(ellipse at top,#722f3733 0,#0000 50%),radial-gradient(ellipse at bottom,#1a1510e6 0,#0000 70%),linear-gradient(180deg,var(--bg-primary) 0,#0d0a07 100%);display:flex;flex-direction:column;min-height:100vh}.header{align-items:center;background:linear-gradient(180deg,#5a252c,#722f37 50%,#5a252c);background:linear-gradient(180deg,var(--maroon-dark) 0,var(--maroon) 50%,var(--maroon-dark) 100%);border-bottom:3px solid #d4a84b;border-bottom:3px solid var(--gold);box-shadow:0 4px 20px #00000080;display:flex;justify-content:space-between;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header:before{background:linear-gradient(90deg,#0000,#d4a84b,#0000);background:linear-gradient(90deg,#0000,var(--gold),#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.header-logo{gap:12px}.header-logo,.logo-badge{align-items:center;display:flex}.logo-badge{background:#f5e6d3;background:var(--cream);border:3px solid #d4a84b;border:3px solid var(--gold);border-radius:50%;box-shadow:0 2px 10px #0000004d,inset 0 0 10px #d4a84b4d;height:46px;justify-content:center;position:relative;width:46px}.logo-badge:before{border:2px solid #722f37;border:2px solid var(--maroon);border-radius:50%;content:"";inset:3px;position:absolute}.logo-number{color:#722f37;color:var(--maroon);font-family:Cinzel,serif;font-family:var(--font-display);font-size:14px;font-weight:700}.logo-fraction{font-size:9px;margin-left:1px;vertical-align:super}.header-title-group{display:flex;flex-direction:column}.header-subtitle{color:#e8c76b;color:var(--gold-light);font-size:8px;letter-spacing:2px;text-transform:uppercase}.header-subtitle,.header-title{font-family:Cinzel,serif;font-family:var(--font-display)}.header-title{color:#f5e6d3;color:var(--cream);font-size:1rem;font-weight:600;letter-spacing:1px;text-shadow:0 2px 4px #00000080}.user-info{gap:10px}.header-right,.user-info{align-items:center;display:flex}.header-right{gap:12px}.sound-toggle{align-items:center;background:#3d2d1f;background:var(--bg-card);border:2px solid #b8923f;border:2px solid var(--gold-dark);border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.sound-toggle:hover{background:#722f37;background:var(--maroon);border-color:#d4a84b;border-color:var(--gold);transform:scale(1.1)}.user-avatar{align-items:center;background:linear-gradient(135deg,#d4a84b,#b8923f);background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-radius:50%;color:#5a252c;color:var(--maroon-dark);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-weight:700;justify-content:center}.user-avatar,.user-avatar-img{border:2px solid #f5e6d3;border:2px solid var(--cream);box-shadow:0 2px 8px #0000004d}.user-name{color:#f5e6d3;color:var(--cream);font-size:13px;font-weight:600}.user-stats{display:flex;font-size:11px;gap:8px}.user-stats .stat-wins{background:#d4a84b26;color:#d4a84b;color:var(--gold)}.user-stats .stat-losses,.user-stats .stat-wins{border-radius:3px;font-family:Cinzel,serif;font-family:var(--font-display);font-weight:600;padding:1px 6px}.user-stats .stat-losses{background:#e5737326;color:#e57373}.main-content{display:flex;flex:1 1;flex-direction:column;gap:20px;padding:20px}.btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:inline-flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:11px;font-weight:700;gap:8px;justify-content:center;letter-spacing:1.5px;overflow:hidden;padding:10px 18px;position:relative;text-transform:uppercase;transition:all .2s ease}.btn:before{background:linear-gradient(90deg,#0000,#ffffff80,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.btn-primary{background:#5a252c;background:var(--maroon-dark);border:2px solid #722f37;border:2px solid var(--maroon);box-shadow:0 4px 15px #722f3766;color:#f5e6d3;color:var(--cream)}.btn-primary:hover{background:#722f37;background:var(--maroon);box-shadow:0 6px 20px #722f3780;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:linear-gradient(180deg,#2a2015,#1a1510);border:2px solid #b8923f;border:2px solid var(--gold-dark);box-shadow:0 4px 15px #d4a84b33;color:#d4a84b;color:var(--gold)}.btn-secondary:hover{border-color:#d4a84b;border-color:var(--gold);box-shadow:0 6px 20px #d4a84b4d}.btn-gold{background:linear-gradient(180deg,#2a2015,#1a1510);border:2px solid #b8923f;border:2px solid var(--gold-dark);box-shadow:0 4px 15px #d4a84b33;color:#d4a84b;color:var(--gold)}.btn-gold:hover{border-color:#d4a84b;border-color:var(--gold);box-shadow:0 6px 20px #d4a84b4d}.btn-danger{background:#5a252c;background:var(--maroon-dark);border:2px solid #722f37;border:2px solid var(--maroon);box-shadow:0 4px 15px #722f374d;color:#f5e6d3;color:var(--cream)}.btn-danger:hover{background:#722f37;background:var(--maroon)}.btn-small{font-size:10px;padding:8px 14px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.card{background:linear-gradient(180deg,#3d2d1f,#2a2015);background:linear-gradient(180deg,var(--bg-card) 0,var(--bg-secondary) 100%);border:2px solid #5a4535;border:2px solid var(--border-color);border-radius:10px;box-shadow:0 8px 32px #0006;overflow:hidden;position:relative}.card:before{background:linear-gradient(90deg,#0000,#d4a84b,#0000);background:linear-gradient(90deg,#0000,var(--gold),#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.card-header{align-items:center;background:linear-gradient(90deg,#722f374d,#0000,#722f374d);border-bottom:1px solid #5a4535;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.card-title{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.card-body{padding:20px}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{align-items:center;background:linear-gradient(90deg,#2a2015,#3d2d1f,#2a2015);background:linear-gradient(90deg,var(--bg-secondary),var(--bg-card),var(--bg-secondary));border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:8px;display:flex;justify-content:space-between;padding:16px;position:relative;transition:all .3s ease}.session-item:before{background:#d4a84b;background:var(--gold);border-radius:3px 0 0 3px;bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:3px}.session-item:hover{border-color:#d4a84b;border-color:var(--gold);transform:translateX(4px)}.session-item:hover:before{opacity:1}.session-info{display:flex;flex-direction:column;gap:6px}.session-host{align-items:center;color:#f5e6d3;color:var(--cream);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:14px;font-weight:600;gap:8px}.session-details{color:#c9b89d;color:var(--text-secondary);display:flex;font-size:13px;gap:12px}.session-tag{background:#1a1510;background:var(--bg-primary);border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:4px;font-family:Cinzel,serif;font-family:var(--font-display);font-size:11px;letter-spacing:.5px;padding:2px 10px;text-transform:uppercase}.session-tag.gold{background:#d4a84b26;border-color:#b8923f;border-color:var(--gold-dark);color:#d4a84b;color:var(--gold)}.session-players{align-items:center;display:flex;font-size:14px;gap:6px}.session-players-count{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-weight:600}.modal-overlay{align-items:center;background:#0a0805eb;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:linear-gradient(180deg,#3d2d1f,#2a2015);background:linear-gradient(180deg,var(--bg-card) 0,var(--bg-secondary) 100%);border:2px solid #722f37;border:2px solid var(--maroon);border-radius:14px;box-shadow:0 0 0 1px #d4a84b,0 20px 60px #000000b3;box-shadow:0 0 0 1px var(--gold),0 20px 60px #000000b3;max-height:90vh;max-width:420px;overflow-y:auto;width:100%}.modal-header{align-items:center;background:linear-gradient(90deg,#722f3766,#722f3733,#722f3766);border-bottom:1px solid #5a4535;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px}.modal-title{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:1px}.modal-close{background:none;border:none;color:#f5e6d3;color:var(--cream);cursor:pointer;font-size:24px;line-height:1;padding:4px;transition:color .3s ease}.modal-close:hover{color:#d4a84b;color:var(--gold)}.modal-body{display:flex;flex-direction:column;gap:20px;padding:20px}.modal-footer{border-top:1px solid #5a4535;border-top:1px solid var(--border-color);display:flex;gap:12px;padding:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.form-input{background:#1a1510;background:var(--bg-primary);border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:6px;color:#f5e6d3;color:var(--text-primary);font-family:Crimson Text,serif;font-family:var(--font-body);font-size:15px;padding:12px 16px;transition:border-color .3s ease}.form-input:focus{border-color:#d4a84b;border-color:var(--gold);box-shadow:0 0 0 2px #d4a84b33;outline:none}.form-input::placeholder{color:#8a7a65;color:var(--text-muted)}.radio-group{display:flex;gap:10px}.radio-option{background:#1a1510;background:var(--bg-primary);border:2px solid #5a4535;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;flex:1 1;padding:12px;text-align:center;transition:all .3s ease}.radio-option:hover{border-color:#722f37;border-color:var(--maroon)}.radio-option.selected{background:#d4a84b1a;border-color:#d4a84b;border-color:var(--gold);box-shadow:inset 0 0 20px #d4a84b1a}.radio-option-title{color:#f5e6d3;color:var(--cream);font-family:Cinzel,serif;font-family:var(--font-display);font-size:13px;font-weight:600}.radio-option-desc{color:#c9b89d;color:var(--text-secondary);font-size:11px;margin-top:4px}.game-container{background:radial-gradient(ellipse at center,#3d2d1f99 0,#0000 70%),#1a1510;background:radial-gradient(ellipse at center,#3d2d1f99 0,#0000 70%),var(--bg-primary);display:flex;flex:1 1;flex-direction:column}.turn-indicator{align-items:center;background:#0006;border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:20px;display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:12px;gap:12px;justify-content:center;margin:8px auto;padding:8px 16px;width:-webkit-fit-content;width:fit-content}.turn-label{color:#f5e6d3;color:var(--cream);font-weight:600}.turn-vs{color:#8a7a65;color:var(--text-muted);font-size:11px;font-style:italic}.game-header{background:linear-gradient(180deg,#5a252c,#722f37);background:linear-gradient(180deg,var(--maroon-dark),var(--maroon));border-bottom:2px solid #d4a84b;border-bottom:2px solid var(--gold);padding:12px 16px}.game-header,.turn-timer-bar{align-items:center;display:flex;justify-content:space-between}.turn-timer-bar{background:linear-gradient(180deg,#0000004d,#0000001a);border-bottom:1px solid #5a4535;border-bottom:1px solid var(--border-color);padding:8px 16px}.turn-player{align-items:center;color:#f5e6d3;color:var(--cream);display:flex;font-size:14px;gap:8px}.turn-player.my-turn{animation:pulse 1s infinite;color:#d4a84b;color:var(--gold);font-weight:600}.turn-player-icon{font-size:16px}.turn-player-name{font-family:Cinzel,serif;font-family:var(--font-display)}.turn-timer{align-items:center;background:#3d2d1f;background:var(--bg-card);border:2px solid #b8923f;border:2px solid var(--gold-dark);border-radius:20px;display:flex;gap:6px;padding:4px 12px}.turn-timer.warning{background:#ffa00033;border-color:#ffa000}.turn-timer.critical{animation:pulse .5s infinite;background:#f4433633;border-color:#f44336}.timer-icon{font-size:14px}.timer-value{color:#f5e6d3;color:var(--cream);font-family:Cinzel,serif;font-family:var(--font-display);font-size:16px;font-weight:700;min-width:35px;text-align:center}.turn-timer.warning .timer-value{color:#ffa000}.turn-timer.critical .timer-value{color:#f44336}.game-info{gap:16px}.game-info,.trump-indicator{align-items:center;display:flex}.trump-indicator{background:#f5e6d3;background:var(--cream);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:6px;gap:8px;padding:6px 14px}.trump-label{color:#722f37;color:var(--maroon);font-family:Cinzel,serif;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.trump-suit{font-size:22px;line-height:1}.trump-suit.red{color:#8b0000;color:var(--card-red)}.trump-suit.black{color:#1a1a1a;color:var(--card-black)}.deck-info{align-items:center;color:#f5e6d3;color:var(--cream);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:14px;gap:8px}.deck-card-icon{background:linear-gradient(180deg,#8b3a44,#5a252c);background:linear-gradient(180deg,var(--maroon-light) 0,var(--maroon-dark) 100%);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:4px;box-shadow:inset 0 0 10px #00000080;height:46px;position:relative;width:34px}.deck-card-icon:before{border:1px solid #b8923f;border:1px solid var(--gold-dark);border-radius:2px;bottom:4px;content:"";left:4px;position:absolute;right:4px;top:4px}.deck-card-icon:after{color:#d4a84b;color:var(--gold);content:"⚡";font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.deck-card-icon .count{align-items:center;background:#d4a84b;background:var(--gold);border-radius:9px;bottom:-8px;color:#5a252c;color:var(--maroon-dark);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;position:absolute;right:-8px}.player-card-count{background:linear-gradient(180deg,#8b3a44,#5a252c);background:linear-gradient(180deg,var(--maroon-light) 0,var(--maroon-dark) 100%);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:3px;box-shadow:inset 0 0 8px #00000080;height:38px;position:relative;width:28px}.player-card-count:before{border:1px solid #b8923f;border:1px solid var(--gold-dark);border-radius:2px;bottom:3px;content:"";left:3px;position:absolute;right:3px;top:3px}.player-card-count:after{color:#d4a84b;color:var(--gold);content:"⚡";font-size:11px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.player-card-count .count{align-items:center;background:#d4a84b;background:var(--gold);border-radius:8px;bottom:-6px;color:#5a252c;color:var(--maroon-dark);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:9px;font-weight:700;height:16px;justify-content:center;min-width:16px;position:absolute;right:-6px}.game-table{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:12px}.opponents-area{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center;padding:10px;width:100%}.opponent{align-items:center;display:flex;flex-direction:column;gap:4px;max-width:90px;min-width:70px}.opponent-avatar-wrapper{align-items:center;background:#0000;border-radius:50%;display:flex;justify-content:center;padding:3px;transition:all .3s ease}.opponent-avatar-wrapper.active{background:#d4a84b;background:var(--gold);box-shadow:0 0 20px #d4a84b80}.opponent-avatar-wrapper.defending{background:#8b0000;background:var(--card-red);box-shadow:0 0 20px #8b000080}.opponent-name{color:#f5e6d3;color:var(--cream);font-size:11px;font-weight:600;max-width:80px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.opponent-cards{margin-top:2px}.opponent-role{font-size:12px;margin-top:0}.table-area{align-items:center;background:radial-gradient(ellipse at center,#722f3726 0,#0000 70%);border:2px solid #5a4535;border:2px solid var(--border-color);border-radius:100px;flex:1 1;min-height:140px}.table-area,.table-cards{display:flex;justify-content:center}.table-cards{flex-wrap:wrap;gap:12px;max-width:100%}.table-pair{height:120px;position:relative;width:95px}.table-pair .playing-card:first-child{left:0;position:absolute;top:0;z-index:1}.table-pair .playing-card:last-child{left:35px;position:absolute;top:30px;transform:rotate(12deg);z-index:2}.player-area{display:flex;flex-direction:column;gap:12px}.player-actions{gap:10px}.player-actions,.player-hand{display:flex;flex-wrap:wrap;justify-content:center}.player-hand{padding:10px 0}.player-hand .playing-card{margin-left:-10px;transition:all .2s ease}.player-hand .playing-card:first-child{margin-left:0}.player-hand .playing-card:hover{transform:translateY(-15px);z-index:10}.player-hand .playing-card.selected{box-shadow:0 10px 30px #d4a84b80;transform:translateY(-20px)}.player-hand .playing-card.disabled{filter:grayscale(30%);opacity:.5}.player-hand .playing-card.disabled:hover{cursor:not-allowed;transform:translateY(-5px)}.spectator-mode{color:#f5e6d3;color:var(--cream);padding:20px;text-align:center}.spectator-mode p{color:#e8c76b;color:var(--gold-light);font-size:14px;margin-bottom:16px}.playing-card{background:linear-gradient(145deg,#f5e6c8,#e8d4a8 50%,#d4bc82);border:2px solid #8b7355;border:2px solid var(--border-gold);border-radius:8px;box-shadow:0 4px 12px #0006;cursor:pointer;height:84px;position:relative;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:60px}.playing-card:before{border:1px solid #8b735566;border-radius:4px;bottom:4px;content:"";left:4px;pointer-events:none;position:absolute;right:4px;top:4px}.card-corner{align-items:center;display:flex;flex-direction:column;line-height:1;position:absolute;z-index:2}.card-corner-top{left:6px;top:5px}.card-corner-bottom{bottom:5px;right:6px}.card-rank{font-family:Cinzel,serif;font-family:var(--font-display);font-size:14px;font-weight:700}.card-suit{font-size:12px;margin-top:1px}.card-center{align-items:center;display:flex;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.card-center-suit{font-size:28px}.card-magic-symbol{font-size:26px;opacity:.9}.playing-card.red .card-center-suit,.playing-card.red .card-magic-symbol,.playing-card.red .card-rank,.playing-card.red .card-suit{color:#8b0000;color:var(--card-red)}.playing-card.black .card-center-suit,.playing-card.black .card-magic-symbol,.playing-card.black .card-rank,.playing-card.black .card-suit{color:#1a1a1a;color:var(--card-black)}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.attacking{background:linear-gradient(180deg,#e8c76b,#d4a84b);background:linear-gradient(180deg,var(--gold-light),var(--gold));color:#5a252c;color:var(--maroon-dark)}.status-badge.defending{background:linear-gradient(180deg,#8b3a44,#722f37);background:linear-gradient(180deg,var(--maroon-light),var(--maroon));color:#f5e6d3;color:var(--cream)}.status-badge.waiting{background:#3d2d1f;background:var(--bg-card);border:1px solid #5a4535;border:1px solid var(--border-color);color:#c9b89d;color:var(--text-secondary)}.status-badge.finished{background:linear-gradient(180deg,#66bb6a,#43a047);color:#fff}.status-badge.throwing{animation:pulse 1s infinite;background:linear-gradient(180deg,#ff9800,#f57c00);color:#fff}.status-badge.passed{background:linear-gradient(180deg,#4caf50,#388e3c);color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.taking-indicator{animation:pulse 1s infinite;color:#d4a84b;color:var(--gold);font-size:12px;font-style:italic}.passed-indicator{color:#4caf50;font-size:10px;font-weight:600}.opponent.passed .opponent-avatar-wrapper{opacity:.6}.lobby-container{display:flex;flex:1 1;flex-direction:column;padding:20px}.lobby-header{margin-bottom:24px;text-align:center}.lobby-title{color:#d4a84b;color:var(--gold);font-family:Cinzel Decorative,serif;font-family:var(--font-decorative);font-size:1.5rem;margin-bottom:8px}.lobby-subtitle{color:#c9b89d;color:var(--text-secondary);font-size:14px}.lobby-players{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.lobby-player{align-items:center;background:#3d2d1f;background:var(--bg-card);border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:10px;display:flex;gap:12px;padding:14px 18px}.lobby-player.host{background:linear-gradient(90deg,#d4a84b1a,#0000);border-color:#d4a84b;border-color:var(--gold)}.lobby-player-info{flex:1 1}.lobby-player-name{color:#f5e6d3;color:var(--cream);font-weight:600}.lobby-player-badge{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:12px}.lobby-waiting{padding:40px 20px;text-align:center}.lobby-waiting-icon{animation:pulse-scale 2s infinite;font-size:48px;margin-bottom:16px}@keyframes pulse-scale{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.lobby-waiting-text{color:#c9b89d;color:var(--text-secondary);font-size:14px;font-style:italic}.lobby-settings{background:#3d2d1f;background:var(--bg-card);border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:10px;margin-bottom:24px;padding:18px}.lobby-settings-title{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:1px;margin-bottom:14px;text-transform:uppercase}.lobby-settings-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}.lobby-setting{display:flex;flex-direction:column;gap:4px}.lobby-setting-label{color:#8a7a65;color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.lobby-setting-value{color:#f5e6d3;color:var(--cream);font-size:14px;font-weight:600}.users-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.user-item{align-items:center;background:#1a1510;background:var(--bg-primary);border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.user-item:hover{background:#4a3828;background:var(--bg-hover);border-color:#5a4535;border-color:var(--border-color)}.user-item.selected{background:#d4a84b26;border:1px solid #d4a84b;border:1px solid var(--gold)}.user-item-info{flex:1 1}.user-item-name{color:#f5e6d3;color:var(--cream);font-size:14px;font-weight:600}.user-item-status{color:#8a7a65;color:var(--text-muted);font-size:12px}.user-item-status.online{color:#4ade80}.empty-state{padding:40px 20px;text-align:center}.empty-state-icon{display:flex;justify-content:center;margin-bottom:20px}.empty-state-icon .deck-card-icon{height:68px;width:50px}.empty-state-icon .deck-card-icon:after{font-size:20px}.empty-state-text{color:#c9b89d;color:var(--text-secondary);font-size:15px;font-style:italic}.empty-state-small{color:#8a7a65;color:var(--text-muted);font-size:14px;font-style:italic;padding:20px;text-align:center}.leaderboard{display:flex;flex-direction:column;gap:8px}.leaderboard-item{align-items:center;background:#1a1510;background:var(--bg-primary);border:1px solid #5a4535;border:1px solid var(--border-color);border-radius:8px;display:flex;gap:12px;padding:10px 14px;transition:all .2s ease}.leaderboard-item.gold{background:linear-gradient(90deg,#d4a84b26,#0000);border-color:#b8923f;border-color:var(--gold-dark)}.leaderboard-item.silver{background:linear-gradient(90deg,#c0c0c01a,#0000);border-color:#777}.leaderboard-item.bronze{background:linear-gradient(90deg,#cd7f321a,#0000);border-color:#8b5a2b}.leaderboard-rank{align-items:center;background:#3d2d1f;background:var(--bg-card);border:2px solid #5a4535;border:2px solid var(--border-color);border-radius:50%;color:#c9b89d;color:var(--text-secondary);display:flex;font-family:Cinzel,serif;font-family:var(--font-display);font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.leaderboard-item.gold .leaderboard-rank{background:#d4a84b;background:var(--gold);border-color:#b8923f;border-color:var(--gold-dark);color:#5a252c;color:var(--maroon-dark)}.leaderboard-item.silver .leaderboard-rank{background:silver;border-color:#999;color:#333}.leaderboard-item.bronze .leaderboard-rank{background:#cd7f32;border-color:#8b5a2b;color:#fff}.leaderboard-player{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.leaderboard-name{color:#f5e6d3;color:var(--cream);font-size:14px;font-weight:600}.leaderboard-name,.leaderboard-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-username{color:#8a7a65;color:var(--text-muted);font-size:11px}.leaderboard-stats{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.leaderboard-wins{color:#d4a84b;color:var(--gold);font-family:Cinzel,serif;font-family:var(--font-display);font-size:14px;font-weight:700}.leaderboard-winrate{color:#c9b89d;color:var(--text-secondary);font-size:11px}.game-result{align-items:center;background:#0a0805f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.game-result-content{padding:40px;text-align:center}.game-result-icon{font-size:80px;margin-bottom:24px}.game-result-title{font-family:Cinzel Decorative,serif;font-family:var(--font-decorative);font-size:2rem;margin-bottom:12px}.game-result-title.win{color:#d4a84b;color:var(--gold);text-shadow:0 0 30px #d4a84b80}.game-result-title.lose{color:#8b3a44;color:var(--maroon-light)}.game-result-subtitle{color:#c9b89d;color:var(--text-secondary);font-style:italic;margin-bottom:32px}.notification{animation:slideDown .3s ease;background:#3d2d1f;background:var(--bg-card);border:2px solid #d4a84b;border:2px solid var(--gold);border-radius:10px;box-shadow:0 8px 32px #0009;left:50%;padding:16px 24px;position:fixed;top:80px;transform:translateX(-50%);z-index:1001}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.notification-content{align-items:center;display:flex;flex-direction:column;gap:12px}.notification-title{color:#f5e6d3;color:var(--cream);font-weight:600}.notification-actions{display:flex;gap:10px}.loading{align-items:center;display:flex;justify-content:center;min-height:200px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #5a4535;border-top-color:#d4a84b;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--gold);height:44px;width:44px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:500px){.opponents-area{gap:14px}.opponent{max-width:85px;min-width:65px}}@media (max-width:400px){.header{padding:10px 14px}.header-title{font-size:.9rem}.logo-badge{height:40px;width:40px}.logo-number{font-size:12px}.main-content{padding:16px}.playing-card{height:73px;width:52px}.playing-card .card-rank{font-size:12px}.playing-card .card-suit{font-size:10px}.playing-card .card-center-suit{font-size:22px}.playing-card .card-magic-symbol{font-size:20px}.player-hand .playing-card{margin-left:-12px}.sound-toggle{font-size:16px;height:32px;width:32px}.header-right{gap:8px}.opponents-area{gap:12px;padding:8px}.opponent{max-width:80px;min-width:60px}.opponent-name{font-size:10px;max-width:70px}.player-card-count{height:32px;width:24px}.player-card-count:after{font-size:9px}.player-card-count .count{font-size:8px;height:14px;min-width:14px}}
/*# sourceMappingURL=main.d27dbcf1.css.map*/