@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#edf0e8;--muted:#9aaeb0;--gold:#edbf7d;--line:rgba(185,210,211,.17);--glass:rgba(10,25,29,.89);font-family:'Noto Sans KR',sans-serif;background:#0b1619;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#hubMap,#hubViewer{position:absolute;inset:0;width:100%;height:100%;height:100dvh}#hubViewer .cesium-viewer,#hubViewer .cesium-viewer-cesiumWidgetContainer,#hubViewer .cesium-widget,#hubViewer canvas{width:100%;height:100%}.cesium-viewer-bottom{z-index:7!important;max-width:calc(100% - 20px);font-size:10px!important}.map-vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,15,21,.68),transparent 28%,transparent 70%,rgba(3,15,21,.48)),linear-gradient(90deg,rgba(3,15,21,.35),transparent 38%,transparent 75%,rgba(3,15,21,.13))}
.hub-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:25px 32px;z-index:8}.hub-brand{display:flex;align-items:center;gap:12px;letter-spacing:2px;font-size:15px;line-height:1.4}.hub-brand svg{width:36px;height:36px;fill:none;stroke:var(--gold);stroke-width:1.4}.hub-brand b{font-weight:500;color:var(--gold)}.hub-brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);margin-top:4px}.header-stats{margin-left:auto;display:flex;gap:24px;font-size:11px;color:var(--muted)}.header-stats strong{color:var(--ink);font-size:24px;font-weight:600;margin-right:7px}.header-stats .ready-stat strong{color:var(--gold)}.icon-button{background:rgba(10,25,29,.6);border:1px solid var(--line);border-radius:50%;width:36px;height:36px;flex-shrink:0;font-size:17px}
.hub-intro{position:fixed;left:355px;top:114px;pointer-events:none;text-shadow:0 2px 20px #081921}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted)}.hub-intro .eyebrow{color:var(--gold)}.hub-intro h1{font-weight:500;font-size:clamp(28px,3.2vw,45px);letter-spacing:-2px;line-height:1.28;margin:10px 0 14px}.hub-intro>p:last-child{color:#c1cfd0;font-size:12px}.glass{background:var(--glass);backdrop-filter:blur(22px);border:1px solid var(--line);box-shadow:0 12px 36px rgba(2,10,12,.18)}
.mountain-panel{position:fixed;top:112px;left:28px;bottom:82px;width:294px;padding:21px 18px 15px;border-radius:18px;display:flex;flex-direction:column;min-height:0;z-index:5}.panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-top .icon-button{display:none}.search-label{font-size:11px;margin-bottom:9px;color:#b4c3c4}.search-wrap{display:flex;align-items:center;gap:9px;background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:9px;padding:0 12px;flex-shrink:0}.search-wrap span{font-size:23px;color:var(--gold)}.search-wrap input{min-width:0;width:100%;color:var(--ink);border:0;background:none;height:42px;font-size:12px;outline-offset:0}.search-wrap input::placeholder{color:#72888b}.status-filters{display:flex;gap:5px;margin-top:14px;flex-shrink:0}.status-filters button{flex:1;border:1px solid transparent;border-radius:7px;background:none;color:var(--muted);padding:9px 3px;font-size:11px;white-space:nowrap}.status-filters b{font-size:10px;margin-left:3px}.status-filters button[aria-pressed=true]{color:var(--gold);border-color:rgba(237,191,125,.3);background:rgba(237,191,125,.08)}#regionFilter{color:var(--muted);background:#10242a;border:1px solid var(--line);border-radius:7px;padding:8px 10px;margin-top:10px;width:100%;font-size:11px;flex-shrink:0}.list-caption{display:flex;justify-content:space-between;color:#70898c;font-size:10px;margin:19px 2px 9px;flex-shrink:0}.mountain-list{list-style:none;padding:0;margin:0;overflow:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#375052 transparent;overscroll-behavior:contain}.mountain-list li{margin:4px 0}.mountain-item{display:flex;align-items:center;text-align:left;gap:11px;padding:13px 10px;width:100%;border:1px solid transparent;border-radius:9px;background:none}.mountain-item:hover{background:rgba(167,200,202,.06)}.mountain-item[aria-pressed=true]{border-color:rgba(237,191,125,.25);background:rgba(237,191,125,.08)}.mountain-item .pin-icon{height:9px;width:9px;flex-shrink:0;border-radius:50%;border:1px solid #6a868a;background:rgba(158,185,189,.2)}.mountain-item.ready .pin-icon{background:var(--gold);border-color:var(--gold);box-shadow:0 0 14px rgba(237,191,125,.3)}.mountain-item .item-text{flex:1;min-width:0}.item-text strong{display:block;font-size:13px;font-weight:500}.item-text small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.item-height{font-size:11px;color:#b3c1bc;font-variant-numeric:tabular-nums}.item-text em{font-style:normal;color:var(--gold);font-size:9px;margin-left:5px}.directory-note{padding-top:14px;margin-top:9px;border-top:1px solid var(--line);color:#718a8f;font-size:10px;line-height:1.7;flex-shrink:0}.empty-list{font-size:12px;line-height:1.8;color:var(--muted);text-align:center;padding:20px 0}
.world-tools{position:fixed;top:106px;right:28px;display:flex;border:1px solid var(--line);border-radius:10px;background:var(--glass);padding:5px;z-index:6}.world-tools button{border:0;background:none;padding:9px 12px;border-radius:7px;font-size:11px;color:#afc1c2}.world-tools button[aria-pressed=true]{color:var(--gold);background:rgba(237,191,125,.1)}.mountain-detail{position:fixed;right:28px;top:173px;width:286px;max-height:calc(100dvh - 250px);overflow:auto;border-radius:18px;padding:22px;z-index:5;scrollbar-width:thin}.detail-top{display:flex;justify-content:space-between;align-items:center}.state-badge{font-size:9px;letter-spacing:1px;color:var(--gold);border:1px solid rgba(237,191,125,.28);border-radius:5px;padding:4px 7px}.state-badge.pending{color:#a8bbbf;border-color:var(--line)}#detailToggle{display:none}.detail-region{font-size:11px;color:var(--muted);margin:21px 0 8px}.mountain-detail h2{font-size:26px;letter-spacing:-1px;font-weight:600;line-height:1.35;margin:0 0 18px}.detail-metrics{display:flex;flex-direction:column;gap:5px}.detail-metrics strong{font-size:25px;font-weight:400;letter-spacing:-.7px}.detail-metrics span{font-size:10px;color:var(--muted)}.detail-description{font-size:11px;color:#b5c4c7;line-height:1.85;margin:18px 0}.detail-routes{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.detail-routes a{border:1px solid var(--line);padding:10px 11px;border-radius:7px;font-size:11px;display:flex;align-items:center;justify-content:space-between}.detail-routes a:hover{border-color:var(--gold)}.detail-routes small{color:var(--muted);font-size:9px}.enter-button{display:flex;justify-content:space-between;align-items:center;background:var(--gold);color:#172328;padding:13px 15px;border-radius:8px;font-size:12px;font-weight:700}.enter-button:hover{background:#ffdaa1}.pending-notice{border:1px dashed var(--line);color:var(--muted);border-radius:8px;padding:13px 12px;font-size:11px;line-height:1.8}.atlas-link{display:block;color:#b9d1cb;font-size:11px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}
.map-legend{position:fixed;bottom:49px;left:355px;display:flex;gap:19px;pointer-events:none;font-size:10px;color:#c4d4d5;text-shadow:0 1px 4px #000}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:7px;height:7px;border:1px solid #aac0c5;border-radius:50%;background:#789196}.map-legend .ready-dot{background:var(--gold);border-color:var(--gold)}.map-status{position:fixed;bottom:67px;left:355px;max-width:calc(100% - 390px);font-size:10px;color:#9fbac0;pointer-events:none;text-shadow:0 1px 4px #000}.list-toggle{display:none}dialog{color:var(--ink);background:#102229;border:1px solid var(--line);border-radius:18px;padding:28px;width:min(520px,calc(100% - 32px));max-height:85dvh}dialog::backdrop{background:rgba(2,10,13,.76)}dialog form{float:right}dialog h2{font-size:26px;font-weight:500}dialog h3{font-size:13px;margin-top:25px}dialog p{font-size:12px;line-height:1.9;color:#a6bdc1}.credits{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;color:var(--gold)}.no-script{position:fixed;inset:0;background:#102229;overflow:auto;z-index:20;padding:24px}.no-script a{display:block;padding:12px;border-bottom:1px solid var(--line)}
@media(min-width:761px) and (max-width:1100px){.hub-intro{left:335px;top:153px}.mountain-panel{left:16px;width:282px}.world-tools{right:16px}.mountain-detail{right:16px;width:245px;top:340px;max-height:calc(100dvh - 385px);padding:18px}.map-legend,.map-status{left:325px}.hub-intro h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.world-tools button:disabled{opacity:.45;cursor:wait}
.sheet-backdrop,.mobile-map-hint,#detailClose,.traverse-dock,.panel-expand,.mountain-map-hint{display:none}
.related-traverses{display:grid;gap:6px;margin:12px 0}.related-traverses a{font-size:11px;line-height:1.6;color:var(--gold);padding:9px;border:1px solid var(--line);border-radius:6px}
.directory-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:3px;align-items:center}
.row-enter{display:grid;place-items:center;min-height:40px;border:1px solid var(--line);border-radius:7px;font-size:10px;color:var(--gold)}
.row-enter:hover{border-color:var(--gold)}
.row-routes{grid-column:1/-1;display:grid;gap:3px;padding:0 3px 6px 21px}
.row-routes a{font-size:10px;color:#b9d1cb;line-height:1.5;padding:8px;border-left:1px solid var(--line)}
.traverse-number{display:grid;place-content:center;flex-shrink:0;width:21px;height:21px;border-radius:50%;background:#edbf7d18;color:var(--gold);font-size:10px;font-style:normal}
.journey-tabs{position:fixed;left:355px;top:106px;z-index:7;display:flex;gap:4px;padding:4px;border:1px solid var(--line);background:var(--glass);border-radius:10px}
.journey-tabs button{border:0;border-radius:7px;background:none;color:var(--muted);padding:10px 16px;font-size:12px;min-height:40px}.journey-tabs button[aria-pressed=true]{background:var(--gold);color:#172328;font-weight:700}.journey-tabs span{font-size:8px;letter-spacing:1px;margin-left:7px}.hub-intro{top:163px}
@media(min-width:761px) and (max-width:1100px){.journey-tabs{left:335px}.hub-intro{top:165px}}
