/* 安居算 — UI 第二轮：参考 Claude 暖米色编辑风设计语言（不冒充品牌） */
:root {
  /* Claude DESIGN.md colors */
  --primary: #cc785c;
  --primary-active: #a9583e;
  --primary-disabled: #e6dfd8;
  --primary-soft: #f3e8e2;
  --primary-ink: #a9583e;
  --ink: #141413;
  --body: #3d3d3a;
  --body-strong: #252523;
  --muted: #6c6a64;
  --muted-soft: #7a776f; /* was #8e8b82; 3:1+ on cream surfaces */
  --hairline: #e6dfd8;
  --hairline-soft: #ebe6df;
  --canvas: #faf9f5;
  --surface-soft: #f5f0e8;
  --surface-card: #efe9de;
  --surface-cream-strong: #e8e0d2;
  --surface-dark: #181715;
  --surface-dark-elevated: #252320;
  --surface-dark-soft: #1f1e1b;
  --on-primary: #ffffff;
  --on-dark: #faf9f5;
  --on-dark-soft: #a09d96;
  --accent-teal: #5db8a6;
  --accent-amber: #e8a55a;
  --success: #5db872;
  --warning: #d4a017;
  --error: #c64545;

  /* Mapped aliases used across existing selectors */
  --bg: var(--canvas);
  --bg-accent: var(--surface-soft);
  --surface: var(--canvas);
  --surface-2: var(--surface-soft);
  --text: var(--ink);
  --border: var(--hairline);
  --border-strong: var(--surface-cream-strong);
  --accent: var(--accent-teal);
  --accent-soft: #e4f3ef;
  --warn: var(--warning);
  --danger: var(--error);
  --ok: var(--success);

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-pill: 9999px;
  --radius: var(--radius-lg);
  --radius-btn: var(--radius-md);

  --shadow: 0 1px 3px rgba(20, 20, 19, 0.08);
  --shadow-hover: 0 2px 8px rgba(20, 20, 19, 0.1);
  --max: 1200px;
  --input-h: 44px;
  --focus-ring: 0 0 0 3px rgba(204, 120, 92, 0.15);
  --nav-h: 64px;
  --section: 96px;

  /* SIL OFL webfonts (Noto Sans/Serif via Google Fonts), free for commercial use.
     Latin+CJK share one family so buttons don't mix Inter/YaHei fake-medium. */
  --font-display: "Noto Serif SC", "Noto Serif TC", "Noto Serif", "Songti SC", "Songti TC", Georgia, serif;
  --font: "Noto Sans SC", "Noto Sans TC", "Noto Sans", "PingFang SC", "PingFang TC",
    "Hiragino Sans GB", "Microsoft JhengHei", "Microsoft YaHei", system-ui, sans-serif;
  --font-serif: var(--font-display);
  --font-sans: var(--font);
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

html[lang="zh-Hant"],
html[lang="zh-TW"],
html[lang="zh-HK"] {
  --font-display: "Noto Serif TC", "Noto Serif SC", "Noto Serif", "Songti TC", "Songti SC", Georgia, serif;
  --font: "Noto Sans TC", "Noto Sans SC", "Noto Sans", "PingFang TC", "PingFang SC",
    "Microsoft JhengHei", "Microsoft YaHei", system-ui, sans-serif;
  --font-serif: var(--font-display);
  --font-sans: var(--font);
}

html[lang="ms"] {
  --font-display: "Noto Serif", "Noto Serif SC", Georgia, serif;
  --font: "Noto Sans", "Noto Sans SC", "Segoe UI", system-ui, sans-serif;
  --font-serif: var(--font-display);
  --font-sans: var(--font);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: var(--surface-dark);
    --bg-accent: var(--surface-dark-soft);
    --surface: var(--surface-dark-elevated);
    --surface-2: var(--surface-dark-soft);
    --text: var(--on-dark);
    --body: #c8c5bc;
    --body-strong: var(--on-dark);
    --muted: var(--on-dark-soft);
    --muted-soft: #7a776f;
    --border: #2e2c28;
    --border-strong: #3a3732;
    --primary: #d49278;
    --primary-active: #e0a890;
    --primary-soft: #3a2a24;
    --primary-ink: #e8b8a4;
    --hairline: #2e2c28;
    --surface-card: #252320;
    --surface-soft: #1f1e1b;
    --surface-cream-strong: #2e2c28;
    --accent: #5db8a6;
    --accent-soft: #1a332e;
    --warn: #e8a55a;
    --danger: #e07070;
    --ok: #5db872;
    --shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 2px 10px rgba(0, 0, 0, 0.45);
    --focus-ring: 0 0 0 3px rgba(212, 146, 120, 0.28);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--font);
  color: var(--body);
  background: var(--bg);
  line-height: 1.55;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  font-weight: 400;
}

/* Accessibility: skip link */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 0.65rem 1rem;
  background: var(--primary);
  color: var(--on-primary);
  border-radius: var(--radius-md);
  font-family: var(--font);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}
.skip-link:focus {
  left: 0.75rem;
  top: 0.75rem;
  outline: none;
  box-shadow: var(--focus-ring);
}


h1, h2, h3, .page-title, .hero h1, .section-head h2, .card h2, .result-value {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--text);
  letter-spacing: -0.02em;
}

a {
  color: var(--primary-ink);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

img {
  max-width: 100%;
}

.container {
  width: min(100% - 1.5rem, var(--max));
  margin-inline: auto;
}

@media (min-width: 640px) {
  .container {
    width: min(100% - 2rem, var(--max));
  }
}

/* Header — cream nav, 64px */
.site-header {
  background: var(--canvas);
  border-bottom: 1px solid rgba(204, 120, 92, 0.14);
  position: sticky;
  top: 0;
  z-index: 50;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

@media (prefers-color-scheme: dark) {
  .site-header {
    background: var(--surface-dark);
    border-bottom-color: var(--border);
  }
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  min-height: var(--nav-h);
  padding: 0.5rem 0;
  flex-wrap: wrap;
}

.logo {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.2rem;
  color: var(--ink);
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  letter-spacing: -0.02em;
  transition: color 0.18s ease;
}

@media (prefers-color-scheme: dark) {
  .logo { color: var(--on-dark); }
}

.logo:hover {
  text-decoration: none;
  color: var(--primary);
}

.logo-mark {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: var(--radius-md);
  background: var(--primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--on-primary);
  font-family: var(--font);
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: none;
  border: 1px solid rgba(169, 88, 62, 0.18);
  transition: background-color 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}
.logo:hover .logo-mark {
  background: var(--primary-active);
  border-color: rgba(169, 88, 62, 0.32);
  transform: translateY(-1px);
}

.nav {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
}

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 44px;
  height: 44px;
  padding: 0 0.85rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--hairline);
  background: var(--canvas);
  color: var(--ink);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

@media (prefers-color-scheme: dark) {
  .nav-toggle {
    background: var(--surface-dark-elevated);
    color: var(--on-dark);
    border-color: var(--border);
  }
}

.nav-toggle:hover {
  background: var(--surface-card);
}

.nav-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 0.35rem;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}

.nav a,
.nav .nav-more > summary {
  color: var(--muted);
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.4rem 0.65rem;
  border-radius: var(--radius-md);
  text-decoration: none;
  white-space: nowrap;
  line-height: 1.4;
  transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  box-shadow: inset 0 -2px 0 transparent;
}

.nav a:hover,
.nav a[aria-current="page"],
.nav-more[open] > summary,
.nav-more > summary:hover {
  color: var(--primary-ink);
  background: var(--surface-card);
  text-decoration: none;
  box-shadow: inset 0 -2px 0 var(--primary);
}

@media (prefers-color-scheme: dark) {
  .nav a:hover,
  .nav a[aria-current="page"],
  .nav-more[open] > summary,
  .nav-more > summary:hover {
    color: var(--on-dark);
    background: var(--surface-dark-elevated);
  }
}

/* Main layout */
main {
  flex: 1;
  padding: 1.75rem 0 3rem;
}

.layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1100px) {
  .layout.has-aside.has-ads {
    grid-template-columns: minmax(0, 1fr) 240px;
    align-items: start;
  }
}

/* Hero — cream canvas, serif display, editorial */
.hero {
  position: relative;
  overflow: hidden;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-xl);
  padding: 2.5rem 2rem 2rem;
  box-shadow: none;
  margin-bottom: 1.5rem;
}

@media (prefers-color-scheme: dark) {
  .hero {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
  }
}

.hero::before {
  content: "";
  position: absolute;
  inset: auto -8% -35% auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(204, 120, 92, 0.12), transparent 70%);
  pointer-events: none;
}

.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.85rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-pill);
  background: var(--surface-card);
  border: none;
  color: var(--ink);
  font-family: var(--font);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (prefers-color-scheme: dark) {
  .hero-eyebrow {
    background: var(--surface-dark-soft);
    color: var(--on-dark-soft);
  }
}

.hero h1 {
  position: relative;
  margin: 0 0 0.65rem;
  font-size: clamp(2rem, 4.5vw, 3rem);
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-weight: 400;
  color: var(--ink);
}

@media (prefers-color-scheme: dark) {
  .hero h1 { color: var(--on-dark); }
}

.hero p {
  position: relative;
  margin: 0;
  color: var(--body);
  max-width: 40rem;
  font-size: 1rem;
  line-height: 1.55;
}

.hero .region-strip {
  position: relative;
  margin-top: 1.35rem;
}

/* Cards — surface-card cream, lg radius, no heavy shadow */
.cards {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 560px) {
  .cards {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

.cards.cards-regions {
  grid-template-columns: 1fr;
}

@media (min-width: 560px) {
  .cards.cards-regions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .cards.cards-regions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.card,
.tool-card {
  background: var(--surface-card);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  padding: 1.65rem 1.55rem 1.5rem;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  transition: background 0.15s ease, border-color 0.15s ease;
  min-width: 0;
}

@media (prefers-color-scheme: dark) {
  .card,
  .tool-card {
    background: var(--surface-dark-elevated);
    border: 1px solid var(--border);
  }
}

.card:hover,
.tool-card:hover {
  box-shadow: none;
  background: var(--surface-cream-strong);
  border-color: rgba(204, 120, 92, 0.35);
}

@media (prefers-color-scheme: dark) {
  .card:hover,
  .tool-card:hover {
    background: var(--surface-dark-soft);
    border-color: var(--primary);
  }
}

.card-tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.65rem;
  border-radius: var(--radius-pill);
  font-family: var(--font);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  background: var(--canvas);
  color: var(--ink);
  border: none;
}

@media (prefers-color-scheme: dark) {
  .card-tag {
    background: var(--surface-dark-soft);
    color: var(--on-dark-soft);
  }
}

.card-tag.health { background: #e4f3ef; color: #2a7a6a; }
.card-tag.finance { background: var(--primary-soft); color: var(--primary-ink); }
.card-tag.spend { background: #f8edd9; color: #8a5a20; }
.card-tag.life { background: var(--surface-cream-strong); color: var(--body-strong); }
.card-tag.region { background: var(--primary); color: var(--on-primary); letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.7rem; }

@media (prefers-color-scheme: dark) {
  .card-tag.health { background: #1a332e; color: #5db8a6; }
  .card-tag.finance { background: var(--primary-soft); color: var(--primary-ink); }
  .card-tag.spend { background: #3a2e1a; color: #e8a55a; }
  .card-tag.life { background: #2e2c28; color: var(--on-dark-soft); }
  .card-tag.region { background: var(--primary); color: var(--on-primary); }
}

.card-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  background: var(--canvas);
}

@media (prefers-color-scheme: dark) {
  .card-icon { background: var(--surface-dark-soft); }
}

.card h2 {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: -0.015em;
}

.card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  flex: 1;
  line-height: 1.55;
}

.card .btn {
  align-self: flex-start;
  margin-top: 0.35rem;
}

/* Tool page */
.page-title {
  margin: 0 0 0.4rem;
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
  font-weight: 400;
  color: var(--ink);
}

.page-desc {
  margin: 0.35rem 0 1.35rem;
  color: var(--muted);
  font-size: 0.98rem;
  line-height: 1.65;
  max-width: 46rem;
}

.panel {
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.75rem;
  box-shadow: none;
}

@media (min-width: 800px) {
  .panel {
    padding: 2rem;
  }
}

@media (prefers-color-scheme: dark) {
  .panel {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
  }
}

.tool-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 800px) {
  .tool-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.75rem;
  }
}

.form-grid {
  display: grid;
  gap: 1rem;
}

.form-row {
  display: grid;
  gap: 0.35rem;
}

.form-row.two {
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

@media (prefers-color-scheme: dark) {
  label { color: var(--on-dark); }
}

.hint {
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--muted-soft);
  font-weight: 400;
}
.hint a {
  color: var(--primary-ink);
  text-underline-offset: 2px;
}
.hint a:hover {
  color: var(--primary-active);
}

input[type="number"],
input[type="text"],
input[type="date"],
input[type="email"],
input[type="search"],
textarea,
select {
  width: 100%;
  min-height: var(--input-h);
  height: var(--input-h);
  padding: 0.7rem 0.9rem;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  font: inherit;
  font-size: 1rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  background-color: var(--surface-card);
  color: var(--ink);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  appearance: none;
  -webkit-appearance: none;
}

textarea {
  height: auto;
  min-height: 6.5rem;
  resize: vertical;
  line-height: 1.55;
  font-variant-numeric: normal;
}

input::placeholder,
textarea::placeholder {
  color: var(--muted);
  opacity: 1;
}

select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236c6a64' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 2.25rem;
}

@media (prefers-color-scheme: dark) {
  input[type="number"],
  input[type="text"],
  input[type="date"],
  input[type="email"],
  input[type="search"],
  textarea,
  select {
    background-color: var(--surface-dark);
    color: var(--on-dark);
    border-color: var(--border);
  }
  input::placeholder,
  textarea::placeholder {
    color: var(--on-dark-soft);
  }
  select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a09d96' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
  }
}

input:hover,
select:hover,
textarea:hover {
  border-color: var(--surface-cream-strong);
  background-color: var(--surface-soft);
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--primary);
  background-color: var(--canvas);
  box-shadow: var(--focus-ring);
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  border-color: var(--primary);
  box-shadow: var(--focus-ring);
}

input:disabled,
select:disabled,
textarea:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: var(--surface-cream-strong);
  color: var(--muted);
}

input:user-invalid,
select:user-invalid,
textarea:user-invalid,
input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"],
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
  border-color: var(--error);
  background-color: #f8ece8;
  box-shadow: 0 0 0 3px rgba(198, 69, 69, 0.12);
}

/* keep select chevron when background-color changes */
select:hover,
select:focus,
select:focus-visible {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236c6a64' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}

.form-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink);
  font-family: var(--font);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  padding: 0.28rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.radio-group label {
  position: relative;
  flex: 1 1 8.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 44px;
  padding: 0.5rem 0.95rem;
  margin: 0;
  border-radius: var(--radius-md);
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.3;
  color: var(--body);
  cursor: pointer;
  background: transparent;
  text-align: center;
  transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.radio-group label:hover {
  background: var(--surface-soft);
  color: var(--body-strong);
}

.radio-group label:has(input:checked) {
  background: var(--primary);
  color: var(--on-primary);
}

.radio-group label:has(input:focus-visible) {
  box-shadow: var(--focus-ring);
}

.radio-group input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.form-fieldset {
  margin: 0;
  padding: 0.9rem 1rem 1rem;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  background: var(--surface-soft);
  display: grid;
  gap: 0.85rem;
  min-width: 0;
}

.form-fieldset > legend {
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 600;
  color: var(--ink);
  padding: 0 0.4rem;
}

@media (prefers-color-scheme: dark) {
  .form-label {
    color: var(--on-dark);
  }
  .radio-group {
    background: var(--surface-dark-soft);
    border-color: var(--border);
  }
  .radio-group label:hover {
    background: var(--surface-dark-elevated);
  }
  .form-fieldset {
    background: var(--surface-dark-soft);
    border-color: var(--border);
  }
  .form-fieldset > legend {
    color: var(--on-dark);
  }
}

@media (prefers-reduced-motion: reduce) {
  .radio-group label {
    transition: none;
  }
}

/* Buttons — coral primary, md radius, 44px */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 44px;
  height: auto;
  min-width: 44px;
  padding: 12px 20px;
  border-radius: var(--radius-md);
  border: none;
  font-family: var(--font);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.2;
  cursor: pointer;
  background: var(--primary);
  color: var(--on-primary);
  text-decoration: none;
  box-shadow: none;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.btn:hover {
  background: var(--primary-active);
  text-decoration: none;
}

.btn:active {
  background: var(--primary-active);
}

.btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.btn-secondary {
  background: var(--surface-card);
  color: var(--ink);
  border: 1px solid var(--hairline);
  box-shadow: none;
}

.btn-secondary:hover {
  background: var(--surface-cream-strong);
  border-color: rgba(204, 120, 92, 0.35);
  color: var(--primary-ink);
}

.btn-secondary:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-color: var(--primary);
}

@media (prefers-color-scheme: dark) {
  .btn-secondary {
    background: var(--surface-dark-elevated);
    color: var(--on-dark);
    border-color: var(--border);
  }
  .btn-secondary:hover {
    background: var(--surface-dark-soft);
  }
}

.actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.75rem;
  margin-top: 0.65rem;
  padding-top: 0.15rem;
}
.actions .btn,
.actions .btn-secondary {
  min-width: 6.5rem;
}
@media (max-width: 480px) {
  .actions {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }
  .actions .btn,
  .actions .btn-secondary {
    width: 100%;
    min-width: 0;
  }
}

/* Results — dark surface or coral-tinted callout */
.results {
  display: grid;
  gap: 0.85rem;
}

.result-card {
  background: var(--surface-dark);
  border: none;
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.35rem;
  color: var(--on-dark);
  box-shadow: none;
}

@media (max-width: 640px) {
  .result-card {
    padding: 1.25rem 1.1rem;
  }
}

.result-card .result-label {
  color: var(--on-dark-soft);
}

.result-card .result-value {
  color: var(--on-dark);
}

.result-card.neutral {
  background: var(--surface-card);
  color: var(--ink);
}

.result-card.neutral .result-label {
  color: var(--muted);
}

.result-card.neutral .result-value {
  color: var(--ink);
}

@media (prefers-color-scheme: dark) {
  .result-card {
    background: var(--surface-dark-soft);
    border: 1px solid var(--border);
  }
  .result-card.neutral {
    background: var(--surface-dark-elevated);
    color: var(--on-dark);
  }
  .result-card.neutral .result-label { color: var(--on-dark-soft); }
  .result-card.neutral .result-value { color: var(--on-dark); }
}

.result-label {
  font-family: var(--font);
  font-size: 0.8125rem;
  color: var(--muted);
  margin: 0 0 0.45rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.result-value {
  font-size: clamp(1.85rem, 3.4vw, 2.4rem);
  font-weight: 400;
  letter-spacing: -0.03em;
  margin: 0;
  line-height: 1.2;
  word-break: break-word;
  font-variant-numeric: tabular-nums lining-nums;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.1rem 0.4rem;
}

.result-value small {
  font-family: var(--font);
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--on-dark-soft);
  opacity: 1;
  margin-left: 0;
  letter-spacing: 0.04em;
  vertical-align: baseline;
}

.result-card.neutral .result-value small {
  color: var(--muted);
}

.badge {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.2rem 0.7rem;
  border-radius: var(--radius-pill);
  font-family: var(--font);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  background: var(--surface-card);
  color: var(--ink);
}

.badge.under { background: #dbeaf5; color: #2a5a7a; }
.badge.normal { background: #e4f3ef; color: #2a7a6a; }
.badge.over { background: #f8edd9; color: #8a5a20; }
.badge.obese { background: #f5e0e0; color: #8a3030; }

@media (prefers-color-scheme: dark) {
  .badge { background: var(--surface-dark-elevated); color: var(--on-dark); }
  .badge.under { background: #1a2e3a; color: #7ab0d0; }
  .badge.normal { background: #1a332e; color: #5db8a6; }
  .badge.over { background: #3a2e1a; color: #e8a55a; }
  .badge.obese { background: #3a1e1e; color: #e07070; }
}

.kv {
  display: grid;
  gap: 0;
  margin-top: 0.15rem;
}

.kv-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--hairline-soft);
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--body);
}

.kv-row:last-child {
  border-bottom: none;
}

.kv-row span:first-child {
  overflow-wrap: anywhere;
  color: var(--muted);
  flex: 1 1 auto;
}

.kv-row span:last-child {
  font-weight: 600;
  text-align: right;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  flex: 0 1 auto;
}

@media (prefers-color-scheme: dark) {
  .kv-row { border-bottom-color: var(--border); }
  .kv-row span:last-child { color: var(--on-dark); }
}

.table-wrap {
  overflow-x: auto;
  margin-top: 0.85rem;
  -webkit-overflow-scrolling: touch;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.table-wrap table {
  margin: 0;
}

.table-wrap caption {
  caption-side: top;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;
  padding: 0.85rem 1rem 0.25rem;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  font-variant-numeric: tabular-nums lining-nums;
}

th,
td {
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--hairline-soft);
  text-align: right;
  white-space: nowrap;
  color: var(--body);
}

th:first-child,
td:first-child,
.table-wrap th:first-child,
.table-wrap td:first-child {
  text-align: left;
  white-space: normal;
}

th {
  background: var(--surface-cream-strong);
  font-weight: 500;
  color: var(--muted);
  font-family: var(--font);
}

thead th {
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

tr.is-total th,
tr.is-total td {
  font-weight: 600;
  color: var(--ink);
  background: var(--primary-soft);
  border-bottom: none;
}

.related-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.related-tools-label {
  flex: 1 0 100%;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.02em;
  margin: 0 0 0.05rem;
}

.related-tools a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.3rem 0.9rem;
  border-radius: var(--radius-pill);
  background: var(--surface-card);
  color: var(--body-strong);
  text-decoration: none;
  font-size: 0.875rem;
  border: 1px solid transparent;
  transition: background 0.15s ease, color 0.15s ease;
}

.related-tools a:hover {
  background: var(--primary-soft);
  color: var(--primary-ink);
}

.related-tools a:focus-visible {
  background: var(--primary-soft);
  color: var(--primary-ink);
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (prefers-color-scheme: dark) {
  th, td { border-bottom-color: var(--border); }
  .table-wrap {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
  }
  .table-wrap caption { color: var(--on-dark-soft); }
  th {
    background: var(--surface-dark-soft);
    color: var(--on-dark-soft);
  }
  td { color: var(--body); }
  tr.is-total th,
  tr.is-total td {
    background: rgba(204, 120, 92, 0.18);
    color: var(--on-dark);
  }
  .related-tools-label { color: var(--on-dark-soft); }
  .related-tools a {
    background: var(--surface-dark-elevated);
    color: var(--on-dark);
  }
  .related-tools a:hover,
  .related-tools a:focus-visible {
    background: rgba(204, 120, 92, 0.2);
    color: #e0a890;
  }
}

@media (prefers-reduced-motion: reduce) {
  .related-tools a { transition: none; }
}

.note {
  margin-top: 0.95rem;
  padding: 1rem 1.15rem 1rem 1.05rem;
  background: var(--surface-card);
  border: 1px solid rgba(204, 120, 92, 0.16);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-lg);
  font-size: 0.86rem;
  line-height: 1.58;
  color: #5c5348;
}

.note a {
  color: var(--primary-ink);
}
.note strong {
  color: var(--ink);
  font-weight: 600;
}

.note.info {
  background: #f3efe6;
  border-color: rgba(204, 120, 92, 0.18);
  border-left-color: var(--primary);
  color: #5a5248;
}

.note.info strong {
  color: var(--primary-ink);
}

@media (prefers-color-scheme: dark) {
  .note {
    background: #2a2622;
    border-color: rgba(212, 146, 120, 0.28);
    border-left-color: var(--primary);
    color: #cfc6b8;
  }
  .note a {
    color: var(--primary-ink);
  }
  .note strong {
    color: var(--on-dark);
  }
  .note.info {
    background: #2c2622;
    border-color: rgba(212, 146, 120, 0.3);
    border-left-color: var(--primary);
    color: #d2c8ba;
  }
  .note.info strong {
    color: var(--primary-ink);
  }
}

/* Reserved AdSense hooks stay in the markup, but unused slots stay
   hidden and unlabelled until a real unit is attached later.
   Default: no box, no reserved height, no CLS. Reveal with
   body[data-ads="on"] (local preview) or .is-live (real unit). */
.ad-slot,
.ad-aside {
  display: none !important;
}

.ad-slot.is-live,
body[data-ads="on"] .ad-slot {
  background: transparent;
  border: 0;
  border-radius: var(--radius-lg);
  color: inherit;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 120px;
  margin: 1.25rem 0;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  user-select: none;
  box-shadow: none;
}

.ad-slot.banner.is-live,
body[data-ads="on"] .ad-slot.banner {
  min-height: 90px;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
  background: transparent;
}

.ad-slot.infeed.is-live,
body[data-ads="on"] .ad-slot.infeed {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 100px;
}

.ad-aside.is-live,
body[data-ads="on"] .ad-aside {
  display: block !important;
  position: sticky;
  top: 4.5rem;
}

body[data-ads="on"] .ad-slot {
  background: var(--surface-soft);
  border: 1px dashed rgba(204, 120, 92, 0.4);
  color: var(--muted);
}

body[data-ads="on"] .ad-slot .ad-preview-label {
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--muted);
}

body[data-ads="on"] .ad-aside .ad-slot {
  min-height: 250px;
}

/* Footer — dark warm surface */
.site-footer {
  background: var(--surface-dark);
  border-top: 1px solid rgba(204, 120, 92, 0.18);
  padding: 3rem 0 2.25rem;
  margin-top: auto;
  color: var(--on-dark-soft);
}

.footer-inner {
  display: grid;
  gap: 1.05rem;
  font-size: 0.875rem;
  color: var(--on-dark-soft);
}

.footer-inner > p:first-of-type {
  color: var(--on-dark);
  font-weight: 500;
  letter-spacing: 0.01em;
  font-size: 0.9rem;
}

.footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 2rem;
  max-height: none;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(250, 249, 245, 0.08);
}

.footer-col {
  min-width: 0;
}

.footer-col-title {
  margin: 0 0 0.55rem;
  padding: 0;
  font-family: var(--font);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  color: var(--on-dark);
}

.footer-col nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4rem;
}

.footer-links a {
  color: var(--on-dark-soft);
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.4;
  transition: color 0.15s ease;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: #e0a890;
  text-decoration: none;
}

@media (max-width: 559px) {
  .footer-links {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }
}

@media (min-width: 560px) and (max-width: 799px) {
  .footer-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-col:last-child {
    grid-column: 1 / -1;
  }
}

.disclaimer {
  font-size: 0.75rem;
  line-height: 1.6;
  color: #8a8680;
  opacity: 1;
  max-width: 52rem;
  margin-top: 0.15rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(250, 249, 245, 0.06);
}

/* Nav dropdown */
.nav-more {
  position: relative;
}

.nav-more > summary {
  list-style: none;
  cursor: pointer;
  font-weight: 500;
}

.nav-more > summary::-webkit-details-marker {
  display: none;
}

.nav-more > summary::after {
  content: " ▾";
  font-size: 0.7em;
}

.nav-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.4rem);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
  padding: 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  gap: 0.75rem 1rem;
  min-width: min(360px, calc(100vw - 1.5rem));
  max-height: min(70vh, 520px);
  overflow: auto;
  z-index: 60;
}

@media (prefers-color-scheme: dark) {
  .nav-panel {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
  }
}

.nav-group-title {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--muted);
  margin-bottom: 0.25rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-family: var(--font);
}

.nav-group {
  display: grid;
  gap: 0.15rem;
}

.nav-group a {
  display: block;
  font-size: 0.82rem;
  padding: 0.3rem 0.4rem;
  border-radius: var(--radius-sm);
  color: var(--ink);
  white-space: normal;
}

@media (prefers-color-scheme: dark) {
  .nav-group a { color: var(--on-dark); }
}

.nav-group a:hover,
.nav-group a[aria-current="page"] {
  background: var(--surface-card);
  color: var(--primary-ink);
  text-decoration: none;
}

@media (prefers-color-scheme: dark) {
  .nav-group a:hover,
  .nav-group a[aria-current="page"] {
    background: var(--surface-dark-soft);
  }
}

.nav a.nav-quick {
  font-size: 0.875rem;
}

.lang-switch {
  display: inline-flex;
  align-items: stretch;
  gap: 0.18rem;
  margin-left: 0.35rem;
  padding: 0.2rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
  font-size: 0.8125rem;
  flex-shrink: 0;
  min-height: 36px;
  box-sizing: border-box;
}

.lang-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  min-height: 28px;
  min-width: 2.35rem;
  padding: 0.15rem 0.62rem;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-weight: 500;
  line-height: 1;
  transition: color 0.15s ease, background 0.15s ease;
}

.lang-switch.is-triple a {
  min-width: 2.1rem;
  padding: 0.15rem 0.48rem;
}

.lang-switch a[lang="ms"] {
  letter-spacing: 0.04em;
}

.lang-switch a:hover {
  color: var(--primary-ink);
  background: var(--surface-soft);
  text-decoration: none;
}

.lang-switch a[aria-current="true"] {
  color: var(--on-primary);
  background: var(--primary);
  font-weight: 600;
}

.lang-switch a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (prefers-color-scheme: dark) {
  .lang-switch {
    background: var(--surface-dark);
    border-color: var(--border);
  }
  .lang-switch a[aria-current="true"] {
    color: var(--on-primary);
    background: var(--primary);
  }
  .lang-switch a:hover:not([aria-current="true"]) {
    background: var(--surface-dark-elevated);
    color: var(--primary-ink);
  }
}

.lang-sep {
  display: none;
}

.nav-panel-regions {
  grid-template-columns: 1fr 1fr;
  min-width: 240px;
  gap: 0.25rem;
}

@media (max-width: 719px) {
  .nav-panel-regions {
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .nav-panel-regions a {
    padding: 0.65rem 0.75rem;
    font-size: 0.95rem;
    border: 1px solid var(--hairline);
    background: var(--surface-card);
  }
}

.nav-panel-regions a {
  display: block;
  padding: 0.45rem 0.55rem;
  border-radius: var(--radius-md);
  color: var(--ink);
  font-size: 0.88rem;
}

@media (prefers-color-scheme: dark) {
  .nav-panel-regions a { color: var(--on-dark); }
}

.nav-panel-regions a:hover,
.nav-panel-regions a[aria-current="page"] {
  background: var(--surface-card);
  color: var(--primary-ink);
  text-decoration: none;
}

.region-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0 0;
}

.region-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: var(--canvas);
  color: var(--ink);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  box-shadow: none;
  transition: border-color 0.15s, background 0.15s;
}

@media (prefers-color-scheme: dark) {
  .region-chip {
    background: var(--surface-dark-soft);
    border-color: var(--border);
    color: var(--on-dark);
  }
}

.region-chip:hover {
  border-color: var(--primary);
  color: var(--primary);
  text-decoration: none;
  background: var(--primary-soft);
}

.region-chip .flag {
  font-size: 1rem;
}

.section-head {
  margin: 2.5rem 0 1.1rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--hairline);
}

.section-head h2 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  letter-spacing: -0.02em;
  font-weight: 400;
  line-height: 1.2;
  color: var(--ink);
}

.section-head p {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.region-banner {
  margin: 0 0 1rem;
  padding: 1rem 1.15rem 1rem 1.25rem;
  border-radius: 12px;
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--primary);
  background: #efe9de;
  color: var(--body);
  font-size: 0.9rem;
  box-shadow: none;
  position: relative;
}

.region-banner strong {
  color: var(--ink);
  font-weight: 500;
}

.region-banner ul {
  margin: 0.5rem 0 0;
  padding-left: 1.15rem;
}

.region-banner a {
  font-weight: 500;
  color: var(--primary-ink);
}

@media (prefers-color-scheme: dark) {
  .region-banner {
    background: var(--surface-dark-elevated);
    color: var(--on-dark-soft);
  }
  .region-banner strong { color: var(--on-dark); }
}

.status-pill {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 500;
  padding: 0.2rem 0.55rem;
  border-radius: var(--radius-pill);
  vertical-align: middle;
  margin-left: 0.4rem;
  letter-spacing: 0.05em;
  font-family: var(--font);
  line-height: 1.2;
  border: 1px solid transparent;
}

.status-pill.ready {
  background: #e4f3ef;
  color: #1f6b5c;
  border-color: #cfe8e1;
}

.status-pill.partial {
  background: #f8edd9;
  color: #8a5a20;
  border-color: #efd9b5;
}

.status-pill.planned {
  background: var(--surface-cream-strong);
  color: var(--muted);
  border-color: var(--hairline);
}

@media (prefers-color-scheme: dark) {
  .status-pill.ready { background: #1a332e; color: #5db8a6; }
  .status-pill.partial { background: #3a2e1a; color: #e8a55a; }
  .status-pill.planned { background: #2e2c28; color: var(--on-dark-soft); }
}

.tool-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.tool-list li {
  background: var(--surface-card);
  border: 1px solid transparent;
  border-radius: var(--radius-lg);
  padding: 1rem 1.2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.55rem 0.75rem;
  transition: background 0.15s ease, border-color 0.15s ease;
  box-shadow: none;
}

@media (prefers-color-scheme: dark) {
  .tool-list li {
    background: var(--surface-dark-elevated);
    border: 1px solid var(--border);
  }
}

.tool-list li:hover {
  box-shadow: none;
  background: var(--surface-cream-strong);
  border-color: var(--primary);
}

@media (prefers-color-scheme: dark) {
  .tool-list li:hover {
    background: var(--surface-dark-soft);
    border-color: var(--primary);
  }
}

.tool-list a {
  font-weight: 500;
  color: var(--ink);
}

@media (prefers-color-scheme: dark) {
  .tool-list a { color: var(--on-dark); }
}

.tool-list a:hover {
  color: var(--primary-ink);
}

/* Responsive nav / mobile */
@media (max-width: 900px) {
  .nav a.nav-quick {
    display: none;
  }
}

@media (max-width: 720px) {
  .nav-toggle {
    display: inline-flex;
  }

  .nav-menu {
    display: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    padding: 0.35rem 0 0.15rem;
  }

  .nav.is-open .nav-menu {
    display: flex;
  }

  .nav-menu > a,
  .nav-menu > .nav-more,
  .nav-menu > .lang-switch {
    width: 100%;
  }

  .nav-menu > a,
  .nav-more > summary {
    display: block;
  }

  .nav-panel {
    position: static;
    min-width: 0;
    width: 100%;
    margin-top: 0.35rem;
    grid-template-columns: 1fr 1fr;
    max-height: 55vh;
  }

  .lang-switch {
    width: 100%;
    margin: 0.35rem 0 0;
    justify-content: stretch;
  }
  .lang-switch a {
    flex: 1;
  }

  .region-strip {
    gap: 0.4rem;
  }

  .form-row.two {
    grid-template-columns: 1fr;
  }

  .tool-grid {
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .hero {
    padding: 1.75rem 1.25rem 1.5rem;
  }

  .hero h1 {
    font-size: 1.85rem;
  }

  .card {
    padding: 1.35rem;
  }

  .header-inner {
    padding: 0.7rem 0 0.65rem;
    gap: 0.65rem 0.85rem;
    align-items: center;
  }

  .logo {
    font-size: 1.1rem;
  }

  .nav-toggle {
    min-height: 44px;
    height: 44px;
    padding: 0 1rem;
  }

  .btn,
  .actions .btn,
  .actions .btn-secondary {
    min-height: 44px;
    height: auto;
    padding: 0.75rem 1.15rem;
  }

  label {
    line-height: 1.5;
  }

  .kv-row {
    flex-wrap: wrap;
    gap: 0.25rem 0.85rem;
    padding: 0.65rem 0;
  }

  .kv-row span:last-child {
    min-width: 4.5rem;
  }
}

@media (max-width: 899px) {
  .ad-aside,
  .ad-aside.is-live,
  body[data-ads="on"] .ad-aside {
    display: none !important;
  }

  .ad-slot.banner.is-live,
  body[data-ads="on"] .ad-slot.banner {
    min-height: 72px;
    margin-top: 1rem;
  }

  .ad-slot.is-live,
  body[data-ads="on"] .ad-slot {
    min-height: 96px;
  }
}

@media (max-width: 400px) {
  .container {
    width: min(100% - 1rem, var(--max));
  }

  .card,
  .panel,
  .hero {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .nav-panel {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }

  .card:hover,
  .region-chip:hover {
    transform: none;
  }
}


.checkbox-label {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.65rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--body);
  cursor: pointer;
  font-weight: 400;
  padding: 0.55rem 0.45rem;
  margin: -0.15rem -0.25rem;
  border-radius: var(--radius-md);
  min-height: 44px;
  box-sizing: border-box;
  transition: background 0.15s ease;
}
.checkbox-label:hover {
  background: var(--surface-soft);
}
.checkbox-label input {
  width: 1.15rem;
  height: 1.15rem;
  min-height: 0;
  margin-top: 0.12rem;
  flex-shrink: 0;
  accent-color: var(--primary);
  cursor: pointer;
}


.field-affix {
  display: flex;
  align-items: stretch;
  width: 100%;
  min-height: var(--input-h);
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.field-affix:hover {
  border-color: var(--surface-cream-strong);
  background: var(--surface-soft);
}

.field-affix:focus-within {
  border-color: var(--primary);
  background: var(--canvas);
  box-shadow: var(--focus-ring);
}

.field-affix input[type="number"],
.field-affix input[type="text"] {
  border: 0;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  min-height: calc(var(--input-h) - 2px);
  height: auto;
  flex: 1 1 auto;
  width: 0;
}

.field-affix input:hover,
.field-affix input:focus,
.field-affix input:focus-visible {
  border: 0;
  box-shadow: none;
  background: transparent;
}

.field-affix .affix {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: 0 0.9rem;
  color: var(--muted);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-variant-numeric: tabular-nums;
  background: var(--surface-cream-strong);
  border-left: 1px solid var(--hairline);
}

@media (prefers-color-scheme: dark) {
  .field-affix {
    background: var(--surface-dark);
    border-color: var(--border);
  }
  .field-affix:hover {
    background: var(--surface-dark-soft);
    border-color: var(--border-strong);
  }
  .field-affix:focus-within {
    background: var(--surface-dark);
  }
  .field-affix .affix {
    background: var(--surface-dark-elevated);
    border-left-color: var(--border);
    color: var(--on-dark-soft);
  }
}

/* Result companion metrics under the main figure */
.result-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.7rem;
}

.result-metric {
  background: var(--surface-card);
  border-radius: 12px;
  padding: 0.85rem 1rem;
  min-width: 0;
}

.result-metric .metric-label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: var(--muted);
  line-height: 1.35;
}

.result-metric .metric-value {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.3;
  word-break: break-word;
}

.result-metric .metric-value small {
  font-family: var(--font);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-left: 0.28rem;
}

@media (max-width: 720px) {
  .result-metrics {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .result-metrics {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  .result-metric {
    background: var(--surface-dark-elevated);
  }
  .result-metric .metric-label {
    color: var(--on-dark-soft);
  }
  .result-metric .metric-value {
    color: var(--on-dark);
  }
  .result-metric .metric-value small {
    color: var(--on-dark-soft);
  }
}

/* Collapsible indication-rate editor */
details.adv-rates {
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-lg);
  padding: 0;
  margin: 0.1rem 0 0.15rem;
}

details.adv-rates > summary {
  list-style: none;
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 1rem;
  font-size: 0.9375rem;
  font-weight: 550;
  color: var(--ink);
  border-radius: calc(var(--radius-lg) - 1px);
}

details.adv-rates > summary::-webkit-details-marker {
  display: none;
}

details.adv-rates > summary::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-right: 2px solid var(--primary);
  border-bottom: 2px solid var(--primary);
  transform: rotate(-45deg);
  flex-shrink: 0;
  transition: transform 0.15s ease;
  margin-top: -0.12rem;
}

details.adv-rates[open] > summary::before {
  transform: rotate(45deg);
  margin-top: 0;
}

details.adv-rates > summary:focus {
  outline: none;
}

details.adv-rates > summary:focus-visible {
  box-shadow: var(--focus-ring);
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

details.adv-rates .adv-rates-body {
  display: grid;
  gap: 0.85rem;
  padding: 0 1rem 1rem;
}

@media (prefers-color-scheme: dark) {
  details.adv-rates {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
  }
  details.adv-rates > summary {
    color: var(--on-dark);
  }
}


/* Status badge inside the dark result card + calculation formula strip (2026-11-09) */
[hidden] {
  display: none !important;
}

.result-card .result-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0.6rem 0 0;
  padding: 0.28rem 0.7rem;
  border-radius: var(--radius-pill);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.3;
}

.result-card .result-badge::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: currentColor;
}

.result-card .result-badge.is-due {
  background: rgba(204, 120, 92, 0.18);
  color: #f0b59f;
}

.result-card .result-badge.is-exempt {
  background: rgba(93, 184, 166, 0.16);
  color: #8fd3c4;
}

.formula-line {
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  background: var(--surface-soft);
  border: 1px solid var(--hairline);
  border-left: 3px solid var(--primary);
  border-radius: var(--radius-md);
  /* Own color: must not inherit light text from always-dark result racks
     such as .my-share-rack { color:#f6f1ea }. Bare text would otherwise
     vanish on this light surface. */
  color: var(--body-strong);
}
.formula-line a {
  color: var(--primary-ink);
}
.formula-line strong {
  color: var(--body-strong);
  font-weight: 600;
}

.formula-line .formula-title {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.formula-line .formula-body {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.86rem;
  line-height: 1.7;
  color: var(--body-strong);
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.formula-line .formula-body strong {
  color: var(--primary-ink);
  font-weight: 600;
}

@media (max-width: 480px) {
  .formula-line .formula-body {
    font-size: 0.8rem;
  }
}

@media (prefers-color-scheme: dark) {
  .formula-line {
    background: var(--surface-dark-soft);
    border-color: var(--surface-dark-elevated);
    border-left-color: var(--primary);
    color: var(--on-dark);
  }
  .formula-line a {
    color: #f0b59f;
  }
  .formula-line strong {
    color: var(--on-dark);
  }
  .formula-line .formula-title {
    color: var(--on-dark-soft);
  }
  .formula-line .formula-body {
    color: var(--on-dark);
  }
  .formula-line .formula-body strong {
    color: #f0b59f;
  }
}


/* Holding-period rate ladder (SSD / reusable, 2026-11-09) */
.rate-ladder {
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  background: var(--surface-soft);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
}

.rate-ladder-title {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.rate-ladder-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: 0.5rem;
}

.rate-ladder-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 0.75rem;
  min-height: 44px;
  background: var(--bg);
  border: 1px solid var(--hairline);
  border-left: 3px solid transparent;
  border-radius: var(--radius-sm);
  font-variant-numeric: tabular-nums;
}

.rate-ladder-item .rl-band {
  font-size: 0.8rem;
  color: var(--body-strong);
  font-weight: 500;
}

.rate-ladder-item .rl-rate {
  font-family: var(--font-mono);
  font-size: 0.92rem;
  color: var(--primary-ink);
  font-weight: 600;
}

.rate-ladder-item.is-active {
  border-left-color: var(--primary);
  background: #f3ebe3;
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.18);
}

.rate-ladder-item.is-zero .rl-rate {
  color: var(--muted);
  font-weight: 500;
}

.rate-ladder-item.is-zero.is-active {
  background: #f4f1ea;
  border-left-color: #b5aea3;
}

@media (max-width: 480px) {
  .rate-ladder-list {
    grid-template-columns: 1fr;
  }
  .rate-ladder-item {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
  }
}

@media (prefers-color-scheme: dark) {
  .rate-ladder {
    background: var(--surface-dark-soft);
    border-color: var(--surface-dark-elevated);
  }
  .rate-ladder-title {
    color: var(--on-dark-soft);
  }
  .rate-ladder-item {
    background: var(--surface-dark);
    border-color: var(--surface-dark-elevated);
  }
  .rate-ladder-item .rl-band {
    color: var(--on-dark);
  }
  .rate-ladder-item .rl-rate {
    color: #f0b59f;
  }
  .rate-ladder-item.is-active {
    background: rgba(204, 120, 92, 0.14);
    box-shadow: none;
  }
  .rate-ladder-item.is-zero .rl-rate {
    color: var(--on-dark-soft);
  }
  .rate-ladder-item.is-zero.is-active {
    background: rgba(181, 174, 163, 0.12);
    border-left-color: #8a8378;
  }
}


/* Net-pay comparison strip (PCB / reusable, 2026-11-09) */
.pay-slip-bar {
  display: flex;
  gap: 0.55rem;
  margin-top: 0.95rem;
  padding: 0.55rem;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.pay-slip-seg {
  flex: 1;
  min-width: 0;
  padding: 0.7rem 0.85rem;
  border-radius: var(--radius-md);
}

.pay-slip-seg.is-gross {
  background: var(--surface-soft);
}

.pay-slip-seg.is-pcb {
  background: var(--primary-soft);
  box-shadow: inset 3px 0 0 var(--primary);
}

.pay-slip-seg.is-net {
  background: var(--surface-card);
}

.pay-slip-seg .ps-label {
  margin: 0 0 0.3rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.pay-slip-seg .ps-value {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 550;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.3;
  word-break: break-word;
}

.pay-slip-seg.is-pcb .ps-value {
  color: var(--primary-ink);
}

.pay-slip-seg .ps-value small {
  font-family: var(--font);
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-left: 0.22rem;
}

@media (max-width: 480px) {
  .pay-slip-bar {
    flex-direction: column;
  }
}

@media (prefers-color-scheme: dark) {
  .pay-slip-bar {
    background: var(--surface-dark);
    border-color: var(--surface-dark-elevated);
  }
  .pay-slip-seg.is-gross {
    background: var(--surface-dark-soft);
  }
  .pay-slip-seg.is-pcb {
    background: rgba(204, 120, 92, 0.16);
    box-shadow: inset 3px 0 0 var(--primary);
  }
  .pay-slip-seg.is-net {
    background: var(--surface-dark-elevated);
  }
  .pay-slip-seg .ps-label {
    color: var(--on-dark-soft);
  }
  .pay-slip-seg .ps-value {
    color: var(--on-dark);
  }
  .pay-slip-seg.is-pcb .ps-value {
    color: #f0b59f;
  }
  .pay-slip-seg .ps-value small {
    color: var(--on-dark-soft);
  }
}


/* PTKP status chips (reusable, 2026-11-09) */
.ptkp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.ptkp-chip {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.12rem;
  min-width: 5.8rem;
  min-height: 44px;
  padding: 0.5rem 0.7rem;
  margin: 0;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-left: 3px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  color: var(--body);
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.ptkp-chip:hover {
  background: var(--surface-soft);
}

.ptkp-chip:has(input:checked) {
  border-left-color: var(--primary);
  background: var(--primary-soft);
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.18);
}

.ptkp-chip:has(input:focus-visible) {
  box-shadow: var(--focus-ring);
}

.ptkp-chip input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ptkp-chip .ptkp-code {
  font-weight: 600;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.ptkp-chip:has(input:checked) .ptkp-code {
  color: var(--primary-ink);
}

.ptkp-chip .ptkp-meta {
  font-size: 0.7rem;
  line-height: 1.35;
  color: var(--muted);
  letter-spacing: 0.02em;
}

@media (max-width: 480px) {
  .ptkp-chip {
    flex: 1 1 calc(50% - 0.45rem);
    min-width: 0;
  }
}

@media (prefers-color-scheme: dark) {
  .ptkp-chip {
    background: var(--surface-dark);
    border-color: var(--surface-dark-elevated);
  }
  .ptkp-chip:hover {
    background: var(--surface-dark-soft);
  }
  .ptkp-chip:has(input:checked) {
    background: rgba(204, 120, 92, 0.14);
    box-shadow: none;
  }
  .ptkp-chip .ptkp-code {
    color: var(--on-dark);
  }
  .ptkp-chip:has(input:checked) .ptkp-code {
    color: #f0b59f;
  }
  .ptkp-chip .ptkp-meta {
    color: var(--on-dark-soft);
  }
}


/* Calculation path strip (reusable, 2026-11-09) */
.calc-flow {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
  list-style: none;
  margin: 0.95rem 0 0;
  padding: 0.55rem;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.calc-flow-step {
  position: relative;
  flex: 1;
  min-width: 0;
  padding: 0.7rem 0.85rem;
  background: var(--surface-soft);
  border-left: 3px solid transparent;
  border-radius: var(--radius-md);
}

.calc-flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -0.38rem;
  width: 0.32rem;
  height: 0.32rem;
  border-top: 2px solid var(--muted);
  border-right: 2px solid var(--muted);
  transform: translateY(-50%) rotate(45deg);
  opacity: 0.55;
}

.calc-flow-step.is-current,
.calc-flow-step.is-key {
  background: var(--primary-soft);
  border-left-color: var(--primary);
}

.calc-flow-step .cf-label {
  margin: 0 0 0.28rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.calc-flow-step .cf-value {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 550;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.35;
  word-break: break-word;
}

.calc-flow-step.is-current .cf-value,
.calc-flow-step.is-key .cf-value {
  color: var(--primary-ink);
}

@media (max-width: 480px) {
  .calc-flow {
    flex-direction: column;
  }
  .calc-flow-step:not(:last-child)::after {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -0.38rem;
    transform: translateX(-50%) rotate(135deg);
  }
}

@media (prefers-color-scheme: dark) {
  .calc-flow {
    background: var(--surface-dark);
    border-color: var(--surface-dark-elevated);
  }
  .calc-flow-step {
    background: var(--surface-dark-soft);
  }
  .calc-flow-step.is-current,
  .calc-flow-step.is-key {
    background: rgba(204, 120, 92, 0.16);
  }
  .calc-flow-step .cf-label {
    color: var(--on-dark-soft);
  }
  .calc-flow-step .cf-value {
    color: var(--on-dark);
  }
  .calc-flow-step.is-current .cf-value,
  .calc-flow-step.is-key .cf-value {
    color: #f0b59f;
  }
}


/* Semantic alias of .pay-slip-seg.is-pcb */
.pay-slip-seg.is-tax {
  background: var(--primary-soft);
  box-shadow: inset 3px 0 0 var(--primary);
}

.pay-slip-seg.is-tax .ps-value {
  color: var(--primary-ink);
}

@media (prefers-color-scheme: dark) {
  .pay-slip-seg.is-tax {
    background: rgba(204, 120, 92, 0.16);
    box-shadow: inset 3px 0 0 var(--primary);
  }
  .pay-slip-seg.is-tax .ps-value {
    color: #f0b59f;
  }
}


/* Country index cards (SEA hub + similar) — cream chips, clear hierarchy */
.country-index {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
  margin: 0.35rem 0 0;
}

@media (min-width: 560px) {
  .country-index {
    grid-template-columns: 1fr;
  }
}

.country-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--hairline);
  background: var(--surface-card);
  color: var(--ink);
  text-decoration: none;
  transition: border-color 0.15s ease, background 0.15s ease, transform 0.15s ease;
}

.country-card:hover {
  border-color: var(--primary);
  background: #efe9de;
  color: var(--ink);
  text-decoration: none;
}

.country-flag {
  font-size: 1.75rem;
  line-height: 1;
  flex: 0 0 auto;
}

.country-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
  flex: 1 1 auto;
}

.country-body strong {
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.country-meta {
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.35;
}

.country-cta {
  flex: 0 0 auto;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--primary-ink);
  padding: 0.35rem 0.7rem;
  border-radius: var(--radius-pill);
  background: var(--primary-soft);
}

@media (prefers-color-scheme: dark) {
  .country-card {
    background: var(--surface-dark-soft);
    border-color: var(--border);
    color: var(--on-dark);
  }
  .country-card:hover {
    background: var(--surface-dark-elevated);
    border-color: var(--primary);
  }
  .country-meta { color: var(--muted-on-dark, #b9b1a6); }
}


/* Two-column tax comparison (reusable, 2026-11-09) */
.tax-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 0.95rem 0 0;
}

.tax-compare-card {
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-left: 3px solid transparent;
  border-radius: var(--radius-lg);
  padding: 1rem 1.1rem 1.05rem;
  min-width: 0;
}

.tax-compare-card.is-better {
  border-left-color: var(--primary);
  background: var(--primary-soft);
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.18);
}

.tax-compare-card .tc-label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--muted);
  line-height: 1.35;
}

.tax-compare-card .tc-value {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 550;
  letter-spacing: -0.03em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.25;
  word-break: break-word;
}

.tax-compare-card.is-better .tc-value {
  color: var(--primary-ink);
}

.tax-compare-card .tc-value small {
  font-family: var(--font);
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-left: 0.28rem;
}

.tax-compare-card .tc-tag {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--primary-ink);
}

.tax-compare-note {
  margin: 0.55rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.45;
}

@media (max-width: 640px) {
  .tax-compare {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  .tax-compare-card {
    background: var(--surface-dark);
    border-color: var(--surface-dark-elevated);
  }
  .tax-compare-card.is-better {
    background: rgba(204, 120, 92, 0.14);
    box-shadow: none;
  }
  .tax-compare-card .tc-label {
    color: var(--on-dark-soft);
  }
  .tax-compare-card .tc-value {
    color: var(--on-dark);
  }
  .tax-compare-card.is-better .tc-value {
    color: #f0b59f;
  }
  .tax-compare-card .tc-value small {
    color: var(--on-dark-soft);
  }
  .tax-compare-card .tc-tag {
    color: #f0b59f;
  }
  .tax-compare-note {
    color: var(--on-dark-soft);
  }
}

/* ---------- 构成堆叠条 .stack-bar（基本所得额构成 + 免税额刻度） ---------- */
.stack-bar {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.9rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.stack-bar-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.7rem;
}

.stack-bar-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.stack-bar-total {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.stack-bar-total strong {
  color: var(--ink);
  font-weight: 600;
}

.sb-wrap {
  position: relative;
  padding-top: 1.35rem;
}

.sb-track {
  display: flex;
  width: 100%;
  height: 14px;
  overflow: hidden;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-pill);
}

.sb-seg {
  height: 100%;
  min-width: 2px;
}

.sb-seg + .sb-seg {
  border-left: 2px solid var(--canvas);
}

.sb-tone-1 { background: var(--primary); }
.sb-tone-2 { background: var(--accent-amber); }
.sb-tone-3 { background: var(--accent-teal); }
.sb-tone-4 { background: #9b8f7e; }
.sb-tone-5 { background: #d9b8a6; }
.sb-tone-6 { background: #6c6a64; }
.sb-tone-7 { background: #b9c8bf; }

.sb-marker {
  position: absolute;
  top: 0;
  bottom: -4px;
  width: 0;
  border-left: 2px dashed var(--ink);
  transform: translateX(-1px);
  pointer-events: none;
}

.sb-marker-label {
  position: absolute;
  top: 0;
  left: 6px;
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--body-strong);
  line-height: 1;
}

.sb-marker.is-right .sb-marker-label {
  left: auto;
  right: 6px;
}

.sb-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem 1rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.sb-legend li {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  font-size: 0.82rem;
  color: var(--body);
  line-height: 1.35;
}

.sb-legend .sb-swatch {
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 3px;
}

.sb-legend .sb-name {
  flex: 1 1 auto;
  min-width: 0;
}

.sb-legend .sb-amt {
  flex: none;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--ink);
  font-weight: 550;
}

.sb-legend li.is-excluded {
  color: var(--muted-soft);
}

.sb-legend li.is-excluded .sb-swatch {
  background: transparent !important;
  border: 1px dashed var(--muted-soft);
}

.sb-legend li.is-excluded .sb-amt {
  color: var(--muted-soft);
  font-weight: 500;
  text-decoration: line-through;
}

.stack-bar-note {
  margin: 0.7rem 0 0;
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.45;
}

/* 对照卡「适用」态：与 .is-better 同语言，语义为本页采用的那一侧 */
.tax-compare-card.is-applied {
  border-left-color: var(--primary);
  background: var(--primary-soft);
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.18);
}

.tax-compare-card.is-applied .tc-value,
.tax-compare-card.is-applied .tc-tag {
  color: var(--primary-ink);
}

@media (max-width: 640px) {
  .sb-legend {
    grid-template-columns: 1fr;
  }
  .stack-bar {
    padding: 0.85rem 0.85rem 0.8rem;
  }
}

@media (prefers-color-scheme: dark) {
  .stack-bar {
    background: var(--surface-dark-elevated);
    border-color: var(--surface-dark-elevated);
  }
  .stack-bar-title,
  .stack-bar-total strong,
  .sb-legend .sb-amt {
    color: var(--on-dark);
  }
  .stack-bar-total,
  .stack-bar-note {
    color: var(--on-dark-soft);
  }
  .sb-track {
    background: var(--surface-dark);
    border-color: #2e2c28;
  }
  .sb-seg + .sb-seg {
    border-left-color: var(--surface-dark);
  }
  .sb-marker {
    border-left-color: var(--on-dark);
  }
  .sb-marker-label {
    color: var(--on-dark);
  }
  .sb-legend li {
    color: #c8c5bc;
  }
  .tax-compare-card.is-applied {
    background: rgba(204, 120, 92, 0.14);
    box-shadow: none;
  }
  .tax-compare-card.is-applied .tc-value,
  .tax-compare-card.is-applied .tc-tag {
    color: #f0b59f;
  }
}

/* ---------- 雇员／雇主分担条 .share-split（菲律宾薪资等法定缴费对照） ---------- */
.share-split {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.9rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-xl);
  box-shadow: none;
}

.share-split-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.7rem;
}

.share-split-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.share-split-total {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.share-split-total strong {
  color: var(--ink);
  font-weight: 600;
}

.share-split-track {
  display: flex;
  width: 100%;
  height: 12px;
  overflow: hidden;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
}

.share-split-seg {
  height: 100%;
  min-width: 0;
}

.share-split-seg.is-ee {
  background: var(--primary);
}

.share-split-seg.is-er {
  background: var(--accent-teal);
}

.share-split-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1.25rem;
  margin: 0.9rem 0 0;
}

.share-split-col {
  min-width: 0;
}

.share-split-col .ss-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--muted);
}

.share-split-col.is-ee .ss-kicker::before,
.share-split-col.is-er .ss-kicker::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 0.35rem;
  vertical-align: 0.05em;
}

.share-split-col.is-ee .ss-kicker::before {
  background: var(--primary);
}

.share-split-col.is-er .ss-kicker::before {
  background: var(--accent-teal);
}

.share-split-col .ss-amt {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 550;
  letter-spacing: -0.02em;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.25;
}

.share-split-col .ss-amt small {
  font-family: var(--font);
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-left: 0.22rem;
}

.share-split-col .ss-share {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.share-split-rows {
  margin: 0.85rem 0 0;
  padding: 0.55rem 0 0;
  border-top: 1px solid var(--hairline);
  list-style: none;
}

.share-split-row {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.35rem 0.75rem;
  align-items: baseline;
  padding: 0.32rem 0;
  font-size: 0.82rem;
  color: var(--body);
  font-variant-numeric: tabular-nums lining-nums;
}

.share-split-row .ss-name {
  font-weight: 550;
  color: var(--ink);
  min-width: 0;
}

.share-split-row .ss-name small {
  display: block;
  font-weight: 500;
  font-size: 0.72rem;
  color: var(--muted);
  margin-top: 0.1rem;
}

.share-split-row .ss-ee,
.share-split-row .ss-er {
  text-align: right;
  min-width: 0;
}

.share-split-row .ss-side-label {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--muted);
  margin-bottom: 0.08rem;
}

.pay-slip-seg.is-stat {
  background: var(--accent-soft);
}

.card.is-slim {
  padding: 1.15rem 1.2rem 1.1rem;
  gap: 0.45rem;
}

.card.is-slim h2 {
  font-size: 1.05rem;
}

.card.is-slim p {
  font-size: 0.88rem;
  margin: 0;
}

.country-card.is-shell .country-cta {
  background: var(--surface-soft);
  color: var(--body-strong);
}

@media (max-width: 640px) {
  .share-split {
    padding: 0.85rem 0.85rem 0.8rem;
  }
  .share-split-cols {
    grid-template-columns: 1fr;
  }
  .share-split-row {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "name name"
      "ee er";
  }
  .share-split-row .ss-name { grid-area: name; }
  .share-split-row .ss-ee { grid-area: ee; text-align: left; }
  .share-split-row .ss-er { grid-area: er; }
}

@media (prefers-color-scheme: dark) {
  .share-split {
    background: var(--surface-dark-elevated);
    border-color: var(--surface-dark-elevated);
  }
  .share-split-title,
  .share-split-total strong,
  .share-split-col .ss-amt,
  .share-split-row .ss-name {
    color: var(--on-dark);
  }
  .share-split-total,
  .share-split-col .ss-kicker,
  .share-split-col .ss-share,
  .share-split-col .ss-amt small,
  .share-split-row,
  .share-split-row .ss-name small,
  .share-split-row .ss-side-label {
    color: var(--on-dark-soft);
  }
  .share-split-track {
    background: var(--surface-dark);
    border-color: #2e2c28;
  }
  .share-split-rows {
    border-top-color: #2e2c28;
  }
  .pay-slip-seg.is-stat {
    background: rgba(93, 184, 166, 0.14);
  }
  .country-card.is-shell .country-cta {
    background: var(--surface-dark-soft);
    color: var(--on-dark);
  }
}

/* ---------- 累进级距填充表 .bracket-fill（泰国个税等：每档已用多少、该档税额） ---------- */
.bracket-fill {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.85rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-xl);
  box-shadow: none;
  container-type: inline-size;
}

.bracket-fill-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.65rem;
}

.bracket-fill-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.bracket-fill-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.bracket-fill-sub strong {
  color: var(--ink);
  font-weight: 600;
}

.bracket-fill-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.bracket-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "range tax"
    "bar rate";
  row-gap: 0.35rem;
  align-items: center;
  gap: 0.6rem;
  padding: 0.45rem 0.6rem;
  border-radius: var(--radius-md);
  border-left: 3px solid transparent;
  font-size: 0.85rem;
  color: var(--body);
  font-variant-numeric: tabular-nums lining-nums;
}

.bracket-row .br-range {
  min-width: 0;
  color: var(--body-strong);
}

.bracket-row .br-rate {
  justify-self: start;
  padding: 0.1rem 0.45rem;
  border-radius: var(--radius-sm);
  background: var(--canvas);
  border: 1px solid var(--hairline);
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--body-strong);
}

.bracket-row .br-bar {
  position: relative;
  height: 8px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.bracket-row .br-bar > span {
  position: absolute;
  inset: 0 auto 0 0;
  background: var(--primary);
  border-radius: inherit;
}

.bracket-row.is-full .br-bar > span {
  background: var(--accent-teal);
}

.bracket-row .br-tax {
  text-align: right;
  color: var(--ink);
  font-weight: 550;
}

.bracket-row .br-tax small {
  display: block;
  font-weight: 400;
  font-size: 0.72rem;
  color: var(--muted);
}

.bracket-row.is-current {
  background: var(--canvas);
  border-left-color: var(--primary);
}

.bracket-row.is-current .br-rate {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--on-primary);
}

.bracket-row.is-unused {
  opacity: 0.5;
}

.bracket-fill-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin: 0.65rem 0 0;
  font-size: 0.75rem;
  color: var(--muted);
}

.bracket-fill-legend span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 0.35rem;
  vertical-align: 0.05em;
  background: var(--accent-teal);
}

.bracket-fill-legend span.is-partial::before {
  background: var(--primary);
}

.bracket-row .br-range { grid-area: range; }
.bracket-row .br-tax { grid-area: tax; }
.bracket-row .br-bar { grid-area: bar; }
.bracket-row .br-rate { grid-area: rate; justify-self: end; }

/* 结果卡够宽时改为单行四栏：级距｜税率｜填充条｜税额 */
@container (min-width: 30rem) {
  .bracket-row {
    grid-template-columns: minmax(8.5rem, 1.1fr) 3.2rem minmax(4rem, 1.6fr) minmax(5rem, auto);
    grid-template-areas: "range rate bar tax";
  }
  .bracket-row .br-rate { justify-self: start; }
}

@media (max-width: 640px) {
  .bracket-fill {
    padding: 0.85rem 0.75rem 0.8rem;
  }
}

@media (prefers-color-scheme: dark) {
  .bracket-fill {
    background: var(--surface-dark-elevated);
    border-color: var(--surface-dark-elevated);
  }
  .bracket-fill-title,
  .bracket-fill-sub strong,
  .bracket-row .br-range,
  .bracket-row .br-tax {
    color: var(--on-dark);
  }
  .bracket-fill-sub,
  .bracket-row,
  .bracket-row .br-tax small,
  .bracket-fill-legend {
    color: var(--on-dark-soft);
  }
  .bracket-row .br-rate,
  .bracket-row .br-bar {
    background: var(--surface-dark);
    border-color: #2e2c28;
    color: var(--on-dark);
  }
  .bracket-row.is-current {
    background: var(--surface-dark-soft);
  }
  .bracket-row.is-current .br-rate {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
  }
}


/* ---------- 应税所得拆分条 .gross-flow（越南个税等：月薪如何扣成应税所得） ---------- */
.gross-flow {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.85rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-xl);
  box-shadow: none;
  container-type: inline-size;
}

.gross-flow-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.65rem;
}

.gross-flow-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.gross-flow-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.gross-flow-sub strong {
  color: var(--ink);
  font-weight: 600;
}

.gross-flow-track {
  display: flex;
  height: 18px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.gross-flow-seg {
  display: block;
  min-width: 0;
  height: 100%;
}

.gross-flow-seg.is-si { background: var(--accent-teal); }
.gross-flow-seg.is-personal { background: #d4c4a8; }
.gross-flow-seg.is-depend { background: #e6d5b4; }
.gross-flow-seg.is-taxable { background: var(--primary); }

.gross-flow-legend {
  list-style: none;
  margin: 0.7rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.4rem 0.85rem;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--body);
}

.gross-flow-legend li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  min-width: 0;
}

.gross-flow-legend .gf-name {
  min-width: 0;
}

.gross-flow-legend .gf-name::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 0.35rem;
  vertical-align: 0.05em;
  background: var(--muted);
}

.gross-flow-legend .is-si .gf-name::before { background: var(--accent-teal); }
.gross-flow-legend .is-personal .gf-name::before { background: #d4c4a8; }
.gross-flow-legend .is-depend .gf-name::before { background: #e6d5b4; }
.gross-flow-legend .is-taxable .gf-name::before { background: var(--primary); }

.gross-flow-legend .gf-amt {
  text-align: right;
  font-weight: 550;
  color: var(--ink);
  font-variant-numeric: tabular-nums lining-nums;
}

.gross-flow-legend .gf-amt small {
  display: block;
  font-weight: 400;
  font-size: 0.72rem;
  color: var(--muted);
}

.gross-flow-note {
  margin: 0.55rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
}

@container (min-width: 30rem) {
  .gross-flow-legend {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gross-flow {
    padding: 0.85rem 0.75rem 0.8rem;
  }
}

@media (prefers-color-scheme: dark) {
  .gross-flow {
    background: var(--surface-dark-elevated);
    border-color: var(--surface-dark-elevated);
  }
  .gross-flow-title,
  .gross-flow-sub strong,
  .gross-flow-legend .gf-amt {
    color: var(--on-dark);
  }
  .gross-flow-sub,
  .gross-flow-legend,
  .gross-flow-legend .gf-amt small,
  .gross-flow-note {
    color: var(--on-dark-soft);
  }
  .gross-flow-track {
    background: var(--surface-dark);
    border-color: #2e2c28;
  }
  .gross-flow-seg.is-personal { background: #8a7860; }
  .gross-flow-seg.is-depend { background: #a38d6a; }
  .gross-flow-legend .is-personal .gf-name::before { background: #8a7860; }
  .gross-flow-legend .is-depend .gf-name::before { background: #a38d6a; }
}


/* ---------- 保费险种分摊 .ins-fund-stack（越南等：BHXH／BHYT／BHTN 雇员与雇主双色条） ---------- */
.ins-fund-stack {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.9rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-xl);
  box-shadow: none;
  container-type: inline-size;
}

.ins-fund-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.7rem;
}

.ins-fund-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 500;
  color: var(--ink);
}

.ins-fund-sub {
  margin: 0;
  font-size: 0.82rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.ins-fund-sub strong {
  color: var(--ink);
  font-weight: 600;
}

.ins-fund-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.ins-fund-row {
  display: grid;
  grid-template-columns: minmax(0, 6.4rem) minmax(0, 1fr);
  grid-template-areas:
    "name amounts"
    "bar bar";
  gap: 0.28rem 0.8rem;
  align-items: center;
  min-width: 0;
}

.ins-fund-name {
  grid-area: name;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.45rem;
  min-width: 0;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ink);
}

.ins-fund-name small {
  font-family: var(--font-sans, inherit);
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--muted);
}

.ins-fund-cap {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--primary-ink, var(--primary));
  background: var(--primary-soft, rgba(204, 120, 92, 0.14));
  border-radius: 999px;
  padding: 0.05rem 0.4rem;
}

.ins-fund-amts {
  grid-area: amounts;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.2rem 0.85rem;
  min-width: 0;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--body);
}

.ins-fund-amts .is-ee,
.ins-fund-amts .is-er {
  display: inline-flex;
  align-items: baseline;
  gap: 0.28rem;
  white-space: nowrap;
}

.ins-fund-amts .ifs-side {
  font-size: 0.7rem;
  color: var(--muted);
}

.ins-fund-amts .is-ee .ifs-amt { color: var(--primary-ink, var(--primary)); font-weight: 600; }
.ins-fund-amts .is-er .ifs-amt { color: var(--ink); font-weight: 600; }

.ins-fund-bar {
  grid-area: bar;
  display: flex;
  height: 10px;
  overflow: hidden;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  min-width: 0;
}

.ins-fund-bar > span {
  display: block;
  height: 100%;
  min-width: 0;
}

.ins-fund-bar .is-ee { background: var(--primary); }
.ins-fund-bar .is-er { background: var(--accent-teal); }

.ins-fund-row.is-idle {
  opacity: 0.62;
}

.ins-fund-scale {
  margin: 0.85rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid var(--hairline);
}

.ins-fund-scale-title {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  color: var(--muted);
}

.ins-fund-scale-track {
  position: relative;
  height: 8px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: 999px;
}

.ins-fund-scale-fill {
  display: block;
  height: 100%;
  background: var(--primary);
  border-radius: 999px;
  max-width: 100%;
}

.ins-fund-scale-mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 14px;
  background: var(--accent-teal);
  border-radius: 1px;
  transform: translateX(-1px);
}

.ins-fund-scale-mark.is-bhtn { background: var(--ink); opacity: 0.45; }

.ins-fund-scale-legend {
  list-style: none;
  margin: 0.45rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.9rem;
  font-size: 0.75rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.ins-fund-scale-legend .is-wage::before,
.ins-fund-scale-legend .is-bhxh::before,
.ins-fund-scale-legend .is-bhtn::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  margin-right: 0.3rem;
  vertical-align: 0.05em;
}

.ins-fund-scale-legend .is-wage::before { background: var(--primary); }
.ins-fund-scale-legend .is-bhxh::before { background: var(--accent-teal); }
.ins-fund-scale-legend .is-bhtn::before { background: var(--ink); opacity: 0.45; }

.gross-flow-seg.is-other { background: #c4a882; }
.gross-flow-legend .is-other .gf-name::before { background: #c4a882; }

@container (min-width: 30rem) {
  .ins-fund-row {
    grid-template-columns: minmax(7.2rem, 0.7fr) minmax(0, 1.1fr) minmax(6.5rem, 1fr);
    grid-template-areas: "name bar amounts";
    gap: 0.35rem 0.85rem;
  }
  .ins-fund-bar { height: 12px; }
}

@media (max-width: 640px) {
  .ins-fund-stack {
    padding: 0.85rem 0.75rem 0.8rem;
  }
}

@media (prefers-color-scheme: dark) {
  .ins-fund-stack {
    background: var(--surface-dark-elevated);
    border-color: var(--surface-dark-elevated);
  }
  .ins-fund-title,
  .ins-fund-sub strong,
  .ins-fund-name,
  .ins-fund-amts .is-er .ifs-amt {
    color: var(--on-dark);
  }
  .ins-fund-sub,
  .ins-fund-name small,
  .ins-fund-amts,
  .ins-fund-amts .ifs-side,
  .ins-fund-scale-title,
  .ins-fund-scale-legend {
    color: var(--on-dark-soft);
  }
  .ins-fund-cap {
    background: rgba(204, 120, 92, 0.22);
    color: #e7b09a;
  }
  .ins-fund-bar,
  .ins-fund-scale-track {
    background: var(--surface-dark);
    border-color: #2e2c28;
  }
  .ins-fund-scale {
    border-top-color: #2e2c28;
  }
  .ins-fund-scale-mark.is-bhtn {
    background: var(--on-dark);
    opacity: 0.55;
  }
  .ins-fund-scale-legend .is-bhtn::before {
    background: var(--on-dark);
    opacity: 0.55;
  }
  .gross-flow-seg.is-other { background: #a88b62; }
  .gross-flow-legend .is-other .gf-name::before { background: #a88b62; }
}


/* ---------- 页内语种条 .page-langs（简／繁／BM 并存页） ---------- */
.page-langs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.55rem 0 0;
}

.page-langs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0.15rem 0.8rem;
  border-radius: var(--radius-pill);
  border: 1px solid var(--hairline);
  background: var(--surface-card);
  color: var(--muted);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1;
  box-shadow: none;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.page-langs a:hover {
  color: var(--primary-ink);
  background: var(--surface-soft);
  text-decoration: none;
}

.page-langs a[aria-current="true"] {
  color: var(--on-primary);
  background: var(--primary);
  border-color: transparent;
  font-weight: 600;
}

.page-langs a:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (prefers-color-scheme: dark) {
  .page-langs a {
    background: var(--surface-dark);
    border-color: var(--border);
  }
  .page-langs a[aria-current="true"] {
    color: var(--on-primary);
    background: var(--primary);
    border-color: transparent;
  }
  .page-langs a:hover:not([aria-current="true"]) {
    background: var(--surface-dark-elevated);
    color: var(--primary-ink);
  }
}


/* ---------- 供款对照板 .levy-board（SOCSO／EIS 等：险种分行 + 雇员／雇主分担） ---------- */
.levy-board {
  margin: 1rem 0 0;
  padding: 1.05rem 1.1rem 1rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-xl);
  box-shadow: none;
}

.levy-board-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.75rem;
  margin: 0 0 0.85rem;
}

.levy-board-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--on-dark);
}

.levy-board-total {
  margin: 0;
  font-size: 0.82rem;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.levy-board-total strong {
  color: var(--on-dark);
  font-weight: 600;
}

.levy-board-total small {
  font-weight: 400;
  color: var(--on-dark-soft);
}

.levy-row {
  margin: 0 0 0.75rem;
  padding: 0.7rem 0.75rem 0.65rem;
  background: var(--surface-dark-elevated);
  border-radius: var(--radius-lg);
}

.levy-row-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.2rem 0.75rem;
  margin: 0 0 0.45rem;
}

.levy-name {
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--on-dark);
}

.levy-rates {
  font-size: 0.75rem;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.levy-row-bar {
  display: flex;
  height: 10px;
  overflow: hidden;
  background: var(--surface-dark);
  border-radius: 999px;
  min-width: 0;
}

.levy-row-bar > span {
  display: block;
  height: 100%;
  min-width: 0;
}

.levy-row-bar .is-ee { background: var(--primary); }
.levy-row-bar .is-er { background: var(--accent-teal); }

.levy-row-amts {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.25rem 1rem;
  margin: 0.45rem 0 0;
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
}

.levy-row-amts .is-ee,
.levy-row-amts .is-er {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
}

.levy-side {
  font-size: 0.72rem;
  color: var(--on-dark-soft);
}

.levy-row-amts .is-ee .levy-amt { color: #e7b09a; font-weight: 600; }
.levy-row-amts .is-er .levy-amt { color: var(--on-dark); font-weight: 600; }

.levy-board-skip {
  margin: 0 0 0.65rem;
  font-size: 0.8rem;
  color: var(--on-dark-soft);
}

.levy-board .threshold-track {
  margin: 0.85rem 0 0;
  padding-top: 0.75rem;
  border-top: 1px solid #2e2c28;
}

/* ---------- 门槛／顶限轨道 .threshold-track（首套全免、工资封顶） ---------- */
.threshold-track {
  margin: 1rem 0 0;
}

.threshold-track-title {
  margin: 0 0 0.4rem;
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 500;
  color: inherit;
}

.threshold-track-bar {
  position: relative;
  height: 10px;
  background: var(--canvas);
  border: 1px solid var(--hairline);
  border-radius: 999px;
  overflow: hidden;
}

.levy-board .threshold-track-bar {
  background: var(--surface-dark);
  border-color: #2e2c28;
}

.threshold-fill {
  display: block;
  height: 100%;
  background: var(--primary);
  border-radius: 999px;
  max-width: 100%;
}

.threshold-track.is-applied .threshold-fill {
  background: var(--accent-teal);
}

.threshold-track.is-over .threshold-fill {
  background: var(--primary);
}

.threshold-mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 16px;
  background: var(--accent-teal);
  border-radius: 1px;
  transform: translateX(-1px);
}

.threshold-track.is-over .threshold-mark {
  background: var(--ink);
  opacity: 0.55;
}

.levy-board .threshold-mark {
  background: var(--accent-teal);
}

.levy-board .threshold-track.is-over .threshold-mark {
  background: var(--on-dark);
  opacity: 0.7;
}

.threshold-track-legend {
  margin: 0.4rem 0 0;
  font-size: 0.75rem;
  color: var(--muted);
  font-variant-numeric: tabular-nums lining-nums;
}

.levy-board .threshold-track-legend {
  color: var(--on-dark-soft);
}

.levy-board .threshold-track-title {
  color: var(--on-dark);
}

@media (max-width: 640px) {
  .levy-board {
    padding: 0.9rem 0.8rem 0.85rem;
  }
}

@media (prefers-color-scheme: dark) {
  .threshold-track-bar {
    background: var(--surface-dark);
    border-color: #2e2c28;
  }
  .threshold-track-legend {
    color: var(--on-dark-soft);
  }
  .threshold-track.is-over .threshold-mark {
    background: var(--on-dark);
  }
}

/* ---------- 第13薪／其他福利免税桶 .exempt-bucket ---------- */
.exempt-bucket {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.95rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-lg);
}

.exempt-bucket-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0 0 0.65rem;
}

.exempt-bucket-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 500;
  color: var(--on-dark);
}

.exempt-bucket-cap {
  margin: 0;
  font-size: 0.8rem;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
  white-space: nowrap;
}

.exempt-bucket-cap strong {
  color: var(--on-dark);
  font-weight: 600;
}

.exempt-tank {
  display: flex;
  height: 28px;
  background: #2e2c28;
  border: 1px solid #3a3833;
  border-radius: 8px;
  overflow: hidden;
}

.exempt-seg {
  display: block;
  height: 100%;
  min-width: 0;
}

.exempt-seg.is-13th { background: var(--primary); }
.exempt-seg.is-other { background: var(--accent-amber); }
.exempt-seg.is-room { background: #3a3833; }

.exempt-bucket-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin: 0.75rem 0 0;
}

.exempt-col .ex-kicker {
  margin: 0;
  font-size: 0.72rem;
  color: var(--on-dark-soft);
}

.exempt-col .ex-amt {
  margin: 0.15rem 0 0;
  font-size: 0.98rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.exempt-col .ex-amt small {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.exempt-col.is-13th .ex-amt { color: #e7b09a; }
.exempt-col.is-other .ex-amt { color: #f0c48a; }

.exempt-bucket-note,
.exempt-spill-note {
  margin: 0.7rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--on-dark-soft);
}

.exempt-spill {
  margin: 0.8rem 0 0;
  padding: 0.7rem 0.75rem 0.65rem;
  background: var(--surface-dark-elevated);
  border-left: 3px solid var(--primary);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.exempt-spill-label {
  margin: 0;
  font-size: 0.72rem;
  color: var(--on-dark-soft);
}

.exempt-spill-amt {
  margin: 0.15rem 0 0;
  font-size: 1.1rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: #e7b09a;
}

.exempt-spill-amt small {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.exempt-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin: 0.7rem 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.72rem;
  color: var(--on-dark-soft);
}

.exempt-legend li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.exempt-legend li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #3a3833;
}

.exempt-legend li.is-13th::before { background: var(--primary); }
.exempt-legend li.is-other::before { background: var(--accent-amber); }
.exempt-legend li.is-room::before { background: #5a5852; }

/* ---------- 年税与月扣对照 .trueup-strip ---------- */
.trueup-strip {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.9rem;
  background: var(--surface-card);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-lg);
}

.trueup-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 500;
  color: var(--ink);
}

.trueup-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.trueup-col .tu-kicker {
  margin: 0;
  font-size: 0.75rem;
  color: var(--muted);
}

.trueup-col .tu-amt {
  margin: 0.15rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--ink);
}

.trueup-col .tu-amt small {
  font-size: 0.72rem;
  font-weight: 500;
  color: var(--muted);
}

.trueup-delta {
  margin: 0.7rem 0 0;
  padding: 0.4rem 0.65rem;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
}

.trueup-delta.is-even {
  background: var(--accent-soft);
  color: #2a6b5f;
}

.trueup-delta.is-due {
  background: var(--primary-soft);
  color: var(--primary-ink);
}

.trueup-delta.is-refund {
  background: var(--accent-soft);
  color: #2a6b5f;
}

.trueup-hint {
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--muted);
}

@media (max-width: 640px) {
  .exempt-bucket,
  .trueup-strip {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .exempt-bucket-head,
  .exempt-bucket-cols,
  .trueup-cols {
    grid-template-columns: 1fr;
  }
  .exempt-bucket-head {
    display: grid;
    gap: 0.2rem;
  }
  .exempt-tank {
    height: 22px;
  }
}

@media (prefers-color-scheme: dark) {
  .trueup-strip {
    background: var(--surface-dark-elevated);
    border-color: #2e2c28;
  }
  .trueup-title,
  .trueup-col .tu-amt {
    color: var(--on-dark);
  }
  .trueup-col .tu-kicker,
  .trueup-hint,
  .trueup-col .tu-amt small {
    color: var(--on-dark-soft);
  }
}

/* 泰国 PVD 税务优惠阶梯 .relief-ladder（20261110h） */
.relief-ladder {
  container-type: inline-size;
  margin: 1rem 0 0;
  padding: 1rem 1.05rem 0.95rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-xl);
  border: 1px solid #2e2c28;
}

.relief-ladder-head {
  display: flex;
  justify-content: space-between;
  gap: 0.85rem;
  align-items: baseline;
}

.relief-ladder-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--on-dark);
}

.relief-ladder-sub {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--on-dark-soft);
  text-align: right;
}

.relief-ladder-sub strong {
  color: var(--on-dark);
  font-variant-numeric: tabular-nums lining-nums;
}

.relief-steps {
  list-style: none;
  margin: 0.9rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.relief-step-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.3rem;
}

.relief-step-name {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--on-dark);
}

.relief-step-amt {
  font-size: 0.78rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark-soft);
}

.relief-step-bar {
  height: 10px;
  border-radius: 999px;
  background: #2e2c28;
  overflow: hidden;
  display: flex;
}

.relief-step-bar span {
  display: block;
  height: 100%;
  min-width: 0;
}

.relief-step-bar .is-deduct {
  background: var(--primary);
}

.relief-step-bar .is-exempt {
  background: var(--accent-teal);
}

.relief-step.is-full .relief-step-name,
.relief-step.is-current .relief-step-name {
  color: var(--on-dark);
}

.relief-step.is-current {
  padding-left: 0.55rem;
  border-left: 3px solid var(--primary);
}

.relief-step-note {
  margin: 0.3rem 0 0;
  font-size: 0.72rem;
  line-height: 1.45;
  color: var(--on-dark-soft);
}

.relief-caps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin-top: 0.95rem;
}

.relief-cap {
  padding: 0.65rem 0.75rem 0.7rem;
  background: var(--surface-dark-elevated);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
}

.relief-cap.is-binding {
  border-color: var(--primary);
}

.relief-cap-name {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--on-dark-soft);
}

.relief-cap-val {
  margin: 0.2rem 0 0;
  font-size: 1.02rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.relief-cap-bar {
  margin-top: 0.45rem;
  height: 8px;
  border-radius: 999px;
  background: #2e2c28;
  overflow: hidden;
  display: flex;
}

.relief-cap-bar span {
  display: block;
  height: 100%;
  background: var(--primary);
}

.relief-cap-bar .is-other {
  background: #c4a882;
}

.relief-cap-bar .is-pvd {
  background: var(--primary);
}

.relief-cap-note {
  margin: 0.35rem 0 0;
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.relief-bind {
  margin: 0.75rem 0 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--on-dark);
}

@container (max-width: 30rem) {
  .relief-ladder-head,
  .relief-caps {
    grid-template-columns: 1fr;
    display: grid;
    text-align: left;
  }
  .relief-ladder-sub {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .relief-ladder {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .relief-ladder-head,
  .relief-caps {
    grid-template-columns: 1fr;
    display: grid;
  }
  .relief-ladder-sub {
    text-align: left;
  }
}

@media (prefers-color-scheme: dark) {
  .relief-ladder {
    background: var(--surface-dark-elevated);
    border-color: #3a3732;
  }
  .relief-step-bar,
  .relief-cap-bar {
    background: #181715;
  }
  .relief-cap {
    background: var(--surface-dark-soft);
  }
}

/* ---------- 180 天居民认定与税负对照 .residency-meter ---------- */
.residency-meter {
  margin: 1rem 0 0;
  padding: 1.05rem 1.1rem 1rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-lg);
  border: 1px solid #2e2c28;
}

.residency-meter-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.5rem 1rem;
  align-items: baseline;
  margin-bottom: 0.75rem;
}

.residency-meter-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--on-dark);
}

.residency-meter-status {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  color: var(--on-dark-soft);
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  border: 1px solid #3a3833;
  background: var(--surface-dark-elevated);
  white-space: nowrap;
}

.residency-meter-status.is-resident {
  color: #d8efe4;
  border-color: #3d6a56;
  background: #24352d;
}

.residency-meter-status.is-nonresident {
  color: #f3e8e2;
  border-color: var(--primary);
  background: #2a211d;
}

.residency-track {
  position: relative;
  height: 14px;
  background: #2e2c28;
  border-radius: 999px;
  overflow: visible;
}

.residency-fill {
  display: block;
  height: 100%;
  background: var(--primary);
  border-radius: 999px;
  min-width: 0;
}

.residency-fill.is-resident {
  background: #6aa88a;
}

.residency-mark {
  position: absolute;
  top: -5px;
  bottom: -5px;
  width: 2px;
  background: #faf9f5;
  transform: translateX(-1px);
  border-radius: 1px;
}

.residency-mark-label {
  position: absolute;
  top: -1.15rem;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.66rem;
  letter-spacing: 0.04em;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.residency-track-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.45rem;
  font-size: 0.72rem;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.residency-track-meta strong {
  color: var(--on-dark);
  font-weight: 600;
}

.residency-meter-note {
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--on-dark);
}

.residency-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
  margin-top: 0.95rem;
}

.residency-path {
  padding: 0.7rem 0.8rem 0.75rem;
  background: var(--surface-dark-elevated);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
}

.residency-path.is-active {
  border-color: var(--primary);
}

.residency-path-kicker {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  color: var(--on-dark-soft);
}

.residency-path-amt {
  margin: 0.25rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.residency-path-amt small {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.residency-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.residency-delta {
  margin: 0.8rem 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--on-dark);
}

.residency-delta strong {
  color: #f3e8e2;
}

.residency-delta.is-same {
  color: var(--on-dark-soft);
}

@container (max-width: 30rem) {
  .residency-meter-head,
  .residency-compare {
    grid-template-columns: 1fr;
  }
  .residency-meter-status {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .residency-meter {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .residency-meter-head,
  .residency-compare {
    grid-template-columns: 1fr;
  }
  .residency-meter-status {
    justify-self: start;
    white-space: normal;
  }
}

@media (prefers-color-scheme: dark) {
  .residency-meter {
    background: var(--surface-dark-elevated);
    border-color: #3a3732;
  }
  .residency-track {
    background: #181715;
  }
  .residency-path {
    background: var(--surface-dark-soft);
  }
}

/* ---------- 分项限额满度格 .cap-tiles（菲律宾 de minimis 等） ---------- */
.cap-tiles {
  margin: 1rem 0 0;
  padding: 1.05rem 1.1rem 1rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-lg);
  border: 1px solid #2e2c28;
}

.cap-tiles-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.85rem;
}

.cap-tiles-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--on-dark);
}

.cap-tiles-rule {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: var(--on-dark-soft);
  text-align: right;
}

.cap-tiles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

.cap-tile {
  padding: 0.65rem 0.7rem 0.7rem;
  background: var(--surface-dark-elevated);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
}

.cap-tile.is-over {
  border-color: var(--primary);
}

.cap-tile.is-near {
  border-color: #5a4a3c;
}

.cap-tile.is-zero {
  opacity: 0.72;
}

.cap-tile-name {
  margin: 0;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--on-dark);
}

.cap-tile-fig {
  margin: 0.15rem 0 0.45rem;
  font-size: 0.72rem;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.cap-tile-fig strong {
  color: var(--on-dark);
  font-weight: 600;
}

.cap-tile-track {
  height: 8px;
  background: #2e2c28;
  border-radius: 999px;
  overflow: hidden;
}

.cap-tile-fill {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: 999px;
  background: #6aa88a;
}

.cap-tile.is-near .cap-tile-fill {
  background: var(--primary);
}

.cap-tile.is-over .cap-tile-fill {
  background: var(--primary);
}

.cap-tile-status {
  margin: 0.35rem 0 0;
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.cap-tile.is-ok .cap-tile-status {
  color: #d8efe4;
}

.cap-tile.is-near .cap-tile-status,
.cap-tile.is-over .cap-tile-status {
  color: #f3e8e2;
}

.cap-tiles-summary {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.65rem;
  margin-top: 0.9rem;
}

.cap-sum {
  padding: 0.65rem 0.7rem 0.7rem;
  background: var(--surface-dark-elevated);
  border-radius: var(--radius-md);
  border: 1px solid transparent;
}

.cap-sum.is-exempt {
  border-color: #3d6a56;
}

.cap-sum.is-spill {
  border-color: #5a4a3c;
}

.cap-sum.is-tax {
  border-color: var(--primary);
}

.cap-sum-kicker {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  color: var(--on-dark-soft);
}

.cap-sum-amt {
  margin: 0.25rem 0 0;
  font-size: 1.12rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.cap-sum-amt small {
  font-size: 0.68rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.cap-tiles-note {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--on-dark-soft);
}

.cap-tiles-note strong {
  color: var(--on-dark);
  font-weight: 600;
}

@container (max-width: 30rem) {
  .cap-tiles-head,
  .cap-tiles-grid,
  .cap-tiles-summary {
    grid-template-columns: 1fr;
  }
  .cap-tiles-rule {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .cap-tiles {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .cap-tiles-head,
  .cap-tiles-grid,
  .cap-tiles-summary {
    grid-template-columns: 1fr;
  }
  .cap-tiles-rule {
    text-align: left;
  }
}

@media (prefers-color-scheme: dark) {
  .cap-tiles {
    background: var(--surface-dark-elevated);
    border-color: #3a3732;
  }
  .cap-tile,
  .cap-sum {
    background: var(--surface-dark-soft);
  }
  .cap-tile-track {
    background: #181715;
  }
}

/* 泰国年度申报逐项扣除上限架 .deduct-rack（20261110j） */
.deduct-rack {
  margin: 1rem 0 0;
  padding: 1rem 1rem 0.95rem;
  border-radius: 14px;
  background: #1f1c19;
  border: 1px solid #3a332e;
  color: var(--on-dark);
}

.deduct-rack-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem 1rem;
  align-items: end;
  margin-bottom: 0.85rem;
}

.deduct-rack-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #f6f1ea;
}

.deduct-rack-sub {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--on-dark-soft);
  text-align: right;
}

.deduct-rack-sub strong {
  color: #f3e8e2;
  font-variant-numeric: tabular-nums lining-nums;
}

.deduct-rack-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.deduct-rack-row {
  margin: 0;
}

.deduct-rack-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}

.deduct-rack-name {
  font-size: 0.78rem;
  color: #efe9de;
}

.deduct-rack-amt {
  font-size: 0.78rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}

.deduct-rack-bar {
  margin-top: 0.28rem;
  height: 0.48rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
  display: flex;
}

.deduct-rack-bar > span {
  display: block;
  height: 100%;
  min-width: 0;
}

.deduct-rack-bar .is-main,
.deduct-rack-bar .is-personal,
.deduct-rack-bar .is-life,
.deduct-rack-bar .is-pvd { background: #cc785c; }
.deduct-rack-bar .is-spouse,
.deduct-rack-bar .is-health,
.deduct-rack-bar .is-nsf { background: #e0a090; }
.deduct-rack-bar .is-child,
.deduct-rack-bar .is-pension,
.deduct-rack-bar .is-double { background: #d4a574; }
.deduct-rack-bar .is-depend,
.deduct-rack-bar .is-rmf,
.deduct-rack-bar .is-general { background: #7f9e8a; }
.deduct-rack-bar .is-other { background: #8a8478; }

.deduct-rack-row.is-full .deduct-rack-amt {
  color: #e8c8bc;
}

.deduct-rack-note {
  margin: 0.25rem 0 0;
  font-size: 0.7rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.deduct-rack-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 0.95rem;
}

.deduct-rack-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 10px;
  background: #2a2622;
  border: 1px solid #3f3934;
}

.deduct-rack-path.is-current {
  border-color: #cc785c;
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.25);
}

.deduct-rack-kicker {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  color: var(--on-dark-soft);
}

.deduct-rack-tax {
  margin: 0.25rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.deduct-rack-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.deduct-rack-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.deduct-rack-delta {
  margin: 0.8rem 0 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--on-dark);
}

.deduct-rack-delta strong {
  color: #f3e8e2;
}

@container (max-width: 30rem) {
  .deduct-rack-head,
  .deduct-rack-compare {
    grid-template-columns: 1fr;
  }
  .deduct-rack-sub {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .deduct-rack {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .deduct-rack-head,
  .deduct-rack-compare {
    grid-template-columns: 1fr;
  }
  .deduct-rack-sub {
    text-align: left;
  }
}

@media (prefers-color-scheme: dark) {
  .deduct-rack {
    background: var(--surface-dark-elevated);
    border-color: #3a3732;
  }
  .deduct-rack-bar {
    background: #181715;
  }
  .deduct-rack-path {
    background: var(--surface-dark-soft);
  }
}

/* ---------- 菲律宾 SSS 月薪档位轨道 .msc-track（20261110l） ---------- */
.msc-track {
  margin: 1rem 0 0;
  padding: 1.05rem 1.1rem 1rem;
  background: var(--surface-dark);
  color: var(--on-dark);
  border-radius: var(--radius-lg);
  border: 1px solid #2e2c28;
}

.msc-track-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.85rem;
}

.msc-track-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #f6f1ea;
}

.msc-track-sub {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: var(--on-dark-soft);
  text-align: right;
}

.msc-track-sub strong {
  color: #f3e8e2;
  font-variant-numeric: tabular-nums lining-nums;
}

.msc-rail {
  position: relative;
  margin: 0.35rem 0 1.15rem;
  padding: 1.15rem 0 1.35rem;
}

.msc-rail-bar {
  position: relative;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
  display: flex;
}

.msc-rail-ss,
.msc-rail-mpf {
  display: block;
  height: 100%;
  min-width: 0;
}

.msc-rail-ss { background: #cc785c; }
.msc-rail-mpf { background: #d4a574; }

.msc-rail-marks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.msc-rail-mark {
  position: absolute;
  top: 0.05rem;
  width: 1px;
  height: 0.62rem;
  background: rgba(250, 249, 245, 0.28);
  transform: translateX(-0.5px);
}

.msc-rail-mark.is-split {
  background: rgba(250, 249, 245, 0.7);
  width: 2px;
}

.msc-rail-label {
  position: absolute;
  top: 0.95rem;
  transform: translateX(-50%);
  font-size: 0.62rem;
  letter-spacing: 0.02em;
  color: var(--on-dark-soft);
  white-space: nowrap;
  font-variant-numeric: tabular-nums lining-nums;
}

.msc-rail-label.is-end {
  transform: translateX(-100%);
}

.msc-rail-label.is-start {
  transform: translateX(0);
}

.msc-rail-needle {
  position: absolute;
  top: -0.55rem;
  width: 0.7rem;
  height: 0.7rem;
  margin-left: -0.35rem;
  background: #f6f1ea;
  border: 2px solid #cc785c;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(204, 120, 92, 0.28);
}

.msc-rail-caption {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--on-dark-soft);
}

.msc-rail-caption strong {
  color: #f6f1ea;
  font-variant-numeric: tabular-nums lining-nums;
}

.msc-split {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.msc-split-row {
  margin: 0;
}

.msc-split-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}

.msc-split-name {
  font-size: 0.78rem;
  color: #efe9de;
}

.msc-split-amt {
  font-size: 0.78rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}

.msc-split-bar {
  margin-top: 0.28rem;
  height: 0.48rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}

.msc-split-bar > span {
  display: block;
  height: 100%;
  min-width: 0;
  border-radius: 999px;
}

.msc-split-bar .is-ss { background: #cc785c; }
.msc-split-bar .is-mpf { background: #d4a574; }
.msc-split-bar .is-ec { background: #7f9e8a; }

.msc-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 0.95rem;
}

.msc-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 10px;
  background: #2a2622;
  border: 1px solid #3f3934;
}

.msc-path.is-current {
  border-color: #cc785c;
  box-shadow: inset 0 0 0 1px rgba(204, 120, 92, 0.25);
}

.msc-path-kicker {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.03em;
  color: var(--on-dark-soft);
}

.msc-path-amt {
  margin: 0.25rem 0 0;
  font-size: 1.15rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--on-dark);
}

.msc-path-amt small {
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--on-dark-soft);
}

.msc-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.72rem;
  line-height: 1.4;
  color: var(--on-dark-soft);
}

.msc-deadlines {
  margin-top: 0.95rem;
}

.msc-deadlines-title {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: #efe9de;
}

.msc-deadlines-months {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 0.28rem;
}

.msc-mo {
  padding: 0.35rem 0.1rem;
  text-align: center;
  border-radius: 6px;
  background: #2a2622;
  border: 1px solid #3f3934;
  font-size: 0.62rem;
  letter-spacing: 0.02em;
  color: var(--on-dark-soft);
  font-variant-numeric: tabular-nums lining-nums;
}

.msc-mo.is-early {
  border-color: #5a4a3c;
  color: #f3e8e2;
}

.msc-mo.is-late {
  border-color: #3d6a56;
  color: #d8efe4;
}

.msc-track-note {
  margin: 0.75rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--on-dark-soft);
}

.msc-track-note strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}

@media (max-width: 640px) {
  .msc-track {
    padding: 0.9rem 0.8rem 0.85rem;
  }
  .msc-track-head,
  .msc-compare {
    grid-template-columns: 1fr;
  }
  .msc-track-sub {
    text-align: left;
  }
  .msc-deadlines-months {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (prefers-color-scheme: dark) {
  .msc-track {
    background: var(--surface-dark-elevated);
    border-color: #3a3732;
  }
  .msc-rail-bar,
  .msc-split-bar {
    background: #181715;
  }
  .msc-path,
  .msc-mo {
    background: var(--surface-dark-soft);
  }
}

/* ---------- 泰国 40(5)–40(8) 费用扣除轨道 .sec40-track（20261110l） ---------- */
.sec40-track {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.sec40-head {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  margin-bottom: 0.85rem;
}
.sec40-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.sec40-sub {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--on-dark-soft, #d9d0c5);
  text-align: right;
}
.sec40-sub strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.sec40-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}
.sec40-row {
  margin: 0;
}
.sec40-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.sec40-name {
  font-size: 0.84rem;
  color: #efe9de;
}
.sec40-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.sec40-bar {
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
  display: flex;
}
.sec40-bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
}
.sec40-bar .is-exp,
.sec40-row.is-rent .is-exp { background: #cc785c; }
.sec40-row.is-prof .is-exp { background: #e0a090; }
.sec40-row.is-contract .is-exp { background: #d4a574; }
.sec40-row.is-biz .is-exp { background: #c4896a; }
.sec40-row.is-emp .is-exp { background: #8a8478; }
.sec40-bar .is-art { background: #7f9e8a; }
.sec40-bar .is-solar { background: #d4a574; }
.sec40-row.is-full .sec40-amt { color: #e8c9b4; }
.sec40-row.is-warn .sec40-amt { color: #e0a090; }
.sec40-note {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--on-dark-soft, #d9d0c5);
}
.sec40-kicker {
  margin: 1rem 0 0.55rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #efe9de;
  font-family: var(--font-display);
}
.sec40-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.sec40-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.sec40-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.sec40-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.sec40-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.sec40-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.sec40-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.sec40-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.sec40-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 720px) {
  .sec40-head,
  .sec40-compare {
    grid-template-columns: 1fr;
  }
  .sec40-sub {
    text-align: left;
  }
}
@media (prefers-color-scheme: dark) {
  .sec40-track {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .sec40-bar {
    background: #181715;
  }
  .sec40-path {
    background: var(--surface-dark-soft, #2a2622);
  }
}

/* ---------- 越南免税津贴与年终奖轨道 .vn-allow-track（20261110m） ---------- */
.vn-allow-track {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.vn-allow-head {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  margin-bottom: 0.85rem;
}
.vn-allow-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.vn-allow-sub {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--on-dark-soft, #d9d0c5);
  text-align: right;
}
.vn-allow-sub strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.vn-allow-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}
.vn-allow-row,
.vn-allow-bonus {
  margin: 0;
}
.vn-allow-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.vn-allow-name {
  font-size: 0.84rem;
  color: #efe9de;
}
.vn-allow-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.vn-allow-bar {
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
  display: flex;
}
.vn-allow-bar > span {
  display: block;
  height: 100%;
}
.vn-allow-bar .is-ex { background: #7f9e8a; }
.vn-allow-bar .is-tx { background: #cc785c; }
.vn-allow-bar .is-bonus { background: #d4a574; }
.vn-allow-row.is-meal .is-ex { background: #7f9e8a; }
.vn-allow-row.is-uniform .is-ex { background: #8fad9a; }
.vn-allow-row.is-phone .is-ex { background: #6f9080; }
.vn-allow-row.is-housing .is-ex { background: #c4896a; }
.vn-allow-row.is-ot .is-ex { background: #9aab8c; }
.vn-allow-row.is-over .vn-allow-amt { color: #e0a090; }
.vn-allow-row.is-full-ex .vn-allow-amt { color: #c5d4c8; }
.vn-allow-note {
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--on-dark-soft, #d9d0c5);
}
.vn-allow-kicker {
  margin: 1rem 0 0.55rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #efe9de;
  font-family: var(--font-display);
}
.vn-allow-bonus {
  margin: 0 0 0.2rem;
}
.vn-allow-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.vn-allow-settle {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.vn-allow-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.vn-allow-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.vn-allow-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.vn-allow-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.vn-allow-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.vn-allow-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.vn-allow-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.vn-allow-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 720px) {
  .vn-allow-head,
  .vn-allow-compare,
  .vn-allow-settle {
    grid-template-columns: 1fr;
  }
  .vn-allow-sub {
    text-align: left;
  }
}
@media (prefers-color-scheme: dark) {
  .vn-allow-track {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .vn-allow-bar {
    background: #181715;
  }
  .vn-allow-path {
    background: var(--surface-dark-soft, #2a2622);
  }
}

/* ---------- 越南非居民税认定轨道 .vn-nr-track（20261110n） ---------- */
.vn-nr-track {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.vn-nr-head {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, auto);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.55rem;
}
.vn-nr-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.vn-nr-status {
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #d9d0c5;
}
.vn-nr-status.is-resident { color: #c5d4c8; }
.vn-nr-status.is-nonresident { color: #e0a090; }
.vn-nr-lead {
  margin: 0 0 0.85rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.vn-nr-doors {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}
.vn-nr-door-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.vn-nr-door-name {
  font-size: 0.84rem;
  color: #efe9de;
}
.vn-nr-door-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.vn-nr-door.is-open .vn-nr-door-amt { color: #c5d4c8; }
.vn-nr-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.vn-nr-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: #cc785c;
}
.vn-nr-door.is-calendar .vn-nr-fill { background: #cc785c; }
.vn-nr-door.is-rolling .vn-nr-fill { background: #d4a574; }
.vn-nr-door.is-habit .vn-nr-fill { background: #c4896a; }
.vn-nr-door.is-lease .vn-nr-fill { background: #7f9e8a; }
.vn-nr-door.is-open .vn-nr-fill { box-shadow: inset 0 0 0 1px rgba(250, 249, 245, 0.12); }
.vn-nr-door.is-empty .vn-nr-door-amt,
.vn-nr-door.is-empty .vn-nr-door-name { color: #9a9288; }
.vn-nr-mark {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 2px;
  margin-left: -1px;
  background: #faf9f5;
  opacity: 0.55;
  border-radius: 1px;
}
.vn-nr-door-note {
  margin: 0.3rem 0 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--on-dark-soft, #d9d0c5);
}
.vn-nr-door-note strong {
  color: #f6f1ea;
  font-variant-numeric: tabular-nums lining-nums;
}
.vn-nr-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.vn-nr-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.vn-nr-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.vn-nr-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.vn-nr-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.vn-nr-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.vn-nr-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.vn-nr-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.vn-nr-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.vn-nr-delta.is-nr strong { color: #e0a090; }
.vn-nr-delta.is-res strong { color: #c5d4c8; }
@media (max-width: 720px) {
  .vn-nr-head,
  .vn-nr-compare {
    grid-template-columns: 1fr;
  }
  .vn-nr-status {
    text-align: left;
  }
}
@media (prefers-color-scheme: dark) {
  .vn-nr-track {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .vn-nr-bar {
    background: #181715;
  }
  .vn-nr-path {
    background: var(--surface-dark-soft, #2a2622);
  }
}

/* ---------- 菲律宾 PhilHealth／Pag-IBIG 档位轨道 .ph-contrib-track（20261110p） ---------- */
.ph-contrib-track {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  border-radius: 16px;
  background: #1f1c19;
  color: #faf9f5;
  border: 1px solid #3a3530;
}
.ph-contrib-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.35rem 1rem;
  align-items: baseline;
  margin-bottom: 0.9rem;
}
.ph-contrib-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  color: #faf9f5;
}
.ph-contrib-sub {
  margin: 0;
  font-size: 0.75rem;
  color: var(--on-dark-soft, #d9d0c5);
  text-align: right;
}
.ph-contrib-rail {
  margin-top: 0.85rem;
}
.ph-contrib-rail-label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.32rem;
  font-size: 0.84rem;
  color: #efe9de;
}
.ph-contrib-rail-label strong {
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.ph-contrib-bar {
  position: relative;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.ph-contrib-bar.is-stack {
  display: flex;
  overflow: hidden;
}
.ph-contrib-mfs {
  margin-top: 0.4rem;
  height: 0.42rem;
}
.ph-contrib-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
}
.ph-contrib-bar.is-stack .ph-contrib-fill {
  border-radius: 0;
  flex: 0 0 auto;
}
.ph-contrib-fill.is-phic { background: #cc785c; }
.ph-contrib-fill.is-hdmf-ee { background: #d4a574; }
.ph-contrib-fill.is-hdmf-er { background: #c4896a; }
.ph-contrib-fill.is-hdmf-ex { background: #7f9e8a; }
.ph-contrib-fill.is-mfs { background: #c4896a; }
.ph-contrib-mark {
  position: absolute;
  top: -2px;
  bottom: -2px;
  width: 2px;
  margin-left: -1px;
  background: #faf9f5;
  opacity: 0.55;
  border-radius: 1px;
}
.ph-contrib-needle {
  position: absolute;
  top: -5px;
  bottom: -5px;
  width: 2px;
  margin-left: -1px;
  background: #faf9f5;
  border-radius: 1px;
  box-shadow: 0 0 0 3px rgba(31, 28, 25, 0.55);
}
.ph-contrib-marks {
  position: relative;
  height: 1.05rem;
  margin-top: 0.2rem;
}
.ph-contrib-mlab {
  position: absolute;
  top: 0;
  font-size: 0.7rem;
  color: #d9d0c5;
  transform: translateX(-50%);
  white-space: nowrap;
}
.ph-contrib-mlab.is-start { transform: translateX(0); }
.ph-contrib-mlab.is-end { transform: translateX(-100%); }
.ph-contrib-caption {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-contrib-caption strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-contrib-freq {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.55rem;
}
.ph-contrib-freq span {
  display: inline-flex;
  flex-direction: column;
  gap: 0.05rem;
  padding: 0.32rem 0.55rem 0.3rem;
  border-radius: 10px;
  background: #2a2622;
  border: 1px solid #3a3530;
  font-size: 0.8rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
}
.ph-contrib-freq em {
  font-style: normal;
  font-size: 0.68rem;
  color: #d9d0c5;
}
.ph-contrib-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.ph-contrib-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.ph-contrib-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.ph-contrib-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-contrib-path-amt {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-contrib-path-amt small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.ph-contrib-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.ph-contrib-note {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.ph-contrib-note strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 720px) {
  .ph-contrib-head,
  .ph-contrib-compare {
    grid-template-columns: 1fr;
  }
  .ph-contrib-sub {
    text-align: left;
  }
}
@media (prefers-color-scheme: dark) {
  .ph-contrib-track {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .ph-contrib-bar {
    background: #181715;
  }
  .ph-contrib-path,
  .ph-contrib-freq span {
    background: var(--surface-dark-soft, #2a2622);
  }
}

/* ---------- 泰国清单内经营与转租轨道 .th-listed-rack（20261110p） ---------- */
.th-listed-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-listed-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-listed-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-listed-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
}
.th-listed-lead {
  margin: 0 0 0.9rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-listed-lead strong {
  color: #f6f1ea;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-listed-block {
  margin: 0 0 0.85rem;
}
.th-listed-meta,
.th-listed-chain {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.th-listed-meta {
  margin-bottom: 0.28rem;
}
.th-listed-name {
  font-size: 0.84rem;
  color: #efe9de;
}
.th-listed-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.th-listed-bar {
  position: relative;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-listed-bar span {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-listed-bar .is-stale {
  background: #6a5a50;
  opacity: 0.9;
}
.th-listed-bar .is-cur {
  background: #cc785c;
}
.th-listed-bar .is-rent {
  background: #c4896a;
  z-index: 2;
}
.th-listed-bar .is-owner-ghost {
  background: transparent;
  box-shadow: inset 0 0 0 1px rgba(250, 249, 245, 0.35);
  z-index: 1;
}
.th-listed-note {
  margin: 0.3rem 0 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-listed-chain {
  list-style: none;
  margin: 0 0 0.75rem;
  padding: 0.7rem 0.75rem 0.65rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 12px;
}
.th-listed-chain li {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.th-listed-node {
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 600;
  color: #faf9f5;
}
.th-listed-edge {
  font-size: 0.75rem;
  color: #d9d0c5;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-listed-chain .is-you .th-listed-node { color: #e0a090; }
.th-listed-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.th-listed-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.th-listed-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.th-listed-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-listed-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-listed-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-listed-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.th-listed-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-listed-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 720px) {
  .th-listed-head,
  .th-listed-chain,
  .th-listed-compare {
    grid-template-columns: 1fr;
  }
  .th-listed-status {
    text-align: left;
  }
}
@media (prefers-color-scheme: dark) {
  .th-listed-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-listed-bar {
    background: #181715;
  }
  .th-listed-path,
  .th-listed-chain {
    background: var(--surface-dark-soft, #2a2622);
  }
}

/* ---------- 菲律宾家庭雇工／海员缴费分担轨道 .ph-split-rack（20261110r） ---------- */
.ph-split-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.ph-split-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.ph-split-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.ph-split-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
}
.ph-split-lead {
  margin: 0 0 0.9rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-split-lead strong {
  color: #f6f1ea;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-split-threshold {
  margin: 0 0 1rem;
  padding: 0.7rem 0.75rem 0.65rem;
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 12px;
}
.ph-split-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
  color: #efe9de;
}
.ph-split-threshold-meta strong {
  font-variant-numeric: tabular-nums lining-nums;
  color: #faf9f5;
}
.ph-split-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.ph-split-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
}
.ph-split-swatch.is-ee::before { background: #cc785c; }
.ph-split-swatch.is-er::before { background: #c4896a; }
.ph-split-threshold-track {
  position: relative;
  padding: 6px 0;
}
.ph-split-threshold-bar {
  position: relative;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.ph-split-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.ph-split-zone.is-er {
  background: #8d6e63;
}
.ph-split-zone.is-share {
  background: #cc785c;
}
.ph-split-tick {
  position: absolute;
  top: 3px;
  bottom: 3px;
  width: 2px;
  margin-left: -1px;
  background: #faf9f5;
  z-index: 2;
  pointer-events: none;
}
.ph-split-needle {
  position: absolute;
  top: 2px;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 50%;
  background: #faf9f5;
  box-shadow: 0 0 0 3px #1f1c19;
  z-index: 3;
  pointer-events: none;
}
.ph-split-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.4rem;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.ph-split-threshold-labs .is-mid {
  color: #e0a090;
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: 600;
  text-align: center;
}
.ph-split-block {
  margin: 0 0 0.85rem;
}
.ph-split-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.ph-split-name {
  font-size: 0.84rem;
  color: #efe9de;
}
.ph-split-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  white-space: nowrap;
}
.ph-split-bar {
  position: relative;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.ph-split-bar span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.ph-split-bar .is-ee {
  background: #cc785c;
  left: 0;
  z-index: 2;
}
.ph-split-bar .is-er {
  background: #c4896a;
  z-index: 1;
}
.ph-split-note {
  margin: 0.3rem 0 0;
  font-size: 0.76rem;
  line-height: 1.45;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-split-compare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.ph-split-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.ph-split-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.ph-split-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-split-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-split-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.ph-split-path-total {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: #efe9de;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-split-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  color: #d9d0c5;
}
.ph-split-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.ph-split-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
@media (max-width: 720px) {
  .ph-split-head,
  .ph-split-compare {
    grid-template-columns: 1fr;
  }
  .ph-split-status {
    text-align: left;
  }
  .ph-split-threshold-labs {
    flex-wrap: wrap;
  }
  .ph-split-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .ph-split-amt {
    white-space: normal;
    text-align: right;
  }
  .ph-split-headline-num {
    font-size: 1.7rem;
  }
}
@media (prefers-color-scheme: dark) {
  .ph-split-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .ph-split-bar,
  .ph-split-threshold-bar {
    background: #181715;
  }
  .ph-split-path,
  .ph-split-threshold {
    background: var(--surface-dark-soft, #2a2622);
  }
}

.ph-split-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #3a3530;
}
.ph-split-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #d9d0c5;
}
.ph-split-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-split-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.ph-split-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.ph-split-coach {
  margin: 0.45rem 0 0;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.ph-split-coach.is-all {
  border-color: #cc785c;
}
.ph-split-coach.is-warn {
  border-color: #b45a3c;
}
.rule-details {
  margin: 0.65rem 0 0;
  font-size: 0.86rem;
  line-height: 1.55;
}
.rule-details summary {
  cursor: pointer;
  font-weight: 600;
  color: #3a3530;
}
.rule-details p {
  margin: 0.4rem 0 0;
}

/* ---------- 泰国一次性预付长期租权摊销轨道 .th-lease-rack（20261110s） ---------- */
.th-lease-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-lease-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-lease-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-lease-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
}
.th-lease-lead {
  margin: 0 0 0.9rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-lease-threshold {
  margin: 0 0 1rem;
  padding: 0.7rem 0.75rem 0.65rem;
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 12px;
}
.th-lease-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.4rem 0.75rem;
  align-items: baseline;
  margin-bottom: 0.4rem;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
}
.th-lease-threshold-meta strong {
  font-variant-numeric: tabular-nums lining-nums;
  color: #faf9f5;
}
.th-lease-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-lease-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
}
.th-lease-swatch.is-prior::before { background: #8d6e63; }
.th-lease-swatch.is-year::before { background: #cc785c; }
.th-lease-swatch.is-rest::before { background: #efe9de; }
.th-lease-threshold-track {
  position: relative;
  padding: 6px 0;
}
.th-lease-threshold-bar {
  position: relative;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-lease-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 999px;
  background: #cc785c;
}
.th-lease-needle {
  position: absolute;
  top: 2px;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 50%;
  background: #faf9f5;
  box-shadow: 0 0 0 3px #1f1c19;
  z-index: 3;
  pointer-events: none;
}
.th-lease-threshold-labs {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.35rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-lease-threshold-labs .is-mid {
  color: #e0a090;
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: 600;
  text-align: center;
}
.th-lease-block { margin: 0 0 0.85rem; }
.th-lease-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.th-lease-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
}
.th-lease-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  text-align: right;
}
.th-lease-bar {
  position: relative;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-lease-bar span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.th-lease-bar .is-prior { background: #8d6e63; left: 0; z-index: 1; }
.th-lease-bar .is-year { background: #cc785c; z-index: 2; }
.th-lease-bar .is-rest { background: #efe9de; z-index: 1; }
.th-lease-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.th-lease-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.th-lease-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.th-lease-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-lease-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.25;
}
.th-lease-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-lease-path-total {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #efe9de;
}
.th-lease-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-lease-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-lease-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-lease-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-lease-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-lease-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-lease-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-lease-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-lease-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-lease-coach:empty { display: none; }
.th-lease-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-lease-head,
  .th-lease-compare {
    grid-template-columns: 1fr;
  }
  .th-lease-status { text-align: left; }
  .th-lease-threshold-labs { flex-wrap: wrap; }
  .th-lease-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-lease-amt { white-space: normal; }
  .th-lease-headline-num { font-size: 1.7rem; }
  .th-lease-name,
  .th-lease-path-kicker { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-lease-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-lease-bar,
  .th-lease-threshold-bar { background: #181715; }
  .th-lease-path,
  .th-lease-threshold { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 菲律宾家庭雇工最低薪对照轨道 .ph-kasa-wage-rack（20261110y） ---------- */
.ph-kasa-wage-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.ph-kasa-wage-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.ph-kasa-wage-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.ph-kasa-wage-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
}
.ph-kasa-wage-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.ph-kasa-wage-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.ph-kasa-wage-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
}
.ph-kasa-wage-swatch.is-sel::before { background: #cc785c; }
.ph-kasa-wage-swatch.is-oth::before { background: #8d6e63; }
.ph-kasa-wage-swatch.is-tier::before { background: #efe9de; }
.ph-kasa-wage-row {
  margin: 0 0 0.7rem;
  padding: 0.35rem 0.4rem 0.45rem;
  border-radius: 10px;
  border: 1px solid transparent;
}
.ph-kasa-wage-row.is-current {
  border-color: #cc785c;
  background: #322924;
}
.ph-kasa-wage-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.ph-kasa-wage-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.ph-kasa-wage-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  text-align: right;
  white-space: nowrap;
}
.ph-kasa-wage-bar {
  position: relative;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.ph-kasa-wage-bar span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: 999px;
}
.ph-kasa-wage-bar .is-plain { background: #8d6e63; }
.ph-kasa-wage-bar .is-sel { background: #cc785c; z-index: 2; }
.ph-kasa-wage-bar .is-hi { background: #8d6e63; z-index: 1; }
.ph-kasa-wage-bar .is-lo { background: #efe9de; z-index: 2; }
.ph-kasa-wage-bar .is-hi.is-sel,
.ph-kasa-wage-bar .is-lo.is-sel { background: #cc785c; z-index: 3; }
.ph-kasa-wage-pending {
  margin: 0.3rem 0 0;
  font-size: 0.72rem;
  line-height: 1.45;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.ph-kasa-wage-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.6rem;
  margin-top: 1rem;
}
.ph-kasa-wage-path {
  padding: 0.7rem 0.75rem 0.65rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid #3a3530;
}
.ph-kasa-wage-path.is-current {
  border-color: #cc785c;
  background: #322924;
}
.ph-kasa-wage-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--on-dark-soft, #d9d0c5);
  overflow-wrap: anywhere;
}
.ph-kasa-wage-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1.25;
}
.ph-kasa-wage-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.ph-kasa-wage-path-total,
.ph-kasa-wage-path-note {
  margin: 0.3rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.ph-kasa-wage-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.ph-kasa-wage-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-kasa-wage-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.ph-kasa-wage-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.ph-kasa-wage-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
}
.ph-kasa-wage-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.ph-kasa-wage-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.ph-kasa-wage-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.ph-kasa-wage-coach:empty { display: none; }
.ph-kasa-wage-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .ph-kasa-wage-head,
  .ph-kasa-wage-compare {
    grid-template-columns: 1fr;
  }
  .ph-kasa-wage-status { text-align: left; }
  .ph-kasa-wage-amt { white-space: normal; }
  .ph-kasa-wage-headline-num { font-size: 1.7rem; }
  .ph-kasa-wage-name,
  .ph-kasa-wage-path-kicker { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .ph-kasa-wage-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .ph-kasa-wage-bar { background: #181715; }
  .ph-kasa-wage-path { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国提前解约剩余租权一次提列轨道 .th-lease-exit-rack（20261110y） ---------- */
.th-lease-exit-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-lease-exit-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-lease-exit-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-lease-exit-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
}
.th-lease-exit-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-lease-exit-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-lease-exit-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-lease-exit-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-lease-exit-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-lease-exit-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
}
.th-lease-exit-swatch.is-prior::before { background: #8d6e63; }
.th-lease-exit-swatch.is-year::before { background: #c4a484; }
.th-lease-exit-swatch.is-exit::before { background: #cc785c; }
.th-lease-exit-swatch.is-cash::before { background: #efe9de; }
.th-lease-exit-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-lease-exit-threshold-bar {
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-lease-exit-zone {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: #8d6e63;
}
.th-lease-exit-needle {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.05rem;
  margin-left: -1px;
  background: #cc785c;
  border-radius: 999px;
  pointer-events: none;
}
.th-lease-exit-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-lease-exit-threshold-labs .is-mid {
  text-align: center;
  color: #e0a090;
  font-weight: 600;
}
.th-lease-exit-block { margin: 0 0 0.85rem; }
.th-lease-exit-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.th-lease-exit-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-lease-exit-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  text-align: right;
  white-space: nowrap;
}
.th-lease-exit-bar {
  position: relative;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-lease-exit-bar span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-lease-exit-bar .is-prior { background: #8d6e63; left: 0; z-index: 1; }
.th-lease-exit-bar .is-year { background: #c4a484; z-index: 2; }
.th-lease-exit-bar .is-exit { background: #cc785c; z-index: 3; }
.th-lease-exit-bar .is-cash { background: #efe9de; z-index: 2; }
.th-lease-exit-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
}
.th-lease-exit-path {
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
}
.th-lease-exit-path.is-current {
  border-color: #cc785c;
}
.th-lease-exit-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-lease-exit-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-lease-exit-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-lease-exit-path-total {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
}
.th-lease-exit-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-lease-exit-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-lease-exit-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-lease-exit-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-lease-exit-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-lease-exit-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-lease-exit-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-lease-exit-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.th-lease-exit-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-lease-exit-coach:empty { display: none; }
.th-lease-exit-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-lease-exit-head,
  .th-lease-exit-compare {
    grid-template-columns: 1fr;
  }
  .th-lease-exit-status { text-align: left; }
  .th-lease-exit-threshold-labs { flex-wrap: wrap; }
  .th-lease-exit-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-lease-exit-amt { white-space: normal; }
  .th-lease-exit-headline-num { font-size: 1.7rem; }
  .th-lease-exit-name,
  .th-lease-exit-path-kicker { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-lease-exit-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-lease-exit-bar,
  .th-lease-exit-threshold-bar { background: #181715; }
  .th-lease-exit-path,
  .th-lease-exit-threshold { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国分期预收租金 ภ.ง.ด.93 逐笔叠加轨道 .th-pnd93-rack（20261110y） ---------- */
.th-pnd93-inst-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.th-pnd93-inst {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) auto;
  gap: 0.45rem 0.65rem;
  align-items: end;
}
.th-pnd93-inst label {
  display: block;
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-pnd93-del {
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}
.th-pnd93-inst-actions {
  margin: 0.35rem 0 0;
}
.th-pnd93-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-pnd93-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-pnd93-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-pnd93-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-pnd93-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-pnd93-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-pnd93-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-pnd93-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-pnd93-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-pnd93-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-pnd93-swatch.is-other::before { background: #efe9de; }
.th-pnd93-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-pnd93-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-pnd93-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-pnd93-needle {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.05rem;
  margin-left: -1px;
  background: #cc785c;
  border-radius: 999px;
  pointer-events: none;
}
.th-pnd93-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-pnd93-threshold-labs .is-mid {
  text-align: center;
  color: #e0a090;
  font-weight: 600;
}
.th-pnd93-block { margin: 0 0 0.85rem; }
.th-pnd93-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.th-pnd93-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-pnd93-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  text-align: right;
  white-space: nowrap;
}
.th-pnd93-bar {
  position: relative;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-pnd93-bar span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-pnd93-bar .is-other { background: #efe9de; }
.th-pnd93-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
}
.th-pnd93-path {
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
}
.th-pnd93-path.is-current { border-color: #cc785c; }
.th-pnd93-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-pnd93-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-pnd93-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-pnd93-path-total {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
}
.th-pnd93-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-pnd93-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-pnd93-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-pnd93-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-pnd93-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-pnd93-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-pnd93-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-pnd93-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.th-pnd93-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-pnd93-coach:empty { display: none; }
.th-pnd93-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-pnd93-inst,
  .th-pnd93-head,
  .th-pnd93-compare {
    grid-template-columns: 1fr;
  }
  .th-pnd93-del { justify-self: start; }
  .th-pnd93-status { text-align: left; }
  .th-pnd93-threshold-labs { flex-wrap: wrap; }
  .th-pnd93-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-pnd93-amt { white-space: normal; }
  .th-pnd93-headline-num { font-size: 1.7rem; }
  .th-pnd93-name,
  .th-pnd93-path-kicker { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-pnd93-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-pnd93-bar,
  .th-pnd93-threshold-bar { background: #181715; }
  .th-pnd93-path,
  .th-pnd93-threshold { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国预扣 5% 收款年抵减轨道 .th-wht-rack（20261110y） ---------- */
.th-wht-inst-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.th-wht-inst {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) auto;
  gap: 0.45rem 0.65rem;
  align-items: end;
}
.th-wht-inst label {
  display: block;
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-wht-del {
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}
.th-wht-inst-actions {
  margin: 0.35rem 0 0;
}
.th-wht-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-wht-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-wht-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-wht-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-wht-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-wht-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-wht-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-wht-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-wht-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-wht-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-wht-swatch.is-focus::before { background: #cc785c; }
.th-wht-swatch.is-other::before { background: #efe9de; }
.th-wht-swatch.is-same::before { background: #c4a484; }
.th-wht-swatch.is-prior::before { background: #8a847c; }
.th-wht-swatch.is-tax::before { background: #e0a090; }
.th-wht-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-wht-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-wht-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-wht-needle {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.05rem;
  margin-left: -1px;
  background: #cc785c;
  border-radius: 999px;
  pointer-events: none;
}
.th-wht-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-wht-threshold-labs .is-mid {
  text-align: center;
  color: #e0a090;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.th-wht-block { margin: 0 0 0.85rem; }
.th-wht-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.th-wht-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-wht-amt {
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums lining-nums;
  color: #f6f1ea;
  text-align: right;
  overflow-wrap: anywhere;
}
.th-wht-settle {
  position: relative;
  padding: 0.2rem 0 0.15rem;
  overflow: visible;
}
.th-wht-bar {
  position: relative;
  display: flex;
  height: 0.72rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-wht-bar span { height: 100%; }
.th-wht-bar .is-focus { background: #cc785c; }
.th-wht-bar .is-other { background: #efe9de; }
.th-wht-bar .is-same { background: #c4a484; }
.th-wht-bar .is-prior { background: #8a847c; }
.th-wht-taxline {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.02rem;
  margin-left: -1px;
  background: #e0a090;
  border-radius: 999px;
  pointer-events: none;
}
.th-wht-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
}
.th-wht-path {
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
}
.th-wht-path.is-current { border-color: #cc785c; }
.th-wht-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-wht-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-wht-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-wht-path-total {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-wht-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-wht-delta {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-wht-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-wht-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-wht-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-wht-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-wht-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-wht-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.th-wht-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-wht-coach:empty { display: none; }
.th-wht-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-wht-inst,
  .th-wht-head,
  .th-wht-compare {
    grid-template-columns: 1fr;
  }
  .th-wht-del { justify-self: start; }
  .th-wht-status { text-align: left; }
  .th-wht-threshold-labs { flex-wrap: wrap; }
  .th-wht-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-wht-headline-num { font-size: 1.7rem; }
  .th-wht-name,
  .th-wht-path-kicker { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-wht-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-wht-bar,
  .th-wht-threshold-bar { background: #181715; }
  .th-wht-path,
  .th-wht-threshold { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国预收整笔与年平均对照轨道 .th-path-rack（20261110y） ---------- */
.th-path-inst-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.th-path-inst {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) auto;
  gap: 0.45rem 0.65rem;
  align-items: end;
}
.th-path-inst label {
  display: block;
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-path-del {
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}
.th-path-inst-actions {
  margin: 0.35rem 0 0;
}
.th-path-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-path-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-path-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-path-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-path-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-path-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-path-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-path-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-path-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-path-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-path-swatch.is-other::before { background: #efe9de; }
.th-path-swatch.is-wht::before { background: #e0a090; }
.th-path-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-path-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-path-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-path-needle {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.05rem;
  margin-left: -1px;
  background: #cc785c;
  border-radius: 999px;
  pointer-events: none;
}
.th-path-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-path-threshold-labs .is-mid {
  text-align: center;
  color: #e0a090;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.th-path-block { margin: 0 0 0.7rem; }
.th-path-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
  margin-bottom: 0.28rem;
}
.th-path-name {
  font-size: 0.84rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-path-income {
  display: flex;
  height: 0.62rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-path-income span { height: 100%; }
.th-path-income .is-lump { background: #cc785c; }
.th-path-income .is-avg { background: #c4a484; }
.th-path-income .is-empty { background: #2a2622; }
.th-path-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.7rem;
}
.th-path-path {
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
}
.th-path-path.is-current { border-color: #cc785c; }
.th-path-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-path-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-path-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-path-path-total {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-path-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-path-delta {
  margin: 0.35rem 0 0.85rem;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-path-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-path-years {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.2rem;
}
.th-path-year {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.05fr) minmax(0, 1.15fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #2a2622;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-path-year.is-head {
  background: transparent;
  padding-top: 0;
  color: #efe9de;
  font-weight: 600;
}
.th-path-year.is-focus {
  border: 1px solid #cc785c;
  color: #f6f1ea;
}
.th-path-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-path-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-path-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-path-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-path-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.th-path-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-path-coach:empty { display: none; }
.th-path-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-path-inst,
  .th-path-head,
  .th-path-compare,
  .th-path-year {
    grid-template-columns: 1fr;
  }
  .th-path-del { justify-self: start; }
  .th-path-status { text-align: left; }
  .th-path-threshold-labs { flex-wrap: wrap; }
  .th-path-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-path-headline-num { font-size: 1.7rem; }
  .th-path-name,
  .th-path-path-kicker,
  .th-path-year { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-path-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-path-income,
  .th-path-threshold-bar { background: #181715; }
  .th-path-path,
  .th-path-threshold,
  .th-path-year { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国 ภ.ง.ด.93 逾期预缴滞纳金轨道 .th-surch-rack（20261110z） ---------- */
.th-surch-inst-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.th-surch-inst {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) auto;
  gap: 0.45rem 0.65rem;
  align-items: end;
}
.th-surch-inst label {
  display: block;
  margin: 0 0 0.25rem;
  font-size: 0.8rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-surch-del {
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}
.th-surch-inst-actions {
  margin: 0.35rem 0 0;
}
.th-surch-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-surch-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-surch-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
}
.th-surch-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-surch-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-surch-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-surch-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-surch-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-surch-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-surch-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-surch-swatch.is-base::before { background: #cc785c; }
.th-surch-swatch.is-y0::before { background: #efe9de; }
.th-surch-swatch.is-future::before { background: #c4a484; }
.th-surch-swatch.is-lump::before { background: #e0a090; }
.th-surch-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-surch-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-surch-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-surch-span.is-grace { background: #3a3530; }
.th-surch-span.is-count { background: #cc785c; }
.th-surch-needle {
  position: absolute;
  top: -0.15rem;
  width: 2px;
  height: 1.05rem;
  margin-left: -1px;
  background: #cc785c;
  border-radius: 999px;
  pointer-events: none;
}
.th-surch-threshold-labs {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  line-height: 1.35;
  color: #d9d0c5;
}
.th-surch-threshold-labs .is-mid {
  text-align: center;
  color: #e0a090;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.th-surch-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.7rem;
}
.th-surch-path {
  padding: 0.7rem 0.75rem 0.75rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
}
.th-surch-path.is-current { border-color: #cc785c; }
.th-surch-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-surch-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-surch-tax small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #d9d0c5;
}
.th-surch-path-total {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  line-height: 1.4;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-surch-path-note {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-surch-delta {
  margin: 0.35rem 0 0.85rem;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #efe9de;
}
.th-surch-delta strong {
  color: #f6f1ea;
  font-weight: 600;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-surch-years {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.2rem;
}
.th-surch-year {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #2a2622;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums lining-nums;
}
.th-surch-year.is-head {
  background: transparent;
  padding-top: 0;
  color: #efe9de;
  font-weight: 600;
}
.th-surch-year.is-focus {
  border: 1px solid #cc785c;
  color: #f6f1ea;
}
.th-surch-headline {
  margin: 0 0 0.85rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #efe9de;
}
.th-surch-headline-kicker {
  margin: 0;
  font-size: 0.8rem;
  color: #5c564f;
}
.th-surch-headline-num {
  margin: 0.15rem 0 0;
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 600;
  color: #cc785c;
  font-variant-numeric: tabular-nums lining-nums;
  overflow-wrap: anywhere;
}
.th-surch-headline-num small {
  font-size: 0.7rem;
  font-weight: 500;
  color: #5c564f;
}
.th-surch-headline-sub {
  margin: 0.3rem 0 0;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #3a3530;
  overflow-wrap: anywhere;
}
.th-surch-coach {
  margin: 0.45rem 0 0.15rem;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  background: #efe9de;
  border: 1px solid #e0d5c4;
  font-size: 0.82rem;
  line-height: 1.5;
  color: #3a3530;
}
.th-surch-coach:empty { display: none; }
.th-surch-coach.is-warn { border-color: #b45a3c; }
@media (max-width: 720px) {
  .th-surch-inst,
  .th-surch-head,
  .th-surch-compare,
  .th-surch-year {
    grid-template-columns: 1fr;
  }
  .th-surch-del { justify-self: start; }
  .th-surch-status { text-align: left; }
  .th-surch-threshold-labs { flex-wrap: wrap; }
  .th-surch-threshold-labs .is-mid {
    flex: 1 0 100%;
    order: -1;
    text-align: left;
  }
  .th-surch-headline-num { font-size: 1.7rem; }
  .th-surch-path-kicker,
  .th-surch-year { overflow-wrap: anywhere; }
}
@media (prefers-color-scheme: dark) {
  .th-surch-rack {
    background: var(--surface-dark-elevated, #1f1c19);
    border-color: #3a3732;
  }
  .th-surch-threshold-bar { background: #181715; }
  .th-surch-path,
  .th-surch-threshold,
  .th-surch-year { background: var(--surface-dark-soft, #2a2622); }
}
/* ---------- 泰国不动产租约印花税轨道 .th-stamp-rack（20261110aa） ---------- */
.th-stamp-coach {
  margin: 0.35rem 0 0.7rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  border: 1px solid #d9d0c5;
  background: #efe9de;
  color: #3a3530;
  font-size: 0.82rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-stamp-coach:empty { display: none; }
.th-stamp-coach.is-warn { border-color: #b45a3c; }
.th-stamp-headline {
  margin: 0 0 0.85rem;
}
.th-stamp-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--muted, #6b645b);
  overflow-wrap: anywhere;
}
.th-stamp-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 2.85rem);
  line-height: 1.15;
  font-weight: 600;
  color: #1f1c19;
  overflow-wrap: anywhere;
}
.th-stamp-headline-num small {
  font-size: 0.42em;
  font-weight: 500;
  margin-left: 0.15rem;
}
.th-stamp-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5c534a;
  overflow-wrap: anywhere;
}
.th-stamp-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-stamp-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-stamp-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-stamp-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-stamp-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-stamp-threshold,
.th-stamp-deadline {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-stamp-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-stamp-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-stamp-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-stamp-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-stamp-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-stamp-span.is-prepaid { background: #efe9de; }
.th-stamp-span.is-rent { background: #cc785c; }
.th-stamp-span.is-key { background: #c4a484; }
.th-stamp-span.is-grace { background: #efe9de; }
.th-stamp-span.is-late { background: #cc785c; }
.th-stamp-needle {
  position: absolute;
  top: -0.15rem;
  width: 0.16rem;
  height: 0.95rem;
  margin-left: -0.08rem;
  background: #faf9f5;
  border-radius: 2px;
  box-shadow: 0 0 0 2px #1f1c19;
  pointer-events: none;
}
.th-stamp-threshold-labs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.25rem 0.6rem;
  margin-top: 0.45rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-stamp-threshold-labs .is-mid { text-align: center; }
.th-stamp-threshold-labs span:last-child { text-align: right; }
.th-stamp-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-stamp-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-stamp-swatch.is-prepaid::before { background: #efe9de; }
.th-stamp-swatch.is-rent::before { background: #cc785c; }
.th-stamp-swatch.is-key::before { background: #c4a484; }
.th-stamp-swatch.is-deposit::before { background: #6b645b; }
.th-stamp-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-stamp-path {
  padding: 0.75rem 0.8rem 0.8rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
  min-width: 0;
}
.th-stamp-path.is-current {
  border-color: #cc785c;
  box-shadow: 0 0 0 1px rgba(204, 120, 92, 0.35);
}
.th-stamp-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-stamp-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-stamp-tax small {
  font-size: 0.45em;
  margin-left: 0.15rem;
}
.th-stamp-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #f6f1ea;
  overflow-wrap: anywhere;
}
.th-stamp-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-stamp-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-stamp-delta strong { color: #faf9f5; }
.th-stamp-years {
  display: grid;
  gap: 0.35rem;
}
.th-stamp-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #2a2622;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-stamp-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-stamp-year.is-focus {
  border: 1px solid #cc785c;
}
.th-stamp-year.is-late {
  border: 1px solid #e0a090;
}
.th-stamp-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-stamp-head,
  .th-stamp-compare,
  .th-stamp-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-stamp-status,
  .th-stamp-threshold-labs,
  .th-stamp-threshold-labs .is-mid,
  .th-stamp-threshold-labs span:last-child {
    text-align: left;
  }
  .th-stamp-tax { font-size: 1.35rem; }
  .th-stamp-headline-num { font-size: 2rem; }
}
@media (prefers-color-scheme: dark) {
  .th-stamp-headline-num { color: #faf9f5; }
  .th-stamp-headline-sub { color: #d9d0c5; }
  .th-stamp-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-stamp-threshold-bar { background: #181715; }
  .th-stamp-path,
  .th-stamp-threshold,
  .th-stamp-deadline,
  .th-stamp-year { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国土地厅买卖税费轨道 .th-xfer-rack（20261110ac） ---------- */
.th-xfer-coach {
  margin: 0.35rem 0 0.7rem;
  padding: 0.65rem 0.75rem;
  border-radius: 12px;
  border: 1px solid #d9d0c5;
  background: #efe9de;
  color: #3a3530;
  font-size: 0.82rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-xfer-coach:empty { display: none; }
.th-xfer-coach.is-warn { border-color: #b45a3c; }
.th-xfer-headline { margin: 0 0 0.85rem; }
.th-xfer-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: var(--muted, #6b645b);
  overflow-wrap: anywhere;
}
.th-xfer-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 2.85rem);
  line-height: 1.15;
  font-weight: 600;
  color: #1f1c19;
  overflow-wrap: anywhere;
}
.th-xfer-headline-num small {
  font-size: 0.42em;
  font-weight: 500;
  margin-left: 0.15rem;
}
.th-xfer-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5c534a;
  overflow-wrap: anywhere;
}
.th-xfer-rack {
  margin-top: 1rem;
  padding: 1.05rem 1rem 0.95rem;
  background: #1f1c19;
  color: #f6f1ea;
  border-radius: 16px;
  border: 1px solid #3a3530;
}
.th-xfer-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 0.4rem 1rem;
  align-items: baseline;
  margin-bottom: 0.45rem;
}
.th-xfer-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  font-weight: 600;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-xfer-status {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  text-align: right;
  font-weight: 600;
  color: #e0a090;
  overflow-wrap: anywhere;
}
.th-xfer-lead {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: var(--on-dark-soft, #d9d0c5);
}
.th-xfer-threshold {
  margin: 0 0 0.85rem;
  padding: 0.65rem 0.7rem 0.7rem;
  border-radius: 12px;
  background: #2a2622;
}
.th-xfer-threshold-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.45rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-xfer-threshold-meta strong {
  color: #f6f1ea;
  font-weight: 600;
}
.th-xfer-threshold-track {
  position: relative;
  padding: 0.35rem 0 0.15rem;
  overflow: visible;
}
.th-xfer-threshold-bar {
  position: relative;
  height: 0.55rem;
  border-radius: 999px;
  background: #181715;
  overflow: hidden;
}
.th-xfer-span {
  position: absolute;
  top: 0;
  bottom: 0;
  border-radius: 999px;
}
.th-xfer-span.is-fee { background: #efe9de; }
.th-xfer-span.is-midtax { background: #cc785c; }
.th-xfer-span.is-wht { background: #c4a484; }
.th-xfer-span.is-mort { background: #8a7d72; }
.th-xfer-threshold-labs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.25rem 0.6rem;
  margin-top: 0.45rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-xfer-threshold-labs .is-mid { text-align: center; }
.th-xfer-threshold-labs span:last-child { text-align: right; }
.th-xfer-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-xfer-swatch::before {
  content: "";
  display: inline-block;
  width: 0.7rem;
  height: 0.7rem;
  margin-right: 0.35rem;
  border-radius: 999px;
  vertical-align: -0.1rem;
  background: var(--swatch, #cc785c);
}
.th-xfer-swatch.is-fee::before { background: #efe9de; }
.th-xfer-swatch.is-midtax::before { background: #cc785c; }
.th-xfer-swatch.is-wht::before { background: #c4a484; }
.th-xfer-swatch.is-mort::before { background: #8a7d72; }
.th-xfer-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-xfer-path {
  padding: 0.75rem 0.8rem 0.8rem;
  border-radius: 12px;
  background: #2a2622;
  border: 1px solid transparent;
  min-width: 0;
}
.th-xfer-path.is-current {
  border-color: #cc785c;
  box-shadow: 0 0 0 1px rgba(204, 120, 92, 0.35);
}
.th-xfer-path-kicker {
  margin: 0 0 0.3rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-xfer-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 600;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-xfer-tax small {
  font-size: 0.45em;
  margin-left: 0.15rem;
}
.th-xfer-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #f6f1ea;
  overflow-wrap: anywhere;
}
.th-xfer-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-xfer-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-xfer-delta strong { color: #faf9f5; }
.th-xfer-years { display: grid; gap: 0.35rem; }
.th-xfer-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #2a2622;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-xfer-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-xfer-year.is-focus { border: 1px solid #cc785c; }
.th-xfer-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-xfer-head,
  .th-xfer-compare,
  .th-xfer-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-xfer-status,
  .th-xfer-threshold-labs,
  .th-xfer-threshold-labs .is-mid,
  .th-xfer-threshold-labs span:last-child {
    text-align: left;
  }
  .th-xfer-tax { font-size: 1.35rem; }
  .th-xfer-headline-num { font-size: 2rem; }
}
@media (prefers-color-scheme: dark) {
  .th-xfer-headline-num { color: #faf9f5; }
  .th-xfer-headline-sub { color: #d9d0c5; }
  .th-xfer-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-xfer-coach.is-warn { border-color: #e0a090; }
  .th-xfer-threshold,
  .th-xfer-year { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国年度土地房屋税轨道 .th-lbt-rack（20261110ac） ---------- */
.th-lbt-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-lbt-coach:empty { display: none; }
.th-lbt-coach.is-warn { border-color: #b45a3c; }
.th-lbt-headline { margin: 0 0 0.85rem; }
.th-lbt-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.th-lbt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.th-lbt-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.th-lbt-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.th-lbt-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.th-lbt-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.th-lbt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-lbt-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.th-lbt-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-lbt-threshold { margin: 0 0 0.85rem; }
.th-lbt-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-lbt-threshold-meta strong { color: #faf9f5; }
.th-lbt-threshold-track { position: relative; }
.th-lbt-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.th-lbt-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.th-lbt-span.is-ex { background: #efe9de; }
.th-lbt-span.is-tx { background: #cc785c; }
.th-lbt-threshold-labs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.35rem 0.6rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-lbt-threshold-labs .is-mid { text-align: center; }
.th-lbt-threshold-labs span:last-child { text-align: right; }
.th-lbt-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.th-lbt-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.th-lbt-swatch.is-ex::before { background: #efe9de; }
.th-lbt-swatch.is-tx::before { background: #cc785c; }
.th-lbt-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-lbt-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.th-lbt-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.th-lbt-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-lbt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-lbt-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.th-lbt-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.th-lbt-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-lbt-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-lbt-delta strong { color: #faf9f5; }
.th-lbt-years { display: grid; gap: 0.35rem; }
.th-lbt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-lbt-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-lbt-year.is-focus { border: 1px solid #cc785c; }
.th-lbt-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-lbt-head,
  .th-lbt-compare,
  .th-lbt-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-lbt-status,
  .th-lbt-threshold-labs,
  .th-lbt-threshold-labs .is-mid,
  .th-lbt-threshold-labs span:last-child {
    text-align: left;
  }
  .th-lbt-tax { font-size: 1.35rem; }
  .th-lbt-headline-num { font-size: 2rem; }
}
@media (prefers-color-scheme: dark) {
  .th-lbt-headline-num { color: #faf9f5; }
  .th-lbt-headline-sub { color: #d9d0c5; }
  .th-lbt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-lbt-coach.is-warn { border-color: #e0a090; }
  .th-lbt-threshold,
  .th-lbt-year { background: var(--surface-dark-soft, #2a2622); }
}

/* ---------- 泰国土地房屋税分摊与合并轨道 .th-alloc-rack（20261110ad） ---------- */
.th-alloc-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.th-alloc-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.th-alloc-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.th-alloc-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.th-alloc-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.th-alloc-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-alloc-coach:empty { display: none; }
.th-alloc-coach.is-warn { border-color: #b45a3c; }
.th-alloc-headline { margin: 0 0 0.85rem; }
.th-alloc-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.th-alloc-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.th-alloc-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.th-alloc-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.th-alloc-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.th-alloc-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.th-alloc-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-alloc-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.th-alloc-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-alloc-threshold { margin: 0 0 0.85rem; }
.th-alloc-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-alloc-threshold-meta strong { color: #faf9f5; }
.th-alloc-threshold-track { position: relative; }
.th-alloc-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.th-alloc-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.th-alloc-span.is-residential,
.th-alloc-span.is-u0 { background: #efe9de; }
.th-alloc-span.is-agriculture { background: #b7c9a8; }
.th-alloc-span.is-other,
.th-alloc-span.is-u1 { background: #cc785c; }
.th-alloc-span.is-vacant,
.th-alloc-span.is-u2 { background: #8a7d72; }
.th-alloc-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-alloc-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.th-alloc-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.th-alloc-swatch.is-residential::before,
.th-alloc-swatch.is-u0::before { background: #efe9de; }
.th-alloc-swatch.is-agriculture::before { background: #b7c9a8; }
.th-alloc-swatch.is-other::before,
.th-alloc-swatch.is-u1::before { background: #cc785c; }
.th-alloc-swatch.is-vacant::before,
.th-alloc-swatch.is-u2::before { background: #8a7d72; }
.th-alloc-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-alloc-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.th-alloc-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.th-alloc-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-alloc-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-alloc-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.th-alloc-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.th-alloc-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-alloc-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-alloc-delta strong { color: #faf9f5; }
.th-alloc-years { display: grid; gap: 0.35rem; }
.th-alloc-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-alloc-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-alloc-year.is-focus { border: 1px solid #cc785c; }
.th-alloc-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-alloc-modes,
  .th-alloc-head,
  .th-alloc-compare,
  .th-alloc-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-alloc-status {
    text-align: left;
  }
  .th-alloc-tax { font-size: 1.35rem; }
  .th-alloc-headline-num { font-size: 2rem; }
  .th-alloc-modes label { font-size: 0.84rem; }
}
@media (prefers-color-scheme: dark) {
  .th-alloc-headline-num { color: #faf9f5; }
  .th-alloc-headline-sub { color: #d9d0c5; }
  .th-alloc-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-alloc-coach.is-warn { border-color: #e0a090; }
  .th-alloc-modes legend { color: #f6f1ea; }
  .th-alloc-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-alloc-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 泰国亲属赠与／继承过户轨道 .th-gift-rack（20261110ae） ---------- */
.th-gift-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.th-gift-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.th-gift-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.th-gift-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.th-gift-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.th-gift-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-gift-coach:empty { display: none; }
.th-gift-coach.is-warn { border-color: #b45a3c; }
.th-gift-headline { margin: 0 0 0.85rem; }
.th-gift-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.th-gift-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.th-gift-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.th-gift-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.th-gift-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.th-gift-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.th-gift-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-gift-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.th-gift-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-gift-threshold { margin: 0 0 0.85rem; }
.th-gift-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-gift-threshold-meta strong { color: #faf9f5; }
.th-gift-threshold-track { position: relative; }
.th-gift-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.th-gift-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.th-gift-span.is-fee { background: #efe9de; }
.th-gift-span.is-income { background: #cc785c; }
.th-gift-span.is-sbt { background: #8a7d72; }
.th-gift-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-gift-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.th-gift-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.th-gift-swatch.is-fee::before { background: #efe9de; }
.th-gift-swatch.is-income::before { background: #cc785c; }
.th-gift-swatch.is-sbt::before { background: #8a7d72; }
.th-gift-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-gift-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.th-gift-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.th-gift-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-gift-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-gift-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.th-gift-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.th-gift-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-gift-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-gift-delta strong { color: #faf9f5; }
.th-gift-years { display: grid; gap: 0.35rem; }
.th-gift-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-gift-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-gift-year.is-focus { border: 1px solid #cc785c; }
.th-gift-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-gift-modes,
  .th-gift-head,
  .th-gift-compare,
  .th-gift-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-gift-status { text-align: left; }
  .th-gift-tax { font-size: 1.35rem; }
  .th-gift-headline-num { font-size: 2rem; }
  .th-gift-modes label { font-size: 0.84rem; }
  .th-gift-year span:nth-child(1) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .th-gift-headline-num { color: #faf9f5; }
  .th-gift-headline-sub { color: #d9d0c5; }
  .th-gift-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-gift-coach.is-warn { border-color: #e0a090; }
  .th-gift-modes legend { color: #f6f1ea; }
  .th-gift-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-gift-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 泰国用益权／居住权登记轨道 .th-usufruct-rack（20261110ag） ---------- */
.th-usufruct-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.th-usufruct-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.th-usufruct-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.th-usufruct-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.th-usufruct-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}

.th-usufruct-modes.is-three {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
.th-usufruct-span.is-gift { background: #8a7d72; }
.th-usufruct-span.is-fee { background: #efe9de; }
.th-usufruct-span.is-stamp { background: #cc785c; }
.th-usufruct-swatch.is-gift::before { background: #8a7d72; }
.th-usufruct-swatch.is-fee::before { background: #efe9de; }
.th-usufruct-swatch.is-stamp::before { background: #cc785c; }
.th-usufruct-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.th-usufruct-coach:empty { display: none; }
.th-usufruct-coach.is-warn { border-color: #b45a3c; }
.th-usufruct-headline { margin: 0 0 0.85rem; }
.th-usufruct-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.th-usufruct-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.th-usufruct-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.th-usufruct-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.th-usufruct-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.th-usufruct-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.th-usufruct-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-usufruct-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.th-usufruct-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-usufruct-threshold { margin: 0 0 0.85rem; }
.th-usufruct-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-usufruct-threshold-meta strong { color: #faf9f5; }
.th-usufruct-threshold-track { position: relative; }
.th-usufruct-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.th-usufruct-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.th-usufruct-span.is-fee { background: #efe9de; }
.th-usufruct-span.is-income { background: #cc785c; }
.th-usufruct-span.is-sbt { background: #8a7d72; }
.th-usufruct-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.th-usufruct-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.th-usufruct-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.th-usufruct-swatch.is-fee::before { background: #efe9de; }
.th-usufruct-swatch.is-income::before { background: #cc785c; }
.th-usufruct-swatch.is-sbt::before { background: #8a7d72; }
.th-usufruct-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0 0 0.85rem;
}
.th-usufruct-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.th-usufruct-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.th-usufruct-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.th-usufruct-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-usufruct-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.th-usufruct-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.th-usufruct-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.th-usufruct-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.th-usufruct-delta strong { color: #faf9f5; }
.th-usufruct-years { display: grid; gap: 0.35rem; }
.th-usufruct-year {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.th-usufruct-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.th-usufruct-year.is-focus { border: 1px solid #cc785c; }
.th-usufruct-year span:nth-child(2) { font-weight: 600; color: #f6f1ea; }
@media (max-width: 720px) {
  .th-usufruct-modes,
  .th-usufruct-modes.is-three,
  .th-usufruct-head,
  .th-usufruct-compare,
  .th-usufruct-year {
    grid-template-columns: minmax(0, 1fr);
  }
  .th-usufruct-status { text-align: left; }
  .th-usufruct-tax { font-size: 1.35rem; }
  .th-usufruct-headline-num { font-size: 2rem; }
  .th-usufruct-modes label { font-size: 0.84rem; }
  .th-usufruct-year span:nth-child(1) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .th-usufruct-headline-num { color: #faf9f5; }
  .th-usufruct-headline-sub { color: #d9d0c5; }
  .th-usufruct-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-usufruct-coach.is-warn { border-color: #e0a090; }
  .th-usufruct-modes legend { color: #f6f1ea; }
  .th-usufruct-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-usufruct-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾地价税轨道 .tw-lvt-rack（20261110ag） ---------- */
.tw-lvt-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.tw-lvt-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-lvt-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.tw-lvt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-lvt-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.tw-lvt-modes.is-three {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
.tw-lvt-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.tw-lvt-coach:empty { display: none; }
.tw-lvt-coach.is-warn { border-color: #b45a3c; }
.tw-lvt-headline { margin: 0 0 0.85rem; }
.tw-lvt-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.tw-lvt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.tw-lvt-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.tw-lvt-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.tw-lvt-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.tw-lvt-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.tw-lvt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvt-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.tw-lvt-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvt-threshold { margin: 0 0 0.85rem; }
.tw-lvt-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvt-threshold-meta strong { color: #faf9f5; }
.tw-lvt-threshold-track { position: relative; }
.tw-lvt-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.tw-lvt-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.tw-lvt-span.is-base { background: #efe9de; }
.tw-lvt-span.is-self { background: #cc785c; }
.tw-lvt-span.is-gen { background: #8a7d72; }
.tw-lvt-span.is-ind { background: #efe9de; }
.tw-lvt-span.is-res { background: #c4b8a8; }
.tw-lvt-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvt-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.tw-lvt-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.tw-lvt-swatch.is-self::before { background: #cc785c; }
.tw-lvt-swatch.is-gen::before { background: #8a7d72; }
.tw-lvt-swatch.is-ind::before { background: #efe9de; }
.tw-lvt-swatch.is-res::before { background: #c4b8a8; }
.tw-lvt-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0.85rem 0;
}
.tw-lvt-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.tw-lvt-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.tw-lvt-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.tw-lvt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvt-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.tw-lvt-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.tw-lvt-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.tw-lvt-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.tw-lvt-delta strong { color: #faf9f5; }
.tw-lvt-years { display: grid; gap: 0.35rem; }
.tw-lvt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.tw-lvt-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.tw-lvt-year.is-focus { border: 1px solid #cc785c; }
.tw-lvt-year span:nth-child(2),
.tw-lvt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; }
.tw-lvt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .tw-lvt-modes,
  .tw-lvt-modes.is-three,
  .tw-lvt-head,
  .tw-lvt-compare,
  .tw-lvt-year,
  .tw-lvt-threshold-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .tw-lvt-status { text-align: left; }
  .tw-lvt-tax { font-size: 1.35rem; }
  .tw-lvt-headline-num { font-size: 2rem; }
  .tw-lvt-modes label { font-size: 0.84rem; }
  .tw-lvt-year span:nth-child(1),
  .tw-lvt-year span:nth-child(2),
  .tw-lvt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-lvt-headline-num { color: #faf9f5; }
  .tw-lvt-headline-sub { color: #d9d0c5; }
  .tw-lvt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvt-coach.is-warn { border-color: #e0a090; }
  .tw-lvt-modes legend { color: #f6f1ea; }
  .tw-lvt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾土地增值税轨道 .tw-lvi-rack（20261110ai） ---------- */
.tw-lvi-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.tw-lvi-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-lvi-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.tw-lvi-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-lvi-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.tw-lvi-modes.is-three {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}
.tw-lvi-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-lvi-checks legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-lvi-checks label {
  display: block;
  padding: 0.55rem 0.7rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.84rem;
  color: #3a3530;
}
.tw-lvi-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-lvi-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.tw-lvi-coach:empty { display: none; }
.tw-lvi-coach.is-warn { border-color: #b45a3c; }
.tw-lvi-headline { margin: 0 0 0.85rem; }
.tw-lvi-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.tw-lvi-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.tw-lvi-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.tw-lvi-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.tw-lvi-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.tw-lvi-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.tw-lvi-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvi-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.tw-lvi-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvi-threshold { margin: 0 0 0.85rem; }
.tw-lvi-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvi-threshold-meta strong { color: #faf9f5; }
.tw-lvi-threshold-track { position: relative; }
.tw-lvi-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.tw-lvi-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.tw-lvi-span.is-base { background: #efe9de; }
.tw-lvi-span.is-self { background: #cc785c; }
.tw-lvi-span.is-gen { background: #8a7d72; }
.tw-lvi-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvi-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.tw-lvi-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.tw-lvi-swatch.is-self::before { background: #cc785c; }
.tw-lvi-swatch.is-gen::before { background: #8a7d72; }
.tw-lvi-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0.85rem 0;
}
.tw-lvi-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.tw-lvi-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.tw-lvi-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.tw-lvi-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvi-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.tw-lvi-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.tw-lvi-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.tw-lvi-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.tw-lvi-delta strong { color: #faf9f5; }
.tw-lvi-years { display: grid; gap: 0.35rem; }
.tw-lvi-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.tw-lvi-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.tw-lvi-year.is-focus { border: 1px solid #cc785c; }
.tw-lvi-year span:nth-child(2),
.tw-lvi-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; }
.tw-lvi-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .tw-lvi-modes,
  .tw-lvi-modes.is-three,
  .tw-lvi-head,
  .tw-lvi-compare,
  .tw-lvi-year,
  .tw-lvi-threshold-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .tw-lvi-status { text-align: left; }
  .tw-lvi-tax { font-size: 1.35rem; }
  .tw-lvi-headline-num { font-size: 2rem; }
  .tw-lvi-modes label,
  .tw-lvi-checks label { font-size: 0.84rem; }
  .tw-lvi-year span:nth-child(1),
  .tw-lvi-year span:nth-child(2),
  .tw-lvi-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-lvi-headline-num { color: #faf9f5; }
  .tw-lvi-headline-sub { color: #d9d0c5; }
  .tw-lvi-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvi-coach.is-warn { border-color: #e0a090; }
  .tw-lvi-modes legend,
  .tw-lvi-checks legend { color: #f6f1ea; }
  .tw-lvi-modes label,
  .tw-lvi-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvi-modes label:has(input:checked),
  .tw-lvi-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾土地增值税重购退税轨道 .tw-lvr-rack（20261110ai） ---------- */
.tw-lvr-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.tw-lvr-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-lvr-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.tw-lvr-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-lvr-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.tw-lvr-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-lvr-checks legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-lvr-checks label {
  display: block;
  padding: 0.55rem 0.7rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.84rem;
  color: #3a3530;
}
.tw-lvr-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-lvr-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.tw-lvr-coach:empty { display: none; }
.tw-lvr-coach.is-warn { border-color: #b45a3c; }
.tw-lvr-headline { margin: 0 0 0.85rem; }
.tw-lvr-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.tw-lvr-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.tw-lvr-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.tw-lvr-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.tw-lvr-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.tw-lvr-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.tw-lvr-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvr-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.tw-lvr-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvr-threshold { margin: 0 0 0.85rem; }
.tw-lvr-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvr-threshold-meta strong { color: #faf9f5; }
.tw-lvr-threshold-track { position: relative; }
.tw-lvr-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.tw-lvr-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.tw-lvr-span.is-base { background: #cc785c; }
.tw-lvr-mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 16px;
  margin-left: -1px;
  border-radius: 1px;
  background: #efe9de;
}
.tw-lvr-mark.is-start { background: #efe9de; }
.tw-lvr-mark.is-full { background: #faf9f5; width: 3px; }
.tw-lvr-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-lvr-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.tw-lvr-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.tw-lvr-swatch.is-new::before { background: #cc785c; }
.tw-lvr-swatch.is-start::before { background: #efe9de; }
.tw-lvr-swatch.is-full::before { background: #faf9f5; border: 1px solid #8a7d72; box-sizing: border-box; }
.tw-lvr-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0.85rem 0;
}
.tw-lvr-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.tw-lvr-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.tw-lvr-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.tw-lvr-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-lvr-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.tw-lvr-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.tw-lvr-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.tw-lvr-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.tw-lvr-delta strong { color: #faf9f5; }
.tw-lvr-years { display: grid; gap: 0.35rem; }
.tw-lvr-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.tw-lvr-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.tw-lvr-year.is-focus { border: 1px solid #cc785c; }
.tw-lvr-year span:nth-child(2),
.tw-lvr-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; }
.tw-lvr-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .tw-lvr-modes,
  .tw-lvr-head,
  .tw-lvr-compare,
  .tw-lvr-year,
  .tw-lvr-threshold-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .tw-lvr-status { text-align: left; }
  .tw-lvr-tax { font-size: 1.35rem; }
  .tw-lvr-headline-num { font-size: 2rem; }
  .tw-lvr-modes label,
  .tw-lvr-checks label { font-size: 0.84rem; }
  .tw-lvr-year span:nth-child(1),
  .tw-lvr-year span:nth-child(2),
  .tw-lvr-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-lvr-headline-num { color: #faf9f5; }
  .tw-lvr-headline-sub { color: #d9d0c5; }
  .tw-lvr-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvr-coach.is-warn { border-color: #e0a090; }
  .tw-lvr-modes legend,
  .tw-lvr-checks legend { color: #f6f1ea; }
  .tw-lvr-modes label,
  .tw-lvr-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-lvr-modes label:has(input:checked),
  .tw-lvr-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 台湾房地合一税重购退税／自住优惠轨道 .tw-hlr-rack（20261110ak） ---------- */
.tw-hlr-modes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.6rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
  min-inline-size: 0;
}
.tw-hlr-modes legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-hlr-modes label {
  display: block;
  padding: 0.7rem 0.8rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.86rem;
  color: #3a3530;
}
.tw-hlr-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-hlr-modes input {
  margin-right: 0.4rem;
  vertical-align: text-top;
}
.tw-hlr-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-hlr-checks legend {
  margin: 0 0 0.45rem;
  font-size: 0.84rem;
  font-weight: 600;
  color: #3a3530;
}
.tw-hlr-checks label {
  display: block;
  padding: 0.55rem 0.7rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  cursor: pointer;
  overflow-wrap: anywhere;
  line-height: 1.45;
  font-size: 0.84rem;
  color: #3a3530;
}
.tw-hlr-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f3;
}
.tw-hlr-coach {
  margin: 0.35rem 0 0.15rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #efe9de;
  border-radius: 12px;
  background: #faf9f5;
  color: #3a3530;
  font-size: 0.84rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.tw-hlr-coach:empty { display: none; }
.tw-hlr-coach.is-warn { border-color: #b45a3c; }
.tw-hlr-headline { margin: 0 0 0.85rem; }
.tw-hlr-headline-kicker {
  margin: 0 0 0.2rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: #8a7d72;
}
.tw-hlr-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  font-weight: 600;
  line-height: 1.15;
  color: #2a2622;
  overflow-wrap: anywhere;
}
.tw-hlr-headline-num small {
  font-size: 0.45em;
  font-weight: 500;
  color: #8a7d72;
}
.tw-hlr-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #5c534c;
  overflow-wrap: anywhere;
}
.tw-hlr-rack {
  margin: 0.9rem 0 0;
  padding: 1rem 1rem 1.1rem;
  border-radius: 16px;
  background: #2a2622;
  color: #f6f1ea;
}
.tw-hlr-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem 1rem;
  align-items: start;
  margin-bottom: 0.65rem;
}
.tw-hlr-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-hlr-status {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #efe9de;
  text-align: right;
  overflow-wrap: anywhere;
}
.tw-hlr-lead {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-hlr-threshold { margin: 0 0 0.85rem; }
.tw-hlr-threshold-meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-hlr-threshold-meta strong { color: #faf9f5; }
.tw-hlr-threshold-track { position: relative; }
.tw-hlr-threshold-bar {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #3a3530;
  overflow: hidden;
}
.tw-hlr-span {
  position: absolute;
  top: 0;
  bottom: 0;
}
.tw-hlr-span.is-base { background: #cc785c; }
.tw-hlr-mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 16px;
  margin-left: -1px;
  border-radius: 1px;
  background: #efe9de;
}
.tw-hlr-mark.is-start { background: #efe9de; }
.tw-hlr-mark.is-full { background: #faf9f5; width: 3px; }
.tw-hlr-threshold-labs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.8rem;
  margin-top: 0.4rem;
  font-size: 0.72rem;
  color: #d9d0c5;
  overflow-wrap: anywhere;
}
.tw-hlr-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.9rem;
  margin-top: 0.55rem;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  color: #d9d0c5;
}
.tw-hlr-swatch::before {
  content: "";
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  margin-right: 0.35rem;
  border-radius: 2px;
  vertical-align: -0.05rem;
}
.tw-hlr-swatch.is-new::before { background: #cc785c; }
.tw-hlr-swatch.is-start::before { background: #efe9de; }
.tw-hlr-swatch.is-full::before { background: #faf9f5; border: 1px solid #8a7d72; box-sizing: border-box; }
.tw-hlr-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.7rem;
  margin: 0.85rem 0;
}
.tw-hlr-path {
  padding: 0.75rem 0.8rem;
  border-radius: 12px;
  background: #3a3530;
  overflow-wrap: anywhere;
}
.tw-hlr-path.is-current {
  border: 1px solid #cc785c;
  background: #322c28;
}
.tw-hlr-path-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.72rem;
  line-height: 1.4;
  color: #d9d0c5;
}
.tw-hlr-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-hlr-tax small {
  font-size: 0.45em;
  font-weight: 500;
  color: #d9d0c5;
}
.tw-hlr-path-total {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: #f6f1ea;
}
.tw-hlr-path-note {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #d9d0c5;
}
.tw-hlr-delta {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #efe9de;
  overflow-wrap: anywhere;
}
.tw-hlr-delta strong { color: #faf9f5; }
.tw-hlr-years { display: grid; gap: 0.35rem; }
.tw-hlr-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr);
  gap: 0.35rem 0.7rem;
  padding: 0.45rem 0.55rem;
  border-radius: 10px;
  background: #322c28;
  font-size: 0.78rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.tw-hlr-year.is-head {
  background: transparent;
  color: #d9d0c5;
  font-weight: 600;
  padding-top: 0;
}
.tw-hlr-year.is-focus { border: 1px solid #cc785c; }
.tw-hlr-year span:nth-child(2),
.tw-hlr-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; }
.tw-hlr-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .tw-hlr-modes,
  .tw-hlr-head,
  .tw-hlr-compare,
  .tw-hlr-year,
  .tw-hlr-threshold-meta {
    grid-template-columns: minmax(0, 1fr);
  }
  .tw-hlr-status { text-align: left; }
  .tw-hlr-tax { font-size: 1.35rem; }
  .tw-hlr-headline-num { font-size: 2rem; }
  .tw-hlr-modes label,
  .tw-hlr-checks label { font-size: 0.84rem; }
  .tw-hlr-year span:nth-child(1),
  .tw-hlr-year span:nth-child(2),
  .tw-hlr-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-hlr-headline-num { color: #faf9f5; }
  .tw-hlr-headline-sub { color: #d9d0c5; }
  .tw-hlr-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-hlr-coach.is-warn { border-color: #e0a090; }
  .tw-hlr-modes legend,
  .tw-hlr-checks legend { color: #f6f1ea; }
  .tw-hlr-modes label,
  .tw-hlr-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-hlr-modes label:has(input:checked),
  .tw-hlr-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 工具查找／按要办的事分组（20261110ak） ---------- */
.tool-finder {
  background: #efe9de;
  border: 1px solid rgba(204, 120, 92, 0.28);
  border-radius: var(--radius-lg);
  padding: 1rem 1.05rem 0.95rem;
  display: grid;
  gap: 0.55rem;
  margin: 0 0 0.35rem;
}
.tool-finder-label {
  font-family: var(--font-display);
  font-size: 1.05rem;
  color: var(--ink);
  margin: 0;
}
.tool-finder-q {
  width: 100%;
  min-width: 0;
  min-height: 2.6rem;
  border: 1px solid rgba(80, 70, 62, 0.22);
  border-radius: var(--radius-md, 8px);
  background: #faf9f5;
  color: var(--ink);
  font: inherit;
  padding: 0.55rem 0.75rem;
  text-overflow: ellipsis;
}
.tool-finder-q:focus {
  outline: 2px solid #cc785c;
  outline-offset: 1px;
}
.tool-finder-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.tool-finder-chip {
  appearance: none;
  border: 1px solid rgba(80, 70, 62, 0.2);
  background: #faf9f5;
  color: var(--ink);
  border-radius: 999px;
  padding: 0.32rem 0.75rem;
  font-size: 0.86rem;
  cursor: pointer;
  font-family: var(--font);
}
.tool-finder-chip.is-on {
  background: #cc785c;
  border-color: #cc785c;
  color: #faf9f5;
}
.tool-finder-empty {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
}
.tool-catalog {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
  margin: 0.35rem 0 1.4rem;
}
.tool-catalog-group {
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
}
.tool-catalog-group > summary {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.15rem 0 0.55rem;
}
.tool-catalog-group > summary::-webkit-details-marker { display: none; }
.tool-catalog-group > summary::after {
  content: "▾";
  color: #cc785c;
  font-family: var(--font);
  font-size: 0.95rem;
  font-weight: 500;
}
.tool-catalog-group:not([open]) > summary::after { content: "▸"; }
.tool-catalog-home .tool-catalog-group .cards {
  margin: 0;
}
.nav-tool-search {
  grid-column: 1 / -1;
  padding: 0 0 0.2rem;
}
.nav-tool-search-input {
  width: 100%;
  min-height: 2.2rem;
  border: 1px solid var(--hairline);
  border-radius: var(--radius-sm, 6px);
  background: #faf9f5;
  color: var(--ink);
  font: inherit;
  font-size: 0.86rem;
  padding: 0.35rem 0.6rem;
}
.nav-tool-search-input:focus {
  outline: 2px solid #cc785c;
  outline-offset: 1px;
}
@media (max-width: 559px) {
  .card,
  .tool-card {
    padding: 1.15rem 1rem 1.05rem;
    gap: 0.5rem;
  }
  .card h2,
  .tool-card h2 {
    font-size: 1.08rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .card .btn,
  .tool-card .btn {
    width: 100%;
  }
  .tool-list li {
    padding: 0.85rem 0.95rem;
    flex-direction: column;
    align-items: stretch;
  }
  .tool-finder {
    padding: 0.85rem 0.85rem 0.8rem;
  }
  .tool-finder-chip { font-size: 0.8rem; }
}
@media (min-width: 720px) {
  .tool-catalog-group[open] > summary::after { opacity: 0.7; }
}
@media (prefers-color-scheme: dark) {
  .tool-finder {
    background: #2a2622;
    border-color: #3a3530;
  }
  .tool-finder-label,
  .tool-catalog-group > summary { color: #f6f1ea; }
  .tool-finder-q,
  .nav-tool-search-input,
  .tool-finder-chip {
    background: #1f1c19;
    color: #f6f1ea;
    border-color: #3a3530;
  }
  .tool-finder-chip.is-on {
    background: #cc785c;
    border-color: #cc785c;
    color: #faf9f5;
  }
  .tool-finder-empty { color: #d9d0c5; }
}

/* ---------- 越南不动产转让税费轨道 .vn-pt-rack（20261110ak） ---------- */
.vn-pt-modes,
.vn-pt-props {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.vn-pt-modes legend,
.vn-pt-props legend,
.vn-pt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.vn-pt-modes label,
.vn-pt-props label,
.vn-pt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.vn-pt-modes label:has(input:checked),
.vn-pt-props label:has(input:checked),
.vn-pt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.vn-pt-modes input,
.vn-pt-props input,
.vn-pt-checks input { margin-top: 0.2rem; }
.vn-pt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.vn-pt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.vn-pt-coach:empty { display: none; }
.vn-pt-coach.is-warn { border-color: #b45a3c; }
.vn-pt-headline { margin: 0 0 0.85rem; }
.vn-pt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.vn-pt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-pt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.vn-pt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
}
.vn-pt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.vn-pt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.vn-pt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.vn-pt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-pt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.vn-pt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.vn-pt-path.is-current { border-color: #cc785c; }
.vn-pt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-pt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-pt-tax small { font-size: 0.5em; font-family: var(--font); }
.vn-pt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.vn-pt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
}
.vn-pt-delta strong { color: #faf9f5; }
.vn-pt-years { display: grid; gap: 0.35rem; }
.vn-pt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.vn-pt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.vn-pt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.vn-pt-year span:nth-child(2),
.vn-pt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.vn-pt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .vn-pt-modes,
  .vn-pt-props,
  .vn-pt-head,
  .vn-pt-compare,
  .vn-pt-year {
    grid-template-columns: 1fr;
  }
  .vn-pt-status { text-align: left; }
  .vn-pt-tax { font-size: 1.35rem; }
  .vn-pt-headline-num { font-size: 2rem; }
  .vn-pt-modes label,
  .vn-pt-props label,
  .vn-pt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .vn-pt-year span:nth-child(1),
  .vn-pt-year span:nth-child(2),
  .vn-pt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .vn-pt-headline-num { color: #faf9f5; }
  .vn-pt-headline-sub { color: #d9d0c5; }
  .vn-pt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-pt-coach.is-warn { border-color: #e0a090; }
  .vn-pt-modes legend,
  .vn-pt-props legend,
  .vn-pt-checks legend { color: #f6f1ea; }
  .vn-pt-modes label,
  .vn-pt-props label,
  .vn-pt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-pt-modes label:has(input:checked),
  .vn-pt-props label:has(input:checked),
  .vn-pt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}


/* ---------- 印尼不动产过户税费轨道 .id-pt-rack（20261110al） ---------- */
.id-pt-modes,
.id-pt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.id-pt-modes legend,
.id-pt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.id-pt-modes label,
.id-pt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.id-pt-modes label:has(input:checked),
.id-pt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.id-pt-modes input,
.id-pt-checks input { margin-top: 0.2rem; }
.id-pt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.id-pt-coach:empty { display: none; }
.id-pt-coach.is-warn { border-color: #b45a3c; }
.id-pt-headline { margin: 0 0 0.85rem; }
.id-pt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.id-pt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-pt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.id-pt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.id-pt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.id-pt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.id-pt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.id-pt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-pt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.id-pt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.id-pt-path.is-current { border-color: #cc785c; }
.id-pt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-pt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-pt-tax small { font-size: 0.5em; font-family: var(--font); }
.id-pt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.id-pt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.id-pt-delta strong { color: #faf9f5; }
.id-pt-years { display: grid; gap: 0.35rem; }
.id-pt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.id-pt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.id-pt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.id-pt-year span:nth-child(2),
.id-pt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.id-pt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .id-pt-modes,
  .id-pt-checks,
  .id-pt-head,
  .id-pt-compare,
  .id-pt-year {
    grid-template-columns: 1fr;
  }
  .id-pt-status { text-align: left; }
  .id-pt-tax { font-size: 1.35rem; }
  .id-pt-headline-num { font-size: 2rem; }
  .id-pt-modes label,
  .id-pt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .id-pt-year span:nth-child(1),
  .id-pt-year span:nth-child(2),
  .id-pt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .id-pt-headline-num { color: #faf9f5; }
  .id-pt-headline-sub { color: #d9d0c5; }
  .id-pt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-pt-coach.is-warn { border-color: #e0a090; }
  .id-pt-modes legend,
  .id-pt-checks legend { color: #f6f1ea; }
  .id-pt-modes label,
  .id-pt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-pt-modes label:has(input:checked),
  .id-pt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}


/* ---------- 马来西亚产业利得税轨道 .my-rpgt-rack（20261110am） ---------- */
.my-rpgt-modes,
.my-rpgt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-rpgt-modes legend,
.my-rpgt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-rpgt-modes label,
.my-rpgt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-rpgt-modes label:has(input:checked),
.my-rpgt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-rpgt-modes input,
.my-rpgt-checks input { margin-top: 0.2rem; }
.my-rpgt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-rpgt-coach:empty { display: none; }
.my-rpgt-coach.is-warn { border-color: #b45a3c; }
.my-rpgt-headline { margin: 0 0 0.85rem; }
.my-rpgt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-rpgt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-rpgt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-rpgt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-rpgt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-rpgt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-rpgt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-rpgt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-rpgt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.my-rpgt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-rpgt-path.is-current { border-color: #cc785c; }
.my-rpgt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-rpgt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-rpgt-tax small { font-size: 0.5em; font-family: var(--font); }
.my-rpgt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-rpgt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-rpgt-delta strong { color: #faf9f5; }
.my-rpgt-years { display: grid; gap: 0.35rem; }
.my-rpgt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-rpgt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-rpgt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-rpgt-year span:nth-child(2),
.my-rpgt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.my-rpgt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-rpgt-modes,
  .my-rpgt-checks,
  .my-rpgt-head,
  .my-rpgt-compare,
  .my-rpgt-year {
    grid-template-columns: 1fr;
  }
  .my-rpgt-status { text-align: left; }
  .my-rpgt-tax { font-size: 1.35rem; }
  .my-rpgt-headline-num { font-size: 2rem; }
  .my-rpgt-modes label,
  .my-rpgt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-rpgt-year span:nth-child(1),
  .my-rpgt-year span:nth-child(2),
  .my-rpgt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-rpgt-headline-num { color: #faf9f5; }
  .my-rpgt-headline-sub { color: #d9d0c5; }
  .my-rpgt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-rpgt-coach.is-warn { border-color: #e0a090; }
  .my-rpgt-modes legend,
  .my-rpgt-checks legend { color: #f6f1ea; }
  .my-rpgt-modes label,
  .my-rpgt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-rpgt-modes label:has(input:checked),
  .my-rpgt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾不动产资本利得税轨道 .ph-cgt-rack（20261110an） ---------- */
.ph-cgt-modes,
.ph-cgt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-cgt-modes legend,
.ph-cgt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-cgt-modes label,
.ph-cgt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.ph-cgt-modes label:has(input:checked),
.ph-cgt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-cgt-modes input,
.ph-cgt-checks input { margin-top: 0.2rem; }
.ph-cgt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-cgt-coach:empty { display: none; }
.ph-cgt-coach.is-warn { border-color: #b45a3c; }
.ph-cgt-headline { margin: 0 0 0.85rem; }
.ph-cgt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-cgt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-cgt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-cgt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-cgt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-cgt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.ph-cgt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.ph-cgt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-cgt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-cgt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.ph-cgt-path.is-current { border-color: #cc785c; }
.ph-cgt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-cgt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-cgt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-cgt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-cgt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-cgt-delta strong { color: #faf9f5; }
.ph-cgt-years { display: grid; gap: 0.35rem; }
.ph-cgt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.ph-cgt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-cgt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-cgt-year span:nth-child(2),
.ph-cgt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.ph-cgt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-cgt-modes,
  .ph-cgt-checks,
  .ph-cgt-head,
  .ph-cgt-compare,
  .ph-cgt-year {
    grid-template-columns: 1fr;
  }
  .ph-cgt-status { text-align: left; }
  .ph-cgt-tax { font-size: 1.35rem; }
  .ph-cgt-headline-num { font-size: 2rem; }
  .ph-cgt-modes label,
  .ph-cgt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-cgt-year span:nth-child(1),
  .ph-cgt-year span:nth-child(2),
  .ph-cgt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-cgt-headline-num { color: #faf9f5; }
  .ph-cgt-headline-sub { color: #d9d0c5; }
  .ph-cgt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-cgt-coach.is-warn { border-color: #e0a090; }
  .ph-cgt-modes legend,
  .ph-cgt-checks legend { color: #f6f1ea; }
  .ph-cgt-modes label,
  .ph-cgt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-cgt-modes label:has(input:checked),
  .ph-cgt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------- 香港物业税轨道 .hk-pt-rack（20261110ap） ---------- */
.hk-pt-modes,
.hk-pt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.hk-pt-modes legend,
.hk-pt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.hk-pt-modes label,
.hk-pt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.hk-pt-modes label:has(input:checked),
.hk-pt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.hk-pt-modes input,
.hk-pt-checks input { margin-top: 0.2rem; }
.hk-pt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.hk-pt-coach:empty { display: none; }
.hk-pt-coach.is-warn { border-color: #b45a3c; }
.hk-pt-headline { margin: 0 0 0.85rem; }
.hk-pt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.hk-pt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-pt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.hk-pt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.hk-pt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.hk-pt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.hk-pt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.hk-pt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-pt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.hk-pt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.hk-pt-path.is-current { border-color: #cc785c; }
.hk-pt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-pt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-pt-tax small { font-size: 0.5em; font-family: var(--font); }
.hk-pt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.hk-pt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.hk-pt-delta strong { color: #faf9f5; }
.hk-pt-years { display: grid; gap: 0.35rem; }
.hk-pt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.hk-pt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.hk-pt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.hk-pt-year span:nth-child(2),
.hk-pt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.hk-pt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .hk-pt-modes,
  .hk-pt-checks,
  .hk-pt-head,
  .hk-pt-compare,
  .hk-pt-year {
    grid-template-columns: 1fr;
  }
  .hk-pt-status { text-align: left; }
  .hk-pt-tax { font-size: 1.35rem; }
  .hk-pt-headline-num { font-size: 2rem; }
  .hk-pt-modes label,
  .hk-pt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .hk-pt-year span:nth-child(1),
  .hk-pt-year span:nth-child(2),
  .hk-pt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .hk-pt-headline-num { color: #faf9f5; }
  .hk-pt-headline-sub { color: #d9d0c5; }
  .hk-pt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-pt-coach.is-warn { border-color: #e0a090; }
  .hk-pt-modes legend,
  .hk-pt-checks legend { color: #f6f1ea; }
  .hk-pt-modes label,
  .hk-pt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-pt-modes label:has(input:checked),
  .hk-pt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 新加坡租金所得税轨道 .sg-rent-rack（20261110ap） ---------- */
.sg-rent-modes,
.sg-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.sg-rent-modes legend,
.sg-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.sg-rent-modes label,
.sg-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.sg-rent-modes label:has(input:checked),
.sg-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.sg-rent-modes input,
.sg-rent-checks input { margin-top: 0.2rem; }
.sg-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.sg-rent-coach:empty { display: none; }
.sg-rent-coach.is-warn { border-color: #b45a3c; }
.sg-rent-headline { margin: 0 0 0.85rem; }
.sg-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.sg-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.sg-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.sg-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.sg-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.sg-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.sg-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.sg-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.sg-rent-path.is-current { border-color: #cc785c; }
.sg-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.sg-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.sg-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.sg-rent-delta strong { color: #faf9f5; }
.sg-rent-years { display: grid; gap: 0.35rem; }
.sg-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.sg-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.sg-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.sg-rent-year span:nth-child(2),
.sg-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.sg-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .sg-rent-modes,
  .sg-rent-checks,
  .sg-rent-head,
  .sg-rent-compare,
  .sg-rent-year {
    grid-template-columns: 1fr;
  }
  .sg-rent-status { text-align: left; }
  .sg-rent-tax { font-size: 1.35rem; }
  .sg-rent-headline-num { font-size: 2rem; }
  .sg-rent-modes label,
  .sg-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .sg-rent-year span:nth-child(1),
  .sg-rent-year span:nth-child(2),
  .sg-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .sg-rent-headline-num { color: #faf9f5; }
  .sg-rent-headline-sub { color: #d9d0c5; }
  .sg-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-rent-coach.is-warn { border-color: #e0a090; }
  .sg-rent-modes legend,
  .sg-rent-checks legend { color: #f6f1ea; }
  .sg-rent-modes label,
  .sg-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-rent-modes label:has(input:checked),
  .sg-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾租赁所得轨道 .tw-rent-rack（20261110aq） ---------- */
.tw-rent-modes,
.tw-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-rent-modes legend,
.tw-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-rent-modes label,
.tw-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-rent-modes label:has(input:checked),
.tw-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-rent-modes input,
.tw-rent-checks input { margin-top: 0.2rem; }
.tw-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-rent-coach:empty { display: none; }
.tw-rent-coach.is-warn { border-color: #b45a3c; }
.tw-rent-headline { margin: 0 0 0.85rem; }
.tw-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.tw-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.tw-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.tw-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-rent-path.is-current { border-color: #cc785c; }
.tw-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-rent-delta strong { color: #faf9f5; }
.tw-rent-years { display: grid; gap: 0.35rem; }
.tw-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-rent-year span:nth-child(2),
.tw-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.tw-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-rent-modes,
  .tw-rent-checks,
  .tw-rent-head,
  .tw-rent-compare,
  .tw-rent-year {
    grid-template-columns: 1fr;
  }
  .tw-rent-status { text-align: left; }
  .tw-rent-tax { font-size: 1.35rem; }
  .tw-rent-headline-num { font-size: 2rem; }
  .tw-rent-modes label,
  .tw-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-rent-year span:nth-child(1),
  .tw-rent-year span:nth-child(2),
  .tw-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-rent-headline-num { color: #faf9f5; }
  .tw-rent-headline-sub { color: #d9d0c5; }
  .tw-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-rent-coach.is-warn { border-color: #e0a090; }
  .tw-rent-modes legend,
  .tw-rent-checks legend { color: #f6f1ea; }
  .tw-rent-modes label,
  .tw-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-rent-modes label:has(input:checked),
  .tw-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 越南个人出租房屋税费轨道 .vn-rent-rack（20261110ar） ---------- */
.vn-rent-modes,
.vn-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.vn-rent-modes legend,
.vn-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.vn-rent-modes label,
.vn-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.vn-rent-modes label:has(input:checked),
.vn-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.vn-rent-modes input,
.vn-rent-checks input { margin-top: 0.2rem; }
.vn-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.vn-rent-coach:empty { display: none; }
.vn-rent-coach.is-warn { border-color: #b45a3c; }
.vn-rent-headline { margin: 0 0 0.85rem; }
.vn-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.vn-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.vn-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.vn-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.vn-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.vn-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.vn-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.vn-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.vn-rent-path.is-current { border-color: #cc785c; }
.vn-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.vn-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.vn-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.vn-rent-delta strong { color: #faf9f5; }
.vn-rent-years { display: grid; gap: 0.35rem; }
.vn-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.vn-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.vn-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.vn-rent-year span:nth-child(2),
.vn-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.vn-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .vn-rent-modes,
  .vn-rent-checks,
  .vn-rent-head,
  .vn-rent-compare,
  .vn-rent-year {
    grid-template-columns: 1fr;
  }
  .vn-rent-status { text-align: left; }
  .vn-rent-tax { font-size: 1.35rem; }
  .vn-rent-headline-num { font-size: 2rem; }
  .vn-rent-modes label,
  .vn-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .vn-rent-year span:nth-child(1),
  .vn-rent-year span:nth-child(2),
  .vn-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .vn-rent-headline-num { color: #faf9f5; }
  .vn-rent-headline-sub { color: #d9d0c5; }
  .vn-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-rent-coach.is-warn { border-color: #e0a090; }
  .vn-rent-modes legend,
  .vn-rent-checks legend { color: #f6f1ea; }
  .vn-rent-modes label,
  .vn-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-rent-modes label:has(input:checked),
  .vn-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 越南个人出租房屋税费轨道 .my-rent-rack（20261110ar） ---------- */
.my-rent-modes,
.my-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-rent-modes legend,
.my-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-rent-modes label,
.my-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-rent-modes label:has(input:checked),
.my-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-rent-modes input,
.my-rent-checks input { margin-top: 0.2rem; }
.my-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-rent-coach:empty { display: none; }
.my-rent-coach.is-warn { border-color: #b45a3c; }
.my-rent-headline { margin: 0 0 0.85rem; }
.my-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.my-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-rent-path.is-current { border-color: #cc785c; }
.my-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.my-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-rent-delta strong { color: #faf9f5; }
.my-rent-years { display: grid; gap: 0.35rem; }
.my-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-rent-year span:nth-child(2),
.my-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.my-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-rent-modes,
  .my-rent-checks,
  .my-rent-head,
  .my-rent-compare,
  .my-rent-year {
    grid-template-columns: 1fr;
  }
  .my-rent-status { text-align: left; }
  .my-rent-tax { font-size: 1.35rem; }
  .my-rent-headline-num { font-size: 2rem; }
  .my-rent-modes label,
  .my-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-rent-year span:nth-child(1),
  .my-rent-year span:nth-child(2),
  .my-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-rent-headline-num { color: #faf9f5; }
  .my-rent-headline-sub { color: #d9d0c5; }
  .my-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-rent-coach.is-warn { border-color: #e0a090; }
  .my-rent-modes legend,
  .my-rent-checks legend { color: #f6f1ea; }
  .my-rent-modes label,
  .my-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-rent-modes label:has(input:checked),
  .my-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾普通资产不动产税费轨道 .ph-oa-rack（20261110at） ---------- */
.ph-oa-modes,
.ph-oa-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-oa-modes legend,
.ph-oa-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-oa-modes label,
.ph-oa-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.ph-oa-modes label:has(input:checked),
.ph-oa-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-oa-modes input,
.ph-oa-checks input { margin-top: 0.2rem; }
.ph-oa-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-oa-coach:empty { display: none; }
.ph-oa-coach.is-warn { border-color: #b45a3c; }
.ph-oa-headline { margin: 0 0 0.85rem; }
.ph-oa-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-oa-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-oa-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-oa-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-oa-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-oa-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.ph-oa-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.ph-oa-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-oa-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.ph-oa-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.ph-oa-path.is-current { border-color: #cc785c; }
.ph-oa-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-oa-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.45rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-oa-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-oa-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-oa-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-oa-delta strong { color: #faf9f5; }
.ph-oa-years { display: grid; gap: 0.35rem; }
.ph-oa-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 0.8fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.ph-oa-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-oa-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-oa-year span:nth-child(2),
.ph-oa-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; text-align: right; overflow-wrap: anywhere; }
.ph-oa-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-oa-modes,
  .ph-oa-checks,
  .ph-oa-head,
  .ph-oa-compare,
  .ph-oa-year {
    grid-template-columns: 1fr;
  }
  .ph-oa-status { text-align: left; }
  .ph-oa-tax { font-size: 1.35rem; }
  .ph-oa-headline-num { font-size: 2rem; }
  .ph-oa-modes label,
  .ph-oa-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-oa-year span:nth-child(1),
  .ph-oa-year span:nth-child(2),
  .ph-oa-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-oa-headline-num { color: #faf9f5; }
  .ph-oa-headline-sub { color: #d9d0c5; }
  .ph-oa-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-oa-coach.is-warn { border-color: #e0a090; }
  .ph-oa-modes legend,
  .ph-oa-checks legend { color: #f6f1ea; }
  .ph-oa-modes label,
  .ph-oa-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-oa-modes label:has(input:checked),
  .ph-oa-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 泰国个人出租房屋所得税轨道 .th-rent-rack（20261110au） ---------- */
.th-rent-modes,
.th-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.th-rent-modes legend,
.th-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.th-rent-modes label,
.th-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.th-rent-modes label:has(input:checked),
.th-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.th-rent-modes input,
.th-rent-checks input { margin-top: 0.2rem; }
.th-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.th-rent-coach:empty { display: none; }
.th-rent-coach.is-warn { border-color: #b45a3c; }
.th-rent-headline { margin: 0 0 0.85rem; }
.th-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.th-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.th-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.th-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.th-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.th-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.th-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.th-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.th-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.th-rent-path.is-current { border-color: #cc785c; }
.th-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.th-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.th-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.th-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.th-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.th-rent-delta strong { color: #faf9f5; }
.th-rent-years { display: grid; gap: 0.35rem; }
.th-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.th-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.th-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.th-rent-year span:nth-child(2),
.th-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.th-rent-year span:nth-child(2) { text-align: right; }
.th-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .th-rent-modes,
  .th-rent-checks,
  .th-rent-head,
  .th-rent-compare,
  .th-rent-year {
    grid-template-columns: 1fr;
  }
  .th-rent-status { text-align: left; }
  .th-rent-tax { font-size: 1.35rem; }
  .th-rent-headline-num { font-size: 2rem; }
  .th-rent-modes label,
  .th-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .th-rent-year span:nth-child(1),
  .th-rent-year span:nth-child(2),
  .th-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .th-rent-headline-num { color: #faf9f5; }
  .th-rent-headline-sub { color: #d9d0c5; }
  .th-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-rent-coach.is-warn { border-color: #e0a090; }
  .th-rent-modes legend,
  .th-rent-checks legend { color: #f6f1ea; }
  .th-rent-modes label,
  .th-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .th-rent-modes label:has(input:checked),
  .th-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 印尼个人出租土地房屋所得税轨道 .id-rent-rack（20261110av） ---------- */
.id-rent-modes,
.id-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.id-rent-modes legend,
.id-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.id-rent-modes label,
.id-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.id-rent-modes label:has(input:checked),
.id-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.id-rent-modes input,
.id-rent-checks input { margin-top: 0.2rem; }
.id-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.id-rent-coach:empty { display: none; }
.id-rent-coach.is-warn { border-color: #b45a3c; }
.id-rent-headline { margin: 0 0 0.85rem; }
.id-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.id-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.id-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.id-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.id-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.id-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.id-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.id-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.id-rent-path.is-current { border-color: #cc785c; }
.id-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.id-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.id-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.id-rent-delta strong { color: #faf9f5; }
.id-rent-years { display: grid; gap: 0.35rem; }
.id-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.id-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.id-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.id-rent-year span:nth-child(2),
.id-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.id-rent-year span:nth-child(2) { text-align: right; }
.id-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .id-rent-modes,
  .id-rent-checks,
  .id-rent-head,
  .id-rent-compare,
  .id-rent-year {
    grid-template-columns: 1fr;
  }
  .id-rent-status { text-align: left; }
  .id-rent-tax { font-size: 1.35rem; }
  .id-rent-headline-num { font-size: 2rem; }
  .id-rent-modes label,
  .id-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .id-rent-year span:nth-child(1),
  .id-rent-year span:nth-child(2),
  .id-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .id-rent-headline-num { color: #faf9f5; }
  .id-rent-headline-sub { color: #d9d0c5; }
  .id-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-rent-coach.is-warn { border-color: #e0a090; }
  .id-rent-modes legend,
  .id-rent-checks legend { color: #f6f1ea; }
  .id-rent-modes label,
  .id-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-rent-modes label:has(input:checked),
  .id-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 菲律宾个人出租房屋所得税轨道 .ph-rent-rack（20261110aw） ---------- */
.ph-rent-modes,
.ph-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-rent-modes legend,
.ph-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-rent-modes label,
.ph-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.ph-rent-modes label:has(input:checked),
.ph-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-rent-modes input,
.ph-rent-checks input { margin-top: 0.2rem; }
.ph-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-rent-coach:empty { display: none; }
.ph-rent-coach.is-warn { border-color: #b45a3c; }
.ph-rent-headline { margin: 0 0 0.85rem; }
.ph-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.ph-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.ph-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.ph-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.ph-rent-path.is-current { border-color: #cc785c; }
.ph-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-rent-delta strong { color: #faf9f5; }
.ph-rent-years { display: grid; gap: 0.35rem; }
.ph-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.ph-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-rent-year span:nth-child(2),
.ph-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-rent-year span:nth-child(2) { text-align: right; }
.ph-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-rent-modes,
  .ph-rent-checks,
  .ph-rent-head,
  .ph-rent-compare,
  .ph-rent-year {
    grid-template-columns: 1fr;
  }
  .ph-rent-status { text-align: left; }
  .ph-rent-tax { font-size: 1.35rem; }
  .ph-rent-headline-num { font-size: 2rem; }
  .ph-rent-modes label,
  .ph-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-rent-year span:nth-child(1),
  .ph-rent-year span:nth-child(2),
  .ph-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-rent-headline-num { color: #faf9f5; }
  .ph-rent-headline-sub { color: #d9d0c5; }
  .ph-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-rent-coach.is-warn { border-color: #e0a090; }
  .ph-rent-modes legend,
  .ph-rent-checks legend { color: #f6f1ea; }
  .ph-rent-modes label,
  .ph-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-rent-modes label:has(input:checked),
  .ph-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 印尼土地房屋税轨道 .id-pbb-rack（20261110ax） ---------- */
.id-pbb-modes,
.id-pbb-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.id-pbb-modes legend,
.id-pbb-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.id-pbb-modes label,
.id-pbb-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.id-pbb-modes label:has(input:checked),
.id-pbb-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.id-pbb-modes input,
.id-pbb-checks input { margin-top: 0.2rem; }
.id-pbb-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.id-pbb-coach:empty { display: none; }
.id-pbb-coach.is-warn { border-color: #b45a3c; }
.id-pbb-headline { margin: 0 0 0.85rem; }
.id-pbb-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.id-pbb-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-pbb-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.id-pbb-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.id-pbb-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.id-pbb-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.id-pbb-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.id-pbb-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-pbb-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.id-pbb-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.id-pbb-path.is-current { border-color: #cc785c; }
.id-pbb-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.id-pbb-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.id-pbb-tax small { font-size: 0.5em; font-family: var(--font); }
.id-pbb-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.id-pbb-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.id-pbb-delta strong { color: #faf9f5; }
.id-pbb-years { display: grid; gap: 0.35rem; }
.id-pbb-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.id-pbb-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.id-pbb-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.id-pbb-year span:nth-child(2),
.id-pbb-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.id-pbb-year span:nth-child(2) { text-align: right; }
.id-pbb-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .id-pbb-modes,
  .id-pbb-checks,
  .id-pbb-head,
  .id-pbb-compare,
  .id-pbb-year {
    grid-template-columns: 1fr;
  }
  .id-pbb-status { text-align: left; }
  .id-pbb-tax { font-size: 1.35rem; }
  .id-pbb-headline-num { font-size: 2rem; }
  .id-pbb-modes label,
  .id-pbb-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .id-pbb-year span:nth-child(1),
  .id-pbb-year span:nth-child(2),
  .id-pbb-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .id-pbb-headline-num { color: #faf9f5; }
  .id-pbb-headline-sub { color: #d9d0c5; }
  .id-pbb-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-pbb-coach.is-warn { border-color: #e0a090; }
  .id-pbb-modes legend,
  .id-pbb-checks legend { color: #f6f1ea; }
  .id-pbb-modes label,
  .id-pbb-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .id-pbb-modes label:has(input:checked),
  .id-pbb-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾年度不动产税轨道 .ph-rpt-rack（20261110az） ---------- */
.ph-rpt-modes,
.ph-rpt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-rpt-modes legend,
.ph-rpt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-rpt-modes label,
.ph-rpt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.ph-rpt-modes label:has(input:checked),
.ph-rpt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-rpt-modes input,
.ph-rpt-checks input { margin-top: 0.2rem; }
.ph-rpt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-rpt-coach:empty { display: none; }
.ph-rpt-coach.is-warn { border-color: #b45a3c; }
.ph-rpt-headline { margin: 0 0 0.85rem; }
.ph-rpt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-rpt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-rpt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-rpt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-rpt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-rpt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.ph-rpt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.ph-rpt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-rpt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.ph-rpt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.ph-rpt-path.is-current { border-color: #cc785c; }
.ph-rpt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-rpt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-rpt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-rpt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-rpt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-rpt-delta strong { color: #faf9f5; }
.ph-rpt-years { display: grid; gap: 0.35rem; }
.ph-rpt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.ph-rpt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-rpt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-rpt-year span:nth-child(2),
.ph-rpt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-rpt-year span:nth-child(2) { text-align: right; }
.ph-rpt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-rpt-modes,
  .ph-rpt-checks,
  .ph-rpt-head,
  .ph-rpt-compare,
  .ph-rpt-year {
    grid-template-columns: 1fr;
  }
  .ph-rpt-status { text-align: left; }
  .ph-rpt-tax { font-size: 1.35rem; }
  .ph-rpt-headline-num { font-size: 2rem; }
  .ph-rpt-modes label,
  .ph-rpt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-rpt-year span:nth-child(1),
  .ph-rpt-year span:nth-child(2),
  .ph-rpt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-rpt-headline-num { color: #faf9f5; }
  .ph-rpt-headline-sub { color: #d9d0c5; }
  .ph-rpt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-rpt-coach.is-warn { border-color: #e0a090; }
  .ph-rpt-modes legend,
  .ph-rpt-checks legend { color: #f6f1ea; }
  .ph-rpt-modes label,
  .ph-rpt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-rpt-modes label:has(input:checked),
  .ph-rpt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 马来西亚门牌税与地租轨道 .my-assessment-rack（20261110az） ---------- */
.my-assessment-modes,
.my-assessment-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-assessment-modes legend,
.my-assessment-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-assessment-modes label,
.my-assessment-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-assessment-modes label:has(input:checked),
.my-assessment-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-assessment-modes input,
.my-assessment-checks input { margin-top: 0.2rem; }
.my-assessment-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-assessment-coach:empty { display: none; }
.my-assessment-coach.is-warn { border-color: #b45a3c; }
.my-assessment-headline { margin: 0 0 0.85rem; }
.my-assessment-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-assessment-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-assessment-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-assessment-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-assessment-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-assessment-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-assessment-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-assessment-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-assessment-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.my-assessment-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-assessment-path.is-current { border-color: #cc785c; }
.my-assessment-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-assessment-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-assessment-tax small { font-size: 0.5em; font-family: var(--font); }
.my-assessment-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-assessment-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-assessment-delta strong { color: #faf9f5; }
.my-assessment-years { display: grid; gap: 0.35rem; }
.my-assessment-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-assessment-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-assessment-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-assessment-year span:nth-child(2),
.my-assessment-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.my-assessment-year span:nth-child(2) { text-align: right; }
.my-assessment-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-assessment-modes,
  .my-assessment-checks,
  .my-assessment-head,
  .my-assessment-compare,
  .my-assessment-year {
    grid-template-columns: 1fr;
  }
  .my-assessment-status { text-align: left; }
  .my-assessment-tax { font-size: 1.35rem; }
  .my-assessment-headline-num { font-size: 2rem; }
  .my-assessment-modes label,
  .my-assessment-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-assessment-year span:nth-child(1),
  .my-assessment-year span:nth-child(2),
  .my-assessment-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-assessment-headline-num { color: #faf9f5; }
  .my-assessment-headline-sub { color: #d9d0c5; }
  .my-assessment-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-assessment-coach.is-warn { border-color: #e0a090; }
  .my-assessment-modes legend,
  .my-assessment-checks legend { color: #f6f1ea; }
  .my-assessment-modes label,
  .my-assessment-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-assessment-modes label:has(input:checked),
  .my-assessment-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 越南非农用地使用税轨道 .vn-land-rack（20261110ba） ---------- */
.vn-land-modes,
.vn-land-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.vn-land-modes legend,
.vn-land-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.vn-land-modes label,
.vn-land-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.vn-land-modes label:has(input:checked),
.vn-land-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.vn-land-modes input,
.vn-land-checks input { margin-top: 0.2rem; }
.vn-land-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.vn-land-coach:empty { display: none; }
.vn-land-coach.is-warn { border-color: #b45a3c; }
.vn-land-headline { margin: 0 0 0.85rem; }
.vn-land-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.vn-land-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-land-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.vn-land-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.vn-land-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.vn-land-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.vn-land-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.vn-land-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-land-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.vn-land-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.vn-land-path.is-current { border-color: #cc785c; }
.vn-land-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.vn-land-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.vn-land-tax small { font-size: 0.5em; font-family: var(--font); }
.vn-land-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.vn-land-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.vn-land-delta strong { color: #faf9f5; }
.vn-land-years { display: grid; gap: 0.35rem; }
.vn-land-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.vn-land-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.vn-land-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.vn-land-year span:nth-child(2),
.vn-land-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.vn-land-year span:nth-child(2) { text-align: right; }
.vn-land-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .vn-land-modes,
  .vn-land-checks,
  .vn-land-head,
  .vn-land-compare,
  .vn-land-year {
    grid-template-columns: 1fr;
  }
  .vn-land-status { text-align: left; }
  .vn-land-tax { font-size: 1.35rem; }
  .vn-land-headline-num { font-size: 2rem; }
  .vn-land-modes label,
  .vn-land-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .vn-land-year span:nth-child(1),
  .vn-land-year span:nth-child(2),
  .vn-land-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .vn-land-headline-num { color: #faf9f5; }
  .vn-land-headline-sub { color: #d9d0c5; }
  .vn-land-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-land-coach.is-warn { border-color: #e0a090; }
  .vn-land-modes legend,
  .vn-land-checks legend { color: #f6f1ea; }
  .vn-land-modes label,
  .vn-land-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .vn-land-modes label:has(input:checked),
  .vn-land-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 香港地租轨道 .hk-rent-rack（20261110bb） ---------- */
.hk-rent-modes,
.hk-rent-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.hk-rent-modes legend,
.hk-rent-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.hk-rent-modes label,
.hk-rent-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.hk-rent-modes label:has(input:checked),
.hk-rent-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.hk-rent-modes input,
.hk-rent-checks input { margin-top: 0.2rem; }
.hk-rent-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.hk-rent-coach:empty { display: none; }
.hk-rent-coach.is-warn { border-color: #b45a3c; }
.hk-rent-headline { margin: 0 0 0.85rem; }
.hk-rent-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.hk-rent-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-rent-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.hk-rent-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.hk-rent-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.hk-rent-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.hk-rent-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.hk-rent-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-rent-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.hk-rent-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.hk-rent-path.is-current { border-color: #cc785c; }
.hk-rent-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-rent-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-rent-tax small { font-size: 0.5em; font-family: var(--font); }
.hk-rent-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.hk-rent-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.hk-rent-delta strong { color: #faf9f5; }
.hk-rent-years { display: grid; gap: 0.35rem; }
.hk-rent-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.hk-rent-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.hk-rent-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.hk-rent-year span:nth-child(2),
.hk-rent-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.hk-rent-year span:nth-child(2) { text-align: right; }
.hk-rent-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .hk-rent-modes,
  .hk-rent-checks,
  .hk-rent-head,
  .hk-rent-compare,
  .hk-rent-year {
    grid-template-columns: 1fr;
  }
  .hk-rent-status { text-align: left; }
  .hk-rent-tax { font-size: 1.35rem; }
  .hk-rent-headline-num { font-size: 2rem; }
  .hk-rent-modes label,
  .hk-rent-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .hk-rent-year span:nth-child(1),
  .hk-rent-year span:nth-child(2),
  .hk-rent-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .hk-rent-headline-num { color: #faf9f5; }
  .hk-rent-headline-sub { color: #d9d0c5; }
  .hk-rent-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-rent-coach.is-warn { border-color: #e0a090; }
  .hk-rent-modes legend,
  .hk-rent-checks legend { color: #f6f1ea; }
  .hk-rent-modes label,
  .hk-rent-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-rent-modes label:has(input:checked),
  .hk-rent-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 新加坡租约印花税轨道 .sg-lease-rack（20261110bc） ---------- */
.sg-lease-modes,
.sg-lease-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.sg-lease-modes legend,
.sg-lease-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.sg-lease-modes label,
.sg-lease-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.sg-lease-modes label:has(input:checked),
.sg-lease-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.sg-lease-modes input,
.sg-lease-checks input { margin-top: 0.2rem; }
.sg-lease-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.sg-lease-coach:empty { display: none; }
.sg-lease-coach.is-warn { border-color: #b45a3c; }
.sg-lease-headline { margin: 0 0 0.85rem; }
.sg-lease-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.sg-lease-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-lease-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.sg-lease-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.sg-lease-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.sg-lease-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.sg-lease-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.sg-lease-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-lease-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.sg-lease-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.sg-lease-path.is-current { border-color: #cc785c; }
.sg-lease-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-lease-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-lease-tax small { font-size: 0.5em; font-family: var(--font); }
.sg-lease-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.sg-lease-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.sg-lease-delta strong { color: #faf9f5; }
.sg-lease-years { display: grid; gap: 0.35rem; }
.sg-lease-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.sg-lease-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.sg-lease-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.sg-lease-year span:nth-child(2),
.sg-lease-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.sg-lease-year span:nth-child(2) { text-align: right; }
.sg-lease-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .sg-lease-modes,
  .sg-lease-checks,
  .sg-lease-head,
  .sg-lease-compare,
  .sg-lease-year {
    grid-template-columns: 1fr;
  }
  .sg-lease-status { text-align: left; }
  .sg-lease-tax { font-size: 1.35rem; }
  .sg-lease-headline-num { font-size: 2rem; }
  .sg-lease-modes label,
  .sg-lease-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .sg-lease-year span:nth-child(1),
  .sg-lease-year span:nth-child(2),
  .sg-lease-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .sg-lease-headline-num { color: #faf9f5; }
  .sg-lease-headline-sub { color: #d9d0c5; }
  .sg-lease-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-lease-coach.is-warn { border-color: #e0a090; }
  .sg-lease-modes legend,
  .sg-lease-checks legend { color: #f6f1ea; }
  .sg-lease-modes label,
  .sg-lease-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-lease-modes label:has(input:checked),
  .sg-lease-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 香港租约印花税轨道 .hk-lease-rack（20261110bd） ---------- */
.hk-lease-modes,
.hk-lease-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.hk-lease-modes legend,
.hk-lease-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.hk-lease-modes label,
.hk-lease-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.hk-lease-modes label:has(input:checked),
.hk-lease-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.hk-lease-modes input,
.hk-lease-checks input { margin-top: 0.2rem; }
.hk-lease-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.hk-lease-coach:empty { display: none; }
.hk-lease-coach.is-warn { border-color: #b45a3c; }
.hk-lease-headline { margin: 0 0 0.85rem; }
.hk-lease-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.hk-lease-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-lease-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.hk-lease-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.hk-lease-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.hk-lease-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.hk-lease-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.hk-lease-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-lease-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.hk-lease-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.hk-lease-path.is-current { border-color: #cc785c; }
.hk-lease-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-lease-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-lease-tax small { font-size: 0.5em; font-family: var(--font); }
.hk-lease-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.hk-lease-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.hk-lease-delta strong { color: #faf9f5; }
.hk-lease-years { display: grid; gap: 0.35rem; }
.hk-lease-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.hk-lease-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.hk-lease-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.hk-lease-year span:nth-child(2),
.hk-lease-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.hk-lease-year span:nth-child(2) { text-align: right; }
.hk-lease-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .hk-lease-modes,
  .hk-lease-checks,
  .hk-lease-head,
  .hk-lease-compare,
  .hk-lease-year {
    grid-template-columns: 1fr;
  }
  .hk-lease-status { text-align: left; }
  .hk-lease-tax { font-size: 1.35rem; }
  .hk-lease-headline-num { font-size: 2rem; }
  .hk-lease-modes label,
  .hk-lease-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .hk-lease-year span:nth-child(1),
  .hk-lease-year span:nth-child(2),
  .hk-lease-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .hk-lease-headline-num { color: #faf9f5; }
  .hk-lease-headline-sub { color: #d9d0c5; }
  .hk-lease-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-lease-coach.is-warn { border-color: #e0a090; }
  .hk-lease-modes legend,
  .hk-lease-checks legend { color: #f6f1ea; }
  .hk-lease-modes label,
  .hk-lease-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-lease-modes label:has(input:checked),
  .hk-lease-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 新加坡按揭印花税轨道 .sg-mduty-rack（20261110bf）；复用 .sg-lease-rack 节奏 ---------- */
.sg-mduty-modes,
.sg-mduty-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.sg-mduty-modes legend,
.sg-mduty-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.sg-mduty-modes label,
.sg-mduty-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.sg-mduty-modes label:has(input:checked),
.sg-mduty-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.sg-mduty-modes input,
.sg-mduty-checks input { margin-top: 0.2rem; }
.sg-mduty-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.sg-mduty-coach:empty { display: none; }
.sg-mduty-coach.is-warn { border-color: #b45a3c; }
.sg-mduty-headline { margin: 0 0 0.85rem; }
.sg-mduty-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.sg-mduty-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-mduty-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.sg-mduty-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.sg-mduty-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.sg-mduty-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.sg-mduty-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.sg-mduty-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-mduty-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.sg-mduty-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.sg-mduty-path.is-current { border-color: #cc785c; }
.sg-mduty-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-mduty-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-mduty-tax small { font-size: 0.5em; font-family: var(--font); }
.sg-mduty-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.sg-mduty-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.sg-mduty-delta strong { color: #faf9f5; }
.sg-mduty-years { display: grid; gap: 0.35rem; }
.sg-mduty-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.sg-mduty-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.sg-mduty-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.sg-mduty-year span:nth-child(2),
.sg-mduty-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.sg-mduty-year span:nth-child(2) { text-align: right; }
.sg-mduty-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .sg-mduty-modes,
  .sg-mduty-checks,
  .sg-mduty-head,
  .sg-mduty-compare,
  .sg-mduty-year {
    grid-template-columns: 1fr;
  }
  .sg-mduty-status { text-align: left; }
  .sg-mduty-tax { font-size: 1.35rem; }
  .sg-mduty-headline-num { font-size: 2rem; }
  .sg-mduty-modes label,
  .sg-mduty-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .sg-mduty-year span:nth-child(1),
  .sg-mduty-year span:nth-child(2),
  .sg-mduty-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .sg-mduty-headline-num { color: #faf9f5; }
  .sg-mduty-headline-sub { color: #d9d0c5; }
  .sg-mduty-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-mduty-coach.is-warn { border-color: #e0a090; }
  .sg-mduty-modes legend,
  .sg-mduty-checks legend { color: #f6f1ea; }
  .sg-mduty-modes label,
  .sg-mduty-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-mduty-modes label:has(input:checked),
  .sg-mduty-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}


/* ---------- 马来西亚贷款协议印花税轨道 .my-loan-rack（20261110bf）；复用 .sg-mduty-rack 节奏 ---------- */
.my-loan-modes,
.my-loan-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-loan-modes legend,
.my-loan-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-loan-modes label,
.my-loan-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-loan-modes label:has(input:checked),
.my-loan-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-loan-modes input,
.my-loan-checks input { margin-top: 0.2rem; }
.my-loan-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-loan-coach:empty { display: none; }
.my-loan-coach.is-warn { border-color: #b45a3c; }
.my-loan-headline { margin: 0 0 0.85rem; }
.my-loan-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-loan-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-loan-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-loan-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-loan-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-loan-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-loan-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-loan-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-loan-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.my-loan-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-loan-path.is-current { border-color: #cc785c; }
.my-loan-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-loan-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-loan-tax small { font-size: 0.5em; font-family: var(--font); }
.my-loan-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-loan-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-loan-delta strong { color: #faf9f5; }
.my-loan-years { display: grid; gap: 0.35rem; }
.my-loan-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-loan-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-loan-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-loan-year span:nth-child(2),
.my-loan-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.my-loan-year span:nth-child(2) { text-align: right; }
.my-loan-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-loan-modes,
  .my-loan-checks,
  .my-loan-head,
  .my-loan-compare,
  .my-loan-year {
    grid-template-columns: 1fr;
  }
  .my-loan-status { text-align: left; }
  .my-loan-tax { font-size: 1.35rem; }
  .my-loan-headline-num { font-size: 2rem; }
  .my-loan-modes label,
  .my-loan-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-loan-year span:nth-child(1),
  .my-loan-year span:nth-child(2),
  .my-loan-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-loan-headline-num { color: #faf9f5; }
  .my-loan-headline-sub { color: #d9d0c5; }
  .my-loan-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-loan-coach.is-warn { border-color: #e0a090; }
  .my-loan-modes legend,
  .my-loan-checks legend { color: #f6f1ea; }
  .my-loan-modes label,
  .my-loan-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-loan-modes label:has(input:checked),
  .my-loan-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 马来西亚租约／租赁协议印花税轨道 .my-lease-rack（20261110bg）；复用 .my-loan-rack 节奏 ---------- */
.my-lease-modes,
.my-lease-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-lease-modes legend,
.my-lease-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-lease-modes label,
.my-lease-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-lease-modes label:has(input:checked),
.my-lease-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-lease-modes input,
.my-lease-checks input { margin-top: 0.2rem; }
.my-lease-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-lease-coach:empty { display: none; }
.my-lease-coach.is-warn { border-color: #b45a3c; }
.my-lease-headline { margin: 0 0 0.85rem; }
.my-lease-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-lease-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-lease-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-lease-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-lease-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-lease-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-lease-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-lease-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-lease-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.my-lease-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-lease-path.is-current { border-color: #cc785c; }
.my-lease-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-lease-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-lease-tax small { font-size: 0.5em; font-family: var(--font); }
.my-lease-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-lease-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-lease-delta strong { color: #faf9f5; }
.my-lease-years { display: grid; gap: 0.35rem; }
.my-lease-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-lease-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-lease-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-lease-year span:nth-child(2),
.my-lease-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.my-lease-year span:nth-child(2) { text-align: right; }
.my-lease-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-lease-modes,
  .my-lease-checks,
  .my-lease-head,
  .my-lease-compare,
  .my-lease-year {
    grid-template-columns: 1fr;
  }
  .my-lease-status { text-align: left; }
  .my-lease-tax { font-size: 1.35rem; }
  .my-lease-headline-num { font-size: 2rem; }
  .my-lease-modes label,
  .my-lease-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-lease-year span:nth-child(1),
  .my-lease-year span:nth-child(2),
  .my-lease-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-lease-headline-num { color: #faf9f5; }
  .my-lease-headline-sub { color: #d9d0c5; }
  .my-lease-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-lease-coach.is-warn { border-color: #e0a090; }
  .my-lease-modes legend,
  .my-lease-checks legend { color: #f6f1ea; }
  .my-lease-modes label,
  .my-lease-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-lease-modes label:has(input:checked),
  .my-lease-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 马来西亚非上市股份转让印花税轨道 .my-share-rack（20261110bh）；复用 .my-lease-rack 节奏 ---------- */
.my-share-modes,
.my-share-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.my-share-modes legend,
.my-share-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.my-share-modes label,
.my-share-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.my-share-modes label:has(input:checked),
.my-share-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.my-share-modes input,
.my-share-checks input { margin-top: 0.2rem; }
.my-share-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.my-share-coach:empty { display: none; }
.my-share-coach.is-warn { border-color: #b45a3c; }
.my-share-headline { margin: 0 0 0.85rem; }
.my-share-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.my-share-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-share-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.my-share-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.my-share-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.my-share-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.my-share-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.my-share-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-share-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.my-share-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.my-share-path.is-current { border-color: #cc785c; }
.my-share-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.my-share-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.my-share-tax small { font-size: 0.5em; font-family: var(--font); }
.my-share-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.my-share-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.my-share-delta strong { color: #faf9f5; }
.my-share-years { display: grid; gap: 0.35rem; }
.my-share-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.my-share-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.my-share-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.my-share-year span:nth-child(2),
.my-share-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.my-share-year span:nth-child(2) { text-align: right; }
.my-share-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .my-share-modes,
  .my-share-checks,
  .my-share-head,
  .my-share-compare,
  .my-share-year {
    grid-template-columns: 1fr;
  }
  .my-share-status { text-align: left; }
  .my-share-tax { font-size: 1.35rem; }
  .my-share-headline-num { font-size: 2rem; }
  .my-share-modes label,
  .my-share-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .my-share-year span:nth-child(1),
  .my-share-year span:nth-child(2),
  .my-share-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .my-share-headline-num { color: #faf9f5; }
  .my-share-headline-sub { color: #d9d0c5; }
  .my-share-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-share-coach.is-warn { border-color: #e0a090; }
  .my-share-modes legend,
  .my-share-checks legend { color: #f6f1ea; }
  .my-share-modes label,
  .my-share-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .my-share-modes label:has(input:checked),
  .my-share-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 香港证券／股份转让印花税轨道 .hk-share-rack（20261110bi）；复用 .hk-share-rack 节奏 ---------- */
.hk-share-modes,
.hk-share-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.hk-share-modes legend,
.hk-share-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.hk-share-modes label,
.hk-share-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.hk-share-modes label:has(input:checked),
.hk-share-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.hk-share-modes input,
.hk-share-checks input { margin-top: 0.2rem; }
.hk-share-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.hk-share-coach:empty { display: none; }
.hk-share-coach.is-warn { border-color: #b45a3c; }
.hk-share-headline { margin: 0 0 0.85rem; }
.hk-share-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.hk-share-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-share-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.hk-share-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.hk-share-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.hk-share-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.hk-share-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.hk-share-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-share-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.hk-share-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.hk-share-path.is-current { border-color: #cc785c; }
.hk-share-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.hk-share-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.hk-share-tax small { font-size: 0.5em; font-family: var(--font); }
.hk-share-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.hk-share-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.hk-share-delta strong { color: #faf9f5; }
.hk-share-years { display: grid; gap: 0.35rem; }
.hk-share-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.hk-share-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.hk-share-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.hk-share-year span:nth-child(2),
.hk-share-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.hk-share-year span:nth-child(2) { text-align: right; }
.hk-share-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .hk-share-modes,
  .hk-share-checks,
  .hk-share-head,
  .hk-share-compare,
  .hk-share-year {
    grid-template-columns: 1fr;
  }
  .hk-share-status { text-align: left; }
  .hk-share-tax { font-size: 1.35rem; }
  .hk-share-headline-num { font-size: 2rem; }
  .hk-share-modes label,
  .hk-share-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .hk-share-year span:nth-child(1),
  .hk-share-year span:nth-child(2),
  .hk-share-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .hk-share-headline-num { color: #faf9f5; }
  .hk-share-headline-sub { color: #d9d0c5; }
  .hk-share-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-share-coach.is-warn { border-color: #e0a090; }
  .hk-share-modes legend,
  .hk-share-checks legend { color: #f6f1ea; }
  .hk-share-modes label,
  .hk-share-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .hk-share-modes label:has(input:checked),
  .hk-share-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 20261110bi: dark surface for light-type headlines that sit
   outside always-dark result racks (older calculators emit *-headline
   before opening *-rack). Without this, #faf9f5 / #d9d0c5 type is
   invisible on the cream results panel. In-rack siblings are unchanged.
   .ph-split-headline is excluded: it uses its own light-on-dark colors
   inside .result-card. ---------- */
.hk-pt-headline,
.id-pbb-headline,
.id-pt-headline,
.id-rent-headline,
.my-assessment-headline,
.my-rpgt-headline,
.ph-cgt-headline,
.ph-oa-headline,
.ph-rent-headline,
.ph-rpt-headline,
.sg-rent-headline,
.th-rent-headline,
.vn-pt-headline {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 0.85rem 1rem 0.9rem;
}

/* ---------- 新加坡股份转让印花税轨道 .sg-share-rack（20261110bk）；复用 .hk-share-rack 节奏 ---------- */
.sg-share-modes,
.sg-share-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.sg-share-modes legend,
.sg-share-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.sg-share-modes label,
.sg-share-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.sg-share-modes label:has(input:checked),
.sg-share-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.sg-share-modes input,
.sg-share-checks input { margin-top: 0.2rem; }
.sg-share-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.sg-share-coach:empty { display: none; }
.sg-share-coach.is-warn { border-color: #b45a3c; }
.sg-share-headline { margin: 0 0 0.85rem; }
.sg-share-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.sg-share-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-share-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.sg-share-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.sg-share-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.sg-share-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.sg-share-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.sg-share-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-share-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.sg-share-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.sg-share-path.is-current { border-color: #cc785c; }
.sg-share-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.sg-share-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.sg-share-tax small { font-size: 0.5em; font-family: var(--font); }
.sg-share-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.sg-share-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.sg-share-delta strong { color: #faf9f5; }
.sg-share-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.sg-share-years { display: grid; gap: 0.35rem; }
.sg-share-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.sg-share-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.sg-share-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.sg-share-year span:nth-child(2),
.sg-share-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.sg-share-year span:nth-child(2) { text-align: right; }
.sg-share-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .sg-share-modes,
  .sg-share-checks,
  .sg-share-head,
  .sg-share-compare,
  .sg-share-year {
    grid-template-columns: 1fr;
  }
  .sg-share-status { text-align: left; }
  .sg-share-tax { font-size: 1.35rem; }
  .sg-share-headline-num { font-size: 2rem; }
  .sg-share-modes label,
  .sg-share-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .sg-share-year span:nth-child(1),
  .sg-share-year span:nth-child(2),
  .sg-share-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .sg-share-headline-num { color: #faf9f5; }
  .sg-share-headline-sub { color: #d9d0c5; }
  .sg-share-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-share-coach.is-warn { border-color: #e0a090; }
  .sg-share-modes legend,
  .sg-share-checks legend { color: #f6f1ea; }
  .sg-share-modes label,
  .sg-share-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .sg-share-modes label:has(input:checked),
  .sg-share-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾证券交易税轨道 .tw-stt-rack（20261110bk）；复用 .sg-share-rack／.hk-share-rack 节奏 ---------- */
.tw-stt-modes,
.tw-stt-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-stt-modes legend,
.tw-stt-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-stt-modes label,
.tw-stt-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-stt-modes label:has(input:checked),
.tw-stt-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-stt-modes input,
.tw-stt-checks input { margin-top: 0.2rem; }
.tw-stt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-stt-coach:empty { display: none; }
.tw-stt-coach.is-warn { border-color: #b45a3c; }
.tw-stt-headline { margin: 0 0 0.85rem; }
.tw-stt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-stt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-stt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-stt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-stt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-stt-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.tw-stt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.tw-stt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-stt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.tw-stt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-stt-path.is-current { border-color: #cc785c; }
.tw-stt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-stt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-stt-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-stt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-stt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-stt-delta strong { color: #faf9f5; }
.tw-stt-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-stt-years { display: grid; gap: 0.35rem; }
.tw-stt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-stt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-stt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-stt-year span:nth-child(2),
.tw-stt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-stt-year span:nth-child(2) { text-align: right; }
.tw-stt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-stt-modes,
  .tw-stt-checks,
  .tw-stt-head,
  .tw-stt-compare,
  .tw-stt-year {
    grid-template-columns: 1fr;
  }
  .tw-stt-status { text-align: left; }
  .tw-stt-tax { font-size: 1.35rem; }
  .tw-stt-headline-num { font-size: 2rem; }
  .tw-stt-modes label,
  .tw-stt-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-stt-year span:nth-child(1),
  .tw-stt-year span:nth-child(2),
  .tw-stt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-stt-headline-num { color: #faf9f5; }
  .tw-stt-headline-sub { color: #d9d0c5; }
  .tw-stt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-stt-coach.is-warn { border-color: #e0a090; }
  .tw-stt-modes legend,
  .tw-stt-checks legend { color: #f6f1ea; }
  .tw-stt-modes label,
  .tw-stt-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-stt-modes label:has(input:checked),
  .tw-stt-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾契税轨道 .tw-deed-rack（20261110bl）；复用 .sg-share-rack／.hk-share-rack 节奏 ---------- */
.tw-deed-modes,
.tw-deed-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-deed-modes legend,
.tw-deed-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-deed-modes label,
.tw-deed-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-deed-modes label:has(input:checked),
.tw-deed-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-deed-modes input,
.tw-deed-checks input { margin-top: 0.2rem; }
.tw-deed-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-deed-coach:empty { display: none; }
.tw-deed-coach.is-warn { border-color: #b45a3c; }
.tw-deed-headline { margin: 0 0 0.85rem; }
.tw-deed-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-deed-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-deed-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-deed-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-deed-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-deed-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.tw-deed-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.tw-deed-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-deed-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.tw-deed-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-deed-path.is-current { border-color: #cc785c; }
.tw-deed-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-deed-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-deed-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-deed-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-deed-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-deed-delta strong { color: #faf9f5; }
.tw-deed-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-deed-years { display: grid; gap: 0.35rem; }
.tw-deed-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-deed-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-deed-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-deed-year span:nth-child(2),
.tw-deed-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-deed-year span:nth-child(2) { text-align: right; }
.tw-deed-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-deed-modes,
  .tw-deed-checks,
  .tw-deed-head,
  .tw-deed-compare,
  .tw-deed-year {
    grid-template-columns: 1fr;
  }
  .tw-deed-status { text-align: left; }
  .tw-deed-tax { font-size: 1.35rem; }
  .tw-deed-headline-num { font-size: 2rem; }
  .tw-deed-modes label,
  .tw-deed-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-deed-year span:nth-child(1),
  .tw-deed-year span:nth-child(2),
  .tw-deed-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-deed-headline-num { color: #faf9f5; }
  .tw-deed-headline-sub { color: #d9d0c5; }
  .tw-deed-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-deed-coach.is-warn { border-color: #e0a090; }
  .tw-deed-modes legend,
  .tw-deed-checks legend { color: #f6f1ea; }
  .tw-deed-modes label,
  .tw-deed-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-deed-modes label:has(input:checked),
  .tw-deed-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾赠与税轨道 .tw-gift-rack（20261110bm）；复用 .sg-share-rack／.hk-share-rack 节奏 ---------- */
.tw-gift-modes,
.tw-gift-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-gift-modes legend,
.tw-gift-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-gift-modes label,
.tw-gift-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-gift-modes label:has(input:checked),
.tw-gift-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-gift-modes input,
.tw-gift-checks input { margin-top: 0.2rem; }
.tw-gift-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-gift-coach:empty { display: none; }
.tw-gift-coach.is-warn { border-color: #b45a3c; }
.tw-gift-headline { margin: 0 0 0.85rem; }
.tw-gift-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-gift-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-gift-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-gift-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-gift-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-gift-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: baseline;
}
.tw-gift-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  color: #faf9f5;
}
.tw-gift-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-gift-compare {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.7rem;
}
.tw-gift-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-gift-path.is-current { border-color: #cc785c; }
.tw-gift-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-gift-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-gift-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-gift-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-gift-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-gift-delta strong { color: #faf9f5; }
.tw-gift-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-gift-years { display: grid; gap: 0.35rem; }
.tw-gift-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-gift-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-gift-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-gift-year span:nth-child(2),
.tw-gift-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-gift-year span:nth-child(2) { text-align: right; }
.tw-gift-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-gift-modes,
  .tw-gift-checks,
  .tw-gift-head,
  .tw-gift-compare,
  .tw-gift-year {
    grid-template-columns: 1fr;
  }
  .tw-gift-status { text-align: left; }
  .tw-gift-tax { font-size: 1.35rem; }
  .tw-gift-headline-num { font-size: 2rem; }
  .tw-gift-modes label,
  .tw-gift-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-gift-year span:nth-child(1),
  .tw-gift-year span:nth-child(2),
  .tw-gift-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-gift-headline-num { color: #faf9f5; }
  .tw-gift-headline-sub { color: #d9d0c5; }
  .tw-gift-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-gift-coach.is-warn { border-color: #e0a090; }
  .tw-gift-modes legend,
  .tw-gift-checks legend { color: #f6f1ea; }
  .tw-gift-modes label,
  .tw-gift-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-gift-modes label:has(input:checked),
  .tw-gift-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾遗产税轨道 .tw-estate-rack（20261110bn）；复用 .tw-gift-rack／.tw-deed-rack 节奏 ---------- */
.tw-estate-modes,
.tw-estate-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-estate-modes legend,
.tw-estate-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-estate-modes label,
.tw-estate-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-estate-modes label:has(input:checked),
.tw-estate-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-estate-modes input,
.tw-estate-checks input { margin-top: 0.2rem; }
.tw-estate-optional {
  margin: 0 0 0.85rem;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.65rem 0.8rem;
  background: #faf9f5;
}
.tw-estate-optional > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ink);
}
.tw-estate-optional[open] > summary { margin-bottom: 0.7rem; }
.tw-estate-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-estate-coach:empty { display: none; }
.tw-estate-coach.is-warn { border-color: #b45a3c; }
.tw-estate-headline { margin: 0 0 0.85rem; }
.tw-estate-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-estate-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-estate-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-estate-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-estate-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-estate-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.tw-estate-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-estate-path.is-current { border-color: #cc785c; }
.tw-estate-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-estate-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-estate-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-estate-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-estate-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-estate-delta strong { color: #faf9f5; }
.tw-estate-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-estate-years { display: grid; gap: 0.35rem; }
.tw-estate-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-estate-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-estate-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-estate-year span:nth-child(2),
.tw-estate-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-estate-year span:nth-child(2) { text-align: right; }
.tw-estate-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-estate-modes,
  .tw-estate-checks,
  .tw-estate-compare,
  .tw-estate-year {
    grid-template-columns: 1fr;
  }
  .tw-estate-tax { font-size: 1.35rem; }
  .tw-estate-headline-num { font-size: 2rem; }
  .tw-estate-modes label,
  .tw-estate-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-estate-year span:nth-child(1),
  .tw-estate-year span:nth-child(2),
  .tw-estate-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-estate-headline-num { color: #faf9f5; }
  .tw-estate-headline-sub { color: #d9d0c5; }
  .tw-estate-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-estate-coach.is-warn { border-color: #e0a090; }
  .tw-estate-modes legend,
  .tw-estate-checks legend { color: #f6f1ea; }
  .tw-estate-modes label,
  .tw-estate-checks label,
  .tw-estate-optional { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-estate-optional > summary { color: #f6f1ea; }
  .tw-estate-modes label:has(input:checked),
  .tw-estate-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾期货交易税轨道 .tw-futures-rack（20261110bo）；复用 .tw-stt-rack／.tw-estate-rack 节奏 ---------- */
.tw-futures-modes,
.tw-futures-checks {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-futures-modes legend,
.tw-futures-checks legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-futures-modes label,
.tw-futures-checks label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-futures-modes label:has(input:checked),
.tw-futures-checks label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-futures-modes input,
.tw-futures-checks input { margin-top: 0.2rem; }
.tw-futures-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-futures-coach:empty { display: none; }
.tw-futures-coach.is-warn { border-color: #b45a3c; }
.tw-futures-headline { margin: 0 0 0.85rem; }
.tw-futures-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-futures-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-futures-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-futures-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-futures-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-futures-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.tw-futures-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.tw-futures-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.tw-futures-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.tw-futures-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-futures-path.is-current { border-color: #cc785c; }
.tw-futures-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-futures-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-futures-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-futures-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-futures-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-futures-delta strong { color: #faf9f5; }
.tw-futures-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-futures-years { display: grid; gap: 0.35rem; }
.tw-futures-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-futures-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-futures-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-futures-year span:nth-child(2),
.tw-futures-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-futures-year span:nth-child(2) { text-align: right; }
.tw-futures-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-futures-modes,
  .tw-futures-checks,
  .tw-futures-compare,
  .tw-futures-year {
    grid-template-columns: 1fr;
  }
  .tw-futures-tax { font-size: 1.35rem; }
  .tw-futures-headline-num { font-size: 2rem; }
  .tw-futures-modes label,
  .tw-futures-checks label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-futures-year span:nth-child(1),
  .tw-futures-year span:nth-child(2),
  .tw-futures-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-futures-headline-num { color: #faf9f5; }
  .tw-futures-headline-sub { color: #d9d0c5; }
  .tw-futures-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-futures-coach.is-warn { border-color: #e0a090; }
  .tw-futures-modes legend,
  .tw-futures-checks legend { color: #f6f1ea; }
  .tw-futures-modes label,
  .tw-futures-checks label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-futures-modes label:has(input:checked),
  .tw-futures-checks label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 台湾印花税轨道 .tw-stamp-rack（20261110bp）；复用 .tw-deed-rack／.tw-futures-rack 节奏 ---------- */
.tw-stamp-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-stamp-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-stamp-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-stamp-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-stamp-modes input { margin-top: 0.2rem; }
.tw-stamp-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-stamp-coach:empty { display: none; }
.tw-stamp-coach.is-warn { border-color: #b45a3c; }
.tw-stamp-headline { margin: 0 0 0.85rem; }
.tw-stamp-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-stamp-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-stamp-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-stamp-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-stamp-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-stamp-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.tw-stamp-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.tw-stamp-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.tw-stamp-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.tw-stamp-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-stamp-path.is-current { border-color: #cc785c; }
.tw-stamp-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-stamp-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-stamp-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-stamp-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-stamp-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-stamp-delta strong { color: #faf9f5; }
.tw-stamp-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-stamp-years { display: grid; gap: 0.35rem; }
.tw-stamp-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-stamp-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-stamp-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-stamp-year span:nth-child(2),
.tw-stamp-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-stamp-year span:nth-child(2) { text-align: right; }
.tw-stamp-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-stamp-modes,
  .tw-stamp-compare,
  .tw-stamp-year {
    grid-template-columns: 1fr;
  }
  .tw-stamp-tax { font-size: 1.35rem; }
  .tw-stamp-headline-num { font-size: 2rem; }
  .tw-stamp-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-stamp-year span:nth-child(1),
  .tw-stamp-year span:nth-child(2),
  .tw-stamp-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-stamp-headline-num { color: #faf9f5; }
  .tw-stamp-headline-sub { color: #d9d0c5; }
  .tw-stamp-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-stamp-coach.is-warn { border-color: #e0a090; }
  .tw-stamp-modes legend { color: #f6f1ea; }
  .tw-stamp-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-stamp-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 台湾使用牌照税轨道 .tw-plate-rack（20261110bq）；复用 .tw-stamp-rack／.tw-futures-rack 节奏 ---------- */
.tw-plate-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.tw-plate-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.tw-plate-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.tw-plate-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.tw-plate-modes input { margin-top: 0.2rem; }
.tw-plate-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.tw-plate-coach:empty { display: none; }
.tw-plate-coach.is-warn { border-color: #b45a3c; }
.tw-plate-headline { margin: 0 0 0.85rem; }
.tw-plate-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.tw-plate-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-plate-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.tw-plate-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.tw-plate-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.tw-plate-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.tw-plate-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.tw-plate-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.tw-plate-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.tw-plate-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
}
.tw-plate-path.is-current { border-color: #cc785c; }
.tw-plate-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.tw-plate-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.tw-plate-tax small { font-size: 0.5em; font-family: var(--font); }
.tw-plate-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.tw-plate-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.tw-plate-delta strong { color: #faf9f5; }
.tw-plate-delta a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.tw-plate-years { display: grid; gap: 0.35rem; }
.tw-plate-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
}
.tw-plate-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.tw-plate-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.tw-plate-year span:nth-child(2),
.tw-plate-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.tw-plate-year span:nth-child(2) { text-align: right; }
.tw-plate-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .tw-plate-modes,
  .tw-plate-compare,
  .tw-plate-year {
    grid-template-columns: 1fr;
  }
  .tw-plate-tax { font-size: 1.35rem; }
  .tw-plate-headline-num { font-size: 2rem; }
  .tw-plate-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .tw-plate-year span:nth-child(1),
  .tw-plate-year span:nth-child(2),
  .tw-plate-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .tw-plate-headline-num { color: #faf9f5; }
  .tw-plate-headline-sub { color: #d9d0c5; }
  .tw-plate-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-plate-coach.is-warn { border-color: #e0a090; }
  .tw-plate-modes legend { color: #f6f1ea; }
  .tw-plate-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .tw-plate-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾股份单据印花税轨道 .ph-share-rack（20261110bv）；复用 .tw-plate-rack／.my-share-rack 节奏 ---------- */
.ph-share-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-share-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-share-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-share-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-share-modes input { margin-top: 0.2rem; }
.ph-share-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-share-coach:empty { display: none; }
.ph-share-coach.is-warn { border-color: #b45a3c; }
.ph-share-headline { margin: 0 0 0.85rem; }
.ph-share-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-share-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-share-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-share-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-share-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-share-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-share-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-share-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-share-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-share-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-share-path.is-current { border-color: #cc785c; }
.ph-share-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-share-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-share-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-share-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-share-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-share-delta strong { color: #faf9f5; }
.ph-share-rack a,
.ph-share-delta a,
.ph-share-path-total a,
.ph-share-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-share-years { display: grid; gap: 0.35rem; }
.ph-share-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-share-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-share-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-share-year span:nth-child(2),
.ph-share-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-share-year span:nth-child(2) { text-align: right; }
.ph-share-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-share-modes,
  .ph-share-compare,
  .ph-share-year {
    grid-template-columns: 1fr;
  }
  .ph-share-tax { font-size: 1.35rem; }
  .ph-share-headline-num { font-size: 2rem; }
  .ph-share-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-share-year span:nth-child(1),
  .ph-share-year span:nth-child(2),
  .ph-share-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-share-headline-num { color: #faf9f5; }
  .ph-share-headline-sub { color: #d9d0c5; }
  .ph-share-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-share-coach.is-warn { border-color: #e0a090; }
  .ph-share-modes legend { color: #f6f1ea; }
  .ph-share-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-share-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾股票交易税轨道 .ph-stt-rack（20261110bv）；复用 .ph-share-rack／.tw-stt-rack 节奏 ---------- */
.ph-stt-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-stt-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-stt-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-stt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-stt-modes input { margin-top: 0.2rem; }
.ph-stt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-stt-coach:empty { display: none; }
.ph-stt-coach.is-warn { border-color: #b45a3c; }
.ph-stt-headline { margin: 0 0 0.85rem; }
.ph-stt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-stt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-stt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-stt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-stt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-stt-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-stt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-stt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-stt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-stt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-stt-path.is-current { border-color: #cc785c; }
.ph-stt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-stt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-stt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-stt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-stt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-stt-delta strong { color: #faf9f5; }
.ph-stt-rack a,
.ph-stt-delta a,
.ph-stt-path-total a,
.ph-stt-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-stt-years { display: grid; gap: 0.35rem; }
.ph-stt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-stt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-stt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-stt-year span:nth-child(2),
.ph-stt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-stt-year span:nth-child(2) { text-align: right; }
.ph-stt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-stt-modes,
  .ph-stt-compare,
  .ph-stt-year {
    grid-template-columns: 1fr;
  }
  .ph-stt-tax { font-size: 1.35rem; }
  .ph-stt-headline-num { font-size: 2rem; }
  .ph-stt-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-stt-year span:nth-child(1),
  .ph-stt-year span:nth-child(2),
  .ph-stt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-stt-headline-num { color: #faf9f5; }
  .ph-stt-headline-sub { color: #d9d0c5; }
  .ph-stt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-stt-coach.is-warn { border-color: #e0a090; }
  .ph-stt-modes legend { color: #f6f1ea; }
  .ph-stt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-stt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾赠与税轨道 .ph-donor-rack（20261110bv）；复用 .ph-stt-rack／.tw-gift-rack 节奏 ---------- */
.ph-donor-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-donor-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-donor-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-donor-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-donor-modes input { margin-top: 0.2rem; }
.ph-donor-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-donor-coach:empty { display: none; }
.ph-donor-coach.is-warn { border-color: #b45a3c; }
.ph-donor-headline { margin: 0 0 0.85rem; }
.ph-donor-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-donor-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-donor-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-donor-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-donor-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-donor-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-donor-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-donor-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-donor-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-donor-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-donor-path.is-current { border-color: #cc785c; }
.ph-donor-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-donor-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-donor-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-donor-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-donor-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-donor-delta strong { color: #faf9f5; }
.ph-donor-rack a,
.ph-donor-delta a,
.ph-donor-path-total a,
.ph-donor-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-donor-years { display: grid; gap: 0.35rem; }
.ph-donor-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-donor-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-donor-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-donor-year span:nth-child(2),
.ph-donor-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-donor-year span:nth-child(2) { text-align: right; }
.ph-donor-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-donor-modes,
  .ph-donor-compare,
  .ph-donor-year {
    grid-template-columns: 1fr;
  }
  .ph-donor-tax { font-size: 1.35rem; }
  .ph-donor-headline-num { font-size: 2rem; }
  .ph-donor-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-donor-year span:nth-child(1),
  .ph-donor-year span:nth-child(2),
  .ph-donor-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-donor-headline-num { color: #faf9f5; }
  .ph-donor-headline-sub { color: #d9d0c5; }
  .ph-donor-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-donor-coach.is-warn { border-color: #e0a090; }
  .ph-donor-modes legend { color: #f6f1ea; }
  .ph-donor-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-donor-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾遗产税轨道 .ph-estate-rack（20261110bv）；复用 .ph-donor-rack／.tw-estate-rack 节奏 ---------- */
.ph-estate-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-estate-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-estate-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-estate-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-estate-modes input { margin-top: 0.2rem; }
.ph-estate-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-estate-coach:empty { display: none; }
.ph-estate-coach.is-warn { border-color: #b45a3c; }
.ph-estate-headline { margin: 0 0 0.85rem; }
.ph-estate-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-estate-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-estate-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-estate-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-estate-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-estate-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-estate-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-estate-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-estate-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-estate-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-estate-path.is-current { border-color: #cc785c; }
.ph-estate-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-estate-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-estate-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-estate-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-estate-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-estate-delta strong { color: #faf9f5; }
.ph-estate-rack a,
.ph-estate-delta a,
.ph-estate-path-total a,
.ph-estate-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-estate-years { display: grid; gap: 0.35rem; }
.ph-estate-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-estate-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-estate-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-estate-year span:nth-child(2),
.ph-estate-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-estate-year span:nth-child(2) { text-align: right; }
.ph-estate-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-estate-modes,
  .ph-estate-compare,
  .ph-estate-year {
    grid-template-columns: 1fr;
  }
  .ph-estate-tax { font-size: 1.35rem; }
  .ph-estate-headline-num { font-size: 2rem; }
  .ph-estate-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-estate-year span:nth-child(1),
  .ph-estate-year span:nth-child(2),
  .ph-estate-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-estate-headline-num { color: #faf9f5; }
  .ph-estate-headline-sub { color: #d9d0c5; }
  .ph-estate-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-estate-coach.is-warn { border-color: #e0a090; }
  .ph-estate-modes legend { color: #f6f1ea; }
  .ph-estate-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-estate-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾未上市股份资本利得税轨道 .ph-scgt-rack（20261110bv）；复用 .ph-donor-rack／.ph-share-rack 节奏 ---------- */
.ph-scgt-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-scgt-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-scgt-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-scgt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-scgt-modes input { margin-top: 0.2rem; }
.ph-scgt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-scgt-coach:empty { display: none; }
.ph-scgt-coach.is-warn { border-color: #b45a3c; }
.ph-scgt-headline { margin: 0 0 0.85rem; }
.ph-scgt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-scgt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-scgt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-scgt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-scgt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-scgt-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-scgt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-scgt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-scgt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-scgt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-scgt-path.is-current { border-color: #cc785c; }
.ph-scgt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-scgt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-scgt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-scgt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-scgt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-scgt-delta strong { color: #faf9f5; }
.ph-scgt-rack a,
.ph-scgt-delta a,
.ph-scgt-path-total a,
.ph-scgt-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-scgt-years { display: grid; gap: 0.35rem; }
.ph-scgt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-scgt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-scgt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-scgt-year span:nth-child(2),
.ph-scgt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-scgt-year span:nth-child(2) { text-align: right; }
.ph-scgt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-scgt-modes,
  .ph-scgt-compare,
  .ph-scgt-year {
    grid-template-columns: 1fr;
  }
  .ph-scgt-tax { font-size: 1.35rem; }
  .ph-scgt-headline-num { font-size: 2rem; }
  .ph-scgt-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-scgt-year span:nth-child(1),
  .ph-scgt-year span:nth-child(2),
  .ph-scgt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-scgt-headline-num { color: #faf9f5; }
  .ph-scgt-headline-sub { color: #d9d0c5; }
  .ph-scgt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-scgt-coach.is-warn { border-color: #e0a090; }
  .ph-scgt-modes legend { color: #f6f1ea; }
  .ph-scgt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-scgt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾贷款／债务工具单据印花税轨道 .ph-ldst-rack（20261110bv）；复用 .ph-scgt-rack／.ph-share-rack 节奏 ---------- */
.ph-ldst-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-ldst-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-ldst-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-ldst-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-ldst-modes input { margin-top: 0.2rem; }
.ph-ldst-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-ldst-coach:empty { display: none; }
.ph-ldst-coach.is-warn { border-color: #b45a3c; }
.ph-ldst-headline { margin: 0 0 0.85rem; }
.ph-ldst-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-ldst-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ldst-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-ldst-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-ldst-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-ldst-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-ldst-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-ldst-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-ldst-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-ldst-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-ldst-path.is-current { border-color: #cc785c; }
.ph-ldst-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-ldst-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ldst-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-ldst-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-ldst-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-ldst-delta strong { color: #faf9f5; }
.ph-ldst-rack a,
.ph-ldst-delta a,
.ph-ldst-path-total a,
.ph-ldst-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-ldst-years { display: grid; gap: 0.35rem; }
.ph-ldst-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-ldst-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-ldst-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-ldst-year span:nth-child(2),
.ph-ldst-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-ldst-year span:nth-child(2) { text-align: right; }
.ph-ldst-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-ldst-modes,
  .ph-ldst-compare,
  .ph-ldst-year {
    grid-template-columns: 1fr;
  }
  .ph-ldst-tax { font-size: 1.35rem; }
  .ph-ldst-headline-num { font-size: 2rem; }
  .ph-ldst-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-ldst-year span:nth-child(1),
  .ph-ldst-year span:nth-child(2),
  .ph-ldst-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-ldst-headline-num { color: #faf9f5; }
  .ph-ldst-headline-sub { color: #d9d0c5; }
  .ph-ldst-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ldst-coach.is-warn { border-color: #e0a090; }
  .ph-ldst-modes legend { color: #f6f1ea; }
  .ph-ldst-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ldst-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 菲律宾专业服务可抵扣预扣税轨道 .ph-ewt-rack（20261110bw）；复用 .ph-ldst-rack／.ph-rent-rack 节奏 ---------- */
.ph-ewt-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-ewt-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-ewt-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-ewt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-ewt-modes input { margin-top: 0.2rem; }
.ph-ewt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-ewt-coach:empty { display: none; }
.ph-ewt-coach.is-warn { border-color: #b45a3c; }
.ph-ewt-headline { margin: 0 0 0.85rem; }
.ph-ewt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-ewt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ewt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-ewt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-ewt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-ewt-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-ewt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-ewt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-ewt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-ewt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-ewt-path.is-current { border-color: #cc785c; }
.ph-ewt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-ewt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ewt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-ewt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-ewt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-ewt-delta strong { color: #faf9f5; }
.ph-ewt-rack a,
.ph-ewt-delta a,
.ph-ewt-path-total a,
.ph-ewt-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-ewt-years { display: grid; gap: 0.35rem; }
.ph-ewt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-ewt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-ewt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-ewt-year span:nth-child(2),
.ph-ewt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-ewt-year span:nth-child(2) { text-align: right; }
.ph-ewt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-ewt-modes,
  .ph-ewt-compare,
  .ph-ewt-year {
    grid-template-columns: 1fr;
  }
  .ph-ewt-tax { font-size: 1.35rem; }
  .ph-ewt-headline-num { font-size: 2rem; }
  .ph-ewt-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-ewt-year span:nth-child(1),
  .ph-ewt-year span:nth-child(2),
  .ph-ewt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-ewt-headline-num { color: #faf9f5; }
  .ph-ewt-headline-sub { color: #d9d0c5; }
  .ph-ewt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ewt-coach.is-warn { border-color: #e0a090; }
  .ph-ewt-modes legend { color: #f6f1ea; }
  .ph-ewt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ewt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾承包商与经常供应商可抵扣预扣税轨道 .ph-ewtc-rack（20261110bx）；复用 .ph-ewt-rack 节奏 ---------- */
.ph-ewtc-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-ewtc-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-ewtc-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-ewtc-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-ewtc-modes input { margin-top: 0.2rem; }
.ph-ewtc-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-ewtc-coach:empty { display: none; }
.ph-ewtc-coach.is-warn { border-color: #b45a3c; }
.ph-ewtc-headline { margin: 0 0 0.85rem; }
.ph-ewtc-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-ewtc-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ewtc-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-ewtc-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-ewtc-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-ewtc-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-ewtc-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-ewtc-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-ewtc-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-ewtc-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-ewtc-path.is-current { border-color: #cc785c; }
.ph-ewtc-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-ewtc-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ewtc-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-ewtc-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-ewtc-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-ewtc-delta strong { color: #faf9f5; }
.ph-ewtc-rack a,
.ph-ewtc-delta a,
.ph-ewtc-path-total a,
.ph-ewtc-year a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-ewtc-years { display: grid; gap: 0.35rem; }
.ph-ewtc-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-ewtc-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-ewtc-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-ewtc-year span:nth-child(2),
.ph-ewtc-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-ewtc-year span:nth-child(2) { text-align: right; }
.ph-ewtc-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-ewtc-modes,
  .ph-ewtc-compare,
  .ph-ewtc-year {
    grid-template-columns: 1fr;
  }
  .ph-ewtc-tax { font-size: 1.35rem; }
  .ph-ewtc-headline-num { font-size: 2rem; }
  .ph-ewtc-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-ewtc-year span:nth-child(1),
  .ph-ewtc-year span:nth-child(2),
  .ph-ewtc-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-ewtc-headline-num { color: #faf9f5; }
  .ph-ewtc-headline-sub { color: #d9d0c5; }
  .ph-ewtc-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ewtc-coach.is-warn { border-color: #e0a090; }
  .ph-ewtc-modes legend { color: #f6f1ea; }
  .ph-ewtc-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ewtc-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾非增值税人士百分比税轨道 .ph-ptax-rack（20261110by）；复用 .ph-ewtc-rack 节奏 ---------- */
.ph-ptax-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-ptax-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-ptax-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-ptax-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-ptax-modes input { margin-top: 0.2rem; }
.ph-ptax-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-ptax-coach:empty { display: none; }
.ph-ptax-coach.is-warn { border-color: #b45a3c; }
.ph-ptax-headline { margin: 0 0 0.85rem; }
.ph-ptax-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-ptax-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ptax-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-ptax-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-ptax-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-ptax-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-ptax-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-ptax-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-ptax-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-ptax-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-ptax-path.is-current { border-color: #cc785c; }
.ph-ptax-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-ptax-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ptax-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-ptax-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-ptax-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-ptax-delta strong { color: #faf9f5; }
.ph-ptax-rack a,
.ph-ptax-delta a,
.ph-ptax-path-total a,
.ph-ptax-year a,
.ph-ptax-status a,
.ph-ptax-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-ptax-years { display: grid; gap: 0.35rem; }
.ph-ptax-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-ptax-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-ptax-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-ptax-year span:nth-child(2),
.ph-ptax-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-ptax-year span:nth-child(2) { text-align: right; }
.ph-ptax-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-ptax-modes,
  .ph-ptax-compare,
  .ph-ptax-year {
    grid-template-columns: 1fr;
  }
  .ph-ptax-tax { font-size: 1.35rem; }
  .ph-ptax-headline-num { font-size: 2rem; }
  .ph-ptax-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-ptax-year span:nth-child(1),
  .ph-ptax-year span:nth-child(2),
  .ph-ptax-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-ptax-headline-num { color: #faf9f5; }
  .ph-ptax-headline-sub { color: #d9d0c5; }
  .ph-ptax-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ptax-coach.is-warn { border-color: #e0a090; }
  .ph-ptax-modes legend { color: #f6f1ea; }
  .ph-ptax-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ptax-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾国内客运／车库业者百分比税轨道 .ph-cct-rack（20261111cd）；复用 .ph-cct-rack 节奏；---------- */
.ph-cct-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-cct-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-cct-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-cct-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-cct-modes input { margin-top: 0.2rem; }
.ph-cct-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-cct-coach:empty { display: none; }
.ph-cct-coach.is-warn { border-color: #b45a3c; }
.ph-cct-headline { margin: 0 0 0.85rem; }
.ph-cct-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-cct-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-cct-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-cct-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-cct-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-cct-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-cct-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-cct-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-cct-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-cct-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-cct-path.is-current { border-color: #cc785c; }
.ph-cct-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-cct-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-cct-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-cct-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-cct-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-cct-delta strong { color: #faf9f5; }
.ph-cct-rack a,
.ph-cct-delta a,
.ph-cct-path-total a,
.ph-cct-year a,
.ph-cct-status a,
.ph-cct-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-cct-years { display: grid; gap: 0.35rem; }
.ph-cct-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-cct-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-cct-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-cct-year span:nth-child(2),
.ph-cct-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-cct-year span:nth-child(2) { text-align: right; }
.ph-cct-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-cct-modes,
  .ph-cct-compare,
  .ph-cct-year {
    grid-template-columns: 1fr;
  }
  .ph-cct-tax { font-size: 1.35rem; }
  .ph-cct-headline-num { font-size: 2rem; }
  .ph-cct-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-cct-year span:nth-child(1),
  .ph-cct-year span:nth-child(2),
  .ph-cct-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-cct-headline-num { color: #faf9f5; }
  .ph-cct-headline-sub { color: #d9d0c5; }
  .ph-cct-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-cct-coach.is-warn { border-color: #e0a090; }
  .ph-cct-modes legend { color: #f6f1ea; }
  .ph-cct-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-cct-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾政府预扣增值税轨道 .ph-wvat-rack（20261111cd）；复用 .ph-cct-rack 节奏 ---------- */
.ph-wvat-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-wvat-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-wvat-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-wvat-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-wvat-modes input { margin-top: 0.2rem; }
.ph-wvat-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-wvat-coach:empty { display: none; }
.ph-wvat-coach.is-warn { border-color: #b45a3c; }
.ph-wvat-headline { margin: 0 0 0.85rem; }
.ph-wvat-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-wvat-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-wvat-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-wvat-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-wvat-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-wvat-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-wvat-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-wvat-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-wvat-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-wvat-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-wvat-path.is-current { border-color: #cc785c; }
.ph-wvat-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-wvat-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-wvat-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-wvat-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-wvat-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-wvat-delta strong { color: #faf9f5; }
.ph-wvat-rack a,
.ph-wvat-delta a,
.ph-wvat-path-total a,
.ph-wvat-year a,
.ph-wvat-status a,
.ph-wvat-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-wvat-years { display: grid; gap: 0.35rem; }
.ph-wvat-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-wvat-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-wvat-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-wvat-year span:nth-child(2),
.ph-wvat-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-wvat-year span:nth-child(2) { text-align: right; }
.ph-wvat-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-wvat-modes,
  .ph-wvat-compare,
  .ph-wvat-year {
    grid-template-columns: 1fr;
  }
  .ph-wvat-tax { font-size: 1.35rem; }
  .ph-wvat-headline-num { font-size: 2rem; }
  .ph-wvat-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-wvat-year span:nth-child(1),
  .ph-wvat-year span:nth-child(2),
  .ph-wvat-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-wvat-headline-num { color: #faf9f5; }
  .ph-wvat-headline-sub { color: #d9d0c5; }
  .ph-wvat-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-wvat-coach.is-warn { border-color: #e0a090; }
  .ph-wvat-modes legend { color: #f6f1ea; }
  .ph-wvat-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-wvat-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾政府预扣百分比税轨道 .ph-wpt-rack（20261111cd）；复用 .ph-cct-rack 节奏 ---------- */
.ph-wpt-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-wpt-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-wpt-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-wpt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-wpt-modes input { margin-top: 0.2rem; }
.ph-wpt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-wpt-coach:empty { display: none; }
.ph-wpt-coach.is-warn { border-color: #b45a3c; }
.ph-wpt-headline { margin: 0 0 0.85rem; }
.ph-wpt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-wpt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-wpt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-wpt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-wpt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-wpt-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-wpt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-wpt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-wpt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-wpt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-wpt-path.is-current { border-color: #cc785c; }
.ph-wpt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-wpt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-wpt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-wpt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-wpt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-wpt-delta strong { color: #faf9f5; }
.ph-wpt-rack a,
.ph-wpt-delta a,
.ph-wpt-path-total a,
.ph-wpt-year a,
.ph-wpt-status a,
.ph-wpt-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-wpt-years { display: grid; gap: 0.35rem; }
.ph-wpt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-wpt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-wpt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-wpt-year span:nth-child(2),
.ph-wpt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-wpt-year span:nth-child(2) { text-align: right; }
.ph-wpt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-wpt-modes,
  .ph-wpt-compare,
  .ph-wpt-year {
    grid-template-columns: 1fr;
  }
  .ph-wpt-tax { font-size: 1.35rem; }
  .ph-wpt-headline-num { font-size: 2rem; }
  .ph-wpt-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-wpt-year span:nth-child(1),
  .ph-wpt-year span:nth-child(2),
  .ph-wpt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-wpt-headline-num { color: #faf9f5; }
  .ph-wpt-headline-sub { color: #d9d0c5; }
  .ph-wpt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-wpt-coach.is-warn { border-color: #e0a090; }
  .ph-wpt-modes legend { color: #f6f1ea; }
  .ph-wpt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-wpt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾国际承运人百分比税轨道 .ph-ict-rack（20261111cd）；复用 .ph-cct-rack 节奏 ---------- */
.ph-ict-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-ict-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-ict-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-ict-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-ict-modes input { margin-top: 0.2rem; }
.ph-ict-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-ict-coach:empty { display: none; }
.ph-ict-coach.is-warn { border-color: #b45a3c; }
.ph-ict-headline { margin: 0 0 0.85rem; }
.ph-ict-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-ict-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ict-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-ict-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-ict-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-ict-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-ict-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-ict-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-ict-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-ict-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-ict-path.is-current { border-color: #cc785c; }
.ph-ict-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-ict-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-ict-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-ict-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-ict-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-ict-delta strong { color: #faf9f5; }
.ph-ict-rack a,
.ph-ict-delta a,
.ph-ict-path-total a,
.ph-ict-year a,
.ph-ict-status a,
.ph-ict-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-ict-years { display: grid; gap: 0.35rem; }
.ph-ict-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-ict-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-ict-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-ict-year span:nth-child(2),
.ph-ict-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-ict-year span:nth-child(2) { text-align: right; }
.ph-ict-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-ict-modes,
  .ph-ict-compare,
  .ph-ict-year {
    grid-template-columns: 1fr;
  }
  .ph-ict-tax { font-size: 1.35rem; }
  .ph-ict-headline-num { font-size: 2rem; }
  .ph-ict-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-ict-year span:nth-child(1),
  .ph-ict-year span:nth-child(2),
  .ph-ict-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-ict-headline-num { color: #faf9f5; }
  .ph-ict-headline-sub { color: #d9d0c5; }
  .ph-ict-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ict-coach.is-warn { border-color: #e0a090; }
  .ph-ict-modes legend { color: #f6f1ea; }
  .ph-ict-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-ict-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}
/* ---------- 菲律宾非居民数字服务增值税轨道 .ph-dsvat-rack（20261111cd）；复用 .ph-dsvat-rack 节奏 ---------- */
.ph-dsvat-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-dsvat-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-dsvat-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-dsvat-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-dsvat-modes input { margin-top: 0.2rem; }
.ph-dsvat-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-dsvat-coach:empty { display: none; }
.ph-dsvat-coach.is-warn { border-color: #b45a3c; }
.ph-dsvat-headline { margin: 0 0 0.85rem; }
.ph-dsvat-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-dsvat-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-dsvat-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-dsvat-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-dsvat-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-dsvat-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-dsvat-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-dsvat-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-dsvat-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-dsvat-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-dsvat-path.is-current { border-color: #cc785c; }
.ph-dsvat-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-dsvat-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-dsvat-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-dsvat-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-dsvat-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-dsvat-delta strong { color: #faf9f5; }
.ph-dsvat-rack a,
.ph-dsvat-delta a,
.ph-dsvat-path-total a,
.ph-dsvat-year a,
.ph-dsvat-status a,
.ph-dsvat-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-dsvat-years { display: grid; gap: 0.35rem; }
.ph-dsvat-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-dsvat-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-dsvat-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-dsvat-year span:nth-child(2),
.ph-dsvat-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-dsvat-year span:nth-child(2) { text-align: right; }
.ph-dsvat-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-dsvat-modes,
  .ph-dsvat-compare,
  .ph-dsvat-year {
    grid-template-columns: 1fr;
  }
  .ph-dsvat-tax { font-size: 1.35rem; }
  .ph-dsvat-headline-num { font-size: 2rem; }
  .ph-dsvat-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-dsvat-year span:nth-child(1),
  .ph-dsvat-year span:nth-child(2),
  .ph-dsvat-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-dsvat-headline-num { color: #faf9f5; }
  .ph-dsvat-headline-sub { color: #d9d0c5; }
  .ph-dsvat-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-dsvat-coach.is-warn { border-color: #e0a090; }
  .ph-dsvat-modes legend { color: #f6f1ea; }
  .ph-dsvat-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-dsvat-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 菲律宾银行与非银行金融中介机构毛收入税轨道 .ph-grt-rack（20261111ce）；复用 .ph-dsvat-rack 节奏 ---------- */
.ph-grt-modes {
  display: grid;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  border: 0;
  padding: 0;
}
.ph-grt-modes legend {
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--ink);
}
.ph-grt-modes label {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  background: #faf9f5;
  border: 1px solid #efe9de;
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  cursor: pointer;
  color: var(--ink);
}
.ph-grt-modes label:has(input:checked) {
  border-color: #cc785c;
  background: #fff7f2;
}
.ph-grt-modes input { margin-top: 0.2rem; }
.ph-grt-coach {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.8rem;
  background: #efe9de;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.9rem;
}
.ph-grt-coach:empty { display: none; }
.ph-grt-coach.is-warn { border-color: #b45a3c; }
.ph-grt-headline { margin: 0 0 0.85rem; }
.ph-grt-headline-kicker {
  margin: 0 0 0.25rem;
  color: #d9d0c5;
  font-size: 0.88rem;
}
.ph-grt-headline-num {
  margin: 0;
  font-family: var(--font-display);
  font-size: 2.35rem;
  line-height: 1.15;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-grt-headline-num small {
  font-size: 0.45em;
  margin-left: 0.2rem;
  font-family: var(--font);
}
.ph-grt-headline-sub {
  margin: 0.4rem 0 0;
  color: #d9d0c5;
  font-size: 0.92rem;
  overflow-wrap: anywhere;
}
.ph-grt-rack {
  background: #241f1c;
  color: #f6f1ea;
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.05rem 1rem;
  display: grid;
  gap: 0.85rem;
}
.ph-grt-head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.8rem;
  align-items: baseline;
  justify-content: space-between;
}
.ph-grt-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  color: #faf9f5;
}
.ph-grt-status {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}
.ph-grt-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.7rem;
}
.ph-grt-path {
  background: #2a2622;
  border: 1px solid #3a3530;
  border-radius: 10px;
  padding: 0.75rem 0.8rem;
  color: #f6f1ea;
}
.ph-grt-path.is-current { border-color: #cc785c; }
.ph-grt-path-kicker {
  margin: 0 0 0.2rem;
  color: #d9d0c5;
  font-size: 0.8rem;
}
.ph-grt-tax {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.ph-grt-tax small { font-size: 0.5em; font-family: var(--font); }
.ph-grt-path-total {
  margin: 0.3rem 0 0;
  color: #d9d0c5;
  font-size: 0.84rem;
  overflow-wrap: anywhere;
}
.ph-grt-delta {
  margin: 0;
  color: #efe9de;
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}
.ph-grt-delta strong { color: #faf9f5; }
.ph-grt-rack a,
.ph-grt-delta a,
.ph-grt-path-total a,
.ph-grt-year a,
.ph-grt-status a,
.ph-grt-headline-sub a {
  color: #f3d2c4;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
.ph-grt-years { display: grid; gap: 0.35rem; }
.ph-grt-year {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 0.4rem;
  align-items: start;
  padding: 0.4rem 0.15rem;
  border-bottom: 1px solid #3a3530;
  font-size: 0.86rem;
  color: #f6f1ea;
}
.ph-grt-year.is-head {
  color: #d9d0c5;
  font-size: 0.75rem;
  border-bottom-color: #4a443e;
}
.ph-grt-year.is-focus { border: 1px solid #cc785c; border-radius: 8px; padding: 0.45rem 0.5rem; }
.ph-grt-year span:nth-child(2),
.ph-grt-year span:nth-child(3) { font-weight: 600; color: #f6f1ea; overflow-wrap: anywhere; }
.ph-grt-year span:nth-child(2) { text-align: right; }
.ph-grt-year span:nth-child(1) { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .ph-grt-modes,
  .ph-grt-compare,
  .ph-grt-year {
    grid-template-columns: 1fr;
  }
  .ph-grt-tax { font-size: 1.35rem; }
  .ph-grt-headline-num { font-size: 2rem; }
  .ph-grt-modes label { font-size: 0.84rem; overflow-wrap: anywhere; }
  .ph-grt-year span:nth-child(1),
  .ph-grt-year span:nth-child(2),
  .ph-grt-year span:nth-child(3) { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .ph-grt-headline-num { color: #faf9f5; }
  .ph-grt-headline-sub { color: #d9d0c5; }
  .ph-grt-coach { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-grt-coach.is-warn { border-color: #e0a090; }
  .ph-grt-modes legend { color: #f6f1ea; }
  .ph-grt-modes label { background: #2a2622; color: #f6f1ea; border-color: #3a3530; }
  .ph-grt-modes label:has(input:checked) { background: #322c28; border-color: #cc785c; }
}

/* ---------- 窄屏粘性「本次应缴 / 申报截止」底栏 .calc-live-dock（20261111cf） ---------- */
.calc-live-dock {
  display: none;
  box-sizing: border-box;
  position: fixed;
  left: 0.7rem;
  right: 0.7rem;
  bottom: 0.7rem;
  z-index: 80;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem 0.6rem 0.85rem;
  background: #201c16;
  color: #faf9f5;
  border-radius: 12px;
  border-top: 3px solid #cc785c;
  box-shadow: 0 6px 18px rgba(32, 28, 22, 0.28);
}
.calc-live-dock-main {
  min-width: 0;
  flex: 1 1 auto;
}
.calc-live-dock-kicker {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  line-height: 1.3;
}
.calc-live-dock-num {
  margin: 0;
  font-family: var(--font-display);
  font-variant-numeric: tabular-nums;
  font-size: 1.28rem;
  line-height: 1.2;
  color: #faf9f5;
  overflow-wrap: anywhere;
}
.calc-live-dock-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.28rem;
  flex: 0 0 auto;
}
.calc-live-dock-due {
  margin: 0;
  color: #d9d0c5;
  font-size: 0.72rem;
  line-height: 1.3;
  white-space: nowrap;
}
.calc-live-dock-due:empty,
.calc-live-dock-due[hidden] { display: none; }
.calc-live-dock-jump {
  appearance: none;
  margin: 0;
  border: 0;
  border-radius: 8px;
  padding: 0.32rem 0.7rem;
  background: #f3d2c4;
  color: #201c16;
  font-family: var(--font);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.2;
}
.calc-live-dock-jump:focus-visible {
  outline: 2px solid #faf9f5;
  outline-offset: 2px;
}
@media (max-width: 720px) {
  .calc-live-dock.is-visible {
    display: flex;
  }
  body.has-live-dock {
    padding-bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
    scroll-padding-bottom: calc(5.4rem + env(safe-area-inset-bottom, 0px));
  }
}

/* ---------- 长说明默认收起 .intro-fold（20261111cg） ---------- */
.intro-fold-clip {
  position: relative;
  margin: 0;
  padding: 0;
}
.intro-fold-lead {
  margin: 0;
}
.intro-fold-rest {
  margin-top: 0.45rem;
}
.intro-fold-rest:empty,
.intro-fold-rest[hidden] {
  display: none;
}
.intro-fold.is-collapsed .intro-fold-lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  line-clamp: 5;
  overflow: hidden;
  max-height: calc(5 * 1.65em);
}
.intro-fold.is-collapsed .intro-fold-clip::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.15em;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(239, 233, 222, 0), #efe9de);
}
.intro-fold-toggle {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0.55rem 0 0;
  min-height: 44px;
  padding: 0.4rem 0.9rem;
  border-radius: 8px;
  border: 1px solid #8f8778;
  background: #f7f1e8;
  color: #141413;
  font-family: var(--font);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}
.intro-fold-toggle:hover {
  background: #f3ece1;
}
.intro-fold-toggle:focus-visible {
  outline: 2px solid #141413;
  outline-offset: 2px;
}
.intro-fold-toggle[hidden] {
  display: none;
}
.intro-fold-solo {
  margin: 0;
  padding: 0;
}
.intro-fold-solo > .page-desc {
  margin-bottom: 0.45rem;
}
.intro-fold-solo > .intro-fold-toggle {
  margin-bottom: 1.15rem;
}
.intro-fold-solo.is-collapsed > .page-desc.intro-fold-lead {
  position: relative;
}
.intro-fold-solo.is-collapsed > .page-desc.intro-fold-lead::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1.15em;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(250, 249, 245, 0), var(--canvas));
}
p.page-desc.intro-fold-desc[hidden] {
  display: none;
}
@media (prefers-color-scheme: dark) {
  .intro-fold.is-collapsed .intro-fold-clip::after {
    background: linear-gradient(to bottom, rgba(37, 35, 32, 0), var(--surface-dark-elevated));
  }
  .intro-fold-toggle {
    border-color: #c8c5bc;
    background: #2a2723;
    color: #faf9f5;
  }
  .intro-fold-toggle:hover {
    background: #322e29;
  }
  .intro-fold-toggle:focus-visible {
    outline-color: #faf9f5;
  }
  .intro-fold-solo.is-collapsed > .page-desc.intro-fold-lead::after {
    background: linear-gradient(to bottom, rgba(24, 23, 21, 0), var(--bg));
  }
}

/* ---------- 金额栏千分位预览 .amount-preview；税率条 .calc-rate-chip（20261111ch） ---------- */
.amount-preview {
  margin: 0.28rem 0 0;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.35;
  color: #141413;
  letter-spacing: 0.01em;
}
.amount-preview[hidden],
.amount-preview:empty {
  display: none;
}
.calc-rate-chip {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.9rem;
  border-radius: 12px;
  border: 1px solid #d4c7b4;
  background: #f7f1e8;
  color: #141413;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.45;
}
.calc-rate-chip.is-warn {
  border-color: #b45a3c;
  background: #f8ece6;
}
.calc-rate-chip[hidden],
.calc-rate-chip:empty {
  display: none;
}
@media (prefers-color-scheme: dark) {
  .amount-preview {
    color: #faf9f5;
  }
  .calc-rate-chip {
    border-color: #5a534a;
    background: #2a2622;
    color: #faf9f5;
  }
  .calc-rate-chip.is-warn {
    border-color: #e0a090;
    background: #3a2a26;
  }
}

/* 2026-11-12 年资阶梯 .leave-ladder：把「现在在哪一档、下一档何时到」画成竖向阶梯 */
.twal-headline-sub {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  line-height: 1.5;
  opacity: 0.92;
}
.kv-row.is-strong span:last-child {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.leave-ladder {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0 0 0 1.1rem;
  border-left: 2px solid #d4c7b4;
  display: grid;
  gap: 0.4rem;
}
.leave-step {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  padding: 0.55rem 0.8rem;
  border-radius: 8px;
  background: #f5f0e8;
  color: #141413;
  font-size: 0.95rem;
  line-height: 1.4;
}
.leave-step::before {
  content: "";
  position: absolute;
  left: calc(-1.1rem - 6px);
  top: 50%;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  border-radius: 50%;
  background: #faf9f5;
  border: 2px solid #d4c7b4;
}
.leave-step-when small {
  display: block;
  font-size: 0.8rem;
  color: #6c6a64;
  font-variant-numeric: tabular-nums;
}
.leave-step-days {
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.leave-step.is-past {
  background: transparent;
  color: #6c6a64;
}
.leave-step.is-past::before {
  background: #d4c7b4;
}
.leave-step.is-current {
  background: #f3e8e2;
  box-shadow: inset 3px 0 0 #cc785c;
}
.leave-step.is-current::before {
  background: #cc785c;
  border-color: #cc785c;
}
.leave-step.is-current .leave-step-days {
  color: #a9583e;
}
@media (max-width: 720px) {
  .leave-step { font-size: 0.9rem; padding: 0.5rem 0.65rem; }
}
@media (prefers-color-scheme: dark) {
  .leave-ladder { border-left-color: #5a534a; }
  .leave-step { background: #252320; color: #faf9f5; }
  .leave-step::before { background: #181715; border-color: #5a534a; }
  .leave-step-when small { color: #b8b2a7; }
  .leave-step.is-past { background: transparent; color: #b8b2a7; }
  .leave-step.is-past::before { background: #5a534a; }
  .leave-step.is-current { background: #3a2a26; }
  .leave-step.is-current .leave-step-days { color: #f0b49e; }
}

/* 2026-11-12 隐私政策长文阅读页 .legal-wrap：暖米色画布、衬线标题、舒适行宽 */
.legal-wrap {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2.25rem 0 4rem;
}
.legal-kicker,
.error-kicker {
  margin: 0 0 0.55rem;
  font-family: var(--font);
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.legal-wrap .page-title,
.error-wrap .page-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 5.2vw, 3.1rem);
  letter-spacing: -0.035em;
  line-height: 1.12;
  font-weight: 400;
  color: var(--ink);
}
.legal-updated {
  margin: 0 0 1.75rem;
  color: var(--muted);
  font-size: 0.95rem;
}
.legal-wrap h2 {
  margin: 2.15rem 0 0.7rem;
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2.4vw, 1.45rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  color: var(--ink);
}
.legal-wrap p,
.legal-wrap li {
  margin: 0 0 0.95rem;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--body);
}
.legal-wrap ul {
  margin: 0 0 1rem;
  padding: 0 0 0 1.2rem;
}
.legal-wrap a {
  color: var(--primary-ink);
  text-underline-offset: 0.15em;
}
.legal-wrap a:hover {
  color: var(--primary-active);
}
.legal-wrap .legal-disclaimer {
  margin-top: 2.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--hairline);
  color: var(--muted);
  font-size: 0.95rem;
}

/* 2026-11-12 找不到这一页 .error-page：有温度、不吓人，窄屏先看清说明和入口 */
.error-page {
  min-height: calc(100vh - var(--nav-h) - 8rem);
}
.error-wrap {
  max-width: 44rem;
  margin: 0 auto;
  padding: 2.75rem 0 4rem;
}
.error-lead {
  margin: 0 0 1.5rem;
  max-width: 36rem;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--body);
}
.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin: 0 0 2.4rem;
}
.error-regions-title {
  margin: 0 0 0.85rem;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ink);
}
.error-regions {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 0.65rem;
}
.error-regions a {
  display: block;
  padding: 0.85rem 0.95rem;
  border-radius: var(--radius-md);
  background: var(--surface-soft);
  border: 1px solid var(--hairline);
  color: var(--ink);
  text-decoration: none;
  font-weight: 500;
  line-height: 1.35;
  min-height: 44px;
}
.error-regions a:hover,
.error-regions a:focus-visible {
  border-color: rgba(204, 120, 92, 0.45);
  color: var(--primary-ink);
  box-shadow: var(--focus-ring);
  outline: none;
}
@media (max-width: 640px) {
  .legal-wrap,
  .error-wrap { padding: 1.6rem 0 3rem; }
  .error-actions .btn { flex: 1 1 12rem; }
}

/* 2026-11-12 资遣费分段轨道 .sev-breakdown */
.twsev-headline-sub {
  margin: 0.4rem 0 0;
  font-size: 0.95rem;
  line-height: 1.55;
  opacity: 0.92;
}
.sev-breakdown {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0 0 0 1.1rem;
  border-left: 2px solid #d4c7b4;
  display: grid;
  gap: 0.45rem;
}
.sev-seg {
  position: relative;
  display: grid;
  gap: 0.15rem;
  padding: 0.65rem 0.85rem;
  border-radius: 8px;
  background: #f5f0e8;
  color: #141413;
  font-size: 0.95rem;
  line-height: 1.45;
}
.sev-seg::before {
  content: "";
  position: absolute;
  left: calc(-1.1rem - 6px);
  top: 1.05rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #faf9f5;
  border: 2px solid #d4c7b4;
}
.sev-seg-label {
  font-weight: 600;
  color: #252523;
}
.sev-seg-meta {
  color: #6c6a64;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
}
.sev-seg-pay {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.sev-seg.is-cap {
  background: #f3e8e2;
  box-shadow: inset 3px 0 0 #cc785c;
}
.sev-seg.is-cap::before {
  background: #cc785c;
  border-color: #cc785c;
}
.sev-seg.is-cap .sev-seg-pay {
  color: #a9583e;
}
@media (max-width: 720px) {
  .sev-seg { font-size: 0.9rem; padding: 0.55rem 0.7rem; }
}
@media (prefers-color-scheme: dark) {
  .legal-wrap a { color: var(--primary-ink); }
  .error-regions a {
    background: var(--surface-dark-elevated);
    border-color: var(--border);
    color: var(--on-dark);
  }
  .sev-breakdown { border-left-color: #5a534a; }
  .sev-seg { background: #252320; color: #faf9f5; }
  .sev-seg::before { background: #181715; border-color: #5a534a; }
  .sev-seg-label { color: #faf9f5; }
  .sev-seg-meta { color: #b8b2a7; }
  .sev-seg.is-cap { background: #3a2a26; }
  .sev-seg.is-cap .sev-seg-pay { color: #f0b49e; }
}

/* 2026-11-12 境外通讯税：付款方 vs 代收汇缴方 .calc-party-split；20 日 vs 25 日 .calc-due-compare */
.calc-party-split,
.calc-due-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin: 1rem 0 0;
}
.calc-party,
.calc-due-correct,
.calc-due-wrong {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px solid #d4c7b4;
  background: #efe9de;
  color: #141413;
  box-shadow: none;
}
.calc-party-kicker,
.calc-due-kicker {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #5a534a;
}
.calc-party-amt,
.calc-due-date {
  margin: 0.35rem 0 0.3rem;
  font-family: "Noto Serif SC", "Noto Serif TC", "Noto Serif", serif;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.25;
  font-variant-numeric: tabular-nums;
  color: #141413;
}
.calc-party-amt small,
.calc-due-date small {
  font-family: "Noto Sans SC", "Noto Sans TC", "Noto Sans", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  margin-left: 0.25rem;
  opacity: 0.75;
}
.calc-party-note,
.calc-due-note {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: #5a534a;
}
.calc-due-correct {
  border-color: #cc785c;
  background: #f3e8e2;
}
.calc-due-correct .calc-due-kicker,
.calc-due-correct .calc-due-date {
  color: #a9583e;
}
.calc-due-wrong {
  background: #f5f0e8;
  color: #5a534a;
}
.calc-due-wrong .calc-due-date {
  color: #5a534a;
  font-size: 1.15rem;
}
.calc-due-flag {
  display: inline-block;
  margin: 0 0 0.4rem;
  padding: 0.15rem 0.5rem;
  border-radius: 8px;
  background: #efe9de;
  color: #5a534a;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
@media (max-width: 720px) {
  .calc-party-split,
  .calc-due-compare {
    grid-template-columns: 1fr;
  }
  .calc-party-amt,
  .calc-due-date {
    font-size: 1.2rem;
  }
}
@media (prefers-color-scheme: dark) {
  .calc-party,
  .calc-due-wrong {
    border-color: #5a534a;
    background: #252320;
    color: #faf9f5;
  }
  .calc-party-kicker,
  .calc-party-note,
  .calc-due-kicker,
  .calc-due-note,
  .calc-due-wrong .calc-due-date {
    color: #b8b2a7;
  }
  .calc-party-amt {
    color: #faf9f5;
  }
  .calc-due-correct {
    border-color: #e0a090;
    background: #3a2a26;
    color: #faf9f5;
  }
  .calc-due-correct .calc-due-kicker,
  .calc-due-correct .calc-due-date {
    color: #f0b49e;
  }
  .calc-due-flag {
    background: #181715;
    color: #b8b2a7;
  }
}

/* 2026-11-12 TDSR／MSR：月入使用比例条 .calc-ratio-meter（已有负债／这笔贷款／剩余，30%、55% 刻度） */
.calc-ratio-meter {
  margin: 1rem 0 0;
  padding: 0.9rem 1rem 0.8rem;
  border-radius: 12px;
  border: 1px solid #d4c7b4;
  background: #efe9de;
  color: #141413;
}
.calc-ratio-track {
  position: relative;
  display: flex;
  height: 14px;
  margin: 1.4rem 0 0.75rem;
  border-radius: 8px;
  background: #faf9f5;
  box-shadow: inset 0 0 0 1px #d4c7b4;
  overflow: visible;
}
.calc-ratio-seg {
  display: block;
  height: 100%;
  min-width: 0;
}
.calc-ratio-seg:first-child { border-radius: 8px 0 0 8px; }
.calc-ratio-seg.is-existing { background: #8a8174; }
.calc-ratio-seg.is-loan { background: #cc785c; }
.calc-ratio-seg.is-loan.is-over { background: #a9583e; background-image: repeating-linear-gradient(135deg, transparent 0 5px, rgba(250, 249, 245, 0.35) 5px 8px); }
.calc-ratio-tick {
  position: absolute;
  top: -6px;
  bottom: -6px;
  width: 2px;
  margin-left: -1px;
  background: #141413;
}
.calc-ratio-tick span {
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #5a534a;
}
.calc-ratio-tick.is-tdsr { background: #a9583e; }
.calc-ratio-tick.is-tdsr span { color: #a9583e; }
.calc-ratio-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #5a534a;
  font-variant-numeric: tabular-nums;
}
.calc-ratio-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 0.35rem;
  border-radius: 3px;
  vertical-align: -1px;
}
.calc-ratio-legend i.is-existing { background: #8a8174; }
.calc-ratio-legend i.is-loan { background: #cc785c; }
.calc-ratio-total { margin-left: auto; font-weight: 600; color: #141413; }
@media (max-width: 720px) {
  .calc-ratio-total { margin-left: 0; width: 100%; }
}
@media (prefers-color-scheme: dark) {
  .calc-ratio-meter { border-color: #5a534a; background: #252320; color: #faf9f5; }
  .calc-ratio-track { background: #181715; box-shadow: inset 0 0 0 1px #5a534a; }
  .calc-ratio-seg.is-existing, .calc-ratio-legend i.is-existing { background: #7a7266; }
  .calc-ratio-tick { background: #faf9f5; }
  .calc-ratio-tick span, .calc-ratio-legend { color: #b8b2a7; }
  .calc-ratio-tick.is-tdsr { background: #e0a090; }
  .calc-ratio-tick.is-tdsr span { color: #e0a090; }
  .calc-ratio-total { color: #faf9f5; }
}

/* 2026-11-12 17:00 劳保老年年金：请领年龄条 .calc-age-strip、回本线 .calc-breakeven、两式择优 .calc-party.is-pick */
.calc-party.is-pick { border-color: #cc785c; box-shadow: inset 0 0 0 1px #cc785c; }
.calc-party.is-pick .calc-party-kicker { color: #a9583e; }
.calc-age-strip-label {
  margin: 1.1rem 0 0.45rem;
  font-size: 0.86rem;
  line-height: 1.5;
  color: #5a534a;
}
.calc-age-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(4.6rem, 1fr));
  gap: 6px;
  margin: 0;
  padding: 0;
}
.calc-age-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 0.5rem 0.15rem 0.45rem;
  border-radius: 8px;
  border: 1px solid #d4c7b4;
  background: #efe9de;
  color: #141413;
  font-variant-numeric: tabular-nums;
  text-align: center;
  min-width: 0;
}
.calc-age-cell.is-early { background: #f5f0e8; }
.calc-age-cell.is-legal { border-color: #8a8174; }
.calc-age-cell-age { font-size: 0.78rem; font-weight: 600; white-space: nowrap; }
.calc-age-cell-pct { font-size: 0.72rem; color: #5a534a; }
.calc-age-cell-amt { font-size: 0.82rem; font-weight: 600; white-space: nowrap; }
.calc-age-cell.is-current { background: #cc785c; border-color: #cc785c; color: #faf9f5; }
.calc-age-cell.is-current .calc-age-cell-pct { color: #faf9f5; }
@media (max-width: 720px) {
  .calc-age-strip { grid-template-columns: repeat(auto-fill, minmax(4.2rem, 1fr)); }
  .calc-age-cell-amt { font-size: 0.8rem; }
}
.ph-grt-rack .calc-age-strip-label { margin: 0.2rem 0 -0.35rem; color: #c9c1b4; }
.calc-breakeven {
  margin: 1rem 0 0;
  padding: 0.9rem 1rem 0.8rem;
  border-radius: 12px;
  border: 1px solid #d4c7b4;
  background: #efe9de;
  color: #141413;
}
.calc-breakeven-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
}
.calc-breakeven-track {
  position: relative;
  height: 14px;
  margin: 2.1rem 0 1.6rem;
  border-radius: 8px;
  background: #faf9f5;
  box-shadow: inset 0 0 0 1px #d4c7b4;
}
.calc-breakeven-fill,
.calc-breakeven-gain {
  position: absolute;
  top: 0;
  bottom: 0;
}
.calc-breakeven-fill { left: 0; border-radius: 8px 0 0 8px; background: #8a8174; }
.calc-breakeven-gain { border-radius: 0 8px 8px 0; background: #cc785c; }
.calc-breakeven-pin {
  position: absolute;
  top: -8px;
  bottom: -8px;
  width: 2px;
  margin-left: -1px;
  background: #141413;
}
.calc-breakeven-pin span {
  position: absolute;
  bottom: calc(100% + 3px);
  left: 50%;
  transform: translateX(-50%);
  padding: 1px 7px;
  border-radius: 8px;
  background: #141413;
  color: #faf9f5;
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}
.calc-breakeven-tick {
  position: absolute;
  top: 100%;
  width: 1px;
  height: 5px;
  background: #8a8174;
}
.calc-breakeven-tick span {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.72rem;
  color: #5a534a;
  font-variant-numeric: tabular-nums;
}
.calc-breakeven-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #5a534a;
}
.calc-breakeven-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 0.35rem;
  border-radius: 3px;
  vertical-align: -1px;
}
.calc-breakeven-legend i.is-fill { background: #8a8174; }
.calc-breakeven-legend i.is-gain { background: #cc785c; }
@media (prefers-color-scheme: dark) {
  .calc-party.is-pick { border-color: #e0a090; box-shadow: inset 0 0 0 1px #e0a090; }
  .calc-party.is-pick .calc-party-kicker { color: #e0a090; }
  .calc-age-strip-label, .calc-age-cell-pct, .calc-breakeven-legend, .calc-breakeven-tick span { color: #b8b2a7; }
  .calc-age-cell, .calc-breakeven { border-color: #5a534a; background: #252320; color: #faf9f5; }
  .calc-age-cell.is-early { background: #1f1e1b; }
  .calc-age-cell.is-current { background: #cc785c; border-color: #cc785c; color: #181715; }
  .calc-age-cell.is-current .calc-age-cell-pct { color: #181715; }
  .calc-breakeven-track { background: #181715; box-shadow: inset 0 0 0 1px #5a534a; }
  .calc-breakeven-fill, .calc-breakeven-legend i.is-fill { background: #7a7266; }
  .calc-breakeven-pin, .calc-breakeven-pin span { background: #faf9f5; }
  .calc-breakeven-pin span { color: #181715; }
}
.calc-breakeven-pin.is-edge-right span { left: auto; right: -1px; transform: none; }
.calc-breakeven-pin.is-edge-left span { left: -1px; transform: none; }

/* 2026-11-13 刻度文字自带卡片底色：标签落在刻度线上时也保持对比度（tw-labor-old-age、sg-tdsr） */
.calc-ratio-tick span,
.calc-breakeven-tick span {
  padding: 0 3px;
  border-radius: 4px;
  background: #efe9de;
}
@media (prefers-color-scheme: dark) {
  .calc-ratio-tick span,
  .calc-breakeven-tick span { background: #252320; }
}

/* 2026-11-13 BMI 各地标准对照 .bmi-std-compare（台／港／新／马／WHO 切点不同） */
.bmi-std-name {
  margin: 0.5rem 0 0;
  font-size: 0.82rem;
  color: var(--on-dark-soft);
}
.bmi-std-compare {
  margin: 1rem 0 0;
  padding: 0.75rem 0.9rem;
  border: 1px solid #d4c7b4;
  border-radius: 12px;
  background: #efe9de;
}
.bmi-std-title {
  margin: 0 0 0.4rem;
  font-family: var(--font-display);
  font-size: 0.98rem;
  font-weight: 600;
  color: #141413;
}
.bmi-std-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0.55rem;
  border-radius: 8px;
  border-top: 1px solid #e3dacb;
}
.bmi-std-row:first-of-type { border-top: 0; }
.bmi-std-row.is-current {
  background: #faf9f5;
  box-shadow: inset 3px 0 0 #cc785c;
  border-top-color: transparent;
}
.bmi-std-region {
  display: flex;
  flex-direction: column;
  min-width: 0;
  font-size: 0.9rem;
  color: #141413;
}
.bmi-std-region small {
  margin-top: 0.1rem;
  font-size: 0.76rem;
  color: #5a534a;
  font-variant-numeric: tabular-nums;
}
.bmi-std-row .badge { flex: none; }
@media (prefers-color-scheme: dark) {
  .bmi-std-compare { border-color: #5a534a; background: #252320; }
  .bmi-std-title, .bmi-std-region { color: #faf9f5; }
  .bmi-std-region small { color: #b8b2a7; }
  .bmi-std-row { border-top-color: #3a3631; }
  .bmi-std-row.is-current { background: #1f1e1b; box-shadow: inset 3px 0 0 #e0a090; }
}

/* 2026-11-13 工具页「怎么算」说明块 .calc-guide：公式、三步用法、可展开常见问题 */
.calc-guide {
  max-width: 46rem;
  margin: 2rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid #e3dacb;
  color: #141413;
}
.calc-guide-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
}
.calc-guide-formula {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  background: #efe9de;
  font-size: 0.95rem;
  line-height: 1.75;
  font-variant-numeric: tabular-nums;
}
.calc-guide-sub {
  margin: 1.35rem 0 0.5rem;
  font-family: var(--font-display);
  font-size: 1.02rem;
  font-weight: 600;
}
.calc-guide-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: guide;
}
.calc-guide-steps li {
  position: relative;
  margin: 0 0 0.5rem;
  padding-left: 2rem;
  line-height: 1.65;
  counter-increment: guide;
}
.calc-guide-steps li::before {
  content: counter(guide);
  position: absolute;
  left: 0;
  top: 0.12rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #cc785c;
  color: #141413;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.4rem;
  text-align: center;
}
.calc-guide-faq details {
  border: 1px solid #e3dacb;
  border-radius: 8px;
  background: #faf9f5;
}
.calc-guide-faq details + details { margin-top: 0.5rem; }
.calc-guide-faq summary {
  position: relative;
  padding: 0.7rem 2.2rem 0.7rem 0.9rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  list-style: none;
}
.calc-guide-faq summary::-webkit-details-marker { display: none; }
.calc-guide-faq summary::after {
  content: "+";
  position: absolute;
  right: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
  color: #a9583e;
  font-size: 1.1rem;
  font-weight: 600;
}
.calc-guide-faq details[open] summary::after { content: "−"; }
.calc-guide-faq summary:focus-visible { outline: 2px solid #cc785c; outline-offset: 2px; border-radius: 8px; }
.calc-guide-faq details p {
  margin: 0;
  padding: 0 0.9rem 0.85rem;
  line-height: 1.7;
  color: #3d3929;
}
.calc-guide-note {
  margin: 1rem 0 0;
  font-size: 0.82rem;
  color: #5a534a;
}
@media (max-width: 640px) {
  .calc-guide { margin-top: 1.5rem; padding-top: 1.25rem; }
  .calc-guide-title { font-size: 1.2rem; }
}
@media (prefers-color-scheme: dark) {
  .calc-guide { border-top-color: #3a3631; color: #faf9f5; }
  .calc-guide-formula { background: #252320; }
  .calc-guide-faq details { border-color: #3a3631; background: #1f1e1b; }
  .calc-guide-faq details p { color: #d6d0c4; }
  .calc-guide-faq summary::after { color: #e0a090; }
  .calc-guide-note { color: #b8b2a7; }
}

/* ---------- 可展开税率／电价表 .calc-rates（2026-11-13 10:00） ---------- */
.calc-rates {
  border: 1px solid var(--hairline);
  border-radius: 12px;
  background: var(--surface-card);
}
.calc-rates > summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.6rem;
  padding: 0.75rem 2.4rem 0.75rem 0.95rem;
  position: relative;
  cursor: pointer;
  list-style: none;
  line-height: 1.45;
}
.calc-rates > summary::-webkit-details-marker { display: none; }
.calc-rates > summary::after {
  content: "展开修改";
  position: absolute;
  right: 0.95rem;
  top: 0.78rem;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--primary-ink);
}
.calc-rates[open] > summary::after { content: "收起"; }
html[lang="zh-Hant"] .calc-rates > summary::after { content: "展開修改"; }
html[lang="zh-Hant"] .calc-rates[open] > summary::after { content: "收起"; }
html[lang="ms"] .calc-rates > summary::after { content: "Ubah"; }
html[lang="ms"] .calc-rates[open] > summary::after { content: "Tutup"; }
.calc-rates > summary:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.calc-rates-title { font-weight: 600; color: var(--ink); }
.calc-rates-src {
  font-size: 0.82rem;
  color: #5e5a52;
  padding-right: 4.2rem;
}
.calc-rates-body {
  display: grid;
  gap: 0.6rem;
  padding: 0.2rem 0.95rem 0.95rem;
  border-top: 1px solid var(--hairline-soft);
}
.calc-rates-body .hint { margin: 0.6rem 0 0.1rem; }
.calc-rates-body .form-row { margin: 0; }
.calc-rates-body input { background: var(--canvas); }
.result-card .result-sub {
  margin: 0.45rem 0 0;
  font-size: 0.88rem;
  color: var(--on-dark-soft);
}
.elec-marginal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin: 0.75rem 0;
  padding: 0.7rem 0.95rem;
  border-radius: 8px;
  background: var(--primary-soft);
  color: var(--body-strong);
  font-size: 0.92rem;
}
.elec-marginal strong { color: #8f4a33; font-size: 1.05rem; }
@media (max-width: 640px) {
  .calc-rates-src { padding-right: 0; flex-basis: 100%; }
  .calc-rates > summary { padding-right: 5.2rem; }
}
@media (prefers-color-scheme: dark) {
  .calc-rates { background: var(--surface-dark-soft); border-color: #3a3631; }
  .calc-rates-title { color: var(--on-dark); }
  .calc-rates-src { color: #b8b2a7; }
  .calc-rates > summary::after { color: #e0a090; }
  .calc-rates-body { border-top-color: #3a3631; }
  .calc-rates-body input { background: var(--surface-dark); }
  .elec-marginal { background: #2c2420; color: var(--on-dark); }
  .elec-marginal strong { color: #e0a090; }
}

/* 首页每组「再看 N 个工具」（2026-11-13 10:00） */
.tool-catalog-more {
  display: block;
  width: 100%;
  margin: 0.75rem 0 0.25rem;
  padding: 0.7rem 1rem;
  border: 1px dashed #d8cdbb;
  border-radius: 12px;
  background: var(--canvas);
  color: var(--primary-ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.tool-catalog-more:hover { background: var(--primary-soft); }
.tool-catalog-more:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
@media (prefers-color-scheme: dark) {
  .tool-catalog-more { background: var(--surface-dark-soft); border-color: #4a443c; color: #e0a090; }
}

/* ---------- 香港印花税档位梯 .hk-avd-ladder、差饷每季表 .hk-rates-q（2026-11-13 11:00） ---------- */
.hk-avd-ladder {
  list-style: none;
  margin: 0.6rem 0 0;
  padding: 0;
  display: grid;
  gap: 2px;
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}
.hk-avd-ladder li {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.45rem 0.65rem;
  border-radius: 8px;
  color: var(--body-strong);
}
.hk-avd-ladder li.is-relief { color: #5e5a52; }
.hk-avd-ladder li.is-here {
  background: var(--primary-soft);
  color: var(--ink);
  font-weight: 600;
}
.hk-avd-ladder li.is-here em {
  font-style: normal;
  margin-left: 0.35rem;
  padding: 0.05rem 0.45rem;
  border-radius: 999px;
  background: #8f4a33;
  color: #fff;
  font-size: 0.75rem;
}
.hk-avd-rate { text-align: right; }
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hk-rates-q {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}
.hk-rates-q th, .hk-rates-q td {
  padding: 0.5rem 0.55rem;
  text-align: right;
  border-bottom: 1px solid var(--hairline-soft);
  white-space: nowrap;
}
.hk-rates-q th:first-child, .hk-rates-q td:first-child { text-align: left; }
.hk-rates-q th { font-weight: 600; color: #5e5a52; font-size: 0.8rem; }
@media (max-width: 640px) {
  .hk-avd-ladder li { flex-direction: column; gap: 0.1rem; }
  .hk-avd-rate { text-align: left; }
}
@media (prefers-color-scheme: dark) {
  .hk-avd-ladder li { color: var(--on-dark); }
  .hk-avd-ladder li.is-relief { color: #b8b2a7; }
  .hk-avd-ladder li.is-here { background: #2c2420; color: var(--on-dark); }
  .hk-rates-q th { color: #b8b2a7; }
  .hk-rates-q th, .hk-rates-q td { border-bottom-color: #3a3631; }
}

/* ---------- 新加坡印花税构成条 .cost-split；档位梯「你在这里」不折行（2026-11-13 12:00） ---------- */
.hk-avd-ladder li.is-here em { white-space: nowrap; display: inline-block; }
.hk-avd-rate { white-space: nowrap; }
@media (max-width: 640px) {
  .hk-avd-ladder li { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0.15rem 0.75rem; }
  .hk-avd-range { flex: 1 1 10rem; }
  .hk-avd-rate { text-align: right; margin-left: auto; }
}
.cost-split {
  display: flex;
  height: 12px;
  margin: 0.75rem 0 0.25rem;
  border-radius: 999px;
  overflow: hidden;
  background: var(--hairline-soft);
}
.cost-split-a { background: #cc785c; }
.cost-split-b { background: #3d3929; }
.cost-dot {
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  margin-right: 0.4rem;
  border-radius: 999px;
  vertical-align: 0.05em;
}
.cost-dot-a { background: #cc785c; }
.cost-dot-b { background: #3d3929; }
@media (prefers-color-scheme: dark) {
  .cost-split-b, .cost-dot-b { background: #e8e2d6; }
}

/* ---------- 马来 SOCSO 级距卡 .wage-band；香港生果金资格清单 .elig-list 与入息资产量尺 .means-meter（2026-11-13 13:00） ---------- */
.wage-band {
  margin: 0.85rem 0 0;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: #efe9de;
  color: var(--body-strong);
}
.wage-band-kicker { margin: 0; font-size: 0.8rem; color: #5e5a52; }
.wage-band-range {
  margin: 0.15rem 0 0;
  font-family: "Noto Serif SC", "Noto Serif TC", "Noto Serif", Georgia, serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.wage-band-mid, .wage-band-cap { margin: 0.25rem 0 0; font-size: 0.88rem; }
.wage-band-cap { color: #8f4a33; }
.wage-band-track {
  height: 8px;
  margin: 0.6rem 0 0.2rem;
  border-radius: 999px;
  background: #e2dacb;
  overflow: hidden;
}
.wage-band-track > span { display: block; height: 100%; background: #cc785c; border-radius: 999px; }
.wage-band-legend { display: flex; justify-content: space-between; margin: 0; font-size: 0.75rem; color: #5e5a52; }
.elig-list { display: grid; gap: 0.5rem; margin: 0.85rem 0 0; }
.elig-item {
  padding: 0.7rem 0.9rem;
  border-radius: 12px;
  background: #efe9de;
}
.elig-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.35rem 0.75rem; }
.elig-name { font-weight: 600; color: var(--ink); }
.elig-why { margin: 0.3rem 0 0; font-size: 0.86rem; color: #5e5a52; }
.elig-chip {
  display: inline-block;
  padding: 0.1rem 0.55rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}
.elig-chip.is-yes { background: #dfe8d8; color: #2f4a23; }
.elig-chip.is-maybe { background: #f3e8e2; color: #7a3d29; }
.elig-chip.is-no { background: #e8e2d6; color: #4a463e; }
.means-board { margin: 0.85rem 0 0; }
.means-board-title { margin: 0 0 0.35rem; font-size: 0.85rem; font-weight: 600; color: #5e5a52; }
.means-meter { padding: 0.5rem 0; border-top: 1px solid var(--hairline-soft); }
.means-meter-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.2rem 0.75rem; font-size: 0.88rem; font-variant-numeric: tabular-nums; color: var(--body-strong); }
.means-meter-track { height: 8px; margin-top: 0.35rem; border-radius: 999px; background: #e2dacb; overflow: hidden; }
.means-meter-track > span { display: block; height: 100%; border-radius: 999px; background: #5f7a4f; }
.means-meter.is-over .means-meter-track > span { background: #b0533a; }
.means-meter-note { margin: 0.25rem 0 0; font-size: 0.8rem; color: #5e5a52; }
.means-meter.is-over .means-meter-note { color: #8f3a26; }
.means-meter.is-empty .means-meter-head span:last-child { color: #5e5a52; }
@media (prefers-color-scheme: dark) {
  .wage-band, .elig-item { background: #2a2723; color: var(--on-dark); }
  .wage-band-range, .elig-name { color: var(--on-dark); }
  .wage-band-kicker, .wage-band-legend, .elig-why, .means-board-title, .means-meter-note { color: #b8b2a7; }
  .wage-band-cap { color: #e3a58c; }
  .wage-band-track, .means-meter-track { background: #3a3631; }
  .means-meter-head { color: var(--on-dark); }
  .elig-chip.is-yes { background: #2f3f28; color: #d7e6cc; }
  .elig-chip.is-maybe { background: #3a2a24; color: #f0c7b5; }
  .elig-chip.is-no { background: #3a3631; color: #d8d2c6; }
  .means-meter.is-over .means-meter-note { color: #f0a88f; }
  .means-meter { border-top-color: #3a3631; }
}
#gst-form [data-rate][aria-pressed="true"] { background: #a9583e; border-color: #a9583e; color: #fff; }
