.board-hud .score{color:var(--lime);letter-spacing:.12em;font-size:13px}.board-hud .score b{font-weight:500}.board-hud .assets{color:var(--cyan);letter-spacing:.12em}.board-hud .assets b{color:var(--txt);font-weight:500}#boardCanvas{aspect-ratio:16/10;width:100%;display:block}.board-legend i{width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.board-legend .crit{background:var(--lime);box-shadow:0 0 6px var(--lime)}.board-legend .med{background:var(--red);box-shadow:0 0 6px var(--red)}.board-legend .info{background:var(--cyan)}.stages{grid-template-columns:repeat(5,1fr);gap:0;margin-top:clamp(40px,6vh,66px);display:grid;position:relative}.stages:before{content:"";background:var(--line);width:100%;height:2px;position:absolute;top:18px;left:0}.stages .spine{transform-origin:0;background:linear-gradient(90deg,var(--lime),rgba(var(--accT),.4));width:100%;height:2px;box-shadow:0 0 10px rgba(var(--accT),.6);transition:transform 1.4s cubic-bezier(.65,0,.35,1);position:absolute;top:18px;left:0;transform:scaleX(0)}.stages.in .spine{transform:scaleX(1)}.stages .pulse{background:var(--lime);width:10px;height:10px;box-shadow:0 0 12px var(--lime),0 0 26px rgba(var(--accT),.7);opacity:0;border-radius:50%;position:absolute;top:14px;left:0}.stages.in .pulse{animation:4.5s linear .9s infinite flow}@keyframes flow{0%{opacity:0;left:0}8%{opacity:1}92%{opacity:1}to{opacity:0;left:100%}}.stage{padding:0 clamp(8px,1vw,16px);position:relative}.stage .dot{border:1px solid var(--line);background:var(--ink-2);z-index:2;width:38px;height:38px;font-family:var(--mono);color:var(--lime);place-items:center;font-size:12px;transition:border-color .4s,box-shadow .4s,background .4s;display:grid;position:relative;transform:rotate(45deg)}.stage .dot span{transform:rotate(-45deg)}.stages.in .stage .dot{border-color:rgba(var(--accT),.5);box-shadow:0 0 14px rgba(var(--accT),.25)}.stage h4{font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em;margin:22px 0 10px;font-size:14px;font-weight:600}.stage p{color:var(--txt-soft);font-size:14.5px}@media (width<=760px){.stages{grid-template-columns:1fr;gap:0}.stages:before,.stages .spine{width:2px;height:100%;top:0;left:18px}.stages.in .spine{transform-origin:top;transform:scaleY(1)}.stages .pulse{display:none}.stage{padding:0 0 30px 56px}.stage .dot{position:absolute;top:0;left:0}.stage h4{margin-top:4px}}.vm-row{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(40px,6vh,64px);display:grid}.vm{background:var(--ink);padding:clamp(22px,2.6vw,34px);transition:background .4s;position:relative}.p-sec.alt .vm{background:var(--ink-2)}.vm:hover{background:var(--ink-3)}.vm .vm-old{font-family:var(--mono);letter-spacing:.06em;color:var(--txt-dim);margin-bottom:8px;font-size:11px;text-decoration:line-through;display:block}.vm .vm-new{font-family:var(--disp);text-transform:uppercase;color:var(--lime);margin-bottom:12px;font-size:clamp(15px,1.4vw,19px);font-weight:600;line-height:1.25}.vm p{color:var(--txt-soft);font-size:15px}@media (width<=760px){.vm-row{grid-template-columns:1fr}}.flow{max-width:920px;margin-top:clamp(44px,6vh,70px);position:relative}.flow:before{content:"";background:linear-gradient(var(--lime),rgba(var(--accT),.15));width:2px;box-shadow:0 0 10px rgba(var(--accT),.4);position:absolute;top:6px;bottom:6px;left:23px}.fstep{padding:0 0 clamp(34px,5vh,52px) 74px;position:relative}.fstep:last-child{padding-bottom:0}.fstep .mk{border:1px solid var(--line);background:var(--ink);width:48px;height:48px;font-family:var(--mono);color:var(--lime);z-index:2;box-shadow:0 0 0 6px var(--ink);place-items:center;font-size:14px;transition:border-color .4s,box-shadow .4s;display:grid;position:absolute;top:-4px;left:0}.p-sec.alt .fstep .mk{background:var(--ink-2);box-shadow:0 0 0 6px var(--ink-2)}.fstep.in .mk{border-color:var(--lime);box-shadow:0 0 0 6px var(--ink),0 0 18px rgba(var(--accT),.4)}.p-sec.alt .fstep.in .mk{box-shadow:0 0 0 6px var(--ink-2),0 0 18px rgba(var(--accT),.4)}.fstep .mk.loop{animation:3.4s linear infinite loopspin}@keyframes loopspin{to{transform:rotate(360deg)}}.fstep h3{font-family:var(--disp);text-transform:uppercase;margin-bottom:10px;font-size:clamp(17px,1.7vw,23px);font-weight:600;line-height:1.2}.fstep .meta{font-family:var(--mono);letter-spacing:.24em;color:var(--cyan);margin-bottom:12px;font-size:10px;display:block}.fstep p{color:var(--txt-soft);max-width:60ch;font-size:16px}.fstep .badge-loop{font-family:var(--mono);letter-spacing:.2em;color:var(--lime);border:1px solid rgba(var(--accT),.4);background:rgba(var(--accT),.04);margin-top:12px;padding:6px 12px;font-size:10px;display:inline-block}
