/* maru 모집 — v5(P4). 지원자 화면(공고·지원서·확인·완료)은 공개 표면(body.x-pub, 상단 바·폭은 v5-public.css),
   운영진 화면(목록·공고·양식·지원자·결과)은 팀 앱 셸(body.has-sb) 안의 데스크톱 밀도. 값은 v5 토큰만(리터럴 색·px·ms 없음).
   이 파일은 모집 페이지와 /:slug/join 안내에서만 로드된다. 접두사 rc- */

:root { --rc-ink: var(--ink); --rc-ink-2: var(--ink-hover); --rc-soft: var(--wash-2); --rc-soft-2: var(--wash-3); --rc-err: var(--danger); --rc-err-bg: var(--danger-wash); } /* v5 별칭(SPEC §2.12) */
.rc-body, .rc-admin, .rc-sec, .rc-join, .rc-plat { word-break: keep-all; overflow-wrap: anywhere; }

/* ── 공통: D-day · 상태 칩(§4.5 — 24h · 12/500 · 워시, 강조 1개는 잉크) ─────── */
.rc-dd {
  flex: none; display: inline-flex; align-items: center; height: var(--h-xs); padding: 0 10px; border: 0; border-radius: var(--r-pill);
  background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; white-space: nowrap;
}
.rc-dd.is-hot { background: var(--ink); color: #fff; }
.rc-dd.is-soon { background: transparent; box-shadow: inset 0 0 0 1px var(--line-2); }
.rc-ph { display: inline-flex; align-items: center; gap: 6px; height: var(--h-xs); padding: 0 10px; border: 0; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-caption)/1 var(--font); white-space: nowrap; }
.rc-ph::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rc-ph.ph-open { background: var(--ink); color: #fff; }
.rc-ph.ph-draft, .rc-ph.ph-scheduled { background: transparent; box-shadow: inset 0 0 0 1px var(--line-2); }
.rc-ph.ph-announced { color: var(--ink); }

.rc-st { display: inline-flex; align-items: center; height: var(--h-xs); padding: 0 10px; border: 0; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-caption)/1 var(--font); letter-spacing: 0; white-space: nowrap; }
.rc-st.st-doc_pass, .rc-st.st-sub, .rc-st.st-fail { background: var(--wash-2); color: var(--ink); }
.rc-st.st-interview { background: var(--wash-3); color: var(--ink); }
.rc-st.st-accepted, .rc-st.st-pass { background: var(--ink); color: #fff; }
.rc-st.st-rejected, .rc-st.st-draft { background: transparent; box-shadow: inset 0 0 0 1px var(--line-2); color: var(--ink-3); }

.rc-dim { color: var(--ink-3); }
.rc-mono { font: 400 var(--t-footnote)/1.45 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; color: var(--ink-3); white-space: nowrap; }

/* ── 알약 버튼(지원자 화면) — Primary 잉크 lg 48 · 모바일 전폭 xl 56 · Secondary 워시 ── */
.rc-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); height: var(--h-lg); padding: 0 22px;
  border: 0; border-radius: var(--r-pill); font: 500 var(--t-body)/1 var(--font); letter-spacing: -0.01em; white-space: nowrap;
  transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), scale var(--dur-3) var(--spring); -webkit-tap-highlight-color: transparent;
}
.rc-btn svg { width: var(--ic-md); height: var(--ic-md); flex: none; }
.rc-btn:has(svg:last-child) { padding-right: 18px; }
.rc-btn:active { scale: var(--m-press); transition-duration: var(--dur-1); }
.rc-btn-dark { background: var(--ink); color: #fff; }
.rc-btn-soft { background: var(--wash-2); color: var(--ink); }
.rc-btn-ghost-danger { height: var(--h-lg); padding: 0 var(--s-4); background: transparent; color: var(--danger); font-size: var(--t-ui); }
@media (hover: hover) and (pointer: fine) {
  .rc-btn-dark:hover { background: var(--ink-hover); }
  .rc-btn-soft:hover { background: var(--wash-3); }
  .rc-btn-ghost-danger:hover { background: var(--danger-wash); }
}
.rc-btn-block { width: 100%; }
.rc-btn.is-disabled, .rc-btn:disabled { background: var(--wash-2); color: var(--ink-4); pointer-events: none; scale: 1; }
.rc-btn:focus-visible { outline: var(--focus); outline-offset: var(--focus-offset); }

/* ── 지원자 셸 — 상단 바는 PublicTopBar(v5-public.css), 틀은 main 720 가운데 ── */
.rc-body { background: var(--paper); color: var(--ink); }
.rc-main { min-height: calc(100svh - var(--bar-h) - 160px); }
.rc-foot { display: flex; justify-content: center; padding: var(--s-9) var(--gutter); border-top: 1px solid var(--line); }
.rc-foot a { display: inline-block; padding: 0 2px; font: 400 var(--t-footnote)/var(--hit) var(--font); color: var(--ink-3); transition: color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-foot a:hover { color: var(--ink); } }
.rc-foot strong { font-family: var(--font-logo); font-weight: 600; color: var(--ink-2); }
.rc-has-ctabar .rc-foot { padding-bottom: var(--s-9); }
.rc-wrap { max-width: calc(var(--w-main) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.rc-draftbar { margin: calc(-1 * var(--s-11)) 0 var(--s-9); padding: var(--s-2) var(--gutter); background: var(--ink); color: #fff; font: 500 var(--t-footnote)/1.45 var(--font); text-align: center; }
.rc-draftbar a { margin-left: 6px; color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* ── 공고 — 상태 칩 줄 · 제목 display 56/36 · 리드 17 ink-2 · 공유 · 사실 표 · 본문 ── */
.rc-hero { padding: 0; }
.rc-pill { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h-xs); padding: 0 10px; border: 0; border-radius: var(--r-pill); background: var(--ink); color: #fff; font: 500 var(--t-caption)/1 var(--font); }
.rc-pill:not(:has(.ph-open)) { background: var(--wash-2); color: var(--ink-2); }
.rc-pill b { padding-left: var(--s-2); border-left: 1px solid rgba(255, 255, 255, .3); font: 500 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.rc-pill:not(:has(.ph-open)) b { border-left-color: var(--line-2); }
.rc-pill b.is-date { font-family: var(--font); }
.rc-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.rc-hero h1 {
  margin-top: var(--s-6); font: 600 var(--t-display)/1.1 var(--font); letter-spacing: -0.045em; color: var(--ink); text-wrap: balance;
}
.rc-hero > p { margin-top: var(--s-4); font: 400 var(--t-lead)/1.65 var(--font); letter-spacing: -0.012em; color: var(--ink-2); text-wrap: pretty; }
.rc-hero-sm h1 { font: 600 var(--t-title-1)/1.1 var(--font); letter-spacing: -0.04em; margin-top: 0; }
.rc-share { margin-top: var(--s-6); }

.rc-facts { margin: var(--s-9) 0 0; border-top: 1px solid var(--line); }
.rc-facts > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: var(--s-4); padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.rc-facts dt { font: 600 var(--t-footnote)/1.65 var(--font); color: var(--ink-3); }
.rc-facts dd { margin: 0; font: 500 var(--t-body)/1.45 var(--font); color: var(--ink); font-variant-numeric: tabular-nums; }
.rc-facts-sm { max-width: 400px; margin: var(--s-7) auto 0; text-align: left; }
.rc-prose { margin-top: var(--s-9); font: 400 var(--t-lead)/1.75 var(--font); color: var(--ink); }
.rc-prose h2 { font: 600 var(--t-title-3)/1.3 var(--font); letter-spacing: -0.03em; margin: var(--s-9) 0 var(--s-3); }
.rc-prose h3 { font: 600 var(--t-headline)/1.3 var(--font); letter-spacing: -0.02em; margin: var(--s-7) 0 var(--s-2); }
.rc-prose h2:first-child { margin-top: 0; }

/* 행동 막대 — 아래 붙는 유리 한 줄. 데스크톱은 lg 알약 + 안내, 모바일은 전폭 xl */
.rc-ctabar {
  position: sticky; bottom: 0; z-index: var(--z-sticky); margin-top: var(--s-9); padding: var(--s-4) var(--gutter) calc(var(--s-4) + env(safe-area-inset-bottom));
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: inset 0 1px var(--line);
}
.rc-ctabar-in { display: flex; align-items: center; gap: var(--s-4); max-width: var(--w-main); margin: 0 auto; }
.rc-ctabar-in .rc-btn-block { width: auto; min-width: 200px; }
.rc-ctanote { margin: 0; font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); text-align: left; }
.rc-ctanote a { position: relative; color: var(--ink); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-3); }

/* ── 지원서 작성 — 머리(eyebrow · title-1 · 안내 · 진행바) · 질문 그리드 28px 1fr ── */
.rc-back {
  position: relative; display: inline-flex; align-items: center; gap: 6px; height: var(--h-sm); padding: 0 14px 0 var(--s-2); margin-bottom: var(--s-8);
  border-radius: var(--r-pill); background: var(--wash-2); font: 500 var(--t-footnote)/1 var(--font); color: var(--ink);
  transition: background-color var(--dur-1) var(--ease-out), scale var(--dur-3) var(--spring);
}
.rc-back svg { width: var(--ic-sm); height: var(--ic-sm); }
.rc-back:active { scale: var(--m-press-chip); transition-duration: var(--dur-1); }
@media (hover: hover) and (pointer: fine) { .rc-back:hover { background: var(--wash-3); } }
.rc-apply-head { padding: 0 0 var(--s-6); }
.rc-eyebrow { display: block; font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-eyebrow .num { font-variant-numeric: tabular-nums; }
.rc-apply-head h1 { margin-top: var(--s-2); font: 600 var(--t-title-1)/1.1 var(--font); letter-spacing: -0.04em; color: var(--ink); text-wrap: balance; }
.rc-apply-head p { margin-top: var(--s-3); font: 400 var(--t-body)/1.65 var(--font); color: var(--ink-3); }
.rc-progress { display: flex; align-items: center; gap: var(--s-3); margin-top: var(--s-5); }
.rc-progress-bar { flex: 1; height: 4px; border-radius: var(--r-pill); background: var(--wash-3); overflow: hidden; }
.rc-progress-bar i { display: block; height: 100%; width: 100%; background: var(--ink); border-radius: var(--r-pill); transform-origin: left center; scale: var(--p, 0) 1; transition: scale var(--dur-3) var(--ease-out); }
.rc-progress-t { flex: none; font: 400 var(--t-footnote)/1 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-note { margin-bottom: var(--s-4); padding: var(--s-3) var(--s-4); border-radius: var(--r-md); background: var(--wash-2); font: 400 var(--t-ui)/1.65 var(--font); color: var(--ink); }
.rc-note-row { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); flex-wrap: wrap; }
.rc-errsum { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--s-2); padding: var(--s-4); border: 1px solid var(--danger-line); border-radius: var(--r-md); background: var(--danger-wash); font: 500 var(--t-ui)/1.45 var(--font); color: var(--danger); }
.rc-errsum a { width: fit-content; color: var(--danger); text-decoration: underline; text-underline-offset: 3px; }

.rc-q { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 0; padding: var(--s-6) 0; border-top: 1px solid var(--line); scroll-margin-top: calc(var(--bar-h) + var(--s-4)); }
.rc-q > * { grid-column: 2; min-width: 0; }
.rc-q-head { display: contents; }
.rc-q-n { grid-column: 1; padding-top: 3px; font: 500 var(--t-footnote)/1.45 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; color: var(--ink-3); }
.rc-q-head h3 { grid-column: 2; margin: 0; font: 600 var(--t-card)/1.45 var(--font); letter-spacing: -0.015em; color: var(--ink); }
.rc-req { display: none; }
.rc-opt-tag { margin-left: 4px; font: 400 var(--t-caption)/1 var(--font); font-style: normal; color: var(--ink-3); background: none; padding: 0; }
.rc-q-help { margin: var(--s-1) 0 0; font: 400 var(--t-ui)/1.6 var(--font); color: var(--ink-3); }
.rc-q > :is(.rc-in, .rc-opts, .rc-slots, .rc-files, .rc-consent) { margin-top: var(--s-3); }
.rc-q-err { display: none; margin-top: var(--s-2); font: 500 var(--t-footnote)/1.45 var(--font); color: var(--danger); }
.rc-q.has-err .rc-q-err { display: block; }
.rc-q.has-err .rc-in { border-color: var(--danger); box-shadow: var(--ring-danger); }

.rc-in {
  display: block; width: 100%; height: var(--h-lg); padding: 0 var(--s-4); border: 1px solid var(--line-2); border-radius: var(--r-md);
  background: var(--paper); color: var(--ink); font: 400 var(--t-body)/1.45 var(--font); appearance: none;
  transition: border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) { .rc-in:hover:not(:focus) { border-color: var(--line-3); } }
.rc-in:focus { outline: none; box-shadow: var(--ring-input); }
.rc-in::placeholder { color: var(--ink-3); }
.rc-ta { height: auto; min-height: 160px; padding: var(--s-3) var(--s-4); line-height: 1.75; resize: vertical; }
.rc-count { display: flex; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-2); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-count b { font-weight: 600; color: var(--ink-2); }
.rc-count.is-ok b, .rc-count.is-ok .rc-count-min { color: var(--ink); }
.rc-count.is-over, .rc-count.is-over b { color: var(--danger); }

.rc-opts { display: flex; flex-direction: column; gap: var(--s-2); }
.rc-opt {
  position: relative; display: flex; align-items: center; gap: var(--s-3); min-height: var(--h-lg); padding: var(--s-3) var(--s-4);
  border: 1px solid var(--line-2); border-radius: var(--r-md); cursor: pointer; font: 400 var(--t-body)/1.45 var(--font); color: var(--ink);
  transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out); -webkit-tap-highlight-color: transparent;
}
.rc-opt input, .rc-slot input, .rc-check input, .rc-switch input, .rc-tplcard input, .rc-scorepick input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; } /* 보이지 않는 입력이 라벨 전체를 덮는다 — 누르는 자리 = 보이는 칸 */
.rc-scorepick input { inset: -2px 0; height: auto; }
.rc-cb input { position: absolute; inset: -13px; width: auto; height: auto; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.rc-opt-mark { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1.5px solid var(--line-3); border-radius: 50%; transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out); }
.rc-opt-multi .rc-opt-mark { border-radius: var(--r-xs); }
@media (hover: hover) and (pointer: fine) { .rc-opt:hover { border-color: var(--line-3); } }
.rc-opt:has(input:checked) { border-color: var(--ink); background: var(--wash-1); }
.rc-opt input:checked + .rc-opt-mark { border-color: var(--ink); background: var(--ink); box-shadow: inset 0 0 0 4px var(--paper); }
.rc-opt-multi input:checked + .rc-opt-mark { box-shadow: none; background: var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; }
.rc-opt:has(input:focus-visible), .rc-slot:has(input:focus-visible) span, .rc-check:has(input:focus-visible) .rc-check-box { outline: var(--focus); outline-offset: var(--focus-offset); }

.rc-slots { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-2); }
.rc-slot { position: relative; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.rc-slot span {
  display: flex; align-items: center; min-height: var(--h-lg); padding: 0 var(--s-4); border: 1px solid var(--line-2); border-radius: var(--r-pill);
  font: 400 var(--t-ui)/1.2 var(--font); font-variant-numeric: tabular-nums; color: var(--ink);
  transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) { .rc-slot:hover span { border-color: var(--line-3); } }
.rc-slot input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
@media (min-width: 560px) { .rc-slots { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.rc-files { display: flex; flex-direction: column; gap: var(--s-2); }
.rc-file-list { list-style: none; display: flex; flex-direction: column; gap: var(--s-2); padding: 0; margin: 0; }
.rc-file-list:empty { display: none; }
.rc-file { position: relative; display: flex; align-items: center; gap: var(--s-3); min-height: var(--row); padding: var(--s-2); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); overflow: hidden; }
.rc-file-thumb { width: 40px; height: 40px; flex: none; border-radius: var(--r-sm); object-fit: cover; background: var(--canvas-2); }
.rc-file-ic { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; border-radius: var(--r-sm); background: var(--wash-2); color: var(--ink-2); }
.rc-file-ic svg { width: var(--ic-lg); height: var(--ic-lg); }
.rc-file-name { flex: 1; min-width: 0; font: 500 var(--t-ui)/1.45 var(--font); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (hover: hover) and (pointer: fine) { a.rc-file-name:hover { text-decoration: underline; text-underline-offset: 3px; } }
.rc-file-size { flex: none; font: 400 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-file-del { position: relative; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; color: var(--ink-3); transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out); }
.rc-file-del::after { content: ''; position: absolute; inset: -4px; }
@media (hover: hover) and (pointer: fine) { .rc-file-del:hover { background: var(--wash-2); color: var(--ink); } }
.rc-file-del svg { width: var(--ic-sm); height: var(--ic-sm); }
.rc-file-bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: var(--wash-2); }
.rc-file-bar i { display: block; height: 100%; width: 100%; background: var(--ink); transform-origin: left center; scale: var(--p, 0) 1; transition: scale var(--dur-1) var(--ease-out); }
.rc-drop {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 96px; padding: var(--s-4);
  border: 1px solid var(--line-2); border-radius: var(--r-lg); background: var(--wash-1); cursor: pointer; text-align: center;
  transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}
.rc-drop input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.rc-drop.is-over { border-color: var(--ink); background: var(--wash-2); }
@media (hover: hover) and (pointer: fine) { .rc-drop:hover { border-color: var(--line-3); background: var(--wash-2); } }
.rc-drop:has(input:focus-visible) { outline: var(--focus); outline-offset: var(--focus-offset); }
.rc-drop-t { font: 600 var(--t-body)/1.45 var(--font); color: var(--ink); }
.rc-drop-s { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-drop.is-full { display: none; }

.rc-consent { max-height: 240px; overflow: auto; padding: var(--s-3) var(--s-4); border: 0; border-radius: var(--r-md); background: var(--canvas); white-space: pre-wrap; font: 400 var(--t-footnote)/1.75 var(--font); color: var(--ink-2); }
.rc-check { position: relative; display: flex; align-items: center; gap: var(--s-3); min-height: var(--h-lg); margin-top: var(--s-2); cursor: pointer; font: 500 var(--t-body)/1.45 var(--font); color: var(--ink); -webkit-tap-highlight-color: transparent; }
.rc-check-inline { margin: 4px 0 var(--s-2); min-height: var(--h-md); font-size: var(--t-ui); }
.rc-check-box { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1.5px solid var(--line-3); border-radius: var(--r-xs); color: transparent; transition: background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out); }
.rc-check-box svg { width: 12px; height: 12px; --icon-stroke: 2.4; }
.rc-check input:checked + .rc-check-box { background: var(--ink); border-color: var(--ink); color: #fff; }

.rc-actionbar {
  position: sticky; bottom: 0; z-index: var(--z-sticky); display: flex; align-items: center; justify-content: space-between; gap: var(--s-3);
  margin: var(--s-2) calc(-1 * var(--gutter)) 0; padding: var(--s-3) var(--gutter) calc(var(--s-3) + env(safe-area-inset-bottom));
  background: var(--glass); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: inset 0 1px var(--line);
}
.rc-actionbar-final { justify-content: flex-end; }
.rc-actionbar-final .rc-btn { flex: 1; }
.rc-save { min-width: 0; font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color var(--dur-2) var(--ease-out); }
.rc-save.is-ok { color: var(--ink-2); }
.rc-save.is-err { color: var(--danger); }
.rc-actionbar .rc-btn:not(.rc-btn-block) { flex: none; }

/* 확인 · 상태 · 완료 */
.rc-review { border-bottom: 1px solid var(--line); }
.rc-av { display: grid; grid-template-columns: 28px minmax(0, 1fr); padding: var(--s-5) 0; border-top: 1px solid var(--line); }
.rc-av-q { display: contents; }
.rc-av-q .rc-q-n { grid-column: 1; }
.rc-av-q { font: 600 var(--t-ui)/1.45 var(--font); color: var(--ink-2); }
.rc-av-a { grid-column: 2; margin: var(--s-2) 0 0; }
.rc-av-a p, .rc-av-long { font: 400 var(--t-body)/1.75 var(--font); color: var(--ink); white-space: pre-wrap; }
.rc-av-count { display: block; margin-top: 4px; font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-av-link { font: 400 var(--t-body)/1.6 var(--font); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
.rc-av-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-av-chips span { display: inline-flex; align-items: center; height: var(--h-xs); padding: 0 10px; border-radius: var(--r-pill); background: var(--wash-2); font: 500 var(--t-caption)/1 var(--font); color: var(--ink-2); }
.rc-av-ok { display: inline-flex; align-items: center; gap: 6px; }
.rc-av-ok svg { width: var(--ic-sm); height: var(--ic-sm); }
.rc-av-none { font: 400 var(--t-ui)/1.45 var(--font); color: var(--ink-3); }
.rc-file-list.is-view .rc-file { min-height: var(--row); }
.rc-h2 { margin: var(--s-7) 0 var(--s-1); font: 600 var(--t-headline)/1.3 var(--font); letter-spacing: -0.02em; color: var(--ink); }
.rc-status-acts { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin: var(--s-1) 0 var(--s-2); }
.rc-status-acts .rc-btn { height: var(--h-md); padding: 0 18px; font-size: var(--t-ui); }
.rc-status-acts form { display: contents; }
.rc-result { margin: var(--s-1) 0 var(--s-4); padding: var(--s-6); border: 1px solid var(--line); border-radius: var(--r-xl); }
.rc-result p { white-space: pre-wrap; font: 400 var(--t-body)/1.75 var(--font); color: var(--ink); }
.rc-result time { display: block; margin-top: var(--s-3); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-result.is-pass { background: var(--ink); border-color: var(--ink); }
.rc-result.is-pass p { color: #fff; }
.rc-result.is-pass time { color: var(--d-fg-3); }
.rc-result.is-pass .rc-btn { margin-top: var(--s-4); height: var(--h-md); background: #fff; color: var(--ink); font-size: var(--t-ui); }

.rc-done { padding-top: 0; text-align: center; }
.rc-done-mark { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--ink); color: #fff; animation: m-pop var(--dur-4) var(--spring-pop) backwards; }
.rc-done-mark svg { width: 28px; height: 28px; }
.rc-done h1 { margin-top: var(--s-6); font: 600 var(--t-title-1)/1.1 var(--font); letter-spacing: -0.04em; color: var(--ink); text-wrap: balance; }
.rc-done > p { max-width: 440px; margin: var(--s-4) auto 0; font: 400 var(--t-body)/1.65 var(--font); color: var(--ink-2); text-wrap: pretty; }
.rc-done .rc-done-note { margin-top: var(--s-4); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-done-acts { display: flex; flex-direction: column; gap: var(--s-2); max-width: var(--w-narrow); margin: var(--s-7) auto 0; }

/* ── 공개 모음 · 카드 — 링크 카드 문법(§4.3) ── */
.rc-cards { display: flex; flex-direction: column; gap: var(--s-3); }
.rc-card {
  position: relative; display: flex; align-items: center; gap: var(--s-4); padding: var(--s-5) var(--s-6); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--paper); color: inherit;
  transition: translate var(--dur-2) var(--ease-out), border-color var(--dur-1) var(--ease-out), scale var(--dur-3) var(--spring);
}
.rc-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; box-shadow: var(--e-2); opacity: 0; pointer-events: none; transition: opacity var(--dur-2) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-card:hover { translate: 0 -2px; border-color: var(--line-2); } .rc-card:hover::after { opacity: 1; } }
.rc-card:active { translate: 0 0; scale: var(--m-press-card); transition-duration: var(--dur-1); }
.rc-card-logo { width: 48px; height: 48px; flex: none; padding: 6px; border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); object-fit: contain; }
.rc-card-logo-txt { display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: var(--ink); color: #fff; font: 600 var(--t-card)/1 var(--font); }
.rc-card-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rc-card-soc { font: 500 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-card-title { font: 600 var(--t-card)/1.3 var(--font); letter-spacing: -0.015em; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rc-card-meta { margin-top: 2px; font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); white-space: normal; overflow: visible; }
.rc-card-meta i { margin: 0 2px 0 6px; font-style: normal; }
.rc-card-meta > span { white-space: nowrap; }
@media (max-width: 699px) { .rc-card-meta > span { white-space: normal; } } /* 한 줄에 하나씩(.meta-dots) */
.rc-sec { margin: 0 0 var(--s-9); }
.rc-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-3); }
.rc-sec-head h2 { display: flex; align-items: center; gap: var(--s-2); font: 600 var(--t-headline)/1.3 var(--font); letter-spacing: -0.02em; }
.rc-sec-n { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--r-pill); background: var(--ink); color: #fff; font: 600 var(--t-micro)/1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.rc-sec-more { font: 500 var(--t-ui)/1 var(--font); color: var(--ink-2); }
@media (hover: hover) and (pointer: fine) { .rc-sec-more:hover { color: var(--ink); } }
.rc-sec-sub { margin: 4px 0 var(--s-4); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
/* ── .rc-plat — 플랫폼 표면 /recruit · /applications(P2) ──
   v5: 셸(x-plat)·머리(.plat-head)·카드·내 지원 목록 규칙은 v4-platform.css §4·§5에 있다(body.x-plat 범위라 여기 기본값을 이긴다).
   이 구간에는 폭만 남긴다 — --w-main 가운데(h1 x가 /meetups와 같다) */
.rc-plat { max-width: calc(var(--w-main) + var(--gutter) * 2); }

/* /:slug/join 안내 — 공개 가입 화면에서는 v5-public.css가 흰 카드로 다시 칠한다(잉크 판 폐지) */
.rc-join { margin-bottom: var(--s-4); padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--paper); }
.rc-join-label { margin: 0 0 var(--s-3); font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-join-item { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); color: var(--ink); transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out); }
.rc-join-item + .rc-join-item { margin-top: var(--s-2); }
@media (hover: hover) and (pointer: fine) { .rc-join-item:hover { border-color: var(--line-2); background: var(--wash-1); } }
.rc-join-item strong { font: 600 var(--t-card)/1.3 var(--font); letter-spacing: -0.015em; }
.rc-join-top { display: flex; align-items: center; gap: var(--s-2); }
.rc-join-when { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-join-cta { display: inline-flex; align-items: center; gap: 4px; font: 500 var(--t-ui)/1.45 var(--font); color: var(--ink-2); }
.rc-join-cta svg { width: var(--ic-sm); height: var(--ic-sm); }
.rc-join-note { margin: var(--s-3) 0 0; font: 400 var(--t-footnote)/1.55 var(--font); color: var(--ink-3); }

/* ════ 운영진 화면 — 팀 앱 셸(has-sb) 안, 데스크톱 밀도 ════════════ */
.rc-admin .container.rc-wide { max-width: calc(var(--w-wide) + var(--gutter) * 2); }
.rc-admin .container.rc-narrow { max-width: calc(var(--w-main) + var(--gutter) * 2); }
.rc-crumb { display: flex; align-items: center; gap: var(--s-2); min-width: 0; margin: 0 0 var(--s-2); padding-top: var(--s-9); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-crumb a { color: var(--ink-3); transition: color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-crumb a:hover { color: var(--ink); } }
.rc-crumb span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); }
.rc-rhead { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s-4); flex-wrap: wrap; margin: 0 0 var(--s-6); }
.rc-rhead-main { min-width: 0; }
.rc-rhead-chips { display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.rc-rhead-period { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-rhead h1 { margin-top: var(--s-3); font: 600 var(--t-title-2)/1.1 var(--font); letter-spacing: -0.035em; color: var(--ink); text-wrap: balance; }
.rc-rhead-acts { display: flex; align-items: center; gap: var(--s-2); flex-wrap: wrap; }
.rc-rhead-acts form { display: inline-flex; }

/* 공고 목록 — 헤어라인 행(§4.4) */
.rc-rlist { display: flex; flex-direction: column; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rc-rrow { position: relative; display: flex; align-items: center; gap: var(--s-5); min-height: var(--row-media); padding: var(--s-4); transition: background-color var(--dur-1) var(--ease-out); }
.rc-rrow + .rc-rrow { border-top: 1px solid var(--line); }
@media (hover: hover) and (pointer: fine) { .rc-rrow:hover { background: var(--wash-1); } }
.rc-rrow:active { background: var(--wash-2); }
.rc-rrow-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--s-1); }
.rc-rrow-chips { display: flex; gap: 6px; }
.rc-rrow-main strong { font: 600 var(--t-body)/1.45 var(--font); letter-spacing: -0.01em; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-rrow-meta { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-rrow-stats { display: flex; gap: var(--s-5); flex: none; }
.rc-rrow-stats span { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font: 400 var(--t-caption)/1.2 var(--font); color: var(--ink-3); }
.rc-rrow-stats b { font: 600 var(--t-body)/1.2 var(--font); font-variant-numeric: tabular-nums; color: var(--ink); letter-spacing: 0; }
.rc-rrow-go { flex: none; display: inline-flex; color: var(--ink-4); }
.rc-rrow-go svg { width: var(--ic-sm); height: var(--ic-sm); }

/* 스위치(§4.2) — 트랙 40×24, 노브 20, 켬 잉크 */
.rc-switch { position: relative; display: flex; align-items: center; gap: var(--s-3); min-height: var(--hit); cursor: pointer; font: 400 var(--t-ui)/1.5 var(--font); color: var(--ink); }
.rc-switch-ui { flex: none; position: relative; width: 40px; height: 24px; border-radius: var(--r-pill); background: var(--line-2); transition: background-color var(--dur-1) var(--ease-out); }
.rc-switch-ui::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: var(--e-knob); transition: translate var(--dur-3) var(--spring), scale var(--dur-3) var(--spring); }
.rc-switch input:checked + .rc-switch-ui { background: var(--ink); }
.rc-switch input:checked + .rc-switch-ui::after { translate: 16px 0; }
.rc-switch:active .rc-switch-ui::after { scale: 1.08 .92; }
.rc-switch input:disabled + .rc-switch-ui { opacity: .4; }
.rc-switch:has(input:focus-visible) .rc-switch-ui { outline: var(--focus); outline-offset: var(--focus-offset); }

.rc-tplpick { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--s-2); }
.rc-tplcard { position: relative; cursor: pointer; }
.rc-tplcard-in { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: var(--s-3) var(--s-4); border: 1px solid var(--line-2); border-radius: var(--r-md); transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out); }
.rc-tplcard-in strong { font: 600 var(--t-ui)/1.45 var(--font); }
.rc-tplcard-in span { font: 400 var(--t-caption)/1.5 var(--font); color: var(--ink-3); }
.rc-tplcard input:checked + .rc-tplcard-in { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: var(--wash-1); }
.rc-tplcard:has(input:focus-visible) .rc-tplcard-in { outline: var(--focus); outline-offset: var(--focus-offset); }

.rc-danger { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); margin-top: var(--s-8); padding: var(--s-4) var(--s-5); border: 1px solid var(--danger-line); border-radius: var(--r-lg); }
.rc-danger strong { font: 600 var(--t-ui)/1.45 var(--font); }
.rc-danger p { margin-top: 2px; font: 400 var(--t-footnote)/1.6 var(--font); color: var(--ink-3); }
.rc-danger-acts { display: flex; gap: var(--s-2); flex: none; }

/* 양식 빌더 */
.rc-builder { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: var(--s-7); align-items: start; }
.rc-b-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); margin-bottom: var(--s-4); flex-wrap: wrap; }
.rc-b-tpls { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.rc-b-lbl { margin-right: 4px; font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-chipbtn { position: relative; height: var(--h-sm); padding: 0 14px; border: 0; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-footnote)/1 var(--font); transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), scale var(--dur-3) var(--spring); }
.rc-chipbtn:active { scale: var(--m-press-chip); transition-duration: var(--dur-1); }
@media (hover: hover) and (pointer: fine) { .rc-chipbtn:hover { background: var(--wash-3); color: var(--ink); } }
.rc-b-status { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; transition: color var(--dur-2) var(--ease-out); }
.rc-b-status.is-dirty { color: var(--ink-2); }
.rc-b-status.is-err { color: var(--danger); }
.rc-qlist { list-style: none; display: flex; flex-direction: column; gap: var(--s-2); padding: 0; }
.rc-bq { border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--paper); transition: border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-bq:hover { border-color: var(--line-2); } }
.rc-bq.is-open { border-color: var(--ink); box-shadow: var(--ring-input); }
.rc-bq.is-new { animation: m-rise var(--dur-2) var(--ease-out) backwards; }
.rc-bq-sum { display: flex; align-items: center; gap: var(--s-3); min-height: var(--row); padding: var(--s-2) var(--s-2) var(--s-2) var(--s-4); cursor: pointer; }
.rc-bq-n { flex: none; width: 20px; font: 500 var(--t-footnote)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-bq-title { flex: 1; min-width: 0; font: 500 var(--t-ui)/1.45 var(--font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-bq-title em { font-style: normal; font-weight: 400; color: var(--ink-3); }
.rc-bq-type { flex: none; display: inline-flex; align-items: center; height: var(--h-xs); padding: 0 10px; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-caption)/1 var(--font); }
.rc-bq-req { flex: none; display: inline-flex; align-items: center; height: var(--h-xs); padding: 0 10px; border-radius: var(--r-pill); background: var(--ink); color: #fff; font: 500 var(--t-caption)/1 var(--font); }
.rc-bq-pre { flex: none; font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-bq-tools { flex: none; display: flex; gap: 2px; }
.rc-bq-tools button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--h-sm); height: var(--h-sm); border-radius: 50%; color: var(--ink-3); transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .rc-bq-tools button:hover:not(:disabled) { background: var(--wash-2); color: var(--ink); }
  .rc-bq-tools button[data-act="del"]:hover { color: var(--danger); }
}
.rc-bq-tools button:disabled { color: var(--ink-5); cursor: default; }
.rc-bq-tools svg { width: var(--ic-sm); height: var(--ic-sm); }
.rc-bq-body { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-1) var(--s-4) var(--s-4) 48px; }
.rc-bq-body .input { height: var(--h-md); padding: 0 var(--s-3); border-radius: var(--r-md); font-size: var(--t-ui); background: var(--paper); }
.rc-bq-body textarea.input { height: auto; min-height: 80px; padding: var(--s-2) var(--s-3); line-height: 1.6; }
.rc-bq-f { display: flex; flex-direction: column; gap: 6px; font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-2); }
.rc-bq-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); align-items: end; }
.rc-bq-row3 { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-3); align-items: center; }
.rc-bq-hint { font: 400 var(--t-caption)/1.45 var(--font); color: var(--ink-3); }
.rc-bq-mini { align-self: flex-start; height: var(--h-sm); padding: 0 14px; border: 0; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-footnote)/1 var(--font); transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-bq-mini:hover { background: var(--wash-3); color: var(--ink); } }
.rc-b-add { margin-top: var(--s-5); }
.rc-b-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-2); margin-top: var(--s-2); }
.rc-typebtn { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); text-align: left; transition: border-color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-typebtn:hover { border-color: var(--line-2); background: var(--wash-1); } }
.rc-typebtn strong { font: 600 var(--t-footnote)/1.45 var(--font); }
.rc-typebtn span { font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-b-foot { margin-top: var(--s-4); font: 400 var(--t-footnote)/1.6 var(--font); color: var(--ink-3); }
.rc-b-empty { padding: var(--s-7); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--canvas); text-align: center; font: 400 var(--t-ui)/1.6 var(--font); color: var(--ink-3); }
.rc-b-side { position: sticky; top: var(--s-4); }
.rc-phone { overflow: hidden; border: 1px solid var(--line-2); border-radius: var(--r-xl); background: var(--paper); box-shadow: var(--e-2); }
.rc-phone-bar { display: flex; align-items: center; justify-content: space-between; height: var(--h-md); padding: 0 var(--s-4); border-bottom: 1px solid var(--line); background: var(--canvas); font: 600 var(--t-caption)/1 var(--font); color: var(--ink-3); }
.rc-phone-bar a { color: var(--ink-3); font-weight: 500; }
@media (hover: hover) and (pointer: fine) { .rc-phone-bar a:hover { color: var(--ink); } }
.rc-phone-frame { display: block; width: 100%; height: min(760px, calc(100vh - 160px)); border: 0; background: var(--paper); }
@media (max-width: 1240px) { .rc-builder { grid-template-columns: minmax(0, 1fr) 320px; } }
@media (max-width: 1079px) {
  .rc-builder { grid-template-columns: minmax(0, 1fr); }
  .rc-b-side { position: static; width: 100%; max-width: var(--w-narrow); justify-self: center; } /* 한 열로 접히면 폰 미리보기는 기둥 가운데(axis) */
  .rc-b-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 지원자 관리 — 도구줄 40h(세그먼트 40 · 검색 알약 40 · select 알약 40 · 버튼 md · 간격 8) · 표 · 칸반 */
.rc-tools { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-4); flex-wrap: wrap; }
.rc-tools-sp { flex: 1; }
body.has-sb .rc-tools .seg { height: var(--h-md); }
body.has-sb .rc-tools .seg > :is(a, button) { height: 34px; }
.rc-search { display: flex; align-items: center; gap: var(--s-2); width: 280px; height: var(--h-md); padding: 0 var(--s-4); border: 1px solid var(--line-2); border-radius: var(--r-pill); background: var(--paper); color: var(--ink-3); transition: border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out); }
.rc-search:focus-within { box-shadow: var(--ring-input); }
.rc-search svg { width: var(--ic-sm); height: var(--ic-sm); flex: none; }
.rc-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: 400 var(--t-ui)/1 var(--font); color: var(--ink); }
body.has-sb .rc-sort select.input { width: auto; height: var(--h-md); padding: 0 40px 0 var(--s-4); border-radius: var(--r-pill); font-size: var(--t-ui); background-color: var(--paper); }
body.has-sb .rc-tools .btn { height: var(--h-md); padding: 0 18px; font-size: var(--t-ui); }
.rc-bulk { display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap; padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-bottom: 0; border-radius: var(--r-lg) var(--r-lg) 0 0; background: var(--canvas); }
body.has-sb .rc-bulk select.input { width: auto; height: var(--h-sm); padding: 0 34px 0 var(--s-3); border-radius: var(--r-sm); font-size: var(--t-footnote); background-color: var(--paper); background-position: right 12px center; }
.rc-bulk-n { font: 400 var(--t-footnote)/1 var(--font); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-bulk-n b { color: var(--ink); }
.rc-bulk-hint { margin-left: auto; font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-cb { position: relative; display: inline-flex; cursor: pointer; }
.rc-cb span { display: inline-block; width: 18px; height: 18px; border: 1.5px solid var(--line-3); border-radius: var(--r-xs); background: var(--paper); transition: background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out); }
.rc-cb input:checked + span { background: var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; border-color: var(--ink); }
.rc-cb input:indeterminate + span { background: var(--ink) linear-gradient(#fff, #fff) center/8px 2px no-repeat; border-color: var(--ink); }
.rc-cb input:focus-visible + span { outline: var(--focus); outline-offset: var(--focus-offset); }
.rc-tbl-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 0 0 var(--r-lg) var(--r-lg); background: var(--paper); }
.rc-tbl { width: 100%; min-width: 820px; border-collapse: collapse; font: 400 var(--t-ui)/1.45 var(--font); }
.rc-tbl th { padding: var(--s-2) var(--s-3); border-bottom: 1px solid var(--line); text-align: left; font: 600 var(--t-caption)/1.4 var(--font); color: var(--ink-3); white-space: nowrap; background: var(--paper); }
.rc-tbl td { padding: var(--s-3); border-bottom: 1px solid var(--line); vertical-align: middle; }
.rc-tbl tr:last-child td { border-bottom: 0; }
.rc-tbl tbody tr { cursor: pointer; }
.rc-tbl tbody td { transition: background-color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-tbl tbody tr:hover td { background: var(--wash-1); } }
.rc-tbl tbody tr.is-sel td { background: var(--wash-2); }
.rc-tbl .c-cb { width: 44px; padding-right: 0; }
.rc-tname { display: flex; align-items: center; gap: var(--s-3); min-width: 0; color: inherit; }
.rc-tname > span { display: flex; flex-direction: column; min-width: 0; }
.rc-tname strong { font-weight: 600; color: var(--ink); }
.rc-em { font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-sub { font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-2); }
.rc-score { display: inline-flex; align-items: baseline; gap: 4px; }
.rc-score b { font: 600 var(--t-ui)/1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.rc-score span { font: 400 var(--t-caption)/1 var(--font); color: var(--ink-3); }
.rc-mine { display: inline-flex; align-items: center; height: var(--h-xs); margin-left: var(--s-2); padding: 0 var(--s-2); border-radius: var(--r-pill); box-shadow: inset 0 0 0 1px var(--line-2); font: 500 var(--t-caption)/1 var(--font); color: var(--ink-2); white-space: nowrap; }
.rc-blind { font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-sent { margin-left: 6px; font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-sent.is-stale { color: var(--danger); font-weight: 600; }
/* 결과를 이미 보낸 지원자에 대한 경고 — 되돌릴 수 없는 발송이라 오류색 하나만 쓴다 */
.rc-warn { display: inline-flex; align-items: center; font: 600 var(--t-caption)/1.4 var(--font); color: var(--danger); }
.rc-prev-top { flex-wrap: wrap; }
.rc-prev-item.is-changed { background: var(--danger-wash); }
.rc-empty-sm { padding: var(--s-8) var(--s-4); border: 1px solid var(--line); border-radius: 0 0 var(--r-lg) var(--r-lg); text-align: center; font: 400 var(--t-ui)/1.6 var(--font); color: var(--ink-3); }

.rc-board-hint { margin: calc(-1 * var(--s-1)) 0 var(--s-3); font: 400 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-board { display: grid; grid-template-columns: repeat(5, minmax(196px, 1fr)); gap: var(--s-3); overflow-x: auto; padding-bottom: var(--s-3); }
.rc-col { display: flex; flex-direction: column; min-height: 460px; border: 0; border-radius: var(--r-lg); background: var(--canvas); }
.rc-col-head { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4) var(--s-2); font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink); }
.rc-col-head b { margin-left: auto; font: 500 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-col-dot { width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--ink-4); }
.rc-col-dot.st-doc_pass { background: var(--ink-5); border-color: transparent; }
.rc-col-dot.st-interview { background: var(--ink-4); border-color: transparent; }
.rc-col-dot.st-accepted { background: var(--ink); border-color: var(--ink); }
.rc-col-dot.st-rejected { border-style: dashed; }
.rc-col-body { flex: 1; display: flex; flex-direction: column; gap: var(--s-2); padding: 0 var(--s-2) var(--s-2); border-radius: 0 0 var(--r-lg) var(--r-lg); transition: background-color var(--dur-1) var(--ease-out); }
.rc-col-body.is-over { background: var(--wash-2); box-shadow: inset 0 0 0 1px var(--line-2); }
.rc-kcard { position: relative; display: flex; flex-direction: column; gap: 6px; padding: var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--paper); box-shadow: none; cursor: grab; transition: border-color var(--dur-1) var(--ease-out), opacity var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-kcard:hover { border-color: var(--line-2); } }
.rc-kcard.is-drag { opacity: .35; }
.rc-kcard.is-moved { animation: m-rise var(--dur-2) var(--ease-out) backwards; }
.rc-kcard-top { display: flex; align-items: center; gap: var(--s-2); }
.rc-kcard-top strong { flex: 1; min-width: 0; font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-kcard-sub { font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-kcard-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); }
.rc-kcard-foot .rc-mono { font-size: var(--t-caption); }

/* 지원서 상세 */
.rc-det-nav { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-4); }
.rc-det-back { position: relative; display: inline-flex; align-items: center; gap: 6px; height: var(--h-sm); padding: 0 14px 0 var(--s-2); margin-right: auto; border-radius: var(--r-pill); background: var(--wash-2); font: 500 var(--t-footnote)/1 var(--font); color: var(--ink); transition: background-color var(--dur-1) var(--ease-out); }
.rc-det-back svg { width: var(--ic-sm); height: var(--ic-sm); }
@media (hover: hover) and (pointer: fine) { .rc-det-back:hover { background: var(--wash-3); } }
.rc-det-pos { margin-right: 4px; font: 400 var(--t-footnote)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-det-nav .is-off { opacity: .35; pointer-events: none; }
.rc-det { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--s-7); align-items: start; }
.rc-det-main { min-width: 0; }
.rc-det-id { display: flex; align-items: center; gap: var(--s-4); padding-bottom: var(--s-5); }
.rc-det-who { min-width: 0; }
.rc-det-who h2 { display: flex; align-items: center; gap: var(--s-3); font: 600 var(--t-headline)/1.3 var(--font); letter-spacing: -0.02em; }
.rc-det-who p { margin-top: 2px; font: 400 var(--t-ui)/1.45 var(--font); color: var(--ink-2); }
.rc-det-who p.rc-dim { font-size: var(--t-footnote); color: var(--ink-3); font-variant-numeric: tabular-nums; }
.rc-review-admin .rc-av { padding: var(--s-5) 0; }
.rc-review-admin .rc-av-a { max-width: var(--w-main); }
.rc-review-admin .rc-file-list.is-view { max-width: 520px; }
.rc-det-side { position: sticky; top: var(--s-4); display: flex; flex-direction: column; gap: var(--s-3); }
.rc-panel { padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--paper); }
.rc-panel h3 { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s-2); margin-bottom: var(--s-3); font: 600 var(--t-ui)/1.45 var(--font); }
.rc-panel-avg { font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-panel-avg b { font-variant-numeric: tabular-nums; color: var(--ink); }
.rc-panel-note, .rc-panel-empty { margin-top: var(--s-3); font: 400 var(--t-footnote)/1.6 var(--font); color: var(--ink-3); }
.rc-panel-empty { margin-top: 0; }
.rc-stagepick { display: flex; flex-wrap: wrap; gap: 6px; }
.rc-stg { position: relative; height: var(--h-sm); padding: 0 14px; border: 0; border-radius: var(--r-pill); background: var(--wash-2); color: var(--ink-2); font: 500 var(--t-footnote)/1 var(--font); transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), scale var(--dur-3) var(--spring); }
.rc-stg:active { scale: var(--m-press-chip); transition-duration: var(--dur-1); }
@media (hover: hover) and (pointer: fine) { .rc-stg:hover { background: var(--wash-3); color: var(--ink); } }
.rc-stg.on, .rc-stg.on:hover { background: var(--ink); color: #fff; }
.rc-scorepick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.rc-scorepick label { position: relative; cursor: pointer; }
.rc-scorepick span { display: flex; align-items: center; justify-content: center; height: var(--h-md); border: 1px solid var(--line-2); border-radius: var(--r-md); font: 600 var(--t-body)/1 var(--font); font-variant-numeric: tabular-nums; transition: background-color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out); }
@media (hover: hover) and (pointer: fine) { .rc-scorepick label:hover span { border-color: var(--line-3); } }
.rc-scorepick input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.rc-scorepick input:focus-visible + span { outline: var(--focus); outline-offset: var(--focus-offset); }
.rc-scorelegend { display: flex; justify-content: space-between; margin: 6px 2px var(--s-3); font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-panel textarea.input { font-size: var(--t-ui); background: var(--paper); }
.rc-rev { padding: var(--s-3) 0; border-top: 1px solid var(--line); }
.rc-rev:first-of-type { border-top: 0; padding-top: 0; }
.rc-rev-top { display: flex; align-items: center; gap: var(--s-2); font: 400 var(--t-footnote)/1.45 var(--font); }
.rc-rev-top strong { font-weight: 600; }
.rc-rev-top time { margin-left: auto; font: 400 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-rev p { margin-top: 6px; white-space: pre-wrap; font: 400 var(--t-footnote)/1.6 var(--font); color: var(--ink-2); }
.rc-dots { display: inline-flex; gap: 3px; }
.rc-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--ink-5); }
.rc-dots i.on { background: var(--ink); }
@media (max-width: 1079px) {
  .rc-det { grid-template-columns: minmax(0, 1fr); }
  .rc-det-side { position: static; }
}

/* 결과 발표 */
.rc-res-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin-bottom: var(--s-6); }
.rc-res-stats > div { display: flex; flex-direction: column; gap: 2px; padding: var(--s-4) var(--s-5); border: 1px solid var(--line); border-radius: var(--r-lg); }
.rc-res-stats span { font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-3); }
.rc-res-stats b { font: 600 var(--t-title-2)/1.1 var(--font); font-variant-numeric: tabular-nums; letter-spacing: 0; }
.rc-res-stats em { min-height: 18px; font: 400 var(--t-caption)/1.4 var(--font); font-style: normal; color: var(--ink-3); }
.rc-res-form { padding: var(--s-6); border: 1px solid var(--line); border-radius: var(--r-xl); }
.rc-res-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); margin-bottom: var(--s-3); }
.rc-res-lbl { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-2); font: 600 var(--t-footnote)/1.45 var(--font); color: var(--ink-2); }
.rc-res-col textarea.input { font-size: var(--t-ui); background: var(--paper); }
.rc-bubble-wrap { margin-top: var(--s-3); }
.rc-bubble-to { display: block; margin: 0 0 6px 2px; font: 400 var(--t-caption)/1.4 var(--font); color: var(--ink-3); }
.rc-bubble { padding: var(--s-3) var(--s-4); border: 1px solid var(--line); border-radius: var(--r-xs) var(--r-lg) var(--r-lg) var(--r-lg); background: var(--canvas); white-space: pre-wrap; font: 400 var(--t-footnote)/1.7 var(--font); }
.rc-res-sent { margin-top: var(--s-7); }
.rc-sentlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 6px; margin-top: var(--s-3); }
.rc-sentlist > div { display: flex; align-items: center; flex-wrap: wrap; row-gap: 4px; gap: var(--s-2); padding: var(--s-2) var(--s-3); border: 1px solid var(--line); border-radius: var(--r-md); font: 400 var(--t-footnote)/1.45 var(--font); }
.rc-sentlist time { margin-left: auto; font: 400 var(--t-caption)/1 var(--font); font-variant-numeric: tabular-nums; color: var(--ink-3); letter-spacing: 0; }
.rc-sentlist strong { white-space: nowrap; }
.rc-sentlist .rc-warn { order: 3; flex-basis: 100%; }
.rc-confirm { max-width: var(--w-main); }
.rc-confirm h2 { font: 600 var(--t-headline)/1.3 var(--font); letter-spacing: -0.02em; }
.rc-confirm > p { margin-top: 6px; font: 400 var(--t-ui)/1.6 var(--font); color: var(--ink-2); }
.rc-prev-list { max-height: 56vh; margin-top: var(--s-5); overflow: auto; border: 1px solid var(--line); border-radius: var(--r-lg); }
.rc-prev-item { padding: var(--s-4); border-top: 1px solid var(--line); }
.rc-prev-item:first-child { border-top: 0; }
.rc-prev-top { display: flex; align-items: center; gap: var(--s-2); font: 400 var(--t-ui)/1.45 var(--font); }
.rc-prev-item p { margin-top: var(--s-2); white-space: pre-wrap; font: 400 var(--t-ui)/1.7 var(--font); color: var(--ink); }
.rc-confirm-acts { display: flex; justify-content: flex-end; gap: var(--s-2); margin-top: var(--s-4); }

/* 모집 전용 토스트는 폐지 — recruit.js가 공용 토스트(motion.js maruMotion.toast, 슬롯 하나)를 쓴다. 폴백만 같은 문법으로 */
.rc-toast { position: fixed; left: 0; right: 0; bottom: calc(24px + env(safe-area-inset-bottom)); z-index: var(--z-toast); width: fit-content; max-width: calc(100vw - 32px); margin-inline: auto; padding: 0 18px; height: var(--hit); display: flex; align-items: center; border-radius: var(--r-pill); background: var(--ink); color: #fff; font: 500 var(--t-ui)/1 var(--font); box-shadow: var(--e-3); opacity: 0; pointer-events: none; transition: opacity var(--dur-2) var(--ease-in); }
.rc-toast.on { opacity: 1; animation: m-toast var(--dur-3) var(--spring) backwards; }
/* 서버 토스트(app.css) — 행동 막대가 있는 화면에선 막대 위로 */
.rc-has-ctabar .toast, .rc-applying .toast { bottom: calc(96px + env(safe-area-inset-bottom)); }
.rc-admin .btn:disabled { background: var(--wash-2); color: var(--ink-4); pointer-events: none; }

@media (max-width: 879px) {
  .rc-rrow { flex-wrap: wrap; gap: var(--s-3); }
  .rc-rrow-stats { width: 100%; justify-content: flex-start; }
  .rc-rrow-stats span { align-items: flex-start; }
  .rc-rrow-go { display: none; }
  .rc-res-grid, .rc-res-stats { grid-template-columns: minmax(0, 1fr); }
  .rc-danger { flex-direction: column; align-items: flex-start; }
  .rc-b-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rc-bq-body { padding-left: var(--s-4); }
}
@media (max-width: 699px) {
  .rc-in { font-size: 16px; }
  .rc-crumb { padding-top: var(--s-6); }
  .rc-draftbar { margin-top: calc(-1 * var(--s-9)); }
  .rc-ctabar-in { flex-direction: column; align-items: stretch; gap: var(--s-2); }
  .rc-ctabar-in .rc-btn-block, .rc-actionbar-final .rc-btn, .rc-done-acts .rc-btn { width: 100%; height: var(--h-xl); font-size: var(--t-card); }
  .rc-ctanote { text-align: center; }
  .rc-actionbar .rc-btn { height: var(--h-xl); padding: 0 22px; font-size: var(--t-card); }
  .rc-facts > div { grid-template-columns: 80px minmax(0, 1fr); }
  /* 도구줄 — 검색은 한 줄 전폭 */
  .rc-tools { gap: var(--s-2); }
  .rc-search { width: 100%; order: 3; }
  .rc-tools-sp { display: none; }
  /* 지원자 표 → 목록 셀(가로 넘침 0) */
  .rc-tbl-wrap { overflow-x: visible; }
  .rc-tbl { min-width: 0; }
  .rc-tbl thead { display: none; }
  .rc-tbl, .rc-tbl tbody { display: block; }
  .rc-tbl tr { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "cb name stage" "cb sub sub" "cb meta meta"; align-items: center; column-gap: var(--s-2); padding: var(--s-3) var(--s-3) var(--s-3) 0; border-bottom: 1px solid var(--line); }
  .rc-tbl tr:last-child { border-bottom: 0; }
  .rc-tbl td { display: block; padding: 0; border: 0; }
  .rc-tbl td.c-cb { grid-area: cb; width: 44px; display: flex; justify-content: center; }
  .rc-tbl td:nth-child(2) { grid-area: name; min-width: 0; }
  .rc-tbl td:nth-child(3) { grid-area: sub; padding-left: 40px; }
  .rc-tbl td:nth-child(4), .rc-tbl td:nth-child(5), .rc-tbl td:nth-child(6) { display: inline; }
  .rc-tbl td:nth-child(4) { grid-area: meta; padding-left: 40px; }
  .rc-tbl td:nth-child(5), .rc-tbl td:nth-child(6) { display: none; }
  .rc-tbl td:nth-child(7) { grid-area: stage; }
  .rc-bulk-hint { margin-left: 0; flex-basis: 100%; }
  /* 양식 편집기 질문 행 — 390에서 칩·도구가 한 줄에 다 서면 제목이 0이 되고 도구가 패널 밖으로 28px 넘친다(axis).
     1줄: 번호 · 제목 · 도구 / 2줄: 제목 아래 칩(프리셋·유형·필수) — ::after가 줄을 끊는다 */
  .rc-bq-sum { flex-wrap: wrap; row-gap: 0; }
  .rc-bq-n { order: 0; }
  .rc-bq-title { order: 1; flex: 1 1 0; }
  .rc-bq-tools { order: 2; }
  .rc-bq-sum::after { content: ''; order: 3; flex-basis: 100%; height: 0; }
  :is(.rc-bq-pre, .rc-bq-type, .rc-bq-req) { order: 4; margin: 2px 0 var(--s-2); white-space: nowrap; }
  .rc-bq-title + :is(.rc-bq-pre, .rc-bq-type, .rc-bq-req) { margin-left: 32px; } /* 번호 20 + 간격 12 — 제목 글자 아래에서 시작 */
}
@media (max-width: 420px) {
  .rc-q-help, .rc-av-a { margin-left: 0; }
  .rc-my-sub, .rc-my-result { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rc-done-mark, .rc-bq.is-new, .rc-kcard.is-moved { animation: none; }
}
.rc-panel-save { margin-top: var(--s-3); }

/* 누르는 자리 44(§1 촉감 · 390 탭 타깃) — 보이는 크기는 그대로, ::after로 넓힌다 */
.rc-bq-tools button::after, .rc-chipbtn::after, .rc-stg::after, .rc-det-back::after, .rc-back::after, .rc-bq-mini::after { content: ''; position: absolute; inset: -6px 0; }
.rc-bq-tools button::after { inset: -6px; }
.rc-crumb a { position: relative; }
.rc-crumb a::after { content: ''; position: absolute; inset: -13px -12px; }
.rc-phone-bar a { position: relative; }
.rc-phone-bar a::after { content: ''; position: absolute; inset: -16px -12px; }
.rc-av-link { position: relative; }
.rc-av-link::after { content: ''; position: absolute; inset: -13px 0; }
.rc-tname { min-height: var(--hit); }
.rc-top-mine .rc-top-n { margin-left: 6px; }
:where(.rc-admin, .rc-body) :where(b, strong) { font-weight: 600; }
@media (max-width: 699px) {
  .rc-search { height: var(--h-lg); }
  .rc-search input { height: 100%; font-size: 16px; }
  body.has-sb .rc-sort select.input, body.has-sb .rc-bulk select.input { height: var(--h-lg); font-size: 16px; }
  body.has-sb .rc-adm .utabs > a { min-width: var(--hit); justify-content: center; }
  /* 단계 필터 칩 — 가로 스크롤 스냅 + 양끝 20px 페이드(§4.6) */
  body.has-sb .rc-adm .fbar { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--s-5), #000 calc(100% - var(--s-5)), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 var(--s-5), #000 calc(100% - var(--s-5)), transparent); }
}
/* 팀 앱 셸의 체크·라디오 18px 기본값(v4-app.css)보다 앞서게 — 보이지 않는 입력이 라벨·체크 칸을 덮는다(누르는 자리 44) */
html body :is(.rc-switch, .rc-tplcard, .rc-opt, .rc-slot, .rc-check):is(.rc-switch, .rc-tplcard, .rc-opt, .rc-slot, .rc-check) input:is([type=checkbox], [type=radio]) { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; }
html body .rc-scorepick.rc-scorepick input[type=radio] { position: absolute; inset: -2px 0; width: 100%; height: auto; margin: 0; opacity: 0; }
html body .rc-cb.rc-cb input[type=checkbox] { position: absolute; inset: -13px; width: auto; height: auto; margin: 0; opacity: 0; }
