@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&display=swap');
:root{color-scheme:light;--bg:#f1f8f4;--panel:#fff;--panel-2:#f8fcfa;--line:#d3e8dc;--line-strong:#739b88;--line-soft:#e7f3ec;--green:#8ed5b5;--green-soft:#bfe3cf;--green-tint:#e3f4ea;--green-edge:#6cbf9a;--green-ink:#2f6b52;--green-900:#1f4f3a;--on-green:#12402d;--text:#24352d;--muted:#556d62;--dim:#62796f;--warn-tint:#fbf1dc;--warn-ink:#6b4e12;--radius:8px;--shadow:0 10px 30px rgba(38,92,68,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.65 'Prompt',Tahoma,sans-serif}button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:var(--green-ink);text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}h1,h2,h3,p,dl,dd{margin:0}.container{width:min(1280px,calc(100% - 80px));margin:0 auto}.brandbar{background:var(--green-soft);border-bottom:1px solid var(--green-edge)}.brand-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--on-green);font-size:19px;font-weight:600}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--green-ink);border-radius:8px;font-size:27px}.brand-year{font-size:14px;font-weight:400;margin-left:7px;border-left:1px solid var(--green-ink);padding-left:16px}.header-caption{font-size:14px;color:var(--on-green)}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:80px;padding:65px 0 43px;align-items:center}.eyebrow{font-size:14px;font-weight:500;color:var(--green-ink);margin-bottom:13px}.hero h1{color:var(--green-900);font-size:clamp(2rem,3.6vw,3rem);font-weight:600;line-height:1.5;letter-spacing:-.025em}.hero h1 span{font-size:.73em;letter-spacing:-.015em}.intro{margin-top:18px;color:var(--muted);font-size:17px;line-height:1.85}.primary-link{display:inline-flex;align-items:center;gap:34px;min-height:46px;padding:10px 21px;border:1px solid var(--green-900);border-radius:var(--radius);background:var(--green-900);color:white;font-weight:500;font-size:15px}.hero .primary-link{margin-top:26px}.primary-link:hover{background:var(--on-green)}.event-card{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--green);box-shadow:var(--shadow);border-radius:var(--radius);padding:28px 32px}.event-date{display:flex;align-items:center;gap:22px;color:var(--green-900)}.event-date>strong{font-size:80px;font-weight:500;line-height:1.2;letter-spacing:-.06em}.event-date b{display:block;font-size:24px;font-weight:500}.event-date span{color:var(--muted);font-size:16px}.event-rule{height:1px;background:var(--line);margin:24px 0 18px}.event-card dl{display:grid;gap:16px}.event-card dt{font-size:13px;color:var(--muted);margin-bottom:4px}.event-card dd{font-size:15px;line-height:1.75}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:56px}.summary-card{display:flex;align-items:flex-start;gap:17px;position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px 22px;color:var(--text);box-shadow:var(--shadow);transition:border-color .2s,transform .2s}.summary-card:hover{border-color:var(--green-ink);transform:translateY(-2px)}.summary-card.top{background:var(--green-tint)}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--green-tint);color:var(--green-900);font-size:29px;flex:none}.top .stat-icon{background:var(--green-soft)}.summary-card p{font-size:15px;font-weight:500;color:var(--green-900);padding-right:12px}.summary-card strong{display:block;font-size:37px;line-height:1.5;font-weight:500;color:var(--green-900);letter-spacing:-.02em}.summary-card small{font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}.stat-caption{font-size:13px;color:var(--muted)}.stat-arrow{position:absolute;right:18px;top:22px;color:var(--green-ink)}.directory{scroll-margin-top:24px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.section-heading .eyebrow{margin-bottom:4px}h2{font-size:27px;font-weight:500;color:var(--green-900)}.total{color:var(--muted);font-size:14px;padding-bottom:5px}.directory-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.filters{display:grid;grid-template-columns:minmax(240px,2fr) 1.3fr .8fr .9fr;gap:16px;padding:26px 26px 22px}.filters label{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.filters input,.filters select{width:100%;min-height:46px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);font-size:14px;padding:10px 12px;outline-offset:3px}.filters input{padding-left:40px}.filters input::placeholder{color:var(--dim)}.search-input{position:relative}.search-input svg{position:absolute;left:13px;top:13px;color:var(--muted)}.resultbar{display:flex;justify-content:space-between;align-items:center;min-height:49px;padding:10px 26px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--muted)}.reset{background:transparent;border:0;color:var(--green-ink);font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:4px}.group-note{margin:0 26px 16px;padding:12px 16px;background:var(--warn-tint);color:var(--warn-ink);border-radius:6px;font-size:14px}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{background:var(--panel-2);color:var(--muted);font-size:13px;font-weight:500;padding:15px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:18px 16px;border-bottom:1px solid var(--line-soft);font-size:14px;vertical-align:top}td:first-child,th:first-child{padding-left:26px}td:last-child,th:last-child{padding-right:26px}td:first-child{color:var(--muted);font-variant-numeric:tabular-nums}td.name{min-width:235px;max-width:370px;font-weight:500;font-size:15px;overflow-wrap:anywhere}td.code{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--green-ink)}tbody tr:hover{background:var(--panel-2)}.note{font-size:13px;color:var(--muted);font-weight:400;margin-top:8px;line-height:1.7}.rank{display:inline-block;border:1px solid var(--line);border-radius:4px;padding:0 8px;font-size:13px;background:var(--panel-2);white-space:nowrap}.badge{display:inline-block;background:var(--green-tint);color:var(--on-green);padding:3px 10px;border-radius:5px;white-space:nowrap;font-size:13px}.badge.top{background:var(--green-soft);font-weight:500}.badge.offstage{background:var(--warn-tint);color:var(--warn-ink)}.subtype{display:block;font-size:12px;color:var(--muted);margin-top:4px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;font-size:14px;color:var(--muted)}.pagination>div{display:flex;align-items:center;gap:16px}.pagination button{background:var(--panel);border:1px solid var(--line-strong);border-radius:6px;padding:7px 13px;font-size:14px;min-height:40px}.pagination button:hover:enabled{background:var(--green-tint)}#page-number{min-width:65px;text-align:center;color:var(--green-900)}.source-note{margin-top:16px;font-size:13px;color:var(--muted);line-height:1.9}.empty{text-align:center;padding:50px 24px}.empty h3{font-size:22px;color:var(--green-900)}.empty p{margin:8px 0 22px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);margin-top:52px!important;padding:25px 0 32px}.footer-brand{color:var(--green-ink);font-weight:500}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;z-index:5;top:8px;left:8px;transform:translateY(-150%);background:var(--green-900);color:white;padding:12px;border-radius:6px}.skip:focus{transform:none}:focus-visible{outline:3px solid var(--green-ink);outline-offset:4px}[hidden]{display:none!important}.noscript{padding:25px;text-align:center;background:var(--warn-tint)}
@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:56px}}
@media(max-width:1050px){.container{width:calc(100% - 48px)}.hero{gap:32px;grid-template-columns:1.25fr 1fr}.event-card{padding:25px}.summary-card{gap:12px;padding:22px 16px}.stat-icon{width:32px;height:36px;font-size:25px}.summary-card p{font-size:14px}.stat-arrow{display:none}.summary-card strong{font-size:32px}.filters{grid-template-columns:1.5fr 1.3fr 1fr}.search-field{grid-column:1/-1}.header-caption{font-size:13px}}
@media(max-width:720px){.container{width:calc(100% - 32px)}.brand-inner{min-height:68px}.brand{gap:9px;font-size:17px}.brand-year{font-size:13px;padding-left:10px;margin-left:2px}.header-caption{display:none}.hero{grid-template-columns:1fr;gap:28px;padding:36px 0 24px}.hero h1{font-size:clamp(1.85rem,6.5vw,2.65rem)}.intro{font-size:16px}.intro br{display:none}.event-card{padding:22px}.event-date>strong{font-size:58px}.event-date b{font-size:21px}.event-rule{margin:18px 0}.event-card dl{grid-template-columns:1fr 1fr;gap:16px}.event-card dd{font-size:14px}.summary{gap:10px;grid-template-columns:1fr;margin-bottom:35px}.summary-card{align-items:center;padding:16px 18px}.summary-card>div{display:grid;grid-template-columns:1fr auto;width:100%;align-items:center;column-gap:10px}.summary-card p{grid-column:1;grid-row:1;font-size:14px}.summary-card strong{grid-column:2;grid-row:1/3;font-size:28px;text-align:right}.summary-card small{display:block;font-size:12px;line-height:1.1}.stat-caption{grid-column:1;font-size:12px}.stat-icon{width:36px}.section-heading{align-items:center;gap:12px;margin-bottom:16px}h2{font-size:22px}.section-heading .eyebrow{font-size:13px}.total{font-size:12px;white-space:nowrap}.filters{padding:20px 16px;grid-template-columns:1fr 1fr;gap:14px}.filters>div:nth-child(2){grid-column:1/-1}.filters input,.filters select{font-size:16px}.resultbar{padding:12px 16px;gap:10px}.group-note{margin-left:16px;margin-right:16px}.pagination{padding:18px 16px;flex-direction:column;align-items:stretch}.pagination>div{justify-content:space-between}.pagination button{padding:8px 15px}.table-scroll{overflow:visible}table,tbody{display:block}thead{display:none}tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:20px 16px;border-top:1px solid var(--line)}td,td:first-child,td:last-child{padding:0;border:0;min-width:0!important;max-width:none!important}td::before{content:attr(data-label);display:block;font-size:12px;color:var(--muted);font-weight:400;margin-bottom:2px}td.name{grid-column:1/-1;grid-row:1;font-size:16px}td.name::before{display:none}td:first-child{grid-column:1;grid-row:5;font-size:12px}td:first-child::before{display:inline;margin-right:6px}td:last-child{grid-column:2;grid-row:2/4;align-self:start}.note{margin-top:6px}.subtype{font-size:12px}.source-note{font-size:12px}footer{flex-direction:column;gap:8px;margin-top:35px!important;font-size:12px}.empty{padding:35px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Clear Thai type hierarchy and comfortable reading at larger text sizes. */
.hero.announcement{display:block;max-width:1120px;margin:0 auto;padding:48px 0 40px;text-align:center}
.announcement .hero-copy{padding:0}
.hero.announcement h1{font-size:clamp(1.75rem,3.1vw,2.625rem);line-height:1.65}
.announcement-date{font-size:clamp(1.5rem,2.8vw,2.375rem);font-weight:600;line-height:1.7;color:var(--green-900);margin-top:4px}
.representatives{margin:28px auto 0;padding:22px 28px;border:1px solid var(--line-strong);border-radius:22px;background:var(--panel);text-align:left;color:var(--text)}
.representatives p{display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:12px;font-size:1.125rem;line-height:1.9}
.representatives p+p{margin-top:12px}
.reference-mark{font-weight:600;color:var(--green-900);text-align:center}
.qualification-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:20px 32px;text-align:left;margin:24px auto 0;padding:0 20px}
.qualification-details dt{font-size:1rem;color:var(--muted);margin-bottom:4px}
.qualification-details dd{font-size:1.125rem;line-height:1.9}
@media(max-width:720px){
  .hero.announcement{padding:32px 0}
  .representatives{padding:20px 16px;border-radius:16px;margin-top:24px}
  .representatives p{grid-template-columns:1.8rem minmax(0,1fr);gap:8px}
  .qualification-details{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 8px}
}
body{font-size:1.125rem;line-height:1.8}
.hero{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:48px;align-items:start}
.hero-copy{min-width:0;padding:8px 0}
.hero-copy>.eyebrow{font-size:1.25rem;font-weight:500;margin-bottom:20px;color:var(--green-900)}
.hero h1{font-size:clamp(2rem,3.3vw,2.75rem);line-height:1.65;font-weight:600;letter-spacing:normal}
.hero h1 .title-line{display:block;font-size:1em;letter-spacing:normal;overflow-wrap:break-word}
.hero h1 .title-connector{display:block;font-size:1.25rem;line-height:1.8;font-weight:400;letter-spacing:normal;margin:6px 0;color:var(--green-ink)}
.hero .intro{font-size:1.375rem;line-height:1.8;font-weight:500;color:var(--green-900);margin-top:24px}
.primary-link{font-size:1.125rem;min-height:52px;padding:12px 24px}
.event-card .eyebrow,.event-card dt,.event-date span{font-size:1rem}
.event-card dd{font-size:1.125rem;line-height:1.9}
.event-card dl{gap:20px}
.summary-card{gap:14px}.summary-card>div{min-width:0}
.summary-card p{font-size:1.125rem;line-height:1.8}
.summary-card small,.stat-caption{font-size:1rem}
.section-heading{align-items:center;flex-wrap:wrap}
h2{font-size:1.875rem;line-height:1.65;font-weight:600}
.total,.filters label,.resultbar,.reset,.group-note,.pagination,.pagination button{font-size:1rem}
.filters{grid-template-columns:minmax(240px,2fr) minmax(220px,1.3fr) minmax(130px,.8fr) minmax(140px,.9fr)}
.filters input,.filters select{font-size:1.125rem;min-height:52px}
.search-input svg{top:17px}
th,td{font-size:1rem;line-height:1.8}
td.name{font-size:1.125rem;line-height:1.9}
.rank,.badge,.note{font-size:1rem}
.note{line-height:1.9;margin-top:10px}
.subtype,.source-note,footer{font-size:.875rem}
.pagination button{min-height:48px}
@media(max-width:1100px){
  .hero{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px}
  .hero h1{font-size:2.25rem}
  .summary{grid-template-columns:1fr}.summary-card{align-items:center}
  .filters{grid-template-columns:1.4fr 1fr 1fr}.search-field{grid-column:1/-1}
}
@media(max-width:850px){
  .hero{grid-template-columns:minmax(0,1fr);gap:28px}
  .hero-copy{padding:0}.event-card dl{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px){
  .hero h1{font-size:2rem}.hero-copy>.eyebrow,.hero h1 .title-connector{font-size:1.125rem}
  .hero .intro{font-size:1.25rem}.hero-copy>.eyebrow{margin-bottom:18px}
  .summary-card>div{display:block}.summary-card p{font-size:1rem;padding-right:0}
  .summary-card strong{text-align:left;font-size:2rem}.summary-card small{display:inline;font-size:1rem}
  .stat-caption{font-size:.875rem}h2{font-size:1.5rem}.total{white-space:normal}
  .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  td.name{font-size:1.125rem}td::before,td:first-child,.subtype{font-size:.875rem}
  .pagination>div{gap:8px;flex-wrap:wrap}.resultbar{flex-wrap:wrap}
  .source-note,footer{font-size:.875rem}
}
