@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#f8fafc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:#f8fafc;height:100%;width:100%}body{min-width:320px}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{min-height:100vh}button{font-family:inherit}.app-shell{max-width:860px;margin:0 auto;min-height:100dvh;padding:16px;color:#0f172a;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column}.top-header{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin-bottom:16px}.top-header h1{margin:0;font-size:1.85rem;font-family:Space Grotesk,Inter,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em}.top-header p{margin:6px 0 0;color:#475569}.top-actions{margin-top:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-cta-wrap{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.report-nudge{position:relative;padding:6px 10px;max-width:min(280px,calc(100vw - 48px));border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;font-size:.74rem;line-height:1.25;white-space:normal;box-shadow:0 8px 20px #1e3a8a24}.report-nudge:before{content:"";position:absolute;left:-6px;top:calc(50% - 5px);width:10px;height:10px;background:#eff6ff;border-left:1px solid #bfdbfe;border-bottom:1px solid #bfdbfe;transform:rotate(45deg)}.subtle{color:#64748b;font-size:.85rem}.content-wrap{display:grid;gap:18px;padding-bottom:40px;flex:1}.progress-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:12px;display:grid;gap:8px}.progress-card h2{margin:0;font-size:1rem}.progress-card p{margin:0;font-size:.82rem;color:#64748b}.progress-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:#475569}.progress-bar-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden;position:relative}.progress-bar-fill{height:100%;border-radius:999px;transition:width .18s ease}.progress-bar-fill.reports{background:linear-gradient(90deg,#93c5fd,#3b82f6)}.progress-bar-fill.drinks{background:linear-gradient(90deg,#86efac,#22c55e)}.progress-summary{margin-top:4px;font-size:.82rem;color:#475569}.rating-widget{margin-top:4px;padding:10px 2px 8px;display:grid;gap:6px}.rating-label{font-size:.8rem;color:#64748b}.rating-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.rating-stars{display:inline-flex;gap:4px}.rating-star{font-size:1.1rem;line-height:1;padding:2px;border:0;background:transparent;color:#cbd5e1;cursor:pointer}.rating-star.is-active{color:#f59e0b}.rating-star:hover{color:#fbbf24}.action-btn.rate-submit{padding:6px 10px;font-size:.8rem;background:#f8fafc}.rating-message{font-size:.8rem;color:#64748b}.site-footer{margin-top:auto;padding:10px 2px 2px;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#94a3b8;font-size:.8rem;line-height:1.35}.site-footer a{color:#64748b;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer-links{display:inline-flex;align-items:center;gap:12px}.footer-link-button{padding:0;border:0;background:transparent;color:#64748b;text-decoration:none;font:inherit;cursor:pointer}.footer-link-button:hover{text-decoration:underline}.privacy-popup{position:fixed;right:16px;bottom:16px;max-width:340px;background:#fff;border:1px solid #dbe3ee;border-radius:12px;box-shadow:0 10px 24px #0f172a1f;padding:12px;font-size:.82rem;line-height:1.4;color:#334155;z-index:30}.privacy-popup p{margin:0}.privacy-popup-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.privacy-popup-actions a{color:#475569;text-decoration:none}.privacy-popup-actions a:hover{text-decoration:underline}.privacy-popup-actions button{border:1px solid #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:8px;padding:4px 10px;font:inherit;cursor:pointer}.privacy-popup-actions button:hover{background:#f1f5f9}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.section-head h2{margin:0;font-size:1.15rem}.section-head span{color:#64748b;font-size:.9rem}.card-list{display:grid;gap:10px}.sighting-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:12px}.sighting-card.is-active-live{position:relative;animation:liveCardPulse 2.6s ease-in-out infinite}.sighting-card.is-past{opacity:.7;filter:grayscale(.45);background:#f1f5f9}.card-header-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-status-wrap{display:flex;align-items:center;gap:8px}.chip-active-live{display:inline-flex;align-items:center;gap:6px;color:#0f766e;background:#ecfeff;border-color:#99f6e4}.live-dot{width:7px;height:7px;border-radius:50%;background:#14b8a6;box-shadow:0 0 #14b8a680;animation:liveDotPulse 1.6s ease-out infinite}.card-header-row h3{margin:0;font-size:1.04rem}.chip{border-radius:999px;padding:2px 10px;font-size:.75rem;border:1px solid #cbd5e1;color:#475569}.desc{margin:10px 0;color:#334155}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;color:#475569;font-size:.9rem}.time-display,.confirm-text{display:flex;flex-direction:column;gap:4px}.time-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:#94a3b8;font-weight:600}.time-value{font-size:1.05rem;color:#0f172a;font-weight:600}.relative-time{font-size:.9rem;color:#64748b;font-weight:400;margin-left:4px;white-space:nowrap}.confirm-label{font-size:.95rem;color:#0f172a;font-weight:500}.actions-row{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.past-note{margin-top:10px;color:#64748b;font-size:.9rem}.action-btn{border:1px solid #cbd5e1;border-radius:10px;padding:9px 12px;background:#fff;color:#0f172a;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .18s ease,border-color .18s ease}.action-btn:hover{transform:translateY(-1px)}.action-btn:active{transform:scale(.98)}.action-btn.report,.action-btn.submit{background:#dbeafe;border-color:#93c5fd;color:#1e3a8a}.action-btn.notify{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.action-btn.notify.notify-enabled{background:#dcfce7;border-color:#86efac;color:#166534}.action-btn.confirm{background:#e2f6e8;border-color:#86efac}.action-btn.deny,.action-btn.cancel{background:#fff1f2;border-color:#fecdd3}.action-btn.is-pending{opacity:.75}.action-btn.is-success{box-shadow:0 0 0 3px #22c55e33;border-color:#22c55e}.action-btn.is-error{box-shadow:0 0 0 3px #ef444426;border-color:#ef4444}.action-btn:disabled{cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;padding:16px;z-index:15}.report-form{width:min(560px,100%);background:#fff;border-radius:14px;border:1px solid #dbe3ee;padding:16px;display:grid;gap:10px}.report-form h2{margin:0}.report-form label{display:grid;gap:6px;color:#334155}.report-form input{border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit}.report-form textarea{border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit;resize:vertical}.input-hint{font-size:.8rem;color:#64748b;line-height:1.35}.ios-help-steps{margin:0;padding-left:18px;display:grid;gap:4px;font-size:.9rem;color:#334155}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.empty-state{border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;background:#fff;padding:12px}.error-box{margin:0 0 16px;border:1px solid #fecaca;background:#fef2f2;color:#991b1b;border-radius:10px;padding:10px 12px}.notification-status{margin-top:10px}@keyframes liveDotPulse{0%{box-shadow:0 0 #14b8a673}70%{box-shadow:0 0 0 8px #14b8a600}to{box-shadow:0 0 #14b8a600}}@keyframes liveCardPulse{0%,to{box-shadow:0 0 #2dd4bf0f;border-color:#dbe3ee}50%{box-shadow:0 0 0 4px #2dd4bf14;border-color:#99f6e4}}
