198 lines
4.0 KiB
CSS
198 lines
4.0 KiB
CSS
/* D03 예정노선 2단계 노선분석(PLAN 530-3 · 563-1) — 평면이 본문을 채움 · 위에 도구줄 · 좌측 지형 · 그리기 · 구역 · 연도. */
|
|
|
|
.d03-plan-layout .ui-workflow-layout__main {
|
|
height: calc(100dvh - var(--app-header-h));
|
|
overflow: hidden;
|
|
}
|
|
|
|
.d03-plan {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100%;
|
|
min-height: 0;
|
|
}
|
|
|
|
.d03-plan__map {
|
|
position: relative;
|
|
flex: 1 1 auto;
|
|
min-height: 0;
|
|
overflow: hidden;
|
|
background: #1f2937;
|
|
}
|
|
|
|
.d03-plan__map canvas {
|
|
display: block;
|
|
touch-action: none;
|
|
}
|
|
|
|
/* 582 바탕 캔버스 — 위 캔버스 밑에 겹침 · 누름은 위가 받음 */
|
|
.d03-plan__map .d03-plan__base {
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* 586-1 GL 바탕 시험 — 바탕 캔버스 밑 MapLibre · 누름은 위 캔버스가 받음 */
|
|
.d03-plan__map .d03-plan__gl {
|
|
position: absolute;
|
|
inset: 0;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.d03-plan__map canvas:not(.d03-plan__base) {
|
|
position: relative;
|
|
}
|
|
|
|
/* 571-1 — 왼쪽은 겹 단추줄(폭 = JS `--d03-layers-w`) 오른쪽까지 · 모자라면 도구줄이 가로 밀림 · 오른쪽 붙임 그대로 */
|
|
.d03-plan__tools {
|
|
position: absolute;
|
|
top: var(--spacing-8);
|
|
right: var(--spacing-8);
|
|
left: calc(2 * var(--spacing-8) + var(--d03-layers-w, 222px));
|
|
align-items: flex-end;
|
|
}
|
|
|
|
/* 569-2 · 581-1 바탕 겹 단추 — 왼쪽 위 · 지도 반 넘으면 가로 밀림 · 범례 — 왼쪽 아래(켠 겹마다 한 줄) */
|
|
.d03-plan__layers {
|
|
position: absolute;
|
|
top: var(--spacing-8);
|
|
left: var(--spacing-8);
|
|
max-width: calc(55% - var(--spacing-8));
|
|
}
|
|
|
|
.d03-plan__legend {
|
|
position: absolute;
|
|
bottom: var(--spacing-8);
|
|
left: var(--spacing-8);
|
|
padding: var(--spacing-4) var(--spacing-8);
|
|
border-radius: var(--radius-lg);
|
|
background: var(--color-surface);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
max-width: calc(100% - 2 * var(--spacing-8));
|
|
}
|
|
|
|
.d03-plan__legend[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.d03-plan__hint {
|
|
margin: 0 0 6px;
|
|
}
|
|
|
|
.d03-plan__row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-8);
|
|
align-items: flex-end;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.d03-plan__row > .ui-field {
|
|
flex: 1 1 6rem;
|
|
margin: 0;
|
|
}
|
|
|
|
.d03-plan__draw {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
}
|
|
|
|
.d03-plan__pieces {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.d03-plan__piece-head {
|
|
margin: 6px 0 0;
|
|
font-weight: 600;
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.d03-plan__piece {
|
|
display: flex;
|
|
gap: var(--spacing-8);
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.d03-plan__piece > .ui-text {
|
|
margin: 0;
|
|
}
|
|
|
|
.d03-plan__piece > .ui-field {
|
|
flex: 0 0 6.5rem;
|
|
margin: 0;
|
|
}
|
|
|
|
/* 지형 받기 범위 미리보기 — 카카오 지도 */
|
|
.d03-plan__extent > .ui-text {
|
|
margin: 0 0 6px;
|
|
}
|
|
|
|
/* 3D 큰 모달 — 3D 화면이 모달 몸을 꽉 채움 · 몸 스크롤 없음 */
|
|
.ui-modal--wide > .ui-modal__body.d03-plan__3d-body {
|
|
overflow: hidden;
|
|
}
|
|
|
|
.d03-plan__3d-body > .b05-route__viewport {
|
|
flex: 1 1 auto;
|
|
min-height: 0;
|
|
border-radius: var(--radius-lg);
|
|
}
|
|
|
|
.d03-plan__3d-top {
|
|
display: flex;
|
|
gap: var(--spacing-8);
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
/* 580-3 고른 선 · 조각 줄 밝힘 */
|
|
.d03-plan__piece.is-selected {
|
|
background: var(--color-accent-soft);
|
|
border-radius: var(--radius-md);
|
|
}
|
|
|
|
/* 585-2 고른 구간 속성 판 — 도구줄 아래 오른쪽 · 몸 스크롤 · 구간 줄 = 고스트 단추 */
|
|
.d03-plan__props {
|
|
top: calc(var(--spacing-8) * 6);
|
|
right: var(--spacing-8);
|
|
width: 300px;
|
|
max-height: calc(100% - var(--spacing-8) * 8);
|
|
}
|
|
|
|
.d03-plan__props[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.d03-plan__props .ui-float-panel__body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
padding: var(--spacing-8);
|
|
overflow: auto;
|
|
}
|
|
|
|
.d03-plan__props-rows {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
}
|
|
|
|
.d03-plan__props-rows > .ui-btn {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.d03-plan__piece[role="button"] {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.d03-plan__piece-year {
|
|
font-weight: 600;
|
|
}
|