.crossing-scout { width:100%; max-width:440px; margin:0 0 .6rem; }
.crossing-scout > button { width:100%; }
.scout-dialog { margin:auto; padding:1rem; width:min(420px, calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; border:3px solid #0f172a; border-radius:18px; background:#fff; color:#0f172a; }
.scout-dialog:not([open]) { display:none; }
.scout-dialog::backdrop { background:rgba(15,23,42,.72); }
.scout-dialog h2 { font-size:1.35rem; margin:0 0 .35rem; }
.scout-dialog p { font-size:.85rem; margin:0 0 .7rem; overflow-wrap:anywhere; }
.scout-dialog button { min-height:44px; min-width:44px; }
.scout-directions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin:.7rem 0; }
.scout-directions button { padding:.6rem .4rem; }
.scout-directions button[aria-pressed="true"] { background:#4ade80; }
.scout-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:3px; margin:.7rem 0; }
.scout-cell { display:flex; justify-content:center; align-items:center; height:30px; font-family:monospace; font-size:1rem; background:#e2e8f0; border:1px solid #94a3b8; border-radius:4px; }
.scout-target { outline:3px solid #15803d; outline-offset:0; font-weight:800; }
.scout-result { min-height:7rem; }
.scout-result strong { display:block; margin:0 0 .3rem; }
.scout-dialog button:focus-visible, .crossing-scout > button:focus-visible { outline:3px solid #0284c7; outline-offset:3px; }
.scout-dialog [data-scout-close] { width:100%; }
@media (prefers-reduced-motion:reduce) { .crossing-scout .btn { transition:none; transform:none; } }
