/* ACG 서베이 디자인 시스템 — shadcn/ui 방향
 *
 * 디자인 근거 (ui.shadcn.com/docs, 2026-08-07 확인):
 *   · 시맨틱 토큰 쌍: base 토큰이 표면색, -foreground 가 그 위 글자색
 *   · --radius 단일 원천에서 파생 스케일
 *   · "Beautiful Defaults": 미니멀·일관·수평 구분선 중심의 표, 은은한 그림자,
 *     ring 포커스, 호버는 accent
 *
 * 적용 방식 — LimeSurvey 정본(공식 상속 테마 bootswatch 와 동일 패턴):
 *   부모(fruity_twentythree)가 로드하는 css/custom.css 를 자식이 같은 경로에 갖고
 *   config.xml 에 <replace>css/custom.css</replace> 로 선언한다. 부모의 custom.css 는
 *   "여기에 커스텀 CSS 를 넣으라"는 주석뿐인 빈 파일이라, 상류가 마련해 둔 자리 그대로다.
 *   자산 퍼블리시·캐시버스트(filemtime+AssetVersion 해시)도 상류 파이프라인이 처리한다.
 *
 *   🔴 이전에 "자식 CSS 는 어느 쪽으로도 로드되지 않는다(실측)"고 기록했는데 **그 실측이
 *      무효였다** — 당시엔 gsid=0 그룹설정이 fruity_twentythree 라 acg 테마 자체가
 *      렌더되지 않던 시점이었다. 테마가 실제 적용된 뒤 재검증에서 정상 동작 확인.
 *
 * 🔴 폰트 URL 은 ../files/ 다. CSS 는 css/ 로 퍼블리시되므로 파일명만 쓰면 css/ 기준이 되어
 *   404 가 난다(실측: 화면이 조용히 폴백 서체로 렌더됨). 같은 파일의 배경 이미지가
 *   ../files/ 를 쓰고 있어 그것만 멀쩡해 눈치채기 어려웠다.
 * 스코프: 전 규칙을 body.acg 아래에 — stock 테마 렌더에는 닿지 않는다.
 */

/* ── 토큰 ─────────────────────────────────────────────────────────────────
 * shadcn 기본 neutral 팔레트에 primary 만 ACG 브랜드(인디고 #4F46E5)로.
 * hsl 삼중값 표기(shadcn 관례) — 사용부에서 hsl(var(--…)) 로 감싼다. */
body.acg {
    --background: 240 5% 98%;          /* zinc-50 근방 — 페이지 바탕 */
    --foreground: 240 10% 4%;
    --card: 0 0% 100%;
    --card-foreground: 240 10% 4%;
    --primary: 243 75% 59%;            /* #4F46E5 — ACG 로고 그라디언트 시작색 */
    --primary-foreground: 0 0% 98%;
    --muted: 240 5% 96%;
    --muted-foreground: 240 4% 46%;
    --accent: 226 100% 97%;            /* indigo-50 #EEF2FF — 선택·호버 */
    --accent-foreground: 243 66% 45%;
    --destructive: 0 72% 51%;          /* red-600 — 미응답·오류 */
    --border: 240 6% 90%;
    --input: 240 6% 84%;
    --ring: 243 75% 59%;
    --radius: 0.5rem;
}

/* ── 서체 — 나눔바른고딕 (fonts-nanum subset, 같은 디렉터리) ─────────────── */
@font-face {
    font-family: 'NanumBarunGothic';
    src: url('../files/NanumBarunGothic.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'NanumBarunGothic';
    src: url('../files/NanumBarunGothicBold.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
}

/* ── 베이스 ──────────────────────────────────────────────────────────────── */
body.acg {
    background: hsl(var(--background)) !important;
    color: hsl(var(--foreground));
    font-family: 'NanumBarunGothic', 'IBM Plex Sans', system-ui, -apple-system, sans-serif !important;
    -webkit-font-smoothing: antialiased;
}
body.acg .btn, body.acg input, body.acg select, body.acg textarea, body.acg .modal {
    font-family: inherit !important;
}

/* ── 상단 브랜드 바 — 컴팩트(56px), 전 페이지 유지 ───────────────────────
 * 문항 페이지에서 바를 숨겼더니 '나중에 계속/이어서 하기' 진입로가 함께 사라졌다.
 * 바를 되살리고 문항 행 여백을 줄여 예산을 지킨다. 좌측엔 설문 한정 브랜드 문구,
 * 우측엔 저장/이어하기 프록시 버튼(원본 submit 버튼을 클릭 위임)이 script 로 붙는다. */
body.acg #survey-nav {
    height: 56px !important; min-height: 56px !important;
    background: hsl(var(--card)) !important;
    border-bottom: 1px solid hsl(var(--border));
    box-shadow: none !important;
}
body.acg #survey-nav .logo-container { padding: .5rem 0 !important; margin: 0 !important; }
body.acg #survey-nav img.logo { height: 36px !important; width: auto !important; }
body.acg { padding-top: 60px !important; }          /* fixed 바 아래 여백 */
/* 상단 좌측은 '리더 성향 Test' 텍스트만 — ACG 로고 이미지는 걷는다(요청) */
body.acg #survey-nav img.logo { display: none !important; }
body.acg .acg-brand-txt {
    font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em;
    color: hsl(var(--foreground)); margin-left: 0; white-space: nowrap;
}
body.acg #survey-nav {
    display: flex !important; align-items: center !important;
    height: 56px !important; min-height: 56px !important;
    padding: 0 !important;
}
body.acg #survey-nav > .container-fluid {
    flex: 1 1 auto; display: flex; align-items: center;
    height: 56px; padding: 0 1rem !important; margin: 0 !important; max-width: none;
}
body.acg #survey-nav .logo-container {
    display: flex !important; align-items: center !important;
    height: 56px !important; padding: 0 !important; margin: 0 !important;
}
/* 저장/이어하기 프록시 — 절대배치 대신 nav 의 마지막 플렉스 자식으로 우측 정렬 */
body.acg .acg-nav-actions {
    display: flex; align-items: center; gap: .5rem;
    margin-left: .5rem; padding-right: 1rem; white-space: nowrap;
}
body.acg .acg-nav-btn {
    height: 34px; padding: 0 .9rem !important; font-size: .8rem !important;
    font-weight: 600 !important; border-radius: var(--radius) !important;
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--input)) !important;
    color: hsl(var(--accent-foreground)) !important;
    transition: background-color .12s ease;
}
body.acg .acg-nav-btn:hover { background: hsl(var(--accent)) !important; }

/* 상단 진행바 — 얇고 둥근 트랙 + primary 채움 */
body.acg .ls-progress-container { padding: .35rem 0 !important; }
body.acg .progress {
    height: .5rem !important; border-radius: 9999px;
    background: hsl(var(--muted)) !important; overflow: hidden;
}
body.acg .progress-bar {
    background: hsl(var(--primary)) !important; border-radius: 9999px;
    transition: width .3s ease;
}
/* 진행률 문구는 시각 진행바가 대신한다 — 화면에서 치우되 보조기기에는 남긴다 */
body.acg .progress-bar > span { position: absolute; left: -9999px; }

/* 테마의 3중 space-col 여백 회수(기존 실측 유지) */
body.acg .space-col { margin-top: 0 !important; margin-bottom: .5rem !important; }
body.acg .question-container { padding-top: 0 !important; margin-bottom: .75rem !important; }
body.acg .group-outer-container { margin-bottom: .5rem !important; }

/* ── 카드 — 그룹 컨테이너를 shadcn Card 로 ───────────────────────────────── */
body.acg .group-container {
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: calc(var(--radius) + 4px);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    padding: 1rem 1.25rem !important;
}
body.acg .group-title {
    font-size: 1.125rem; font-weight: 700; letter-spacing: -.01em;
    color: hsl(var(--foreground));
    margin: 0 0 .5rem !important; padding: 0 0 .45rem !important;
    border-bottom: 1px solid hsl(var(--border));
}
/* 문항 페이지는 카드 여백·제목 공간을 최소화한다(한 화면 13문항 유지) */
body.acg.acg-items .group-container { padding: .5rem .75rem !important; }
body.acg.acg-items .group-title,
body.acg.acg-items .question-title-container,
body.acg.acg-items .ls-label-question { display: none !important; }

/* ── 안내 문서 박스(안내문·서약·동의) ────────────────────────────────────── */
body.acg .acg-doc {
    max-height: calc(100vh - 330px); overflow-y: auto;
    border: 1px solid hsl(var(--border));
    border-radius: var(--radius);
    padding: .75rem 1rem;
    background: hsl(var(--muted) / .5);
    font-size: .8125rem; line-height: 1.6;
}
body.acg .acg-doc p { margin-bottom: .5rem; }
/* 동의 페이지(안내문·보안서약·개인정보): 내부 스크롤 없이 전문 표시, 본문 확대 */
body.acg.acg-consent-page .acg-doc {
    max-height: none; overflow: visible;
    font-size: .875rem; line-height: 1.6;
}
body.acg.acg-consent-page .acg-doc p { margin-bottom: .4rem; }
/* 읽기 페이지(응답요령): 화면 최대 높이 활용 (340px = 상단바+진행바+카드 크롬+네비) */
body.acg.acg-read-page .acg-doc { max-height: calc(100vh - 340px); }

/* X(안내문) 질문의 빈 답변 영역과 제목 여백 — 세로 예산만 먹는다 */
body.acg .boilerplate .answer-container { display: none !important; }
body.acg .boilerplate .question-title-container { margin: 0 !important; padding: 0 !important; }
body.acg .acg-note {
    font-size: .8125rem; color: hsl(var(--muted-foreground));
    margin-top: .5rem;
}

/* 필수 별표 — 전 문항 필수라 별표는 소음이다(안내는 응답요령이 한다) */
body.acg .asterisk { display: none !important; }

/* 응답요령 본문(페이지·팝업 공용) */
body.acg .acg-howto { font-size: .9rem; line-height: 1.7; }
body.acg .acg-howto p { margin-bottom: .75rem; }

/* ── 문항 표 — shadcn Table (수평 구분선 중심) ───────────────────────────── */
body.acg .ls-answers { border-collapse: collapse; }
body.acg .ls-answers,
body.acg .ls-answers th,
body.acg .ls-answers td,
body.acg .ls-answers label { color: hsl(var(--foreground)) !important; }

body.acg .ls-answers thead .answer-text,
body.acg .ls-answers thead td:first-child {
    background: hsl(var(--muted)) !important;
    color: hsl(var(--muted-foreground)) !important;
    font-size: .78rem !important; font-weight: 600;
    text-align: center !important; vertical-align: middle;
    line-height: 1.3; word-break: keep-all !important;
    padding: .5rem .25rem !important;
    border-bottom: 1px solid hsl(var(--border)) !important;
}
body.acg .ls-answers thead td:first-child { font-weight: 700; }
body.acg .ls-answers thead tr :first-child { border-top-left-radius: var(--radius); }
body.acg .ls-answers thead tr :last-child { border-top-right-radius: var(--radius); }

body.acg .ls-answers tbody tr {
    border-bottom: 1px solid hsl(var(--border));
    transition: background-color .12s ease;
}
body.acg .ls-answers tbody tr:hover { background: hsl(var(--muted) / .6); }
/* 얼룩무늬는 쓰지 않는다 — shadcn 표는 구분선과 호버로 읽는다 */
body.acg .ls-answers tbody tr.ls-even,
body.acg .ls-answers tbody tr.ls-odd { background: transparent; }

body.acg .ls-answers th.answertext {
    font-weight: 400 !important; font-size: .95rem;
    padding: .7rem .5rem !important;    /* 상단 바 복귀분(60px)을 13행에서 회수 */
}
body.acg .ls-answers td.answer-item {
    text-align: center !important; vertical-align: middle !important;
    border-left: 1px solid hsl(var(--border) / .55) !important;
}
body.acg .ls-answers td.answer-item.acg-on { background: hsl(var(--accent)) !important; }

/* 라디오 — shadcn RadioGroupItem: input 링 + 선택 시 primary 점 */
body.acg .ls-answers td.answer-item label::after { content: none !important; }
body.acg .ls-answers td.answer-item label::before {
    width: 18px !important; height: 18px !important;
    border: 1.5px solid hsl(var(--input)) !important;
    background: hsl(var(--card)) !important;
    box-shadow: none !important;
    transition: border-color .12s ease, background-color .12s ease, box-shadow .12s ease;
}
body.acg .ls-answers td.answer-item input[type=radio]:checked + label::before,
body.acg .ls-answers td.answer-item input[type=radio]:checked ~ label::before {
    border-color: hsl(var(--primary)) !important;
    background: hsl(var(--primary)) !important;
    box-shadow: inset 0 0 0 4px hsl(var(--card)) !important;   /* 링 안의 점 */
}
body.acg .ls-answers td.answer-item input[type=radio]:focus-visible + label::before,
body.acg .ls-answers td.answer-item input[type=radio]:focus-visible ~ label::before {
    box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring)) !important;
}

/* 동의 행 — 질문과 예/아니오를 한 줄로 */
body.acg .acg-consent {
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
    padding: .35rem 0 !important; margin-bottom: .25rem !important;
}
body.acg .acg-consent .question-valid-container { display: none !important; }
body.acg .acg-consent .question-title-container {
    margin: 0 !important; padding: 0 !important; flex: 1 1 16rem; width: auto !important;
}
body.acg .acg-consent .question-title-container p { margin: 0; }
body.acg .acg-consent .answer-container {
    width: auto !important; flex: 0 0 auto; padding: 0 !important; margin: 0 !important;
}
body.acg .acg-consent .answers-list {
    margin: 0 !important; display: flex; gap: .75rem;   /* 예/아니오 사이 간격 */
}
body.acg .acg-consent .ls-label-question { font-size: .95rem; font-weight: 600; }
body.acg .answers-list label .ls-icon { display: none !important; }   /* 아이콘 없이 텍스트만 */
body.acg .answers-list .btn-check + label {
    min-width: 7.5rem; text-align: center;
    padding: .55rem 1.4rem !important; margin: 0 !important;
}

/* 안내·동의 페이지의 예/아니오 버튼형 라디오 */
body.acg .answers-list .btn-check + label,
body.acg .ls-button-label {
    border: 1px solid hsl(var(--input)) !important;
    background: hsl(var(--card)) !important;
    color: hsl(var(--foreground)) !important;
    border-radius: var(--radius) !important;
    font-weight: 500; box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    transition: all .12s ease;
}
body.acg .answers-list .btn-check + label:hover { background: hsl(var(--accent)) !important; }
body.acg .answers-list .btn-check:checked + label {
    background: hsl(var(--primary)) !important;
    border-color: hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
}

/* ── 미응답 강조 — destructive 토큰 (공식 ls-error-mandatory 클래스 활용) ── */
body.acg .ls-answers tr.ls-error-mandatory { background: hsl(var(--destructive) / .06) !important; }
body.acg .ls-answers tr.ls-error-mandatory > th.answertext {
    color: hsl(var(--destructive)) !important; font-weight: 600 !important;
    box-shadow: inset 3px 0 0 hsl(var(--destructive));
}
body.acg .ls-answers tr.ls-error-mandatory > td.answer-item {
    border-left-color: hsl(var(--destructive) / .25) !important;
}
/* 문항 페이지의 상단 필수 문구("이 질문은 필수사항입니다 / 모든 부분을…")는
 * 숨긴다 — 빨간 행 강조가 어느 문항인지 정확히 보여주므로 중복 소음이다.
 * 문항 페이지 한정: 동의 페이지의 검증 안내(전화번호 형식 등)는 남아야 한다. */
body.acg.acg-items .ls-questionhelp,
body.acg.acg-items .ls-question-mandatory,
body.acg.acg-items .question-valid-container { display: none !important; }

/* 개인정보 페이지 — 동의 라인 아래 전화번호 입력이 자연스럽게 이어지도록.
 * 🔴 이 페이지만 '동의 후' 전화 입력(약 190px)이 더 붙는다. 다른 동의 페이지처럼
 *   문서를 전문 표시하면 동의 순간 스크롤이 생긴다(실측 1096px).
 *   → 문서에 상한을 두고, 그 상한을 전화 입력이 붙은 상태 기준으로 잡는다.
 *   .acg-consent-page 의 max-height:none 보다 **뒤에** 와야 이긴다(같은 특이도). */
body.acg.acg-pi-page .acg-doc {
    max-height: calc(100vh - 665px); overflow-y: auto;
    font-size: .8125rem; line-height: 1.55; padding: .6rem .9rem;
}
body.acg.acg-pi-page .acg-doc p { margin-bottom: .3rem; }
/* 긴 그룹 제목이 두 줄을 먹는다 — 이 페이지만 한 단계 작게 */
body.acg.acg-pi-page .group-title {
    font-size: .95rem; margin: 0 0 .4rem !important; padding: 0 0 .35rem !important;
}
/* 질문 블록 여백·도움말 압축 (동의행 159px + 전화행 217px 회수) */
body.acg.acg-pi-page .question-container { margin-bottom: .25rem !important; padding: 0 !important; }
body.acg.acg-pi-page .ls-questionhelp { margin: .15rem 0 0 !important; }
body.acg.acg-pi-page .answer-container { margin: 0 !important; }
body.acg.acg-pi-page .navigator { margin-top: .25rem !important; }
body.acg .acg-pi .question-title-container { margin: 0 0 .35rem !important; padding: 0 !important; }
body.acg .acg-pi .ls-label-question { font-size: .95rem; font-weight: 600; }
body.acg .acg-pi .answer-container { padding: 0 !important; }
body.acg .acg-pi input[type="text"] { max-width: 22rem; }
body.acg .acg-pi .ls-questionhelp, body.acg .acg-pi .question-valid-container {
    font-size: .8125rem; color: hsl(var(--muted-foreground)); margin-top: .3rem;
}

/* '아니오' 게이트 안내 문구 */
body.acg .acg-deny-note {
    flex-basis: 100%; margin: .35rem 0 0 !important;
    font-size: .8125rem; font-weight: 600;
    color: hsl(var(--destructive));
}
body.acg .navigator .btn:disabled { opacity: .45; cursor: not-allowed; }

/* 상단 오류 알림 — shadcn destructive Alert */
body.acg .ls-questionhelp .text-danger,
body.acg .alert-danger,
body.acg .ls-em-error {
    color: hsl(var(--destructive)) !important;
}
body.acg .question-container.input-error {
    border-left: none;
}

/* ── 버튼 — shadcn Button variants ───────────────────────────────────────── */
body.acg .navigator .btn,
body.acg .ls-saveaction {
    height: 2.5rem; padding: 0 1.25rem !important;
    border-radius: var(--radius) !important;
    font-size: .9rem !important; font-weight: 600 !important;
    line-height: 2.4rem; letter-spacing: -.01em;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
/* primary — 다음/제출 */
body.acg .ls-move-next-btn, body.acg .ls-move-submit-btn {
    background: hsl(var(--primary)) !important;
    border: 1px solid hsl(var(--primary)) !important;
    color: hsl(var(--primary-foreground)) !important;
}
body.acg .ls-move-next-btn:hover, body.acg .ls-move-submit-btn:hover {
    background: hsl(var(--primary) / .9) !important;
}
/* outline — 이전 */
body.acg .ls-move-previous-btn {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--input)) !important;
    color: hsl(var(--foreground)) !important;
}
body.acg .ls-move-previous-btn:hover { background: hsl(var(--accent)) !important; }
/* ghost/outline — 응답요령(가운데), 나중에 계속/불러오기 */
body.acg .acg-howto-btn, body.acg .ls-saveaction {
    background: hsl(var(--card)) !important;
    border: 1px solid hsl(var(--input)) !important;
    color: hsl(var(--accent-foreground)) !important;
}
body.acg .acg-howto-btn:hover, body.acg .ls-saveaction:hover {
    background: hsl(var(--accent)) !important;
}
body.acg .navigator .btn:focus-visible, body.acg .ls-saveaction:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px hsl(var(--background)), 0 0 0 4px hsl(var(--ring));
}

/* ── 모달(응답요령 팝업 포함) — rounded-lg border shadow-lg ──────────────── */
body.acg #acg-howto-modal .modal-dialog { max-width: min(920px, 92vw); }
body.acg .modal-content {
    border: 1px solid hsl(var(--border));
    border-radius: calc(var(--radius) + 4px);
    box-shadow: 0 10px 30px -10px rgb(0 0 0 / .25);
}
body.acg .modal-header { border-bottom: 1px solid hsl(var(--border)); }
body.acg .modal-title { font-weight: 700; letter-spacing: -.01em; }
body.acg .modal-footer { border-top: 1px solid hsl(var(--border)); }
body.acg .modal-footer .btn-primary {
    background: hsl(var(--primary)) !important;
    border-color: hsl(var(--primary)) !important;
    border-radius: var(--radius);
}

/* ── 응답요령 예시 표 (페이지·팝업 공용) ─────────────────────────────────── */
body.acg .acg-ex {
    width: 100%; border-collapse: collapse; margin: .5rem 0 .25rem;
    table-layout: fixed;                      /* 실제 표와 같은 고정 열폭 */
}
body.acg .acg-ex thead td:first-child { width: 52%; }   /* 실제 answer_width=52 와 동일 */
body.acg .acg-ex thead th, body.acg .acg-ex thead td {
    background: hsl(var(--muted)); color: hsl(var(--muted-foreground));
    font-size: .78rem; font-weight: 600; text-align: center;
    padding: .5rem .25rem; word-break: keep-all; line-height: 1.3;
    border-bottom: 1px solid hsl(var(--border));
}
body.acg .acg-ex thead td:first-child { font-weight: 700; }
body.acg .acg-ex tbody tr { border-bottom: 1px solid hsl(var(--border)); }
body.acg .acg-ex tbody th {
    font-weight: 400; text-align: left; padding: .7rem .5rem; font-size: .95rem;
}
body.acg .acg-ex tbody td {
    text-align: center; color: hsl(var(--muted-foreground) / .55); font-size: 1.05rem;
    border-left: 1px solid hsl(var(--border) / .55);
}
body.acg .acg-ex tbody td.on {
    background: hsl(var(--accent)); color: hsl(var(--primary)); font-weight: 700;
}

/* ── 저장/불러오기 폼 — shadcn Input/Button ─────────────────────────────── */
body.acg input[type="text"], body.acg input[type="password"], body.acg input[type="email"] {
    height: 2.5rem; padding: 0 .75rem;
    border: 1px solid hsl(var(--input)) !important;
    border-radius: var(--radius) !important;
    background: hsl(var(--card)); font-size: .9rem;
    transition: box-shadow .12s ease, border-color .12s ease;
}
body.acg input[type="text"]:focus, body.acg input[type="password"]:focus {
    outline: none; border-color: hsl(var(--ring)) !important;
    box-shadow: 0 0 0 3px hsl(var(--ring) / .25);
}
body.acg .btn-primary {
    background: hsl(var(--primary)) !important;
    border-color: hsl(var(--primary)) !important;
    border-radius: var(--radius) !important;
}
body.acg .large-heading { font-weight: 700; letter-spacing: -.01em; font-size: 1.15rem; }

/* ── 완료 화면 ───────────────────────────────────────────────────────────── */
body.acg .acg-done {
    max-width: 34rem; margin: 3rem auto; padding: 2.25rem 1.75rem;
    background: hsl(var(--card));
    border: 1px solid hsl(var(--border));
    border-radius: calc(var(--radius) + 4px);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);
    text-align: center; line-height: 1.8;
}
body.acg .acg-done-title { font-size: 1.05rem; font-weight: 700; margin-bottom: .5rem; }
body.acg .acg-done-sub { font-size: .875rem; color: hsl(var(--muted-foreground)); margin: 0; }

/* ── 설문 목록(/) — 카드 안 로고·목록 ────────────────────────────────────── */
body.acg .survey-list-heading { letter-spacing: -.01em; font-weight: 700; }
