/* SignalNids Rando — GPS Live V2.1.2.
   Un rail droit mobile à icônes ; présentation PC, couches IGN et moteur GPS inchangés. */
@media (max-width:720px) {
  .snr-live-stage.snr212-mobile .snr-live-rail.snr212-rail {
    position:absolute!important;
    z-index:1007!important;
    top:var(--snr212-top,125px)!important;
    right:8px!important;
    left:auto!important;
    bottom:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:5px!important;
    width:42px;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    pointer-events:auto;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > button,
  .snr-live-stage.snr212-mobile .snr212-rail .snr200-toggle {
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
    padding:0!important;
    margin:0!important;
    line-height:1!important;
    font-size:20px!important;
    border-radius:13px!important;
    border:1px solid #dfede1!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 4px 16px rgba(9,50,29,.17)!important;
    color:#145d3d!important;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > button.is-active,
  .snr-live-stage.snr212-mobile .snr212-rail > button[aria-pressed="true"],
  .snr-live-stage.snr212-mobile .snr212-rail .snr200-toggle[aria-expanded="true"] {
    background:#dff3e6!important;
    border-color:#9acbaa!important;
    color:#0f7044!important;
  }
  .snr-live-stage.snr212-mobile .snr212-rail button:focus-visible {
    outline:3px solid #4cb77a!important;outline-offset:2px;
  }
  .snr-live-stage.snr212-mobile .snr212-rail button svg {display:block;width:19px;height:19px;flex:none}
  /* Le sélecteur IGN est déplacé au même endroit, sans toucher à ses listeners. */
  .snr-live-stage.snr212-mobile .snr212-rail > .snr200-switch-live {
    position:relative!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    width:42px!important;min-width:42px!important;height:42px!important;
    margin:0!important;z-index:3!important;
  }
  .snr-live-stage.snr212-mobile .snr212-rail .snr200-toggle span {display:none!important}
  .snr-live-stage.snr212-mobile .snr212-rail .snr200-menu {
    position:absolute!important;
    top:0!important;
    left:auto!important;
    right:calc(100% + 10px)!important;
    bottom:auto!important;
    width:min(258px,calc(100vw - 80px))!important;
    max-height:min(62vh,350px);overflow-y:auto;
    margin:0!important;
    z-index:1008!important;
  }
  /* La synthèse vocale Android/PC n'est pas remplacée, seulement déplacée. */
  .snr-live-stage.snr212-mobile .snr212-rail > #snr210Voice {
    flex:0 0 42px!important;
    display:flex!important;
    flex-direction:row!important;
    gap:0!important;
    overflow:hidden;
    font-size:18px!important;
    white-space:nowrap;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > #snr210Voice span {display:none!important}
  .snr-live-stage.snr212-mobile .snr212-rail > #snr210Voice[aria-pressed="true"] {
    color:#fff!important;background:#155b3e!important;border-color:#155b3e!important;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > #snr210Voice:disabled {
    font-size:0!important;opacity:.65;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > #snr210Voice:disabled::after {
    content:'♪';font-size:19px;line-height:1;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > .snr212-more-button svg circle{fill:currentColor;stroke:none}
  .snr-live-stage.snr212-mobile .snr212-rail > .snr212-more-button.is-active {background:#e2f5e6!important}
  .snr-live-stage.snr212-mobile .snr212-rail > .snr212-extra {
    position:absolute;
    right:calc(100% + 8px);
    bottom:0;
    width:44px;
    display:flex;flex-direction:column;gap:5px;
    padding:5px;
    width:52px;
    background:rgba(255,255,255,.97);
    border:1px solid #dce9df;
    border-radius:15px;
    box-shadow:0 9px 26px rgba(12,55,31,.18);
    z-index:1006;
    max-height:min(65dvh, 320px);overflow-y:auto;
  }
  .snr-live-stage.snr212-mobile .snr212-rail > .snr212-extra[hidden]{display:none!important}
  .snr-live-stage.snr212-mobile .snr212-rail .snr212-extra > button {
    display:grid!important;place-items:center!important;
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    margin:0!important;padding:0!important;
    font-size:21px!important;line-height:1!important;
    border:1px solid #e3ede6!important;
    border-radius:11px!important;background:#f5faf6!important;color:#1b6245!important;
    box-shadow:none!important;
  }
  .snr-live-stage.snr212-mobile .snr212-rail .snr212-extra > button.is-active,
  .snr-live-stage.snr212-mobile .snr212-rail .snr212-extra > button[aria-pressed="true"] {
    background:#e2f5e6!important;color:#137047!important;
  }
  /* Les informations de guidage deviennent une petite indication en bas à gauche. */
  .snr-live-stage.snr212-mobile .snr211-hud {
    left:8px!important;
    right:58px!important;
    max-width:330px!important;
    bottom:calc(var(--snr-panel-height,78px) + 10px)!important;
    gap:5px!important;
    max-height:min(22vh,125px)!important;
    overflow:visible!important;
  }
  .snr-live-stage.snr212-mobile .snr211-hud > .snr210-guide {
    padding:7px 9px!important;
    max-height:100px!important;
    overflow-y:auto!important;
    border-radius:11px!important;
  }
  .snr-live-stage.snr212-mobile .snr211-hud .snr210-main{gap:6px!important}
  .snr-live-stage.snr212-mobile .snr211-hud .snr210-symbol{width:20px!important;height:20px!important;flex-basis:20px!important;font-size:12px!important}
  .snr-live-stage.snr212-mobile .snr211-hud .snr210-text strong {font-size:10px!important;line-height:1.2!important}
  .snr-live-stage.snr212-mobile .snr211-hud .snr210-text small {font-size:9px!important;line-height:1.2!important}
  .snr-live-stage.snr212-mobile .snr211-hud .snr210-guide p {font-size:9px!important}
  .snr-live-stage.snr212-mobile.snr212-running .snr211-hud > .snr-live-message:not([data-kind="warn"]):not([data-kind="danger"]){display:none!important}
  .snr-live-stage.snr212-mobile .snr211-hud > .snr-live-message[data-kind="warn"],
  .snr-live-stage.snr212-mobile .snr211-hud > .snr-live-message[data-kind="danger"]{display:block!important;font-weight:750}
  /* Les zones de sécurité restent visibles même lorsque le panneau est réduit. */
  .snr-live-stage.snr212-mobile .snr-live-help {z-index:1020!important;}
}
@media(max-width:350px){
  .snr-live-stage.snr212-mobile .snr-live-rail.snr212-rail {right:5px!important;width:39px;gap:4px!important}
  .snr-live-stage.snr212-mobile .snr212-rail > button,
  .snr-live-stage.snr212-mobile .snr212-rail .snr200-toggle {width:39px!important;height:39px!important;min-width:39px!important;min-height:39px!important;max-width:39px!important;max-height:39px!important}
  .snr-live-stage.snr212-mobile .snr212-rail > .snr200-switch-live {width:39px!important;height:39px!important;min-width:39px!important}
  .snr-live-stage.snr212-mobile .snr211-hud {right:50px!important}
}
@media(prefers-reduced-motion:reduce){
  .snr-live-stage.snr212-mobile .snr212-rail button {transition:none!important}
}
