:root{--paper:#fbfaf7;--ink:#131a26;--ink-soft:#4a5160;--amber:#f5a300;--amber-deep:#8a5b00;--amber-wash:#fdf3dd;--safe:#1f7a4d;--safe-wash:#e8f4ed;--line:#ddd8cd;--danger:#b3261e;--radius:14px}*{box-sizing:border-box}main.shell{background:var(--paper);color:var(--ink);max-width:30rem;min-height:100dvh;margin:0 auto;padding:0 20px 56px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.45}.beacon{background:var(--amber);color:#2b1d00;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;margin:0 -20px 28px;padding:12px 20px;font-size:14px;font-weight:700;display:flex}.beacon.safe{background:var(--safe);color:#fff}.beacon-dot{background:#2b1d00;border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:1.4s ease-in-out infinite beacon-pulse}.beacon.safe .beacon-dot{background:#fff;animation:none}@keyframes beacon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}@media (prefers-reduced-motion:reduce){.beacon-dot{animation:none}}h1{letter-spacing:-.015em;margin:0 0 10px;font-size:clamp(28px,7.5vw,36px);font-weight:800;line-height:1.12}.lede{color:var(--ink-soft);margin:0 0 28px;font-size:17px}.step-label{letter-spacing:.08em;text-transform:uppercase;color:var(--amber-deep);margin:30px 0 12px;font-size:13px;font-weight:700}.tag-input{letter-spacing:.01em;border:2px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;padding:16px 18px;font-family:inherit;font-size:22px;font-weight:600}.tag-input:focus-visible{outline:3px solid var(--amber);outline-offset:1px;border-color:var(--amber-deep)}.msg-list{gap:10px;display:grid}.msg-btn{text-align:left;border:2px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);cursor:pointer;background:#fff;min-height:56px;padding:16px 18px;font-family:inherit;font-size:17px;font-weight:500;line-height:1.35;display:block}.msg-btn[aria-pressed=true]{border-color:var(--amber-deep);background:var(--amber-wash);font-weight:700}.msg-btn:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.loc-row{border:2px dashed var(--line);border-radius:var(--radius);width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;align-items:center;gap:12px;min-height:54px;padding:14px 16px;font-family:inherit;font-size:16px;display:flex}.loc-row.granted{border-style:solid;border-color:var(--safe);background:var(--safe-wash);color:var(--safe);font-weight:600}.loc-row:focus-visible{outline:3px solid var(--amber);outline-offset:1px}.primary{letter-spacing:.01em;border-radius:var(--radius);background:var(--ink);width:100%;color:var(--paper);cursor:pointer;border:none;min-height:60px;margin-top:26px;padding:18px;font-family:inherit;font-size:19px;font-weight:800;display:block}.primary:disabled{opacity:.45;cursor:not-allowed}.primary:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.status-card{border:2px solid var(--line);border-radius:var(--radius);text-align:center;background:#fff;padding:24px 20px}.status-card h2{margin:0 0 8px;font-size:24px;font-weight:800}.status-card p{color:var(--ink-soft);margin:0}.status-card.safe{border-color:var(--safe);background:var(--safe-wash)}.error-text{color:var(--danger);margin-top:14px;font-weight:600}.fine-print{color:var(--ink-soft);margin-top:34px;font-size:13px;line-height:1.5}.fine-print a{color:var(--amber-deep)}.brand-mark{letter-spacing:-.01em;font-weight:800}.phone-input{border:2px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;padding:14px 16px;font-family:inherit;font-size:18px;font-weight:600}.phone-input:focus-visible{outline:3px solid var(--amber);outline-offset:1px;border-color:var(--amber-deep)}.phone-note{color:var(--ink-soft);margin-top:8px;font-size:13px;line-height:1.45}.thread{gap:10px;margin-top:20px;display:grid}.bubble{border-radius:var(--radius);max-width:92%;padding:13px 15px;font-size:16px;line-height:1.4}.bubble.owner{background:var(--amber-wash);border:2px solid var(--amber);color:var(--ink);justify-self:start;font-weight:600}.bubble.finder{border:2px solid var(--line);color:var(--ink-soft);background:#fff;justify-self:end}.bubble-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--amber-deep);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.bubble.finder .bubble-meta{color:var(--ink-soft)}.reply-row{margin-top:18px}.reunite-legal-notice{color:#555;background:#00000005;border:1px solid #0000001f;border-radius:8px;margin:16px 0;padding:12px 14px;font-size:12px;line-height:1.5}.reunite-legal-notice p{margin:0 0 8px}.reunite-legal-notice p:last-child{margin-bottom:0}.reunite-legal-notice a{color:inherit;text-decoration:underline}
