/* 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); 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-surface-sunken); } .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; } }