body{font-family:Arial,sans-serif;margin:20px}h1{color:#333;text-align:center}h2{margin-top:30px;color:#0056b3}pre{background-color:#f8f8f8;border:1px solid #ccc;padding:10px;overflow-x:auto}.result{background-color:#f1f1f1;padding:10px;border:1px solid #ddd;margin-top:10px;word-wrap:break-word}.form-group{margin-bottom:20px}.form-gps{display:none}label{font-weight:700;display:block;margin-bottom:5px}input[type=number],input[type=text],select{width:100%;padding:8px;margin-bottom:10px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}button{background-color:#0056b3;color:#fff;padding:10px 15px;border:none;border-radius:4px;cursor:pointer}button:hover{background-color:#003f8a}#map{width:100%;height:400px;margin-top:20px;margin-bottom:20px;border:1px solid #ddd;border-radius:4px}#roadview{width:100%;height:400px;margin-top:20px;margin-bottom:20px;border:1px solid #ddd;border-radius:4px}#autocomplete-list{position:absolute;border:1px solid #ccc;background:#fff;max-height:200px;overflow-y:auto;z-index:9999;width:100%;display:none}.autocomplete-suggestion{padding:10px;cursor:pointer}.autocomplete-suggestion:hover{background-color:#f0f0f0}.autocomplete-suggestion.selected{background-color:#e9ecef}#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000;display:none}.spinner{width:40px;height:40px;border:5px solid #d3d3d3;border-top:5px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media (max-width:768px){body{margin:10px}}.table-container{width:100%;overflow-x:auto;margin-top:20px;box-shadow:0 2px 8px rgba(0,0,0,.1)}table{width:100%;border-collapse:collapse;font-size:16px;font-family:Arial,sans-serif;background-color:#fff}table thead{background-color:#0056b3;color:#fff;text-align:center}table td,table th{padding:12px 15px;text-align:center}table tbody tr{border-bottom:1px solid #ddd}table tbody tr:nth-of-type(even){background-color:#f9f9f9}table tbody tr:hover{background-color:#f1f1f1}table th{text-transform:uppercase;letter-spacing:.1em}table td{color:#333}.pagination{margin-top:15px;text-align:center}.pagination button{margin:0 5px;padding:6px 12px;background-color:#eee;border:1px solid #ccc;border-radius:4px;cursor:pointer}.pagination button.active{background-color:#0056b3;color:#fff;border:1px solid #0056b3}.pagination button:hover:not(.active){background-color:#ddd}#nearbyStationsForm table tbody tr td{cursor:pointer}#nearbyStationsForm .form-group{position:relative}.scrollable-table{max-height:200px;overflow-y:auto}#routeInfoContainer,#stationExitBusRoutesContainer,#stationExitFacilitiesContainer,#subwayTimetableContainer{position:absolute;top:50%;left:-320px;z-index:1001;background-color:#fff;padding:10px;border-radius:5px;box-shadow:0 1px 5px rgba(0,0,0,.3);max-width:320px;font-size:14px;transition:left .5s ease;max-height:300px;overflow-y:auto;text-align:center}#routeInfoContainer.show,#stationExitBusRoutesContainer.show,#stationExitFacilitiesContainer.show,#subwayTimetableContainer.show{left:20px}.route-info-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1)}.route-info-table td,.route-info-table th{padding:10px;border:1px solid #ddd;text-align:left}.route-info-table th{background-color:#f4f4f4;text-transform:uppercase;font-weight:700;color:#555}.route-info-table td{color:#333}.route-info-table tr:hover{background-color:#f1f1f1}#viewRouteStations{margin:5px 0}#routeStopsContainer{position:absolute;top:50%;left:-320px;z-index:10;background-color:#fff;padding:10px;border-radius:5px;box-shadow:0 1px 5px rgba(0,0,0,.3);max-width:320px;font-size:14px;transition:left .5s ease;max-height:300px;overflow-y:auto;text-align:center}#routeStopsContainer.show{left:20px}.modal-header{background-color:#0056b3;color:#fff;padding:10px;cursor:move;border-top-left-radius:5px;border-top-right-radius:5px;text-align:center;position:relative}#routeErrorContainer{position:fixed;top:-300px;left:50%;transform:translateX(-50%);z-index:10;background-color:#fff;padding:10px;border-radius:5px;box-shadow:0 1px 5px rgba(0,0,0,.3);max-width:320px;font-size:14px;transition:top .5s ease;max-height:300px;overflow-y:auto;text-align:center}#routeErrorContainer.show{top:20px}.map-container{position:relative}#currentLocationBtn{position:absolute;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 5px rgba(0,0,0,.2);font-size:24px;text-align:center;line-height:24px;cursor:pointer;z-index:1000}#currentLocationBtn:hover{background-color:#f0f0f0}#currentLocationBtn i{color:#0056b3}#distanceCalcBtn{position:absolute;bottom:80px;right:20px;width:50px;height:50px;border-radius:50%;background-color:#fff;border:1px solid #ccc;box-shadow:0 2px 5px rgba(0,0,0,.2);font-size:24px;text-align:center;line-height:24px;cursor:pointer;z-index:1000}#distanceCalcBtn i{color:#0056b3}#distanceCalcBtn:hover{background-color:#f0f0f0}#distanceCalcBtn.active{background-color:#0056b3;color:#fff}#distanceCalcBtn.active:hover{background-color:#003f8a}#distanceCalcBtn.active i{color:#fff}.map-container button{padding:10px 5px}.dot{overflow:hidden;float:left;width:12px;height:12px;background:url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/mini_circle.png)}.dotOverlay{position:relative;bottom:10px;border-radius:6px;border:1px solid #ccc;border-bottom:2px solid #ddd;float:left;font-size:12px;padding:5px;background:#fff}.dotOverlay:nth-of-type(n){border:0;box-shadow:0 1px 2px #888}.number{font-weight:700;color:#ee6152}.dotOverlay:after{content:'';position:absolute;margin-left:-6px;left:50%;bottom:-8px;width:11px;height:8px;background:url(https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/vertex_white_small.png)}.distanceInfo{position:relative;top:5px;left:5px;list-style:none;margin:0}.distanceInfo .label{display:inline-block;width:50px}.distanceInfo:after{content:none}.downtime_schedule_list tbody tr:first-child,.uptime_schedule_list tbody tr:first-child{background-color:#e6eb7b}.downtime_schedule_list tbody tr:last-child,.uptime_schedule_list tbody tr:last-child{background-color:#f8d7da}.error-message{padding:20px;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:5px;text-align:center;font-weight:700}.error-container{color:red;font-weight:700;padding:10px;border:1px solid red;background-color:#ffe6e6;margin-top:10px}@media (max-width:768px){table td,table th{padding:8px 10px;font-size:14px}.pagination button{padding:5px 10px;font-size:14px}}@media (max-width:520px){#nearbyStationsForm .result table td:nth-child(2),#nearbyStationsForm .result table td:nth-child(3),#nearbyStationsForm .result table td:nth-child(4),#nearbyStationsForm .result table th:nth-child(2),#nearbyStationsForm .result table th:nth-child(3),#nearbyStationsForm .result table th:nth-child(4){display:none}table td,table th{padding:8px 10px;font-size:14px}.pagination button{padding:5px 10px;font-size:14px}}