*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#05080f;color:#ffffffd9}#root{width:100%}.home-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(ellipse at 20% 50%,rgba(0,255,136,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,170,255,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(139,92,246,.06) 0%,transparent 50%),linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c);position:relative;overflow:hidden}.cyber-grid{position:absolute;inset:0;background:linear-gradient(rgba(0,255,170,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,170,.03) 1px,transparent 1px);background-size:60px 60px;animation:grid-drift 30s linear infinite}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(60px)}}.scan-line{position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(0,255,170,.4) 50%,transparent 100%);animation:scan 4s ease-in-out infinite;z-index:1}@keyframes scan{0%{top:-2px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}.home-container{max-width:520px;width:100%;position:relative;z-index:2}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.language-switcher-home{display:flex;gap:2px;background:#ffffff0d;padding:3px;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.language-switcher-home .lang-btn{padding:6px 14px;background:transparent;color:#fff6;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:700;letter-spacing:.08em;transition:all .2s}.language-switcher-home .lang-btn:hover{color:#ffffffb3}.language-switcher-home .lang-btn.active{background:#00ffaa26;color:#0fa;border:none}.auth-section{display:flex;align-items:center}.user-info{display:flex;align-items:center;gap:10px}.profile-link{display:flex;align-items:center;gap:8px;text-decoration:none;padding:4px 10px 4px 4px;border-radius:20px;transition:all .2s}.profile-link:hover{background:#ffffff0f}.user-avatar{width:32px;height:32px;border-radius:50%;border:2px solid rgba(0,255,170,.3)}.user-name{color:#fffc;font-weight:600;font-size:.85rem}.auth-btn{padding:8px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.85rem;transition:all .2s;display:flex;align-items:center;gap:8px}.signin-btn{background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.1)}.signin-btn:hover{background:#ffffff1f;color:#fff;transform:translateY(-1px)}.signout-btn{background:#ff3c3c26;color:#ff7878e6;font-size:.8rem;padding:6px 12px;border:1px solid rgba(255,60,60,.15)}.signout-btn:hover{background:#ff3c3c40}.hero-section{text-align:center;margin-bottom:48px}.title-wrapper{margin-bottom:16px}.title-glitch{font-size:4.5rem;font-weight:900;letter-spacing:.12em;color:#fff;position:relative;display:inline-block;text-shadow:0 0 20px rgba(0,255,170,.5),0 0 60px rgba(0,255,170,.2);animation:title-flicker 5s ease-in-out infinite}.title-glitch:before,.title-glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}.title-glitch:before{color:#ff0040;animation:glitch-1 3s ease-in-out infinite;clip-path:inset(20% 0 60% 0)}.title-glitch:after{color:#0fa;animation:glitch-2 3s ease-in-out infinite;clip-path:inset(60% 0 10% 0)}@keyframes title-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}@keyframes glitch-1{0%,to{opacity:0;transform:translate(0)}41%{opacity:0}42%{opacity:.8;transform:translate(-3px)}44%{opacity:0;transform:translate(0)}85%{opacity:0}86%{opacity:.5;transform:translate(2px)}87%{opacity:0}}@keyframes glitch-2{0%,to{opacity:0;transform:translate(0)}45%{opacity:0}46%{opacity:.6;transform:translate(3px)}48%{opacity:0;transform:translate(0)}88%{opacity:0}89%{opacity:.4;transform:translate(-2px)}90%{opacity:0}}.subtitle{font-size:1rem;color:#ffffff59;margin:0 0 12px;letter-spacing:.25em;text-transform:uppercase;font-weight:500}.subtitle-line{width:60px;height:2px;background:linear-gradient(90deg,transparent,rgba(0,255,170,.5),transparent);margin:0 auto}.menu-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.menu-btn{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;text-decoration:none;font-size:1.05rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#fffc;position:relative;overflow:hidden}.menu-btn:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:0 2px 2px 0;opacity:0;transition:opacity .25s}.menu-btn:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px);color:#fff}.menu-btn:hover:before{opacity:1}.btn-icon-wrapper{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0;transition:all .25s}.btn-text{flex:1;text-align:left}.btn-arrow{font-family:monospace;font-size:1.2rem;opacity:0;transform:translate(-8px);transition:all .25s;color:#fff6}.menu-btn:hover .btn-arrow{opacity:1;transform:translate(0)}.local-btn .btn-icon-wrapper{background:#00ffaa1a;color:#0fa}.local-btn:before{background:#0fa}.local-btn:hover .btn-icon-wrapper{background:#0fa3;box-shadow:0 0 20px #00ffaa26}.online-btn .btn-icon-wrapper{background:#00aaff1a;color:#0af}.online-btn:before{background:#0af}.online-btn:hover .btn-icon-wrapper{background:#0af3;box-shadow:0 0 20px #00aaff26}.shop-btn .btn-icon-wrapper{background:#a855f71a;color:#a855f7}.shop-btn:before{background:#a855f7}.shop-btn:hover .btn-icon-wrapper{background:#a855f733;box-shadow:0 0 20px #a855f726}.rules-btn .btn-icon-wrapper{background:#fbbf241a;color:#fbbf24}.rules-btn:before{background:#fbbf24}.rules-btn:hover .btn-icon-wrapper{background:#fbbf2433;box-shadow:0 0 20px #fbbf2426}.version-tag{text-align:center;font-family:monospace;font-size:.75rem;color:#ffffff26;letter-spacing:.1em}@media(max-width:768px){.home-container{padding:0 4px}.title-glitch{font-size:3rem}.subtitle{font-size:.85rem}.menu-btn{padding:14px 16px;font-size:.95rem}.btn-icon-wrapper{width:38px;height:38px}.btn-icon-wrapper svg{width:22px;height:22px}.top-bar{margin-bottom:36px}.user-name{display:none}}.player-panel{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:20px;position:relative;transition:all .3s ease}.player-panel.damage-flash{animation:damageShake .5s ease;border-color:#ff3c3c80!important;box-shadow:0 0 30px #ff3c3c33!important}@keyframes damageShake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.player-panel.shield-flash{animation:shieldPulse .6s ease}@keyframes shieldPulse{0%,to{box-shadow:none}50%{box-shadow:0 0 30px #0af6}}.player-panel.vulnerability-flash{animation:vulnerabilityPulse .6s ease}@keyframes vulnerabilityPulse{0%,to{box-shadow:none;border-color:#ffffff0f}50%{box-shadow:0 0 25px #fbbf244d;border-color:#fbbf2466}}.damage-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;font-weight:900;color:#f44;text-shadow:0 0 20px rgba(255,60,60,.8);pointer-events:none;animation:floatUp 1s ease-out forwards;z-index:1000;font-family:monospace}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-80%) scale(1.2)}to{opacity:0;transform:translate(-50%,-120%) scale(1)}}.shield-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;font-weight:900;color:#0af;text-shadow:0 0 20px rgba(0,170,255,.8);pointer-events:none;animation:shieldFloat 1s ease-out forwards;z-index:1000;font-family:monospace}@keyframes shieldFloat{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}50%{opacity:1;transform:translate(-50%,-70%) scale(1.1)}to{opacity:0;transform:translate(-50%,-100%) scale(1)}}.stat-bar-fill{transition:width .5s ease-out}.stat.integrity.damaged .stat-bar-fill{animation:hpBarFlash .5s ease}@keyframes hpBarFlash{0%,to{background:linear-gradient(90deg,#f44,#f66)}50%{background:linear-gradient(90deg,#faa,#f88)}}.stat.shield.gained .stat-value,.stat.vulnerability.increased .stat-value{animation:statPulse .6s ease}@keyframes statPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.player-panel.current{border-color:#00aaff4d;box-shadow:0 0 20px #00aaff1a}.player-panel.opponent{border-color:#ff3c3c33;padding:14px}.player-panel.opponent h2{font-size:1rem;margin:0 0 6px}.player-panel.opponent .stats{grid-template-columns:repeat(5,1fr);gap:6px}.player-panel.opponent .stat-label{font-size:.7rem}.player-panel.opponent .stat-value{font-size:1rem}.player-panel.opponent .stat-bar{height:4px}.player-panel.opponent .deck-type-badge{font-size:.7rem;padding:2px 8px;margin-bottom:8px}.player-panel.opponent .hidden-vulnerabilities{margin-top:8px;padding:8px}.player-panel.opponent .vuln-title{font-size:.75rem;margin:0 0 6px}.player-panel.opponent .vuln-item{padding:4px 8px;font-size:.75rem}.player-panel h2{margin:0 0 10px;font-size:1.2rem;color:#ffffffe6;font-weight:700}.deck-type-badge{display:inline-block;padding:4px 12px;background:#ffffff0d;border-radius:6px;font-size:.8rem;font-weight:600;margin-bottom:12px;border:1px solid rgba(255,255,255,.08);color:#ffffff80}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.stat{display:flex;flex-direction:column;gap:5px}.stat-label{font-weight:600;font-size:.8rem;color:#ffffff59;text-transform:uppercase;letter-spacing:.08em}.stat-value{font-size:1.3rem;font-weight:700;font-family:monospace}.stat.integrity .stat-value{color:#f55}.stat.shield .stat-value{color:#0af}.stat.vulnerability .stat-value{color:#fbbf24}.stat-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;transition:width .3s ease}.integrity-fill{background:linear-gradient(90deg,#f44,#f66)}.status-effect{margin-top:12px;padding:8px 12px;background:#ff3c3c1a;color:#f66;border:1px solid rgba(255,60,60,.2);border-radius:6px;font-weight:600;font-size:.85rem}.status-effect.negate-buff{background:#00aaff1a;color:#0af;border-color:#0af3}.hidden-vulnerabilities{margin-top:14px;padding:12px;background:#fbbf240d;border:1px solid rgba(251,191,36,.15);border-radius:10px}.vuln-title{margin:0 0 10px;font-size:.85rem;color:#fbbf24cc;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.vuln-list{display:flex;flex-direction:column;gap:6px}.vuln-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;font-size:.85rem;transition:all .2s}.vuln-item.discovered{background:#ff3c3c14;border-color:#ff3c3c33}.vuln-icon{font-size:1.1rem}.vuln-name{color:#ffffff80;font-weight:500;text-transform:capitalize;font-family:monospace}.vuln-item.discovered .vuln-name{color:#f66}.player-panel.effect-glitch-shake{animation:glitchShake .6s ease!important}@keyframes glitchShake{0%,to{transform:translate(0);filter:none}10%{transform:translate(-8px,2px);filter:hue-rotate(90deg)}20%{transform:translate(6px,-3px);filter:hue-rotate(180deg)}30%{transform:translate(-4px,4px);filter:hue-rotate(270deg)}40%{transform:translate(5px,-1px);filter:none}50%{transform:translate(-6px,3px);filter:hue-rotate(90deg) saturate(2)}60%{transform:translate(3px,-2px);clip-path:inset(30% 0 40% 0)}70%{transform:translate(-2px,1px);clip-path:none}80%{transform:translate(4px,-3px);filter:hue-rotate(180deg)}90%{transform:translate(-1px,2px);filter:none}}.player-panel.effect-glitch-pulse{animation:glitchPulse .7s ease!important}@keyframes glitchPulse{0%,to{box-shadow:none;filter:none}20%{box-shadow:-3px 0 #00ffffb3,3px 0 #ff00ffb3}40%{box-shadow:3px 0 #00ffffb3,-3px 0 #ff00ffb3;filter:hue-rotate(90deg)}60%{box-shadow:0 0 30px #00ffff80}80%{box-shadow:-2px 0 #ff00ff80,2px 0 #00ffff80;filter:none}}.player-panel.effect-holo-distort{animation:holoDistort .7s ease!important}@keyframes holoDistort{0%,to{transform:none;opacity:1}15%{transform:scale(1.02) skew(-2deg);opacity:.7}30%{transform:scale(.98) skew(3deg);opacity:.5}45%{transform:scale(1.01) skew(-1deg);opacity:.8}60%{transform:none;opacity:.6;background:#00c8ff0d}80%{opacity:.9}}.player-panel.effect-holo-shield{animation:holoShield .8s ease!important}@keyframes holoShield{0%,to{box-shadow:none}30%{box-shadow:0 0 40px #00c8ff66,inset 0 0 20px #00c8ff1a}50%{box-shadow:0 0 60px #00c8ff99,inset 0 0 40px #00c8ff26,0 0 80px #00c8ff33}70%{box-shadow:0 0 30px #00c8ff4d,inset 0 0 15px #00c8ff0d}}.card-hand{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:20px}.card-hand h3{margin:0 0 15px;font-size:1.1rem;color:#fff9;font-weight:600;letter-spacing:.05em}.cards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;perspective:1000px}.card{width:170px;min-height:230px;background:var(--card-bg, rgba(10, 15, 30, .8));border:2px var(--card-border-style, solid);border-radius:12px;padding:14px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 8px #0000004d;display:flex;flex-direction:column;transform-style:preserve-3d;position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:0;background:var(--card-texture, none);pointer-events:none;border-radius:12px}.card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);transform:translate(-100%) translateY(-100%) rotate(45deg);transition:transform .6s ease}.card:hover:before{transform:translate(100%) translateY(100%) rotate(45deg)}.card:hover:not(.disabled){transform:translateY(-10px) scale(1.04);z-index:10}.card.card-attack:hover:not(.disabled){box-shadow:0 0 calc(30px * var(--card-glow, .3)) var(--color-attack, #ff5555),0 16px 40px #0006}.card.card-defense:hover:not(.disabled){box-shadow:0 0 calc(30px * var(--card-glow, .3)) var(--color-defense, #00aaff),0 16px 40px #0006}.card.card-improve:hover:not(.disabled){box-shadow:0 0 calc(30px * var(--card-glow, .3)) var(--color-improve, #00ffaa),0 16px 40px #0006}.card.card-recovery:hover:not(.disabled){box-shadow:0 0 calc(30px * var(--card-glow, .3)) var(--color-recovery, #a855f7),0 16px 40px #0006}.card:active:not(.disabled){transform:translateY(-6px) scale(1.02);transition:all .1s ease}.card.disabled{cursor:not-allowed;opacity:.4}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-type{font-size:.75rem;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:4px;background:#ffffff0d;letter-spacing:.05em}.card.card-attack{border-color:var(--color-attack, #ff5555)}.card.card-defense{border-color:var(--color-defense, #00aaff)}.card.card-improve{border-color:var(--color-improve, #00ffaa)}.card.card-recovery{border-color:var(--color-recovery, #a855f7)}.card.card-attack .card-type{color:var(--color-attack, #ff5555)}.card.card-defense .card-type{color:var(--color-defense, #00aaff)}.card.card-improve .card-type{color:var(--color-improve, #00ffaa)}.card.card-recovery .card-type{color:var(--color-recovery, #a855f7)}.card-art{width:100%;height:60px;margin-bottom:4px;position:relative;z-index:1}.card-art svg{width:100%;height:100%}.card-name{font-size:1rem;font-weight:700;color:var(--card-name-color, rgba(255, 255, 255, .9));margin-bottom:10px;line-height:1.3;font-style:var(--card-font-style, normal)}.card-description{font-size:.82rem;color:#ffffff73;line-height:1.5;flex-grow:1}.game-log{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:16px;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.log-header h3{margin:0;font-size:.85rem;color:#fff6;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.log-close-btn{background:none;border:none;color:#ffffff4d;font-size:.9rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .2s}.log-close-btn:hover{color:#ffffffb3;background:#ffffff0f}.log-entries{flex-grow:1;overflow-y:auto;padding-right:6px}.log-entries::-webkit-scrollbar{width:4px}.log-entries::-webkit-scrollbar-track{background:transparent}.log-entries::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.log-entry{display:flex;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.8rem;line-height:1.4}.log-entry:last-child{border-bottom:none}.log-turn{font-weight:700;color:#0fa;font-family:monospace;font-size:.75rem;flex-shrink:0;min-width:24px}.log-message{color:#ffffff73}.card-draw-modal-backdrop{position:fixed;inset:0;background:#05080fcc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;cursor:pointer;animation:backdropFade .15s ease}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.card-draw-card{width:170px;min-height:230px;padding:14px;border-radius:12px;border:2px solid transparent;background:var(--card-bg, rgba(10, 15, 30, .95));text-align:center;display:flex;flex-direction:column;gap:10px;cursor:default;position:relative;overflow:hidden;animation:cardPopIn .3s cubic-bezier(.34,1.56,.64,1)}.card-draw-card:after{content:"";position:absolute;inset:0;background:var(--card-texture, none);pointer-events:none;border-radius:12px}@keyframes cardPopIn{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.card-draw-card.Attack{border-color:var(--color-attack, #ff5555);box-shadow:0 0 30px color-mix(in srgb,var(--color-attack, #ff5555) 25%,transparent)}.card-draw-card.Defense{border-color:var(--color-defense, #00aaff);box-shadow:0 0 30px color-mix(in srgb,var(--color-defense, #00aaff) 25%,transparent)}.card-draw-card.Improve{border-color:var(--color-improve, #00ffaa);box-shadow:0 0 30px color-mix(in srgb,var(--color-improve, #00ffaa) 25%,transparent)}.card-draw-card.Recovery{border-color:var(--color-recovery, #a855f7);box-shadow:0 0 30px color-mix(in srgb,var(--color-recovery, #a855f7) 25%,transparent)}.drawn-card-type-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;border-radius:4px;align-self:center;background:#ffffff0f;color:#ffffff80;position:relative;z-index:1}.card-draw-card.Attack .drawn-card-type-badge{color:var(--color-attack, #ff5555)}.card-draw-card.Defense .drawn-card-type-badge{color:var(--color-defense, #00aaff)}.card-draw-card.Improve .drawn-card-type-badge{color:var(--color-improve, #00ffaa)}.card-draw-card.Recovery .drawn-card-type-badge{color:var(--color-recovery, #a855f7)}.drawn-card-name{font-size:1rem;font-weight:700;color:var(--card-name-color, #fff);margin:0;line-height:1.3;font-style:var(--card-font-style, normal);position:relative;z-index:1}.drawn-card-description{font-size:.82rem;line-height:1.5;color:#ffffff73;margin:0;flex-grow:1;position:relative;z-index:1}.card-draw-card .card-art{height:60px;margin-bottom:2px}.card-draw-card.effect-glitch-flip{animation:glitchPopIn .35s ease-out}@keyframes glitchPopIn{0%{opacity:0;transform:scale(.9);filter:hue-rotate(180deg)}40%{opacity:.8;transform:scale(1.02) translate(-3px);filter:hue-rotate(90deg)}60%{transform:scale(1.02) translate(3px);filter:hue-rotate(270deg)}80%{opacity:1;transform:scale(1);filter:hue-rotate(360deg)}to{filter:none}}.card-draw-card.effect-holo-materialize{animation:holoPopIn .4s ease-out}@keyframes holoPopIn{0%{opacity:0;transform:scale(.8);filter:blur(6px) brightness(2)}50%{opacity:.7;filter:blur(2px) brightness(1.4)}80%{opacity:1;transform:scale(1.01);filter:blur(0) brightness(1.1)}to{transform:scale(1);filter:none}}.deck-type-selector{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c);position:relative;overflow:hidden}.deck-type-selector:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,255,170,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,170,.02) 1px,transparent 1px);background-size:60px 60px;animation:grid-scroll 30s linear infinite}@keyframes grid-scroll{0%{transform:translateY(0)}to{transform:translateY(60px)}}.selector-container{max-width:1400px;width:100%;padding:50px;position:relative;z-index:1}.selector-container h1{text-align:center;color:#fff;font-size:2.5rem;font-weight:800;margin:0 0 50px;letter-spacing:.05em;text-shadow:0 0 30px rgba(0,255,170,.3)}.players-selection{display:grid;grid-template-columns:1fr auto 1fr;gap:40px;margin-bottom:40px}.player-selection{background:#ffffff08;border-radius:16px;padding:30px;border:1px solid rgba(255,255,255,.06);transition:all .3s ease}.player-selection:hover{border-color:#ffffff1a}.player-selection h2,.player-selection h3{text-align:center;color:#0fac;font-size:1.5rem;font-weight:700;margin:0 0 24px;letter-spacing:.05em}.deck-options{display:flex;flex-direction:column;gap:16px}.deck-card,.deck-option{background:#ffffff08;border:2px solid transparent;border-radius:14px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.deck-card:before,.deck-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);transition:left .5s}.deck-card:hover:before,.deck-option:hover:before{left:100%}.deck-card:hover,.deck-option:hover{transform:translateY(-3px);background:#ffffff0d;border-color:#ffffff26}.deck-card.selected,.deck-option.selected{border-width:2px;background:#ffffff0d;animation:pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 20px currentColor}50%{box-shadow:0 0 40px currentColor}}.deck-icon{display:flex;justify-content:center;align-items:center;margin-bottom:12px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.deck-card h3,.deck-option h3{color:#ffffffe6;font-size:1.2rem;font-weight:600;margin:0 0 8px}.deck-name{color:#ffffffe6;font-size:1.1rem;font-weight:600}.deck-desc{color:#ffffff59;font-size:.85rem;margin:0;line-height:1.5;font-family:monospace}.selection-status{margin-top:16px;padding:12px;background:#00ffaa0d;border-radius:10px;border:1px solid rgba(0,255,170,.15);color:#0fa;font-size:.95rem;font-weight:600;text-align:center}.vs-divider{display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;color:#ffffff26;letter-spacing:.1em}.opponent-selection{border-color:#ff3c3c1a}.opponent-selection:hover{border-color:#ff3c3c33}.opponent-selection h3{color:#ffc800cc}.room-id-display{text-align:center;padding:16px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06);margin-bottom:24px}.room-id-display p{margin:5px 0;color:#fff6;font-size:.9rem}.room-id-display strong{color:#0fa;font-size:1.3rem;font-weight:700;letter-spacing:.15em;font-family:monospace}.start-game-btn{width:100%;padding:18px;background:#00ffaa1a;color:#0fa;border:1px solid rgba(0,255,170,.3);border-radius:14px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden}.start-game-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,170,.1),transparent);transition:left .5s}.start-game-btn:hover:not(:disabled){background:#0fa3;transform:translateY(-2px);box-shadow:0 8px 30px #0fa3}.start-game-btn:hover:not(:disabled):before{left:100%}.start-game-btn:disabled{color:#ffffff26;border-color:#ffffff0d;background:#ffffff05;cursor:not-allowed}@media(max-width:768px){.players-selection{grid-template-columns:1fr;gap:24px}.vs-divider{font-size:2rem}.selector-container{padding:24px 16px}.selector-container h1{font-size:2rem}.player-selection h2,.player-selection h3{font-size:1.3rem}.deck-icon svg{width:80px;height:80px}.start-game-btn{font-size:1rem;padding:16px}}.game-board{max-width:1400px;margin:0 auto;padding:24px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;background:var(--playmat-bg, transparent);background-size:cover;border-radius:12px}.game-board:before{content:"";position:absolute;inset:0;background:var(--playmat-texture, none);background-size:60px 60px;border-radius:12px;pointer-events:none;z-index:0}.game-board>*{position:relative;z-index:1}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:8px 12px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.06);flex-shrink:0}.header-turn{font-family:monospace;font-size:.85rem;font-weight:600;color:#ffffff80;letter-spacing:.05em}.back-btn{padding:8px 16px;background:#ffffff0d;color:#ffffff80;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.new-game-btn{padding:8px 16px;background:#00aaff1a;color:#0af;border:1px solid rgba(0,170,255,.3);border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s}.new-game-btn:hover{background:#0af3;transform:translateY(-2px);box-shadow:0 4px 16px #00aaff26}.winner-banner{margin-bottom:10px;padding:12px;background:#00ffaa26;color:#0fa;font-size:1.4rem;font-weight:700;text-align:center;border-radius:10px;border:1px solid rgba(0,255,170,.3);animation:winPulse 2s ease-in-out infinite;text-shadow:0 0 20px rgba(0,255,170,.5)}@keyframes winPulse{0%,to{box-shadow:0 0 20px #0fa3}50%{box-shadow:0 0 40px #0fa6}}.players-area{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;flex:1;min-height:0;overflow-y:auto}.opponent-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#ff3c3c0a;border:1px solid rgba(255,60,60,.12);border-radius:10px;flex-shrink:0;flex-wrap:wrap}.opp-label{font-size:.8rem;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;margin-right:4px}.opp-stat{font-family:monospace;font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:4px;background:#ffffff0a}.opp-hp{color:#f55}.opp-shield{color:#0af}.opp-vuln{color:#fbbf24}.opp-deck{color:#ffffff59}.opp-cards{display:flex;gap:3px;margin-left:auto}.card-back-xs{width:20px;height:28px;background:var(--cardback-bg, linear-gradient(135deg, rgba(168, 85, 247, .3), rgba(0, 170, 255, .3)));border:1px solid rgba(255,255,255,.08);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.5rem}.opp-debuff{font-size:.65rem;font-weight:700;color:#f55;padding:2px 6px;background:#ff3c3c1a;border-radius:3px;letter-spacing:.05em}.opp-buff{font-size:.65rem;font-weight:700;color:#0af;padding:2px 6px;background:#00aaff1a;border-radius:3px;letter-spacing:.05em}.current-player-area{display:flex;flex-direction:column;gap:12px}.controls{display:flex;justify-content:center;gap:12px;margin-bottom:8px;min-height:44px;align-items:center;flex-shrink:0}.action-btn{padding:12px 28px;font-size:.95rem;font-weight:700;border:1px solid;border-radius:10px;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.08em;background:transparent}.draw-btn{color:#0fa;border-color:#0fa6;background:#00ffaa1a}.draw-btn:hover{background:#0fa3;transform:translateY(-2px);box-shadow:0 4px 20px #0fa3}.end-btn{color:#fbbf24;border-color:#fbbf2466;background:#fbbf241a}.end-btn:hover{background:#fbbf2433;transform:translateY(-2px);box-shadow:0 4px 20px #fbbf2433}.action-hint{font-size:.95rem;color:#fff6;font-style:italic;padding:10px 20px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.04)}.opponent-turn-overlay{position:fixed;inset:0;background:#05080fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlay-fade-in .3s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.opponent-turn-message{background:#ffffff0d;border:1px solid rgba(255,60,60,.3);padding:40px 60px;border-radius:20px;text-align:center;box-shadow:0 0 80px #ff3c3c26;animation:message-pulse 2s ease-in-out infinite}@keyframes message-pulse{0%,to{box-shadow:0 0 60px #ff3c3c1a}50%{box-shadow:0 0 100px #ff3c3c33}}.opponent-turn-message h2{margin:0 0 12px;font-size:2.5rem;color:#fff;font-weight:800;letter-spacing:.05em}.opponent-turn-message p{margin:0;font-size:1.2rem;color:#ffffff80;font-weight:500}.tap-hint{margin-top:16px;font-size:.8rem;color:#fff3;animation:tapPulse 2s ease-in-out infinite}@keyframes tapPulse{0%,to{opacity:.4}50%{opacity:1}}.opponent-turn-icon{font-size:3rem;display:block;margin-bottom:16px;animation:icon-rotate 3s ease-in-out infinite}@keyframes icon-rotate{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.log-toggle-btn{position:fixed;bottom:40px;right:20px;padding:8px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ffffff80;font-size:.8rem;font-weight:600;cursor:pointer;z-index:100;transition:all .2s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.log-toggle-btn:hover{background:#ffffff1a;color:#fffc}.log-panel-overlay{position:fixed;inset:0;background:#05080f80;z-index:99;display:flex;align-items:flex-end;justify-content:flex-end;padding:20px 20px 60px}.log-panel{width:380px;max-height:60vh;animation:logSlideUp .2s ease-out}.log-panel .game-log{max-height:60vh;background:#0a0f1ef2;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes logSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.log-panel{width:100%}}.reveal-hand-modal{background:#0a0f1ef2;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:28px;text-align:center;max-width:500px;width:90%;animation:drawSlideUp .25s ease-out}@keyframes drawSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-hand-modal h2{color:#ffffffb3;font-size:1.1rem;margin:0 0 20px;font-weight:600}.revealed-cards{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.revealed-card{width:130px;padding:12px;border-radius:10px;border:2px solid;background:#ffffff08;display:flex;flex-direction:column;gap:6px;text-align:center}.revealed-card.card-attack{border-color:var(--color-attack, #ff5555)}.revealed-card.card-defense{border-color:var(--color-defense, #00aaff)}.revealed-card.card-improve{border-color:var(--color-improve, #00ffaa)}.revealed-card.card-recovery{border-color:var(--color-recovery, #a855f7)}.revealed-card-type{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#ffffff59}.revealed-card-name{font-size:.85rem;font-weight:600;color:#ffffffd9}.winner-banner.effect-confetti{animation:winPulse 2s ease-in-out infinite}.winner-banner.effect-glitch-explosion{animation:glitchWin .8s ease-in-out infinite}@keyframes glitchWin{0%,to{text-shadow:0 0 20px rgba(0,255,170,.5);transform:none}10%{text-shadow:-3px 0 #ff00ff,3px 0 #00ffff;transform:skew(-2deg)}20%{text-shadow:3px 0 #ff00ff,-3px 0 #00ffff;transform:skew(2deg)}30%{clip-path:inset(20% 0 60% 0);transform:translate(-5px)}40%{clip-path:inset(60% 0 10% 0);transform:translate(5px)}50%{clip-path:none;text-shadow:0 0 40px rgba(255,0,255,.8),0 0 80px rgba(0,255,255,.5);transform:scale(1.05)}60%,90%{text-shadow:0 0 20px rgba(0,255,170,.5);transform:none;clip-path:none}}.winner-banner.effect-holo-victory{animation:holoWin 3s ease-in-out infinite;background:#00c8ff1a!important;border-color:#00c8ff66!important;color:#0ff!important}@keyframes holoWin{0%,to{box-shadow:0 0 30px #00c8ff33;text-shadow:0 0 10px rgba(0,200,255,.5);opacity:1}25%{box-shadow:0 0 60px #00c8ff66,inset 0 0 30px #00c8ff1a;text-shadow:0 0 20px rgba(0,200,255,.8)}50%{box-shadow:0 0 80px #00c8ff80,inset 0 0 50px #00c8ff26;text-shadow:0 0 30px rgba(0,200,255,1);opacity:.9}75%{box-shadow:0 0 50px #00c8ff4d;text-shadow:0 0 15px rgba(0,200,255,.6)}}.rules-page{min-height:100vh;padding:20px;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c)}.rules-container{max-width:900px;margin:0 auto;padding:40px}.rules-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}.rules-header h1{font-size:2.2rem;color:#fff;margin:0;font-weight:700;letter-spacing:.02em}.back-btn{padding:10px 20px;background:#ffffff0d;color:#fff9;text-decoration:none;border-radius:8px;font-weight:600;transition:all .2s;border:1px solid rgba(255,255,255,.08);font-size:.9rem}.back-btn:hover{background:#ffffff14;color:#fff;transform:translate(-4px)}.rules-content{color:#ffffffb3}.rules-content section{margin-bottom:32px;background:#ffffff08;padding:28px;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.rules-content h2{color:#0fa;margin-top:0;margin-bottom:16px;font-size:1.4rem;font-weight:700;letter-spacing:.02em}.rules-content h3{color:#ffffffe6;margin-top:0;margin-bottom:10px}.rules-content h4{color:#ffffff80;margin-top:16px;margin-bottom:10px}.rules-content p{line-height:1.8;margin-bottom:12px}.rules-content ul,.rules-content ol{line-height:2;margin-left:20px}.rules-content li{margin-bottom:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}.stat-card{background:#ffffff08;padding:20px;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.stat-card h3{margin-top:0;color:#0fa}.stat-card p{margin:0;font-size:.95rem}.example-box{background:#00ffaa08;padding:20px;border-radius:10px;border-left:3px solid rgba(0,255,170,.4);margin-top:20px}.example-box h4{margin-top:0;color:#ffffffb3}.example-box p{margin:5px 0;font-family:Courier New,monospace;color:#ffffff80}.example-box .result{font-weight:700;color:#0fa;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.card-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:20px}.type-card{padding:20px;border-radius:10px;border:1px solid;background:#ffffff05}.type-card.attack{border-color:#ff3c3c4d}.type-card.defense{border-color:#00aaff4d}.type-card.improve{border-color:#00ffaa4d}.type-card.recovery{border-color:#a855f74d}.type-card h3{margin-top:0;margin-bottom:10px}.type-card p{margin:0;font-size:.95rem}.type-card .examples{margin-top:12px;font-style:italic;opacity:.5;font-size:.85rem}@media(max-width:768px){.rules-container{padding:20px}.rules-header{flex-direction:column;gap:15px}.rules-header h1{font-size:1.8rem}.stats-grid,.card-types-grid{grid-template-columns:1fr}}.lobby-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c)}.lobby-container{max-width:480px;width:100%}.lobby-back{background:none;border:none;color:#ffffff4d;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:32px;transition:all .2s}.lobby-hero{text-align:center;margin-bottom:36px}.lobby-hero h1{font-size:2rem;color:#fff;font-weight:700;margin:0 0 8px;letter-spacing:.02em}.lobby-subtitle{color:#ffffff40;font-size:.9rem;margin:0;letter-spacing:.1em;text-transform:uppercase}.lobby-name-field{margin-bottom:28px}.lobby-name-field label{display:block;font-size:.8rem;color:#ffffff59;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}.lobby-name-field input{width:100%;padding:12px 16px;font-size:1rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0a;color:#fff;transition:all .2s}.lobby-name-field input:focus{outline:none;border-color:#00ffaa4d;box-shadow:0 0 16px #00ffaa14;background:#ffffff0f}.lobby-actions{display:flex;flex-direction:column;gap:12px}.lobby-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.lobby-card:hover{background:#ffffff0f;border-color:#ffffff1a;transform:translate(4px)}.lobby-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;background:#00ffaa14;color:#0fa;transition:all .25s}.lobby-card:hover .lobby-card-icon{background:#00ffaa26;box-shadow:0 0 20px #00ffaa1a}.join-icon{background:#00aaff14;color:#0af}.lobby-card:hover .join-icon{background:#00aaff26;box-shadow:0 0 20px #00aaff1a}.lobby-card-body{flex:1;min-width:0}.lobby-card-body h2{font-size:1.05rem;font-weight:600;color:#ffffffd9;margin:0 0 4px}.lobby-card-body p{font-size:.8rem;color:#ffffff4d;margin:0}.lobby-card-arrow{font-family:monospace;font-size:1.2rem;color:#ffffff26;opacity:0;transform:translate(-8px);transition:all .25s}.lobby-card:hover .lobby-card-arrow{opacity:1;transform:translate(0)}.lobby-card-join{cursor:default}.lobby-card-join:hover{transform:none}.lobby-join-row{display:flex;gap:8px;margin-top:10px}.lobby-room-input{flex:1;padding:10px 14px;font-size:1.1rem;font-weight:700;letter-spacing:4px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0a;color:#fff;text-align:center;text-transform:uppercase;font-family:monospace}.lobby-room-input:focus{outline:none;border-color:#00aaff4d;box-shadow:0 0 16px #00aaff14}.lobby-join-btn{padding:10px 20px;font-size:.9rem;font-weight:700;border:1px solid rgba(0,170,255,.3);border-radius:8px;background:#00aaff1a;color:#0af;cursor:pointer;transition:all .2s;white-space:nowrap}.lobby-join-btn:hover:not(:disabled){background:#0af3;box-shadow:0 4px 16px #00aaff26}.lobby-join-btn:disabled{opacity:.3;cursor:not-allowed}.lobby-or{display:flex;align-items:center;gap:16px;padding:4px 0}.lobby-or:before,.lobby-or:after{content:"";flex:1;height:1px;background:#ffffff0f}.lobby-or span{color:#ffffff26;font-size:.8rem;font-weight:600;letter-spacing:.1em}@media(max-width:768px){.lobby-hero h1{font-size:1.6rem}.lobby-card{padding:14px 16px}.lobby-card-icon{width:40px;height:40px}.lobby-card-icon svg{width:24px;height:24px}}.online-lobby{min-height:100vh;padding:24px;max-width:600px;margin:0 auto;display:flex;flex-direction:column}.lobby-back{background:none;border:none;color:#ffffff4d;font-size:.85rem;font-weight:600;cursor:pointer;padding:0;margin-bottom:24px;transition:all .2s;text-align:left}.lobby-back:hover{color:#fff9;transform:translate(-4px)}.online-lobby-header{text-align:center;margin-bottom:28px}.online-lobby-header h1{font-size:2rem;font-weight:800;color:#fff;letter-spacing:.1em;margin:0 0 16px;text-shadow:0 0 20px rgba(0,255,170,.3)}.online-room-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .2s}.online-room-badge:hover{background:#ffffff0f;border-color:#0fa3}.room-copy{font-size:.7rem;font-weight:600;color:#ffffff40;padding:2px 8px;background:#ffffff0d;border-radius:4px;transition:all .2s}.online-room-badge:hover .room-copy{color:#0fa;background:#00ffaa1a}.room-label{font-size:.75rem;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.08em}.room-code{font-size:1.3rem;font-weight:700;color:#0fa;font-family:monospace;letter-spacing:4px}.online-players-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px}.online-player-tag{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#fff9;font-size:.9rem;font-weight:600}.online-player-tag.ready{border-color:#0fa3;color:#ffffffe6}.player-dot{width:8px;height:8px;border-radius:50%;background:#ffffff26}.online-player-tag.ready .player-dot{background:#0fa;box-shadow:0 0 8px #00ffaa80}.online-player-tag.selecting .player-dot{background:#fbbf24;animation:dotPulse 1.5s ease-in-out infinite}@keyframes dotPulse{0%,to{opacity:1}50%{opacity:.3}}.player-ready-check{color:#0fa;font-weight:700}.online-vs{color:#ffffff26;font-weight:800;font-size:1rem;letter-spacing:.1em}.online-waiting{text-align:center;padding:48px 20px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.waiting-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.06);border-top-color:#0fa;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.online-waiting p{color:#ffffff80;font-size:1rem;margin:0;font-weight:600}.waiting-hint{color:#fff3!important;font-size:.85rem!important;font-weight:400!important}.online-deck-select{text-align:center}.online-deck-select h2{font-size:1.1rem;color:#ffffff80;font-weight:600;margin:0 0 20px}.online-deck-options{display:flex;gap:12px;justify-content:center}.online-deck-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;border-radius:14px;border:2px solid transparent;background:#ffffff08;cursor:pointer;transition:all .25s;flex:1;max-width:160px}.online-deck-btn:hover:not(:disabled){background:#ffffff0f;transform:translateY(-3px)}.online-deck-btn.selected{background:#ffffff0d;box-shadow:0 0 30px currentColor}.online-deck-btn:disabled:not(.selected){opacity:.3;cursor:not-allowed}.online-deck-name{font-size:.8rem;font-weight:600;color:#fff9}.waiting-room{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;min-height:300px;gap:20px;color:#ffffff80}.room-id-badge{padding:6px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);border-radius:6px;color:#0fa;font-family:monospace;font-size:.85rem;font-weight:600;letter-spacing:.05em}@media(max-width:768px){.online-deck-options{flex-direction:column;align-items:center}.online-deck-btn{max-width:100%;flex-direction:row;padding:14px 20px}.online-deck-btn svg{width:48px;height:48px}.online-players-bar{flex-direction:column;gap:8px}.online-vs{font-size:.8rem}}.shop{min-height:100vh;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c);padding:20px}.shop-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;max-width:1200px;margin-left:auto;margin-right:auto}.shop-header h1{color:#fff;font-size:2.2rem;font-weight:700;letter-spacing:.02em}.shop-tabs{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap;max-width:1200px;margin-left:auto;margin-right:auto}.shop-tab{padding:10px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#ffffff80;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.shop-tab:hover{background:#ffffff0f;color:#fffc}.shop-tab.active{background:#00ffaa1a;color:#0fa;border-color:#00ffaa4d}.theme-live-preview{max-width:1200px;margin:0 auto 24px;padding:16px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;display:flex;align-items:center;gap:20px}.preview-label{font-size:.8rem;font-weight:600;color:#ffffff59;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.preview-cardback{width:40px;height:56px;border-radius:6px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px #0000004d;transition:all .3s}.preview-sample-cards{display:flex;gap:8px;flex:1;justify-content:center}.preview-sample-card{width:64px;height:88px;border:2px solid;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:4px;transition:all .3s;position:relative;overflow:hidden}.preview-sample-art{position:absolute;top:0;left:0;right:0;height:55px}.preview-sample-art .card-art{height:100%;margin:0}.preview-sample-art .card-art svg{width:100%;height:100%}.preview-sample-type{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;position:relative;z-index:1}.shop-item-owned .shop-item-preview:after{content:"OWNED";position:absolute;top:10px;right:10px;padding:3px 8px;background:#00ffaa26;border:1px solid rgba(0,255,170,.3);border-radius:4px;color:#0fa;font-size:.65rem;font-weight:700;letter-spacing:.1em;z-index:2}.shop-item-owned .price{text-decoration:line-through;opacity:.4}.shop-item-active{border-color:#00ffaa4d!important;box-shadow:0 0 20px #00ffaa1a}.shop-item-active .shop-item-preview:after{content:"EQUIPPED"!important;background:#00ffaa40!important}.shop-content{min-height:500px;max-width:1200px;margin:0 auto}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.shop-item{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:14px;overflow:hidden;transition:all .25s}.shop-item:hover{transform:translateY(-4px);border-color:#ffffff1a;box-shadow:0 8px 30px #0000004d}.shop-item-preview{width:100%;height:180px;display:flex;align-items:center;justify-content:center;position:relative;background:#0003;overflow:hidden}.preview-cards{display:flex;gap:10px}.preview-card{width:60px;height:80px;background:#ffffff0d;border:2px solid rgba(255,255,255,.15);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem}.preview-card-rich{width:80px;height:110px;border:2px solid;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:6px;position:relative;overflow:hidden}.preview-card-art{position:absolute;top:0;left:0;right:0;height:70px}.preview-card-art .card-art{height:100%;margin:0}.preview-card-art .card-art svg{width:100%;height:100%}.preview-card-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;position:relative;z-index:1}.cardback-preview-cards{display:flex;align-items:center;justify-content:center;position:relative;height:120px;width:100%}.cardback-preview-card{width:60px;height:84px;border-radius:8px;border:2px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;position:absolute;transition:all .3s;box-shadow:0 4px 12px #0006}.shop-item:hover .cardback-preview-card{box-shadow:0 6px 20px #00000080}.cardback-preview-pattern{font-size:1.8rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.card-back-preview{font-size:4rem}.playmat-preview{position:relative}.playmat-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#000000b3;color:#fffc;padding:5px 15px;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid rgba(255,255,255,.1)}.effect-preview{background:linear-gradient(135deg,#a855f733,#0af3)}.effect-icon{font-size:5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.shop-item h3{margin:16px 16px 8px;font-size:1.15rem;color:#ffffffe6;font-weight:600}.shop-item p{margin:0 16px 16px;color:#ffffff59;font-size:.85rem;line-height:1.5;min-height:40px}.shop-item-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-top:1px solid rgba(255,255,255,.04)}.price{font-size:1.1rem;font-weight:700;color:#0fa;font-family:monospace}.purchase-btn,.equip-btn,.equipped-btn{padding:8px 18px;border:1px solid;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.85rem;background:transparent}.purchase-btn{color:#0af;border-color:#00aaff4d;background:#00aaff1a}.purchase-btn:hover{background:#0af3;transform:scale(1.05)}.equip-btn{color:#0fa;border-color:#00ffaa4d;background:#00ffaa1a}.equip-btn:hover{background:#0fa3;transform:scale(1.05)}.equipped-btn{color:#ffffff4d;border-color:#ffffff1a;cursor:not-allowed;opacity:.5}.login-to-buy-btn{padding:8px 18px;border:1px solid rgba(251,191,36,.3);border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.8rem;background:#fbbf241a;color:#fbbf24}.login-to-buy-btn:hover{background:#fbbf2433;transform:scale(1.05)}.back-btn{padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff9;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.back-btn:hover{background:#ffffff14;color:#fff}@media(max-width:768px){.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.shop-header h1{font-size:1.8rem}.shop-item-preview{height:150px}}.profile-page{min-height:100vh;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c);padding:2rem}.profile-container{max-width:900px;margin:0 auto;color:#ffffffd9}.back-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:#ffffff80;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;margin-bottom:2rem;transition:all .2s;letter-spacing:.02em}.back-button:hover{background:#ffffff14;color:#fffc;transform:translate(-4px)}.profile-header{text-align:center;margin-bottom:3rem;padding:2.5rem;background:#ffffff08;border-radius:16px;border:1px solid rgba(255,255,255,.06)}.profile-avatar{width:100px;height:100px;border-radius:50%;border:3px solid rgba(0,255,170,.3);margin-bottom:1rem;box-shadow:0 0 30px #00ffaa26}.profile-header h1{font-size:1.8rem;margin:.5rem 0;color:#fff;font-weight:700}.profile-email{color:#ffffff59;margin:.5rem 0;font-size:.9rem}.profile-date{color:#ffffff40;font-size:.85rem;margin-top:.5rem;font-family:monospace}.profile-stats{margin-bottom:3rem}.profile-stats h2{font-size:1.3rem;margin-bottom:1.5rem;color:#fff9;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s}.stat-card:hover{background:#ffffff0d;transform:translateY(-2px)}.stat-card.wins{border-color:#0fa3}.stat-card.losses{border-color:#ff3c3c33}.stat-card.draws{border-color:#ffc80033}.stat-card.winrate{border-color:#0af3}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#fff}.stat-card.wins .stat-value{color:#0fa}.stat-card.losses .stat-value{color:#f55}.stat-card.draws .stat-value{color:#ffc800}.stat-card.winrate .stat-value{color:#0af}.stat-label{color:#ffffff59;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.purchase-history{margin-bottom:3rem}.purchase-history h2{font-size:1.3rem;margin-bottom:1.5rem;color:#fff9;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.purchase-list{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.purchase-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.04);transition:background .2s}.purchase-item:last-child{border-bottom:none}.purchase-item:hover{background:#ffffff08}.purchase-info{display:flex;flex-direction:column;gap:.25rem}.purchase-name{font-weight:600;color:#ffffffe6}.purchase-type{font-size:.8rem;color:#ffffff4d;text-transform:capitalize}.purchase-details{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.purchase-price{color:#0fa;font-weight:600;font-family:monospace}.purchase-date{font-size:.8rem;color:#ffffff40;font-family:monospace}.equip-section{margin-bottom:3rem}.equip-section>h2{font-size:1.3rem;margin-bottom:1.5rem;color:#fff9;letter-spacing:.1em;text-transform:uppercase;font-weight:600}.equip-category{margin-bottom:20px}.equip-category h3{font-size:.8rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin:0 0 10px}.equip-items{display:flex;flex-wrap:wrap;gap:8px}.equip-item{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:pointer;transition:all .2s;color:#ffffff80;font-size:.85rem}.equip-item:hover{background:#ffffff0f;border-color:#ffffff1a;color:#fffc}.equip-item.equipped{border-color:#00ffaa4d;background:#00ffaa0d;color:#ffffffe6}.equip-item-colors{display:flex;gap:3px}.equip-color-dot{width:8px;height:8px;border-radius:50%}.equip-item-preview{width:24px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;flex-shrink:0;border:1px solid rgba(255,255,255,.1)}.equip-item-name{font-weight:600}.equip-check{color:#0fa;font-weight:700;font-size:.9rem;margin-left:auto}.no-purchases{text-align:center;padding:2rem;color:#fff3;font-size:.9rem;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:12px}.purchase-receipt{font-size:.7rem;color:#ffffff26;font-family:monospace;letter-spacing:.02em}.profile-actions{text-align:center}.sign-out-button{background:#ff3c3c1a;border:1px solid rgba(255,60,60,.2);color:#ff6464cc;padding:.75rem 2rem;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.sign-out-button:hover{background:#ff3c3c33}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#ffffff4d;font-family:monospace}@media(max-width:768px){.profile-page{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.profile-header h1{font-size:1.5rem}.profile-avatar{width:80px;height:80px}.purchase-item{flex-direction:column;align-items:flex-start;gap:.5rem}.purchase-details{align-items:flex-start}}.app{min-height:100vh;background:linear-gradient(180deg,#05080f,#0a1628 40%,#0d1f3c);position:relative}.app:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 50%,rgba(0,255,136,.04) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,170,255,.04) 0%,transparent 50%);pointer-events:none;z-index:0}.app-footer{position:fixed;bottom:0;left:0;right:0;padding:8px 20px;text-align:center;background:#05080fe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.05);z-index:100}.app-footer p{margin:0;color:#ffffff40;font-size:.75rem;letter-spacing:.05em}
