chore(rebar): Pier_T_rebar 작업 폴더 초기 구성 및 외부 의존 파일 통합

- Code\rebar_pipeline, review_pipeline, pier-program을 정션에서 실제 폴더로 전환
- Code\rhino_mcp 및 CLAUDE_rhino배경.md 추가, .mcp.json은 PYTHONPATH로 새 위치 사용
- pier-program 내부 .git 제거(이력은 backup\pier-program_20261028.bundle에 보관)
- worktree 가이드 반영(CLAUDE.local.md, HANDOFF.md)
- D:\Rhino-MCP 경로 참조를 새 위치로 치환

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ahnyongjooandClaude Sonnet 5.5 committed 2026-10-28 11:20:18 +09:00
commit 964a841de1
3978 files changed
+58013356

No files matched your search

@@ -0,0 +1,69 @@
/* Prism for the whole web app (stage D, 2026-10-19): app shell + the plain HTML elements of the older screens, written with the tokens of
prism.css (generated from the design mockup). The stage-B/C screens use the scoped .prism components on top of this. Decisions UX1-UX6:
Prism replaces R8, status colours are Prism's with marks and words (never colour alone), Pretendard is bundled, no dark theme test. */
html { background: var(--prism-bg-canvas); }
body { margin: 0; background: var(--prism-bg-canvas); color: var(--prism-text-body); font-family: var(--prism-font); font-size: var(--prism-type-body-sm);
line-height: var(--prism-lh-body); font-variant-numeric: tabular-nums; }
* { box-sizing: border-box; }
a { color: var(--prism-text-heading); }
:focus-visible { outline: var(--prism-focus-ring) solid var(--prism-comp-line-strong); outline-offset: var(--prism-focus-offset); }
/* shell */
header.top { height: var(--prism-comp-header-height); background: var(--prism-bg-card); border-bottom: var(--prism-stroke-hairline) solid var(--prism-comp-line);
display: flex; align-items: center; gap: var(--prism-space-300); padding: 0 var(--prism-space-300); position: sticky; top: 0; z-index: var(--prism-z-sticky); }
header.top .brand { display: flex; align-items: center; gap: var(--prism-space-100); font-weight: 700; font-size: var(--prism-type-body-lg); color: var(--prism-text-heading);
text-decoration: none; letter-spacing: -0.01em; }
header.top .brand i { width: 0.7rem; height: 0.7rem; background: var(--prism-text-accent); transform: rotate(45deg); display: block; }
header.top nav { display: flex; align-items: center; gap: var(--prism-space-050); flex-wrap: wrap; }
header.top nav a { display: inline-flex; align-items: center; min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-150); border-radius: var(--prism-radius-sm);
text-decoration: none; font-weight: 500; color: var(--prism-text-body); }
header.top nav a.pier { font-weight: 700; color: var(--prism-text-heading); }
header.top nav a:hover { background: var(--prism-bg-canvas); }
header.top .sep { color: var(--prism-text-subtle); }
main.page { max-width: 80rem; margin: 0 auto; padding: var(--prism-space-300) var(--prism-space-300) var(--prism-space-600); }
main.page > h1, main.page h1 { font-size: var(--prism-type-title); line-height: var(--prism-lh-title); color: var(--prism-text-heading); font-weight: 700; margin: var(--prism-space-100) 0 var(--prism-space-200); }
main.page h2 { font-size: var(--prism-type-title-sm); line-height: var(--prism-lh-title); font-weight: 500; color: var(--prism-text-heading); margin: var(--prism-space-400) 0 var(--prism-space-150); }
main.page h3 { font-size: var(--prism-type-body-lg); font-weight: 700; color: var(--prism-text-heading); margin: var(--prism-space-300) 0 var(--prism-space-100); }
main.page p { max-width: 62rem; margin: var(--prism-space-100) 0; }
.muted { color: var(--prism-text-subtle); }
/* status words of the older screens (always words, never colour alone) */
main.page .ok, main.page .warn, main.page .fail { font-weight: 700; }
main.page .ok { color: var(--prism-comp-state-good-fg); }
main.page .warn { color: var(--prism-comp-state-warn-fg); }
main.page .fail { color: var(--prism-comp-state-bad-fg); }
.flash { border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); padding: var(--prism-space-150) var(--prism-space-200);
margin: var(--prism-space-150) 0; background: var(--prism-bg-card); font-weight: 500; }
.flash.ok { border-color: var(--prism-comp-state-good-fg); background: var(--prism-comp-state-good-bg); color: var(--prism-comp-state-good-fg); }
.flash.fail { border-color: var(--prism-comp-state-bad-fg); background: var(--prism-comp-state-bad-bg); color: var(--prism-comp-state-bad-fg); border-width: var(--prism-stroke-bold); }
.flash.warn { border-color: var(--prism-comp-state-warn-fg); background: var(--prism-comp-state-warn-bg); color: var(--prism-comp-state-warn-fg); }
/* tables of the older screens */
main.page table { border-collapse: collapse; margin: var(--prism-space-100) 0; background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line);
border-radius: var(--prism-radius-sm); font-size: var(--prism-type-body-sm); }
main.page th, main.page td { padding: var(--prism-space-100) var(--prism-space-150); border-bottom: var(--prism-stroke-hairline) solid var(--prism-comp-line);
text-align: left; vertical-align: top; }
main.page th { background: var(--prism-comp-table-head-bg); font-weight: 700; white-space: nowrap; border-bottom: var(--prism-stroke-regular) solid var(--prism-comp-line); }
main.page .wrap { overflow-x: auto; max-width: 100%; }
main.page details { margin: var(--prism-space-100) 0; }
main.page summary { cursor: pointer; min-height: var(--prism-comp-hit-min); display: flex; align-items: center; font-weight: 500; }
main.page code { font-family: var(--prism-font); font-size: var(--prism-type-caption); background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line);
border-radius: var(--prism-radius-sm); padding: 0 var(--prism-space-050); }
main.page pre { background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); padding: var(--prism-space-150);
white-space: pre-wrap; font-size: var(--prism-type-caption); }
/* buttons and fields of the older screens (the .prism blocks keep their own .btn / .field) */
main.page button:not(.btn) { min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-200); border-radius: var(--prism-radius-sm); font: inherit; font-weight: 500;
cursor: pointer; border: var(--prism-stroke-regular) solid var(--prism-text-heading); background: var(--prism-bg-card); color: var(--prism-text-heading); }
main.page button:not(.btn):disabled { border-style: dashed; color: var(--prism-text-subtle); border-color: var(--prism-comp-line); cursor: not-allowed; }
main.page input[type=text], main.page input[type=file], main.page select { min-height: var(--prism-comp-hit-min); padding: var(--prism-space-100) var(--prism-space-150); font: inherit;
color: var(--prism-text-body); background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); }
main.page input[type=checkbox] { width: 1.25rem; height: 1.25rem; accent-color: var(--prism-text-heading); }
main.page textarea { width: 100%; height: 30rem; font-family: ui-monospace, Consolas, monospace; font-size: var(--prism-type-caption); line-height: 1.6; padding: var(--prism-space-150);
background: var(--prism-bg-card); color: var(--prism-text-body); border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); }
main.page form { margin: var(--prism-space-100) 0; }
main.page ul { padding-left: var(--prism-space-300); }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
@media (max-width: 48rem) { header.top { height: auto; flex-wrap: wrap; padding: var(--prism-space-100) var(--prism-space-200); } main.page { padding: var(--prism-space-200); } }
.skip:focus { left: var(--prism-space-200) !important; top: var(--prism-space-100); z-index: var(--prism-z-modal); background: var(--prism-bg-card); padding: var(--prism-space-100) var(--prism-space-200);
border: var(--prism-stroke-regular) solid var(--prism-comp-line-strong); border-radius: var(--prism-radius-sm); }
@@ -0,0 +1,136 @@
/* generated by tools/make_prism_css.py from DOC/01_기획/웹앱디자인시안/시안/pier.css — do not edit by hand */
@font-face { font-family: "Pretendard"; src: url("fonts/PretendardVariable.woff2") format("woff2-variations"); font-weight: 45 920; font-display: swap; }
/* PierProof — Prism app profile tokens (design.md 3.2 / 3.3) and components. Literals live only in :root. */
:root {
--prism-bg-canvas: #F4F3F0; --prism-bg-card: #FFFFFF;
--prism-text-body: #474235; --prism-text-heading: #1F524B; --prism-text-subtle: #474235; --prism-text-accent: #D05C26;
--prism-border-default: #474235; --prism-border-strong: #1F524B;
--prism-status-do: #005A4E; --prism-status-do-bg: #DCEAE6;
--prism-status-dont: #8F2A11; --prism-status-dont-bg: #F6DFDA;
--prism-status-caution: #6B4A00; --prism-status-caution-bg: #F5E7CC;
--prism-status-tip: #0A4E86; --prism-status-tip-bg: #DDE8F3;
--prism-space-025: 0.125rem; --prism-space-050: 0.25rem; --prism-space-100: 0.5rem; --prism-space-150: 0.75rem;
--prism-space-200: 1rem; --prism-space-300: 1.5rem; --prism-space-400: 2rem; --prism-space-600: 3rem; --prism-space-800: 4rem;
--prism-type-caption: 0.8125rem; --prism-lh-caption: 1.55; --prism-type-body-sm: 0.875rem; --prism-lh-body: 1.7;
--prism-type-body: 1rem; --prism-type-body-lg: 1.125rem; --prism-type-title-sm: 1.25rem; --prism-lh-title: 1.5;
--prism-type-title: 1.625rem; --prism-type-title-lg: 2rem;
--prism-radius-sm: 4px; --prism-radius-md: 8px; --prism-radius-lg: 12px; --prism-radius-pill: 9999px;
--prism-stroke-hairline: 1px; --prism-stroke-regular: 2px; --prism-stroke-bold: 3px;
--prism-z-raised: 100; --prism-z-sticky: 200; --prism-z-scrim: 400; --prism-z-modal: 500;
--prism-scrim: rgba(0, 0, 0, 0.32);
--prism-motion-fast: 100ms; --prism-ease-standard: cubic-bezier(0.2, 0, 0, 1);
--prism-focus-ring: 3px; --prism-focus-offset: 2px; --prism-measure-max: 38em;
--prism-font: Pretendard, -apple-system, BlinkMacSystemFont, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
--prism-comp-line: var(--prism-border-default); --prism-comp-line-strong: var(--prism-border-strong);
--prism-comp-state-good-fg: var(--prism-status-do); --prism-comp-state-good-bg: var(--prism-status-do-bg);
--prism-comp-state-bad-fg: var(--prism-status-dont); --prism-comp-state-bad-bg: var(--prism-status-dont-bg);
--prism-comp-state-warn-fg: var(--prism-status-caution); --prism-comp-state-warn-bg: var(--prism-status-caution-bg);
--prism-comp-state-info-fg: var(--prism-status-tip); --prism-comp-state-info-bg: var(--prism-status-tip-bg);
--prism-comp-rail-width: 15rem; --prism-comp-header-height: 3.5rem; --prism-comp-hit-min: 2.75rem;
--prism-comp-table-head-bg: var(--prism-bg-canvas);
--prism-comp-on-emphasis: var(--prism-bg-card);
}
:root[data-theme="dark"] {
--prism-bg-canvas: #111111; --prism-bg-card: #111111; --prism-text-body: #F4F3F0; --prism-text-heading: #F4F3F0;
--prism-text-subtle: #D3D3D3; --prism-border-default: #D3D3D3; --prism-border-strong: #F4F3F0;
--prism-status-do: #DCEAE6; --prism-status-do-bg: #005A4E; --prism-status-dont: #F6DFDA; --prism-status-dont-bg: #8F2A11;
--prism-status-caution: #F5E7CC; --prism-status-caution-bg: #6B4A00; --prism-status-tip: #DDE8F3; --prism-status-tip-bg: #0A4E86;
}
.prism { font-family: var(--prism-font); font-size: var(--prism-type-body-sm); line-height: var(--prism-lh-body); color: var(--prism-text-body); font-variant-numeric: tabular-nums; margin: var(--prism-space-200) 0; }
.prism * { box-sizing: border-box; }
.prism a { color: var(--prism-text-heading); }
.prism h1, .prism h2, .prism h3, .prism p, .prism dl, .prism dd, .prism ol, .prism ul { margin: 0; padding: 0; }
.prism h2 { font-size: var(--prism-type-title-sm); line-height: var(--prism-lh-title); font-weight: 500; color: var(--prism-text-heading); }
.prism h3 { font-size: var(--prism-type-body-lg); font-weight: 700; color: var(--prism-text-heading); }
.prism textarea { height: auto; min-height: 5rem; width: 100%; font-family: var(--prism-font); }
.prism :focus-visible { outline: var(--prism-focus-ring) solid var(--prism-comp-line-strong); outline-offset: var(--prism-focus-offset); }
.prism .eyebrow {font-size: var(--prism-type-caption); font-weight: 500; letter-spacing: 0.06em;}
.prism .lead {max-width: var(--prism-measure-max); font-size: var(--prism-type-body);}
.prism .cap {font-size: var(--prism-type-caption);}
.prism .muted {color: var(--prism-text-subtle);}
.prism .row {display: flex; gap: var(--prism-space-200); align-items: center; flex-wrap: wrap;}
.prism .row.end {justify-content: flex-end;}
.prism .stack {display: flex; flex-direction: column; gap: var(--prism-space-200);}
.prism .grid3 {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--prism-space-300);}
.prism .grid2 {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--prism-space-300);}
.prism .split {display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--prism-space-300); align-items: start;}
.prism .grow {flex: 1;}
.prism .scope {background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line); padding: var(--prism-space-150) var(--prism-space-200);
display: flex; gap: var(--prism-space-400); font-size: var(--prism-type-body-sm); border-radius: var(--prism-radius-sm);}
.prism .scope b {font-weight: 700;}
.prism .card {background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-md); padding: var(--prism-space-200);
display: flex; flex-direction: column; gap: var(--prism-space-150);}
.prism .card.sunken {background: var(--prism-bg-canvas);}
.prism .strip {background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line-strong); border-radius: var(--prism-radius-md);
padding: var(--prism-space-200) var(--prism-space-300); display: flex; flex-direction: column; gap: var(--prism-space-150);}
.prism .strip .concl {font-size: var(--prism-type-body-lg); font-weight: 700; color: var(--prism-text-heading); max-width: none;}
.prism .counts {display: flex; gap: var(--prism-space-200); flex-wrap: wrap; align-items: stretch;}
.prism .cnt {display: flex; align-items: baseline; gap: var(--prism-space-100); min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-200);
background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); font: inherit; color: inherit; cursor: pointer;}
.prism .cnt b {font-size: var(--prism-type-title); font-weight: 700; line-height: 1.2;}
.prism .cnt.sel {background: var(--prism-text-heading); color: var(--prism-comp-on-emphasis); border-color: var(--prism-text-heading);}
.prism .banner {border: var(--prism-stroke-regular) solid var(--prism-comp-state-warn-fg); background: var(--prism-comp-state-warn-bg); color: var(--prism-comp-state-warn-fg);
border-radius: var(--prism-radius-sm); padding: var(--prism-space-150) var(--prism-space-200); display: flex; gap: var(--prism-space-150); align-items: flex-start;}
.prism .banner b {font-weight: 700;}
.prism .banner.tip {border-color: var(--prism-comp-state-info-fg); background: var(--prism-comp-state-info-bg); color: var(--prism-comp-state-info-fg);}
.prism .banner.dont {border-color: var(--prism-comp-state-bad-fg); background: var(--prism-comp-state-bad-bg); color: var(--prism-comp-state-bad-fg);}
.prism .banner.good {border-color: var(--prism-comp-state-good-fg); background: var(--prism-comp-state-good-bg); color: var(--prism-comp-state-good-fg);}
.prism .banner .m {flex: none;}
.prism .b {display: inline-flex; align-items: center; gap: var(--prism-space-050); padding: var(--prism-space-025) var(--prism-space-100); white-space: nowrap;
font-size: var(--prism-type-caption); font-weight: 500; line-height: 1.5; border: var(--prism-stroke-regular) solid var(--prism-comp-line);
border-radius: var(--prism-radius-sm); color: var(--prism-text-body); background: transparent;}
.prism .b.good {color: var(--prism-comp-state-good-fg); background: var(--prism-comp-state-good-bg); border-color: var(--prism-comp-state-good-fg);}
.prism .b.warn {color: var(--prism-comp-state-warn-fg); background: var(--prism-comp-state-warn-bg); border-color: var(--prism-comp-state-warn-fg);}
.prism .b.info {color: var(--prism-comp-state-info-fg); background: var(--prism-comp-state-info-bg); border-color: var(--prism-comp-state-info-fg);}
.prism .b.bad {color: var(--prism-comp-state-bad-fg); background: var(--prism-comp-state-bad-bg); border-color: var(--prism-comp-state-bad-fg); border-width: var(--prism-stroke-bold);}
.prism .b.dash {border-style: dashed;}
.prism .b.fixed {color: var(--prism-comp-on-emphasis); background: var(--prism-text-heading); border-color: var(--prism-text-heading);}
.prism .b .m {font-size: 0.7em;}
.prism .btn {min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-200); border-radius: var(--prism-radius-sm); font: inherit; font-weight: 500;
cursor: pointer; border: var(--prism-stroke-regular) solid var(--prism-text-heading); background: var(--prism-bg-card); color: var(--prism-text-heading);
display: inline-flex; align-items: center; justify-content: center; gap: var(--prism-space-100); text-decoration: none; white-space: nowrap;}
.prism .btn.primary {background: var(--prism-text-heading); color: var(--prism-comp-on-emphasis);}
.prism .btn.quiet {border-color: transparent; background: transparent; text-decoration: underline;}
.prism .btn.danger {border-color: var(--prism-comp-state-bad-fg); color: var(--prism-comp-state-bad-fg);}
.prism .btn.sm {min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-150); font-size: var(--prism-type-caption);}
.prism .field {display: flex; flex-direction: column; gap: var(--prism-space-050);}
.prism .field label, .prism .lbl {font-weight: 700; font-size: var(--prism-type-body-sm);}
.prism .req {font-weight: 500; font-size: var(--prism-type-caption); margin-left: var(--prism-space-100);}
.prism .field input, .prism .field select, .prism .field textarea {min-height: var(--prism-comp-hit-min); padding: var(--prism-space-100) var(--prism-space-150); font: inherit;
color: var(--prism-text-body); background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm);}
.prism .field textarea {font-size: var(--prism-type-body-sm); line-height: 1.6; resize: none;}
.prism .field .help {font-size: var(--prism-type-caption);}
.prism .field.bad input, .prism .field.bad textarea {border-color: var(--prism-comp-state-bad-fg); border-width: var(--prism-stroke-bold);}
.prism .err {color: var(--prism-comp-state-bad-fg); font-size: var(--prism-type-caption); font-weight: 500; display: flex; gap: var(--prism-space-050);}
.prism .choice {display: flex; gap: var(--prism-space-300); align-items: center;}
.prism .choice label {display: inline-flex; align-items: center; gap: var(--prism-space-100); min-height: var(--prism-comp-hit-min); font-weight: 500;}
.prism .choice input {width: 1.25rem; height: 1.25rem; accent-color: var(--prism-text-heading);}
.prism .tw {overflow-x: auto; background: var(--prism-bg-card); border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm);}
.prism table.t {width: 100%; border-collapse: collapse; font-size: var(--prism-type-body-sm);}
.prism table.t caption {text-align: left; font-weight: 700; padding: var(--prism-space-100) var(--prism-space-150); color: var(--prism-text-heading);}
.prism table.t th, .prism table.t td {padding: var(--prism-space-100) var(--prism-space-150); border-bottom: var(--prism-stroke-hairline) solid var(--prism-comp-line); text-align: left; vertical-align: middle;}
.prism table.t thead th {position: sticky; top: 0; background: var(--prism-comp-table-head-bg); font-weight: 700; white-space: nowrap; border-bottom: var(--prism-stroke-regular) solid var(--prism-comp-line);}
.prism table.t td.num, .prism table.t th.num {text-align: right;}
.prism table.t tr.sel td {background: var(--prism-comp-table-head-bg);}
.prism table.t tr.sep td {background: var(--prism-comp-table-head-bg); font-weight: 700; color: var(--prism-text-heading);}
.prism table.t td a {font-weight: 700;}
.prism .chip {display: inline-block; border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm);
padding: 0 var(--prism-space-100); font-size: var(--prism-type-caption); white-space: nowrap; background: var(--prism-bg-card);}
.prism dl.kv {display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--prism-space-100) var(--prism-space-300); font-size: var(--prism-type-body-sm);}
.prism dl.kv dt {font-weight: 700;}
.prism .pbar {height: 0.75rem; border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-pill); overflow: hidden; background: var(--prism-bg-card);}
.prism .pbar > i {display: block; height: 100%; background: var(--prism-text-heading);}
.prism .list {list-style: none; display: flex; flex-direction: column;}
.prism .list li {display: flex; align-items: center; gap: var(--prism-space-100); min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-150); border-bottom: var(--prism-stroke-hairline) solid var(--prism-comp-line);}
.prism .list li a {flex: 1; font-weight: 500; text-decoration: none;}
.prism .list li.cur {background: var(--prism-bg-canvas);}
.prism .list li.cur a {font-weight: 700;}
.prism .scroll {max-height: 18rem; overflow-y: auto; border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm);}
.prism .drawing {background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); display: block; width: 100%; height: auto;}
.prism .toc a {display: flex; align-items: center; min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-150); text-decoration: none; font-weight: 500; border-radius: var(--prism-radius-sm);}
.prism .toc a.cur {background: var(--prism-bg-canvas); font-weight: 700;}
.prism .toc ol {list-style: none;}
.prism .num {font-variant-numeric: tabular-nums;}
.prism pre.code {margin: 0; background: var(--prism-bg-canvas); border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm);
padding: var(--prism-space-150); font-family: var(--prism-font); font-size: var(--prism-type-caption); line-height: 1.6; white-space: pre-wrap;}