:root{--transition-speed:0.3s}[data-theme=midnight-red]{--bg-main:#1a1a1a;--bg-image:radial-gradient(circle at 50% 30%,#3f0a0a 0%,#1a1a1a 70%);--bg-size:cover;--bg-panel:#262626;--bg-card:#333333;--text-main:#ffffff;--text-sub:#a3a3a3;--accent-color:#ef4444;--accent-glow:rgba(239,68,68,0.5);--line-base:#525252;--line-active:#ef4444;--border-color:#404040;--pattern-color:#262626;--btn-hover:#404040;--badge-bg:#f59e0b;--badge-text:#000000}[data-theme=paper-light]{--bg-main:#ffffff;--bg-image:none;--bg-size:auto;--bg-panel:#f8fafc;--bg-card:#ffffff;--text-main:#0f172a;--text-sub:#64748b;--accent-color:#2563eb;--accent-glow:rgba(37,99,235,0.2);--line-base:#94a3b8;--line-active:#2563eb;--border-color:#e2e8f0;--pattern-color:#ffffff;--btn-hover:#f1f5f9;--badge-bg:#f97316;--badge-text:#ffffff}[data-theme=deep-ocean]{--bg-main:#0f172a;--bg-image:linear-gradient(180deg,#0f172a 0%,#0c4a6e);--bg-size:cover;--bg-panel:#1e293b;--bg-card:#334155;--text-main:#f1f5f9;--text-sub:#94a3b8;--accent-color:#06b6d4;--accent-glow:rgba(6,182,212,0.5);--line-base:#475569;--line-active:#06b6d4;--border-color:#475569;--pattern-color:#334155;--btn-hover:#334155;--badge-bg:#fbbf24;--badge-text:#000000}[data-theme=cyber-neon]{--bg-main:#090014;--bg-image:radial-gradient(circle at top right,#2e1065 0%,#090014 60%);--bg-size:cover;--bg-panel:#180024;--bg-card:#2a0a36;--text-main:#fae8ff;--text-sub:#d8b4fe;--accent-color:#d946ef;--accent-glow:rgba(217,70,239,0.6);--line-base:#4a044e;--line-active:#d946ef;--border-color:#701a75;--pattern-color:#4a044e;--btn-hover:#4a044e;--badge-bg:#22d3ee;--badge-text:#000000}[data-theme=emerald-matrix]{--bg-main:#020402;--bg-image:linear-gradient(0deg,rgba(0,20,0,0.8),#000000);--bg-size:cover;--bg-panel:#001e10;--bg-card:#064e3b;--text-main:#ecfdf5;--text-sub:#34d399;--accent-color:#00ff9d;--accent-glow:rgba(0,255,157,0.5);--line-base:#115e59;--line-active:#00ff9d;--border-color:#047857;--pattern-color:#065f46;--btn-hover:#065f46;--badge-bg:#e879f9;--badge-text:#000000}[data-theme=simple-red]{--bg-main:#ffffff;--bg-image:none;--bg-size:auto;--bg-panel:#f5f5f5;--bg-card:#ffffff;--text-main:#000000;--text-sub:#404040;--accent-color:#dc2626;--accent-glow:transparent;--line-base:#000000;--line-active:#dc2626;--border-color:#000000;--pattern-color:#ffffff;--btn-hover:#e5e5e5;--badge-bg:#fbbf24;--badge-text:#000000}.tournament-main-view{flex:1;width:100%;height:100%;position:relative;overflow:hidden;background-color:var(--bg-main);background-image:var(--bg-image);background-size:var(--bg-size);background-repeat:no-repeat;transition:background-color var(--transition-speed),background-image var(--transition-speed);touch-action:auto!important}.tournament-main-view.grab{cursor:grab}.tournament-main-view.grabbing{cursor:grabbing}.reset-btn{background:rgba(255,255,255,.1);color:var(--text-main);border-color:var(--border-color)}.reset-btn:hover{background:rgba(255,255,255,.2)}.champion-card{position:absolute;width:280px;height:160px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:30;box-shadow:0 20px 50px rgba(0,0,0,.5);transform:translate(-50%,-100%);transition:all .3s;overflow:hidden}.champion-card.has-image{width:320px;flex-direction:row;justify-content:flex-start;align-items:stretch;padding:0}.champion-card.has-image.team-mode{border:0}.champion-image-container{width:40%;position:relative;overflow:hidden;z-index:0;border-right:1px solid rgba(255,255,255,.1)}.champion-card.team-mode .champion-image-container{width:100%;height:100%;position:absolute;top:0;left:0;border-right:none}.champion-image-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0,rgba(0,0,0,.3) 50%,transparent);z-index:10}.champion-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px;position:relative;z-index:20}.champion-card.team-mode .champion-content{justify-content:flex-end;width:100%;height:100%;padding-bottom:20px}.champion-card.has-image.team-mode .champ-name{color:#ffffff;text-shadow:0 2px 4px rgba(0,0,0,.8)}.champion-card.has-image.team-mode .champ-label{background:rgba(0,0,0,.6);border-color:rgba(255,255,255,.4);color:#fff}.champion-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,var(--accent-color),transparent,var(--accent-color));z-index:-1;opacity:0;transition:opacity .3s}.champion-card.active{background:var(--bg-card);border-color:transparent;box-shadow:0 0 0 1px var(--accent-color),0 20px 60px -10px var(--accent-glow)}.champion-card.active:before{opacity:.5}.champ-label{font-size:10px;color:rgba(255,255,255,.9);letter-spacing:3px;margin-bottom:4px;font-weight:900;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.8);background:rgba(0,0,0,.4);padding:4px 10px;border-radius:100px;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(4px);white-space:nowrap}.champion-card.active .champ-label{color:#fff;border-color:var(--accent-color);background:rgba(0,0,0,.6)}.champ-name{font-size:28px;font-weight:900;color:var(--text-main);white-space:normal;overflow:hidden;max-width:100%;text-shadow:0 4px 8px rgba(0,0,0,.8);line-height:1.2;text-align:center;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-bottom:2px}.champion-card.active .champ-name{color:#ffffff;font-size:30px;text-shadow:0 0 20px var(--accent-glow),0 4px 8px rgba(0,0,0,.8)}.bracket-svg{width:100%;height:100%;position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.bracket-svg *{fill:none!important;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}.line-base{stroke:var(--line-base);stroke-width:3}.line-active{stroke:var(--accent-color);stroke-width:5;filter:drop-shadow(0 0 2px var(--accent-glow))}.name-badge{position:absolute;background:var(--bg-card);color:var(--text-main);border:2px solid var(--border-color);border-radius:2px;padding:0 10px;font-weight:700;font-size:13px;line-height:30px;height:32px;width:120px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 4px rgba(0,0,0,.1);z-index:10;transform:translateY(-50%);transition:all .2s}.name-badge:empty:before{content:"-";color:var(--text-sub)}.name-badge.loser{background:var(--bg-main);color:var(--text-sub);border-color:var(--border-color);border-left-color:var(--border-color);opacity:.5}.ext-map-badge{position:absolute;font-size:14px;padding:4px 10px;border-radius:6px;background-color:var(--badge-bg);color:var(--badge-text);font-weight:800;transform:translate(-50%,-50%);white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.6);z-index:25;pointer-events:none;border:2px solid rgba(255,255,255,.4);letter-spacing:.5px}