:root{--bg:#000;--bg-subtle:#0a0a0a;--surface:#111;--surface-2:#181818;--border:#ffffff12;--border-hover:#ffffff24;--accent:#fc0;--accent-bright:#ffd243;--accent-dim:#facc151f;--accent-glow:#facc1547;--accent-border:#facc1540;--yes:#10b981;--yes-dim:#10b9811f;--yes-glow:#10b9814d;--no:#ef4444;--no-dim:#ef44441a;--no-border:#ef444433;--text:#f1f5f9;--text-muted:#94a3b8;--text-dim:#475569;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:100px;--font:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b859}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.btn{border-radius:var(--radius-md);font-family:var(--font);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:.6rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:700;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background .2s,opacity .2s;display:inline-flex}.btn:active{transform:translateY(1px)!important}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-full{width:100%}.btn-primary{color:#0a0a0a;box-shadow:0 4px 16px var(--accent-glow);background:linear-gradient(135deg,#facc15 0%,#eab308 100%)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 28px var(--accent-glow);background:linear-gradient(135deg,#fde047 0%,#eab308 100%);transform:translateY(-2px)}.btn-secondary{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border);box-shadow:none}.btn-secondary:hover:not(:disabled){background:#facc1533;border-color:#facc1566;transform:translateY(-2px)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0d}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-hover);background:#ffffff17;transform:translateY(-2px)}.btn-yes{color:#fff;box-shadow:0 4px 16px var(--yes-glow);background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.btn-yes:hover:not(:disabled){box-shadow:0 8px 28px var(--yes-glow);transform:translateY(-2px)}.btn-no{background:var(--no-dim);color:#f87171;border:1px solid var(--no-border)}.btn-no:hover:not(:disabled){background:#ef44442e;border-color:#ef444466;transform:translateY(-2px)}.btn-pill{border-radius:var(--radius-pill)}.input{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);font-family:var(--font);box-sizing:border-box;background:#ffffff0a;outline:none;padding:.875rem 1.25rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input::placeholder{color:var(--text-dim)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px)}.badge{border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-amber{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border)}.badge-neutral{color:var(--text-muted);border:1px solid var(--border);background:#ffffff0a}.badge-blue{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f638}.badge-green{background:var(--yes-dim);color:#34d399;border:1px solid #10b98138}.brand-text{letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(90deg, var(--accent), var(--accent-bright));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:.8rem;font-weight:800}.category-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:#ffffff08;gap:.15rem;padding:.25rem;display:inline-flex}.category-btn{color:var(--text-muted);border-radius:var(--radius-pill);font-family:var(--font);cursor:pointer;background:0 0;border:none;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s}.category-btn:hover{color:var(--text)}.category-btn.active{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border)}.progress-track{border-radius:var(--radius-pill);background:#ffffff12;height:5px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-bright) 100%);border-radius:var(--radius-pill);height:100%;box-shadow:0 0 8px var(--accent-glow);transition:width .4s cubic-bezier(.4,0,.2,1)}.place-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}.place-card:hover{background:var(--surface-2);border-color:var(--accent-border);box-shadow:0 12px 32px #0006, 0 0 0 1px var(--accent-dim);transform:translateY(-4px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cardAppear{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reveal{0%{opacity:0;transform:translateY(40px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-glow);transform:scale(.95)}70%{transform:scale(1.02);box-shadow:0 0 0 18px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}@keyframes shimmer{0%{background-position:100%}to{background-position:0%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.anim-card-appear{animation:.45s cubic-bezier(.16,1,.3,1) forwards cardAppear}.anim-reveal{animation:.7s cubic-bezier(.16,1,.3,1) forwards reveal}.anim-pulse{animation:1.8s ease-in-out infinite pulse}.anim-spin{animation:1s linear infinite spin;display:inline-block}.anim-fade-in{animation:.4s forwards fadeIn}.shimmer{background:linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 37%, var(--surface) 63%);background-size:400% 100%;animation:1.4s infinite shimmer}.page-bg-center{background:radial-gradient(ellipse at 50% 0%, #f59e0b0f 0%, var(--bg) 60%)}.page-bg-map{background:var(--bg)}
