:root {
  --color-bg: #fbf7ee;
  --color-text: #1b2b33;
  --color-accent: #00636e;
  --font-sans: "Segoe UI Variable Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Thonburi, Tahoma, "Noto Sans Thai Looped", "Noto Sans Thai", sans-serif;
  --font-display: ui-rounded, "SF Pro Rounded", "Arial Rounded MT Bold", "Segoe UI Variable Display", "Segoe UI", "Sukhumvit Set", "Leelawadee UI", "Noto Sans Thai", sans-serif;
  --space-section: 2.125rem;
  --kb-surface: #ffffff;
  --kb-soft: #5a6670;
  --kb-line: #e4dccb;
  --kb-line-strong: #c9bea6;
  --kb-marigold: #f5b52e;
  --kb-marigold-soft: #fff3d6;
  --kb-marigold-line: #efd08a;
  --kb-river: #173a44;
  --kb-river-2: #21505c;
  --kb-on-river: #fbf7ee;
  --kb-on-river-soft: #b9cdd1;
  --kb-accent-deep: #004a53;
  --kb-accent-soft: #e2f0ee;
  --kb-chili: #a8341c;
  --kb-chili-soft: #fbe9e4;
  --kb-amber: #7c5800;
  --kb-amber-soft: #fbf0d4;
  --kb-indigo: #2f4f8f;
  --kb-radius: .375rem;
  --kb-cx: .55rem;
  --kb-cy: .5rem;
  --kb-sticky-w: 9.75rem;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: light; }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.55;
  overflow-wrap: break-word;
}
body:lang(th) { font-size: 1.0625rem; line-height: 1.75; }
h1, h2, h3 { margin: 0 0 .55em; font-family: var(--font-display); font-weight: 700; line-height: 1.22; color: var(--color-text); }
h1:lang(th), h2:lang(th), h3:lang(th) { line-height: 1.45; }
h1 { font-size: clamp(1.625rem, 1.2rem + 1.6vw, 2.375rem); letter-spacing: -.01em; }
h1:lang(th) { letter-spacing: normal; }
h2 { margin-top: var(--space-section); font-size: 1.3125rem; }
h3 { font-size: 1.0625rem; }
p, ul, ol, dl, details { margin: 0 0 1rem; }
ul, ol { padding-left: 1.25rem; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--color-accent); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:lang(th) { text-underline-offset: .3em; }
a:hover { color: var(--kb-accent-deep); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
time { font-variant-numeric: tabular-nums; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
table { border-collapse: separate; border-spacing: 0; }
th { text-align: left; }
summary { cursor: pointer; }
.kb-sprite { display: none; }
.kb-icon {
  display: inline-block;
  flex: none;
  width: 1.05em;
  height: 1.05em;
  margin-right: .4em;
  vertical-align: -.16em;
  fill: none;
  stroke: currentColor;
}
.kb-skip { position: absolute; left: -999rem; top: 0; }
.kb-skip:focus { left: 1rem; top: .75rem; z-index: 20; padding: .5rem .85rem; border-radius: var(--kb-radius); background: var(--kb-marigold); color: var(--kb-river); font-weight: 700; }
.kb-wrap { width: 100%; max-width: 80rem; margin: 0 auto; padding-left: 1rem; padding-right: 1rem; }
.kb-header { background: var(--kb-river); color: var(--kb-on-river); border-bottom: .25rem solid var(--kb-marigold); }
.kb-header .kb-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.5rem; padding-top: .7rem; padding-bottom: .7rem; }
.kb-brand {
  display: inline-flex;
  align-items: center;
  color: var(--kb-on-river);
  font-family: var(--font-display);
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.kb-brand::before {
  content: "";
  flex: none;
  width: .95em;
  height: 1.1em;
  margin-right: .5em;
  background: linear-gradient(90deg, var(--kb-marigold) 50%, #f7d27a 50%);
  clip-path: polygon(50% 0, 100% 40%, 50% 100%, 0 40%);
}
.kb-brand:hover { color: var(--kb-marigold); }
.kb-nav { flex: 1 1 auto; }
.kb-nav ul { margin: 0; padding: 0; list-style: none; }
.kb-nav > ul { display: flex; flex-wrap: wrap; gap: .1rem 1.1rem; }
.kb-nav a { display: inline-block; padding: .2rem 0; color: var(--kb-on-river); text-decoration: none; font-weight: 600; }
.kb-nav a:hover { color: var(--kb-marigold); }
.kb-nav a[aria-current] { box-shadow: inset 0 -.18rem 0 var(--kb-marigold); }
.kb-has-sub { position: relative; }
.kb-nav .kb-sub { display: none; }
.kb-langs { display: flex; gap: .25rem; margin: 0 0 0 auto; padding: 0; list-style: none; }
.kb-langs a { display: inline-block; padding: .15rem .55rem; border: 1px solid var(--kb-on-river-soft); border-radius: 1rem; color: var(--kb-on-river); font-size: .875rem; text-decoration: none; }
.kb-langs a:hover { border-color: var(--kb-marigold); color: var(--kb-marigold); }
.kb-langs [aria-current] { background: var(--kb-marigold); border-color: var(--kb-marigold); color: var(--kb-river); }
.kb-main { padding: 1.25rem 0 var(--space-section); }
.kb-main:focus { outline: none; }
.kb-footer { padding: 1.75rem 0 2rem; background: var(--kb-river); color: var(--kb-on-river-soft); font-size: .9375rem; }
.kb-footer a { color: var(--kb-on-river); }
.kb-footer a:hover { color: var(--kb-marigold); }
.kb-footer p { margin-bottom: .6rem; }
.kb-footer-nav { display: flex; flex-wrap: wrap; gap: .3rem 1.4rem; margin: 0 0 1rem; padding: 0 0 1rem; border-bottom: 1px solid var(--kb-river-2); list-style: none; font-weight: 600; }
.kb-asof { color: var(--kb-soft); font-size: .9375rem; }
.kb-footer .kb-asof { color: var(--kb-on-river-soft); }
.kb-crumbs { margin-bottom: .9rem; color: var(--kb-soft); font-size: .875rem; }
.kb-crumbs ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.kb-crumbs li + li::before { content: ""; display: inline-block; width: .38rem; height: .38rem; margin: 0 .6rem .12rem .4rem; border-top: 1.5px solid var(--kb-line-strong); border-right: 1.5px solid var(--kb-line-strong); transform: rotate(45deg); }
.kb-crumbs [aria-current] { color: var(--color-text); }
.kb-lead, .kb-intro { font-size: 1.125rem; line-height: 1.6; }
.kb-lead:lang(th), .kb-intro:lang(th) { line-height: 1.8; }
.kb-note { color: var(--kb-soft); font-size: .875rem; }
.kb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: .45rem 1rem;
  border: 1.5px solid var(--color-accent);
  border-radius: 2rem;
  background: var(--kb-surface);
  color: var(--color-accent);
  font: inherit;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
}
.kb-btn:hover { background: var(--kb-accent-soft); color: var(--kb-accent-deep); }
.kb-numbers {
  margin: 0 0 1rem;
  padding: .7rem .9rem;
  border-left: .3rem solid var(--kb-marigold);
  border-radius: 0 var(--kb-radius) var(--kb-radius) 0;
  background: var(--kb-marigold-soft);
  font-size: 1rem;
  line-height: 1.6;
}
.kb-num { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--kb-river); }
.kb-count {
  display: inline-block;
  min-width: 1.6rem;
  padding: 0 .4rem;
  border-radius: 1rem;
  background: var(--kb-accent-soft);
  color: var(--kb-river);
  font-size: .8125rem;
  font-weight: 600;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.kb-filters-slot { margin: 0 0 1.25rem; }
.kb-noscript { padding: .55rem .8rem; border: 1px dashed var(--kb-line-strong); border-radius: var(--kb-radius); font-size: .875rem; }
.kb-table-wrap {
  position: relative;
  margin: 0 -1rem 1.5rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  background:
    linear-gradient(270deg, var(--color-bg) 30%, rgba(251, 247, 238, 0)) right / 2.5rem 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%, rgba(23, 58, 68, .22), rgba(23, 58, 68, 0)) right / .9rem 100% no-repeat scroll;
}
.kb-table-wrap:focus-visible { outline-offset: -3px; }
.kb-list {
  width: 60rem;
  font-size: .8125rem;
  line-height: 1.42;
  font-variant-numeric: tabular-nums;
}
.kb-list:lang(th) { font-size: .875rem; line-height: 1.62; }
.kb-order-note {
  caption-side: top;
  width: 100vw;
  padding: 0 1rem .7rem;
  text-align: left;
  font-size: .875rem;
  font-weight: 600;
  position: sticky;
  left: 0;
}
.kb-legend { margin: -.25rem 0 1rem; color: var(--kb-soft); font-size: .8125rem; line-height: 1.5; }
.kb-legend > summary { cursor: pointer; color: var(--kb-river); font-weight: 600; }
.kb-legend > p { margin: .4rem 0 0; }
.kb-list thead th {
  padding: var(--kb-cy) var(--kb-cx);
  border-bottom: 2px solid var(--kb-river);
  background: var(--kb-marigold-soft);
  color: var(--kb-river);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25rem;
  vertical-align: bottom;
  white-space: nowrap;
}
.kb-list thead th:lang(th) { font-size: .8125rem; }
.kb-list thead th:nth-child(4), .kb-list td:nth-child(4) { border-left: 1px dashed var(--kb-line-strong); }
.kb-list thead th:nth-child(6), .kb-list td:nth-child(6) { border-left: 1px dashed var(--kb-line-strong); }
.kb-list td {
  padding: var(--kb-cy) var(--kb-cx);
  border-bottom: 1px solid var(--kb-line);
  vertical-align: top;
}
.kb-list td:first-child, .kb-list thead tr:first-child th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  width: var(--kb-sticky-w);
  padding-left: 1rem;
  background: var(--color-bg);
  box-shadow: inset -1px 0 0 var(--kb-line-strong);
}
.kb-list thead tr:first-child th:first-child { z-index: 2; background: var(--kb-marigold-soft); }
.kb-list td:first-child a { display: block; font-weight: 650; font-size: .875rem; line-height: 1.3; text-decoration: none; overflow-wrap: anywhere; }
.kb-list td:first-child a:hover { text-decoration: underline; }
.kb-list td:first-child a:lang(th) { line-height: 1.55; }
.kb-list td:first-child time { color: var(--kb-soft); font-size: .75rem; white-space: nowrap; }
.kb-list td:first-child time::before { content: ""; display: inline-block; width: .25rem; height: .25rem; margin: 0 .4rem .16rem .15rem; border-radius: 50%; background: var(--kb-line-strong); }
.kb-list td:nth-child(2) { width: 7rem; }
.kb-list td:nth-child(3) { width: 4.75rem; }
.kb-list td:nth-child(4) { width: 10.75rem; }
.kb-list td:nth-child(5) { width: 10.75rem; color: var(--kb-soft); }
.kb-list td:nth-child(6) { width: 8rem; }
.kb-list td:nth-child(7) { width: 5rem; }
.kb-list td:nth-child(8) { width: 3.75rem; white-space: nowrap; }
.kb-list q { font-style: italic; }
.kb-rows tr:hover td, .kb-tail tr:hover td { background: #fff8e6; }
.kb-tail td { color: var(--kb-soft); }
.kb-tail-h th {
  padding: 1.1rem 1rem .5rem;
  border-top: 3px dotted var(--kb-marigold);
  border-bottom: 1px solid var(--kb-line-strong);
  background: var(--color-bg);
  color: var(--kb-river);
  font-family: var(--font-display);
  font-size: .9375rem;
  font-weight: 700;
}
.kb-tags { display: inline; color: var(--kb-soft); font-size: .75rem; }
.kb-weak { color: var(--kb-soft); font-style: italic; }
.kb-dist { display: block; margin-top: .15rem; color: var(--color-accent); font-size: .75rem; font-weight: 600; white-space: nowrap; }
.kb-has-origin .kb-dist { font-weight: 700; }
.kb-is-filtered .kb-order-note { color: var(--color-accent); }
.kb-is-tail td { color: var(--kb-soft); }
.kb-is-out { display: none; }
.kb-filters {
  padding: .45rem .9rem .2rem;
  border: 1px solid var(--kb-line);
  border-top: .25rem solid var(--color-accent);
  border-radius: var(--kb-radius);
  background: var(--kb-surface);
  font-size: .875rem;
  line-height: 1.4;
}
.kb-filters-box { margin: 0; }
.kb-filters-box > summary, .kb-filters-more > summary { padding: .3rem 0; color: var(--kb-river); font-weight: 700; }
.kb-filters-more { display: block; margin: 0 0 .3rem; }
.kb-filters-more:not([open]) { display: inline-block; margin-right: 1.1rem; }
.kb-filters-more[open] > summary { margin-bottom: .4rem; }
.kb-frow { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .2rem .5rem; min-width: 0; margin: 0 1.1rem .45rem 0; vertical-align: middle; }
.kb-frow > label:first-child, .kb-frow > span:first-child { color: var(--kb-river); font-size: .8125rem; font-weight: 700; }
.kb-frow > label:only-child { color: var(--color-text); font-size: .875rem; font-weight: 400; }
.kb-frow label:has(> input[type="checkbox"]) { display: inline-flex; align-items: center; gap: .3rem; font-weight: 400; color: var(--color-text); }
.kb-filters select, .kb-filters input[type="number"], .kb-filters input[type="time"], .kb-filters input[type="text"] {
  min-width: 0;
  min-height: 2rem;
  padding: .15rem .45rem;
  border: 1px solid var(--kb-line-strong);
  border-radius: var(--kb-radius);
  background: var(--kb-surface);
  color: var(--color-text);
  font: inherit;
  font-size: 1rem;
}
.kb-filters select { flex: 0 1 auto; max-width: 100%; }
.kb-filters input[type="number"] { flex: 0 1 4.5rem; width: 4.5rem; }
.kb-filters input[type="time"] { flex: 0 1 6.5rem; width: 6.5rem; }
.kb-filters input[type="text"] { flex: 0 1 11rem; width: 11rem; }
.kb-filters input[type="checkbox"] { flex: none; width: 1.05rem; height: 1.05rem; margin: 0; accent-color: var(--color-accent); }
.kb-filters [disabled] { opacity: .7; cursor: not-allowed; }
.kb-filters .kb-btn { min-height: 2rem; padding: .15rem .8rem; }
.kb-filters button[type="reset"] { margin: 0 0 .45rem; border-color: var(--kb-line-strong); color: var(--kb-soft); }
.kb-out { display: inline-block; margin: 0 1rem .45rem 0; color: var(--kb-river); font-weight: 700; }
.kb-out:empty { display: none; }
.kb-unlock { font-size: .8125rem; font-weight: 600; }
.kb-origin .kb-hint { display: inline; color: var(--kb-soft); font-size: .8125rem; font-weight: 400; }
.kb-origin datalist { display: none; }
.kb-map { flex: 1 0 100%; margin: .2rem 0 0; }
.kb-map summary { color: var(--color-accent); font-weight: 600; }
.kb-map-box { position: relative; display: block; width: fit-content; margin-top: .5rem; line-height: 0; cursor: crosshair; }
.kb-map-box img { max-width: 100%; }
.kb-map-img { display: block; height: auto; border: 1px solid var(--kb-line-strong); border-radius: var(--kb-radius); }
.kb-map-pin { position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
.kb-map-pin circle { fill: var(--kb-chili); stroke: var(--kb-surface); stroke-width: 2.5; }
.kb-map-pin [hidden] { display: none; }
.kb-map-box[data-kb-live] { width: 100%; }
.kb-map-box[data-kb-live] .kb-map-img { width: 100%; height: min(60vh, 30rem); object-fit: cover; }
.kb-map-box[data-kb-live] .kb-map-pin { pointer-events: auto; touch-action: none; border-radius: var(--kb-radius); }
.kb-map-box[data-kb-live] .kb-map-pin g circle { fill: var(--kb-chili); stroke: none; opacity: .75; }
.kb-map-box[data-kb-live] .kb-map-pin > circle { fill: #111; stroke: #fff; stroke-width: 3; }
.kb-map-box[data-kb-live] > a { display: inline-block; margin-top: .3rem; font-size: .75rem; line-height: 1.4; }
.kb-near { margin-top: var(--space-section); column-gap: 2rem; }
.kb-near > h2 { margin: 0 0 .25rem; }
.kb-near-group { break-inside: avoid; padding: .75rem 0 .25rem; }
.kb-near-group h3 { margin: 0 0 .45rem; color: var(--kb-river); font-size: 1rem; }
.kb-near-group ul { display: flex; flex-wrap: wrap; gap: .4rem .45rem; margin: 0; padding: 0; list-style: none; }
.kb-near-group li { display: inline-flex; align-items: center; gap: .35rem; padding: .2rem .3rem .2rem .7rem; border: 1px solid var(--kb-line); border-radius: 2rem; background: var(--kb-surface); font-size: .9375rem; }
.kb-near-group li[aria-current] { border-color: var(--kb-marigold); background: var(--kb-marigold-soft); font-weight: 600; }
.kb-near-group a { text-decoration: none; }
.kb-near-group a:hover { text-decoration: underline; }
.kb-about { margin-top: var(--space-section); border-top: 1px solid var(--kb-line-strong); padding-top: .9rem; }
.kb-about summary { color: var(--kb-river); font-family: var(--font-display); font-size: 1.125rem; font-weight: 700; }
.kb-about-body { margin-top: .75rem; }
.kb-data-links { display: flex; flex-wrap: wrap; gap: .3rem 1rem; color: var(--kb-soft); font-size: .875rem; }
.kb-data-links a { font-weight: 600; }
.kb-empty { padding: 1.25rem; border: 1px dashed var(--kb-line-strong); border-radius: var(--kb-radius); background: var(--kb-surface); }
.kb-doc-section { margin-top: var(--space-section); }
.kb-doc-section > h2 { margin-top: 0; padding-top: .9rem; border-top: 2px solid var(--kb-marigold-line); }
.kb-doc-section li { margin-bottom: .35rem; }
.kb-card { display: block; }
.kb-card-head { margin-bottom: 1.25rem; }
.kb-card-head h1 { margin-bottom: .3rem; }
.kb-name-local { margin: 0 0 .3rem; color: var(--kb-soft); font-size: 1.125rem; }
.kb-kind-line { margin: 0 0 .4rem; color: var(--kb-river); font-weight: 600; }
.kb-status-line { display: inline-block; margin: .3rem 0 0; padding: .25rem .7rem; border-radius: 2rem; font-size: .9375rem; font-weight: 700; }
.kb-st-closed { background: var(--kb-chili-soft); color: var(--kb-chili); }
.kb-st-temporarily_closed { background: var(--kb-amber-soft); color: var(--kb-amber); }
.kb-st-unknown { background: #eceef0; color: var(--kb-soft); }
.kb-card-body { display: grid; gap: 1.5rem; }
.kb-card-main, .kb-card-side { min-width: 0; }
.kb-card-side { order: -1; }
.kb-card-main > section:first-child > h2, .kb-facts-sec h2 { margin-top: 0; }
.kb-card-main h2 { padding-bottom: .3rem; border-bottom: 2px solid var(--kb-marigold-line); }
.kb-facts { width: 100%; font-size: .9375rem; }
.kb-facts th, .kb-facts td { padding: .55rem .6rem .55rem 0; border-bottom: 1px solid var(--kb-line); vertical-align: top; text-align: left; }
.kb-facts th { width: 34%; padding-right: .9rem; color: var(--kb-river); font-weight: 650; }
.kb-facts td[colspan] { color: var(--kb-soft); font-style: italic; }
.kb-facts td time { white-space: nowrap; }
.kb-prog { margin-top: var(--space-section); }
.kb-prog-h { font-size: 1.125rem; }
.kb-slots, .kb-hours { width: auto; font-size: .9375rem; }
.kb-slots th, .kb-slots td, .kb-hours th, .kb-hours td { padding: .1rem 1rem .1rem 0; border-bottom: 0; font-weight: 400; color: var(--color-text); }
.kb-slots th, .kb-hours th { color: var(--kb-soft); width: auto; }
.kb-hours { margin: .25rem 0 .75rem; }
.kb-hours caption { caption-side: top; padding-bottom: .2rem; text-align: left; color: var(--kb-river); font-weight: 650; }
.kb-branches h3 { margin-top: 1.25rem; padding-left: .55rem; border-left: .2rem solid var(--kb-marigold); }
.kb-branches p { margin-bottom: .5rem; }
.kb-corrections { margin-top: var(--space-section); }
.kb-sources { padding-left: 0; list-style: none; font-size: .875rem; }
.kb-src-group { margin-bottom: .9rem; padding: .6rem .75rem; border: 1px solid var(--kb-line); border-radius: var(--kb-radius); background: var(--kb-surface); }
.kb-src-group > ol { margin: .35rem 0 0; padding-left: 1.9rem; }
.kb-src-link { font-weight: 600; overflow-wrap: anywhere; }
.kb-src-item { margin-bottom: .3rem; padding-left: .2rem; color: var(--kb-soft); }
.kb-src-item::marker { color: var(--kb-river); font-weight: 700; font-variant-numeric: tabular-nums; }
.kb-src-item:target { background: var(--kb-marigold-soft); }
.kb-src-time { white-space: nowrap; }
.kb-src-quote { color: var(--color-text); font-style: italic; }
.kb-src-ref {
  display: inline-block;
  min-width: 1.3rem;
  margin-left: .2rem;
  padding: 0 .3rem;
  border: 1px solid currentColor;
  border-radius: .7rem;
  font-size: .6875rem;
  font-weight: 700;
  line-height: 1.15rem;
  text-align: center;
  text-decoration: none;
  vertical-align: .1em;
  font-variant-numeric: tabular-nums;
}
.kb-src-ref:hover { background: var(--kb-accent-soft); }
.kb-flag { margin-right: .2rem; font-size: .75rem; font-weight: 700; }
.kb-flag-place { color: var(--color-accent); }
.kb-flag-google { color: var(--kb-amber); }
.kb-flag-federation { color: var(--kb-indigo); }
.kb-location, .kb-contacts { margin-bottom: 1.1rem; }
.kb-location .kb-btn { width: 100%; }
.kb-contact-list { display: grid; gap: .5rem; margin: 0 0 .7rem; padding: 0; list-style: none; }
.kb-contact { width: 100%; border-color: var(--color-accent); background: var(--color-accent); color: var(--kb-surface); overflow-wrap: anywhere; }
.kb-contact:hover { background: var(--kb-accent-deep); color: var(--kb-surface); }
.kb-contacts p { margin-bottom: .5rem; }
.kb-report { margin: 0 0 1.1rem; }
.kb-report .kb-btn { width: 100%; border-color: var(--kb-line-strong); color: var(--kb-river); font-weight: 600; }
.kb-partner { padding: .8rem .9rem; border: 1px dashed var(--kb-line-strong); border-radius: var(--kb-radius); color: var(--kb-soft); font-size: .875rem; }
.kb-partner p { margin-bottom: .4rem; }
.kb-partner-link { font-weight: 600; }
.kb-form { max-width: 44rem; }
.kb-fieldset { margin: 0 0 1.25rem; padding: 0; border: 0; }
.kb-modes legend { margin-bottom: .45rem; padding: 0; color: var(--kb-river); font-weight: 700; }
.kb-field { margin-bottom: .95rem; }
.kb-label { display: block; margin-bottom: .2rem; color: var(--kb-river); font-weight: 650; }
.kb-modes .kb-label { display: flex; align-items: center; gap: .5rem; font-weight: 400; color: var(--color-text); }
.kb-hint { display: block; margin-top: .2rem; color: var(--kb-soft); font-size: .875rem; }
.kb-input, .kb-textarea {
  width: 100%;
  min-height: 2.6rem;
  padding: .5rem .65rem;
  border: 1px solid var(--kb-line-strong);
  border-radius: var(--kb-radius);
  background: var(--kb-surface);
  color: inherit;
  font: inherit;
}
.kb-input[type="radio"], .kb-input[type="checkbox"] { width: 1.1rem; min-height: 0; height: 1.1rem; margin: 0; accent-color: var(--color-accent); }
.kb-hp { position: absolute; left: -999rem; width: 1px; height: 1px; overflow: hidden; }
.kb-submit {
  min-height: 2.75rem;
  padding: .55rem 1.5rem;
  border: 0;
  border-radius: 2rem;
  background: var(--color-accent);
  color: var(--kb-surface);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.kb-submit:hover { background: var(--kb-accent-deep); }
.kb-notice { margin-top: 1rem; padding: .75rem 1rem; border-left: .3rem solid var(--kb-line-strong); border-radius: 0 var(--kb-radius) var(--kb-radius) 0; background: var(--kb-surface); }
.kb-notice-ok { border-left-color: var(--color-accent); background: var(--kb-accent-soft); }
.kb-notice-fail { border-left-color: var(--kb-chili); background: var(--kb-chili-soft); }
.kb-notice-sending { opacity: .75; }
.kb-log { width: 100%; font-size: .9375rem; }
.kb-log th, .kb-log td { padding: .5rem .7rem .5rem 0; border-bottom: 1px solid var(--kb-line); vertical-align: top; }
.kb-log thead th { border-bottom: 2px solid var(--kb-river); color: var(--kb-river); }
.kb-log-type { font-weight: 700; white-space: nowrap; }
.kb-type-launch { color: var(--color-accent); }
.kb-type-data { color: var(--kb-river); }
.kb-type-fix { color: var(--kb-chili); }
.kb-type-copy { color: var(--kb-soft); }
.kb-type-method { color: var(--kb-amber); }
.kb-notfound { padding: var(--space-section) 0; }
.kb-notfound h1::before {
  content: "";
  display: block;
  width: 2.2rem;
  height: 2.6rem;
  margin-bottom: .8rem;
  background: linear-gradient(90deg, var(--kb-marigold) 50%, #f7d27a 50%);
  clip-path: polygon(50% 0, 100% 40%, 50% 100%, 0 40%);
}
@media (max-width: 39.99rem) {
  .kb-order-note { caption-side: bottom; padding: .7rem 1rem 0; }
  h1 { font-size: 1.5rem; margin-bottom: .4rem; }
  .kb-header .kb-wrap { gap: .1rem 1rem; padding-top: .45rem; padding-bottom: .45rem; }
  .kb-main { padding-top: .85rem; }
  .kb-numbers { margin-bottom: .7rem; padding: .5rem .75rem; font-size: .9375rem; line-height: 1.5; }
  .kb-lead { margin-bottom: .7rem; font-size: .9375rem; line-height: 1.5; }
  .kb-filters-slot { margin-bottom: .75rem; }
}
@media (min-width: 40rem) {
  @supports selector(::details-content) {
    .kb-filters-box > summary { display: none; }
    .kb-filters-box::details-content { content-visibility: visible; }
  }
  .kb-near { column-count: 2; }
  .kb-near > h2 { column-span: all; }
  .kb-contact-list { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); }
}
@media (min-width: 48rem) {
  .kb-wrap { padding-left: 1.5rem; padding-right: 1.5rem; }
  .kb-table-wrap { margin-left: -1.5rem; margin-right: -1.5rem; }
  .kb-list td:first-child, .kb-list thead tr:first-child th:first-child { padding-left: 1.5rem; }
  .kb-order-note { padding-left: 1.5rem; padding-right: 1.5rem; }
  .kb-doc-section { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); column-gap: 2.5rem; }
  .kb-doc-section > h2 { grid-column: 1; grid-row: 1 / span 20; align-self: start; font-size: 1.1875rem; }
  .kb-doc-section > :not(h2) { grid-column: 2; }
  .kb-doc-section > h2 + * { padding-top: .9rem; border-top: 2px solid var(--kb-marigold-line); }
}
@media (hover: hover) and (min-width: 48rem) {
  .kb-nav .kb-sub {
    position: absolute;
    left: -.75rem;
    top: 100%;
    z-index: 10;
    min-width: 14rem;
    padding: .5rem 0;
    border: 1px solid var(--kb-line);
    border-radius: var(--kb-radius);
    background: var(--kb-surface);
    box-shadow: 0 .75rem 1.75rem rgba(23, 58, 68, .18);
  }
  .kb-nav .kb-sub:has(> li:nth-child(13)) { width: 34rem; column-count: 3; column-gap: 0; }
  .kb-nav .kb-sub a { display: block; padding: .3rem .9rem; color: var(--color-text); font-weight: 400; white-space: nowrap; }
  .kb-nav .kb-sub a:hover { background: var(--kb-marigold-soft); color: var(--kb-river); }
  .kb-nav .kb-sub a[aria-current] { box-shadow: inset .2rem 0 0 var(--kb-marigold); font-weight: 600; }
  .kb-nav .kb-has-sub:hover > .kb-sub, .kb-nav .kb-has-sub:focus-within > .kb-sub { display: block; }
  .kb-nav .kb-has-sub > a::after { content: ""; display: inline-block; width: .38rem; height: .38rem; margin: 0 0 .2rem .4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
}
@media (min-width: 64rem) {
  .kb-table-wrap { margin-left: 0; margin-right: 0; overflow: visible; background: none; }
  .kb-list { width: 100%; }
  .kb-order-note { position: static; width: auto; padding-left: 0; }
  .kb-list td:first-child, .kb-list thead tr:first-child th:first-child { position: static; padding-left: var(--kb-cx); box-shadow: none; }
  .kb-list thead { position: sticky; top: 0; z-index: 3; }
  .kb-tail-h th { padding-left: var(--kb-cx); }
  .kb-list td:first-child { width: 19%; }
  .kb-list td:nth-child(2) { width: 11%; }
  .kb-list td:nth-child(3) { width: 7%; }
  .kb-list td:nth-child(4) { width: 17%; }
  .kb-list td:nth-child(5) { width: 18%; }
  .kb-list td:nth-child(6) { width: 11%; }
  .kb-list td:nth-child(7) { width: 11%; }
  .kb-list td:nth-child(8) { width: 6%; }
  .kb-list { font-size: .875rem; }
  .kb-list:lang(th) { font-size: .9375rem; }
  .kb-list td:first-child a { font-size: .9375rem; }
  .kb-card-body { grid-template-columns: minmax(0, 1fr) minmax(16rem, 21rem); gap: 2.5rem; }
  .kb-card-side { order: 0; }
}
@media print {
  .kb-header, .kb-footer, .kb-filters-slot, .kb-filters, .kb-near, .kb-partner, .kb-report { display: none; }
  .kb-table-wrap { overflow: visible; background: none; }
  .kb-list { width: 100%; }
  .kb-list td:first-child { position: static; }
}
