.game-session-progress { position:sticky; top:8px; z-index:5; margin:0 0 16px; padding:12px 15px; border:1px solid #b7d7c7; border-radius:14px; background:#f0f8f2; color:#244b3d; box-shadow:0 4px 12px #173a4a0a; text-align:left; }
.game-progress-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.game-progress-heading strong { font:850 clamp(.95rem,2.5vw,1.12rem)/1.25 system-ui,sans-serif; }
.game-progress-badge { flex-shrink:0; padding:5px 9px; border-radius:9px; background:#d8ecdf; color:#275641; font:800 .78rem/1.25 system-ui,sans-serif; white-space:nowrap; }
.game-session-progress p { margin:7px 0 0; color:#4c695a; font:500 .78rem/1.4 system-ui,sans-serif; }
.game-progress-track { height:6px; margin-top:9px; border-radius:9px; background:#dce9df; overflow:hidden; }
.game-progress-track > span { display:block; height:100%; border-radius:inherit; background:#438765; transition:width .2s; }
.game-progress-track[hidden] { display:none; }
.game-session-progress[data-complete] { border-color:#86bb98; }
.wh-game .game-session-progress { position:static; margin:10px 0; padding:8px 10px; box-shadow:none; }
.wh-game .game-session-progress p { margin-top:4px; }
#session-progress { scroll-margin-top:12px; }
@media(max-width:520px) { .game-session-progress { padding:10px 11px; margin-bottom:12px; }.game-progress-heading { gap:6px; }.game-progress-heading strong { font-size:.93rem; }.game-progress-badge { font-size:.7rem; padding:5px 7px; }.game-session-progress p { font-size:.74rem; } }
@media(prefers-reduced-motion:reduce) { .game-progress-track > span { transition:none; } }
