/* 우리동네 찐사장 진단 — 휴대폰 우선. 본문 16px 이상, 누르는 영역 48px 이상, 글자 대비 4.5:1 이상.
 * 주색: 짙은 초록(네이버 초록 #03C75A 와 구분). 흰 글씨 대비 약 5:1. */
.lsl {
  --lsl-green: #1b7f43;
  --lsl-green-dark: #146534;
  --lsl-green-soft: #eaf6ee;
  --lsl-ink: #1c2321;
  --lsl-muted: #5b6662;
  --lsl-line: #dfe5e2;
  --lsl-bg: #ffffff;
  --lsl-warn: #c0392b;
  --lsl-warn-soft: #fdecea;
  --lsl-radius: 14px;
  font-size: var(--lsl-fs-md);
  line-height: 1.6;
  color: var(--lsl-ink);
  max-width: 1080px; /* 모든 페이지 같은 폭 (머리말과 맞춤) */
  margin: 0 auto;
  padding: 8px 0 32px;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.lsl *, .lsl *::before, .lsl *::after { box-sizing: border-box; }
/* 글꼴·글자 크기 6단계 (2026-10-10). 13 주석 · 15 보조 · 17 본문 · 20 소제목 · 26 제목 · 40 큰 숫자 */
:root {
  --lsl-font: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif;
  --lsl-fs-xs: 13px; --lsl-fs-sm: 15px; --lsl-fs-md: 17px; --lsl-fs-lg: 20px;
  --lsl-fs-xl: clamp(22px, 5.6vw, 26px); --lsl-fs-2xl: clamp(34px, 9vw, 40px);
}
.lsl { font-family: var(--lsl-font); }
.lsl button, .lsl input, .lsl select, .lsl textarea { font-family: inherit; }
/* 제목은 굵고 자간을 좁게 (시안), 숫자는 폭을 고정해 막대 옆에서 흔들리지 않게 */
.lsl-title, .lsl-question, .lsl-sec-title, .lsl-hero-title, .lsl-headline, .lsl-doc-title { font-weight: 800; letter-spacing: -0.025em; }
.lsl h3 { font-weight: 800; letter-spacing: -0.015em; }
.lsl-score-num, .lsl-pring-num, .lsl-gain-big, .lsl-gbar-num, .lsl-sbar-num, .lsl-len-num, .lsl-tile-big, .lsl-calc-big, .lsl-my-gain, .lsl-fixcard-gain, .lsl-fixcard-evi strong, .lsl-sbar-evi strong { font-variant-numeric: tabular-nums; }
.lsl-score-num strong, .lsl-gain-big strong, .lsl-tile-big, .lsl-pring-num strong { font-weight: 800; letter-spacing: -0.03em; }
.lsl-page { padding: 16px; }
.lsl-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lsl :focus-visible { outline: 3px solid var(--lsl-green); outline-offset: 2px; }
.lsl [tabindex="-1"]:focus { outline: none; }

/* 공통 */
.lsl-title { font-size: var(--lsl-fs-xl); line-height: 1.35; margin: 8px 0 4px; }
.lsl-sub { color: var(--lsl-muted); margin: 0 0 16px; }
.lsl-muted { color: var(--lsl-muted); margin: 8px 0; }
.lsl-strong { font-weight: 700; }
.lsl-center { text-align: center; }
.lsl-stack { display: grid; gap: 12px; }

.lsl-btn {
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 48px; padding: 10px 18px; border-radius: 12px;
  border: 1.5px solid var(--lsl-line); background: var(--lsl-bg); color: var(--lsl-ink);
  font: inherit; font-weight: 600; text-decoration: none; cursor: pointer;
}
.lsl-btn:hover { border-color: var(--lsl-green); }
.lsl-btn-primary { background: var(--lsl-green); border-color: var(--lsl-green); color: #fff; }
.lsl-btn-primary:hover { background: var(--lsl-green-dark); color: #fff; }
.lsl-btn-outline { border-color: var(--lsl-green); color: var(--lsl-green-dark); }
.lsl-btn-block { width: 100%; }
.lsl-btn span { font-weight: 400; font-size: var(--lsl-fs-xs); }

.lsl-back { background: none; border: 0; padding: 12px 0; min-height: 48px; color: var(--lsl-muted); font: inherit; cursor: pointer; }

/* 진행 단계 표시 (가게 찾기 · 12가지 질문 · 결과 확인) */
.lsl-steps { list-style: none; display: flex; gap: 6px; padding: 0; margin: 0 0 12px; font-size: var(--lsl-fs-xs); color: var(--lsl-muted); }
.lsl-steps li { display: flex; align-items: center; gap: 6px; flex: 1; padding: 6px 8px; border-radius: 999px; background: #f3f5f4; }
.lsl-steps-num { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; font-weight: 700; flex: none; }
.lsl-steps .is-active { background: var(--lsl-green-soft); color: var(--lsl-green-dark); font-weight: 700; }
.lsl-steps .is-active .lsl-steps-num { background: var(--lsl-green); color: #fff; }
.lsl-steps .is-done .lsl-steps-num { background: var(--lsl-green-soft); color: var(--lsl-green-dark); }
@media (max-width: 380px) { .lsl-steps li:not(.is-active) span:last-child { display: none; } .lsl-steps li:not(.is-active) { flex: none; } }

/* 가게 찾기 */
.lsl-searchbar { display: flex; gap: 8px; }
.lsl-searchbar input, .lsl-form input, .lsl-start input {
  flex: 1; min-width: 0; min-height: 52px; padding: 0 14px;
  border: 1.5px solid var(--lsl-line); border-radius: 12px; font: inherit; font-size: 16px; color: var(--lsl-ink); background: #fff;
}
.lsl-searchbar input:focus, .lsl-form input:focus, .lsl-start input:focus { border-color: var(--lsl-green); outline: none; box-shadow: 0 0 0 3px var(--lsl-green-soft); }
.lsl-list { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 8px; }
.lsl-store {
  width: 100%; text-align: left; display: grid; gap: 2px; min-height: 64px; padding: 12px 14px;
  border: 1.5px solid var(--lsl-line); border-radius: var(--lsl-radius); background: #fff; font: inherit; color: inherit; cursor: pointer;
}
.lsl-store:hover { border-color: var(--lsl-green); background: var(--lsl-green-soft); }
.lsl-store-name { font-weight: 700; }
.lsl-store-meta { color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-manual-link {
  width: 100%; text-align: left; min-height: 56px; margin-top: 8px; padding: 12px 14px;
  border: 1.5px dashed var(--lsl-line); border-radius: var(--lsl-radius); background: #fafbfa; font: inherit; color: inherit; cursor: pointer;
}
.lsl-empty { padding: 16px; border-radius: var(--lsl-radius); background: #f6f7f6; }
.lsl-form { display: grid; gap: 6px; }
.lsl-form label { font-weight: 600; margin-top: 8px; }
.lsl-form .lsl-btn { margin-top: 16px; }

/* 가게 이름 검색창 (홈 첫 화면 등) */
.lsl-start { display: grid; gap: 8px; max-width: 560px; margin: 16px 0; }
@media (min-width: 560px) { .lsl-start { grid-template-columns: 1fr auto; } .lsl-start .lsl-note { grid-column: 1 / -1; } }
.lsl-note { color: var(--lsl-muted); font-size: var(--lsl-fs-sm); margin: 0; }

/* 문항 */
.lsl-qtop { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lsl-store-chip { font-size: var(--lsl-fs-xs); color: var(--lsl-muted); background: #f3f5f4; padding: 4px 10px; border-radius: 999px; max-width: 55%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lsl-progress { height: 8px; border-radius: 999px; background: #edf0ee; overflow: hidden; margin: 4px 0 8px; }
.lsl-progress span { display: block; height: 100%; background: var(--lsl-green); transition: width .25s ease; }
.lsl-qcount { margin: 0; color: var(--lsl-muted); }
.lsl-qcount strong { color: var(--lsl-green-dark); }
.lsl-question { font-size: var(--lsl-fs-xl); line-height: 1.4; margin: 8px 0 20px; }
.lsl-answers { display: grid; gap: 10px; }
.lsl-answer {
  min-height: 56px; padding: 12px 16px; border-radius: var(--lsl-radius);
  border: 1.5px solid var(--lsl-line); background: #f7f9f8; font: inherit; font-size: var(--lsl-fs-md); font-weight: 600; color: var(--lsl-ink); cursor: pointer;
}
.lsl-answer:hover { border-color: var(--lsl-green); }
.lsl-answer.is-picked { background: var(--lsl-green); border-color: var(--lsl-green); color: #fff; }
.lsl-answer:disabled { cursor: default; }
.lsl-help { margin-top: 16px; border: 1px solid var(--lsl-line); border-radius: var(--lsl-radius); padding: 0 14px; }
.lsl-help summary { min-height: 48px; display: flex; align-items: center; cursor: pointer; font-weight: 600; color: var(--lsl-green-dark); }
.lsl-help p { margin: 0 0 14px; }

/* 분석 중 */
.lsl-spinner { width: 56px; height: 56px; margin: 32px auto 8px; border-radius: 50%; border: 5px solid var(--lsl-green-soft); border-top-color: var(--lsl-green); animation: lsl-spin 0.9s linear infinite; }
@keyframes lsl-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .lsl-spinner { animation: none; } .lsl-progress span { transition: none; } }

.lsl-error { padding: 14px 16px; border-radius: var(--lsl-radius); background: var(--lsl-warn-soft); color: #7a2016; }
.lsl-error p { margin: 0 0 10px; }

/* 결과 */
.lsl-result-top { display: flex; align-items: center; gap: 16px; margin: 8px 0 16px; }
.lsl-score { position: relative; width: 120px; flex: none; }
.lsl-ring { width: 120px; height: 120px; transform: rotate(-90deg); }
.lsl-ring circle { fill: none; stroke-width: 12; }
.lsl-ring-bg { stroke: #edf0ee; stroke-dashoffset: 0 !important; }
.lsl-ring-fg { stroke: var(--lsl-green); stroke-linecap: round; }
.lsl-score-num { position: absolute; inset: 0; display: grid; place-content: center; margin: 0; text-align: center; color: var(--lsl-muted); font-size: var(--lsl-fs-xs); }
.lsl-score-num strong { display: block; font-size: var(--lsl-fs-2xl); line-height: 1; color: var(--lsl-ink); }
.lsl-headline { font-size: var(--lsl-fs-lg); line-height: 1.4; margin: 0; }
/* 좁은 화면: 점수 원 아래로 문장을 내려 한 줄에 몇 글자씩 끊기지 않게 */
@media (max-width: 440px) { .lsl-result-top { flex-direction: column; text-align: center; gap: 8px; } }
.lsl-card { border: 1px solid var(--lsl-line); border-radius: var(--lsl-radius); padding: 14px 16px; margin: 12px 0; background: #fff; }
.lsl-card h3, .lsl-next h3 { font-size: var(--lsl-fs-lg); margin: 0 0 10px; }

.lsl-stages { list-style: none; display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; padding: 0; margin: 0; text-align: center; font-size: var(--lsl-fs-xs); }
.lsl-stages li { display: grid; justify-items: center; gap: 4px; color: var(--lsl-muted); }
.lsl-stage-dot { width: 28px; height: 28px; border-radius: 50%; background: #edf0ee; border: 2px solid #edf0ee; }
.lsl-stages .is-ok .lsl-stage-dot { background: var(--lsl-green-soft); border-color: var(--lsl-green); }
.lsl-stages .is-blocked { color: var(--lsl-warn); font-weight: 700; }
.lsl-stages .is-blocked .lsl-stage-dot { background: var(--lsl-warn); border-color: var(--lsl-warn); }
.lsl-blocked { margin: 12px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--lsl-warn-soft); color: #7a2016; }

.lsl-fixes { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lsl-fixes details { border: 1px solid var(--lsl-line); border-radius: 12px; padding: 0 12px; }
.lsl-fixes summary { min-height: 48px; display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 600; }
.lsl-fixes p { margin: 0 0 12px 34px; }
.lsl-fix-num { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #f5a623; color: #1c2321; font-weight: 700; flex: none; }

.lsl-next { margin: 20px 0; }
.lsl-next-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lsl-next-btns .lsl-btn { min-height: 64px; }
.lsl-plan { text-align: right; color: var(--lsl-muted); margin: 8px 0 0; }
.lsl-plan strong { color: var(--lsl-ink); }
.lsl-save-btns { display: flex; flex-wrap: wrap; gap: 8px; }

.lsl-more { border: 1px solid var(--lsl-line); border-radius: var(--lsl-radius); padding: 0 16px; margin: 12px 0; }
.lsl-more summary { min-height: 52px; display: flex; align-items: center; cursor: pointer; font-weight: 600; }
.lsl-itemlist { list-style: none; padding: 0; margin: 0 0 12px; }
.lsl-itemlist li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--lsl-line); }
.lsl-itemlist .is-yes span:last-child { color: var(--lsl-green-dark); font-weight: 600; }
.lsl-itemlist .is-no span:last-child { color: var(--lsl-warn); font-weight: 600; }
.lsl-advice { background: #fafbfa; }
.lsl-foot { text-align: center; margin-top: 20px; }
.lsl-foot a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 12px; color: var(--lsl-green-dark); }

/* ---------------- 홈 ---------------- */
.lsl.lsl-home { max-width: 960px; padding: 0 0 96px; }
.lsl-hero { padding: 32px 0 24px; }
.lsl-hero-title { font-size: 2rem; line-height: 1.3; margin: 0 0 12px; letter-spacing: -0.02em; }
.lsl-hero-title em { font-style: normal; color: var(--lsl-green); }
.lsl-hero-sub { font-size: var(--lsl-fs-md); color: var(--lsl-muted); margin: 0 0 8px; }
@media (min-width: 720px) { .lsl-hero { padding: 64px 0 40px; } .lsl-hero-title { font-size: 2.75rem; } .lsl-hero-title br:first-of-type { display: none; } }

.lsl-sec { padding: 32px 0; border-top: 1px solid var(--lsl-line); }
.lsl-sec-title { font-size: var(--lsl-fs-xl); line-height: 1.35; margin: 0 0 16px; }

.lsl-how { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lsl-how li { display: grid; grid-template-columns: 48px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 14px 16px; border-radius: var(--lsl-radius); background: var(--lsl-green-soft); position: relative; }
.lsl-how-icon { grid-row: 1 / 3; width: 48px; height: 48px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.lsl-how-icon svg { width: 26px; height: 26px; fill: var(--lsl-green); }
.lsl-how-num { position: absolute; top: 8px; left: 8px; width: 20px; height: 20px; border-radius: 50%; background: var(--lsl-green); color: #fff; font-size: var(--lsl-fs-xs); font-weight: 700; display: grid; place-items: center; }
.lsl-how strong { font-size: var(--lsl-fs-md); }
.lsl-how li > span:last-child { color: var(--lsl-muted); }
@media (min-width: 720px) { .lsl-how { grid-template-columns: repeat(3, 1fr); } }

.lsl-preview { position: relative; max-width: 480px; margin: 0 auto; padding: 20px 18px; border: 1px solid var(--lsl-line); border-radius: 20px; background: #fff; box-shadow: 0 6px 24px rgba(20, 60, 40, 0.08); }
.lsl-badge { position: absolute; top: -12px; right: 16px; padding: 3px 12px; border-radius: 999px; background: #2d5bd7; color: #fff; font-size: var(--lsl-fs-xs); font-weight: 700; }
.lsl-preview .lsl-result-top { margin: 4px 0 12px; }
.lsl-preview .lsl-blocked { margin: 12px 0; }
.lsl-preview-fixes { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 8px; }
.lsl-preview-fixes li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--lsl-line); border-radius: 12px; }

.lsl-promises { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lsl-promises li { display: flex; gap: 8px; align-items: flex-start; padding: 14px 12px; border-radius: var(--lsl-radius); background: #f6f8f7; font-weight: 600; line-height: 1.45; }
.lsl-promises svg { width: 22px; height: 22px; flex: none; fill: var(--lsl-green); }
@media (min-width: 560px) { .lsl-promises { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .lsl-promises { grid-template-columns: repeat(4, 1fr); } }

.lsl-cta { text-align: center; }
.lsl-btn-lg { min-height: 56px; padding: 12px 32px; font-size: var(--lsl-fs-md); }
.lsl-cta-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 16px; margin: 16px 0 0; }
.lsl-cta-links a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 8px; color: var(--lsl-green-dark); }

.lsl-sticky { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; min-height: 56px; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18); }
.lsl-sticky[hidden] { display: none; }
@media (min-width: 720px) { .lsl-sticky { display: none !important; } }

/* ---------------- 서비스·요금 · 상담 신청 ---------------- */
.lsl.lsl-services { max-width: 960px; }
.lsl-sec-first { border-top: 0; padding-top: 8px; }
.lsl-svc-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.lsl-svc-list li { display: grid; gap: 2px; padding: 14px 16px; border-radius: var(--lsl-radius); background: var(--lsl-green-soft); }
.lsl-svc-list span { color: var(--lsl-muted); }
@media (min-width: 720px) { .lsl-svc-list { grid-template-columns: repeat(3, 1fr); } }

.lsl-plans { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 12px; }
.lsl-plans > li { position: relative; padding: 18px 16px; border: 1.5px solid var(--lsl-line); border-radius: var(--lsl-radius); background: #fff; }
.lsl-plans > li.is-recommended { border-color: var(--lsl-green); box-shadow: 0 0 0 3px var(--lsl-green-soft); }
.lsl-plans h3 { margin: 0; font-size: var(--lsl-fs-lg); }
.lsl-plan-for { margin: 2px 0 10px; color: var(--lsl-green-dark); font-weight: 600; }
.lsl-plans ul { margin: 0 0 12px; padding-left: 1.2em; }
.lsl-plans ul li { margin: 4px 0; }
.lsl-plan-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding-top: 10px; border-top: 1px solid var(--lsl-line); color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
@media (min-width: 720px) { .lsl-plans { grid-template-columns: 1fr 1fr; } }
.lsl-badge-green { background: var(--lsl-green); }
.lsl-promise-line { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: #f6f8f7; font-weight: 600; text-align: center; }

.lsl-consult { max-width: 560px; }
.lsl-consult textarea { min-height: 96px; padding: 12px 14px; border: 1.5px solid var(--lsl-line); border-radius: 12px; font: inherit; font-size: 16px; color: var(--lsl-ink); resize: vertical; }
.lsl-consult textarea:focus { border-color: var(--lsl-green); outline: none; box-shadow: 0 0 0 3px var(--lsl-green-soft); }
.lsl-choices { border: 0; padding: 0; margin: 12px 0 0; display: grid; gap: 6px; }
.lsl-choices legend { font-weight: 600; margin-bottom: 6px; padding: 0; }
.lsl-choices label, .lsl-consent label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 14px; border: 1.5px solid var(--lsl-line); border-radius: 12px; cursor: pointer; font-weight: 400; margin: 0; }
.lsl-choices label:has(input:checked), .lsl-consent label:has(input:checked) { border-color: var(--lsl-green); background: var(--lsl-green-soft); }
.lsl-choices input, .lsl-consent input { width: 20px; height: 20px; accent-color: var(--lsl-green); flex: none; }
.lsl-consent { margin-top: 16px; padding: 14px; border-radius: 12px; background: #f6f8f7; font-size: var(--lsl-fs-sm); }
.lsl-consent p { margin: 0 0 10px; }
.lsl-consent label { background: #fff; }
.lsl-attached { padding: 10px 14px; border-radius: 12px; background: var(--lsl-green-soft); color: var(--lsl-green-dark); font-weight: 600; }
.lsl-done-box { padding: 20px; border-radius: var(--lsl-radius); background: var(--lsl-green-soft); text-align: center; }
.lsl-done-box p { margin: 4px 0; }
.lsl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------------- 자주 묻는 질문 ---------------- */
.lsl-faq-group { margin: 8px 0 24px; }
.lsl-faq .lsl-more p { margin: 0 0 14px; }
.lsl-faq-more { margin-top: 24px; padding: 20px; border-radius: var(--lsl-radius); background: var(--lsl-green-soft); text-align: center; }
.lsl-faq-more p { margin: 0 0 12px; }

/* Turnstile 확인 칸 */
.lsl-turnstile { display: flex; justify-content: center; margin: 16px 0 0; min-height: 0; }
.lsl-consult .lsl-turnstile { justify-content: flex-start; }

/* ---------------- 셀프 도구 ---------------- */
.lsl.lsl-tools { max-width: 720px; }
.lsl-tool-groups, .lsl-tool-list { list-style: none; padding: 0; margin: 16px 0; display: grid; gap: 10px; }
.lsl-tool-groups a, .lsl-tool-list a, .lsl-tool-list .is-soon { display: grid; gap: 2px; min-height: 64px; padding: 14px 16px; border: 1.5px solid var(--lsl-line); border-radius: var(--lsl-radius); color: var(--lsl-ink); text-decoration: none; background: #fff; }
.lsl-tool-groups a:hover, .lsl-tool-list a:hover { border-color: var(--lsl-green); background: var(--lsl-green-soft); }
.lsl-tool-groups a strong { font-size: var(--lsl-fs-md); }
.lsl-tool-groups span, .lsl-tool-list span { color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-tool-list .is-soon { grid-template-columns: 1fr auto; align-items: center; background: #f7f8f7; color: var(--lsl-muted); }
.lsl-tool-list .is-soon div { display: grid; gap: 2px; }
.lsl-tool-list em { font-style: normal; font-size: var(--lsl-fs-xs); padding: 2px 10px; border-radius: 999px; background: #e9ecea; color: var(--lsl-muted); }
@media (min-width: 640px) { .lsl-tool-groups { grid-template-columns: 1fr 1fr; } }
.lsl-tool-app { margin: 8px 0 24px; }
.lsl-tool-next { margin-top: 24px; padding: 16px; border-radius: var(--lsl-radius); background: #f6f8f7; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.lsl-tool-next p { margin: 0; }

.lsl-field { display: grid; gap: 6px; margin-top: 12px; }
.lsl-field label { font-weight: 600; margin: 0; }
.lsl-unit { display: flex; align-items: center; gap: 8px; }
.lsl-unit input { flex: 1; min-width: 0; min-height: 52px; padding: 0 14px; border: 1.5px solid var(--lsl-line); border-radius: 12px; font: inherit; font-size: 16px; text-align: right; }
.lsl-unit input:focus { border-color: var(--lsl-green); outline: none; box-shadow: 0 0 0 3px var(--lsl-green-soft); }
.lsl-unit span { color: var(--lsl-muted); min-width: 3em; }
.lsl-calc-out { margin-top: 20px; padding: 16px; border-radius: var(--lsl-radius); background: var(--lsl-green-soft); }
.lsl-calc-big { font-size: var(--lsl-fs-lg); margin: 0 0 4px; }
.lsl-calc-big strong { color: var(--lsl-green-dark); font-size: var(--lsl-fs-xl); }
.lsl-calc-how { margin: 12px 0 0; padding-top: 10px; border-top: 1px solid #cfe3d6; color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-ok { margin: 12px 0 0; color: var(--lsl-green-dark); font-weight: 600; }
.lsl-warnline { margin: 12px 0 0; color: #7a2016; font-weight: 600; }

.lsl-months { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 12px 0; }
.lsl-month { min-height: 48px; border: 1.5px solid var(--lsl-line); border-radius: 10px; background: #fff; font: inherit; cursor: pointer; }
.lsl-month[aria-pressed="true"] { background: var(--lsl-green); border-color: var(--lsl-green); color: #fff; font-weight: 700; }
.lsl-card h3 { margin-top: 0; }
.lsl-card ul { margin: 4px 0 12px; padding-left: 1.2em; }

.lsl-note-box { padding: 12px 14px; border-radius: 12px; background: #fff7e6; color: #6b4a00; }
.lsl-checklist { padding-left: 1.4em; margin: 16px 0; display: grid; gap: 16px; }
.lsl-checklist fieldset { border: 0; padding: 0; margin: 0; }
.lsl-checklist legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.lsl-choices-row { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.lsl-choices-row label { justify-content: center; padding: 0 8px; }
.lsl-checklist .lsl-muted { margin: 8px 0 0; font-size: var(--lsl-fs-sm); }

/* AI 도구 */
.lsl-ai-form select { min-height: 52px; padding: 0 12px; border: 1.5px solid var(--lsl-line); border-radius: 12px; font: inherit; font-size: 16px; background: #fff; }
.lsl-ai-form textarea { min-height: 96px; padding: 12px 14px; border: 1.5px solid var(--lsl-line); border-radius: 12px; font: inherit; font-size: 16px; resize: vertical; }
.lsl-ai-form .lsl-btn { margin-top: 16px; }
.lsl-ai-out { margin-top: 20px; }
.lsl-ai-badge { margin: 0 0 8px; color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-ai-badge span { display: inline-block; margin-right: 6px; padding: 2px 10px; border-radius: 999px; background: #e8eefc; color: #2448a8; font-weight: 700; }
.lsl-ai-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lsl-ai-text { white-space: pre-wrap; margin: 10px 0 4px; }
.lsl-btn-sm { min-height: 44px; padding: 6px 14px; font-size: var(--lsl-fs-sm); }
.lsl-small { font-size: var(--lsl-fs-xs); margin: 0; }
.lsl-kw { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.lsl-kw li { display: grid; gap: 2px; padding-bottom: 10px; border-bottom: 1px solid var(--lsl-line); }
.lsl-kw li:last-child { border-bottom: 0; padding-bottom: 0; }
.lsl-kw span { color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-kw em { font-style: normal; color: var(--lsl-muted); font-size: var(--lsl-fs-sm); }
.lsl-ai-warn { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff7e6; color: #6b4a00; font-size: var(--lsl-fs-sm); }
.lsl-ai-warn ul { margin: 4px 0 0; padding-left: 1.2em; }
