:root{font-family:Inter,ui-sans-serif,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#fff;background:#030515;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #16c8ff;--blue-deep: #0754d6;--red: #ff385c;--red-deep: #a4072d;--gold: #ffc72e;--purple: #bb45ff;--panel: rgba(8, 10, 42, .9)}*{box-sizing:border-box}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body,#app{width:100%;height:100%;min-width:280px;min-height:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;margin:0;touch-action:manipulation;background:radial-gradient(circle at 22% 28%,rgba(13,100,255,.2),transparent 28rem),radial-gradient(circle at 78% 40%,rgba(236,15,95,.18),transparent 30rem),linear-gradient(145deg,#020411,#080c28 52%,#050318)}body:before{position:fixed;inset:-20%;z-index:-1;content:"";opacity:.55;background:repeating-linear-gradient(115deg,transparent 0 44px,rgba(78,120,255,.045) 45px,transparent 46px),radial-gradient(circle,rgba(105,225,255,.09) 0 1px,transparent 1.5px);background-size:auto,31px 31px;animation:page-drift 18s linear infinite alternate}button{border:0;font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #fff;outline-offset:2px}.room-shell{position:relative;width:min(100%,560px);height:100vh;height:100dvh;margin:0 auto;overflow:hidden;isolation:isolate;background:linear-gradient(to bottom,#03072038,#030414b3),radial-gradient(ellipse at 50% 36%,rgba(76,36,159,.42),transparent 48%),linear-gradient(155deg,#081a3f,#0c0b32 48%,#220c35);box-shadow:0 0 80px #000000b8}.room-shell:before,.room-shell:after{position:absolute;z-index:-1;width:72%;height:48%;border-radius:50%;content:"";filter:blur(56px)}.room-shell:before{top:16%;left:-42%;background:#0080ff38}.room-shell:after{right:-46%;bottom:12%;background:#ff166630}.room-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none}.room-atmosphere i{position:absolute;width:3px;height:3px;border-radius:50%;background:#7ee9ff;box-shadow:0 0 12px 3px #168aff;animation:room-spark 4.8s ease-in-out infinite}.room-atmosphere i:nth-child(1){top:14%;left:12%}.room-atmosphere i:nth-child(2){top:27%;right:10%;animation-delay:-1.2s;background:#ff7da6;box-shadow:0 0 12px 3px #ff235c}.room-atmosphere i:nth-child(3){top:56%;left:6%;animation-delay:-2.4s}.room-atmosphere i:nth-child(4){right:7%;bottom:24%;animation-delay:-.8s;background:#ffd75c;box-shadow:0 0 11px 3px #ff8a16}.room-atmosphere i:nth-child(5){right:30%;bottom:8%;animation-delay:-3.1s}.room-atmosphere i:nth-child(6){top:8%;left:60%;animation-delay:-1.8s;background:#ef83ff;box-shadow:0 0 12px 3px #bd29ff}.room-header{position:absolute;top:0;right:0;left:0;z-index:20;display:flex;height:clamp(66px,10.5dvh,94px);align-items:center;gap:clamp(6px,1.6vw,10px);padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 7px max(10px,env(safe-area-inset-left));background:linear-gradient(to bottom,rgba(2,5,24,.94),rgba(4,8,35,.54) 72%,transparent)}.room-back,.room-tool{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:#0b0f33a3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.room-back{font-size:35px;font-weight:200;line-height:24px}.room-tool{font-size:13px;font-weight:900}.room-title{display:grid;min-width:88px;gap:2px}.room-title strong{font-size:clamp(12px,3.3vw,16px);line-height:1;white-space:nowrap}.room-title span{color:#d4b9ff;font-size:10px}.room-title span b{color:#73ffb3;font-size:7px}.room-audience{display:flex;min-width:0;flex:1 1 auto;align-items:center;justify-content:center}.avatar,.micro-avatar{display:grid;flex:0 0 auto;place-items:center;border:2px solid #78dcff;border-radius:50%;color:#fff;font-style:normal;font-weight:900;text-shadow:0 1px 3px #000;background:linear-gradient(145deg,#77dfff,#3150ba 55%,#21165b);box-shadow:0 2px 8px #0006}.room-audience .avatar{width:clamp(27px,7.8vw,36px);height:clamp(27px,7.8vw,36px);margin-left:-5px;font-size:9px}.avatar--b{border-color:#ff7b98;background:linear-gradient(145deg,#ff8fa8,#b52572 54%,#43134f)}.avatar--c{border-color:#ffd05d;background:linear-gradient(145deg,#ffd76b,#dd672b 54%,#65202f)}.avatar--d{border-color:#72ffc1;background:linear-gradient(145deg,#72ffc1,#1d9e8f 54%,#123755)}.room-audience em{display:grid;width:clamp(28px,7.8vw,36px);height:clamp(28px,7.8vw,36px);margin-left:4px;place-items:center;border:1px dashed rgba(255,255,255,.4);border-radius:50%;color:#b8bcdc;font-size:10px;font-style:normal;font-weight:900}.room-heat{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:0;color:#ff6185;font-size:10px;font-weight:900}.rune-overlay{position:absolute;top:clamp(70px,11dvh,100px);bottom:max(8px,env(safe-area-inset-bottom));left:50%;z-index:10;display:grid;width:min(96%,540px);max-height:900px;grid-template-rows:clamp(102px,16.4dvh,150px) clamp(34px,4.7dvh,44px) minmax(0,1fr) clamp(40px,5.7dvh,52px) clamp(37px,5.1dvh,46px) clamp(60px,8.5dvh,78px);overflow:hidden;border:1px solid rgba(140,204,255,.46);border-radius:clamp(16px,4vw,25px);background:linear-gradient(160deg,#071137fa,#0f0625fa);box-shadow:0 0 0 2px #8146ff38,0 0 28px #1a83ff5c,0 28px 55px #00000094,inset 0 0 32px #6d3bff24;transform:translate(-50%);transition:opacity .3s ease,transform .3s ease;isolation:isolate}.rune-overlay:before{position:absolute;inset:0;z-index:20;border-radius:inherit;content:"";pointer-events:none;box-shadow:inset 2px 0 #1ad2ff59,inset -2px 0 #ff2d6152}.rune-overlay.is-closed{pointer-events:none;opacity:0;transform:translate(-50%,8%) scale(.92)}.overlay-close{position:absolute;top:6px;right:7px;z-index:40;display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;font-size:17px;background:#02051b9e;cursor:pointer}.battle-header{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 92%,rgba(255,202,48,.15),transparent 30%),linear-gradient(90deg,#061b56,#101147 48%,#480b28);isolation:isolate}.battle-header:after{position:absolute;right:0;bottom:0;left:0;z-index:5;height:2px;content:"";background:linear-gradient(90deg,#25d9ff,#9349ff 48%,#ff3158);box-shadow:0 0 12px #7c42ff}.battle-sky{position:absolute;inset:-30%;z-index:-1;opacity:.65;mix-blend-mode:screen}.battle-sky--blue{right:45%;background:repeating-radial-gradient(ellipse at 20% 50%,transparent 0 22px,rgba(23,188,255,.16) 24px 27px,transparent 29px 44px);animation:sky-pulse 4s ease-in-out infinite}.battle-sky--red{left:45%;background:repeating-radial-gradient(ellipse at 80% 50%,transparent 0 22px,rgba(255,48,91,.14) 24px 27px,transparent 29px 44px);animation:sky-pulse 4s -2s ease-in-out infinite}.hero{position:absolute;z-index:1;top:-23%;height:174%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}.hero--ice{left:-13%;transform:rotate(-2deg)}.hero--fire{right:-13%;transform:rotate(2deg)}.hero.is-entering{animation:hero-entrance .72s cubic-bezier(.16,.82,.29,1.05)}.battle-user-avatar{position:absolute;top:7px;z-index:6;width:clamp(25px,7.5vw,40px);height:clamp(25px,7.5vw,40px);border:2px solid #fff;border-radius:50%;object-fit:cover;background:#10143b;box-shadow:0 0 12px currentColor}.battle-user-avatar--blue{left:7px;color:#25ceff}.battle-user-avatar--red{right:7px;color:#ff4765}.player-card small b{color:var(--active-hero, #21c8ff)}.player-card--red small b{color:#ff756e}.player-card{position:absolute;z-index:3;bottom:8px;display:grid;width:39%;gap:0;pointer-events:none;text-shadow:0 2px 5px #020313,0 0 12px rgba(22,164,255,.7)}.player-card--blue{left:17%;text-align:left}.player-card--red{right:17%;text-align:right;text-shadow:0 2px 5px #020313,0 0 12px rgba(255,43,90,.72)}.player-card>span:first-child{justify-self:start;margin-bottom:2px;padding:2px 6px;border:1px solid #ffc735;border-radius:999px;color:#ffe481;font-size:clamp(5px,1.4vw,8px);font-weight:900;background:linear-gradient(#724214,#3c160c);box-shadow:0 0 9px #ffae1380}.player-card--red>span:first-child{justify-self:end;border-color:#ff7993;color:#ffc4cf;background:linear-gradient(#701735,#3d0a21)}.player-card small{font-size:clamp(8px,2.5vw,13px);font-weight:900;letter-spacing:.05em}.player-card>strong{color:#fff;font-size:clamp(21px,7vw,38px);font-weight:950;font-variant-numeric:tabular-nums;line-height:.95;letter-spacing:-.05em}.player-card--blue>strong{color:#d9f7ff}.player-card--red>strong{color:#ffe0e8}.power-track{position:relative;width:74%;height:clamp(10px,2.5dvh,16px);margin-top:3px;overflow:hidden;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:#020516d1;box-shadow:inset 0 2px 4px #000000a6}.player-card--red .power-track{margin-left:auto}.power-track i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;transition:width .35s ease}.power-track--blue i{background:linear-gradient(90deg,#0578ff,#23e9ff);box-shadow:0 0 12px #18c8ff}.power-track--red i{right:0;left:auto;background:linear-gradient(90deg,#ff2d62,#ff7040);box-shadow:0 0 12px #ff315b}.power-track b{position:relative;z-index:1;display:block;padding:0 5px;font-size:clamp(6px,1.7vw,9px);line-height:clamp(9px,2.3dvh,14px);text-align:right}.power-track--red b{text-align:left}.duel-center{position:absolute;top:13%;left:50%;z-index:4;display:grid;justify-items:center;transform:translate(-50%)}.duel-center>strong{color:#fff1a1;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,10vw,54px);font-style:italic;line-height:.92;text-shadow:0 2px #a43a13,0 0 9px #ff8b16,0 0 22px rgba(255,93,18,.78);transform:skew(-7deg)}.duel-center time{min-width:clamp(55px,17vw,86px);padding:2px 8px;border:1px solid rgba(200,174,255,.66);border-radius:999px;color:#fff;font-size:clamp(13px,4.1vw,21px);font-weight:950;font-variant-numeric:tabular-nums;text-align:center;background:#060827e6;box-shadow:0 0 12px #914bff8c,inset 0 0 8px #ffffff14}.duel-center time.is-warning{color:#ffe16b}.duel-center time.is-critical{color:#ff6c83;border-color:#ff4e6c;animation:timer-pulse .65s ease-in-out infinite}.duel-center span{margin-top:3px;color:#8edfff;font-size:clamp(5px,1.4vw,8px);font-weight:900;letter-spacing:.09em}.skill-ready-bar{position:relative;z-index:7;display:grid;grid-template-columns:1fr minmax(88px,.78fr) 1fr;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(90deg,#004fc2f0,#0d0a39f5 48%,#93092df0);box-shadow:0 3px 14px #0006}.skill-command{display:flex;min-width:0;align-items:center;gap:3px;padding:2px 6px;color:#fff;background:transparent;cursor:default}button.skill-command--blue:not(:disabled){cursor:pointer}.skill-command img{width:clamp(28px,8.5vw,43px);height:clamp(28px,8.5vw,43px);object-fit:contain;filter:drop-shadow(0 0 6px #26dfff)}.skill-command span,.battle-message{display:grid;min-width:0}.skill-command small,.battle-message small{color:#75efff;font-size:clamp(5px,1.45vw,8px);font-weight:900;letter-spacing:.06em}.skill-command strong,.battle-message strong{overflow:hidden;font-size:clamp(7px,2vw,10px);line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.skill-command--red{justify-content:flex-end;text-align:right}.skill-command--red small{color:#ff98a9}.skill-command--red img{filter:drop-shadow(0 0 7px #ff3b49)}.skill-command--blue.is-ready{background:radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--active-hero, #21c8ff) 42%,transparent),transparent 52%);animation:ready-command .9s ease-in-out infinite}.rune-overlay[data-hero] .skill-command--blue img{filter:drop-shadow(0 0 7px var(--active-hero))}.battle-message{align-content:center;padding:0 4px;text-align:center}.battle-message small{color:#d9a3ff}.battle-message strong{color:#efeaff;font-size:clamp(6px,1.65vw,9px)}.board-stage{position:relative;display:flex;min-height:0;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(85,28,152,.25),transparent 55%),linear-gradient(135deg,#023475c2,#0b0723f5 48%,#530723c2)}.tile.is-targeted{z-index:5;animation:hero-target .42s ease-in-out infinite alternate}.board-stage:before{position:absolute;inset:0;content:"";opacity:.45;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(circle,#000 35%,transparent 80%);mask-image:radial-gradient(circle,#000 35%,transparent 80%)}.board-aura{position:absolute;top:5%;bottom:5%;width:45%;border-radius:50%;opacity:.28;filter:blur(20px);pointer-events:none}.board-aura--blue{left:-22%;background:#008cff}.board-aura--red{right:-22%;background:#ff174c}.board-shell{position:relative;z-index:2;width:auto;max-width:calc(100% - 18px);height:calc(100% - 8px);max-height:430px;aspect-ratio:1;padding:clamp(4px,1.2vw,7px);border:1px solid rgba(161,210,255,.54);border-radius:clamp(12px,3vw,18px);background:linear-gradient(135deg,#0077ff9e,#301661cc 47%,#ff235094);box-shadow:-5px 0 18px #0af6,5px 0 18px #ff1f5559,inset 0 0 15px #ffffff24}.board{display:grid;width:100%;height:100%;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));gap:clamp(2px,.65vw,4px)}.tile{position:relative;display:grid;min-width:0;min-height:0;padding:2%;place-items:center;overflow:hidden;border:1px solid rgba(132,155,232,.35);border-radius:clamp(5px,1.7vw,9px);background:linear-gradient(145deg,#212d5feb,#0a0b2cfa),#0d103d;box-shadow:inset 0 1px #ffffff14,inset 0 -2px 3px #00000073,0 1px 2px #00000073;cursor:pointer;transition:transform .12s ease,border-color .12s ease,filter .12s ease}.tile:before{position:absolute;inset:0;border-radius:inherit;content:"";opacity:.36;background:radial-gradient(circle at 50% 45%,var(--rune-glow),transparent 68%)}.tile img{position:relative;z-index:1;width:112%;height:112%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55)) saturate(1.08)}.rune-water{--rune-glow: rgba(28, 191, 255, .56)}.rune-flame{--rune-glow: rgba(255, 53, 53, .55)}.rune-leaf{--rune-glow: rgba(81, 255, 49, .42)}.rune-light{--rune-glow: rgba(255, 213, 30, .58)}.rune-magic{--rune-glow: rgba(211, 65, 255, .55)}.tile:active{transform:scale(.92)}.tile.is-selected{z-index:4;border-color:#fff9a8;box-shadow:0 0 0 2px #ffd83f,0 0 17px #ffbd21,inset 0 0 10px #ffffff59;transform:scale(1.06)}.tile.is-hint img{animation:rune-hint .7s ease-in-out infinite alternate}.tile.is-matched img{animation:rune-clear .24s ease-out forwards}.tile.is-triggered{animation:special-trigger .32s ease-out}.tile.is-created{animation:special-create .62s cubic-bezier(.17,.9,.27,1.4)}.board.is-invalid{animation:board-invalid .22s ease-in-out}.board.is-shuffling img,.board.is-settling img{animation:rune-drop .25s ease-out both}.tile.has-special{overflow:visible;border-color:#ffe164;box-shadow:0 0 11px var(--rune-glow),inset 0 0 7px #ffffff59}.tile.has-special img{width:124%;height:124%;filter:drop-shadow(0 0 6px var(--rune-glow));animation:special-float 1.4s ease-in-out infinite}.special-token{position:absolute;right:-2px;bottom:-2px;z-index:3;display:grid;width:37%;aspect-ratio:1;place-items:center;border:1px solid #fff7b5;border-radius:50%;color:#30164c;font-size:clamp(7px,2.2vw,12px);font-style:normal;font-weight:950;background:radial-gradient(circle at 35% 30%,#fff,#ffe04e 50%,#ff6f1e);box-shadow:0 0 7px #ffdc3d}.combo-announcer{position:absolute;top:50%;left:50%;z-index:20;display:grid;width:120%;justify-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-5deg)}.combo-announcer:before{position:absolute;top:50%;z-index:-1;width:110%;height:72%;content:"";background:linear-gradient(90deg,transparent,rgba(255,45,227,.8) 28%,rgba(255,183,26,.92) 52%,rgba(114,51,255,.82) 76%,transparent);filter:blur(10px);transform:translateY(-50%) skew(-15deg)}.combo-announcer strong{color:#fff4b4;font-size:clamp(27px,11vw,60px);font-weight:1000;font-style:italic;line-height:.92;letter-spacing:-.06em;text-shadow:0 4px #9b2c22,0 0 4px #fff,0 0 17px #ff9e19}.combo-announcer em{margin-top:4px;padding:2px 19px;border:1px solid rgba(255,255,255,.56);border-radius:999px;color:#fff;font-size:clamp(10px,3.2vw,17px);font-style:italic;font-weight:1000;letter-spacing:.06em;background:linear-gradient(90deg,#6618deeb,#f42bd3eb);box-shadow:0 0 14px #d52cff,inset 0 1px #ffffff6b;text-shadow:0 2px #6c167f,0 0 8px #fff}.combo-announcer span{margin-top:4px;padding:2px 14px;border-radius:999px;color:#fff;font-size:clamp(12px,4vw,20px);font-weight:950;background:linear-gradient(90deg,#711eff,#ee2cda);box-shadow:0 0 14px #d52cff}.combo-announcer.is-showing{animation:combo-pop var(--combo-duration, .82s) ease-out forwards}.combo-announcer.is-level-0 em{display:none}.combo-announcer.is-level-2 strong{font-size:clamp(31px,12vw,64px)}.combo-announcer.is-level-3 strong,.combo-announcer.is-level-4 strong{font-size:clamp(35px,14vw,72px)}.combo-announcer.is-level-4{--combo-duration: .96s}.combo-announcer.is-level-4:before{width:135%;height:105%;background:conic-gradient(from 20deg,transparent,#ff3de7,#ffd72f,#54e6ff,transparent);filter:blur(13px);animation:combo-back-spin .96s linear}.combo-announcer.is-level-4 em{color:#fffbd7;background:linear-gradient(90deg,#7c18ff,#ec2ad5,#ff941c);box-shadow:0 0 24px #ff39ed,0 0 10px #fff}.audience-panel{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;border-top:1px solid rgba(109,154,255,.27);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(90deg,#062e80,#141047 48%,#76102d)}.team-card{display:flex;min-width:0;align-items:center;gap:3px;padding:3px 7px;color:#fff;background:transparent;cursor:pointer;opacity:.72;transition:opacity .18s ease,background .18s ease}.team-card--red{justify-content:flex-end;text-align:right}.team-card.is-selected{opacity:1;background:#ffffff17}.team-card--blue.is-selected{box-shadow:inset 0 -2px #28dfff}.team-card--red.is-selected{box-shadow:inset 0 -2px #ff4567}.team-card>span{display:grid;min-width:0;margin-right:auto}.team-card--red>span{margin-right:0;margin-left:auto}.team-card b{font-size:clamp(7px,2.15vw,11px)}.team-card small{color:#aadfff;font-size:clamp(5px,1.5vw,8px);white-space:nowrap}.team-card--red small{color:#ffb0bd}.micro-avatar{width:clamp(19px,5.2vw,28px);height:clamp(19px,5.2vw,28px);margin-left:-7px;border-width:1px;font-size:6px}.team-card--blue .micro-avatar:first-of-type{margin-left:0}.team-card--red .micro-avatar{margin-right:-7px;margin-left:0}.audience-vs{display:grid;width:clamp(30px,8vw,42px);place-items:center;color:#ffe370;font-family:Georgia,serif;font-size:clamp(12px,4vw,20px);font-style:italic;font-weight:900;text-shadow:0 0 8px #ff7721}.fever-panel{position:relative;z-index:6;display:grid;grid-template-columns:1fr clamp(48px,14vw,72px) 1fr;align-items:center;gap:4px;padding:3px 7px;background:#050721f5}.fever-meter{display:grid;min-width:0;grid-template-columns:1fr auto;align-items:end;gap:1px 5px}.fever-meter span{color:#72e7ff;font-size:clamp(6px,1.7vw,9px);font-weight:950}.fever-meter--red span{color:#ff849a;text-align:right}.fever-meter>i{position:relative;height:clamp(6px,1.4dvh,10px);grid-column:1 / -1;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#080a26}.fever-meter>i b{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#0765ff,#35e9ff);box-shadow:0 0 8px #21d9ff;transition:width .3s ease}.fever-meter--red>i b{right:0;left:auto;background:linear-gradient(90deg,#ff244c,#ff7245);box-shadow:0 0 8px #ff3f5c}.fever-meter em{grid-column:2;grid-row:1;color:#d4eaff;font-size:clamp(5px,1.5vw,8px);font-style:normal;font-weight:900}.cheer-button{display:grid;min-height:30px;place-content:center;border:1px solid #9cecff;border-radius:999px;color:#fff;line-height:.92;background:radial-gradient(circle at 35% 25%,#236cff,#431db6 58%,#b61a9f);box-shadow:0 0 9px #5b7cffb3,inset 0 1px #ffffff61;cursor:pointer}.cheer-button:disabled{opacity:.58;cursor:default}.cheer-button small{font-size:clamp(5px,1.5vw,8px)}.cheer-button strong{color:#97f6ff;font-size:clamp(10px,3vw,15px)}.gift-dock{position:relative;z-index:6;display:grid;min-width:0;grid-template-columns:clamp(43px,11vw,60px) minmax(0,1fr) clamp(51px,14vw,72px);align-items:stretch;gap:4px;padding:4px 6px 5px;border-top:1px solid rgba(183,87,255,.38);background:linear-gradient(#120b3e,#090827)}.gift-balance{display:grid;align-content:center;justify-items:center;border:1px solid rgba(146,99,255,.32);border-radius:9px;background:#211250a6}.gift-balance span{color:#c6a7ff;font-size:clamp(4px,1.25vw,7px);font-weight:900}.gift-balance strong{color:#ffdc58;font-size:clamp(7px,2vw,10px)}.gift-list{display:grid;min-width:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.gift-item{position:relative;display:grid;min-width:0;align-content:center;justify-items:center;overflow:hidden;border:1px solid rgba(135,92,237,.42);border-radius:clamp(7px,2vw,11px);color:#fff;background:linear-gradient(145deg,#331d6ff5,#140c44fa);cursor:pointer}.gift-item img{width:clamp(26px,7vw,39px);height:clamp(22px,5.7dvh,39px);object-fit:cover;border-radius:5px;filter:drop-shadow(0 1px 3px #000)}.gift-item span{overflow:hidden;max-width:100%;padding:0 2px;font-size:clamp(4px,1.23vw,7px);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.gift-item b{color:#ffda4e;font-size:clamp(5px,1.4vw,8px)}.gift-item.is-selected{border-color:#ffca3c;background:linear-gradient(145deg,#6e2f8f,#29135f);box-shadow:0 0 8px #ff6bf2a6,inset 0 0 7px #ffffff26}.send-gift{display:grid;place-content:center;border:2px solid #ffd15a;border-radius:50%;color:#fff;line-height:.95;background:radial-gradient(circle at 38% 28%,#ff547b,#ed184d 56%,#a40939);box-shadow:0 0 12px #ff3b65,inset 0 0 10px #ffffff59;cursor:pointer}.send-gift span{font-size:clamp(13px,4vw,20px)}.send-gift strong{font-size:clamp(6px,1.8vw,10px)}.send-gift:active{transform:scale(.94)}.room-king-mini{position:absolute;top:50%;left:50%;z-index:9;display:grid;width:min(88%,430px);padding:17px 22px;border:1px solid #ffd057;border-radius:18px;color:#fff;background:linear-gradient(135deg,#063994f5,#351872f5 52%,#9c1131f5);box-shadow:0 0 22px #4681ff8c,0 20px 40px #00000080,inset 0 1px #ffffff40;cursor:pointer;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.86);transition:opacity .3s ease,transform .3s ease}.room-king-mini.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.room-king-mini span{color:#ffdb58;font-size:9px;font-weight:950}.room-king-mini strong{margin-top:3px;font-size:17px}.room-king-mini em{position:absolute;right:15px;bottom:14px;padding:5px 9px;border-radius:999px;color:#1a1235;font-size:8px;font-style:normal;font-weight:950;background:#ffd65b}.countdown-layer{position:fixed;top:50%;left:50%;z-index:100;display:grid;width:min(86vw,400px);place-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5)}.countdown-layer.is-visible{opacity:1;animation:countdown-in .38s ease-out both}.countdown-layer strong{color:#fff4b3;font-size:clamp(72px,24vw,132px);font-weight:1000;font-style:italic;line-height:.82;text-shadow:0 7px #b63128,0 0 8px white,0 0 35px #ff7628}.countdown-layer span{margin-top:12px;padding:5px 22px;border-radius:999px;color:#fff;font-size:15px;font-weight:950;letter-spacing:.15em;background:linear-gradient(90deg,#087fff,#af31e7,#ef294d);box-shadow:0 0 20px #763aff}.fx-layer{position:fixed;inset:0;z-index:90;overflow:hidden;pointer-events:none}.rune-particle{position:fixed;width:5px;height:16px;border-radius:50%;background:linear-gradient(var(--particle-color),transparent);box-shadow:0 0 8px var(--particle-color);transform-origin:50% 0;animation:particle-fly .65s ease-out forwards}.gift-fly{position:fixed;z-index:5;width:50px;height:50px;object-fit:cover;border-radius:12px;filter:drop-shadow(0 0 10px #ffdf4d);animation:gift-launch 1.05s cubic-bezier(.16,.78,.21,1) forwards}.gift-fly--red{animation-name:gift-launch-red}.toast{position:fixed;top:50%;left:50%;z-index:120;max-width:min(84vw,390px);padding:9px 16px;border:1px solid rgba(255,255,255,.38);border-radius:999px;color:#fff;font-size:11px;font-weight:800;text-align:center;background:#0f0a34eb;box-shadow:0 8px 24px #0000006b,0 0 14px #7342ff6b;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:opacity .22s ease,transform .22s ease}.toast.is-visible{opacity:1;transform:translate(-50%)}.hero-select-modal{position:absolute;top:clamp(70px,11dvh,100px);bottom:max(8px,env(safe-area-inset-bottom));left:50%;z-index:70;width:min(96%,540px);max-height:900px;opacity:0;pointer-events:none;transform:translate(-50%) scale(.97);transition:opacity .22s ease,transform .22s ease}.hero-select-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%) scale(1)}.hero-select-card{--select-hero-color: #21c8ff;display:grid;height:100%;min-height:0;grid-template-rows:clamp(145px,21dvh,188px) clamp(38px,5.6dvh,52px) minmax(0,1fr) clamp(47px,6.8dvh,62px) 18px;overflow:hidden;border:1px solid rgba(151,201,255,.72);border-radius:clamp(16px,4vw,25px);color:#fff;background:radial-gradient(circle at 15% 12%,color-mix(in srgb,var(--select-hero-color) 26%,transparent),transparent 29%),radial-gradient(circle at 86% 11%,rgba(255,55,78,.24),transparent 29%),linear-gradient(155deg,#061943,#0b092c 48%,#32071e);box-shadow:0 0 0 2px #7e4aff40,0 0 30px color-mix(in srgb,var(--select-hero-color) 32%,transparent),0 28px 60px #000000b3;isolation:isolate}.hero-select-duel{position:relative;display:grid;min-height:0;grid-template-columns:1fr minmax(62px,20%) 1fr;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.22);background:linear-gradient(90deg,rgba(0,102,255,.18),transparent 46%,rgba(255,33,67,.18))}.hero-preview{position:relative;min-width:0;overflow:hidden}.hero-preview-art{position:absolute;top:-3%;bottom:-12%;width:116%;height:112%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.55));transition:opacity .18s ease,filter .18s ease}.hero-preview--blue .hero-preview-art{left:-18%}.hero-preview--red .hero-preview-art{right:-18%}.hero-preview-user{position:absolute;top:8px;z-index:3;width:clamp(30px,9vw,46px);height:clamp(30px,9vw,46px);border:2px solid #fff;border-radius:50%;object-fit:cover;background:#10143b}.hero-preview--blue .hero-preview-user{left:8px;box-shadow:0 0 13px #20cfff}.hero-preview--red .hero-preview-user{right:8px;box-shadow:0 0 13px #ff3556}.hero-preview-copy{position:absolute;right:5px;bottom:6px;left:5px;z-index:4;display:grid;text-shadow:0 2px 5px #020414,0 0 8px #020414}.hero-preview--red .hero-preview-copy{text-align:right}.hero-preview-copy small{color:#ffe175;font-size:clamp(5px,1.4vw,8px);font-weight:950}.hero-preview--red .hero-preview-copy small{color:#ff9cac}.hero-preview-copy b{font-size:clamp(10px,3vw,16px);letter-spacing:.05em}.hero-preview-copy strong{color:var(--select-hero-color);font-size:clamp(8px,2.3vw,12px)}.hero-preview--red .hero-preview-copy strong{color:#ff695e}.hero-preview-copy em{font-size:clamp(5px,1.45vw,8px);font-style:normal;opacity:.82}.hero-select-versus{position:relative;z-index:6;display:grid;align-content:center;justify-items:center;gap:3px;background:radial-gradient(circle,rgba(57,22,89,.76),transparent 69%)}.hero-select-versus b{color:#fff2a9;font-family:Georgia,serif;font-size:clamp(31px,10vw,55px);font-style:italic;line-height:.9;text-shadow:0 2px #a53917,0 0 15px #ff701f}.hero-select-versus small{color:#d7c6ff;font-size:clamp(4px,1.25vw,7px);font-weight:900;white-space:nowrap}.hero-select-versus time{min-width:54px;padding:3px 7px;border:1px solid #b583ff;border-radius:999px;font-size:clamp(13px,4vw,20px);font-weight:950;font-variant-numeric:tabular-nums;text-align:center;background:#070722e6;box-shadow:0 0 12px #9749ff99}.hero-select-versus time.is-critical{color:#ff6f84;border-color:#ff516d;animation:timer-pulse .55s ease-in-out infinite}.hero-ready-line{z-index:3;display:grid;grid-template-columns:1fr 1.35fr 1fr;align-items:center;gap:3px;padding:3px 8px;border-bottom:1px solid rgba(255,255,255,.12);background:#05071ead}.hero-ready-line>span{color:#46d6ff;font-size:clamp(5px,1.6vw,9px);font-weight:900}.hero-ready-line>span:last-child{color:#ff8599;text-align:right}.hero-ready-line>span.is-ready{color:#7fffd0;text-shadow:0 0 8px #29e4b1}.hero-ready-line div{min-width:0;text-align:center}.hero-ready-line h1{margin:0;color:#d8b7ff;font-size:clamp(9px,2.8vw,14px);line-height:1;letter-spacing:.04em}.hero-ready-line p{margin:3px 0 0;color:#aaa8cb;font-size:clamp(5px,1.4vw,7px)}.hero-grid{display:grid;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(4px,1.3vw,7px);padding:clamp(5px,1.6vw,9px);background:radial-gradient(circle at 50% 50%,rgba(95,42,181,.18),transparent 58%)}.hero-card{--hero-color: #21c8ff;position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--hero-color) 74%,#fff);border-radius:clamp(8px,2.7vw,14px);color:#fff;background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--hero-color) 29%,transparent),transparent 46%),linear-gradient(155deg,#111a4cf7,#0b0723f7);box-shadow:inset 0 0 12px color-mix(in srgb,var(--hero-color) 16%,transparent),0 4px 12px #00000057;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.hero-card:not(:disabled):active{transform:scale(.96)}.hero-card.is-selected{z-index:2;border-color:#fff;box-shadow:0 0 0 2px var(--hero-color),0 0 18px var(--hero-color),inset 0 0 20px color-mix(in srgb,var(--hero-color) 28%,transparent);transform:scale(1.025)}.hero-card-state{position:absolute;top:5px;left:5px;z-index:4;padding:2px 4px;border:1px solid color-mix(in srgb,var(--hero-color) 75%,#fff);border-radius:4px;color:#fff;font-size:clamp(4px,1.25vw,7px);font-weight:950;background:color-mix(in srgb,var(--hero-color) 36%,#070921)}.hero-card-check{position:absolute;top:5px;right:5px;z-index:5;display:none;width:clamp(19px,5.4vw,28px);height:clamp(19px,5.4vw,28px);place-items:center;border-radius:50%;font-size:clamp(10px,3vw,16px);font-weight:950;background:var(--hero-color);box-shadow:0 0 10px var(--hero-color)}.hero-card.is-selected .hero-card-check{display:grid}.hero-card-art{position:absolute;inset:3px 0 29px;width:100%;height:calc(100% - 32px);object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.hero-card-copy{position:absolute;right:0;bottom:0;left:0;z-index:4;display:flex;height:clamp(27px,4.8dvh,39px);align-items:center;justify-content:center;gap:2px;padding:2px 3px;background:#030518d6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-card-copy>img{width:clamp(21px,6vw,31px);height:clamp(21px,6vw,31px);object-fit:contain;filter:drop-shadow(0 0 5px var(--hero-color))}.hero-card-copy>span{display:grid;min-width:0;text-align:left}.hero-card-copy b{font-size:clamp(7px,2.2vw,12px);line-height:1}.hero-card-copy small{overflow:hidden;color:var(--hero-color);font-size:clamp(4px,1.25vw,7px);font-weight:900;text-overflow:ellipsis;white-space:nowrap}.hero-select-actions{display:grid;grid-template-columns:.9fr 1.45fr .9fr;gap:6px;padding:3px 8px;background:#040519db}.hero-select-actions button{display:flex;min-width:0;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.35);border-radius:11px;color:#fff;font-weight:950;box-shadow:inset 0 1px #fff3,0 4px 12px #0000004d;cursor:pointer}.hero-select-actions i{font-size:clamp(14px,4.5vw,23px);font-style:normal}.hero-select-actions span{font-size:clamp(8px,2.4vw,13px)}.hero-random{background:linear-gradient(145deg,#087ed5,#143aa3)}.hero-ready{background:linear-gradient(145deg,#ffd93e,#e6780c 70%,#aa3c06);text-shadow:0 2px #a64b08;box-shadow:0 0 15px #ffb920a6,inset 0 1px #ffffff80!important}.hero-ready:disabled{color:#caffed;background:linear-gradient(145deg,#21c78c,#087864);opacity:1}.hero-change{visibility:hidden;background:linear-gradient(145deg,#8337c7,#35146f)}.hero-auto-copy{margin:0;color:#aaa9c9;font-size:clamp(5px,1.45vw,8px);line-height:16px;text-align:center;background:#040519db}.hero-select-card.is-compact{grid-template-rows:minmax(0,1fr) 0 0 clamp(60px,9dvh,78px) 22px}.hero-select-card.is-compact .hero-ready-line,.hero-select-card.is-compact .hero-grid{visibility:hidden}.hero-select-card.is-compact .hero-change{visibility:visible}.hero-select-card.is-compact .hero-preview-art{top:4%;bottom:-4%;height:100%}.result-modal{position:fixed;inset:0;z-index:110;display:grid;padding:18px;place-items:center;background:#020312b8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:opacity .3s ease}.result-modal.is-open{opacity:1;pointer-events:auto}.result-card{position:relative;width:min(100%,450px);padding:clamp(28px,6dvh,48px) clamp(14px,5vw,28px) 20px;overflow:hidden;border:1px solid #ffe06a;border-radius:26px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(255,213,61,.3),transparent 38%),linear-gradient(145deg,#09255f,#1c104d 46%,#630f35);box-shadow:0 0 35px #ffbf304d,0 25px 60px #000000a6,inset 0 0 30px #8846ff3d;transform:translateY(25px) scale(.9);transition:transform .35s cubic-bezier(.18,.83,.24,1.1)}.result-hero{position:absolute;top:-5%;left:50%;z-index:0;width:78%;height:72%;object-fit:contain;opacity:.2;filter:saturate(1.25) drop-shadow(0 0 18px #ffd24d);transform:translate(-50%);pointer-events:none}.result-modal.is-open .result-card{transform:translateY(0) scale(1)}.result-card:before,.result-card:after{position:absolute;top:26%;width:48%;height:48%;border-radius:50%;content:"";filter:blur(30px);opacity:.3}.result-card:before{left:-30%;background:#009dff}.result-card:after{right:-30%;background:#ff2b5e}.result-crown{position:absolute;top:-22px;left:50%;color:#ffe565;font-size:70px;text-shadow:0 5px #b66b14,0 0 18px #ffad25;transform:translate(-50%)}.result-kicker{position:relative;z-index:2;color:#ffdb5d;font-size:12px;font-weight:950;letter-spacing:.28em}.result-card h1{position:relative;z-index:2;margin:3px 0 15px;color:#fff8c2;font-size:clamp(29px,9vw,46px);font-style:italic;line-height:1;text-shadow:0 4px #9e3327,0 0 18px #ff8d22}.result-versus{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:#03061f9e}.result-versus span{display:grid}.result-versus small{color:#8ee9ff;font-size:9px;font-weight:900}.result-versus span:last-child small{color:#ff9aaf}.result-versus strong{font-size:clamp(22px,7vw,34px);font-variant-numeric:tabular-nums}.result-versus b{color:#ffe45d;font-family:Georgia,serif;font-size:21px;font-style:italic}.result-stats{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.result-stats span{display:grid;padding:8px 3px;border-radius:10px;background:#ffffff12}.result-stats small{color:#b9b8df;font-size:7px;font-weight:800}.result-stats strong{color:#ffe16b;font-size:20px}.result-streak{position:relative;z-index:2;display:block;margin:8px 0 13px;color:#ffe476;font-size:14px;text-shadow:0 0 9px #ff8b22}.result-actions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.action-button{display:grid;min-width:0;min-height:50px;place-content:center;border:1px solid rgba(255,255,255,.44);border-radius:13px;color:#fff;box-shadow:inset 0 1px #ffffff40,0 4px 10px #0000004d;cursor:pointer}.action-button b{font-size:clamp(8px,2.3vw,12px)}.action-button span{margin-top:2px;font-size:clamp(5px,1.5vw,8px);opacity:.8}.action-button--blue{background:linear-gradient(#198af7,#0754c5)}.action-button--gold{background:linear-gradient(#ffb71b,#c44a07)}.action-button--purple{background:linear-gradient(#a336e1,#5421a7)}.rune-overlay.skill-blue:after,.rune-overlay.skill-red:after{position:absolute;inset:0;z-index:32;content:"";pointer-events:none;background:radial-gradient(circle at 22% 27%,rgba(255,255,255,.92),rgba(0,191,255,.54) 14%,transparent 44%);mix-blend-mode:screen;animation:skill-flash .75s ease-out forwards}.rune-overlay.skill-red:after{background:radial-gradient(circle at 78% 27%,rgba(255,255,255,.9),rgba(255,40,67,.54) 14%,transparent 44%)}.rune-overlay[data-hero=blaze].skill-blue:after{background:radial-gradient(circle at 28% 32%,#fff,rgba(255,55,30,.78) 13%,transparent 46%)}.rune-overlay[data-hero=flora].skill-blue:after{background:radial-gradient(circle at 28% 32%,#eeff9e,rgba(52,227,83,.7) 15%,transparent 48%)}.rune-overlay[data-hero=nova].skill-blue:after{background:radial-gradient(circle at 35% 25%,#fff,rgba(255,210,38,.72) 14%,transparent 48%)}.rune-overlay[data-hero=arcana].skill-blue:after{background:radial-gradient(circle at 30% 32%,#fff,rgba(180,43,255,.74) 14%,transparent 50%)}.rune-overlay[data-hero=volt].skill-blue:after{background:repeating-conic-gradient(from 8deg at 30% 34%,transparent 0 8deg,rgba(255,231,36,.78) 9deg 11deg,transparent 12deg 24deg)}.rune-overlay.is-fever{border-color:#ffea67;box-shadow:0 0 0 2px #ff3ae061,0 0 34px #ff31d194,0 24px 55px #00000094;animation:fever-shell 1.2s ease-in-out infinite}.rune-overlay.is-fever .board-shell{box-shadow:-8px 0 24px #00ccffa3,8px 0 24px #ff236294,0 0 30px #ee2eff6b,inset 0 0 18px #fff3}.rune-overlay.is-fever .tile img{filter:drop-shadow(0 0 5px var(--rune-glow)) saturate(1.28) brightness(1.08)}.rune-overlay.is-blue-boost .fever-meter--blue,.rune-overlay.is-red-boost .fever-meter--red{animation:team-fever .7s ease-in-out infinite alternate}.board-fx-layer{position:absolute;inset:0;z-index:16;overflow:hidden;border-radius:inherit;pointer-events:none;contain:layout paint}.fx-lightning{position:absolute;inset:0;width:100%;height:100%;overflow:visible;mix-blend-mode:screen;animation:fx-lightning-life .36s ease-out forwards}.fx-lightning polyline{fill:none;stroke-linecap:round;stroke-linejoin:round}.fx-lightning-glow{stroke:var(--lightning-color);stroke-width:11;opacity:.34;filter:blur(3px)}.fx-lightning-core{stroke:#fff;stroke-width:2.4;opacity:.98;filter:drop-shadow(0 0 3px var(--lightning-color))}.fx-spark{position:absolute;width:5px;height:13px;border-radius:80% 15%;background:linear-gradient(#fff,var(--spark-color));box-shadow:0 0 9px var(--spark-color);animation:fx-spark-fly .7s cubic-bezier(.1,.65,.2,1) forwards}.fx-score-popup{position:absolute;z-index:5;color:#fff;font-size:clamp(15px,5vw,27px);font-style:italic;font-weight:1000;white-space:nowrap;text-shadow:0 2px 2px #2b1855,0 0 8px #75eaff;transform:translate(-50%,-50%);animation:fx-score-float .52s ease-out forwards}.fx-score-popup--special{color:#fff0a6;text-shadow:0 2px #8f2e19,0 0 5px #fff,0 0 15px #ffac22;animation-duration:.68s}.fx-event-banner{position:absolute;top:48%;left:50%;z-index:25;display:grid;min-width:76%;padding:9px 18px 7px;justify-items:center;border-block:1px solid rgba(255,255,255,.7);color:#fff;background:linear-gradient(90deg,transparent,rgba(74,19,143,.94) 20%,rgba(203,24,176,.94) 80%,transparent);box-shadow:0 0 24px #b62cff;transform:translate(-50%,-50%);animation:fx-banner-enter .9s cubic-bezier(.15,.8,.18,1) forwards}.fx-event-banner strong{font-size:clamp(23px,8vw,44px);font-style:italic;font-weight:1000;line-height:.95;letter-spacing:-.035em;text-shadow:0 3px #701384,0 0 8px #fff}.fx-event-banner span{margin-top:4px;color:#fff0b2;font-size:clamp(8px,2.5vw,13px);font-weight:950;letter-spacing:.12em}.fx-event-banner--fever{background:linear-gradient(90deg,transparent,rgba(0,128,255,.92) 22%,rgba(172,30,224,.95) 48%,rgba(255,48,47,.92) 78%,transparent);box-shadow:-12px 0 24px #00c8ff,12px 0 24px #ff3157}.fx-event-banner--frost{background:linear-gradient(90deg,transparent,rgba(0,126,255,.94),transparent);box-shadow:0 0 26px #42e9ff}.fx-event-banner--blaze{background:linear-gradient(90deg,transparent,rgba(255,48,15,.95),transparent);box-shadow:0 0 28px #ff6817}.fx-event-banner--flora{background:linear-gradient(90deg,transparent,rgba(26,174,55,.94),transparent);box-shadow:0 0 27px #60ff48}.fx-event-banner--nova{background:linear-gradient(90deg,transparent,rgba(255,166,12,.96),transparent);box-shadow:0 0 28px #ffe13c}.fx-event-banner--arcana{background:linear-gradient(90deg,transparent,rgba(134,31,228,.96),transparent);box-shadow:0 0 28px #f045ff}.fx-event-banner--volt{color:#292004;background:linear-gradient(90deg,transparent,rgba(255,223,34,.97),transparent);box-shadow:0 0 28px #fff538}.tile.fx-special-target:after{position:absolute;inset:-10%;z-index:4;border:2px solid #fff9a9;border-radius:50%;content:"";box-shadow:0 0 7px #fff,0 0 18px #ffd52b,inset 0 0 12px #fff;animation:fx-magic-circle .58s ease-out forwards}.rune-overlay.fx-background-burst .board-stage:after,.rune-overlay.fx-fever-start .board-stage:after,.rune-overlay.fx-victory-burst .board-stage:after{position:absolute;inset:-22%;z-index:1;content:"";pointer-events:none;background:repeating-conic-gradient(from 10deg,transparent 0 8deg,rgba(69,190,255,.36) 9deg 11deg,transparent 12deg 19deg,rgba(255,57,170,.32) 20deg 22deg,transparent 23deg 31deg);mix-blend-mode:screen;animation:fx-radial-burst .9s ease-out forwards}.rune-overlay.fx-fever-start .board-stage:after{background:repeating-conic-gradient(from 0deg,transparent 0 7deg,rgba(64,222,255,.5) 8deg 10deg,transparent 11deg 17deg,rgba(255,65,71,.5) 18deg 20deg,transparent 21deg 29deg)}.rune-overlay.fx-fever-start .hero{animation:fx-hero-aura .85s ease-out}.rune-overlay.fx-hero-skill .hero--ice{animation:fx-hero-action .9s cubic-bezier(.16,.8,.21,1);filter:drop-shadow(0 0 16px var(--active-hero))}.rune-overlay.fx-hero-skill .board-shell:before{position:absolute;inset:-5%;z-index:14;border:3px solid var(--active-hero);border-radius:50%;content:"";opacity:0;pointer-events:none;box-shadow:0 0 22px var(--active-hero),inset 0 0 24px var(--active-hero);animation:fx-skill-ring .72s ease-out .12s}.rune-overlay[data-skill-hero=blaze].fx-hero-skill .board-shell:before{border-style:dashed}.rune-overlay[data-skill-hero=flora].fx-hero-skill .board-shell:before{border-radius:45% 55% 48% 52%}.rune-overlay[data-skill-hero=nova].fx-hero-skill .board-shell:before{transform:rotate(45deg) scale(.7)}.rune-overlay[data-skill-hero=arcana].fx-hero-skill .board-shell:before{border-style:double}.rune-overlay[data-skill-hero=volt].fx-hero-skill .board-shell:before{border-radius:8%;transform:skew(-4deg)}.fx-energy-chip{position:fixed;z-index:180;bottom:max(76px,calc(env(safe-area-inset-bottom) + 58px));left:50%;padding:7px 14px;border:1px solid rgba(255,255,255,.65);border-radius:999px;color:#fff;font-size:12px;font-weight:950;background:#126ee8;box-shadow:0 0 18px #20d9ff;animation:fx-energy-transfer .85s ease-out forwards}.fx-energy-chip--red{background:#d91f50;box-shadow:0 0 18px #ff5b74}.rune-overlay.fx-victory-burst{animation:fx-victory-pulse 1.6s ease-out}.rune-overlay.fx-victory-burst .board{opacity:.34;transition:opacity .35s ease}.result-modal.is-open .result-crown{animation:fx-crown-drop .72s cubic-bezier(.15,.85,.22,1.25) both}.result-modal.is-open .result-title{animation:fx-victory-title .95s cubic-bezier(.17,.84,.22,1.15) .28s both}.fx-confetti{position:fixed;z-index:190;top:-20px;width:7px;height:14px;border-radius:2px;background:#ffd83d;box-shadow:0 0 7px currentColor;pointer-events:none;animation:fx-confetti-fall 2.35s linear forwards}.fx-confetti--1{color:#31dfff;background:#31dfff}.fx-confetti--2{color:#ff4fba;background:#ff4fba}.rune-overlay[data-fx-quality=medium] .fx-lightning-glow{stroke-width:7;filter:none}.rune-overlay[data-fx-quality=low] .fx-lightning,.rune-overlay[data-fx-quality=low] .fx-spark,.rune-overlay[data-fx-quality=low] .board-stage:after{display:none}.rune-overlay.fx-paused *,.rune-overlay.fx-paused *:before,.rune-overlay.fx-paused *:after{animation-play-state:paused!important}@keyframes combo-back-spin{0%{opacity:0;transform:translateY(-50%) rotate(0) scale(.45)}35%{opacity:1}to{opacity:0;transform:translateY(-50%) rotate(28deg) scale(1.2)}}@keyframes fx-lightning-life{0%{opacity:0}15%,38%{opacity:1}55%{opacity:.35}70%{opacity:.95}to{opacity:0}}@keyframes fx-spark-fly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scale(.35)}30%{transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(-14px) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(var(--spark-distance)) scale(.1)}}@keyframes fx-score-float{0%{opacity:0;transform:translate(-50%,-25%) scale(.55)}22%{opacity:1;transform:translate(-50%,-55%) scale(1.14)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-190%) scale(.92)}}@keyframes fx-banner-enter{0%{opacity:0;transform:translate(-50%,-50%) scale(.45) skew(-8deg)}16%{opacity:1;transform:translate(-50%,-50%) scale(1.12) skew(-4deg)}68%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-65%) scale(.95)}}@keyframes fx-magic-circle{0%{opacity:0;transform:scale(.45) rotate(-28deg)}30%{opacity:1}to{opacity:0;transform:scale(1.45) rotate(30deg)}}@keyframes fx-radial-burst{0%{opacity:0;transform:scale(.35) rotate(-8deg)}30%{opacity:1}to{opacity:0;transform:scale(1.2) rotate(8deg)}}@keyframes fx-hero-aura{0%,to{filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}38%{filter:brightness(1.45) saturate(1.5) drop-shadow(0 0 22px #fff);transform:scale(1.07)}}@keyframes fx-hero-action{0%{transform:translate(-8%) scale(.92)}24%{transform:translate(2%) scale(1.08)}to{transform:translate(0) scale(1)}}@keyframes fx-skill-ring{0%{opacity:0;transform:scale(.45) rotate(-15deg)}28%{opacity:1}to{opacity:0;transform:scale(1.22) rotate(16deg)}}@keyframes fx-energy-transfer{0%{opacity:0;transform:translate(-50%,20px) scale(.5)}25%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-80px) scale(.8)}}@keyframes fx-victory-pulse{0%{filter:brightness(1)}28%{filter:brightness(1.5) saturate(1.4)}to{filter:brightness(1)}}@keyframes fx-crown-drop{0%{opacity:0;transform:translateY(-120px) rotate(-12deg) scale(1.45)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes fx-victory-title{0%{opacity:0;transform:scale(.42) rotate(-5deg)}65%{opacity:1;transform:scale(1.16) rotate(2deg)}to{opacity:1;transform:scale(1)}}@keyframes fx-confetti-fall{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translate(var(--drift)) translateY(100dvh) rotate(680deg)}}@keyframes fx-shake-1{25%{transform:translate(2px,-1px)}60%{transform:translate(-2px,1px)}}@keyframes fx-shake-2{18%{transform:translate(3px,-2px)}42%{transform:translate(-3px,2px)}68%{transform:translate(2px,1px)}}@keyframes fx-shake-3{14%{transform:translate(5px,-3px)}31%{transform:translate(-5px,3px)}48%{transform:translate(4px,2px)}66%{transform:translate(-3px,-2px)}}.board-shell.fx-shake-1{animation:fx-shake-1 .28s ease-out}.board-shell.fx-shake-2{animation:fx-shake-2 .36s ease-out}.board-shell.fx-shake-3,.board-shell.fx-shake-4{animation:fx-shake-3 .45s ease-out}@keyframes page-drift{to{transform:translate3d(4%,-2%,0) rotate(2deg)}}@keyframes room-spark{0%,to{opacity:.18;transform:translateY(8px) scale(.5)}50%{opacity:1;transform:translateY(-13px) scale(1.25)}}@keyframes sky-pulse{50%{opacity:.9;transform:scale(1.06) rotate(3deg)}}@keyframes timer-pulse{50%{transform:scale(1.08);box-shadow:0 0 18px #ff2d52d9}}@keyframes ready-command{50%{filter:brightness(1.3)}}@keyframes hero-target{to{transform:scale(1.08);filter:brightness(1.65) drop-shadow(0 0 8px var(--active-hero, #fff))}}@keyframes hero-entrance{0%{opacity:0;transform:translate(-18px) scale(.82);filter:brightness(2) blur(5px)}to{opacity:1;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}}@keyframes rune-hint{to{transform:scale(1.1) translateY(-2px);filter:brightness(1.35) drop-shadow(0 0 7px #fff)}}@keyframes rune-clear{35%{transform:scale(1.25);filter:brightness(2.2);opacity:1}to{transform:scale(.15) rotate(18deg);opacity:0}}@keyframes special-trigger{40%{filter:brightness(2);transform:scale(1.12)}}@keyframes special-create{0%{opacity:0;transform:scale(.1) rotate(-30deg)}70%{opacity:1;transform:scale(1.18) rotate(5deg)}to{transform:scale(1)}}@keyframes rune-drop{0%{opacity:.15;transform:translateY(-35%)}to{opacity:1;transform:translateY(0)}}@keyframes board-invalid{25%{transform:translate(-4px)}65%{transform:translate(4px)}}@keyframes special-float{50%{transform:translateY(-3%) scale(1.06) rotate(2deg);filter:drop-shadow(0 0 9px var(--rune-glow)) brightness(1.18)}}@keyframes combo-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(-6deg)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(-3deg)}72%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}to{opacity:0;transform:translate(-50%,-65%) scale(.93) rotate(-3deg)}}@keyframes particle-fly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(var(--distance)) scale(.1)}}@keyframes gift-launch{0%{opacity:1;transform:translate(0) scale(.6) rotate(-12deg)}60%{opacity:1;transform:translate(-120px,-260px) scale(2.1) rotate(8deg)}to{opacity:0;transform:translate(-170px,-370px) scale(.7) rotate(18deg)}}@keyframes gift-launch-red{0%{opacity:1;transform:translate(0) scale(.6) rotate(12deg)}60%{opacity:1;transform:translate(120px,-260px) scale(2.1) rotate(-8deg)}to{opacity:0;transform:translate(170px,-370px) scale(.7) rotate(-18deg)}}@keyframes countdown-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes skill-flash{0%{opacity:0;transform:scale(.6)}26%{opacity:1}to{opacity:0;transform:scale(1.35)}}@keyframes fever-shell{50%{filter:saturate(1.18) brightness(1.06)}}@keyframes team-fever{to{filter:brightness(1.5);text-shadow:0 0 9px currentColor}}@media(max-width:430px){.room-header{gap:5px}.room-tool{width:31px;height:31px}.room-audience .avatar:nth-child(4){display:none}.player-card--blue{left:15%}.player-card--red{right:15%}.skill-ready-bar{grid-template-columns:1fr 72px 1fr}.team-card{padding-right:5px;padding-left:5px}.micro-avatar:nth-of-type(3){display:none}}@media(max-width:350px){.room-title{min-width:75px}.room-audience .avatar:nth-child(3){display:none}.room-heat,.battle-message{display:none}.skill-ready-bar{grid-template-columns:1fr 1fr}.gift-balance span{display:none}}@media(max-height:700px)and (orientation:portrait){.hero{top:-18%;height:160%}.player-card{bottom:5px}.player-card>span:first-child{display:none}.duel-center{top:8%}.gift-item span{display:none}.gift-item img{height:clamp(22px,5dvh,32px)}}@media(max-height:560px)and (orientation:landscape){.room-shell{width:min(100%,760px)}.room-header{height:50px;padding-top:max(4px,env(safe-area-inset-top))}.room-title span,.room-heat{display:none}.rune-overlay{top:52px;bottom:4px;width:min(94%,510px);grid-template-rows:86px 32px minmax(0,1fr) 35px 32px 52px;border-radius:13px}.hero-select-modal{top:52px;bottom:4px;width:min(94%,510px)}.hero-select-card{grid-template-rows:88px 30px minmax(0,1fr) 42px 12px;border-radius:13px}.hero-select-actions{padding:2px 6px}.hero-auto-copy{line-height:12px}.hero{top:-28%;height:180%}.player-card>span:first-child{display:none}.player-card>strong{font-size:21px}.duel-center>strong{font-size:31px}.gift-item span{display:none}}@media(min-width:760px){.room-shell{border-right:1px solid rgba(140,142,255,.2);border-left:1px solid rgba(140,142,255,.2)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
