:root{--bg:#fbfaf8;--surface:#fff;--text:#201c18;--text-muted:#6b6259;--border:#e6e1da;--accent:#1f7a4d;--accent-contrast:#fff;--risk-low:#1f7a4d;--risk-medium:#b3691a;--risk-unknown:#7a7268;--danger:#b3261e;--radius:10px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#16140f;--surface:#211e18;--text:#f3f0ea;--text-muted:#b3aa9d;--border:#38332a;--accent:#4fbd85;--accent-contrast:#0c1a12;--risk-low:#4fbd85;--risk-medium:#e0a355;--risk-unknown:#9c9284;--danger:#e5847c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent)}.container{max-width:960px;margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto;padding:14px 16px;display:flex}.logo{color:var(--text);font-size:1.2rem;font-weight:700;text-decoration:none}.nav-links{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.nav-links a{color:var(--text-muted);font-size:.95rem;text-decoration:none}.nav-links a:hover{color:var(--text)}.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;padding:10px 16px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-support{color:#201c18;background:#ffdd57;border-color:#ffdd57}.site-footer{border-top:1px solid var(--border);color:var(--text-muted);margin-top:48px;padding:24px 0 40px;font-size:.9rem}.site-footer .container{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.badge{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.badge-dot{border-radius:999px;width:8px;height:8px}.risk-low .badge-dot,.risk-low{color:var(--risk-low)}.risk-medium .badge-dot,.risk-medium{color:var(--risk-medium)}.risk-unknown .badge-dot,.risk-unknown{color:var(--risk-unknown)}.badge-dot.risk-low{background:var(--risk-low)}.badge-dot.risk-medium{background:var(--risk-medium)}.badge-dot.risk-unknown{background:var(--risk-unknown)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.place-list{gap:12px;margin:20px 0;padding:0;list-style:none;display:grid}.place-card{color:inherit;text-decoration:none;display:block}.place-card h3{margin:0 0 4px;font-size:1.05rem}.place-card .meta{color:var(--text-muted);margin-top:6px;font-size:.88rem}.filters{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.filters select,.filters input{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 10px}#map{border-radius:var(--radius);border:1px solid var(--border);max-width:100%;height:360px;margin:20px 0}.detail-header h1{margin-bottom:4px}.detail-actions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.risk-flags{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.risk-flag{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.82rem}.disclaimer{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);margin-top:28px;padding:14px 16px;font-size:.88rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:16px 0;display:grid}.photo-grid img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);width:100%;height:140px}.vote-list{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.vote-list li{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-size:.9rem}form.auth-form{gap:12px;max-width:400px;margin:24px 0;display:grid}form.auth-form label:not(.checkbox-row){gap:4px;font-size:.9rem;display:grid}form.auth-form input{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px}.checkbox-row{align-items:flex-start;gap:8px;font-size:.88rem;display:flex}.form-message{min-height:1.2em;font-size:.88rem}.form-message.error{color:var(--danger)}.form-message.success{color:var(--accent)}.empty-state{color:var(--text-muted);padding:24px 0}@media (width<=480px){#map{height:260px}}
