@import "https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";:root{--dan-brand:#ff7f00;--dan-brand-light:#ff9b3d;--dan-brand-dark:#e06d00;--dan-brand-alpha:#ff7f0026;--dan-accent:var(--dan-brand);--dan-accent-light:var(--dan-brand-light);--dan-accent-dark:var(--dan-brand-dark);--dan-accent-alpha:var(--dan-brand-alpha);--dan-gray-50:#f9fafb;--dan-gray-100:#f3f4f6;--dan-gray-200:#e5e7eb;--dan-gray-300:#d1d5db;--dan-gray-400:#9ca3af;--dan-gray-500:#6b7280;--dan-gray-600:#4b5563;--dan-gray-700:#374151;--dan-gray-800:#1f2937;--dan-gray-900:#111827;--dan-gray-950:#030712;--dan-success:#10b981;--dan-warning:#f59e0b;--dan-error:#ef4444;--dan-info:#3b82f6;--dan-font:"Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--dan-font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--dan-text-xs:.75rem;--dan-text-sm:.8125rem;--dan-text-base:.875rem;--dan-text-md:1rem;--dan-text-lg:1.125rem;--dan-text-xl:1.25rem;--dan-text-2xl:1.5rem;--dan-text-3xl:1.875rem;--dan-space-xs:.25rem;--dan-space-sm:.5rem;--dan-space-md:1rem;--dan-space-lg:1.5rem;--dan-space-xl:2rem;--dan-space-2xl:3rem;--dan-radius-sm:6px;--dan-radius-md:10px;--dan-radius-lg:16px;--dan-radius-xl:24px;--dan-radius-full:9999px;--dan-shadow-sm:0 1px 2px #0000000d;--dan-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--dan-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--dan-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--dan-ease:cubic-bezier(.4, 0, .2, 1);--dan-duration:.2s;--dan-transition:var(--dan-duration) var(--dan-ease);--dan-z-base:0;--dan-z-above:10;--dan-z-sidebar:100;--dan-z-header:200;--dan-z-overlay:300;--dan-z-modal:400;--dan-z-toast:500}*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--dan-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px;line-height:1.6}html,body,#app,#root{width:100%;height:100%}body{font-size:var(--dan-text-base);min-width:320px}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;background:0 0;border:none;outline:none}button{cursor:pointer}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--dan-gray-400);border-radius:var(--dan-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--dan-gray-500)}*{scrollbar-width:thin;scrollbar-color:var(--dan-gray-400) transparent}@media (width<=767px){button,a,[role=button]{min-width:44px;min-height:44px}a,button{-webkit-tap-highlight-color:var(--dan-accent-alpha);touch-action:manipulation}::-webkit-scrollbar{width:3px;height:3px}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--dan-accent:#ff7f00;--dan-accent-light:#ff9b3d;--dan-accent-dark:#e06d00;--dan-accent-alpha:#ff7f0026;--dan-teal:#26c6da;--dan-teal-light:#4dd0e1;--dan-teal-dark:#00acc1;--dan-teal-alpha:#26c6da26;--dan-chat-blue:#1565c0;--dan-chat-blue-alpha:#1565c026;--dan-bg:var(--dan-gray-950);--dan-bg-elevated:#0e0e0ef2;--dan-bg-overlay:#00000073;--dan-text:#ffffffde;--dan-text-muted:#ffffffa6;--dan-text-subtle:#fff6;--dan-border:#ffffff14;--dan-border-hover:#ffffff2e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--dan-bg);color:var(--dan-text)}.ol-viewport{background:#0e1520!important}.ol-attribution{background:0 0!important;bottom:4px!important;right:4px!important}.ol-attribution.ol-collapsed button{color:#fff6!important;background:#00000059!important;border:none!important;border-radius:4px!important;width:20px!important;height:20px!important;font-size:10px!important}.ol-attribution:not(.ol-collapsed){-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080!important;border-radius:6px!important;padding:2px 6px!important}.ol-attribution ul{color:#ffffff73!important;font-size:9px!important}.ol-attribution ul a{color:#ffffff80!important;text-decoration:none!important}.vh-overlay[data-v-9cdb4ed5]{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:flex-end;display:flex;position:fixed;inset:0}.vh-panel[data-v-9cdb4ed5]{background:#151b23;border-left:1px solid #ffffff14;flex-direction:column;width:420px;max-width:90vw;height:100vh;animation:.25s slideIn-9cdb4ed5;display:flex}@keyframes slideIn-9cdb4ed5{0%{transform:translate(100%)}to{transform:none}}.vh-header[data-v-9cdb4ed5]{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.vh-header h2[data-v-9cdb4ed5]{color:#fff;margin:0;font-size:18px;font-weight:700}.vh-close[data-v-9cdb4ed5]{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:28px;line-height:1}.vh-close[data-v-9cdb4ed5]:hover{color:#fff}.vh-body[data-v-9cdb4ed5]{flex:1;padding:20px 24px;overflow-y:auto}.vh-item[data-v-9cdb4ed5]{border-bottom:1px solid #ffffff0d;margin-bottom:28px;padding-bottom:24px}.vh-item[data-v-9cdb4ed5]:last-child{border-bottom:none}.vh-version-row[data-v-9cdb4ed5]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.vh-badge[data-v-9cdb4ed5]{color:#42a5f5;background:#42a5f526;border-radius:12px;padding:3px 10px;font-size:13px;font-weight:700}.vh-date[data-v-9cdb4ed5]{color:#fff6;font-size:13px}.vh-tag[data-v-9cdb4ed5]{color:#66bb6a;background:#66bb6a26;border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600}.vh-changes[data-v-9cdb4ed5]{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vh-changes li[data-v-9cdb4ed5]{color:#ffffffb3;padding-left:16px;font-size:13px;line-height:1.5;position:relative}.vh-changes li[data-v-9cdb4ed5]:before{content:"";background:#fff3;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;left:0}.vh-fade-enter-active[data-v-9cdb4ed5],.vh-fade-leave-active[data-v-9cdb4ed5]{transition:opacity .2s}.vh-fade-enter-from[data-v-9cdb4ed5],.vh-fade-leave-to[data-v-9cdb4ed5]{opacity:0}@media (width<=480px){.vh-panel[data-v-9cdb4ed5]{width:100vw}}.login-overlay[data-v-675afea6]{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal[data-v-675afea6]{background:#1a1f2e;border-radius:16px;width:min(420px,90vw);padding:32px 28px;position:relative;box-shadow:0 8px 40px #00000080}.modal-close[data-v-675afea6]{color:#78909c;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;position:absolute;top:12px;right:12px}.modal-close[data-v-675afea6]:hover{color:#e0e0e0;background:#ffffff14}.modal-title[data-v-675afea6]{color:#e0e0e0;text-align:center;margin:0 0 20px;font-size:20px}.login-form[data-v-675afea6]{flex-direction:column;gap:14px;display:flex}.google-btn-wrap[data-v-675afea6]{justify-content:center;min-height:44px;display:flex}.divider[data-v-675afea6]{color:#546e7a;align-items:center;gap:12px;font-size:12px;display:flex}.divider[data-v-675afea6]:before,.divider[data-v-675afea6]:after{content:"";background:#ffffff1a;flex:1;height:1px}.form-group[data-v-675afea6]{flex-direction:column;gap:4px;display:flex}.form-group label[data-v-675afea6]{color:#90a4ae;font-size:12px}.form-group input[data-v-675afea6]{color:#e0e0e0;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input[data-v-675afea6]:focus{border-color:#42a5f5}.form-error[data-v-675afea6]{color:#ef5350;background:#ef53501f;border-radius:6px;margin:0;padding:8px 12px;font-size:13px}.btn-primary[data-v-675afea6]{color:#fff;cursor:pointer;background:#42a5f5;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:600;transition:background .2s}.btn-primary[data-v-675afea6]:hover{background:#1e88e5}.btn-primary[data-v-675afea6]:disabled{opacity:.5;cursor:not-allowed}.switch-mode[data-v-675afea6]{text-align:center;color:#78909c;margin:0;font-size:13px}.switch-mode a[data-v-675afea6]{color:#42a5f5;text-decoration:none}.switch-mode a[data-v-675afea6]:hover{text-decoration:underline}.google-welcome[data-v-675afea6]{text-align:center;color:#90a4ae;margin:0;font-size:13px}@media (width<=480px){.login-modal[data-v-675afea6]{padding:24px 20px}}#danmap-app{flex-direction:column;width:100%;min-height:100vh;display:flex}#danmap-app.is-home{height:100vh;overflow:hidden}.global-nav{z-index:var(--dan-z-header);background:var(--dan-bg-elevated);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--dan-border);position:relative}.global-nav.nav-overlay{background:var(--dan-bg-overlay);border-bottom-color:#ffffff0d;position:absolute;top:0;left:0;right:0}.nav-inner{max-width:1100px;padding:0 var(--dan-space-lg);justify-content:space-between;align-items:center;height:52px;margin:0 auto;display:flex}.nav-logo{font-size:var(--dan-text-lg);letter-spacing:.2em;color:#fff;transition:opacity var(--dan-transition);font-weight:800}.nav-logo:hover{opacity:.8}.nav-links{gap:var(--dan-space-sm);display:flex}.nav-link{padding:var(--dan-space-sm) 14px;border-radius:var(--dan-radius-sm);font-size:var(--dan-text-sm);color:var(--dan-text-muted);transition:background var(--dan-transition), color var(--dan-transition);font-weight:500}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:#fff;background:#ffffff1f;font-weight:600}.nav-version-btn{color:#42a5f5;cursor:pointer;background:#42a5f51a;border:1px solid #42a5f54d;border-radius:12px;margin-left:4px;padding:3px 10px;font-size:12px;font-weight:600;transition:all .2s}.nav-version-btn:hover{background:#42a5f533;border-color:#42a5f580}.nav-auth{align-items:center;gap:10px;margin-left:12px;display:flex}.auth-name{color:#ffffffb3;text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:13px;font-weight:500;overflow:hidden}.btn-auth{cursor:pointer;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:all .2s}.btn-login{color:#fff;background:#42a5f5}.btn-login:hover{background:#1e88e5}.btn-logout{color:#fff9;background:0 0;border:1px solid #ffffff26}.btn-logout:hover{color:#fff;background:#ffffff14}.mobile-auth-divider{background:#ffffff14;height:1px;margin:4px 12px}.mobile-auth-name{color:#ffffff80;padding:6px 12px;font-size:12px}.mobile-login{color:#42a5f5!important}.hamburger{cursor:pointer;padding:var(--dan-space-sm);background:0 0;border:none;flex-direction:column;gap:4px;display:flex}.hamburger span{width:20px;height:2px;transition:transform var(--dan-transition), opacity var(--dan-transition);background:#fffc;border-radius:1px;display:block}.mobile-menu{background:var(--dan-bg-elevated);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--dan-border);padding:var(--dan-space-sm) var(--dan-space-md) 12px;flex-direction:column;display:flex}.mobile-link{border-radius:var(--dan-radius-sm);font-size:var(--dan-text-base);color:#ffffffb3;cursor:pointer;transition:background var(--dan-transition);padding:10px 12px}.mobile-link:hover,.mobile-link.active{color:#fff;background:#ffffff1a}.desktop-only{display:flex}.mobile-only{display:none}@media (width<=680px){.desktop-only{display:none}.mobile-only{display:flex}}.page-fade-enter-active{animation:pageFadeIn .25s var(--dan-ease) forwards}.page-fade-leave-active{animation:pageFadeOut .15s var(--dan-ease) forwards}@keyframes pageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageFadeOut{0%{opacity:1}to{opacity:0}}.slide-down-enter-active,.slide-down-leave-active{transition:all var(--dan-transition)}.slide-down-enter-from,.slide-down-leave-to{opacity:0;transform:translateY(-8px)}.global-footer{border-top:1px solid var(--dan-border);background:#ffffff05;margin-top:auto;padding:28px 20px 24px}.footer-inner{text-align:center;max-width:1100px;margin:0 auto}.footer-links{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-bottom:12px;display:flex}.footer-links a{color:#ffffffb3;transition:color var(--dan-transition);border-radius:4px;padding:4px 6px;font-size:13px}.footer-links a:hover{color:#42a5f5}.footer-meta{color:#ffffff80;font-size:12px;line-height:1.7}.footer-meta a{color:#ffffffb3}.footer-meta a:hover{color:#42a5f5}
