@font-face{font-family:Pretendard;font-weight:900;font-display:swap;src:local("Pretendard Black"),url(/assets/Pretendard-Black-B7X87vPW.woff2) format("woff2"),url(/assets/Pretendard-Black-CGKHU3YP.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:800;font-display:swap;src:local("Pretendard ExtraBold"),url(/assets/Pretendard-ExtraBold-C0vVUedy.woff2) format("woff2"),url(/assets/Pretendard-ExtraBold-DkRXFB8B.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local("Pretendard Bold"),url(/assets/Pretendard-Bold-BYNivUXw.woff2) format("woff2"),url(/assets/Pretendard-Bold-DD7wHHNl.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:local("Pretendard SemiBold"),url(/assets/Pretendard-SemiBold-ClEDdoZU.woff2) format("woff2"),url(/assets/Pretendard-SemiBold-SXfe8JY8.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:local("Pretendard Medium"),url(/assets/Pretendard-Medium-Dw2vNklR.woff2) format("woff2"),url(/assets/Pretendard-Medium-Cs2k_Pp2.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local("Pretendard Regular"),url(/assets/Pretendard-Regular-BhrLQoBv.woff2) format("woff2"),url(/assets/Pretendard-Regular-D5CgADJ9.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:300;font-display:swap;src:local("Pretendard Light"),url(/assets/Pretendard-Light-knQmDAda.woff2) format("woff2"),url(/assets/Pretendard-Light-BSr3DBFh.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:200;font-display:swap;src:local("Pretendard ExtraLight"),url(/assets/Pretendard-ExtraLight-Bi0YRlFr.woff2) format("woff2"),url(/assets/Pretendard-ExtraLight-CmnYHmfp.woff) format("woff")}@font-face{font-family:Pretendard;font-weight:100;font-display:swap;src:local("Pretendard Thin"),url(/assets/Pretendard-Thin-DWJVAZ2K.woff2) format("woff2"),url(/assets/Pretendard-Thin-Cq3km6ap.woff) format("woff")}*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:dark}html,body,#root{width:100%;height:100%;overflow:hidden}select option{background:#12182b;color:#e8eaf2}body{background:#030409;color:#e8eaf2;font-family:Pretendard,-apple-system,system-ui,sans-serif;word-break:keep-all}.app{position:relative;width:100%;height:100%}.map-canvas{position:absolute;inset:0}.map-canvas canvas{display:block;touch-action:none}.panel{position:absolute;right:16px;top:16px;bottom:16px;width:372px;display:flex;flex-direction:column;background:#0d0f189e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:20px 16px 14px;gap:12px;z-index:10}.panel-head{padding:0 4px}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title{font-size:22px;font-weight:800;letter-spacing:.02em}.lang-select{background:#ffffff0f;color:#c6cce4;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:4px 6px;font-size:12px;font-family:inherit}.neon-pink{color:#ff2d95;text-shadow:0 0 12px rgba(255,45,149,.75),0 0 32px rgba(255,45,149,.4)}.panel-sub{margin-top:4px;font-size:13px;color:#9aa3c0}.panel-date{color:#5a6284}.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px}.chip{--chip-color: #8ea0ff;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#c6cce4;font-size:12.5px;font-family:inherit;cursor:pointer;transition:all .15s}.chip:hover{border-color:#ffffff4d}.chip-on{border-color:var(--chip-color, #fff);background:color-mix(in srgb,var(--chip-color, #fff) 16%,transparent);color:#fff}.chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-color);box-shadow:0 0 6px var(--chip-color)}.card-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.empty-note{color:#5a6284;font-size:13px;text-align:center;padding:24px 0}.card{--cat-color: #8ea0ff;display:flex;gap:10px;align-items:flex-start;text-align:left;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:#ffffff08;color:inherit;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.card:hover{border-color:color-mix(in srgb,var(--cat-color) 55%,transparent);background:#ffffff0d}.card:active{transform:scale(.985)}.card-on{border-color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 10%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--cat-color) 25%,transparent)}.card-check{flex:none;width:24px;height:24px;margin-top:1px;border-radius:8px;border:1.5px solid rgba(255,255,255,.22);display:grid;place-items:center;font-size:12.5px;font-weight:800;color:#06131a}.card-check-on{background:var(--cat-color);border-color:var(--cat-color);box-shadow:0 0 10px color-mix(in srgb,var(--cat-color) 60%,transparent)}.card-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.card-top{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.card-name{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-dday{flex:none;font-size:11.5px;font-weight:700;color:#9aa3c0;border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:1px 6px}.card-dday-hot{color:#ff5d5d;border-color:#ff5d5d80}.card-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:#9aa3c0}.card-cat{display:inline-flex;align-items:center;gap:5px;color:var(--cat-color);font-weight:600}.cat-dot{width:7px;height:7px;border-radius:50%;background:var(--cat-color);box-shadow:0 0 6px var(--cat-color)}.card-reserve{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;border:1px solid rgba(61,255,122,.45);background:#3dff7a14;color:#3dff7a;font-size:11px;font-weight:700;text-decoration:none}.card-reserve:hover{background:#3dff7a2e}.card-addr{font-size:11.5px;color:#5f6787;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-box{flex:none;border-top:1px solid rgba(255,255,255,.09);padding:12px 6px 2px;display:flex;flex-direction:column;gap:8px}.route-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-title{font-size:14px;font-weight:800;color:#00ffe1;text-shadow:0 0 12px rgba(0,255,225,.5)}.route-start{background:#ffffff0f;color:#e8eaf2;max-width:200px;border:1px solid rgba(255,255,255,.13);border-radius:8px;padding:4px 6px;font-size:12px;font-family:inherit}.route-pending{font-size:12.5px;color:#9aa3c0}.route-notice{font-size:11.5px;color:#ffb03d}.route-stats{font-size:13.5px;color:#c6cce4}.route-stats b{color:#fff}.route-approx{color:#ffb03d;font-size:12px}.route-order{margin:0 0 0 18px;font-size:12.5px;color:#9aa3c0;display:flex;flex-direction:column;gap:2px;max-height:120px;overflow-y:auto}.route-order li::marker{color:#00ffe1;font-weight:700}.route-clear{align-self:flex-start;background:none;border:1px solid rgba(255,255,255,.14);color:#9aa3c0;border-radius:8px;padding:4px 10px;font-size:12px;font-family:inherit;cursor:pointer}.route-clear:hover{color:#fff;border-color:#ffffff59}.ad-slot{position:relative}.ad-slot>.card{width:100%;border-color:#ffd65a73}.ad-badge{position:absolute;top:-7px;right:10px;z-index:1;background:#ffd65a;color:#241c02;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:6px;letter-spacing:.06em}.ad-vacant{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border-radius:14px;border:1px dashed rgba(255,214,90,.5);background:#ffd65a0d;color:inherit;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s}.ad-vacant:hover{border-color:#ffd65ae6;background:#ffd65a17}.ad-vacant-icon{font-size:20px}.ad-vacant-body{display:flex;flex-direction:column;gap:3px}.ad-vacant-title{font-size:13.5px;font-weight:700;color:#ffe9a8}.ad-vacant-desc{font-size:11.5px;color:#9aa3c0}.panel-footer{flex:none;display:flex;align-items:center;justify-content:center;gap:14px}.osm-credit{color:#4a5170;font-size:10.5px;text-decoration:none}.osm-credit:hover{color:#9aa3c0;text-decoration:underline}.footer-ads{flex:none;align-self:center;background:none;border:none;color:#5f6787;font-size:11.5px;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.footer-ads:hover{color:#9aa3c0}.modal-back{position:fixed;inset:0;z-index:40;background:#02030899;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}.modal{width:min(420px,100%);background:#10131ef5;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:22px 20px 16px;display:flex;flex-direction:column;gap:14px}.modal-title{font-size:18px;font-weight:800}.modal-list{margin-left:18px;display:flex;flex-direction:column;gap:7px;font-size:13.5px;color:#c6cce4}.modal-list li::marker{color:#ffd65a}.modal-cta{display:block;text-align:center;background:#ffd65a;color:#241c02;font-weight:800;font-size:14px;border-radius:10px;padding:10px;text-decoration:none}.modal-cta:hover{filter:brightness(1.08)}.modal-close{background:none;border:1px solid rgba(255,255,255,.14);color:#9aa3c0;border-radius:8px;padding:6px;font-size:12.5px;font-family:inherit;cursor:pointer}.view-toggle{position:absolute;left:16px;bottom:16px;z-index:10;display:inline-flex;align-items:center;gap:7px;background:#0d0f18a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);color:#c6cce4;border-radius:12px;padding:9px 14px;font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s}.view-toggle svg{flex:none}.view-toggle:hover{border-color:#fff6;color:#fff}.map-chips{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}.map-chip{--cat-color: #8ea0ff;position:absolute;left:0;top:0;display:none;align-items:center;gap:5px;pointer-events:auto;background:#0b0e17d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--cat-color) 55%,transparent);color:#e8eaf2;border-radius:999px;padding:4px 9px;font-size:11.5px;font-weight:600;font-family:inherit;cursor:pointer;will-change:transform}.map-chip-on{border-color:var(--cat-color);background:color-mix(in srgb,var(--cat-color) 24%,rgba(11,14,23,.85))}.map-chip{animation:chip-in .18s ease-out}@keyframes chip-in{0%{opacity:0}to{opacity:1}}.map-chip-name{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-card{--cat-color: #8ea0ff;position:absolute;left:12px;right:12px;bottom:108px;z-index:25;background:#0e111cf0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--cat-color) 45%,transparent);border-radius:16px;padding:14px 16px 12px;animation:detail-in .2s ease-out}@keyframes detail-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.detail-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:none;background:#ffffff14;color:#9aa3c0;font-size:13px;cursor:pointer}.detail-name{font-size:15.5px;font-weight:800;padding-right:30px}.detail-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:#9aa3c0;margin-top:5px}.detail-addr{font-size:11.5px;color:#5f6787;margin-top:4px}.detail-desc{font-size:12.5px;color:#c6cce4;margin-top:7px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.detail-actions{display:flex;gap:8px;margin-top:11px}.detail-route-btn{flex:1;border:1.5px solid var(--cat-color);background:color-mix(in srgb,var(--cat-color) 14%,transparent);color:#fff;border-radius:10px;padding:9px;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer}.detail-route-on{background:var(--cat-color);color:#0b0e17}.detail-reserve{flex:none;display:inline-flex;align-items:center;border:1px solid rgba(61,255,122,.5);background:#3dff7a1a;color:#3dff7a;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:700;text-decoration:none}.locate-btn{position:absolute;left:16px;bottom:118px;z-index:10;width:44px;height:44px;border-radius:50%;background:#0d0f18a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;cursor:pointer;padding:0}.locate-btn:hover{border-color:#fff6}.locate-btn:hover svg{stroke:#fff}.loc-toast{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:30;background:#0a0c14e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,176,61,.4);color:#ffd9a0;border-radius:12px;padding:9px 16px;font-size:13px;max-width:84vw;text-align:center}.compass{position:absolute;left:16px;bottom:66px;z-index:10;width:44px;height:44px;border-radius:50%;background:#0d0f18a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;cursor:pointer;padding:0}.compass:hover{border-color:#fff6}.compass-needle{width:26px;height:26px;transition:none;will-change:transform}.compass-needle svg{display:block}.tooltip{position:fixed;z-index:30;pointer-events:none;display:flex;align-items:center;gap:8px;background:#0a0c14e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:8px 12px;font-size:13px;max-width:320px}.tooltip-cat{flex:none;width:9px;height:9px;border-radius:50%}.tooltip-sub{color:#9aa3c0;font-size:11.5px}.sheet-grip{display:none}@media(max-width:760px){.panel{inset:auto 0 0;width:auto;height:64vh;max-height:none;border-radius:20px 20px 0 0;border-bottom:none;padding:0 12px 10px;transform:translateY(0);transition:transform .28s cubic-bezier(.25,.8,.3,1);will-change:transform}.panel-collapsed{transform:translateY(calc(100% - 96px))}.sheet-drag{touch-action:none;cursor:pointer;margin:0 -12px;padding:0 12px}.sheet-grip{display:block;padding:10px 0 6px}.card-list .chips{flex:none;padding-bottom:2px}.sheet-hint{position:absolute;top:-46px;left:50%;transform:translate(-50%);white-space:nowrap;background:#0d0f18d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,229,255,.4);color:#9fe9f5;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;pointer-events:none}.sheet-hint-arrow{display:inline-block;animation:hint-bounce 1.2s ease-in-out infinite}@keyframes hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.sheet-grip-bar{display:block;width:44px;height:5px;border-radius:999px;background:#ffffff47;margin:0 auto}.panel-title{font-size:18px}.view-toggle{left:12px;top:12px;bottom:auto}.locate-btn{left:12px;top:62px;bottom:auto}.compass{left:12px;top:114px;bottom:auto}.loc-toast{bottom:auto;top:14px}}
