- B06_Section_Router.py(824) → Router_Design.py(139) 분리 - Cross_View → Cross_View_Metrics.ts(75) 분리 - Cross_Design → Cross_Design_Surface.ts(54) 분리 - Section_View → Section_View_Panel.ts(53) 분리 - Page → Page_Common.ts(15) 분리 - Style_Cross.css → Style_Cross_Controls.css(174) 분리 - B06_Section/ 전체 700줄 초과 0건 검증: tsc --noEmit 통과 · ruff check 통과(import 정렬·포맷 적용) · prettier 적용 · pytest tmp/tests/ 148 passed, 7 skipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
175 lines
3.7 KiB
CSS
175 lines
3.7 KiB
CSS
/* 구조물 위치 조정 오버레이 창. */
|
|
.b06-structure-panel {
|
|
position: absolute;
|
|
bottom: var(--spacing-8);
|
|
left: var(--spacing-8);
|
|
z-index: 3;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
padding: var(--spacing-8);
|
|
border: 1px solid var(--color-danger);
|
|
border-radius: var(--radius-inputs);
|
|
background: color-mix(in srgb, var(--color-surface-raised) 94%, transparent);
|
|
}
|
|
|
|
.b06-structure-panel.is-hidden,
|
|
.b06-structure-panel__value span.is-hidden,
|
|
.b06-structure-panel__btn.is-hidden,
|
|
.b06-structure-panel__buttons.is-hidden,
|
|
.b06-structure-panel__struct.is-hidden {
|
|
display: none;
|
|
}
|
|
|
|
.b06-structure-panel__head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--spacing-8);
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.b06-structure-panel__title {
|
|
color: var(--color-danger);
|
|
font-size: var(--text-caption);
|
|
font-weight: var(--font-weight-medium);
|
|
}
|
|
|
|
.b06-structure-panel__value {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1px;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.b06-structure-panel__controls.b06-structure-panel__buttons {
|
|
display: grid;
|
|
grid-template-areas: ". up ." "left reset right" ". down equal";
|
|
justify-content: center;
|
|
gap: 2px;
|
|
}
|
|
|
|
.b06-structure-panel__btn--up {
|
|
grid-area: up;
|
|
}
|
|
.b06-structure-panel__btn--down {
|
|
grid-area: down;
|
|
}
|
|
.b06-structure-panel__btn--left {
|
|
grid-area: left;
|
|
}
|
|
.b06-structure-panel__btn--right {
|
|
grid-area: right;
|
|
}
|
|
.b06-structure-panel__btn--reset {
|
|
grid-area: reset;
|
|
}
|
|
.b06-structure-panel__btn--equal {
|
|
grid-area: equal;
|
|
}
|
|
|
|
.b06-structure-panel__controls .b06-structure-panel__btn {
|
|
box-sizing: border-box;
|
|
width: 26px;
|
|
height: 22px;
|
|
padding: 0;
|
|
text-align: center;
|
|
line-height: 1;
|
|
}
|
|
|
|
.b06-structure-panel__hval {
|
|
box-sizing: border-box;
|
|
width: 3.5em;
|
|
text-align: center;
|
|
color: var(--color-text-body);
|
|
font-size: var(--text-caption);
|
|
align-self: center;
|
|
}
|
|
|
|
.b06-structure-panel__struct {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 2px;
|
|
color: var(--color-text-secondary);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.b06-structure-panel__label {
|
|
color: var(--color-text-muted);
|
|
font-size: var(--text-caption);
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.b06-structure-panel__controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
}
|
|
|
|
.b06-structure-panel__select {
|
|
flex: 1;
|
|
padding: 1px var(--spacing-4);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-inputs);
|
|
background: var(--color-surface);
|
|
color: var(--color-text);
|
|
font-size: var(--text-caption);
|
|
}
|
|
|
|
.b06-structure-panel__btn {
|
|
padding: 0 var(--spacing-8);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-inputs);
|
|
background: var(--color-surface);
|
|
color: var(--color-text-secondary);
|
|
cursor: pointer;
|
|
font-size: var(--text-caption);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.b06-structure-panel__btn:hover {
|
|
border-color: var(--color-danger);
|
|
color: var(--color-danger);
|
|
}
|
|
|
|
.b06-structure-panel__close {
|
|
padding: 0 4px;
|
|
border-color: transparent;
|
|
background: transparent;
|
|
}
|
|
|
|
.b06-cross-card__zoom {
|
|
position: absolute;
|
|
top: var(--spacing-4);
|
|
right: var(--spacing-4);
|
|
z-index: 2;
|
|
display: flex;
|
|
overflow: hidden;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-inputs);
|
|
background: color-mix(in srgb, var(--color-surface-raised) 88%, transparent);
|
|
}
|
|
|
|
.b06-cross-card__zoom-btn {
|
|
width: 22px;
|
|
height: 22px;
|
|
padding: 0;
|
|
border: none;
|
|
border-left: 1px solid var(--color-border);
|
|
background: none;
|
|
color: var(--color-text-secondary);
|
|
font-size: 0.8rem;
|
|
line-height: 1;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.b06-cross-card__zoom-btn:first-child {
|
|
border-left: none;
|
|
}
|
|
|
|
.b06-cross-card__zoom-btn:hover {
|
|
color: var(--color-text);
|
|
background: var(--color-surface);
|
|
}
|