.crash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:24px;display:flex}.crash .ready{min-height:44px}.crash__session{opacity:.7;font-size:.8rem}.debug{text-align:left;border:1px dashed #666;border-radius:8px;width:100%;margin-top:12px;padding:8px 12px;font-size:.85rem}.debug summary{cursor:pointer;min-height:32px;line-height:32px}.debug__buttons{gap:8px;margin:8px 0;display:flex}.debug__buttons button{background:#1c1c1c;border:1px solid #666;border-radius:6px;min-height:36px;padding:6px 12px}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2)format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff)format("woff")}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-s:6px;--radius-m:10px;--radius-l:16px;--radius-full:999px;--shadow-1:0 1px 3px #00000073;--shadow-2:0 4px 12px #00000080;--shadow-3:0 12px 28px #0009;--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-ui:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text-xs:.75rem;--text-s:.875rem;--text-m:1rem;--text-l:1.25rem;--text-xl:1.75rem;--text-2xl:2.5rem;--text-3xl:3.5rem;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--touch:44px;--bg:#0c0e13;--surface:#181c25;--surface-2:#232937;--line:#3a4253;--text:#eef1f6;--text-dim:#b4bccb;--go:#15803d;--go-dark:#116632;--target:#4ade80;--danger:#dc2626;--energy:#38bdf8;--energy-dark:#0c4a6e;--side-primary:var(--surface-2);--side-secondary:var(--text-dim);--side-accent:#d4a046}.side--me{--side-primary:var(--me-primary,var(--surface-2));--side-secondary:var(--me-secondary,var(--text-dim));--side-accent:var(--me-accent,#d4a046)}.side--opp{--side-primary:var(--opp-primary,var(--surface-2));--side-secondary:var(--opp-secondary,var(--text-dim));--side-accent:var(--opp-accent,#d4a046)}button:not(.slot,.tower,.lane-label,.hand__card,.playback),.import-pack__button{transition:transform .35s var(--ease-spring), filter .15s}button:not(:disabled,.slot,.tower,.lane-label,.hand__card,.playback):active,.import-pack__button:active{filter:brightness(.85);transition-duration:60ms;transform:scale(.97)}:root[data-motion=reduced]{--ease-spring:ease-out}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%}body{min-height:100dvh;font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;line-height:1.4}img,svg,canvas,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}.app{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;justify-content:center;align-items:center;display:flex}.card{border:2px solid var(--skin-accent);background:var(--skin-secondary);width:100%;height:100%;min-height:0;color:var(--skin-text);border-radius:6px;line-height:1.15;position:relative;overflow:hidden;container-type:size}.card__art,.card__front,.card__clip{object-fit:cover;object-position:50% 40%;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.card__top{background:var(--skin-primary);align-items:center;gap:3cqi;min-height:15%;padding:0 3cqi 0 2cqi;display:flex;position:absolute;top:0;left:0;right:0}.card__cost{background:var(--skin-accent);width:13cqi;height:13cqi;color:var(--skin-primary);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:10cqi;font-weight:800;display:grid}.card__name{-webkit-line-clamp:2;line-clamp:2;min-width:0;font-family:var(--font-display);overflow-wrap:break-word;-webkit-box-orient:vertical;font-size:11cqi;font-weight:600;line-height:1;display:-webkit-box;overflow:hidden}.card__bottom{background:var(--skin-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5cqi;height:35%;padding:7cqi 3cqi 1.5cqi;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.card__type{text-transform:uppercase;letter-spacing:.08em;opacity:.7;font-size:5.5cqi}.card__text{font-size:8.5cqi;font-weight:600;line-height:1.1}.card__flavor{opacity:.8;font-size:6.5cqi;font-style:italic}.card__stat{border:1px solid var(--skin-primary);background:var(--skin-accent);min-width:14cqi;height:14cqi;color:var(--skin-primary);font-family:var(--font-display);border-radius:999px;justify-content:center;align-items:baseline;gap:1.5cqi;padding:0 3cqi;font-size:10cqi;font-weight:800;line-height:14cqi;display:flex;position:absolute;bottom:calc(35% - 7cqi)}.card__attack{left:2cqi}.card__health{background:var(--skin-text);right:2cqi}.card__health--hurt{color:#fff;background:#b91c1c}.card__stat-label{font-size:5.5cqi;font-weight:600;display:none}.card__shield{border-radius:inherit;border:3px solid #60a5fa;position:absolute;inset:0}@container (width<150px){.card__type,.card__flavor{display:none}}@container (width>=150px){.card__stat-label{display:inline}}@container (width<130px){.card__bottom,.card__stat-label{display:none}.card__top{background:linear-gradient(var(--skin-primary) 70%, transparent);align-items:flex-start;padding:4cqi 3cqi}.card__cost{width:18cqi;height:18cqi;font-size:13cqi}.card__name{text-shadow:0 1px 2px #0009;font-size:15cqi}.card__stat{min-width:20cqi;height:20cqi;font-size:14cqi;line-height:20cqi;bottom:3cqi}.card__attack{left:3cqi}.card__health{right:3cqi}}@container (width<90px) or (height<110px){.card__bottom,.card__stat-label{display:none}.card__top{gap:3px;padding:2px 3px 2px 2px}.card__cost{width:1.35em;height:1.35em;font-size:.7rem}.card__name{font-size:.72rem}.card__stat{min-width:1.4em;height:1.4em;padding:0 3px;font-size:.7rem;line-height:1.4em;bottom:1px}.card__attack{left:1px}.card__health{right:1px}}.skin-frame--classic{border-width:3px;border-radius:6px}.skin-frame--classic .card__top{border-bottom:2px solid var(--skin-accent)}.skin-frame--classic .card__bottom{border-top:2px solid var(--skin-accent)}.skin-frame--rounded{border-radius:14px}.skin-frame--rounded .card__bottom{border-radius:10cqi 10cqi 0 0}.skin-frame--sharp{clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);border-radius:0}.skin-frame--sharp .card__bottom{border-top:3px solid var(--skin-accent)}.skin-frame--organic{border-radius:16% 7% 13% 9%/9% 13% 7% 16%}.skin-frame--organic .card__bottom{border-radius:45% 55% 0 0/14cqi 9cqi 0 0}.card--back{background:var(--skin-primary)}.card--back-tint .card__art{filter:hue-rotate(160deg)saturate(1.4)}.card--back-tint:after{content:"";background:linear-gradient(135deg, transparent 40%, var(--skin-accent));opacity:.45;pointer-events:none;position:absolute;inset:0}.card--golden{border-color:#e8c25a;box-shadow:inset 0 0 0 1px #fff3c4,0 0 6px #e8c25ab3}.card--glowing{box-shadow:inset 0 0 0 1px #fff3c4, 0 0 6px #e8c25ab3, 0 0 12px 2px var(--skin-accent);border-color:#e8c25a}@property --champion-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.card--champion:after{content:"";z-index:3;border-radius:inherit;background:conic-gradient(from var(--champion-angle), #fff3c4, #e8c25a, var(--skin-accent), #e8c25a, #fff3c4) border-box;pointer-events:none;border:3px solid #0000;animation:3s linear infinite champion-turn;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) padding-box exclude,linear-gradient(#000 0 0)}@keyframes champion-turn{to{--champion-angle:360deg}}:root[data-motion=reduced] .card--champion:after{animation:none}@media (prefers-reduced-motion:reduce){.card--champion:after{animation:none}}.tower-view{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex;position:relative}.tower-view__art{filter:drop-shadow(0 3px 4px #0000008c);width:auto;height:100%;min-height:0}.tower-view__pic{height:100%;min-height:0;display:flex;position:relative}.tower-view__falling{position:absolute;top:0;left:0}.tower-view__crack{fill:none;stroke:#1a1210;stroke-width:4px;stroke-linejoin:round;filter:drop-shadow(0 0 1px #fff8);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tower-view__crack path{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--damage));transition:stroke-dashoffset .4s ease-out}.tower-view__crack path+path{stroke-dashoffset:calc(1 - max(0, var(--damage) * 2 - .6))}.tower-view--stage-2 .tower-view__art{filter:drop-shadow(0 3px 4px #0000008c)brightness(.8)sepia(.25)}.tower-view--styled .tower-view__art{filter:drop-shadow(0 0 2px var(--skin-accent)) drop-shadow(0 3px 4px #0000008c) sepia(.35) saturate(1.5)}.tower-view--styled.tower-view--stage-2 .tower-view__art{filter:drop-shadow(0 0 2px var(--skin-accent)) drop-shadow(0 3px 4px #0000008c) brightness(.8) sepia(.5)}.tower-view__hp{clip-path:polygon(0 0,100% 0,100% 58%,50% 100%,0 58%);background:linear-gradient(var(--skin-accent,#d4a046), color-mix(in srgb, var(--skin-accent,#d4a046) 60%, #000));color:#fff;width:1.9em;height:2.15em;font-family:var(--font-display);text-shadow:0 1px 2px #000c,0 0 4px #00000080;place-items:center;padding-bottom:.15em;font-size:1rem;font-weight:800;line-height:1;display:grid;position:absolute;bottom:0;right:50%;translate:calc(50% + 1.1em)}.tower-view__hp>span{translate:0 -.05em}.tower-view--stage-1 .tower-view__hp{background:linear-gradient(#f59e0b,#92400e)}.tower-view--stage-2 .tower-view__hp{background:linear-gradient(#ef4444,#7f1d1d)}.tower-view--destroyed .tower-view__hp{color:#fca5a5;background:linear-gradient(#52525b,#27272a)}.roll{display:inline-grid}.roll>*{text-align:center;grid-area:1/1}.roll__value{color:#0000;text-shadow:none}.roll__shown:before{content:attr(data-n)}.roll.is-rolling .roll__shown{animation:90ms ease-out roll-tick}@keyframes roll-tick{0%{opacity:.35;transform:translateY(-45%)}}:root[data-motion=reduced] .roll__shown{animation:none}.board-background{pointer-events:none;background-position:50%;background-size:cover;border-radius:6px;position:absolute;inset:0}.editor{flex-direction:column;gap:12px;width:100%;max-width:480px;height:100%;margin:0 auto;padding:0 12px 24px;display:flex;overflow-y:auto}.editor button:disabled{opacity:.5}.editor__bar{z-index:2;background:#111;align-items:center;gap:6px;padding:8px 0;display:flex;position:sticky;top:0}.editor__bar h2{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1rem;overflow:hidden}.editor__bar button,.editor__buttons button,.editor__buttons select,.editor__file,.editor__back,.sound-edit__play{white-space:nowrap;background:#1c1c1c;border:2px solid #444;border-radius:8px;padding:8px 10px;font-weight:600}.editor__buttons{gap:8px;display:flex}.editor__buttons>*{text-align:center;flex:1}.editor__buttons .is-primary{background:#16331f;border-color:#16a34a}.editor__file{cursor:pointer;position:relative}.editor__file:focus-within{outline:2px solid #16a34a}.editor__file input{opacity:0;width:1px;height:1px;position:absolute}.editor__back{align-self:flex-start}.editor__notice{background:#1f2937;border-radius:8px;padding:8px 10px;font-size:.9rem}.editor__error{color:#f87171}.editor__hint{opacity:.7;font-size:.8rem}.editor__tabs{border-bottom:1px solid #333;gap:4px;display:flex}.editor__tabs button{border-bottom:3px solid #0000;flex:1;padding:10px;font-weight:600}.editor__tabs button[aria-selected=true]{border-color:#16a34a}.editor__section{flex-direction:column;gap:12px;display:flex}.editor__section h3{font-size:1rem}.emote-edit{border-bottom:1px solid #333;flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.emote-edit__head{align-items:center;gap:12px;display:flex}.emote-edit__picture{object-fit:contain;flex:none;width:64px;height:64px}.sound-edit{border-bottom:1px solid #333;flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.sound-edit__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sound-edit__head h4{margin:0}.sound-edit__play{flex:none;min-width:88px;min-height:40px}.editor__buttons select{min-width:0;color:inherit}.sound-edit textarea{font-family:ui-monospace,monospace}.editor__choice{text-align:left;background:#1c1c1c;border:2px solid #444;border-radius:8px;flex-direction:column;gap:2px;padding:12px;font-weight:600;display:flex}.editor__choice small{opacity:.7;font-weight:400}.editor__group{border:1px solid #333;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.editor__group legend{padding:0 4px;font-weight:600}.field{flex-direction:column;gap:4px;display:flex}.field__head{justify-content:space-between;font-size:.9rem;display:flex}.field__count{font-variant-numeric:tabular-nums;opacity:.7}.field input,.field textarea{resize:vertical;background:#0d0d0d;border:1px solid #555;border-radius:6px;width:100%;padding:8px;font-size:16px}.field--warn input,.field--warn textarea{border-color:#f59e0b}.field--warn .field__count{color:#f59e0b;opacity:1}.field__issues{color:#fbbf24;padding-left:1.2em;font-size:.8rem}.palette{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.palette__colour{grid-template-columns:auto 1fr;align-items:center;column-gap:8px;font-size:.9rem;display:grid}.palette__colour input{background:0 0;border:1px solid #555;border-radius:6px;grid-row:span 2;width:44px;height:44px}.palette__colour small{opacity:.7;font-size:.7rem}.frames{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.frames__choice{text-transform:capitalize;border:2px solid #333;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:4px;font-size:.8rem;display:flex}.frames__choice.is-selected{border-color:#16a34a}.frames__card{aspect-ratio:3/4;width:100%}.emblem{align-items:center;gap:12px;font-weight:600;display:flex}.emblem img{object-fit:contain;width:64px;height:64px}.anim__body{align-items:flex-start;gap:10px;display:flex}.anim__choices{flex-wrap:wrap;flex:1;gap:6px;display:flex}.anim__choice{text-transform:capitalize;border:2px solid #333;border-radius:8px;min-height:36px;padding:4px 10px;font-size:.8rem}.anim__choice.is-selected{border-color:#16a34a}.anim__preset{margin-top:8px}.anim__label{margin:0 0 4px;font-size:.8rem;font-weight:600}.anim__colour{justify-content:space-between;align-items:center;gap:8px;display:flex}.anim__sprite-fields{flex-wrap:wrap;gap:8px 16px;display:flex}.anim__sprite-fields label{align-items:center;gap:6px;display:flex}.anim__sprite-fields input{width:5.5em;min-height:36px}.anim__reset{border:1px solid #555;border-radius:8px;min-height:36px;padding:4px 10px;font-size:.8rem}.anim-preview{--impact:.25s;background:#181818;border-radius:8px;flex:none;width:120px;height:150px;position:relative;overflow:hidden}.anim-preview__target{width:32px;height:32px;position:absolute;top:14px;left:44px}.anim-preview__target .card{border:2px dashed #777;border-radius:50%;width:100%;height:100%;display:block}.anim-preview__card{width:40px;height:54px;position:absolute;top:89px;left:40px}.slots__progress{font-weight:600}.slots{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;list-style:none;display:grid}.slot{border:2px solid #333;border-radius:8px;flex-direction:column;gap:4px;width:100%;padding:4px;font-size:.75rem;display:flex;position:relative}.slot--done{border-color:#16a34a}.slot__thumb{aspect-ratio:3/4;width:100%;display:block}.slot__thumb img{object-fit:contain;width:100%;height:100%}.slot__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.slot__state{background:#444;border-radius:50%;place-items:center;width:22px;height:22px;font-weight:800;display:grid;position:absolute;top:-8px;right:-8px}.slot--done .slot__state{background:#16a34a}.role{background:#161616;border-left:3px solid #16a34a;padding:8px 10px;font-size:.9rem}.cropper{flex-direction:column;gap:8px;display:flex}.cropper__frame{width:min(100%, 320px, calc(55dvh * var(--aspect)));touch-action:none;cursor:grab;background:#000;border:2px solid #16a34a;margin:0 auto;position:relative;overflow:hidden}.cropper__frame img{pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;height:auto;position:absolute}.cropper__zoom{align-items:center;gap:8px;display:flex}.cropper__zoom input{flex:1}.preview{justify-content:center;align-items:flex-end;gap:12px;padding:8px 0;display:flex}.preview__card{width:160px;height:213px}.preview__side{flex-direction:column;align-items:center;gap:8px;display:flex}.preview__back{width:72px;height:96px}.preview__emblem{object-fit:contain;width:96px;height:96px}.preview__tower{width:96px}.preview__board{border-radius:6px;place-items:center;width:135px;height:240px;display:grid;position:relative;overflow:hidden}.preview__board-card{width:72px;height:96px;position:relative}.match{--card-max:clamp(80px, min(27vw, 12.5dvh), 112px);--hand-h:calc(var(--card-max) * 1.38 + 24px);--detail-h:168px;--controls-h:60px;-webkit-user-select:none;user-select:none;flex-direction:column;gap:5px;width:100%;max-width:430px;height:100%;margin:0 auto;padding:6px;display:flex;position:relative}@media (height<=820px){.match{--detail-h:148px;--controls-h:52px}.match .match__controls .ready{min-height:44px}.match .energy{height:46px}}.match__bar{min-height:var(--touch);font-size:var(--text-s);align-items:center;gap:2px;display:flex}.round{flex:1;gap:4px;min-width:0;padding-left:4px;display:grid}.pips{align-items:center;gap:5px;display:flex}.pip{background:#ffffff29;border-radius:50%;width:9px;height:9px}.pip.is-done{background:#ffffff80}.pip.is-now{background:var(--me-accent,#d4a046);width:12px;height:12px;box-shadow:0 0 8px var(--me-accent,#d4a046)}.round__meta{min-width:0;color:var(--text-dim);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;gap:6px;display:flex;overflow:hidden}.round__level{border-radius:var(--radius-full);background:var(--surface-2);color:var(--text);padding:0 6px;font-weight:600}.help-button,.sound-toggle{width:var(--touch);height:var(--touch);background:var(--surface-2) padding-box;box-shadow:inset 0 0 0 1px var(--line);border:5px solid #0000;border-radius:50%;flex-shrink:0;font-size:.95rem;font-weight:700;line-height:1}.retreat-button:disabled{opacity:.4;cursor:default}.match__perspective,.match__controls{min-height:var(--touch);border-radius:var(--radius-m);box-shadow:var(--shadow-1);align-items:center;gap:6px;display:flex}.match__perspective{z-index:1;border-left:3px solid var(--side-accent);background:linear-gradient(90deg, color-mix(in srgb, var(--side-primary) 80%, #000), color-mix(in srgb, var(--side-primary) 35%, transparent));font-size:var(--text-s);padding:0 4px 0 0;position:relative}.match__controls{z-index:6;height:var(--controls-h);border-right:3px solid var(--side-accent);background:linear-gradient(270deg, color-mix(in srgb, var(--side-primary) 80%, #000), color-mix(in srgb, var(--side-primary) 35%, transparent));padding:4px;position:relative}.opponent-badge{min-width:0;min-height:var(--touch);color:#fff;text-shadow:0 1px 2px #000c;white-space:nowrap;background:0 0;flex:1;align-items:center;gap:8px;padding:0 6px 0 4px;display:inline-flex}.opponent-badge__name{text-overflow:ellipsis;min-width:0;font-family:var(--font-display);font-size:var(--text-l);letter-spacing:.02em;font-weight:600;overflow:hidden}.opponent-badge.is-muted .opponent-badge__name{opacity:.7}.leader__emblem{filter:drop-shadow(0 1px 2px #0009);background:#00000059;border-radius:50%;flex:none;width:34px;height:34px;padding:2px}.opponent-hand{border-radius:var(--radius-full);font-family:var(--font-display);font-size:var(--text-m);background:#00000059;flex:none;padding:2px 8px;font-weight:600}.perspective-toggle{border-radius:var(--radius-full);width:96px;min-height:36px;font-family:var(--font-display);font-size:var(--text-m);letter-spacing:.03em;background:#0006;border:1px solid #fff3;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.perspective-toggle__icon{flex:none;width:20px;height:20px}.my-badge{flex:none;align-items:center;gap:4px;display:inline-flex}.emote-button{width:var(--touch);height:var(--touch);background:#00000059;border-radius:50%;font-size:1.15rem;line-height:1;box-shadow:inset 0 0 0 1px #ffffff2e}.emote-button:disabled{opacity:.5}.emote-wheel{background:#0f172ae6;border-radius:50%;width:184px;height:184px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 6px 16px #00000080}.emote-wheel__item{left:calc(50% - 26px + 64px * sin(var(--i) * 60deg));top:calc(50% - 26px - 64px * cos(var(--i) * 60deg));background:#1e293b;border:2px solid #475569;border-radius:50%;width:52px;height:52px;padding:3px;position:absolute}.emote-wheel__item img{object-fit:contain;width:100%;height:100%}.emote-bubble{z-index:6;color:#0f172a;pointer-events:none;background:#f8fafc;border-radius:14px;align-items:center;gap:6px;max-width:75%;padding:4px 10px 4px 4px;font-size:.85rem;font-weight:700;animation:.2s ease-out emote-pop;display:flex;position:absolute;left:0;box-shadow:0 4px 10px #0006}.emote-bubble img{object-fit:contain;flex:none;width:44px;height:44px}.emote-bubble--them{top:calc(100% + 4px)}.emote-bubble--me{bottom:calc(100% + 6px)}@keyframes emote-pop{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.emote-bubble{animation:none}}.board{border-radius:var(--radius-l);min-height:0;box-shadow:var(--shadow-2), inset 0 0 0 1px #ffffff0f;touch-action:none;background:#07080b;flex:1;grid-template-rows:minmax(32px,.8fr) 1fr 1fr 32px 1fr 1fr minmax(32px,.8fr);grid-template-columns:repeat(3,1fr);gap:5px 8px;padding:4px 6px;display:grid;position:relative}.board__half{pointer-events:none;background-size:cover;height:50%;position:absolute;left:0;right:0}.board__half:after{content:"";position:absolute;inset:0}.board__half--opp{border-radius:var(--radius-l) var(--radius-l) 0 0;background-position:top;top:0}.board__half--me{border-radius:0 0 var(--radius-l) var(--radius-l);background-position:bottom;bottom:0}.board__half--opp:after{border-radius:inherit;background:linear-gradient(color-mix(in srgb, var(--side-primary) 55%, #00000073), #04050899 60%, #040508d1)}.board__half--me:after{border-radius:inherit;background:linear-gradient(#040508d1, #04050899 40%, color-mix(in srgb, var(--side-primary) 55%, #00000073))}.board:after{content:"";background:linear-gradient(90deg, transparent, var(--opp-accent,#888) 30%, var(--me-accent,#888) 70%, transparent);opacity:.55;pointer-events:none;height:2px;position:absolute;top:calc(50% - 1px);left:8px;right:8px}.board__band{border-radius:var(--radius-m);pointer-events:none;background:linear-gradient(#ffffff0d,#ffffff05 50%,#ffffff0d);grid-row:1/-1;position:absolute;inset:-2px -3px;box-shadow:inset 0 0 0 1px #ffffff0d}.slot,.tower,.lane-label{border-radius:var(--radius-s);justify-content:center;align-items:center;min-width:0;min-height:0;transition:opacity .15s,background-color .15s;display:flex;position:relative}.board .slot{font-size:inherit;border:none;flex-direction:row;gap:0;padding:0}.slot__empty{aspect-ratio:3/4;border-radius:var(--radius-s);background:#0000002e;border:1.5px dashed #fff3;max-width:88%;height:88%}.slot--front .slot__empty{border-color:#ffffff42}.slot__card{filter:drop-shadow(0 3px 5px #0000008c);width:100%;height:100%}.slot__card--ghost{opacity:.55}.tower:before{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--side-accent) 45%, transparent), transparent);pointer-events:none;position:absolute;inset:15% 5% -5%}.lane-label{color:#ffffffb3;font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.18em;font-weight:600}.is-target{outline:2px solid var(--target);outline-offset:-2px;background-color:#4ade8029;box-shadow:0 0 14px #4ade8059}.is-target .slot__empty{border-style:solid;border-color:var(--target)}.is-dimmed{opacity:.35}.is-over{background-color:#4ade8052;outline-width:3px}.tags{z-index:1;pointer-events:none;gap:2px;display:flex;position:absolute;top:-4px;right:-2px}.tag{pointer-events:auto;touch-action:none;border-radius:var(--radius-full);box-shadow:var(--shadow-1);background:#7c3aed;padding:0 5px;font-size:.65rem;font-weight:600;line-height:1.5}.detail{height:var(--detail-h);border:2px solid var(--skin-accent);background:var(--skin-primary);color:var(--skin-text);border-radius:8px;flex:none;gap:8px;padding:6px;font-size:.8rem;line-height:1.3;animation:.15s ease-out detail-up;display:flex}.detail__frame{background:var(--skin-secondary);border-radius:6px;flex:0 0 112px;width:112px;height:100%;position:relative;overflow:hidden}.detail__art{object-fit:cover;object-position:50% 40%;pointer-events:none;width:100%;height:100%;transform:scale(1.12) translate(calc(var(--px,0) * -6px), calc(var(--py,0) * -6px));transition:transform .15s ease-out;display:block}.detail__front{object-fit:cover;object-position:50% 40%;pointer-events:none;width:100%;height:100%;transform:scale(1.12) translate(calc(var(--px,0) * 4px), calc(var(--py,0) * 4px));will-change:transform;transition:transform .15s ease-out;animation:6s ease-in-out infinite alternate front-drift;position:absolute;inset:0}@keyframes front-drift{0%{translate:-2px 1px}to{translate:2px -1px}}:root[data-motion=reduced] .detail__art,:root[data-motion=reduced] .detail__front{animation:none;transform:none}.detail__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex;overflow-y:auto}.detail__head{align-items:center;gap:6px;display:flex}.detail__cost{background:var(--skin-accent);width:1.7em;height:1.7em;color:var(--skin-primary);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.detail__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:1rem;overflow:hidden}.detail__type{opacity:.75;flex:none;font-size:.7rem}.detail__stats{gap:12px;display:flex}.detail__stats b{font-size:.95rem}.detail__notes{color:var(--skin-accent);margin:0;padding:0;font-size:.75rem;list-style:none}.detail__keywords{flex-direction:column;gap:2px;margin:0;font-size:.75rem;display:flex}.detail__keywords dt{font-weight:700;display:inline}.detail__keywords dd{margin:0;display:inline}.detail__target{font-weight:700}.detail__flavor{opacity:.75;font-style:italic}@keyframes detail-up{0%{opacity:0;transform:translateY(12px)}}.energy{clip-path:polygon(50% 0,100% 26%,100% 74%,50% 100%,0 74%,0 26%);background:linear-gradient(160deg, #bae6fd, var(--energy) 35%, #0369a1 70%, var(--energy-dark));color:#fff;min-width:58px;height:52px;font-family:var(--font-display);text-shadow:0 1px 3px #000000b3;flex:none;justify-content:center;align-items:baseline;padding:7px 8px 0;font-weight:800;line-height:1;display:inline-flex}.energy__left{font-size:1.9rem}.energy__max{font-size:var(--text-s);opacity:.85}.energy-saved{border:1px solid var(--energy);border-radius:var(--radius-full);color:#e0f2fe;font-family:var(--font-display);font-size:var(--text-xs);white-space:nowrap;background:#0369a159;flex:none;align-self:center;padding:2px 7px;font-weight:700}.energy-saved--next{opacity:.8;background:0 0;border-style:dashed}.ready-ring{--ring:var(--target);border-radius:var(--radius-full);background:conic-gradient(var(--ring) calc(var(--t) * 360deg), #ffffff1f 0);margin-left:auto;padding:4px;transition:--t 1s linear;display:inline-flex;position:relative}@property --t{syntax:"<number>";inherits:true;initial-value:0}.ready-ring--low{--ring:#f87171}.timer{border:1px solid var(--line);border-radius:var(--radius-full);background:var(--surface);min-width:30px;font-family:var(--font-display);font-size:var(--text-s);font-variant-numeric:tabular-nums;text-align:center;pointer-events:none;padding:1px 6px;font-weight:600;position:absolute;top:-9px;left:-4px}.timer--low{color:#f87171}.ready{min-height:var(--touch);border-radius:var(--radius-full);background:linear-gradient(#16a34a, var(--go));background-color:var(--go);box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff40;color:#fff;font-family:var(--font-display);font-size:var(--text-l);letter-spacing:.04em;text-transform:uppercase;padding:8px 24px;font-weight:800}.ready:disabled{opacity:.4;cursor:default}.ready--secondary{background:var(--surface-2);box-shadow:var(--shadow-1), inset 0 0 0 1px var(--line)}.ready--danger{background:#991b1b linear-gradient(#dc2626,#991b1b)}.match__controls .ready{min-width:124px;min-height:48px;font-size:1.4rem}.match__controls--commander .ready{min-width:84px;padding-inline:12px}.hand{height:var(--hand-h);border-radius:var(--radius-m);flex:none;justify-content:center;align-items:flex-start;padding-top:8px;display:flex;container-type:inline-size}.hand.is-over{outline-offset:-2px;outline:2px dashed #a78bfa}.hand__card{--fan:calc(100cqi - 28px);--hand-w:min(var(--card-max), calc(var(--fan) / (1 + .55 * (var(--n) - 1))));--gap:min(6px, calc((var(--fan) - var(--n) * var(--hand-w)) / max(1, var(--n) - 1)));--strip:calc(var(--hand-w) + var(--gap));flex:0 0 var(--hand-w);height:calc(var(--hand-w) * 1.38);margin-left:var(--gap);border-radius:var(--radius-s);filter:drop-shadow(0 4px 6px #0000008c);transform:translateY(calc(var(--off2) * 1.6px)) rotate(calc(var(--off) * 3.5deg));transform-origin:50% 110%;touch-action:none;transition:transform .3s var(--ease-spring), opacity .15s, filter .15s;position:relative}.hand__card:first-child{margin-left:0}@property --strip{syntax:"<length>";inherits:true;initial-value:0}.hand__card .card__top{flex-direction:column;gap:2px}.hand__card .card__name{max-width:calc(var(--strip) - 6px);-webkit-hyphens:auto;hyphens:auto;font-size:min(13cqi,.9rem)}.hand__card.is-selected{z-index:2;filter:drop-shadow(0 0 6px var(--target)) drop-shadow(0 10px 12px #0009);transform:translateY(-8px)scale(1.06)}.hand__card.is-planned{opacity:.45;transform:translateY(calc(var(--off2) * 1.6px + 12px)) rotate(calc(var(--off) * 3.5deg))}.hand__card.is-dimmed{opacity:1;filter:saturate(.35)brightness(.55)drop-shadow(0 4px 6px #0000008c)}.hand__card.is-unaffordable .card__cost{background:var(--danger);color:#fff}.hand__card.is-dragging{opacity:.2}.drag-card{--tilt:0;z-index:20;width:100px;height:138px;transform:translate(-50%, -50%) rotate(calc(-3deg + var(--tilt) * 1deg));transform-origin:50%;filter:drop-shadow(calc(var(--tilt) * -.8px) 12px 14px #0000008c);pointer-events:none;transition:transform .12s ease-out,filter .12s ease-out;position:fixed}.drag-card .card--layered .card__art,.drag-card .card--layered .card__front{transition:transform .12s ease-out}.drag-card .card--layered .card__art{transform:scale(1.06) translateX(calc(var(--tilt) * -.2px))}.drag-card .card--layered .card__front{transform:scale(1.06) translateX(calc(var(--tilt) * .3px))}:root[data-motion=reduced] .drag-card .card--layered .card__art,:root[data-motion=reduced] .drag-card .card--layered .card__front{transform:none}.drag-card--lift{transform:translate(-50%, calc(-50% - 40px)) rotate(calc(-3deg + var(--tilt) * 1deg))}.drag-card--back{opacity:.6;transition:left .15s ease-in, top .15s ease-in, transform .15s var(--ease-spring), opacity .15s ease-in;transform:translate(-50%,-50%)scale(.8)}.playback{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.playback__caption{background:#000c;border-radius:6px;padding:4px 10px;font-weight:700}.playback__hint{color:#888;font-size:.7rem}.match{--impact:.25s}.app:has(>.match){overflow-x:clip}.reveal{--from-y:45vh;width:120px;height:160px;animation:.55s ease-in-out both reveal-fly;box-shadow:0 4px 20px #000a}.reveal--ai{--from-y:-45vh}@keyframes reveal-fly{0%{transform:translate(0, var(--from-y)) scale(.45) rotate(-6deg);opacity:.6}30%,65%{opacity:1;transform:none}to{transform:translate(var(--to-x,0), var(--to-y,0)) scale(var(--to-s,.5));opacity:.2}}.float{color:#f87171;text-shadow:0 1px 2px #000;pointer-events:none;font-size:1.1rem;font-weight:800;animation:.45s ease-out both float-up;position:absolute;top:10%}.fx-hit .float,.fx-block .float,.fx-tower-hit .float{animation-delay:var(--impact)}.fx-heal .float,.fx-empower .float{color:#4ade80}.float--big{color:#ff4040;font-size:1.7rem}.match--hitstop .board,.match--hitstop .board *,.match--hitstop .board :before,.match--hitstop .board :after{animation-play-state:paused!important}.match--shake{animation:.4s screen-shake}@keyframes screen-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}.slot:after,.tower:after{content:"";pointer-events:none;opacity:0;position:absolute}.fx-enter .slot__card{animation:drop-in .4s var(--ease-spring) both}.slot__card--ghost{animation:land .35s var(--ease-spring) both}.fx-enter:after,.tower.fx-collapse:after{background:radial-gradient(#d6c7a8cc 0,#d6c7a855 45%,#0000 70%);border-radius:50%;height:45%;animation:.5s ease-out .15s both dust;bottom:-6px;left:0;right:0}.side--me.fx-enter--charge .slot__card{animation:.3s ease-out both charge-up}.side--opp.fx-enter--charge .slot__card{animation:.3s ease-out both charge-down}.fx-enter--rise .slot__card{transform-origin:50% 100%;animation:rise .45s var(--ease-spring) both}.fx-enter--teleport .slot__card{animation:.4s ease-out both teleport-in}.fx-enter--teleport:after{background:radial-gradient(circle, #fff 0, var(--fx-color,#fff) 30%, transparent 65%);border-radius:50%;height:auto;animation:.35s ease-out both burst;inset:-10%}.fx-move--up .slot__card{animation:.35s ease-out both move-up}.fx-move--down .slot__card{animation:.35s ease-out both move-down}.slot:has(.fx-attack){z-index:2}.fx-attack--melee.fx-attack--up{animation:.35s ease-in-out lunge-up}.fx-attack--melee.fx-attack--down{animation:.35s ease-in-out lunge-down}.fx-attack--projectile,.fx-attack--beam,.fx-attack--artillery,.fx-attack--magic{animation:.3s ease-out recoil}.fx-hit,.tower.fx-tower-hit{animation:shake .35s var(--impact) both}.fx-hit .card,.fx-tower-hit .tower-view__pic{animation:hit-flash .3s var(--impact) both}.fx-block:after{animation:bubble .4s ease-out var(--impact) both;background:radial-gradient(circle,#0000 55%,#9ae6ff66);border:2px solid #9ae6ff;border-radius:50%;inset:2%}.fx-die .slot__card,.fx-die--crumble .slot__card{animation:.5s ease-in forwards die-crumble}.fx-die--fade .slot__card{animation:.5s ease-in forwards die-fade}.fx-die--explode .slot__card{animation:.45s ease-out forwards die-explode}.fx-die--poof .slot__card{animation:.4s ease-in forwards die-poof}.fx-die--crumble:after{background:radial-gradient(circle at 20% 20%,#a8a29e 0 3px,#0000 4px),radial-gradient(circle at 60% 10%,#78716c 0 2px,#0000 3px),radial-gradient(circle at 80% 40%,#a8a29e 0 3px,#0000 4px),radial-gradient(circle at 40%,#78716c 0 2px,#0000 3px);animation:.5s ease-in .1s both debris;inset:30% 10% 0}.fx-die--explode:after{background:radial-gradient(circle,#fff 0,#fde68a 25%,#f97316 50%,#0000 70%);border-radius:50%;animation:.4s ease-out both burst;inset:10%}.fx-die--poof:after{background:radial-gradient(circle at 30% 40%,#e5e7eb 0 22%,#0000 40%),radial-gradient(circle at 65% 35%,#f3f4f6 0 20%,#0000 38%),radial-gradient(circle at 50% 65%,#d1d5db 0 24%,#0000 42%);border-radius:50%;animation:.45s ease-out .1s both burst;inset:10%}.fx-heal .card{animation:.45s ease-out glow-heal}.tower.fx-heal .tower-view__pic{animation:.45s ease-out glow-heal-tower}.fx-heal:after,.fx-empower:after{background:radial-gradient(circle at 20% 80%,#bbf7d0 0 2px,#0000 3px),radial-gradient(circle at 50% 60%,#fff 0 2px,#0000 3px),radial-gradient(circle at 80% 90%,#bbf7d0 0 2px,#0000 3px),radial-gradient(circle at 35% 95%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 65% 75%,#86efac 0 2px,#0000 3px);animation:.45s ease-out both sparkle-rise;inset:10% 15%}.fx-empower .slot__card{animation:.45s ease-in-out grow-pulse}.fx-empower .card{animation:.45s ease-out glow-empower}.fx-empower:after{filter:sepia()saturate(4)hue-rotate(-15deg)}.tower--destroyed:before,.tower.fx-collapse:before{background:radial-gradient(closest-side,#7f1d1d8c,#0000)}.fx-collapse .tower-view__falling{transform-origin:50% 100%;animation:.55s ease-in forwards collapse}.fx-tower-hit .tower-view__crack path{animation:crack-grow .35s ease-out var(--impact) both}.fx-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.shot{left:var(--x);top:var(--y);width:0;height:0;position:absolute}.shot__body{background:var(--fx-color);width:10px;height:10px;box-shadow:0 0 0 2px #fff8, 0 0 8px var(--fx-color);border-radius:50%;position:absolute;top:-5px;left:-5px}.shot__body:has(img){width:24px;height:24px;box-shadow:none;background:0 0;top:-12px;left:-12px}.shot__body img{object-fit:contain;width:100%;height:100%;transform:rotate(var(--angle))}.shot--projectile,.shot--artillery{animation:fly var(--impact) ease-in both}.shot--artillery{animation-timing-function:linear}.shot--artillery .shot__body{animation:arc var(--impact) ease-in-out both}.shot--beam{width:var(--len);height:3px;transform:rotate(var(--angle));transform-origin:0;background:linear-gradient(90deg, transparent, var(--fx-color) 20%, #fff 55%, var(--fx-color));box-shadow:0 0 6px var(--fx-color);margin-top:-1.5px;animation:.4s ease-out both beam}.impact{left:calc(var(--x) + var(--dx));top:calc(var(--y) + var(--dy));opacity:0;background:radial-gradient(circle, #fff 0, var(--fx-color) 30%, transparent 65%);width:44px;height:44px;animation:burst .35s ease-out var(--impact) both;border-radius:50%;margin:-22px 0 0 -22px;position:absolute}.impact--melee{background:linear-gradient(135deg, transparent 42%, #fff 47%, var(--fx-color) 53%, transparent 58%);border-radius:0;animation-name:slash}.impact--beam{width:30px;height:30px;margin:-15px 0 0 -15px}.impact--artillery{background:radial-gradient(circle, #fff 0, #fde68a 20%, var(--fx-color) 45%, #0000 70%);width:64px;height:64px;margin:-32px 0 0 -32px}.impact--magic{background:radial-gradient(circle at 50% 8%, #fff 0 3px, transparent 4px), radial-gradient(circle at 92% 50%, #fff 0 3px, transparent 4px), radial-gradient(circle at 50% 92%, #fff 0 3px, transparent 4px), radial-gradient(circle at 8% 50%, #fff 0 3px, transparent 4px), radial-gradient(circle at 22% 22%, var(--fx-color) 0 2px, transparent 3px), radial-gradient(circle at 78% 78%, var(--fx-color) 0 2px, transparent 3px), radial-gradient(circle, var(--fx-color) 0, transparent 55%);animation-name:sparkle}.impact--explosion{background:radial-gradient(circle, #fff 0, #fde68a 18%, #f97316 38%, var(--fx-color) 52%, transparent 70%);border-radius:50%;width:72px;height:72px;margin:-36px 0 0 -36px;animation-name:burst}.impact--slash{background:linear-gradient(135deg, transparent 44%, #fff 48%, var(--fx-color) 52%, transparent 56%), linear-gradient(45deg, transparent 44%, #fff 48%, var(--fx-color) 52%, transparent 56%);border-radius:0;animation-name:slash-cross}.impact--splash{background:radial-gradient(circle at 15% 30%, var(--fx-color) 0 4px, transparent 5px), radial-gradient(circle at 85% 25%, var(--fx-color) 0 3px, transparent 4px), radial-gradient(circle at 25% 85%, var(--fx-color) 0 3px, transparent 4px), radial-gradient(circle at 80% 80%, var(--fx-color) 0 4px, transparent 5px), radial-gradient(circle, transparent 30%, var(--fx-color) 40%, #fff8 48%, transparent 58%);border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;animation-name:burst}.impact--sparks{background:radial-gradient(circle at 50% 4%, #fff 0 2px, transparent 3px), radial-gradient(circle at 85% 18%, #fde68a 0 2px, transparent 3px), radial-gradient(circle at 96% 55%, #fff 0 2px, transparent 3px), radial-gradient(circle at 75% 90%, #fde68a 0 2px, transparent 3px), radial-gradient(circle at 30% 94%, #fff 0 2px, transparent 3px), radial-gradient(circle at 5% 60%, #fde68a 0 2px, transparent 3px), radial-gradient(circle at 15% 15%, #fff 0 2px, transparent 3px), radial-gradient(circle, #fff 0 8%, var(--fx-color) 18%, transparent 35%);border-radius:50%;animation-name:sparkle}.impact--flames{transform-origin:50% 100%;background:radial-gradient(ellipse 30% 45% at 50% 70%, #fff 0, #fde68a 60%, transparent 100%), radial-gradient(ellipse 50% 70% at 50% 75%, #f97316 0, var(--fx-color) 55%, transparent 100%);border-radius:45% 45% 40% 40%;width:48px;height:56px;margin:-32px 0 0 -24px;animation-name:flames}.sprite{--size:var(--fx-size,64px);left:calc(var(--x) + var(--dx));top:calc(var(--y) + var(--dy));width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);opacity:0;background-repeat:no-repeat;background-size:calc(var(--frames) * 100%) 100%;animation:sprite-frames var(--ms) steps(var(--frames), jump-none) var(--at) both, sprite-show var(--ms) linear var(--at);position:absolute}.sprite--impact{--at:var(--impact)}.sprite--launch{--at:0s}@keyframes sprite-frames{0%{background-position-x:0%}to{background-position-x:100%}}@keyframes sprite-show{0%,to{opacity:1}}.wave{box-shadow:inset 0 0 0 2px var(--fx-color);border-radius:6px;animation:.5s ease-out both wave-flash;position:absolute;overflow:hidden}.wave:before{content:"";background:linear-gradient(transparent, var(--fx-color), #fffa, var(--fx-color), transparent);filter:blur(1px);height:40%;position:absolute;left:-10%;right:-10%}.wave--up:before{animation:.45s ease-out both wave-up;top:100%}.wave--down:before{animation:.45s ease-out both wave-down;bottom:100%}.fx-attack--up{--dir:-1}.fx-attack--down{--dir:1}.fx-sig--scout{animation:.45s ease-in-out sig-dart}.fx-sig--grunt{animation:.45s ease-in-out sig-jabs}.fx-sig--brute{animation:.5s ease-in sig-smash}.fx-sig--raider{animation:.55s ease-out sig-dash}.fx-sig--defender{animation:.4s ease-in-out sig-bash}.fx-sig--archer,.fx-sig--medic{animation:.35s ease-out sig-draw}.fx-sig--sniper{animation:.45s ease-out sig-aim}.fx-sig--bombard{animation:.4s ease-out sig-kick}.fx-sig--juggernaut{animation:.6s ease-in-out sig-stomp}.fx-sig--champion{animation:.5s ease-in-out sig-sweep}.fx-enter--sig-champion:after{background:radial-gradient(circle, transparent 38%, color-mix(in srgb, var(--fx-color,#facc15) 50%, #facc15) 52%, #fff8 58%, transparent 70%);border-radius:50%;height:auto;animation:.45s ease-out both sig-aura;inset:-8%}.fx-enter--sig-banner .slot__card{transform-origin:50% 0;animation:sig-unfurl .4s var(--ease-spring) both}.fx-hit.fx-hit--sig-defender{animation-name:sig-guard-shake}.fx-hit--sig-defender:after{background:radial-gradient(ellipse, transparent 45%, color-mix(in srgb, var(--fx-color,#9ae6ff) 50%, #fff) 70%, transparent 78%);animation:sig-shield .3s ease-out var(--impact) both;border-radius:45% 45% 50% 50%/30% 30% 70% 70%;inset:4% 8%}.fx-heal--sig-medic:after{background:radial-gradient(circle, color-mix(in srgb, var(--fx-color,#4ade80) 30%, #4ade80) 0, transparent 60%);animation:.4s ease-out .15s both sig-pulse;inset:0 10%}.fx-heal--sig-medic .float{animation:.5s ease-out .15s both sig-float-high}.fx-empower--sig-empower:after{filter:none;background:linear-gradient(to top, transparent, color-mix(in srgb, var(--fx-color,#facc15) 40%, #facc15) 45%, #fff9 55%, transparent);animation:.45s ease-out both sig-rise;inset:0 12%}.tower.fx-heal--sig-fortify:after{background:linear-gradient(90deg, transparent 48%, #0004 49% 51%, transparent 52%), linear-gradient(transparent 31%, #0004 32% 34%, transparent 35% 64%, #0004 65% 67%, transparent 68%), linear-gradient(color-mix(in srgb, var(--fx-color,#cbd5e1) 35%, #94a3b8), #64748b);border-radius:6px;animation:.4s ease-in both sig-plate;inset:6%;box-shadow:inset 0 0 0 2px #fff6}.board:has(>.fx-layer .impact--sig-brute){animation:sig-board-shake .25s ease-out var(--impact)}.board:has(>.fx-layer .impact--sig-bombard){animation:sig-board-shake-big .35s ease-out var(--impact)}.sig{left:var(--x);top:var(--y);width:0;height:0;position:absolute}.sig i{opacity:0;position:absolute}.sig--scout i{background:repeating-linear-gradient(transparent 0 4px, color-mix(in srgb, var(--fx-color) 60%, #fff) 4px 6px);width:40px;height:20px;animation:.3s ease-out both sig-streaks;top:-10px;left:-20px}.sig--archer i{background:linear-gradient(90deg, transparent, var(--fx-color) 40%, #fff);width:16px;height:2px;animation:sig-volley .22s linear calc(var(--i) * 35ms) both;border-radius:1px;top:-1px;left:-8px}.sig--archer i:has(img){background:0 0;border-radius:0;width:20px;height:20px;top:-10px;left:-10px}.sig--bombard i:first-child:has(img){background:0 0;border-radius:0;width:20px;height:20px;top:-10px;left:-10px}.sig i img{object-fit:contain;width:100%;height:100%}.sig--sniper i:first-child{width:var(--len);transform-origin:0;background:color-mix(in srgb, var(--fx-color) 50%, #fff);height:1px;animation:.24s linear both sig-aim-line;top:0;left:0}.sig--sniper i:last-child{background:linear-gradient(90deg, transparent, var(--fx-color) 30%, #fff);width:28px;height:2px;animation:70ms linear .18s both sig-tracer;top:-1px;left:-14px}.sig--bombard i:first-child{background:radial-gradient(circle at 35% 35%, #fff, var(--fx-color) 45%, #222);width:12px;height:12px;animation:sig-lob var(--impact) linear both;border-radius:50%;top:-6px;left:-6px}.sig--bombard i:last-child{left:calc(var(--dx) - 14px);top:calc(var(--dy) + 4px);width:28px;height:10px;animation:sig-shadow var(--impact) ease-in both;background:radial-gradient(#000a,#0000 70%);border-radius:50%}.sig--medic i{background:radial-gradient(circle, #fff, color-mix(in srgb, var(--fx-color) 30%, #4ade80) 50%, transparent 70%);border-radius:50%;width:14px;height:14px;animation:.22s ease-in both sig-orb;top:-7px;left:-7px}.sig--juggernaut i{width:64px;height:40px;transform:translate(calc(var(--dx) * .25), calc(var(--dy) * .25));background:radial-gradient(#0000 45%,#d6c7a8cc 55%,#0000 70%);border-radius:50%;animation:.35s ease-out .22s both sig-dust-ring;top:-20px;left:-32px}.sig--strike i{transform-origin:50% 100%;background:linear-gradient(transparent, #fff 60%, var(--fx-color));width:6px;height:120px;box-shadow:0 0 8px var(--fx-color);animation:sig-bolt var(--impact) ease-in both;bottom:0;left:-3px}.impact--sig-brute{background:radial-gradient(circle, #fff 0 10%, var(--fx-color) 22%, transparent 36% 46%, color-mix(in srgb, var(--fx-color) 60%, #fff) 50%, transparent 60%);width:64px;height:64px;margin:-32px 0 0 -32px}.impact--sig-sniper{background:linear-gradient(transparent 46%, #fff 47% 53%, transparent 54%), linear-gradient(90deg, transparent 46%, #fff 47% 53%, transparent 54%), radial-gradient(circle, #fff 0 15%, var(--fx-color) 30%, transparent 60%);width:26px;height:26px;animation:sig-crisp .18s ease-out var(--impact) both;margin:-13px 0 0 -13px}.impact--sig-bombard{background:radial-gradient(circle, #fff 0, #fde68a 16%, var(--fx-color) 36%, color-mix(in srgb, var(--fx-color) 40%, #000) 50%, transparent 68%);width:88px;height:88px;margin:-44px 0 0 -44px}.impact--sig-champion{background:conic-gradient(from 200deg, transparent 0deg, color-mix(in srgb, var(--fx-color) 50%, #facc15) 60deg, #fff 110deg, transparent 130deg);width:70px;height:70px;animation:sig-arc .3s ease-out var(--impact) both;margin:-35px 0 0 -35px;-webkit-mask:radial-gradient(circle,#0000 52%,#000 56% 68%,#0000 72%);mask:radial-gradient(circle,#0000 52%,#000 56% 68%,#0000 72%)}.impact--sig-strike{background:radial-gradient(circle, #fff 0 12%, var(--fx-color) 26%, transparent 40% 52%, #fff8 56%, transparent 64%);width:56px;height:56px;margin:-28px 0 0 -28px}.wave--sig-barrage i{top:var(--land);left:calc(14% + var(--i) * 24%);opacity:0;background:radial-gradient(circle, #fff, var(--fx-color) 45%, transparent 72%);width:16px;height:16px;animation:sig-rain .3s ease-in calc(var(--i) * 30ms) both;border-radius:50%;margin:-8px 0 0 -8px;position:absolute}.wave--sig-barrage i:nth-child(odd){--land:35%}.wave--sig-barrage i:nth-child(2n){--land:65%}.wave--sig-banner,.wave--sig-champion{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--fx-color) 50%, #facc15)}.wave--sig-banner:before,.wave--sig-champion:before{background:linear-gradient(transparent, color-mix(in srgb, var(--fx-color) 40%, #fde68a), #fffc, color-mix(in srgb, var(--fx-color) 40%, #fde68a), transparent)}@keyframes sig-dart{55%{transform:translateY(calc(var(--dir) * 45%)) scaleY(1.08)}}@keyframes sig-jabs{25%{transform:translateY(calc(var(--dir) * 18%))}38%{transform:translateY(calc(var(--dir) * 4%))}55%{transform:translateY(calc(var(--dir) * 28%)) scale(1.04)}}@keyframes sig-smash{30%{transform:translateY(calc(var(--dir) * -12%)) rotate(-4deg) scale(1.05)}50%{transform:translateY(calc(var(--dir) * 38%)) scale(1.12)}70%{transform:translateY(calc(var(--dir) * 30%)) scale(1.06)}}@keyframes sig-dash{45%{transform:translateY(calc(var(--dir) * 80%)) scale(1.05);opacity:1}60%{transform:translateY(calc(var(--dir) * 90%)) scale(1.02);opacity:.6}}@keyframes sig-bash{30%{transform:translateY(calc(var(--dir) * -6%)) scale(.96)}62%{transform:translateY(calc(var(--dir) * 30%)) scale(1.1)}}@keyframes sig-draw{35%{transform:translateY(calc(var(--dir) * -6%)) scale(.97)}55%{transform:scale(1.04)}}@keyframes sig-aim{40%{transform:scale(1.04)}56%{transform:translateY(calc(var(--dir) * -8%)) scale(1.02)}}@keyframes sig-kick{15%{transform:translateY(calc(var(--dir) * -10%)) scaleY(.9)}45%{transform:scaleY(1.04)}}@keyframes sig-stomp{28%{transform:translateY(calc(var(--dir) * -4%)) scale(1.06)}42%,60%{transform:translateY(calc(var(--dir) * 24%))}}@keyframes sig-sweep{25%{transform:translateY(calc(var(--dir) * -5%)) rotate(-9deg)}50%{transform:translateY(calc(var(--dir) * 34%)) rotate(10deg) scale(1.1)}}@keyframes sig-aura{0%{opacity:0;transform:scale(.6)}40%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes sig-unfurl{0%{opacity:.4;transform:scaleY(.1)}60%{opacity:1;transform:scaleY(1.06)}}@keyframes sig-guard-shake{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}@keyframes sig-shield{0%{opacity:0;transform:scale(.85)}30%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.08)}}@keyframes sig-pulse{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}@keyframes sig-float-high{0%{opacity:0;transform:translateY(10px)scale(.8)}25%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-34px)}}@keyframes sig-rise{0%{opacity:0;transform:translateY(45%)scaleY(.6)}35%{opacity:1}to{opacity:0;transform:translateY(-45%)scaleY(1)}}@keyframes sig-plate{0%{opacity:0;transform:scale(1.5)}55%{opacity:1;transform:scale(.96)}75%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1)}}@keyframes sig-board-shake{25%{transform:translateY(3px)}60%{transform:translateY(-2px)}}@keyframes sig-board-shake-big{20%{transform:translate(-4px,5px)}45%{transform:translate(4px,-3px)}70%{transform:translate(-2px,2px)}}@keyframes sig-streaks{0%{transform:rotate(var(--angle)) scaleX(.3);opacity:.9}to{transform:translate(calc(var(--dx) * .35), calc(var(--dy) * .35)) rotate(var(--angle)) scaleX(1.4);opacity:0}}@keyframes sig-volley{0%{transform:translate(0, 0) rotate(var(--angle));opacity:1}25%{transform:translate(calc(var(--dx) * .25), calc(var(--dy) * .25 - 22px)) rotate(var(--angle))}50%{transform:translate(calc(var(--dx) * .5 + (var(--i) - 1) * 4px), calc(var(--dy) * .5 - 30px)) rotate(var(--angle))}75%{transform:translate(calc(var(--dx) * .75 + (var(--i) - 1) * 6px), calc(var(--dy) * .75 - 22px)) rotate(var(--angle));opacity:1}to{transform:translate(calc(var(--dx) + (var(--i) - 1) * 8px), var(--dy)) rotate(var(--angle));opacity:0}}@keyframes sig-aim-line{0%{transform:rotate(var(--angle)) scaleX(0);opacity:.9}70%{transform:rotate(var(--angle)) scaleX(1);opacity:.9}to{transform:rotate(var(--angle)) scaleX(1);opacity:0}}@keyframes sig-tracer{0%{transform:rotate(var(--angle));opacity:1}to{transform:translate(var(--dx), var(--dy)) rotate(var(--angle));opacity:1}}@keyframes sig-lob{0%{opacity:1;transform:translate(0)}25%{transform:translate(calc(var(--dx) * .25), calc(var(--dy) * .25 - 52px)) scale(1.4)}50%{transform:translate(calc(var(--dx) * .5), calc(var(--dy) * .5 - 70px)) scale(1.7)}75%{transform:translate(calc(var(--dx) * .75), calc(var(--dy) * .75 - 52px)) scale(1.4);opacity:1}to{transform:translate(var(--dx), var(--dy));opacity:0}}@keyframes sig-shadow{0%{opacity:.2;transform:scale(.2)}95%{opacity:.8;transform:scale(1.1)}to{opacity:0}}@keyframes sig-orb{0%{opacity:1;transform:translate(0)scale(.6)}50%{transform:translate(calc(var(--dx) * .5), calc(var(--dy) * .5 - 12px)) scale(1.3)}85%{opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(.9);opacity:0}}@keyframes sig-dust-ring{0%{transform:translate(calc(var(--dx) * .25), calc(var(--dy) * .25)) scale(.3);opacity:1}to{transform:translate(calc(var(--dx) * .25), calc(var(--dy) * .25)) scale(1.6);opacity:0}}@keyframes sig-bolt{0%{opacity:0;transform:translateY(-140%)scaleY(.4)}70%{opacity:1}90%{opacity:1;transform:translateY(0)scaleY(1)}to{opacity:0;transform:translateY(0)scaleY(1)}}@keyframes sig-crisp{0%{opacity:1;transform:scale(.2)rotate(45deg)}to{opacity:0;transform:scale(1.3)rotate(45deg)}}@keyframes sig-arc{0%{transform:rotate(calc(var(--angle,0deg) - 120deg)) scale(.8);opacity:1}to{transform:rotate(calc(var(--angle,0deg) + 40deg)) scale(1.1);opacity:0}}@keyframes sig-rain{0%{opacity:1;transform:translateY(-70px)scale(.6)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(0)scale(3.2)}}@keyframes drop-in{0%{transform:translateY(-40%) scale(1.25) rotate(var(--land,0deg));opacity:0}60%{opacity:1}}@keyframes charge-up{0%{opacity:0;transform:translateY(90%)}40%{opacity:1}}@keyframes charge-down{0%{opacity:0;transform:translateY(-90%)}40%{opacity:1}}@keyframes rise{0%{clip-path:inset(100% 0 0);transform:scaleY(.1)}70%{clip-path:inset(0)}}@keyframes teleport-in{0%,35%{filter:brightness(3);opacity:0;transform:scale(.6)}60%{filter:brightness(2);opacity:1}}@keyframes land{0%{transform:scale(1.15) rotate(calc(var(--land,0deg) * 2))}}@keyframes dust{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scaleX(1.4)}}@keyframes move-up{0%{transform:translateY(100%)}}@keyframes move-down{0%{transform:translateY(-100%)}}@keyframes lunge-up{45%{transform:translateY(-35%)scale(1.06)}}@keyframes lunge-down{45%{transform:translateY(35%)scale(1.06)}}@keyframes recoil{30%{filter:brightness(1.4);transform:scale(1.08)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes hit-flash{25%{filter:brightness(1.9)drop-shadow(0 0 6px #f43f5e)}}@keyframes bubble{0%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.15)}}@keyframes die-crumble{30%{opacity:1;transform:rotate(-8deg)}to{clip-path:inset(45% 0 0);filter:grayscale()blur(2px);opacity:0;transform:rotate(-12deg)translateY(12%)scale(.9)}}@keyframes die-fade{to{opacity:0;transform:rotate(-14deg)scale(.85)}}@keyframes die-explode{25%{filter:brightness(2.5);transform:scale(1.15)}to{filter:brightness(3)blur(3px);opacity:0;transform:scale(1.4)}}@keyframes die-poof{to{opacity:0;transform:scale(.2)}}@keyframes debris{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(40%)}}@keyframes burst{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}@keyframes slash{0%{opacity:1;transform:translate(-30%,-30%)scale(.6)}to{opacity:0;transform:translate(30%,30%)scale(1.1)}}@keyframes slash-cross{0%{opacity:1;transform:scale(.3)rotate(-20deg)}to{opacity:0;transform:scale(1.2)rotate(0)}}@keyframes flames{0%{opacity:1;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1.1)translateY(-10%)}to{opacity:0;transform:scaleY(1.3)translateY(-25%)}}@keyframes sparkle{0%{opacity:1;transform:scale(.3)rotate(0)}to{opacity:0;transform:scale(1.6)rotate(90deg)}}@keyframes glow-heal{40%{box-shadow:0 0 14px 4px #4ade80aa}}@keyframes glow-heal-tower{40%{filter:drop-shadow(0 0 8px #4ade80)}}@keyframes glow-empower{40%{box-shadow:0 0 16px 5px #facc15aa}}@keyframes sparkle-rise{0%{opacity:1;transform:translateY(20%)}to{opacity:0;transform:translateY(-40%)}}@keyframes grow-pulse{45%{transform:scale(1.15)}}@keyframes collapse{20%{opacity:1;transform:rotate(-3deg)}to{opacity:0;transform:rotate(4deg)translateY(10%)scaleY(.3)}}@keyframes crack-grow{0%{stroke-dashoffset:1px}}@keyframes fly{0%{opacity:1;transform:translate(0)}85%{opacity:1}to{transform:translate(var(--dx), var(--dy));opacity:0}}@keyframes arc{50%{transform:translateY(-40px)scale(1.3)}}@keyframes beam{0%{clip-path:inset(0 100% 0 0);opacity:1}50%{clip-path:inset(0);opacity:1}to{opacity:0}}@keyframes wave-flash{0%{background-color:#fff3}to{opacity:0}}@keyframes wave-up{to{transform:translateY(-350%)}}@keyframes wave-down{to{transform:translateY(350%)}}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-16px)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes fade-flash{0%{opacity:0}40%{opacity:.9}to{opacity:0}}@keyframes fade-in-out{0%{opacity:0}25%,75%{opacity:1}to{opacity:0}}.fx-collapse .tower-view__falling,.tower-view__crack--falling{transform-origin:50% 100%;animation:tower-fall 1.05s ease-in var(--impact) both}.tower-view__crack--falling path{animation:crack-grow .35s ease-out var(--impact) both}.tower-view__debris{pointer-events:none;position:absolute;inset:0}.tower-view__debris i{background:var(--skin-secondary,#78716c);opacity:0;width:9px;height:7px;animation:tower-debris .55s cubic-bezier(.2, .6, .4, 1) calc(var(--impact) + .55s) both;border-radius:2px;position:absolute;bottom:22%;left:46%}.tower-view__debris i:nth-child(odd){background:#a8a29e}.tower.fx-collapse:after{height:70%;animation:dust .7s ease-out calc(var(--impact) + .55s) both;bottom:-14px;left:-30%;right:-30%}.board:has(.tower.fx-collapse){animation:sig-board-shake-big .4s ease-out calc(var(--impact) + .6s)}@keyframes tower-fall{0%,30%{opacity:1;transform:none}36%{transform:translate(-3px)rotate(-1deg)}42%{transform:translate(3px)rotate(1deg)}48%{transform:translate(-2px)}55%{opacity:1;transform:rotate(-3deg)}to{opacity:0;transform:rotate(4deg)translateY(12%)scaleY(.3)}}@keyframes tower-debris{0%{opacity:1;transform:none}40%{transform:translate(calc((var(--i) - 3) * 9px), calc(-14px - var(--i) * 3px));opacity:1}to{transform:translate(calc((var(--i) - 3) * 16px), 18px) rotate(calc(var(--i) * 70deg));opacity:0}}.spotlight{background:radial-gradient(circle at var(--x) var(--y), transparent calc(var(--fx-size) * .7), color-mix(in srgb, var(--fx-color,#facc15) 18%, #0000009e) calc(var(--fx-size) * 1.5));animation:.6s ease-out both spotlight;position:absolute;inset:0}.board .moment-champion.fx-enter .slot__card{animation-duration:.58s}.moment-champion{box-shadow:0 0 0 3px #facc15, 0 0 22px 6px color-mix(in srgb, var(--fx-color,#facc15) 60%, #facc15);animation:.6s ease-out both champion-ring}@keyframes spotlight{0%{opacity:0}25%,70%{opacity:1}to{opacity:0}}@keyframes champion-ring{0%{box-shadow:0 0 0 24px #facc1500,0 0 #0000}}.round-banner{z-index:6;border-block:2px solid var(--me-accent,#facc15);background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--me-primary,#1e293b) 80%, #000) 18%, color-mix(in srgb, var(--me-primary,#1e293b) 90%, #000) 50%, color-mix(in srgb, var(--me-primary,#1e293b) 80%, #000) 82%, transparent);color:#fff;text-shadow:0 2px 4px #000c;pointer-events:none;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;animation:1.4s cubic-bezier(.2,.8,.3,1) both banner-sweep;display:flex;position:absolute;top:40%;left:0;right:0}.round-banner__title{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.04em;text-transform:uppercase;font-weight:800;line-height:1}.round-banner__note{font-size:var(--text-s);color:#e2e8f0}.round-banner--sudden-death,.round-banner--final{background:linear-gradient(90deg,#0000,#7f1d1df2 18%,#b91c1cf2 50%,#7f1d1df2 82%,#0000);border-color:#fca5a5}.energy--pop{animation:energy-pop .5s var(--ease-spring) .25s both}@keyframes banner-sweep{0%{opacity:0;transform:translate(-110%)}22%,78%{opacity:1;transform:none}to{opacity:0;transform:translate(110%)}}@keyframes energy-pop{0%{filter:brightness(.5);transform:scale(.55)}60%{filter:brightness(1.6);transform:scale(1.15)}}.end--build.end--victory .end__emblem,.end--build.end--defeat .end__emblem{animation:.45s cubic-bezier(.55,0,.8,.3) both emblem-slam}.end--build.end--victory .end__emblems,.end--build.end--defeat .end__emblems{animation:.3s ease-out .42s end-thud}.end--build .end__banner{animation-delay:.3s}.end--build .end__title,.end--build .end__faction,.end--build .end__reason,.end--build .end__towers{animation:.4s ease-out .55s both roll-in}.end--build .end__reason{animation-delay:.7s}.end--build .end__towers{animation-delay:.85s}.end--escaped.end--build .end__title{animation-delay:.2s}.end__confetti,.end__rain{border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.end__confetti{z-index:1}.end__confetti i{top:-14px;left:var(--x);background:var(--c);opacity:0;width:8px;height:13px;animation:confetti-fall 1s cubic-bezier(.25, .6, .5, 1) calc(.3s + var(--d)) both;border-radius:2px;position:absolute}.end__rain{z-index:-1;-webkit-backdrop-filter:grayscale(.85)brightness(.85);backdrop-filter:grayscale(.85)brightness(.85);animation:.9s ease-out .2s both end-grey}.end__rain i{top:-20%;left:var(--x);opacity:0;width:2px;height:18%;animation:rain-fall .5s linear calc(.2s + var(--d)) 2 both;background:linear-gradient(#0000,#93c5fdaa);position:absolute}.end--settled .end__emblem,.end--settled .end__emblems,.end--settled .end__banner,.end--settled .end__title,.end--settled .end__faction,.end--settled .end__reason,.end--settled .end__towers,.end--settled .end__rain{animation:none}.end--settled .end__confetti,.end--settled .end__rain i{display:none}@keyframes emblem-slam{0%{opacity:0;transform:scale(2.6)}70%{opacity:1;transform:scale(.94)}}@keyframes end-thud{30%{transform:translateY(6px)}60%{transform:translateY(-2px)}}@keyframes roll-in{0%{opacity:0;transform:translateY(.9em)rotateX(80deg)}}@keyframes confetti-fall{0%{opacity:1;transform:none}80%{opacity:1}to{transform:translateY(640px) rotate(var(--r)) rotateX(720deg);opacity:0}}@keyframes rain-fall{0%{opacity:.8;transform:rotate(12deg)translateY(0)}to{opacity:.8;transform:rotate(12deg)translateY(900%)}}@keyframes end-grey{0%{-webkit-backdrop-filter:grayscale(0)brightness();backdrop-filter:grayscale(0)brightness()}}.match--reduced .tower-view__crack--falling,.match--reduced .tower-view__debris,.match--reduced .spotlight,.match--reduced .end__confetti,.match--reduced .end__rain i{display:none}.match--reduced .moment-champion,.match--reduced .energy--pop,.match--reduced .end__rain,.match--reduced .end--build .end__emblems{animation:none}.match--reduced .board:has(.tower.fx-collapse){animation:none}.match--reduced .round-banner{animation:1.4s both fade-in-out}.match--reduced .end--build .end__emblem,.match--reduced .end--build .end__title,.match--reduced .end--build .end__faction,.match--reduced .end--build .end__reason,.match--reduced .end--build .end__towers{animation:.4s both fade-in}.match--reduced .slot__card--ghost,.match--reduced.match--shake,.match--reduced .fx-attack,.match--reduced .fx-hit,.match--reduced .tower.fx-tower-hit,.match--reduced .fx-empower .slot__card{animation:none}.match--reduced .shot,.match--reduced .sig,.match--reduced .wave:before,.match--reduced .fx-enter:after,.match--reduced .tower.fx-collapse:after,.match--reduced .fx-heal:after,.match--reduced .fx-empower:after,.match--reduced .fx-die:after{display:none}.match--reduced .reveal{animation:.55s both fade-in-out}.match--reduced .fx-enter .slot__card,.match--reduced .fx-move--up .slot__card,.match--reduced .fx-move--down .slot__card{animation:.3s both fade-in}.match--reduced .fx-die .slot__card,.match--reduced .fx-collapse .tower-view__falling{animation:.45s forwards fade-out}.match--reduced .impact,.match--reduced .fx-block:after{animation-name:fade-flash}.match--reduced .sprite{background-position-x:var(--mid);animation:fade-flash .4s ease-out var(--at)}.match--reduced .float{animation-name:fade-out}.match--reduced .end__banner,.match--reduced .end__emblem{animation:.4s both fade-in}.end{z-index:7;justify-content:safe center;align-items:center;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-l);text-align:center;background:#000d;flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.end>*{flex-shrink:0}.end h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:.02em;font-weight:800}.end--result{background:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--end-primary,#334155) 75%, transparent), #06070af0 72%), var(--end-background,none) center / cover, #06070a}.end--draw{background:radial-gradient(circle at 50% 28%,#334155,#06070a 72%)}.end__emblems{gap:var(--space-4);display:flex}.end__emblem{width:104px;height:104px;filter:drop-shadow(0 0 18px var(--end-accent,#ffffff4d)) drop-shadow(0 6px 10px #0009);animation:.5s cubic-bezier(.2,1.4,.4,1) both emblem-in}.end--draw .end__emblem{width:76px;height:76px}@keyframes emblem-in{0%{opacity:0;transform:scale(.4)}}.end__banner{border-radius:var(--radius-m);padding:2px 32px;animation:.6s cubic-bezier(.2,1.4,.4,1) both banner-in}.end h2.end__banner{font-size:var(--text-3xl);text-transform:uppercase;line-height:1.1}.end__banner--win{color:#1c1300;background:linear-gradient(#facc15,#b45309);box-shadow:0 0 28px #facc1588}.end__banner--lose{color:#fecaca;box-shadow:var(--shadow-3);background:linear-gradient(#7f1d1d,#450a0a)}.end__banner--draw{background:#334155}@keyframes banner-in{0%{opacity:0;transform:translateY(-60px)scale(.6)}}.end__faction{font-family:var(--font-display);font-size:var(--text-l);color:var(--end-accent,var(--text));text-shadow:0 1px 3px #000c;font-weight:600}.end__reason{max-width:300px;font-size:var(--text-m);color:var(--text)}.end__quote{max-width:320px;font-size:var(--text-s);color:var(--text);text-align:left;background:#00000059;border-radius:12px;align-items:center;gap:8px;margin:0;padding:6px 10px;font-style:italic;display:flex}.end__quote img{object-fit:cover;border-radius:50%;flex:none;width:36px;height:36px}.end__quote b{font-style:normal}.end__towers{flex-direction:column;gap:6px;width:min(100%,300px);display:flex}.end__side{justify-content:space-between;align-items:center;gap:var(--space-3);border-left:3px solid var(--side-accent);border-radius:var(--radius-s);font-size:var(--text-s);color:var(--text-dim);background:#00000073;padding:6px 12px;display:flex}.end__hps{color:var(--text-dim)}.end__hps b{font-family:var(--font-display);font-size:var(--text-l);color:#fff;font-weight:800}.end__hps b.is-down{color:#f87171}.end__unlock{align-items:center;gap:var(--space-3);border-radius:var(--radius-m);text-align:left;width:min(100%,300px);animation:unlock-pop .5s var(--ease-spring,ease-out) .4s both;background:#e8c25a24;border:2px solid #e8c25a;padding:8px 12px;display:flex;box-shadow:0 0 16px #e8c25a59}.end__unlock-look{flex:none;width:54px;height:72px;display:flex}.end__unlock-text{min-width:0;font-size:var(--text-s);flex-direction:column;gap:2px;display:flex}.end__unlock-title{font-family:var(--font-display);font-size:var(--text-l);color:#fde68a;text-transform:uppercase;letter-spacing:.04em}.end__unlock-text small{color:#cbd5e1;font-size:var(--text-xs)}@keyframes unlock-pop{0%{opacity:0;transform:scale(.7)}}:root[data-motion=reduced] .end__unlock{animation:none}@media (prefers-reduced-motion:reduce){.end__unlock{animation:none}}.progress__title,.start__title-tag{color:#e8c25a}.progress__title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em}.end__levelup{border-radius:var(--radius-m);font-size:var(--text-s);animation:unlock-pop .5s var(--ease-spring,ease-out) both;background:#e8c25a24;border:2px solid #e8c25a;flex-direction:column;gap:2px;padding:8px 12px;display:flex;box-shadow:0 0 16px #e8c25a59}.end__levelup-title{font-family:var(--font-display);font-size:var(--text-l);color:#fde68a;text-transform:uppercase;letter-spacing:.04em}:root[data-motion=reduced] .end__levelup{animation:.4s both fade-in}@media (prefers-reduced-motion:reduce){.end__levelup{animation:none}}.emote-bubble__name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;opacity:.7;display:block}.end__buttons{justify-content:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.end--result .end__buttons{z-index:1;bottom:calc(-1 * var(--space-5));margin:var(--space-2) calc(-1 * var(--space-5)) calc(-1 * var(--space-5));padding:var(--space-4) var(--space-5) var(--space-5);background:linear-gradient(transparent, #06070af5 var(--space-4));align-self:stretch;position:sticky}@media (height<=900px){.end--result{gap:var(--space-2);padding-top:var(--space-4)}.end--result .end__emblem{width:64px;height:64px}.end--result h2.end__banner{font-size:var(--text-2xl)}.end--result .end__faction{font-size:var(--text-m)}.end--result .end__reason,.end--result .end__quote{font-size:var(--text-s)}.end--result .end__unlock,.end--result .end__levelup{padding-block:6px}}.end--confirm,.end--escaped{z-index:10}.end--confirm{background:#000000b8}.end__panel{align-items:center;gap:var(--space-3);max-width:320px;padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-3);flex-direction:column;display:flex}.mulligan{width:min(92vw,440px);max-width:none;padding:var(--space-4)}.mulligan p{margin:0}.mulligan__cards{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.mulligan__card{aspect-ratio:1/1.38;border-radius:var(--radius-s);background:0 0;border:2px solid #0000;padding:0;transition:transform .15s}.mulligan__card.is-marked{border-color:var(--target);opacity:.6;transform:translateY(-6px)}.mulligan__card:disabled{cursor:default}.end--escaped{background:radial-gradient(circle at 50% 28%,#1e3a5f,#0b1422f5 72%)}.end--escaped .end__title{font-size:var(--text-2xl);color:#93c5fd;text-transform:uppercase}.start{align-items:center;gap:var(--space-3);width:100%;max-width:480px;height:100%;padding:var(--space-4) var(--space-4) var(--space-5);text-align:center;flex-direction:column;margin:0 auto;display:flex;overflow-y:auto}.start>*{flex-shrink:0}.start h1{font-family:var(--font-display);font-size:clamp(1.75rem, 9vw, var(--text-2xl));white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;font-weight:800;line-height:1}.start__title{width:100%;min-height:var(--touch);justify-content:center;align-items:center;display:flex;position:relative}.start__title .sound-toggle{position:absolute;top:50%;right:0;transform:translateY(-50%)}.start__title .motion-toggle{left:0;right:auto}.start h2{font-size:var(--text-m)}.start__main{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.start__main>*,.start__col>*{flex-shrink:0}@media (width<=639.98px){.start__col{display:contents}.start__col>.next{order:1}.start__col>.friends__feed{order:2}.start__col>.start__sync{order:3}.start__col>.start__hero{order:4}.start__col>.start__skins{order:5}.start__col>.start__notice{order:6}.start__col>.start__play{order:7}.start__col>.start__foe{order:8}.start__col>.start__levels{order:9}.start__col>.start__stats{order:10}.start__col>.start__continue{order:11}}@media (width>=640px){.start{max-width:960px}.start__main{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,7fr) minmax(0,6fr);display:grid}.start__col{align-items:center;gap:var(--space-3);flex-direction:column;min-width:0;display:flex}}.start__hero{align-items:center;gap:var(--space-1);width:100%;padding:10px var(--space-3) 0;border:1px solid color-mix(in srgb, var(--side-accent) 50%, transparent);border-radius:var(--radius-l);background-color:var(--side-primary);box-shadow:var(--shadow-3);isolation:isolate;background-position:50%;background-size:cover;flex-direction:column;display:flex;position:relative;overflow:hidden}.start__hero:before{content:"";z-index:-1;background:linear-gradient(color-mix(in srgb, var(--side-primary) 60%, #00000080), #06070a8c 55%, #06070ad9);position:absolute;inset:0}.start__crest{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:flex}.start__emblem{width:40px;height:40px;filter:drop-shadow(0 0 12px var(--side-accent)) drop-shadow(0 3px 6px #0009);display:block}.start .start__faction{font-family:var(--font-display);font-size:var(--text-l);text-shadow:0 2px 4px #000c;font-weight:800;line-height:1.1}.start__description{max-width:360px;min-height:2.8em;font-size:var(--text-xs);color:#e5e7eb;text-shadow:0 1px 3px #000000e6}.start__preview{height:100px;padding-top:var(--space-1);justify-content:center;align-items:flex-start;display:flex}.start__card{filter:drop-shadow(0 6px 10px #0009);width:88px;height:121px;transform:translateY(calc(var(--off) * var(--off) * 10px)) rotate(calc(var(--off) * 9deg));transform-origin:50% 120%;margin:0 -8px}.start__card:nth-child(2){z-index:1}.start__card{animation:.4s cubic-bezier(.2,.8,.3,1.1) backwards start-fan-in,3.6s ease-in-out .4s infinite alternate start-float}.start__card:nth-child(2){animation-duration:.4s,4.2s;animation-delay:0s,-1.4s}.start__card:nth-child(3){animation-duration:.4s,3.9s;animation-delay:0s,-2.6s}@keyframes start-fan-in{0%{transform:translateX(calc(var(--off) * -92px)) translateY(12px) rotate(0deg)}}@keyframes start-float{0%{translate:0}to{translate:0 -5px}}.start__emblem-glow{flex-shrink:0;width:40px;height:40px;display:block;position:relative}.start__emblem-glow:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--side-accent) 70%, transparent), transparent);opacity:.45;border-radius:50%;animation:3.2s ease-in-out infinite alternate start-glow;position:absolute;inset:-12px}@keyframes start-glow{0%{opacity:.3;transform:scale(.9)}to{opacity:.75;transform:scale(1.08)}}.start__motes{z-index:-1;pointer-events:none;position:absolute;inset:0}.start__motes span{--size:4px;--color:color-mix(in srgb, var(--side-accent) 60%, #fff);bottom:0;left:var(--x);width:var(--size);height:var(--size);background:var(--color);opacity:0;animation:start-rise calc(7s + var(--i) * .6s) linear calc(var(--i) * -1.7s) infinite;border-radius:50%;position:absolute}@keyframes start-rise{0%{opacity:0;transform:translate(0)}20%{opacity:.6}80%{opacity:.4}to{opacity:0;transform:translate(12px,-320px)}}.start__motes--leaves span{--size:11px;--color:#d4ee8a;border-radius:0 100%;height:7px;animation-name:start-fall;top:0;bottom:auto;box-shadow:0 0 3px #0006}@keyframes start-fall{0%{opacity:0;transform:translateY(-10px)rotate(0)}15%{opacity:.75}50%{transform:translate(18px,170px)rotate(160deg)}85%{opacity:.6}to{opacity:0;transform:translate(-6px,360px)rotate(320deg)}}.start__motes--sparks span{--size:3px;--color:#ffb347;animation-name:start-spark;animation-duration:calc(2.4s + var(--i) * .35s);animation-delay:calc(var(--i) * -.9s);box-shadow:0 0 4px #ff8c1a}@keyframes start-spark{0%{opacity:0;transform:translate(0)}10%{opacity:1}to{opacity:0;transform:translate(-20px,-240px)}}.start__motes--dust span{--size:14px;--color:radial-gradient(closest-side, #baa0708c, transparent);animation-name:start-dust;animation-duration:calc(9s + var(--i) * .8s);bottom:6%}@keyframes start-dust{0%{opacity:0;transform:translate(-30px)scale(.6)}40%{opacity:.8}to{opacity:0;transform:translate(60px,-90px)scale(1.6)}}.start__motes--crumbs span{--size:4px;--color:#d9b27c;animation-name:start-crumb;animation-duration:calc(4.5s + var(--i) * .5s);border-radius:1px;top:0;bottom:auto}@keyframes start-crumb{0%{opacity:0;transform:translateY(-10px)rotate(0)}10%{opacity:.85}90%{opacity:.7}to{opacity:0;transform:translate(6px,360px)rotate(540deg)}}.start__motes--yarn span{--size:7px;border:1.5px solid color-mix(in srgb, var(--side-accent) 70%, #fff);animation-name:start-fall;animation-duration:calc(9s + var(--i) * .7s);background:0 0;top:0;bottom:auto}.start__motes--paws span{--size:6px;--color:#d6c4aacc;animation-name:start-dust;animation-duration:calc(5s + var(--i) * .6s);bottom:2%}:root[data-motion=reduced] .start__card,:root[data-motion=reduced] .start__emblem-glow:before{animation:none}:root[data-motion=reduced] .start__motes{display:none}.start__hero.is-paused *,.start__hero.is-paused :before{animation-play-state:paused}.intro{z-index:100;justify-content:center;align-items:center;gap:var(--space-6);background:var(--bg);cursor:pointer;flex-direction:column;animation:1.5s linear forwards intro-out;display:flex;position:fixed;inset:0}@keyframes intro-out{0%,73%{opacity:1}to{opacity:0}}.intro__logo{font-family:var(--font-display);font-size:min(var(--text-3xl), 14vw);letter-spacing:.06em;white-space:nowrap;text-transform:uppercase;color:var(--text-dim);font-weight:800;line-height:1;animation:.45s ease-out backwards intro-logo;position:relative}@keyframes intro-logo{0%{opacity:0;transform:scale(.88)}}.intro__shine{width:30%;animation:.6s linear .3s backwards intro-shine-band;position:absolute;top:0;bottom:0;left:0;overflow:hidden;transform:translate(333.34%);-webkit-mask-image:linear-gradient(90deg,#0000,#000 50%,#0000);mask-image:linear-gradient(90deg,#0000,#000 50%,#0000)}.intro__shine>span{color:#fff;text-shadow:0 0 12px #fff9;width:333.34%;animation:.6s linear .3s backwards intro-shine-logo;position:absolute;top:0;left:0;transform:translate(-100%)}@keyframes intro-shine-band{0%{transform:translate(-100%)}}@keyframes intro-shine-logo{0%{transform:translate(30%)}}.intro__cards{gap:var(--space-2);display:flex}.intro__card{filter:drop-shadow(0 6px 10px #0009);width:112px;height:154px;animation:.55s cubic-bezier(.2,.8,.3,1) .4s backwards intro-slide-me}.intro__card--mirror{opacity:.8;animation-name:intro-slide-mirror}.intro__card--mirror>.card{transform:scaleX(-1)}@keyframes intro-slide-me{0%{opacity:0;transform:translate(-50vw)}}@keyframes intro-slide-mirror{0%{opacity:0;transform:translate(50vw)}}.start__skins{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;padding:2px;display:grid}.start__skin{min-width:0;min-height:84px;padding:var(--space-2) var(--space-1);border:2px solid var(--line);border-radius:var(--radius-m);background:color-mix(in srgb, var(--me-primary,#232937) 55%, #0c0e13);font-size:var(--text-xs);overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:600;line-height:1.2;display:flex}.start__skin img,.start__monogram{width:32px;height:32px}.start__monogram{background:var(--surface-2);font-family:var(--font-display);font-size:var(--text-l);border-radius:50%;place-items:center;font-weight:800;display:grid}.start__skin.is-selected{border-color:var(--me-accent,var(--target));box-shadow:0 0 0 1px var(--me-accent,var(--target)), var(--shadow-2)}.start__own{font-size:var(--text-xs);opacity:.75;font-weight:400}.start__play{width:100%;min-height:56px;font-size:var(--text-xl)}.start__continue{width:100%;font-size:var(--text-m)}.start__levels{border:2px solid var(--line);border-radius:var(--radius-l);width:100%;display:flex;overflow:hidden}.start__level{min-width:min-content;min-height:var(--touch);background:var(--surface);border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-weight:600;display:flex}.start__level+.start__level{border-left:2px solid var(--line)}.start__level.is-selected{color:var(--target);background:#16331f}.start__portrait{object-fit:cover;background:#0006;border-radius:50%;width:40px;height:40px}.start__opponent{font-size:var(--text-xs);overflow-wrap:anywhere;line-height:1.1}.start__level-name{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;opacity:.8;font-weight:800}.start__foe{font-size:var(--text-s);color:#cbd5e1}.start__confirm{z-index:10;padding:24px;position:fixed}.start__stats{font-size:var(--text-s);color:#cbd5e1}.start__sync{font-size:var(--text-xs,.75rem);color:#94a3b8;margin:0}.start__notice{font-size:var(--text-s);color:#fbbf24}.start__trying{font-size:var(--text-xs,.75rem);margin:0}.start__shortcuts{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(76px,1fr));width:100%;display:grid}.start__shortcut{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);min-width:0;min-height:52px;font-size:var(--text-xs);overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-weight:600;line-height:1.2;display:flex}.start__shortcut>span:first-child{font-size:1.2rem;line-height:1}.start__badge{color:#fde68a}@media (width>=640px){.start__shortcut{gap:var(--space-2);font-size:var(--text-s);flex-direction:row}}.start__more{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}@media (width>=640px){.start__more{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.start__action{align-items:center;gap:var(--space-2);min-height:52px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);font-size:var(--text-s);text-align:left;font-weight:600;line-height:1.2;display:flex}.start__action[aria-expanded=true]{border-color:var(--target);background:#16331f}.start__action>span:first-child{font-size:1.25rem}.create-ai{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);text-align:left;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.create-ai__steps{padding-left:1.4em;font-size:.9rem}.create-ai__theme{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.create-ai__theme input{color:inherit;background:#0d0d0d;border:1px solid #555;border-radius:6px;padding:8px;font-size:16px}.create-ai__buttons{gap:8px;display:flex}.create-ai__buttons button{background:#1c1c1c;border:2px solid #444;border-radius:8px;flex:1;padding:10px;font-weight:600}.create-ai__paste{background:#1c1c1c;border:2px solid #16a34a;border-radius:8px;padding:8px 12px;font-weight:600}.create-ai__status{opacity:.8;min-height:1.2em;font-size:.85rem}.import-pack{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);text-align:left;flex-direction:column;gap:8px;width:100%;padding:12px;display:flex}.import-pack__buttons{gap:8px;display:flex}.import-pack__button{text-align:center;cursor:pointer;background:#1c1c1c;border:2px solid #444;border-radius:8px;flex:1;padding:10px;font-weight:600;position:relative}.import-pack__button:focus-within{outline:2px solid #16a34a}.import-pack__button input{opacity:0;width:1px;height:1px;position:absolute}.import-pack__paste{flex-direction:column;gap:8px;display:flex}.import-pack__paste label{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.import-pack__paste textarea{color:inherit;resize:vertical;background:#0d0d0d;border:1px solid #555;border-radius:6px;padding:8px;font-family:monospace;font-size:16px}.import-pack__paste-buttons{gap:8px;display:flex}.import-pack__paste-buttons button{background:#1c1c1c;border:2px solid #444;border-radius:8px;flex:1;padding:10px;font-weight:600}.import-pack__result{font-size:.85rem}.import-pack__failed,.import-pack__errors{color:#f87171}.import-pack__errors{padding-left:1.4em}.import-pack__warnings{opacity:.8}.how{z-index:10;text-align:left;background:#111;flex-direction:column;gap:12px;width:100%;max-width:430px;margin:0 auto;padding:12px;font-size:.9rem;line-height:1.35;display:flex;position:fixed;inset:0;overflow:hidden auto}.how__head{justify-content:space-between;align-items:center;display:flex}.how__close{background:#1c1c1c;border:1px solid #4a5468;border-radius:8px;padding:6px 14px}.how__note{color:#fbbf24;font-size:.8rem}.how__section{background:#1a1a1a;border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.how__section h3{font-size:1rem}.how__section ol,.how__section ul{flex-direction:column;gap:4px;padding-left:1.2em;display:flex}.how__row{justify-content:center;gap:12px;display:flex}.how__tower{background:#2a2f3a;border:1px solid #4a5468;border-radius:6px;width:64px;height:36px;padding:2px;font-weight:700}.how__lane{flex-direction:column;align-items:center;gap:4px;margin:0;display:flex}.how__lane figcaption{opacity:.8;font-size:.75rem}.how__mini{width:56px;height:74px}.how__mini--empty{color:#666;border:1px dashed #444;border-radius:6px;justify-content:center;align-items:center;font-size:.7rem;display:flex}.how__keywords{flex-direction:column;gap:4px;display:flex}.how__keywords dt{font-weight:700;display:inline}.how__keywords dt:after{content:": "}.how__keywords dd{margin:0;display:inline}.how__cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 6px;display:grid}.how__card{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.how__card-name{font-size:.7rem;font-weight:700}.how__card-text{opacity:.85;font-size:.62rem;line-height:1.2}.how__tips{align-items:center;gap:8px;padding:4px 0 12px;display:flex}.how__tips input{width:20px;height:20px}.start__emotes{min-height:var(--touch);border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--line);font-size:var(--text-s);padding:6px 16px}.start__emotes[aria-checked=false]{color:#cbd5e1}.start__deck{width:100%;min-height:var(--touch);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);padding:10px;font-weight:600}.deck{z-index:10;background:#111;flex-direction:column;gap:10px;width:100%;max-width:430px;margin:0 auto;padding:12px;font-size:.9rem;display:flex;position:fixed;inset:0;overflow:hidden auto}.deck>*{flex-shrink:0}.deck__presets{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.deck__preset{min-height:var(--touch);border:2px solid var(--line);border-radius:var(--radius-m);background:var(--surface);padding:6px 4px;font-size:.8rem;font-weight:700;line-height:1.15}.deck__preset.is-selected{border-color:#16a34a}.deck__style{color:#e2e8f0;min-height:2.4em}.deck__count{font-weight:700}.deck__hint{color:#cbd5e1;font-size:.8rem}.deck__cards{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.deck__card{aspect-ratio:3/4;opacity:.45;background:0 0;border:3px solid #0000;border-radius:8px;padding:0}.deck__card.is-selected{opacity:1;border-color:#16a34a}.deck__card:disabled{opacity:.25;cursor:default}.deck__card.is-locked{position:relative}.deck__card-lock{color:#fde68a;font-size:var(--text-xs);background:#000000bf;padding:2px 0;font-weight:700;position:absolute;inset:auto 0 35%}.deck__lock{font-size:var(--text-xs)}.deck__card.is-new{animation:.7s ease-out both deck-reveal;position:relative;box-shadow:0 0 0 2px #fbbf24}@keyframes deck-reveal{0%{transform:rotateY(90deg)scale(.8)}60%{transform:rotateY(0)scale(1.08)}to{transform:none}}:root[data-motion=reduced] .deck__card.is-new{animation:none}.deck__card-new{color:#1c1917;font-size:var(--text-xs);background:#fbbf24;border-radius:999px;padding:1px 6px;font-weight:800;position:absolute;top:-6px;right:-6px}.deck__new{color:#fbbf24;margin:0;font-weight:700}.deck__actions{flex-direction:column;gap:8px;display:flex}.coach{left:12px;right:12px;bottom:calc(var(--hand-h) + var(--controls-h) + 14px);z-index:5;color:#111;pointer-events:none;background:#fbbf24;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:.85rem;font-weight:600;display:flex;position:absolute;box-shadow:0 2px 8px #0008}.coach--raised{bottom:calc(var(--hand-h) + var(--controls-h) + var(--detail-h) + 19px)}.coach__text{flex:1}.coach__close{pointer-events:auto;color:#111;background:#0002;border-radius:6px;min-width:32px;min-height:32px;padding:2px 8px}.share,.watch{z-index:11;padding:16px 12px calc(16px + env(safe-area-inset-bottom));text-align:center;background:#0b0f19f7;justify-content:flex-start;position:fixed;overflow-y:auto}.share h2,.watch h2{font-size:1.4rem}.share__canvas{aspect-ratio:9/16;background:#000;border-radius:8px;flex:none;height:min(42vh,360px)}.share__rounds,.share__views{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.share__round{background:#1c1c1c;border:2px solid #4a5468;border-radius:8px;min-width:40px;min-height:40px;padding:6px 10px;font-weight:700}.share__round.is-selected{background:#3a3212;border-color:#facc15}.share__progress{align-items:center;gap:12px;display:flex}.share__progress progress{width:180px;height:14px}.share__notice{color:#cbd5e1;flex-direction:column;gap:6px;max-width:340px;display:flex}.share__code{color:#e5e7eb;word-break:break-all;background:#111;border-radius:8px;width:min(340px,90vw);min-height:72px;padding:8px;font-family:ui-monospace,monospace;font-size:16px}.watch__list{flex-direction:column;gap:6px;width:min(340px,90vw);padding:0;list-style:none;display:flex}.collection{background:#0b0f19}.collection__note{font-size:var(--text-s);color:#cbd5e1}.collection__packs{gap:var(--space-3);text-align:left;flex-direction:column;width:100%;max-width:480px;padding:0;list-style:none;display:flex}.collection__pack{padding:var(--space-2) var(--space-3);border:2px solid var(--side-accent);border-radius:var(--radius-m);background:color-mix(in srgb, var(--side-primary) 55%, #0b0f19)}.collection__faction{align-items:center;gap:var(--space-2);font-size:var(--text-m);display:flex}.collection__faction img{object-fit:contain;width:32px;height:32px}.collection__faction small{font-size:var(--text-xs);margin-left:auto;font-weight:600}.collection__rewards{margin:var(--space-1) 0 0;font-size:var(--text-s);padding:0;list-style:none}.collection__reward{opacity:.75}.collection__reward.is-unlocked{opacity:1;color:#fde68a}.collection__how{color:#cbd5e1;font-size:var(--text-xs)}.watch__match{background:#1c1c1c;border:2px solid #4a5468;border-radius:8px;width:100%;min-height:40px;padding:8px}.player__recovery{align-items:center;gap:var(--space-2);flex-direction:column;max-width:340px;display:flex}.player__code{font-family:ui-monospace,monospace;font-size:var(--text-l);letter-spacing:.08em;-webkit-user-select:all;user-select:all}.player__row{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.player__row button,.player__recovery>button{min-height:var(--touch);border-radius:8px;padding:8px 14px}.player__switches>.start__emotes{border-radius:var(--radius-full);padding:6px 16px}.player__nickname{width:min(340px,90vw);min-height:var(--touch);color:#e5e7eb;border:1px solid var(--line);font-size:var(--text-m);background:#111;border-radius:8px;padding:8px}.watch__label{flex-direction:column;gap:4px;font-weight:600;display:flex}.replay{flex-direction:column;align-items:center;gap:8px;width:100%;height:100%;padding:8px;display:flex}.replay__bar,.replay__controls{justify-content:space-between;align-items:center;gap:12px;width:min(430px,100%);display:flex}.replay__controls{justify-content:center}.replay__round{font-weight:700}.replay__canvas{aspect-ratio:9/16;background:#000;border-radius:8px;flex:auto;max-width:100%;min-height:0}.trainer-button{background:#1c1c1c;border:1px solid #4a5468;border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:1.1rem;line-height:1}.trainer-button[aria-expanded=true]{background:#1e3a8a;border-color:#60a5fa}.trainer-button:disabled{opacity:.4;cursor:default}.coach.trainer{background:#bfdbfe}.is-suggested{outline-offset:-2px;outline:2px dashed #60a5fa}.forecast{z-index:2;pointer-events:none;flex-wrap:wrap;place-content:flex-start flex-end;align-items:flex-start;gap:2px;padding:2px;display:flex;position:absolute;inset:0}.forecast--fading{animation:.6s ease-out forwards forecast-fade}@keyframes forecast-fade{to{opacity:0}}.forecast__chip{color:#fff;border:1px dashed #ffffffb3;border-radius:6px;padding:0 4px;font-size:.75rem;font-weight:800;line-height:1.35;box-shadow:0 1px 2px #0009}.forecast--threat .forecast__chip{background:#b91c1c}.forecast--chance .forecast__chip{background:#15803d}.forecast__icon{filter:drop-shadow(0 1px 1px #000);font-size:.85rem;line-height:1.2}.forecast__open{color:#111;filter:none;background:#fbbf24;border-radius:6px;padding:0 3px;font-weight:800}.forecast__ring{border-radius:var(--radius-s);border:2px solid #ef4444;animation:1.2s ease-in-out infinite forecast-pulse;position:absolute;inset:4% 8%}@keyframes forecast-pulse{0%,to{opacity:.35;box-shadow:0 0 #ef444400}50%{opacity:1;box-shadow:0 0 10px 2px #ef444499}}.match--reduced .forecast__ring{opacity:.85;animation:none}.board .coach.forecast-legend{background:#e5e7eb;padding:6px 8px;font-size:.85rem;inset:15% 8px auto}.commander-button{border-radius:var(--radius-full);color:#1c1917;height:36px;font-family:var(--font-display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(160deg,#fde68a,#ca8a04);border:1px solid #a16207;flex-shrink:0;padding:0 10px;font-weight:700}.commander-button.is-active{outline:2px solid var(--target);box-shadow:0 0 12px #facc1599}.commander-button:disabled{opacity:.45;cursor:default}.commander-button.is-used{color:#a1a1aa;background:#3f3f46;border-color:#4a5468}.commander-hint{font-size:var(--text-xs);font-weight:600}.is-redeploy{outline-offset:-2px;outline:2px dashed #facc15}.opponent-commander{border-radius:var(--radius-full);color:#facc15;background:#00000059;flex:none;padding:2px 8px;font-weight:700}.opponent-commander.is-used{color:#71717a}.leader{pointer-events:none;flex:none;place-items:center;width:36px;height:44px;display:grid;position:relative}.leader>.leader__emblem{opacity:.85;position:absolute;top:5px;left:1px}.leader__body{transform-origin:50% 100%;place-items:end center;width:100%;height:100%;display:grid}.leader--emblem .leader__body{place-items:center}.leader__pic{object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 1px 2px #000c);width:100%;height:100%;display:block}.leader__body--idle>*{transform-origin:50% 100%;animation:3.2s ease-in-out infinite leader-breathe}.leader__pic--emote{background:#f8fafc;border-radius:50%;width:34px;height:34px;margin-bottom:5px;animation:.2s ease-out emote-pop}.leader__body--idle>.leader__pic--emote{animation:.2s ease-out emote-pop}.leader__body--cheer{animation:.7s ease-out leader-cheer}.leader__body--flinch{animation:.5s ease-out leader-flinch}.leader__body--flinch>*{filter:drop-shadow(0 0 4px #ef4444f2)saturate(.7)}.leader__body--power{animation:.9s ease-out leader-power}.leader__body--power>*{filter:drop-shadow(0 0 5px #facc15)drop-shadow(0 0 10px #facc1599)}@keyframes leader-breathe{50%{transform:scaleY(1.04)}}@keyframes leader-cheer{30%{transform:translateY(-5px)scale(1.1)}55%{transform:translateY(0)scale(1)}75%{transform:translateY(-2px)scale(1.05)}}@keyframes leader-flinch{20%{transform:translate(-3px)rotate(-6deg)scale(.94)}45%{transform:translate(2px)rotate(3deg)}70%{transform:translate(-1px)}}@keyframes leader-power{35%{transform:scale(1.15)}}.leader--still .leader__body,.leader--still .leader__body>*{animation:none}@media (prefers-reduced-motion:reduce){.leader__body,.leader__body>*{animation:none}}.opponent-ready{border-radius:var(--radius-full);color:#fff;background:#16a34a;flex:none;padding:2px 8px;font-weight:600}.online-banner{z-index:6;color:#fff;text-align:center;pointer-events:none;background:#1e293bf0;border:2px solid #f59e0b;border-radius:10px;padding:8px 10px;font-weight:600;position:absolute;top:64px;left:12px;right:12px}.friend__link{max-width:min(340px,90vw);font-family:var(--font-display);font-size:var(--text-l);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#1c1c1c;border-radius:8px;padding:10px}.friend__code{font-family:var(--font-display);letter-spacing:.2em;font-size:2rem}.progress{align-items:center;gap:var(--space-2);grid-template-columns:auto 1fr auto;width:100%;display:grid}.progress__level{font-family:Barlow Condensed,sans-serif;font-size:var(--text-m)}.progress__bar{background:#ffffff26;border-radius:4px;height:8px;overflow:hidden}.progress__bar>span{background:#fbbf24;height:100%;display:block}.progress__xp{font-size:var(--text-xs);color:#cbd5e1}.start__progress{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.next{gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);text-align:left;flex-direction:column;display:flex}.start__footer{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-xs);color:#64748b;text-align:center}.start__footer a{color:#94a3b8;align-items:center;min-height:32px;padding:0 4px;display:inline-flex}.section-label{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0;font-weight:700}.start__hero .section-label{color:#e5e7eb;text-shadow:0 1px 3px #000000e6;align-self:flex-start}.next__unlock{font-size:var(--text-s);color:#cbd5e1;margin:0}.next__unlock b{color:#fde68a}.next__stage{--stop:44px;max-width:none}.next__quests{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.stars{color:#fbbf24;letter-spacing:1px;white-space:nowrap}.campaign,.quests{background:#0b0f19}.campaign__stages,.quests__group ul{text-align:left;flex-direction:column;gap:6px;width:100%;max-width:480px;margin:0;padding:0;list-style:none;display:flex}.quests__group{width:100%;max-width:480px}.campaign__stage{align-items:center;gap:var(--space-2);padding:6px var(--space-2) 6px 6px;border:1px solid var(--line);border-radius:calc(var(--stop) / 2 + 6px) var(--radius-m) var(--radius-m) calc(var(--stop) / 2 + 6px);background:var(--surface);display:flex;position:relative}.campaign__stage.is-locked{opacity:.55}.campaign__stage.is-locked .campaign__stop img{filter:grayscale()}.campaign__stage.is-here{border-color:#fbbf24;box-shadow:0 0 0 2px #fbbf2459}.campaign__stop{width:var(--stop);height:var(--stop);flex:none;position:relative}.campaign__stop img{object-fit:cover;background:#1e293b;border:3px solid #a16207;border-radius:50%;width:100%;height:100%}.campaign__stage.is-starred .campaign__stop img{border-color:#fbbf24}.campaign__number{min-width:20px;font-size:var(--text-xs);text-align:center;background:#0b0f19;border-radius:10px;padding:0 4px;font-weight:700;line-height:20px;position:absolute;bottom:-4px;right:-4px}.campaign__name{flex-direction:column;flex:1;min-width:0;display:flex}.campaign__twist{color:#fde68a!important}.campaign__chapter{flex-direction:column;align-items:center;width:100%;max-width:480px;display:flex}.campaign__chapter-title{margin:var(--space-2) 0;font-family:Barlow Condensed,sans-serif;font-size:var(--text-m);text-align:left;flex-direction:column;align-self:stretch;display:flex}.campaign__chapter-title small{font-family:Inter,sans-serif;font-size:var(--text-xs);color:#cbd5e1;font-weight:400}.campaign__chapter-title small.is-done,.campaign__milestones .is-done{color:#fde68a}.campaign__milestones{font-size:var(--text-xs);color:#cbd5e1;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:0;padding:0;list-style:none;display:flex}.campaign__next{font-size:var(--text-xs);color:#fde68a;margin:0}.campaign__name small,.quests__count{font-size:var(--text-xs);color:#cbd5e1}.campaign__play{min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-m);font-weight:700}.map{--stop:56px;--sway:min(110px, 26vw);--row:104px;flex-direction:column;gap:0;width:100%;max-width:480px;display:flex;position:relative}.map__chapter{padding:var(--space-2);border:1px solid var(--line);background-color:#0b0f19;flex-direction:column;display:flex;position:relative;overflow:hidden}.map__chapter:first-child{border-radius:var(--radius-m) var(--radius-m) 0 0}.map__chapter:last-child{border-radius:0 0 var(--radius-m) var(--radius-m)}.map__chapter:before{content:"";pointer-events:none;background:linear-gradient(#0b0f19d9,#0b0f1999 30% 70%,#0b0f19d9);position:absolute;inset:0}.map__chapter.is-locked:before{-webkit-backdrop-filter:grayscale();backdrop-filter:grayscale();background:linear-gradient(#0b0f19f0,#1e293bcc 50%,#0b0f19f0)}.map__chapter>*{position:relative}.map__chapter-title{margin:0 0 var(--space-1);text-shadow:0 1px 3px #000}.map__trail{position:relative}.map__road{top:0;left:calc(var(--stop) / 2);width:var(--sway);pointer-events:none;height:100%;position:absolute;overflow:visible}.map__road path{fill:none;stroke-linecap:round}.map__road-bed{stroke:#0b0f19cc;stroke-width:12px}.map__road-line{stroke:#78716c;stroke-width:4px;stroke-dasharray:8 8}.is-walked .map__road-line{stroke:#fbbf24;stroke-dasharray:none}.map__stops{grid-auto-rows:minmax(var(--row), 1fr);text-align:left;margin:0;padding:0;list-style:none;display:grid}.map__stop{align-items:center;display:flex}.map__tap{align-items:center;gap:var(--space-2);width:100%;min-height:var(--touch);padding:4px 0;padding-left:calc(var(--x,0) * var(--sway));border-radius:var(--radius-m);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.map__portrait{width:var(--stop);height:var(--stop);flex:none;position:relative}.map__portrait>img{object-fit:cover;background:#1e293b;border:3px solid #a16207;border-radius:50%;width:100%;height:100%}.map__stop.is-starred .map__portrait>img{border-color:#fbbf24}.map__stop.is-boss .map__portrait{width:68px;height:68px;margin-left:calc((var(--stop) - 68px) / 2)}.map__stop.is-boss .map__portrait>img{border-style:double;border-width:4px;border-radius:12px}.map__stop.is-selected .map__portrait>img{outline-offset:2px;outline:3px solid #fde68a}.map__stop.is-locked .map__portrait>img{filter:grayscale()brightness(.55)blur(1px)}.map__stop.is-locked .map__label{opacity:.6}.map__lock{place-items:center;font-size:1.3rem;display:grid;position:absolute;inset:0}.map__here{background:#0b0f19;border:2px solid #fbbf24;border-radius:50%;width:30px;height:30px;padding:2px;animation:1.6s ease-in-out infinite map-bob;position:absolute;top:-14px;left:-10px}.map__here img{object-fit:contain;width:100%;height:100%}@keyframes map-bob{50%{transform:translateY(-4px)}}:root[data-motion=reduced] .map__here{animation:none}.map__stop.is-here .map__portrait>img{border-color:#fbbf24;box-shadow:0 0 0 4px #fbbf2459}.map__label{border-radius:var(--radius-m);overflow-wrap:anywhere;background:#0b0f19cc;flex-direction:column;flex:1;min-width:0;padding:4px 8px;display:flex}.map__label small{font-size:var(--text-xs);color:#cbd5e1}.map__label .map__here-text,.map__label .map__boss,.map__label .map__reward{color:#fde68a;font-weight:700}.map__gate{margin:var(--space-1) 0 0;border-radius:var(--radius-m);font-size:var(--text-xs);color:#cbd5e1;background:#0b0f19cc;border:1px dashed #78716c;padding:6px}.map__gate.is-done{color:#fde68a;border-color:#fbbf24}.map__walker{z-index:2;animation:none;top:-14px;left:-10px}.map__stop.is-landing .stars{animation:.7s cubic-bezier(.34,1.56,.64,1) both map-stars-land}@keyframes map-stars-land{0%{opacity:0;transform:translateY(-24px)scale(2.2)}}.map__stop.is-unfogging .map__portrait>img{animation:.9s ease-out map-unfog}@keyframes map-unfog{0%{filter:grayscale()brightness(.55)blur(4px)}}.map__label .map__intro{font-size:var(--text-xs);color:#f8fafc;margin-top:2px;font-style:italic}.map__stop.is-unfogging .map__intro{animation:.6s ease-out .3s both map-intro}@keyframes map-intro{0%{opacity:0;transform:translateY(6px)}}.map__gate.is-opening{animation:.9s ease-out map-gate-open}@keyframes map-gate-open{0%{transform:scale(.9);box-shadow:0 0 #fbbf2400}50%{box-shadow:0 0 18px 4px #fbbf2499}}.map__chapter.is-unveiling{animation:1.2s ease-out map-unveil}@keyframes map-unveil{0%{filter:grayscale()brightness(.4)}}.map__cleared{align-items:center;gap:var(--space-1);margin-top:var(--space-1);padding:var(--space-2);border-radius:var(--radius-m);color:#fde68a;background:#0b0f19e6;border:1px solid #fbbf24;flex-direction:column;animation:.6s ease-out both map-intro;display:flex}:root[data-motion=reduced] .map__stop.is-landing .stars,:root[data-motion=reduced] .map__stop.is-unfogging .map__portrait>img,:root[data-motion=reduced] .map__stop.is-unfogging .map__intro,:root[data-motion=reduced] .map__gate.is-opening,:root[data-motion=reduced] .map__chapter.is-unveiling,:root[data-motion=reduced] .map__cleared{animation:none}.map__details{z-index:1;align-items:center;gap:var(--space-2);width:100%;max-width:480px;padding:var(--space-2);border-radius:var(--radius-m);text-align:left;background:#111827;border:1px solid #fbbf24;display:flex;position:sticky;bottom:0}.map__details-portrait{object-fit:cover;background:#1e293b;border-radius:50%;flex:none;width:56px;height:56px}.map__details-actions{flex-direction:column;flex:none;align-items:stretch;gap:4px;display:flex}.map__details-close{min-width:var(--touch);border-radius:var(--radius-m);min-height:36px}.map__details .map__reward{color:#fde68a!important}.next__opponent{flex-direction:column;gap:4px;display:flex}.next__head{font-size:var(--text-s);justify-content:space-between;align-items:center;margin:0;display:flex}.next__map{min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-m);font-weight:700}.quests__quest{font-size:var(--text-s)}.quests__quest.is-done{color:#fde68a}.end__gain{flex-direction:column;align-items:center;gap:4px;width:min(340px,90vw);display:flex}.end__gain p{margin:0}.end__gain-xp b{font-family:Barlow Condensed,sans-serif;font-size:var(--text-l);color:#fde68a}.end__gain-quest{font-size:var(--text-s)}.end__gain-quests,.start__quests-done{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.quests__reroll{min-width:var(--touch);min-height:var(--touch);margin-left:var(--space-1,4px);border-radius:var(--radius-m);font-weight:700}.quest-done{color:#fde68a;animation:.6s cubic-bezier(.34,1.56,.64,1) both quest-done-pop}.quest-done__check{animation:.7s cubic-bezier(.34,1.56,.64,1) .2s both quest-done-check;display:inline-block}.quest-done__xp{color:#fbbf24}.quest-done--calm,.quest-done--calm .quest-done__check{animation:.4s ease-out both quest-done-fade}@keyframes quest-done-pop{0%{opacity:0;text-shadow:0 0 #0000;transform:scale(.8)}60%{opacity:1;text-shadow:0 0 12px #fbbf24cc;transform:scale(1.08)}to{text-shadow:0 0 #0000;transform:scale(1)}}@keyframes quest-done-check{0%{transform:scale(0)rotate(-30deg)}to{transform:scale(1)rotate(0)}}@keyframes quest-done-fade{0%{opacity:0}to{opacity:1}}.end__gain-cards{gap:var(--space-2);display:flex}.end__gain-card{width:72px;font-size:var(--text-xs);flex-direction:column;align-items:center;display:flex}.friends{background:#0b0f19}.friends__list,.friends__challenges,.friends__feed{gap:var(--space-2);flex-direction:column;width:100%;max-width:400px;margin:0;padding:0;list-style:none;display:flex}.friends__friend,.friends__challenge{justify-content:space-between;align-items:center;gap:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);flex-wrap:wrap;padding:10px;display:flex}.friends__challenge{border-color:#fbbf24;box-shadow:0 4px 16px #0009}.friends__challenges{top:var(--space-2);z-index:5;position:sticky}.friends__who{text-align:left;flex-direction:column;gap:2px;display:flex}.friends__level,.friends__record,.friends__ask{font-size:var(--text-s);color:#cbd5e1}.friends__feed{font-size:var(--text-s);color:#cbd5e1;gap:2px}.lane-label--condition{text-transform:none;letter-spacing:0;background:#facc1514;padding:0 4px;box-shadow:inset 0 0 0 1px #facc1540}.lane-condition{flex-direction:column;align-items:center;min-width:0;line-height:1.1;display:flex}.lane-condition__name{color:#fde68a;font-size:var(--text-xs);white-space:nowrap;font-weight:700}.lane-condition__icon{margin-right:3px}.lane-condition__rule{color:#ffffffbf;max-width:100%;font-family:var(--font-ui);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;font-weight:500;display:-webkit-box;overflow:hidden}.lane-condition--fresh{animation:1.2s ease-out both condition-reveal}@keyframes condition-reveal{0%{opacity:0;filter:drop-shadow(0 0 12px #facc15);transform:scale(1.6)}45%{opacity:1;transform:scale(.95)}to{filter:drop-shadow(0 0 #0000);transform:scale(1)}}.match--reduced .lane-condition--fresh{animation:.4s both fade-in}.bounty{min-width:0;font-size:var(--text-xs);white-space:nowrap;background:#facc151a;border-radius:6px;align-items:baseline;gap:6px;padding:2px 8px;line-height:1.3;animation:.6s ease-out both bounty-in;display:flex;box-shadow:inset 0 0 0 1px #facc154d}.bounty__icon{flex:none}.bounty__task{color:#fde68a;text-overflow:ellipsis;font-weight:700;overflow:hidden}.bounty__reward{color:#fffc;flex:none}@keyframes bounty-in{0%{opacity:0;transform:translateY(-6px)scale(1.04)}}.match--reduced .bounty{animation:.4s both fade-in}
