*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;background:#0a0e27;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:20px}.btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-secondary{color:#fff;background:#ffffff1a;border:1px solid #fff3}.btn-secondary:hover{background:#ffffff26}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.spinner{border:3px solid #ffffff1a;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin:40px auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{background:#0a0e27f2;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:30px}.login-header h1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:32px}.login-header p{color:#fff9;font-size:14px}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#fffc;font-size:14px;font-weight:600}.form-group input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:12px 16px;font-size:14px;transition:all .2s}.form-group input:focus{background:#ffffff14;border-color:#667eea;outline:none}.error-message{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:12px;font-size:14px}.login-form .btn{margin-top:10px;padding:14px;font-size:16px}.char-mgr{position:relative}.char-msg{z-index:50;color:#fff;background:#1f2937;border:1px solid #374151;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;position:fixed;top:1rem;right:1rem}.char-form{margin-bottom:1.5rem;padding:1.2rem}.char-form h3{margin:0 0 1rem}.char-form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;display:grid}.char-form-grid label,.char-img-controls .char-url-input{color:#9ca3af;flex-direction:column;gap:.25rem;font-size:.78rem;display:flex}.char-form input,.char-bulk textarea,.char-list-head select{color:#e5e7eb;background:#0f1115;border:1px solid #374151;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.char-img-row{align-items:center;gap:1rem;margin-top:1rem;display:flex}.char-img-preview{background:#0f1115;border:1px solid #374151;border-radius:8px;flex:none;place-items:center;width:72px;height:72px;display:grid;overflow:hidden}.char-img-preview img{object-fit:cover;width:100%;height:100%}.char-img-preview span{color:#6b7280;font-size:.68rem}.char-img-preview.showcase{width:96px;height:72px}.char-img-preview.showcase video{object-fit:cover;width:100%;height:100%}.char-hint{color:#6b7280;font-size:.68rem}.char-img-controls{flex-direction:column;flex:1;gap:.5rem;display:flex}.char-img-controls .char-url-input{width:100%}.char-form-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.char-bulk{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.char-bulk textarea{width:100%}.char-list-head{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.char-list-head h3{margin:0}.char-empty{color:#9ca3af;text-align:center;padding:2rem}.char-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.8rem;display:grid}.char-cell{background:#1a1d24;border:1px solid #2a2f3a;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.char-cell.inactive{opacity:.4}.char-cell-img{aspect-ratio:1;background:#0f1115;position:relative}.char-cell-img img{object-fit:cover;width:100%;height:100%}.char-ph{color:#4b5563;place-items:center;width:100%;height:100%;font-size:1.6rem;display:grid}.char-cell-img .rarity{color:#fbbf24;background:#000a;border-radius:4px;padding:.05rem .3rem;font-size:.6rem;position:absolute;bottom:3px;right:3px}.rarity.r5,.rarity.r6{color:#fbbf24}.rarity.r4{color:#c084fc}.char-cell-name{text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:.35rem .4rem 0;font-size:.74rem;overflow:hidden}.char-cell-actions{display:flex}.char-cell-actions button{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-top:1px solid #2a2f3a;flex:1;padding:.3rem;font-size:.8rem}.char-cell-actions button:hover{color:#fff;background:#2a2f3a}.admin-panel{background:#0a0e27;min-height:100vh}.admin-header{background:#ffffff08;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 40px;display:flex}.admin-header-left{align-items:center;gap:20px;display:flex}.admin-header h1{font-size:24px}.user-badge{color:#a5b4fc;background:#667eea33;border-radius:20px;padding:6px 12px;font-size:13px}.admin-tabs{background:#ffffff05;border-bottom:1px solid #ffffff1a;gap:0;padding:0 40px;display:flex}.admin-tabs button{color:#fff9;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:16px 24px;font-size:14px;font-weight:600;transition:all .2s}.admin-tabs button:hover{color:#ffffffe6}.admin-tabs button.active{color:#667eea;border-bottom-color:#667eea}.admin-content{padding:40px}.tournaments-section h2,.matches-section h2,.setup-section h2{margin-bottom:24px;font-size:28px}.tournament-card{flex-direction:column;gap:12px;display:flex}.tournament-card h3{font-size:20px}.game-badge{color:#a5b4fc;background:#667eea33;border-radius:12px;width:fit-content;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.matches-list{flex-direction:column;gap:16px;display:flex}.match-card{justify-content:space-between;align-items:center;gap:20px;display:flex}.match-header{flex:1;align-items:center;gap:16px;display:flex}.match-header h3{font-size:18px}.status-badge{text-transform:uppercase;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600}.status-pending{color:#fbbf24;background:#fbbf2433}.status-active{color:#4ade80;background:#22c55e33}.status-completed{color:#94a3b8;background:#94a3b833}.match-actions{gap:12px;display:flex}.setup-section ol{margin-left:24px;line-height:2}.setup-section p{color:#ffffffb3;margin-top:16px}.admin-header-right{align-items:center;gap:.8rem;display:flex}.t-select,.form-row select,.form-row input,.form-card select,.form-card input,.form-card textarea{color:#e5e7eb;background:#0f1115;border:1px solid #374151;border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.t-select{max-width:220px}.admin-toast{z-index:60;color:#fff;background:#111827;border:1px solid #7c5cff;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;position:fixed;top:4.5rem;right:1rem}.muted{color:#9ca3af}.vs{color:#6b7280;font-size:.85em;font-weight:400}.btn-ghost{color:#9ca3af;background:0 0;border:1px solid #374151}.btn-ghost:hover{color:#fff;border-color:#6b7280}.form-card{padding:1.1rem}.form-card h3{margin:0 0 .8rem}.form-card>input,.form-card>select{width:100%;margin-bottom:.6rem}.form-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.6rem;display:flex}.form-row>*{flex:1;min-width:0}.form-row input[type=color]{flex:0 0 44px;height:38px;padding:2px}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:1.2rem;display:grid}.chip-list{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.chip{background:#1a1d24;border:1px solid #374151;border-radius:20px;padding:.2rem .55rem;font-size:.74rem}.rule-builder .rb-steps{flex-direction:column;gap:.45rem;margin:.6rem 0;display:flex}.rb-step{align-items:center;gap:.4rem;display:flex}.rb-step select,.rb-step input{padding:.35rem .4rem}.rb-step input[type=number]{flex:0 0 60px;width:60px}.rb-num{color:#fff;background:#7c5cff;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.72rem;display:grid}.rb-del{color:#ef4444;cursor:pointer;background:0 0;border:none;font-size:.9rem}.rb-del:disabled{opacity:.3;cursor:default}.player-draft{background:linear-gradient(135deg,#0a0e27 0%,#1a1f3a 100%);min-height:100vh;padding:20px}.draft-header{justify-content:space-between;align-items:center;gap:40px;margin-bottom:30px;display:flex}.team-info{background:#ffffff0d;border-left:4px solid;border-radius:12px;flex:1;padding:20px}.team-info h2{margin-bottom:8px;font-size:24px}.team-tag{background:#ffffff1a;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.my-team{border-left-color:#4ade80}.opponent-team{text-align:right;border-left-color:#f87171}.draft-timer{flex-direction:column;align-items:center;gap:16px;display:flex}.timer-circle{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;box-shadow:0 0 40px #667eea80}.timer-value{font-size:48px;font-weight:700}.current-action{flex-direction:column;align-items:center;gap:4px;display:flex}.action-type{color:#667eea;font-size:20px;font-weight:700}.action-team{color:#fff9;font-size:14px}.draft-status{text-align:center;margin-bottom:30px}.turn-indicator{letter-spacing:1px;border-radius:12px;padding:16px 32px;font-size:18px;font-weight:700;display:inline-block}.your-turn{color:#fff;background:linear-gradient(135deg,#4ade80 0%,#22c55e 100%);box-shadow:0 0 30px #4ade8080}.opponent-turn{color:#fff9;background:#ffffff0d}.draft-main{max-width:1400px;margin:0 auto}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;display:grid}.character-card{cursor:pointer;aspect-ratio:3/4;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:12px;transition:all .2s;display:flex;position:relative}.character-card:hover:not(.used){background:#667eea1a;border-color:#667eea}.character-card.selected{background:#4ade801a;border-color:#4ade80;box-shadow:0 0 20px #4ade804d}.character-card.used{opacity:.3;cursor:not-allowed}.character-image{background:#ffffff0d;border-radius:8px;width:80px;height:80px;margin-bottom:8px;overflow:hidden}.character-image img{object-fit:cover;width:100%;height:100%}.character-placeholder{color:#ffffff4d;justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;font-weight:700;display:flex}.character-name{text-align:center;font-size:12px;font-weight:600;line-height:1.2}.used-overlay{color:#ef4444;background:#000c;border-radius:12px;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.action-modal{z-index:100;background:linear-gradient(#0000,#0a0e27fa);padding:40px 20px 20px;position:fixed;bottom:0;left:0;right:0}.modal-content{background:#0a0e27f2;border:2px solid #667eea80;border-radius:16px;align-items:center;gap:30px;max-width:600px;margin:0 auto;padding:30px;display:flex}.selected-character{flex:1;align-items:center;gap:20px;display:flex}.selected-character img{object-fit:cover;border-radius:12px;width:80px;height:80px}.selected-character h3{font-size:24px}.modal-actions{gap:12px;display:flex}@media (width<=768px){.draft-header{flex-direction:column;gap:20px}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.modal-content{flex-direction:column}}.bc{color:#fff;background:radial-gradient(1200px 700px at 50% 0,#1a1430,#0a0a12 70%);flex-direction:column;width:100vw;height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.bc-loading{color:#888;background:#0a0a12;place-items:center;width:100vw;height:100vh;display:grid}.bc-top{grid-template-columns:1fr auto 1fr;align-items:center;height:92px;display:grid}.bc-team{align-items:center;gap:16px;height:100%;padding:0 32px;display:flex}.bc-team-a{justify-content:flex-start}.bc-team-b{justify-content:flex-end}.bc-team-name{letter-spacing:.5px;text-shadow:0 2px 12px #000;font-size:34px;font-weight:800}.bc-logo{object-fit:contain;width:56px;height:56px}.bc-center-top{flex-direction:column;align-items:center;gap:6px;padding:0 28px;display:flex}.bc-timer{background:#0008;border:3px solid #666;border-radius:50%;place-items:center;width:64px;height:64px;font-size:30px;font-weight:800;transition:border-color .3s;display:grid}.bc-phase{letter-spacing:2px;text-transform:uppercase;color:#bbb;font-size:15px;font-weight:700}.bc-bans{justify-content:center;align-items:center;gap:24px;padding:10px 0;display:flex}.bc-bans-group{gap:10px;min-width:300px;display:flex}.bc-bans-group:first-child{justify-content:flex-end}.bc-bans-label{letter-spacing:4px;color:#ff4d6d;background:#ff4d6d11;border:2px solid #ff4d6d44;border-radius:8px;padding:4px 18px;font-size:22px;font-weight:900}.bc-ban{filter:grayscale()brightness(.6);border:1px solid #444;border-radius:8px;width:52px;height:52px;position:relative;overflow:hidden}.bc-ban img{object-fit:cover;width:100%;height:100%}.bc-ban-x{color:#ff2d4d;text-shadow:0 0 6px #000;place-items:center;font-size:30px;font-weight:900;display:grid;position:absolute;inset:0}.bc-body{flex:1;grid-template-columns:320px 1fr 320px;gap:12px;min-height:0;padding:12px 20px 24px;display:grid}.bc-col{flex-direction:column;justify-content:center;gap:10px;display:flex}.bc-pick{background:#12121c;border:2px solid #2a2a3a;border-radius:10px;align-items:center;height:76px;display:flex;overflow:hidden}.bc-col-b .bc-pick{flex-direction:row-reverse}.bc-pick.filled{background:#15151f}.bc-pick-inner{align-items:center;gap:14px;width:100%;height:100%;display:flex}.bc-col-b .bc-pick-inner{text-align:right;flex-direction:row-reverse}.bc-pick-inner img{object-fit:cover;flex:0 0 76px;width:76px;height:76px}.bc-ph{color:#555;flex:0 0 76px;place-items:center;width:76px;height:76px;font-size:30px;display:grid}.bc-pick-name{white-space:nowrap;text-overflow:ellipsis;padding:0 14px;font-size:20px;font-weight:700;overflow:hidden}.bc-slot-empty{letter-spacing:3px;color:#3a3a4a;width:100%;padding:0 18px;font-size:14px}.bc-col-b .bc-slot-empty{text-align:right}.bc-showcase{place-items:center;min-height:0;display:grid;position:relative}.bc-show-card{flex-direction:column;align-items:center;gap:18px;display:flex}.bc-show-img{aspect-ratio:3/4;background:#0008;border-radius:16px;width:min(46vh,420px);position:relative;overflow:hidden}.bc-show-img img,.bc-show-img video{object-fit:cover;width:100%;height:100%}.bc-show-ph{color:#333;place-items:center;width:100%;height:100%;font-size:120px;display:grid}.bc-show-tag{text-align:center;letter-spacing:6px;padding:12px 0;font-size:30px;font-weight:900;position:absolute;bottom:0;left:0;right:0}.bc-show-tag.pick{color:#b6ffce;background:linear-gradient(#0000,#1b8f3aee)}.bc-show-tag.ban{color:#ffc9d1;background:linear-gradient(#0000,#b3142bee)}.bc-show-name{text-shadow:0 2px 16px #000;font-size:40px;font-weight:900}.bc-show-idle{flex-direction:column;align-items:center;gap:16px;display:flex}.bc-vs{color:#2a2a40;letter-spacing:8px;font-size:120px;font-weight:900}.bc-idle-text{color:#777;font-size:22px}@media (aspect-ratio<=16/10){.bc-body{grid-template-columns:240px 1fr 240px}.bc-team-name{font-size:26px}}.overlay-container{background:0 0;gap:12px;padding:20px;display:flex}.overlay-bans{flex-wrap:wrap}.overlay-ban-item{background:#ef44444d;border:3px solid #ef4444;border-radius:12px;width:80px;height:80px;position:relative;overflow:hidden;box-shadow:0 0 20px #ef444480}.overlay-ban-item img{object-fit:cover;opacity:.5;filter:grayscale();width:100%;height:100%}.ban-x{color:#ef4444;text-shadow:0 0 10px #000c;justify-content:center;align-items:center;font-size:60px;font-weight:900;display:flex;position:absolute;inset:0}.ban-x:before{content:"×"}.overlay-picks{flex-wrap:wrap}.overlay-pick-item{background:#000c;border:3px solid #4ade80;border-radius:16px;width:140px;overflow:hidden;box-shadow:0 0 30px #4ade8099}.overlay-pick-item img{object-fit:cover;width:100%;height:180px}.pick-name{text-align:center;color:#fff;text-shadow:0 2px 4px #00000080;background:#4ade8033;padding:12px;font-size:14px;font-weight:700}.overlay-timer{flex-direction:column;align-items:center;gap:16px}.timer-circle{width:120px;height:120px;position:relative}.timer-text{color:#fff;text-shadow:0 0 20px #000c;font-size:48px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timer-phase{color:#fff;text-transform:uppercase;letter-spacing:2px;background:#667eeae6;border-radius:20px;padding:12px 24px;font-size:18px;font-weight:700;box-shadow:0 4px 20px #667eea99}
