.sim h1 .tag{font-size:13px;vertical-align:middle}
.simnote{font-size:13px;color:var(--mut);border-left:3px solid var(--acc2);padding:4px 10px;margin:8px 0 16px}
.simcats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.simcats button{background:var(--card);color:var(--text2);border:1px solid var(--line2);border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer}
.simcats button[aria-selected=true]{background:var(--btn);color:#fff;border-color:var(--btn)}
.simsides{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}
.simside h2{font-size:15px;margin:0 0 6px;color:var(--mut)}
.simside select,.simopts select{width:100%;background:var(--card-s);color:var(--text);border:1px solid var(--line2);border-radius:10px;padding:10px;font:inherit}
.simvs{align-self:center;font-weight:800;font-size:28px;color:var(--acc);padding-top:30px}
.simcard{margin-top:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:center;min-height:96px}
.simcard .em{font-size:52px;line-height:1}
.simcard b{display:block}.simcard .meta{font-size:13px}
.sstat{display:grid;grid-template-columns:42px 1fr;gap:2px 6px;font-size:11px;color:var(--mut);margin-top:6px;min-width:150px}
.sstat span:nth-child(even){height:6px;align-self:center;background:var(--line2);border-radius:3px;overflow:hidden}
.sstat i{display:block;height:100%;background:var(--acc2)}
.simopts{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.simopts label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--mut);min-width:160px}
.simbtns{gap:10px;flex-wrap:wrap}
.simarena,.simwin{margin-top:10px}
.simhud{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}
.simf{text-align:center}
.simav{font-size:72px;line-height:1.1;display:inline-block;transition:transform .15s}
#fB .simav{transform:scaleX(-1)}
.simav.hit{animation:simhit .35s}.simav.lunge{animation:simlunge .35s}.simav.dodge{animation:simdodge .4s}
#fB .simav.hit{animation:simhitb .35s}#fB .simav.lunge{animation:simlungeb .35s}#fB .simav.dodge{animation:simdodgeb .4s}
@keyframes simhit{30%{transform:translateX(-10px) rotate(-8deg);filter:brightness(2)}}
@keyframes simhitb{30%{transform:scaleX(-1) translateX(-10px) rotate(-8deg);filter:brightness(2)}}
@keyframes simlunge{40%{transform:translateX(30px) scale(1.1)}}
@keyframes simlungeb{40%{transform:scaleX(-1) translateX(30px) scale(1.1)}}
@keyframes simdodge{40%{transform:translateY(-22px)}}
@keyframes simdodgeb{40%{transform:scaleX(-1) translateY(-22px)}}
.simname{font-weight:700;margin:4px 0 8px}
.bar{height:12px;background:var(--line2);border-radius:6px;overflow:hidden;margin:4px 0}
.bar i{display:block;height:100%;width:100%;transition:width .3s;background:linear-gradient(90deg,#22c55e,#4ade80)}
.bar.simhp i.low{background:linear-gradient(90deg,#ef4444,#f97316)}
.bar.st{height:6px}.bar.st i{background:linear-gradient(90deg,#38bdf8,#818cf8)}
.simmid{text-align:center;min-width:90px}.simround{font-weight:700;color:var(--acc)}.simclock{font-size:30px;font-variant-numeric:tabular-nums;font-weight:800}
.simfeed{list-style:none;margin:14px 0;padding:12px 14px;height:280px;overflow-y:auto;background:var(--card-s);border:1px solid var(--line);border-radius:14px;font-size:14px;scroll-behavior:smooth}
.simfeed li{padding:5px 0;border-bottom:1px solid var(--line);animation:simin .3s}
.simfeed li.a b{color:#fbbf24}.simfeed li.b b{color:#60a5fa}
.simfeed .crit{color:#f87171;font-weight:700}.simfeed .dg{color:#34d399;font-weight:700}.simfeed li.sys{color:var(--acc);font-weight:600}
@keyframes simin{from{opacity:0;transform:translateY(6px)}}
.simwin{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.simtrophy{font-size:90px;animation:simpop .6s}@keyframes simpop{0%{transform:scale(.3)}70%{transform:scale(1.15)}}
.simstats{margin:16px auto;border-collapse:collapse;min-width:min(480px,100%)}.simstats td,.simstats th{padding:6px 12px;border-bottom:1px solid var(--line);text-align:center}
.simwin .simbtns{justify-content:center}
@media (max-width:640px){.simsides{grid-template-columns:1fr}.simvs{padding:0;text-align:center}.simhud{gap:8px;padding:12px}.simav{font-size:46px}.simclock{font-size:22px}.simname{font-size:13px}.simmid{min-width:60px}.simfeed{height:240px;font-size:13px}}
.simsearch{width:100%;background:var(--card-s);color:var(--text);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;font:inherit;margin-top:8px}
.simchk{flex-direction:row!important;align-items:center;gap:8px!important;align-self:flex-end;padding-bottom:10px}
.simcap{margin-top:12px;background:linear-gradient(90deg,rgba(99,102,241,.25),rgba(45,212,191,.12));border:1px solid var(--line2);border-radius:12px;padding:10px 14px;font-weight:700;font-size:16px;min-height:44px;animation:simin .3s}
.simcap.pulse{animation:simcap .4s}@keyframes simcap{from{opacity:.3;transform:translateY(4px)}}
.simunits{font-size:12px;color:var(--mut)}
.sstat i.w1{width:10%}
.sstat i.w2{width:20%}
.sstat i.w3{width:30%}
.sstat i.w4{width:40%}
.sstat i.w5{width:50%}
.sstat i.w6{width:60%}
.sstat i.w7{width:70%}
.sstat i.w8{width:80%}
.sstat i.w9{width:90%}
.sstat i.w10{width:100%}
.simh{font-size:26px;text-align:center;margin:6px 0 14px;letter-spacing:.04em;text-transform:uppercase}
.simtape,.simlab{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px}
.tapehead{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;text-align:center}
.tapehead .em{font-size:72px}.tapehead b{display:block;font-size:20px}
.xf{display:grid;gap:8px}
.xrow{display:grid;grid-template-columns:44px 1fr 110px 1fr 44px;gap:8px;align-items:center;font-size:14px}
.xrow .l{text-align:right;font-weight:700}.xrow .n{text-align:center;color:var(--mut);font-size:12px;text-transform:uppercase}
.xb{height:10px;background:var(--line2);border-radius:5px;overflow:hidden;display:flex}.xb.ra{justify-content:flex-end}
.xb i{display:block;height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24)}.xb.rb i{background:linear-gradient(90deg,#60a5fa,#3b82f6)}
.ars,.ks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wcard{background:var(--card-s);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px}
.wcard .slot{font-size:11px;text-transform:uppercase;color:var(--acc);font-weight:700;letter-spacing:.06em}
.wcard b{display:block;margin:2px 0}.wcard p{margin:4px 0;font-size:13px;color:var(--text2)}
.wst{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;font-size:11px;color:var(--mut);text-align:center}.wst b{font-size:14px;color:var(--text)}
.labcount{text-align:center;font-size:44px;font-weight:800;font-variant-numeric:tabular-nums}
.bar.lab{height:14px}.bar.lab i{width:0}
.split{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin-top:18px}.split .big{display:block;font-size:48px;font-weight:800}
.split div:first-child .big{color:#fbbf24}.split div:last-child .big{color:#60a5fa}
.bar.splitbar{height:18px;background:#3b82f6}.bar.splitbar i{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.krow{display:grid;grid-template-columns:1fr 2fr 44px;gap:8px;align-items:center;font-size:13px;margin:4px 0}
.simdist{font-size:12px;color:var(--mut);text-transform:uppercase}.simw{font-size:12px;color:var(--acc);margin-top:4px;min-height:16px}
.wpct{font-weight:700;color:var(--acc)}
@media (max-width:640px){.ars,.ks{grid-template-columns:1fr}.xrow{grid-template-columns:30px 1fr 74px 1fr 30px;font-size:12px}.tapehead .em{font-size:48px}.split .big{font-size:34px}}
.simstage{margin-top:12px;border-radius:16px;overflow:hidden;border:1px solid var(--line2);background:#000;aspect-ratio:16/8}
.simcv{display:block;width:100%;height:100%}
.simhud .simav{font-size:30px}
@media (max-width:640px){.simstage{aspect-ratio:4/3.4}.simhud .simav{font-size:22px}.simfeed{height:150px}}
.simcd{display:inline-flex;align-items:center;font-weight:700;color:var(--acc);margin-right:10px}
#win+#lab{margin-top:18px}
/* ---- v2: tale of the tape + winner screen polish (CSS only; motion gated on prefers-reduced-motion) ---- */
.simtape{position:relative;overflow:hidden}
.simtape::before{content:"";position:absolute;inset:0 0 auto 0;height:240px;background:radial-gradient(60% 120% at 0% 0%,rgba(245,158,11,.22),transparent 60%),radial-gradient(60% 120% at 100% 0%,rgba(59,130,246,.22),transparent 60%);pointer-events:none}
.simtape>*{position:relative}
.simtape .simh{letter-spacing:.18em;font-weight:900;background:linear-gradient(90deg,#fbbf24,var(--text) 45%,var(--text) 55%,#60a5fa);-webkit-background-clip:text;background-clip:text;color:transparent}
.tapehead{padding:14px 6px 18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.tapehead>div:first-child,.tapehead>div:last-child{padding:12px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.tapehead>div:first-child{box-shadow:inset 3px 0 0 #f59e0b}.tapehead>div:last-child{box-shadow:inset -3px 0 0 #3b82f6}
.tapehead .em{filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.tapehead b{font-size:22px;letter-spacing:.02em}
.tapehead .simvs{width:64px;height:64px;padding:0;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a5b4fc,#4f46e5);color:#fff;font-size:22px;font-weight:900;box-shadow:0 0 0 4px rgba(99,102,241,.25),0 8px 24px rgba(79,70,229,.45)}
.xrow .n{font-weight:700;letter-spacing:.08em}
.xb{height:12px}.xb i{border-radius:6px}
.simwin{position:relative;overflow:hidden;background:radial-gradient(70% 60% at 50% 0%,rgba(251,191,36,.18),transparent 70%),var(--card)}
.simtrophy{position:relative;display:inline-block;width:150px;height:150px;line-height:150px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.28),rgba(251,191,36,0) 70%);filter:drop-shadow(0 10px 22px rgba(0,0,0,.4))}
.simtrophy::before{content:"";position:absolute;inset:-30px;border-radius:50%;background:repeating-conic-gradient(rgba(251,191,36,.16) 0 8deg,transparent 8deg 22deg);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);z-index:-1}
#wtitle{font-size:30px;font-weight:900;margin:14px 0 4px;background:linear-gradient(90deg,#fde68a,#fbbf24,#fde68a);-webkit-background-clip:text;background-clip:text;color:transparent}
.simstats{border-radius:12px;overflow:hidden}.simstats tbody tr:nth-child(odd){background:rgba(255,255,255,.025)}
@media (prefers-reduced-motion:no-preference){
 .simtape:not([hidden]) .tapehead>div:first-child{animation:tapeL .6s cubic-bezier(.2,.9,.25,1.1) both}
 .simtape:not([hidden]) .tapehead>div:last-child{animation:tapeR .6s cubic-bezier(.2,.9,.25,1.1) both}
 .simtape:not([hidden]) .tapehead .simvs{animation:tapeVs .5s .45s cubic-bezier(.3,1.6,.5,1) both}
 .simtape:not([hidden]) .xrow{animation:simin .4s both}
 .xrow:nth-child(2){animation-delay:.08s!important}.xrow:nth-child(3){animation-delay:.16s!important}.xrow:nth-child(4){animation-delay:.24s!important}.xrow:nth-child(5){animation-delay:.32s!important}
 .simtape:not([hidden]) .xb i{transform-origin:right;animation:tapeBar .9s .5s cubic-bezier(.2,.8,.2,1) both}.xb.rb i{transform-origin:left}
 .simwin:not([hidden]) .simtrophy::before{animation:winRays 14s linear infinite}
 .simwin:not([hidden]) .simtrophy{animation:simpop .7s cubic-bezier(.3,1.5,.5,1)}
 .simwin:not([hidden]) #wtitle{background-size:200% 100%;animation:simin .5s .2s both,winShine 3s 1s ease-in-out infinite}
 .simwin:not([hidden]) #wsub,.simwin:not([hidden]) .wpct{animation:simin .5s .35s both}
 .simwin:not([hidden]) .simstats tbody tr{animation:simin .4s .5s both}
}
@keyframes tapeL{from{opacity:0;transform:translateX(-60px)}}
@keyframes tapeR{from{opacity:0;transform:translateX(60px)}}
@keyframes tapeVs{from{opacity:0;transform:scale(2.4) rotate(-20deg)}}
@keyframes tapeBar{from{transform:scaleX(0)}}
@keyframes winRays{to{transform:rotate(360deg)}}
@keyframes winShine{50%{background-position:100% 0}}
@media (max-width:640px){.tapehead .simvs{width:46px;height:46px;font-size:16px}#wtitle{font-size:22px}.simtrophy{width:110px;height:110px;line-height:110px;font-size:70px}}
