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:
commit
964a841de1
3978 files changed
+58013356
No files matched your search
@@ -0,0 +1,182 @@
|
||||
/* 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;
|
||||
}
|
||||
|
||||
* { box-sizing: border-box; }
|
||||
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; }
|
||||
a { color: var(--prism-text-heading); }
|
||||
h1, h2, h3, p, dl, dd, ol, ul { margin: 0; padding: 0; }
|
||||
:focus-visible { outline: var(--prism-focus-ring) solid var(--prism-comp-line-strong); outline-offset: var(--prism-focus-offset); }
|
||||
.skip { position: absolute; left: -999rem; }
|
||||
|
||||
/* shell */
|
||||
.app { min-height: 100%; display: flex; flex-direction: column; position: relative; }
|
||||
.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-inline: var(--prism-space-300); position: sticky; top: 0; z-index: var(--prism-z-sticky); }
|
||||
.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); letter-spacing: -0.01em; }
|
||||
.brand i { width: 0.7rem; height: 0.7rem; background: var(--prism-text-accent); transform: rotate(45deg); display: block; }
|
||||
.top .where { font-size: var(--prism-type-caption); font-weight: 500; }
|
||||
.top .meta { margin-left: auto; display: flex; gap: var(--prism-space-300); font-size: var(--prism-type-caption); }
|
||||
.body { display: flex; flex: 1; min-height: 0; }
|
||||
.rail { width: var(--prism-comp-rail-width); flex: none; background: var(--prism-bg-card); border-right: var(--prism-stroke-hairline) solid var(--prism-comp-line);
|
||||
padding: var(--prism-space-300) var(--prism-space-200); display: flex; flex-direction: column; gap: var(--prism-space-200); }
|
||||
.rail .cap { font-size: var(--prism-type-caption); font-weight: 500; letter-spacing: 0.06em; }
|
||||
.rail .pier { font-weight: 700; font-size: var(--prism-type-body); color: var(--prism-text-heading); }
|
||||
.rail ol { list-style: none; display: flex; flex-direction: column; gap: var(--prism-space-050); }
|
||||
.step { display: flex; align-items: center; gap: var(--prism-space-150); min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-100);
|
||||
border-radius: var(--prism-radius-sm); color: var(--prism-text-body); text-decoration: none; }
|
||||
.step .n { width: 1.5rem; height: 1.5rem; flex: none; border: var(--prism-stroke-regular) dashed var(--prism-comp-line); border-radius: var(--prism-radius-pill);
|
||||
display: grid; place-items: center; font-size: var(--prism-type-caption); font-weight: 700; }
|
||||
.step.done .n { background: var(--prism-text-heading); color: var(--prism-comp-on-emphasis); border: var(--prism-stroke-regular) solid var(--prism-text-heading); }
|
||||
.step.cur { background: var(--prism-bg-canvas); font-weight: 700; }
|
||||
.step.cur .n { border: var(--prism-stroke-bold) solid var(--prism-comp-line-strong); }
|
||||
.rail .sub { display: flex; flex-direction: column; margin-left: 2.1rem; }
|
||||
.rail .sub a { min-height: 2rem; display: flex; align-items: center; font-size: var(--prism-type-caption); color: var(--prism-text-body); }
|
||||
.rail hr { border: 0; border-top: var(--prism-stroke-hairline) solid var(--prism-comp-line); width: 100%; margin: 0; }
|
||||
.main { flex: 1; min-width: 0; padding: var(--prism-space-400); display: flex; flex-direction: column; gap: var(--prism-space-300); }
|
||||
.main > .head { display: flex; flex-direction: column; gap: var(--prism-space-100); }
|
||||
h1 { font-size: var(--prism-type-title); line-height: var(--prism-lh-title); color: var(--prism-text-heading); font-weight: 700; }
|
||||
h2 { font-size: var(--prism-type-title-sm); line-height: var(--prism-lh-title); font-weight: 500; color: var(--prism-text-heading); }
|
||||
h3 { font-size: var(--prism-type-body-lg); font-weight: 700; color: var(--prism-text-heading); }
|
||||
.eyebrow { font-size: var(--prism-type-caption); font-weight: 500; letter-spacing: 0.06em; }
|
||||
.lead { max-width: var(--prism-measure-max); font-size: var(--prism-type-body); }
|
||||
.cap { font-size: var(--prism-type-caption); }
|
||||
.muted { color: var(--prism-text-subtle); }
|
||||
.row { display: flex; gap: var(--prism-space-200); align-items: center; flex-wrap: wrap; }
|
||||
.row.end { justify-content: flex-end; }
|
||||
.stack { display: flex; flex-direction: column; gap: var(--prism-space-200); }
|
||||
.grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--prism-space-300); }
|
||||
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--prism-space-300); }
|
||||
.split { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--prism-space-300); align-items: start; }
|
||||
.grow { flex: 1; }
|
||||
|
||||
/* scope, card, strip, banner */
|
||||
.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); }
|
||||
.scope b { font-weight: 700; }
|
||||
.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); }
|
||||
.card.sunken { background: var(--prism-bg-canvas); }
|
||||
.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); }
|
||||
.strip .concl { font-size: var(--prism-type-body-lg); font-weight: 700; color: var(--prism-text-heading); max-width: none; }
|
||||
.counts { display: flex; gap: var(--prism-space-200); flex-wrap: wrap; align-items: stretch; }
|
||||
.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; }
|
||||
.cnt b { font-size: var(--prism-type-title); font-weight: 700; line-height: 1.2; }
|
||||
.cnt.sel { background: var(--prism-text-heading); color: var(--prism-comp-on-emphasis); border-color: var(--prism-text-heading); }
|
||||
.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; }
|
||||
.banner b { font-weight: 700; }
|
||||
.banner.tip { border-color: var(--prism-comp-state-info-fg); background: var(--prism-comp-state-info-bg); color: var(--prism-comp-state-info-fg); }
|
||||
.banner.dont { border-color: var(--prism-comp-state-bad-fg); background: var(--prism-comp-state-bad-bg); color: var(--prism-comp-state-bad-fg); }
|
||||
.banner.good { border-color: var(--prism-comp-state-good-fg); background: var(--prism-comp-state-good-bg); color: var(--prism-comp-state-good-fg); }
|
||||
.banner .m { flex: none; }
|
||||
|
||||
/* badge */
|
||||
.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; }
|
||||
.b.good { color: var(--prism-comp-state-good-fg); background: var(--prism-comp-state-good-bg); border-color: var(--prism-comp-state-good-fg); }
|
||||
.b.warn { color: var(--prism-comp-state-warn-fg); background: var(--prism-comp-state-warn-bg); border-color: var(--prism-comp-state-warn-fg); }
|
||||
.b.info { color: var(--prism-comp-state-info-fg); background: var(--prism-comp-state-info-bg); border-color: var(--prism-comp-state-info-fg); }
|
||||
.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); }
|
||||
.b.dash { border-style: dashed; }
|
||||
.b.fixed { color: var(--prism-comp-on-emphasis); background: var(--prism-text-heading); border-color: var(--prism-text-heading); }
|
||||
.b .m { font-size: 0.7em; }
|
||||
|
||||
/* buttons, fields */
|
||||
.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; }
|
||||
.btn.primary { background: var(--prism-text-heading); color: var(--prism-comp-on-emphasis); }
|
||||
.btn.quiet { border-color: transparent; background: transparent; text-decoration: underline; }
|
||||
.btn.danger { border-color: var(--prism-comp-state-bad-fg); color: var(--prism-comp-state-bad-fg); }
|
||||
.btn.sm { min-height: var(--prism-comp-hit-min); padding: 0 var(--prism-space-150); font-size: var(--prism-type-caption); }
|
||||
.field { display: flex; flex-direction: column; gap: var(--prism-space-050); }
|
||||
.field label, .lbl { font-weight: 700; font-size: var(--prism-type-body-sm); }
|
||||
.req { font-weight: 500; font-size: var(--prism-type-caption); margin-left: var(--prism-space-100); }
|
||||
.field input, .field select, .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); }
|
||||
.field textarea { font-size: var(--prism-type-body-sm); line-height: 1.6; resize: none; }
|
||||
.field .help { font-size: var(--prism-type-caption); }
|
||||
.field.bad input, .field.bad textarea { border-color: var(--prism-comp-state-bad-fg); border-width: var(--prism-stroke-bold); }
|
||||
.err { color: var(--prism-comp-state-bad-fg); font-size: var(--prism-type-caption); font-weight: 500; display: flex; gap: var(--prism-space-050); }
|
||||
.choice { display: flex; gap: var(--prism-space-300); align-items: center; }
|
||||
.choice label { display: inline-flex; align-items: center; gap: var(--prism-space-100); min-height: var(--prism-comp-hit-min); font-weight: 500; }
|
||||
.choice input { width: 1.25rem; height: 1.25rem; accent-color: var(--prism-text-heading); }
|
||||
|
||||
/* table */
|
||||
.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); }
|
||||
table.t { width: 100%; border-collapse: collapse; font-size: var(--prism-type-body-sm); }
|
||||
table.t caption { text-align: left; font-weight: 700; padding: var(--prism-space-100) var(--prism-space-150); color: var(--prism-text-heading); }
|
||||
table.t th, 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; }
|
||||
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); }
|
||||
table.t td.num, table.t th.num { text-align: right; }
|
||||
table.t tr.sel td { background: var(--prism-comp-table-head-bg); }
|
||||
table.t tr.sep td { background: var(--prism-comp-table-head-bg); font-weight: 700; color: var(--prism-text-heading); }
|
||||
table.t td a { font-weight: 700; }
|
||||
.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); }
|
||||
|
||||
/* key-value, evidence, diff */
|
||||
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); }
|
||||
dl.kv dt { font-weight: 700; }
|
||||
.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); }
|
||||
.pbar > i { display: block; height: 100%; background: var(--prism-text-heading); }
|
||||
.list { list-style: none; display: flex; flex-direction: column; }
|
||||
.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); }
|
||||
.list li a { flex: 1; font-weight: 500; text-decoration: none; }
|
||||
.list li.cur { background: var(--prism-bg-canvas); }
|
||||
.list li.cur a { font-weight: 700; }
|
||||
|
||||
/* modal */
|
||||
.scrim { position: absolute; inset: 0; background: var(--prism-scrim); z-index: var(--prism-z-scrim); display: flex; align-items: center; justify-content: center; padding: var(--prism-space-400); }
|
||||
.modal { background: var(--prism-bg-card); border: var(--prism-stroke-regular) solid var(--prism-comp-line-strong); border-radius: var(--prism-radius-lg);
|
||||
width: 100%; max-width: 62rem; padding: var(--prism-space-300); display: flex; flex-direction: column; gap: var(--prism-space-200); z-index: var(--prism-z-modal); }
|
||||
.modal header { display: flex; align-items: center; gap: var(--prism-space-200); }
|
||||
.modal header h2 { flex: 1; }
|
||||
.scroll { max-height: 18rem; overflow-y: auto; border: var(--prism-stroke-hairline) solid var(--prism-comp-line); border-radius: var(--prism-radius-sm); }
|
||||
.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; }
|
||||
.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); }
|
||||
.toc a.cur { background: var(--prism-bg-canvas); font-weight: 700; }
|
||||
.toc ol { list-style: none; }
|
||||
.num { font-variant-numeric: tabular-nums; }
|
||||
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; }
|
||||
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
|
||||
Reference in new issue
Block a user