/* All selectors are scoped to the GS mission. No shared world styles change. */
.pw-level-gs { --gs-ink:#163a33; --gs-line:#748e7c; --gs-paper:#fffdf5; --gs-leaf:#e4eee0; color:var(--gs-ink); overflow-wrap:anywhere; }
.pw-level-gs *, .pw-level-gs *::before, .pw-level-gs *::after { box-sizing:border-box; }
.pw-level-gs .pw-panels { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:1.25rem; align-items:start; }
.pw-level-gs .pw-panel { min-width:0; }
.pw-level-gs .pw-gs-phase { font-weight:800; font-size:.9rem; letter-spacing:.03em; }
.pw-level-gs .pw-gs-story { max-width:62rem; padding:1rem 1.25rem; border-left:5px solid #648e72; background:#edf3e6; border-radius:0 .8rem .8rem 0; }
.pw-level-gs .pw-controls { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; }
.pw-level-gs .pw-button { min-width:64px; min-height:64px; max-width:100%; display:inline-flex; gap:.65rem; align-items:center; justify-content:center; padding:.8rem 1rem; border:2px solid #284f3b; border-radius:.8rem; background:#234a38; color:#fffdf4; font:inherit; font-weight:750; line-height:1.4; text-align:center; white-space:normal; overflow-wrap:anywhere; cursor:pointer; touch-action:manipulation; }
.pw-level-gs .pw-button.pw-quiet { background:var(--gs-paper); color:var(--gs-ink); border-color:#6e8a73; }
.pw-level-gs .pw-button:hover:not(:disabled) { background:#d8e8ce; color:#163a33; }
.pw-level-gs .pw-button:disabled { cursor:default; background:#e9ece7; color:#5a655d; border-color:#929c92; border-style:dashed; }
.pw-level-gs .pw-button:focus-visible, .pw-level-gs summary:focus-visible { outline:4px solid #2355b2; outline-offset:4px; }
.pw-level-gs .pw-gs-icon { display:block; flex:0 0 auto; width:3rem; height:3rem; max-width:100%; }
.pw-level-gs .pw-gs-arrow { font-family:system-ui,sans-serif; font-size:2rem; font-weight:800; line-height:1.2; display:block; flex:none; }
.pw-level-gs .pw-gs-board-wrap { margin:0; }
.pw-level-gs .pw-gs-board-wrap figcaption { font-size:.9rem; letter-spacing:.08em; font-weight:850; padding:.5rem; text-align:center; }
.pw-level-gs .pw-gs-board { position:relative; min-height:26rem; display:grid; border:3px solid #426849; border-radius:.6rem; overflow:hidden; background:var(--gs-paper); }
.pw-level-gs .pw-gs-grid { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); min-width:0; }
.pw-level-gs .pw-gs-cell { position:relative; min-width:0; min-height:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; padding:.4rem .2rem 1.5rem; border:1px solid #8da18e; text-align:center; line-height:1.2; font-size:.88rem; font-weight:800; }
.pw-level-gs .pw-gs-cell > .pw-gs-icon { width:2.5rem; height:2.5rem; }
.pw-level-gs .pw-gs-cell.pw-gs-water { background:#e4eff7; color:#16485c; border:3px double #477085; }
.pw-level-gs .pw-gs-blocked { font-size:.7rem; }
.pw-level-gs .pw-gs-cell.pw-gs-here { outline:4px solid #285135; outline-offset:-5px; }
.pw-level-gs .pw-gs-path { color:#657d60; font-size:2rem; line-height:.6; }
.pw-level-gs .pw-gs-pawn { display:block; background:#fff7cf; border:2px solid #5b4625; border-radius:50%; padding:.1rem; color:#654526; }
.pw-level-gs .pw-gs-pawn .pw-gs-icon { width:2.6rem; height:2.6rem; }
.pw-level-gs .pw-gs-trail { position:absolute; inset:0; width:100%; height:100%; color:#698c4a; opacity:.65; pointer-events:none; }
.pw-level-gs .pw-gs-visits { position:absolute; bottom:.18rem; left:.2rem; right:.2rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.15rem; }
.pw-level-gs .pw-gs-visits b { background:#fff; color:#173b28; border:1px solid #406847; border-radius:50%; min-width:1.25em; padding:.1em; font-size:.72rem; line-height:1; }
.pw-level-gs .pw-gs-position { margin:.8rem 0 .5rem; padding:.65rem; border:1px solid #829478; background:#f1f4e6; border-radius:.5rem; font-weight:800; }
.pw-level-gs .pw-gs-legend { font-size:.85rem; margin-bottom:0; }
.pw-level-gs .pw-gs-landmarks { margin:.8rem 0 1rem; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.45rem; }
.pw-level-gs .pw-gs-landmarks li { min-width:0; padding:.6rem .25rem; display:flex; flex-direction:column; align-items:center; gap:.3rem; text-align:center; border:2px solid #88a078; border-radius:.6rem; background:#f4f6e9; font-size:.85rem; }
.pw-level-gs .pw-gs-landmarks .pw-gs-slot { font-size:.75rem; font-weight:850; }
.pw-level-gs .pw-gs-empty { font-size:2rem; }
.pw-level-gs .pw-gs-repere-choices .pw-button { flex:1 1 8rem; flex-direction:column; }
.pw-level-gs .pw-gs-direction-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pw-level-gs .pw-gs-direction-choices .pw-button { justify-content:flex-start; text-align:left; }
.pw-level-gs .pw-gs-route { display:flex; flex-wrap:wrap; list-style:none; margin:1rem 0; padding:0; gap:.55rem; }
.pw-level-gs .pw-gs-route li { flex:0 1 7.5rem; min-width:0; border:2px solid #97aa85; border-radius:.6rem; padding:.45rem; text-align:center; background:#f9faef; }
.pw-level-gs .pw-gs-route li[aria-current=step] { border:4px solid #225638; background:#e7f0da; }
.pw-level-gs .pw-gs-route .pw-gs-slot { font-weight:850; font-size:.8rem; }
.pw-level-gs .pw-gs-route .pw-button { width:100%; padding:.4rem; font-size:.75rem; margin-top:.4rem; }
.pw-level-gs .pw-gs-observation { padding:.9rem; border:2px solid #76925d; border-radius:.6rem; background:#edf3df; font-weight:800; }
.pw-level-gs .pw-gs-log { padding-left:1.5rem; }
.pw-level-gs .pw-gs-log li { margin-bottom:.5rem; }
.pw-level-gs .pw-gs-rules, .pw-level-gs .pw-gs-kit { margin-top:1.1rem; border:1px solid #8da081; border-radius:.6rem; padding:.4rem 1rem; background:#fffdf5; }
.pw-level-gs summary { cursor:pointer; min-height:64px; padding:1rem 0; font-weight:800; line-height:1.4; }
.pw-level-gs .pw-gs-kit-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.pw-level-gs .pw-gs-kit-card { display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px dashed #526a4c; min-width:0; min-height:9rem; padding:.8rem .4rem; text-align:center; break-inside:avoid; }
.pw-level-gs .pw-gs-kit-card .pw-gs-icon { width:4rem; height:4rem; }
.pw-level-gs .pw-gs-kit-card p { margin:.5rem 0 0; font-size:.85rem; }
.pw-level-gs .pw-gs-delivery { display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:1rem; color:#3f6731; }
.pw-level-gs .pw-gs-delivery .pw-gs-icon { width:4rem; height:4rem; }
.pw-level-gs .pw-gs-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1000px) {
  .pw-level-gs .pw-panels { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .pw-level-gs .pw-gs-direction-choices { grid-template-columns:1fr; }
  .pw-level-gs .pw-gs-kit-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pw-level-gs .pw-gs-landmarks { gap:.25rem; }
  .pw-level-gs .pw-gs-landmarks li { font-size:.75rem; }
  .pw-level-gs .pw-gs-story { padding:.8rem; }
  .pw-level-gs .pw-gs-route li { flex-basis:calc(50% - .3rem); }
  .pw-level-gs .pw-controls > .pw-button { width:100%; }
}
@media print {
  .pw-level-gs { color:#111; background:#fff; }
  .pw-level-gs .pw-gs-phase, .pw-level-gs .pw-gs-story, .pw-level-gs .pw-panels, .pw-level-gs .pw-gs-rules, .pw-level-gs .pw-gs-kit > summary { display:none!important; }
  .pw-level-gs .pw-gs-kit, .pw-level-gs .pw-gs-kit .pw-kit { display:block!important; border:0!important; padding:0!important; margin:0!important; background:#fff!important; }
  .pw-level-gs .pw-gs-kit-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pw-level-gs .pw-gs-kit-card { color:#111; background:#fff!important; border:1px dashed #111; min-height:42mm; }
  .pw-level-gs .pw-gs-icon { color:#111; fill:none; stroke:#111; }
}
