@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";
:root{--bg-dark:#1a1613;--bg-darker:#110e0c;--bg-card:#2a2420;--bg-light:#f6f4f0;--text-primary:#f0f3f6;--text-secondary:#a0988f;--text-dark:#1f1a17;--primary-blue:#3b8dd9;--primary-blue-hover:#2e7bc2;--badge-red:#e55b4c;--badge-orange:#f2a341;--sidebar-width:380px;--header-height:60px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-dark);width:100%;height:100dvh;color:var(--text-primary);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}input{font-family:inherit}.app-container{width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--bg-dark);z-index:10;height:100dvh;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:0;left:0;box-shadow:4px 0 24px #0006}.sidebar.closed{transform:translate(-100%)}.map-area{background-color:var(--bg-light);z-index:1;flex:1;width:100vw;height:100dvh;position:absolute;top:0;left:0}.btn-primary{background-color:var(--primary-blue);color:#fff;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 20px;font-size:16px;font-weight:600;transition:background-color .2s;display:flex}.btn-primary:hover{background-color:var(--primary-blue-hover)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.mobile-menu-btn,.mobile-sidebar-close{display:none}@media (max-width:768px){.sidebar{width:100vw;height:100dvh;box-shadow:none;border-radius:0;transition:transform .35s cubic-bezier(.4,0,.2,1);top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.report-sidebar{height:100vh}.mobile-menu-btn{z-index:5;background-color:var(--bg-dark);cursor:pointer;border:1px solid #2a2420;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s,transform .15s;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 2px 12px #0006}.mobile-menu-btn:active{background-color:var(--bg-card);transform:scale(.92)}.mobile-menu-btn svg{width:22px;height:22px;color:var(--text-primary)}.mobile-sidebar-close{cursor:pointer;background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s;display:flex}.mobile-sidebar-close:active{background-color:var(--bg-card)}.mobile-sidebar-close svg{width:22px;height:22px;color:var(--text-primary)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.sidebar-footer{background-color:var(--bg-dark);padding:24px;padding-bottom:calc(24px + var(--safe-bottom));border-top:1px solid #2a2420}.panel-animate{animation:.3s cubic-bezier(.4,0,.2,1) forwards slideIn}.custom-marker{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s}.custom-marker:hover{z-index:100;transform:scale(1.1)!important;box-shadow:0 8px 24px #0009!important}.mobile-only{display:none}@media (max-width:768px){.mobile-only{display:flex}.desktop-only{display:none!important}}@keyframes pulse{0%{opacity:.9;transform:scale(.95);box-shadow:0 0 #3b82f6b3}70%{opacity:1;transform:scale(1);box-shadow:0 0 0 10px #3b82f600}to{opacity:.9;transform:scale(.95);box-shadow:0 0 #3b82f600}}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#3a342d;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#4a443d}
