.device-help { box-sizing:border-box; position:relative; z-index:2; width:100%; max-width:520px; margin:24px auto 0; padding:18px; border:1px solid #bddce9; border-radius:18px; background:#f5fcff; color:#285d79; font-size:13px; line-height:1.65; }
.device-help[hidden],.copy-fallback[hidden] { display:none; }
.device-help strong { display:block; margin-bottom:7px; }
.device-help p { margin:0 0 12px; }
.device-help a,.device-help button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; margin:4px 5px 4px 0; border:1px solid #9dc9df; border-radius:10px; background:#fff; font:inherit; color:#185d87; text-decoration:none; cursor:pointer; }
.device-help .copy-status { margin:8px 0 0; }
.copy-fallback { width:100%; padding:10px; font-size:14px; }
.scan-tip { color:#567185; font-size:12px; margin-bottom:12px; }
#btnStart:disabled { opacity:.6; cursor:wait; }
.video-container { aspect-ratio:4/3; min-height:0; }
.video-container video { width:100%; height:100%; object-fit:cover; }
.modal-content { max-height:90vh; overflow:auto; }
.location-button{width:100%;max-width:440px;min-height:54px;padding:14px 20px;margin:16px auto 8px;border:1px solid #99cbe0;border-radius:18px;background:linear-gradient(120deg,#e0f6ff,#f7fcff);color:#1c6385;font:600 17px 'Sarabun',sans-serif;cursor:pointer}
.location-button:disabled{opacity:.65;cursor:wait}
.device-help{margin:12px auto;padding:18px;text-align:left}
.device-help .permission-instructions{white-space:normal;line-height:1.85}
#btnStart{width:100%;max-width:440px;margin:8px auto 16px;padding:15px 20px;font-size:18px}
body{padding-bottom:110px}
.top-bar{gap:10px}.top-bar h2{font-size:clamp(14px,3.6vw,18px);line-height:1.5}.top-bar .spacer{display:none}.back-btn{white-space:nowrap}
.video-container{display:none}
