/* Visitor choices use native Theme Studio tokens; all content is server rendered. */
.spi-missions { --mission-ink:var(--luperiq-text,#173f49); --mission-paper:var(--luperiq-surface,#fffdf7); --mission-accent:color-mix(in srgb,var(--luperiq-primary,#096c72) 70%,var(--mission-ink)); --mission-line:color-mix(in srgb,var(--mission-ink) 20%,transparent); margin:2rem 0; }
.spi-missions * { box-sizing:border-box; }
.spi-missions-progress { display:inline-block; margin:0 0 1.25rem; padding:.5rem .9rem; border-radius:99px; background:color-mix(in srgb,var(--mission-accent) 12%,var(--mission-paper)); font-weight:750; font-size:.9rem; }
.spi-missions-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1.5rem; }
.spi-mission-card { display:flex; flex-direction:column; gap:.85rem; padding:1.35rem; border:1px solid var(--mission-line); border-radius:1.2rem; background:var(--mission-paper); box-shadow:0 .4rem 1.8rem color-mix(in srgb,var(--mission-ink) 6%,transparent); transition:box-shadow .18s ease; }
.spi-mission-card.is-found { box-shadow:0 0 0 2px var(--mission-accent) inset; }
.spi-mission-card:focus-within { outline:3px solid var(--mission-accent); outline-offset:3px; }
.spi-mission-check label { display:flex; align-items:center; gap:.6rem; font-weight:750; cursor:pointer; }
.spi-mission-check input { width:1.25rem; height:1.25rem; accent-color:var(--mission-accent); }
.spi-mission-body h3 { font:700 1.35rem/1.2 Georgia,serif; margin:0 0 .4rem; }
.spi-mission-place { font-weight:750; font-size:.92rem; margin:0 0 .6rem; }
.spi-mission-place a { color:var(--mission-accent); text-underline-offset:.25em; }
.spi-mission-shot,.spi-mission-hint,.spi-mission-time { font-size:.92rem; line-height:1.6; margin:0 0 .5rem; }
.spi-mission-time { font-style:italic; }
.spi-missions-empty { padding:2rem; border:1px dashed var(--mission-line); border-radius:1rem; }
.spi-missions-share { margin-top:2rem; padding:1.35rem; border:1px solid var(--mission-line); border-radius:1rem; background:color-mix(in srgb,var(--mission-accent) 6%,var(--mission-paper)); }
.spi-missions-share h2 { font:700 1.3rem/1.2 Georgia,serif; margin:0 0 .6rem; }
.spi-missions-share a { color:var(--mission-accent); text-underline-offset:.25em; }
/* Themed hunts: a section per theme inside the one checklist root. */
.spi-hunt { margin:0 0 2.75rem; }
.spi-hunt:last-of-type { margin-bottom:0; }
.spi-hunt-name { font:700 1.6rem/1.2 Georgia,serif; margin:0 0 .35rem; padding-top:.6rem; border-top:2px solid var(--mission-line); }
.spi-hunt-blurb { font-size:.98rem; line-height:1.6; margin:0 0 .75rem; max-width:60ch; }
.spi-hunt-progress { display:inline-block; margin:0 0 1.1rem; padding:.35rem .75rem; border-radius:99px; border:1px solid var(--mission-line); background:var(--mission-paper); font-weight:750; font-size:.82rem; }
