:root{--green: #34D399;--green-dark: #059669;--bg: #0D1117;--card: #161B22;--card2: #21262D;--border: #30363D;--text: #E6EDF3;--muted: #8B949E}body.light-mode{--green: #15803d;--green-dark: #166534;--bg: #f0fdf4;--card: #ffffff;--card2: #f1f5f9;--border: #a7f3d0;--text: #111827;--muted: #374151}body.light-mode .card{box-shadow:0 1px 4px #00000014;border-color:#d1fae5}body.light-mode .avatar{background:#d1fae5;color:#166534;border:1.5px solid #a7f3d0}body.light-mode .input{background:#fff;border-color:#9ca3af;color:#111827}body.light-mode .btn-ghost{background:#f9fafb;border-color:#9ca3af;color:#111827}body.light-mode .nav-bar{background:#fff;border-color:#d1fae5}body.light-mode .nav-item{color:#374151}body.light-mode .nav-item.active{color:#15803d}body.light-mode .glass{background:#fffffff2}body.light-mode .badge-green{background:#15803d1f;color:#15803d}body.light-mode .badge-purple{background:#6d28d91a;color:#6d28d9}body.light-mode .badge-blue{background:#2563eb1a;color:#1d4ed8}body.light-mode .badge-red{background:#b91c1c1a;color:#b91c1c}body.light-mode .status-offline{background:#9ca3af}body.light-mode img:not([src*=logo]):not([src*=icon]){border-radius:8px}body.light-mode .toast{background:#fff;border-color:#d1fae5;color:#111827;box-shadow:0 4px 12px #0000001f}body.light-mode nav button{color:#374151!important}body.light-mode nav button:not([style*="rgba(21,128"]){opacity:.75}body.light-mode .msg-bubble-other{background:#e5e7eb;color:#111827}body.light-mode .post-image{border:1px solid #d1fae5;box-shadow:0 2px 8px #0000001a}body.light-mode .avatar{border:1.5px solid #a7f3d0!important}body.light-mode .card{border-color:#d1fae5!important}body.light-mode .info-card{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important}body.light-mode .info-card p,body.light-mode .info-card span,body.light-mode .info-card div{color:#166534!important}body.light-mode .e2ee-badge{background:#bbf7d0!important;color:#166534!important}body.light-mode h2{color:#111827!important}body.light-mode .section-label,body.light-mode .empty-state,body.light-mode .empty-state div{color:#374151!important}body.light-mode .scrollable{background:#f0fdf4}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;transition:background .2s,color .2s}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.mobile-container{width:100%;max-width:100%;height:100dvh;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--bg)}@media (min-width: 768px){html{background:#060a0f}body{background:#060a0f;display:block;overflow-x:hidden}.mobile-container{width:100%;max-width:100%;min-width:0;margin:0 auto;left:auto;right:auto}.page-content-inner{max-width:900px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column}}@media (max-width: 767px){.has-bottom-nav{padding-bottom:60px}}.scrollable{flex:1;overflow-y:auto}@keyframes slideUpSheet{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.glass{background:#161b22eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-primary{background:var(--green);color:#0d1117;font-weight:700;padding:12px 20px;border-radius:12px;border:none;cursor:pointer;width:100%;font-size:15px;transition:opacity .15s}.btn-primary:hover{opacity:.88}.btn-ghost{background:var(--card2);color:var(--text);font-weight:600;padding:10px 16px;border-radius:10px;border:1px solid var(--border);cursor:pointer;font-size:14px;transition:border-color .15s}.btn-ghost:hover{border-color:var(--green)}.input{background:var(--card2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px 14px;font-size:14px;width:100%;outline:none;transition:border-color .15s}.input:focus{border-color:var(--green)}.input::placeholder{color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.nav-bar{background:var(--card);border-top:1px solid var(--border);display:flex;padding:8px 4px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 6px;cursor:pointer;border:none;background:none;color:var(--muted);font-size:10px;font-weight:500;border-radius:10px;transition:all .15s;min-width:52px}.nav-item.active{color:var(--green)}.nav-item svg{width:22px;height:22px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge-green{background:#34d39926;color:var(--green)}.badge-purple{background:#8b5cf626;color:#a78bfa}.badge-blue{background:#3b82f626;color:#60a5fa}.badge-red{background:#ef444426;color:#f87171}.status-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--card)}.status-available{background:var(--green)}.status-away{background:#f59e0b}.status-busy{background:#ef4444}.status-offline{background:var(--muted)}.avatar{border-radius:50%;object-fit:cover;background:var(--card2);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--green);flex-shrink:0}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.slide-up{animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:var(--card2);border:1px solid var(--border);color:var(--text);padding:10px 20px;border-radius:12px;font-size:14px;font-weight:500;z-index:9999;animation:toastIn .2s ease-out,toastOut .2s ease-in 2.5s forwards;white-space:nowrap}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{to{opacity:0}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:flex-end;padding:0}.modal-sheet{background:var(--card);border-radius:20px 20px 0 0;width:100%;max-height:90vh;overflow-y:auto;padding:20px;animation:sheetUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}select.input option{background:var(--card2)}.rating-star{cursor:pointer;font-size:22px;transition:transform .1s}.rating-star:hover{transform:scale(1.2)}.intensity-bar{height:8px;border-radius:4px;background:var(--card2);cursor:pointer;position:relative}.intensity-fill{height:100%;border-radius:4px;background:linear-gradient(to right,var(--green-dark),var(--green));transition:width .2s}.leaflet-container{background:#0d1117;font-family:Inter,system-ui,sans-serif}.leaflet-tile-pane{filter:brightness(.92) saturate(.85)}.leaflet-control-geocoder{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:10px!important;box-shadow:0 2px 10px #0006!important}.leaflet-control-geocoder-form input{background:var(--card2)!important;border:1px solid var(--border)!important;color:var(--text)!important;border-radius:8px!important;padding:7px 10px!important;font-size:13px!important;outline:none!important}.leaflet-control-geocoder-form input:focus{border-color:var(--green)!important}.leaflet-control-geocoder-alternatives{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:8px!important}.leaflet-control-geocoder-alternatives li{color:var(--text)!important;border-bottom:1px solid var(--border)!important}.leaflet-control-geocoder-alternatives li:hover{background:var(--card2)!important}.leaflet-control-geocoder-alternatives li a{color:var(--text)!important;padding:8px 12px!important;font-size:13px!important}.leaflet-popup-content-wrapper{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:10px!important;color:var(--text)!important;box-shadow:0 4px 16px #00000080!important}.leaflet-popup-tip{background:var(--card)!important}.leaflet-popup-close-button{color:var(--muted)!important;font-size:18px!important;right:8px!important;top:6px!important}.leaflet-popup-close-button:hover{color:var(--text)!important}.leaflet-bar a{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}.leaflet-bar a:hover{background:var(--card2)!important}.leaflet-control-attribution{background:#0d1117b3!important;color:var(--muted)!important;font-size:10px!important}.leaflet-control-attribution a{color:var(--green)!important}body.light-mode .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.95)}body.light-mode .leaflet-container{background:#f0fdf4}body.light-mode .leaflet-control-geocoder{background:#fff!important;border-color:#d1fae5!important}body.light-mode .leaflet-control-geocoder-form input{background:#f1f5f9!important;border-color:#9ca3af!important;color:#111827!important}body.light-mode .leaflet-popup-content-wrapper{background:#fff!important;border-color:#d1fae5!important;color:#111827!important}body.light-mode .leaflet-popup-tip{background:#fff!important}body.light-mode .leaflet-bar a{background:#fff!important;border-color:#d1fae5!important;color:#111827!important}body.light-mode .leaflet-control-attribution{background:#fffc!important;color:#374151!important}
