브레인 지시로 M02 면적산출(SA01010100) · 재료산출(SM01010100) 화면의 메뉴 · 팝업을 ORCA eval 로 전수로 열어 글자색 대 실제 바탕색 대비를 잼(투명이면 조상으로 올라가 겹침 · 4.5 미만 + 어두운 테마에서 흰 바탕 폼 칸 표시). 원인은 color 를 안 준 브라우저 기본 색(button · input · textarea)과 없는 토큰 · 검정 고정. - spreadsheet.css: 서식 붓 단추(.ss-brush · 서식… 붓 ↑ ↓ 필터 Σ 데이터 ▾) · 찾기/바꾸기 입력 · 찾기 단추 · 메모 · 골라 붙여넣기 단추 · 목록 ▼ 단추에 color 를 줌 · 주소 상자(.ss-addr) · 수식 입력줄(.ss-formula)은 흰 바탕 · 검정 글이던 것을 투명 바탕 · 글 상속으로 - spreadsheet_links.css: 자재 찾기 입력 바탕 · 글 토큰 - spreadsheet_toolbar.css: 시트 탭 이름 바꾸기 입력 · select 의 option 바탕 · 글 토큰 - spreadsheet_sortfilter.css · spreadsheet_analysis.css · spreadsheet_links.css: 정의 안 된 --color-surface-sunken(마우스 올림 바탕이 안 나오던 것)을 --color-mist-violet 로(색 줄만 · 주인 A · D 파일이라 최소로) - spreadsheet_sortfilter.css: 정렬 창 select 의 option 바탕 · 글 토큰 - spreadsheet_format_dialog.ts: 글꼴 미리보기 글자색 · 테두리 미리보기 기본 선색이 검정 고정이던 것을 「자동」(검정 · windowtext · auto)이면 테마 글자색으로(isAutoInk 재사용) - spreadsheet_data_tools.ts: 텍스트 나누기 · 연속 채우기 창의 select 두 곳에 ss-toolbar__select 를 붙여 흰 바탕 · 검정 글이던 것을 테마로 ORCA(IP http://100.72.32.27:5181 · 전환 애니메이션 끄고 잼) — 어두운 테마: 기본 화면 · 셀/행 머리/열 머리 우클릭 메뉴 · 데이터 메뉴와 하위 · 조건부 서식 · 유효성 · 이름 관리 · 정렬 · 텍스트 나누기 · 중복 제거 · 연속 채우기 · 칸 넣기/지우기 · 이동 · 셀 서식 창 여섯 탭 · 찾기/바꾸기 · 수식 편집 + 함수 자동완성 · 메모 창 · 단위 · 테두리 패널 · 자재 알약 찾기 · 자동 필터 값 목록 · 풍선 · 붙여넣기 선택 · 유효성 목록 · 오류 ⚠ 메뉴 · 수식 계산 · 알림, SM · SA 두 시트 모두 대비 4.5 미만 · 흰 바탕 폼 칸 0 건(고치기 전에는 서식 붓 계열 7 개가 글 rgb(0,0,0) 대 바탕 rgb(37,31,56) 대비 1.33 등). 밝은 테마도 같은 목록으로 재서 새로 깨진 곳 없음(남은 것은 --color-text-muted 가 밝은 테마 바탕에서 3.08 인 기존 토큰 값). css 8KB 한도: 가장 큰 spreadsheet_toolbar.css 7432 바이트. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W9YEkMnYQnNnRZRPXoxFsw
139 lines
2.8 KiB
CSS
139 lines
2.8 KiB
CSS
/* spreadsheet_links.css (주인 D) — 위 알약 막대 · 연결 칸 세모 · 자재 고르기 창 */
|
|
|
|
.ss-links {
|
|
display: flex;
|
|
flex: none;
|
|
flex-wrap: wrap;
|
|
gap: var(--spacing-4);
|
|
padding: var(--spacing-4) var(--spacing-8);
|
|
border-bottom: 1px solid var(--color-border);
|
|
background: var(--color-surface);
|
|
}
|
|
|
|
.ss-link {
|
|
display: inline-flex;
|
|
align-items: baseline;
|
|
gap: var(--spacing-4);
|
|
padding: 2px 10px;
|
|
border: 1px solid var(--color-accent);
|
|
border-radius: 999px;
|
|
background: var(--color-surface-raised);
|
|
color: var(--color-text-body);
|
|
font: inherit;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ss-link small {
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.ss-link code {
|
|
font-size: 11px;
|
|
color: var(--color-accent);
|
|
}
|
|
|
|
/* 연결됨 — 흐림(연결 현황) */
|
|
.ss-link.is-linked {
|
|
opacity: 0.5;
|
|
border-style: dashed;
|
|
}
|
|
|
|
.ss-link.is-linked:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.ss-link--add {
|
|
border-style: dashed;
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
/* 연결 칸 왼아래 세모(초록 오류 세모는 왼위 · 빨강 메모는 오른위) */
|
|
.ss-link-dot {
|
|
position: absolute;
|
|
z-index: 3;
|
|
width: 0;
|
|
height: 0;
|
|
border-top: 6px solid transparent;
|
|
border-left: 6px solid var(--color-accent);
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ss-links__pick {
|
|
position: absolute;
|
|
z-index: var(--z-dropdown);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--spacing-4);
|
|
width: 320px;
|
|
padding: var(--spacing-8);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
background: var(--color-surface-raised);
|
|
box-shadow: var(--shadow-lg);
|
|
}
|
|
|
|
.ss-links__search {
|
|
padding: 4px 6px;
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-sm);
|
|
background: var(--color-canvas);
|
|
color: var(--color-text-body);
|
|
font: inherit;
|
|
}
|
|
|
|
.ss-links__list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: 240px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.ss-links__row {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr auto;
|
|
gap: var(--spacing-8);
|
|
padding: 4px 6px;
|
|
border: none;
|
|
background: none;
|
|
color: var(--color-text-body);
|
|
font: inherit;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.ss-links__row:hover {
|
|
background: var(--color-mist-violet);
|
|
}
|
|
|
|
.ss-links__note {
|
|
padding: 4px 6px;
|
|
color: var(--color-text-muted);
|
|
}
|
|
|
|
/* 알약으로 이동한 칸 — 굵은 테두리 + 채움 깜빡임(1.6초 · 끝나면 스스로 지워짐) */
|
|
.ss-link-flash {
|
|
position: absolute;
|
|
z-index: 4;
|
|
box-sizing: border-box;
|
|
border: 3px solid var(--color-accent);
|
|
pointer-events: none;
|
|
animation: ss-link-flash 1.6s ease-out 1 both;
|
|
}
|
|
|
|
@keyframes ss-link-flash {
|
|
0%,
|
|
40%,
|
|
80% {
|
|
background: color-mix(in srgb, var(--color-accent) 40%, transparent);
|
|
}
|
|
20%,
|
|
60% {
|
|
background: transparent;
|
|
}
|
|
100% {
|
|
background: transparent;
|
|
opacity: 0;
|
|
}
|
|
}
|