.th-published-note{margin:-2px 0 23px;padding:14px 17px;border-left:3px solid #a5b7a2;border-radius:4px;background:#edf2e9;font-size:12px;line-height:1.8;color:#52684f}.th-seat-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0 34px}.th-seat-overview article{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:10px}.th-seat-overview article p{font-size:10px;letter-spacing:1.3px;margin:0 0 15px;color:#63715c}.th-seat-overview article strong{display:block;font-size:36px;font-weight:550;font-variant-numeric:tabular-nums;color:var(--green);line-height:1.2}.th-seat-overview article>span{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.th-party-section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:36px}.th-section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.th-section-top .eyebrow{font-size:8px;margin:0 0 9px}.th-section-top h2{font-family:Libre Caslon Display,Georgia,serif;font-weight:400;font-size:30px;margin:0}.th-section-top>p{font-size:11px;color:var(--muted);margin:0 0 4px}.th-note{font-size:11px;line-height:1.8;color:var(--muted);margin:13px 0 0}.th-seat-bar{display:flex;overflow:hidden;min-height:9px;border-radius:5px;background:var(--gray);margin:20px 0}.th-seat-bar span{display:block;min-height:9px}.th-party-scroll{overflow-x:auto}.th-party-table{width:100%;border-collapse:collapse}.th-party-table th{font-size:10px;font-weight:550;color:#778370;text-align:right;padding:9px 10px;border-bottom:1px solid var(--line)}.th-party-table th:first-child{text-align:left;padding-left:0}.th-party-table td{padding:11px 10px;border-bottom:1px solid #edf0e9;font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.th-party-table td:first-child{text-align:left;padding-left:0}.th-party-label{display:flex;align-items:center;gap:8px;font-weight:550;line-height:1.6}.th-color-dot{display:inline-block;width:9px;height:9px;flex-shrink:0;border-radius:50%;vertical-align:middle;background:var(--green)}.th-party-thai{font-weight:400;color:#788371;font-size:11px;display:block;line-height:1.7;margin-top:2px}.th-results-table .candidate-line{height:auto;min-height:30px;line-height:1.7;font-size:11px;white-space:normal;padding:4px 0;align-items:center}.th-results-table .candidate-name{overflow:visible;text-overflow:clip;white-space:normal}.th-results-table .vote-line,.th-results-table .share-line{min-height:38px;line-height:38px}.th-results-table .race-office{white-space:normal;line-height:1.7}.th-results-table .th-more{font-size:10px;line-height:1.6;color:#71816b;margin-top:7px}.th-results-table .th-ballot{font-size:11px;color:#798672;line-height:1.8}.th-results-table .th-party-name{font-size:12px;color:var(--green);font-weight:550;line-height:1.7}.th-results-table .th-party-name span{display:block;color:#7b8774;font-size:11px;font-weight:400}.th-candidate-party{font-size:9px;font-weight:400;color:#76836e;display:block;line-height:1.7}.th-results-table .candidate-line .th-color-dot{width:6px;height:6px}.th-results-table .reporting-word{white-space:normal}.th-results-table .race-updated{font-size:8px;line-height:1.7}.th-results-table .th-seats{font-size:16px;font-weight:600;color:var(--green)}.th-empty{text-align:center;padding:35px 18px;font-size:12px;color:var(--muted)}.th-detail-body h3{font-size:15px;font-weight:600;margin:22px 0 12px}.th-detail-meta{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0}.th-detail-table{width:100%;border-collapse:collapse}.th-detail-scroll{overflow-x:auto}.th-detail-table th{font-size:10px;font-weight:550;text-align:right;padding:9px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.th-detail-table th:first-child{text-align:left}.th-detail-table td{font-size:12px;line-height:1.8;text-align:right;padding:11px 8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.th-detail-table td:first-child{text-align:left;min-width:140px}.th-detail-table .winner-check{margin-left:6px}.th-detail-source{font-size:11px;line-height:1.8;margin-top:20px;color:var(--muted)}#th-detail{max-width:720px}#th-detail .dialog-top{gap:14px}#th-detail h2{font-size:29px;line-height:1.5}.th-status-completed{background:#edf2e9;color:#4f6848;border-color:#d9e3d4}.th-status-warning{background:#fff6e7;color:#926928;border-color:#e8d8b6}@media(max-width:760px){.th-published-note{font-size:10px;padding:12px 13px;margin-bottom:18px;line-height:1.9}.th-seat-overview{gap:10px;margin:18px 0 24px;grid-template-columns:1fr}.th-seat-overview article{display:grid;grid-template-columns:1fr auto;gap:3px 20px;padding:17px 19px}.th-seat-overview article p{font-size:9px;margin:0;align-self:center;grid-column:1}.th-seat-overview article strong{font-size:30px;grid-column:2;grid-row:1/3;align-self:center}.th-seat-overview article>span{font-size:10px;margin-top:5px;grid-column:1}.th-party-section{padding:18px 16px;margin-bottom:26px}.th-section-top{align-items:flex-start;flex-direction:column;gap:9px}.th-section-top h2{font-size:26px}.th-section-top>p{font-size:10px}.th-note{font-size:10px;line-height:1.8}.th-party-table th{font-size:8px;padding:9px 6px}.th-party-table td{font-size:10px;padding:10px 6px}.th-party-thai{font-size:10px}.th-party-label{gap:6px}.th-color-dot{width:7px;height:7px}.th-results-table .candidate-line{font-size:10px;line-height:1.8;min-height:47px;padding:4px 0;align-items:flex-start}.th-results-table .candidate-line .th-color-dot{margin-top:7px}.th-results-table .vote-line,.th-results-table .share-line{font-size:10px;min-height:47px;line-height:47px}.th-results-table .th-candidate-party{font-size:8px;line-height:1.8}.th-results-table .th-more{font-size:8px;margin-top:4px}.th-results-table .race-name{line-height:1.7}.th-results-table .th-party-name{font-size:11px;line-height:1.8}.th-results-table .th-party-name span{font-size:10px}.th-results-table .th-ballot{font-size:9px;line-height:1.8}.th-results-table .th-seats{font-size:13px}.th-results-table .reporting-word{max-width:80px}.th-detail-table td{font-size:11px}.th-detail-meta,.th-detail-source{font-size:10px}#th-detail h2{font-size:25px}.header-actions #thai-about-open{font-size:9px}.th-results-table .candidate-line .winner-check{margin-top:5px}}.th-results-table .candidate-line{height:60px;min-height:60px;line-height:1.5;align-items:center}.th-results-table .vote-line,.th-results-table .share-line{height:60px;min-height:60px;line-height:60px}.th-candidate-copy{min-width:0;display:block}.th-candidate-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.th-results-table .th-candidate-party{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}@media(max-width:760px){.th-results-table .candidate-line{height:64px;min-height:64px;padding:4px 0;align-items:center}.th-results-table .vote-line,.th-results-table .share-line{height:64px;min-height:64px;line-height:64px}.th-results-table .candidate-line .th-color-dot,.th-results-table .candidate-line .winner-check{margin-top:0}}
