:root{--bg:#f4f6f5;--surface:#fff;--surface-alt:#f0f4f2;--text:#16181c;--text-muted:#6b7178;--accent:#16a34a;--accent-dark:#0f7c38;--accent-purple:#7c3aed;--accent-purple-dark:#6423d1;--border:#e4e7ea;--danger:#e0384a;--favorite-gold:#d99a00;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 3px rgba(20,20,30,.06),0 1px 2px rgba(20,20,30,.04);--shadow-md:0 8px 24px rgba(20,20,30,.1),0 2px 6px rgba(20,20,30,.06);font-family:ui-rounded,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14161b;--surface:#1c1f26;--surface-alt:#23262e;--text:#edeef0;--text-muted:#9a9fa8;--accent:#34d178;--accent-dark:#22b563;--accent-purple:#a78bfa;--accent-purple-dark:#8b5cf6;--border:#2d313a;--danger:#f0576a;--favorite-gold:#f0b429;--shadow-sm:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.24);--shadow-md:0 8px 24px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.3)}}:root[data-theme=dark]{--bg:#14161b;--surface:#1c1f26;--surface-alt:#23262e;--text:#edeef0;--text-muted:#9a9fa8;--accent:#34d178;--accent-dark:#22b563;--accent-purple:#a78bfa;--accent-purple-dark:#8b5cf6;--border:#2d313a;--danger:#f0576a;--favorite-gold:#f0b429;--shadow-sm:0 1px 3px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.24);--shadow-md:0 8px 24px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.3)}*{box-sizing:border-box}::view-transition-new(root),::view-transition-old(root){animation-duration:.22s}body,html{overflow-x:hidden;max-width:100%}body{margin:0;background:var(--bg);color:var(--text);transition:background-color .2s ease,color .2s ease}a{color:var(--accent-dark)}.container{max-width:960px;margin:0 auto;padding:24px 16px}.topbar{display:flex;align-items:center;flex-wrap:nowrap;gap:8px 16px;padding:14px 24px;background:var(--surface);box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:100;transition:background-color .2s ease}.topbar a{text-decoration:none;font-weight:600}.topbar .site-logo{gap:3px;font-size:22px;line-height:1;font-weight:800;flex-shrink:0;background:linear-gradient(135deg,var(--accent-purple),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.topbar .site-logo,.topbar-auth{display:flex;align-items:center;white-space:nowrap}.topbar-auth{gap:16px;margin-left:auto;margin-right:24px;min-width:0;overflow:hidden}.theme-toggle-desktop{display:inline-flex;align-items:center;gap:8px}.theme-toggle-mobile{display:none;align-items:center;gap:8px;flex-shrink:0}.footer-links-desktop{display:inline-flex;align-items:center;gap:16px}.footer-links-desktop a{color:var(--text)}.footer-links-mobile{display:none}.stats-bar-desktop{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:14px 24px 4px}.stat-chip{display:inline-flex;align-items:center;gap:4px;padding:7px 16px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}a.stat-chip:hover{background:var(--border);transform:translateY(-1px)}.stat-chip.accent{background:var(--accent-purple);border-color:var(--accent-purple);color:#fff}a.stat-chip.accent:hover{background:var(--accent-purple-dark);border-color:var(--accent-purple-dark)}.mobile-info-bar{display:flex}@media (max-width:480px){.topbar .site-logo{font-size:17px;gap:2px}.topbar{gap:6px;padding:10px 12px}.topbar-auth{gap:4px;margin-right:4px;font-size:15px}.topbar-auth a{padding:4px 0}.topbar .btn,.topbar .btn-purple{padding:0 10px;font-size:13px;height:34px}.theme-toggle-desktop{display:none}.theme-toggle-mobile{display:inline-flex}.footer-links-desktop{display:none}.footer-links-mobile{display:block}.stats-bar-desktop{display:none}.mobile-info-bar{display:flex}}@media (min-width:481px){.mobile-info-bar{display:none}}.filters-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease,border-color .2s ease;animation:cardFadeIn .25s ease}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;height:40px;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.btn:hover{background:var(--accent-dark)}.btn:active{transform:scale(.97)}.btn-purple{display:inline-flex;align-items:center;justify-content:center;text-align:center;height:40px;background:var(--accent-purple);color:#fff;border:none;border-radius:999px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .1s ease}.btn-purple:hover{background:var(--accent-purple-dark)}.btn-purple:active{transform:scale(.97)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;text-align:center;height:40px;background:var(--danger);color:#fff;border:none;border-radius:999px;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .1s ease}.btn-danger:hover{filter:brightness(.9)}.btn-danger:active{transform:scale(.97)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface-alt);color:var(--text);cursor:pointer;font-size:16px;flex-shrink:0;transition:background-color .15s ease,transform .1s ease}.icon-btn:hover{background:var(--border)}.icon-btn:active{transform:scale(.94)}.input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:16px;margin-bottom:10px;transition:border-color .15s ease,box-shadow .15s ease,background-color .2s ease,color .2s ease}.input:focus{outline:none}.dropdown{position:relative;display:block;width:100%}.dropdown-native{display:none}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:160px;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer;outline:none;transition:border-color .15s ease,background-color .2s ease,color .2s ease}.dropdown-trigger:hover{border-color:var(--accent)}.dropdown-trigger span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{flex-shrink:0;font-size:11px;color:var(--text-muted)}.dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:100%;width:max-content;max-width:320px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);transition:background-color .2s ease,border-color .2s ease;animation:dropdownIn .15s ease}@keyframes dropdownIn{0%{opacity:0}to{opacity:1}}.dropdown-search{width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text);font-size:14px;outline:none}.dropdown-list{max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;border-radius:var(--radius);padding:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dropdown-list::-webkit-scrollbar{width:8px}.dropdown-list::-webkit-scrollbar-track{background:transparent}.dropdown-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:8px}.dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.dropdown-option{padding:8px 10px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-option:hover{background:var(--surface-alt)}.dropdown-option.active{background:var(--accent);color:#fff}input[type=file]{color:var(--text-muted);font-size:13px}input[type=file]::-webkit-file-upload-button{margin-right:12px;padding:8px 16px;border:none;border-radius:999px;background:var(--accent-purple);color:#fff;font-size:13px;font-weight:600;cursor:pointer;-webkit-transition:background-color .15s ease;transition:background-color .15s ease}input[type=file]::file-selector-button{margin-right:12px;padding:8px 16px;border:none;border-radius:999px;background:var(--accent-purple);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .15s ease}input[type=file]::-webkit-file-upload-button:hover{background:var(--accent-purple-dark)}input[type=file]::file-selector-button:hover{background:var(--accent-purple-dark)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.place-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.rating-badge{display:inline-block;background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:2px 10px;font-size:13px;font-weight:700}.error{color:var(--danger);font-size:13px}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:10px;border-radius:5px;outline:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--accent),0 2px 6px rgba(0,0,0,.25);cursor:pointer}.slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--accent);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--accent),0 2px 6px rgba(0,0,0,.25);cursor:pointer}.slider::-moz-range-track{height:10px;border-radius:5px;background:var(--border)}.toast{position:fixed;bottom:24px;right:24px;z-index:1000;background:var(--accent);color:#fff;padding:14px 18px;border-radius:var(--radius);box-shadow:var(--shadow-md);max-width:280px}@media (pointer:coarse){.dropdown-native{display:block;margin-bottom:0}.dropdown-trigger{display:none}}