.duo-half{min-height:0;transition:filter .2s,opacity .2s;position:relative}.duo-half--tl{border-radius:var(--duo-r,2.7rem) 0 0 0}.duo-half--tr{border-radius:0 var(--duo-r,2.7rem) 0 0}.duo-half--bl{border-radius:0 0 0 var(--duo-r,2.7rem)}.duo-half--br{border-radius:0 0 var(--duo-r,2.7rem) 0}.duo-half--t{border-radius:var(--duo-r,2.7rem) var(--duo-r,2.7rem) 0 0}.duo-half--b{border-radius:0 0 var(--duo-r,2.7rem) var(--duo-r,2.7rem)}.duo-cols{transition:grid-template-columns .9s cubic-bezier(.6,0,.3,1)}.duo-slot{justify-items:inherit;min-width:0;min-height:0;transition:opacity .6s ease-in,translate .9s cubic-bezier(.6,0,.3,1);display:grid}.duo-slot>*{min-width:0}.duo-slot--gone{opacity:0;pointer-events:none;overflow:hidden}.duo-slot--left.duo-slot--gone{translate:-60%}.duo-slot--right.duo-slot--gone{translate:60%}:root .duo-half .arena-half{border-radius:inherit;height:100%}.duo-half--drop:after{content:"";border-radius:inherit;pointer-events:none;background:#f5c5420d;border:.15rem dashed #f5c5428c;animation:1.2s ease-in-out infinite duo-drop;position:absolute;inset:.35rem}.duo-half--over:after{border-style:solid;border-color:var(--color-gold);background:#f5c5421f;animation:none;box-shadow:inset 0 0 2.5rem #f5c54259}@keyframes duo-drop{50%{border-color:#f5c542e6}}.duo-half--dead>:not(.duo-fallen,.duo-void,.duo-shatter,.duo-wave){filter:grayscale()brightness(.5);opacity:.6}.duo-half--dead [data-char-id]{pointer-events:none}.duo-fallen{z-index:5;font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:#ffffff47;pointer-events:none;place-items:center;font-size:2.6rem;display:grid;position:absolute;inset:0}.duo-dead{filter:grayscale()brightness(.6)}.duo-dead--fresh{animation:.9s ease-out duo-dead-fresh}@keyframes duo-dead-fresh{0%{filter:brightness(3)saturate(0);scale:1.12}15%{translate:-.3rem}30%{filter:brightness(1.6)saturate(.4);translate:.3rem}45%{translate:-.2rem}to{filter:grayscale()brightness(.6);translate:0;scale:1}}.duo-board{--blast-hot:#ffe9a8;--blast-mid:#ff8a3d;--blast-edge:#dc262680;--blast-ring:#ffd27a;--crack:#ff8a3d;--crack-glow:#ff5a1e99;--void-a:#0b0608;--void-b:#020103;--ascend:#fff4c2}.duo-blast{z-index:30;pointer-events:none;position:absolute;top:4rem;left:4rem}.duo-blast__flash{aspect-ratio:1;background:radial-gradient(circle, #fff 0%, var(--blast-hot) 20%, var(--blast-mid) 42%, var(--blast-edge) 60%, transparent 72%);mix-blend-mode:screen;border-radius:50%;width:16rem;animation:.7s ease-out forwards duo-blast-flash;position:absolute;translate:-50% -50%}@keyframes duo-blast-flash{0%{opacity:1;scale:.2}35%{opacity:1;scale:1}to{opacity:0;scale:1.3}}.duo-blast__ring{aspect-ratio:1;border:.35rem solid var(--blast-ring);width:6rem;box-shadow:0 0 1.5rem var(--blast-mid), inset 0 0 1rem var(--blast-mid);border-radius:50%;animation:.8s ease-out forwards duo-blast-ring;position:absolute;translate:-50% -50%}.duo-blast__ring--late{opacity:0;border-color:#fff;animation-delay:.15s}@keyframes duo-blast-ring{0%{opacity:1;border-width:.6rem;scale:.3}to{opacity:0;border-width:.05rem;scale:4}}.duo-blast__spark{background:linear-gradient(90deg, transparent, var(--blast-ring), #fff);width:.7rem;height:.2rem;box-shadow:0 0 .5rem var(--blast-mid);rotate:var(--a);border-radius:999px;animation:.9s cubic-bezier(.2,.7,.3,1) forwards duo-blast-spark;position:absolute}@keyframes duo-blast-spark{0%{opacity:1;transform:translate(0)scaleX(1)}70%{opacity:1}to{opacity:0;transform:translateX(var(--d)) scaleX(2.5)}}.duo-void{border-radius:inherit;background:radial-gradient(ellipse 70% 90% at 50% var(--void-y), color-mix(in srgb, var(--crack) 18%, transparent), transparent 60%), radial-gradient(ellipse 120% 100% at 50% 50%, var(--void-a), var(--void-b) 75%);box-shadow:inset 0 0 3rem #000, inset 0 0 .4rem color-mix(in srgb, var(--crack) 50%, transparent);position:absolute;inset:0;overflow:hidden}.duo-void--top{--void-y:0%}.duo-void--bottom{--void-y:100%}.duo-void__cracks{fill:none;width:100%;height:100%;stroke:var(--crack);stroke-width:2.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 .25rem var(--crack)) drop-shadow(0 0 .7rem var(--crack-glow));animation:2.4s ease-in-out infinite alternate duo-void-glow;position:absolute;inset:0}.duo-void__cracks path{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:.5s ease-out forwards duo-crack}.duo-void--bottom .duo-void__cracks{scale:1 -1}@keyframes duo-crack{to{stroke-dashoffset:0}}@keyframes duo-void-glow{0%{opacity:.6}to{opacity:1}}.duo-shatter{z-index:4;pointer-events:none;position:absolute;inset:0}.duo-shard{filter:drop-shadow(0 0 .15rem var(--blast-ring)) drop-shadow(0 0 .5rem var(--blast-mid));animation:duo-shard 1.4s cubic-bezier(.25, .6, .4, 1) var(--delay) forwards;position:absolute;inset:0}.duo-shard__piece{background:linear-gradient(#13304a,#0a1a2c 60%,#08121f);position:absolute;inset:0;overflow:hidden}.duo-shard__piece .arena-half{position:absolute;inset:0}@keyframes duo-shard{0%{opacity:1;transform:none}12%{transform:translate(calc(var(--dx) * .05), calc(var(--dy) * .05)) scale(.97)}75%{opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 10rem)) rotate(var(--rot)) scale(.6);opacity:0}}.duo-wave{z-index:3;pointer-events:none;background:radial-gradient(ellipse 60% 120% at var(--wave-x,50%) var(--wave-y), color-mix(in srgb, var(--blast-ring) 55%, transparent), color-mix(in srgb, var(--blast-mid) 25%, transparent) 35%, transparent 60%);mix-blend-mode:screen;animation:.9s ease-out forwards duo-wave;position:absolute;inset:0}.duo-wave--top{--wave-y:0%}.duo-wave--bottom{--wave-y:100%}@keyframes duo-wave{0%{opacity:1;background-size:30% 30%;background-position:center var(--wave-y);background-repeat:no-repeat}to{opacity:0;background-size:300% 300%;background-position:center var(--wave-y);background-repeat:no-repeat}}.duo-lanewin{z-index:29;pointer-events:none;position:absolute;top:4rem;left:4rem}.duo-lanewin__rays{aspect-ratio:1;z-index:-1;background:repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--ascend) 55%, transparent) 0 6deg, transparent 6deg 18deg);border-radius:50%;width:20rem;animation:2.8s ease-out forwards duo-lanewin-rays;position:absolute;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#0000 22%,#000 27%,#0000 65%);mask-image:radial-gradient(circle,#0000 22%,#000 27%,#0000 65%)}@keyframes duo-lanewin-rays{0%{opacity:0;rotate:0deg;scale:.3}20%{opacity:1;scale:1}80%{opacity:1}to{opacity:0;rotate:40deg;scale:1.1}}.duo-lanewin__ring{aspect-ratio:1;border:.25rem solid var(--ascend);width:9rem;box-shadow:0 0 1.2rem var(--ascend), inset 0 0 1rem var(--ascend);border-radius:50%;animation:1.2s ease-out 2 forwards duo-lanewin-ring;position:absolute;translate:-50% -50%}@keyframes duo-lanewin-ring{0%{opacity:1;scale:.6}to{opacity:0;scale:1.8}}.duo-lanewin__banner{border:1px solid var(--ascend);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--ascend);text-shadow:0 0 .6rem var(--ascend);box-shadow:0 0 1.2rem color-mix(in srgb, var(--ascend) 45%, transparent), 0 .4rem 1rem #000000b3;background:linear-gradient(#1e1808f2,#0a0802f2);border-radius:.2rem;padding:.25rem 1rem;font-size:1.3rem;animation:2.8s cubic-bezier(.2,1.4,.4,1) forwards duo-lanewin-banner;position:absolute;top:2.6rem;translate:-50%}@keyframes duo-lanewin-banner{0%{opacity:0;scale:2.2}12%{opacity:1;scale:1}85%{opacity:1;scale:1}to{opacity:0;scale:1}}.duo-ascend{z-index:8;animation:1.3s cubic-bezier(.5,0,.6,1) forwards duo-ascend}@keyframes duo-ascend{0%{filter:none;opacity:1;translate:0}25%{filter:brightness(1.6) saturate(.6) drop-shadow(0 0 .8rem var(--ascend));translate:0 -.3rem}to{filter:brightness(3) saturate(0) drop-shadow(0 0 1.5rem var(--ascend));opacity:0;translate:0 -6rem}}.duo-ascend:after{content:"";border:.18rem solid var(--ascend);width:3.4rem;height:.9rem;box-shadow:0 0 .6rem var(--ascend), inset 0 0 .4rem var(--ascend);opacity:0;border-radius:50%;animation:1.3s ease-out forwards duo-halo;position:absolute;top:-1.1rem;left:50%;translate:-50%}@keyframes duo-halo{15%{opacity:0;translate:-50% .6rem}40%{opacity:1;translate:-50%}to{opacity:.8;translate:-50%}}.duo-ascend__beam{z-index:-1;background:linear-gradient(to top, color-mix(in srgb, var(--ascend) 70%, transparent), color-mix(in srgb, var(--ascend) 25%, transparent) 40%, transparent);mix-blend-mode:screen;pointer-events:none;width:7rem;height:60rem;animation:1.3s ease-out forwards duo-beam;position:absolute;bottom:10%;left:50%;translate:-50%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 35% 65%,#0000);mask-image:linear-gradient(90deg,#0000,#000 35% 65%,#0000)}@keyframes duo-beam{0%{opacity:0;scale:.2 1}30%{opacity:1;scale:1}to{opacity:0;scale:1.4 1}}.duo-burn{pointer-events:none;animation:1.3s ease-in .25s forwards duo-burn;-webkit-mask-image:linear-gradient(#000 44%,#0000 56%);mask-image:linear-gradient(#000 44%,#0000 56%);-webkit-mask-position:50% 0;mask-position:50% 0;-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes duo-burn{0%{filter:brightness(2.2) saturate(.3) drop-shadow(0 0 .6rem var(--blast-mid));-webkit-mask-position:50% 0;mask-position:50% 0}20%{filter:brightness(1.3) saturate(.2) drop-shadow(0 0 .8rem var(--blast-mid))}to{filter:grayscale(1) brightness(.6) drop-shadow(0 0 .8rem var(--blast-mid));translate:0 1.5rem;-webkit-mask-position:50% 100%;mask-position:50% 100%}}@media (prefers-reduced-motion:reduce){.duo-dead--fresh,.duo-blast__ring,.duo-blast__spark,.duo-wave,.duo-shatter,.duo-ascend__beam,.duo-lanewin__rays,.duo-lanewin__ring{animation:none;display:none}.duo-ascend{animation-duration:10ms}}.duo-split{inset-block:1.2rem;pointer-events:none;background:linear-gradient(#0000,#f5c54259 12%,#f5c5421f 46%,#0000 50%,#f5c5421f 54%,#f5c54259 88%,#0000);width:2px;position:absolute;left:50%;translate:-50%}.duo-tag{z-index:2;letter-spacing:.08em;text-transform:uppercase;color:#fff9;pointer-events:none;white-space:nowrap;background:#0000008c;border-radius:999px;padding:.1rem .6rem;font-size:.65rem;font-weight:700;position:absolute}.duo-gift{z-index:3;color:#18181b;white-space:nowrap;pointer-events:none;background:linear-gradient(#fde68a,#f5c542);border-radius:999px;padding:.05rem .55rem;font-size:.65rem;font-weight:800;animation:3.2s ease-out forwards duo-gift;position:absolute;bottom:-1.4rem;left:50%;translate:-50%;box-shadow:0 .2rem .5rem #0009}@keyframes duo-gift{0%{opacity:0;translate:-50% .5rem}10%{opacity:1;translate:-50%}80%{opacity:1}to{opacity:0}}.duo-ping{z-index:4;pointer-events:none;position:absolute;inset:-.3rem}.duo-ping__ring{border:.15rem solid #38bdf8;border-radius:1rem;animation:1.1s ease-out infinite duo-ping;position:absolute;inset:0;box-shadow:0 0 1rem #38bdf8b3}.duo-ping__name{color:#fff;white-space:nowrap;background:#0284c7;border-radius:.3rem;padding:0 .4rem;font-size:.6rem;font-weight:800;position:absolute;top:100%;left:50%;translate:-50% .15rem}.duo-ping--inside .duo-ping__name{top:auto;bottom:.5rem;translate:-50%}@keyframes duo-ping{0%{opacity:1;scale:.96}70%{opacity:.35;scale:1.06}to{opacity:1;scale:.96}}.duo-done{z-index:5;aspect-ratio:1;color:#fff;background:#22c55e;border:.15rem solid #052e16;border-radius:50%;place-items:center;width:2rem;font-size:1.1rem;font-weight:900;display:grid;position:absolute;top:.2rem;right:-.6rem;box-shadow:0 0 .8rem #22c55eb3}.duo-hand-count,.duo-mate-label{color:#fffc;white-space:nowrap;background:#0009;border-radius:999px;padding:.1rem .7rem;font-size:.7rem}.duo-pinged{filter:drop-shadow(0 0 .6rem #38bdf8cc)}.duo-support{touch-action:none;background:linear-gradient(160deg,#a1a1aa,#3f3f46 50%,#71717a);border-radius:999px;width:4.6rem;height:4.6rem;padding:.25rem;transition:scale .15s,box-shadow .2s;display:block;position:relative;box-shadow:0 .4rem 1rem #000}.duo-support--ready{cursor:pointer;background:linear-gradient(160deg,#fde68a,#b8860b 50%,#fde68a);box-shadow:0 0 1.4rem #f5c542}.duo-support--ready:hover,.duo-support--aiming{scale:1.06}.duo-support__icon{object-fit:cover;background:#27272a;border-radius:999px;width:100%;height:100%;transition:filter .2s;display:block}.duo-support:not(.duo-support--ready):not(.duo-support--aiming) .duo-support__icon{filter:brightness(.5)grayscale()}.duo-support:not(.duo-support--ready):not(.duo-support--aiming) .duo-support__icon--rune{filter:grayscale()brightness(1.1)}.duo-support__cost{background:radial-gradient(circle at 35% 30%,#bfdbfe,#3b82f6 55%,#1e3a8a);border:2px solid #172554;border-radius:999px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:.95rem;display:flex;position:absolute;top:-.5rem;left:50%;translate:-50%}.duo-support__used{color:#ffffffd9;justify-content:center;align-items:center;font-size:1.8rem;display:flex;position:absolute;inset:0}.duo-support__label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffd9;white-space:nowrap;pointer-events:none;background:#000000b3;border-radius:999px;padding:0 .55rem;font-size:.65rem;font-weight:700;position:absolute;bottom:-.9rem;left:50%;translate:-50%}.duo-support__tip{z-index:50;text-align:center;pointer-events:none;background:#09090bf2;border:1px solid #3f3f46;border-radius:.75rem;width:15rem;margin-bottom:1rem;padding:.75rem;position:absolute;bottom:100%;left:50%;translate:-50%;box-shadow:0 1.5rem 3rem #00000080}.duo-hub{z-index:15;aspect-ratio:1;width:7.5rem;transition:opacity .15s,scale .15s,left .9s cubic-bezier(.6,0,.3,1);position:absolute;top:50%;left:50%;translate:-50% -50%}.duo-hub--aside{left:calc(100% - 4rem)}.duo-hub--hidden{opacity:0;pointer-events:none;scale:.85}.duo-hub__clock{filter:drop-shadow(0 .4rem .8rem #000000b3);position:absolute;inset:0;rotate:-90deg}.duo-hub__track{fill:#09090bd9;stroke:#27272a;stroke-width:7px}.duo-hub__ring{fill:none;stroke:#71717a;stroke-width:7px;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.duo-hub--ours .duo-hub__ring{stroke:#f5c542}.duo-hub--warn .duo-hub__ring{stroke:#ef4444}.duo-hub__button{color:#71717a;font-family:var(--font-display);background:linear-gradient(#3f3f46,#18181b);border:2px solid #3f3f46;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1;transition:filter .15s;display:flex;position:absolute;inset:.75rem}.duo-hub--ours .duo-hub__button:not(:disabled){color:#18181b;background:linear-gradient(#fde68a,#f5c542 45%,#b8860b);border-color:#fef08a;box-shadow:0 0 1.4rem #f5c54273}.duo-hub__button:hover:not(:disabled){filter:brightness(1.12)}.duo-hub__label{letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.duo-hub__seconds{margin-top:.15rem;font-size:1.5rem}.duo-hub--warn .duo-hub__seconds{color:#ef4444;animation:1s ease-in-out infinite pulse}.duo-hub__wait{white-space:nowrap;color:#d4d4d8;background:#000000b3;border-radius:999px;padding:.1rem .6rem;font-size:.65rem;position:absolute;top:100%;left:50%;translate:-50% .2rem}.duo-team-mana{z-index:15;pointer-events:none;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:absolute;left:50%;translate:-50%}.duo-team-mana--bottom{bottom:1.2rem}.duo-team-mana--aside{align-items:flex-start;left:4rem;translate:0}.duo-team-mana--top.duo-team-mana--aside{transform-origin:100% 0;align-items:flex-end;top:2.4rem;left:auto;right:2rem}.duo-team-mana--top{transform-origin:top;top:.4rem;scale:.85}.duo-team-mana--orb{flex-direction:row;align-items:flex-end;gap:.6rem}.duo-team-mana--top.duo-team-mana--orb{align-items:flex-start}.duo-mana__gems{gap:.45rem;display:flex}.duo-mana__gems .mana-gem{width:.8rem}.duo-mana--small .duo-mana__gems{gap:.3rem}.duo-mana--small .duo-mana__gems .mana-gem{width:.5rem}.duo-orb{aspect-ratio:1;place-items:center;width:6.5rem;display:grid;position:relative}.duo-orb--small{width:4rem}.duo-orb__ring{filter:drop-shadow(0 .3rem .6rem #000c);position:absolute;inset:0}.duo-orb__core{fill:#071726;stroke:#0ac8b959;stroke-width:1px}.duo-orb__seg{fill:none;stroke-width:8px;stroke-linecap:butt}.duo-orb__seg--full{stroke:#0ac8b9;filter:drop-shadow(0 0 2px #0ac8b9)}.duo-orb__seg--spent{stroke:#0d3a44}.duo-orb__seg--locked{stroke:#ffffff0f}.duo-orb__num{font-family:var(--font-num);color:#fff;font-size:1.7rem;line-height:1;position:relative}.duo-orb--small .duo-orb__num{font-size:1.05rem}.duo-orb__label{letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;color:#7dd3fcd9;text-shadow:0 .1rem .3rem #000;margin-top:-.2rem;font-size:.6rem;font-weight:700;position:absolute;top:100%}.duo-team-mana--top .duo-orb__label{top:auto;bottom:100%}.duo-companion{z-index:12;flex-direction:column;align-items:center;gap:1rem;width:max-content;margin-right:1.4rem;animation:.9s cubic-bezier(.2,1.3,.4,1) backwards duo-companion-in;display:flex;position:absolute;top:.5rem;right:100%}.duo-companion--top{top:auto;bottom:2.5rem}@keyframes duo-companion-in{0%{opacity:0;translate:-3rem 1rem;scale:.5}}.duo-companion__float{place-items:center;animation:3.2s ease-in-out infinite duo-companion-bob;display:grid;position:relative}@keyframes duo-companion-bob{50%{translate:0 -.35rem}}.duo-companion__art{aspect-ratio:1;border:2px solid var(--ascend);object-fit:cover;width:4.6rem;max-width:none;box-shadow:0 0 1rem color-mix(in srgb, var(--ascend) 60%, transparent), 0 .4rem .8rem #0009;filter:saturate(.85)brightness(1.08);border-radius:50%}.duo-companion__halo{border:.16rem solid var(--ascend);width:3rem;height:.75rem;box-shadow:0 0 .6rem var(--ascend), inset 0 0 .3rem var(--ascend);border-radius:50%;position:absolute;top:-.7rem}.duo-companion__name{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ascend);background:#000000bf;border-radius:.2rem;padding:0 .4rem;font-size:.6rem;font-weight:700;position:absolute;bottom:-.55rem}@media (prefers-reduced-motion:reduce){.duo-companion,.duo-companion__float{animation:none}}.duo-dev{z-index:60;color:#e4e4e7;background:#09090bf0;border:1px solid #3f3f46;border-radius:.6rem;width:19rem;max-height:calc(100dvh - 1rem);font-family:Inter,system-ui,sans-serif;font-size:.75rem;position:fixed;top:.5rem;left:.5rem;overflow:auto;box-shadow:0 .6rem 1.5rem #0009}.duo-dev:has(>.duo-dev__toggle:only-child){width:auto}.duo-dev__toggle{text-align:left;letter-spacing:.05em;color:#a1a1aa;width:100%;padding:.35rem .7rem;font-weight:700}.duo-dev__toggle:hover{color:#fff}.duo-dev__demos{gap:.4rem;margin:0 .5rem .5rem;display:flex}.duo-dev__demo{color:#fff;background:linear-gradient(#f97316,#b45309);border-radius:.4rem;flex:1;padding:.3rem .7rem;font-weight:800}.duo-dev__demo:hover{filter:brightness(1.15)}
