@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#202a40;background:#f6f8fc;font-size:16px;--blue:#3159e8;--muted:#6e788b;--line:#e5e9f1}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #8ba5ff;outline-offset:3px}header{height:84px;padding:0 36px;display:flex;align-items:center;gap:24px;background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#1d2941;font-size:23px;font-weight:700;letter-spacing:-.7px}.logo{display:grid;place-items:center;background:var(--blue);color:white;width:36px;height:36px;border-radius:11px;font-size:35px}.beta{font-size:12px;letter-spacing:1.7px;margin-left:10px;color:#8590a3;font-weight:600}.private{margin-left:auto;color:var(--muted);font-size:13px}.primary{background:var(--blue);color:white;border:0;border-radius:9px;padding:12px 20px;font-size:14px;font-weight:600}main{display:grid;grid-template-columns:345px minmax(0,1fr);min-height:calc(100vh - 84px)}aside{background:white;border-right:1px solid var(--line);padding:32px 27px;display:flex;flex-direction:column}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#8a94a7}h1{font-size:32px;line-height:1.4;letter-spacing:-1.5px;margin:14px 0 12px;font-weight:800}h1 span{color:var(--blue)}.intro p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 26px}.dropzone{border:1.5px dashed #b5c5f4;border-radius:12px;background:#f5f8ff;display:flex;align-items:center;flex-direction:column;width:100%;padding:22px 10px;gap:8px;color:#263a6a}.dropzone:hover,.dropzone.drag{background:#eaf0ff;border-color:var(--blue)}.upload-icon{font-size:27px;color:var(--blue);background:white;border:1px solid #e2e9ff;border-radius:10px;line-height:38px;width:40px;margin-bottom:5px}.dropzone strong{font-size:15px}.dropzone span:not(.upload-icon){font-size:12px;color:#6f7c97}.dropzone small{font-size:12px;color:#919bad;margin-top:5px}#status{font-size:13px;color:#425c93;line-height:1.6;margin:12px 0;overflow-wrap:anywhere}.settings{padding:18px 0 20px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}h2{font-size:16px;margin:0;letter-spacing:-.5px}.section-title>span{color:#7e8aa3;font-size:12px;background:#f2f4f8;padding:4px 7px;border-radius:4px}.setting-row{display:flex;justify-content:space-between;align-items:center;margin:13px 0;gap:8px}.setting-row label{font-size:13px;color:#667187}select{background:white;border:1px solid var(--line);border-radius:6px;padding:7px;font-size:12px;color:#34425d}.settings p{font-size:12px;line-height:1.8;color:#919aab;margin:12px 0 0}.journeys{padding-top:24px}.text-btn{border:0;background:none;color:#78859f;font-size:12px;padding:4px}#journey-count{color:var(--blue);margin-left:5px}.empty-list{padding:20px 0 28px;text-align:center;font-size:13px;line-height:1.9;color:#9ba4b5}.aside-foot{font-size:12px;color:#a4adbc;margin-top:auto;padding-top:30px}.workspace{padding:29px 32px 16px;min-width:0}.map-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.map-top h2{font-size:23px;margin-top:7px;font-weight:700}.stats{display:flex;gap:20px;font-size:12px;color:#8a94a4}.stats b{font-size:20px;margin-right:4px;color:#2a3650;font-weight:600}.map-wrap{height:clamp(340px,49vh,600px);position:relative;overflow:hidden;border-radius:16px;border:1px solid #dce4ed;isolation:isolate;background:#dce8e9}#map{height:100%;width:100%;z-index:0}.map-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:rgba(255,255,255,.94);border:1px solid white;box-shadow:0 12px 50px #35526814;border-radius:16px;padding:25px 34px;min-width:280px;pointer-events:none}.map-message-icon{display:block;color:var(--blue);font-size:40px;line-height:1;margin-bottom:14px}.map-message strong{font-size:17px;letter-spacing:-.5px}.map-message p{font-size:13px;line-height:1.8;color:#7d8798;margin-bottom:0}.fit-button{position:absolute;top:18px;right:18px;border:1px solid #e3e8ee;border-radius:7px;background:white;color:#44536e;padding:10px 13px;font-size:12px;box-shadow:0 3px 10px #27365210}.map-legend{position:absolute;bottom:26px;left:18px;background:#fffefc;padding:10px 13px;border-radius:7px;display:flex;align-items:center;gap:8px;font-size:12px;color:#717d91;box-shadow:0 2px 6px #0000000c}.map-legend i{width:7px;height:7px;background:var(--blue);border-radius:50%}.map-legend span{font-weight:bold;color:var(--blue);font-size:18px;margin-left:10px}.timeline{margin-top:28px}.timeline-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.timeline-head h2{font-size:19px;margin-top:7px}.timeline-head>span{font-size:12px;color:#8d96a6}.photo-list{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;min-height:133px}.timeline-empty{background:#fff;border:1px solid var(--line);border-radius:12px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:#98a2b2;min-height:125px;font-size:13px}.timeline-empty>span{font-size:26px;color:#b3bfd1}.note{font-size:12px;color:#929caf;line-height:1.8;margin-top:17px}.journey-card{width:100%;background:white;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:left;margin-bottom:9px}.journey-card.active{border-color:#b4c6ff;background:#f2f6ff}.journey-card strong{display:block;font-size:14px;margin-bottom:6px}.journey-card small{color:#8490a5;font-size:12px}.journey-card .count{float:right;color:var(--blue);font-size:12px}.photo-card{flex:0 0 165px;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:0;text-align:left;color:#28354f}.photo-card img{width:100%;height:110px;object-fit:cover;display:block}.photo-placeholder{height:110px;display:grid;place-items:center;background:#e9eef8;font-size:12px;color:#7c89a4}.photo-meta{padding:10px}.photo-meta strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-meta small{display:block;font-size:12px;margin-top:4px;color:#8e98aa}.pin{border:3px solid white;border-radius:50%;color:white;display:grid;place-items:center;box-shadow:0 2px 8px #15296566;font:600 12px 'DM Sans',sans-serif}.leaflet-popup-content button{border:0;background:var(--blue);color:white;padding:8px 12px;border-radius:6px;margin-top:6px}.leaflet-popup-content{font-family:inherit}#tile-error{position:absolute;bottom:60px;left:20px;right:20px;background:white;padding:10px;border-radius:8px;color:#a35c32;font-size:12px}dialog{border:0;border-radius:16px;padding:24px;width:min(850px,94vw);max-height:90vh;color:#28354f}dialog::backdrop{background:#101c35bd}#close-viewer{position:absolute;right:12px;top:10px;background:#fff;border:1px solid #ddd;border-radius:50%;width:34px;height:34px;font-size:24px}#viewer-image{background:#f1f4f8;min-height:180px;display:grid;place-items:center;border-radius:8px;overflow:hidden}#viewer-image img{max-width:100%;max-height:63vh;object-fit:contain}#viewer-info{font-size:14px;line-height:1.8;overflow-wrap:anywhere}#viewer-info a{color:var(--blue)}@media(min-width:1450px){main{grid-template-columns:370px minmax(0,1fr)}aside{padding:38px}.workspace{padding:34px 42px}}@media(max-width:900px){header{padding:0 20px}.beta,.private{display:none}header .primary{margin-left:auto}main{grid-template-columns:285px minmax(0,1fr)}aside{padding:24px 19px}.workspace{padding:24px 20px}.stats{gap:9px}.map-top h2{font-size:20px}}@media(max-width:680px){header{height:68px;padding:0 16px}.brand{font-size:20px}.primary{padding:10px 12px}main{display:flex;flex-direction:column}aside{border-right:0;padding:24px 20px}.intro h1{font-size:27px}.intro h1 br{display:none}.intro p br{display:none}.intro p{margin-bottom:18px}.intro .eyebrow,.aside-foot{display:none}.dropzone{padding:16px}.upload-icon{display:none}.settings{padding-top:6px}.journeys{padding-top:18px}.empty-list{padding:0 0 4px}.workspace{padding:24px 16px}.map-wrap{height:420px}.timeline-head>span{display:none}.map-message{min-width:240px;padding:22px}.note{font-size:12px}.timeline-empty{padding:20px;font-size:13px}.setting-row label{font-size:14px}select{font-size:14px}}

.setting-row label,.setting-row select,.text-btn,.dropzone span:not(.upload-icon),.journey-card small,.photo-meta strong,.photo-meta small,.fit-button,.timeline-empty{font-size:14px}.photo-card{flex-basis:185px}.photo-meta small{font-size:12px}.empty-list{white-space:pre-line}.leaflet-popup-content strong{display:block;max-width:190px;overflow-wrap:anywhere}.map-message[hidden]{display:none}
.auto-info{font-size:14px!important;color:#667187!important}.edit-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 15px}.secondary{background:white;border:1px solid #cbd5e7;border-radius:8px;padding:10px 14px;color:#355083;font-size:14px}.secondary:hover{background:#f0f4ff}button:disabled{opacity:.5;cursor:default}#selection-count{font-size:14px;color:#526482}.photo-card{position:relative}.photo-card.picked{border:2px solid var(--blue);background:#edf2ff}.pick-indicator{position:absolute;left:8px;top:8px;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:white;color:var(--blue);box-shadow:0 1px 5px #0002}.photo-journey{color:var(--blue)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-badge{display:block;margin-top:6px;color:#5274b6!important}.membership{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:16px;margin-top:16px;border-top:1px solid var(--line)}#move-dialog{width:min(520px,94vw);padding:28px}#move-dialog h2{font-size:21px}#move-dialog label{display:block;font-size:14px;margin:18px 0 8px}#move-target,#new-journey-name{width:100%;font:inherit;font-size:14px;padding:12px;border:1px solid #cbd5e7;border-radius:8px;background:white;color:#273b60}#move-summary{font-size:14px;color:#63748e}.move-help{font-size:13px;line-height:1.8;color:#78869e}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#move-error{font-size:14px;color:#a44836}.edit-toolbar [hidden],#new-name-field[hidden]{display:none}.journey-card strong{overflow-wrap:anywhere}
.journey-actions{display:flex;align-items:center;gap:14px;margin:-5px 0 16px}.journey-actions span{font-size:13px;color:#7c899e}.saved-section{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}#saved-list{font-size:14px;color:#78859c;line-height:1.8}.saved-card{display:block;width:100%;text-align:left;border:1px solid #d7e2f7;border-radius:9px;background:#f6f9ff;padding:12px;margin-bottom:9px;color:#2c4268}.saved-card strong{display:block;overflow-wrap:anywhere}.saved-card small{display:block;color:#8993a4}.expand-map{position:absolute;top:18px;left:18px;z-index:5;box-shadow:0 2px 8px #0001}.map-expanded{position:fixed!important;inset:12px!important;width:auto!important;height:auto!important;z-index:2000!important;box-shadow:0 0 0 30px #172039d9;border-radius:12px!important}.map-expanded .map-legend{bottom:26px}body.map-open{overflow:hidden}#save-dialog{width:min(560px,94vw);padding:28px}#save-dialog h2{font-size:22px}#save-dialog label{display:block;font-size:14px;margin:18px 0 8px}#save-dialog input,#save-dialog textarea,#save-dialog select{width:100%;font:inherit;font-size:14px;padding:11px;border:1px solid #cbd5e7;border-radius:8px;background:white;color:#273b60}#journey-summary{font-size:14px;color:#536988;line-height:1.8}#save-status{font-size:14px;color:#3159a0;line-height:1.8}#save-status.error{color:#ae473d}.journey-note-preview{white-space:pre-wrap;border-radius:8px;background:#f3f6fc;padding:14px;overflow-wrap:anywhere}@media(max-width:680px){.journey-actions{align-items:flex-start;flex-direction:column;gap:8px}.map-expanded{inset:5px!important}.expand-map{left:10px;top:10px;font-size:13px;padding:10px}.map-expanded .fit-button{right:10px;top:10px}}
.photo-marker{background:none;border:none}.photo-pin{position:relative;width:54px;height:54px;padding:3px;background:white;border:2px solid var(--pin-color);border-radius:11px;box-shadow:0 3px 10px #14284155;transition:transform .15s;cursor:pointer}.photo-pin::after{content:'';position:absolute;left:19px;bottom:-9px;width:12px;height:12px;transform:rotate(45deg);background:var(--pin-color);z-index:-1}.photo-pin img{width:100%;height:100%;object-fit:cover;display:block;border-radius:6px}.photo-pin-number{position:absolute;bottom:-4px;right:-5px;min-width:21px;height:21px;border-radius:11px;background:var(--pin-color);color:white;border:2px solid white;display:grid;place-items:center;font:600 12px/1 'DM Sans',sans-serif;padding:0 3px}.photo-pin-placeholder{display:grid;place-items:center;height:100%;background:#eaf0fb;border-radius:6px;color:#8094b8;font-size:25px}.photo-marker:hover .photo-pin,.photo-marker:focus-visible .photo-pin{transform:translateY(-4px);box-shadow:0 6px 16px #14284166}.saved-row{display:flex;align-items:center;gap:7px;margin-bottom:9px}.saved-row .saved-card{flex:1;min-width:0;margin-bottom:0}.delete-saved{border:1px solid #ecd9d9;border-radius:7px;color:#a34949;background:white;font-size:13px;padding:9px 8px;flex-shrink:0}.delete-saved:hover{background:#fff0f0}.danger{background:#b84343;color:white;border:0;border-radius:8px;padding:11px 17px;font-size:14px}#delete-dialog{width:min(470px,94vw);padding:28px}#delete-dialog h2{font-size:21px}#delete-record-name{font-weight:600;overflow-wrap:anywhere}#delete-description{color:#748098;font-size:14px;line-height:1.8}#delete-status{font-size:14px;color:#a44836}
.account-controls{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px;min-width:0}.account-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-controls a,.dialog-actions a{text-decoration:none;display:inline-block}.public-notice{background:#eef3ff;color:#4c6392;padding:12px 30px;font-size:14px;line-height:1.6;border-bottom:1px solid #dce5ff}.public-notice[hidden]{display:none}#signin-dialog{width:min(520px,94vw);padding:28px}#signin-dialog p{font-size:14px;line-height:1.8;color:#78859b}#signin-draft-warning{background:#f1f4fb;padding:12px;border-radius:8px}#saved-list a{display:inline-block;text-decoration:none}@media(max-width:680px){.account-controls .account-label{max-width:90px}.account-controls .secondary{font-size:12px;padding:8px}.account-controls{gap:4px}header{flex-wrap:wrap;height:auto;min-height:68px;padding-top:10px;padding-bottom:10px;gap:10px}.public-notice{padding:12px 18px}.dialog-actions{flex-wrap:wrap}}
#email-login-form label{display:block;font-size:14px;margin:16px 0 7px}#email-login-form input{display:block;width:100%;border:1px solid #cad5e7;border-radius:8px;padding:12px;font:inherit;font-size:16px}#send-email-code{margin-top:10px}#email-login-status{font-size:14px;line-height:1.7;color:#415b98;margin-top:12px}.legacy-login{display:block;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:#78869f;text-align:center}.auth-note{padding:12px;background:#f4f6fb;border-radius:8px}.auth-note[hidden]{display:none}#email-login-form input:disabled{background:#f1f3f6;color:#919bab}
.backup-controls{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.backup-controls button{font-size:13px;padding:9px 11px}.saved-actions{display:flex;flex-direction:column;gap:5px}.legacy-import{border-top:1px solid var(--line);padding-top:18px;margin-top:22px;font-size:13px;color:#7a879a}.legacy-import summary{cursor:pointer;font-size:14px}.legacy-import p{line-height:1.8}.legacy-import a{display:inline-block;text-decoration:none}.legacy-import [role=status]{line-height:1.8;margin-top:12px}.public-notice{font-size:13px}

#map-export-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto;border:1px solid #dce4ed;border-radius:16px;padding:24px;color:#202a40}#map-export-dialog::backdrop{background:#15213b88}#map-export-dialog p{font-size:14px;line-height:1.7}#map-export-preview{width:100%;height:auto;border:1px solid #dce4ed;border-radius:8px}.map-export-actions{display:flex;gap:12px;flex-wrap:wrap}.map-export-actions a{text-decoration:none}#map-export-dialog [hidden]{display:none}.journey-actions{flex-wrap:wrap}

.map-export-picker{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.map-export-picker label{font-size:14px}.map-export-picker select{flex:1;min-width:150px;max-width:100%;font-size:14px;padding:10px}#upload-progress-panel{margin-top:16px;padding:12px;border:1px solid #dce4ed;border-radius:10px;background:#f5f8ff}#upload-progress-panel[hidden]{display:none}.upload-progress-heading{display:flex;justify-content:space-between;gap:8px;font-size:13px}#upload-progress{display:block;width:100%;height:12px;margin-top:10px;accent-color:#3159e8;border:0;border-radius:8px;overflow:hidden}#upload-progress::-webkit-progress-bar{background:#dfe6f6;border-radius:8px}#upload-progress::-webkit-progress-value{background:#3159e8;border-radius:8px}#upload-progress::-moz-progress-bar{background:#3159e8;border-radius:8px}#upload-progress-detail{font-size:12px;line-height:1.5;overflow-wrap:anywhere;margin:8px 0 0;color:#52637d}

.batch-help{font-size:12px;line-height:1.6;color:#6e788b;margin:8px 0 0}
