: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}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:clamp(70px,10.5dvh,94px);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)}.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%,rgba(94,245,255,.35),transparent 48%);animation:ready-command .9s ease-in-out infinite}.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)}.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 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 .82s ease-out forwards}.combo-announcer.is-mega strong{font-size:clamp(34px,13vw,68px)}.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-bottom{position:absolute;right:0;bottom:0;left:0;z-index:8;display:grid;height:clamp(62px,9.5dvh,86px);grid-template-columns:minmax(105px,1fr) minmax(190px,1.55fr);align-items:center;gap:5px;padding:5px max(9px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));border-top:1px solid rgba(145,140,223,.25);background:#080a2be6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-bubble{display:flex;min-width:0;align-items:center;gap:7px;padding:5px 8px 5px 5px;border-radius:999px;background:#493e80a3}.chat-bubble .avatar{width:31px;height:31px;font-size:8px}.chat-bubble p{display:grid;min-width:0;margin:0}.chat-bubble b{color:#e9d3ff;font-size:8px}.chat-bubble p span{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.room-nav{display:grid;height:100%;grid-template-columns:repeat(4,1fr);gap:2px}.room-nav button{display:grid;min-width:0;place-content:center;border-radius:12px;color:#b9bbdc;background:transparent;cursor:pointer}.room-nav button.is-active{color:#fff;background:linear-gradient(145deg,#ad2f77,#4930ba);box-shadow:inset 0 1px #ffffff26}.room-nav i{font-size:clamp(10px,3vw,16px);font-style:normal;line-height:1;text-align:center}.room-nav span{margin-top:2px;font-size:clamp(5px,1.55vw,8px)}.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%)}.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-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.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}@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 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}.room-bottom{grid-template-columns:minmax(98px,.8fr) minmax(176px,1.45fr)}}@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}.chat-bubble{padding-right:5px}.chat-bubble .avatar{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}.room-bottom{display:none}.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}}
