.campus-map-module__tANp1a__explorer{--map-ink:#233f3c;--map-accent:#276e64;--map-border:#dde5e2;color:#253c39;border:1px solid var(--map-border);background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 35px #193c3007}.campus-map-module__tANp1a__explorer button,.campus-map-module__tANp1a__explorer input,.campus-map-module__tANp1a__explorer a{-webkit-tap-highlight-color:transparent}.campus-map-module__tANp1a__explorer button{cursor:pointer}.campus-map-module__tANp1a__explorer button:focus-visible,.campus-map-module__tANp1a__explorer a:focus-visible,.campus-map-module__tANp1a__explorer input:focus-visible{outline-offset:3px;outline:3px solid #498eae}.campus-map-module__tANp1a__toolbar{border-bottom:1px solid var(--map-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.campus-map-module__tANp1a__campusTitle{align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.campus-map-module__tANp1a__liveDot{background:#398e78;border-radius:50%;width:7px;height:7px}.campus-map-module__tANp1a__buildingCount{color:#71817c;border-left:1px solid var(--map-border);padding-left:8px;font-size:11px;font-weight:500}.campus-map-module__tANp1a__viewSwitch{background:#f0f4f2;border-radius:8px;gap:3px;padding:3px;display:flex}.campus-map-module__tANp1a__viewSwitch button{color:#667b74;border-radius:6px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;display:flex}.campus-map-module__tANp1a__viewSwitch button[aria-pressed=true]{color:var(--map-accent);background:#fff;font-weight:700;box-shadow:0 1px 4px #20392e16}.campus-map-module__tANp1a__workspace{grid-template-columns:230px minmax(0,1fr);display:grid}.campus-map-module__tANp1a__sidebar{border-right:1px solid var(--map-border);padding:16px 12px 8px}.campus-map-module__tANp1a__search{color:#788a82;background:#f9fbfa;border:1px solid #d9e2de;border-radius:9px;align-items:center;gap:7px;padding:10px;display:flex}.campus-map-module__tANp1a__search input{color:#253c39;background:0 0;outline:none;width:100%;min-width:0;font-size:13px}.campus-map-module__tANp1a__search button{display:flex}.campus-map-module__tANp1a__filters{flex-wrap:wrap;gap:5px;margin:12px 0 20px;display:flex}.campus-map-module__tANp1a__filters button{color:#6a7b73;border:1px solid #e2e9e5;border-radius:6px;padding:5px 8px;font-size:11px}.campus-map-module__tANp1a__filters button[aria-pressed=true]{color:#256759;background:#eaf3ef;border-color:#b7d2c5;font-weight:700}.campus-map-module__tANp1a__resultHeading{color:#7a8a82;justify-content:space-between;padding:0 5px 9px;font-size:11px;display:flex}.campus-map-module__tANp1a__buildingList{scrollbar-width:thin;scrollbar-color:#cbd8d0 transparent;max-height:412px;margin:0;padding:0 3px 0 0;list-style:none;overflow-y:auto}.campus-map-module__tANp1a__buildingList li+li{margin-top:3px}.campus-map-module__tANp1a__buildingList button{text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;width:100%;padding:10px 7px;display:flex}.campus-map-module__tANp1a__buildingList button:hover{background:#f3f7f4}.campus-map-module__tANp1a__buildingList button[aria-pressed=true]{background:#ecf4f0;border-color:#c5dbce}.campus-map-module__tANp1a__buildingList button>svg{color:#94a49b;flex-shrink:0}.campus-map-module__tANp1a__buildingIcon{color:#6a8ba3;background:#edf1f6;border-radius:7px;flex-shrink:0;place-items:center;width:29px;height:32px;display:grid}.campus-map-module__tANp1a__buildingIcon[data-category=생활관]{color:#a2825c;background:#f6f0e8}.campus-map-module__tANp1a__buildingIcon[data-category=도서관·학생시설]{color:#488d80;background:#e8f3ec}.campus-map-module__tANp1a__buildingIcon[data-category=행정·기타]{color:#8487a5;background:#efeff6}.campus-map-module__tANp1a__listText{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.campus-map-module__tANp1a__listText strong{overflow-wrap:anywhere;font-size:12px;font-weight:600}.campus-map-module__tANp1a__listText>span{color:#7b8982;font-size:10px}.campus-map-module__tANp1a__mapArea{background:#eaf0ef;min-width:0;height:590px;position:relative;overflow:hidden}.campus-map-module__tANp1a__scene{width:100%;height:100%;position:relative}.campus-map-module__tANp1a__scene canvas{touch-action:none;width:100%;height:100%;display:block}.campus-map-module__tANp1a__labelLayer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.campus-map-module__tANp1a__mapLabel{color:#3d5249;white-space:nowrap;pointer-events:auto;background:#fffffff0;border:1px solid #ffffffb3;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:600;line-height:16px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 5px #20392e0b}.campus-map-module__tANp1a__mapLabel[hidden]{display:none}.campus-map-module__tANp1a__mapLabel[data-selected=true]{color:#fff;z-index:2;background:#276e64;border-color:#276e64}.campus-map-module__tANp1a__mapEyebrow{pointer-events:none;color:#517068;letter-spacing:1.5px;font-size:10px;font-weight:700;position:absolute;top:22px;left:22px}.campus-map-module__tANp1a__mapEyebrow span{letter-spacing:2px;color:#85958f;margin-top:5px;font-size:8px;font-weight:400;display:block}.campus-map-module__tANp1a__mapControls{flex-direction:column;gap:9px;display:flex;position:absolute;top:20px;right:15px}.campus-map-module__tANp1a__mapControls>button,.campus-map-module__tANp1a__zoomControls{background:#fffffff2;border:1px solid #dbe3dd;border-radius:8px;box-shadow:0 2px 6px #20392e08}.campus-map-module__tANp1a__mapControls button{color:#526c60;flex-direction:column;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.campus-map-module__tANp1a__mapControls>button:first-child{gap:1px;height:48px}.campus-map-module__tANp1a__mapControls button span{font-size:9px;font-weight:700}.campus-map-module__tANp1a__mapControls button:hover{color:#20584d;background:#f5faf6}.campus-map-module__tANp1a__zoomControls button+button{border-top:1px solid #e5ebe6}.campus-map-module__tANp1a__labelToggle{color:#536e61;cursor:pointer;background:#ffffffd9;border-radius:6px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;display:flex;position:absolute;bottom:43px;left:18px}.campus-map-module__tANp1a__labelToggle input{accent-color:#276e64}.campus-map-module__tANp1a__mapHint{color:#637e70;pointer-events:none;margin:0;font-size:10px;position:absolute;bottom:17px;left:18px}.campus-map-module__tANp1a__modelBadge{color:#6d8377;pointer-events:none;font-size:9px;position:absolute;bottom:45px;right:15px}.campus-map-module__tANp1a__loading,.campus-map-module__tANp1a__sceneError{text-align:center;color:#5b7c6e;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:35px;font-size:13px;display:flex}.campus-map-module__tANp1a__sceneError{z-index:5;background:#edf3ee;position:absolute;inset:0}.campus-map-module__tANp1a__detail{border-top:1px solid var(--map-border);padding:22px 24px}.campus-map-module__tANp1a__emptyDetail{color:#6d8578;align-items:center;gap:13px;display:flex}.campus-map-module__tANp1a__emptyDetail>svg{flex-shrink:0}.campus-map-module__tANp1a__emptyDetail h2{color:#354e41;margin:0 0 4px;font-size:14px;font-weight:600}.campus-map-module__tANp1a__emptyDetail p{margin:0;font-size:12px;line-height:1.6}.campus-map-module__tANp1a__detailTop{justify-content:space-between;align-items:center;gap:12px;display:flex}.campus-map-module__tANp1a__detailCategory{color:#6b8477;font-size:11px}.campus-map-module__tANp1a__detailTop h2{letter-spacing:-.5px;align-items:center;gap:7px;margin:5px 0 0;font-size:20px;font-weight:700;display:flex}.campus-map-module__tANp1a__closeDetail{color:#78887c;border:1px solid #e4eae5;border-radius:7px;align-self:start;padding:7px}.campus-map-module__tANp1a__detailGrid{grid-template-columns:1fr 1.3fr;gap:30px;margin-top:20px;display:grid}.campus-map-module__tANp1a__detailGrid h3{color:#526e60;margin:0 0 9px;font-size:11px;font-weight:600}.campus-map-module__tANp1a__multiline{white-space:pre-line;color:#55695d;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.9}.campus-map-module__tANp1a__facilities{scrollbar-width:thin;max-height:180px;overflow-y:auto}.campus-map-module__tANp1a__coordinates{color:#83948a;font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:10px}.campus-map-module__tANp1a__externalLink{color:#276e64;align-items:center;gap:5px;margin-top:18px;font-size:12px;display:inline-flex}.campus-map-module__tANp1a__externalLink:hover{text-decoration:underline}.campus-map-module__tANp1a__sourceNote{color:#7b8981;background:#f8faf9;border-top:1px solid #e6ece8;padding:14px 24px;font-size:10px;line-height:1.8}.campus-map-module__tANp1a__sourceNote p{margin:0}.campus-map-module__tANp1a__sourceNote a{color:#526e60;text-underline-offset:2px;text-decoration:underline;display:inline}.campus-map-module__tANp1a__sourceNote a svg{vertical-align:middle;display:inline}.campus-map-module__tANp1a__noResults{text-align:center;color:#7b8b80;padding:30px 8px;font-size:12px}.campus-map-module__tANp1a__noResults svg{margin:0 auto}.campus-map-module__tANp1a__noResults p{margin:12px 0}.campus-map-module__tANp1a__noResults button{color:#276e64;text-decoration:underline}.campus-map-module__tANp1a__srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:768px) and (max-width:1090px){.campus-map-module__tANp1a__workspace{grid-template-columns:195px minmax(0,1fr)}.campus-map-module__tANp1a__mapArea{height:560px}}@media (max-width:640px){.campus-map-module__tANp1a__toolbar{gap:6px;padding:13px}.campus-map-module__tANp1a__campusTitle{gap:5px;font-size:12px}.campus-map-module__tANp1a__buildingCount{display:none}.campus-map-module__tANp1a__viewSwitch button{padding:6px 8px;font-size:11px}.campus-map-module__tANp1a__workspace{flex-direction:column;display:flex}.campus-map-module__tANp1a__mapArea{border-bottom:1px solid var(--map-border);order:-1;height:450px}.campus-map-module__tANp1a__sidebar{border-right:none;padding:14px}.campus-map-module__tANp1a__filters{margin:10px 0 14px}.campus-map-module__tANp1a__buildingList{grid-template-columns:1fr 1fr;gap:4px;max-height:218px;display:grid}.campus-map-module__tANp1a__buildingList li+li{margin:0}.campus-map-module__tANp1a__buildingList button{gap:6px;height:100%;padding:8px 5px}.campus-map-module__tANp1a__buildingList button>svg{display:none}.campus-map-module__tANp1a__listText strong{font-size:11px}.campus-map-module__tANp1a__buildingIcon{width:26px}.campus-map-module__tANp1a__detail{padding:18px 16px}.campus-map-module__tANp1a__detailTop h2{font-size:17px}.campus-map-module__tANp1a__detailGrid{grid-template-columns:1fr;gap:18px}.campus-map-module__tANp1a__sourceNote{padding:12px 16px}.campus-map-module__tANp1a__mapEyebrow{top:17px;left:15px}.campus-map-module__tANp1a__mapHint,.campus-map-module__tANp1a__mapLabel{font-size:9px}}.campus-map-module__tANp1a__dragSwitch{background:#fffffff2;border:1px solid #dbe3dd;position:absolute;top:71px;left:18px;box-shadow:0 2px 6px #20392e08}.campus-map-module__tANp1a__dragSwitch button[aria-pressed=true]{box-shadow:none;background:#e5f0eb}.campus-map-module__tANp1a__dragSwitch button:disabled{opacity:.4;cursor:default}.campus-map-module__tANp1a__scene[data-drag-mode=move] canvas{cursor:grab}.campus-map-module__tANp1a__scene[data-drag-mode=rotate] canvas{cursor:crosshair}.campus-map-module__tANp1a__scene canvas:active{cursor:grabbing}
