Files
Aislo/B08_Quantity/B08_Quantity_UI_Hydro.css
T
eomsangdonandClaude Opus 5.5 5f056ec661 feat(b08): 4탭 홍수량 계산서 — 배수지점 측점 보조 탭 · 견본 모양 한 장 · 서버 계산(PLAN 62-2 · 62-3)
- 측점 보조 탭 = 저장된 pipe_points 측점만 읽음 · 입력은 이 탭 자기 기본값(B05/B06 · 배수유역 값과 안 이음)
- 1-1 합리식(Qd = Q × 할증) · 1-2 Kirpich 도달시간(최소 5분) · 1-3 rt = (R24/24)·(24/T)^0.557
- 2 단면검토 — 관 단면 그림 · 단면적 · 윤변 · 경심 · 경사 · n · Manning 유속 · Q = A·V · OK/NG 점선 상자 · 유출율
- 선택지(할증 2.0/1.5/1.2 · 만관/240°/유효 70 % · 관 종류별 n) · 기본값 한 파일(B08_Quantity_Hydro_Defaults.py)
- 계산 = 서버 단독(B08_Quantity_Engine_Hydro · /quantity/hydro · /quantity/hydro/calc · 최신 응답만) · 입력은 캐시만 · 어떤 파일에도 안 씀
- 흰 종이 계산서(입력 빨강 · 계산 파랑 · 주요 입력 노랑) · 쪽 표시 · 시험 test_62_2_b08_hydro_engine.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UoSr2sqvYtBf1dtQdus88s
2026-10-06 18:15:29 +09:00

249 lines
4.1 KiB
CSS

/* B08 4탭 홍수량 계산서(PLAN 62-2) — 인쇄 같은 흰 종이. 종이 안 색은 테마와 상관없이 고정
(어두움 테마에서도 같은 종이로 읽힘): 입력 빨강 · 계산 파랑 · 주요 입력 노랑 바탕. */
.b08-hydro__tabs {
display: flex;
flex-wrap: wrap;
gap: var(--spacing-4, 4px);
margin-bottom: var(--spacing-12, 12px);
}
.b08-hydro__paper {
--paper: #ffffff;
--ink: #111111;
--input: #d40000;
--calc: #0033cc;
--key: #ffff00;
--ha: #f8cbad;
--rule: #9aa0a6;
/* 오른쪽 「진행단계」 떠 있는 판에 안 가리게 */
max-width: 1000px;
padding: 20px 24px 12px;
background: var(--paper);
color: var(--ink);
border: 1px solid var(--rule);
box-shadow: 0 2px 10px rgb(0 0 0 / 25%);
font-family: "Malgun Gothic", "Noto Sans KR", sans-serif;
font-size: 14px;
}
.b08-hydro__body {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: 24px;
}
@media (max-width: 960px) {
.b08-hydro__body {
grid-template-columns: minmax(0, 1fr);
}
}
.b08-hydro__h1 {
margin: 0 0 8px;
font-size: 19px;
font-weight: 700;
color: var(--ink);
}
.b08-hydro__h2 {
margin: 16px 0 6px;
font-size: 14px;
font-weight: 700;
color: var(--ink);
}
.b08-hydro__station mark {
padding: 0 10px;
background: var(--key);
color: var(--ink);
font-weight: 700;
}
.b08-hydro__note {
margin: 4px 0 4px 16px;
color: var(--ink);
}
.b08-hydro__formula {
margin: 6px 0 6px 16px;
font-family: "Cambria Math", "Times New Roman", serif;
font-size: 15px;
color: var(--ink);
}
.b08-hydro__row {
display: grid;
grid-template-columns: minmax(0, 1fr) 96px 110px;
align-items: center;
gap: 8px;
min-height: 26px;
padding-left: 16px;
}
.b08-hydro__row--f {
grid-template-columns: max-content minmax(0, 1fr) 96px;
padding-left: 0;
}
.b08-hydro__hint {
color: #666666;
font-size: 12px;
}
.b08-hydro__row.is-key .b08-hydro__label,
.b08-hydro__row.is-key .b08-hydro__in {
background: var(--key);
}
.b08-hydro__label {
margin: 0;
color: var(--ink);
}
.b08-hydro__out,
.b08-hydro__in {
box-sizing: border-box;
width: 96px;
padding: 2px 6px;
border: 1px solid #3355cc;
background: var(--paper);
text-align: right;
font: inherit;
}
.b08-hydro__out {
color: var(--calc);
}
.b08-hydro__in {
color: var(--input);
}
.b08-hydro__in--text {
text-align: center;
}
.b08-hydro__select {
width: auto;
text-align: left;
color: var(--input);
}
.b08-hydro__row .b08-hydro__formula {
margin: 0;
font-size: 13px;
}
.b08-hydro__ha {
width: auto;
border: none;
background: var(--ha);
}
.b08-hydro__tcnote {
width: auto;
border: none;
font-size: 12px;
}
.b08-hydro__place {
display: grid;
grid-template-columns: 96px 96px;
margin: 6px 0 0 16px;
border: 1px solid var(--ink);
width: max-content;
}
.b08-hydro__place-head {
padding: 2px 6px;
text-align: center;
border-bottom: 1px solid var(--ink);
}
.b08-hydro__place .b08-hydro__in {
border: none;
color: var(--calc);
}
.b08-hydro__box {
padding: 12px 18px;
border: 2px solid var(--ink);
}
.b08-hydro__kind {
margin-bottom: 10px;
font-weight: 700;
}
.b08-hydro__row--wide {
padding-left: 0;
font-weight: 700;
}
.b08-hydro__figure {
display: grid;
grid-template-columns: minmax(0, 1fr);
justify-items: center;
gap: 4px;
}
.b08-hydro__dims {
justify-self: stretch;
}
.b08-hydro__dims .b08-hydro__row {
padding-left: 0;
}
.b08-hydro__pipe {
width: 170px;
height: 145px;
}
.b08-hydro__pipe text {
font-size: 12px;
fill: var(--ink);
}
.b08-hydro__water {
fill: #cfe3ff;
}
.b08-hydro__wall {
fill: none;
stroke: var(--ink);
stroke-width: 2;
}
.b08-hydro__line {
fill: none;
stroke: var(--ink);
stroke-width: 1;
}
.b08-hydro__verdict {
width: max-content;
margin: 12px auto;
padding: 6px 40px;
border: 2px dashed var(--ink);
color: var(--input);
font-weight: 700;
}
.b08-hydro__verdict.is-ng {
background: #ffe0e0;
}
.b08-hydro__status {
margin: 8px 0 0;
color: var(--input);
}
.b08-hydro__page {
margin-top: 8px;
text-align: center;
color: #666666;
font-size: 12px;
}