/* SOI CAU 247 TV - low-noise polish layer. No IA or function changes. */

/* 1/5 Typography: native Vietnamese text plus tabular result numerals. */
body.sc247-site{
  --sc247-ink:#20252b;
  --sc247-muted:#626b75;
  --sc247-surface:#fff;
  --sc247-surface-soft:#f6f7f8;
  --sc247-canvas:#f2f4f6;
  --sc247-border:#dce1e6;
  --sc247-border-strong:#c6cdd5;
  --sc247-red:#c51a23;
  --sc247-deep:#98131a;
  --sc247-pale:#fff4f4;
  --sc247-radius-surface:8px;
  --sc247-radius-control:5px;
  background:var(--sc247-canvas);
  color:var(--sc247-ink);
  font-family:system-ui,-apple-system,"Segoe UI","Noto Sans",Arial,sans-serif;
  font-size:15px;
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.sc247-site button,body.sc247-site input,body.sc247-site select,body.sc247-site textarea{font:inherit}
.sc247-brand{width:220px;min-width:220px;height:64px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;overflow:visible}
.sc247-brand:hover{background:transparent;box-shadow:none;transform:none;opacity:.94}
.sc247-brand-logo{display:block;width:100%;height:auto;max-height:64px;object-fit:contain;object-position:left center}
.sc247-brand:focus-visible{outline:3px solid var(--sc247-focus);outline-offset:4px;border-radius:6px}
.sc247fs-page-head h1,.sc247-home-content h1,.sc247-home-content h2{color:var(--sc247-ink);font-weight:750;letter-spacing:-.018em;line-height:1.22}
.sc247fs-page-head h1{font-size:clamp(22px,2.3vw,30px)}
.sc247-main-column h2{letter-spacing:-.01em}
.sc247fs-page-head p,.sc247-home-content p,.sc247-result-meta{color:var(--sc247-muted)}
.sc247-result-table .sc247-number,.sc247fs-table td,.sc247fs-metrics article strong,.sc247fs-power-ball,.sc247fs-ball,.sc247fs-max3d-num,.sc247fs-pro-num{font-family:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1}
.sc247-home-content p,.sc247fs-article-body p{max-width:72ch}

/* 2/5 Rhythm: larger module gaps without changing the three-column IA. */
.sc247-layout{gap:8px;padding-top:8px}
.sc247-side-card,.sc247-source-card,.sc247-announcement,.sc247-today-card,.sc247-region,.sc247-vietlott,.sc247-prediction,.sc247-trial,.sc247-stats-wrap,.sc247-home-content{margin-bottom:10px}
.sc247fs-page-head{padding:18px 20px;margin-bottom:14px}
.sc247fs-filter{padding:14px;gap:12px;margin-bottom:14px}
.sc247fs-tabs,.sc247fs-tool-grid{margin-bottom:14px}
.sc247fs-draw,.sc247fs-viet-draw{margin-bottom:16px}
.sc247-home-content{padding:22px}
.sc247-footer-inner{row-gap:24px}

/* 3/5 Surfaces and boundaries: subtle tint and fine borders, no glass or deep shadows. */
.sc247-side-card,.sc247-source-card,.sc247-announcement,.sc247-today-card,.sc247-region,.sc247-vietlott,.sc247-prediction,.sc247-trial,.sc247-stats-wrap,.sc247-home-content,.sc247fs-page-head,.sc247fs-filter,.sc247fs-draw,.sc247fs-viet-draw{border-color:var(--sc247-border);border-radius:var(--sc247-radius-surface);box-shadow:0 1px 2px rgba(30,37,43,.035);overflow:hidden}
.sc247-side-card h2{background:#f9eded;color:var(--sc247-deep);border-bottom:1px solid #eed4d6;text-align:left;padding:10px 12px;font-size:14px;letter-spacing:.01em}
.sc247-side-card li+li{border-color:#edf0f2}
.sc247-source-card{background:var(--sc247-surface-soft)}
.sc247-regional-title,.sc247-today-card>strong{background:var(--sc247-surface-soft);color:var(--sc247-ink);font-weight:650}
.sc247-regional-title strong{color:var(--sc247-deep)}
.sc247fs-page-head{border-top:3px solid var(--sc247-red)}
.sc247fs-filter{background:var(--sc247-surface-soft)}
.sc247-live-pill i{animation:none!important;box-shadow:none!important}

/* 4/5 Data hierarchy: restrained row contrast, clearer prizes, stable numerical scanning. */
.sc247-result-table,.sc247fs-table{background:var(--sc247-surface);border-color:var(--sc247-border)}
.sc247-result-table th,.sc247-result-table td,.sc247fs-table th,.sc247fs-table td{border-color:var(--sc247-border);padding-top:8px;padding-bottom:8px}
.sc247-result-table thead th,.sc247fs-table th{background:#f3f5f6;color:#343a42;font-weight:700}
.sc247-result-table tbody>tr>th{background:#f7f8f9;color:#4b535d;font-weight:650}
.sc247-result-table tr.prize-db,.sc247-result-table .prize-db,.sc247fs-table tr:first-child{background:#fff6f6}
.sc247-result-table .prize-db .sc247-number,.sc247fs-draw tr:first-child td{color:var(--sc247-deep)}
.sc247-result-table .sc247-number{letter-spacing:.018em}
.sc247fs-metrics{gap:8px}
.sc247fs-metrics article{border-color:var(--sc247-border);border-radius:6px;box-shadow:none}
.sc247fs-metrics article:nth-child(-n+3){background:#fff8f8;border-color:#eed4d6}
.sc247fs-empty,.sc247fs-notice{border-radius:6px;border:1px solid var(--sc247-border);background:var(--sc247-surface-soft);color:var(--sc247-muted)}

/* 5/5 Controls and perceivable affordance: hover, focus-visible, press and busy states. */
.sc247-menu a,.sc247-side-card a,.sc247fs-tabs a,.sc247fs-tool-grid a,.sc247fs-filter button,.sc247fs-filter a,.sc247-number-modes button,.sc247-trial button,.sc247-backtop{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,opacity 180ms ease,transform 180ms cubic-bezier(.2,.8,.2,1)}
.sc247fs-filter input,.sc247fs-filter select,.sc247fs-filter button,.sc247fs-filter a,.sc247-number-modes button,.sc247-trial button{min-height:38px;border-radius:var(--sc247-radius-control)}
.sc247fs-filter input,.sc247fs-filter select{border-color:var(--sc247-border-strong);background:#fff;color:var(--sc247-ink)}
.sc247fs-filter button,.sc247-trial button{background:var(--sc247-red);border-color:var(--sc247-red);color:#fff;font-weight:700}
.sc247fs-filter a{display:inline-flex;align-items:center;justify-content:center;padding-inline:12px;border:1px solid var(--sc247-border-strong);background:#fff;color:#39414a}
.sc247-number-modes button{padding-inline:10px}
.sc247-number-modes button.is-active,.sc247-number-modes button[aria-pressed="true"]{background:var(--sc247-red);border-color:var(--sc247-red);color:#fff}
.sc247fs-filter button.is-loading{cursor:progress;opacity:.72}
.sc247fs-filter[aria-busy="true"]{border-color:#e3c5c7;background:#fbf6f6}
body.sc247-site :where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--sc247-deep);outline-offset:2px}
body.sc247-site :where(button,a):active{transform:translateY(1px)}
body.sc247-site :where(button,input,select):disabled{cursor:not-allowed;opacity:.55}
@media (hover:hover){
  .sc247-side-card a:hover,.sc247fs-tabs a:hover,.sc247fs-tool-grid a:hover{background:#f5f6f7;color:var(--sc247-deep);text-decoration:none}
  .sc247fs-filter button:hover,.sc247-trial button:hover{background:var(--sc247-deep);border-color:var(--sc247-deep)}
  .sc247-result-table tbody tr:hover>*,.sc247fs-table tbody tr:hover>*{background:#fffafa}
}

/* Interaction continuity for the existing number-display mode. */
.sc247-region .sc247-result-table{transition:opacity 160ms ease,transform 160ms cubic-bezier(.2,.8,.2,1)}
.sc247-region.is-switching .sc247-result-table{opacity:.72;transform:translateY(2px)}

/* Display animation 1/2: one short hierarchy reveal, never a loop. */
@media (prefers-reduced-motion:no-preference){
  .sc247-polish-enter{animation:sc247-polish-enter 220ms cubic-bezier(.2,.8,.2,1) both}
  @keyframes sc247-polish-enter{from{opacity:.01;transform:translateY(8px)}to{opacity:1;transform:none}}
  /* Display animation 2/2: changed live values receive one finite highlight. */
  .sc247-number.is-updated,.sc247fs-ball.is-updated,.sc247fs-power-ball.is-updated,.sc247fs-max3d-num.is-updated,.sc247fs-pro-num.is-updated{animation:sc247-data-updated 650ms ease-out both}
  @keyframes sc247-data-updated{0%{background:#fff0b8}100%{background:transparent}}
}
@media (prefers-reduced-motion:reduce){
  .sc247-polish-enter,.is-updated{animation:none!important}
  .sc247-menu a,.sc247-side-card a,.sc247fs-tabs a,.sc247fs-tool-grid a,.sc247fs-filter button,.sc247fs-filter a,.sc247-number-modes button,.sc247-region .sc247-result-table{transition:none!important}
}
@media (max-width:1023px){
  body.sc247-site{background:#fff;font-size:14.5px}
  .sc247-layout{gap:0;padding-top:0}
  .sc247-main-column{padding:8px}
  .sc247-left-sidebar,.sc247-right-sidebar{gap:8px!important;padding:0 8px 8px!important}
  .sc247-side-card,.sc247-source-card,.sc247-announcement,.sc247-today-card,.sc247-region,.sc247-vietlott,.sc247-prediction,.sc247-trial,.sc247-stats-wrap,.sc247-home-content{margin-bottom:8px}
}
@media (max-width:600px){
  .sc247-brand{width:145px;min-width:145px;height:48px}
  .sc247-brand-logo{max-height:48px}
  .sc247-main-column{padding:6px}
  .sc247fs-page-head{padding:15px}
  .sc247fs-filter{padding:12px;gap:9px}
  .sc247-result-table th,.sc247-result-table td,.sc247fs-table th,.sc247fs-table td{padding-top:7px;padding-bottom:7px}
  .sc247-region .sc247-multi{min-width:100%}
  .sc247-region .sc247-multi thead th:first-child,.sc247-region .sc247-multi tbody>tr>th{width:52px}
  .sc247-region .sc247-multi .sc247-number{margin-inline:1px}
  .sc247-region .sc247-multi .prize-db .sc247-number{font-size:24px;letter-spacing:0}
  .sc247-region .sc247-table-scroll{overflow-x:hidden}
  .sc247-home-content{padding:17px}
}
@media (max-width:360px){
  .sc247-brand{width:132px;min-width:132px;height:44px}
  .sc247-brand-logo{max-height:44px}
}
