/* STYLE-LIBRARY:BEGIN — tools/pick-style.js 가 쓴 블록. 손으로 고치지 말고 다시 실행 */
:root{--bg:#f4f0ed;--paper:#ffffff;--ink:#1c1c22;--muted:#585866;--accent:#2b66d9;--accent-ink:#ffffff;--line:#e8e3df;--font-display:"Plus Jakarta Sans", Pretendard, "Noto Sans KR", sans-serif;--font-body:Pretendard, "Noto Sans KR", system-ui, sans-serif;--radius:24px;--shadow:0 20px 40px rgba(40, 40, 60, .10);--border:1px solid rgba(255, 255, 255, .8);--card-pad:20px;--dur:500ms;--ease:cubic-bezier(0.4, 0, 0.2, 1);--enter:rise-blur;--stagger:80ms;--layout:bento;--x-holo:linear-gradient(135deg, #9fd8f5 0%, #b9a7f2 50%, #f3b8d8 100%)}
/* STYLE-LIBRARY:END */
/* 현금영수증 자진발급분 등록·발급 확인 안내(/cash-receipt-self-issued/). 사이트 공통 styles.css 다음에 읽는다.
 * Design read: 현금으로 내고 영수증을 못 받았거나 010-000-1234 영수증을 손에 든 일반인(폰·카톡 인앱)을 위한 calm·trust 안내. 다이얼 VARIANCE 3 · MOTION 2 · DENSITY 5.
 * 색·모서리·그림자·움직임 길이는 위 STYLE-LIBRARY 블록(스타일 창고 vision-glass, tools/pick-style.js 가 씀)의 토큰만 쓴다. 바깥 글꼴은 불러오지 않는다(글꼴은 사이트 --font).
 * 짜임(참고 화면 owner-14871/mobbin-2): 큰 모서리의 옅은 면(.cr-panel) 위에 흰 질문 카드(.cr-ask) → 그 아래 할 일 카드 격자(bento 타일).
 *   넓은 화면(1280px 이상)은 질문 | 카드 두 칸, 좁은 화면(1279px 까지 = 폰·폴드 펼침 1100)은 위아래 한 줄.
 * 상태는 선·색·배경으로: 고른 선택지 = 파랑 테두리·옅은 파랑 바탕, 기한 타일 = 주황 바탕, 단서 문장 = 주황 왼쪽 선. 카드 번호(data-n)는 할 일 순서.
 * 광고: 사이트 공통 자동광고·본문 광고를 그대로 받는다. 광고를 숨기거나 덮는 규칙·고정(sticky·fixed) 요소를 두지 않는다.
 *   「광고」 라벨 글자색만 /etf-guide/ 와 같은 덮어쓰기로 바탕 대비 4.5 이상(밝음 4.97 · 다크 7.31). 광고 칸·위치·크기는 그대로(맨 아래 한 줄). */
:root {
  --cr-panel: #ebe5e0;        /* 옅은 면: --bg 보다 한 단계 진함 */
  --cr-tile: #faf8f6;         /* 카드 안 타일 */
  --cr-accent-soft: #e8effc;  /* 고른 선택지·개수 줄 바탕 */
  --cr-accent-text: #1f4fae;  /* 옅은 파랑 위 글자: 대비 6.9 */
  --cr-on-accent: #ffffff;    /* --accent(#2b66d9) 위 글자: 대비 5.2 */
  --cr-mark: #fff3df;         /* 기한 타일 */
  --cr-mark-line: #e9b765;
  --cr-mark-ink: #7a4300;     /* 대비 7.4 */
  --cr-ring: #b9b1aa;         /* 고르기 전 동그라미 테두리: 흰 바탕 대비 3.1 */
}
@media screen and (prefers-color-scheme: dark) {
  /* 창고 묶음은 밝은 색만 있다 → 같은 이름을 사이트 다크 토큰 값으로 되돌리고 이 쪽 토큰도 어둡게 */
  :root {
    --bg: #0e1117; --paper: #171c25; --ink: #edf1f7; --muted: #b4bdca; --line: #2a3140;
    --accent: #79a8ff; --accent-ink: #ffffff; --shadow: none; --border: 1px solid #2a3140;
    --cr-panel: #12161e; --cr-tile: #1c222c; --cr-accent-soft: #1b2740; --cr-accent-text: #c7dbff; --cr-on-accent: #0b1220;
    --cr-mark: #2e2616; --cr-mark-line: #6b5429; --cr-mark-ink: #ffd48a; --cr-ring: #6c7686;
  }
}
/* 문서의 스크롤 고정(scroll anchoring)은 끄지 않는다: 위쪽 광고 칸이 늦게 차거나 접혀도 읽던 글이 밀리지 않게(시험 5-4, 끈 판은 360px 등록 카드 제목 360→652).
   고르기 때 누른 칸이 끌려가지 않는 것은 라디오를 자기 선택지 칸 안에 둔 것(.cr-o)으로 충분하다: 스크롤 고정을 켠 채 누른 칸을 화면 위·가운데·아래에 두고
   360·412·1100·1440 에서 잰 scrollY 변화 0(시험 5-2·5-6) */
html { scroll-padding-top: 16px; }
.cr-hero, .cr-finder, .cr-next, #basis { word-break: keep-all; overflow-wrap: anywhere; }

/* 첫 화면: 제목 · 한 줄 설명 · 이 쪽이 답하는 질문 두 갈래(A·B → 상황 고르기) */
.site-header.cr-hero { padding: var(--s6) 0 var(--s5); }
.cr-hero h1 { margin-bottom: var(--s2); }
.cr-hero .lede { max-width: 40rem; margin-bottom: 0; color: var(--ink); }
.cr-qs { display: grid; gap: var(--s2); max-width: 44rem; margin-top: var(--s4); }
.cr-qs a { display: flex; align-items: center; gap: var(--s3); min-height: 52px; padding: 6px var(--s4) 6px 6px; border: var(--border); border-radius: 999px; background: var(--paper); box-shadow: var(--shadow); color: var(--ink); font-weight: 700; line-height: 1.35; text-decoration: none; -webkit-tap-highlight-color: transparent; transition: transform calc(var(--dur) * .4) var(--ease); }
.cr-qs a:hover { transform: translateY(-1px); }
.cr-qs-k { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--cr-on-accent); font-weight: 800; }

/* 처음 그리기(바름 r1-6): 화면 JS(defer)가 돌기 전에는 카드 6장·업종 질문·개수 줄을 미리 숨기고 빈 안내를 보인다 = 준비 뒤 첫 상태와 같은 그림이라
   보였다가 사라지는 깜빡임·아래 구획 밀림이 없다. 자바스크립트가 켜진 경우에만(scripting: enabled) 걸리므로 꺼진 경우는 카드·질문이 전부 보인다.
   이 기능을 모르는 옛 브라우저는 규칙을 건너뛰어 예전처럼 그린다. 엔진이나 app.js 요청이 실패하면 <script onerror> 가 <html data-cr-fail> 을 붙여(app.js 에 기대지 않음) 꺼짐과 같이 전부 보인다 */
@media (scripting: enabled) {
  html:not([data-cr-fail]) body:not([data-cr-ready]) .cr-card, html:not([data-cr-fail]) body:not([data-cr-ready]) #cr-more, html:not([data-cr-fail]) body:not([data-cr-ready]) #cr-count-wrap { display: none; }
}
html[data-cr-fail] #cr-empty { display: none; }
/* 빈 안내(#cr-empty)는 처음부터 보이게 hidden 없이 둔다(사이트 공통 [hidden] 은 !important 라 덮을 수 없음). 자바스크립트가 꺼지면 카드가 모두 보이므로 숨긴다 */
@media (scripting: none) {
  #cr-empty { display: none; }
}
.cr-nojs { max-width: var(--read); }

/* 상황 고르기 면 */
.cr-intro { max-width: var(--read); color: var(--muted); }
.cr-panel { display: grid; gap: var(--s3); padding: var(--s3); border-radius: calc(var(--radius) + 8px); background: var(--cr-panel); }
.cr-ask { margin: 0; padding: var(--s5); border: var(--border); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); color: var(--ink); }
.cr-ask fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.cr-ask legend { padding: 0; margin: 0 0 var(--s3); font-size: 1.0625rem; font-weight: 800; line-height: 1.4; color: var(--ink); }
.cr-sit { display: grid; gap: var(--s2); }
/* 라디오는 자기 선택지 칸(.cr-o) 안 왼쪽 가운데에 숨겨 둔다: label 을 누르면 그 라디오로 초점이 가는데, 라디오가 묶음 맨 위에 모여 있으면
   (412px 실측) 화면 밖 묶음 머리로 화면이 끌려 올라간다(1025→712). 선택지 안에 있으면 초점이 가도 화면이 움직이지 않는다 */
.cr-o { position: relative; min-width: 0; }
.cr-opt input { position: absolute; left: 12px; top: 50%; width: 1px; height: 1px; margin: 0; opacity: 0; }
.cr-opt label { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 60px; padding: 10px var(--s4) 10px 52px; border: 1.5px solid var(--line); border-radius: 18px; background: var(--paper); color: var(--ink); line-height: 1.4; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: border-color calc(var(--dur) * .4) var(--ease), background-color calc(var(--dur) * .4) var(--ease); }
.cr-opt label::before { content: ""; position: absolute; left: 18px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border: 2px solid var(--cr-ring); border-radius: 50%; background: var(--paper); transition: border-color calc(var(--dur) * .4) var(--ease), box-shadow calc(var(--dur) * .4) var(--ease); }
.cr-opt label b { font-size: 1rem; font-weight: 800; }
.cr-opt label span { font-size: .875rem; color: var(--muted); }
.cr-opt label:hover { border-color: var(--cr-ring); }
.cr-opt input:checked + label { border-color: var(--accent); background: var(--cr-accent-soft); }
.cr-opt input:checked + label::before { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 4px var(--paper); }
.cr-opt input:focus-visible + label { outline: 3px solid var(--accent); outline-offset: 2px; }
/* 업종·금액 질문: 짧은 답(예·아니오·모름)이라 가운데 맞춘 칸(동그라미 없음) */
.cr-ask .cr-more { display: grid; gap: var(--s4); margin-top: var(--s4); padding-top: var(--s4); border-top: 1px dashed var(--line); }
.cr-ask .cr-more[hidden] { display: none; }
.cr-hint { margin: calc(var(--s2) * -1) 0 var(--s2); font-size: .8125rem; line-height: 1.5; color: var(--muted); }
.cr-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s2); }
#cr-q-over10 .cr-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cr-row label { align-items: center; min-height: 48px; padding: 6px var(--s2); font-weight: 700; text-align: center; }
.cr-row label::before { display: none; }
.cr-row input:checked + label { color: var(--cr-accent-text); font-weight: 800; }
.cr-count-wrap { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin: var(--s4) 0 0; padding: 4px 4px 4px var(--s4); border-radius: 999px; background: var(--cr-accent-soft); color: var(--cr-accent-text); font-weight: 800; }
.cr-count-wrap[hidden] { display: none; }
.cr-count-wrap a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s4); border-radius: 999px; background: var(--accent); color: var(--cr-on-accent); text-decoration: none; }

/* 할 일 카드(bento 타일) */
.cr-result { display: grid; gap: var(--s3); align-content: start; min-width: 0; outline: none; }
.cr-empty { margin: 0; padding: var(--s7) var(--s5); border: 2px dashed var(--cr-ring); border-radius: var(--radius); color: var(--muted); font-weight: 700; text-align: center; }
.cr-empty[hidden] { display: none; }
.cr-card { position: relative; min-width: 0; padding: var(--card-pad); border: var(--border); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); color: var(--ink); animation: cr-rise calc(var(--dur) * .6) var(--ease) both; }
.cr-card[hidden] { display: none; }
.cr-card[data-n]::before { content: attr(data-n); position: absolute; top: var(--card-pad); right: var(--card-pad); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--accent); color: var(--cr-on-accent); font-size: .9375rem; font-weight: 800; }
@keyframes cr-rise { from { opacity: 0; transform: translateY(8px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
/* 번호 동그라미(32px)는 꼬리표 줄 오른쪽에만 앉는다: 꼬리표 줄을 32px 로 두고 제목·첫 문장은 카드 폭을 다 쓴다(360px 에서 줄이 좁아지지 않게) */
.cr-card-head { display: grid; gap: 6px; margin-bottom: var(--s4); }
.cr-tag { justify-self: start; display: inline-flex; align-items: center; min-height: 32px; margin-right: 44px; padding: 2px 12px; border-radius: 999px; background: var(--cr-accent-soft); color: var(--cr-accent-text); font-size: .8125rem; font-weight: 800; }
.cr-card h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; color: var(--ink); }
.cr-lead { margin: 0; line-height: 1.65; }
.cr-tiles { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
.cr-tile { min-width: 0; padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: 16px; background: var(--cr-tile); }
.cr-tile h4 { margin: 0 0 4px; font-size: .8125rem; font-weight: 800; letter-spacing: .02em; color: var(--muted); }
.cr-tile p { margin: 0 0 6px; line-height: 1.6; }
.cr-tile p:last-child { margin-bottom: 0; }
.cr-mark { border-color: var(--cr-mark-line); background: var(--cr-mark); }
.cr-mark h4, .cr-mark p { color: var(--cr-mark-ink); }
.cr-mark p { font-weight: 800; }
.cr-caveat { padding-left: var(--s3); border-left: 3px solid var(--cr-mark-line); }
.cr-path { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.cr-path li { position: relative; padding-left: 16px; line-height: 1.6; }
.cr-path li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.cr-tile .cr-fine { margin-top: 6px; font-size: .8125rem; color: var(--muted); }
.cr-table { margin: 0 0 var(--s2); }
.cr-reward { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.cr-reward caption { padding: 0 0 6px; caption-side: top; text-align: left; font-size: .8125rem; color: var(--muted); }
.cr-reward th, .cr-reward td { padding: 8px 10px 8px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.5; }
.cr-reward th { font-size: .8125rem; font-weight: 800; color: var(--muted); }
.cr-reward td:first-child { width: 42%; font-weight: 700; }
.cr-src { margin: var(--s4) 0 0; padding-top: var(--s3); border-top: 1px dashed var(--line); font-size: .8125rem; line-height: 1.85; color: var(--muted); }
.cr-src a { color: var(--cr-accent-text); }

/* 다음부터 · 확인 기준·출처 */
ul.cr-nextlist { display: grid; gap: var(--s2); max-width: var(--read); margin: 0; padding: 0; list-style: none; }
ul.cr-nextlist li { padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: 16px; background: var(--paper); color: var(--ink); line-height: 1.65; }
.cr-asof { font-weight: 700; color: var(--text); }
.cr-disclaim { max-width: var(--read); padding: var(--s3) var(--s4); border: 1px solid var(--warn-line); border-radius: 14px; background: var(--warn-soft); color: var(--text); }
ol.cr-sources { max-width: var(--read); margin: var(--s3) 0 0; padding-left: 1.6rem; font-size: .8125rem; line-height: 1.8; color: var(--subtle); }
ol.cr-sources li { margin: 4px 0; }
ol.cr-sources a { color: var(--muted); }

/* 중간 폭(768px~): 타일 두 칸 · 질문 갈래 두 칸 */
@media (min-width: 48rem) {
  .cr-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-tiles > .cr-wide { grid-column: 1 / -1; }
  .cr-qs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cr-panel { padding: var(--s4); }
}
/* 넓은 화면(1280px 이상): 질문 | 카드 두 칸. 카드 보기 링크는 카드가 바로 옆이라 뺀다 */
@media (min-width: 80rem) {
  .cr-panel { grid-template-columns: minmax(0, 24rem) minmax(0, 1fr); align-items: start; gap: var(--s4); }
  .cr-count-wrap a { display: none; }
}
/* 좁은 화면(1279px 까지 = 폰·폴드 펼침 1100): 위아래 한 줄. 폴드 펼침에서 줄이 너무 길지 않게 면 폭을 묶는다 */
@media (max-width: 79.99rem) {
  .cr-panel { max-width: 60rem; }
  .cr-hero h1 { font-size: clamp(1.75rem, 1.4rem + 1.6vw, 2.25rem); }
}
@media (max-width: 47.99rem) {
  .site-header.cr-hero { padding: var(--s4) 0 var(--s3); }
  .cr-hero .lede { font-size: 1rem; }
  .cr-ask { padding: var(--s4); }
  .cr-panel { padding: var(--s2); border-radius: var(--radius); }
  .cr-card { padding: var(--s4); }
  .cr-card[data-n]::before { top: var(--s4); right: var(--s4); }
}
/* 좁은 폭(639px 까지 = 폰·카톡 인앱): 포상금 표를 줄마다 세로로 쌓는다(바름 r1-4). 두 칸 표는 360px 에서 「지급금액」 칸이 62px 로 좁아져
   두세 글자씩 끊기고 타일 밖으로 나갔다. 칸 글자(법령 문구)는 그대로 두고, 열 머리는 칸 위 작은 글자(data-label)로 보인다.
   표 의미는 role(table·row·cell)로 지키고, 열 머리 줄은 이 폭에서만 빼고 칸마다 붙은 작은 글자(열 머리 글자)를 화면·읽기 프로그램이 함께 읽는다 */
@media (max-width: 39.99rem) {
  .cr-reward, .cr-reward tbody, .cr-reward tr, .cr-reward td, .cr-reward caption { display: block; }
  .cr-reward thead { display: none; }
  .cr-reward tr { padding: 8px 0; border-bottom: 1px solid var(--line); }
  .cr-reward td, .cr-reward td:first-child { width: auto; padding: 2px 0; border-bottom: 0; }
  .cr-reward td::before { content: attr(data-label); display: block; font-size: .75rem; font-weight: 800; line-height: 1.5; color: var(--muted); }
}
@media (prefers-reduced-motion: reduce) { .cr-card { animation: none; } .cr-qs a:hover { transform: none; } }
/* 「광고」 라벨: /etf-guide/ 와 같은 덮어쓰기(사이트 공통 광고 스크립트의 #767676 은 이 쪽 바탕에서 대비 4.01·4.16) */
html body .snx-ad-label { font-size: 13px; color: var(--subtle); }
