/* lucky-number tool.css (v0.8.0 · ฟอร์ม ผล ช่องตัวเลข คู่เลข รายการตรวจ ส่วนพับ วงล้อ · แผนข้อ 4.2 6.5 · รวม phone.css เดิมแล้ว) */

/* ---------- เลย์เอาต์หน้าเครื่องมือ (มติ E9: ฟอร์ม → ผล → เนื้อหา · v0.15.0 M1: หัวหน้าอยู่ในกริดเดียวกับฟอร์มและผล) ---------- */
/* .tool-shell ถือคลาส page-head เดิม (วงล้อ absolute อิงกล่องนี้) · กฎ .page-head ใน main.css ไม่แตะ */
.tool-layout {
  position: relative; /* วาดทับวงล้อตกแต่งที่เป็น absolute */
  display: grid;
  gap: var(--sp-5);
}
.tool-head { margin-bottom: calc(var(--sp-8) - var(--sp-5)); } /* ระยะหัวหน้าถึงฟอร์มเท่าเดิม (32px) */
.tool-head > :first-child { margin-top: 0; } /* v0.16.2: ตัด eyebrow "เครื่องมือ 0N" ออก · หัวข้อแรกเริ่มที่ระยะ padding-top ของ .page-head (32px) เท่าตำแหน่ง eyebrow เดิม */
@media (min-width: 1024px) {
  .tool-layout {
    grid-template-columns: 400px minmax(0, 1fr);
    grid-template-areas: "head ." "form result";
    grid-template-rows: auto 1fr;
    align-items: start;
    gap: var(--sp-8);
  }
  .tool-head { grid-area: head; margin-bottom: 0; }
  .tool-form-col { grid-area: form; position: sticky; top: var(--sp-6); }
  .tool-result-col { grid-area: result; }
  /* มีผลแล้ว: ผลคร่อมแถวหัวหน้าถึงแถวฟอร์ม เริ่มระดับเดียวกับหัวหน้า และซ่อนวงล้อตกแต่ง */
  .tool-layout:has(#result:not([hidden])) { grid-template-areas: "head result" "form result"; }
  .tool-shell:has(#result:not([hidden])) .page-head-decor { display: none; }
}

/* ---------- ฟอร์ม ---------- */
.form-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
  padding: 22px 18px;
  background: var(--surface-glass);
  border: 1px solid var(--panel);
  border-radius: var(--radius-xl);
  box-shadow: 0 0 60px rgba(124, 92, 255, 0.15);
}
.tool-form { display: flex; flex-direction: column; gap: var(--sp-4); }
.field { display: flex; flex-direction: column; gap: 6px; }
.field-label { font-size: var(--text-md); color: var(--ink-2); }
legend.field-label { margin-bottom: 6px; }
.field-help { font-size: var(--text-sm); color: var(--muted); }
.input {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  background: var(--ground);
  color: var(--ink);
  border: 1px solid var(--line-input);
  border-radius: var(--radius-sm);
  font-size: var(--text-base);
  transition: border-color var(--speed), box-shadow var(--speed);
}
.input::placeholder { color: var(--placeholder); }
.input:hover { border-color: var(--violet-ink); }
.input:focus { outline: none; border-color: var(--violet-ink); box-shadow: 0 0 0 3px rgba(124, 92, 255, 0.35); }
.input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.input[aria-invalid="true"] { border-color: var(--warn); }
.input:disabled { opacity: 0.6; }
select.input { padding: 0 10px; cursor: pointer; }
.input-num {
  min-height: 54px;
  padding: 0 16px;
  border-radius: var(--radius);
  font-family: var(--font-num);
  font-variant-numeric: lining-nums tabular-nums;
  font-size: 1.625rem;
  font-weight: 500;
  letter-spacing: 2px;
}
.input-serif {
  min-height: 54px;
  padding: 0 16px;
  border-radius: var(--radius);
  font-family: var(--font-display);
  font-size: 1.375rem;
}
.input-time { max-width: 200px; }
/* UI v3 รอบ 2: เวลาเกิด + "ไม่ทราบเวลา" แถวเดียวกัน 2 คอลัมน์ (แบบ Phone) · ลำดับ DOM คงเดิม (ป้าย ช่อง คำอธิบาย ช่องติ๊ก) */
.field-time {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 6px var(--sp-2);
}
.field-time > .field-label,
.field-time > .field-help { grid-column: 1 / -1; }
.field-time > .input-time { grid-column: 1; grid-row: 2; max-width: none; }
.field-time > .check-label { grid-column: 2; grid-row: 2; font-size: var(--text-md); line-height: 1.4; }
.field-time > .field-help { grid-row: 3; }
.date-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.3fr 1fr;
  gap: var(--sp-2);
}
.date-part { min-width: 0; }
.check-label {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  min-height: 44px;
  font-size: var(--text-md);
  color: var(--ink-2);
  cursor: pointer;
}
.check-label input { width: 20px; height: 20px; accent-color: var(--violet); }

/* ชิปเลือก (วันในสัปดาห์ เพศ) */
.chip-pick { gap: var(--sp-2); }
.pick-chip { position: relative; display: inline-flex; cursor: pointer; }
.pick-chip input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
/* UI v3 รอบ 2 (แบบ Phone/Name/BirthDay): ชิปพื้น --surface-2 ขอบ --line · เลือกแล้ว --violet-dim ขอบ --violet-edge ตัวหนา */
.pick-chip span {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 14px;
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink-2);
  font-size: var(--text-md);
  transition: background-color var(--speed), border-color var(--speed), color var(--speed);
}
.pick-chip:hover span { border-color: var(--violet-edge); color: var(--ink); }
.pick-chip input:checked + span {
  background: var(--violet-dim);
  border-color: var(--violet-edge);
  color: var(--ink);
  font-weight: 700;
}
.pick-chip input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }

/* v0.9.0 B: กล่องชวนใส่วันเกิด (reading.no_birth) อยู่เหนือรายการตรวจ */
.need-birth-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: 12px 14px;
  border-radius: var(--radius-sm);
  background: var(--violet-dim);
  border: 1px solid var(--violet-ink);
}
.need-birth-box[hidden] { display: none; }
.need-birth-text { flex: 1 1 16em; color: var(--ink); font-size: var(--text-sm); }

/* ส่วนพับในฟอร์ม (ตัวเลือกเพิ่ม · รู้เวลาเกิด) */
.more-box {
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
  background: rgba(10, 8, 20, 0.5);
}
.more-sum,
.fold-sum {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  min-height: 52px;
  padding: 0 16px;
  cursor: pointer;
  list-style: none;
}
.more-sum::-webkit-details-marker,
.fold-sum::-webkit-details-marker { display: none; }
.more-box > .more-sum { color: var(--violet-ink); font-size: var(--text-md); }
.more-sign::after {
  content: "+";
  font-family: var(--font-num);
  font-variant-numeric: lining-nums tabular-nums;
  font-size: 1.375rem;
  line-height: 1;
  color: var(--violet-ink);
}
details[open] > summary .more-sign::after { content: "\2212"; }
.more-body { display: flex; flex-direction: column; gap: var(--sp-4); padding: 0 16px 16px; }

.form-error {
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: var(--warn-dim);
  border: 1px solid var(--warn-edge);
  color: var(--warn);
  font-size: var(--text-md);
}
.btn-submit { min-height: 54px; font-size: 1.0625rem; }
.btn-submit[aria-busy="true"] { opacity: 0.75; }

/* แท็บหน้าแรก */
.seg-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  background: var(--ground);
  border-radius: var(--radius-pill);
}
.seg-tab {
  min-height: 44px;
  border: 0;
  border-radius: var(--radius-pill);
  background: transparent;
  color: var(--ink-2);
  font-size: var(--text-base-s);
  cursor: pointer;
  transition: background-color var(--speed), color var(--speed);
}
.seg-tab:hover { color: var(--ink); }
.seg-tab[aria-selected="true"] { background: var(--violet-dim); color: var(--ink); font-weight: 700; }

/* ---------- ผล ---------- */
.result-idle {
  padding: var(--sp-6) var(--sp-5);
  border: 1px dashed var(--line-input);
  border-radius: var(--radius-xl);
  color: var(--muted);
}
.result-idle p + p { margin-top: var(--sp-2); }

/* v0.17.0 (แผน docs/plan-idle-intro-v0170.md Q5 Q6): การ์ดแนะนำหมวดในกล่อง #result-idle ตอนยังไม่กรอก · ภาพประกอบแทนวงล้อตกแต่งในหัวหน้า */
.tool-shell .page-head-decor { display: none; }
.result-idle.idle-card {
  padding: var(--sp-5) var(--sp-6) var(--sp-5);
  border: 1px solid var(--line-soft);
  background: linear-gradient(180deg, var(--surface-2), var(--surface));
  box-shadow: var(--shadow-glow);
  color: var(--ink-2);
}
.idle-card .idle-illus { width: 100%; max-width: 400px; height: auto; margin: 0 auto var(--sp-2); }
.idle-card .idle-head {
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
  line-height: 1.4;
  color: var(--ink-strong);
  text-wrap: balance;
}
.idle-card .idle-para { margin-top: var(--sp-2); font-size: var(--text-base-s); line-height: 1.7; }
.idle-card .idle-head + .idle-para { margin-top: var(--sp-3); }
.idle-card .idle-cta {
  margin-top: var(--sp-4);
  padding-top: var(--sp-3);
  border-top: 1px dashed var(--line-input);
  font-size: var(--text-md);
  color: var(--muted);
}
/* จอ ≥1024 (Q6): ภาพลอยขวาข้างหัวการ์ด ความสูงการ์ดไม่เกินฟอร์มหรือ 520px */
@media (min-width: 1024px) {
  .idle-card .idle-illus { float: right; width: 44%; max-width: 250px; margin: 0 -6px var(--sp-2) var(--sp-4); }
  .result-idle.idle-card { padding-bottom: var(--sp-4); }
  .idle-card .idle-para { line-height: 1.65; }
  .idle-card .idle-cta { margin-top: var(--sp-3); }
  .idle-card .idle-cta { clear: both; }
}
@media (max-width: 479px) {
  .result-idle.idle-card { padding: var(--sp-4); }
  .idle-card .idle-head { font-size: var(--text-lg); }
}
.result { display: flex; flex-direction: column; gap: var(--sp-4); }
.result[aria-busy="true"] { opacity: 0.6; }
.result-top { text-align: center; padding-top: var(--sp-2); }
.result-top:focus { outline: none; }
.result-input {
  margin-top: 14px;
  font-family: var(--font-num);
  font-variant-numeric: lining-nums tabular-nums;
  font-size: 2.75rem;
  font-weight: 500;
  letter-spacing: 4px;
  line-height: 1.1;
  text-shadow: 0 0 30px rgba(157, 123, 255, 0.7);
  overflow-wrap: anywhere;
}
.result-birth { margin-top: 10px; color: var(--ink-2); font-size: var(--text-md); }

.verdict {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 18px;
  background: rgba(20, 17, 38, 0.95);
  border: 1px solid var(--line-2);
  border-radius: var(--radius-xl);
  box-shadow: 0 0 60px rgba(124, 92, 255, 0.2);
}
.verdict.tone-warn {
  border-color: var(--warn-edge);
  box-shadow: 0 0 60px rgba(245, 184, 107, 0.12);
}
.result-badges { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.count-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-weight: 700;
  font-size: var(--text-md);
}
.count-pill.is-pass { background: var(--pass-dim); color: var(--pass); }
.count-pill.is-warn { background: var(--warn-dim); color: var(--warn); }
.count-text { font-size: var(--text-sm); color: var(--muted); }
.result-title {
  font-size: var(--text-2xl);
  font-weight: 500;
  line-height: 1.35;
}
/* v0.23.0: #result-head (tabindex=-1) รับโฟกัสจากสคริปต์เท่านั้น ปุ่ม Tab ไปไม่ถึง · Chrome นับโฟกัสจากสคริปต์หลังพิมพ์/กด Enter เป็น :focus-visible จึงเกิดกรอบทอง → ปิดวงทั้ง :focus และ :focus-visible ของหัวที่ tabindex=-1 · ส่วนควบคุมที่ Tab ถึงยังใช้วงทองตาม :focus-visible เดิม */
.result-title[tabindex="-1"]:focus,
.result-title[tabindex="-1"]:focus-visible,
.result-top[tabindex="-1"]:focus-visible { outline: none; }
.result-sub { color: var(--ink-2); font-size: var(--text-base-s); }
.state-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.state-list:empty { display: none; }
/* UI v3 รอบ 2 (แบบ Plate): แถวสถานะมีจุดสีหน้าข้อความ (ตกแต่ง ไม่มีข้อความเพิ่ม) */
.state-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--panel);
  border-radius: var(--radius-sm);
  background: var(--ground);
  color: var(--ink-2);
  font-size: var(--text-sm);
  line-height: 1.6;
}
.state-list li::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 0.55em;
  border-radius: var(--radius-pill);
  background: var(--muted-2);
}
.state-list li.state-warn { background: var(--warn-dim); border-color: var(--warn-edge); color: var(--warn); }
/* ระวัง = สามเหลี่ยม (ปกติ = วงกลม) แยกด้วยรูปทรง ไม่พึ่งสีอย่างเดียว */
.state-list li.state-warn::before { width: 10px; height: 9px; border-radius: 0; background: var(--warn); clip-path: polygon(50% 0, 100% 100%, 0 100%); }

/* ช่องตัวเลขใหญ่ */
.num-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-2);
}
.num-row.is-1 { grid-template-columns: 1fr; justify-items: center; }
.num-row.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* เลขบัญชี: 4 ช่อง (2 คอลัมน์มือถือ · 4 คอลัมน์ตั้งแต่ 640px) */
.num-row.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .num-row.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.num-box {
  min-width: 0;
  padding: 14px 8px;
  background: var(--ground);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
  text-align: center;
}
.num-label { font-size: var(--text-xs); letter-spacing: 1px; color: var(--muted-2); line-height: 1.4; }
.num-value {
  font-family: var(--font-num);
  font-variant-numeric: lining-nums tabular-nums;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--violet-soft);
  overflow-wrap: anywhere;
}
.num-box.tone-gold .num-value { color: var(--gold-2); }
.num-box.tone-warn .num-value { color: var(--warn); }
/* บ้านเลขที่: เลขเดียวในวงกลมเรือง (แบบ House) */
.num-row.is-1 .num-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-3);
  border: 0;
  background: transparent;
}
.num-row.is-1 .num-value {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 128px;
  height: 128px;
  border: 1px solid var(--gold);
  border-radius: var(--radius-pill);
  background: radial-gradient(circle at 50% 40%, rgba(123, 92, 230, 0.45), var(--surface) 72%);
  font-size: 4.5rem;
  color: var(--gold-2);
  box-shadow: 0 0 40px rgba(123, 92, 230, 0.45), 0 0 0 6px rgba(123, 92, 230, 0.12);
} /* UI v3 รอบ 2: วงเลขหลักแบบหน้าปัด (House/Name/LifePath) ขอบทอง เลขทอง พื้นม่วงเรือง */

/* คู่เลขในเบอร์ (v0.11.0 มติ L4: แถวเต็มกว้าง เลข · ป้ายเกรด · ธง · v0.24.0 มติ H0 ไม่มีบรรทัดความหมาย) */
.box-label { margin-bottom: 10px; font-size: var(--text-md); color: var(--ink-2); }
/* UI v3 รอบ 2 (แบบ Phone "คู่เลขในเบอร์"): ช่องเรียงตาราง เลขคู่ตัวใหญ่ด้านบน ป้ายใต้เลข · ผ่าน = พื้น pass-dim · ระวัง = พื้น warn-dim */
.pair-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(124px, 1fr));
  gap: var(--sp-2);
}
.pair {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 10px 8px;
  border-radius: var(--radius-sm);
  background: var(--surface-2);
  border: 1px solid var(--panel);
  text-align: center;
}
.pair-key { font-size: 1.75rem; font-weight: 500; line-height: 1.1; color: var(--ink); }
.pair-body { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; max-width: 100%; }
.pair-top { justify-content: center; }
.pair-flags { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.pair-flags:empty { display: none; }
.pair .badge { font-size: var(--text-xs); }
.pair .meaning-btn { margin-left: 0; }
.pair.tone-pass { background: var(--pass-dim); border-color: var(--pass-edge); }
.pair.tone-pass .pair-key { color: var(--pass); }
.pair.tone-warn { background: var(--warn-dim); border-color: var(--warn-edge); }
.pair.tone-warn .pair-key { color: var(--warn); }
.pair-help { margin-top: var(--sp-2); font-size: var(--text-sm); line-height: 1.6; color: var(--muted); }

/* คำพยากรณ์เบอร์นี้ (v0.13.0 มติ B6: หัว · ป้ายเกรด · ย่อหน้า · อ่านง่ายที่ 375) */
.prophecy-box { display: flex; flex-direction: column; gap: var(--sp-3); }
.prophecy-list { display: flex; flex-direction: column; gap: var(--sp-3); }
/* UI v3 รอบ 2: กล่องย่อยในการ์ดผลใช้พื้น --ground ขอบ --panel รัศมี 14 เหมือนกล่องความหมายในแบบ */
.prophecy {
  padding: 14px;
  border-radius: var(--radius);
  background: var(--ground);
  border: 1px solid var(--panel);
}
.prophecy-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 6px; }
.prophecy-key { font-size: var(--text-md); font-weight: 600; color: var(--ink-strong); }
.prophecy-flags:empty { display: none; }
.prophecy-text { font-size: var(--text-base-s); line-height: 1.8; color: var(--ink-2); overflow-wrap: anywhere; }
/* v0.21.0 ผลเต็มต่อคีย์: <details> · summary (หัว เกรด สรุป) เห็นตลอด · ส่วนที่กดเปิด = รายด้าน ความหมายย่อ เทียบ FAQ · ลิงก์ท้ายการ์ด */
.prophecy-sum { display: block; position: relative; padding-right: 28px; list-style: none; cursor: pointer; }
.prophecy-sum::-webkit-details-marker { display: none; }
.prophecy-sum::after {
  content: "+";
  position: absolute;
  top: 0;
  right: 0;
  color: var(--violet-ink);
  font-family: var(--font-num);
  font-size: 1.5rem;
  line-height: 1;
  transition: transform var(--speed);
}
.prophecy-details[open] > .prophecy-sum::after { transform: rotate(45deg); }
.prophecy-details.is-flat > .prophecy-sum { padding-right: 0; cursor: default; pointer-events: none; }
.prophecy-details.is-flat > .prophecy-sum::after { content: none; }
.prophecy-sum:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: var(--radius-sm); }
.prophecy-sum .prophecy-top,
.prophecy-sum .prophecy-sum-head,
.prophecy-sum .prophecy-text { display: block; }
.prophecy-sum .prophecy-top { display: flex; }
.prophecy-sum-head { margin-bottom: 4px; font-weight: 600; color: var(--ink-strong); overflow-wrap: anywhere; }
.prophecy-sum-head:empty { display: none; }
.prophecy-more { min-width: 0; }
.prophecy-sec { margin-top: var(--sp-4); }
.prophecy-h { margin: 0 0 var(--sp-2); font-size: var(--text-base); font-weight: 600; color: var(--ink-strong); }
.prophecy-h5 { margin: var(--sp-3) 0 4px; font-size: var(--text-base-s); font-weight: 600; color: var(--ink-strong); overflow-wrap: anywhere; }
.prophecy-p { margin: 0; font-size: var(--text-base-s); line-height: 1.8; color: var(--ink-2); overflow-wrap: anywhere; }
.prophecy-tags { padding: 0; margin: 0; }
.prophecy-tags .chip {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  color: var(--ink-2);
  font-size: var(--text-sm);
  overflow-wrap: anywhere;
}
.prophecy-more .faq-item summary { min-height: 44px; font-size: var(--text-base-s); overflow-wrap: anywhere; }
.prophecy-more .faq-item p { font-size: var(--text-base-s); line-height: 1.8; overflow-wrap: anywhere; }
.prophecy-foot { display: flex; margin-top: var(--sp-3); }

/* ปุ่ม "ดูความหมาย" มุมขวาบนของรายการผล (v0.17.1) · แคบ = ตกลงบรรทัดใต้หัว ชิดขวา (flex-wrap + margin-left auto) */
.meaning-btn {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-height: 32px;
  max-width: 100%;
  margin-left: auto;
  padding: 4px 6px 4px 12px;
  border: 1px solid var(--violet-edge);
  border-radius: var(--radius-pill);
  background: var(--surface);
  color: var(--gold-2);
  font-size: var(--text-sm);
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: border-color var(--speed), background-color var(--speed);
}
.meaning-btn .icon-chevron { flex: none; width: 14px; height: 14px; color: var(--gold); }
.meaning-btn:hover { border-color: var(--gold); background: var(--gold-dim); }
.meaning-btn:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.result-head-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-3); }
.result-head-row .result-title { flex: 0 1 auto; min-width: 0; }
.meaning-slot { display: flex; margin-left: auto; }
.pair-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.tile-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.fact-grid-pillars .tile-top { justify-content: center; }
.fact-grid-pillars .tile-top .meaning-btn { margin-left: 0; }

/* การ์ดเกรดเบอร์ A ถึง F (v0.12.0 มติ M8 P6 P7) · สีตามเกรดด้วย class · partial = โทนกลาง ไม่เขียว */
.grade-box {
  --grade-ink: var(--ink);
  --grade-good: #6EE7B7;
  --grade-loss: #F87171;
  --grade-rest: var(--panel);
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 0 var(--sp-4);
  border-bottom: 1px solid var(--panel);
}
.grade-box.grade-a { --grade-ink: #6EE7B7; }
.grade-box.grade-b { --grade-ink: #A7F3D0; }
.grade-box.grade-c { --grade-ink: var(--pass); }
.grade-box.grade-d { --grade-ink: var(--violet-ink); }
.grade-box.grade-e { --grade-ink: var(--warn); }
.grade-box.grade-f { --grade-ink: #F87171; }
.grade-box.is-partial { --grade-ink: var(--ink-2); --grade-good: var(--muted-2); }
.grade-eyebrow { font-size: var(--text-xs); letter-spacing: 1px; color: var(--muted-2); }
.grade-main { display: flex; align-items: center; gap: var(--sp-4); min-width: 0; }
/* UI v3 รอบ 2 (แบบ Phone): เกรดในวงแหวนวัดคะแนน · ส่วนโค้ง = --grade-turn (0..1 จาก tool.js style.setProperty) · ไม่มีค่า = วงเต็มสีพื้น */
.grade-letter {
  position: relative;
  isolation: isolate;
  flex: none;
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-pill);
  background: conic-gradient(var(--grade-ink) calc(var(--grade-turn, 0) * 1turn), var(--grade-rest) 0);
  box-shadow: var(--shadow-glow);
  color: var(--grade-ink);
  font-family: var(--font-num);
  font-size: 3rem;
  font-weight: 500;
  line-height: 1;
}
.grade-letter::before {
  content: "";
  position: absolute;
  inset: 5px;
  z-index: -1;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 35%, var(--surface-2), var(--surface));
}
.grade-info { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.grade-label { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 700; color: var(--grade-ink); }
.grade-score { font-size: var(--text-base-s); color: var(--ink-2); }
.grade-value { font-family: var(--font-num); font-variant-numeric: lining-nums tabular-nums; font-size: var(--text-xl); font-weight: 600; color: var(--ink-strong); white-space: nowrap; }
.grade-bar { height: 12px; border-radius: var(--radius-pill); overflow: hidden; background: var(--grade-rest); }
.grade-svg { display: block; width: 100%; height: 12px; }
.grade-bar-score { fill: var(--grade-good); }
.grade-bar-loss { fill: var(--grade-loss); }
.grade-bar-rest { fill: var(--grade-rest); }
.grade-loss { font-size: var(--text-md); line-height: 1.6; color: var(--ink-2); overflow-wrap: anywhere; }
.grade-note { font-size: var(--text-sm); line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }

/* คะแนนรายหมวด 7 หมวด (v0.24.0 มติ H1) · แถว = ชื่อหมวด + N/100 + แถบ · null = ข้อความเล็ก ไม่มีแถบ */
.aspect-box {
  --aspect-ink: var(--ink-2);
  --aspect-green: #8FD9A8;
  --aspect-yellow: #EBD58A;
  --aspect-orange: #F2B48A;
  --aspect-red: #EE9C9C;
  padding: 14px 16px;
  background: var(--ground);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
}
.aspect-list { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.aspect {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "label value" "bar bar";
  align-items: baseline;
  gap: 4px var(--sp-3);
  min-width: 0;
}
.aspect-label { grid-area: label; font-size: var(--text-base-s); color: var(--ink); overflow-wrap: anywhere; min-width: 0; }
.aspect-value { grid-area: value; font-family: var(--font-num); font-variant-numeric: lining-nums tabular-nums; font-size: var(--text-base-s); font-weight: 700; color: var(--aspect-ink); white-space: nowrap; }
.aspect.is-none .aspect-value { font-family: var(--font-body); font-size: var(--text-sm); font-weight: 400; color: var(--muted); white-space: normal; text-align: right; }
.aspect-bar { grid-area: bar; display: block; height: 8px; border-radius: var(--radius-pill); overflow: hidden; }
.aspect-svg { display: block; width: 100%; height: 8px; }
.aspect-bar-rest { fill: var(--panel); }
.aspect-bar-score { fill: var(--aspect-ink); }
/* v0.24.1: สีตามช่วงคะแนน โทนอ่อน (แถบ + ตัวเลข) · >=70 เขียว · 50-69 เหลือง · 35-49 ส้ม · <35 แดง */
.aspect.aspect-g { --aspect-ink: var(--aspect-green); }
.aspect.aspect-y { --aspect-ink: var(--aspect-yellow); }
.aspect.aspect-o { --aspect-ink: var(--aspect-orange); }
.aspect.aspect-r { --aspect-ink: var(--aspect-red); }
.aspect-note { margin-top: var(--sp-3); font-size: var(--text-sm); line-height: 1.6; color: var(--muted); overflow-wrap: anywhere; }

/* ความหมายของช่องหลัก + ภาพรวมเบอร์ (มติ L3 L6) */
.result-note { color: var(--ink-2); font-size: var(--text-base-s); line-height: 1.6; overflow-wrap: anywhere; }
.overview-box {
  padding: 14px 16px;
  background: var(--ground);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
}
.overview-text { display: flex; flex-direction: column; gap: 6px; font-size: var(--text-base-s); line-height: 1.7; color: var(--ink-2); }

/* อักษรในชื่อรายตัว */
.letters-box { display: flex; flex-direction: column; gap: var(--sp-4); }
.letters-row + .letters-row { margin-top: var(--sp-3); }
.letter-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
.letter-chip {
  min-width: 40px;
  padding: 6px 10px;
  border-radius: 10px;
  background: var(--surface-2);
  border: 1px solid var(--panel);
  text-align: center;
  font-family: var(--font-display);
  font-size: 1.375rem;
  line-height: 1.4;
}
.letter-chip.is-kal { background: var(--warn-dim); border-color: var(--warn-edge); color: var(--warn); }
.letter-chip.is-good { background: var(--pass-dim); border-color: var(--pass-edge); color: var(--pass); }
.legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: var(--text-sm); color: var(--muted); }
.legend li { display: inline-flex; align-items: center; gap: 6px; }
.key { display: inline-block; width: 10px; height: 10px; border-radius: var(--radius-pill); background: var(--surface-2); border: 1px solid var(--line-input); }
.key-kal { background: var(--warn); border-color: var(--warn); }
.key-good { background: var(--pass); border-color: var(--pass); }
.key-dot { background: var(--gold); border-color: var(--gold); }

/* รายการตรวจ */
.check-list { list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: var(--text-base-s); }
.check { display: flex; gap: 10px; align-items: flex-start; }
.check-icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-top: 1px;
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  color: var(--ink-2);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1;
}
.check-ok .check-icon { background: var(--pass-dim); color: var(--pass); }
.check-caution .check-icon,
.check-fail .check-icon { background: var(--warn-dim); color: var(--warn); }
.check-body { min-width: 0; }
.check-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; font-size: var(--text-sm); color: var(--muted); }
.check-meta:empty { display: none; }

.result-actions { display: flex; flex-direction: column; gap: var(--sp-2); }
.result-actions .btn-light { min-height: 52px; }

/* ส่วนพับใต้ผล (วันเกิดของคุณ · อ่านเพิ่ม) */
.fold-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.fold {
  background: var(--surface);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
}
.fold-sum { min-height: 54px; padding: 0 18px; }
.fold-title { font-weight: 500; }
.fold-meta { display: inline-flex; align-items: center; gap: var(--sp-2); color: var(--muted); font-size: var(--text-md); }
.fold-body { display: flex; flex-direction: column; gap: var(--sp-4); padding: 0 18px 18px; }
.box-title { font-family: var(--font-body); font-size: var(--text-base); font-weight: 500; margin-bottom: var(--sp-2); }

/* ช่องผลทั่วไป (tiles · facts) */
.tile-grid,
.fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--sp-2);
}
.tile {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 14px 12px;
  background: var(--ground);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
}
.tile-label { font-size: var(--text-xs); letter-spacing: 1px; color: var(--muted-2); }
.tile-value {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.tile-value.num { font-family: var(--font-num); font-size: 2rem; line-height: 1.15; color: var(--violet-soft); }
.tile-value.han { font-family: var(--font-han), var(--font-display); font-size: 1.75rem; color: var(--violet-soft); }
.tile-sub { font-size: var(--text-sm); color: var(--ink-2); overflow-wrap: anywhere; }
.tile-note { font-size: var(--text-sm); color: var(--muted); }
.tile-full { font-size: var(--text-sm); color: var(--ink-2); }
.tile-full:empty,
.tile-sub:empty,
.tile-note:empty,
.tile-badges:empty { display: none; }
.tile-badges { display: flex; flex-wrap: wrap; gap: 4px; }
.tile.tone-caution,
.tile.tone-fail { border-color: var(--warn-edge); }
.tile.tone-ok { border-color: var(--pass-edge); }
.tile.is-primary { border-color: var(--gold-dim-2); box-shadow: var(--shadow-gold); } /* UI v3 รอบ 2: ช่องหลัก (เช่น ก้านวันเกิด) ขอบทองแบบ Bazi */
.tile.is-primary .tile-value.han { color: var(--gold-2); }
.fact-grid-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fact-grid-pillars .tile { text-align: center; align-items: center; }
.fact-grid-pillars .tile-value.han { font-size: 1.875rem; letter-spacing: 2px; }
@media (min-width: 1280px) {
  .fact-grid-pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.result-text p + p { margin-top: var(--sp-2); }
.result-text p { color: var(--ink-2); }
.warn-list { padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: var(--text-md); color: var(--ink-2); }

/* วันเกิดของคุณ (personal) */
.personal-grid { display: grid; gap: var(--sp-3); }
.personal-grid.is-two { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.personal-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: 14px;
  background: var(--ground);
  border: 1px solid var(--panel);
  border-radius: var(--radius-md);
}
.personal-label { font-family: var(--font-body); font-size: var(--text-base); font-weight: 500; }
.personal-dl { display: grid; gap: var(--sp-2); }
.personal-dl > div { display: grid; grid-template-columns: 7.5em 1fr; gap: var(--sp-2); }
.personal-dl dt { color: var(--muted); font-size: var(--text-md); }
.personal-dl dd { color: var(--ink); overflow-wrap: anywhere; }
.personal-dl dd.num { font-size: 1.375rem; line-height: 1.2; color: var(--warn); }
.plate-dl dd.num { color: var(--gold-2); }
.bhumi summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--violet-ink); font-size: var(--text-md); }
.bhumi .table-wrap { margin-top: var(--sp-2); }

/* วงล้อทักษา */
.wheel { width: 100%; }
.wheel-svg { width: 100%; height: auto; }
.wheel-cell { fill: var(--surface-2); stroke: var(--line-input); stroke-width: 1; }
.wheel-cell.is-kalakini { fill: var(--warn-dim); stroke: var(--warn); }
.wheel-center { fill: var(--violet-dim); stroke: var(--violet); }
.wheel-text { fill: var(--ink); font-family: var(--font-body); font-size: 14px; }
.wheel-center-text { font-family: var(--font-display); font-size: 15px; }
.wheel-cell-kal-text { fill: var(--warn); }
.wheel-text-sub { fill: var(--muted); font-size: 12px; }
.wheel-dot { fill: var(--gold); }
.wheel-hits { list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: var(--text-md); color: var(--ink-2); }
.wheel-hits:empty { display: none; }
.hit-star { color: var(--gold-2); font-weight: 500; }

.result-foot { display: flex; flex-direction: column; gap: 4px; }
.result-foot p:empty { display: none; }

/* ---------- เนื้อหาใต้ผล ---------- */
.day-links { margin-top: var(--sp-2); }

/* กล่องปีนี้ (เจ้าของ = /chinese-zodiac/ · แผน 5.4) */
.year-box {
  display: grid;
  gap: var(--sp-4);
  padding: var(--sp-6) var(--sp-5);
  background: var(--surface);
  border: 1px solid var(--panel);
  border-radius: var(--radius-xl);
}
.year-main { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4); margin-top: 10px; }
.year-box .year-ganzhi { font-size: 2.75rem; }
.year-name { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.4; }
.year-box h3 { font-family: var(--font-body); font-size: var(--text-md); font-weight: 400; color: var(--ink-2); margin-bottom: var(--sp-2); }
.rel-chip {
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  background: var(--surface-2);
  border: 1px solid var(--panel);
  font-size: var(--text-md);
}
.rel-chip[data-rel="chong"] { background: var(--warn-dim); border-color: var(--warn-edge); color: var(--warn); }
.rel-label { color: inherit; }

/* หน้าย่อยวันเกิด */
.day-facts { margin-bottom: var(--sp-3); }
.day-facts dd { margin: 0; }

@media (min-width: 1280px) {
  .num-value { font-size: 2.5rem; }
}

/* แถบแชร์ผล (v0.19.0 S4 C3 · share.js) · ปุ่มแตะได้ ≥ 44px · 375 ไม่ล้น (wrap) · ไอคอนวาดเอง ไม่ใช้โลโก้แพลตฟอร์ม */

/* ---------- v0.23.0 G1: กล่องผลส่วนตัวในหน้าปลายทาง (หน้าความหมาย · หน้าย่อยวันเกิด) ---------- */
/* โหนดนี้มีเฉพาะเมื่อ tool.js แทรกจาก <template id="personal-result-tpl"> (มีผลของแท็บนี้) · ไม่มีผล = ไม่มีโหนด บทความไม่เปลี่ยนรูป
   · คอลัมน์เดียวกว้างเท่าคอลัมน์บทความ (.wrap-doc / .prose-block) · ไม่ใช้กริดของหน้าเครื่องมือ */
.meaning-lead { padding-bottom: 0; }
.personal-result { padding-bottom: var(--sp-2); }
.personal-result-col { max-width: var(--wrap-doc); }
.result-again { margin-top: var(--sp-4); }
.result-again .btn { min-height: 52px; }

/* ---------- UI v3 รอบ 2: หน้าเครื่องมือ (แบบ Phone/Plate/House/Name/BirthDay/Zodiac/Bazi/LifePath/BankAccount.dc.html) ---------- */
/* กล่องปีนี้ (แบบ Zodiac): แสงม่วงมุมขวาบน · ก้านกิ่งปีสีทอง */
.year-box { background: radial-gradient(circle at 100% 0, rgba(123, 92, 230, 0.2), transparent 55%), var(--surface); }
.year-box .year-ganzhi { color: var(--gold-2); }
.rel-chip[data-rel="self"] { background: var(--violet-dim); border-color: var(--violet-edge); }

/* ลิงก์ที่เกี่ยวข้องในหน้าเครื่องมือ (แบบ "เช็คต่อด้วยวันเกิดเดียวกัน"): การ์ด 2 คอลัมน์ตั้งแต่มือถือ ไม่มีลูกศร */
.tool-related .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tool-related .related-card { padding: 10px 14px; font-size: var(--text-md); line-height: 1.5; }
.tool-related .related-card .icon-chevron { display: none; }
@media (min-width: 1024px) {
  .tool-related .related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .tool-related .related-card { font-size: var(--text-base-s); }
}

/* แอนิเมชันถอดรหัสผล: tool.js ใส่ .is-reveal ที่ #result เฉพาะผลใหม่หลังกดคำนวณ (หน้าเปิดมา/โหลดซ้ำ = นิ่ง)
   · ม่านบัง → การ์ดเรือง → แสงกวาด → ส่วนย่อยเลื่อนขึ้นทีละชิ้น → เกรด/ตัวเลข/คู่เลขเด้ง · ปิดทั้งหมดเมื่อ prefers-reduced-motion */
@media (prefers-reduced-motion: no-preference) {
  @keyframes ln-rv-veil { 0%, 55% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
  @keyframes ln-rv-ring { from { transform: translate(-50%, -50%) rotate(0); } to { transform: translate(-50%, -50%) rotate(1turn); } }
  @keyframes ln-rv-glow { 0% { box-shadow: 0 0 0 rgba(123, 92, 230, 0); } 40% { box-shadow: 0 0 90px rgba(123, 92, 230, 0.5), 0 0 0 1px rgba(235, 184, 105, 0.6); } 100% { box-shadow: 0 0 60px rgba(123, 92, 230, 0.2); } }
  @keyframes ln-rv-sweep { from { background-position: 100% 0, 0 0; } to { background-position: 0% 0, 0 0; } }
  @keyframes ln-rv-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
  @keyframes ln-rv-pop { 0% { opacity: 0; transform: scale(0.5); } 70% { opacity: 1; transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
  .result.is-reveal .result-input { animation: ln-rv-up 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
  .result.is-reveal .verdict::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: inherit;
    background: radial-gradient(circle at 50% 120px, rgba(123, 92, 230, 0.28), transparent 60%), var(--surface);
    pointer-events: none;
    animation: ln-rv-veil 0.9s ease both;
  }
  .result.is-reveal .verdict {
    position: relative;
    overflow: hidden;
    background: linear-gradient(110deg, transparent 40%, rgba(243, 203, 134, 0.12) 50%, transparent 60%) no-repeat, rgba(20, 17, 38, 0.95);
    background-size: 300% 100%, auto;
    background-position: 0% 0, 0 0;
    animation: ln-rv-glow 1.8s ease-out 0.5s backwards, ln-rv-sweep 1.2s ease-out 0.9s backwards;
  }
  .result.is-reveal .verdict::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 96px;
    z-index: 4;
    width: 56px;
    height: 56px;
    border: 2px solid var(--violet-dim);
    border-top-color: var(--gold);
    border-radius: var(--radius-pill);
    pointer-events: none;
    animation: ln-rv-ring 0.6s linear 2 both, ln-rv-veil 0.9s ease both;
  }
  .result.is-reveal .verdict > * { animation: ln-rv-up 0.55s cubic-bezier(0.2, 0.8, 0.2, 1) both; }
  .result.is-reveal .verdict > :nth-child(1) { animation-delay: 0.55s; }
  .result.is-reveal .verdict > :nth-child(2) { animation-delay: 0.62s; }
  .result.is-reveal .verdict > :nth-child(3) { animation-delay: 0.69s; }
  .result.is-reveal .verdict > :nth-child(4) { animation-delay: 0.76s; }
  .result.is-reveal .verdict > :nth-child(5) { animation-delay: 0.83s; }
  .result.is-reveal .verdict > :nth-child(6) { animation-delay: 0.9s; }
  .result.is-reveal .verdict > :nth-child(7) { animation-delay: 0.97s; }
  .result.is-reveal .verdict > :nth-child(8) { animation-delay: 1.04s; }
  .result.is-reveal .verdict > :nth-child(n+9) { animation-delay: 1.1s; }
  .result.is-reveal .grade-letter,
  .result.is-reveal .num-value,
  .result.is-reveal .pair { animation: ln-rv-pop 0.6s cubic-bezier(0.2, 0.9, 0.3, 1.2) 1s both; }
  .result.is-reveal .pair:nth-child(2) { animation-delay: 1.05s; }
  .result.is-reveal .pair:nth-child(3) { animation-delay: 1.1s; }
  .result.is-reveal .pair:nth-child(4) { animation-delay: 1.15s; }
  .result.is-reveal .pair:nth-child(5) { animation-delay: 1.2s; }
  .result.is-reveal .pair:nth-child(n+6) { animation-delay: 1.25s; }
}

/* v3gen:start (สร้างจาก build.py ห้ามแก้มือ) */
.v3 .vacc9c3{background:#0A0814;color:#CFCAE0;font-family:'Noto Sans Thai', system-ui, sans-serif;font-size:1rem;line-height:1.6;overflow:hidden}
.v3 .v5fd7b0{position:absolute;left:0;top:0;width:390px;height:620px;background:radial-gradient(circle at 50% 10%, rgba(124, 92, 255, 0.32), rgba(124, 92, 255, 0) 55%)}
.v3 .v159734{position:absolute;left:0;top:0}
.v3 .vb8cd9f{position:relative;padding:24px 20px 0}
.v3 .v2634df{margin:0;font-size:0.75rem;letter-spacing:2px;color:#9A93BC}
.v3 .vcc3f63{margin:10px 0 0;max-width:280px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2.125rem;line-height:1.25}
.v3 .v228b6a{margin:14px 0 0;max-width:270px;color:#ADA8C4;font-size:0.9375rem}
.v3 .va92083{position:relative;margin:24px 20px 0;padding:22px 18px;background:#141126;border:1px solid #2B2550;border-radius:22px;display:flex;flex-direction:column;gap:16px}
.v3 .v3503ba{display:flex;flex-direction:column;gap:6px}
.v3 .vac23f5{font-size:0.875rem;color:#ADA8C4}
.v3 .v0817e4{color:#9590AE}
.v3 .v679d6f{height:54px;padding:0 16px;box-sizing:border-box;background:#0A0814;color:#CFCAE0;border:1px solid #3A3263;border-radius:14px;font:inherit;font-size:1rem;font-family:'Cormorant Garamond', serif;font-size:1.625rem;font-weight:500;letter-spacing:2px}
.v3 .v71b14f{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:6px}
.v3 .v01d189{padding:0;font-size:0.875rem;color:#ADA8C4}
.v3 .vd1210f{display:grid;grid-template-columns:0.8fr 1.3fr 1fr;gap:8px}
.v3 .vbe373d{height:48px;padding:0 10px;background:#0A0814;color:#CFCAE0;border:1px solid #3A3263;border-radius:12px;font:inherit}
.v3 .v12d611{margin:0;font-size:0.8125rem;color:#9590AE}
.v3 .v69050a{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end}
.v3 .v31c602{height:54px;padding:0 16px;box-sizing:border-box;background:#0A0814;color:#CFCAE0;border:1px solid #3A3263;border-radius:14px;font:inherit;font-size:1rem;height:48px;border-radius:12px}
.v3 .v128ccf{display:flex;align-items:center;gap:10px;height:48px;font-size:0.875rem;color:#ADA8C4}
.v3 .v05618e{width:20px;height:20px;accent-color:#7C5CFF}
.v3 .ve0e9ec{display:flex;gap:8px;flex-wrap:wrap}
.v3 .v641dcd{height:54px;border:0;border-radius:999px;background:#CFCAE0;color:#0A0814;font:inherit;font-size:1.0625rem;font-weight:700}
.v3 .vb11c66{margin:0;font-size:0.8125rem;color:#9590AE;text-align:center}
.v3 .v9c7307{position:relative;margin:16px 20px 0;padding:24px 18px;background:rgba(20, 17, 38, 0.95);border:1px solid #4B3D93;border-radius:22px;box-shadow:0 0 60px rgba(124, 92, 255, 0.2);display:flex;flex-direction:column;gap:18px}
.v3 .vcb4926{font-family:'Noto Serif Thai', serif;font-size:1.0625rem;font-weight:500;color:#CFCAE0}
.v3 .ve364bc{font-size:0.75rem;letter-spacing:1px;color:#9590AE}
.v3 .vee36e7{display:flex;align-items:center;gap:16px}
.v3 .v821150{position:relative;flex:none;width:112px;height:112px}
.v3 .va4df7b{position:absolute;left:0;top:0;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.v3 .vcd1132{font-family:'Cormorant Garamond', serif;font-size:2.75rem;font-weight:500;line-height:1;color:#D9C08A}
.v3 .vb73f1b{font-size:0.75rem;color:#9A93BC}
.v3 .v3f9f96{min-width:0}
.v3 .v77c889{margin:6px 0 0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.375rem;line-height:1.35}
.v3 .vea8ab6{margin:6px 0 0;font-size:0.8125rem;color:#9590AE}
.v3 .v8de3ec{display:flex;flex-direction:column;align-items:center;gap:6px}
.v3 .vfc51d9{width:300px;height:300px;touch-action:none;cursor:grab}
.v3 .vfa9aec{display:block}
.v3 .vc36754{display:flex;align-items:center;gap:10px}
.v3 .v706c54{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid #3A3263;border-radius:999px;background:transparent;color:#CFCAE0;font:inherit;font-size:0.8125rem}
.v3 .v68668b{font-size:0.75rem;color:#9590AE}
.v3 .v4f1805{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px}
.v3 .v22a064{padding:14px 8px;background:#0A0814;border:1px solid #2B2550;border-radius:16px;text-align:center}
.v3 .vd75bd4{font-size:0.75rem;letter-spacing:1px;color:#9A93BC;overflow-wrap:anywhere;hyphens:auto}
:lang(en) .v3 .vd75bd4{letter-spacing:0}
@media (max-width:360px){:lang(en) .v3 .v22a064,:lang(en) .v3 .vf0fefc{padding-left:2px;padding-right:2px}:lang(en) .v3 .vd75bd4,:lang(en) .v3 .v0b726d{font-size:0.6875rem;overflow-wrap:normal;hyphens:manual}}
.v3 .ve70101{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#C2BBDB}
.v3 .v708339{color:#79B4CF}
.v3 .vb2e368{color:#D9A468}
.v3 .vc9ad08{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#D9A468}
.v3 .v26836a{margin:0 0 10px;font-size:0.875rem;color:#ADA8C4}
.v3 .vcb7a53{display:flex;gap:4px;justify-content:space-between}
.v3 .vda0b11{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0A0814;border:1px solid #2B2550;color:#CFCAE0;font-family:Cormorant Garamond, serif;font-size:1.375rem;font-weight:500}
.v3 .vd169fc{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#3D2A16;border:1px solid #5A3F22;color:#D9A468;font-family:Cormorant Garamond, serif;font-size:1.375rem;font-weight:500}
.v3 .v49a44b{margin:8px 0 0;font-size:0.8125rem;color:#9590AE}
.v3 .v180d23{display:flex;flex-wrap:wrap;gap:8px}
.v3 .v6a4a14{display:inline-flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 6px;border-radius:12px;background:#1B2E3F;border:1px solid #28435A}
.v3 .vc36320{font-family:'Cormorant Garamond', serif;font-size:1.375rem;font-weight:500;line-height:1}
.v3 .v65455f{font-size:0.6875rem;color:#79B4CF}
.v3 .v18f786{display:inline-flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 6px;border-radius:12px;background:#1C1836;border:1px solid #2B2550}
.v3 .va63bc8{font-size:0.6875rem;color:#9590AE}
.v3 .v4351ff{display:inline-flex;flex-direction:column;align-items:center;min-width:54px;padding:8px 6px;border-radius:12px;background:#3D2A16;border:1px solid #5A3F22}
.v3 .v55ebd9{font-size:0.6875rem;color:#D9A468}
.v3 .v1583d2{padding:14px;background:#0A0814;border:1px solid #2B2550;border-radius:14px}
.v3 .v290f48{margin:0;font-size:0.75rem;letter-spacing:1px;color:#9A93BC}
.v3 .vd7ab21{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:0.875rem}
.v3 .v871a87{display:flex;gap:10px}
.v3 .vc6fb76{font-family:'Cormorant Garamond', serif;font-size:1.125rem;color:#79B4CF}
.v3 .v1bf00e{font-family:'Cormorant Garamond', serif;font-size:1.125rem;color:#D9A468}
.v3 .v7f3f69{margin:6px 0 0;font-size:0.875rem;color:#ADA8C4}
.v3 .vc60d2c{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px}
.v3 .vc60d2c.v3-save-one{grid-template-columns:1fr;margin-top:16px}
.v3 .v3c00e9{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid #3A3263;border-radius:999px;color:#CFCAE0;text-decoration:none;font-size:0.9375rem;background:transparent;font-family:inherit;height:48px;gap:8px}
.v3 .v8bdde2{height:54px;border:0;border-radius:999px;background:#CFCAE0;color:#0A0814;font:inherit;font-size:1.0625rem;font-weight:700;height:50px;font-size:0.9375rem}
.v3 .v7769be{margin:16px 20px 0;padding:20px 18px;background:#141126;border:1px solid #2B2550;border-radius:22px}
.v3 .v1ef4a9{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v3 .va36feb{padding:14px 10px;background:#0A0814;border:1px solid #CDAE6A;border-radius:14px;text-align:center}
.v3 .v099af4{font-family:'Cormorant Garamond', serif;font-size:1.125rem;letter-spacing:1px}
.v3 .v7a75da{margin-top:4px;font-family:'Cormorant Garamond', serif;font-size:2.5rem;font-weight:500;line-height:1;color:#D9C08A}
.v3 .vbbc77c{padding:14px 10px;background:#0A0814;border:1px solid #2B2550;border-radius:14px;text-align:center}
.v3 .vcb7957{margin-top:4px;font-family:'Cormorant Garamond', serif;font-size:2.5rem;font-weight:500;line-height:1;color:#D9A468}
.v3 .vf6467a{margin:10px 0 0;font-size:0.8125rem;color:#9590AE}
.v3 .vc7b7cf{padding:48px 20px 0}
.v3 .vcc541c{margin:6px 0 0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.75rem;line-height:1.3}
.v3 .v5b6895{margin:8px 0 16px;color:#ADA8C4;font-size:0.9375rem}
.v3 .vab2e52{display:block;margin:0 auto}
.v3 .vab9a8d{animation-delay:0.30s}
.v3 .vf76f3f{animation-delay:0.50s}
.v3 .vb82b4c{animation-delay:2.90s}
.v3 .vab04c5{stroke-dasharray:880;stroke-dashoffset:880;animation-delay:0.40s}
.v3 .v1cb7df{stroke-dasharray:691;stroke-dashoffset:691;animation-delay:0.60s}
.v3 .vc1d923{stroke-dasharray:390;stroke-dashoffset:390;animation-delay:0.80s}
.v3 .vc39d5e{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:2.50s}
.v3 .v31c304{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:2.50s}
.v3 .vc788b6{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:2.65s}
.v3 .v6fe310{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:2.65s}
.v3 .v84fcb9{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:3.10s}
.v3 .vb3cfa3{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:3.10s}
.v3 .vfca473{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:2.80s}
.v3 .v97da56{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:2.80s}
.v3 .ve2c7af{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:0.90s}
.v3 .v07693a{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:0.96s}
.v3 .v22cf57{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.02s}
.v3 .v1ffcbf{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.08s}
.v3 .va414c2{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.14s}
.v3 .v5887ad{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.20s}
.v3 .vc6e17a{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.26s}
.v3 .v013d7d{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:1.32s}
.v3 .v5a3fbd{animation-delay:1.30s}
.v3 .v4cd8cc{animation-delay:1.42s}
.v3 .v51fdea{animation-delay:1.54s}
.v3 .va18839{animation-delay:1.66s}
.v3 .vd6374d{animation-delay:1.78s}
.v3 .vbc9673{animation-delay:1.90s}
.v3 .v3856ca{animation-delay:2.02s}
.v3 .vfd1f99{animation-delay:2.14s}
.v3 .v1ff8f5{animation-delay:2.50s}
.v3 .vea28c7{margin-top:12px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;font-size:0.8125rem;color:#A39BC6}
.v3 .vfabba9{display:inline-flex;align-items:center;gap:6px}
.v3 .vda67a3{width:14px;height:8px;border-radius:4px;background:#6FBFB2;opacity:0.6}
.v3 .v88a9fb{width:14px;height:8px;border-radius:4px;background:#D9846E;opacity:0.7}
.v3 .v23d930{width:8px;height:8px;border-radius:999px;background:#D9BE6E}
.v3 .vacfab2{margin:48px 20px 0;padding:20px 18px;background:#141126;border:1px solid #2B2550;border-radius:22px}
.v3 .vef461e{margin:8px 0 12px;font-size:0.875rem;color:#ADA8C4}
.v3 .va321f6{margin:20px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:18px}
.v3 .v434ceb{display:flex;gap:16px}
.v3 .vaa1127{flex:none;width:40px;height:40px;border-radius:999px;border:1px solid #7C5CFF;color:#A99CDA;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond', serif;font-size:1.125rem;font-weight:500}
.v3 .ve06476{padding-top:4px}
.v3 .v1e29ee{font-weight:500}
.v3 .v04becf{color:#9590AE;font-size:0.875rem}
.v3 .vb59789{margin:0 0 12px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.5rem}
.v3 .v806fd9{display:flex;flex-direction:column;border-top:1px solid #2B2550}
.v3 .v83d916{border-bottom:1px solid #2B2550}
.v3 .v85ea2c{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;font-weight:500}
.v3 .vf40393{color:#7C5CFF}
.v3 .v15817a{margin:0 0 14px;font-size:0.875rem;color:#ADA8C4}
.v3 .v0bbdd6{margin:0 0 12px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.375rem}
.v3 .vcfc1da{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}
.v3 .vfb1be2{display:flex;align-items:center;min-height:52px;padding:0 16px;background:#141126;border:1px solid #2B2550;border-radius:14px;color:#CFCAE0;text-decoration:none;font-size:0.9375rem}
.v3 .v3e58e5{position:absolute;left:0;top:0;width:390px;height:600px;background:radial-gradient(circle at 80% 25%, rgba(124, 92, 255, 0.32), rgba(124, 92, 255, 0) 55%)}
.v3 .v8f5db2{margin:10px 0 0;max-width:270px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2.125rem;line-height:1.25}
.v3 .v87edb5{display:flex;align-items:center;gap:10px;font-size:0.875rem;color:#ADA8C4}
.v3 .vd644b5{margin:0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.5rem;line-height:1.35}
.v3 .vfccfe6{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:6px}
.v3 .v203275{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#D9C08A}
.v3 .v7dd593{flex:1;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0A0814;border:1px solid #2B2550;color:#CFCAE0;font-family:Cormorant Garamond, serif;font-size:1.25rem;font-weight:500}
.v3 .v3fd9cb{flex:1;height:40px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#0A0814;border:1px solid #CDAE6A;color:#D9C08A;font-family:Cormorant Garamond, serif;font-size:1.25rem;font-weight:500}
.v3 .v5f3815{padding:12px 14px;background:#3D2A16;border-radius:12px;font-size:0.8125rem;color:#D9A468;display:flex;gap:10px;align-items:flex-start}
.v3 .vb53581{flex:none;margin-top:3px}
.v3 .vfb4d82{display:flex;align-items:center;justify-content:space-between}
.v3 .v9b7ac8{margin-top:8px;display:flex;flex-direction:column;gap:8px;font-size:0.875rem;color:#ADA8C4}
.v3 .va17da7{flex:none;width:60px;color:#9A93BC;font-size:0.75rem;padding-top:3px}
.v3 .v03fc1d{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid #3A3263;border-radius:999px;color:#CFCAE0;text-decoration:none;font-size:0.9375rem;background:transparent;font-family:inherit}
.v3 .vbe3307{position:absolute;left:0;top:0;width:390px;height:560px;background:radial-gradient(circle at 50% 10%, rgba(124, 92, 255, 0.32), rgba(124, 92, 255, 0) 55%)}
.v3 .vdb8029{position:relative;padding:28px 20px 0;text-align:center}
.v3 .v05de92{margin:16px auto 0;display:inline-flex;align-items:center;gap:14px;padding:12px 24px;border:1px solid #4B3D93;border-radius:14px;background:rgba(20, 17, 38, 0.8);box-shadow:0 0 30px rgba(124, 92, 255, 0.3)}
.v3 .v9f2230{font-family:'Noto Serif Thai', serif;font-size:2.125rem;font-weight:400;line-height:1}
.v3 .v91c7d7{font-family:'Cormorant Garamond', serif;font-size:2.625rem;font-weight:500;letter-spacing:3px;line-height:1}
.v3 .v80af8f{margin:12px 0 0;font-size:0.875rem;color:#ADA8C4}
.v3 .v696904{height:54px;padding:0 16px;box-sizing:border-box;background:#0A0814;color:#CFCAE0;border:1px solid #3A3263;border-radius:14px;font:inherit;font-size:1rem;font-family:'Noto Serif Thai', serif;font-size:1.5rem;letter-spacing:2px}
.v3 .ve33ba4{position:relative;margin:28px 20px 0;padding:24px 18px;background:rgba(20, 17, 38, 0.95);border:1px solid #5A3F22;border-radius:22px;box-shadow:0 0 60px rgba(245, 184, 107, 0.12);display:flex;flex-direction:column;gap:18px}
.v3 .v655e8f{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#3D2A16;color:#D9A468;font-weight:700;font-size:0.875rem}
.v3 .vad2524{font-size:0.8125rem;color:#9590AE}
.v3 .v1ef226{margin:0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.625rem;line-height:1.35}
.v3 .va1f81e{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;color:#D9A468;line-height:1.2}
.v3 .vceae9e{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;color:#D9C08A;line-height:1.2}
.v3 .ve0d8cc{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;color:#C2BBDB;line-height:1.2}
.v3 .va6eb8e{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:0.9375rem}
.v3 .vadafa0{display:flex;gap:10px;align-items:flex-start}
.v3 .v6699bc{flex:none;width:24px;height:24px;border-radius:999px;background:#3D2A16;color:#D9A468;display:flex;align-items:center;justify-content:center}
.v3 .vf4536c{flex:none;width:24px;height:24px;border-radius:999px;background:#1B2E3F;color:#79B4CF;display:flex;align-items:center;justify-content:center}
.v3 .v685cf0{display:flex;flex-direction:column;gap:8px}
.v3 .vd19fc4{height:52px;border:0;border-radius:999px;background:#CFCAE0;color:#0A0814;font:inherit;font-weight:700;font-size:0.9375rem}
.v3 .v413a94{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid #3A3263;border-radius:999px;color:#CFCAE0;text-decoration:none;font-size:0.9375rem}
.v3 .vbee085{margin:16px 20px 0;display:flex;flex-direction:column;gap:8px}
.v3 .v90bcc4{background:#141126;border:1px solid #2B2550;border-radius:16px}
.v3 .vd6fed3{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 18px}
.v3 .v751b04{margin:0;padding:0 18px 16px 36px;font-size:0.875rem;color:#ADA8C4;display:flex;flex-direction:column;gap:6px}
.v3 .v83879a{margin:0 0 12px;font-family:'Noto Serif Thai', serif;font-weight:400;font-size:1.5rem}
.v3 .vccaeeb{display:flex;align-items:center;justify-content:space-between;min-height:54px;font-weight:500}
.v3 .v65c893{margin:0 0 12px;font-family:'Noto Serif Thai', serif;font-weight:400;font-size:1.375rem}
.v3 .v2767ec{position:absolute;left:0;top:0;width:390px;height:600px;background:radial-gradient(circle at 85% 20%, rgba(124, 92, 255, 0.32), rgba(124, 92, 255, 0) 50%)}
.v3 .v75d10c{position:relative;padding:28px 20px 0}
.v3 .vd2a003{margin:10px 0 0;max-width:260px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2.125rem;line-height:1.25}
.v3 .v51830a{margin:14px 0 0;max-width:260px;color:#ADA8C4;font-size:0.9375rem}
.v3 .v1e4e92{position:relative;margin:28px 20px 0;padding:22px 18px;background:rgba(20, 17, 38, 0.92);border:1px solid #2B2550;border-radius:22px;box-shadow:0 0 60px rgba(124, 92, 255, 0.15);display:flex;flex-direction:column;gap:16px}
.v3 .vad4eff{height:54px;padding:0 16px;box-sizing:border-box;background:#0A0814;color:#CFCAE0;border:1px solid #3A3263;border-radius:14px;font-family:'Cormorant Garamond', serif;font-size:1.75rem;font-weight:500;letter-spacing:2px}
.v3 .vaea059{position:relative;margin:20px 20px 0;padding:28px 18px;background:#141126;border:1px solid #4B3D93;border-radius:22px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;overflow:hidden}
.v3 .v7e712f{position:absolute;left:50%;top:-80px;width:260px;height:260px;margin-left:-130px;border-radius:999px;background:radial-gradient(circle, rgba(124, 92, 255, 0.32), rgba(124, 92, 255, 0) 70%)}
.v3 .v70ef95{position:relative;margin:0;font-size:0.75rem;letter-spacing:2px;color:#9A93BC}
.v3 .vc451fd{position:relative}
.v3 .v86bd85{position:relative;margin:6px 0 0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.625rem;line-height:1.35}
.v3 .vfefc43{position:relative;margin:0;font-size:0.9375rem;color:#ADA8C4}
.v3 .v406545{position:relative;margin:0;font-size:0.9375rem;color:#ADA8C4;max-width:300px}
.v3 .vdd7ed2{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.v3 .v505352{padding:6px 12px;border-radius:999px;background:#1B2E3F;color:#79B4CF;font-size:0.8125rem}
.v3 .vd9601b{position:relative;margin:6px 0 0;padding:12px 14px;background:#0A0814;border-radius:12px;font-size:0.8125rem;color:#9590AE;text-align:left}
.v3 .vf5c98e{margin-top:18px;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px}
.v3 .vbf3686{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;background:#141126;border:1px solid #2B2550;border-radius:16px;color:#CFCAE0;text-decoration:none}
.v3 .vbdac7c{font-family:'Cormorant Garamond', serif;font-size:2rem;font-weight:500;line-height:1}
.v3 .vca5d85{background:#0C0A1A;color:#E3DDF2;font-family:'Noto Sans Thai', system-ui, sans-serif;font-size:1rem;line-height:1.6;overflow:hidden}
.v3 .vfb43a7{position:absolute;left:0;top:0;width:390px;height:600px;background:radial-gradient(circle at 15% 25%, rgba(123, 92, 230, 0.32), rgba(123, 92, 230, 0) 50%)}
.v3 .vb34d86{margin:0;font-size:0.75rem;letter-spacing:2px;color:#A897E0}
.v3 .v6c9661{margin:10px 0 0;max-width:240px;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2.125rem;line-height:1.25}
.v3 .v8a0918{margin:14px 0 0;max-width:250px;color:#BAB2D6;font-size:0.9375rem}
.v3 .v37db1e{position:relative;margin:28px 20px 0;padding:22px 18px;background:rgba(21, 17, 42, 0.92);border:1px solid #2A2350;border-radius:22px;box-shadow:0 0 60px rgba(123, 92, 230, 0.15);display:flex;flex-direction:column;gap:16px}
.v3 .v80b6f2{font-size:0.875rem;color:#BAB2D6}
.v3 .vc89eb7{height:54px;padding:0 16px;box-sizing:border-box;background:#0C0A1A;color:#E3DDF2;border:1px solid #3A3168;border-radius:14px;font-family:'Noto Serif Thai', serif;font-size:1.375rem}
.v3 .vab264f{color:#A39BC6}
.v3 .v543e37{padding:0;font-size:0.875rem;color:#BAB2D6}
.v3 .v5b3ddd{min-width:0;height:48px;padding:0 10px;background:#0C0A1A;color:#E3DDF2;border:1px solid #3A3168;border-radius:12px;font:inherit}
/* จอแคบกว่า 360: ต้นเหตุล้นการ์ดคือ fieldset (min-content) และ select .vbe373d ไม่มี min-width:0 จึงดันแถววันเกิดเกินความกว้างการ์ด (เห็นชัดใน /en/phone/ /en/plate/) · 360 ขึ้นไปคงเดิม */
@media(max-width:359px){.v3 .v71b14f{min-width:0}.v3 .vd1210f{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:6px}.v3 .v5b3ddd,.v3 .vbe373d{min-width:0;width:100%;padding:0 6px}}
.v3 .v37a3a7{margin:0;font-size:0.8125rem;color:#A39BC6}
.v3 .v073692{height:54px;padding:0 16px;box-sizing:border-box;background:#0C0A1A;color:#E3DDF2;border:1px solid #3A3168;border-radius:14px;font:inherit;font-size:1rem;height:48px;border-radius:12px}
.v3 .vfd45a9{display:flex;align-items:center;gap:10px;height:48px;font-size:0.875rem;color:#BAB2D6}
.v3 .v79ee56{width:20px;height:20px;accent-color:#7B5CE6}
.v3 .v84857e{height:54px;border:0;border-radius:999px;background:#EBB869;color:#0C0A1A;font:inherit;font-size:1.0625rem;font-weight:700}
.v3 .v13fd32{margin:0;font-size:0.8125rem;color:#A39BC6;text-align:center}
.v3 .v3e436c{position:relative;margin:20px 20px 0;padding:24px 18px;background:#15112A;border:1px solid #4A3A8A;border-radius:22px;display:flex;flex-direction:column;gap:18px}
.v3 .vfbdf38{font-family:'Noto Serif Thai', serif;font-size:1.0625rem;font-weight:500;color:#E3DDF2}
.v3 .vad0355{font-size:0.75rem;letter-spacing:1px;color:#A39BC6}
.v3 .ve616f1{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#35221E;color:#E8957E;font-weight:700;font-size:0.875rem}
.v3 .v0d6ed5{margin:0 0 10px;font-size:0.875rem;letter-spacing:1px;color:#A897E0}
.v3 .v2075ff{display:flex;flex-wrap:wrap;gap:6px}
.v3 .v4075b0{min-width:40px;padding:8px 10px;border-radius:10px;background:#1C1736;border:1px solid #2A2350;text-align:center;font-family:'Noto Serif Thai', serif;font-size:1.375rem}
.v3 .v00fbfa{min-width:40px;padding:8px 10px;border-radius:10px;background:#35221E;border:1px solid #5A3229;color:#E8957E;text-align:center;font-family:'Noto Serif Thai', serif;font-size:1.375rem}
.v3 .v616ce0{min-width:40px;padding:8px 10px;border-radius:10px;background:#14302D;border:1px solid #22504A;color:#7FD1C2;text-align:center;font-family:'Noto Serif Thai', serif;font-size:1.375rem}
.v3 .v84cfa6{display:flex;gap:16px;font-size:0.8125rem;color:#A39BC6}
.v3 .v230fbf{width:10px;height:10px;border-radius:999px;background:#E8957E}
.v3 .vb59f07{width:10px;height:10px;border-radius:999px;background:#7FD1C2}
.v3 .vea61db{width:10px;height:10px;border-radius:999px;background:#3A3168}
.v3 .vf2550d{margin:0;padding:12px 14px;background:#0C0A1A;border-radius:12px;font-size:0.8125rem;color:#A39BC6}
.v3 .v41ac5a{display:inline-flex;align-items:center;gap:8px;font-weight:500;text-decoration:none}
.v3 .vff16a1{position:absolute;left:0;bottom:0;pointer-events:none}
.v3 .v5e32f2{margin:16px 20px 0;padding:20px 18px;background:#15112A;border:1px solid #2A2350;border-radius:22px;display:flex;flex-direction:column;gap:12px}
.v3 .v7ff1ae{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border:1px solid #3A3168;border-radius:999px;background:transparent;color:#E3DDF2;font:inherit;font-size:0.8125rem}
.v3 .ve57421{font-size:0.75rem;color:#A39BC6}
.v3 .vf0fefc{padding:14px 8px;background:#0C0A1A;border:1px solid #2A2350;border-radius:16px;text-align:center}
.v3 .v0b726d{font-size:0.75rem;letter-spacing:1px;color:#A897E0;overflow-wrap:anywhere;hyphens:auto}
:lang(en) .v3 .v0b726d{letter-spacing:0}
.v3 .v897cc2{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#F3CB86}
.v3 .ve18647{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#D3CBEB}
.v3 .v6bf313{margin:0;font-size:0.875rem;color:#BAB2D6}
.v3 .vb95a11{padding:12px 14px;background:#0C0A1A;border:1px solid #2A2350;border-radius:12px}
.v3 .v39067b{margin:0;font-size:0.75rem;letter-spacing:1px;color:#A897E0}
.v3 .vae090d{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}
.v3 .veea9a6{display:inline-flex;flex-direction:column;align-items:center;min-width:36px;padding:6px 4px;border-radius:8px;background:#15112A;border:1px solid #2A2350}
.v3 .vfdad37{font-family:Noto Serif Thai, serif;font-size:1.125rem;line-height:1.1}
.v3 .v42aa58{font-size:0.6875rem;color:#B39CF5}
.v3 .va5de0d{flex:none;width:40px;height:40px;border-radius:999px;border:1px solid #7B5CE6;color:#B39CF5;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond', serif;font-size:1.125rem;font-weight:500}
.v3 .v7b84e7{color:#A39BC6;font-size:0.875rem}
.v3 .v57c79e{display:flex;align-items:center;min-height:52px;padding:0 16px;background:#15112A;border:1px solid #2A2350;border-radius:14px;color:#E3DDF2;text-decoration:none;font-size:0.9375rem}
.v3 .ve93e09{position:absolute;left:0;top:0;width:390px;height:640px;background:radial-gradient(circle at 80% 25%, rgba(123, 92, 230, 0.32), rgba(123, 92, 230, 0) 55%)}
.v3 .v393c30{margin:14px 0 0;max-width:270px;color:#BAB2D6;font-size:0.9375rem}
.v3 .vf14c80{position:relative;margin:24px 20px 0;padding:22px 18px;background:#15112A;border:1px solid #2A2350;border-radius:22px;display:flex;flex-direction:column;gap:16px}
.v3 .vb2b14f{position:relative;margin:16px 20px 0;padding:24px 18px;background:rgba(21, 17, 42, 0.95);border:1px solid #4A3A8A;border-radius:22px;box-shadow:0 0 60px rgba(123, 92, 230, 0.2);display:flex;flex-direction:column;gap:16px}
.v3 .v067df7{margin:0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.625rem}
.v3 .v337763{font-family:'Cormorant Garamond', serif;font-size:2.25rem;font-weight:500;line-height:1.2;color:#E8957E}
.v3 .v410331{margin:0 0 8px;font-size:0.875rem;color:#BAB2D6}
.v3 .v9bbfba{min-width:38px;padding:6px 8px;border-radius:8px;background:#35221E;border:1px solid #5A3229;color:#E8957E;text-align:center;font-family:Noto Serif Thai, serif;font-size:1.125rem}
.v3 .va277e0{animation-delay:1.60s}
.v3 .vee78a5{animation-delay:1.80s}
.v3 .v840220{animation-delay:4.20s}
.v3 .ve3fdc4{stroke-dasharray:880;stroke-dashoffset:880;animation-delay:1.70s}
.v3 .v6a0807{stroke-dasharray:691;stroke-dashoffset:691;animation-delay:1.90s}
.v3 .ve27d32{stroke-dasharray:390;stroke-dashoffset:390;animation-delay:2.10s}
.v3 .v69ddcc{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:3.80s}
.v3 .v7e53d8{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:3.80s}
.v3 .vb3cbbc{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:3.95s}
.v3 .vec2d19{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:3.95s}
.v3 .v78a755{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:4.40s}
.v3 .vbbdf30{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:4.40s}
.v3 .v8ce767{stroke-dasharray:89;stroke-dashoffset:89;animation-delay:4.10s}
.v3 .v21db74{stroke-dasharray:99;stroke-dashoffset:99;animation-delay:4.10s}
.v3 .v2c1f8a{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.20s}
.v3 .va25a54{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.26s}
.v3 .vafc3c9{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.32s}
.v3 .v2b7ba9{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.38s}
.v3 .v38bc83{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.44s}
.v3 .va9db8c{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.50s}
.v3 .v280211{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.56s}
.v3 .v8af9a4{stroke-dasharray:78;stroke-dashoffset:78;animation-delay:2.62s}
.v3 .v5960bf{animation-delay:2.60s}
.v3 .v4a7b46{animation-delay:2.72s}
.v3 .vbb2634{animation-delay:2.84s}
.v3 .vd1c2a7{animation-delay:2.96s}
.v3 .v7c2581{animation-delay:3.08s}
.v3 .v065db2{animation-delay:3.20s}
.v3 .v2287f5{animation-delay:3.32s}
.v3 .veab523{animation-delay:3.44s}
.v3 .v126dad{animation-delay:3.80s}
.v3 .v5ab60c{display:flex;align-items:center;justify-content:center;height:48px;border:1px solid #3A3168;border-radius:999px;color:#E3DDF2;text-decoration:none;font-size:0.9375rem;background:transparent;font-family:inherit}
.v3 .vc7f6fd{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.v3 .v27e3a6{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#15112A;border:1px solid #2A2350;border-radius:22px;border-radius:16px;color:#E3DDF2;text-decoration:none}
.v3 .v971ba1{flex:none;width:44px;height:44px;border-radius:999px;border:1px solid #EBB869;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond', serif;font-size:1.5rem;font-weight:500;color:#EBB869}
.v3 .v89bd09{flex:1;min-width:0}
.v3 .v3e0a04{display:block;font-weight:500;font-size:0.9375rem}
.v3 .ve72353{display:flex;flex-direction:column;border-top:1px solid #2A2350}
.v3 .v784c0f{border-bottom:1px solid #2A2350}
.v3 .veab66e{color:#7B5CE6}
.v3 .vd7bcfd{margin:0 0 14px;font-size:0.875rem;color:#BAB2D6}
.v3 .vba8bf6{position:absolute;left:0;top:0;width:390px;height:700px;background:radial-gradient(circle at 20% 30%, rgba(123, 92, 230, 0.32), rgba(123, 92, 230, 0) 50%), radial-gradient(circle at 90% 60%, rgba(245, 184, 107, 0.18), rgba(245, 184, 107, 0) 45%)}
.v3 .v65eaf7{position:absolute;right:-80px;top:70px;opacity:0.6}
.v3 .v98fe1d{margin:10px 0 0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2.125rem;line-height:1.25}
.v3 .v9c6869{display:flex;gap:8px}
.v3 .v5eddcf{margin:16px 20px 0;padding:12px 14px;background:#35221E;border:1px solid #5A3229;border-radius:14px;font-size:0.8125rem;color:#E8957E;display:flex;gap:10px}
.v3 .va9dcbe{position:relative;margin:28px 20px 0;padding:24px 18px;background:rgba(21, 17, 42, 0.95);border:1px solid #4A3A8A;border-radius:22px;box-shadow:0 0 60px rgba(123, 92, 230, 0.2);display:flex;flex-direction:column;gap:18px}
.v3 .va4ed5a{margin:4px 0 0;font-family:'Noto Serif Thai', serif;font-weight:400;font-size:1.625rem}
.v3 .v5e8856{font-family:'Noto Serif Thai', serif;font-size:2.75rem;font-weight:500;line-height:1;color:#D3CBEB;text-shadow:0 0 24px rgba(139, 99, 255, 0.3)}
.v3 .v6430af{margin-top:4px;font-size:0.9375rem;font-weight:500;color:#E8957E}
.v3 .v9c7f5b{font-family:'Cormorant Garamond', serif;font-size:2.125rem;font-weight:500;color:#D3CBEB;line-height:1.2}
.v3 .v0ea785{margin-top:4px;font-size:0.9375rem;font-weight:500;color:#7FD1C2}
.v3 .ve8fd08{margin:0 0 10px;font-size:0.875rem;color:#BAB2D6}
.v3 .v032c9c{padding:6px 12px;border-radius:999px;background:#35221E;color:#E8957E;font-size:0.875rem}
.v3 .v736c57{padding:6px 12px;border-radius:999px;background:#1C1736;border:1px solid #2A2350;font-size:0.875rem}
.v3 .v694dcd{stroke-dasharray:880;stroke-dashoffset:880;animation-delay:0s}
.v3 .va31774{stroke-dasharray:628;stroke-dashoffset:628;animation-delay:0.2s}
.v3 .vb61e6e{stroke-dasharray:276;stroke-dashoffset:276;animation-delay:0.4s}
.v3 .ved7674{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:0.80s}
.v3 .v30f5e9{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:0.90s}
.v3 .v7c2fa3{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.00s}
.v3 .v260bec{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.10s}
.v3 .v758035{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.20s}
.v3 .vd198ef{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.30s}
.v3 .vf6a832{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.40s}
.v3 .v09bf04{stroke-dasharray:84;stroke-dashoffset:84;animation-delay:1.50s}
.v3 .v0298c5{margin-top:18px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px}
.v3 .v546c77{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#15112A;border:1px solid #5C4E33;border-radius:14px}
.v3 .vbd6125{font-weight:500;color:#E3C98D}
.v3 .vd6f39f{margin:10px 0 0;font-size:0.75rem;color:#958DB6}
.v3 .v33d250{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:8px}
.v3 .v200b09{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;background:#15112A;border:1px solid #2A2350;border-radius:16px;color:#E3DDF2;text-decoration:none}
.v3 .v3a6962{position:absolute;top:6px;right:6px;padding:1px 6px;border-radius:999px;background:#35221E;color:#D9846E;font-size:0.625rem;line-height:1.6}
.v3 .v73c4ac{width:48px;height:48px;border-radius:999px;border:1px solid #2F2858;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%, rgba(106, 79, 208, 0.18), #0C0A1A 75%)}
.v3 .v4c9993{font-family:'Noto Serif Thai', serif;font-size:1.5rem;line-height:1;color:#BFB2EA}
.v3 .v4d187d{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:0.75rem;color:#958DB6}
.v3 .v778eb0{color:#D9846E}
.v3 .v20589b{color:#E3C98D}
.v3 .vc2876a{position:absolute;left:0;top:0;width:390px;height:640px;background:radial-gradient(circle at 20% 20%, rgba(123, 92, 230, 0.32), rgba(123, 92, 230, 0) 55%)}
.v3 .vfa937b{position:absolute;right:10px;top:80px}
.v3 .vf77a91{margin:-8px 0 0;font-size:0.8125rem;color:#A39BC6}
.v3 .vcad31b{position:relative;margin:16px 20px 0;padding:24px 18px;background:rgba(21, 17, 42, 0.95);border:1px solid #4A3A8A;border-radius:22px;box-shadow:0 0 60px rgba(123, 92, 230, 0.2);display:flex;flex-direction:column;gap:18px}
.v3 .v24373d{padding:12px 6px;background:#0C0A1A;border:1px solid #2A2350;border-radius:16px;text-align:center}
.v3 .ve80999{font-size:0.6875rem;letter-spacing:1px;color:#A897E0}
.v3 .v1fae97{margin-top:6px;font-family:'Noto Serif Thai', serif;font-size:2.125rem;line-height:1.1}
.v3 .v4dcc2c{font-size:0.6875rem;color:#A39BC6}
.v3 .v28875a{padding:12px 6px;background:#1C1736;border:1px solid #EBB869;border-radius:16px;text-align:center}
.v3 .ve66624{display:flex;align-items:center;gap:14px;padding:14px;background:#0C0A1A;border:1px solid #EBB869;border-radius:14px}
.v3 .vf228ff{font-family:'Noto Serif Thai', serif;font-size:2.75rem;color:#F3CB86;text-shadow:0 0 20px rgba(240, 200, 112, 0.3)}
.v3 .v64dc5c{font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.25rem}
.v3 .v9cfacb{font-size:0.8125rem;color:#BAB2D6}
.v3 .vee57ef{padding:14px;background:#0C0A1A;border:1px solid #2A2350;border-radius:14px;display:flex;flex-direction:column;gap:8px}
.v3 .v1141c4{display:flex;justify-content:space-between}
.v3 .va85d41{display:grid;grid-template-columns:44px 1fr 32px;align-items:center;gap:10px;font-size:0.8125rem}
.v3 .v050ebc{height:10px;border-radius:999px;background:#0C0A1A;border:1px solid #2A2350;overflow:hidden;display:block}
.v3 .v770129{display:block;height:100%;background:#5CC88A;border-radius:999px}
.v3 .vf74957{color:#A39BC6;text-align:right}
.v3 .vd3cd56{display:block;height:100%;background:#F07A5A;border-radius:999px}
.v3 .v2749e3{display:block;height:100%;background:#EBB869;border-radius:999px}
.v3 .vcc2e62{display:block;height:100%;background:#D8D2E8;border-radius:999px}
.v3 .ve253ef{display:block;height:100%;background:#4C7DF0;border-radius:999px}
.v3 .vc97fe3{padding:14px;background:#0C0A1A;border:1px solid #2A2350;border-radius:14px}
.v3 .vc281c7{margin-top:8px;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:6px;font-size:0.8125rem;text-align:center}
.v3 .vd21a31{padding:10px 4px;background:#15112A;border-radius:10px}
.v3 .vf20948{font-family:'Noto Serif Thai', serif;font-size:1.125rem}
.v3 .vf7c3a1{font-size:0.6875rem;color:#BAB2D6}
.v3 .vea3b1d{margin-top:16px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:8px}
.v3 .va19f76{display:flex;align-items:center;gap:10px;padding:12px;background:#15112A;border:1px solid #2A2350;border-radius:22px;border-radius:14px;color:#E3DDF2;text-decoration:none}
.v3 .v4ea90b{font-family:Noto Serif Thai, serif;font-size:1.625rem}
.v3 .vc8e59b{display:block;font-weight:500;font-size:0.875rem}
.v3 .v342295{position:absolute;left:0;top:0;width:390px;height:760px;background:radial-gradient(circle at 50% 38%, rgba(123, 92, 230, 0.35), rgba(123, 92, 230, 0) 45%)}
.v3 .v8c924d{position:relative;padding:24px 20px 0;text-align:center}
.v3 .v002535{margin-top:12px}
.v3 .ve4f328{margin:24px 0 0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:2rem;line-height:1.25}
.v3 .vc85989{margin:10px 0 0;font-size:0.875rem;color:#BAB2D6}
.v3 .vc2fdd5{margin:4px 0 0;font-size:0.8125rem;color:#A39BC6}
.v3 .v0d5aca{position:relative;margin:28px 20px 0;padding:22px 18px;background:rgba(21, 17, 42, 0.95);border:1px solid #4A3A8A;border-radius:22px;display:flex;flex-direction:column;gap:16px}
.v3 .vc8a207{margin:0;font-family:'Noto Serif Thai', serif;font-weight:400;font-size:1.375rem}
.v3 .v1ff305{margin:0;font-size:0.9375rem;color:#BAB2D6}
.v3 .vdf67f3{font-size:0.75rem;letter-spacing:1px;color:#7FD1C2}
.v3 .v139d9c{margin-top:4px;font-size:0.875rem}
.v3 .vaa71ea{font-size:0.75rem;letter-spacing:1px;color:#E8957E}
.v3 .v739abe{margin:16px 20px 0;padding:22px 18px;background:#15112A;border:1px solid #2A2350;border-radius:22px;display:flex;flex-direction:column;gap:14px}
.v3 .va9d286{display:flex;align-items:baseline;justify-content:space-between}
.v3 .v7c693c{margin:0;font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.375rem}
.v3 .vad68e8{font-family:'Cormorant Garamond', serif;font-size:0.875rem;letter-spacing:2px;color:#A897E0}
.v3 .v8e8dd1{flex:none;width:72px;height:72px;border-radius:999px;border:1px solid #EBB869;display:flex;align-items:center;justify-content:center;box-shadow:0 0 24px rgba(240, 200, 112, 0.35)}
.v3 .vfd538a{font-family:'Cormorant Garamond', serif;font-size:2.75rem;font-weight:500;color:#F3CB86;line-height:1}
.v3 .vc2e83c{font-family:'Noto Serif Thai', serif;font-weight:500;font-size:1.125rem}
.v3 .v91294d{display:flex;gap:6px}
.v3 .ve2aa29{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 2px;border-radius:10px;background:#0C0A1A;border:1px solid #2A2350}
.v3 .vaf7ea6{font-family:Cormorant Garamond, serif;font-size:1.25rem;font-weight:500}
.v3 .vcc2cec{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 2px;border-radius:10px;background:#33275F;border:1px solid #7B5CE6}
.v3 .v763f76{height:54px;padding:0 16px;box-sizing:border-box;background:#0C0A1A;color:#E3DDF2;border:1px solid #3A3168;border-radius:14px;font-family:'Cormorant Garamond', serif;font-size:1.625rem;font-weight:500;letter-spacing:4px}
.v3 .v25fc6d{display:flex;justify-content:space-between;padding:0 4px}
.v3 .v2d410d{display:flex;flex-direction:column;align-items:center;gap:2px}
.v3 .vbd3aeb{font-family:'Cormorant Garamond', serif;font-size:1.375rem;font-weight:500}
.v3 .vc41913{font-size:0.75rem;color:#B39CF5}
.v3 .v97f390{display:flex;flex-direction:column;align-items:center;gap:2px;padding-left:10px;border-left:1px solid #2A2350}
.v3 .v29a36b{font-family:'Cormorant Garamond', serif;font-size:1.375rem;font-weight:500;color:#D3CBEB}
.v3 .v32d840{font-size:0.75rem;color:#7FD1C2}
.v3 .v6df903{height:50px;border:0;border-radius:999px;background:#EBB869;color:#0C0A1A;font:inherit;font-weight:700;font-size:0.9375rem}
.v3 .v81ba5d{margin-top:18px;padding-bottom:6px;display:flex;gap:10px;overflow-x:auto}
.v3 .v1ae3e1{flex:none;width:110px;padding:16px 12px;box-sizing:border-box;background:#15112A;border:1px solid #2A2350;border-radius:16px;color:#E3DDF2;text-decoration:none}
.v3 .v751e1d{display:block;font-family:'Cormorant Garamond', serif;font-size:2.5rem;font-weight:400;line-height:1}
.v3 .ve76cd4{display:block;margin-top:6px;font-size:0.8125rem;color:#A39BC6}
/* ---- UI v3 รอบ 2b: ส่วนที่เขียนมือ (หน้าเครื่องมือตามแบบ 100%) ---- */
.v3.v3-root{width:100%;max-width:600px;margin:0 auto;min-height:0}
/* แบบวาดหัวเว็บ+เส้นทางอยู่ในกรอบเดียวกัน (สูง ~97px): ยกแสงพื้นหลังและกลุ่มดาวตัวเลขขึ้นให้ตำแหน่งตรงแบบ · ไม่รับการแตะ */
.v3.v3-root{position:relative;overflow:visible;overflow-x:clip}
.v3-root>div[aria-hidden="true"]:first-child,.v3-root>div[aria-hidden="true"]:first-child+svg{translate:0 -97px;pointer-events:none}
.v3-root>div[aria-hidden="true"]:first-child{width:100%}
.v3 *,.v3 *::before,.v3 *::after{box-sizing:border-box}
.v3 svg{max-width:100%;height:auto}
.v3 p,.v3 h1,.v3 h2,.v3 h3,.v3 ol,.v3 ul{overflow-wrap:anywhere}
.v3 a{color:#A99CDA}
.v3 a:hover{color:#C2BBDB}
.v3 summary::-webkit-details-marker{display:none}
.v3 summary{list-style:none;cursor:pointer}
.v3 input::placeholder{color:#6F6894}
.v3 button{cursor:pointer}
.v3 :focus-visible{outline:2px solid #CDAE6A;outline-offset:2px}
.v3 input:focus-visible,.v3 select:focus-visible{outline-offset:0}
.v3 [hidden]{display:none!important}
.v3 .hit44{position:relative}
.v3 .hit44::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
.v3 .v3-submit:hover{filter:brightness(1.06)}
.v3 .v3-submit:active{transform:translateY(1px)}
.v3 .v3-submit[disabled]{opacity:.7;cursor:progress}
.v3 .v3-err{margin:0;padding:10px 14px;border-radius:12px;background:#3D2A16;border:1px solid #5A3F22;color:#E9C9A0;font-size:.875rem}
.v3 [aria-invalid="true"]{border-color:#D9846E!important}
/* ชิปเลือก (radio) ตามแบบ: ปกติ #1C1836 ขอบ #2B2550 · เลือกแล้ว #3A2D7A ขอบ #5B3FD6 ตัวหนา */
.v3 .v3-chip{position:relative;display:inline-flex}
.v3 .v3-chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.v3 .v3-chip span{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:#1C1836;border:1px solid #2B2550;color:#ADA8C4;font-size:.875rem;line-height:1.6}
.v3 .v3-chip input:checked+span{background:#3A2D7A;border-color:#5B3FD6;color:#CFCAE0;font-weight:700}
.v3 .v3-chip input:focus-visible+span{outline:2px solid #CDAE6A;outline-offset:2px}
.v3 .v3-chip::after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}
/* เทียบเบอร์ */
.v3 .v3-cmp-form{display:flex;flex-direction:column;gap:8px}
.v3 .v3-cmp-input{width:100%;height:44px;padding:0 10px;background:#141126;color:#CFCAE0;border:1px solid #3A3263;border-radius:10px;font-family:'Cormorant Garamond',serif;font-size:1.125rem;letter-spacing:1px;text-align:center}
.v3 .v3-cmp-go{height:44px;border:1px solid #3A3263;border-radius:999px;background:transparent;color:#CFCAE0;font:inherit;font-size:.875rem}
.v3 .v3-cmp-err{color:#E9A48F}
/* ผล: ซ่อน veil และไม่เล่นแอนิเมชันเมื่อไม่ได้กดคำนวณ */
.v3 .rv-veil{display:none}
.v3 .v3-dial{touch-action:none;cursor:grab}
.v3 .v3-dial:active{cursor:grabbing}
@media (prefers-reduced-motion: no-preference){
@keyframes dialspin{to{transform:rotate(360deg)}}
.v3 .dial-a{transform-box:view-box;transform-origin:160px 160px;animation:dialspin 90s linear infinite}
.v3 .dial-b{transform-box:view-box;transform-origin:160px 160px;animation:dialspin 160s linear infinite reverse}
@keyframes rvUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rvPop{0%{opacity:0;transform:scale(.5)}70%{opacity:1;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}
@keyframes rvFlip{from{opacity:0;transform:perspective(600px) rotateY(90deg)}to{opacity:1;transform:none}}
@keyframes rvVeil{0%,72%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes rvSpin{to{transform:rotate(360deg)}}
@keyframes rvDots{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes rvSweep{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes rvGlow{0%{box-shadow:0 0 0 rgba(124,92,255,0)}35%{box-shadow:0 0 90px rgba(124,92,255,.55),0 0 0 1px rgba(217,192,138,.7)}100%{box-shadow:0 0 60px rgba(124,92,255,.2)}}
@keyframes dialIntro{from{transform:rotate(-540deg);opacity:0}to{transform:rotate(0);opacity:1}}
@keyframes numPop{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
@keyframes burst{0%{opacity:0;transform:scale(.4)}25%{opacity:.9}100%{opacity:0;transform:scale(2.2)}}
@keyframes spark{0%{opacity:0;transform:translateY(0) scale(.4)}20%{opacity:1}100%{opacity:0;transform:translateY(-150px) scale(1)}}
@keyframes gaugeFill{from{stroke-dasharray:0 302}}
@keyframes twDraw{to{stroke-dashoffset:0}}
@keyframes twPop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
@keyframes twFade{from{opacity:0}to{opacity:1}}
@keyframes twSpin{to{transform:rotate(360deg)}}
@keyframes twMoon{0%{opacity:0;transform:scale(.3) rotate(-60deg)}70%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:none}}
@keyframes twGlowSoft{0%,100%{opacity:.08}50%{opacity:.22}}
@keyframes twEmberSoft{0%,100%{opacity:.18}50%{opacity:.42}}
.v3 .tw-spin{transform-box:view-box;transform-origin:160px 160px;animation:twSpin 90s linear infinite}
.v3 .tw-comet{transform-box:view-box;transform-origin:160px 160px;animation:twSpin 7s linear infinite}
.v3 .tw-halo{animation:twGlowSoft 3.4s ease-in-out infinite}
.v3 .tw-ember{animation:twEmberSoft 2.4s ease-in-out infinite}
/* ลำดับถอดรหัส: เล่นเมื่อ tool.js ใส่ rv-on หลังกดคำนวณเท่านั้น */
.v3 .rv-card.rv-on{position:relative;overflow:hidden;animation:rvGlow 2.6s ease-out 1.1s both}
.v3 .rv-card.rv-on::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,236,190,.16) 50%,transparent 65%);transform:translateX(-120%);animation:rvSweep 1.3s ease-out 1.9s both}
.v3 .rv-card.rv-on>*{animation:rvUp .7s cubic-bezier(.2,.8,.2,1) both}
.v3 .rv-card.rv-on>:nth-child(2){animation-delay:1.15s}.v3 .rv-card.rv-on>:nth-child(3){animation-delay:1.27s}.v3 .rv-card.rv-on>:nth-child(4){animation-delay:1.39s}.v3 .rv-card.rv-on>:nth-child(5){animation-delay:1.51s}.v3 .rv-card.rv-on>:nth-child(6){animation-delay:1.63s}.v3 .rv-card.rv-on>:nth-child(7){animation-delay:1.75s}.v3 .rv-card.rv-on>:nth-child(8){animation-delay:1.87s}.v3 .rv-card.rv-on>:nth-child(9){animation-delay:1.99s}.v3 .rv-card.rv-on>:nth-child(10){animation-delay:2.11s}.v3 .rv-card.rv-on>:nth-child(11){animation-delay:2.23s}.v3 .rv-card.rv-on>:nth-child(n+12){animation-delay:2.35s}
.v3 .rv-card.rv-on>.rv-veil{display:flex;position:absolute;inset:0;z-index:5;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#100D20;border-radius:inherit;animation:rvVeil 1.5s ease both}
.v3 .rv-card.rv-on .rv-veil svg{animation:rvSpin 1.8s linear infinite}
.v3 .rv-card.rv-on .rv-veil .dot{animation:rvDots 1s infinite}
.v3 .rv-card.rv-on .rv-veil .dot:nth-child(2){animation-delay:.2s}
.v3 .rv-card.rv-on .rv-veil .dot:nth-child(3){animation-delay:.4s}
.v3 .rv-card.rv-on .chip-pop>*{animation:rvPop .5s cubic-bezier(.2,.9,.3,1.3) both}
.v3 .rv-card.rv-on .chip-pop>:nth-child(1){animation-delay:1.7s}.v3 .rv-card.rv-on .chip-pop>:nth-child(2){animation-delay:1.78s}.v3 .rv-card.rv-on .chip-pop>:nth-child(3){animation-delay:1.86s}.v3 .rv-card.rv-on .chip-pop>:nth-child(4){animation-delay:1.94s}.v3 .rv-card.rv-on .chip-pop>:nth-child(5){animation-delay:2.02s}.v3 .rv-card.rv-on .chip-pop>:nth-child(6){animation-delay:2.1s}.v3 .rv-card.rv-on .chip-pop>:nth-child(7){animation-delay:2.18s}.v3 .rv-card.rv-on .chip-pop>:nth-child(8){animation-delay:2.26s}.v3 .rv-card.rv-on .chip-pop>:nth-child(n+9){animation-delay:2.34s}
.v3 .rv-card.rv-on .flip-in>*{animation:rvFlip .7s cubic-bezier(.2,.8,.2,1) both}
.v3 .rv-card.rv-on .flip-in>:nth-child(1){animation-delay:1.5s}.v3 .rv-card.rv-on .flip-in>:nth-child(2){animation-delay:1.7s}.v3 .rv-card.rv-on .flip-in>:nth-child(3){animation-delay:1.9s}.v3 .rv-card.rv-on .flip-in>:nth-child(4){animation-delay:2.1s}.v3 .rv-card.rv-on .flip-in>:nth-child(n+5){animation-delay:2.3s}
.v3 .rv-card.rv-on .dial-in{transform-box:view-box;transform-origin:160px 160px;animation:dialIntro 2.4s cubic-bezier(.12,.8,.2,1) 1.1s both}
.v3 .rv-card.rv-on .num-pop{transform-box:fill-box;transform-origin:center;animation:numPop .9s cubic-bezier(.2,.9,.3,1.2) 2.4s both}
.v3 .rv-card.rv-on .burst{transform-box:view-box;transform-origin:160px 160px;animation:burst 1.4s ease-out 2.5s both}
.v3 .rv-card.rv-on .spark{transform-box:view-box;transform-origin:160px 160px;animation:spark 1.6s ease-out 2.5s both}
.v3 .rv-card.rv-on .gauge{animation:gaugeFill 1.6s cubic-bezier(.2,.8,.2,1) 1.4s both}
.v3 .rv-on .tw-draw{animation:twFade .8s ease both}
.v3 .rv-on .tw-pop{transform-box:fill-box;transform-origin:center;animation:twPop .55s cubic-bezier(.2,.9,.3,1.4) both}
.v3 .rv-on .tw-fade{animation:twFade .6s ease both}
.v3 .rv-on .tw-moon{transform-box:fill-box;transform-origin:center;animation:twMoon 1.2s cubic-bezier(.2,.9,.3,1.2) both}
}
/* ไม่ได้เล่นลำดับ: ประกาย/แสงระเบิดไม่แสดง เส้นวาดครบ */
.v3 .rv-card:not(.rv-on) .burst,.v3 .rv-card:not(.rv-on) .spark{display:none}
.v3 .tw-draw,.v3 .tw-ember{stroke-dashoffset:0}
@media (prefers-reduced-motion: reduce){.v3 *,.v3 *::after{animation:none!important;transition:none!important}.v3 .rv-veil{display:none!important}.v3 .tw-draw,.v3 .tw-ember{stroke-dashoffset:0!important}.v3 .burst,.v3 .spark{display:none}}
/* ตารางเลข 1–9: ช่องของผลที่ได้ (แบบ: aria-current) */
.v3 [data-cell].v3-cur{background:#3A2D7A;border-color:#7C5CFF}
.v3 [data-cell].v3-cur span+span{color:#C2BBDB}
/* ชิปวันในสัปดาห์ของหน้า /name/ (สีชุดของแบบ Name) */
.v3 .v3-chip-n span{background:#1C1736;border-color:#2A2350;color:#BAB2D6}
.v3 .v3-chip-n input:checked+span{background:#33275F;border-color:#6A4FD0;color:#E3DDF2}
/* ดาวประจำวันเกิดทั้ง 8: สีวงเลขตามดาว (แบบ BirthDay) */
.v3 [data-star="1"]{border-color:#EBB869;color:#EBB869}.v3 [data-star="2"]{border-color:#F3CB86;color:#F3CB86}.v3 [data-star="3"]{border-color:#F28BB4;color:#F28BB4}.v3 [data-star="4"]{border-color:#5CC88A;color:#5CC88A}.v3 [data-star="5"]{border-color:#E8957E;color:#E8957E}.v3 [data-star="6"]{border-color:#7FD1C2;color:#7FD1C2}.v3 [data-star="7"]{border-color:#A39BC6;color:#A39BC6}.v3 [data-star="8"]{border-color:#8B63FF;color:#8B63FF}
/* 12 นักษัตร / ชิปชง: ปีเกิดของผู้ใช้ (แบบ Zodiac: ป้าย "คุณ" ขอบทอง) */
.v3 [data-z].v3-me{background:radial-gradient(circle at 50% 30%,rgba(201,168,102,.16),#15112A 70%);border-color:#5C4E33}
.v3 span[data-z].v3-me{background:#33275F;border-color:#6A4FD0;font-weight:700}
.v3 [data-z].v3-me [data-me]{background:#3A3052;color:#E3C98D}
.v3 [data-z].v3-me>span:nth-last-child(2){border-color:#C9A866}
.v3 [data-z].v3-me>span:last-child{color:#E3C98D}
.v3 [data-el="0"]{color:#5CC88A}.v3 [data-el="1"]{color:#F07A5A}.v3 [data-el="2"]{color:#EBB869}.v3 [data-el="3"]{color:#D8D2E8}.v3 [data-el="4"]{color:#4C7DF0}
.v3 a.v3-dm{color:inherit;text-decoration:none}.v3 a.v3-dm:hover,.v3 a.v3-dm:focus-visible{border-color:#F3CB86}
.v3 .v3-blk{display:block}
.v3 .v3-h1n h1{margin:10px 0 0;max-width:300px;font-family:'Noto Serif Thai',serif;font-weight:500;font-size:2.125rem;line-height:1.25;color:#E3DDF2}
.v3 .v3-h1n .h1-kw{display:block;font-family:'Noto Sans Thai',system-ui,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:#BAB2D6}
.v3 .v3-h1n .h1-display{display:block}
.v3 a.v3-lnk{color:#F3CB86;text-decoration:underline;text-underline-offset:3px}
.v3-recent-sec{margin-top:16px}
.v3-recent{padding:14px 18px;background:#15112A;border:1px solid #2A2350;border-radius:22px}
.v3-recent-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v3-recent-label{font-size:.75rem;letter-spacing:2px;color:#A897E0}
.v3-recent-clear{min-height:44px;min-width:44px;padding:0 10px;border:0;background:transparent;color:#B39CF5;font:inherit;font-size:.8125rem;cursor:pointer}
.v3-recent-clear:hover{color:#E3DDF2}.v3-recent-clear:focus-visible{outline:2px solid #F3CB86;outline-offset:2px}
.v3-recent-list{margin-top:8px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.v3-recent-item{flex:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;box-sizing:border-box;border-radius:12px;background:#0C0A1A;border:1px solid #2A2350;color:#E3DDF2;text-decoration:none;font-size:.8125rem}
.v3-recent-item:hover,.v3-recent-item:focus-visible{border-color:#7B5CE6}
.v3-recent-n{font-family:'Cormorant Garamond',serif;font-size:1rem;color:#F3CB86}.v3-recent-n:empty{display:none}
.v3 .v3-guide{margin:16px 0 0;font-size:.875rem}
.v3 .v3-guide a.v3-lnk{display:inline-flex;align-items:center;min-height:44px}
.v3 .tab-note{margin:0;font-size:.8125rem;line-height:1.5;color:#A39BC6}
.v3.v3-plate > .v3-h1n{padding:8px 20px 0}

/* v3gen:end */

/* ---- UI v3 หน้าความหมายรายเลข (pages/meaning.html · CEO 2026-10-29 "หน้า sum-n UI เหมือนหน้าหลัก") ----
   คลาสของแบบ (vb8cd9f va92083 vc7b7cf v806fd9 vfb1be2 ...) ใช้ตรงใน template · ส่วนนี้มีเฉพาะ (1) ล้างระยะ/กรอบของคลาสเดิมที่เทสต์ล็อก
   (eyebrow h2-plain meaning-h3 meaning-block chip near-item sum-toc-link) ให้เข้าชุดเดียวกับแบบ (2) การ์ดรายด้าน ตารางตำรา ปุ่มลองเลย */
.v3-mean{padding-bottom:48px}
.v3-mean .vb8cd9f{z-index:1}
.v3-mean .eyebrow{margin:0;font-size:.75rem;letter-spacing:2px;color:#9A93BC}
.v3-mean .eyebrow a{color:inherit;text-decoration:none}
.v3-mean .eyebrow a:hover{color:#C2BBDB;text-decoration:underline}
.v3-mean .vcc3f63{max-width:320px;color:#E3DDF2}
.v3-mean .meaning-grade{margin:12px 0 0}
.v3-mean .m-card{z-index:1}
.v3-mean .m-card p{margin:0;color:#ADA8C4;font-size:.9375rem}
.v3-mean .m-fig{margin:0;padding:36px 0 20px;border:0;border-radius:16px;background:radial-gradient(closest-side,rgba(106,79,208,.42),rgba(20,17,38,0))}
.v3-mean .meaning-summary,.v3-mean .prose .meaning-summary{margin:0;padding:0;background:none;border:0;border-radius:0}
.v3-mean .meaning-summary h2,.v3-mean .prose .meaning-summary h2{margin:0 0 8px}
.v3-mean .meaning-body{display:block;max-width:none;margin:0;padding:0}
.v3-mean .meaning-body>.m-card{margin:24px 20px 0}
.v3-mean .vc7b7cf,.v3-mean .meaning-block{margin:0}
.v3-mean .meaning-body>.meaning-block{padding:48px 20px 0}
.v3-mean .meaning-body section>p,.v3-mean .meaning-body .m-asp>p{margin:12px 0 0;font-size:1rem;line-height:1.6;color:#ADA8C4}
.v3-mean .h2-plain{margin:6px 0 0;font-family:'Noto Serif Thai',serif;font-weight:500;font-size:1.75rem;line-height:1.3;color:#E3DDF2}
.v3-mean .sum-toc{margin:16px 0 0}
.v3-mean .sum-toc-list{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.v3-mean .sum-toc-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;background:#141126;border:1px solid #2B2550;border-radius:14px;color:#CFCAE0;font-size:.9375rem;text-decoration:none}
.v3-mean .sum-toc-link:hover{background:#141126;border-color:#7C5CFF;color:#E3DDF2}
.v3-mean .m-asp-list{display:flex;flex-direction:column;gap:10px;margin:20px 0 0}
.v3-mean .m-asp{padding:16px 18px;background:#141126;border:1px solid #2B2550;border-radius:16px}
.v3-mean .m-asp .meaning-h3{margin:0;font-family:inherit;font-size:1.0625rem;font-weight:500;line-height:1.4;color:#E3DDF2;scroll-margin-top:24px}
.v3-mean .m-asp>p{font-size:.9375rem}
.v3-mean .meaning-body .chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.v3-mean .meaning-tags .chip{min-height:40px;padding:8px 14px;background:#1C1836;border:1px solid #2B2550;border-radius:999px;color:#ADA8C4;font-size:.875rem}
.v3-mean .m-dl{display:flex;flex-direction:column;gap:0;margin:16px 0 0;background:#141126;border:1px solid #2B2550;border-radius:16px;overflow:hidden}
.v3-mean .m-dl>div{padding:12px 18px;border:0;border-top:1px solid #2B2550}
.v3-mean .m-dl>div:first-child{border-top:0}
.v3-mean .m-dl dt{font-size:.8125rem;color:#9590AE}
.v3-mean .m-dl dd{font-weight:500;color:#E3DDF2}
.v3-mean .m-list{margin:12px 0 0;padding-left:1.25rem;color:#ADA8C4}
.v3-mean .m-list li+li{margin-top:6px}
.v3-mean .meaning-body .v12d611{margin:12px 0 0}
.v3-mean .faq-item summary{padding:0}
.v3-mean .faq-item summary::after{font-family:inherit;font-size:1.125rem;color:#7C5CFF}
.v3-mean .meaning-body .faq-item p{padding:0;margin:0 0 14px;font-size:.875rem}
.v3-mean .m-src{border:0}
.v3-mean .m-src .v12d611{margin:0}
.v3-mean .m-src strong{color:#CFCAE0}
.v3-mean .m-src a,.v3-mean .meaning-extra a{display:inline-flex;align-items:center;min-height:44px}
.v3-mean .m-try{margin:0;gap:12px}
.v3-mean .m-try .vcc541c{margin:0}
.v3-mean a.m-try-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;color:#0A0814;text-decoration:none}
.v3-mean a.m-try-btn:hover{color:#0A0814;filter:brightness(1.06)}
.v3-mean .meaning-extra{margin:0;font-size:.875rem}
.v3-mean .near-compare{margin:0 0 14px;color:#ADA8C4}
.v3-mean .near-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.v3-mean .near-item,.v3-mean .meaning-pager .near-item{padding:0;background:none;border:0}
.v3-mean .near-item a{gap:14px;min-height:72px;padding:12px 14px;color:#CFCAE0}
.v3-mean .near-item a:hover{border-color:#7C5CFF;color:#E3DDF2}
.v3-mean .near-tile{width:48px;height:48px;font-size:1.625rem}
.v3-mean .near-name{font-weight:500}
.v3-mean .near-tags{font-size:.8125rem;color:#9590AE}
.v3-mean .v228b6a{max-width:340px}
@media (min-width:768px){.v3-mean .vcc3f63,.v3-mean .v228b6a{max-width:none}}
.v3-mean .v159734 .amb-big{display:none}
/* เลขกลางวงล้อในกล่องผล (CEO 2026-10-30): ตัวเลข lining ไม่ชนคำสั้นใต้เลข · ขนาดตามจำนวนหลักตั้งโดย tool.js v3BigFit */
svg text.num-pop { font-variant-numeric: lining-nums; }
/* ภาพบ้านในกล่องผล /house/ (CEO 2026-10-30 "ให้เหมือนแบบบ้านใน /house/sum-7/"): ชิ้นภาพ components/hero-house.html เดียวกับ hero
   · ขนาดตาม .m-wheel ของ hero · ดาวที่ไม่ใช่หลักของเลขซ่อน · ป้ายดาวตาม .m-wp8 ของ content.css (หน้านี้ไม่โหลด content.css)
   · การเคลื่อนไหวตาม hero เริ่มเมื่อเปิดผล (rv-on) · ลดการเคลื่อนไหว = ปิดทั้งหมดตามกฎของ .v3 */
.v3 .hb-svg{display:block;width:300px;max-width:100%;height:auto;margin:0 auto;overflow:visible}
.v3 .hb-st:not(.is-on){display:none}
.v3 .m-wp8{font-family:var(--font-body);font-size:8px;fill:#E3DDF2}
.v3 .rv-card.rv-on .hb-svg .sm-spin{transform-box:view-box;transform-origin:center;animation:hbSpin 100s linear infinite}
.v3 .rv-card.rv-on .hb-svg .hb-st{transform-box:view-box;transform-origin:center;animation:hbSpin 30s linear infinite}
.v3 .rv-card.rv-on .hb-svg .sm-hp{stroke-dasharray:560;animation:hbDraw 1.3s cubic-bezier(.3,.7,.2,1) 2.1s both}
.v3 .rv-card.rv-on .hb-svg .sm-breath{animation:hbBreath 3.6s ease-in-out infinite}
.v3 .rv-card.rv-on .hb-svg .num-pop.hb-glow{animation:numPop .9s cubic-bezier(.2,.9,.3,1.2) 2.4s both,hbBreath 3.6s ease-in-out 3.3s infinite}
@keyframes hbSpin{to{transform:rotate(360deg)}}
@keyframes hbDraw{from{stroke-dashoffset:560}to{stroke-dashoffset:0}}
@keyframes hbBreath{0%,100%{opacity:.35}50%{opacity:.7}}
/* จบ ภาพบ้านในกล่องผล /house/ */
/* ส่วนลิงก์หน้าลูกทั้งหมด .v3-kids (kids_v3.go · CEO 2026-10-30): กริดชิป แสดงตลอดทั้งก่อนและหลังกรอก · สีขอบและสีป้ายตามระดับ (data-tone) · ชิปสูง ≥ 56px ช่องห่าง 8px (พื้นที่แตะไม่ทับกัน) */
.v3 .kid-grid{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-bottom:0;padding:0;list-style:none}
.v3 .kid-grid li{min-width:0}
.v3 .v3-kids-sub{margin:28px 0 0;font-size:var(--text-lg);color:var(--ink)}
.v3 a.kid{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:56px;height:100%;padding:8px 10px;background:#141126;border:1px solid #2B2550;border-radius:12px;color:#CFCAE0;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}
.v3 a.kid:hover{border-color:#7C5CFF;background:#1C1836}
.v3 a.kid:active{background:#221D40}
.v3 .kid-pre{font-size:.75rem;line-height:1.3;color:#ADA8C4;overflow-wrap:anywhere}
.v3 .kid-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.v3 .kid-num{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:500;line-height:1;color:#E3DDF2;font-variant-numeric:lining-nums}
.v3 .kid-lv{font-size:.75rem;line-height:1.2;color:#9590AE}
.v3 a.kid[data-tone="good"]{border-color:#2E5570}.v3 a.kid[data-tone="good"] .kid-lv{color:#79B4CF}
.v3 a.kid[data-tone="warn"]{border-color:#5E5230}.v3 a.kid[data-tone="warn"] .kid-lv{color:#D9C08A}
.v3 a.kid[data-tone="bad"]{border-color:#6A4826}.v3 a.kid[data-tone="bad"] .kid-lv{color:#D9A468}
.v3 a.kid[data-tone]:hover{border-color:#7C5CFF}
@media (prefers-reduced-motion:reduce){.v3 a.kid{transition:none}}
/* จบ ส่วนลิงก์หน้าลูก */

/* หน้าแรก SEO (CEO 2026-10-30): บล็อกเนื้อหาใช้คลาสหน้าเครื่องมือ UI v3 · ระยะข้างมาจาก .wrap · เดสก์ท็อป 2 คอลัมน์กันบรรทัดยาวเกินอ่าน */
.v3.home-guide{color:var(--ink)}
.v3.home-guide .home-guide-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.v3.home-guide .vc7b7cf{padding:0;min-width:0}
/* ลิงก์ในย่อหน้า: เพิ่มพื้นที่แตะด้วย padding แนวตั้งของ inline (ไม่ดันบรรทัด · ทำงานทุกท่อนเมื่อลิงก์ตัดบรรทัด) · หยุดที่ความสูงบรรทัด 24px เพราะลิงก์สองบรรทัดติดกันจะแย่งพื้นที่แตะกันถ้าสูงกว่านี้ */
.v3.home-guide .v5b6895 a.v3-lnk{padding-block:.5px}
@media (min-width:1024px){.v3.home-guide .home-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 64px;align-items:start}}

/* ปาจื้อส่วนขยาย: บล็อกใต้ผังสี่เสาจาก reading.bazi (tool.js v3BaziMore · มีเฉพาะหลังกดคำนวณ · ไทยเท่านั้น) */
.v3 .bzx{display:flex;flex-direction:column;gap:12px;min-width:0}
.v3 .bzx-b{min-width:0;padding:16px 14px;background:#0C0A1A;border:1px solid #2A2350;border-radius:14px;display:flex;flex-direction:column;gap:12px}
.v3 .bzx-b p{margin:0}
.v3 .bzx-sub{font-size:.875rem;line-height:1.75;color:#CFCAE0}
.v3 .bzx .ve57421,.v3 .bzx-tgn{font-size:.8125rem;line-height:1.75}
.v3 .bzx-b>.v39067b{font-size:.875rem;line-height:1.6}
.v3 .bzx-cols,.v3 .bzx-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;list-style:none}
.v3 .bzx-cols[data-n="3"],.v3 .bzx-cells[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.v3 .bzx-cols{padding:0 11px}
.v3 .bzx-ch{padding:3px 2px;background:#1C1736;border:1px solid #3A3263;border-radius:8px;text-align:center;font-size:.8125rem;line-height:1.6;color:#E3DDF2}
.v3 .bzx-grp{padding:10px;background:#15112A;border:1px solid #2A2350;border-radius:10px}
.v3 .bzx-gh{margin:0 0 8px;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.6;color:#A897E0}
.v3 .bzx-cells{padding:0}
.v3 .bzx-cell{position:relative;min-width:0;padding:8px 4px;background:#0C0A1A;border:1px solid #2A2350;border-radius:8px;display:flex;flex-direction:column;text-align:center;overflow-wrap:anywhere}
.v3 .bzx-cp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.v3 .bzx-vm{display:block;width:max-content;max-width:100%;margin:2px auto 0;padding:0 4px;border:1px dashed #F3CB86;border-radius:6px;font-size:.75rem;line-height:1.6;color:#F3CB86}
.v3 .bzx-hr{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:6px;align-items:center;align-content:center;padding:7px 0;text-align:left}
.v3 .bzx-hr+.bzx-hr{border-top:1px solid #2A2350}
.v3 .bzx-g{grid-row:1/3;font-family:'Noto Serif Thai',serif;font-size:1.25rem;line-height:1.2}
.v3 .bzx-gd{font-size:.75rem;line-height:1.6;color:#A39BC6}
.v3 .bzx-gt{grid-column:2;font-size:.75rem;line-height:1.6;color:#A39BC6}
.v3 .bzx-cp+.bzx-hr .bzx-g,.v3 .bzx-cp+.bzx-hr .bzx-gd{font-weight:700}
.v3 .bzx-cp+.bzx-hr .bzx-gd,.v3 .bzx-cp+.bzx-hr .bzx-gt{color:#E3DDF2}
.v3 .bzx-sh,.v3 .bzx-st{display:block}
.v3 .bzx-sh{font-size:1.125rem;line-height:1.4;color:#E3DDF2}
.v3 .bzx-st{margin-top:2px;font-size:.75rem;line-height:1.6;color:#CFCAE0}
@media (max-width:479px){.v3 .bzx-g{grid-row:auto}.v3 .bzx-gt{grid-column:1/-1;margin-top:2px}}
@media (max-width:359px){.v3 .bzx-cols[data-n="4"]{display:none}.v3 .bzx-cells[data-n="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.v3 [data-n="4"] .bzx-cp{position:static;width:auto;height:auto;clip-path:none;white-space:normal;margin-bottom:4px;font-size:.75rem;line-height:1.6;color:#A897E0}.v3 [data-n="4"] .bzx-g{grid-row:1/3}.v3 [data-n="4"] .bzx-gt{grid-column:2;margin-top:0}}
.v3 .bzx-chips,.v3 .bzx-u{margin:0;padding:0;list-style:none}
.v3 .bzx-chips{display:flex;flex-wrap:wrap;gap:8px}
.v3 .bzx-u{display:flex;flex-direction:column;gap:12px}
.v3 .bzx-u:empty,.v3 .bzx-chips:empty{display:none}
.v3 [data-bzc="stars"]{gap:14px}
.v3 [data-bzc="stars"]>li+li{padding-top:14px;border-top:1px solid #2A2350}
.v3 .bzx-c{max-width:100%;padding:3px 10px;background:#15112A;border:1px solid #2A2350;border-radius:12px;font-size:.8125rem;line-height:1.6;color:#E3DDF2;overflow-wrap:anywhere}
.v3 .bzx-zh{color:#F3CB86}
.v3 .bzx-at{color:#A39BC6}
.v3 .bzx-r{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:4px 8px;align-items:center;font-size:.8125rem;line-height:1.6;color:#E3DDF2}
.v3 .bzx-rl{min-width:0;overflow-wrap:anywhere}
.v3 .bzx-bar{display:block;grid-column:1/-1;grid-row:2}
@media (min-width:768px){.v3 .bzx-r{grid-template-columns:172px minmax(0,1fr) 48px}.v3 .bzx-bar{grid-column:auto;grid-row:auto}}
.v3 .bzx-tr{fill:#1C1736}
.v3 .bzx-fi{fill:#A897E0}
.v3 .bzx-pct{text-align:right;color:#A39BC6}
.v3 .bzx-radar{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.v3 .bzx-ring{fill:none;stroke:#3A3263;stroke-width:1}
.v3 .bzx-area{fill:#A897E0;fill-opacity:.3;stroke:#A897E0;stroke-width:1.5}
.v3 .bzx-pt{fill:#F3CB86}
.v3 .bzx-lab{fill:#CFCAE0;font-size:13px}
.v3 .bzx-big{font-family:'Noto Serif Thai',serif;font-size:1.75rem;line-height:1.4;color:#F3CB86}
.v3 .bzx-why{font-size:.875rem;line-height:1.75;color:#CFCAE0}
.v3 .bzx-y,.v3 .bzx-n{font-size:.8125rem;line-height:1.6}
.v3 .bzx-y{color:#5CC88A}
.v3 .bzx-n{color:#A39BC6}
.v3 .bzx-tx{display:block}
.v3 .bzx-els{display:flex;flex-direction:column;gap:10px}
.v3 .bzx-tgc>*{min-width:0;overflow-wrap:anywhere}
.v3 .bzx-tgc .v4dcc2c,.v3 .bzx-tgc .vf7c3a1{font-size:.8125rem;line-height:1.6}
.v3 .bzx-tgp{margin-top:2px;font-size:.8125rem;line-height:1.6;color:#A39BC6}
.v3 .bzx-tgd{margin-top:6px;font-size:.875rem;line-height:1.75;color:#CFCAE0}
.v3 .bzx-tgn{margin:12px 0 0}
@media (max-width:767px){.v3 .bzx-tgc{grid-template-columns:minmax(0,1fr)}}
.v3 .bzx-why .bzx-c{display:inline-block}
.v3 .bzx-why .bzx-c+.bzx-tx{margin-top:6px}
/* หัวข้อในผลปาจื้อ: แท็ก h2 h3 h4 เพื่อการเข้าถึง หน้าตาเท่า p เดิม · ส่วนความรู้ใน HTML ตั้งต้น */
.v3 h2.vb34d86,.v3 h3.v0b726d,.v3 h3.v39067b,.v3 h4.v39067b,.v3 h4.ve57421{font-family:inherit;font-weight:inherit;line-height:inherit}
.v3 .bzx-kh{margin:24px 0 6px;font-family:'Noto Serif Thai',serif;font-size:1.125rem;font-weight:500;line-height:1.4;color:#E3DDF2}
.v3 .bzx-kp{margin:0;color:#ADA8C4;font-size:.9375rem;line-height:1.8}
.v3 .bzx-kl,.v3 .bzx-kh~.v3-guide{line-height:1.8}
/* v0.32.0 /phone-chinese/ (pc-*) · v0.33.0 梅花易數 (mh-*) · ตัวอักษร ≥14px บรรทัด ≥1.6 · ชื่อธาตุเป็นตัวอักษรเสมอ จุดสีเป็นของตกแต่ง */
.v3 .pc-eye{margin:0 0 6px;color:#A897E0;font-size:.875rem;line-height:1.6;letter-spacing:.04em}
.v3 .pc-lede{line-height:1.7}
.v3 .pc-label{display:block;margin:0 0 8px;color:#E3DDF2;font-size:.9375rem;line-height:1.6}
.v3 .pc-hint{color:#ADA8C4;font-size:.875rem;line-height:1.6}
.v3 .pc-center{margin:12px 0 0;text-align:center}
.v3 .pc-card{display:flex;flex-direction:column;gap:14px}
.v3 .pc-badge{margin:0;padding:10px 12px;border:1px solid #4A3A8A;border-radius:10px;background:rgba(124,92,255,.08);color:#E3DDF2;font-size:.875rem;line-height:1.6}
.v3 .pc-num{color:#F3CB86;font-variant-numeric:tabular-nums;letter-spacing:.04em;overflow-wrap:anywhere}
.v3 .pc-h3{margin:6px 0 0;color:#E3DDF2;font-size:1rem;font-weight:500;line-height:1.6}
.v3 .pc-dot{width:10px;height:10px}
.v3 .pc-big{color:#F3CB86;font-size:1.5rem;line-height:1.3}
.v3 .pc-note{margin:0;color:#ADA8C4;font-size:.875rem;line-height:1.7}
.v3 .pc-link{align-self:stretch;height:auto;min-height:48px;padding:10px 20px;text-align:center;line-height:1.6;white-space:normal}
.v3 .pc-src{display:flex;flex-direction:column;gap:12px;margin:0 0 12px;padding:0;list-style:none}
.v3 .pc-src li{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #3A3168;border-radius:10px;color:#E3DDF2;font-size:.9375rem;line-height:1.7}
.v3 .pc-src strong{color:#F3CB86;font-weight:500}
.v3 .pc-cite{color:#ADA8C4;font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}
.v3 .pc-faq-a{font-size:.875rem;line-height:1.7}
.v3 .pc-guide{margin-top:12px}

/* v0.33.0 梅花易數 (mh-*): แถบระดับ 5 ช่อง · เส้นหกเส้น (หยางเส้นเต็ม หยินเส้นขาด เส้นขยับสีทอง) · ไม่มีตาราง */
.v3 .mh-title{margin:0;line-height:1.5;overflow-wrap:anywhere}
.v3 .mh-han{color:#F3CB86;font-size:1.25em}
.v3 .mh-level{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #4A3A8A;border-radius:12px;background:rgba(124,92,255,.06)}
.v3 .mh-level-h{margin:0;color:#E3DDF2;font-size:.9375rem;line-height:1.6}
.v3 .mh-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:4px 0;padding:0;list-style:none}
.v3 .mh-seg{height:10px;border:1px solid #4A3A8A;border-radius:5px;background:rgba(255,255,255,.03)}
.v3 .mh-seg-on{border-color:#D9C08A;background:#D9C08A}
.v3 .mh-rel,.v3 .mh-quote{margin:0;color:#E3DDF2;font-size:.9375rem;line-height:1.7;overflow-wrap:anywhere}
.v3 .mh-rel-han{color:#F3CB86;font-weight:500}
.v3 .mh-quote{color:#ADA8C4;font-size:.875rem}
.v3 .mh-hexbox{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center}
.v3 .mh-lines{display:flex;flex-direction:column;gap:7px;margin:0;padding:10px 8px;border:1px solid #3A3168;border-radius:10px;list-style:none}
.v3 .mh-ln{position:relative;height:9px}
.v3 .mh-ln:nth-child(3){margin-bottom:6px}
.v3 .mh-ln-yang{border-radius:2px;background:#A99CDA}
.v3 .mh-ln-yin::before,.v3 .mh-ln-yin::after{content:"";position:absolute;top:0;bottom:0;width:42%;border-radius:2px;background:#A99CDA}
.v3 .mh-ln-yin::before{left:0}
.v3 .mh-ln-yin::after{right:0}
.v3 .mh-ln-move.mh-ln-yang,.v3 .mh-ln-move.mh-ln-yin::before,.v3 .mh-ln-move.mh-ln-yin::after{background:#F3CB86}
.v3 .mh-ln-move{outline:1px dashed #F3CB86;outline-offset:3px}
.v3 .mh-tris{display:flex;flex-direction:column;gap:8px;min-width:0}
.v3 .mh-tri{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid #3A3168;border-radius:10px}
.v3 .mh-tri p{margin:0}
.v3 .mh-tri-pos{color:#ADA8C4;font-size:.875rem;line-height:1.6}
.v3 .mh-tri-name{color:#E3DDF2;font-size:1rem;line-height:1.6}
.v3 .mh-tri-el{display:inline-flex;align-items:center;gap:6px;color:#E3DDF2;font-size:.875rem;line-height:1.6}
.v3 .mh-move{margin:0;color:#E3DDF2;font-size:.9375rem;line-height:1.7}
.v3 .mh-move strong{color:#F3CB86;font-weight:500}
.v3 .mh-guaci{margin:0;padding:12px;border-left:3px solid #D9C08A;border-radius:4px;background:rgba(217,192,138,.06);color:#E3DDF2;font-size:1.0625rem;line-height:1.8;overflow-wrap:anywhere}
.v3 .mh-subs{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.v3 .mh-sub{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #3A3168;border-radius:10px}
.v3 .mh-sub p{margin:0}
.v3 .mh-sub-name{color:#E3DDF2;font-size:1rem;line-height:1.6}
.v3 .mh-rels{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;color:#E3DDF2;font-size:.875rem;line-height:1.7}
/* v0.33.0 รอบแก้ตามผลตรวจ ลายตรีลักษณ์ของหน้านี้อยู่คอลัมน์ขวา (x 300-390 ของ svg) หลังข้อความ ไม่ทับหัวเรื่อง/คำนำ/breadcrumb */
.v3 .pc-deco{z-index:0;pointer-events:none}
.v3-phone-chinese .vb8cd9f{z-index:1}
.v3 .mh-ex{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}
.v3 .mh-ex-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px 12px;border:1px solid #3A3168;border-radius:10px}
.v3 .mh-ex-row dt{color:#ADA8C4;font-size:.875rem;line-height:1.6}
.v3 .mh-ex-row dd{margin:0;color:#E3DDF2;font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}
.v3 .mh-ex .mh-bar{max-width:220px}
@media (min-width:640px){.v3 .mh-subs{grid-template-columns:repeat(2,minmax(0,1fr))}.v3 .mh-hexbox{grid-template-columns:120px minmax(0,1fr)}}
@media (max-width:380px){.v3 .mh-ex-row{grid-template-columns:minmax(0,1fr);gap:2px}}
