:root {
  --bg: #0b0b11;
  --panel: rgba(255,255,255,.06);
  --panel-strong: rgba(255,255,255,.1);
  --text: #f7f7fb;
  --muted: #a9a9b5;
  --line: rgba(255,255,255,.1);
  --pink: #ff4d8d;
  --purple: #8b5cf6;
  --orange: #ff875c;
  --green: #42d392;
  --yellow: #ffd166;
  --danger: #ff6b6b;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--text); font-family: "Noto Sans KR", Inter, system-ui, -apple-system, sans-serif; }
body { min-height: 100vh; overflow-x: hidden; }
button, input, select { font: inherit; }
button { cursor: pointer; }

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,77,141,.17), transparent 34%),
    radial-gradient(circle at 80% 12%, rgba(139,92,246,.19), transparent 30%),
    radial-gradient(circle at 50% 95%, rgba(255,135,92,.09), transparent 25%);
  z-index: 0;
}

.app-shell { position: relative; z-index: 1; min-height: 100vh; display: flex; justify-content: center; }
.phone { width: min(100%, 430px); min-height: 100vh; padding: max(18px, env(safe-area-inset-top)) 18px max(26px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 42px; }
.logo { font-family: Inter, sans-serif; letter-spacing: -.04em; font-size: 21px; font-weight: 800; }
.logo span { color: var(--pink); }
.icon-btn { border: 1px solid var(--line); background: rgba(255,255,255,.04); color: var(--text); width: 38px; height: 38px; border-radius: 14px; display: grid; place-items: center; }

.hero { padding: 54px 4px 22px; }
.kicker { display: inline-flex; gap: 7px; align-items: center; padding: 7px 10px; border: 1px solid rgba(255,77,141,.28); background: rgba(255,77,141,.08); color: #ff9fc2; border-radius: 999px; font-size: 12px; font-weight: 700; }
h1 { margin: 18px 0 12px; font-size: clamp(38px, 11vw, 54px); line-height: 1.03; letter-spacing: -.055em; }
.hero p { margin: 0; font-size: 17px; line-height: 1.6; color: #c7c7d2; }
.gradient-text { background: linear-gradient(90deg, #ff7aa9, #ae83ff, #ffac7f); -webkit-background-clip: text; background-clip: text; color: transparent; }

.chem-card { margin-top: 28px; border-radius: 28px; padding: 20px; background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.045)); border: 1px solid var(--line); box-shadow: 0 18px 60px rgba(0,0,0,.27); }
.avatar-row { display: flex; justify-content: center; align-items: center; gap: 0; margin: 5px 0 18px; }
.avatar { width: 66px; height: 66px; border-radius: 23px; display: grid; place-items: center; font-size: 28px; border: 2px solid rgba(255,255,255,.12); background: linear-gradient(160deg, #222231, #111118); }
.avatar:nth-child(1) { transform: rotate(-4deg); }
.avatar:nth-child(3) { transform: rotate(4deg); }
.heart-bubble { width: 44px; height: 44px; border-radius: 50%; margin: 0 -5px; z-index: 2; display: grid; place-items: center; background: linear-gradient(135deg, var(--pink), var(--purple)); box-shadow: 0 8px 24px rgba(255,77,141,.35); }
.preview-score { text-align: center; }
.preview-score .num { font-family: Inter; font-size: 58px; font-weight: 800; letter-spacing: -.06em; }
.preview-score small { display:block; color: var(--muted); margin-top: -4px; }
.metric-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.mini-metric { padding: 12px 8px; border-radius: 18px; background: rgba(255,255,255,.045); text-align: center; }
.mini-metric b { font-family: Inter; display:block; margin-top: 4px; }
.mini-metric span { font-size: 11px; color: var(--muted); }

.cta-area { margin-top: auto; padding-top: 26px; }
.primary, .secondary { width: 100%; border: 0; border-radius: 18px; min-height: 58px; font-weight: 800; font-size: 16px; }
.primary { color: white; background: linear-gradient(135deg, var(--pink), var(--purple)); box-shadow: 0 12px 28px rgba(139,92,246,.24); }
.secondary { color: var(--text); border: 1px solid var(--line); background: rgba(255,255,255,.05); }
.helper { text-align:center; font-size: 11px; color: #777786; margin-top: 12px; }

.progress { width: 100%; height: 4px; border-radius: 99px; background: rgba(255,255,255,.08); overflow:hidden; margin: 12px 0 8px; }
.progress > span { height:100%; display:block; background: linear-gradient(90deg, var(--pink), var(--purple)); transition: width .3s ease; }
.screen-title { margin: 28px 0 8px; font-size: 28px; letter-spacing: -.04em; }
.screen-sub { margin: 0 0 24px; color: var(--muted); line-height: 1.55; }
.form-card { padding: 18px; border: 1px solid var(--line); border-radius: 24px; background: rgba(255,255,255,.045); margin-bottom: 14px; }
.form-card h3 { margin: 0 0 14px; font-size: 15px; }
.label { display:block; color: #bdbdcc; font-size: 12px; margin-bottom: 7px; }
.input, .select { width: 100%; padding: 15px; border-radius: 15px; border: 1px solid var(--line); background: rgba(5,5,10,.5); color: white; outline: none; margin-bottom: 12px; }
.input:focus, .select:focus { border-color: rgba(255,77,141,.7); box-shadow: 0 0 0 3px rgba(255,77,141,.09); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap: 10px; }
.segmented { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.segmented button { border:1px solid var(--line); background: rgba(255,255,255,.035); color:#aaaabb; padding:12px; border-radius:14px; }
.segmented button.active { color:white; border-color:rgba(255,77,141,.6); background:rgba(255,77,141,.13); }
.bottom-actions { margin-top:auto; padding-top: 20px; display:flex; gap:10px; }
.bottom-actions .secondary { width: 42%; }

.quiz-q { margin-top: 36px; font-size: 26px; line-height: 1.35; letter-spacing: -.035em; }
.answer-list { display:flex; flex-direction:column; gap:10px; margin-top:28px; }
.answer { width:100%; text-align:left; border:1px solid var(--line); color:white; background:rgba(255,255,255,.045); padding:17px 16px; border-radius:17px; transition:.18s ease; }
.answer:hover, .answer.selected { transform: translateY(-1px); border-color:rgba(255,77,141,.58); background:rgba(255,77,141,.1); }
.answer strong { display:block; font-size:15px; }
.answer small { display:block; color:var(--muted); margin-top:4px; }

.loading-wrap { flex:1; display:grid; place-items:center; text-align:center; }
.orbit { width:170px; height:170px; border-radius:50%; position:relative; display:grid; place-items:center; background: radial-gradient(circle, rgba(255,77,141,.18), transparent 65%); }
.orbit::before, .orbit::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); animation: spin 3.2s linear infinite; }
.orbit::before { inset:12px; border-top-color:var(--pink); }
.orbit::after { inset:28px; border-right-color:var(--purple); animation-direction:reverse; animation-duration:2.3s; }
@keyframes spin { to { transform:rotate(360deg);} }
.orbit-core { font-size:42px; filter:drop-shadow(0 8px 18px rgba(255,77,141,.4)); }
.loading-title { font-size:24px; margin:26px 0 7px; }
.loading-step { min-height:24px; color:var(--muted); }

.result-hero { text-align:center; padding:28px 0 6px; }
.match-label { color:#ff9fc2; font-size:12px; letter-spacing:.14em; font-weight:800; }
.big-score { font-family:Inter; font-size:92px; font-weight:800; letter-spacing:-.075em; line-height:1; margin-top:8px; }
.big-score span { font-size:30px; margin-left:2px; }
.result-type { display:inline-flex; margin-top:10px; padding:8px 13px; background:rgba(255,77,141,.11); border:1px solid rgba(255,77,141,.26); border-radius:999px; color:#ff9fc2; font-size:12px; font-weight:700; }
.result-copy { color:#d2d2dc; line-height:1.65; margin:20px auto 0; max-width:330px; }
.metric-list { margin:24px 0; display:flex; flex-direction:column; gap:10px; }
.metric-card { display:flex; align-items:center; gap:12px; padding:15px 16px; border:1px solid var(--line); background:rgba(255,255,255,.045); border-radius:18px; }
.metric-icon { font-size:20px; width:28px; text-align:center; }
.metric-main { flex:1; }
.metric-main strong { font-size:14px; }
.bar { height:6px; background:rgba(255,255,255,.08); border-radius:99px; margin-top:8px; overflow:hidden; }
.bar > span { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg, var(--pink), var(--purple)); }
.metric-score { font-family:Inter; font-weight:800; }
.locked { filter:saturate(.6); opacity:.78; }
.lock { font-size:15px; }

.paywall { margin-top:18px; padding:20px; border-radius:24px; background:linear-gradient(155deg, rgba(255,77,141,.14), rgba(139,92,246,.12)); border:1px solid rgba(255,255,255,.12); }
.paywall h3 { margin:0 0 8px; }
.paywall p { color:#c1c1cd; font-size:13px; line-height:1.55; }
.price { display:flex; align-items:end; gap:8px; margin:18px 0; }
.price strong { font-family:Inter; font-size:32px; }
.price del { color:#888897; font-size:13px; margin-bottom:5px; }

.share-card { margin: 24px 0; padding: 26px 18px; border-radius: 26px; text-align:center; background: radial-gradient(circle at 50% 0%, rgba(255,77,141,.22), transparent 48%), linear-gradient(145deg,#171722,#0e0e15); border:1px solid var(--line); overflow:hidden; }
.share-card .share-logo { font-family:Inter;font-weight:800;font-size:13px;letter-spacing:.18em;color:#bdbdca; }
.share-card .names { margin-top:24px;font-weight:700;font-size:18px; }
.share-card .share-score { font-family:Inter;font-weight:800;font-size:76px;letter-spacing:-.07em; margin:10px 0 2px; }
.share-card .share-score span { font-size:22px; }
.share-card .quote { font-size:15px;color:#f2bad0; }
.share-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.share-actions button { border:1px solid var(--line); background:rgba(255,255,255,.05); color:white; border-radius:15px; padding:12px 6px; font-size:12px; }
.toast { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); background:#f7f7fb;color:#111; padding:10px 14px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.35); z-index:99; }

.report-section { padding:18px 0 4px; border-bottom:1px solid var(--line); }
.report-section h3 { margin:0 0 8px; font-size:17px; }
.report-section p { margin:0 0 16px; color:#c7c7d1; line-height:1.7; font-size:14px; }
.report-badge { display:inline-block;font-size:11px;padding:6px 9px;border-radius:99px;background:rgba(66,211,146,.1);color:#71e7ae;border:1px solid rgba(66,211,146,.2);margin-bottom:10px; }

.invite-box { margin-top:24px;padding:20px;border-radius:24px;background:rgba(255,255,255,.045);border:1px solid var(--line); }
.invite-box h3 { margin-top:0; }
.invite-box p { color:var(--muted);font-size:13px;line-height:1.6; }

.prototype-note { margin-top:22px;font-size:11px;color:#6f6f7c;text-align:center;line-height:1.6; }

@media (min-width: 700px) {
  body { padding: 30px 0; }
  .phone { min-height: 860px; border-radius: 34px; border:1px solid rgba(255,255,255,.1); background:rgba(7,7,12,.76); box-shadow:0 40px 100px rgba(0,0,0,.4); }
}

.trust-block{margin:18px 0 6px;padding:22px 0;border-top:1px solid var(--line)}
.trust-title span,.section-head span,.eyebrow{font-size:10px;letter-spacing:.14em;color:#ff9fc2;font-weight:800}.trust-title h2{font-size:27px;line-height:1.15;letter-spacing:-.04em;margin:8px 0 17px}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.trust-card{padding:15px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.035)}.trust-card b{display:block;color:#8b5cf6;font:800 11px Inter;margin-bottom:9px}.trust-card strong{font-size:13px}.trust-card p{font-size:11px;line-height:1.55;color:var(--muted);margin:7px 0 0}.method-note{margin-top:11px;padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.025);color:#777786;font-size:10px;line-height:1.55}
.accuracy-hint{font-size:11px;color:#8d8d9b;line-height:1.7;padding:10px 12px;border-radius:13px;background:rgba(66,211,146,.05);border:1px solid rgba(66,211,146,.12)}
.eyebrow{margin-top:22px;color:#8e8e9c}.engine-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px}.engine-badges span{font-size:10px;padding:6px 8px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#aaaabb}
.confidence{display:inline-flex;flex-direction:column;gap:2px;margin-top:16px;padding:8px 11px;border:1px solid rgba(66,211,146,.15);border-radius:12px;background:rgba(66,211,146,.05);font-size:10px;color:#9aa0a6}.confidence b{color:#72dfaa}.confidence span{color:#777786}
.evidence{margin:26px 0;padding:20px;border-radius:24px;background:rgba(255,255,255,.035);border:1px solid var(--line)}.section-head h3{font-size:20px;letter-spacing:-.03em;margin:6px 0 17px}.bazi-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line)}.bazi-compare>div:not(.vs){text-align:center}.bazi-compare small{display:block;color:var(--muted);font-size:10px;margin-bottom:7px}.bazi-compare em{display:block;margin-top:7px;color:#b6b6c3;font-size:10px;font-style:normal}.vs{color:#60606e;font-weight:800}.pillar{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.pillar span{padding:7px 2px;border-radius:9px;background:rgba(255,255,255,.05);font:700 12px 'Noto Sans KR'}.pillar span.focus{background:rgba(255,77,141,.13);border:1px solid rgba(255,77,141,.2);color:#ff9fc2}.rule-list{display:flex;flex-direction:column;margin-top:10px}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.055)}.rule-row strong{display:block;font-size:12px}.rule-row span{display:block;color:#777786;font-size:10px;margin-top:3px}.rule-row b{font:800 13px Inter;color:#aaa}.rule-row b.plus{color:#6fdda8}.rule-row b.minus{color:#ff8b9a}.calculation-note{margin-top:14px;padding:13px;border-radius:14px;background:rgba(139,92,246,.08);border:1px solid rgba(139,92,246,.13)}.calculation-note b{display:block;font-size:12px;color:#c9b5ff}.calculation-note span{display:block;margin-top:5px;font-size:10px;color:#8d8d9a;line-height:1.55}.engine-error{padding:18px;border:1px solid rgba(255,174,66,.2);background:rgba(255,174,66,.06);border-radius:18px}.engine-error p{font-size:11px;color:#aaa;line-height:1.5}.soon{display:inline-block;font:800 9px Inter;letter-spacing:.12em;color:#a9a9b6;margin-bottom:8px}

/* S0 — 계산 실패 상태 및 예시 표기 */
.preview-tag{display:inline-block;font:800 9px Inter;letter-spacing:.12em;color:#8d8d9b;padding:4px 8px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid var(--line);margin-bottom:14px}
.error-wrap{margin-top:34px;display:grid;gap:14px}
.error-mark{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 22px Inter;color:#ffbe6b;background:rgba(255,174,66,.1);border:1px solid rgba(255,174,66,.25)}
.error-wrap .screen-title{margin:0}
.error-wrap .screen-sub{margin:0 0 4px}
.error-wrap .engine-error b{display:block;font-size:12px;color:#ffcf94;margin-bottom:6px}

/* ── S1: 동의 · 개인정보 · Couple Report · 초대 링크 ── */
.check-row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;cursor:pointer}
.check-row input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:#ff4d8d;flex:0 0 auto}
.check-row span{font-size:12px;line-height:1.6;color:#d7d7e0}
.check-row span b{display:block;font-size:13px;margin-bottom:4px}
.check-row span small{display:block;color:#8d8d9b;font-size:10px;line-height:1.7}

.consent-box{margin-top:20px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.link-btn{background:none;border:none;padding:6px 0;color:#a08bff;font:600 11px 'Noto Sans KR';text-decoration:underline;cursor:pointer}
.link-btn.danger{color:#ff8b9a}

.disclosure{margin-top:14px;padding:13px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.disclosure b{display:block;font-size:11px;color:#c9c9d6;margin-bottom:6px}
.disclosure p{font-size:10px;color:#8d8d9a;line-height:1.7;margin:0 0 4px}
.disclosure p.warn{color:#ffbe6b}

.couple-block{margin:22px 0;padding:20px;border-radius:24px;background:rgba(255,77,141,.06);border:1px solid rgba(255,77,141,.16)}
.couple-stat{display:flex;gap:14px;margin-bottom:14px}
.couple-stat>div{flex:1}
.couple-stat small{display:block;color:var(--muted);font-size:10px}
.couple-stat b{display:block;font:800 30px Inter;color:#ff9fc2;line-height:1.2;margin:2px 0}
.couple-stat span{display:block;font-size:10px;color:#8d8d9a}
.couple-gap{padding:12px;border-radius:14px;background:rgba(0,0,0,.2)}
.couple-gap small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}
.couple-gap p{font-size:12px;line-height:1.7;margin:0}
.couple-note{margin-top:12px;font-size:10px;color:#8d8d9a;line-height:1.7}

.invite-link{margin:12px 0;padding:11px 12px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid var(--line);overflow-x:auto}
.invite-link code{font:500 10px/1.5 ui-monospace,monospace;color:#b6b6c3;white-space:nowrap}
.share-actions button:disabled{opacity:.4;cursor:not-allowed}

.data-controls{display:flex;justify-content:space-between;gap:12px;margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}

.doc{margin-top:18px}
.doc h3{font-size:13px;margin:20px 0 7px;color:#e6e6ef}
.doc p{font-size:11px;line-height:1.85;color:#a9a9b5;margin:0}
.doc p b{color:#d7d7e0}
.resume-banner{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:13px 15px;border-radius:16px;background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.22);cursor:pointer;text-align:left}
.resume-banner span{font-size:11px;color:#c9c9d6}
.resume-banner b{font-size:11px;color:#c9b5ff;white-space:nowrap}

/* ── 엔진 신뢰성 공개 ── */
.verify-block{margin:34px 0 8px;padding:22px 20px;border-radius:26px;background:rgba(66,211,146,.045);border:1px solid rgba(66,211,146,.14)}
.verify-lead{font-size:11px;line-height:1.85;color:#9aa0a6;margin:0 0 16px}
.verify-strip{display:flex;width:100%;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(0,0,0,.28);border:1px solid rgba(66,211,146,.2);cursor:pointer;text-align:left}
.verify-strip.loading,.verify-strip.muted{justify-content:space-between;color:#8d8d9b;font-size:11px;border-color:var(--line)}
.verify-figure{display:flex;flex-direction:column;min-width:64px}
.verify-figure b{font:800 19px Inter;color:#72dfaa;line-height:1.15}
.verify-figure span{font-size:9px;color:#8d8d9b;margin-top:2px}
.verify-cta{margin-left:auto;text-align:right;font-size:9px;color:#8d8d9b;line-height:1.6}
.verify-cta strong{font-size:11px;color:#72dfaa}

.verify-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.verify-hero>div{padding:15px 12px;border-radius:18px;background:rgba(66,211,146,.07);border:1px solid rgba(66,211,146,.16);text-align:center}
.verify-hero b{display:block;font:800 21px Inter;color:#72dfaa;line-height:1.2}
.verify-hero span{display:block;font-size:9px;color:#8d8d9b;margin-top:4px}
.verify-meta{margin-top:10px;font-size:10px;color:#777786;text-align:center}

.trust-section{margin-top:30px}
.trust-section .section-head span{font:800 9px Inter;letter-spacing:.14em;color:#8d8d9b}
.trust-p{font-size:11px;line-height:1.85;color:#9aa0a6;margin:0 0 14px}
.trust-p.small{font-size:10px;margin-top:12px}

.chk{padding:15px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid var(--line);margin-bottom:10px}
.chk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.chk-head strong{font-size:13px}
.chk-badge{font:800 9px Inter;letter-spacing:.06em;padding:4px 8px;border-radius:99px;white-space:nowrap}
.chk-badge.pass{background:rgba(66,211,146,.12);color:#72dfaa;border:1px solid rgba(66,211,146,.24)}
.chk-badge.info{background:rgba(139,92,246,.12);color:#c9b5ff;border:1px solid rgba(139,92,246,.24)}
.chk-badge.fail{background:rgba(255,77,141,.12);color:#ff9fc2;border:1px solid rgba(255,77,141,.26)}
.chk-nums{font-size:11px;color:#c9c9d6;margin-bottom:9px}
.chk-nums b{font:800 13px Inter;color:#72dfaa}
.chk-nums b.warnnum{color:#c9b5ff}
.chk p{font-size:10px;line-height:1.8;color:#8d8d9a;margin:0 0 6px}
.chk-detail{color:#a9a9b5!important}
.chk-src{margin-top:8px;font-size:9px;color:#777786;line-height:1.8}
.chk-src code{font:500 9px ui-monospace,monospace;color:#a9a9b5;background:rgba(0,0,0,.3);padding:2px 5px;border-radius:5px;margin-right:4px;display:inline-block}

.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dist-table{width:100%;border-collapse:collapse;font-size:10px;min-width:340px}
.dist-table th{text-align:right;padding:8px 6px;color:#777786;font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}
.dist-table th:first-child,.dist-table td:first-child{text-align:left}
.dist-table td{text-align:right;padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.05);color:#c9c9d6;white-space:nowrap}
.dist-table td b{color:#72dfaa}
.dist-table .muted-cell{color:#777786}

.rule-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.rule-chip{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.rule-chip span{font-size:11px;color:#c9c9d6}
.rule-chip b{font:800 13px Inter}
.rule-chip.plus b{color:#6fdda8}
.rule-chip.minus b{color:#ff8b9a}

.policy-list{display:grid;gap:10px}
.policy-list>div{padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.policy-list small{display:block;font-size:9px;color:#777786;letter-spacing:.04em}
.policy-list b{display:block;font-size:13px;color:#e6e6ef;margin:3px 0 5px}
.policy-list span{display:block;font-size:10px;line-height:1.75;color:#8d8d9a}

.warn-section .section-head span{color:#ffbe6b}
.not-verified{margin:0;padding-left:18px}
.not-verified li{font-size:11px;line-height:1.85;color:#a9a9b5;margin-bottom:8px}

/* ── 생년월일 · 출생시간 입력 ── */
.date-row{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-bottom:4px}
.date-field{position:relative;display:flex}
.date-field .input{width:100%;padding-right:34px}
.date-field .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:#777786;pointer-events:none}
.date-row .select{padding-right:30px}

.time-mode{grid-template-columns:repeat(3,1fr);margin-bottom:10px}
.time-note{font-size:10px;line-height:1.8;color:#8d8d9a;margin:10px 0 0}
/* 설명 문단 바로 뒤에 다음 항목 라벨이 붙지 않게 */
.time-note + .label,.branch-grid + .label,.date-row + .label,.check-row + .label{margin-top:18px}
.time-note b{color:#c9c9d6}

.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.branch-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:13px;
  border:1px solid var(--line);background:rgba(255,255,255,.035);color:#c9c9d6;cursor:pointer;text-align:center}
.branch-chip b{font:700 12px 'Noto Sans KR'}
.branch-chip span{font-size:9px;color:#777786;letter-spacing:-.02em}
.branch-chip.selected{border-color:rgba(255,77,141,.6);background:rgba(255,77,141,.13);color:#fff}
.branch-chip.selected span{color:#ff9fc2}
.age-note{margin:8px 0 0;font-size:10px;line-height:1.7;color:#8d8d9a}
