/* PSI Play IQ Engine — shared chrome */
:root{
  --navy:#0d2b4f; --blue:#0d6fd1; --blue-hi:#3da5ff; --gold:#ffe72b;
  --ink:#eaf2fb; --muted:#9fb3c8; --card:#0f1b2d; --line:rgba(255,255,255,.08);
}
.psi-fieldwrap{position:relative;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 60px rgba(0,0,0,.5);background:#123c1e}
.psi-svg{display:block;width:100%;height:auto;user-select:none}
.psi-controls{display:flex;align-items:center;gap:8px;padding:10px 4px 2px;flex-wrap:wrap}
.psi-btn{font-family:inherit;cursor:pointer;border:0;border-radius:9px;font-weight:700;font-size:13px;
  color:#fff;padding:8px 16px;background:linear-gradient(145deg,#1e88e5,#0a4f9e);
  box-shadow:0 4px 12px rgba(13,111,209,.35),inset 0 1px 0 rgba(255,255,255,.22);transition:all .18s}
.psi-btn:hover{transform:translateY(-1px)}
.psi-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.18);box-shadow:none;color:var(--ink)}
.psi-btn.ghost:hover{background:rgba(255,255,255,.07)}
.psi-btn.on{background:rgba(61,165,255,.25);border-color:var(--blue-hi)}
.psi-scrub{flex:1;accent-color:var(--blue-hi);height:4px;cursor:pointer;min-width:90px}
.psi-clock{font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--muted);width:56px;text-align:right}
.psi-phases{display:flex;gap:6px;padding:8px 4px 0;flex-wrap:wrap}
.psi-phase{font-size:10px;letter-spacing:1.1px;font-weight:700;color:var(--muted);
  padding:4px 10px;border-radius:999px;border:1px solid var(--line);transition:all .25s}
.psi-phase.active{color:#06243f;background:var(--gold);border-color:var(--gold);box-shadow:0 0 14px rgba(255,231,43,.35)}
.psi-phase.hidden{display:none}
.psi-pl{cursor:default}
.psi-pl.clickable{cursor:pointer}
.psi-pl .ring{opacity:0;transition:opacity .15s}
.psi-pl.clickable:hover .ring{opacity:1}
.psi-pl.picked-good .ring{opacity:1}
.psi-pl .body.pulse,.pulse{animation:psipulse 1.1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes psipulse{0%,100%{transform:scale(1)}50%{transform:scale(1.28)}}
@keyframes chalkdraw{to{stroke-dashoffset:0}}
/* scenario card */
.psi-card-scene{background:linear-gradient(160deg,#0f2240,#0a1830 60%,#0c1c36);border:1px solid rgba(61,165,255,.25);
  border-radius:14px;padding:22px 24px;min-height:280px;box-shadow:0 14px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}
.psi-scn-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:14px}
.psi-scn-badge{width:36px;height:36px;border-radius:9px;background:linear-gradient(145deg,#0d6fd1,#063a73);
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;letter-spacing:.5px}
.psi-scn-title{font-weight:800;font-size:15px;letter-spacing:2.5px;color:#eaf2fb}
.psi-scn-ic{margin-left:auto;font-size:22px;opacity:.8}
.psi-scn-chips{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0 6px}
.psi-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:11px;
  padding:12px 18px;min-width:120px;animation:chipin .5s ease backwards}
.psi-chip .k{font-size:10px;letter-spacing:1.6px;color:#9fb3c8;font-weight:700;text-transform:uppercase}
.psi-chip .v{font-size:20px;font-weight:800;color:#fff;margin-top:4px;font-variant-numeric:tabular-nums}
.psi-scn-note{margin-top:14px;font-size:12.5px;line-height:1.55;color:#cfe0f2;background:rgba(79,195,247,.08);
  border:1px solid rgba(79,195,247,.25);border-radius:10px;padding:10px 14px}
@keyframes chipin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
