:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--energy-buone: #22c55e;--energy-cattive: #a855f7;--card-bg: #1e1e2e;--card-border: #3b3b5c;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--player-active: #fbbf24;--damage: #ef4444;--heal: #22c55e}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e);color:var(--text-primary);min-height:100vh}.lobby{max-width:600px;margin:0 auto;padding:2rem}.lobby h1{text-align:center;color:var(--player-active);margin-bottom:2rem}.lobby-form{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--card-border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary)}.form-group input,.form-group select{width:100%;padding:.75rem;border-radius:6px;border:1px solid var(--card-border);background:#2a2a40;color:var(--text-primary);font-size:1rem}.form-group select option{background:#2a2a40}.btn{padding:.75rem 1.5rem;border-radius:6px;border:none;cursor:pointer;font-size:1rem;font-weight:700;transition:all .2s}.btn-primary{background:var(--player-active);color:#1a1a2e}.btn-primary:hover{background:#f59e0b;transform:translateY(-2px)}.btn-secondary{background:#4a4a6a;color:var(--text-primary)}.btn-secondary:hover{background:#5a5a7a}.btn-action{background:var(--energy-buone);color:#fff;margin:.25rem}.btn-action:hover{background:#16a34a}.btn-attack{background:var(--damage);color:#fff}.btn-end-turn{background:#6366f1;color:#fff}.card{width:140px;min-height:200px;background:var(--card-bg);border:2px solid var(--card-border);border-radius:8px;padding:8px;display:flex;flex-direction:column;font-size:.75rem;position:relative;transition:all .2s;cursor:pointer}.card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0006}.card.selected{border-color:var(--player-active);box-shadow:0 0 15px var(--player-active)}.card.energy-buone{border-color:var(--energy-buone)}.card.energy-cattive{border-color:var(--energy-cattive)}.card-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px;border-bottom:1px solid var(--card-border)}.card-name{font-weight:700;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.card-hp{background:var(--damage);padding:2px 6px;border-radius:4px;font-weight:700;font-size:.65rem}.card-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px 0;text-align:center}.card-image-placeholder{width:60px;height:60px;background:linear-gradient(135deg,#3b3b5c,#2a2a40);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:4px}.card-type{font-size:.6rem;color:var(--text-secondary)}.card-attacks{border-top:1px solid var(--card-border);padding-top:4px;font-size:.6rem}.attack-row{display:flex;justify-content:space-between;padding:2px 0}.attack-name{color:var(--text-secondary)}.attack-damage{color:var(--damage);font-weight:700}.card-footer{display:flex;justify-content:space-between;font-size:.55rem;color:var(--text-secondary);padding-top:4px;border-top:1px solid var(--card-border)}.energy-indicators{display:flex;gap:2px;margin-top:4px}.energy-dot{width:12px;height:12px;border-radius:50%}.energy-dot.buone{background:var(--energy-buone)}.energy-dot.cattive{background:var(--energy-cattive)}.card.energy-card{min-height:120px;justify-content:center;align-items:center}.energy-symbol{font-size:2rem;display:flex;align-items:center;justify-content:center}.card.trainer-card{border-color:#3b82f6}.game-board{height:100vh;display:flex;flex-direction:column;padding:1rem;gap:.5rem}.player-zone{flex:1;display:flex;flex-direction:column;background:#1e1e2ecc;border-radius:12px;padding:.75rem;border:2px solid transparent}.player-zone.active{border-color:var(--player-active)}.player-zone.opponent,.player-zone.opponent .card{transform:rotate(180deg)}.player-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;border-bottom:1px solid var(--card-border)}.player-name{font-size:1.1rem;font-weight:700}.player-stats{display:flex;gap:1rem;font-size:.85rem}.stat{display:flex;align-items:center;gap:.25rem}.play-area{flex:1;display:flex;gap:1rem;padding:.5rem 0}.left-zone{display:flex;flex-direction:column;gap:.5rem;align-items:center}.deck-pile,.prize-pile{width:80px;height:110px;background:linear-gradient(135deg,#3b3b5c,#2a2a40);border:2px dashed var(--card-border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem}.pile-count{font-size:1.5rem;font-weight:700}.center-zone{flex:1;display:flex;flex-direction:column;gap:.5rem}.active-zone{display:flex;justify-content:center;padding:.5rem;background:#3b3b5c4d;border-radius:8px;min-height:220px}.active-zone-label{font-size:.7rem;color:var(--text-secondary);text-align:center;margin-bottom:4px}.bench-zone{display:flex;gap:.5rem;justify-content:center;padding:.5rem;background:#3b3b5c33;border-radius:8px;min-height:150px;overflow-x:auto}.bench-label{font-size:.7rem;color:var(--text-secondary);text-align:center;margin-bottom:4px}.hand-zone{display:flex;gap:.5rem;justify-content:center;padding:.5rem;overflow-x:auto;background:#3b3b5c66;border-radius:8px}.middle-area{display:flex;justify-content:center;align-items:center;gap:2rem;padding:.5rem}.turn-indicator{background:var(--card-bg);padding:.5rem 1.5rem;border-radius:20px;font-weight:700}.phase-indicator{background:#6366f1;padding:.5rem 1rem;border-radius:20px;font-size:.85rem}.actions-panel{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;background:#1e1e2ef2;padding:1rem;border-radius:12px;border:1px solid var(--card-border);max-width:90vw;z-index:100}.game-log{position:fixed;right:1rem;top:1rem;width:250px;max-height:300px;background:#1e1e2ef2;border:1px solid var(--card-border);border-radius:8px;padding:.5rem;overflow-y:auto;font-size:.75rem;z-index:100}.game-log h3{margin:0 0 .5rem;font-size:.85rem;border-bottom:1px solid var(--card-border);padding-bottom:.25rem}.log-entry{padding:.25rem 0;border-bottom:1px solid rgba(59,59,92,.3)}.log-entry:last-child{border-bottom:none}.empty-slot{width:140px;height:200px;border:2px dashed var(--card-border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.75rem}.winner-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.winner-content{background:var(--card-bg);padding:3rem;border-radius:16px;text-align:center;border:3px solid var(--player-active)}.winner-content h1{color:var(--player-active);margin-bottom:1rem}@media(max-width:768px){.card{width:100px;min-height:150px;font-size:.6rem}.card-image-placeholder{width:40px;height:40px;font-size:1rem}.play-area{flex-direction:column}.actions-panel{bottom:0;left:0;right:0;transform:none;border-radius:12px 12px 0 0;max-width:100%}}.card.small{width:100px;min-height:140px}.card.small .card-image-placeholder{width:40px;height:40px;font-size:1rem}.dice-result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card-bg);padding:2rem;border-radius:16px;border:3px solid var(--player-active);text-align:center;z-index:1000;animation:popIn .3s ease-out}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.dice-value{font-size:4rem;font-weight:700;color:var(--player-active)}.dice-result.success{border-color:var(--energy-buone)}.dice-result.success .dice-value{color:var(--energy-buone)}.dice-result.fail{border-color:var(--damage)}.dice-result.fail .dice-value{color:var(--damage)}.join-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--card-border)}.join-section h2{margin-bottom:1rem;font-size:1.2rem}.game-list{display:flex;flex-direction:column;gap:.5rem}.game-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#2a2a40;border-radius:8px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.5rem}.loading-spinner{width:40px;height:40px;border:4px solid var(--card-border);border-top-color:var(--player-active);border-radius:50%;animation:spin 1s linear infinite;margin-right:1rem}.message{padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.message.success{background:#22c55e33;border:1px solid var(--energy-buone)}.message.error{background:#ef444433;border:1px solid var(--damage)}.message.info{background:#6366f133;border:1px solid #6366f1}.deck-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.deck-option{background:#2a2a40;border:2px solid var(--card-border);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.deck-option:hover:not(.locked){border-color:var(--player-active);transform:translateY(-2px)}.deck-option.selected{border-color:var(--player-active);background:#fbbf241a}.deck-option.locked{opacity:.5;cursor:not-allowed;position:relative}.deck-option .deck-name{font-weight:700;font-size:.9rem;color:var(--text-primary)}.deck-option .deck-lock{font-size:.75rem;color:var(--damage);display:flex;align-items:center;gap:.25rem}.deck-option .deck-lock:before{content:""}:root{--energy-buone: #32CD32;--energy-cattive: #a855f7;--bg-primary: #1a1209;--bg-secondary: #2a1f0e;--bg-card: #1e1508;--accent: #FFD700;--accent-hover: #FFA500;--accent-dark: #B8860B;--danger: #B91C1C;--success: #166534;--info: #B91C1C;--text-primary: #F5E6C8;--text-secondary: #A0896A;--border-color: #5D4E37;--border-accent: #FFD700;--color-enemy: #c0392b}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);background-image:radial-gradient(ellipse at 50% 30%,#2a1f0e 0%,var(--bg-primary) 70%);color:var(--text-primary);min-height:100vh;overflow-x:hidden}#root{width:100%;min-height:100vh}.card-mini{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-card);border:3px solid var(--border-color);border-radius:8px;cursor:pointer;transition:transform .15s,box-shadow .15s;position:relative}.card-mini:active{transform:scale(.95)}.card-mini.selected{border-color:var(--accent);box-shadow:0 0 12px var(--accent)}.card-mini-small{width:50px;height:65px}.card-mini-medium{width:70px;height:90px}.card-mini-large{width:100px;height:130px}.card-mini-emoji{font-size:1.5em}.card-mini-small .card-mini-emoji{font-size:1.2em}.card-mini-medium .card-mini-emoji{font-size:1.8em}.card-mini-large .card-mini-emoji{font-size:2.5em}.card-mini-label{font-size:.6em;margin-top:2px}.card-mini-hp-bar{position:absolute;bottom:4px;left:4px;right:4px;height:4px;background:#0000004d;border-radius:2px;overflow:hidden}.card-mini-hp-fill{height:100%;transition:width .3s}.card-mini-energy-dots{position:absolute;top:2px;right:2px;display:flex;gap:2px;flex-wrap:wrap;max-width:30px}.card-mini-energy-dot{width:8px;height:8px;border-radius:50%}.card-mini-energy-more{font-size:8px;color:var(--text-secondary)}.card-mini-back{border-color:#666}.card-flip-container{perspective:1000px;cursor:pointer}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-flip-inner.flipped{transform:rotateY(180deg)}.card-flip-back,.card-flip-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:8px;overflow:hidden}.card-flip-back{border:3px solid #666;border-radius:8px;box-shadow:0 2px 8px #0000004d}.card-flip-front{transform:rotateY(180deg)}.card-flip-front .card-mini{width:100%;height:100%}.card-flip-container.card-mini-small{width:50px;height:65px}.card-flip-container.card-mini-medium{width:70px;height:90px}.card-flip-container.card-mini-large{width:100px;height:130px}.card-mini-character{border-color:transparent}.card-mini.has-image{justify-content:flex-end}.card-mini-energy-card{justify-content:flex-start}.card-mini.has-image .card-mini-hp-bar{position:relative;bottom:auto;margin-top:auto;background:#0009}.card-mini-hp-text{position:absolute;top:2px;left:2px;background:#ef4444e6;padding:1px 4px;border-radius:4px;font-size:.6rem;font-weight:700}.card-mini-energy-label{position:absolute;top:2px;left:2px;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.card-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.card-modal{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--bg-secondary);border-radius:12px 12px 0 0;border:3px solid #3d2e1a;border-bottom:none;max-height:60vh;overflow-y:auto;z-index:1001;animation:slideUpModal .25s ease-out}.card-modal-handle{width:36px;height:4px;background:var(--border-color);border-radius:2px;margin:8px auto 4px}@keyframes slideUpModal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.card-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;background:#0009;color:var(--text-primary);border-radius:50%;font-size:18px;cursor:pointer;z-index:2}.card-modal-image{height:160px;display:flex;align-items:center;justify-content:center;border-radius:1px 1px 0 0}.card-modal-image.character{background:linear-gradient(135deg,#3d2e1a,#1e1508)}.card-modal-image.energy{background:linear-gradient(135deg,var(--energy-buone),#1a1209)}.card-modal-image.trainer{background:linear-gradient(135deg,var(--info),#1a1209)}.card-modal-emoji{font-size:5rem}.card-modal-body{padding:0}.card-modal-name{font-size:1.2rem;font-weight:700;padding:12px 16px 4px;text-align:center}.card-modal-hp{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card)}.hp-label{font-weight:700;color:var(--danger)}.hp-bar{flex:1;height:12px;background:#0000004d;border-radius:6px;overflow:hidden}.hp-fill{height:100%;transition:width .3s}.hp-text{font-weight:700;min-width:60px;text-align:right}.card-modal-attached{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);margin-top:1px}.section-label{color:var(--text-secondary);font-size:.85rem}.attached-energy{display:flex;gap:4px}.energy-icon{font-size:1.2rem}.energy-icon.energy-any{display:inline-block;width:24px;height:24px;vertical-align:middle;background:linear-gradient(145deg,#e0e0e0,#a0a0a0);border-radius:50%;border:2px solid #888}.energy-icon-img{width:24px;height:24px;border-radius:50%;display:inline-block;vertical-align:middle;background-size:150%;background-position:center 42%;border:2px solid}.energy-icon-buone{background-image:url(/cards/thumbs/Energy_buone.png);border-color:var(--energy-buone)}.energy-icon-cattive{background-image:url(/cards/thumbs/Energy_cattive.png);border-color:var(--energy-cattive)}.energy-icon-cuore{background-image:url(/cards/thumbs/Energy_cuore.png);border-color:var(--energy-buone)}.energy-icon-gommapiuma{background-image:url(/cards/thumbs/Energy_gommapiuma.png);border-color:var(--energy-cattive)}.energy-icon-img-small{width:18px;height:18px;border-radius:50%;display:inline-block;vertical-align:middle;background-size:150%;background-position:center 42%;border:1px solid}.energy-icon-img-small.energy-icon-buone{background-image:url(/cards/thumbs/Energy_buone.png);border-color:var(--energy-buone)}.energy-icon-img-small.energy-icon-cattive{background-image:url(/cards/thumbs/Energy_cattive.png);border-color:var(--energy-cattive)}.energy-icon-img-small.energy-icon-cuore{background-image:url(/cards/thumbs/Energy_cuore.png);border-color:var(--energy-buone)}.energy-icon-img-small.energy-icon-gommapiuma{background-image:url(/cards/thumbs/Energy_gommapiuma.png);border-color:var(--energy-cattive)}.card-modal-energy-icon{width:100px;height:100px;object-fit:contain}.card-mini-energy-icon{width:32px;height:32px;object-fit:contain}.card-mini-medium .card-mini-energy-icon{width:40px;height:40px}.card-mini-large .card-mini-energy-icon{width:56px;height:56px}.energy-symbol-img{width:48px;height:48px;object-fit:contain}.card-modal-attacks{padding:16px}.attack-item{background:var(--bg-card);border-radius:12px;padding:12px;margin-bottom:12px}.attack-item.attack-clickable{cursor:pointer;border:2px solid var(--accent);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(239,68,68,.15) 100%);transition:transform .15s,box-shadow .15s}.attack-item.attack-clickable:hover{transform:scale(1.02);box-shadow:0 4px 12px #ef44444d}.attack-item.attack-clickable:active{transform:scale(.98)}.attack-usable{margin-left:auto;font-size:1.2rem;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.attack-header{display:flex;align-items:center;gap:8px}.attack-cost{display:flex;gap:2px;padding:3px 6px;background:#00000040;border-radius:6px;flex-shrink:0}.attack-cost .energy-icon{font-size:1.1rem}.attack-cost .energy-icon.energy-any,.attack-cost .energy-icon-img{width:20px;height:20px;border-width:1px}.attack-name{font-weight:700;font-size:1rem;flex:1}.attack-damage{font-size:1.3rem;font-weight:700;color:var(--danger);min-width:30px;text-align:right}.attack-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4;margin-top:6px;padding-left:4px}.attack-dice-info{color:var(--info);font-size:.8rem;margin-top:4px;padding-left:4px}.attack-effect-info{color:var(--accent);font-size:.8rem;margin-top:2px;padding-left:4px;font-style:italic}.card-modal-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-card);padding:8px 14px;border-radius:10px;min-width:80px}.stat-label{color:var(--text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.5px}.stat-value{display:flex;align-items:center;font-weight:700;font-size:1rem}.stat-value.weakness{color:#ef4444}.stat-value.resistance{color:#22c55e}.card-modal-energy-info,.card-modal-trainer-info{padding:24px 16px;text-align:center}.energy-type-label{font-size:1.2rem;font-weight:700;margin-bottom:8px}.energy-desc,.trainer-desc{color:var(--text-secondary);margin-top:8px;line-height:1.5}.trainer-type-label{color:#f59e0b;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.trainer-flavor{color:var(--text-secondary);font-style:italic;font-size:.85rem;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.card-modal-image-header{position:relative;width:100%;height:200px;overflow:hidden;border-radius:1px 1px 0 0}.card-modal-art{width:100%;height:100%;object-fit:cover;object-position:center 20%}.card-modal-image-header.trainer-header{height:240px}.card-modal-image-header.trainer-header .card-modal-art{object-position:center center}.card-modal-art-fade{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--bg-secondary) 0%,transparent 100%)}.card-modal-actions{display:flex;flex-direction:column;gap:8px;padding:16px;border-top:1px solid var(--border-color)}.game-mobile{display:flex;flex-direction:column;height:100dvh;overflow:hidden;max-width:480px;margin:0 auto}.zone-opponent{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:42px}.opponent-avatar{width:28px;height:28px;border-radius:50%;background:var(--color-enemy);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.opponent-name{font-weight:700;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.opponent-bench-dots{display:flex;gap:3px;align-items:center;cursor:pointer;padding:2px 6px;border-radius:8px;background:#0003;position:relative}.bench-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--border-color)}.bench-dot.filled{background:var(--color-enemy);border-color:var(--color-enemy)}.opponent-bench-dropdown{position:absolute;top:100%;left:0;z-index:300;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;padding:8px;display:flex;gap:6px;box-shadow:0 4px 16px #00000080;margin-top:4px}.ko-tracker{display:flex;align-items:center;gap:4px;margin-left:auto}.ko-label{font-size:.65rem;color:var(--text-secondary);white-space:nowrap}.ko-dots{display:flex;gap:3px}.ko-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--accent)}.ko-dot.filled{background:var(--accent)}.btn-abandon-compact{background:none;border:1px solid var(--border-color);border-radius:6px;padding:4px 8px;font-size:.7rem;color:var(--text-secondary);cursor:pointer;flex-shrink:0;margin-left:4px}.btn-abandon-compact:active{background:var(--danger);color:#fff}.zone-turn{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 10px;background:var(--bg-card);min-height:30px;font-size:.8rem}.zone-turn .turn-info{color:var(--text-secondary);font-size:.8rem}.zone-turn .turn-timer{font-size:.8rem}.zone-turn .turn-badge{padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:700}.zone-turn .turn-badge.my-turn{background:var(--success);color:#fff}.zone-turn .turn-badge.opponent-turn{background:var(--bg-secondary);color:var(--text-secondary)}.zone-feed{display:flex;align-items:center;padding:3px 12px;min-height:24px;font-size:.75rem;background:var(--bg-primary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.feed-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-text.my-turn-feed{color:var(--accent);font-weight:600}.feed-text.opponent-action{color:var(--color-enemy)}.zone-arena{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px;position:relative;min-height:0;overflow:hidden}.arena-card-slot{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:140px}.arena-card-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.arena-card-label.enemy{color:var(--color-enemy)}.arena-card-label.mine{color:var(--accent)}.arena-card-wrapper{cursor:pointer;position:relative}.arena-card-wrapper.enemy-border .card-mini{border-color:var(--color-enemy)}.arena-card-wrapper.my-border .card-mini{border-color:var(--accent)}.arena-hp-bar{width:100%;height:6px;background:#0000004d;border-radius:3px;overflow:hidden;margin-top:2px}.arena-hp-bar .hp-fill{height:100%;transition:width .3s}.arena-hp-text{font-size:.7rem;font-weight:700;color:var(--text-primary)}.arena-vs{font-size:1.2rem;font-weight:900;color:var(--danger);text-shadow:0 0 8px rgba(185,28,28,.5);flex-shrink:0}.arena-empty-slot{width:70px;height:90px;border:2px dashed var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.75rem;text-align:center;padding:4px}.arena-empty-slot.must-select{border-color:var(--accent);background:#fbbf241a;color:var(--accent);animation:pulse-border 1s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 8px #fbbf2400}}.arena-setup-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:0}.arena-setup-text{background:linear-gradient(135deg,#8b0000,#b91c1c);color:#f5e6c8;padding:10px 16px;border-radius:4px;border:2px solid #3d2e1a;font-size:.85rem;text-align:center;max-width:260px;animation:pulse-glow 2s infinite}.arena-setup-text strong{color:#fbbf24}.arena-emote-trigger{position:absolute;bottom:6px;right:8px;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border-color);cursor:pointer;z-index:20;display:flex;align-items:center;justify-content:center;transition:all .2s}.arena-emote-trigger:active{transform:scale(.9);border-color:var(--accent)}.arena-emote-trigger .emote-picker-img{width:24px;height:24px}.zone-bench{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-secondary);border-top:1px solid var(--border-color);min-height:72px;overflow-x:auto}.zone-bench.highlight-select{border-top:none;outline:2px solid var(--accent);outline-offset:-2px;animation:pulse-bench 1s ease-in-out infinite}@keyframes pulse-bench{0%,to{background:#ffd7000f;box-shadow:inset 0 0 10px #ffd7001a}50%{background:#ffd70026;box-shadow:inset 0 0 20px #ffd70033}}.bench-slot{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0}.bench-slot-empty{width:50px;height:65px;border:2px dashed var(--border-color);border-radius:6px;flex-shrink:0}.bench-hp-text{font-size:.55rem;color:var(--text-secondary)}.bench-ko-tracker{display:flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0;padding-left:6px}.bench-ko-label{font-size:.6rem;color:var(--text-secondary);white-space:nowrap}.bench-ko-dots{display:flex;gap:2px}.bench-ko-dot{width:8px;height:8px;border-radius:50%;border:1.5px solid var(--color-enemy)}.bench-ko-dot.filled{background:var(--color-enemy)}.zone-hand{padding:6px 10px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.hand-label{font-size:.7rem;color:var(--text-secondary);margin-bottom:4px}.hand-scroll{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch}.hand-scroll::-webkit-scrollbar{display:none}.zone-actions{display:flex;gap:6px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--bg-primary);border-top:1px solid var(--border-color);min-height:48px;align-items:center}.zone-actions .btn{flex:1;padding:10px 12px;border:none;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px}.zone-actions .btn-draw{background:var(--accent);color:#1a1209}.zone-actions .btn-attack{background:var(--danger);color:#fff}.zone-actions .btn-use-card{background:transparent;border:2px solid var(--accent);color:var(--accent)}.zone-actions .btn-end{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-color)}.zone-actions .waiting-text{flex:1;text-align:center;color:var(--text-secondary);font-size:.85rem}.area-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px}.empty-text{color:var(--text-secondary);font-size:.85rem}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #b91c1c80}50%{box-shadow:0 0 16px #b91c1ccc}}.btn-draw{background:var(--accent);color:#1a1209}.btn-attack{background:var(--danger);color:#fff}.btn-end{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-color)}.btn-action{background:var(--success);color:#fff}.turn-info{font-size:.85rem;color:var(--text-secondary)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:4px;border:2px solid #3d2e1a;font-size:.9rem;animation:slideUp .3s ease-out;z-index:500}.toast.error{background:var(--danger)}.toast.info{background:var(--info)}.winner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.winner-card{background:var(--bg-secondary);padding:32px;border-radius:4px;border:3px solid var(--accent);text-align:center}.winner-card h1{font-size:2rem;margin-bottom:8px}.winner-card p{color:var(--text-secondary);margin-bottom:24px}.postgame-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.postgame-card{background:var(--bg-secondary);border-radius:8px;border:2px solid var(--accent);width:100%;max-width:380px;max-height:90vh;overflow-y:auto}.postgame-header{text-align:center;padding:24px 20px 16px;border-bottom:1px solid var(--border)}.postgame-header.win h1{color:var(--success);font-size:1.8rem;margin-bottom:4px}.postgame-header.lose h1{color:var(--danger);font-size:1.8rem;margin-bottom:4px}.postgame-message{color:var(--text-secondary);font-size:.9rem}.postgame-loading{padding:24px;display:flex;justify-content:center}.postgame-details{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.postgame-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg-primary);border-radius:6px}.postgame-stat.elo-change{border:1px solid var(--accent)}.postgame-stat-label{color:var(--text-secondary);font-size:.85rem}.postgame-stat-value{font-weight:700;font-size:1.1rem}.postgame-stat-value.positive{color:var(--success)}.postgame-stat-value.negative{color:var(--danger)}.postgame-stat-value.streak{color:var(--accent)}.new-record{font-size:.75rem;color:var(--success);margin-left:6px;font-weight:400}.postgame-unlock{display:flex;flex-direction:column;gap:6px}.postgame-unlock-item{text-align:center;padding:10px 12px;border-radius:6px;font-size:.9rem}.postgame-unlock-item.deck-unlock{background:#4caf5026;border:1px solid var(--success);color:var(--success)}.postgame-unlock-item.emote-unlock{background:#2196f326;border:1px solid var(--info);color:var(--info)}.postgame-progress{padding:4px 0}.postgame-progress-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.postgame-progress-bar{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.postgame-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .5s ease}.postgame-progress-fill.emote{background:var(--info)}.postgame-buttons{padding:16px 20px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border)}.postgame-rematch-notification{text-align:center;padding:8px;background:#ffc10726;border:1px solid var(--warning, #ffc107);border-radius:6px;color:var(--warning, #ffc107);font-size:.85rem;font-weight:600}.loading-mobile{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lobby{padding:16px;max-width:400px;margin:0 auto}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 4px}.lobby-logo{max-width:180px;height:auto}.btn-profile{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:1.1rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.lobby h1{text-align:center;color:var(--accent);margin-bottom:24px;font-size:1.5rem;text-transform:uppercase;letter-spacing:2px}.lobby-form{background:var(--bg-secondary);background-image:radial-gradient(ellipse at center,rgba(60,45,20,.3) 0%,transparent 70%);padding:20px;border-radius:4px;margin-bottom:16px;border:3px solid #3d2e1a}.lobby-form h2{font-size:1.1rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:2px;color:var(--accent);border-bottom:2px solid var(--border-color);padding-bottom:8px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-size:.9rem}.form-group input,.form-group select{width:100%;padding:12px;border-radius:4px;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:1rem}.validation-hint{color:var(--text-secondary);font-size:.85rem;text-align:center;margin-top:8px;opacity:.8}.btn{padding:14px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;width:100%;margin-top:8px}.btn-primary{background:var(--accent);color:#1a1209;border:2px solid #3d2e1a;text-transform:uppercase;letter-spacing:1px}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color);border-radius:4px}.message{padding:12px;border-radius:4px;margin-bottom:16px;text-align:center;font-size:.9rem}.message.error{background:#ef444433;border:1px solid var(--danger)}.game-list{display:flex;flex-direction:column;gap:8px}.game-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--bg-card);border-radius:4px;border:2px solid var(--border-color)}.game-item-info{font-size:.9rem}.game-item-info small{color:var(--text-secondary)}.game-item.selected{border:2px solid var(--accent);border-left:4px solid var(--accent);background:#fbbf241a}.game-item:not(.active){cursor:pointer}.game-item:not(.active):hover{background:var(--bg-secondary)}.game-status{font-size:.7rem;padding:4px 8px;border-radius:2px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:1px solid}.game-status.waiting{background:#fbbf2426;color:var(--accent);border-color:var(--accent)}.game-status.active{background:#16653433;color:#4ade80;border-color:#166534}.game-status.finished{background:#a0a0a026;color:var(--text-secondary);border-color:var(--text-secondary)}.game-item.finished{opacity:.7}.winner-label{color:#f59e0b;font-weight:600;font-size:.9rem}.section-hint{color:var(--text-secondary);font-size:.85rem;margin-bottom:12px}.join-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.join-form h3{font-size:1rem;margin-bottom:12px;color:var(--accent);text-transform:uppercase;letter-spacing:2px;border-bottom:2px solid var(--border-color);padding-bottom:8px}.waiting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;text-align:center}.waiting-screen h2{color:var(--accent);margin-bottom:16px}.waiting-screen p{color:var(--text-secondary);margin-bottom:8px}.waiting-info{background:var(--bg-secondary);padding:16px;border-radius:4px;border:2px solid var(--border-color);margin:20px 0}.waiting-info p{margin:8px 0;color:var(--text-primary)}.invite-link-section{margin:24px 0;width:100%;max-width:400px}.invite-link-box{background:var(--bg-card);border:2px solid var(--border-color);border-radius:4px;padding:16px}.invite-link-url{background:var(--bg-primary);padding:12px;border-radius:8px;font-family:monospace;font-size:.85rem;word-break:break-all;color:var(--accent);margin-bottom:12px}.invite-link-buttons{display:flex;gap:8px}.invite-link-buttons .btn{flex:1;padding:10px 16px;font-size:.9rem}.btn-copy{background:var(--info);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.btn-copy:hover{background:#991b1b}.btn-copy.copied{background:var(--success)}.btn-whatsapp{background:#25d366;color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-whatsapp:hover{background:#128c7e}.join-code-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary)}.join-code-card{background:var(--bg-secondary);border:3px solid #3d2e1a;border-radius:4px;padding:32px 24px;width:100%;max-width:400px;text-align:center}.join-code-card h2{color:var(--accent);margin-bottom:16px;font-size:1.5rem}.join-code-card.error h2{color:var(--danger)}.join-code-card .invite-info{background:var(--bg-card);padding:16px;border-radius:12px;margin-bottom:24px}.join-code-card .invite-info p{color:var(--text-primary);font-size:1rem}.join-code-card .form-group{margin-bottom:16px;text-align:left}.join-code-card .form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem}.join-code-card .form-group input,.join-code-card .form-group select{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:1rem}.join-code-card .join-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.join-code-card .btn{width:100%;padding:14px;font-size:1rem;border-radius:8px;cursor:pointer;border:none;transition:background .2s}.join-code-card .btn-primary{background:var(--accent);color:#000}.join-code-card .btn-primary:hover{background:#f59e0b}.join-code-card .btn-primary:disabled{background:var(--text-secondary);cursor:not-allowed}.join-code-card .btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.join-code-card .btn-secondary:hover{background:var(--border-color)}.join-code-card .message.error{background:#ef444433;color:var(--danger);padding:12px;border-radius:8px;margin-bottom:16px}.matchmaking-section{text-align:center;padding:20px;margin:16px 16px 0;background:linear-gradient(135deg,var(--bg-secondary),rgba(185,28,28,.15));border:3px solid #8B0000;border-radius:4px}.btn-sfida{background:linear-gradient(135deg,#b91c1c,#8b0000);color:#f5e6c8;border:3px solid #1a1209;padding:16px 32px;border-radius:4px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #b91c1c66;text-transform:uppercase;letter-spacing:3px}.btn-sfida:hover{transform:scale(1.05);box-shadow:0 6px 20px #b91c1c80}.btn-sfida:active{transform:scale(.98)}.lobby-main-buttons{display:flex;gap:16px;justify-content:center;align-items:flex-start}.lobby-main-btn-wrapper{display:flex;flex-direction:column;align-items:center}.btn-partita{background:linear-gradient(135deg,#2563eb,#1e40af);color:#f5e6c8;border:3px solid #1a1209;padding:16px 32px;border-radius:4px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #2563eb66;text-transform:uppercase;letter-spacing:3px}.btn-partita:hover{transform:scale(1.05);box-shadow:0 6px 20px #2563eb80}.btn-partita:active{transform:scale(.98)}.sfida-hint{color:var(--text-secondary);font-size:.85rem;margin-top:8px}.friend-invite-list{display:flex;flex-direction:column;gap:8px;margin:12px 0;max-height:250px;overflow-y:auto}.friend-invite-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px}.friend-invite-name{font-weight:700;color:var(--text-primary)}.friend-invite-sent{color:#22c55e;font-size:.85rem;font-weight:700}.next-unlock-hint{color:var(--text-secondary);font-size:.8rem;margin-top:6px}.reconnect-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#166534,#14532d);border-radius:4px;border:2px solid #166534;padding:16px;margin-bottom:16px;box-shadow:0 4px 15px #1665344d}.reconnect-info{display:flex;flex-direction:column;gap:4px}.reconnect-title{font-weight:700;color:#fff;font-size:1rem}.reconnect-desc{color:#ffffffd9;font-size:.85rem}.btn-reconnect{background:var(--accent);color:#1a1209;border:2px solid var(--accent-dark);padding:10px 20px;border-radius:4px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-reconnect:hover{background:var(--accent-hover);transform:scale(1.05)}.btn-reconnect:active{transform:scale(.98)}.invite-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.invite-popup{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:3px solid var(--accent);border-radius:4px;padding:24px;width:90%;max-width:340px;text-align:center;box-shadow:0 10px 40px #ffd7004d;animation:popIn .3s ease}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.invite-popup-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}.invite-popup-icon{font-size:2rem}.invite-popup-header h3{color:var(--accent);font-size:1.5rem;margin:0}.invite-popup-message{color:var(--text-primary);font-size:1.1rem;margin-bottom:20px}.invite-popup-message strong{color:var(--accent)}.invite-popup-deck-select{margin-bottom:20px;text-align:left}.invite-popup-deck-select label{display:block;color:var(--text-secondary);font-size:.9rem;margin-bottom:10px}.invite-popup-deck-select .deck-selector{display:flex;flex-wrap:wrap;gap:8px}.invite-popup-deck-select .deck-option{flex:1;min-width:80px;padding:10px 12px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .2s;text-align:center}.invite-popup-deck-select .deck-option.selected{border-color:var(--accent);background:#ffd7001a}.invite-popup-deck-select .deck-name{font-size:.85rem;color:var(--text-primary)}.invite-popup-actions{display:flex;gap:12px}.btn-accept-invite{flex:1;padding:14px 20px;background:linear-gradient(135deg,#166534,#14532d);border:2px solid #166534;border-radius:4px;color:#f5e6c8;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.btn-accept-invite:hover{transform:scale(1.02);box-shadow:0 4px 15px #16653466}.btn-accept-invite:disabled{opacity:.7;cursor:not-allowed}.btn-decline-invite{flex:1;padding:14px 20px;background:transparent;border:2px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s}.btn-decline-invite:hover{border-color:var(--danger);color:var(--danger)}.btn-decline-invite:disabled{opacity:.7;cursor:not-allowed}.matchmaking-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:24px;width:90%;max-width:350px;text-align:center}.matchmaking-modal h3{color:#b91c1c;margin-bottom:12px;font-size:1.3rem;text-transform:uppercase;letter-spacing:2px}.matchmaking-modal>p{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.matchmaking-modal .form-group{text-align:left;margin-bottom:20px}.matchmaking-modal .modal-buttons{display:flex;flex-direction:column;gap:10px}.matchmaking-waiting{padding:30px 0}.matchmaking-waiting .loading-spinner{width:50px;height:50px;margin:0 auto 20px}.matchmaking-waiting .wait-status{color:var(--text-primary);font-size:1rem;margin-bottom:8px}.matchmaking-waiting .wait-time{color:var(--accent);font-size:.9rem;margin-bottom:4px}.matchmaking-waiting .queue-info{color:var(--text-secondary);font-size:.85rem}.lobby-leaderboard{margin:0 16px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.lobby-leaderboard h3{font-size:.9rem;margin-bottom:8px;color:var(--text-secondary)}.leaderboard-table{display:flex;flex-direction:column;gap:4px}.leaderboard-row{display:flex;align-items:center;padding:6px 8px;border-radius:4px;font-size:.85rem}.leaderboard-row.self{background:#fbbf241f;border:1px solid rgba(251,191,36,.3)}.leaderboard-rank{width:30px;color:var(--text-secondary);font-weight:600}.leaderboard-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-elo{font-weight:700;color:var(--accent);margin-left:8px}.friend-invites-section{background:linear-gradient(135deg,var(--bg-secondary),rgba(251,191,36,.08));border:3px solid var(--accent);border-radius:4px}.friend-invites-section h2{color:var(--accent)}.friend-invites-list{display:flex;flex-direction:column;gap:12px}.friend-invite-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:12px 16px;border-radius:10px;border:1px solid var(--border-color)}.friend-invite-info{display:flex;flex-direction:column;gap:4px}.friend-invite-info .inviter-name{font-weight:700;color:var(--accent);font-size:1rem}.friend-invite-info .invite-text{font-size:.85rem;color:var(--text-secondary)}.friend-invite-actions{display:flex;gap:8px}.btn-accept{background:var(--success);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-accept:hover{background:#16a34a}.btn-decline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-decline:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.accept-invite-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:24px;width:90%;max-width:350px;text-align:center}.accept-invite-modal h3{color:var(--accent);margin-bottom:16px}.accept-invite-modal p{color:var(--text-primary);margin-bottom:20px}.accept-invite-modal .form-group{text-align:left;margin-bottom:20px}.accept-invite-modal .modal-buttons{display:flex;flex-direction:column;gap:10px}.friend-invite-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:24px;width:90%;max-width:350px;max-height:70vh;overflow-y:auto}.friend-invite-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.friend-invite-modal .modal-header h3{color:var(--accent);margin:0;flex:1;text-align:center}.friend-invite-modal .btn-close{background:transparent;border:none;color:var(--text-secondary);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;line-height:1;margin-left:-32px}.friend-invite-modal .btn-close:hover{color:var(--text-primary)}.friend-invite-modal .no-friends{color:var(--text-secondary);text-align:center;padding:20px}.friend-invite-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.friend-invite-item{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);padding:12px;border-radius:8px}.friend-invite-item .friend-invite-info{display:flex;flex-direction:column;gap:2px}.friend-invite-item .friend-name{color:var(--text-primary);font-weight:500}.friend-invite-item .friend-elo{color:var(--text-secondary);font-size:.8rem}.btn-invite{background:var(--info);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.85rem;min-width:70px}.btn-invite:hover{background:#991b1b}.btn-invite:disabled{opacity:.7;cursor:not-allowed}.btn-invite.invited{background:var(--success)}.btn-invite-friend{background:var(--info);color:#fff;border:none;padding:14px 24px;border-radius:10px;cursor:pointer;font-size:1rem;width:100%;max-width:300px;margin-bottom:12px}.btn-invite-friend:hover{background:#991b1b}.declined-hint{color:var(--error, #ef4444);font-size:.85rem;margin:4px 0 8px}.dice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.dice-modal{display:flex;flex-direction:column;align-items:center;gap:24px}.dice-container{width:120px;height:120px;background:linear-gradient(145deg,#fff,#e6e6e6);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px #0000004d,inset 0 2px 4px #fffc}.dice-container.rolling{animation:shake .1s infinite}.dice-container.stopped{animation:bounce .3s ease-out}@keyframes shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-5px) rotate(-5deg)}75%{transform:translate(5px) rotate(5deg)}}@keyframes bounce{0%{transform:scale(1.1)}50%{transform:scale(.95)}to{transform:scale(1)}}.dice-face{font-size:64px;font-weight:700;color:#1a1209}.dice-result{display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dice-result .result-icon{font-size:48px}.dice-result.success .result-icon{color:#22c55e}.dice-result.fail .result-icon{color:#ef4444}.dice-result .result-text{font-size:1.2rem;font-weight:700;color:var(--text-primary);text-align:center}.prize-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000}.prize-modal{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px}.prize-title{font-size:2rem;font-weight:700;color:var(--accent);text-shadow:0 0 20px rgba(251,191,36,.5);animation:glow 1s ease-in-out infinite alternate}@keyframes glow{0%{text-shadow:0 0 10px rgba(251,191,36,.3)}to{text-shadow:0 0 30px rgba(251,191,36,.8)}}.prize-card-container{perspective:1000px;width:150px;height:210px}.prize-card-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.175,.885,.32,1.275)}.prize-card-container.reveal .prize-card-flipper,.prize-card-container.done .prize-card-flipper{transform:rotateY(180deg)}.prize-card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 30px #00000080}.prize-card-back{background:linear-gradient(145deg,#3d2e1a,#1e1508);border:3px solid var(--accent)}.prize-card-back .prize-card-icon{font-size:4rem;opacity:.7}.prize-card-front{background:linear-gradient(145deg,var(--bg-card),var(--bg-secondary));border:3px solid var(--accent);transform:rotateY(180deg);gap:12px}.prize-card-emoji{font-size:3rem}.prize-card-energy-img{width:64px;height:64px;object-fit:contain}.prize-card-name{font-size:.9rem;font-weight:700;text-align:center;padding:0 8px}.prize-info{color:var(--text-secondary);font-size:.9rem}.prize-remaining{background:var(--bg-card);padding:8px 16px;border-radius:20px}.deck-browser-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.deck-browser-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.deck-browser-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-color)}.deck-browser-header h2{font-size:1.1rem;margin:0}.deck-browser-count{color:var(--text-secondary);font-size:.9rem}.deck-browser-cards{flex:1;overflow-y:auto;padding:12px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.deck-browser-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;background:var(--bg-card);border-radius:10px;border:2px solid transparent;cursor:pointer;transition:all .2s}.deck-browser-card:active{transform:scale(.97)}.deck-browser-card.selected{border-color:var(--accent);background:#fbbf2426}.deck-browser-card-info{display:flex;align-items:center;justify-content:space-between;width:100%;gap:6px}.deck-browser-card-name{font-size:.75rem;color:var(--text-primary);flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-preview{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:4px 6px;font-size:.8rem;cursor:pointer;min-width:30px}.deck-browser-actions{display:flex;gap:12px;padding:16px;border-top:1px solid var(--border-color)}.deck-browser-actions .btn{flex:1;padding:14px;font-size:1rem}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:var(--bg-primary)}.auth-page.landing{background:linear-gradient(180deg,#0f0a04 0%,var(--bg-primary) 100%);justify-content:center;padding:0}.landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:400px;padding:20px}.landing-logo{width:100%;max-width:320px;height:auto;margin-bottom:32px;border-radius:20px;transform:scale(1.15);filter:drop-shadow(0 8px 24px rgba(255,215,0,.3))}.landing-buttons{display:flex;flex-direction:column;gap:16px;width:100%;max-width:280px}.btn-landing{padding:18px 32px;border-radius:4px;font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .2s;border:3px solid}.btn-landing.btn-login{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-hover) 100%);border-color:var(--accent-dark);color:#1a1209;box-shadow:0 4px 16px #ffd70066}.btn-landing.btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ffd70080}.btn-landing.btn-register{background:transparent;border-color:var(--accent);color:var(--accent)}.btn-landing.btn-register:hover{background:#ffd7001a;transform:translateY(-2px)}.auth-container{width:100%;max-width:400px;background:var(--bg-secondary);border-radius:4px;padding:24px;box-shadow:0 8px 32px #00000080;border:3px solid #3d2e1a}.btn-back-auth{background:none;border:none;color:var(--text-secondary);font-size:.95rem;cursor:pointer;padding:0;margin-bottom:16px;transition:color .2s}.btn-back-auth:hover{color:var(--accent)}.auth-header{text-align:center;margin-bottom:20px}.auth-header h2{font-size:1.6rem;color:var(--accent);margin-bottom:4px}.auth-logo{display:none}.auth-header h1{font-size:1.8rem;color:var(--accent);margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.auth-subtitle{color:var(--text-secondary);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.form-group input{padding:14px 16px;border-radius:10px;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ffd70040}.form-group input::placeholder{color:var(--text-secondary);opacity:.6}.form-group input:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#ef444426;border:1px solid var(--danger);color:var(--danger);padding:12px 16px;border-radius:8px;font-size:.9rem;text-align:center}.btn-auth-submit{padding:16px;border-radius:4px;border:2px solid var(--accent-dark);background:linear-gradient(180deg,var(--accent) 0%,var(--accent-hover) 100%);color:#1a1209;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;margin-top:8px;text-transform:uppercase;letter-spacing:1px}.btn-auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ffd70066}.btn-auth-submit:active:not(:disabled){transform:translateY(0)}.btn-auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;color:var(--text-secondary);font-size:.9rem}.btn-link{background:none;border:none;color:var(--accent);font-size:inherit;cursor:pointer;text-decoration:underline;padding:0}.btn-link:hover{color:var(--accent-hover)}.btn-link:disabled{opacity:.6;cursor:not-allowed}.turn-timer{font-weight:600;font-size:.9rem;padding:4px 8px;border-radius:6px;background:var(--bg-card)}.turn-timer.warning{color:#fbbf24;background:#fbbf2426;animation:pulse 1s infinite}.turn-timer.critical{color:#ef4444;background:#ef444426;animation:pulse .5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn-abandon{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:6px 10px;font-size:1.2rem;cursor:pointer;transition:all .2s}.btn-abandon:hover{background:var(--danger);border-color:var(--danger)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.abandon-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:24px;text-align:center;max-width:320px;width:100%}.abandon-modal h3{margin-bottom:12px;color:var(--text-primary)}.abandon-warning{color:var(--danger);font-weight:500;margin-bottom:24px}.abandon-buttons{display:flex;gap:12px}.abandon-buttons .btn{flex:1;padding:12px}.confirm-modal{background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:24px;text-align:center;max-width:320px;width:90%}.confirm-modal h3{margin-bottom:12px;color:var(--text-primary)}.confirm-modal p{color:var(--text-secondary);margin-bottom:24px}.confirm-buttons{display:flex;gap:12px}.confirm-buttons .btn{flex:1;padding:12px}.btn-danger{background:var(--danger);border:none;color:#fff;border-radius:8px;font-weight:600;cursor:pointer}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.emote-picker-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background:#0000004d}.emote-picker{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--bg-secondary);border-radius:12px 12px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;box-shadow:0 -4px 20px #0000004d;animation:slideUpSheet .25s ease-out}@keyframes slideUpSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.emote-btn{width:56px;height:56px;border-radius:12px;background:var(--bg-card);border:2px solid var(--border-color);padding:4px;cursor:pointer;transition:all .15s}.emote-btn:hover{transform:scale(1.1);border-color:var(--accent)}.emote-btn:active{transform:scale(.95)}.emote-picker-img{width:100%;height:100%;object-fit:contain;border-radius:8px}.floating-emote{position:fixed;z-index:150;animation:emoteAppear .3s ease-out,emoteFade .5s ease-in 1.5s forwards}.floating-emote.my-emote{right:20px;top:50%;transform:translateY(-50%)}.floating-emote.opponent-emote{left:20px;top:50%;transform:translateY(-50%)}.emote-bubble{display:block;background:var(--bg-secondary);padding:8px;border-radius:16px;box-shadow:0 4px 16px #0000004d}.emote-bubble-img{width:80px;height:80px;object-fit:contain;display:block}@keyframes emoteAppear{0%{opacity:0;transform:translateY(-50%) scale(0)}to{opacity:1;transform:translateY(-50%) scale(1)}}@keyframes emoteFade{to{opacity:0;transform:translateY(-50%) scale(.8)}}.profile-page{min-height:100vh;padding:20px;background:var(--bg-primary)}.profile-container{max-width:500px;margin:0 auto;position:relative}.profile-page .btn-close{position:absolute;top:0;left:0;background:var(--bg-card);border:none;color:var(--text-primary);width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer}.profile-header{text-align:center;padding-top:20px;margin-bottom:24px}.profile-avatar{width:80px;height:110px;background:var(--bg-card);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 16px;border:3px solid var(--accent);overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-username{font-size:1.5rem;color:var(--text-primary);margin-bottom:4px}.profile-login{font-size:.85rem;color:var(--text-secondary);margin:0}.nickname-edit{display:flex;gap:8px;margin-bottom:8px}.nickname-edit input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:.95rem}.nickname-edit input::placeholder{color:var(--text-secondary)}.nickname-edit .btn{padding:10px 16px;white-space:nowrap}.error-text{color:var(--danger);font-size:.8rem;margin-bottom:4px}.hint-text{color:var(--text-secondary);font-size:.8rem;margin:0}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:12px;padding:12px 8px;text-align:center}.stat-value{display:block;font-size:1.3rem;font-weight:600;color:var(--accent)}.stat-label{display:block;font-size:.7rem;color:var(--text-secondary);margin-top:4px}.stat-card.elo{background:linear-gradient(135deg,#B8860B,var(--accent-dark));border:2px solid var(--accent-dark)}.stat-card.elo .stat-value{color:#fff;font-size:1.5rem}.stat-card.elo .stat-label{color:#fffc}.profile-section{background:var(--bg-secondary);border-radius:12px;padding:16px;margin-bottom:16px}.profile-section h3{font-size:.9rem;color:var(--text-secondary);margin-bottom:12px}.deck-name{color:var(--text-primary);font-weight:500}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.character-btn{background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;padding:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px}.character-btn:hover{border-color:var(--accent)}.character-btn.selected{border-color:var(--accent);background:#fbbf2426;box-shadow:0 0 8px #fbbf244d}.char-image{width:70px;height:98px;object-fit:cover;border-radius:6px}.char-name{font-size:.8rem;color:var(--text-secondary);font-weight:500}.save-char-btn{width:100%;margin-top:12px}.emotes-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.emote-item{background:var(--bg-card);padding:4px;border-radius:8px;width:48px;height:48px}.emote-img{width:100%;height:100%;object-fit:contain;border-radius:4px}.emote-hint{font-size:.8rem;color:var(--text-secondary);font-style:italic}.logout-btn{width:100%;margin-top:8px}.emote-item.clickable{cursor:pointer;transition:transform .15s}.emote-item.clickable:hover{transform:scale(1.1)}.emote-item.clickable:active{transform:scale(.95)}.emote-item.locked{position:relative;opacity:.5}.emote-locked-img{filter:grayscale(100%) brightness(.6)}.emote-lock-label{position:absolute;bottom:0;right:0;background:var(--bg-primary);color:var(--text-secondary);font-size:.6rem;padding:1px 3px;border-radius:3px;font-weight:700}.image-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.image-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.image-viewer-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:8px}.image-viewer-img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:12px}.image-viewer-title{margin-top:16px;color:#fff;font-size:1.2rem;text-transform:capitalize}.image-viewer-actions{display:flex;gap:12px;margin-top:20px}.image-viewer-actions .btn{min-width:120px}.evolution-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto}.evolution-viewer-content{position:relative;width:100%;max-width:400px;background:var(--bg-secondary);border-radius:4px;border:3px solid #3d2e1a;padding:20px;margin-top:20px;margin-bottom:20px}.evolution-viewer-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px;z-index:10}.evolution-tabs{display:flex;gap:8px;margin-bottom:16px;justify-content:center}.evolution-tab{padding:8px 16px;border-radius:20px;background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.evolution-tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.evolution-card-section{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.evolution-card-img{width:180px;height:auto;border-radius:12px;box-shadow:0 4px 20px #00000080;margin-bottom:12px}.evolution-card-info{text-align:center}.evolution-card-name{font-size:1.3rem;color:var(--text-primary);margin-bottom:4px}.evolution-card-hp{font-size:1rem;color:var(--danger);font-weight:700}.evolution-attacks{background:var(--bg-card);border-radius:12px;padding:16px;margin-bottom:20px}.evolution-attacks h4{color:var(--accent);margin-bottom:12px;font-size:1rem;text-transform:uppercase;letter-spacing:1px}.attack-item{padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:10px}.attack-item:last-child{margin-bottom:0}.attack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.attack-name{font-weight:700;color:var(--text-primary);font-size:1rem}.attack-damage{font-weight:700;color:var(--danger);font-size:1.1rem}.attack-cost{display:flex;gap:4px;margin-bottom:8px}.energy-cost{font-size:.9rem;letter-spacing:2px}.energy-cost.buone{color:var(--energy-buone)}.energy-cost.cattive{color:var(--energy-cattive)}.energy-cost.any{color:var(--text-secondary)}.attack-description{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.evolution-viewer-actions{display:flex;gap:12px;justify-content:center}.evolution-viewer-actions .btn{min-width:120px}.pkcard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:1000;display:flex;align-items:center;justify-content:center}.pkcard-close-btn{position:fixed;top:12px;right:12px;z-index:1002;background:#ffffff26;border:none;color:#fff;font-size:20px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.pkcard-close-btn:active{background:#ffffff4d}.pkcard-wrapper{display:flex;flex-direction:column;align-items:center;gap:10px;max-height:100vh;overflow-y:auto;padding:12px;-webkit-overflow-scrolling:touch}.pkcard-tabs{display:flex;gap:8px}.pkcard-tab{padding:6px 18px;border:none;border-radius:20px;background:#ffffff1a;color:#ffffff80;font-size:clamp(12px,3.2vw,15px);font-weight:700;cursor:pointer;transition:all .2s}.pkcard-tab.active{background:#ffffff40;color:#fff}.pkcard{position:relative;width:85vw;max-width:360px;aspect-ratio:2 / 3;border-radius:3.5%;overflow:hidden;flex-shrink:0}.pkcard-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.pkcard-frame{position:absolute;top:3.3%;left:5.5%;right:5.5%;bottom:4%;z-index:1;display:flex;flex-direction:column;border-radius:2% 2% 2.5% 2.5%;overflow:hidden}.pkcard-topbar{display:flex;align-items:center;padding:2.5% 3.5% 2.5% 3%;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.3) 65%,transparent 100%);gap:clamp(4px,1.5vw,8px);min-height:12%}.pkcard-stage{font-size:clamp(6px,1.8vw,9px);font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:1px;background:#c22;padding:2px 6px;border-radius:3px;flex-shrink:0}.pkcard-name{flex:1;font-size:clamp(14px,4.8vw,22px);font-weight:900;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 10px rgba(0,0,0,.4);letter-spacing:.5px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pkcard-hp{display:flex;align-items:baseline;gap:3px;flex-shrink:0}.pkcard-hp-label{font-size:clamp(7px,2vw,10px);font-weight:700;color:#f44;text-shadow:0 0 6px rgba(255,0,0,.4);letter-spacing:1px}.pkcard-hp-value{font-size:clamp(18px,5.5vw,28px);font-weight:900;color:#f44;text-shadow:0 0 8px rgba(255,0,0,.3),0 1px 3px rgba(0,0,0,.6);line-height:1;letter-spacing:-1px}.pkcard-image-area{flex:1;position:relative}.pkcard-image-area:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#1e190fd9)}.pkcard-attacks{background:#252014d9;padding:3% 3.5% 0}.pkcard-attack-row{display:flex;align-items:flex-start;gap:2%;padding:1.5% 0}.pkcard-attack-body{flex:1;min-width:0}.pkcard-attack-header{display:flex;align-items:center;gap:clamp(4px,1.5vw,8px);flex-wrap:wrap}.pkcard-attack-name{font-size:clamp(11px,3.5vw,16px);font-weight:800;color:#f0e8d0;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.pkcard-attack-energies{display:flex;gap:3px;align-items:center}.pkcard-orb{width:clamp(12px,3.8vw,18px);height:clamp(12px,3.8vw,18px);border-radius:50%;position:relative;display:inline-block;box-shadow:inset -2px -2px 4px #0006,inset 3px 3px 4px #ffffff40,0 1px 3px #00000080}.pkcard-orb:before{content:"";position:absolute;top:2px;left:4px;width:5px;height:4px;background:#ffffff73;border-radius:50%;filter:blur(.5px)}.pkcard-orb.orb-buone{background:radial-gradient(circle at 35% 30%,#8fd460,#3a7a1c)}.pkcard-orb.orb-cattive{background:radial-gradient(circle at 35% 30%,#d49cff,#6b21a8)}.pkcard-orb.orb-any{background:radial-gradient(circle at 35% 30%,#e0e0e0,#888)}.pkcard-attack-desc{font-size:clamp(8px,2.5vw,11px);color:#dcd2b4a6;line-height:1.3;margin-top:2px;font-style:italic}.pkcard-attack-dmg{font-size:clamp(16px,5.5vw,26px);font-weight:900;color:#f0e8d0;min-width:clamp(28px,9vw,44px);text-align:right;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.5);letter-spacing:-1px;flex-shrink:0}.pkcard-footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:2% 3.5%;background:#252014d9}.pkcard-retreat-label{font-size:clamp(5px,1.6vw,8px);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#dcd2b4a6}.pkcard-retreat-dots{display:flex;gap:3px;align-items:center}.pkcard-retreat-dot{width:clamp(9px,3vw,14px);height:clamp(9px,3vw,14px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ddd,#888);box-shadow:inset -1px -1px 2px #0000004d,inset 1px 1px 2px #ffffff4d}.pkcard-retreat-none{font-size:clamp(10px,3vw,14px);color:#c8bea04d}.pkcard-bottom{display:flex;justify-content:space-between;align-items:flex-end;padding:1.5% 3.5% 2.5%;background:#252014d9}.pkcard-flavor{font-size:clamp(6px,2vw,9px);font-style:italic;color:#dcd2b4b3;max-width:65%;line-height:1.3}.pkcard-num{font-size:clamp(5px,1.6vw,8px);font-weight:600;color:#dcd2b48c;letter-spacing:.5px;flex-shrink:0}.pkcard-holo{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(125deg,transparent 20%,rgba(255,255,255,.02) 40%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.02) 60%,transparent 80%);mix-blend-mode:overlay}.pkcard-actions{display:flex;gap:6px;justify-content:center;width:85vw;max-width:360px}.pkcard-actions .btn{min-width:0;padding:8px 12px;font-size:13px}.pkcard-attack-row.attack-clickable{cursor:pointer;background:#ef44441f;border-left:3px solid #ef4444;transition:background .15s}.pkcard-attack-row.attack-clickable:active{background:#ef444440}.pkcard-hp-bar-container{display:flex;align-items:center;gap:8px;width:85vw;max-width:360px}.pkcard-hp-bar{flex:1;height:8px;background:#ffffff26;border-radius:4px;overflow:hidden}.pkcard-hp-bar-fill{height:100%;border-radius:4px;transition:width .3s}.pkcard-hp-bar-text{font-size:13px;font-weight:700;color:#fffc;white-space:nowrap}.pkcard-attached-energy{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.pkcard-attached-label{font-size:12px;font-weight:600;color:#fff9}.lobby-top{position:relative;width:calc(100% + 32px);margin:-16px -16px 16px}.lobby-banner-img{width:100%;height:auto;display:block}.lobby-top-buttons{position:absolute;bottom:20px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center}.btn-friends{position:relative;padding:8px 16px;border-radius:4px;background:var(--bg-secondary);border:2px solid var(--border-color);color:var(--text-primary);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-friends:hover{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.btn-friends-badge{position:absolute;top:-6px;right:-6px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.lobby-celebration{margin:0 16px;padding:10px 16px;background:linear-gradient(135deg,#4caf5026,#fbbf2426);border:1px solid var(--success);border-radius:6px;text-align:center;font-weight:700;color:var(--success);font-size:.9rem;cursor:pointer;animation:celebrationPulse 1s ease-in-out 3}@keyframes celebrationPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.lobby-daily-banner{margin:0 16px;padding:8px 16px;background:#2196f31a;border:1px solid var(--info);border-radius:6px;text-align:center;color:var(--info);font-size:.8rem}.lobby-streak-badge{margin:0 16px;padding:6px 16px;background:#fbbf241a;border:1px solid var(--accent);border-radius:6px;text-align:center;color:var(--accent);font-size:.8rem;font-weight:700}.btn-profile{width:44px;height:44px;border-radius:50%;background:var(--accent);border:none;color:var(--bg-primary);font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s}.btn-profile:hover{transform:scale(1.1)}.friends-page{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:100;overflow-y:auto}.friends-container{max-width:500px;margin:0 auto;padding:16px}.friends-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.friends-header h1{flex:1;font-size:1.5rem;margin:0}.friends-header .badge{background:var(--danger);color:#fff;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:700}.btn-back{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:none;color:var(--text-primary);font-size:1.2rem;cursor:pointer}.friends-message{padding:12px;border-radius:8px;margin-bottom:12px;text-align:center}.friends-message.success{background:#22c55e33;color:var(--success)}.friends-message.error{background:#ef444433;color:var(--danger)}.friends-tabs{display:flex;gap:8px;margin-bottom:16px}.friends-tabs .tab{flex:1;padding:12px;border:none;border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.friends-tabs .tab.active{background:var(--accent);color:var(--bg-primary);font-weight:700}.friends-content{min-height:300px}.requests-subtitle{font-size:.9rem;color:var(--text-secondary);margin:12px 0 8px}.requests-subtitle:first-child{margin-top:0}.friend-card,.request-card,.search-result-card{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:8px;position:relative}.btn-new-indicator{background:var(--danger);color:#fff;border:none;font-weight:700;cursor:default;opacity:1}.btn-new-indicator:disabled{background:var(--danger);color:#fff;opacity:1}.friend-info{display:flex;flex-direction:column;gap:4px}.friend-name{font-weight:600;color:var(--text-primary)}.friend-stats{font-size:.8rem;color:var(--text-secondary)}.friend-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.btn-small{padding:6px 12px;font-size:.8rem;border-radius:6px}.btn-success{background:var(--success);color:#fff;border:none}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--border-color)}.status-badge{padding:6px 12px;border-radius:6px;font-size:.8rem;background:var(--success);color:#fff}.status-badge.pending{background:var(--accent);color:var(--bg-primary)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state .btn{margin-top:16px}.search-bar{display:flex;gap:8px;margin-bottom:16px}.search-bar input{flex:1;padding:12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);font-size:1rem}.search-bar input::placeholder{color:var(--text-secondary)}.search-bar .btn{padding:12px 20px}.custom-decks-list{display:flex;flex-direction:column;gap:8px}.custom-deck-card{display:flex;justify-content:space-between;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:12px}.custom-deck-info{display:flex;flex-direction:column;gap:2px}.custom-deck-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.custom-deck-count{font-size:.8rem;color:var(--text-secondary)}.custom-deck-actions{display:flex;gap:6px}.btn-small{padding:6px 12px!important;font-size:.8rem!important;min-height:auto!important}.btn-danger{background:var(--danger);color:#fff;border:none;border-radius:8px;cursor:pointer}.deck-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:1000;overflow-y:auto}.deck-editor-modal{max-width:600px;margin:0 auto;padding:16px;display:flex;flex-direction:column;min-height:100vh}.deck-editor-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;position:sticky;top:0;background:var(--bg-primary);padding:8px 0;z-index:10}.deck-editor-name-input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1rem}.deck-editor-name-input::placeholder{color:var(--text-secondary)}.deck-editor-counter{font-size:.9rem;color:var(--text-secondary);font-weight:600;white-space:nowrap}.deck-editor-counter.complete{color:var(--success)}.deck-editor-save-btn{white-space:nowrap}.deck-editor-tabs{display:flex;gap:4px;margin-bottom:12px;background:var(--bg-secondary);border-radius:10px;padding:4px}.deck-editor-tab{flex:1;padding:8px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.deck-editor-tab.active{background:var(--accent);color:var(--bg-primary)}.deck-editor-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.card-picker-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:10px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .2s}.card-picker-card.in-deck{border-color:var(--accent);background:#fbbf241a}.card-picker-card-image{position:relative;cursor:pointer}.card-picker-card-img{width:70px;height:98px;object-fit:cover;border-radius:6px}.card-picker-placeholder{width:70px;height:98px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:1.5rem;color:var(--text-secondary)}.card-picker-badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:var(--bg-primary);font-size:.75rem;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0006}.card-picker-card-controls{display:flex;gap:6px}.card-picker-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.card-picker-btn:disabled{opacity:.3;cursor:not-allowed}.card-picker-btn.plus:not(:disabled){border-color:var(--success);color:var(--success)}.card-picker-btn.minus:not(:disabled){border-color:var(--danger);color:var(--danger)}.card-detail-extra{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.card-detail-tag{font-size:.8rem;color:var(--text-secondary);background:var(--bg-card);padding:4px 10px;border-radius:12px;border:1px solid var(--border-color)}.deck-editor-summary{background:var(--bg-secondary);border-radius:10px;padding:12px;margin-bottom:12px}.deck-editor-summary h4{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.deck-summary-list{display:flex;flex-direction:column;gap:4px;max-height:200px;overflow-y:auto}.deck-summary-item{display:flex;align-items:center;gap:8px;padding:4px 0}.deck-summary-count{font-size:.8rem;font-weight:700;color:var(--accent);width:24px;text-align:right}.deck-summary-name{flex:1;font-size:.8rem;color:var(--text-primary)}.deck-summary-remove{width:22px;height:22px;border-radius:4px;border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.deck-editor-hint{text-align:center;font-size:.8rem;color:var(--text-secondary);margin-bottom:12px}.deck-editor-error{background:#b91c1c33;border:1px solid var(--danger);color:#fca5a5;border-radius:8px;padding:10px 14px;font-size:.85rem;margin-top:8px}.admin-page{min-height:100vh;padding:16px;background:var(--bg-primary)}.admin-container{max-width:600px;margin:0 auto}.admin-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-title{font-size:1.5rem;color:var(--accent);margin:0}.admin-loading{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:1rem}.admin-error{background:#b91c1c33;border:1px solid var(--danger);color:#fca5a5;border-radius:8px;padding:16px;text-align:center}.admin-tabs{display:flex;gap:4px;margin-bottom:16px;background:var(--bg-secondary);border-radius:10px;padding:4px}.admin-tab{flex:1;padding:10px 6px;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.admin-tab.active{background:var(--accent);color:var(--bg-primary)}.admin-section{display:flex;flex-direction:column;gap:8px}.admin-section-title{font-size:.9rem;color:var(--text-secondary);margin-top:12px;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-stat-card{background:var(--bg-card);border-radius:10px;padding:12px 8px;text-align:center;display:flex;flex-direction:column;gap:4px}.admin-stat-value{font-size:1.4rem;font-weight:700;color:var(--accent)}.admin-stat-label{font-size:.7rem;color:var(--text-secondary)}.admin-empty{text-align:center;padding:24px;color:var(--text-secondary);font-style:italic;background:var(--bg-card);border-radius:8px}.admin-bar-chart{display:flex;flex-direction:column;gap:4px;background:var(--bg-card);border-radius:8px;padding:10px}.admin-bar-row{display:flex;align-items:center;gap:8px;min-height:22px}.admin-bar-label{font-size:.7rem;color:var(--text-secondary);width:72px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-bar-track{flex:1;height:14px;background:#ffffff0d;border-radius:3px;overflow:hidden}.admin-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent));border-radius:3px;min-width:2px;transition:width .3s}.admin-bar-value{font-size:.75rem;color:var(--text-primary);font-weight:600;width:36px;flex-shrink:0;text-align:right}.admin-table-wrap{overflow-x:auto;border-radius:8px;background:var(--bg-card)}.admin-table{width:100%;border-collapse:collapse;font-size:.8rem}.admin-table th{background:var(--bg-secondary);color:var(--text-secondary);padding:8px 10px;text-align:left;font-weight:600;white-space:nowrap}.admin-table td{padding:8px 10px;color:var(--text-primary);border-top:1px solid rgba(255,255,255,.05)}.admin-table tbody tr:hover{background:#ffd7000d}.admin-retention-toggle{display:flex;gap:4px;background:var(--bg-card);border-radius:8px;padding:4px}.admin-toggle-btn{flex:1;padding:8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.admin-toggle-btn.active{background:var(--accent);color:var(--bg-primary)}.admin-retention-wrap{overflow-x:auto;border-radius:8px;background:var(--bg-card)}.admin-retention-table{border-collapse:collapse;font-size:.7rem;min-width:100%}.admin-retention-table th{background:var(--bg-secondary);color:var(--text-secondary);padding:6px 8px;text-align:center;font-weight:600;white-space:nowrap;position:sticky;top:0}.admin-retention-cohort{white-space:nowrap;padding:4px 8px;color:var(--text-secondary);font-weight:600;position:sticky;left:0;background:var(--bg-card);z-index:1}.admin-retention-size{padding:4px 8px;text-align:center;color:var(--text-secondary)}.admin-retention-cell{padding:4px 6px;text-align:center;color:var(--text-primary);font-weight:600;font-size:.65rem;white-space:nowrap;min-width:40px}.admin-retention-avg-row{border-top:2px solid var(--accent-dark)}.admin-retention-avg-row .admin-retention-cohort{color:var(--accent)}
