/* "Line up the view" — intro card on the clue screen and the full-screen camera.
   Colours/typography follow the rest of the hunt screens (see hunt-style.css). */
.lu-ref { display:flex; gap:12px; align-items:center; background:#fbeee0; border-radius:12px; padding:10px; margin:6px 0 4px; text-align:left; }
.lu-ref img { width:84px; height:112px; object-fit:cover; border-radius:8px; flex:0 0 auto; background:#e9ddcf; }
.lu-ref b { display:block; color:#1c2b4a; font-size:15px; margin-bottom:2px; }
.lu-ref span { font-size:13px; color:#6b5c4d; line-height:1.35; }
.lu-ref--done { background:#e9f5ea; }
.lu-ref--done b { color:#2e7d32; }

#lineup-overlay { position:fixed; inset:0; z-index:3100; background:#000; overflow:hidden; font-family:'Montserrat',sans-serif; }
.lu-full { position:absolute; inset:0; background:#000; }
.lu-full video, .lu-full .lu-ghost { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.lu-full .lu-ghost { opacity:.5; pointer-events:none; }
.lu-full .lu-ghost.lu-photo { opacity:.4; }
.lu-full .lu-ghost.lu-off { display:none; }
.lu-frame { position:absolute; inset:0; border:5px solid transparent; pointer-events:none; transition:border-color .25s; }
.lu-full.near .lu-frame { border-color:#E47A2E; }
.lu-full.ok .lu-frame { border-color:#2e7d32; }
.lu-top { position:absolute; top:0; left:0; right:0; display:flex; justify-content:space-between; align-items:center; padding:calc(12px + env(safe-area-inset-top, 0px)) 12px 12px; background:linear-gradient(rgba(0,0,0,.45), transparent); }
.lu-chip { display:flex; align-items:center; gap:6px; background:rgba(0,0,0,.55); color:#fff; border:0; border-radius:16px; padding:5px 11px 5px 5px; font-size:12px; font-family:inherit; }
.lu-chip img { width:26px; height:34px; object-fit:cover; border-radius:4px; }
.lu-x { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.88); color:#1c2b4a; border:0; font-size:22px; line-height:1; }
.lu-bottom { position:absolute; left:0; right:0; bottom:0; padding:34px 18px calc(18px + env(safe-area-inset-bottom, 0px)); background:linear-gradient(transparent, rgba(0,0,0,.62)); color:#fff; text-align:center; }
.lu-meter { height:8px; background:rgba(255,255,255,.22); border-radius:6px; overflow:hidden; }
.lu-meter i { display:block; height:100%; width:0; background:#E47A2E; border-radius:6px; transition:width .35s, background .3s; }
.lu-full.ok .lu-meter i { background:#2e7d32; }
.lu-label { display:flex; justify-content:space-between; font-size:12px; color:#e6dfd6; margin:5px 2px 0; }
.lu-status { font-size:14px; margin:8px 0 0; }
.lu-stuck { display:block; margin:12px auto 0; background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.55); color:#fff; border-radius:8px; padding:9px 14px; font-size:14px; font-family:inherit; }
.lu-ok { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(15,40,20,.45); color:#fff; }
.lu-ok .clue-verdict__icon { margin:0 0 8px; }
.lu-ok b { font-size:22px; margin-bottom:14px; }
.lu-ok .btn { min-width:180px; }
.lu-msg { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:30px; background:rgba(20,20,20,.92); }
.lu-msg i.big { font-size:64px; color:#E47A2E; display:inline-block; animation:luRot 2.2s ease-in-out infinite; }
.lu-msg b { font-size:20px; margin:14px 0 6px; }
.lu-msg span { font-size:14px; color:#d9d1c7; }
.lu-msg a, .lu-msg button.lu-link { margin-top:22px; color:#fff; text-decoration:underline; font-size:14px; background:none; border:0; font-family:inherit; }
@keyframes luRot { 0%,25% { transform:rotate(0); } 60%,100% { transform:rotate(-90deg); } }