/* 26 Oct 2026 branding chat (D-047): "Boarding the radar" screen between sign-in and the dashboard.
   Main design (cream/navy, chunky cards, Joki). Display only. Pairs with boarding.js. */
html.jr-boarding body>*:not(#jr-board){visibility:hidden!important}
html.jr-boarding body{background:#FFF7EC!important}
html.jr-boarding[data-theme="dark"] body{background:#121626!important}
html.jr-boarding.auth-pending body::before{content:none!important}
#jr-board,#jr-board *{box-sizing:border-box}
#jr-board{--jb-bg:#FFF7EC;--jb-fg:#15192B;--jb-mute:#565E78;--jb-card:#FFFFFF;--jb-edge:#15192B;
 position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:24px 16px;overflow:auto;
 background:var(--jb-bg);color:var(--jb-fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 visibility:visible!important;opacity:1;transition:opacity .28s ease}
html[data-theme="dark"] #jr-board{--jb-bg:#121626;--jb-fg:#F4F1EA;--jb-mute:#A8AEC4;--jb-card:#1D2338;--jb-edge:#05060B}
html body #jr-board{background:var(--jb-bg)!important;color:var(--jb-fg)!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:none!important;width:auto!important;height:auto!important}
#jr-board.jb-out{opacity:0;pointer-events:none}
#jr-board.jb-fadein{animation:jb-fade .15s ease-out}
#jr-board .jb-card{width:min(340px,100%);display:grid;justify-items:center;gap:16px;text-align:center}
#jr-board .jb-radar{position:relative;width:188px;height:188px;display:grid;place-items:center}
#jr-board .jb-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#jr-board .jb-rings circle{fill:none;stroke:var(--jb-fg);stroke-width:2;opacity:.18}
#jr-board .jb-rings circle.jb-edge{opacity:.9;stroke-width:3}
#jr-board .jb-sweep{stroke:#2340FF;stroke-width:4;stroke-linecap:round;transform-origin:100px 100px;animation:jb-spin 1.6s linear infinite}
html[data-theme="dark"] #jr-board .jb-sweep{stroke:#8FA0FF}
#jr-board .jb-blip{fill:#FFD000;stroke:var(--jb-edge);stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity .25s,transform .25s}
#jr-board.jb-s2 .jb-blip,#jr-board.jb-s3 .jb-blip{opacity:1;transform:scale(1)}
#jr-board .jb-blip:nth-of-type(2){transition-delay:.12s}#jr-board .jb-blip:nth-of-type(3){transition-delay:.24s}
#jr-board .jb-joki{box-sizing:border-box;position:relative;width:116px;height:116px;padding:10px;border-radius:50%;background:#FFF7EC;border:2.5px solid var(--jb-edge);box-shadow:3px 3px 0 var(--jb-edge);animation:jb-bob 1.1s ease-in-out infinite alternate}
#jr-board .jb-joki svg{display:block;width:96px;height:96px}
#jr-board .jb-h{margin:0;font:italic 900 clamp(26px,8vw,32px)/1.05 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-transform:uppercase;letter-spacing:-.03em}
#jr-board .jb-h mark{display:inline-block;background:#FFD000;color:#15192B;padding:0 8px;border-radius:6px;transform:rotate(-2deg)}
#jr-board .jb-steps{list-style:none;margin:0;padding:0;width:100%;display:grid;gap:8px;text-align:left}
#jr-board .jb-steps li{display:flex;align-items:center;gap:12px;min-height:46px;padding:8px 14px;background:var(--jb-card);border:2.5px solid var(--jb-edge);border-bottom-width:5px;border-radius:14px;font-weight:800;opacity:.5;transition:opacity .2s,transform .2s}
#jr-board .jb-steps li::before{content:"";flex:0 0 22px;height:22px;border-radius:50%;border:2.5px solid var(--jb-fg);box-sizing:border-box;display:grid;place-items:center;font:900 13px/1 system-ui,sans-serif}
#jr-board .jb-steps li.jb-now{opacity:1}
#jr-board .jb-steps li.jb-now::before{border-top-color:transparent;animation:jb-spin .8s linear infinite}
#jr-board .jb-steps li.jb-ok{opacity:1}
#jr-board .jb-steps li.jb-ok::before{content:"\2713";background:#FFD000;color:#15192B;border-color:#15192B;animation:jb-pop .25s ease-out}
#jr-board .jb-line{margin:0;color:var(--jb-mute);font-size:14px;min-height:21px}
@keyframes jb-spin{to{transform:rotate(360deg)}}
@keyframes jb-bob{from{transform:translateY(2px)}to{transform:translateY(-4px)}}
@keyframes jb-fade{from{opacity:0}}
@keyframes jb-pop{from{transform:scale(.6)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){#jr-board .jb-sweep,#jr-board .jb-joki,#jr-board .jb-steps li.jb-now::before,#jr-board .jb-steps li.jb-ok::before{animation:none}#jr-board{transition:none}#jr-board.jb-fadein{animation:none}}
