.rg-root{--rg-bg: #14161a;--rg-panel: #1d2126;--rg-edge: #2e343b;--rg-ink: #c8cdd2;--rg-dim: #6b7480;--rg-accent: #c9a45c}.rg-controls{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;margin-bottom:1rem}.rg-control-group h3{margin:0 0 .4rem}.rg-control-group .row{gap:.7rem}.rg-control-group label{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--rg-dim)}.rg-control-group select{background:var(--rg-bg);border:1px solid var(--rg-edge);color:var(--rg-ink);font:inherit;border-radius:3px;padding:.15rem .3rem}.rg-check{cursor:pointer}.rg-control-group button.active{border-color:var(--rg-accent);color:var(--rg-accent)}.rg-grid{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:flex-end}.rg-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--rg-bg);border:1px solid var(--rg-edge);border-radius:6px;padding:1rem .8rem .7rem;flex:0 0 auto}.rg-card .rig-wrap svg.duelist{width:calc(clamp(7rem,18vh,11.5rem) * var(--rg-zoom, 1))}.rg-card .rig-wrap .goons-trio svg.duelist{width:calc(clamp(4rem,10.5vh,6.6rem) * var(--rg-zoom, 1));margin:0 calc(-1rem * var(--rg-zoom, 1))}.rg-card .rig-wrap{min-height:calc(9rem * var(--rg-zoom, 1));display:flex;align-items:flex-end;justify-content:center}.rg-cap{font-size:.72rem;text-align:center;line-height:1.5}.rg-badge{display:inline-block;margin-left:.4rem;padding:0 .35rem;border:1px solid var(--rg-edge);border-radius:3px;color:var(--rg-accent);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}:root{--bg: #14161a;--panel: #1d2126;--edge: #2e343b;--ink: #c8cdd2;--dim: #6b7480;--accent: #c9a45c;--good: #7fb069;--bad: #c0524e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Menlo,Consolas,monospace;min-height:100vh}#root{max-width:62rem;margin:0 auto;padding:1.2rem 1rem 3rem}h1,h2,h3{letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}h1{font-size:1.1rem}h2{font-size:.95rem}h3{font-size:.8rem}button{background:var(--panel);border:1px solid var(--edge);color:var(--ink);font:inherit;padding:.45rem .9rem;border-radius:4px;cursor:pointer}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.4;cursor:default}button.primary{border-color:var(--accent);color:var(--accent)}.panel{background:var(--panel);border:1px solid var(--edge);border-radius:6px;padding:1rem 1.2rem;margin-bottom:1rem}.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.spread{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.dim{color:var(--dim);font-size:.8rem}.good{color:var(--good)}.bad{color:var(--bad)}.accent{color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:.85rem}td,th{border-bottom:1px solid var(--edge);padding:.35rem .5rem;text-align:left}th{color:var(--dim);font-weight:400;text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}nav{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap}nav button.active{border-color:var(--accent);color:var(--accent)}.bar{background:#0b0d10;border:1px solid var(--edge);border-radius:3px;height:.9rem;overflow:hidden;position:relative}.bar>i{display:block;height:100%;background:var(--good);transition:width .15s}.bar.hp>i{background:var(--good)}.bar.hp.low>i{background:var(--bad)}.bar.boss>i{background:var(--bad)}.bar.timer>i{background:var(--accent)}.bar span{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font-size:.65rem;line-height:.9rem;color:#fff;text-shadow:0 1px 2px #000}.typing-line{background:var(--panel);border:1px solid var(--edge);border-radius:6px;padding:1rem 1.3rem;font-size:1.35rem;letter-spacing:.04em;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;margin:1rem 0}.typing-line .done{color:var(--good)}.typing-line .cur{background:var(--accent);color:#14161a;border-radius:2px}.typing-line .cur.miss{background:var(--bad);color:#fff}.typing-line .obscured{color:transparent;text-shadow:0 0 7px rgba(200,205,210,.7)}.typing-line .trap{text-decoration:underline dotted var(--bad)}.kb-case{background:#0b0d10;border:1px solid var(--edge);border-radius:12px;padding:.8rem;box-shadow:inset 0 1px #ffffff0a,0 6px 20px #00000080;width:fit-content;margin:0 auto}.kb{display:flex;flex-direction:column;gap:.3rem}.kb-row{display:flex;gap:.3rem}.key{--w: 1;width:calc(var(--w) * 2.4rem + (var(--w) - 1) * .3rem);height:2.4rem;flex:none;border:1px solid var(--edge);border-radius:5px;background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:.95rem;position:relative}.key.mod{font-size:.6rem;color:var(--dim)}.key .lat{position:absolute;top:1px;right:4px;font-size:.5rem;color:var(--dim)}.key.next{border-color:var(--accent);background:#3a3320;color:var(--accent);box-shadow:0 0 10px #c9a45c73;font-weight:700}.key.shift-need{border-color:var(--accent);color:var(--accent)}.key .ghost{position:absolute;bottom:0;right:4px;font-size:.5rem;color:var(--accent)}.kb-strip{display:flex;gap:.25rem;justify-content:center}.kb-strip .key{width:2rem;height:2rem;font-size:.8rem}.scene-band{display:grid;grid-template-columns:1fr auto 1.5fr;gap:.8rem;align-items:end;background:#0b0d10;border:1px solid var(--edge);border-radius:6px;padding:1rem 1.2rem .8rem;margin:.8rem 0;background-image:linear-gradient(180deg,transparent 80%,rgba(201,164,92,.05) 100%)}.scene-band.gassed{background-image:linear-gradient(180deg,#7fb06914,#7fb06908 60%,#c9a45c0d)}.scene-band .fighter{display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:0}.scene-band .fighter .bar{width:100%;max-width:12rem}.scene-band .vs{align-self:center;color:var(--dim);font-size:.7rem;letter-spacing:.2em}.scene-band .boss-row{display:flex;align-items:flex-end;justify-content:center;gap:.3rem;width:100%}.scene-band .pool-bars{display:flex;flex-direction:column;gap:.3rem;width:100%;max-width:16rem}svg.duelist{width:clamp(7rem,18vh,11.5rem);height:auto;overflow:visible}.stash-doll{display:flex;gap:1.2rem;align-items:flex-start}.stash-doll svg.duelist{width:clamp(8rem,22vh,11rem);flex:none}.stash-doll>div:last-child{flex:1;min-width:0}.rig .sway{animation:rig-sway 3.4s ease-in-out infinite alternate;transform-origin:50% 100%}.rig .breathe{animation:rig-breathe 2.8s ease-in-out infinite alternate;transform-origin:50% 95%}.rig .aimbob{animation:rig-aimbob 3.1s ease-in-out infinite alternate;transform-origin:40% 60%}.rig .hammerbob{animation:rig-hammerbob 2.9s ease-in-out infinite alternate;transform-origin:74% 62%}.rig.boss-rig .sway{animation-duration:2.6s}.rig.enraged .sway{animation-duration:1.5s}@keyframes rig-sway{0%{transform:rotate(-.7deg)}to{transform:rotate(.7deg) translateY(1.5px)}}@keyframes rig-breathe{0%{transform:scaleY(1)}to{transform:scaleY(1.015)}}@keyframes rig-aimbob{0%{transform:rotate(-.6deg)}to{transform:rotate(.7deg)}}@keyframes rig-hammerbob{0%{transform:rotate(-1.4deg)}to{transform:rotate(1.6deg)}}.rig-wrap{position:relative}.rig-wrap.flinch{animation:rig-flinch .45s ease-out}@keyframes rig-flinch{15%{transform:translate(-7px) rotate(-2.5deg)}40%{transform:translate(4px)}to{transform:none}}.rig .hitflash{opacity:0;pointer-events:none}.rig-wrap.hurt .hitflash{animation:rig-hitflash .45s ease-out}@keyframes rig-hitflash{15%{opacity:.5}to{opacity:0}}.rig .muzzle{opacity:0}.rig-wrap.firing .muzzle,.rig-wrap.attacking .muzzle{animation:rig-muzzle .32s steps(2) 2}.rig-wrap.firing .recoil,.rig-wrap.attacking .recoil{animation:rig-recoil .32s ease-out 2}.rig-wrap.crit .muzzle{animation:rig-muzzle .26s steps(2) 3}.rig-wrap.crit svg{filter:drop-shadow(0 0 10px rgba(201,164,92,.5))}@keyframes rig-muzzle{50%{opacity:1}}@keyframes rig-recoil{30%{transform:translate(-3px)}to{transform:none}}.rig-wrap.attacking>svg:not(.melee){animation:rig-lunge .5s ease-out}@keyframes rig-lunge{20%{transform:translate(-26px)}to{transform:none}}.rig-wrap.attacking svg.melee .hammer{animation:rig-swing .6s cubic-bezier(.6,-.3,.3,1.2);transform-origin:44% 62%}@keyframes rig-swing{35%{transform:rotate(18deg)}60%{transform:rotate(-95deg)}to{transform:rotate(0)}}.rig-wrap.healing svg{animation:rig-heal .9s ease-out}@keyframes rig-heal{30%{filter:drop-shadow(0 0 12px rgba(127,176,105,.6))}to{filter:none}}.rig-wrap.waiting{opacity:.45;filter:grayscale(.6)}.rig-wrap.telegraphing svg.melee .hammer{transform:rotate(20deg);transform-origin:44% 62%;transition:transform .5s}.rig-wrap.telegraphing svg.melee .hammer .hammerbob{animation-duration:.9s}.rig.telegraph-up .visor,.rig.enraged .visor{fill:#c0524e}.rig.enraged .visor{animation:rig-visor .8s ease-in-out infinite alternate}@keyframes rig-visor{0%{opacity:.7}to{opacity:1}}.rig.low{filter:saturate(.6) brightness(.85)}.rig.low .posture{transform:rotate(2.5deg) translateY(3px);transition:transform .6s}.rig.rig-dead{transform:rotate(-74deg) translate(-12px,30px);transform-origin:50% 88%;opacity:.3;transition:transform .8s ease-in,opacity .8s}.rig.boss-rig.rig-dead{transform:rotate(74deg) translate(12px,30px)}.rig.rig-dead .sway,.rig.rig-dead .breathe,.rig.rig-dead .aimbob,.rig.rig-dead .hammerbob{animation:none}.rig2 .aimbob{transform-origin:52.4% 30.9%}.rig2 .headg{transform-origin:49.7% 26.1%}.rig2 .posture,.rig2 .breathe{transform-origin:45.4% 53%}.rig2 .legs{transform-origin:47% 91.3%}.rig-wrap.hurt .rig2 .headg{animation:rig2-headjerk .5s ease-out}.rig-wrap.hurt .rig2 .breathe{animation:rig2-torsotwist .5s ease-out}@keyframes rig2-headjerk{18%{transform:rotate(-9deg) translate(-1.5px,.5px)}55%{transform:rotate(3deg)}to{transform:none}}@keyframes rig2-torsotwist{18%{transform:rotate(-4deg) translate(-2.5px)}60%{transform:rotate(1.5deg)}to{transform:none}}.rig.rig2.rig-dead{transform:none;opacity:.45;transition:opacity 1.4s ease-in}.rig2.rig-dead .legs{animation:rig2-knees .9s ease-in forwards}.rig2.rig-dead .posture{animation:rig2-collapse 1.15s ease-in forwards}.rig2.rig-dead .aimbob{animation:rig2-armdrop .8s ease-in forwards}.rig2.rig-dead .headg{animation:rig2-headloll 1.3s ease-in-out forwards}@keyframes rig2-knees{40%{transform:scale(1.02,.8)}to{transform:scale(1.08,.45) rotate(2deg)}}@keyframes rig2-collapse{30%{transform:translateY(8px) rotate(2deg)}to{transform:translateY(34px) rotate(10deg)}}@keyframes rig2-armdrop{to{transform:rotate(26deg) translate(1px,2px)}}@keyframes rig2-headloll{0%,40%{transform:none}to{transform:rotate(17deg) translate(1px,1.5px)}}.entourage{display:flex;flex-direction:column;align-items:center;gap:.15rem;color:#3c434c;transition:color .3s,opacity .4s,transform .4s}.entourage svg{width:2.9rem;height:auto;overflow:visible}.entourage .ent-label{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.entourage.active{color:#6b7480}.entourage.active .ent-label{color:var(--bad)}.entourage.active .ent-body{animation:rig-sway 2.2s ease-in-out infinite alternate;transform-origin:50% 100%}.entourage.down{opacity:.25;transform:translateY(6px) rotate(8deg)}.ent-more{align-self:center;color:var(--dim);font-size:.65rem;letter-spacing:.08em}.no-motion .rig .sway,.no-motion .rig .breathe,.no-motion .rig .aimbob,.no-motion .rig .hammerbob,.no-motion .entourage .ent-body,.no-motion .rig2.rig-dead .legs,.no-motion .rig2.rig-dead .posture,.no-motion .rig2.rig-dead .aimbob,.no-motion .rig2.rig-dead .headg,.no-motion .rig-wrap.hurt .rig2 .headg,.no-motion .rig-wrap.hurt .rig2 .breathe{animation:none}.no-motion .rig.rig2.rig-dead{transform:rotate(-74deg) translate(-12px,30px);transform-origin:50% 88%;opacity:.3}@media (prefers-reduced-motion: reduce){.rig .sway,.rig .breathe,.rig .aimbob,.rig .hammerbob,.entourage .ent-body{animation:none}.rig-wrap.attacking>svg:not(.melee),.rig-wrap.flinch{animation:none}.rig2.rig-dead .legs,.rig2.rig-dead .posture,.rig2.rig-dead .aimbob,.rig2.rig-dead .headg,.rig-wrap.hurt .rig2 .headg,.rig-wrap.hurt .rig2 .breathe{animation:none}.rig.rig2.rig-dead{transform:rotate(-74deg) translate(-12px,30px);transform-origin:50% 88%;opacity:.3}}.map-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid var(--edge);border-radius:6px;padding:.7rem 1rem;margin-bottom:.5rem;background:var(--panel)}.map-card.locked{opacity:.45}.map-card .title{color:var(--accent)}.tabs{display:flex;gap:.4rem;margin-bottom:.8rem;flex-wrap:wrap}.gear-line{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--edge);align-items:center}.flash{animation:flash .3s}@keyframes flash{0%{background:#3a3320}to{background:transparent}}.center{text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem}.stat{background:#0b0d10;border:1px solid var(--edge);border-radius:5px;padding:.5rem .8rem}.stat b{display:block;color:var(--accent);font-size:1.05rem}.telegraph{border:1px solid var(--bad);background:#2a1516;color:var(--bad);border-radius:4px;padding:.3rem .8rem;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.55}}.goons-trio{display:flex;align-items:flex-end;justify-content:center}.goons-trio svg.duelist{width:clamp(4rem,10.5vh,6.6rem);margin:0 -1rem}.goons-trio svg.goon-active{opacity:1;z-index:1}.goons-trio svg.goon-dim{opacity:.5;filter:grayscale(.4) brightness(.82)}.goons-trio svg.goon-dim .sway{animation-play-state:paused}.goons-trio svg.rig-dead{opacity:.28}.rig-wrap.attacking .goons-trio svg.goon-active{animation:rig-lunge .5s ease-out}
