/* Opt-in Firebase AR dialog and phone page, shared by Hall and Window. */
.hall-ar-dialog, .hall-ar-page { font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color: #20343f; }
.hall-ar-dialog { box-sizing:border-box; width:min(560px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); overflow:auto; padding:24px; border:1px solid #dde5ea; border-radius:22px; background:#fff; box-shadow:0 20px 70px #112d4933; }
.hall-ar-dialog::backdrop { background:#172b4566; backdrop-filter:blur(3px); }
.hall-ar-dialog [hidden], .hall-ar-page [hidden] { display:none !important; }
.hall-ar-header { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.hall-ar-header h2 { margin:0; font-size:22px; line-height:1.3; }
.hall-ar-close { flex:0 0 38px; height:38px; border:1px solid #dbe3e8; border-radius:10px; background:#fff; color:inherit; cursor:pointer; font-size:26px; }
.hall-ar-dialog p { font-size:14px; line-height:1.5; margin:12px 0; }
.hall-ar-modes { display:flex; gap:10px; padding:0; margin:18px 0; border:0; }
.hall-ar-modes legend { font-size:13px; font-weight:700; margin-bottom:8px; }
.hall-ar-modes label { flex:1; display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; border:1px solid #d9e3e9; border-radius:12px; cursor:pointer; }
.hall-ar-modes label:has(input:checked) { background:#eaf6ff; border-color:#087fd3; color:#075f9d; box-shadow:0 0 0 1px #087fd3; }
.hall-ar-modes input { accent-color:#077aca; }
.hall-ar-status { font-size:14px; text-align:center; min-height:22px; font-weight:600; }
.hall-ar-progress { display:block; width:100%; height:8px; accent-color:#087fd3; margin:20px 0 28px; }
.hall-ar-qr { width:min(264px,100%); margin:12px auto; padding:8px; background:white; border:1px solid #dae3ea; border-radius:12px; }
.hall-ar-qr svg { display:block; width:100%; height:auto; }
.hall-ar-file { text-align:center; font-weight:600; }
.hall-ar-error { padding:12px; background:#fff3f3; color:#a5232e; border:1px solid #e6a2a7; border-radius:10px; }
.hall-ar-actions { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0; }
.hall-ar-actions button, .hall-ar-actions a, .hall-ar-primary, .hall-ar-page button { display:inline-flex; align-items:center; justify-content:center; gap:10px; text-align:center; box-sizing:border-box; flex:1; min-height:46px; padding:11px 14px; border:1px solid #c7d8e5; border-radius:12px; background:white; color:#126b9e; font:inherit;font-size:14px;font-weight:600; text-decoration:none; cursor:pointer; user-select:none; }
.hall-ar-actions .hall-ar-primary, .hall-ar-primary { color:white; border-color:#087cca; background:#087cca; }
.hall-ar-dialog .hall-ar-small { font-size:12px; color:#667881; }
.hall-ar-dialog :focus-visible, .hall-ar-page :focus-visible { outline:3px solid #1099ee; outline-offset:3px; }
.hall-ar-page { box-sizing:border-box; margin:0; min-height:100vh; background:#eff5f8; padding:24px 16px; display:grid; align-items:start; justify-items:center; }
.hall-ar-phone-card { box-sizing:border-box; width:min(100%,510px); padding:26px; margin:4vh 0; background:white; border:1px solid #dce6eb; border-radius:24px; box-shadow:0 14px 45px #304a6814; }
.hall-ar-phone-card h1 { margin:8px 0 16px; font-size:26px; }
.hall-ar-phone-card p { font-size:14px; line-height:1.55; }
.hall-ar-phone-card .hall-ar-primary { width:100%; margin:18px 0; }
.hall-ar-phone-card .hall-ar-primary img { width:24px; height:24px; }
/* Keep the native Quick Look link to a single img child; localize the label via data-label. */
#arPhoneLaunch::after { content:attr(data-label); }
.hall-ar-phone-card small { display:block; color:#667881; line-height:1.5; }
.hall-ar-back { display:inline-block; margin-top:22px; color:#126b9e; }
body:is(.hall-dark-mode,.dark-mode,.shared-ui-dark-mode) .hall-ar-dialog { background:#202c35; color:#e9eff5; border-color:#465763; }
body:is(.hall-dark-mode,.dark-mode,.shared-ui-dark-mode) .hall-ar-dialog .hall-ar-small { color:#becad3; }
body:is(.hall-dark-mode,.dark-mode,.shared-ui-dark-mode) .hall-ar-close { background:#202c35; border-color:#465763; }
@media(max-width:480px) { .hall-ar-dialog { padding:18px; }.hall-ar-qr { width:220px; }.hall-ar-header h2 { font-size:20px; }.hall-ar-phone-card { padding:22px; } }
