:root{font-family:Arial,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:#edf1f1;background:#10191f;font-synthesis:none;--gold:#d8c299;--panel:#14252eeb;--line:#526a72}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}button{border:1px solid #72858a;background:var(--panel);border-radius:7px;padding:10px 14px}.complex-home-inner{max-width:960px;margin:auto;padding:32px 28px}.home-overline{font-size:12px;letter-spacing:.2em;color:#adb7bd;margin:0 0 16px}.complex-home-inner h1{font-size:clamp(26px,3.6vw,36px);font-weight:500;letter-spacing:-.035em;margin:0;line-height:1.3}.complex-home-inner h1 em{font-style:normal;color:var(--gold);display:inline-block}.home-lead{margin:14px 0 25px;color:#afb9bf;font-size:16px}.home-section{border:1px solid var(--line);border-radius:12px;background:#14252e;margin-bottom:18px;overflow:hidden}.home-section>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:80px;padding:18px 20px}.home-section>summary::-webkit-details-marker{display:none}.home-section>summary strong{display:block;font-size:18px;font-weight:600}.home-section>summary small{display:block;margin-top:6px;font-size:13px;color:#b2c4ca}.home-section[open]>summary{border-bottom:1px solid #ffffff20}.fold-action{font-size:13px;color:var(--gold);white-space:nowrap}.fold-action b{display:inline-block;margin-left:8px}.home-section[open] .fold-action b{transform:rotate(180deg)}.home-section-body{padding:20px}.complex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.complex-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:21px 17px;border:1px solid #769096;border-radius:9px;background:#20343f;transition:background .2s,transform .2s}.complex-card:hover{background:#2a4755;transform:translateY(-2px)}.complex-number{font-family:Georgia,serif;font-size:38px;line-height:1;color:#edf1f1}.complex-number small{font:13px Arial,sans-serif;margin-left:8px;color:#bdcbd0}.complex-card strong{font-size:14px;font-weight:500;margin-top:2px}.complex-state{font-size:13px;color:var(--gold);display:flex;justify-content:space-between}.complex-note{font-size:11px;color:#b8c6cb;border-top:1px solid #ffffff15;padding-top:10px}.background-section{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 22px;border:1px solid #36454d;border-radius:12px;background:#151f26}.background-section h2{font-size:15px;font-weight:500;margin:0 0 7px}.background-section p{font-size:12px;color:#9baab2;margin:0}.background-options{display:flex;gap:7px}.background-options button{font-size:13px;padding:10px 14px;color:#b8c2c7;background:#1a2831;border-color:#42535c}.background-options small{display:block;font-size:10px;margin-top:5px}.home-notice{font-size:13px;line-height:1.85;color:#a6b3b9;margin:25px 0}.site-info-links{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #394c55;padding-top:16px}.site-info-links button{border:0;background:none;padding:8px 0;color:var(--gold);font-size:13px}.site-info-links span{font-size:10px;letter-spacing:.12em;color:#7e929b}.route-note{font-size:13px;color:var(--gold)}
#workspace{position:relative;width:100%;height:100dvh;min-height:460px;overflow:hidden;background:#e6edf2}#map{display:block;width:100%;height:100%;touch-action:none;outline:none}.topbar{position:absolute;top:26px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.topbar>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:14px;color:#263e4a;text-shadow:0 1px 10px #fff}.wordmark span{font:30px Georgia,serif;letter-spacing:-2px}.wordmark i{height:24px;width:1px;background:#819199}.wordmark b{font-size:13px;font-weight:500;letter-spacing:2px}.top-right{display:flex;align-items:center;gap:14px}.top-right button{font-size:13px}.current-badge{color:#4f6570;font-size:11px;letter-spacing:1px}.complex-nav{position:absolute;top:90px;left:28px;display:flex;gap:8px;align-items:center}.complex-nav a,.complex-nav select{background:var(--panel);border:1px solid #849695;border-radius:7px;padding:10px 13px;color:#eee5d1;font-size:13px;backdrop-filter:blur(15px)}.complex-nav select{max-width:150px}.editorial{position:absolute;top:162px;left:28px;width:224px;color:#2b4654;pointer-events:none;text-shadow:0 1px 12px #ffffff}.eyebrow{font-size:10px;letter-spacing:1.4px;font-weight:500;color:#59717c}.editorial h2{font-size:30px;font-weight:500;letter-spacing:-1px;margin:20px 0}.hairline{height:1px;width:32px;background:#77898e;margin:20px 0}.project-copy{font-size:16px;line-height:1.75;color:#476270}.zone-key{font-size:12px;display:flex;align-items:center;gap:7px;margin-top:24px}.zone-key i{width:13px;height:10px;border:2px solid #c29538}.zone-key small{font-size:10px;color:#70858f}.project-stats{display:grid;grid-template-columns:auto 1fr;gap:11px 14px;margin-top:22px;align-items:center;border-top:1px solid #8da4ad55;padding-top:15px}.project-stats b{font:23px Georgia,serif}.project-stats span{font-size:11px;color:#637b87}.view-settings{position:absolute;right:28px;top:90px;width:220px;border:1px solid #667d82;border-radius:8px;background:var(--panel);padding:12px 14px;z-index:3}.view-settings summary{cursor:pointer;font-size:13px}.view-settings p{font-size:11px;color:#b8c7cc;line-height:1.65;margin:12px 0 0}.layer-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px 8px;padding:18px 0 4px}.layer-controls label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.layer-controls input{accent-color:#d8c299;margin:0}.map-tools{position:absolute;right:28px;top:160px;display:grid;gap:8px}.map-tools button{width:42px;height:42px;padding:0;font-size:23px;background:var(--panel);border-color:#7e9095}.map-tools .compass{height:57px;display:flex;flex-direction:column;align-items:center;justify-content:center}.compass span{font-size:25px;line-height:27px;color:#dcc594}.compass b{font-size:10px}.tool-stack button{display:block;border-radius:0}.tool-stack button:first-child{border-radius:7px 7px 0 0}.tool-stack button:last-child{border-top:0;border-radius:0 0 7px 7px}.bottom-controls{position:absolute;bottom:56px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:10px;min-width:600px}.view-switch{display:flex;justify-content:center;gap:8px}.view-switch button{padding:10px 19px;font-size:13px;background:#14252ddf;border-color:#6c8287}.view-switch button.active{background:#dac6a0;color:#1b303a;border-color:#dac6a0}.control-bar{display:flex;align-items:center;justify-content:center;gap:18px;border:1px solid #7b8f93;border-radius:9px;background:var(--panel);padding:12px 20px;backdrop-filter:blur(12px)}.control-bar>span{color:#9fb1b8;letter-spacing:1px;font-size:10px}.control-bar b{font-size:13px;font-weight:500;color:#e4d1ad}.control-bar i{height:20px;width:1px;background:#71808788}.control-bar button{padding:6px 10px;font-size:12px;background:transparent;border-color:#64747b}.map-caption{position:absolute;bottom:172px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;color:#415f6e;white-space:nowrap;text-shadow:0 1px 8px #fff}.map-caption>span:first-child{font-size:12px;display:block}.desktop-hint,.mobile-hint{font-size:10px;margin-top:6px;color:#647c88;display:block}.mobile-hint{display:none}footer{position:absolute;bottom:15px;left:28px;right:28px;display:flex;align-items:center;gap:12px;font-size:10px;color:#516d7a}footer button{border:0;background:none;color:inherit;padding:0;font-size:10px}footer a{text-decoration:underline;text-underline-offset:3px}.scale{margin-left:auto;text-align:center;font-size:9px;color:#56727f}#scale-line{width:100px;height:5px;border:1px solid #607b88;border-top:0;margin-bottom:3px}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.map-label{position:absolute;left:0;top:0;white-space:nowrap;pointer-events:none;font-size:11px;color:#284653;text-shadow:0 1px 5px white;transform:translate(-200px,-200px)}.map-label.region{font-size:20px;letter-spacing:3px;color:#45677580}.map-label.station{font-size:10px;background:#ffffffc9;padding:4px 7px;border-radius:4px;border:1px solid #ffffffcc}.map-label.station:before{content:'●';font-size:6px;color:#a78c59;margin-right:4px;vertical-align:1px}.map-label.water{font-size:24px;letter-spacing:10px;color:#28688280;text-shadow:none}.map-label.zone{background:#273d48de;color:#e7dec9;border:1px solid #8e9e9d;border-radius:5px;padding:5px 9px;text-shadow:none;font-size:11px}.map-label.zone.selected{background:#dec799;color:#203642;border-color:#f2debb;font-weight:700;font-size:13px}.map-label.landmark{font-size:11px;font-weight:600}.loading,.error-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#14232c;z-index:20;text-align:center;padding:24px}.loader-logo{font:60px Georgia,serif;color:#d8c299}.loader-logo>span{display:none}.loading h2,.error-state h2{font-size:22px;font-weight:500}.loading p,.error-state p{font-size:13px;color:#b0c1c8;line-height:1.8}.loader-track{width:150px;height:2px;background:#536670;overflow:hidden;margin-top:25px}.loader-track:after{content:'';display:block;width:55px;height:2px;background:#d8c299;animation:loading 1.3s infinite ease-in-out}@keyframes loading{from{transform:translateX(-55px)}to{transform:translateX(150px)}}dialog{width:min(570px,calc(100vw - 28px));max-height:85dvh;padding:0;border:1px solid #667d83;border-radius:12px;background:#172a34;color:#e0e6e7;box-shadow:0 24px 100px #08253650}dialog::backdrop{background:#07141da0;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;padding:22px 25px;border-bottom:1px solid #526a7277;position:sticky;top:0;background:#172a34}.dialog-head h2{font-size:22px;font-weight:500;margin:8px 0 0}.dialog-head .eyebrow{color:#b7c7ce}.dialog-head button{font-size:23px;align-self:start;padding:0 8px;border:0}.dialog-body{padding:8px 25px 25px;font-size:14px;line-height:1.8}.dialog-body>p{font-size:14px}dt{margin-top:20px;color:#dfca9f}dd{margin:5px 0 0;color:#b9cbd2;font-size:13px}.data-stats{font-size:12px!important;border:1px solid #576e75;border-radius:6px;padding:12px}.data-stats:empty{display:none}.source-links{display:grid;font-size:12px;gap:8px;text-decoration:underline;color:#d8c299;margin-top:22px}#toast{display:none}
@media(max-width:900px){.bottom-controls{min-width:520px}.editorial{width:185px}.editorial h2{font-size:25px}.current-badge{display:none}}
@media(max-width:700px){.complex-home-inner{padding:23px 16px}.home-overline{font-size:10px;margin-bottom:14px}.home-lead{font-size:14px;margin-bottom:20px}.home-section>summary{padding:15px;min-height:76px}.home-section>summary strong{font-size:17px}.home-section>summary small{font-size:11px}.home-section-body{padding:13px}.fold-action{font-size:11px}.complex-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.complex-card{padding:17px 13px;gap:10px}.complex-number{font-size:32px}.complex-card strong{font-size:13px}.complex-state{font-size:12px}.complex-note{font-size:10px}.background-section{display:block;padding:17px}.background-options{margin-top:16px}.background-options button{flex:1;padding:9px;font-size:12px}.home-notice{font-size:12px}.site-info-links span{font-size:8px}.topbar{top:18px;left:14px;right:14px}.wordmark{gap:9px}.wordmark span{font-size:26px}.wordmark b{font-size:11px;letter-spacing:1px}.top-right button{font-size:11px;padding:9px 10px}.complex-nav{top:73px;left:14px;gap:6px}.complex-nav a,.complex-nav select{font-size:12px;padding:10px}.view-settings{top:123px;right:14px;width:142px;padding:10px 12px}.view-settings summary{font-size:12px}.view-settings[open]{width:205px}.editorial{top:117px;left:14px;width:180px}.editorial .eyebrow,.hairline,.project-copy,.project-stats{display:none}.editorial h2{font-size:19px;margin:12px 0}.zone-key{font-size:10px;margin:10px 0}.zone-key small{font-size:8px}.map-tools{right:14px;top:178px;gap:6px}.map-tools button{width:35px;height:35px;font-size:21px}.map-tools .compass{height:50px}.bottom-controls{min-width:0;width:calc(100% - 28px);bottom:calc(56px + env(safe-area-inset-bottom));gap:8px}.view-switch{gap:6px}.view-switch button{font-size:12px;padding:10px 12px;flex:1}.control-bar{padding:10px 9px;gap:11px}.control-bar b{font-size:12px}.control-bar>span{font-size:8px}.control-bar button{font-size:10px;padding:6px}.map-caption{bottom:calc(166px + env(safe-area-inset-bottom));white-space:normal;width:100%;padding:0 14px}.map-caption>span:first-child{font-size:11px}.desktop-hint{display:none}.mobile-hint{display:block;font-size:9px}footer{left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));gap:8px;font-size:8px}footer button{font-size:8px;max-width:140px}.scale{font-size:8px}.map-label.region{font-size:16px}.map-label.zone{font-size:10px;padding:4px 6px}.map-label.zone.selected{font-size:12px}.dialog-head{padding:20px}.dialog-body{padding:8px 20px 20px}}
@media(max-width:359px){.complex-nav a,.complex-nav select{font-size:11px;padding:9px 8px}.wordmark b{font-size:10px}.view-switch button{padding:10px 8px}.control-bar{gap:7px}.control-bar button{font-size:9px}.site-info-links span{display:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* The plan keeps the same Mokdong-style navigation and quiet map chrome. */
.complex-card.with-plan{border-color:#dac6a0;background:#2b3d45}.complex-card.with-plan .complex-number{color:#e5cea2}.complex-note{font-size:12px}.time-controls{display:flex;justify-content:center;gap:5px}.time-controls button{min-width:66px;padding:8px 15px;font-size:14px;background:#14252de8;border-color:#71868b}.time-controls button.active{background:#dac6a0;color:#20313a;border-color:#dac6a0}.project-copy small{font-size:13px}.map-label.plan{background:#14252edf;color:#f4e4c9;border:1px solid #d9c29b;border-radius:5px;padding:5px 8px;font-size:12px;text-shadow:none}.control-bar #plan-toggle:not(:disabled){color:#eee0c5;border-color:#c5ad85;font-size:14px}body[data-model=plan] .map-caption{bottom:216px}body[data-time=night] .wordmark,body[data-time=night] .editorial,body[data-time=night] .editorial p,body[data-time=night] .editorial small,body[data-time=night] .map-caption,body[data-time=night] .map-caption span,body[data-time=night] footer,body[data-time=night] .current-badge{color:#e4e7e9;text-shadow:none}body[data-time=night] .map-label.region,body[data-time=night] .map-label.landmark{color:#d2dde1;text-shadow:none}body[data-time=night] .map-label.water{color:#9fbacb}body[data-time=night] .project-stats span{color:#b8c8d0}
@media(max-width:700px){body[data-model=plan] .map-caption{bottom:calc(209px + env(safe-area-inset-bottom))}.time-controls button{font-size:14px;padding:7px 14px}.control-bar #plan-toggle:not(:disabled){font-size:13px}.view-switch button{font-size:13px}.complex-note{font-size:12px}.complex-state{font-size:13px}.editorial h2{font-size:19px}.zone-key{flex-wrap:wrap}.zone-key small{font-size:11px}.map-label.plan{font-size:12px;padding:4px 6px}}
/* Shared Mokdong navigation, fitted around the Noryangjin map. */
#direction-pad{position:absolute;left:28px;bottom:88px;display:grid;grid-template-columns:40px 40px 40px;grid-template-rows:40px 40px 40px;gap:4px;touch-action:none;z-index:4}#direction-pad button{padding:0;font-size:22px;user-select:none;touch-action:none}#direction-pad [data-pan=up]{grid-column:2;grid-row:1}#direction-pad [data-pan=left]{grid-column:1;grid-row:2}#direction-pad [data-pan=right]{grid-column:3;grid-row:2}#direction-pad [data-pan=down]{grid-column:2;grid-row:3}#pad-hint{grid-column:2;grid-row:2;font-size:9px;text-align:center;align-self:center;color:#324e5a;text-shadow:0 1px 4px white;white-space:nowrap}#direction-pad button.is-held{background:var(--gold);color:#172b35}.camera-actions{position:absolute;right:28px;bottom:88px;display:flex;align-items:end;flex-direction:column;gap:8px;z-index:4}.camera-actions button{font-size:13px}.camera-actions span{background:#14252deb;border:1px solid #73878e;border-radius:5px;padding:8px;font-size:11px}.map-caption,body[data-model=plan] .map-caption{bottom:218px}.bottom-controls{min-width:450px}.control-bar{padding:8px 14px}.control-bar>span,.control-bar i{display:none}.map-tools{z-index:3}#toast.show{display:block;position:fixed;left:50%;top:46%;transform:translateX(-50%);max-width:85vw;background:#152c39f5;border:1px solid #baa67f;border-radius:8px;padding:13px 18px;font-size:13px;color:#f5ead5;z-index:45;text-align:center}
#indoor-panel{position:absolute;left:28px;bottom:64px;width:min(440px,calc(100% - 56px));padding:16px;border:1px solid #738b94;border-radius:10px;background:#142934f5;z-index:8;color:#edf0ed}.indoor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.indoor-heading h2{font-size:17px;margin:0}.indoor-heading small{font-size:11px;color:var(--gold);font-weight:400}.indoor-heading button{font-size:12px;padding:7px 10px}.indoor-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-top:14px}.indoor-grid label{display:grid;gap:5px;font-size:11px;color:#bcccd2}.indoor-grid select{min-width:0;width:100%;padding:8px 4px;border:1px solid #778d96;border-radius:5px;background:#223d49;color:#edf0ed;font-size:12px}#indoor-panel p{font-size:12px;line-height:1.5;margin:9px 0}.indoor-note{color:#b8cbd1;font-size:11px!important}.indoor-buttons{display:flex;gap:6px}.indoor-buttons button{flex:1;font-size:12px;padding:8px}body[data-camera=inside] .bottom-controls,body[data-camera=inside] .map-caption,body[data-camera=inside] .editorial,body[data-camera=walk] .editorial,body[data-camera=walk] .map-caption{display:none}body[data-camera=inside] .camera-actions{display:none}body[data-camera=inside] .time-controls{display:flex}body[data-camera=walk] .view-switch,body[data-camera=walk] .control-bar{display:none}body[data-camera=walk] .bottom-controls{bottom:64px}body[data-time=night] #pad-hint{color:#ebdec5;text-shadow:none}
@media(max-width:1100px) and (min-width:701px){#direction-pad{left:18px;bottom:250px}.camera-actions{bottom:250px}}
@media(max-width:700px){.topbar{top:12px}.complex-nav{top:61px}.editorial{top:104px}.editorial h2{font-size:17px;margin:8px 0}.zone-key{display:none}.view-settings{top:108px;padding:8px 10px;width:122px}.map-tools{top:161px;right:12px}.map-tools button{width:34px;height:34px}.map-tools #fullscreen{display:none}.bottom-controls{width:calc(100% - 24px);min-width:0;bottom:calc(34px + env(safe-area-inset-bottom));gap:5px}.time-controls button{font-size:12px;padding:6px 12px;min-width:58px}.view-switch button{font-size:11px;padding:9px 5px}.control-bar{padding:5px 8px;gap:9px;justify-content:space-between}.control-bar b{font-size:11px}.control-bar #plan-toggle:not(:disabled){font-size:11px;padding:5px 8px}.map-caption,body[data-model=plan] .map-caption{bottom:calc(165px + env(safe-area-inset-bottom));padding:0 78px}.map-caption>span:first-child{display:none}.mobile-hint{font-size:9px;line-height:1.4}#direction-pad{left:12px;bottom:calc(193px + env(safe-area-inset-bottom));grid-template-columns:33px 33px 33px;grid-template-rows:33px 33px 33px;gap:3px}#direction-pad button{font-size:19px}.camera-actions{right:12px;bottom:calc(194px + env(safe-area-inset-bottom));gap:5px}.camera-actions button{font-size:11px;padding:9px}.camera-actions span{max-width:150px;font-size:10px}.scale{display:none}footer{bottom:calc(8px + env(safe-area-inset-bottom));font-size:7px}footer button{font-size:7px;margin-right:auto}.map-label.zone:not(.selected){font-size:9px;opacity:.75}.map-label.station{font-size:9px}.map-label.zone.selected{font-size:10px}#indoor-panel{left:12px;bottom:calc(36px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:12px;max-height:44dvh;overflow:auto}.indoor-grid{margin-top:10px}.indoor-heading h2{font-size:16px}body[data-camera=walk] .bottom-controls{bottom:calc(42px + env(safe-area-inset-bottom))}body[data-camera=walk] #direction-pad,body[data-camera=walk] .camera-actions{bottom:calc(105px + env(safe-area-inset-bottom))}}
@media(max-height:580px){.editorial,.map-caption{display:none}.bottom-controls{bottom:24px}.map-tools{top:130px}.camera-actions{bottom:155px}#direction-pad{bottom:145px}#indoor-panel{bottom:25px;max-height:55vh;overflow:auto}.view-settings{top:72px}.complex-nav{top:64px}}
body[data-camera=inside] .bottom-controls{display:flex;left:auto;right:28px;transform:none;min-width:0;width:auto;bottom:88px}body[data-camera=inside] .view-switch,body[data-camera=inside] .control-bar{display:none}
@media(max-width:700px){body[data-camera=inside] .bottom-controls{top:155px;bottom:auto;right:57px}body[data-camera=inside] .time-controls button{padding:7px 9px;min-width:45px}}
