/* Photo hunt pages. Loaded after style.css to reuse its colors and lightbox. */
body.hunt{display:block;height:auto;min-height:100%;padding:20px 16px 48px;color:var(--important)}
.hunt-wrap{max-width:720px;margin:0 auto}
.hunt-card{background:var(--card);padding:24px;border-radius:14px;box-shadow:0 10px 30px rgba(2,6,23,0.35);margin-bottom:16px}
.hunt h1{margin:0 0 4px;font-size:28px;color:var(--important);text-align:center}
.hunt .tag{text-align:center;margin:0 0 16px;color:var(--muted);letter-spacing:1px;font-weight:600}
.hunt p{line-height:1.5}
.hunt-nav{display:flex;gap:16px;justify-content:center;margin:0 0 14px;font-weight:600}
.hunt-nav a{color:var(--accent);text-decoration:none}
.hunt-nav a[aria-current]{color:var(--important);text-decoration:underline}

.hunt label.field{display:block;margin:0 0 12px;font-weight:600;color:var(--important)}
.hunt input[type=text],.hunt input[type=password]{width:100%;margin-top:6px;padding:12px;border:1px solid var(--subtext);border-radius:8px;font-size:16px;background:#f4f8f5;color:var(--important)}
.btn{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px 18px;font-size:16px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn:disabled{opacity:.55;cursor:default}
.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn.danger{background:#9b2c2c}
.btn.small{padding:6px 10px;font-size:14px}
.error{color:#8a1f1f;font-weight:600;min-height:1.2em;margin:8px 0 0}
.banner{background:#f5e6b8;color:#5b4a12;padding:12px 14px;border-radius:8px;margin-bottom:16px;font-weight:600;text-align:center}

.progress{color:var(--muted);font-weight:600;margin:0 0 12px;text-align:center}
.prompt{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid rgba(47,58,45,0.15)}
.prompt:first-of-type{border-top:0}
.prompt .check{flex:0 0 28px;height:28px;border-radius:50%;border:2px solid var(--subtext);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}
.prompt.done .check{background:var(--muted);border-color:var(--muted)}
.prompt .body{flex:1;min-width:0}
.prompt .text{font-weight:600}
.prompt .status{font-size:14px;color:var(--muted);min-height:1.2em}
.prompt .actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.prompt img.mine{width:56px;height:56px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.prompt input[type=file]{display:none}
.bar{height:6px;background:rgba(47,58,45,0.2);border-radius:3px;overflow:hidden;margin-top:6px}
.bar>span{display:block;height:100%;width:0;background:var(--accent);transition:width .15s}

.group{margin-bottom:22px}
.group h2{font-size:18px;margin:0 0 10px;color:var(--important)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.tile{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#0002;cursor:zoom-in;padding:0;border:0}
.tile img{width:100%;height:100%;object-fit:cover;display:block}
.tile .who{position:absolute;left:0;right:0;bottom:0;padding:14px 6px 4px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65));text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .del{position:absolute;top:4px;right:4px}
.empty{color:var(--muted);font-style:italic}
.hunt .lightbox-caption{position:absolute;left:18px;bottom:22px;right:18px;color:#fff;text-shadow:0 1px 4px #000;font-weight:600}

@media (max-width:520px){
  .hunt h1{font-size:24px}
  .prompt{flex-wrap:wrap}
  .prompt .actions{flex-direction:row;align-items:center;flex:1 0 100%;justify-content:flex-end}
}

/* Change-name control */
.whoami{margin:0 0 12px;text-align:center;color:var(--important)}
.link-btn{background:none;border:0;padding:0;margin-left:6px;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}
.name-form{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 0 12px}
.name-form input{flex:1 1 160px;min-width:0;padding:8px 10px;font-size:16px;border-radius:8px;border:1px solid var(--accent)}
.name-form[hidden]{display:none}

/* All-found celebration */
.congrats{display:flex;flex-direction:column;gap:4px;text-align:center;margin:0 0 14px;padding:14px 16px;border-radius:10px;background:#f5ecd7;color:#2f6b3a;border:2px solid #2f6b3a}
.congrats strong{font-size:20px}
.congrats[hidden]{display:none}
.congrats .btn{align-self:center;margin-top:6px}
.congrats .btn[hidden]{display:none}
.reward-video{width:100%;max-height:70vh;margin-top:8px;border-radius:8px;background:#000}
.reward-video[hidden]{display:none}
