:root{--bg-deep:#08090f;--bg-surface:#0f111c;--bg-surface-elevated:#161a29;--bg-glass:#121624bf;--bg-glass-hover:#1c2238d9;--border-subtle:#ffffff14;--border-glow:#00f3ff59;--neon-cyan:#00f3ff;--neon-cyan-dim:#00f3ff33;--neon-pink:#f05;--neon-pink-dim:#f053;--neon-gold:#ffb700;--neon-gold-dim:#ffb70040;--neon-purple:#9d4edd;--neon-purple-dim:#9d4edd40;--neon-emerald:#10b981;--rarity-common:#94a3b8;--rarity-rare:#38bdf8;--rarity-epic:#c084fc;--rarity-legendary:#fbbf24;--font-heading:"Cinzel", serif, system-ui;--font-body:"Outfit", sans-serif, system-ui;--font-mono:"JetBrains Mono", monospace;--shadow-sm:0 4px 12px #0006;--shadow-lg:0 12px 32px #000000b3;--glow-cyan:0 0 20px #00f3ff66;--glow-pink:0 0 20px #ff005573;--glow-gold:0 0 25px #ffb70080;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-deep);color:#f1f5f9;width:100%;height:100%;font-family:var(--font-body);-webkit-user-select:none;user-select:none;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 15% 20%,#00f3ff14 0%,#0000 40%),radial-gradient(circle at 85% 80%,#ff005514 0%,#0000 45%),radial-gradient(circle,#9d4edd0f 0%,#0000 55%),linear-gradient(#07080e 0%,#0d101d 100%);position:fixed;inset:0}h1,h2,h3,.font-heading{font-family:var(--font-heading);letter-spacing:.05em;text-transform:uppercase}.font-mono{font-family:var(--font-mono)}.btn{font-family:var(--font-body);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface-elevated);color:#f8fafc;cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn:hover{border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 6px 16px #00000080}.btn:active{transform:translateY(0)}.btn-primary{border-color:var(--neon-cyan);color:#fff;background:linear-gradient(135deg,#00b4d8 0%,#0077b6 100%);box-shadow:0 0 16px #00b4d859}.btn-primary:hover{background:linear-gradient(135deg,#00f3ff 0%,#0096c7 100%);box-shadow:0 0 24px #00f3ff8c}.btn-danger{border-color:var(--neon-pink);background:linear-gradient(135deg,#e63946 0%,#b5179e 100%);box-shadow:0 0 16px #e6394659}.btn-danger:hover{background:linear-gradient(135deg,#f05 0%,#7209b7 100%);box-shadow:0 0 24px #ff00558c}.btn-gold{border-color:var(--neon-gold);color:#12100e;background:linear-gradient(135deg,#d4a373 0%,#b07d62 100%);font-weight:700;box-shadow:0 0 16px #ffb70059}.btn-gold:hover{color:#000;background:linear-gradient(135deg,#ffb700 0%,#f77f00 100%);box-shadow:0 0 24px #ffb70099}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:#ffffff14}button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none;box-shadow:none!important;transform:none!important}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.tcg-card{border-radius:var(--radius-md);width:140px;height:200px;box-shadow:var(--shadow-sm);cursor:pointer;background:#111422;border:2px solid #2a3048;flex-direction:column;flex-shrink:0;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.tcg-card:hover{z-index:20;transform:translateY(-8px)scale(1.03);box-shadow:0 12px 28px #000000b3}.tcg-card.size-sm{width:104px;height:148px}.tcg-card.size-sm .card-badge-cost{width:22px;height:22px;font-size:.75rem;top:4px;left:4px}.tcg-card.size-sm .card-badge-damage{padding:1px 5px;font-size:.65rem;top:4px;right:4px}.tcg-card.size-sm .card-title{font-size:.68rem}.tcg-card.size-sm .card-desc{display:none}.tcg-card.size-sm .card-condition-tag{padding:1px 4px;font-size:.55rem}.tcg-card.size-md{width:124px;height:175px}.tcg-card.size-lg{width:155px;height:220px}.tcg-card.rarity-common{border-color:#475569}.tcg-card.rarity-rare{border-color:var(--rarity-rare);box-shadow:0 0 12px #38bdf840}.tcg-card.rarity-epic{border-color:var(--rarity-epic);box-shadow:0 0 14px #c084fc4d}.tcg-card.rarity-legendary{border-color:var(--rarity-legendary);box-shadow:0 0 18px #fbbf2466}.card-badge-cost{color:#fff;width:28px;height:28px;font-family:var(--font-heading);z-index:10;background:radial-gradient(circle,#00f3ff 0%,#0077b6 100%);border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:800;display:flex;position:absolute;top:6px;left:6px;box-shadow:0 0 8px #00f3ffb3}.card-badge-damage{color:#fff;font-family:var(--font-mono);z-index:10;background:radial-gradient(circle,#f05 0%,#903 100%);border:1px solid #f9b;border-radius:12px;align-items:center;gap:3px;padding:2px 7px;font-size:.75rem;font-weight:800;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 0 8px #ff0055b3}.tcg-card.spell-card{border-color:var(--neon-purple);background:linear-gradient(160deg,#1f1235 0%,#0e0717 100%)}.tcg-card.spell-card .card-badge-cost{background:radial-gradient(circle,#b5179e 0%,#7209b7 100%);box-shadow:0 0 8px #b5179ecc}.tcg-card.franchise-card{border-color:var(--neon-gold);background:linear-gradient(160deg,#221c0e 0%,#0c0f1c 100%);box-shadow:0 0 14px #ffb70059}.tcg-card.franchise-card .card-badge-cost{color:#000;background:radial-gradient(circle,#ffb700 0%,#b07d62 100%);box-shadow:0 0 10px #ffb700cc}.tcg-card.combo-card{background:linear-gradient(160deg,#1c112d 0%,#0c0f1c 100%);border-color:#c084fc;box-shadow:0 0 12px #c084fc4d}.tcg-card.combo-card .card-badge-cost{color:#fff;background:radial-gradient(circle,#c084fc 0%,#7e22ce 100%);box-shadow:0 0 8px #c084fccc}.tcg-card.year-card{background:linear-gradient(160deg,#251b0f 0%,#0c0f1c 100%);border-color:#fbbf24;box-shadow:0 0 12px #fbbf244d}.tcg-card.year-card .card-badge-cost{color:#000;background:radial-gradient(circle,#fbbf24 0%,#b45309 100%);box-shadow:0 0 8px #fbbf24cc}.tcg-card.genre-tag-card{border-color:var(--neon-cyan);background:linear-gradient(160deg,#0e1e2c 0%,#0c0f1c 100%);box-shadow:0 0 12px #00f3ff4d}.tcg-card.empowered{animation:1.5s infinite alternate pulse-empowered;border-color:var(--neon-cyan)!important}@keyframes pulse-empowered{0%{box-shadow:0 0 8px #00f3ff66}to{box-shadow:0 0 24px #00f3fff2}}.card-badge-damage.empowered-badge{background:radial-gradient(circle,#00f3ff 0%,#0077b6 100%);border-color:#fff;box-shadow:0 0 10px #00f3ffcc}.arena-tag-banner{border:1px solid var(--neon-cyan);color:var(--neon-cyan);font-family:var(--font-heading);letter-spacing:.05em;background:#00f3ff1f;border-radius:20px;align-items:center;gap:8px;padding:4px 14px;font-size:.8rem;font-weight:800;animation:2s infinite alternate pulse-arena-tag;display:flex;box-shadow:0 0 12px #00f3ff59}@keyframes pulse-arena-tag{0%{transform:scale(1);box-shadow:0 0 8px #00f3ff4d}to{transform:scale(1.03);box-shadow:0 0 18px #00f3ffb3}}.card-artwork{background-color:#1a1e30;background-position:50%;background-size:cover;border-bottom:1px solid #ffffff1a;width:100%;height:110px;position:relative}.card-artwork:after{content:"";background:linear-gradient(#0000 40%,#111422f2 100%);position:absolute;inset:0}.card-content{background:#111422;flex-direction:column;flex:1;justify-content:space-between;padding:8px;display:flex}.card-title{color:#f8fafc;text-shadow:0 1px 3px #000c;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;line-height:1.2;overflow:hidden}.card-desc{color:#94a3b8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.65rem;line-height:1.25;display:-webkit-box;overflow:hidden}.card-condition-tag{color:var(--neon-cyan);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;background:#00f3ff26;border:1px solid #00f3ff4d;border-radius:4px;max-width:100%;padding:2px 6px;font-size:.6rem;font-weight:600;display:inline-block;overflow:hidden}.tcg-card.locked{filter:grayscale(.4)}.tcg-card.locked:before{content:"";border:2px solid var(--neon-gold);border-radius:var(--radius-md);z-index:15;pointer-events:none;background:#ffb70026;animation:1.8s infinite alternate pulse-border;position:absolute;inset:0}.lock-badge{border:1px solid var(--neon-gold);color:var(--neon-gold);z-index:20;white-space:nowrap;background:#000000d9;border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:.65rem;font-weight:700;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #ffb70099}@keyframes pulse-border{0%{box-shadow:0 0 6px #ffb7004d}to{box-shadow:0 0 16px #ffb700cc}}.arena-layout{box-sizing:border-box;flex-direction:column;justify-content:space-between;gap:6px;max-width:1440px;height:calc(100vh - 54px);max-height:calc(100vh - 54px);margin:0 auto;padding:6px 16px;display:flex;overflow-y:auto}.player-header{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#12162499;flex-shrink:0;justify-content:space-between;align-items:center;padding:5px 14px;display:flex}.avatar-frame{border:2px solid var(--neon-cyan);border-radius:50%;width:38px;height:38px;overflow:hidden;box-shadow:0 0 10px #00f3ff66}.avatar-frame img{object-fit:cover;width:100%;height:100%}.hp-container{flex-direction:column;gap:3px;width:200px;display:flex}.hp-meta{justify-content:space-between;font-size:.75rem;font-weight:700;display:flex}.hp-bar-track{background:#1e2235;border:1px solid #ffffff1a;border-radius:6px;width:100%;height:12px;position:relative;overflow:hidden}.hp-bar-fill{background:linear-gradient(90deg,#f05 0%,#ff5c8a 100%);border-radius:6px;height:100%;transition:width .4s;box-shadow:0 0 10px #f059}.mana-crystals{align-items:center;gap:3px;display:flex}.mana-crystal{background:#1c2236;border:1px solid #334155;border-radius:3px;width:12px;height:16px;transition:all .2s;position:relative}.mana-crystal.filled{background:linear-gradient(#00f3ff 0%,#0077b6 100%);border-color:#fff;transform:scale(1.08);box-shadow:0 0 8px #00f3ffcc}.board-slots{flex-shrink:0;justify-content:center;align-items:center;gap:12px;min-height:154px;padding:2px 0;display:flex}.board-slot{border-radius:var(--radius-md);background:#0f121e66;border:2px dashed #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:108px;height:152px;transition:all .2s;display:flex;position:relative}.board-slot.empty:hover{border-color:var(--neon-cyan);background:#00f3ff0d}.board-slot.has-card{background:0 0;border:none}.board-slot.selectable{border-color:var(--neon-gold);cursor:pointer;animation:1.2s infinite alternate pulse-selectable;box-shadow:0 0 12px #ffb70080}@keyframes pulse-selectable{0%{transform:scale(1)}to{transform:scale(1.04)}}.battlefield-center{border-radius:var(--radius-md);background:#0e111cb3;border:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 18px;display:flex}.turn-badge{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;border-radius:20px;padding:4px 14px;font-size:.85rem;font-weight:800}.turn-badge.your-turn{color:var(--neon-cyan);border:1px solid var(--neon-cyan);background:linear-gradient(90deg,#00f3ff33 0%,#00b4d866 100%);animation:1.8s infinite pulse-turn;box-shadow:0 0 14px #00f3ff80}.turn-badge.opponent-turn{color:#f69;background:#ff00551f;border:1px solid #ff00554d}@keyframes pulse-turn{0%,to{box-shadow:0 0 10px #00f3ff66}50%{box-shadow:0 0 20px #00f3ffcc}}.hand-tray{flex-shrink:0;justify-content:center;align-items:flex-end;gap:10px;max-width:100%;min-height:168px;padding:4px 10px 8px;display:flex;overflow-x:auto}.hand-tray .tcg-card{width:118px;height:165px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s}.hand-tray .tcg-card:hover{z-index:30;transform:translateY(-12px)scale(1.05)}.opponent-hand{justify-content:center;gap:-15px;display:flex}.card-back{width:45px;height:65px;box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#1e1b4b 0%,#0f172a 100%);border:1px solid #6366f166;border-radius:4px;justify-content:center;align-items:center;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(16px);z-index:9999;box-sizing:border-box;background:#04060ce0;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;animation:.15s ease-out modalFade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.trivia-modal-content{box-sizing:border-box;border:2px solid var(--neon-cyan);border-radius:var(--radius-xl);background:linear-gradient(170deg,#141728 0%,#0d0f1b 100%);flex-direction:column;width:min(94vw,560px);max-width:560px;margin:auto;animation:.18s cubic-bezier(.16,1,.3,1) modalPop;display:flex;position:relative;overflow:visible;box-shadow:0 0 40px #00f3ff4d,0 20px 50px #000c}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.trivia-header{background:#00f3ff14;border-bottom:1px solid #00f3ff33;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.trivia-timer-bar{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);background:#1e2538;width:100%;height:4px;overflow:hidden}.trivia-timer-fill{background:linear-gradient(90deg, var(--neon-cyan) 0%, var(--neon-pink) 100%);height:100%;transition:width 1s linear}.audio-visualizer{justify-content:center;align-items:center;gap:5px;height:40px;padding:8px;display:flex}.wave-bar{background:var(--neon-cyan);border-radius:3px;width:5px;height:100%;animation:1s ease-in-out infinite wave}.wave-bar:nth-child(2){animation-delay:.15s}.wave-bar:nth-child(3){animation-delay:.3s}.wave-bar:nth-child(4){animation-delay:.45s}.wave-bar:nth-child(5){animation-delay:.2s}.wave-bar:nth-child(6){animation-delay:.35s}@keyframes wave{0%,to{opacity:.4;height:20%}50%{opacity:1;height:100%;box-shadow:0 0 10px var(--neon-cyan)}}.trivia-options-grid{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;width:100%;padding:14px 18px 20px;display:grid}.trivia-option-btn{box-sizing:border-box;border-radius:var(--radius-md);color:#f1f5f9;width:100%;min-width:0;font-family:var(--font-body);cursor:pointer;text-align:left;background:#181d30;border:1px solid #ffffff1f;align-items:center;gap:10px;min-height:50px;padding:10px 12px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.trivia-option-btn:hover{border-color:var(--neon-cyan);background:#222944;transform:translateY(-2px);box-shadow:0 4px 16px #00f3ff40}.deckbuilder-layout{grid-template-columns:1fr 340px;gap:20px;max-width:1600px;height:100vh;margin:0 auto;padding:20px;display:grid}.card-pool-scroll{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;max-height:calc(100vh - 180px);padding:16px;display:grid;overflow-y:auto}.deck-sidebar{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);flex-direction:column;height:calc(100vh - 40px);padding:16px;display:flex}.deck-list-scroll{flex-direction:column;flex:1;gap:6px;margin-top:12px;display:flex;overflow-y:auto}.deck-item-row{border-radius:var(--radius-sm);cursor:pointer;background:#151928;border:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:6px 10px;transition:all .15s;display:flex}.deck-item-row:hover{border-color:var(--neon-pink);background:#ff005526}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#2a334d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--neon-cyan)}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.trivia-typing-container{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;padding:10px 20px 20px;display:flex;position:relative}.trivia-input-wrapper{align-items:stretch;gap:8px;width:100%;display:flex;position:relative}.trivia-input-field-container{flex:1;display:flex;position:relative}.trivia-text-input{border-radius:var(--radius-md);color:#fff;width:100%;font-size:.95rem;font-family:var(--font-body);background:#101424;border:1.5px solid #00f3ff66;outline:none;padding:12px 14px;transition:all .2s;box-shadow:inset 0 0 15px #00f3ff14}.trivia-text-input:focus{border-color:var(--neon-cyan);box-shadow:0 0 20px #00f3ff59}.trivia-dropdown-list{border:1.5px solid var(--neon-cyan);border-radius:var(--radius-md);z-index:1000;scrollbar-width:thin;scrollbar-color:var(--neon-cyan) #0d1122;background:#0d1122;max-height:250px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #000000f2,0 0 20px #00f3ff59}.trivia-dropdown-item{border-radius:var(--radius-sm);color:#e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-start;gap:8px;min-height:38px;padding:8px 12px;font-size:.88rem;font-weight:500;transition:all .12s;display:flex}.trivia-dropdown-item:hover,.trivia-dropdown-item.active{color:#fff;border-left:3px solid var(--neon-cyan);background:#00f3ff38}.trivia-dropdown-header{letter-spacing:.05em;color:var(--neon-cyan);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 10px;font-size:.68rem;font-weight:700;display:flex}.trivia-dropdown-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.65rem;font-weight:700}.trivia-dropdown-badge.anime{color:var(--neon-cyan);background:#00f3ff2e;border:1px solid #00f3ff66}.trivia-dropdown-badge.song{color:#f472b6;background:#ec48992e;border:1px solid #ec489966}.trivia-dropdown-badge.artist{color:#fde047;background:#eab3082e;border:1px solid #eab30866}.trivia-dropdown-badge.db{color:#94a3b8;background:#ffffff1a;border:1px solid #ffffff26}.trivia-dropdown-empty{color:#94a3b8;text-align:center;padding:12px 14px;font-size:.82rem;font-style:italic;list-style:none}
