:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1e2533;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{height:100dvh;min-height:640px;display:flex;flex-direction:column}.header{height:74px;padding:0 28px;background:#fff;border-bottom:1px solid #e7eaf0;display:flex;align-items:center;justify-content:space-between;z-index:3}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:39px;height:39px;border-radius:12px;background:#4069ec;color:white;display:grid;place-items:center;font-size:26px;font-weight:800}.brand strong{display:block;font-size:18px;letter-spacing:-.04em}.brand small{display:block;color:#8b93a2;font-size:11px;letter-spacing:.02em}.header-actions{display:flex;align-items:center;gap:16px}.preview-badge{border:1px solid #dde4fa;color:#5570b9;border-radius:100px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.08em}.language-label{font-size:12px;color:#8790a0}.header select{border:1px solid #e5e9f1;background:#fff;color:#313c52;border-radius:10px;padding:9px 12px;min-width:125px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 425px;flex:1;min-height:0}.map-pane{position:relative;min-height:0;background:#e9eef7}.map{position:absolute;inset:0}.map-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:linear-gradient(145deg,#edf2ff,#f6f8fc)}.map-empty[hidden]{display:none}.map-symbol{display:grid;place-items:center;width:74px;height:74px;background:#fff;border-radius:22px;box-shadow:0 10px 30px #8a9acc22;color:#4069ec;font-size:40px}.map-empty h2{font-size:22px;letter-spacing:-.05em;margin:23px 0 8px}.map-empty p{color:#68758b;font-size:14px;line-height:1.55;max-width:340px;margin:0}.map-empty button{margin:22px 0 14px;border:0;background:#4069ec;color:#fff;border-radius:11px;padding:12px 18px;font-weight:700}.map-empty .map-note{font-size:11px;color:#8a94a7}.map-corner{position:absolute;bottom:18px;left:18px;background:#ffffffed;border:1px solid #e5e9f3;border-radius:10px;padding:7px 10px;color:#607089;font-size:11px;box-shadow:0 3px 12px #72809b13}.map-corner span{color:#b8c1d0}.results-pane{background:#fff;min-height:0;overflow:auto;border-left:1px solid #e4e9f1}.results-head{padding:25px 25px 18px;border-bottom:1px solid #edf0f5}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.11em;color:#5074e7;text-transform:uppercase}.results-head h1{font-size:27px;line-height:1.2;letter-spacing:-.065em;margin:8px 0 7px}.results-head p{font-size:13px;line-height:1.55;color:#7d8797;margin:0 0 20px}.search-wrap{height:46px;border:1px solid #dfe5f0;border-radius:12px;display:flex;align-items:center;padding:0 13px;gap:9px;box-shadow:0 3px 12px #313e5d09}.search-wrap:focus-within{border-color:#6282ec;box-shadow:0 0 0 3px #e9efff}.search-wrap>span{font-size:25px;color:#72829e}.search-wrap input{border:0;outline:0;min-width:0;flex:1;font-size:14px}.search-wrap button{border:0;background:none;color:#8a94a6;font-size:22px}.controls{display:flex;align-items:center;gap:9px;margin-top:17px}.city-tabs{display:flex;gap:5px;flex:1}.city-tabs button{border:1px solid #e5e9f0;background:#f7f9fc;color:#788397;padding:7px 11px;border-radius:9px;font-size:12px;font-weight:700}.city-tabs button.active{color:#fff;background:#4268ea;border-color:#4268ea}.controls select{width:119px;min-width:0;padding:8px 6px;border:1px solid #e5e9f0;border-radius:9px;background:#fff;color:#606c80;font-size:12px}.list-toolbar{padding:17px 25px 9px;display:flex;align-items:center;justify-content:space-between}.list-toolbar strong{font-size:13px}.quiet-button{border:0;background:#fff;color:#65738a;font-size:12px;font-weight:700}.quiet-button.active{color:#365de1}.result-list{padding:0 17px}.result-card{width:100%;display:flex;text-align:left;gap:13px;padding:15px 9px;border:0;border-bottom:1px solid #f0f2f6;background:#fff;color:inherit}.result-card:hover,.result-card:focus-visible{background:#f7f9ff;outline:none}.card-icon{width:43px;height:43px;flex:none;border-radius:13px;background:#edf1ff;color:#5074e7;display:grid;place-items:center;font-size:21px}.card-body{min-width:0;flex:1}.card-top{display:flex;align-items:start;justify-content:space-between;gap:5px}.card-name{font-size:14px;font-weight:750;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-save{font-size:18px;color:#a4adbf;line-height:1}.card-save.saved{color:#466ce8}.card-meta{font-size:11px;color:#8390a3;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-pill{display:inline-block;margin-top:8px;border-radius:5px;padding:3px 6px;background:#f1f4fb;color:#5872af;font-size:10px;font-weight:650}.empty-list{text-align:center;padding:48px 20px;color:#7a879a;font-size:13px}.more-button{display:block;margin:20px auto;border:1px solid #dbe3f2;background:#fff;color:#4668c5;border-radius:10px;padding:9px 18px;font-size:12px;font-weight:750}.more-button[hidden]{display:none}.data-disclaimer{padding:12px 25px 28px;margin:0;font-size:11px;line-height:1.5;color:#9ba5b3}.detail-dialog{width:min(430px,calc(100vw - 28px));border:1px solid #e3e8f3;border-radius:20px;padding:0;box-shadow:0 18px 60px #23325135}.detail-dialog::backdrop{background:#1b294a66}.dialog-head{padding:17px 22px;border-bottom:1px solid #edf0f5;display:flex;justify-content:space-between;align-items:center;color:#718199;font-size:12px}.dialog-head button{border:0;background:none;color:#6f7d94;font-size:25px}.dialog-body{padding:25px 22px 26px}.dialog-body h2{font-size:24px;letter-spacing:-.05em;margin:9px 0 5px}.dialog-body>p{color:#7c889b;font-size:13px;line-height:1.5}.detail-note{background:#f5f7fc;border-radius:10px;padding:11px 12px;margin:20px 0}.detail-actions{display:flex;gap:10px}.detail-actions button,.detail-actions a{text-decoration:none;border:1px solid #dce4f3;background:#fff;border-radius:10px;color:#3f60bb;padding:11px 14px;font-weight:750;font-size:13px}.detail-actions a{background:#4268ea;border-color:#4268ea;color:#fff}.detail-actions button{flex:1}.detail-actions a{flex:1;text-align:center}@media(max-width:760px){.app-shell{min-height:0}.header{height:60px;padding:0 15px}.brand-mark{width:34px;height:34px;font-size:23px}.brand strong{font-size:16px}.brand small{font-size:10px}.preview-badge,.language-label{display:none}.header select{min-width:103px;padding:7px}.workspace{display:flex;flex-direction:column;overflow:hidden}.map-pane{height:42vh;min-height:250px;flex:none}.results-pane{border:0;border-radius:19px 19px 0 0;margin-top:-15px;position:relative;z-index:1;flex:1}.results-head{padding:21px 17px 15px}.results-head h1{font-size:24px}.controls select{width:106px}.city-tabs button{padding:7px 9px}.list-toolbar{padding:14px 17px 8px}.map-corner{bottom:30px;font-size:10px}}
#map-key-form{width:min(360px,100%);margin:18px 0 8px;text-align:left}#map-key-form[hidden]{display:none}#map-key-form label{display:block;font-size:12px;color:#52627c;margin-bottom:8px}#map-key-input{width:100%;padding:12px;border:1px solid #c6d2ee;border-radius:10px;background:#fff;outline-color:#4268ea}#map-key-form button{width:100%;margin:10px 0}#map-key-form button:disabled{opacity:.6;cursor:wait}#map-connection-status{font-size:12px;color:#a14055;margin-bottom:10px}.map-empty button[hidden]{display:none}
.map-pane,.results-pane{min-width:0}.card-meta{display:block}.results-pane{overflow-x:hidden}.card-name{min-width:0}.card-save{flex:none}.controls{flex-wrap:wrap}.city-tabs{flex-wrap:wrap}.map-corner{pointer-events:none}
.community{border-top:1px solid #e5eaf5;margin-top:24px;padding-top:16px}.community h3{font-size:18px}.community p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.community details summary{cursor:pointer;color:#4268ea;font-size:14px;font-weight:700;padding:14px 0}.community-form{display:grid;gap:16px}.community-form label{font-size:13px;display:grid;gap:7px}.community-form input:not([type=radio]):not([type=checkbox]),.community-form select,.community-form textarea{width:100%;min-width:0;padding:11px;border:1px solid #dce2ef;border-radius:10px;font:inherit;background:#fff;color:#263248}.community-form textarea{resize:vertical}.community-form fieldset{border:0;padding:0;margin:0;min-width:0}.community-form legend{font-weight:700;font-size:14px;margin-bottom:8px}.community-form fieldset p{color:#6e7b91;font-size:12px}.star-options,.tag-options{display:flex;gap:7px;flex-wrap:wrap}.star-options label,.tag-options label{position:relative;display:block}.star-options input,.tag-options input{position:absolute;opacity:0;width:1px;height:1px}.star-options span,.tag-options span{display:block;padding:10px 12px;border:1px solid #dce3f2;border-radius:10px;color:#66748d;background:#fff}.star-options input:checked+span,.tag-options input:checked+span{background:#edf0ff;border-color:#6b70e8;color:#3e4ac7}.star-options input:focus-visible+span,.tag-options input:focus-visible+span{outline:2px solid #4069ec;outline-offset:2px}.tag-options input:disabled+span{opacity:.5}.community-form .check-line{display:flex;align-items:flex-start;line-height:1.5}.community-form button[type=submit],.propose-button{border:0;border-radius:10px;padding:12px;background:#4268ea;color:white;font:inherit;font-size:13px;font-weight:700}.community-form button:disabled{opacity:.5}.propose-button{margin-top:16px;background:#edf0ff;color:#445ac4;width:100%}.local-note{font-size:11px!important;color:#8792a7!important;line-height:1.6}.review-card{padding:10px 0;border-bottom:1px solid #edf0f6}.rating-summary{font-size:20px!important;font-weight:750;color:#424fc4}.review-tag-count{display:inline-block;margin:3px;padding:5px 8px;border-radius:8px;background:#f0edff;color:#6461b5;font-size:11px!important}.detail-dialog{max-height:90dvh;overflow-y:auto}.community-form [role=status]{color:#435ec4;font-size:12px;line-height:1.5}
.dialog-head{position:sticky;top:0;background:#fff;z-index:2}
.tag-group{margin:17px 0}.tag-group h4{margin:0 0 9px;font-size:12px;color:#6c7890}.tag-options[hidden]{display:none}#tag-count{position:sticky;top:65px;background:#f3f5ff;color:#435ac8;border-radius:9px;padding:8px 12px;z-index:1;font-weight:700}
.account-button,#account-logout,#admin-reload{border:1px solid #dce3f2;background:white;color:#4268ea;border-radius:10px;padding:9px 12px;font:inherit;font-size:13px}.community-form[hidden],#account-admin[hidden],#account-logout[hidden]{display:none}#account-admin{display:block;margin:15px 0;color:#4268ea}.admin-shell{max-width:900px;margin:30px auto;padding:20px}.admin-card{padding:20px;border:1px solid #e0e5ef;background:white;border-radius:15px;margin:15px 0;overflow-wrap:anywhere}.admin-card h2{font-size:18px}.admin-card p{white-space:pre-wrap}.header-actions{gap:8px}.account-button{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.publication-editor{margin-top:20px;border-top:1px solid #e3e8f3;padding-top:16px}.publication-editor summary{cursor:pointer;color:#425fd3;font-weight:700;margin-bottom:15px}.publication-editor .new-place{display:grid;gap:12px}.publication-editor .new-place[hidden]{display:none}

/* 0.9: 좁은 화면과 긴 번역문에서도 입력·버튼을 읽기 쉽게 유지 */
:focus-visible{outline:3px solid #4268ea;outline-offset:3px}
button,a,input,select,textarea{touch-action:manipulation}
button,.detail-actions a{min-height:44px}
.detail-actions{flex-wrap:wrap}.detail-actions>*{min-width:0;white-space:normal;overflow-wrap:anywhere}
.community-form label,.community-form legend,.tag-options span{overflow-wrap:anywhere}
.local-note{color:#627087!important}.data-disclaimer{color:#627087;line-height:1.6}
#saved-status{margin:4px 22px 12px;font-size:12px}
.empty-list{line-height:1.7;padding:24px 16px}
#list>.more-button{margin:0 16px 20px;width:calc(100% - 32px)}
@media(max-width:480px){.header-actions{gap:4px}.account-button{max-width:90px}.community-form{gap:18px}.tag-options span{padding:11px 12px}.dialog-body{padding:18px}.star-options{gap:5px}.star-options span{padding:10px}}
